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
Jordan Dominion
bb06a2eff2
Forbid() before accessing instance here
2023-11-15 19:41:11 -05:00
tgstation-server
ffa6299058
Merge branch 'master' into dev
2023-11-14 22:16:22 +00:00
Jordan Dominion
23f2a30fca
Pin yarn@1.22.19
...
Workaround for https://github.com/yarnpkg/yarn/issues/9011
2023-11-14 12:26:59 -05:00
Jordan Dominion
69495abf01
Correct spacing
2023-11-14 11:22:18 -05:00
tgstation-server
ac290fc6ff
Merge branch 'master' into dev
2023-11-14 07:56:23 +00:00
Jordan Dominion
7af1d36085
Actually utilize CancellationToken in IProcess.GetCombinedOutput()
2023-11-13 19:32:51 -05:00
Jordan Dominion
89ce5a664e
Correct IProcess documentation
2023-11-13 19:32: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
ea49ec0da2
A bunch of additional logging in pursuit of #1713
2023-11-13 16:06:28 -05:00
tgstation-server
52ffd3a3cb
Merge branch 'master' into dev
2023-11-12 22:25:00 +00: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
027b8db6bd
Nuget package updates
2023-11-12 08:57:13 -05:00
Jordan Dominion
30293c3e39
Fix repository fetching possibly not fetching all tags
2023-11-11 21:31:07 -05:00
Jordan Dominion
e68dc5b307
An uncaught exception was never a good idea
2023-11-06 17:46:05 -05:00
Jordan Dominion
72388f8035
Add necessary ObjectDisposedException to client
2023-11-06 17:44:45 -05:00
Jordan Dominion
549b65f03c
Update nuget packages for API library
2023-11-06 16:57:24 -05:00
Jordan Dominion
9bea7686b2
Add automatic reconnect to client hubs
2023-11-06 16:39:23 -05:00
Jordan Dominion
52fc12b7a4
Fix JobsHubGroupMapper not being initialized
2023-11-06 16:19:40 -05:00
Jordan Dominion
f71ac09722
Fix incorrect past tense
2023-11-05 16:42:33 -05:00
Jordan Dominion
3032955d25
Make this indentation make sense
...
Also add a missing colon
2023-11-05 16:41:42 -05:00
Jordan Dominion and GitHub
399f19936a
Fix grammar in auth docs
2023-11-05 16:35:45 -05:00
Jordan Dominion
32d1f0ae5e
Add FAQ link for DMAPI validation failures
2023-11-05 13:13:01 -05:00
Jordan Dominion
337eb15a7f
User connection updates should bypass the jobs hub message rate limiter
2023-11-05 12:12:15 -05:00
Jordan Dominion
b79d02c77a
Push an update of all active jobs to all clients when a new one connects
...
I know this is annoying in that we only need to target the connected client, but it's so much simpler this way. How big of an update can it even be if it's only including active jobs?
2023-11-05 11:56:43 -05:00
Jordan Dominion
fa13869ea2
Ensure that SignalR works with the webpanel
...
- Fix issue with CORS preventing static file browsing.
- AllowCredentials in CORS. Switch from `AllowAnyOrigin` to a wildcard matching `Func` to bypass the CORS specification that says you can't do that.
- Add workaround for legacy SignalR `access_token` query string.
- Get token `nbf` from claims rather than through the composition root.
2023-11-05 11:23:47 -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
9044eb041d
Properly document DeploymentActivation event
2023-11-05 00:01:03 -04:00
Jordan Dominion
dd2e264477
Document new authentication pipeline
...
Also fix location of `TgsAuthorizeAttribute` .md documentation.
2023-11-05 00:01:02 -04:00
Jordan Dominion
ec81fcdf41
Remove no-op call
2023-11-04 23:28:09 -04:00
Jordan Dominion
edcd26e44f
Allow GET /Jobs request spam again
...
Now that we have a hub as a better alternative, it should be less prevalent.
2023-11-04 23:27:57 -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
85e1c0d5f1
Fix dotnet-ef version being out of sync
2023-11-04 20:47:41 -04:00
Jordan Dominion
189d594b4c
Update nuget packages
2023-11-04 20:47:14 -04:00
Jordan Dominion
385771f477
Change this .OfType() to .Cast()
2023-11-04 20:41:59 -04:00
Jordan Dominion
6fb9ba6f37
Check registered jobs have instance and user IDs
2023-11-04 20:41:59 -04:00
Jordan Dominion
5b1e123e64
Add DeploymentActivation event
2023-11-04 20:41:56 -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
fda26e1f15
Fix issue with DMAPI validation shutdown timeouts
...
- Increase grace period to 30s to avoid false positives.
2023-11-04 17:44:00 -04:00
Jordan Dominion
61cae1a02d
Fix nested default Linux log directory
2023-11-04 17:40:54 -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
fb1aee74a1
Fix using spacing
2023-11-02 22:59:56 -04:00
Jordan Dominion
1b1a91361c
Correct documentation for ApiContoller.NotFound()
2023-11-02 22:59:36 -04:00
Jordan Dominion
242c74955d
Correct documentation for ApiHeaders.IsTokenAuthentication
2023-11-02 22:58:56 -04:00
Jordan Dominion
ba0ccdff53
Set sleep_offline before del(world)
2023-10-31 23:16:19 -04:00
Jordan Dominion
f58ea64c96
Remove spammy logging
2023-10-31 23:16:19 -04:00
Jordan Dominion
e1d359d2f7
Change instance references to be a ulong
2023-10-31 23:16:18 -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
e41e59a48a
Remove unnecessary checks for non-existent PosixSystemIdentitys
2023-10-31 23:16:17 -04:00
Jordan Dominion
dd8c8df35f
Fix NotImplementedException errors on non-github/gitlab deployments
2023-10-31 23:16:17 -04:00