Repository navigation
feat: retire relay fleet reports and browser offline notices - #28
Merged
Merged
Conversation
Signed-off-by: Fredrik Ahlgren <fredrik@sourceful-labs.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 41bb22a3e3
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Signed-off-by: Fredrik Ahlgren <fredrik@sourceful-labs.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This removes the last runtime services that still need the Frankfurt relay: anonymous daily fleet totals and the browser's encrypted
box.unreachablenotices. Remote app sessions already use/v1/boxand/v1/app.POST /v1/fleetaccepts only the existing seven-field report. It reduces reports to bounded daily counts, keeps 90 days and stores no raw report, home id or source address. Public requests cannot read totals. Operators read/fleet/statson the loopback listener withftwcloudd fleet.Browser notices arrive as optional rows in the box-signed, service-only roster. The box keeps all encryption and signing keys. Delivery uses the existing APNs outage timer, update grace, retry queue and deploy drain. It checks the current roster device, epoch, events scope and suspension on every try, without requiring the separate readable-copy grant. Per-outage sent markers survive a restart and disappear on home purge. HTTPS delivery refuses redirects, proxies and local resolved destinations. No old relay path, deadman HTTP API or fallback is added.
Paired protocol source: srcfl/ftw#1687. Merge that first, deploy this service next, then publish the Core retirement beta. The pin names that PR's protocol source; it will remain an ancestor of Core master. Native client retirement: srcfl/ftw-app#83; web client shipped in srcfl/ftw-webapp#95. Cloud #14 and Core #1633 contain the paused relay-port proposal; this change does not use it.
Validation:
go vet ./...,go test -race ./...,go test -tags ftwclouddev ./..., import boundary check; concurrency and 90-day fleet retention, restart persistence, invalid fields and HTTP bounds; encrypted bytes unchanged, browser-only delivery, retry without duplicate APNs, update grace/reconnect, grant/epoch/revoke/suspension/unsubscribe, VAPID expiry, private IP/DNS refusal. The full race suite is also run against the pinned public module withGOWORK=off. No real browser push vendor delivery is claimed.Non-test Go growth: fleet service +93 lines, browser delivery +193, registry +144, command wiring about +26, push about +16 and HTTP/uplink about +15. Browser delivery reuses the existing timer and queue. This adds no second session service.