Skip to content

Show writing kept on this device until it reaches the Roll - #69

Merged
jimhoyd merged 3 commits into
mainfrom
claude/provider-agnostic-8iejom
Oct 8, 2026
Merged

jimhoyd merged 3 commits into
mainfrom
claude/provider-agnostic-8iejom

Conversation

@jimhoyd

@jimhoyd jimhoyd commented Oct 8, 2026

Copy link
Copy Markdown
Collaborator

Requested by Jimmy · project thread

What this changes

Before: the shared browser interface assumed every save reached the Roll straight away, so a store had no way to tell the user "this is only on your device so far."

After: a store can offer an outbox (OutboxStore in src/web/store.ts). When a save is queued, the toast says "Saved on this device. It goes to your Roll when you're back online." While offline, a banner says the same. A header button lists waiting changes as "On this device", "Sending…" or "Needs attention", with Send now, Download and Throw away (throwing away asks first). The app on your computer has no outbox, so nothing changes for it.

Why

This is phase 3 (offline capture) of gitroll-web's provider-agnostic plan. GitRoll.com's "keep on this device" setting needs the interface to show what has been saved locally and what has reached the Roll (gitroll-web PR).

How it was tested

  • make check passes. Not run in full. I ran tsc and test/web.test.ts in Chromium: 28 passed, 1 skipped.
  • Tests added or updated for every behavior change. The outbox UI only appears with GitRoll.com's store, so its tests live there: tests/outbox.test.ts, and scripts/offline-check.mjs, which runs the flow in Chromium and checks the banner and the open list with axe (WCAG 2.1 AA, no violations).

Anything a reviewer should look at closely

  • History. The change was first made as d7cbad3 on top of 6186d11. That is the commit gitroll-web is pinned to for now, because pinning to current main would also bring in 0.7.0, which the hosted calendar doesn't match yet. Main is then merged in, and the PR head's tree is the same change made directly on main. After this merges, gitroll-web should be re-pinned to main.
  • What people see. The new wording is in src/web/copy.ts and src/web/components/PendingChanges.tsx.
  • Not touched: the format of files in a Roll, src/core, template/ and dependencies.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Y7pW8cToM9hhvdZhjSknCT


Generated by Claude Code

claude added 2 commits October 8, 2026 01:34
A store can now offer an outbox (OutboxStore): saves that couldn't reach
the Roll are kept on the device and sent later. The interface says so when
it saves ('Saved on this device'), shows a banner while offline, and lists
what is waiting in the header, with Send now, Download and Throw away.
Nothing changes for the app on this computer, which has no outbox.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y7pW8cToM9hhvdZhjSknCT
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y7pW8cToM9hhvdZhjSknCT
@jimhoyd
jimhoyd marked this pull request as ready for review October 8, 2026 02:02
The pending-changes button now sits beside the sync status in the
sidebar and in the narrow-screen top bar.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y7pW8cToM9hhvdZhjSknCT
@jimhoyd
jimhoyd merged commit aa29ecc into main Oct 8, 2026
13 checks passed
@jimhoyd
jimhoyd deleted the claude/provider-agnostic-8iejom branch October 8, 2026 14:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants