Commit Graph

25 Commits

Author SHA1 Message Date
Jordan Dominion 8b09eb7fb5 Implement SxS GraphQL users tests 2024-09-22 19:14:02 -04:00
Jordan Dominion d89461d19d GraphQL API Initial Implementation
- Build API via annotations using HotChocolate.
  - Export to `artifacts` on build.
  - Repurpose REST API types where possible, but many have to be reimplemented.
  - Transfer controller and bridge controller will definitely have to stay forever.
- Added `Tgstation.Server.Client.GraphQL` built from schema using StrawberryShake.
  - Added equivalent server information query.
- Setup semver and u32 (de)serialization.
- Begin transitioning to multi-client type live tests.
- Add GraphQL route `/api/graphql`
- Rename ServerClient likes to RestServerClient equivalent.
- Major API/Client library version bumps.
2024-09-08 20:51:04 -04:00
Jordan Dominion bd1deb0a9b Add 30 minute cache to GitHub releases requests
Closes #1831
2024-08-10 17:38:27 -04:00
Jordan Dominion c40720df80 Cleanup a JobsHubTests assert 2023-12-23 22:24:36 -05:00
Jordan Dominion 577ecb0d02 Show all duplicated jobs 2023-12-17 16:27:43 -05:00
Jordan Dominion 4b4bdcf25a Use larger page size here 2023-12-17 16:27:36 -05:00
Jordan Dominion aa51b67ea1 Handle startup jobs a bit better 2023-12-16 10:07:18 -05:00
Jordan Dominion ba454f0ac0 Add a missing throw 2023-12-16 09:22:12 -05:00
Jordan Dominion 1665d564d2 Use proper TCS method 2023-12-16 09:21:33 -05:00
Jordan Dominion 92cc9e7f6a More diagnostic asserts 2023-12-15 22:09:12 -05:00
Jordan Dominion e0f67bb6df More JobsHubTests diagnostics 2023-12-15 19:50:05 -05:00
Jordan Dominion 7304cf1a8d Clean up the JobsHubTest assertions again 2023-12-15 16:18:02 -05:00
Jordan Dominion 6d6645e9a2 Add a diagnostic message to an Assert 2023-12-04 22:25:06 -05:00
Jordan Dominion 10188c782f Hopefully fix bug in JobsHubTest 2023-12-03 14:29:38 -05:00
Jordan Dominion 5b42ad0f8f Weeding out JobsHubTest errors 2023-12-02 12:25:32 -05:00
Jordan Dominion 4de500f428 More detailed accounting when JobsHubTests fail 2023-11-26 17:06:30 -05:00
Jordan Dominion 8b9ff88578 Make jobs hub test start/stop ordering deterministic
Prevents rare race condition
2023-11-18 22:27:48 -05:00
Jordan Dominion 1a0d76a730 Fix test race condition 2023-11-13 21:53:26 -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 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 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 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