Module workspace_activity
Expand description
A workspace’s activity as the session serves it: what changed since this device last looked, the full history, and the replay of its layout.
The session keeps the history index of every workspace on this device and
serves it under PROVIDER as resource RESOURCE. Its reads are live
views (crate::ExecutionMode::Live): an app follows FEED,
SUMMARY, REPLAY and DETAIL and gets a new result whenever the
workspace’s history moves. Its writes are ordinary actions on the same
resource: naming, splitting and merging work groups, undoing and
restoring, opening what a change touched, and marking what was seen.
What this device has seen stays with the session: MARK_VIEWED moves
its own frontier, never a shared record.
Changes are addressed by their history id (Entry::id), 32 lowercase
hex digits, and a run of changes by its first and last (Range) in
the order Feed::entries lists them.
Structs§
- Author
- Who made a change.
- Boundary
- What
MOVE_BOUNDARYmoves: the boundary between the two adjacent work sessions holdingolderandnewer. - Brief
- A work session: a run of related changes, told as an outcome.
- Brief
Action - One action of a work session’s evidence.
- Detail
- What a run of changes did.
- Detail
Query - What a
DETAILreads. - Entry
- One change.
- Feed
- The workspace’s history, as a
FeedQuerynarrows it. - Feed
Query - What a
FEEDreads. - Field
Change - One field a run of changes changed, with what it held either side of it.
- Focus
- What to show, asked for outside the app: the glance in the top bar, a
file’s own history, a command naming a view. Each ask has its own
serial; the app that shows it says so (FOCUSED), and it is not offered again. - Focused
- Which
FocusFOCUSEDsays was shown. - Frame
- The layout after one change.
- Group
- A named run of changes.
- Lens
- A way to narrow the feed: an app, a resource, a work group.
- Name
- What
NAMEwrites. An empty label removes the name. - Offer
- An offered action, worded for the run it acts on.
- Range
- A run of changes, by its first and last in feed order.
- Record
Query - One record of an agent’s run, as
UNDO_RECORDnames it. - Refusal
- A device that refused one of a change’s writes, and why.
- Replay
- The workspace’s layout at each recent change.
- Replay
Group - One group of tabs in a replayed workspace.
- Replay
Pointer - Someone’s pointer as it was.
- Replay
Workspace - A workspace as it was.
- Resume
- Where the reader left off.
- Run
- An agent’s task run a change belongs to.
- RunRecord
- A record an agent’s run changed.
- Source
- A resource this device chose to hear about each morning.
- Source
Request - What
SOURCEruns. - Summary
- What changed since this device last looked.
- Target
- A resource a change touched, and where it opens.
- Viewed
- What
MARK_VIEWEDmarks: the changes the reader was shown.
Enums§
- Comparison
- What comparing the workspace before and after a run found.
- Detail
Action - What can be done with a run of changes, and which action does it.
- Kind
- What kind of change an entry is.
- Period
- How far back the feed reaches.
- Relation
- Who an author is to the person reading.
- Scope
- Which workspaces’ changes are shown.
- Source
Command - A command on a chosen morning source.
- Toward
- Which way a
Boundarymoves. - View
- Where in the app a
Focusopens.
Constants§
- APP_ID
- The application whose window shows it, and whose grants reach it.
- CHOOSE_
SOURCE - Choose, or stop choosing, the resource a
Rangechanged as a morning source of this device. - DETAIL
- Live: what a run of changes did and what can be done with it, given a
DetailQuery; answersDetail. - FEED
- Live: the workspace’s history, filtered by a
FeedQuery; answersFeed. - FEED_
PAGE - How many changes a feed answers when its query asks for no number.
- FOCUS
- Live: what the person last asked to be shown from outside the app, until
an app shows it; answers an optional
Focus. - FOCUSED
- Say the
Focuswith the serialFocusednames was shown. - MARK_
VIEWED - Mark the changes
Viewednames as seen on this device. - MERGE
- Merge the named work groups a
Rangespans. - MOVE_
BOUNDARY - Move the boundary between two work sessions (
Boundary). - NAME
- Name, rename or un-name a run of changes (
Name). - OPEN
- Open a
Targetin its app. - PROVIDER
- The provider the session serves workspace activity under.
- REPLAY
- Live: the workspace’s layout at each recent change; answers
Replay. - RESOURCE
- The resource every action is an action of.
- RESTORE
- Restore the workspace to before a
Rangeof changes. - SOURCE
- Run a
SourceCommandon a chosen morning source. - SPLIT
- Split the named work group a
Rangesits in at its start. - SUMMARY
- Live: what changed since this device last looked; answers
Summary. - UNDO
- Undo a
Rangeof changes. - UNDO_
RECORD - Undo one record’s share of that run (
RecordQuery). - UNDO_
RUN - Undo the agent’s task run a
Rangebelongs to.