Skip to content

Social sync: full collaborative editing and realtime sync (final) - #1275

Open
Alinapanyue wants to merge 3 commits into
jhuopensource:developfrom
Alinapanyue:feature/alinapan-social-sync-final
Open

Social sync: full collaborative editing and realtime sync (final)#1275
Alinapanyue wants to merge 3 commits into
jhuopensource:developfrom
Alinapanyue:feature/alinapan-social-sync-final

Conversation

@Alinapanyue

Copy link
Copy Markdown

Summary

  • delivers full social sync scope on top of the ghost-sharing MVP: collaborative editor links, revision-checked operation API, and websocket presence/timetable updates
  • adds frontend collaboration state/actions and editor UI feedback for live connection state, peer presence, and stale-revision conflict recovery
  • includes follow-up stability fixes for shared-link rendering and schedule interaction consistency (asset path/rewrite fixes, toolbar visibility, and course section lock-state sync after server snapshots)

Context

This PR intentionally includes both the MVP ghost-sharing foundation and the final collaboration implementation in one branch for end-to-end review against develop.

Test plan

  • docker compose exec web python manage.py test timetable.tests
  • docker compose exec web yarn build
  • open shared editor link in two tabs and verify add/remove changes sync live
  • verify share/custom/save toolbar actions remain visible on shared links
  • verify stale revision conflict flow refreshes to latest state cleanly

Made with Cursor

Introduce tokenized shared timetable links, a ghost overlay API, and WebSocket-driven live updates so viewers can see owner schedule changes in real time while preserving existing share flow compatibility.

Made-with: Cursor
Send full ghost timetable payloads over websocket events to remove follow-up HTTP fetches, add collision-safe share token retries, and clarify ghost link prompt copy for non-technical users.

Made-with: Cursor
…ndering.

Introduce revision-checked collaborative operations with presence updates, and fix shared timetable pages to reliably load assets and preserve editable timetable UI behavior.

Made-with: Cursor
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.

1 participant