Skip to content

feat(chat): simplify the composer's mode menus and hide model capability tags in production - #2211

Merged
AnishSarkar22 merged 3 commits into
MODSetter:devfrom
AnishSarkar22:fix/composer-ui-changes
Oct 9, 2026
Merged

AnishSarkar22 merged 3 commits into
MODSetter:devfrom
AnishSarkar22:fix/composer-ui-changes

Conversation

@AnishSarkar22

@AnishSarkar22 AnishSarkar22 commented Oct 9, 2026 •

Copy link
Copy Markdown
Collaborator

What

  • Removes the Agentic warning that showed under a new chat's composer ("Not tested with this model yet, so it may stop early or make mistakes."). The same warning already shows in the mode menu, and Settings › Models shows the full detail.
  • The capability tag in the model picker ("Agentic", "Not tested", …) now shows only in dev builds, as a small badge. Production shows only the model name and its connection.
  • New-chat mode menu: each mode has one short line ("Answers from your sources", "Does tasks across your files"). An Agentic that hasn't passed the tests gets a tag ("Not tested", "Low score", "May need nudges", "Local copy", "Expected to pass").
  • The full reason, or why Agentic is blocked, shows in a tooltip beside the row on hover or keyboard focus, the same pattern as the "+" menu. Screen readers read it with the row.
  • Open-chat mode menu: shows the same two rows under "This chat’s mode", with the chat's mode checked and the other marked "New chat". Picking the other mode opens a new chat in it; picking the current one does nothing.
  • Interface text: adds the new messages in all ten languages and removes the four that are no longer used.
  • Updates docs/architecture/model-capabilities.md to match.
  • Tests: mode-picker tests cover the tag, the tooltip, a passing model with no tag, and the open-chat menu (pick the other mode, pick the current one, blocked Agentic).
  • To test: run pnpm dev, start a new chat with an untested model, open the mode menu, and hover Agentic. Then open an existing chat and use the mode menu to start a chat in the other mode. A production build should show no tags in the model picker.

Why

Fixes #

How to test

High-level PR Summary

This PR refines the user interface for the chat composer's mode picker by moving Agentic capability warnings into tooltips with tags, removing the note under the composer, hiding capability labels in production builds, and unifying the mode picker behavior between new and open chats to use consistent radio button lists.

⏱️ Estimated Review Time: 5-15 minutes

💡 Review Order Suggestion
Order File Path
1 docs/architecture/model-capabilities.md
2 surfsense_local/frontend/src/features/chat/modes/mode-text.ts
3 surfsense_local/frontend/src/features/chat/modes/agentic-note.tsx
4 surfsense_local/frontend/src/features/chat/model-picker.tsx
5 surfsense_local/frontend/src/features/chat/modes/mode-picker.tsx
6 surfsense_local/frontend/src/features/chat/chat-composer.tsx
7 surfsense_local/frontend/src/features/chat/modes/mode-picker.test.tsx
8 surfsense_local/frontend/translations/en.json
9 surfsense_local/frontend/translations/de.json
10 surfsense_local/frontend/translations/es.json
11 surfsense_local/frontend/translations/fr.json
12 surfsense_local/frontend/translations/hi.json
13 surfsense_local/frontend/translations/ja.json
14 surfsense_local/frontend/translations/ko.json
15 surfsense_local/frontend/translations/pt-BR.json
16 surfsense_local/frontend/translations/ru.json
17 surfsense_local/frontend/translations/zh-CN.json

Need help? Join our Discord

AnishSarkar22 and others added 3 commits October 10, 2026 01:58
…s only in dev

The mode menu already says each model's Agentic reason, so the line under a
new chat's composer repeated it. The model picker's capability label is now a
dev-only badge.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Each mode gets a short line. An Agentic that did not pass carries a tag, and
its reason or gate shows in a tooltip beside the row, as the add menu does.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
An open chat's menu now shows the same Basic and Agentic rows as a new chat,
with its own mode checked and the other marked "New chat". The doc also says
the model picker's capability tags show only in dev builds.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@vercel

vercel Bot commented Oct 9, 2026

Copy link
Copy Markdown

@AnishSarkar22 is attempting to deploy a commit to the Rohan Verma's projects Team on Vercel.

A member of the Team first needs to authorize it.

@coderabbitai

coderabbitai Bot commented Oct 9, 2026

Copy link
Copy Markdown

Review in Change Stack →

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration
  • Configuration used: Repository: MODSetter/SurfSense/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 59dd8730-d76e-402d-b2df-e9f0f942e6ea

📥 Commits

Reviewing files that changed from the base of the PR and between c5ff793 and d402901.


📒 Files selected for processing (17)
  • docs/architecture/model-capabilities.md
  • surfsense_local/frontend/src/features/chat/chat-composer.tsx
  • surfsense_local/frontend/src/features/chat/model-picker.tsx
  • surfsense_local/frontend/src/features/chat/modes/agentic-note.tsx
  • surfsense_local/frontend/src/features/chat/modes/mode-picker.test.tsx
  • surfsense_local/frontend/src/features/chat/modes/mode-picker.tsx
  • surfsense_local/frontend/src/features/chat/modes/mode-text.ts
  • surfsense_local/frontend/translations/de.json
  • surfsense_local/frontend/translations/en.json
  • surfsense_local/frontend/translations/es.json
  • surfsense_local/frontend/translations/fr.json
  • surfsense_local/frontend/translations/hi.json
  • surfsense_local/frontend/translations/ja.json
  • surfsense_local/frontend/translations/ko.json
  • surfsense_local/frontend/translations/pt-BR.json
  • surfsense_local/frontend/translations/ru.json
  • surfsense_local/frontend/translations/zh-CN.json

 _______________________________________________________________________________________________
< bm = Δc/Δt: Bug momentum equals change in code over change in time. Can't argue with physics. >
 -----------------------------------------------------------------------------------------------
  \
   \   \
        \ /\
        ( )
      .( o ).
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR


  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@AnishSarkar22 AnishSarkar22 changed the title Fix/composer UI changes feat(chat): simplify the composer's mode menus and hide model capability tags in production Oct 9, 2026
@AnishSarkar22
AnishSarkar22 merged commit ec0c387 into MODSetter:dev Oct 9, 2026
19 of 23 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