Member Junction
    Preparing search index...

    Framework-free state for the call overlay's tabbed surface panel: the ordered tab list (CHANNEL tabs first — the marquee surfaces, left cluster — with the session-activity tab pinned LAST and right-aligned by the strip), the active tab, and the transient "flash" highlight for a just-revealed channel tab.

    The Activity tab is GATED: it isn't listed until SetShowActivityTab(true) — i.e. once ≥1 agent run has occurred (or in review mode). Channel tabs appear only as channels come into play (the whiteboard up-front; every other channel on first use), so an idle voice-first session shows an empty/near-empty strip rather than a row of unused tabs.

    Owned by RealtimeSurfaceTabsComponent; kept free of Angular runtime imports so the add / focus / dedupe / flash logic is unit-testable in isolation. All collections are REPLACED (never mutated) on change, and every change emits Changed$.

    Index

    Constructors

    Properties

    ActiveKey: string = RealtimeSurfaceTabsModel.ActivityTabKey

    Key of the currently focused tab.

    Changed$: Subject<void> = ...

    Emits after every model change so the owning component can mark for check.

    FlashKey: string | null = null

    Key of the tab currently "flashing" (the brief highlight a just-revealed channel tab gets when the agent first acts on it). Cleared by the owning component after a beat via ClearFlash.

    ActivityTabKey: "activity" = 'activity'

    The fixed key of the session-activity tab (pinned LAST, right-aligned).

    Accessors

    Methods

    • Removes the channel tab with key. Rules:

      • the Activity tab is IRREMOVABLE — removing it is a no-op;
      • an unknown key is a no-op (returns false);
      • when the removed tab was focused, focus falls back to the Activity tab (if shown), else the first remaining channel tab;
      • a pending flash on the removed tab is cleaned up so the highlight can't dangle.

      Parameters

      • key: string

        The tab key to remove.

      Returns boolean

      true when a tab was removed.

    • Shows or hides the gated Activity tab. Turning it ON when an empty strip was implicitly focusing Activity keeps focus on Activity; turning it OFF while it was focused falls focus back to the first channel tab (if any). No-op (no emission) when unchanged.

      Parameters

      • show: boolean

        Whether ≥1 agent run has occurred (or review mode) — the gate.

      Returns void