Commit Graph

1420 Commits

Author SHA1 Message Date
Jordan Dominion 80d5098cbb Rename ShaIsParent to CommittishIsParent
Update functionality to reflect this.
2023-11-11 14:48:18 -05:00
Jordan Dominion 0c744979ff Merge branch 'V6' into OpenDream 2023-11-10 23:26:31 -05:00
Jordan Dominion 9e1806a2b4 Move all API functionality to /api.
Move `BridgeController` route but BYOND forces us to support the legacy one as well.
Add a basic homepage if it's not obvious where to redirect the user.

Closes #1689
2023-11-10 23:18:20 -05:00
Jordan Dominion 06dda10ac2 Change the swagger documentation path to /doc/tgs_api.json
Change hosted site path to `/documentation`

Closes #1586
2023-11-10 10:35:44 -05:00
Jordan Dominion c367d62b21 Merge branch 'V6' into 1693-Shrimple 2023-11-09 19:03:55 -05:00
tgstation-server e337ab9e7c Merge branch 'dev' into V6 2023-11-09 23:56:48 +00:00
Jordan Dominion 469b16d815 Fix test errors caused by DB truncation 2023-11-09 09:09:38 -05:00
Jordan Dominion 3fce8620b4 Very naughty merge of 'V6' into OpenDream
Doing some very bad cleanups for a merge in here like renaming a few fields (like the old column names) + `ByondCommand` + Removing deprecated API fields.
2023-11-09 09:08:20 -05:00
Jordan Dominion 85e9dfbc1f Merge branch 'V6' into 1693-Shrimple 2023-11-07 19:37:03 -05:00
tgstation-server c0a90da6a6 Merge branch 'dev' into V6 2023-11-08 00:24:46 +00:00
Jordan Dominion 7c9a1a6a4f Fix a cause of spurious CI failures 2023-11-06 21:48:23 -05:00
Jordan Dominion 90d41cc88d Replace HTTP 426 with 400
Notable exception is the swarm API, which still uses 426 for version mismatches and would be a pain in the ass to change correctly.

Closes #1693
2023-11-06 17:56:03 -05:00
Jordan Dominion 5f6e3d340c Merge branch 'dev' into V6 2023-11-06 17:37:48 -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 a01bea5608 We're officially API breaking! 2023-11-05 00:29:23 -04: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
Jordan Dominion e7652c2739 Merge branch 'V6' into OpenDream 2023-10-25 18:58:44 -04:00
tgstation-server e777e44cb1 Merge branch 'dev' into V6 2023-10-25 14:16:37 +00: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 13cf7bb703 Merge branch 'V6' into OpenDream 2023-10-25 03:35:17 -04:00
Jordan Dominion 3418713e36 Merge branch 'dev' into V6 2023-10-25 03:34:41 -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 30f2afe43b Merge branch 'V6' into OpenDream 2023-10-23 20:23:32 -04:00
Jordan Dominion df8c51ddf7 Merge branch 'dev' into V6 2023-10-23 15:11:01 -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