36 Commits

Author SHA1 Message Date
Carlos Florêncio c4262c644d feat: add KaTeX rendering to Markdown (#3868) 2026-09-22 23:36:47 +01:00
José Almeida 57bbae10ad feat(ui): add smooth chat animations and scrolling (#3758) 2026-09-17 16:40:02 +01:00
José Almeida 6c5ab15980 feat: identify symlinks in changes and files (#3675) 2026-09-15 12:20:54 +01:00
Clément Fiere 2a29104412 fix: harden prompt history and saved prompt aliases (#3369)
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
Co-authored-by: Henry <nova28@users.noreply.github.com>
Co-authored-by: nova28 <17953305+nova28@users.noreply.github.com>
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Co-authored-by: João Salavisa <joao.salavisa@gmail.com>
Co-authored-by: Kandev Agent <agent@kandev.dev>
2026-09-06 11:34:48 +01:00
João Salavisa b72c5ff0c2 fix: open registered repository links in file viewer (#3400)
Co-authored-by: Kandev Agent <agent@kandev.dev>
2026-09-05 13:26:25 +00:00
José Almeida 024adbd55a feat(ui): extend markdown table resizing (#3037) 2026-08-25 19:03:25 +00:00
João Salavisa 5257dfbaab fix(web): close the i18n coverage gaps in the non-JSX scanner and locale catalogs (#2727)
Co-authored-by: Kandev Agent <agent@kandev.dev>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-16 23:03:29 +00:00
João Salavisa ce82e2a4ab fix(i18n): externalize remaining frontend copy (#2616)
Co-authored-by: Kandev Agent <agent@kandev.dev>
2026-08-13 11:11:46 +01: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
José Almeida f94af8de7b feat(web): add responsive, resizable markdown tables (#2098) 2026-08-06 15:40:58 +01:00
Carlos Florêncio 1a999f201a fix: resolve chat file links from task workspace root (#2127) 2026-08-01 14:46:57 +01:00
José Almeida d46ec16770 fix: improve interactive accent contrast (#2075) 2026-07-31 10:55:29 +01:00
Carlos Florêncio 41e819d80e fix(web): improve Mermaid render diagnostics (#2080) 2026-07-31 09:28:55 +01:00
José Almeida e067e7a1f6 feat(web): show file statuses in review (#1683)
* feat(web): show file statuses in review

* fix(web): address review status feedback

* fix(web): deduplicate review sources

* fix(web): align review progress identities

* fix(web): guard review status labels

* fix(web): enforce file status exhaustiveness

* perf(web): index review progress sources

* fix(web): preserve files during status hydration

* fix(web): align multi-repo review progress
2026-07-15 12:54:43 +01:00
Carlos Florêncio e2eaad01ed fix: expand nested custom prompts (#1637) 2026-07-09 21:37:22 +01:00
Carlos Florêncio 967b55d6a4 fix: auto-fit wide mermaid diagrams (#1495) 2026-06-25 19:11:24 +01:00
Carlos Florêncio aee1846cd5 feat: remove nextjs production runtime (#1389) 2026-06-18 18:36:48 +01:00
Carlos Florêncio 2bb239b843 fix: render er diagrams in task plans (#1425) 2026-06-18 12:00:18 +01:00
Carlos Florêncio cfb0041f29 fix: cover agent file link review fixes (#1415) 2026-06-17 21:46:23 +01:00
Clément Fiere a71ee2e2c1 fix: open agent file links that carry line-range selectors (#1412) 2026-06-17 20:32:40 +01:00
Carlos Florêncio fcd2cc00e9 fix: open markdown file links with line suffixes (#1404) 2026-06-17 08:08:44 +01:00
Carlos Florêncio b374b50c4c fix: open root-relative chat file links (#1400) 2026-06-16 22:55:24 +01:00
Carlos Florêncio aa5b8be353 fix: open markdown file links in editor (#1388) 2026-06-15 23:27:41 +01:00
Carlos Florêncio f444fba455 perf(chat): eliminate redundant re-renders and markdown re-parsing (#1357) 2026-06-13 19:26:54 +01:00
Carlos Florêncio 5e5e115105 fix(web): prevent cross-task session leak in dockview layout switch (#1265) 2026-06-04 09:31:50 +01:00
Carlos Florêncio 782fdb56ed feat(web): polish chat message rendering (#935) 2026-05-18 22:04:31 +01:00
Carlos Florêncio 32579db525 refactor(web): unify file-tree components on a useTree headless hook (#919) 2026-05-17 21:26:13 +01:00
Carlos Florêncio 0b2085688b feat(office): autonomous agent management layer (#914) 2026-05-16 20:07:57 +01:00
José Almeida ebdce2f956 fix: prevent inline code from rendering diagrams (#773)
* fix: prevent inline code from rendering diagrams

* fix: address markdown renderer review feedback

* fix: remove redundant markdown block detection
2026-05-02 18:53:59 +01:00
José Almeida 692fdddcc9 fix(web): make mermaid sanitizer quote-aware and detect parens in bracket labels (#763)
* fix(web): make mermaid sanitizer quote-aware and detect parens in bracket labels

Two diagrams failed to render because sanitizeMermaidCode injected nested
quotes into already-quoted labels and missed parens-as-stadium-opener inside
bracket labels. Skip ranges already inside `"..."` (recomputed between
passes) and add `(`/`)` to the bracket-pass trigger set.

* refactor(web): drop dead text.startsWith('"') guards in mermaid sanitizer

The regex character classes [^\]"], [^|"], [^)"] already exclude `"`,
so the guards were unreachable.

* fix(web): stop unterminated quote bleeding across lines in mermaid sanitizer

findQuotedRanges now stops scanning at newline; an unterminated `"` is
discarded rather than paired with a `"` on a later line where it would
silently suppress sanitization of unrelated content. Add tests for the
cross-line guard and for a bracket-with-parens adjacent to a real
stadium node on the same line.
2026-05-01 22:38:06 +01:00
José Almeida a2d98f5d3e fix(web): replace mermaid bomb-icon error flood with toast notifications (#594)
* fix(web): replace mermaid bomb-icon error flood with toast notifications

mermaid.render() called without a container leaves orphaned error
elements (with bomb icons) in document.body on parse failures. Clean up
these orphans after every render and show an error toast instead.

* fix(web): address PR review — prevent toast flooding, include error detail, add hook tests

- Add latestRenderId guard in TipTap MermaidNodeView to skip stale
  renders, preventing toast spam on every keystroke
- Include mermaid error message in toast description via CustomEvent detail
- Add useMermaidErrorToast hook tests (event listener + cleanup)

* style(web): format mermaid-error-toast test with prettier

* fix(web): include error message in MermaidBlock toast description
2026-04-15 21:47:42 +01:00
João Salavisa 0d03825a49 fix(web): sanitize mermaid code to handle special characters (#444) 2026-03-23 08:36:31 +00:00
Carlos Florêncio aba9271fd5 fix: async workspace preparation and worktree branch fallback (#433) 2026-03-14 12:00:35 +00:00
Carlos Florêncio c1140a7ab5 fix: consolidate markdown styles into shared .markdown-body class (#332)
feat: improve markdown styles
2026-02-28 17:41:45 +00:00
Carlos Florêncio b3f1eaa037 feat: mermaid support (#293) 2026-02-26 13:24:40 +00:00
Carlos Florêncio 2782d826ec feat: improve PR review watcher + PR info panel (#281) 2026-02-26 08:48:11 +00:00