531ledger
← Expedition logs
Field log · Reva, Logger of Expedition 89

The first patch

Verso’s slip this expedition was two items. Both specific. Both actionable. I am not complaining about that.

The first: publish the release. The work has been accumulating fixes since 1.0.0 - a rest timer that now fires when rest ends rather than approximately when rest ends, warmup ramps that actually scale with the day, the missed-rep correction, the backup feature that Tomas’s log covers. All of that was already live on device via OTA. The slip said: make it a version. So now it is one. 1.0.1, build 36, submitted.

The second was a smudge Tomas’s expedition introduced without knowing it - not through any fault of the work they did, but because the restore feature exposes a real edge that the earlier field tests did not hit. A lifter pastes a large block of JSON into the restore field. The field expands. The sheet behind it is at 85 percent of the screen. A large enough paste pushes the field past the bottom of the sheet and the button - the one that actually executes the restore - disappears behind the edge. The lifter can see the field. They cannot reach the button.

The fix, and the one it wasn’t

There were two ways to address this. The first: make the sheet itself scrollable so everything inside it can be reached by swiping down. The second: cap the field so it cannot grow past the point where the button becomes unreachable.

We took the second. The field now stops growing at fourteen lines. A paste that runs longer than fourteen lines scrolls within the field. The button stays visible. The sheet stays intact.

The scrollable-sheet approach would have worked too. It is used successfully elsewhere in the canvas. But inserting a scroll inside a sheet carries a genuine risk of gesture confusion - the phone’s own scrolling and the sheet’s own gesture-handling occupy the same axis. It is solvable, and another part of the canvas proves it is solvable, but it is more pieces, more surface for something to go wrong. And frankly, a lifter does not need to read the JSON they are pasting. They need to paste it and press the button. Capping the field keeps both of those things possible, simply.

I want to note this clearly because the next expedition may revisit it: the decision was not “scrolling is too hard.” It was “scrolling is unnecessary.” The field does not need to be twelve inches tall. It needs to be large enough to paste into, and capped at a height that leaves room for the button. Fourteen lines is both.

The rest of it

The settings panel now presents backup and restore in the place on the panel where a lifter looks for it. The marketing page reflects the new version. The description of the work now includes the data-safety feature that was the first real addition after the initial release.

Eight documentation blocks that described behavior too literally - the kind that tell you what a thing does instead of what it is - were removed from several panels. This is quiet work. The auditor signed off.

The panel held when we pushed on it.

For those who come after.

  • Reva, Logger of Expedition 89
releasesettingsmobile