Skip to content

fix(web): view-only connections lock the composer and show an amber notice - #47

Merged
tebiggs merged 1 commit into
mainfrom
t3/lock-readonly-composer
Nov 14, 2026
Merged

tebiggs merged 1 commit into
mainfrom
t3/lock-readonly-composer

Conversation

@tebiggs

@tebiggs tebiggs commented Nov 14, 2026

Copy link
Copy Markdown
Owner

On a read-only (view-only) connection the composer stayed editable, and the only hint was small grey text under it saying the connection could only view threads.

Now the prompt editor is read-only on view-only connections, and that also covers type-to-focus and paste-to-focus, which inserted text programmatically and got past the editor's read-only flag. The note moved into the composer banner stack as an amber warning tab ("View only — This connection can't send messages or answer requests."), like the reconnecting and update notices. It sits in the environment group, so it stays visible when a question drawer is open.

View-only is still detected the same way (read scope present, operate scope absent), so nothing flashes while connecting.

Screenshots (behind Cloudflare Access):

Verified in a dev server paired with t3 pair --scope orchestration:read ...: the banner renders, and clicking the composer and typing, or typing elsewhere on the page, inserts nothing. Web typecheck, lint and format pass. Independent review (GPT 6.1 Sol, high) found no issues; the type-to-focus guard was added after that review.

Done by Claude Opus 5.5 in Claude Code (T3 Code).

🤖 Generated with Claude Code

…otice

The composer stayed editable on read-only connections, and the view-only
note sat as small text under it. The editor is now read-only (including
type-to-focus and paste-to-focus insertion), and the note is a warning
banner tab above the composer like the other composer notices.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@tebiggs
tebiggs merged commit c6cc71d into main Nov 14, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant