# Move Between Host Owner Messages

Oysterun can help you move from one Host Owner message to the next or previous
Host Owner message in the same chat. This page helps you use those controls
without losing your place, opening another room, or exposing transcript content
outside the current chat.

## Prerequisites

- You are signed in to Oysterun.
- A Session chat is open in the Oysterun web chat or Oysterun app.
- The chat has at least one Host Owner message in the current room.
- The timeline has finished loading enough messages for the current screen to
  show chat content.

Starting screen: a Session chat timeline with the composer visible at the
bottom of the page.

## Use Host Owner Message Navigation

1. Look near the lower-right edge of the timeline, above the composer, for the
   Host Owner message navigation controls. The up-chevron control is labeled
   **Previous Host Owner message** when a previous target is available. The
   down-chevron control is labeled **Next Host Owner message** when a later
   target is available.
2. Confirm you are still in the intended Session chat before selecting a
   control. The header should still show that Session, and nearby controls such
   as **Previous Page**, **Open Explorer**, the pin button, and the
   more-options button should
   remain in the same chat header rather than a different room or setup screen.
3. Use the enabled previous or next Host Owner message control.
4. Wait for Oysterun to focus the target message in the same chat.

Expected result: you should see the timeline move to another Host Owner message
in the same room. The chat URL may include a focused message, but Oysterun
stays in the same Session chat. Success is visible when the target message is
focused, the composer remains available, and the same Session header controls
are still present.

## What The Controls Do

The controls search only within the current chat room. They use the current
focused message when the URL already includes one, otherwise they use the
message nearest the visible center of the timeline. If Oysterun cannot measure
that center yet, it uses the latest visible message as a bounded fallback.

The controls do not export a transcript, open a generic Matrix room URL, or
send you to another room. When a target is found, Oysterun asks the active chat
timeline to open that message. If the active timeline cannot focus it directly,
Oysterun uses its normal focused-message route in the same chat.

Checkpoint: the message focus changes in the current chat, the composer stays
available, and the Host Owner controls remain near the lower-right timeline
edge rather than replacing Jump to Latest.

## When A Control Is Disabled

A previous or next control can be unavailable when Oysterun cannot prove a
matching Host Owner message in that direction, when the current lookup is still
loading, or when the current room changes before the lookup finishes. During
lookup, the control may be labeled **Loading Host Owner messages**. At a
boundary, Oysterun may show **Already at first Host Owner message**,
**Already at latest Host Owner message**, **No previous Host Owner message
found**, **No next Host Owner message found**, or a nearby-message message that
asks you to scroll closer or use search. Treat a dimmed button, an unavailable
pointer state, or a control that does not respond after one selection as a
disabled or still-loading state.

Oysterun treats long histories as bounded windows. If the search window is
exhausted, the control can remain disabled even though older or newer messages
may exist beyond the current bounded lookup. This avoids making the page scan a
whole room before you can continue reading.

Checkpoint: a disabled or loading control does not move the timeline, does not
open another room, and does not add messages to the timeline by itself.

## Recover From The Wrong Target

If you select the previous or next control and land on the wrong Host Owner
message, do not keep selecting the control blindly. First verify the visible
Session header and the focused message belong to the chat you meant to review.
If the header or message is not the intended target, use **Previous Page** or
the browser back control to return to the last known chat position, then reopen
the intended Session chat from the Sessions list if needed.

After you are back in the intended chat, use **Jump to Latest** only when you
want to return to the live bottom. Otherwise, scroll until the intended Host
Owner message is near the visible center of the timeline, then use the previous
or next Host Owner message control again when it is enabled. The recovery is
successful when the focused message, Session header, composer, and Host Owner
navigation controls all remain in the intended Session chat.

## Privacy And Content Boundaries

Host Owner navigation decides ownership from committed event metadata, not from
message text or display names. The lookup returns only the target message
identity and bounded navigation proof needed to focus the timeline. It does not
return raw message bodies, display names, transcript slices, or complete event
payloads.

## Oysterun App Behavior

In the Oysterun app, remote pagination and anchor restoration complete once for
each request. If a request is blocked, rejected, no longer matches the current
room, or cannot restore the target anchor, Oysterun clears the pending state so
you can make another bounded request later.

The app does not copy, reorder, replay, or auto-fill timeline events during
this recovery. Matrix and the chat timeline remain responsible for fetched
message materialization.

## Recover When Navigation Does Not Move

If the previous or next Host Owner message control does not move the timeline:

1. Check whether the control is disabled or still loading. Wait for the current
   lookup to finish before selecting it again.
2. If the timeline is far from the live bottom and you want new messages, use
   Jump to Latest.
3. If the chat changed rooms, reopen the intended Session chat and try again
   from that room.
4. If you reached a boundary or exhausted lookup window, scroll manually to
   bring more of the timeline into view, then use the control again when it is
   enabled.
5. If the login screen appears, sign in and reopen the Session chat from the
   Sessions list.
