Commit Graph
987 Commits
Author SHA1 Message Date
Jordan Dominion d36e2f59f8 Add broadcasting support
- Bump appropriate versions
- Add DreamDaemon request field and permission bit.
- Add generic failure error code.
- Remove `ErrorCode` comment since they are being using in #1666.
- Fix bad interop return messages.
- Adjust DMAPI code to support broadcasts.
- Add tests.

Closes #138
2023-11-15 20:53:52 -05:00
tgstation-server ac290fc6ff Merge branch 'master' into dev 2023-11-14 07:56:23 +00:00
Jordan Dominion 1a0d76a730 Fix test race condition 2023-11-13 21:53:26 -05:00
Jordan Dominion 7ab9f35067 THAT'S NOT A FUCKING INSTANCE ID!!!
- Fix logic error in hub group mapping.
- Add regression unit test.

Fixes #1713
2023-11-13 18:16:41 -05:00
Jordan Dominion 9c769046bb Added helpers for creating in-memory database contexts for testing 2023-11-13 18:14:44 -05:00
tgstation-server 52ffd3a3cb Merge branch 'master' into dev 2023-11-12 22:25:00 +00:00
Jordan Dominion 581cbe4b18 Merge branch 'LessThreadPressure' into FixHubUserNames 2023-11-12 14:56:16 -05:00
Jordan Dominion 6b6d958536 Fix issue with StartedBy.Name not being set in jobs hub updates 2023-11-12 13:42:30 -05:00
Jordan Dominion a585f9d2ab Disable random disconnections before completing hub tests 2023-11-12 10:37:03 -05:00
Jordan Dominion 51d81aa067 Adjust JobsRequiredTest to use the hub
This greatly reduces thread pool pressure, very important for CI.
2023-11-12 10:33:48 -05:00
Jordan Dominion de06107751 Fix signals test being a special snowflake 2023-11-12 08:58:13 -05:00
Jordan Dominion 30293c3e39 Fix repository fetching possibly not fetching all tags 2023-11-11 21:31:07 -05:00
Jordan Dominion 469b16d815 Fix test errors caused by DB truncation 2023-11-09 09:09:38 -05:00
Jordan Dominion 7c9a1a6a4f Fix a cause of spurious CI failures 2023-11-06 21:48:23 -05:00
Jordan Dominion ed8453f08e Remove hub abort notifications
Because SignalR buffers messages, we can't guarantee these will be delivered before the connection is aborted.

We'll have to rely on the client not being pants-on-head.
2023-11-05 09:38:57 -05:00
Jordan Dominion d3563394fb OperationCanceledExceptions are not test errors 2023-11-05 09:01:20 -05:00
Jordan Dominion 2c82da46f6 Simplify logic flow in JobsHubTests 2023-11-05 09:00:44 -05:00
Jordan Dominion cab8ce68f5 Simplify this job type check using new JobCodes 2023-11-05 08:40:18 -05:00
Jordan Dominion ebd09d7e86 Add JobCodes to strongly type jobs
- Default `0` for legacy jobs.
- Standardize job creation prior to registration.
- Add `RightsHelper.TypeToRight()`.
2023-11-04 21:12:25 -04:00
Jordan Dominion d85e2b8d36 Add SignalR
- Add one hub `/hubs/jobs`, strongly typed API included.
- Adjust request pipeline to support SignalR.
- Allow `Accept: text/event-stream` for SSE requests.
- Add client library support for hubs.
- Add integration tests.
- Add IPermissionSetNotifyee to support dynamic changes based on perms.
- Keep job state in `JobService` for pushing updates.
2023-11-04 19:22:48 -04:00
Jordan Dominion d851df8276 GET / with an Authorization header should fail if it's not valid 2023-11-02 23:10:34 -04:00
Jordan Dominion 29579a351d Fix JWT compliance issues.
- `nbf` and `exp` should be numbers, not strings.
- Parse JWT in `ApiHeaders` fully for errors.
- Use `iat` and increment `nbf` by one second if equal and may trigger the `LastPasswordUpdate` bug.
  - Make client aware of this change and move the delay there.
