Commit log

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

Charm created

8b30fad chore: auto-update files

Charm created

2bcc97b chore(lint): fix some small lint warnings (#2488)

Bruno Krugel created

0e640a1 fix(lsp): respect lsp auto start config (#2487)

Bruno Krugel created

8e743cb fix(event): prevent panic on non-string telemetry keys (#2502)

iceymoss created

086d839 v0.53.0

Andrey Nering created

6efc370 chore: update catwalk

Andrey Nering created

4501438 fix(ui): always clean up external editor temp file (#2503)

iceymoss created

da39f6f docs(readme): add q&a section and note about clipboard support (#2509)

Andrey Nering created

1f9f122 test(diffview): update test fixtures

Andrey Nering created

e7a4146 fix(diffview): use `udiff.Lines` and not `udiff.Strings`

Andrey Nering created

49b6b58 chore(legal): @srivilliamsai has signed the CLA

Charm created

65b9ea5 chore(taskfile): add one more file to dependencies

Andrey Nering created

a81a652 feat(ui): variable height prompt input field (#2468)

Christian Rocha created

2928dcb fix: append error tool message when tool call is cancelled (#2492)

Click to expand commit body
When a user cancels a tool call by pressing Esc twice, the assistant
message with tool_calls was remaining in the conversation history but
no tool response followed. This caused 400 Bad Request errors from
model providers on the next message.

The fix uses the parent context (ctx) instead of the request context
(genCtx) when updating messages during tool call tracking and tool
result creation. This ensures that even if the request is cancelled
mid-stream, the message updates and creations succeed.

Additionally, the error message was updated from 'Tool execution
canceled by user' to 'Error: user cancelled assistant tool calling'
to better indicate the cancellation occurred during the assistant
tool calling phase.

Fixes #529
Fixes #1206

Chris Chen created

4a3df1e fix(dialog): use valid key binding name for OAuth success state (#2491)

Click to expand commit body
Replace invalid "finish" key name with "enter" in the OAuth success
state key binding. "finish" is not a valid key name in the key package,
while "enter" is consistent with other key bindings in the codebase
and matches the help text shown to users.

huaiyuWangh created

dd7b58d fix: enhance session title prompt to fix language issue (#2497)

Click to expand commit body
* Closes #2495

Andrey Nering created

71ddb7a chore(legal): @iceymoss has signed the CLA

Charm created

0525f01 chore(legal): @fuleinist has signed the CLA

Charm created

c233604 v0.52.0

Andrey Nering created

06cf63f fix: session titles should keep the same spoken language

Andrey Nering created

ffff334 test: re-record vcr cassettes after system prompt change

Andrey Nering created

2325de7 fix(system-prompt): tell the model to respond in the prompt spoken language

Andrey Nering created

d89120c fix(hyper): ensure it's possible to override with `HYPER_URL`

Andrey Nering created

18e1df4 chore(deps): update fantasy and catwalk (#2485)

Andrey Nering created

0f5df9b feat(bash): set `CRUSH=1`, `AGENT=crush` and `AI_AGENT=crush` (#2484)

Click to expand commit body
These ENVs can be used by tools to detect if they are being executed
by Crush, via the Bash tool.

Andrey Nering created

f67fa35 feat(ui): prioritize filename-based completion ranking

wanghuaiyu@qiniu.com created

09da90a docs(ui): add comprehensive comments to completion ranking algorithm

Click to expand commit body
Add detailed documentation to improve code review experience:
- Explain scoring weights and their rationale
- Document the ranking strategy and workflow
- Clarify path hint detection heuristics
- Add examples to helper functions
- Document test cases with their intent

wanghuaiyu@qiniu.com created

0fcf79b feat(ui): improve file completion ranking algorithm

Click to expand commit body
Implement custom ranking algorithm for file completions to provide
better matching results based on user input patterns.

Changes:
- Add intelligent path hint detection to distinguish between filename
  and filepath queries
- Implement weighted scoring system that balances fuzzy matching with
  prefix/contains bonuses
- Support both full path and basename matching with appropriate weights
- Add depth penalty adjustment based on query type
- Select match highlights based on weighted contribution
- Add comprehensive test coverage for ranking logic

wanghuaiyu@qiniu.com created

697fad9 fix: complete file picker dialog action (#2483)

Click to expand commit body
- Add DialogID field to file picker command in commands.go
- Add FilePickerID case handler in openDialog function
- Remove TODO comment and complete implementation

huaiyuWangh created

0e3d472 docs(readme): update skill docs with updates and new paths

Andrey Nering created

1a0b638 chore: update generated `.crush/.gitignore` to not ignore skills

Andrey Nering created

cd5c937 feat: load project skills automatically from `.crush/skills` and more

Andrey Nering created

db043c3 fix: on windows, also load skills from `$HOME/.config/crush/skills`

Andrey Nering created

ffc7a9d fix(log): don't conflate body drain errors with HTTP errors

Christian Rocha created

6920cf1 chore(lint): modernize interfaces in the db package

Christian Rocha created

ec48103 v0.51.3

Andrey Nering created

e7b57ef ci(cla): revert commit title change

Andrey Nering created

f9cb29f chore(legal): @malikwirin has signed the CLA in $pullRequestNo

Charm created