Skip to content

herdr-core: coming back to a pane after it was marked unread elsewhere does not mark it read for other clients #2690

Closed

Description

@devswha

On herdr-core, Ovis writes herdr.seen once per turn (#2687), so a pane left on screen does not overrule a "mark unread" from another Herdr client (herdr-app docs/labels.md). The server cannot tell that case from a person coming back to the pane later, which the same spec says should raise the label again.

Steps (hc 0.1.17, OVIS_RUNTIME=herdr-core):

  1. An agent finishes a turn; read it in Ovis. herdr.seen becomes the turn.
  2. Switch to another pane. In another client, mark the agent unread (hc label <t> herdr.seen=<turn - 1>).
  3. Come back to the pane in Ovis.

Expected: the label is raised to the turn again, so the other client shows it read.
Actual: Ovis shows it read, but writes nothing; the other client keeps it unread.

The same happens when another client had already written the turn before Ovis's first read, and then marks it unread while Ovis has the pane on screen: Ovis then writes it back.

Likely fix: the browser says, with its read (POST /api/seen), whether the pane just came into view or was already in front, and the server writes again only for a new presentation. That is an HTTP contract change, so it was left out of #2687.

Activity

  1. added a commit that references this issue on Nov 4, 2026
    7ead2cd
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions