fccf061
fix(app): derive shutdown context from `context.Background()` instead of cancelled `globalCtx` (#2242)
M1xA
created
85445d7
fix(ui): subscribe to `app.LSPEvent` instead of `workspace.LSPEvent` (#2565)
Click to expand commit body
Fix LSP UI display broken in v0.55.0. The UI was still subscribing
to workspace.LSPEvent after the event type was moved to the app
package, causing LSP status to never update in the UI.
Changes:
- internal/ui/model/ui.go: Subscribe to app.LSPEvent; use app.GetLSPStates()
- internal/ui/model/lsp.go: Use app.LSPClientInfo type for LSPInfo embedding
and sorting (fields are identical to workspace.LSPClientInfo)
Fixes charmbracelet/crush#2560
59943a8
feat: open Hyper auth dialog automatically on unauthorized error
Click to expand commit body
When Hyper returns a 401, publish a TypeReAuthenticate notification so the
UI opens the OAuth dialog. Also fix coordinator.isUnauthorized to recognize
hyper.ErrUnauthorized for auto-refresh.
💘 Generated with Crush
Assisted-by: Z.ai: GLM 5.1 via Crush <crush@charm.land>
741c18a
fix: support local models with unknown max_tokens and context window (#2554)
Click to expand commit body
Two fixes for local/custom model compatibility (LM Studio, Ollama, llama.cpp):
1. Don't send MaxOutputTokens when it's 0. Custom models not in the
catwalk providers list have DefaultMaxTokens=0, which gets sent as
max_tokens:0 in the API request. LM Studio rejects this with
"maxPredictedTokens does not satisfy the schema". Fix: only send
the field when the value is positive.
2. Skip auto-summarize when ContextWindow is 0. Custom models have
ContextWindow=0, making remaining tokens negative, which immediately
triggers summarize after the first response. The session resets with
"previous session was interrupted because it got too long" even for
short conversations. Fix: skip the check when context window is
unknown.
Fixes #1218 (regression), relates to #1583, #1591
Kartik33
created
6d046c2
chore(legal): @shahidshabbir-se has signed the CLA
Charm
created
d10e765
chore(legal): @avianion has signed the CLA
I found Crush was often both too verbose and too terse than I'd like in
different ways when generating the AGENTS.md. This is an attempt to
improve the relevancy of the information it mentions.
As just one example, tabs vs spaces is obvious from the first file read,
so mentioning that style preference in AGENTS.md just wastes tokens.
Since adding this line, I haven't noticed it including trivial details
like that!
Though I've been using this since Dec 20 and liking it, I've mostly used
it and had good results with Claude models. I've not tried it with GPT
or GLM or others yet.
Amolith
created
cda2719
fix(commands): add timeout context for MCP prompt retrieval (#2517)
Click to expand commit body
The GetMCPPrompt function was using context.Background() without any
timeout, which could cause the request to hang indefinitely. Since
tea.Cmd doesn't support context passing, we add a 30-second timeout
as a safeguard, consistent with the pattern used in OAuth modules.
Assisted-by: GLM-5 via Crush <crush@charm.land>
iceymoss
created
97c9f4b
refactor(ui): replace hardcoded cursor offset with style-based calculation (#2530)
Click to expand commit body
Remove FIXME workaround in onboarding dialogs that used hardcoded
cur.Y -= 1 / cur.X -= 1 to adjust cursor position. Extract a new
AdjustOnboardingInputCursor helper that computes the correct offset
from Dialog.View border/padding/margin, eliminating code duplication
between api_key_input.go and models.go.
huaiyuWangh
created
f416931
fix: conditionally show image keybindings based on model support (#2522)
huaiyuWangh
created
5cf6e5a
fix(taskfile): fix syntax error on task `run:onboarding`
Andrey Nering
created
73c2a9d
fix: skip non-existent command dirs instead of creating them (#2534)
Click to expand commit body
Check if the command source directory exists before walking it.
If it doesn't exist, return early with no commands instead of
auto-creating it via MkdirAll. Remove the now-unused ensureDir
helper.
Fixes #2526
Signed-off-by: majiayu000 <1835304752@qq.com>
lif
created
42c8bcc
fix: do not commit `.crush/.gitignore` (#2531)
Click to expand commit body
Having a `.crush/.gitignore` showing on `git diff` just because you
started Crush on a directory is annoying.
Having the file there is enough. We don't want to commit it.
Andrey Nering
created
5d86c0f
chore(legal): @owldev127 has signed the CLA
Charm
created
c05e1ea
chore(legal): @afsuyadi has signed the CLA
Charm
created
12da61f
chore(legal): @majiayu000 has signed the CLA
Charm
created
142aca3
chore(deps): bump the all group with 6 updates (#2529)
Click to expand commit body
Bumps the all group with 6 updates:
| Package | From | To |
| --- | --- | --- |
| [charm.land/catwalk](https://github.com/charmbracelet/catwalk) | `0.32.0` | `0.32.1` |
| [github.com/go-git/go-git/v5](https://github.com/go-git/go-git) | `5.17.0` | `5.17.1` |
| [github.com/lucasb-eyer/go-colorful](https://github.com/lucasb-eyer/go-colorful) | `1.3.0` | `1.4.0` |
| [github.com/ncruces/go-sqlite3](https://github.com/ncruces/go-sqlite3) | `0.33.0` | `0.33.2` |
| [github.com/posthog/posthog-go](https://github.com/posthog/posthog-go) | `1.11.1` | `1.11.2` |
| [modernc.org/sqlite](https://gitlab.com/cznic/sqlite) | `1.47.0` | `1.48.0` |
Updates `charm.land/catwalk` from 0.32.0 to 0.32.1
- [Release notes](https://github.com/charmbracelet/catwalk/releases)
- [Commits](https://github.com/charmbracelet/catwalk/compare/v0.32.0...v0.32.1)
Updates `github.com/go-git/go-git/v5` from 5.17.0 to 5.17.1
- [Release notes](https://github.com/go-git/go-git/releases)
- [Commits](https://github.com/go-git/go-git/compare/v5.17.0...v5.17.1)
Updates `github.com/lucasb-eyer/go-colorful` from 1.3.0 to 1.4.0
- [Release notes](https://github.com/lucasb-eyer/go-colorful/releases)
- [Changelog](https://github.com/lucasb-eyer/go-colorful/blob/master/CHANGELOG.md)
- [Commits](https://github.com/lucasb-eyer/go-colorful/compare/v1.3.0...v1.4.0)
Updates `github.com/ncruces/go-sqlite3` from 0.33.0 to 0.33.2
- [Release notes](https://github.com/ncruces/go-sqlite3/releases)
- [Commits](https://github.com/ncruces/go-sqlite3/compare/v0.33.0...v0.33.2)
Updates `github.com/posthog/posthog-go` from 1.11.1 to 1.11.2
- [Release notes](https://github.com/posthog/posthog-go/releases)
- [Changelog](https://github.com/PostHog/posthog-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/posthog/posthog-go/compare/v1.11.1...v1.11.2)
Updates `modernc.org/sqlite` from 1.47.0 to 1.48.0
- [Changelog](https://gitlab.com/cznic/sqlite/blob/master/CHANGELOG.md)
- [Commits](https://gitlab.com/cznic/sqlite/compare/v1.47.0...v1.48.0)
---
updated-dependencies:
- dependency-name: charm.land/catwalk
dependency-version: 0.32.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: all
- dependency-name: github.com/go-git/go-git/v5
dependency-version: 5.17.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: all
- dependency-name: github.com/lucasb-eyer/go-colorful
dependency-version: 1.4.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: all
- dependency-name: github.com/ncruces/go-sqlite3
dependency-version: 0.33.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: all
- dependency-name: github.com/posthog/posthog-go
dependency-version: 1.11.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: all
- dependency-name: modernc.org/sqlite
dependency-version: 1.48.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: all
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
dependabot[bot]
and
dependabot[bot]
created
561d647
chore(deps): bump the all group with 2 updates (#2528)
Click to expand commit body
Bumps the all group with 2 updates: [actions/setup-go](https://github.com/actions/setup-go) and [github/codeql-action](https://github.com/github/codeql-action).
Updates `actions/setup-go` from 6.3.0 to 6.4.0
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/4b73464bb391d4059bd26b0524d20df3927bd417...4a3601121dd01d1626a1e23e37211e3254c1c06c)
Updates `github/codeql-action` from 4.34.1 to 4.35.1
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/38697555549f1db7851b81482ff19f1fa5c4fedc...c10b8064de6f491fea524254123dbe5e09572f13)
---
updated-dependencies:
- dependency-name: actions/setup-go
dependency-version: 6.4.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: all
- dependency-name: github/codeql-action
dependency-version: 4.35.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: all
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
dependabot[bot]
and
dependabot[bot]
created
664aae7
fix(csync): use pointer receiver for JSONSchemaAlias (#2521)
Click to expand commit body
Change JSONSchemaAlias receiver from value to pointer for consistency
with other Map methods that use pointer receivers for interface
satisfaction.
huaiyuWangh
created
1e96467
chore(legal): @Dexterity104 has signed the CLA