Skip to content

Editor: fix Buffer Carousel, split diff, and AI selector issues#604

Open
Finesssee wants to merge 12 commits intoathasdev:masterfrom
Finesssee:fix/AI-selecting-model
Open

Editor: fix Buffer Carousel, split diff, and AI selector issues#604
Finesssee wants to merge 12 commits intoathasdev:masterfrom
Finesssee:fix/AI-selecting-model

Conversation

@Finesssee
Copy link
Copy Markdown
Contributor

@Finesssee Finesssee commented Apr 12, 2026

Summary

This PR now reflects the full set of fixes carried on this branch, including the original CROF/editor cleanup items plus the AI provider/model selector follow-up.

What changed

  • Buffer Carousel
    • made the setting easier to discover with a visible Learn more help chip
    • improved carousel centering so it only scrolls when the target card is actually out of view
    • added a new Focus Buffer on Hover setting, defaulting to off
    • dim inactive carousel cards so the active buffer is easier to pick out
    • expanded Settings search terms for the carousel options
  • Embedded web viewer on Linux
    • switched Linux embedded webviews to a child-webview path built with wry
    • moved creation, resize, visibility, zoom, metadata, and shortcut polling onto the Linux embedded path
    • updated the frontend bounds/visibility sync so embedded pages stay aligned with their container and avoid flicker when switching buffers
  • AI settings and chat flow
    • fixed the provider/model selector positioning inside the settings dialog
    • made the selector roomier and kept its dropdown constrained to the dialog instead of the full viewport
    • kept provider and model changes in sync when selecting a model from another provider
    • prevented stale dynamic-model refreshes from overwriting the current selection
    • cleaned up ACP thinking-state rendering so long-running thought activity updates in place instead of duplicating rows
    • excluded agent buffers from saved/restored chat context selection
    • opening the agent from the empty editor state now starts a fresh chat first
  • LSP startup reporting
    • surfaced startup failures more clearly in the editor-side reporting flow
    • fixed JS language-server detection when the installed server is a symlinked bin wrapper, which fixes the RPM/Linux launch case
  • Git split diff and status panel
    • fixed split diff spacer rendering so hidden-side rows get the right muted gutter/background treatment
    • corrected split diff line-number mapping for context lines
    • split the status panel into clearer Staged, Unstaged, and Untracked sections with counts
    • fixed optimistic stage/unstage state so files that appear in both staged and unstaged groups do not collapse into the wrong row state
  • Markdown viewer
    • fixed ordered lists so numbering survives blank lines instead of restarting
    • loosened heading spacing so rendered markdown is easier to scan
  • Terminal and shortcuts
    • made terminal launch commands reliable by waiting for real shell output before dispatching the initial command, with a fallback timer if the shell stays silent
    • wired create-terminal-with-command through the same initial-command path
    • restored sidebar navigation shortcuts for Show Files and Show Git
    • added support for cmd+shift+= alongside cmd+= for zoom in
    • gave terminal zoom-out finer intermediate steps without changing editor zoom behavior
  • Misc
    • ignored local .pi/ and .tmp/ scratch directories

Test coverage

  • added regression tests for:
    • AI ACP event timeline updates
    • chat context buffer eligibility
    • LSP startup reporting
    • markdown ordered-list parsing
    • split diff marking and status-panel optimistic staging
    • AI provider/model selection
    • terminal initial-command dispatch
    • zoom-store behavior

Notes

  • This description replaces the earlier partial-scope note. The body now matches the work that is actually present in this PR branch.

Finesssee and others added 10 commits April 13, 2026 01:37
Add an info tooltip to the Buffer Carousel setting explaining
what the feature does. Inactive carousel cards now show a dimmed
overlay instead of feeling completely hidden. A new "Focus Buffer
on Hover" toggle (off by default) controls whether hovering a
card activates it, replacing the previous always-on behavior.
Clicking a card scrolls it fully into view when it is partially
cropped. Buffer Carousel is mentioned in the v0.4.5 release
notes.
Embedded webview (issues 8, 9):
- Use the calling window from command context instead of
  hardcoding "main", fixing multi-window support and Linux
  positioning where the lookup could fail.
- Switch visibility toggle to useLayoutEffect so hides are
  dispatched before paint, reducing flicker when switching
  between browser and filediff buffers.
- Delay showing by one animation frame to let the DOM settle
  after a tab switch.

Markdown preview (issues 16, 18):
- Increase heading top margins (h1 1.2em, h2 1.0em, h3 0.85em,
  h4 0.75em, h5/h6 0.65em) for clearer section separation.
- Emit <ol start="N"> using the source number so ordered lists
  that get interrupted by non-list content continue numbering
  correctly instead of restarting from 1.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Build Linux webviews as child windows so browser panels stay inside the
editor chrome instead of rendering underneath it.
Move LSP startup diagnostics into toast reporting so failures surface with
the full message.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Keep provider and model selection in sync across providers, clamp the
selector inside settings, and ignore stale dynamic model refreshes.
Also keep agent buffers out of context collection and smooth the history
and event timeline interactions.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Separate staged state handling from file grouping so git changes update more
predictably across the sidebar and diff buffer.
Restore Files and Git shortcuts and align zoom steps with the updated
defaults.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Delay initial command dispatch until the shell is ready and reuse that flow
when reconnecting terminals from the top bar.
Keep the new dispatcher logic covered with targeted regression tests.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Keep local .pi and .tmp artifacts out of the worktree so they do not leak
into review or block repository sync.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Cover ordered lists separated by blank lines so the viewer keeps the
expected HTML structure during future parser changes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Merge upstream/master after resolving conflicts around the AI selector,
terminal launch flow, markdown rendering, and LSP startup reporting while
preserving the local fixes that were already validated.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Drop the unused providerOptions memo left behind by the upstream merge so
the settings tab stays lint-clean.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@mehmetozguldev mehmetozguldev self-requested a review April 12, 2026 22:27
@Finesssee Finesssee changed the title Fix confirmed CROF issues and AI selector behavior Fix buffer carousel, split diff, and AI selector issues Apr 12, 2026
@Finesssee Finesssee changed the title Fix buffer carousel, split diff, and AI selector issues Editor: fix buffer carousel, split diff, and AI selector issues Apr 12, 2026
Make split diff spacer rows render with a muted fill instead of looking
like real context lines, and keep left-side context line mapping aligned
with old-file line numbers.
Also detect JavaScript language servers through .bin symlinks so Fedora
RPM installs launch them with Athas managed Node runtime.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@Finesssee Finesssee changed the title Editor: fix buffer carousel, split diff, and AI selector issues Editor: fix Buffer Carousel, split diff, and AI selector issues Apr 13, 2026
Make the Buffer Carousel setting use a visible Learn more help chip
so the layout change is easier to discover without hunting for a tiny
info icon.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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