02f66a2
feat(lsp): start LSPs on demand, improve auto-start (#2103)
Click to expand commit body
* feat(lsp): start LSPs on demand, improve auto-start
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* refactor: simplify
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* chore: fmt
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* feat: handle new session/load session
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* refactor: manager holds client list reference
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: do io in cmd
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: better manager
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: nil
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: err
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: properly handle restart
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: add stopped state
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: root markers
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: load for read files as well
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* chore(go.mod): move indirect dependency to the right block
---------
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Co-authored-by: Andrey Nering <andreynering@users.noreply.github.com>
Carlos Alexandro Becker
and
Andrey Nering
created
0491b67
perf: timer leak in setupSubscriber (#2147)
Click to expand commit body
* fix: fix timer leak in setupSubscriber causing resource exhaustion under high load
* fix: synctest
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* test: improvements
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* refactor: tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
---------
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Co-authored-by: AnyCPU <AnyCPU@users.noreply.github.com>
Carlos Alexandro Becker
and
AnyCPU
created
fc9db05
feat: add clipboard image paste support (ctrl+v) (#2148)
Click to expand commit body
* feat: add clipboard image paste support (ctrl+v)
Port of #1151 to the new UI.
Assisted-by: Claude Opus 4.6 via Crush <crush@charm.land>
* fix: simplify
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: go mod tidy
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
---------
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* feat(mcp): resources support
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: log
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: mcp events
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* wip
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
---------
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
3a9d95d
fix(ui): use plain letters for lsp status (#2121)
Click to expand commit body
* fix(ui): use plain letters for lsp status
symbols might be wrongly interpreted by some terminals, so this might be a good idea
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* chore(ui): use consts for LSP symbols
* fix: missing icon usage
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
---------
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Co-authored-by: Christian Rocha <christian@rocha.is>
Carlos Alexandro Becker
and
Christian Rocha
created
f22a6f9
fix(ui): list: ensure the offset line does not go negative when scrolling up
Click to expand commit body
When scrolling up in the list, the offset line could become negative if
there was a gap between items. This change ensures that the offset line
is clamped to zero in such cases, preventing potential rendering issues.
This also adds a check to avoid unnecessary scrolling when already at
the bottom of the list. The calculation of item height has been
simplified by using strings.Count directly.
* fix(ui): width
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: simplify
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
---------
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Carlos Alexandro Becker
created
dd78d5d
chore(legal): @nickgrim has signed the CLA
* chore: update ui/agents.md
it should always do io inside a tea.cmd
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* Apply suggestion from @caarlos0
---------
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
needs https://github.com/charmbracelet/meta/pull/274
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Carlos Alexandro Becker
created
15a729c
fix(ui): only scroll to selected item if item collapsed
Ayman Bagabas
created
3bda767
fix(ui): ensure we anchor the chat view to the bottom when toggling (#2117)
Click to expand commit body
an item at the bottom of the chat
When toggling an item in the chat, if that item is at the bottom of the
chat, we want to ensure that we stay anchored to the bottom. This
prevents a gap from appearing at the bottom of the chat when toggling an
item that is currently selected and at the bottom.
* fix(ui): context percentage updates
When the agent is performing tasks, the context percentage in the header
was not updating correctly. This commit fixes the issue by ensuring that
the header always draws the context details.
* fix(ui): always turn off compact mode when going to landing state
Ayman Bagabas
created
112fea8
fix(ui): cursor mispositioned when pasting large blocks of text in textarea (#2113)
Ayman Bagabas
created
6ff14c1
chore(legal): @zhiquanchi has signed the CLA
3c8be69
fix: fix pasting files on some terminal emulators (#2106)
Click to expand commit body
* Check `WT_SESSION` instead of `GOOS` for Windows Terminal.
* Be more strict on Windows Terminal: do not allow chars outside quotes
(prevents false positives).
* Some terminals just paste the literal paths (Rio as separate events,
Kitty separated by a line break). If it contains valid path(s) for
existing file(s), just use that.
* Workaround Rio on Windows that adds NULL chars to the string.
optional transparent mode.
this is enabled by default on apple terminal as it doesn't reset
properly.
refs #1140
refs #1137
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
7c5d6ca
chore(styles): make rename style definitions match UI language
Christian Rocha
created
d4b9b35
chore(style): add specific style for session rename placeholder
Christian Rocha
created
0979bd3
fix(styles): increase text contrast in active session deletion item
Christian Rocha
created
ea8c39f
feat: add configurable timeout for LSP initialization (#2075)
Click to expand commit body
* feat: add configurable timeout for LSP initialization
Add a timeout field to LSPConfig to allow users to customize
the initialization timeout for LSP servers. This is particularly
useful for slow-starting servers like kotlin-language-server that
may require more than the default 30 seconds to initialize.
Fixes #1865
* refactor: simplify timeout logic with cmp.Or
Simplified the timeout handling by using Go's cmp.Or() function instead
of manual conditional checks, reducing code from 5 lines to 1 line while
maintaining the same functionality.
huaiyuWangh
created
e6a4896
fix(ui): ensure `%d Queued` text is visible (#2096)
Scroll the chat view to ensure that an expanded message item is fully
visible after toggling its expanded state. This improves user experience
by keeping the context of the expanded content in view.
Ayman Bagabas
created
b7e814a
chore(legal): @acmacalister has signed the CLA
Charm
created
56769bb
fix(ui): fix permissions dialog rendering on small windows (#2093)
Click to expand commit body
* Ensure the viewport content is at least 3 cells tall, to always be able
to render at least 1 line of content + 1 top and 1 bottom margin.
* Render in fullscreen as soon as we don't have enough space to render
buttons without wrapping.