A call carries its date - #853
Merged
Merged
Conversation
The waiter-call feature marked its collection synced the day it shipped. Nothing built the lane: the sync agent has none, the sync-gateway allows none, and no build since has carried one. A call from a table on the ordering page lands in the cloud and a till with its own database never sees it. The packaging guard compared the promise with the bundle and refused the build, which is what it is for. This records the truth: waitercalls is undecided, with what it will take to sync it written next to it. The classification test now names it among the undecided instead of the promised.
The waiter-call row was a native insert with no updated_date. The sync
agent finds its work with { updated_date: { $exists: true } } and the
gateway sends a till only rows whose updated_date moved, so even with the
lane built (Gateway "A call reaches the till") the row would have stayed in
the cloud for ever. Same trap as the settings save (#838).
The row is stamped on the way in, and again when the till marks it seen,
so the cloud learns the call was answered and the ordering page stops
telling the customer "already calling".
waitercalls goes back to synced, per branch. It was moved to undecided
when the packaging guard found the promise had no lane behind it; the
guard keeps checking, against the agent actually bundled.
Contributor
|
Merged to Try it at https://develop.posnic.io, or run it yourself: git fetch origin develop && git checkout develop
npm install && npm --prefix api install
npm run dev # then http://localhost:3000When you have tested it, say what you did and what happened, and set Reporting that something is broken is as useful as fixing it. It is |
This was referenced Sep 17, 2026
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.
What
The other half of Gateway #14 ("A call reaches the till").
The waiter-call row was a native insert with no
updated_date. The sync agent finds its work with{ updated_date: { $exists: true } }and the gateway sends a till only rows whoseupdated_datemoved, so even with the lane built the call would have stayed in the cloud for ever. Same trap as the settings save (#838).callWaiterstampscreated_dateandupdated_dateseeWaiterCallmovesupdated_datein its$setcollections.json:waitercallsback tosynced: branchTests
tests/a-call-carries-its-date.test.jspins both writes by method (the "seen" one is the one that gets lost) and the decision.sync-classification.test.js5/5;node scripts/prepare-sync-agent.jspasses against a Gateway checkout on the #14 branch (23 promised, 23 bundled).Merge order
Stacked on #851. Merge Gateway #14 first (that merge deploys the gateway), then #851, then this. The cloud tenants need this API deployed before a call written by the ordering page carries its date; tills need the next installer for the "seen" stamp.
Not in this PR
A chime at the till when a pulled call arrives. The request dock shows it on its poll; the sound that a counter-made call raises needs the call id at the till, which the pull line does not carry. Follow-up.