GeezerVison is showing github.com — feat(site/src/pages/AgentsPage): quieter read-only view for other users' chats by tracyjohnsonux · Pull Request #30483 · coder/coder
Conversation
tracyjohnsonux
commented
Oct 7, 2026
•
edited by coder
Bot
Loading
Uh oh!
There was an error while loading. Please reload this page.
When a user opens a chat owned by someone else, the page showed an orange warning band and a full composer whose controls were all disabled. This replaces that with a quieter read-only view.
- Top bar: no warning band. The share button is shown only to the chat owner, so viewers with share permission (admins) no longer get it. The shared-chat icon by the title is unchanged, and the kebab stays (it holds Copy ID).
- Composer: the "This chat is owned by X. It is read-only." message moves inside as a neutral info line. The editor is not rendered, so the composer is short, and it gets the default border.
- Composer controls:
+, mic, send/stop and the x on workspace, MCP and planning pills are hidden. Model, workspace and MCP pills and the context indicator stay; the model shows as a plain label rather than a disabled picker.
The compact view is driven by a new readOnlyNotice prop on AgentChatInput, so the new-chat form, which also uses isReadOnly, is unchanged. Sidebar rows and message action rows are out of scope.
Fixes CODAGT-1355
Follow-ups (cleanup tracked in CODAGT-1384):
- CODAGT-1385: split the read-only composer out of
AgentChatInput (replaces readOnlyNotice).
- CODAGT-1386: use one viewer-permission check across the chat page.
- CODAGT-1387: audit read-only treatment for sidebar rows and message actions.
- CODAGT-1308: read-only viewers still see an enabled "Remove from queue" button (existing).
Design decisions
From design review with Tracy:
- Remove the red warning band.
- Remove the share button for non-owners. A lock and then a moved shared icon were tried; the existing shared icon by the title was kept instead.
- Move the warning message into the chat area.
- Make the chat area smaller and outline it so it looks different.
- Remove disabled action buttons in the chat area (only show content the user can interact with):
+, mic, send, and the pill x buttons. The spinner in the mockup is the existing context indicator, which stays.
Verified in Storybook (AgentChatPageView / OtherUserChatReadOnly): the composer shows the notice, has no editor, its only button is the context indicator, and the orange band is gone. New visual story: AgentChatInput / ReadOnlyNotice.
Generated by Coder Agents.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
…rs' chats
Replace the orange owner banner with a neutral notice inside the
composer, drop the editor and all action controls (plus menu, mic,
send, pill dismiss buttons) for read-only viewers, outline the
composer with the default border, and show a lock icon in the top bar
instead of the shared-chat icon.
Fixes CODAGT-1355
linear-code
Bot
commented
Oct 7, 2026
•
edited
Loading
Uh oh!
There was an error while loading. Please reload this page.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
…ad-only chats
The disabled model selector rendered greyed out next to the other
context pills. Read-only viewers cannot change the model, so render a
plain label that matches the MCP pills instead.
…bar icons
Button forces icons to size-icon-sm with p-0.5 inside a size-7 box, so
the bare 16px lock rendered larger than its neighbours. Use the same
box and glyph sizing.
… chats
Viewers with the share permission (owners, org admins) still saw the
share button next to the lock on chats they do not own. Show it only
to the chat owner.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approving although we're making our components even more slop with this change. What I mean is: we're adding an optional prop readOnlyNotice that, when set, hides the editor and controls. It just "feels" wrong. I'm going to noodle on the component architecture a little bit outside of this PR
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
|
<div className="flex items-center gap-2">
|
|
|
{!isEmbedded && canShareChat && chat && (
|
|
|
{!isEmbedded && isReadOnlyViewer && (
|
|
|
// Matches the icon buttons' box and glyph size so it reads as a peer.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approving although we're making our components even more slop with this change. What I mean is: we're adding an optional prop readOnlyNotice that, when set, hides the editor and controls. It just "feels" wrong. I'm going to noodle on the component architecture a little bit outside of this PR
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
…d-only-chat-composer
# Conflicts:
# site/src/pages/AgentsPage/components/ChatTopBar.tsx
… viewers
Restore the existing shared-chat indicator next to the title instead of
moving it into the actions area.
Approving although we're making our components even more slop with this change. What I mean is: we're adding an optional prop readOnlyNotice that, when set, hides the editor and controls. It just "feels" wrong. I'm going to noodle on the component architecture a little bit outside of this PR
I've made some issues (in description) to capture future work.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Milestone
No milestone
Development
Successfully merging this pull request may close these issues.
Uh oh!
There was an error while loading. Please reload this page.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
|