Commit Graph

1179 Commits

Author SHA1 Message Date
Carlos Florêncio 8e56a3a7f7 feat(storage): add owned temporary artifact cleanup (#2444) 2026-08-09 17:57:47 +01:00
Carlos Florêncio d38d9a0b86 fix(plugins): show install loading state (#2454) 2026-08-09 12:06:38 +01:00
Carlos Florêncio 2832170eb4 fix(task): preserve task-owned worktrees across session deletion (#2456) 2026-08-09 12:05:48 +01:00
Clément Fiere b116449962 fix(web): shrink oversized message favorite star on mobile (#2451) 2026-08-09 12:01:19 +01:00
Clément Fiere bd95054997 feat: reorder queued messages by drag and drop (#2420)
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-08-09 12:00:21 +01:00
Clément Fiere 0472eb1c73 fix(kanban): render hidden workflows when explicitly selected (#2446) 2026-08-09 11:50:28 +01:00
nova28 b309d2beb6 fix(web): render workflow description in settings (#2418) 2026-08-09 11:49:04 +01:00
João Manso 61378b9b3b fix(terminal): show an ended session instead of a lying spinner (#2423) 2026-08-09 11:48:34 +01:00
João Salavisa 46021e7d23 fix(github): persist PR state from the feedback fetch so surfaces agree (#2449)
PR state was written by two flows and the second one could not persist: the feedback fetch returned live PR data without saving it, and the browser patched its own store copy instead. Opening a PR's detail panel turned that tab purple while the kanban card and boot payload still read state=open, and a reload snapped it back.

The backend is now the only writer — the feedback read reconciles through SyncTaskPR and publishes github.task_pr.updated, so every surface converges and the state survives a reload. SyncTaskPR also refuses to move a row out of merged, since GitHub cannot un-merge a PR.
2026-08-09 00:32:43 +02:00
João Salavisa 62159e2c2c fix(settings): match notifications type scale to other settings pages (#2447)
Co-authored-by: Kandev Agent <agent@kandev.dev>
2026-08-09 00:22:31 +02:00
João Salavisa 3829bea5a1 fix(gitlab): stop MR badge specs racing workflow auto-advance (#2443)
Co-authored-by: Kandev Agent <agent@kandev.dev>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-08 22:45:32 +02:00
Carlos Florêncio 5b13f43d80 feat: add provider-neutral agent error recovery (#2437) 2026-08-08 19:59:51 +01:00
Carlos Florêncio 4c1207cbe5 fix: contain backend runtime failure paths (#2431) 2026-08-08 19:59:25 +01:00
Carlos Florêncio 7133b132f6 feat(storage): speed up scans and add dependency cleanup (#2432) 2026-08-08 19:30:05 +01:00
Carlos Florêncio 56fdc7b011 fix: refine agent session tab feedback (#2426) 2026-08-08 19:02:17 +01:00
Carlos Florêncio 317dac7837 fix: remember task-create workflows per workspace (#2428) 2026-08-08 18:59:27 +01:00
Carlos Florêncio cd1d19ae65 feat: resolve model-dependent provider options (#2404) 2026-08-08 17:13:50 +01:00
João Salavisa 7f0d4bdbb7 fix(i18n): externalize four SCREAMING_CASE copy tables the lint rule cannot see (#2409)
Co-authored-by: Kandev Agent <agent@kandev.dev>
2026-08-08 17:07:07 +02:00
Alassane 131ef6f6c2 feat(gitlab): add MR auto-fix, auto-merge, hover preview, badge (#2301) 2026-08-08 16:01:39 +01:00
Carlos Florêncio de4e4161ed feat: surface port forwarding controls and browser navigation (#2383) 2026-08-08 13:49:58 +01:00
João Salavisa fffde518dd fix(plugins): repair modal tooltips, live theme, and min_kandev_version (#2408)
Co-authored-by: Kandev Agent <agent@kandev.dev>
2026-08-08 02:12:44 +02:00
João Salavisa 9a1ab20188 feat(github): show an Updating… indicator in the PR status popover (#2402)
Co-authored-by: Kandev Agent <agent@kandev.dev>
2026-08-08 00:07:08 +02:00
Alassane 82177a270b feat(plugins): add a task-card-tags slot (#2332)
Co-authored-by: ayattara <alassane.yattara@savoirfairelinux.com>
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-08-07 21:46:45 +01:00
Carlos Florêncio b08d28f513 feat(web): show unmeasured state for zero-usage context window (#2392) 2026-08-07 21:28:22 +01:00
Carlos Florêncio 9e503c5e6b feat: surface allowlisted OpenCode remediation links in recovery surfaces (#2396) 2026-08-07 21:27:43 +01:00
nova28 9e6c2098b1 feat: add GitLab support to workflow sync (#2289)
Co-authored-by: nova28 <17953305+nova28@users.noreply.github.com>
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-08-07 21:06:10 +01:00
João Salavisa 4f34dc682c fix(i18n): correct a plural _one form and collapse a twinned key in en (#2395)
Co-authored-by: Kandev Agent <agent@kandev.dev>
2026-08-07 21:09:22 +02:00
Clément Fiere 240bf7078d feat: add agent todo list panel with settings toggle and + menu (#2327) 2026-08-07 19:04:05 +01:00
João Salavisa 97fba4ec4b fix(i18n): close four gaps no gate can see (plurals, fallback copy, orphans) (#2388)
Co-authored-by: Kandev Agent <agent@kandev.dev>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-07 20:03:10 +02:00
Clément Fiere 312dc0657f feat(web): add per-integration enable/disable toggle (#2364)
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-08-07 19:01:07 +01:00
nova28 0be04b72fc fix: close two mid-turn steering gaps found by post-merge Codex review (#2323)
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-08-07 18:21:10 +01:00
Clément Fiere 1db7379ed8 feat: isolate improve-kandev tasks in a dedicated workspace (#2347) 2026-08-07 18:18:45 +01:00
Carlos Florêncio 31d4f1e65f fix: hide empty shell output disclosure (#2378) 2026-08-07 18:14:32 +01:00
Clément Fiere 05e72c10e3 feat(queue): add admin toggle for queued message merging (#2342) 2026-08-07 17:36:52 +01:00
Alassane 610f5f810b feat(plugins): add primary task-menu group and registerTaskFilter hook (#2351) 2026-08-07 17:36:42 +01:00
Clément Fiere cd5199cd14 feat: show red interrupted icon for tasks cut short by a restart (#2358) 2026-08-07 17:17:57 +01:00
Clément Fiere 084ecc8b54 feat: show queued prompt count badge in the task sidebar (#2354) 2026-08-07 15:34:39 +01:00
Clément Fiere 4d80edacf2 feat: re-parent tasks by drag and drop in the sidebar (#2355) 2026-08-07 15:33:41 +01:00
Luan Martins 10996c1b57 feat: add optional workflow-level agent prompt (#2338) 2026-08-07 15:22:44 +01:00
João Salavisa 4d519316c1 fix(i18n): tie the pseudo-coverage oracle to the screen it claims to check (#2366)
Co-authored-by: Kandev Agent <agent@kandev.dev>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-07 16:13:56 +02:00
João Salavisa 88002a60a3 fix(i18n): localize date-fns distances and drop redundant t() test stubs (#2363)
Co-authored-by: Kandev Agent <agent@kandev.dev>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-07 13:29:44 +02:00
João Salavisa fbce624bd9 fix(i18n): correct English singular forms that carried a plural noun (#2350)
Co-authored-by: Kandev Agent <agent@kandev.dev>
2026-08-07 12:37:04 +02:00
João Salavisa f09e938673 feat(i18n): localize the last batch of live surfaces before Office (#2357)
Migrates the eleven remaining files that `i18next/no-literal-string` flagged
outside `app/office`, `app/demo` and the task-create surfaces owned by #2326:
the session prepare panel, the onboarding agents step, the host system-metrics
readout, the system-health issues dialog, the shared panel search bar, the
mermaid diagram block, the settings agent card, both release-notes surfaces,
and the shared data-table pair.

Findings drop 884 -> 826 (-58) and the guard allowlist grows 442 -> 453, file
by file rather than by directory since every one of these directories still
holds un-migrated files.

Defects repaired beyond the codemod's output:

- `data-table-pagination.tsx` rendered `{count} results` as a bare JSX
  fragment, invisible to both plural gates. It is now one interpolated key
  with `_one`/`_other`, as are the health-dialog issue count and the
  release-notes "N new releases" helper.
- Two mixed literal+expression blocks were half-converted, rendering
  identically in English while being structurally untranslatable. Both were
  rebuilt as a single message.
- The codemod re-sorted `settings.json` into `localeCompare` order and
  re-encoded every non-ASCII character to `\uXXXX` under a comment claiming it
  matched the existing files. No catalog is stored escaped and only `common`
  is in that order, so both halves were reverted; all four catalogs are
  additions-only.
- Copy in default parameters and plain helpers is invisible to the lint rule,
  so `Search…`, the six prepare-panel header labels, the setup-script step name
  and error, the metric labels, `lastUpdatedText` and `buildDescription` were
  migrated by hand.

`task:preparingEnvironment` was already taken by #2326 holding "Preparing
environment" without the ellipsis this surface renders, so the prepare panel
uses `preparingEnvironmentEllipsis` rather than silently changing its copy.

Units, wire ids, the `{workspaceId}` URL token, the `"ellipsis"` page sentinel
and every mermaid theme/CSS value stay English as protocol.
2026-08-07 11:34:35 +02:00
João Salavisa ac520a8cdc feat(web): archive the current task from the command palette (#2346)
Co-authored-by: Kandev Agent <agent@kandev.dev>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-07 11:29:24 +02:00
João Salavisa e05d620876 refactor(plugins): move Slack out to kandev-plugin-slack and list it in the marketplace (#2344)
Co-authored-by: Kandev Agent <agent@kandev.local>
2026-08-07 11:06:17 +02:00
Clément Fiere 078ca80562 feat(settings): show disabled badge for profiles in settings sidebar (#2339) 2026-08-07 09:56:36 +01:00
Carlos Florêncio addf564c20 fix(quick-terminal): make host-shell PTYs durable across reloads (#2345) 2026-08-07 09:56:11 +01:00
João Salavisa e94cf6de83 feat(i18n): localize remaining task panes and create-dialog surfaces (#2326)
Co-authored-by: Kandev Agent <agent@kandev.dev>
2026-08-07 10:55:41 +02:00
João Salavisa 7005b85481 feat(i18n): localize loose components directly under components/ (#2317)
Co-authored-by: Kandev Agent <agent@kandev.dev>
2026-08-07 04:57:02 +02:00
José Almeida f94af8de7b feat(web): add responsive, resizable markdown tables (#2098) 2026-08-06 15:40:58 +01:00