- Deprecated `TokenResponse.ExpiresAt`.
2023-10-31 23:16:18 -04:00
Jordan Dominion eaebe733bd Improve HeadersException handling
Avoid recreating ApiHeaders in request pipeline where possible
2023-10-31 23:16:16 -04:00
Jordan Dominion 3901512693 The del world issue is caused by sleep_offline
Just do an infinite loop and ensure `sleep_offline` is off. It can't keep getting away with this.

Bump DMAPI version
2023-10-31 23:16:16 -04:00
Jordan Dominion 808f96b968 Clean up some using ordering 2023-10-31 23:16:15 -04:00
Jordan Dominion 1d0371f84a Make TestServerService more analyzer friendly 2023-10-29 16:23:52 -04:00
Jordan Dominion fd44b61a24 Authentication pipeline rewrite
If you're looking for the future CVE it probably came from here.
2023-10-29 16:23:01 -04:00
Jordan Dominion 4b39bde25d Fix HardFailLogger/provider logging non-errors 2023-10-29 16:23:00 -04:00
Jordan Dominion 10728657df Move custom controller results to new namespace 2023-10-29 16:22:59 -04:00
Jordan Dominion 9325e545fd Simplify some Substring calls 2023-10-29 16:22:58 -04:00
Jordan Dominion 30f57d28da Store TokenResponse in ApiHeaders
- Decode it from JWT if necessary.
2023-10-29 16:22:51 -04:00
Jordan Dominion 9e2bf3f161 Merge branch 'dev' into SignalR 2023-10-29 14:32:09 -04:00
tgstation-server ddda3c8ca9 Merge branch 'master' into dev 2023-10-25 14:14:46 +00:00
Jordan Dominion 14ed93c12a Make every LongRunning DMAPI test compile generate a unique .rsc 2023-10-25 08:40:56 -04:00
Jordan Dominion 13128abe73 Fix overeager required process killing 2023-10-25 02:54:50 -04:00
Jordan Dominion b21f3a880f Use a higher priority thread here to ensure the dump test runs successfully 2023-10-24 04:03:56 -04:00
Jordan Dominion d2f6dfde8b Patch DMAPI to work around del(world) behavior
It doesn't actually stop the world until the end of the tick.
2023-10-24 02:43:09 -04:00
Jordan Dominion 9b405784cc Fix a race condition in compat tests 2023-10-23 02:03:36 -04:00
Jordan Dominion 20428736ec Merge branch 'master' into dev 2023-10-22 19:59:03 -04:00
Jordan Dominion 720c42c522 Test that GameStaticFiles work in live tests 2023-10-22 13:59:54 -04:00
Jordan Dominion 812d6a619c Remove the interactive test
It's annoying to monitor
2023-10-22 10:01:03 -04:00
Jordan Dominion b22368086b Additional test logging 2023-10-21 20:41:09 -04:00
Jordan Dominion 71f5c739d8 Fix tests using BasicWatchdog failing 2023-10-21 20:41:08 -04:00
Jordan Dominion 53eafffbd0 Add world.TgsVisibility() to DMAPI 2023-10-21 19:06:52 -04:00
Jordan Dominion abdf8b6bfd Fix build 2023-10-21 19:06:41 -04:00
Jordan Dominion 5bb655e3f6 Add test for hard links 2023-10-21 18:55:36 -04:00
Jordan Dominion fd6de0fee2 Rename *SymlinkFactory to *FilesystemLinkFactory to better reflect new behavior 2023-10-21 18:42:19 -04:00
Jordan Dominion afceee3a96 I was unsure about DefaultIOManager.DeleteDirectory, so here's another unit test. 2023-10-21 18:26:53 -04:00
Jordan Dominion 44729820ed Remove unused variable and fix test buffer size 2023-10-21 16:20:40 -04:00
Jordan Dominion 571c555360 Finally find a way to test if Linux is being shitty to us about links 2023-10-21 12:32:35 -04:00