Offline queue: no way to group writes, so a multi-call action cannot be atomic #182

Closed
opened 2026-08-23 19:46:07 +00:00 by nalum · 0 comments
Owner

OpSpec (web/src/queue/registry.ts:20-34) describes one RPC per entry, drained FIFO, with idempotency classes for create and delete. There is no grouping, no transaction and no rollback.

That is fine for every action shipped today, and it already carries a minted uid through a chained create. It is not enough for an action that is only correct as a set. The first one the jobs redesign needs is Make it part of another job, which clears the repeat rule, clears the deadline and then moves the job. A partial flush strips a job of its date and its rule for nothing.

Two ways out: a grouped-op primitive in the queue, where the entries flush together and fail together; or the affordance stays unavailable while offline. The second is cheap and honest, and it is what the design assumes until this lands.

`OpSpec` (`web/src/queue/registry.ts:20-34`) describes one RPC per entry, drained FIFO, with idempotency classes for create and delete. There is no grouping, no transaction and no rollback. That is fine for every action shipped today, and it already carries a minted uid through a chained create. It is not enough for an action that is only correct as a set. The first one the jobs redesign needs is `Make it part of another job`, which clears the repeat rule, clears the deadline and then moves the job. A partial flush strips a job of its date and its rule for nothing. Two ways out: a grouped-op primitive in the queue, where the entries flush together and fail together; or the affordance stays unavailable while offline. The second is cheap and honest, and it is what the design assumes until this lands.
nalum closed this issue 2026-08-26 18:33:30 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
eagraiclainne/app#182
No description provided.