Commit Graph

2516 Commits

Author SHA1 Message Date
Carlos Florêncio e86202647e fix(runtime): recover stale npm metadata (#2714) 2026-08-16 17:41:43 +01:00
Carlos Florêncio 9558d8b5ee fix: separate Pi ACP and passthrough commands (#2708) 2026-08-16 17:39:51 +01:00
João Salavisa 0de77f7871 feat(web): make the plugin row's settings page discoverable (#2707)
Co-authored-by: Kandev Agent <agent@kandev.dev>
2026-08-16 16:31:28 +01:00
José Almeida 8d006c4011 fix(web): open review panes in selected split (#2710) 2026-08-16 15:40:11 +01:00
João Salavisa 63c21686ff fix(web): externalize copy the jsx-only i18n guard cannot see, and gate it (#2711)
Co-authored-by: Kandev Agent <agent@kandev.dev>
2026-08-16 12:08:59 +01:00
José Almeida 38c94e7d00 fix(web): reveal content search matches in editors (#2681) 2026-08-16 10:42:35 +01:00
Aulma 4f06eaa234 feat(web;backend): derive office-vs-kanban mode from the active workspace, not the URL (#2677)
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-08-16 10:23:19 +01:00
João Salavisa f814859ab2 fix(credentials): accept SSH remotes and canonical scope paths for managed Git credentials (#2678)
Managed GitHub credentials compared a repository's scope identity verbatim
across sides that spell it differently.

A repository cloned over SSH stores an SSH remote_url, which kandev itself
backfills for local-path repositories, and the strict scheme assertion added in
#2117 then rejected the launch with "must use an HTTPS clone URL for managed
credentials". Credential identity now comes from the persisted provider
identity, whose host carries the real HTTPS origin including a non-default
port, falling back to rewriting a non-HTTPS remote in place. Issuance and
authorization derive it the same way, so they cannot disagree. Cloning is
untouched.

Scope paths are compared through one canonical form (no trailing slash, no
".git") at the shim, the broker redemption, and the backend authorizer, so the
suffix never decides whether a lease matches. Lease scopes still carry the exact
path their provider resolver was issued for, because plugin providers compare it
verbatim.

Closes #2673
Closes #2675
2026-08-16 10:04:06 +01:00
João Salavisa 382d60d704 fix(worktree): keep unpushed commits when the fetch retry hits a checked-out branch (#2658)
Co-authored-by: Kandev Agent <agent@kandev.dev>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-16 09:38:15 +01:00
Carlos Florêncio 15788438b4 feat: route managed Improve Kandev contributions to bound forks (#2569) 2026-08-15 23:51:39 +01:00
Carlos Florêncio 92e56cbf97 fix(web): stabilize nested Review tree expansion (#2702) 2026-08-15 23:47:28 +01:00
Clément Fiere a5d9e5d696 fix(gateway): authorize credential-less port-proxy subresources after document auth (#2682)
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-08-15 23:46:38 +01:00
Clément Fiere 98db560d83 fix(backend): honor X-Forwarded-For via configurable trusted proxies (#2701) 2026-08-15 22:18:57 +01:00
Fernando San Martín W. b87cbcf3ed fix: persist Codex MCP approval (#2691) (#2699) 2026-08-15 22:18:15 +01:00
Fernando San Martín W. 68112773e9 fix(orchestrator): route workflow steps to profile sessions (#2692) (#2697) 2026-08-15 22:02:53 +01:00
Clément Fiere 44773eec59 fix(web): replace clipped start agent button with composer hint (#2624) 2026-08-15 21:39:41 +01:00
Clément Fiere 48ec8796c1 fix(web): grey out last-active-admin toggles in system users (#2690) 2026-08-15 21:30:22 +01:00
Carlos Florêncio 96329b6561 fix: align SQLite backups with database path (#2686) 2026-08-15 19:34:52 +01:00
nova28 00994cf406 fix(office): preserve cache split, cost provenance, and turn_id on cost events (#2606)
Co-authored-by: nova28 <17953305+nova28@users.noreply.github.com>
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-08-15 19:33:52 +01:00
Carlos Florêncio e372b3535c fix: clear deleted session errors (#2688) 2026-08-15 19:33:22 +01:00
nova28 60d37aa24a feat(plugins): let nav items target the sidebar footer icon row (#2562)
Co-authored-by: nova28 <17953305+nova28@users.noreply.github.com>
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-08-15 19:33:08 +01:00
Alassane 49177d742f fix(gitlab): delete task-owned MR/PR associations on hard task delete (#2655)
Co-authored-by: ayattara <alassane.yattara@savoirfairelinux.com>
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-08-15 17:21:14 +01:00
Clément Fiere 39e9bc77f5 fix(web): scroll message metadata dialog entries instead of clipping (#2683) 2026-08-15 17:05:59 +01:00
Alassane 31e07fab34 feat(plugins): add sidebar workspace actions to New Task (#2607)
Co-authored-by: ayattara <alassane.yattara@savoirfairelinux.com>
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-08-15 17:00:02 +01:00
nova28 fe991d0b77 feat: add task-level workflow step transition ledger (#2623)
Co-authored-by: nova28 <17953305+nova28@users.noreply.github.com>
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-08-15 16:59:40 +01:00
Godric Hood 875d476f9c fix(orchestrator): keep Send Now replacement from dying on cancel (#2674)
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-08-15 16:59:20 +01:00
nova28 de4c7fbf9c fix(routing): retry ACP transport disconnects instead of failing outright (#2680)
Co-authored-by: nova28 <17953305+nova28@users.noreply.github.com>
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-08-15 16:00:55 +01:00
nova28 1ae8f4cf9f feat(backend): persist subagent tool-call context to task_session_subagents (#2671)
Co-authored-by: nova28 <17953305+nova28@users.noreply.github.com>
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-08-15 15:58:14 +01:00
nova28 6b27e67b04 fix(backend): capture task_session_commits from live turn and git events (#2605)
Co-authored-by: nova28 <17953305+nova28@users.noreply.github.com>
2026-08-15 14:43:09 +01:00
Carlos Florêncio c26e5cf8a3 fix: preserve repository branch templates (#2611) (#2684) 2026-08-15 14:10:47 +01:00
Clément Fiere 488abb4265 fix(queue): auto-merge compatible messages at full queues (#2656) 2026-08-15 12:51:43 +01:00
Carlos Florêncio dfa100df13 fix: refine GitHub rate limit card (#2668) 2026-08-15 12:42:17 +01:00
José Almeida 540834bf64 fix: keep PR actions from wrapping the title (#2670) 2026-08-15 02:28:37 +01:00
José Almeida 355fc601ea chore(plugins): add Bitbucket to marketplace (#2672) 2026-08-15 02:28:10 +01:00
João Salavisa c553b991eb fix(github): stop counting unconfigured workspaces as broken connections (#2666)
Co-authored-by: Kandev Agent <agent@kandev.dev>
2026-08-14 18:03:35 +01:00
github-actions[bot] cab9eaf19d release: 0.88.0 v0.88.0 2026-08-14 16:09:06 +00:00
João Salavisa 5323cd68e7 ci(e2e): cache Go modules and build cache in the E2E build job (#2657)
Co-authored-by: Kandev Agent <agent@kandev.dev>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-14 17:04:56 +01:00
Carlos Florêncio 1a12c0bae0 fix: restore GitHub rate limit indicator (#2664) 2026-08-14 17:04:04 +01:00
João Salavisa d6ee5fc5ec test(e2e): use a secure random source for secret name tokens (#2665)
Co-authored-by: Kandev Agent <agent@kandev.dev>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-14 17:03:32 +01:00
Carlos Florêncio 8c9456074a feat: prioritize active workspace in settings (#2663) 2026-08-14 15:57:34 +01:00
Clément Fiere 4d54c20041 fix(web): stop task context menu from starting a row drag (#2662) 2026-08-14 15:56:11 +01:00
Carlos Florêncio cb0c10aa9f fix: reduce clarification context font size (#2659) 2026-08-14 14:49:07 +01:00
Carlos Florêncio 290fd2dc4e fix: avoid plugin shutdown log noise (#2661) 2026-08-14 13:58:32 +01:00
Carlos Florêncio 52f73eebf9 fix: show shared clarification context (#2641) (#2645) 2026-08-14 10:17:20 +01:00
Carlos Florêncio 1da30e0afb fix(settings): show full-desktop profile actions inline (#2629) (#2644) 2026-08-14 10:16:47 +01:00
José Almeida f55e9c7802 fix(task): recover cutover from orphaned sessions (#2651) 2026-08-14 09:33:15 +01:00
João Salavisa b12336f7a5 test(e2e): replace the layout specs' unconditional sleeps with causal waits (#2648)
Co-authored-by: Kandev Agent <agent@kandev.dev>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-14 00:12:18 +01:00
João Salavisa bfd632bafa test(e2e): label or convert every remaining unconditional sleep (#2650)
Co-authored-by: Kandev Agent <agent@kandev.dev>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-13 23:55:11 +01:00
Carlos Florêncio 009a88278c feat: improve task dependency selector (#2627) 2026-08-13 23:16:37 +01:00
João Salavisa f9c7fc5368 test(e2e): replace the settings specs' unconditional sleeps with real waits (#2649)
Co-authored-by: Kandev Agent <agent@kandev.dev>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-13 23:05:02 +01:00