Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
955d106
feat(tui): empty enter scrolls viewport to bottom
Jun 8, 2026
d7c3c91
fix(tui): also scroll to bottom on empty enter during running state
Jun 8, 2026
0914389
test(tui): add regression test for empty-enter scroll-to-bottom in bo…
Jun 8, 2026
e40a98e
fix(cli): disable codegraph in ACP session config test (#3663)
esengine Jun 9, 2026
da8b7b5
feat(desktop): build a Linux .deb package on release (#3634)
esengine Jun 9, 2026
9dd3bb3
fix(memory): handle forget failures in desktop (#3662)
paradoxSCH Jun 9, 2026
3047717
fix(rewind): fail loudly past a compacted boundary (#3598) + suffix-s…
esengine Jun 9, 2026
efa50ee
chore(ci): add Dependabot config and CodeQL code scanning (#3676)
esengine Jun 9, 2026
74c1483
chore(deps): bump the go group in /desktop with 5 updates (#3680)
dependabot[bot] Jun 9, 2026
8e60519
chore(deps-dev): bump @vitejs/plugin-react in /desktop/frontend (#3687)
dependabot[bot] Jun 9, 2026
270fcdd
chore(deps): bump astro from 5.18.2 to 6.4.4 in /site (#3684)
dependabot[bot] Jun 9, 2026
56fca8a
chore(ci): drop /npm/reasonix from Dependabot (#3692)
esengine Jun 9, 2026
0f4be9c
chore(deps): bump the actions group across 1 directory with 13 update…
dependabot[bot] Jun 9, 2026
f5b8923
chore(deps): bump react-markdown in /desktop/frontend (#3689)
dependabot[bot] Jun 9, 2026
450c000
chore(deps): bump lucide-react in /desktop/frontend (#3686)
dependabot[bot] Jun 9, 2026
8db604e
chore(deps): bump the go group across 1 directory with 3 updates (#3678)
dependabot[bot] Jun 9, 2026
24e00e2
test: structurally guard nil-deref so staticcheck SA5011 can't misfir…
esengine Jun 9, 2026
f9b6d57
fix(agent): allow pending todo signoff (#3673)
paradoxSCH Jun 9, 2026
1b7cdbe
fix(desktop): remove command text from approval rule buttons, causing…
CVEngineer66 Jun 9, 2026
3c32366
fix(control): don't auto-answer the ask tool in YOLO mode (#3624) (#3…
esengine Jun 9, 2026
4e0f7c2
feat(skill): add read_skill for loading inline skills in plan mode (#…
esengine Jun 9, 2026
b892ce2
fix(config): honor an explicit proxy for no_proxy providers like mimo…
esengine Jun 9, 2026
78dd9fa
ci: suppress staticcheck SA5011 false positives in test files (#3715)
esengine Jun 9, 2026
a8c7858
fix: reload persist rule into in-memory Policy immediately (#3716)
HorusJiang Jun 9, 2026
cb92a25
fix(serve): restore query helper (#3658)
paradoxSCH Jun 9, 2026
88d46c4
fix(dev): suppress pnpm TTY prompts and lockfile age checks in dev sc…
CVEngineer66 Jun 9, 2026
1658230
fix(setup): align custom provider base URL between wizard probe and c…
CnsMaple Jun 9, 2026
89aca79
fix(model): persist /model selection to user config.toml (#3671)
CnsMaple Jun 9, 2026
da31fd4
fix(desktop): keep Windows tray loop on locked OS thread (#3717)
wade19990814-hue Jun 9, 2026
32d3c3e
fix(tui): suspend cleanly on Ctrl+Z (#3697)
lizhengwu Jun 9, 2026
11a1378
fix(tui): keep plan mode on Esc; Ctrl+C copy beats clear (#3670)
CnsMaple Jun 9, 2026
d9bbf77
test: de-flake two windows-latest timing tests (#3726)
esengine Jun 9, 2026
c4e57e1
test(e2e): add subagent-delegation task that forces a `task` sub-agen…
esengine Jun 9, 2026
6a51e86
ci(e2e-bot): build with go.mod's Go version, not pinned 1.22 (#3731)
esengine Jun 9, 2026
568644d
Continue subagent transcripts (#3586)
lifu963 Jun 9, 2026
51811c1
fix(security): resolve open code-scanning alerts (archive extraction,…
esengine Jun 10, 2026
07de1b5
fix(desktop): strip controller-injected prefixes from chat display (#…
esengine Jun 10, 2026
a64c917
fix(provider): time out a stalled SSE stream instead of hanging (#337…
esengine Jun 10, 2026
137e3c6
fix(bash): reap the process group after a command completes (#3702) (…
esengine Jun 10, 2026
bdabda3
fix(codegraph): stop leaking detached MCP daemons and indexing the wh…
esengine Jun 10, 2026
061ac30
fix(desktop): convert \slashed to \not for KaTeX compatibility (#3750)
lightfront Jun 10, 2026
94e53a3
test(desktop): use single-backslash inputs in the slashed golden test…
esengine Jun 10, 2026
204eaf0
feat(desktop): themeable workspace UI, tool-approval modes, and /goal…
SivanCola Jun 10, 2026
e34e39b
fix(diff): compute the Myers n+m bound only when it can't overflow (#…
esengine Jun 10, 2026
f9c066c
fix(diff): clamp the Myers edit-distance operands to bound the alloca…
esengine Jun 10, 2026
1e7ed8d
feat(bot): add bot gateway with Feishu/Weixin/QQ adapters (#3763)
SivanCola Jun 10, 2026
44bd7de
fix(bot): require Feishu webhook token; split weixin account/login ou…
esengine Jun 10, 2026
769ae07
fix(diff): avoid input-derived Myers allocation arithmetic (#3777)
SivanCola Jun 10, 2026
bfb33d9
fix(desktop): stop auto-populating empty model lists from provider AP…
CVEngineer66 Jun 10, 2026
aaec56b
feat(tui): add Ctrl+Home/Ctrl+End shortcuts to scroll transcript view…
alxbnct Jun 10, 2026
a8daa48
chore(deps): bump react, react-dom and @types/react in /desktop/front…
dependabot[bot] Jun 10, 2026
4eb6804
feat(control): extract text from PDF attachments / 提取 PDF 附件文本 (#3618)
SivanCola Jun 10, 2026
3ed47e2
Split new and clear session flows (#3780)
SivanCola Jun 10, 2026
f52db0e
fix desktop workspace session isolation (#3029)
GTC2080 Jun 10, 2026
7158419
fix(proc): reap codegraph's process tree off Windows via process grou…
esengine Jun 10, 2026
940fd29
fix(desktop): make the frontend typecheck under TypeScript 6 (#3791)
esengine Jun 10, 2026
783a241
chore(deps-dev): bump typescript in /desktop/frontend (#3691)
dependabot[bot] Jun 10, 2026
fcaf2ea
chore(deps-dev): bump @types/react-dom to 19 to match @types/react (#…
esengine Jun 10, 2026
94f68f5
Follow up desktop UI fixes after PR #3752 merge / 补入 #3752 合并后的桌面 UI …
SivanCola Jun 10, 2026
cda297e
fix(tui): return pendingModelSwitch after skill delete to unblock Ent…
LVGG Jun 10, 2026
9c27893
fix(desktop): model selector dropdown scroll and tooltip for truncate…
Li-Charles-One Jun 10, 2026
3311115
fix(desktop): add reveal-in-file-manager to workspace context menu (#…
Li-Charles-One Jun 10, 2026
da78bed
refactor(desktop): extract goal-draft collaboration-mode helpers (#3802)
esengine Jun 10, 2026
4e46b37
fix(fileref): restore fuzzy @file search for nested paths
SuMuxi66 Jun 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
version: 2
updates:
- package-ecosystem: "gomod"
directory: "/"
schedule:
interval: "weekly"
open-pull-requests-limit: 5
groups:
go:
patterns: ["*"]
update-types: ["minor", "patch"]

- package-ecosystem: "gomod"
directory: "/desktop"
schedule:
interval: "weekly"
open-pull-requests-limit: 5
groups:
go:
patterns: ["*"]
update-types: ["minor", "patch"]

- package-ecosystem: "npm"
directory: "/desktop/frontend"
schedule:
interval: "weekly"
open-pull-requests-limit: 5
groups:
npm:
patterns: ["*"]
update-types: ["minor", "patch"]

- package-ecosystem: "npm"
directory: "/site"
schedule:
interval: "weekly"
open-pull-requests-limit: 5
groups:
npm:
patterns: ["*"]
update-types: ["minor", "patch"]

- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
groups:
actions:
patterns: ["*"]
32 changes: 16 additions & 16 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ jobs:
os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- uses: actions/setup-go@v5
- uses: actions/setup-go@v6
with:
go-version-file: go.mod
cache: true
Expand Down Expand Up @@ -58,9 +58,9 @@ jobs:
race:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- uses: actions/setup-go@v5
- uses: actions/setup-go@v6
with:
go-version-file: go.mod
cache: true
Expand All @@ -79,20 +79,20 @@ jobs:
run:
working-directory: desktop
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- uses: actions/setup-go@v5
- uses: actions/setup-go@v6
with:
go-version-file: desktop/go.mod
cache: true
cache-dependency-path: desktop/go.sum

- uses: pnpm/action-setup@v4
- uses: pnpm/action-setup@v6
with:
version: 10
run_install: false

- uses: actions/setup-node@v4
- uses: actions/setup-node@v6
with:
node-version: "24"
cache: pnpm
Expand Down Expand Up @@ -145,15 +145,15 @@ jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- uses: actions/setup-go@v5
- uses: actions/setup-go@v6
with:
go-version-file: go.mod
cache: true

- name: golangci-lint
uses: golangci/golangci-lint-action@v7
uses: golangci/golangci-lint-action@v9
with:
version: v2.12.2
args: --timeout=5m
Expand All @@ -162,9 +162,9 @@ jobs:
runs-on: ubuntu-latest
continue-on-error: true # informational — stdlib vulns need a Go patch release
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- uses: actions/setup-go@v5
- uses: actions/setup-go@v6
with:
go-version-file: go.mod
cache: true
Expand All @@ -178,9 +178,9 @@ jobs:
coverage:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- uses: actions/setup-go@v5
- uses: actions/setup-go@v6
with:
go-version-file: go.mod
cache: true
Expand All @@ -189,7 +189,7 @@ jobs:
run: go test -coverprofile=coverage.out -covermode=atomic ./...

- name: upload coverage
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: coverage-report
path: coverage.out
Expand Down
40 changes: 40 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: CodeQL

on:
push:
branches: ["main-v2"]
pull_request:
branches: ["main-v2"]
schedule:
- cron: "27 3 * * 1"

jobs:
analyze:
name: Analyze (${{ matrix.language }})
runs-on: ubuntu-latest
permissions:
security-events: write
packages: read
actions: read
contents: read
strategy:
fail-fast: false
matrix:
include:
- language: go
build-mode: autobuild
- language: javascript-typescript
build-mode: none
- language: actions
build-mode: none
steps:
- uses: actions/checkout@v6
- name: Initialize CodeQL
uses: github/codeql-action/init@v4
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v4
with:
category: "/language:${{ matrix.language }}"
23 changes: 17 additions & 6 deletions .github/workflows/e2e-bot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,14 @@ jobs:
contains(github.event.comment.body, '/e2e') &&
contains(fromJSON('["OWNER","MEMBER","COLLABORATOR"]'), github.event.comment.author_association)
runs-on: ubuntu-latest
# Running PR-head code with the provider secret is gated twice: the author_
# association check above, and this deployment environment. Configure the
# `e2e-bot` environment with required reviewers in repo settings to force a
# human approval per run (actions/untrusted-checkout-toctou).
environment: e2e-bot
steps:
- name: Acknowledge
uses: actions/github-script@v7
uses: actions/github-script@v9
with:
script: |
await github.rest.reactions.createForIssueComment({
Expand All @@ -37,16 +42,16 @@ jobs:

# Default-branch checkout: this is where the harness (cmd/e2ebench), the
# suite, and a run --metrics-capable agent live.
- uses: actions/checkout@v4
- uses: actions/checkout@v6
with:
fetch-depth: 0

- uses: actions/setup-go@v5
- uses: actions/setup-go@v6
with:
go-version: '1.22'
go-version-file: go.mod
cache: true

- uses: actions/setup-python@v5
- uses: actions/setup-python@v6
with:
python-version: '3.12'

Expand All @@ -62,7 +67,13 @@ jobs:
- name: Check out the PR head
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: gh pr checkout ${{ github.event.issue.number }}
# Pin to the head commit resolved now and check it out detached, not the
# mutable PR ref: a force-push mid-run can't swap in different code after
# the trusted-author gate passed.
run: |
SHA=$(gh pr view ${{ github.event.issue.number }} --json headRefOid -q .headRefOid)
git fetch -q origin "$SHA"
git checkout -q --detach "$SHA"

- name: Build the agent from the PR head
# The whole point of the bot is to drive the PR's code, not main-v2's. Fall
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/issue-auto-label.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
classify:
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v7
- uses: actions/github-script@v9
env:
DEEPSEEK_API_KEY: ${{ secrets.DEEPSEEK_API_KEY }}
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/issue-version-label.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
label:
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v7
- uses: actions/github-script@v9
with:
script: |
const body = context.payload.issue.body || '';
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: '22'
cache: npm
Expand All @@ -30,7 +30,7 @@ jobs:
run: |
npm ci
npm run build
- uses: actions/upload-pages-artifact@v3
- uses: actions/upload-pages-artifact@v5
with:
path: site/dist

Expand All @@ -42,4 +42,4 @@ jobs:
url: ${{ steps.deploy.outputs.page_url }}
steps:
- id: deploy
uses: actions/deploy-pages@v4
uses: actions/deploy-pages@v5
2 changes: 1 addition & 1 deletion .github/workflows/pr-auto-label.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,6 @@ jobs:
label:
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v5
- uses: actions/labeler@v6
with:
sync-labels: false
2 changes: 1 addition & 1 deletion .github/workflows/pr-version-label.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
label:
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v7
- uses: actions/github-script@v9
with:
script: |
const base = context.payload.pull_request.base.ref;
Expand Down
Loading