Skip to content

feat(milestones): support offline editing with queued sync on reconnect - #1111

Merged
mikewheeleer merged 1 commit into
Talenttrust:mainfrom
Chidi-Dev1:feature/offline-milestones
Aug 29, 2026
Merged

feat(milestones): support offline editing with queued sync on reconnect#1111
mikewheeleer merged 1 commit into
Talenttrust:mainfrom
Chidi-Dev1:feature/offline-milestones

Conversation

@Chidi-Dev1

Copy link
Copy Markdown
Contributor

Store milestone mutations when the browser is offline so the board keeps working, then flush the queued changes in order once connectivity returns. Routes create/update through a coordinator that applies online changes immediately and defers offline ones, surfaces conflicts instead of silently overwriting newer data, and reconciles the UI with authoritative state after a flush. Also fix useOnlineStatus so multiple consumers share a single set of window listeners (previously every consumer registered duplicates).

Description

Closes #

Type of Change

  • Bug fix (non-breaking change that resolves an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Refactor (no functional change, internal code improvement)
  • Documentation update

Pre-flight Checklist

All items must be checked before requesting review.

  • npm run lint passes with no errors
  • npm test passes with no failures
  • npm run build completes successfully

Testing & Coverage

  • Module test coverage for impacted files meets or exceeds the 95% minimum threshold
    (run npm test -- --coverage and check the per-file table)
  • If this PR adds or modifies UI components, accessibility tests were written using
    the shared utilities in src/test-utils/a11y.tsx

What was tested?


Accessibility & Security Notes

Accessibility

Security

closes #1103

Store milestone mutations when the browser is offline so the board keeps
working, then flush the queued changes in order once connectivity returns.
Routes create/update through a coordinator that applies online changes
immediately and defers offline ones, surfaces conflicts instead of silently
overwriting newer data, and reconciles the UI with authoritative state after
a flush. Also fix useOnlineStatus so multiple consumers share a single set
of window listeners (previously every consumer registered duplicates).

🤖 Generated with Codebuff
Co-Authored-By: Codebuff <noreply@codebuff.com>
@mikewheeleer
mikewheeleer merged commit d978e50 into Talenttrust:main Aug 29, 2026
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.

offline detection with queued milestones board mutations and reconcile

2 participants