Remote cursors and presence strip #37
Labels
No Label
area:auth
area:docs
area:export
area:ops
area:storage
area:supply-chain
auth
backend
blocked
collab
deployment
docs
effort:L
effort:M
effort:S
frontend
plugins
qa
vs-nfd
vs-nfd:blocker
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: stwaidele/dorfteich#37
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
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?
Context
Seeing other participants' cursors live is an explicit vision requirement.
Scope
Add collaboration-cursor: remote carets/selections with display name flags and a stable per-user color (hash of user id onto an accessible palette); presence strip at the page top (avatars/initials of connected participants incl. read-only viewers, overflow count); own identity from
/auth/meinto awareness.Acceptance criteria
Technical notes
Dependencies
Depends on #36.
Size: ~1 day
Conventions: English code/comments, clear human-readable code, no hard-coded UI strings (ADR 0012, add
deanden), permission checks only via the shared guard (docs/architecture/permissions.md). Read the referenced ADRs before starting.Verified on Test and Int (commit
63fe6af, pipeline green — all CI + CD jobs, incl. the collab e2e pack with the new presence/caret test, and Int promotion).Live on Test: two collab clients connected to
wss://test.dorfteich.cloud/collabfor one page each set an awarenessuserand each then observes 2 awareness states — so presence/awareness is relayed through the deployed collab server and proxy.What landed (ADR 0003/0004, realtime-collaboration.md §Awareness):
userfield. Presence updates on every awareness change, so a disconnect drops the participant within seconds.e2e (validated locally against api + collab + built web, and in CI): two browsers each show 2 avatars in the presence strip; the owner's cursor appears as a named caret in the other editor; disconnecting the owner drops them from the strip. de + en strings and cursor/presence styles added.