Repository navigation
chore(release): version packages - #1624
Merged
Merged
Conversation
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. |
frahlg
force-pushed
the
changeset-release/master
branch
5 times, most recently
from
October 14, 2026 18:36
61fce0c to
c069d0d
Compare
frahlg
force-pushed
the
changeset-release/master
branch
from
October 14, 2026 18:39
c069d0d to
a049c9d
Compare
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 PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and publish to npm yourself or setup this action to publish automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to master, this PR will be updated.
Releases
ftw@0.143.0
Minor Changes
plan.getand the plan pushed after a command) now carries the battery's planned level at the end of each slot,socPermille, in thousandths: the same name and unit as the FTW Cloud plan class. A phone can then say where the battery ends up, not only what it does. A level the planner did not give as a number is left out. Older apps ignore the field./r/<epoch>/<handle>/exchange, beside its uplink, and answers a watch's one-shot HTTPS requests on it: a Noise IK handshake with prologueftw.exchange.v1:that carries the watch's hello and the box'shello_ok, thencmdandnow. Watch sessions live in a table of eight apart from the phones' four, so a watch never pushes a phone out, and each ends after four exchanges, a minute idle or three minutes. Every answer is two lane 0 frames, so a read, a command and a refusal have one length; a command's result that has not settled in 3 s leaves a tick in its place, and asking again with the samecmdIdreturns it. The box answers a command no sooner than 400 ms after it arrived, applied or refused, so the time to answer does not tell the relay which; a command that takes longer answers when it is done. The box takes at most 60 handshakes a minute and answers a stranger or a removed watch with silence. It now sayscmd.exchange, so a phone can offer "Add watch". Losing the exchange socket changes nothing for the uplink or local control.Patch Changes
go/protocol/cloudwiregains the one-shot read:POST /v1/app/once, a Noise IK handshake with prologueftw.cloud.once.v1:,read {have, hz}andtoken.getin message 1, and an answer of length-prefixed messages.push.registergainsapp,iphoneorwatch, so the service picks the APNs topic, and the roster may carry a device with rolewatch. Golden vectors for one read are incloudwire/testdata/cloud-once-vectors.json. Nothing on the box changes; FTW Cloud serves the route in a later step.watchand capabilitycmd.exchange(ADR 0009). The box claims neither yet. Its page and the app refuse a watch code, and refuse to change a phone into a watch, until a phone can add one.watchand the phone as its parent. A watch holds the watch role's scopes that its phone holds at that moment, so demoting the phone narrows the watch at once. Removing a phone removes its watches; removing a watch touches nothing else. A watch never gets a stream session. The box's page andGET /api/app-link/deviceslist each watch under its phone, and FTW Cloud's roster carries it with the scopes the box derives. The box does not offer the watch path yet:cmd.exchangestays unsaid until the exchange socket lands.