520 Commits
Author SHA1 Message Date
YHH cca093601b Merge pull request #13915 from esengine/perf/progress-tail-window
perf(studio): a running command keeps only the end of its output in the page and says how much came before
2026-10-19 00:48:38 -07:00
esengine 0c5e8e2264 feat(studio): a finished call's long output is kept as its two ends in the page and fetched whole from the kernel on request 2026-10-19 00:22:56 -07:00
esengine 47bf3ce5db perf(studio): a running command keeps only the end of its output in the page and says how much came before 2026-10-19 00:03:23 -07:00
esengine 675c093dbc perf(studio): a finished sub-agent card mounts its child calls only while it is open 2026-10-18 23:01:20 -07:00
esengine bd9df22bc6 feat(studio): a conversation out of sight that is asking whether to trust its folder is marked as waiting in the sidebar 2026-10-18 22:11:28 -07:00
YHH 45c763ce15 Merge pull request #13814 from esengine/fix/shell-mode-stuck
fix(studio): a refused ! command stays selected in the box so the next message replaces it
2026-10-18 13:36:21 -07:00
esengine ad7e7f835f fix(studio): two model services on one host and different ports are two services, and a duplicate is never dropped from the list 2026-10-18 09:58:38 -07:00
esengine d294509df6 docs(release): the Git panel 2026-10-18 07:27:42 -07:00
YHH 6b8928a8c3 Merge pull request #13782 from esengine/a5/appimage
feat(release): build and verify an AppImage of Studio on Linux (download only)
2026-10-18 07:08:12 -07:00
esengine 14ea889c81 Merge remote-tracking branch 'origin/studio' into a5/appimage 2026-10-18 06:46:34 -07:00
esengine d73352f4a6 test(acp): drive the agent with the official SDK and hold its output to the shipped schema 2026-10-18 06:44:42 -07:00
esengine 7533a016b2 feat(studio): a settings switch for asking about text copied from outside 2026-10-18 05:27:12 -07:00
esengine 0556027a94 fix(studio): a refused ! command stays selected in the box so the next message replaces it 2026-10-18 05:18:25 -07:00
dependabot[bot] 0cf0d10c2a chore(deps): bump the actions group with 2 updates
Bumps the actions group with 2 updates: [github/codeql-action/init](https://github.com/github/codeql-action) and [github/codeql-action/analyze](https://github.com/github/codeql-action).


Updates `github/codeql-action/init` from 4.38.3 to 4.39.0
- [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/24c54180a607b1449ed407dd24f251e4e9147c8d...6f2ac81f5cd81fe351a197ba0b00d91d03cd2aee)

Updates `github/codeql-action/analyze` from 4.38.3 to 4.39.0
- [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/24c54180a607b1449ed407dd24f251e4e9147c8d...6f2ac81f5cd81fe351a197ba0b00d91d03cd2aee)

---
updated-dependencies:
- dependency-name: github/codeql-action/init
  dependency-version: 4.39.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
- dependency-name: github/codeql-action/analyze
  dependency-version: 4.39.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <[email protected]>
2026-10-18 11:56:46 +00:00
esengine d136ac2828 feat(release): build and verify an AppImage of Studio on Linux (download only) 2026-10-18 03:25:38 -07:00
esengine 2cf8510775 test(desktop): the mod UI guard, release note and the strip's focus-ring room 2026-10-18 03:00:12 -07:00
YHH d70edac126 Merge pull request #13737 from esengine/feat/session-move-import
feat(studio): move a conversation to another project, carrying the conversation and not what the old project allowed
2026-10-18 02:11:57 -07:00
esengine 00ecd029d4 feat(studio): the browser and workbench can be viewed full screen with the conversation folded away 2026-10-18 01:23:09 -07:00
esengine cf745b383c feat(studio): move a conversation to another project, carrying the conversation and not what the old project allowed 2026-10-17 23:13:36 -07:00
esengine f821e2be49 feat(studio): move a conversation up or down in its project's list, kept by the kernel 2026-10-17 22:40:36 -07:00
esengine 4618349369 Merge origin/studio into fix/rail-hit-first-click 2026-10-17 21:48:03 -07:00
YHH 8c311b02bd Merge pull request #13708 from esengine/feat/13687-session-reference
feat(studio): reference a past conversation of this workspace from the message box
2026-10-17 21:27:41 -07:00
esengine 4d2c7cd4d0 fix(studio): the rail search box stays open while it holds a query, so the first press on a result is a click 2026-10-17 20:48:09 -07:00
esengine ec8a91e1e1 feat(studio): reference a past conversation of this workspace from the message box 2026-10-17 20:22:18 -07:00
esengine e24b481e40 fix(chat): the action icons under your own message match the reply's size 2026-10-17 20:05:22 -07:00
esengine 7a1bbc51b9 fix(desktop): the code editor's text and find panel follow the interface text size 2026-10-17 17:37:37 -07:00
esengine b3b39feefe Merge origin/studio into feat/mcp-signin-follow-ui 2026-10-17 09:35:51 -07:00
esengine 00fcacca11 Merge remote-tracking branch 'origin/studio' into feat/web-access-settings-ui
# Conflicts:
#	.github/workflows/studio.yml
#	desktop/frontend-next/perf/harness.tsx
#	desktop/frontend-next/src/i18n/en.ts
#	desktop/frontend-next/src/styles/peers.css
2026-10-17 08:01:04 -07:00
esengine 4f8852dbd2 Merge remote-tracking branch 'origin/studio' into feat/web-access-settings-ui
# Conflicts:
#	.github/workflows/studio.yml
2026-10-17 07:33:06 -07:00
esengine 5ffb22c1f5 Merge remote-tracking branch 'origin/studio' into feat/peers-settings-ui
# Conflicts:
#	.github/workflows/studio.yml
#	desktop/frontend-next/src/port/mock_boundary.ts
#	desktop/frontend-next/src/port/port.ts
#	desktop/frontend-next/src/port/sse_boundary.ts
2026-10-17 07:24:27 -07:00
YHH 75a4e7e2fe Merge pull request #13598 from SivanCola/codex/workspace-flow
Complete workspace preparation and branch switching / 补齐工作目录准备与分支切换流程
2026-10-17 04:47:59 -07:00
esengine f11d657c32 Merge remote-tracking branch 'origin/studio' into feat/peer-threads
# Conflicts:
#	.github/workflows/studio.yml
2026-10-17 04:26:24 -07:00
esengine 71cd039be4 Merge remote-tracking branch 'origin/studio' into feat/web-access-settings-ui
# Conflicts:
#	.github/workflows/studio.yml
2026-10-17 04:10:40 -07:00
YHH d53132fdf6 Merge pull request #13603 from esengine/a5/mux-attach-baseline
fix: keep the open pane across a failed pane-list read and resume a first mux attach from where it attached
2026-10-17 03:42:47 -07:00
SivanCola f58bd3866b fix(worktree): normalize Windows rollback paths and explain recovery
Problem: failed or cancelled worktrees remain registered on Windows, and the
cleanup-failed screen leaves users without a concrete recovery procedure.
Root cause: native backslash paths are compared directly with Git porcelain's
slash paths. Cleanup uncertainty deliberately fences replacement creation.
Fix: normalize both registered and expected paths while preserving symlink
resolution and the unchanged-head guard. Cover native rollback and changed
branches, wire the Windows regressions into PR CI, and explain draft retention,
manual reconciliation, runtime closure and retry from the source folder.
Restore the existing design QA content and metadata, append only workspace
acceptance, and remove all eight screenshots from the final PR tree.
Verification: native Windows regression fails before the fix; the fixed worktree
package passes 36 tests with 6 platform skips. macOS worktree suite, focused
serve/worktree race tests, Windows lint, workflow contracts, 5,245 frontend tests,
typecheck/build, census and repository lint pass. Hosted CI still needs approval.
2026-10-17 18:37:23 +08:00
esengine a10b5f6758 Merge remote-tracking branch 'origin/studio' into feat/peers-settings-ui
# Conflicts:
#	.github/workflows/studio.yml
2026-10-17 03:28:54 -07:00
esengine b5c2f8216d Merge remote-tracking branch 'origin/studio' into feat/peer-threads
# Conflicts:
#	.github/workflows/studio.yml
2026-10-17 03:27:24 -07:00
esengine d586ffdb67 fix: keep the open pane across a failed pane-list read and resume a first mux attach from where it attached 2026-10-17 03:15:39 -07:00
esengine 476c301df9 feat(desktop): sign in to an MCP server that answered 401, and follow a server's tool changes 2026-10-17 03:10:28 -07:00
esengine ba51af6781 feat(desktop): web search and fetch backends are set from Settings, and consent to be billed is its own switch 2026-10-17 02:41:13 -07:00
esengine 842aa364ce Merge remote-tracking branch 'origin/feat/11577-fs-scale' into feat/11577-text-size 2026-10-17 02:12:53 -07:00
esengine 1eecbc113b Merge remote-tracking branch 'origin/studio' into feat/11577-fs-scale
# Conflicts:
#	.github/workflows/studio.yml
#	desktop/frontend-next/src/styles/sidepanel.css
2026-10-17 02:05:28 -07:00
YHH f2b47cdfe0 Merge pull request #13567 from esengine/fix/13253-composer-feel
feat(desktop): the composer keeps the 1.x feel — a border sweep on hover and focus, no state word inside the box
2026-10-17 01:26:54 -07:00
esengine 978914283b feat(desktop): session messages are switched on from Settings, and a held message can be let through for its project 2026-10-17 01:16:32 -07:00
esengine bf02618c64 feat(desktop): an interface text size, separate from the interface zoom 2026-10-17 00:40:29 -07:00
esengine f2e3ff8433 ci(relay): build the host from the repository root, where its module is 2026-10-17 00:31:05 -07:00
esengine af765d6b82 refactor(desktop): every interface font size rides one scale, so a text-size setting can reach it 2026-10-17 00:21:51 -07:00
esengine 4eef35a0b5 ci(relay): pass the base ref through the environment 2026-10-17 00:20:56 -07:00
esengine 81729ee851 test(relay): drive a hosted page against a real Studio through a stand-in relay in CI 2026-10-17 00:19:05 -07:00
esengine a0efc71493 feat(desktop): the composer keeps the 1.x feel — a border sweep on hover and focus, no state word inside the box 2026-10-16 23:41:10 -07:00