-
Notifications
You must be signed in to change notification settings - Fork 3.6k
feat(tui): add configurable message_limit for session history #6138
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: dev
Are you sure you want to change the base?
Conversation
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.
Pull request overview
This PR adds a configurable message_limit option to control the number of messages loaded per session in the TUI. The default value remains 100, but users can now configure it up to 10,000 messages through the config file.
- Add
message_limitconfiguration field to TUI schema with validation constraints (1-10,000) - Update implementation to use the configured value with fallback to 100
- Generate corresponding TypeScript type definitions
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
packages/sdk/openapi.json |
Adds message_limit field to the schema with integer constraints (1-10,000) and description |
packages/sdk/js/src/v2/gen/types.gen.ts |
Generated TypeScript types for the new message_limit config option |
packages/sdk/js/src/gen/types.gen.ts |
Generated TypeScript types with incorrect default value in documentation |
packages/opencode/src/config/config.ts |
Adds Zod schema validation for message_limit with proper constraints |
packages/opencode/src/cli/cmd/tui/context/sync.tsx |
Updates message loading to use configured limit with fallback to 100 |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
f0fea03 to
0a0b93e
Compare
|
Fixed the inconsistent default value in the SDK types (was 500, now correctly 100). Thanks Copilot! |
0a0b93e to
9f54237
Compare
|
Fixed second hardcoded |
|
I have a working implementation ready - typechecks pass. |
|
@CasualDeveloper I also want to see this feature. I've had a half-finished PR in my pocket for a while that addresses this (and also makes the length of I cordially invite you to steal anything you think might be useful from my unfinished PR: ariane-emory#43 The team may (or may not) conclude that this also resolves my original Issue on the topic, #4918. |
9f54237 to
c22ee69
Compare
|
@ariane-emory Thanks for linking your PR! I've incorporated |
ef4a090 to
4a4438c
Compare
|
Re-committed with valid GPG signature. PR ready. |
b71e7ed to
4a4438c
Compare
Allow users to configure maximum messages loaded per session via tui.message_limit config option (default: 100, max: 10000). Previously hardcoded to 100, which prevented scrolling to earlier messages in long conversations.
4a4438c to
4596a07
Compare
Summary
tui.message_limitconfig option to control how many messages are loaded per session (default: 100)tui.session_list_limitconfig option to control how many sessions are shown in the session picker (default: 150)Closes #6137
May also resolve #4918
Usage
{ "tui": { "message_limit": 500, "session_list_limit": 200 } }Changes
packages/opencode/src/config/config.tsmessage_limitandsession_list_limitto TUI schemapackages/opencode/src/cli/cmd/tui/context/sync.tsxmessage_limitconfigpackages/opencode/src/cli/cmd/tui/component/dialog-session-list.tsxsession_list_limitconfigpackages/sdk/*