typograph-editor-documentation
    Preparing search index...

    Release Notes - Version 1.0.0-20261025.2

    People working in the same template can see each other: their pointers and what they have selected. Off unless the host turns it on.

    • See who else is in the template. With the new collaboration option, everyone who has the same template open sees the others' pointers, each an arrow with the person's name in their own color, and an outline in that color around what they have selected. A pointer stays on the same spot of the paper whatever anyone's zoom or scroll, shows only to people looking at the same spread, and disappears when the person leaves. Nobody's edits travel yet: this is presence only, and saving is unchanged. A host that does not pass the option sees no change at all. See docs/Collaboration.md.
    • Pointers glide, name tags fold away, and one person is one person. A pointer moves smoothly instead of in steps, its name tag disappears a few seconds after the person stops moving, and someone idle for a minute is drawn faint. Someone with the template open in two windows shows up once. The new typograph_collaboration_changed event tells the host who is here and whether the connection is up, for avatars and a status dot in its own header.
    • One person edits at a time. Edits are not combined yet, so the first window to open the template holds the pen and everyone else is put in Commenting (or Viewing) until it is free; the window waiting longest then picks it up and goes back to the mode it was in, or stays in the one the user picked meanwhile. The event's new editing field says who has it, so the host can explain why the tools are gone; a host that offers Editing only gets the editor's own locked label with the reason. See "One person edits at a time" in docs/Collaboration.md.
    • Carry on in another window, and never edit an old version. collaboration.take_over() moves the pen from the user's own other window to this one; that window saves first through the new release() option. A window that gets the pen after someone else held it loads the latest saved version through the new catch_up() option before editing starts; if that load fails, editing stays withheld (editing.catch_up_failed) until collaboration.retry_catch_up() succeeds, and nobody counts the window as editing while it loads. People and the pen's holder carry an avatar_url from the collab token.
    • See yourself among the others. people starts with the user, marked you: true, once for all their windows on the template, so the host can show their photo next to everyone else's.
    • TYP-918 (editor-ui feat/TYP-918-presence-cursors): src/collaboration.ts connects to collab-service with @hocuspocus/provider and sends the pointer (at most 20 a second, in millimetres on the spread) and the selection over Yjs awareness. Name and color come from the collab token. It needs canvas's set_remote_presence(), spread_point_at() and get_selected_uuids() (canvas feat/TYP-918-presence-cursors), so the canvas pin moves with it. latency_samples() gives the pointer-to-screen delay for the WBSO record. The pen is decided in Collaboration.decide_editing() from awareness fields joined_at and editing_since (earliest wins, ties to the lower client id) and enforced with the new EditorUI.hold_editing(). Vitest collaboration.test.ts.