diff --git a/CLAUDE.md b/CLAUDE.md index 9af5b2b0b40..2f701da32b8 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -9,7 +9,7 @@ Rocket.Chat React Native mobile client. Single-package React Native app (not a m - React 19.1, React Native 0.81, Expo 54 - TypeScript with strict mode, baseUrl set to `app/` (imports resolve from there) - Node: engines `>=18`, volta pins 24.13.1 -- Read UBIQUITOUS_LANGUAGE.md +- Read CONTEXT.md ## Commands diff --git a/UBIQUITOUS_LANGUAGE.md b/CONTEXT.md similarity index 94% rename from UBIQUITOUS_LANGUAGE.md rename to CONTEXT.md index 2b35c62a1d2..474444eb06d 100644 --- a/UBIQUITOUS_LANGUAGE.md +++ b/CONTEXT.md @@ -52,6 +52,15 @@ | **Room History** | Older Messages of a Room fetched on demand from the server (distinct from **Server History**) | Message history | | **Jump to Message** | Re-position the Room view onto a target Message that may be far from the Live Tail or not yet synced — fetches a surrounding Chunk | Scroll to message | +## Message Interaction & Position State + +Two distinct kinds of transient per-Room state drive how the Room view renders Messages. They have different owners and are migrated independently, so keep them apart. + +| Term | Definition | Owner | Scope | +| --------------------- | --------------------------------------------------------------------------------------- | ------------------------------ | -------------------------------------------------------------------- | +| **Interaction state** | Which Message is selected and the current Message action — reply, quote, edit, or react | A per-Room interaction store | Migrated to the per-Room store as part of the Message row work | +| **Positional state** | Which Message is highlighted and the jump or scroll position | The Room view scroll machinery | Stays with the Room view scroll machinery and is migrated separately | + ## Users & Roles | Term | Definition | Aliases to avoid | diff --git a/app/lib/services/voip/docs/README.md b/app/lib/services/voip/docs/README.md index f39207f939e..f76c518a737 100644 --- a/app/lib/services/voip/docs/README.md +++ b/app/lib/services/voip/docs/README.md @@ -12,4 +12,4 @@ Entry point for documentation of the peer-to-peer audio call subsystem. VoIP is ## Glossary -Domain terms used throughout these docs are defined in the project glossary at `../../../../UBIQUITOUS_LANGUAGE.md` under "Video & Voice". +Domain terms used throughout these docs are defined in the project glossary at `../../../../CONTEXT.md` under "Video & Voice". diff --git a/app/views/RoomView/docs/ARCHITECTURE.md b/app/views/RoomView/docs/ARCHITECTURE.md index 2bad93e189f..c3dfadd9960 100644 --- a/app/views/RoomView/docs/ARCHITECTURE.md +++ b/app/views/RoomView/docs/ARCHITECTURE.md @@ -1,6 +1,6 @@ # Room Message Loading Architecture -Load-bearing reference for how the Room view loads, observes, and re-positions Messages. Read this before `FLOWS.md` — that document assumes the vocabulary defined here. Domain terms (Message Window, Live Tail, Anchored Window, Chunk, Gap, Loader Row) are defined in the repo glossary `UBIQUITOUS_LANGUAGE.md` under "Message Loading"; this document uses them as defined there. +Load-bearing reference for how the Room view loads, observes, and re-positions Messages. Read this before `FLOWS.md` — that document assumes the vocabulary defined here. Domain terms (Message Window, Live Tail, Anchored Window, Chunk, Gap, Loader Row) are defined in the repo glossary `CONTEXT.md` under "Message Loading"; this document uses them as defined there. ## Overview