Synced from monorepo

Synced from monorepo

Changes:
- grok-shell: send an expired external-provider credential to the sign-in flow, not a 401 loop
- pager: clickable ▲ jumps to the top of the response being read
- grok-shell: keep a large task log from making the completion message too long
- Plan viewer scrollbar: widen grab zone to the border column; fix striped thumb in Terminal.app
- pager: poll the tmux probe teardown grace instead of sleeping it
- security: vendor-compat MCP kill switch is now actually enforced when reported as on
- grok-shell: restore session eviction when a leader client disconnects
- Bump rust-toolchain to 1.93.0
- workspace: lexical-normalize permission path patterns before glob matching
- pager: reject garbage Enter in the /resume picker
- pager: show Mermaid affordances in plan mode preview
- pager: drop manage-account link from /session-info
- workspace: auto-approve read-only git queries; defer write floor to auto classifier
- Add free-form pattern editor to the "Always allow" command prompt
- grok-shell: fix /btw caching
- pager: Tab walks answers in the ask_user_question card
- External-provider auth refresh: single 7s attempt instead of 3×5s
- pager: don't resurrect finished background tasks as Running when completion arrives first
- pager: report tmux truecolor clamping in Doctor
- Fix plan viewer scrollbar click+drag hijacked by comment gutter
- pager/shell: stop double Recap after the same last turn
- sampler: preserve x-should-retry through stream collection
- pager: clear plan-mode indicator immediately when the user approves a plan
- pager: tmux does not re-read its config on reattach

Source-Revision: 64c4de99cc822b25ce9c54ab5a4f372093d0885d
This commit is contained in:
grokkybara[bot] 2026-08-03 08:17:57 +00:00
commit 780d1388ff
323 changed files with 12258 additions and 7226 deletions

View file

@ -115,8 +115,8 @@ pub fn extract_styled_line(
// Determine the character to emit.
let is_cursor = cursor.row == line_number && cursor.col == col_idx + 1;
let ch = if is_cursor && opts.cursor_char.is_some() {
opts.cursor_char.unwrap()
let ch = if is_cursor && let Some(cursor_char) = opts.cursor_char {
cursor_char
} else {
cell.c
};

View file

@ -274,8 +274,8 @@ impl Terminal {
// Replace cursor position if requested.
let is_cursor = cursor.row == line_idx + 1 && cursor.col == col_idx + 1;
if is_cursor && opts.cursor_char.is_some() {
text.push(opts.cursor_char.unwrap());
if is_cursor && let Some(cursor_char) = opts.cursor_char {
text.push(cursor_char);
} else {
text.push(cell.c);
if let Some(zw) = cell.zerowidth() {