Client snowball projection duplicates server simulation (drift risk) #55
Labels
No Label
architecture
backend
bug
feature
frontend
priority:critical
priority:high
priority:low
priority:medium
priority:nice-to-have
ux
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: null/BillTracker#55
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Severity: LOW 🔵
Affected Files
client/pages/SnowballPage.jsx—computeLiveProjection()lines 37–122services/snowballService.js— server-side projectionProblem
computeLiveProjection()inSnowballPage.jsxis a client-side reimplementation of the server-side snowball simulation insnowballService.js. A comment acknowledges this ("mirrors server snowballService") but there's no test or assertion to keep them in sync.If rounding, interest handling, or the rolling-extra logic is fixed on the server, the client projection silently diverges.
Impact
Fix Options
/api/snowball/projectionvalidation endpoint that the client can periodically check againstAcceptance Criteria
Fixed in
c353dd9. DeletedcomputeLiveProjection()client duplicate. Server now accepts?extra=Nfor unsaved amount preview. Drift is no longer possible.