Skip to content

refactor(settings): remove page overlap, files at once, highlight code and chat page keys - #1104

Merged
devswha merged 6 commits into
mainfrom
refactor/trim-settings-2
Oct 14, 2026
Merged

devswha merged 6 commits into
mainfrom
refactor/trim-settings-2

Conversation

@devswha

@devswha devswha commented Oct 14, 2026

Copy link
Copy Markdown
Owner

Stacked on #1099; retarget to main once it merges.

Change

Removes four more settings, each fixed at one value:

Setting Now
Page overlap (Shortcuts → Paging) one line between pages (PAGE_OVERLAP_ROWS in lib/pageScroll.ts); the Paging group is gone with it
Files at once (Chat) one paste, pick or drop takes up to 100 files, as in t3code (PROVIDER_SEND_TURN_MAX_ATTACHMENTS = 100); the note still says how many were left out
Highlight code (Chat) always on; code too long to color is still plain, as before
PageUp / PageDown scroll chat (Chat) always on: plain page keys scroll the transcript, also from the message box. Other editable fields, composition, modals and the terminal keep their keys

These came from #811 (@kratam), #863 (@demrom) and #671 (@aNNdii). Wheel scroll speed (#274) stays: xterm sends one report per wheel event, so neither the OS nor herdr's mouse_scroll_lines can stand in for it.

  • diffColorable loses its setting argument; HighlightedCode, FileViewer and TerminalViewportTools no longer read settings.
  • A stored record naming a removed key loads without it (the test from refactor(settings): remove eleven maintainer-added settings #1099 now lists these four). highlightCode leaves the shared preferences.
  • shared/telemetry.ts is unchanged, as in refactor(settings): remove eleven maintainer-added settings #1099: the snapshot sends the fixed values. attachLimit is sent as 50, the schema's top, since 100 would fail its check.
  • Browser scripts follow: ui-regression picks 101 files (the first too large) and expects "the first 100 of 101"; pane-paging-demo-regression drops the switch and the overlap steps, and keeps its one-pixel fractional pages with a line taller than the view; terminal-viewport-regression pages once at the fixed overlap; application-paging-regression, file-viewer-regression and virtual-source-browser-qa drop the removed cases.

Validation

  • bun run check fast: generated types, typecheck, build, unit tests (3584 pass, 0 fail).
  • bun run check run bun scripts/<name>.ts, each passing: ui-regression, terminal-viewport-regression, application-paging-regression, file-viewer-regression, virtual-source-browser-qa.
  • Demo scripts passing: pane-paging-demo-regression, settings-pages-demo-regression (every Settings page fits 320px in en/ko/ja/zh).

@coderabbitai

coderabbitai Bot commented Oct 14, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 4 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 4 included reviews currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Repository: devswha/herdr-web-ui/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 99ab2907-849a-463c-b462-4b617ef15112
📥 Commits

Reviewing files that changed from the base of the PR and between 0fe7578 and cfef09c.

📒 Files selected for processing: 26
  • DESIGN.md
  • changelog.d/trim-settings-2.md
  • docs/guide.md
  • scripts/application-paging-regression.ts
  • scripts/file-viewer-regression.ts
  • scripts/pane-paging-demo-regression.ts
  • scripts/terminal-viewport-regression.ts
  • scripts/ui-regression.ts
  • scripts/virtual-source-browser-qa.ts
  • shared/preferences.ts
  • src/components/ChatView.tsx
  • src/components/Composer.tsx
  • src/components/FileViewer.tsx
  • src/components/HighlightedCode.tsx
  • src/components/PaneTerminal.tsx
  • src/components/RepoDiffViewer.tsx
  • src/components/SettingsDialog.tsx
  • src/components/TerminalViewportTools.tsx
  • src/lib/i18n.ja.ts
  • src/lib/i18n.ko.ts
  • src/lib/i18n.zh.ts
  • src/lib/pageScroll.ts
  • src/lib/repoDiff.test.ts
  • src/lib/repoDiff.ts
  • src/lib/settings.test.ts
  • src/lib/settings.ts
  • 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.

Contrast, Text smoothing, Panel motion, the UI and code fonts and Folder and branch never shipped (#951, #1033 are after v0.4.8), so their changelog fragments no longer add them and trim-settings removes only the five that shipped. Drops the pace text from the guide, removed settings from DESIGN.md's page list, a vacuous test, the contrast.ts credit and FontFamilyInput's unused placeholder prop.
…actor/trim-settings-2

# Conflicts:
#	src/lib/settings.test.ts
…settings from the docs

DESIGN.md's Settings page list and paging notes and the guide's shortcut rows still described Highlight code, the chat paging toggle, Files at once and a configurable page overlap.
Base automatically changed from refactor/trim-settings to main October 14, 2026 16:49
Carries this branch's own changes (c0fd388..92c1226) onto main after #1099 and #1101 were squash-merged; docs/guide.md keeps #1101's keyboard path to the pane menu with this branch's one-line page overlap.
@devswha
devswha merged commit 97f06f3 into main Oct 14, 2026
17 checks passed
@devswha
devswha deleted the refactor/trim-settings-2 branch October 14, 2026 16:58
devswha added a commit that referenced this pull request Oct 14, 2026
Carries this branch's own changes (92c1226..a09cc2e) onto main after #1099 and #1104 were squash-merged; telemetry/worker.ts, shared/telemetry.ts and deployed.json are unchanged from the deployed receiver.
devswha added a commit that referenced this pull request Oct 14, 2026
#1105)

Stacked on #1104 (itself on #1099); retarget to `main` once they merge.

## Change

The settings snapshot now covers every setting the app keeps after #1099
and #1104, so a later trim can be decided from data:

- **Added:** `paletteLight`, `paletteDark`, `uiFontSize` (11–20, or
`null` for the screen's size), `diffStyle`, and `usageOrderCustom`, a
yes/no for whether the usage meters' accounts were put in an order of
the user's own (the accounts themselves are never sent, as for
`usageHiddenCount`).
- **Dropped:** the nine fields #1099 and #1104 kept sending as fixed
values (`terminalCursorStyle`, `terminalCursorBlink`, `narrowPaneFont`,
`showSuggestionChip`, `usagePace`, `highlightCode`, `pageOverlapRows`,
`chatPageKeys`, `attachLimit`). No released version sends a snapshot yet
(0.4.8 still sends `changed_settings`), so nothing in the field breaks.
- `palette` accepts only the three palettes the app still has.
- `TelemetrySourceSettings` no longer exempts the four settings it
listed as "not collected", so a new setting still needs an explicit
decision.

## Deployed

- Production D1: `ALTER TABLE events ADD COLUMN settings TEXT`
(telemetry/README.md). The table now has `settings`; all 1967 existing
rows were kept, with `settings` NULL.
- Worker deployed from this branch (version `84a7f138`), and
`telemetry/deployed.json` updated with `bun scripts/release-guards.ts
--worker-deployed`. A malformed snapshot posted to the live endpoint is
refused with 400.

## Validation

- `bun run check fast`: generated types, typecheck and build pass. Its
unit run caught the hard-coded key count in `api.test.ts` (53 → 49);
after that fix, `bun run test:unit` passes 3584, 0 fail.
- `telemetry/worker.test.ts` (full snapshot, legacy `changed_settings`,
real-table INSERT and the README queries), `server/telemetry.test.ts`,
`settings.test.ts` and `release-guards.test.ts` pass.
devswha added a commit that referenced this pull request Oct 14, 2026
…age-key settings (#1110)

Docs-only follow-up to #1099, #1101 and #1104, from a post-merge review
of main 709fc70.

- DESIGN.md: drop the Contrast setting's stepper reset arrow and its
WCAG constraint bullet (the setting and its section went with #1099).
- DESIGN.md and the `SETTING_SCOPE` comment in `src/lib/settings.ts`:
code highlighting is no longer a shared setting (#1104 removed it).
- DESIGN.md: the plain chat page keys are always on, not opt-in (#1104).
- DESIGN.md: the pane header's ellipsis follows `any-pointer: coarse`,
matching #1101's touch-laptop fix.

No behavior change; no changelog fragment. Verified with `bun run
typecheck` and `HERDR_TEST_MODE=unit bun test ./src/conventions.test.ts
./scripts/conventions.test.ts` (0 fail).
devswha added a commit that referenced this pull request Oct 15, 2026
#863, #864, #869 and #870 edited CHANGELOG.md directly, so the fold did not link them; #863's entry named the Files at once setting that #1104 removed (the app now takes up to 100 files).
devswha added a commit that referenced this pull request Oct 15, 2026
#811 had landed under 0.4.7 by a merge; its entry now describes what survived #1104 (Mod+Shift+PageUp/PageDown, one line of overlap). The Hermes Stop note carries #1161, the held-input notes #972, and the folded message note no longer mentions Find, which #1140 removed.
aNNdii added a commit to aNNdii/herdr-web-ui that referenced this pull request Oct 16, 2026
…#1237) into next

Conflicts resolved in 24 files:
- Find in messages is gone upstream (devswha#1140): the comment-mode toggle takes its place at the
  chat's top right, and the transcript leaves room for it only while it shows.
- highlightCode is removed with upstream's settings cleanup (devswha#1104).
- The docked file panel (devswha#1224) gets the file comments: the dialog and the panel share the
  commentable body, the toggle and the viewer's props.
- submitNote/submitRefusal take upstream's `agent` first and the fork's `agentOnly` after it;
  SubmitOptions gains upstream's resendId/generation, so a held copy with comments resends
  agent-only under its resend id; the server's resend paths keep `typed: false`.
- Telemetry reports every setting except the fork's comment settings.
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