This website requires JavaScript.
10bff229d6
i18n(ai-chat): add the missing ru-RU typing-indicator keys (#109 )
claude code agent 227
2026-06-21 05:46:36 +03:00
9797751b0a
test(html-embed): cover slash-menu gating of the HTML embed item (#98 )
claude code agent 227
2026-06-21 05:46:36 +03:00
ba37907f50
test(editor-ext): cover the html-embed height attr codec (#98 , #99 )
claude code agent 227
2026-06-21 05:46:36 +03:00
267bafdd73
test(html-embed): cover sandbox resize/security helpers (#98 , #99 )
claude code agent 227
2026-06-21 05:46:35 +03:00
b21433af4e
test(mcp): round-trip the htmlEmbed passthrough node (#99 , #98 )
claude code agent 227
2026-06-21 05:46:35 +03:00
85fd4afa85
test(workspace): cover trackerHead DTO validation, CASL gate, no-op audit (#98 )
claude code agent 227
2026-06-21 05:46:35 +03:00
d9fa804197
test(share): extract + cover injectTrackerHead (#100 , #98 )
claude code agent 227
2026-06-21 05:46:35 +03:00
e8775c45b0
test(ai-chat): cover the conditional assistant-name signature (#108 )
claude code agent 227
2026-06-21 05:39:35 +03:00
ec4622a1b8
test(security): export + unit-test resolveTrustProxy (#105 )
claude code agent 227
2026-06-21 05:39:35 +03:00
33c52045a2
test(share-ai): drive the non-text message-part 400 path (#103 )
claude code agent 227
2026-06-21 05:39:35 +03:00
85db20f9f2
test(page): cover movePage server-side cycle guard (#102 )
claude code agent 227
2026-06-21 05:39:35 +03:00
084eafd0bb
Merge pull request 'fix: review/red-team batch 2 — 30 issues (security, ws, page-templates, html-embed, mcp, tests, docs)' (#101 ) from fix/review-batch-2 into develop
vvzvlad
2026-06-21 05:47:05 +03:00
455a554054
Merge remote-tracking branch 'gitea/fix/review-batch-2' into fix/review-batch-2
claude code agent 227
2026-06-21 05:34:17 +03:00
7e26239c3f
Merge remote-tracking branch 'gitea/develop' into fix/review-batch-2
claude code agent 227
2026-06-21 05:32:44 +03:00
bc0c49db05
fix(review): address PR #101 review findings (dead DI, docs)
claude_code
2026-06-21 05:24:13 +03:00
b5ce51581f
docs: add empty state doc for AI chat role cards
claude_code
2026-06-21 05:23:50 +03:00
0fbaebd108
Merge gitea/develop into develop
claude_code
2026-06-21 05:21:20 +03:00
18105ff6db
feat(share-ai): label public chat with the assistant identity name
claude_code
2026-06-21 05:01:07 +03:00
3936c482d9
refactor(workspace-settings): extract useWorkspaceSetting hook
claude_code
2026-06-21 04:17:54 +03:00
a20f4c3876
fix(mcp): close the brute-force limiter check-then-act race (#83 )
claude code agent 227
2026-06-21 04:14:38 +03:00
31fcb764d7
refactor(transclusion): unify the ProseMirror collectors into collectNodes (#94 )
claude code agent 227
2026-06-21 04:04:09 +03:00
3f46496192
refactor(share): single resolveReadableSharePage for the share access boundary (#92 )
claude code agent 227
2026-06-21 04:04:09 +03:00
cecb560fce
docs(git-sync): add implementation spec for embedding docmost-sync
claude_code
2026-06-21 03:56:33 +03:00
c596e17a40
fix(html-embed): correct stale iframe height and damp the resize loop
claude_code
2026-06-21 03:50:17 +03:00
3953ecdb17
refactor(ai-chat): single live+enabled role resolve in the repo (#95 )
claude code agent 227
2026-06-21 03:49:52 +03:00
3147b6ddf4
refactor(ws): single restriction-aware emit for tree + comment events (#93 )
claude code agent 227
2026-06-21 03:49:52 +03:00
7c57a386b2
test(mcp): coupling guard between enforceBasicLoginGate and login (#91 )
claude code agent 227
2026-06-21 03:49:52 +03:00
a2ded7ecfb
refactor(html-embed): extract the admin-gate strip into one tested helper (#90 )
claude code agent 227
2026-06-21 03:49:52 +03:00
bed3d3d286
docs(backlog): note converter duplication in tool-definitions backlog
claude_code
2026-06-21 03:44:12 +03:00
c486750b2a
test-infra: re-enable 16 disabled server suites (jest DI + lib0 ESM) (#56 )
claude code agent 227
2026-06-21 03:40:40 +03:00
8016b1c540
docs: sync AGENTS.md + README with shipped features (#89 )
claude code agent 227
2026-06-21 03:40:40 +03:00
d45ca00bcc
docs(mcp): document the MCP_TOKEN header breaking change + one-time warning (#84 )
claude code agent 227
2026-06-21 03:40:40 +03:00
a11c87c4dc
docs(page-templates): document that lookupTemplate is flat (no server recursion) (#54 )
claude code agent 227
2026-06-21 03:40:40 +03:00
6928817cee
fix(ws): broadcast realtime page rename/icon change (#72 )
claude code agent 227
2026-06-21 03:29:52 +03:00
c78177c28b
test(page): exercise the real getSidebarPagesTree via an extracted pure helper (#75 )
claude code agent 227
2026-06-21 03:29:52 +03:00
b597841cf0
test(ai-roles): cover update() happy-path return shape (#88 )
claude code agent 227
2026-06-21 03:28:58 +03:00
317fdb9424
test(public-share): cover getSharePage positive + soft-deleted branches (#85 )
claude code agent 227
2026-06-21 03:28:58 +03:00
40f68e95fb
fix(ws): shrink restriction-cache TTL to bound the leak window (#53 )
claude code agent 227
2026-06-21 03:28:58 +03:00
342bb47b30
fix(ai-roles): validate chatModel + guard driver-enum drift (#52 )
claude code agent 227
2026-06-21 03:28:58 +03:00
e9ceb0f899
fix(html-embed): address code-review findings on the sandbox commit
claude_code
2026-06-21 03:22:37 +03:00
c0d312d8f5
harden(transclusion): depth-cap the ProseMirror collectors (#55 )
claude code agent 227
2026-06-21 03:17:37 +03:00
5215913533
fix(security): env-configurable trustProxy with a safe default (#61 )
claude code agent 227
2026-06-21 03:17:37 +03:00
e52f069fc6
fix(ws): resync the sidebar tree on socket reconnect (#66 )
claude code agent 227
2026-06-21 03:17:37 +03:00
ff342ca705
cleanup(page-embed): remove dead isPageEmbedCycle/isPageEmbedTooDeep (#71 )
claude code agent 227
2026-06-21 03:17:37 +03:00
afbc6b2202
docs(html-embed): correct the encode-catch comment (returns '', not raw) (#78 )
claude code agent 227
2026-06-21 03:17:37 +03:00
099d31f594
fix(ai): sandwich SAFETY_FRAMEWORK around the role persona (#68 )
claude code agent 227
2026-06-21 03:17:37 +03:00
212bcea4d7
fix(page): movePage cycle guard + no phantom PAGE_MOVED (#67 , #64 )
claude code agent 227
2026-06-21 03:08:34 +03:00
05a7a4001f
fix(share-ai): cap per-request output + unify provider errors (#60 , #95 )
claude code agent 227
2026-06-21 03:08:34 +03:00
5344a9bdde
fix(auth): handle null-password (SSO/LDAP-only) accounts without bcrypt throw (#70 )
claude code agent 227
2026-06-21 03:07:53 +03:00
d79f709742
fix(share): surface the real error on the share AI widget (#87 )
claude code agent 227
2026-06-21 03:07:53 +03:00
2b4ec0bfcc
fix(share-ai): reject non-text message parts to close size-cap bypass (#63 )
claude code agent 227
2026-06-21 03:07:53 +03:00
e19849d980
fix(share-ai): fail-closed workspace limiter on Redis failure (#62 )
claude code agent 227
2026-06-21 03:07:53 +03:00
20b9f61c3e
build: ignore TypeScript incremental build artifacts
claude_code
2026-06-21 02:48:46 +03:00
81823fce1e
feat(html-embed): sandbox the embed block; split trusted trackers into an admin field
claude_code
2026-06-21 02:48:41 +03:00
b98c9d51c6
docs(readme): sync roadmap with develop
claude_code
2026-06-21 02:44:38 +03:00
75c7c29cc8
docs: remove outdated backlog and RAG plan docs
claude_code
2026-06-21 02:36:54 +03:00
64818cf9df
Merge branch 'feat/share-ai-cost-guards' into develop
claude_code
2026-06-21 02:21:04 +03:00
262a0707d9
feat(share-ai): cap per-request output tokens and fail closed on Redis loss
claude_code
2026-06-21 02:13:04 +03:00
70c26f356a
docs(security): warn that APP_SECRET must never change after setup
claude_code
2026-06-21 02:04:36 +03:00
881610f5df
Merge pull request 'fix(html-embed): complete kill-switch on read paths (#28 ) + total strip helper (#30 )' (#46 ) from fix/html-embed-hardening into develop
claude_code
2026-06-21 01:59:40 +03:00
4bf6d9f36b
Merge develop into fix/html-embed-hardening (#46 )
claude_code
2026-06-21 01:59:22 +03:00
0944e0f455
Merge pull request 'fix(page-templates): tree marker (#38 ), embed chrome (#39 ), embed refresh (#40 )' (#45 ) from fix/page-template-demo-issues into develop
claude_code
2026-06-21 01:51:53 +03:00
d7681b4fb6
Merge develop into fix/page-template-demo-issues (#45 )
claude_code
2026-06-21 01:51:09 +03:00
d105397dcf
Merge pull request 'feat(ai-chat): auto-collapse chat window on page focus (#42 )' (#50 ) from feat/ai-chat-collapse-on-focus into develop
claude_code
2026-06-21 01:36:53 +03:00
8b8b05e005
Merge remote-tracking branch 'gitea/develop' into feat/ai-chat-collapse-on-focus
claude_code
2026-06-21 01:33:47 +03:00
4f5a08cba0
Merge pull request 'fix(ai-chat): resolve current page for agent context (#43 , hardness #1 )' (#47 ) from fix/ai-chat-current-page into develop
claude_code
2026-06-21 01:33:28 +03:00
3695dbdf7f
Merge remote-tracking branch 'gitea/develop' into fix/ai-chat-current-page
claude_code
2026-06-21 01:29:37 +03:00
ab51239cab
Merge pull request 'feat(share): public-share AI chat reuses internal chat presentation (#41 )' (#51 ) from feat/share-chat-reuse-internal into develop
claude_code
2026-06-21 01:29:17 +03:00
4fa8882c58
Merge remote-tracking branch 'gitea/develop' into feat/share-chat-reuse-internal
claude_code
2026-06-21 01:28:14 +03:00
eae68ba11f
Merge pull request 'fix(mcp): security review follow-ups (#24 )' (#48 ) from fix/mcp-security-followups into develop
claude_code
2026-06-21 01:28:10 +03:00
730486ad12
test(mcp): keep real mcp-auth.helpers in gate spec mock (forward-compat with #49 )
claude_code
2026-06-21 01:25:36 +03:00
5f3a3d3ec0
Merge remote-tracking branch 'gitea/develop' into fix/mcp-security-followups
claude_code
2026-06-21 01:21:57 +03:00
f63719a21c
fix(share): neutralize own-origin absolute links in public-share AI chat
claude_code
2026-06-21 01:20:11 +03:00
877806e0ce
Merge pull request 'ci: gate develop & release image builds on the test suite' (#59 ) from ci/gate-build-on-tests into develop
claude_code
2026-06-21 01:17:58 +03:00
0caceb614b
ci: gate develop & release image builds on the test suite
claude_code
2026-06-21 01:17:27 +03:00
987a4fd32e
Merge pull request 'ci: run test suites on push/PR + quarantine broken stock scaffolds' (#58 ) from ci/test-job into develop
claude_code
2026-06-21 00:44:49 +03:00
d96f94a80a
ci: run the test suites on push/PR + quarantine broken stock scaffolds
claude_code
2026-06-21 00:44:21 +03:00
8414114dc8
Merge pull request 'docs(backlog): extract non-test findings to issues #52-#56' (#57 ) from docs/extract-findings-to-issues into develop
claude_code
2026-06-21 00:25:30 +03:00
41efacbe3d
docs(backlog): move non-test findings out to issues #52-#56
claude_code
2026-06-21 00:25:05 +03:00
4348608ee4
Merge pull request 'test: cover features since 053a9c0d + repair test tooling' (#49 ) from test/feature-coverage into develop
claude_code
2026-06-21 00:20:15 +03:00
bd377ca4a8
docs(backlog): record deferred tests + non-test gaps from the coverage PR
claude_code
2026-06-21 00:19:39 +03:00
e0aac5aa04
feat(share): public-share AI chat reuses the internal chat's presentation (#41 )
claude code agent 227
2026-06-21 00:04:18 +03:00
f6e216cb87
feat(ai-chat): auto-collapse the chat window on page focus, expand on header (#42 )
claude code agent 227
2026-06-20 23:45:43 +03:00
90d3fab483
test: cover features since 053a9c0d + repair test tooling
claude_code
2026-06-20 23:40:40 +03:00
1f457b060c
fix(mcp): security review follow-ups (#24 )
claude code agent 227
2026-06-20 23:36:53 +03:00
424761753e
fix(html-embed): shrink the collab broadcast window with an early onChange guard (#26 )
claude code agent 227
2026-06-20 23:20:02 +03:00
b7ea8c850e
fix(html-embed): preserve admin's existing embed on a non-admin co-editor's store (#29 )
claude code agent 227
2026-06-20 23:02:01 +03:00
8191c37daa
test(html-embed): real-execution gate tests for create/duplicate/import (#27 )
claude code agent 227
2026-06-20 22:49:18 +03:00
39f3eacf89
test(page-templates): cover lookupTemplate anti-leak + edge cases (#33 )
claude code agent 227
2026-06-20 22:37:35 +03:00
bc1ea792f5
test(page-templates): cover duplicatePage pageEmbed remap + reference sync (#32 )
claude code agent 227
2026-06-20 22:37:35 +03:00
98769155d3
test(page-templates): cover client pageEmbed cycle/self-embed/depth guard (#31 )
claude code agent 227
2026-06-20 22:37:35 +03:00
4f46f91db4
test(page-templates): fix TransclusionService spec constructor arity
claude code agent 227
2026-06-20 22:22:56 +03:00
692c0abe13
Merge pull request 'feat(editor): footnotes (reference + definitions, collab-safe)' (#18 ) from feat/footnotes into develop
claude_code
2026-06-20 22:21:35 +03:00
c5f44a6eee
Merge branch 'develop' into feat/footnotes
claude_code
2026-06-20 22:21:07 +03:00
a6ba19f0dc
feat(ai-chat): add get_current_page tool for proxy-robust page context (#43 , hardness #2 )
claude code agent 227
2026-06-20 22:19:40 +03:00
ada1dce739
fix(ai-chat): resolve the current page for agent context (#43 , hardness #1 )
claude code agent 227
2026-06-20 21:57:03 +03:00
8ee4279d30
harden(html-embed): make stripHtmlEmbedNodes total with a root-type check (#30 )
claude code agent 227
2026-06-20 21:52:32 +03:00
6a052b88b4
fix(html-embed): strip embeds at serve time on authenticated read paths (#28 )
claude code agent 227
2026-06-20 21:52:32 +03:00
79d096ed7a
fix(page-templates): defense-in-depth workspace checks (#36 )
claude code agent 227
2026-06-20 21:42:49 +03:00
a15cccf557
chore(page-templates): remove dead findReferencePageIdsBySource (#34 )
claude code agent 227
2026-06-20 21:42:49 +03:00