Commit Graph
973 Commits
Author SHA1 Message Date
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
Jordan Dominion c66890d802 Merge branch 'master' into dev 2023-10-21 12:12:39 -04:00
Jordan Dominion 279671c7cb Remove failing and badly conceived test 2023-10-21 03:49:28 -04:00
Jordan Dominion 2f5e62c9a0 A note to help future errors on this assert 2023-10-20 23:48:14 -04:00
Jordan Dominion 8a5d0d40e5 Test DMAPI security level and CWD is Live 2023-10-20 23:48:13 -04:00
Jordan Dominion 65d9785c24 Fix merge build errors 2023-10-20 21:41:24 -04:00
tgstation-server c0e5c5fb0e Merge branch 'master' into dev 2023-10-20 12:58:19 +00:00
Jordan Dominion c11afb5ecc Add /tg/station workstation integration tests 2023-10-19 21:01:32 -04:00
Jordan Dominion cd61bd317f Up timeout for dump tests
Addresses the failure in the last nightly
2023-10-19 20:07:11 -04:00
tgstation-server 17b33548a0 Merge branch 'master' into dev 2023-10-18 04:55:32 +00:00
Jordan Dominion 356a2c24f8 Find a good version for linux compat tests
Needed https://www.byond.com/forum/post/2402692 fixed
2023-10-17 19:16:38 -04:00
tgstation-server 9011cf31e8 Merge branch 'master' into dev 2023-10-16 04:39:16 +00:00
Jordan Dominion c7b577d03e Add another possible win32 error to dump tests 2023-10-15 23:27:22 -04:00
tgstation-server ec2929b01f Merge branch 'master' into dev 2023-10-14 08:19:36 +00:00
Jordan Dominion 24f8130e1f Add bad BYOND build 515.1617 2023-10-13 22:19:04 -04:00