Commit Graph

  • d652585e36 fix(editor): validate image src protocol before insert (defense-in-depth) Sergey Kozyrenko 2026-07-01 09:38:45 +07:00
  • 1386f5e747 test(editor): corpus asserts a word multiset, not a Set Sergey Kozyrenko 2026-07-01 09:38:44 +07:00
  • 67b6521f9f fix(settings/prompt): keep the other tab's unsaved edits on save (keepDirtyValues) Sergey Kozyrenko 2026-07-01 09:38:44 +07:00
  • 81c7eaf3d2 fix(editor): keep _-delimited text literal so dunders survive the round-trip Sergey Kozyrenko 2026-07-01 09:38:44 +07:00
  • fef780de71 chore(editor): trim review-flagged restatement comments Sergey Kozyrenko 2026-07-01 07:06:00 +07:00
  • f25c26d7d5 fix(editor): only treat ~~ as strikethrough so single-tilde prose survives Sergey Kozyrenko 2026-07-01 07:04:31 +07:00
  • f68964f52e fix(templates): skip the unsaved-guard blocker on the post-create navigation Sergey Kozyrenko 2026-07-01 00:29:54 +07:00
  • 768d733c88 chore(editor): trim review-flagged comments that restate or narrate Sergey Kozyrenko 2026-06-30 22:15:02 +07:00
  • 7c8f017b27 refactor(layouts): extract DetailTwoPanelLayout, consume in the 4 detail pages Sergey Kozyrenko 2026-06-30 22:00:39 +07:00
  • 2ee3d6ecf9 fix(knowledges): make the Plain/Visual toggle reachable on a new document Sergey Kozyrenko 2026-06-30 21:47:36 +07:00
  • 501473ba5a refactor(settings/prompt): hoist the static diffStyles object to module scope Sergey Kozyrenko 2026-06-30 21:47:25 +07:00
  • 992302b3d7 fix(templates): stop a cache re-emit from wiping unsaved body edits Sergey Kozyrenko 2026-06-30 21:08:25 +07:00
  • d3d0a0f955 fix(editor): kill ReDoS in the variable cycle — block-first instead of lazy regex Sergey Kozyrenko 2026-06-30 21:01:11 +07:00
  • 443fcc90ee fix(editor): stop escaping a lone ~ so Go-template prose round-trips byte-exact Sergey Kozyrenko 2026-06-30 20:09:58 +07:00
  • 7a96d9dbd4 refactor(editor): rename show{Label,Toolbar} -> has{Label,Toolbar} Sergey Kozyrenko 2026-06-30 13:41:38 +07:00
  • 52ec6667b6 chore(editor): trim comments that restate code or defend implementation Sergey Kozyrenko 2026-06-30 13:21:54 +07:00
  • 26441bfd5a refactor(editor): drop redundant callback refs, memoize extensions, trim comments Sergey Kozyrenko 2026-06-30 13:20:04 +07:00
  • bb695df721 fix(editor): map token end so a hard break inside {{.Var}}/<tag> spans fully Sergey Kozyrenko 2026-06-30 12:58:04 +07:00
  • 69f86ae566 fix(editor): mark-boundary-safe inline scan shared by highlights + cycle Sergey Kozyrenko 2026-06-30 12:17:33 +07:00
  • 55f105ffa1 fix(editor): focus before scroll in insertAtCursor + drop dead handle methods Sergey Kozyrenko 2026-06-30 06:25:59 +07:00
  • e29582958d feat(editor): cycle through variable uses in the tiptap variable panel Sergey Kozyrenko 2026-06-30 06:23:12 +07:00
  • fb1c15926f chore(deps): dedup marked to one v18 via pnpm override Sergey Kozyrenko 2026-06-30 01:22:05 +07:00
  • 7e6410debf refactor(editor): apply review follow-ups (history-key identity, narrow cast, trim comments) Sergey Kozyrenko 2026-06-29 22:55:02 +07:00
  • e1e7817dd6 feat(editor): migrate markdown round-trip to official @tiptap/markdown Sergey Kozyrenko 2026-06-29 22:33:22 +07:00
  • 18839b3487 refactor(templates): adopt the 2-panel resizable layout of the other detail pages Sergey Kozyrenko 2026-06-28 01:41:26 +07:00
  • d3c46c7158 test: close the coverage gaps flagged by the review Sergey Kozyrenko 2026-06-28 00:55:29 +07:00
  • 84d87cf474 refactor(providers): apply review follow-ups (degrade log, count helper, empty menu) Sergey Kozyrenko 2026-06-27 23:45:36 +07:00
  • 579fac8b69 feat(providers): guard cloning a disabled-type provider + test the menu filter Sergey Kozyrenko 2026-06-27 23:24:52 +07:00
  • b6d10362cf feat(providers): hide disabled types from create menu + guard ?type= URL Sergey Kozyrenko 2026-06-27 23:07:53 +07:00
  • 4664cf8f53 test(knowledges): cover knowledge-form save/navigation + partial-update mapping Sergey Kozyrenko 2026-06-27 22:19:51 +07:00
  • 08a24c9abd fix(providers): skip unavailable user providers instead of failing the whole list Sergey Kozyrenko 2026-06-27 22:10:40 +07:00
  • c752bb2737 perf(settings/prompt): count variable uses in one pass + bound regex Sergey Kozyrenko 2026-06-27 20:37:26 +07:00
  • 4472daa0d1 refactor(knowledges): trim performSave doc-comment to the load-bearing invariant Sergey Kozyrenko 2026-06-27 15:45:58 +07:00
  • 0cd37effed refactor: apply prompt/provider code-review findings + unify perf-scope comments Sergey Kozyrenko 2026-06-27 15:42:08 +07:00
  • 62e5afa04d perf(settings/provider): scope provider-name watch out of the main form Sergey Kozyrenko 2026-06-27 15:29:12 +07:00
  • 50a272501b feat(templates): add byte-faithful code editor view for template content Sergey Kozyrenko 2026-06-27 15:19:19 +07:00
  • 01fa02d3b4 perf(knowledges): scope content subscription off the form + untangle save/guard cycle Sergey Kozyrenko 2026-06-27 12:58:51 +07:00
  • bb8739072b perf(prompts): scope template subscription to stop per-keystroke full-page re-render Sergey Kozyrenko 2026-06-26 21:15:46 +07:00
  • 65a037b91a feat(prompts): add byte-faithful code editor view for prompt templates Sergey Kozyrenko 2026-06-26 18:57:05 +07:00
  • 3114d13fcd feat(settings/prompt): cycle through all variable occurrences + show use count Sergey Kozyrenko 2026-06-26 15:21:02 +07:00
  • a47caa4ff9 refactor(settings): use InputGroup for the model combobox input+trigger Sergey Kozyrenko 2026-06-26 14:37:21 +07:00
  • a1908536b7 test(providers): extend the price-consistency guard to all 9 providers Sergey Kozyrenko 2026-06-26 13:55:26 +07:00
  • 4ecf2bbac1 fix(providers): correct model prices from a full official-source audit Sergey Kozyrenko 2026-06-26 13:44:59 +07:00
  • dad1be429e feat(providers): declare reasoning efforts for gpt-5.2-codex and gpt-5-pro Sergey Kozyrenko 2026-06-26 13:44:58 +07:00
  • ebeddf4e76 fix(providers): set qwen cache_read to the documented 20% implicit-cache rate Sergey Kozyrenko 2026-06-26 05:04:13 +07:00
  • 2f9e86391e feat(providers): declare reasoning efforts for the remaining xhigh openai models Sergey Kozyrenko 2026-06-26 05:04:12 +07:00
  • de7db21448 feat(providers): declare reasoning efforts so xhigh/max surface in the UI Sergey Kozyrenko 2026-06-26 04:39:31 +07:00
  • 8bbbdbf7c5 fix(providers): correct qwen3.7-max cache_read to the official rate Sergey Kozyrenko 2026-06-26 03:56:04 +07:00
  • b40091d68f fix(providers): correct kimi-k2.7-code and qwen3.7-plus prices to official rates Sergey Kozyrenko 2026-06-26 03:54:31 +07:00
  • f489e13ed4 docs(providers): drop unverifiable superlative from glm-5.2 description Sergey Kozyrenko 2026-06-26 03:47:13 +07:00
  • c3504b1839 test(evidence-receipts): cover unterminated and oversized tail reads Sergey Kozyrenko 2026-06-26 03:47:13 +07:00
  • 35c77ae5aa test(providers): scan the whole catalog for adaptive modes in the M7 pin Sergey Kozyrenko 2026-06-26 03:47:12 +07:00
  • 83bff62d3b refactor(evidence-receipts): drop change-narration comment on the lock pool Sergey Kozyrenko 2026-06-26 03:32:02 +07:00
  • 2d8bce7ccb feat(providers): add glm-5.2, kimi-k2.7-code, qwen3.7-plus to model catalogs Sergey Kozyrenko 2026-06-26 03:11:20 +07:00
  • a69e19f751 feat(providers): allow xhigh/max reasoning_effort on the OpenAI-compatible path Sergey Kozyrenko 2026-06-26 02:18:57 +07:00
  • 40debd150d test(providers): pin openaicompat providers off adaptive thinking (M7) Sergey Kozyrenko 2026-06-26 00:52:49 +07:00
  • 4d25cf5c51 perf(evidence-receipts): read only the file tail for the previous hash Sergey Kozyrenko 2026-06-25 21:43:19 +07:00
  • 4b9e4b4972 fix(evidence-receipts): fsync each receipt append for durability Sergey Kozyrenko 2026-06-25 21:21:07 +07:00
  • 09383063ac test(evidence-receipts): pin sharded lock pool bounds and concurrency Sergey Kozyrenko 2026-06-25 21:00:27 +07:00
  • 124a1e1084 Merge remote-tracking branch 'origin/fix/ram-consumption' into integrate/open-prs Sergey Kozyrenko 2026-06-25 20:11:59 +07:00
  • d12b984631 fix(evidence-receipts): replace per-path sync.Map with sharded mutex pool Sergey Kozyrenko 2026-06-25 20:10:32 +07:00
  • c543831205 feat(backend): enhance graphiti search tool with langfuse integration Dmitry Ng 2026-06-25 12:29:14 +03:00
  • e909f40b2e fix(backend): implement singleton pattern for anonymizer replacer Dmitry Ng 2026-06-25 12:28:49 +03:00
  • 9caa6a8775 fix(backend): update LRU cache implementation to use non-expirable version Dmitry Ng 2026-06-25 12:28:10 +03:00
  • 2d2aea5785 fix(auth): reject OAuth logins with a provider-unverified email Sergey Kozyrenko 2026-06-25 13:57:17 +07:00
  • 497cfdd555 fix(users): require a real email on user-initiated email change Sergey Kozyrenko 2026-06-25 12:54:53 +07:00
  • 14e0a0ae71 fix(users): preserve email case on change to match login, OAuth and create Sergey Kozyrenko 2026-06-25 10:15:44 +07:00
  • 14b3da2d6f fixup! fix(detail-navigation): re-seed the sheet search mirror from the controller on open Sergey Kozyrenko 2026-06-25 09:56:14 +07:00
  • ac32a8e996 fixup! fix(providers): don't crash startup when a disabled provider's external config is unreadable Sergey Kozyrenko 2026-06-25 09:56:14 +07:00
  • f441ec1c4d fix(providers): don't crash startup when a disabled provider's external config is unreadable Sergey Kozyrenko 2026-06-25 09:26:00 +07:00
  • 8ca83137a1 fix(detail-navigation): re-seed the sheet search mirror from the controller on open Sergey Kozyrenko 2026-06-25 09:16:26 +07:00
  • 47c1ea108b fix(report-pdf): drop dead CJK font ternary, document the Hangul gap, add tests Sergey Kozyrenko 2026-06-25 09:03:53 +07:00
  • d440eafea9 test(detail-navigation): cover the virtualized sheet branch (>100 items) Sergey Kozyrenko 2026-06-25 08:43:14 +07:00
  • 28377ab4a4 fix(webui): reset price/reasoning when a model name is typed, not just picked Sergey Kozyrenko 2026-06-25 08:35:59 +07:00
  • 49af50d4ab refactor(webui): apply Apollo Client v4 review fixes to apollo.ts Sergey Kozyrenko 2026-06-25 07:15:21 +07:00
  • ec608d7091 fix(webui): redirect to login when the GraphQL subscription WS auth fails Sergey Kozyrenko 2026-06-25 06:41:36 +07:00
  • a50ba4c7a4 fix(sandbox): harden sandbox containers against privilege escalation manusjs 2026-06-24 15:48:57 +00:00
  • 3d447c582f ci: gate frontend install on frozen-lockfile drift Sergey Kozyrenko 2026-06-24 10:44:31 +07:00
  • 7867a73a6a test(providers): guard providerRegistry against AllProviderTypes drift Sergey Kozyrenko 2026-06-24 09:49:00 +07:00
  • 2f3df495fa test(pconfig): cover the adaptive-thinking backstop (refs #288) Sergey Kozyrenko 2026-06-24 09:49:00 +07:00
  • 9e8ee58786 fix(resources,flowfiles): propagate zip Close() error instead of swallowing it Sergey Kozyrenko 2026-06-24 09:48:45 +07:00
  • b8151c95ba fix(frontend): resolve review nits in settings (toast re-fire, chip a11y, dead export) Sergey Kozyrenko 2026-06-23 20:44:28 +07:00
  • 4214f3b26d refactor(frontend): unify provider/prompt unsaved-changes onto the shared guard Sergey Kozyrenko 2026-06-23 10:37:13 +07:00
  • 916961d68d fix(frontend): harden the prompt variables palette (used-detection, dirty, a11y, scroll) Sergey Kozyrenko 2026-06-23 07:33:38 +07:00
  • 161ff10315 feat(frontend): restyle the prompt variables palette Sergey Kozyrenko 2026-06-23 06:38:05 +07:00
  • 6408310950 feat(frontend): move the prompt variables palette below the editor on mobile Sergey Kozyrenko 2026-06-23 06:25:58 +07:00
  • fd6185969d refactor(frontend): unify mobile layout + intro across the 2-pane edit pages Sergey Kozyrenko 2026-06-23 06:09:43 +07:00
  • a5633cf959 feat(frontend): redesign prompt edit page (2-pane layout, header actions, toasts) Sergey Kozyrenko 2026-06-23 04:08:52 +07:00
  • 174a0ba819 refactor(frontend): AppHeader component family + reorganize layouts by area Sergey Kozyrenko 2026-06-23 02:49:28 +07:00
  • 8594a159a7 feat(frontend): redesign provider edit page (2-pane layout, header actions, toasts) Sergey Kozyrenko 2026-06-22 06:37:28 +07:00
  • 73c5500bb2 refactor(frontend): per-page headers for settings, extract SettingsSidebar Sergey Kozyrenko 2026-06-22 06:37:12 +07:00
  • b8b90f8349 refactor(providers): use native adaptive thinking from the langchaingo fork Sergey Kozyrenko 2026-06-22 00:44:07 +07:00
  • 8670ce4b1e fix(docker): add pnpm global bin to PATH in frontend build stage Sergey Kozyrenko 2026-06-21 19:31:18 +07:00
  • 9623e9b77a refactor(frontend): reuse the shared provider-icon map in settings-providers Sergey Kozyrenko 2026-06-21 19:12:04 +07:00
  • 28036f652c refactor(providers): table-driven provider registry Sergey Kozyrenko 2026-06-21 19:07:11 +07:00
  • 93c36483c7 refactor(providers): extract shared openaicompat base for OpenAI-compatible providers Sergey Kozyrenko 2026-06-21 18:58:11 +07:00
  • 652b8b3bed docs: fix README model-catalog table alignment for opus-4-7/4-8 rows (refs #288) Sergey Kozyrenko 2026-06-21 18:25:10 +07:00
  • 86b1329c43 fix(providers): surface bedrock models error, make provider type list exhaustive, trim comments (refs #288, #328) Sergey Kozyrenko 2026-06-21 18:05:26 +07:00
  • 7e61bbea61 refactor(pconfig): centralize adaptive-thinking helpers, dedup bedrock/anthropic (refs #288) Sergey Kozyrenko 2026-06-21 18:05:07 +07:00
  • d765345051 docs: propagate MiniMax + Claude 4.7/4.8 across deploy files and guides (refs #288, #328) Sergey Kozyrenko 2026-06-21 18:04:43 +07:00