Skip to content

Context anchors

A context anchor links a message to specific content on a page — a sentence of text or a whole image. Anchors persist after your selection clears, so others can scroll back to the exact spot.

Supported in v1: text and image. Video/audio anchors are planned for a future release.


What you see

SurfaceIndicator
Discuss feedSmall on messages with anchors
Live pageHighlight overlay + proximity badges
Compose modalAnchor chip with excerpt preview
Share URLPublic anchor page at view.canopi.live / app.canopi.live/anchor/...

Create an anchor (full flow)

Step 1 — Select content

Text:

  1. Highlight a sentence or phrase on the page.

Image:

  1. Hover an eligible image until the widget modal appears.

Step 2 — Choose Discuss (or another composer tag)

  1. Click Discuss in the widget (or right-click → Start discussion).
  2. The page dims briefly while the anchor is built.

Step 3 — Anchor is held as pending

Canopi captures:

  • Text: exact quote + surrounding prefix/suffix for re-finding the text if the page changes
  • Image: image URL and alt text
  • Page URL always included

Step 4 — Compose or attach

Routing depends on sidebar state:

SituationWhat happens
Compose modal already openAnchor attaches to your draft
Focus mode (single thread)Anchor attaches to the root parent message only
Discuss default view + active messagePrompt to attach to active row → Confirm or Choose another
No modal, no active rowTarget mode — drag to message, arrow keys + Enter, or drop on composer entry

Step 5 — Send or confirm

  • New message: write in compose modal → Send.
  • Existing message: Confirm attach or drop anchor chip on message row.

Step 6 — Verify

  1. Message shows in Discuss.
  2. Hover ⓘ → preview excerpt.
  3. Click ⓘ → page scrolls and highlights the anchored content.

Attach to an existing message

When not composing a new message:

  1. Open Discuss on the page.
  2. Click a message row to mark it active (subtle highlight).
  3. Select text on the page → widget → Discuss.
  4. Click Confirm on “Attach to this message?”

Power paths if you decline or have no active row:

MethodSteps
DragDrag anchor handle onto a message row; snap to nearest row
KeyboardArrow keys move target ring between rows; Enter confirms; Esc cancels
Composer dropDrop on “Enter a new message” area → opens compose modal with anchor on draft

WARNING

In focus mode, only the root parent message can receive an anchor. If it already has one, you get a toast and the attach is blocked.


See anchors on the page

Header display control

In the sidebar header, use the anchor display toggle:

ModeBehavior
HiddenNo on-page highlights
Near pointerShow highlights close to cursor
Show allShow all anchor highlights on the page

Proximity badges

Anchored regions show count badges (messages + tags). Hover for the action panel — same as the widget modal.

From Discuss

Click on any anchored message → page scrolls to highlight → excerpt visible.


Lightweight tags on anchors

Without opening compose, use the widget or proximity panel:

  • Bookmark — saves to Bookmarks tab
  • React — adds emoji reaction
  • Share — copies share link
  • Follow — notifies on anchor activity

See Smart tags.


Share an anchor

  1. Use widget → Share, or open the anchor page from a message.
  2. Share URL format: hosted at share.canopi.live or view.canopi.live.
  3. Recipients with Canopi see the anchor in context on the same page.

Limitations (v1)

Not yet supportedNotes
Video timestampsPlanned v1.1+ (YouTube first)
Audio segmentsPlanned v1.1+
Image sub-regionsWhole image only in v1
Non-anchor tabsWidget suppressed when sidebar on unsupported tab

Canopi — Metaweb coordination layer for community-aware presence and messaging.