Commit Graph

  • 8284d9f1d3 Fix webhook payload field names (#345) prod-8284d9f prod Wanjohi 2026-09-18 22:44:13 +00:00
  • a09ad1e09a fix(billing): read the payload that was actually sent dev Wanjohi 2026-09-19 01:42:42 +03:00
  • abd27f2d5f fix(billing): a customer may already exist, and may belong to somebody else Wanjohi 2026-09-19 01:39:56 +03:00
  • 8c3e460312 Fix webhook signature verification (#344) prod-8c3e460 Wanjohi 2026-09-18 22:37:32 +00:00
  • 295fdfb322 feat(neshub): act on the receiver's reports, and say what the bitrate is made of feat/media-control-protocol DatCaptainHorse 2026-09-19 01:37:02 +03:00
  • 5b90bd0f0c fix(billing): verify the signing scheme the secret actually says it is Wanjohi 2026-09-19 01:33:26 +03:00
  • 2dfb7f4007 docs: stop citing internal documents from public comments Wanjohi 2026-09-18 22:27:25 +03:00
  • e4676b5049 feat(neshub): decide the bitrate from what the receiver actually got DatCaptainHorse 2026-09-19 01:27:16 +03:00
  • 57abdb9663 feat(protocol): a box is told what it may spend on video, and the receiver can say what it got DatCaptainHorse 2026-09-19 01:03:54 +03:00
  • de325792a2 Release: billing, burn limits and organisations (#343) prod-de32579 Wanjohi 2026-09-18 22:16:42 +00:00
  • 916473bbbd Billing: burn windows, organisations, and payment (#342) Wanjohi 2026-09-18 22:13:48 +00:00
  • 60c4f61bfa feat(billing): free is a subscription too, and the product says which plan Wanjohi 2026-09-19 01:07:01 +03:00
  • b01d8eabb3 fix(billing): an organization token already names its organization Wanjohi 2026-09-19 00:59:36 +03:00
  • 757ff79233 feat(core,api): take payment, and let the provider decide who is paid up Wanjohi 2026-09-19 00:57:57 +03:00
  • 4c22586d59 feat(core): price a run by the size it holds, on hardware we pay for Wanjohi 2026-09-19 00:32:01 +03:00
  • b4776fad2f feat(core,api): record burn as rate segments, and refuse the next run when spent Wanjohi 2026-09-19 00:19:39 +03:00
  • b819367a09 feat(core): burn windows, and the rules that make an allowance mean something Wanjohi 2026-09-18 23:44:00 +03:00
  • 15631f5d25 feat(core,api): an organisation owns hardware, and a domain says who belongs Wanjohi 2026-09-18 23:16:07 +03:00
  • c2ede3cdba feat: nescapture instrumentation, custom Mesa patches (#341) Kristian Ollikainen 2026-09-18 23:03:27 +03:00
  • 4a2a4412c2 style: apply the formatter across the tree Wanjohi 2026-09-18 23:03:08 +03:00
  • 40b4270161 refactor(api)!: remove the shared operator secret, and let hosts sync their own Wanjohi 2026-09-18 22:58:52 +03:00
  • 6811c93d51 feat: nescapture capture improvements and drive mounts (#337) Kristian Ollikainen 2026-09-18 22:58:22 +03:00
  • 2924e113ca feat(machine): mint a public name, and stop routing on the id (#340) prod-2924e11 Wanjohi 2026-09-17 22:56:40 +00:00
  • ebc0242b49 Merge branch 'prod' into dev Wanjohi 2026-09-17 22:53:30 +00:00
  • 04210cc9f1 refactor(auth): describe sign-in screens as data, draw them in one place (#339) Wanjohi 2026-09-17 22:52:42 +00:00
  • cfb8ec26a0 feat(machine): mint a public name, and stop routing on the id Wanjohi 2026-09-18 00:36:13 +03:00
  • eedb143b46 refactor(auth): describe sign-in screens as data, draw them in one place Wanjohi 2026-09-18 00:16:33 +03:00
  • c0ecbcb47e fix(auth): make the sign-in screen readable, and draw it in the product's design language (#338) prod-c0ecbcb Wanjohi 2026-09-17 20:18:53 +00:00
  • aecae0c69e style(auth): tighten the sign-in field, and stop calling the runtime a worker Wanjohi 2026-09-17 23:15:56 +03:00
  • 74391714d0 feat(auth): draw the sign-in screen in the product's design language Wanjohi 2026-09-17 23:05:39 +03:00
  • 4ed36e0d38 fix(auth): give the sign-in input a text colour, and restore the theme Wanjohi 2026-09-17 22:54:00 +03:00
  • 155d487525 ci: a merge to prod releases the control plane (#336) prod-155d487 Wanjohi 2026-09-16 22:54:26 +00:00
  • 7859c8e13a ci: restart the issuer before the API Wanjohi 2026-09-17 01:44:50 +03:00
  • 4668c98785 ci: a merge to prod releases the control plane, migrator included Wanjohi 2026-09-17 01:44:16 +03:00
  • b00f1064ae fix(api,auth)!: bind loopback by default, and let a container ask for more Wanjohi 2026-09-16 23:10:22 +03:00
  • e3c9416170 docs(dns): the origin is a tunnel, and there is nothing to cut over from Wanjohi 2026-09-16 21:57:20 +03:00
  • 15ad60bf49 feat: nescapture pacing, improvements and deps update (#334) Kristian Ollikainen 2026-09-15 13:58:57 +03:00
  • 8246aa5538 feat: resident guest init (#333) Kristian Ollikainen 2026-09-14 14:45:13 +03:00
  • ec8b13d0c9 fix: A host-only session cookie, and a column for where a host actually is (#331) Wanjohi 2026-09-06 21:24:36 +00:00
  • 51d25f3e8c fix(machine): a taken endpoint id is a conflict, not a server fault Wanjohi 2026-09-07 00:19:34 +03:00
  • 49ae45624e fix(auth): a host may receive a code at its own name, and a refusal is not a redirect Wanjohi 2026-09-06 23:44:51 +03:00
  • 6603383ad1 feat(machine): record where a host can be reached, as the host reports it Wanjohi 2026-09-06 23:44:37 +03:00
  • 0e94620808 feat(nesinit): carry the session's address out of the guest (#328) Wanjohi 2026-09-06 15:24:10 +00:00
  • f74de9beb8 fix(nesinit): do not mount over the share tree, and check who serves an address Wanjohi 2026-09-06 18:20:30 +03:00
  • 00a2bdab30 fix(nesinit): give one look at the address socket a deadline KAAL1 2026-09-06 14:24:04 +03:00
  • 18864b97f0 fix(nesinit): mount what the guest needs before anything asks for it KAAL1 2026-09-06 14:23:56 +03:00
  • 2a7be92a41 ci: run each half only when that half changes (#329) Wanjohi 2026-09-06 11:10:47 +00:00
  • f27ea3a132 ci: run each half only when that half changes Wanjohi 2026-09-06 14:05:37 +03:00
  • b95d939aeb feat(api): record which host holds a Steam token for whom (#327) Wanjohi 2026-09-06 10:59:26 +00:00
  • fe5297acbd fix(core): document an id that is actually a valid id Wanjohi 2026-09-06 13:57:12 +03:00
  • 3d24a8e130 feat(nesinit): carry the session's address out of the guest Wanjohi 2026-09-06 13:55:35 +03:00
  • 64a90abf75 fix(api): a misshapen id is bad input, not a server fault Wanjohi 2026-09-06 13:51:20 +03:00
  • 6429ec4ff7 feat(api): record which host holds a Steam token for whom Wanjohi 2026-09-06 13:27:51 +03:00
  • 7f7e39de60 docs: point the test database setting at the right database Wanjohi 2026-09-05 18:07:41 +03:00
  • dae2990cbe docs(core): say which database the tests actually need Wanjohi 2026-09-05 18:07:41 +03:00
  • b296918ab4 feat(api): record what a host says it is running Wanjohi 2026-09-05 18:07:27 +03:00
  • b6aae5c2ab fix(deploy): make bun dev actually start, and sign-in actually work (#326) Wanjohi 2026-09-05 14:02:14 +00:00
  • 46c3a67d4d fix(deploy): make bun run dev:server start and reach its settings Wanjohi 2026-09-05 16:58:12 +03:00
  • b9b090a620 fix(deploy): stop bun dev when either half dies, not just the API Wanjohi 2026-09-05 16:39:08 +03:00
  • 9258c8dfef fix(deploy): make bun dev actually start, and sign-in actually work Wanjohi 2026-09-05 16:31:04 +03:00
  • 8c80c025be feat(deploy): drop the IaC layer, and make both apps runnable as containers (#325) Wanjohi 2026-09-05 13:19:44 +00:00
  • f30a1432f8 fix(deploy): require every credential, and give sandbox its own domain Wanjohi 2026-09-05 15:58:21 +03:00
  • 51ababc900 feat(deploy): drop the IaC layer, and make both apps runnable as containers Wanjohi 2026-09-05 15:27:56 +03:00
  • 3d0dcf3e46 feat(auth): move issuer state to Postgres (#324) Wanjohi 2026-09-05 11:39:02 +00:00
  • f64f037574 fix(auth): keep one live key per kind, and report a key's own algorithm Wanjohi 2026-09-05 14:31:33 +03:00
  • f25c9af545 feat(auth): keep issuer state in Postgres Wanjohi 2026-09-05 13:56:39 +03:00
  • 349305d0cc feat(api): hold a run to the attempt that claimed it (#323) Wanjohi 2026-09-05 10:28:56 +00:00
  • 647e5c5264 test(core): claim two attempts at once, not one after the other Wanjohi 2026-09-05 13:26:55 +03:00
  • 54d5c81edb feat(api): hold a run to the attempt that claimed it Wanjohi 2026-09-05 13:02:57 +03:00
  • 2faf7d77db feat(nesinit): mount what the descriptor names, and relay the layer it cannot read (#320) KAAL1 (Bingus) 2026-09-05 10:08:36 +03:00
  • 217e82a9a8 feat(auth): email is the root of an account, and Steam is a connection (#318) Wanjohi 2026-09-05 07:07:51 +00:00
  • a94b323edb fix(nesinit): the relay may not stall the session, and may not buffer without end KAAL1 2026-09-05 09:48:34 +03:00
  • 7b99f49f62 feat(nesinit): mount what the descriptor names, and relay the layer it cannot read KAAL1 2026-09-05 00:12:55 +03:00
  • 736c0013e9 feat(nesinit): PID 1 for a box — reaping, ordered shutdown, and one channel out (#319) KAAL1 (Bingus) 2026-09-05 10:07:32 +03:00
  • 304bb1f2ef fix(auth): count sign-in codes against the mailbox, not the browser Wanjohi 2026-09-05 10:05:11 +03:00
  • 071241f944 fix(nesinit): a pid stops being the workload's the moment it is reaped KAAL1 2026-09-05 10:03:28 +03:00
  • fc825f5219 fix(auth): stop a caller working through the user code space Wanjohi 2026-09-05 09:54:59 +03:00
  • 355d1492d9 fix(auth): give a sign-in code a budget of guesses and a short life Wanjohi 2026-09-05 09:44:32 +03:00
  • 36179150a1 fix(auth): make a device sign-in an answer somebody gave Wanjohi 2026-09-05 09:40:03 +03:00
  • 15f8d3eb34 fix(core): hold the account rules when two requests arrive together Wanjohi 2026-09-05 09:32:16 +03:00
  • cb8f37a0e4 fix(nesinit): one thing reaps, and the workload stops alone KAAL1 2026-09-05 09:30:10 +03:00
  • 2c4e9d9b0b fix(auth): refuse to send a sign-in code rather than log one Wanjohi 2026-09-05 09:27:49 +03:00
  • affe1e3c73 refactor(auth): serve one provider, and make it the email one Wanjohi 2026-09-05 09:27:18 +03:00
  • a461cbafa5 feat(nesinit): PID 1 for a box — reaping, ordered shutdown, and one channel out KAAL1 2026-09-05 00:02:30 +03:00
  • bd163392ca fix(core): declare the claim column the migration adds Wanjohi 2026-09-05 00:10:57 +03:00
  • 1b61d2251e fix(core): hold the connection cap on the path a settings screen uses Wanjohi 2026-09-05 00:03:53 +03:00
  • 96b0cf8111 feat(auth): sign in with an email address Wanjohi 2026-09-05 00:02:16 +03:00
  • 2a1b7abe9a feat(auth): serve the device authorization grant Wanjohi 2026-09-05 00:02:15 +03:00
  • 1e81a8f92d feat(core): make one address one account, on rows that never had one Wanjohi 2026-09-05 00:02:00 +03:00
  • da65cca4f2 feat(core): an account is an email address, and Steam is a connection Wanjohi 2026-09-05 00:01:15 +03:00
  • 4eff67a11a fix(core): point the placement marker at the decision that covers placement Wanjohi 2026-09-04 23:03:05 +03:00
  • ecebc528ae feat(api): the session endpoint, and a claim that only one caller can win (#317) Wanjohi 2026-09-04 19:31:16 +00:00
  • 7bdca1240f fix(api): say what the library check actually proves Wanjohi 2026-09-04 22:27:20 +03:00
  • 51dabddbd8 fix(api): a run drives the box under it, and needs a game and a claim Wanjohi 2026-09-04 22:12:31 +03:00
  • 0d8630379b fix(api): a box gets one run, and a stopped run keeps no address Wanjohi 2026-09-04 21:58:57 +03:00
  • e70f05e245 fix(nescope): make HDR reachable — start XWayland, advertise the opaque FourCCs (#314) KAAL1 (Bingus) 2026-09-04 19:18:46 +03:00
  • 200bc9c75f fix(nescapture): stop defaulting unreadable formats to BGRA (#315) KAAL1 (Bingus) 2026-09-04 19:05:41 +03:00
  • 3389e6065f fix(nescapture): tag encoded streams full-range to match the samples written (#313) KAAL1 (Bingus) 2026-09-04 19:03:13 +03:00
  • bbe729e5c7 feat(api): the session endpoint, and a claim that only one caller can win Wanjohi 2026-09-04 18:57:08 +03:00
  • aaa1bbd0f4 fix(nesdoctor): the closing prose still said "launch times" Wanjohi 2026-09-03 22:40:36 +03:00