2025-06-29 - 2026-06-29

Overview

78 Active Pull Requests
155 Active Issues
Excluding merges, 22 authors have pushed 538 commits to main and 1109 commits to all branches. On main, 1335 files have changed and there have been 166097 additions and 61454 deletions.

3 Releases published by 1 user

Published v0.94.1 2026-06-26 19:33:57 +03:00

Published v0.94.0 2026-06-26 18:23:28 +03:00

Published v0.93.0 2026-06-21 14:10:00 +03:00

66 Pull requests merged by 2 users

Merged #231 refactor(agent-roles-catalog): YAML catalog with block-scalar instructions (#229) 2026-06-29 01:20:40 +03:00

Merged #250 feat(#243): in-RAM blob sandbox (anonymous GET by UUID, TTL, ETag) + stash_page tool with image mirroring 2026-06-28 21:01:14 +03:00

Merged #232 feat(footnotes): author-inline footnotes + deterministic server canonicalization (#228) 2026-06-28 02:23:28 +03:00

Merged #230 fix(ui)+test: QA UI bugs (#216 #218) + test coverage (#206 #204 #192) 2026-06-27 22:50:19 +03:00

Merged #227 fix(share): custom address edit renames in place instead of duplicating (#226) 2026-06-27 03:53:33 +03:00

Merged #209 feat(ai-chat): auto-open last chat bound to the document (#191) 2026-06-27 02:56:32 +03:00

Merged #222 feat(ai-roles): импортируемый мультиязычный каталог ролей агента 2026-06-27 02:39:28 +03:00

Merged #225 fix(temporary-notes): tree clock marker updates without reload + mobile-friendly full-width create buttons 2026-06-27 01:39:10 +03:00

Merged #224 fix(ai-chat): assistant turn renders nothing — memo signature defeated by AI-SDK in-place part mutation (#182 regression) 2026-06-26 22:09:06 +03:00

Merged #202 feat(ai-chat): load full transcript for model history (drop 50-msg window) 2026-06-26 20:55:51 +03:00

Merged #210 feat(ai): generate page title from content (#199) 2026-06-26 20:55:36 +03:00

Merged #211 feat(ai-chat): interrupt agent + send queued message, keeping partial output (#198) 2026-06-26 20:55:20 +03:00

Merged #215 feat(page): temporary notes — auto-trash after X hours unless made permanent (#201) 2026-06-26 20:54:56 +03:00

Merged #214 feat(share): custom /l/:alias pretty links (share_aliases table) (#205) 2026-06-26 20:00:51 +03:00

Merged #197 Батч: бейдж контекста (#189) + e2e в CI (#187) + inline-тест MCP (#170) 2026-06-26 18:09:48 +03:00

Merged #212 fix: bug batch — #161 #190 #207 #159 + #206 findings 2026-06-26 17:43:56 +03:00

Merged #185 Батч: ai-chat/footnotes/mcp/db/tree + red-team (#163 #181 #164 #173 #168 #180 + #159 8/10) 2026-06-25 12:49:15 +03:00

Merged #186 feat(ai-chat): persistent history as source of truth — step durability + server export (#183) 2026-06-25 12:40:36 +03:00

Merged #165 fix(ai-chat): WYSIWYG Copy chat export + first-turn export (#160, #174) 2026-06-25 03:54:35 +03:00

Merged #179 fix(ai-chat): recycle keep-alive sockets + retry pre-response resets (#175) 2026-06-25 00:11:51 +03:00

Merged #177 feat(ai-chat): surface reasoning from openai-compatible providers (z.ai/GLM) (#175) 2026-06-24 23:19:15 +03:00

Merged #176 fix(ai-chat): don't sever long agent turns at undici's 300s stream timeout (#175) 2026-06-24 22:34:19 +03:00

Merged #172 fix(mcp): tool allowlist stored/read as jsonb string, not array (edit-page crash + allowlist not enforced) 2026-06-24 17:14:57 +03:00

Merged #171 test(footnotes): cover footnoteWarnings import plumbing + doc fixes (#169 second review) 2026-06-24 16:46:23 +03:00

Merged #169 feat(footnotes): reuse semantics + import diagnostics (#166) 2026-06-24 16:39:00 +03:00

Merged #154 fix(mcp): structural-diff write-back so agent edits don't jump the cursor (#152) 2026-06-24 14:49:47 +03:00

Merged #155 feat(editor): recursive tree mode for the subpages node (#150) 2026-06-24 14:35:18 +03:00

Merged #157 feat(editor): float image with text wrap (#145) 2026-06-24 14:04:04 +03:00

Merged #158 feat(ai-chat): realtime token counter + reasoning tokens (#151) 2026-06-24 13:07:52 +03:00

Merged #156 feat(ai-chat): per-role autoStart toggle + custom launchMessage (#149) 2026-06-24 12:43:43 +03:00

Merged #147 fix(editor): render NodeViewContent first so click hit-testing isn't offset (#146) 2026-06-24 04:40:59 +03:00

Merged #143 feat(comments): attribute MCP agent comments as AI (unspoofable provenance) 2026-06-24 02:05:07 +03:00

Merged #142 test: unit tests for the 10 candidates (#139) 2026-06-23 04:16:51 +03:00

Merged #141 fix(ai-http): fail fast + retry on provider header stall (#140) 2026-06-23 04:16:38 +03:00

Merged #138 fix(ai-chat): adopt the server-returned chat id (two-tab adoption race #137) 2026-06-23 03:35:04 +03:00

Merged #135 fix(qa): resolve QA-pass issues #122–#134 2026-06-22 21:07:19 +03:00

Merged #121 feat(ai-chat): role cards start the chat and show role identity 2026-06-21 16:28:51 +03:00

Merged #117 chore: finish the 3 remaining open issues (#93 move-snapshot, #62 cap, #109 ru-RU i18n) 2026-06-21 14:27:03 +03:00

Merged #110 test: review-batch-2 follow-up coverage (sandbox html-embed, #101 fixes, i18n) 2026-06-21 05:55:11 +03:00

Merged #101 fix: review/red-team batch 2 — 30 issues (security, ws, page-templates, html-embed, mcp, tests, docs) 2026-06-21 05:47:05 +03:00

Merged #46 fix(html-embed): complete kill-switch on read paths (#28) + total strip helper (#30) 2026-06-21 01:59:41 +03:00

Merged #45 fix(page-templates): tree marker (#38), embed chrome (#39), embed refresh (#40) 2026-06-21 01:51:54 +03:00

Merged #50 feat(ai-chat): auto-collapse chat window on page focus (#42) 2026-06-21 01:36:54 +03:00

Merged #47 fix(ai-chat): resolve current page for agent context (#43, hardness #1) 2026-06-21 01:33:29 +03:00

Merged #51 feat(share): public-share AI chat reuses internal chat presentation (#41) 2026-06-21 01:29:18 +03:00

Merged #48 fix(mcp): security review follow-ups (#24) 2026-06-21 01:28:10 +03:00

Merged #59 ci: gate develop & release image builds on the test suite 2026-06-21 01:17:59 +03:00

Merged #58 ci: run test suites on push/PR + quarantine broken stock scaffolds 2026-06-21 00:44:49 +03:00

Merged #57 docs(backlog): extract non-test findings to issues #52-#56 2026-06-21 00:25:30 +03:00

Merged #49 test: cover features since 053a9c0d + repair test tooling 2026-06-21 00:20:16 +03:00

Merged #18 feat(editor): footnotes (reference + definitions, collab-safe) 2026-06-20 22:21:37 +03:00

Merged #17 feat(editor): page templates — live whole-page embed (MVP) 2026-06-20 20:34:44 +03:00

Merged #16 feat(editor): admin-only raw HTML/CSS/JS embed (variant C) 2026-06-20 20:19:06 +03:00

Merged #25 feat(public-share): selectable agent-role identity + fix floating-icon overlap 2026-06-20 19:59:49 +03:00

Merged #15 feat(tree): server-authoritative realtime tree updates 2026-06-20 19:48:36 +03:00

Merged #13 feat(mcp): per-user auth for /mcp (HTTP Basic, server-validated) 2026-06-20 19:32:03 +03:00

Merged #14 feat(ai): anonymous AI assistant on public shares 2026-06-20 18:41:17 +03:00

Merged #11 feat(ai-chat): agent roles (admin persona + optional model) 2026-06-20 18:31:11 +03:00

Merged #10 test(ai-chat): crypto/SSRF/assistant-parts coverage + a11y + refactors 2026-06-20 18:10:33 +03:00

Merged #9 feat(ai-chat): step cap 8→20 + forced final text answer 2026-06-20 17:47:37 +03:00

Merged #23 feat(tree): Expand all / Collapse all for the space page tree 2026-06-20 17:40:30 +03:00

Merged #19 feat(ai-settings): rebind endpoint status dot to configured x enabled 2026-06-20 17:22:23 +03:00

Merged #20 feat(ai-settings): put Clear inside the API key field, drop the eye 2026-06-20 17:18:55 +03:00

Merged #5 feat(comments): denser comments panel 2026-06-20 17:10:31 +03:00

Merged #2 docs: replace CLAUDE.md with AGENTS.md, codify agent workflow 2026-06-20 04:19:04 +03:00

Merged #1 refactor(import): remove non-functional DOCX/PDF/Confluence import stubs 2026-06-20 04:07:41 +03:00

12 Pull requests proposed by 2 users

141 Issues closed from 2 users

Closed #229 [refactor][agent-roles-catalog] Перевод каталога ролей на YAML (instructions блок-скаляром, построчные диффы) 2026-06-29 01:20:41 +03:00

Closed #243 In-memory blob-sandbox для передачи контента агентом (Docmost → Habr) + миррор картинок 2026-06-28 21:01:14 +03:00

Closed #245 [test] Тест-стратегия #204: оставшиеся фазы (хвост Ф2 + Ф3 безопасность/DB-харнесс + Ф4 контракты) 2026-06-28 03:46:13 +03:00

Closed #204 Тест-стратегия: аудит покрытия и план тестов (10 модулей) 2026-06-28 03:43:29 +03:00

Closed #206 Отчет редтима, написать тесты, потенциально баги 2026-06-28 03:43:29 +03:00

Closed #218 [bug][ui] Автотест стенда (проход #2): share-not-bound-to-shareId, new-page-empty-body, editor-read-only-window, breadcrumb-lag, page-info-leak, callout-paste 2026-06-28 03:43:28 +03:00

Closed #192 [test][ai-chat] Отложенные интеграционные тесты AiChatService.stream (рефактор R1-stream) 2026-06-28 03:43:28 +03:00

Closed #228 feat(footnotes): инлайновое авторство сносок + серверная канонизация (порядок/дедуп, без доступа агента к списку) 2026-06-28 02:23:28 +03:00

Closed #241 [QA-trace][#184 7/7 финал] Верификация autonomous-runs: инвариант ДЕРЖИТСЯ (real z.ai) + 1 medium TOCTOU-гонка → чиню 2026-06-27 23:32:05 +03:00

Closed #216 [bug][ui] Автотест стенда: 3 UI-бага (stale-editor island, flushSync warning, share includeSubPages default) 2026-06-27 22:50:20 +03:00

Closed #239 [QA-trace][#221 5/7] Верификация image-captions: ФИЧА РАБОТАЕТ (0 багов) + процесс-фидбэк (verifier недо-сэмплил) 2026-06-27 18:50:03 +03:00

Closed #236 [QA-trace][#119 2/7] Процесс-отчёт прогона web-test-orchestrator (git-sync) — стабильность vs прогон 1 2026-06-27 18:50:03 +03:00

Closed #237 [QA-trace][#120 3/7] Процесс-отчёт web-test-orchestrator (offline-sync/PWA): агенты, SW-техника, фолс-позитивы 2026-06-27 18:50:03 +03:00

Closed #235 [QA-trace][#119 1/7] Процесс-отчёт прогона web-test-orchestrator (git-sync): агенты, инструменты, фолс-позитивы 2026-06-27 18:50:03 +03:00

Closed #240 [QA-trace][#228 6/7] Верификация footnotes: 🔴 ФИЧА СЛОМАНА на import-пути (канонизатор не подключён в apps/server) — чиню 2026-06-27 18:50:03 +03:00

Closed #238 [QA-trace][#120 4/7] Процесс-отчёт web-test-orchestrator (offline) — дедуп-провал: 6 находок = 1 корень 2026-06-27 18:50:03 +03:00

Closed #191 ИИ-чат: привязка чатов к документам (авто-открытие последнего чата документа) 2026-06-27 02:56:32 +03:00

Closed #226 [bug][share] Кастомный адрес (/l/:alias) не обновляется при редактировании: Save создаёт дубликат вместо переименования 2026-06-27 02:51:57 +03:00

Closed #220 [report][#120] Автотест offline-sync — подробный отчёт (PWA/офлайн: 6 багов вкл. 3 HIGH data-loss, граница WIP, мета-отчёт) 2026-06-26 20:59:42 +03:00

Closed #223 [report][#119] Повторный автотест git-sync (после фиксов) — дублирование мёртво, open-editor converged; вскрыта клиентская collab-race (HIGH) + same-para conflict git-wins 2026-06-26 20:59:32 +03:00

Closed #199 Фича: кнопка автогенерации названия заметки через AI 2026-06-26 20:55:36 +03:00

Closed #198 AI-чат: прервать агента сообщением, сохранив частичный вывод («отправить прям щас») 2026-06-26 20:55:21 +03:00

Closed #201 [feature] «Временные заметки»: автоперенос в корзину через X часов (структурируй или умри) 2026-06-26 20:54:56 +03:00

Closed #205 [feature][share] Кастомные адреса для шаринга: /l/:alias (отдельная таблица share_aliases, перенацеливаемый адрес) 2026-06-26 20:00:51 +03:00

Closed #187 [test][ci] e2e на каждый коммит в develop: не блокируют deploy, уведомление по почте 2026-06-26 18:09:49 +03:00

Closed #170 [feature][ai-chat] Кнопка «Test» на каждой строке списка внешних MCP-серверов (inline-статус подключения) 2026-06-26 18:09:49 +03:00

Closed #189 [feature][ai-chat] Бейдж контекста в шапке: показывать «текущий / максимум»; максимум — из настроек AI 2026-06-26 18:09:48 +03:00

Closed #161 [bug][ai-chat] «New chat» во время стрима первого ответа не сбрасывает чат, а лишь убирает бейдж роли 2026-06-26 17:43:56 +03:00

Closed #159 [security][audit] Red-team аудит (85db20f9..HEAD): потеря страниц, утечка title шара, ИИ правит не ту страницу, кап стоимости, CI 2026-06-26 17:43:56 +03:00

Closed #190 [bug][ai-chat] Tool-call валидация отдаёт модели сырое zod-сообщение вместо понятного (роняется pageId в параллельной партии) 2026-06-26 17:43:56 +03:00

Closed #207 git-sync red-team #7/#8: ядро Docmost — move-TOCTOU цикл A↔B + рекурсивные CTE без cycle-guard 2026-06-26 17:43:56 +03:00

Closed #219 [report] Автономное тестирование стенда — проход #2 (подробный отчёт: агенты, стадии, who-found-what, real-vs-false, улучшения процесса) 2026-06-26 17:09:38 +03:00

Closed #217 [report] Автономное тестирование стенда — подробный отчёт (агенты, стадии, находки, real-vs-false, предложения) 2026-06-26 17:09:32 +03:00

Closed #178 feat(ai-chat): показывать reasoning live во время фазы «думания» (до начала ответа) 2026-06-25 20:50:48 +03:00

Closed #151 [feature][ai-chat] Реалтайм-счётчик токенов (включая токены размышления), как в Claude Code 2026-06-25 13:20:37 +03:00

Closed #145 Обтекание картинки текстом (float image) — порт из Forkmost 2026-06-25 13:20:27 +03:00

Closed #150 [feature][editor] Рекурсивная нода subpages: дерево всех страниц-детей текущей страницы 2026-06-25 13:20:21 +03:00

Closed #181 [feature][ai-chat] Компактный рендеринг блока «Thinking»: схлопывать пустые строки (\n\n) в reasoning 2026-06-25 12:49:15 +03:00

Closed #173 Хвосты по ревью PR #172: тот же jsonb double-encoding в jsonbObject (роли агента) + централизация и тесты 2026-06-25 12:49:15 +03:00

Closed #163 [bug][ai-chat] Счётчик токенов в шапке не тикает в реальном времени между шагами агента (регрессия #151) 2026-06-25 12:49:15 +03:00

Closed #164 [bug][mcp] replaceImage всё ещё дёргает курсор: mutateLiveContentUnlocked пишет деструктивно (продолжение #152) 2026-06-25 12:49:15 +03:00

Closed #168 [feature][footnotes] Мульти-бэклинки: определение возвращает ко ВСЕМ своим ссылкам (продолжение #166) 2026-06-25 12:49:15 +03:00

Closed #180 Фича: инструкция по работе с MCP-сервером в системном промпте агента 2026-06-25 12:49:15 +03:00

Closed #183 AI-чат: персистентная история как источник истины — серверный экспорт и возобновление до конца шага 2026-06-25 12:40:36 +03:00

Closed #175 ломается коннект на длинных задачах 2026-06-25 10:57:12 +03:00

Closed #174 [bug][ai-chat] Нельзя скопировать незавершённое сообщение: кнопка «Copy chat» скрыта во время первого стрима нового чата 2026-06-25 03:54:35 +03:00

Closed #160 [bug][ai-chat] Экспорт чата («Copy chat») теряет то, что показано на экране, когда стрим оборвался 2026-06-25 03:54:35 +03:00

Closed #166 [feature][footnotes] Reuse сносок (много ссылок → одна сноска) + предупреждения о пустых/битых сносках при импорте 2026-06-24 16:39:00 +03:00

Closed #152 [bug][ai-chat] Комментарии агента сбрасывают курсор в конец статьи (регрессия) 2026-06-24 14:49:47 +03:00

Closed #149 [feature][ai-chat] Настраиваемый авто-запуск роли («скилла»): тумблер autoStart + поле «сообщение для запуска» 2026-06-24 12:48:34 +03:00

Closed #146 bug(editor): каретка/выделение сдвигается вверх в NodeView со служебным contentEditable=false перед NodeViewContent (code block + сноски) 2026-06-24 04:40:59 +03:00

Closed #139 Кандидаты на юнит-тесты (из gap-аудита QA-плана PR #136) 2026-06-24 00:44:12 +03:00

Closed #140 [bug][ai-chat] z.ai (GLM-5.2 coding plan) intermittently stalls/RSTs the chat stream (UND_ERR_HEADERS_TIMEOUT / ECONNRESET) 2026-06-23 04:16:38 +03:00

Closed #137 [bug][ai-chat] New chat adopts the wrong chat id under a two-tab race → turns leak into another chat 2026-06-23 03:35:04 +03:00

Closed #131 [ux] Casing & terminology inconsistencies (Untitled/untitled, uppercased space names, confirm-button labels) 2026-06-22 21:07:20 +03:00

Closed #130 [ux] Raw Zod validation strings shown to users ("Too small: expected string to have >=N characters") 2026-06-22 21:07:20 +03:00

Closed #133 [ux] Misc polish & consistency nits (dictation message, mark-all-read, invalid-invite page, reader Share button, non-admin AI settings, avatar) 2026-06-22 21:07:20 +03:00

Closed #134 [bug][ai-search] "Reindex now" counter does not update (stale until reload) — reindex runs async but the UI reads coverage once and never polls 2026-06-22 21:07:19 +03:00

Closed #129 [bug][search] Spotlight rough edges: "1 results", duplicated no-results message, dead Type filter, silent empty for short queries 2026-06-22 21:07:19 +03:00

Closed #127 [bug][validation] Workspace name update accepts URLs and empty values (NoUrls/min-length enforced only at setup); error message is generic 2026-06-22 21:07:19 +03:00

Closed #126 [bug][ai-chat] AI chat window position/size not persisted across reload 2026-06-22 21:07:19 +03:00

Closed #128 [ux] Inconsistent / missing success toasts across actions (favorites, labels, avatar, member deactivate/reactivate) 2026-06-22 21:07:19 +03:00

Closed #132 [bug][console] Recurring console errors on editor load: SVG calc() width/height + share-for-page query returns undefined 2026-06-22 21:07:19 +03:00

Closed #125 [bug][spaces] Space slug auto-generation produces uppercase initials for multi-word names 2026-06-22 21:07:19 +03:00

Closed #124 [bug][editor] Slash command whose name contains a space (e.g. "/Heading 1") inserts literal text instead of the block 2026-06-22 21:07:19 +03:00

Closed #123 [bug][collab] Uncaught jwtDecode(undefined) on collab auth failure; editor never reconnects 2026-06-22 21:07:19 +03:00

Closed #122 [bug][collab] collab-token throttled by the anonymous public-share-AI limiter (5/min) → collaboration sync breaks after a few page opens 2026-06-22 21:07:19 +03:00

Closed #93 arch/realtime-tree: единый restriction-aware emit + единый снапшот move-аудитории (emitTreeEvent дублирует emitCommentEvent; окно гонки на move) 2026-06-21 14:25:22 +03:00

Closed #109 i18n(ai-chat): наполнить все локали строками AI-чата (сейчас только en-US, ru-RU частично) 2026-06-21 14:25:22 +03:00

Closed #62 fix(share-ai): fail-closed workspace limiter + lower default cap (RT-6.3) 2026-06-21 14:25:22 +03:00

Closed #90 arch/html-embed: вынести повторяющийся admin-gate strip (7 call-site) в один тестируемый хелпер 2026-06-21 14:10:36 +03:00

Closed #108 test(share-ai): нет тестов на условную подпись ассистента (typing-indicator / message-item) 2026-06-21 14:10:36 +03:00

Closed #106 test: cover user-provider reconnect-resync branch 2026-06-21 14:10:36 +03:00

Closed #105 test: export + unit-test resolveTrustProxy (#61) 2026-06-21 14:10:36 +03:00

Closed #102 test: cover movePage server-side cycle guard (#67) 2026-06-21 14:10:35 +03:00

Closed #104 test: cover resolveShareAiMaxOutputTokens output-token cap (#60) 2026-06-21 14:10:35 +03:00

Closed #103 test: drive the non-text message-part rejection 400 path (#63) 2026-06-21 14:10:35 +03:00

Closed #100 Тесты: покрыть инъекцию trackerHead в ShareSeoController (+ no-op ветка аудита trackerHead) 2026-06-21 14:10:34 +03:00

Closed #92 arch/public-share: единый ShareService.resolveReadableSharePage вместо трёх копий резолва (shareId,pageId)->страница 2026-06-21 14:10:34 +03:00

Closed #94 arch/page-templates: page_template_references пишется, но не читается (мёртвая поверхность) + триплицированный sync + дубль lookup-context 2026-06-21 14:10:34 +03:00

Closed #95 arch/ai-chat: завершить унификацию (live+enabled резолв роли в одном месте; describeProviderError на анонимном пути) 2026-06-21 14:10:34 +03:00

Closed #99 test: покрыть тестами sandbox HTML-embed и trackerHead (ревью 81823fce..HEAD) 2026-06-21 14:10:34 +03:00

Closed #91 arch/mcp-auth: устранить дрейф между enforceBasicLoginGate и AuthController.login (общий pre-token гейт или coupling-тест) 2026-06-21 14:10:33 +03:00

Closed #87 public-share: share-ai-widget показывает generic «Something went wrong», игнорируя error.message (нарушает AGENTS.md и паттерн describeChatError) 2026-06-21 14:10:33 +03:00

Closed #89 docs: синхронизировать AGENTS.md и README с уже зашитыми фичами (дрейф документации) 2026-06-21 14:10:33 +03:00

Closed #88 ai-roles: guard от конкурентного soft-delete в update() не покрыт тестом 2026-06-21 14:10:33 +03:00

Closed #85 public-share: положительная ветка getSharePage (возврат санитизированного контента анонимной модели) без тестов 2026-06-21 14:10:32 +03:00

Closed #78 html-embed: комментарий обещает «fall back to raw», а catch возвращает "" (теряет данные) 2026-06-21 14:10:32 +03:00

Closed #83 mcp-auth: check-then-act гонка позволяет конкурентным запросам обойти порог brute-force лимитера /mcp 2026-06-21 14:10:32 +03:00

Closed #84 mcp-auth: MCP_TOKEN перенесён с Authorization: Bearer на заголовок X-MCP-Token — молча ломает существующие /mcp-клиенты (breaking) 2026-06-21 14:10:32 +03:00

Closed #71 [cleanup][page-templates] Мёртвые isPageEmbedCycle/isPageEmbedTooDeep — удалить или переиспользовать в decideEmbedState 2026-06-21 14:10:31 +03:00

Closed #72 ws/realtime-tree: реалтайм-переименование и смена иконки страницы не доходят до других клиентов (регрессия) 2026-06-21 14:10:31 +03:00

Closed #75 test: sidebar-pages-tree.spec тестирует копию продакшен-логики; обоснование про jest-config неверно 2026-06-21 14:10:31 +03:00

Closed #68 fix(ai): sandwich SAFETY_FRAMEWORK around role persona (RT-32) 2026-06-21 14:10:30 +03:00

Closed #70 Null-password (SSO/LDAP-only) accounts: bcrypt throw → 500 on /api/auth/login, leaky 401 + brute-force-limiter evasion on /mcp 2026-06-21 14:10:30 +03:00

Closed #66 fix(ws): resync sidebar tree on socket reconnect (RT-24) 2026-06-21 14:10:30 +03:00

Closed #67 fix(page): server-side cycle check in movePage (RT-21) 2026-06-21 14:10:30 +03:00

Closed #64 fix(ws): emit PAGE_MOVED only when the row actually changed (RT-26) 2026-06-21 14:10:29 +03:00

Closed #63 fix(share-ai): reject non-text message parts to close size-cap bypass (RT-19) 2026-06-21 14:10:29 +03:00

Closed #56 test-infra: починить jest DI + lib0 ESM (16 падающих сьютов) 2026-06-21 14:10:28 +03:00

Closed #61 fix(security): make trustProxy safe so per-IP throttle can't be XFF-spoofed (RT-6.2) 2026-06-21 14:10:28 +03:00

Closed #60 feat(share-ai): cap per-request output with maxOutputTokens (RT-6.1) 2026-06-21 14:10:28 +03:00

Closed #55 transclusion: cycle-guard в collectPageEmbedsFromPmJson 2026-06-21 14:10:27 +03:00

Closed #53 ws: restriction-cache не инвалидируется — 30-секундное окно утечки 2026-06-21 14:10:27 +03:00

Closed #54 page-embed: серверный guard глубины/циклов раскрытия 2026-06-21 14:10:27 +03:00

Closed #98 [test-coverage] Тесты для security-рефактора html-embed (commit 81823fce): sandbox + trackerHead 2026-06-21 05:55:11 +03:00

Closed #107 docs(share-ai): сообщение коммита 18105ff описывает серверные изменения, которых нет в его диффе 2026-06-21 05:49:34 +03:00

Closed #52 ai-roles: нет серверной валидации модели роли + дрейф enum драйверов 2026-06-21 05:47:05 +03:00

Closed #86 public-share: инструмент listSharePages полностью без тестов 2026-06-21 04:15:11 +03:00

Closed #97 test (сквозное): security-нагруженные гейты исполнения и fail-closed ветки системно не покрыты 2026-06-21 04:15:11 +03:00

Closed #96 test (сквозное): анти-паттерн «спека тестирует копию продакшен-логики» + неработающие сьюты security-фич 2026-06-21 04:15:11 +03:00

Closed #82 mcp-auth: тело enforceBasicLoginGate (закрытие SSO/MFA-байпаса) не покрыто тестами 2026-06-21 03:02:12 +03:00

Closed #81 page-templates: catch-ветка lookupTemplate (fail-closed в not_found при битом контенте) без тестов 2026-06-21 03:02:12 +03:00

Closed #80 page-templates: insertTemplateReferencesForPages (кросс-workspace guard на дублировании/импорте) без тестов 2026-06-21 03:02:12 +03:00

Closed #77 html-embed: клиентский гейт исполнения JS (shouldExecute) не покрыт тестами 2026-06-21 03:02:11 +03:00

Closed #79 page-templates: спеки transclusion не компилируются (TS2554, 11 vs 10 аргументов) — 0 тестов, проверки безопасности отключены 2026-06-21 03:02:11 +03:00

Closed #76 collab: незащищённый workspaceRepo.findById в onStoreDocument может потерять финальное сохранение страницы 2026-06-21 03:02:10 +03:00

Closed #74 ws: PageWsListener.onPageDeleted/onPageMoved/onPageRestored без тестов 2026-06-21 03:02:09 +03:00

Closed #69 fix(mcp): pin Bearer workspaceId to the default workspace (RT-16) 2026-06-21 03:02:08 +03:00

Closed #73 page-tree: collectAllIds/collectBranchIds (Expand/Collapse all) без тестов 2026-06-21 03:02:08 +03:00

Closed #65 fix(ws): don't drop a tree node when destination parent isn't loaded (RT-28) 2026-06-21 03:02:07 +03:00

Closed #29 html-embed: conservative collab strip removes admin's embed on a non-admin co-editor's store 2026-06-21 03:02:07 +03:00

Closed #44 [footnotes] Слишком большой промежуток между номером и текстом определения 2026-06-21 03:02:07 +03:00

Closed #27 html-embed: upgrade create/duplicate/import gate tests from source-regex to real execution 2026-06-21 03:02:06 +03:00

Closed #26 html-embed: close collab broadcast window (transient embed executes in concurrent editors before persist strip) 2026-06-21 03:02:06 +03:00

Closed #37 [nit][page-templates] //@ts-ignore style in duplicatePage pageEmbed remap 2026-06-21 02:05:35 +03:00

Closed #36 [hardening][page-templates] Defense-in-depth: workspace checks + throttle fan-out 2026-06-21 02:05:33 +03:00

Closed #35 [bug][page-templates] lookup context can strand an id in-flight on a partial server response 2026-06-21 02:05:32 +03:00

Closed #34 [cleanup][page-templates] Remove or wire dead findReferencePageIdsBySource 2026-06-21 02:05:31 +03:00

Closed #33 [test][page-templates] Cover lookupTemplate catch->not_found anti-leak, soft-deleted source, cap test, onlyTemplates 2026-06-21 02:05:29 +03:00

Closed #32 [test][page-templates] Cover duplicatePage pageEmbed remap + template reference sync 2026-06-21 02:05:28 +03:00

Closed #31 [test][page-templates] Cover client-side pageEmbed cycle / self-embed / depth guard 2026-06-21 02:05:27 +03:00

Closed #40 [page-templates] Refresh эмбеда не обновляет контент (lag коллаб-персиста) + нужна матрица веб-тестов 2026-06-21 02:05:25 +03:00

Closed #39 [page-templates] Дизайн узла page-embed: двойная рамка + дублирующиеся кнопки 2026-06-21 02:05:24 +03:00

Closed #30 html-embed: minor hardening (strip root-node type-check; document client read-only relies solely on server strip) 2026-06-21 02:05:22 +03:00

Closed #43 [bug][ai-chat] Хрупкая передача «текущей страницы» агенту: openPage всегда null + контекст только в system-промпте 2026-06-21 02:01:08 +03:00

Closed #28 html-embed: complete the kill-switch — strip embeds at serve time on all read paths (not just shares) 2026-06-21 01:59:41 +03:00

Closed #38 [page-templates] Помечать template-страницы значком в дереве 2026-06-21 01:51:54 +03:00

Closed #42 [feature][ai-chat] Авто-сворачивание окна чата в шапку при фокусе на странице, разворот по клику 2026-06-21 01:36:55 +03:00

Closed #41 Внешний (public-share) AI-чат расходится с внутренним: нет стриминга/typing — переиспользовать внутренний код 2026-06-21 01:29:18 +03:00

Closed #24 mcp-per-user-auth (#13): security review follow-ups (hardening + cleanup) 2026-06-21 01:28:11 +03:00

155 Issues created by 3 users

Opened #24 mcp-per-user-auth (#13): security review follow-ups (hardening + cleanup) 2026-06-20 19:32:43 +03:00

Opened #29 html-embed: conservative collab strip removes admin's embed on a non-admin co-editor's store 2026-06-20 20:31:53 +03:00

Opened #28 html-embed: complete the kill-switch — strip embeds at serve time on all read paths (not just shares) 2026-06-20 20:31:53 +03:00

Opened #27 html-embed: upgrade create/duplicate/import gate tests from source-regex to real execution 2026-06-20 20:31:53 +03:00

Opened #26 html-embed: close collab broadcast window (transient embed executes in concurrent editors before persist strip) 2026-06-20 20:31:53 +03:00

Opened #30 html-embed: minor hardening (strip root-node type-check; document client read-only relies solely on server strip) 2026-06-20 20:31:54 +03:00

Opened #31 [test][page-templates] Cover client-side pageEmbed cycle / self-embed / depth guard 2026-06-20 20:35:47 +03:00

Opened #32 [test][page-templates] Cover duplicatePage pageEmbed remap + template reference sync 2026-06-20 20:35:47 +03:00

Opened #33 [test][page-templates] Cover lookupTemplate catch->not_found anti-leak, soft-deleted source, cap test, onlyTemplates 2026-06-20 20:35:48 +03:00

Opened #34 [cleanup][page-templates] Remove or wire dead findReferencePageIdsBySource 2026-06-20 20:36:06 +03:00

Opened #36 [hardening][page-templates] Defense-in-depth: workspace checks + throttle fan-out 2026-06-20 20:36:07 +03:00

Opened #35 [bug][page-templates] lookup context can strand an id in-flight on a partial server response 2026-06-20 20:36:07 +03:00

Opened #37 [nit][page-templates] //@ts-ignore style in duplicatePage pageEmbed remap 2026-06-20 20:36:07 +03:00

Opened #38 [page-templates] Помечать template-страницы значком в дереве 2026-06-20 20:45:18 +03:00

Opened #39 [page-templates] Дизайн узла page-embed: двойная рамка + дублирующиеся кнопки 2026-06-20 20:48:21 +03:00

Opened #40 [page-templates] Refresh эмбеда не обновляет контент (lag коллаб-персиста) + нужна матрица веб-тестов 2026-06-20 20:49:59 +03:00

Opened #41 Внешний (public-share) AI-чат расходится с внутренним: нет стриминга/typing — переиспользовать внутренний код 2026-06-20 20:54:31 +03:00

Opened #42 [feature][ai-chat] Авто-сворачивание окна чата в шапку при фокусе на странице, разворот по клику 2026-06-20 21:01:53 +03:00

Opened #43 [bug][ai-chat] Хрупкая передача «текущей страницы» агенту: openPage всегда null + контекст только в system-промпте 2026-06-20 21:02:00 +03:00

Opened #44 [footnotes] Слишком большой промежуток между номером и текстом определения 2026-06-20 21:02:02 +03:00

Opened #53 ws: restriction-cache не инвалидируется — 30-секундное окно утечки 2026-06-21 00:23:41 +03:00

Opened #52 ai-roles: нет серверной валидации модели роли + дрейф enum драйверов 2026-06-21 00:23:41 +03:00

Opened #54 page-embed: серверный guard глубины/циклов раскрытия 2026-06-21 00:23:42 +03:00

Opened #55 transclusion: cycle-guard в collectPageEmbedsFromPmJson 2026-06-21 00:23:42 +03:00

Opened #56 test-infra: починить jest DI + lib0 ESM (16 падающих сьютов) 2026-06-21 00:23:42 +03:00

Opened #60 feat(share-ai): cap per-request output with maxOutputTokens (RT-6.1) 2026-06-21 01:56:54 +03:00

Opened #61 fix(security): make trustProxy safe so per-IP throttle can't be XFF-spoofed (RT-6.2) 2026-06-21 01:56:54 +03:00

Opened #65 fix(ws): don't drop a tree node when destination parent isn't loaded (RT-28) 2026-06-21 01:56:55 +03:00

Opened #64 fix(ws): emit PAGE_MOVED only when the row actually changed (RT-26) 2026-06-21 01:56:55 +03:00

Opened #62 fix(share-ai): fail-closed workspace limiter + lower default cap (RT-6.3) 2026-06-21 01:56:55 +03:00

Opened #66 fix(ws): resync sidebar tree on socket reconnect (RT-24) 2026-06-21 01:56:55 +03:00

Opened #63 fix(share-ai): reject non-text message parts to close size-cap bypass (RT-19) 2026-06-21 01:56:55 +03:00

Opened #68 fix(ai): sandwich SAFETY_FRAMEWORK around role persona (RT-32) 2026-06-21 01:56:56 +03:00

Opened #67 fix(page): server-side cycle check in movePage (RT-21) 2026-06-21 01:56:56 +03:00

Opened #69 fix(mcp): pin Bearer workspaceId to the default workspace (RT-16) 2026-06-21 01:56:56 +03:00

Opened #70 Null-password (SSO/LDAP-only) accounts: bcrypt throw → 500 on /api/auth/login, leaky 401 + brute-force-limiter evasion on /mcp 2026-06-21 02:03:57 +03:00

Opened #71 [cleanup][page-templates] Мёртвые isPageEmbedCycle/isPageEmbedTooDeep — удалить или переиспользовать в decideEmbedState 2026-06-21 02:12:06 +03:00

Opened #74 ws: PageWsListener.onPageDeleted/onPageMoved/onPageRestored без тестов 2026-06-21 02:33:09 +03:00

Opened #72 ws/realtime-tree: реалтайм-переименование и смена иконки страницы не доходят до других клиентов (регрессия) 2026-06-21 02:33:09 +03:00

Opened #73 page-tree: collectAllIds/collectBranchIds (Expand/Collapse all) без тестов 2026-06-21 02:33:09 +03:00

Opened #78 html-embed: комментарий обещает «fall back to raw», а catch возвращает "" (теряет данные) 2026-06-21 02:33:10 +03:00

Opened #75 test: sidebar-pages-tree.spec тестирует копию продакшен-логики; обоснование про jest-config неверно 2026-06-21 02:33:10 +03:00

Opened #76 collab: незащищённый workspaceRepo.findById в onStoreDocument может потерять финальное сохранение страницы 2026-06-21 02:33:10 +03:00

Opened #77 html-embed: клиентский гейт исполнения JS (shouldExecute) не покрыт тестами 2026-06-21 02:33:10 +03:00

Opened #79 page-templates: спеки transclusion не компилируются (TS2554, 11 vs 10 аргументов) — 0 тестов, проверки безопасности отключены 2026-06-21 02:33:11 +03:00

Opened #80 page-templates: insertTemplateReferencesForPages (кросс-workspace guard на дублировании/импорте) без тестов 2026-06-21 02:33:11 +03:00

Opened #81 page-templates: catch-ветка lookupTemplate (fail-closed в not_found при битом контенте) без тестов 2026-06-21 02:33:11 +03:00

Opened #85 public-share: положительная ветка getSharePage (возврат санитизированного контента анонимной модели) без тестов 2026-06-21 02:33:12 +03:00

Opened #83 mcp-auth: check-then-act гонка позволяет конкурентным запросам обойти порог brute-force лимитера /mcp 2026-06-21 02:33:12 +03:00

Opened #82 mcp-auth: тело enforceBasicLoginGate (закрытие SSO/MFA-байпаса) не покрыто тестами 2026-06-21 02:33:12 +03:00

Opened #84 mcp-auth: MCP_TOKEN перенесён с Authorization: Bearer на заголовок X-MCP-Token — молча ломает существующие /mcp-клиенты (breaking) 2026-06-21 02:33:12 +03:00

Opened #86 public-share: инструмент listSharePages полностью без тестов 2026-06-21 02:33:13 +03:00

Opened #87 public-share: share-ai-widget показывает generic «Something went wrong», игнорируя error.message (нарушает AGENTS.md и паттерн describeChatError) 2026-06-21 02:33:13 +03:00

Opened #88 ai-roles: guard от конкурентного soft-delete в update() не покрыт тестом 2026-06-21 02:33:13 +03:00

Opened #89 docs: синхронизировать AGENTS.md и README с уже зашитыми фичами (дрейф документации) 2026-06-21 02:33:13 +03:00

Opened #90 arch/html-embed: вынести повторяющийся admin-gate strip (7 call-site) в один тестируемый хелпер 2026-06-21 02:33:14 +03:00

Opened #91 arch/mcp-auth: устранить дрейф между enforceBasicLoginGate и AuthController.login (общий pre-token гейт или coupling-тест) 2026-06-21 02:33:14 +03:00

Opened #94 arch/page-templates: page_template_references пишется, но не читается (мёртвая поверхность) + триплицированный sync + дубль lookup-context 2026-06-21 02:33:15 +03:00

Opened #93 arch/realtime-tree: единый restriction-aware emit + единый снапшот move-аудитории (emitTreeEvent дублирует emitCommentEvent; окно гонки на move) 2026-06-21 02:33:15 +03:00

Opened #92 arch/public-share: единый ShareService.resolveReadableSharePage вместо трёх копий резолва (shareId,pageId)->страница 2026-06-21 02:33:15 +03:00

Opened #95 arch/ai-chat: завершить унификацию (live+enabled резолв роли в одном месте; describeProviderError на анонимном пути) 2026-06-21 02:33:16 +03:00

Opened #96 test (сквозное): анти-паттерн «спека тестирует копию продакшен-логики» + неработающие сьюты security-фич 2026-06-21 02:33:45 +03:00

Opened #97 test (сквозное): security-нагруженные гейты исполнения и fail-closed ветки системно не покрыты 2026-06-21 02:33:45 +03:00

Opened #98 [test-coverage] Тесты для security-рефактора html-embed (commit 81823fce): sandbox + trackerHead 2026-06-21 03:10:49 +03:00

Opened #99 test: покрыть тестами sandbox HTML-embed и trackerHead (ревью 81823fce..HEAD) 2026-06-21 03:39:13 +03:00

Opened #100 Тесты: покрыть инъекцию trackerHead в ShareSeoController (+ no-op ветка аудита trackerHead) 2026-06-21 04:10:51 +03:00

Opened #102 test: cover movePage server-side cycle guard (#67) 2026-06-21 05:05:38 +03:00

Opened #103 test: drive the non-text message-part rejection 400 path (#63) 2026-06-21 05:05:38 +03:00

Opened #104 test: cover resolveShareAiMaxOutputTokens output-token cap (#60) 2026-06-21 05:05:39 +03:00

Opened #105 test: export + unit-test resolveTrustProxy (#61) 2026-06-21 05:05:39 +03:00

Opened #106 test: cover user-provider reconnect-resync branch 2026-06-21 05:05:39 +03:00

Opened #107 docs(share-ai): сообщение коммита 18105ff описывает серверные изменения, которых нет в его диффе 2026-06-21 05:22:43 +03:00

Opened #108 test(share-ai): нет тестов на условную подпись ассистента (typing-indicator / message-item) 2026-06-21 05:22:52 +03:00

Opened #109 i18n(ai-chat): наполнить все локали строками AI-чата (сейчас только en-US, ru-RU частично) 2026-06-21 05:23:00 +03:00

Opened #122 [bug][collab] collab-token throttled by the anonymous public-share-AI limiter (5/min) → collaboration sync breaks after a few page opens 2026-06-22 06:27:44 +03:00

Opened #123 [bug][collab] Uncaught jwtDecode(undefined) on collab auth failure; editor never reconnects 2026-06-22 06:27:45 +03:00

Opened #124 [bug][editor] Slash command whose name contains a space (e.g. "/Heading 1") inserts literal text instead of the block 2026-06-22 06:27:46 +03:00

Opened #125 [bug][spaces] Space slug auto-generation produces uppercase initials for multi-word names 2026-06-22 06:27:47 +03:00

Opened #126 [bug][ai-chat] AI chat window position/size not persisted across reload 2026-06-22 06:27:49 +03:00

Opened #127 [bug][validation] Workspace name update accepts URLs and empty values (NoUrls/min-length enforced only at setup); error message is generic 2026-06-22 06:27:50 +03:00

Opened #128 [ux] Inconsistent / missing success toasts across actions (favorites, labels, avatar, member deactivate/reactivate) 2026-06-22 06:27:51 +03:00

Opened #129 [bug][search] Spotlight rough edges: "1 results", duplicated no-results message, dead Type filter, silent empty for short queries 2026-06-22 06:27:52 +03:00

Opened #130 [ux] Raw Zod validation strings shown to users ("Too small: expected string to have >=N characters") 2026-06-22 06:27:53 +03:00

Opened #131 [ux] Casing & terminology inconsistencies (Untitled/untitled, uppercased space names, confirm-button labels) 2026-06-22 06:27:55 +03:00

Opened #132 [bug][console] Recurring console errors on editor load: SVG calc() width/height + share-for-page query returns undefined 2026-06-22 06:27:56 +03:00

Opened #133 [ux] Misc polish & consistency nits (dictation message, mark-all-read, invalid-invite page, reader Share button, non-admin AI settings, avatar) 2026-06-22 06:27:57 +03:00

Opened #134 [bug][ai-search] "Reindex now" counter does not update (stale until reload) — reindex runs async but the UI reads coverage once and never polls 2026-06-22 16:29:50 +03:00

Opened #137 [bug][ai-chat] New chat adopts the wrong chat id under a two-tab race → turns leak into another chat 2026-06-22 21:29:39 +03:00

Opened #139 Кандидаты на юнит-тесты (из gap-аудита QA-плана PR #136) 2026-06-23 00:55:10 +03:00

Opened #140 [bug][ai-chat] z.ai (GLM-5.2 coding plan) intermittently stalls/RSTs the chat stream (UND_ERR_HEADERS_TIMEOUT / ECONNRESET) 2026-06-23 03:31:51 +03:00

Opened #145 Обтекание картинки текстом (float image) — порт из Forkmost 2026-06-23 19:20:14 +03:00

Opened #146 bug(editor): каретка/выделение сдвигается вверх в NodeView со служебным contentEditable=false перед NodeViewContent (code block + сноски) 2026-06-23 20:56:34 +03:00

Opened #149 [feature][ai-chat] Настраиваемый авто-запуск роли («скилла»): тумблер autoStart + поле «сообщение для запуска» 2026-06-24 05:06:30 +03:00

Opened #150 [feature][editor] Рекурсивная нода subpages: дерево всех страниц-детей текущей страницы 2026-06-24 05:13:59 +03:00

Opened #151 [feature][ai-chat] Реалтайм-счётчик токенов (включая токены размышления), как в Claude Code 2026-06-24 05:15:34 +03:00

Opened #152 [bug][ai-chat] Комментарии агента сбрасывают курсор в конец статьи (регрессия) 2026-06-24 05:24:37 +03:00

Opened #153 Идея: near-realtime синк с Obsidian на мобильных через LiveSync (CouchDB), поверх git-sync 2026-06-24 05:36:38 +03:00

Opened #159 [security][audit] Red-team аудит (85db20f9..HEAD): потеря страниц, утечка title шара, ИИ правит не ту страницу, кап стоимости, CI 2026-06-24 12:27:57 +03:00

Opened #160 [bug][ai-chat] Экспорт чата («Copy chat») теряет то, что показано на экране, когда стрим оборвался 2026-06-24 14:23:55 +03:00

Opened #161 [bug][ai-chat] «New chat» во время стрима первого ответа не сбрасывает чат, а лишь убирает бейдж роли 2026-06-24 14:24:31 +03:00

Opened #163 [bug][ai-chat] Счётчик токенов в шапке не тикает в реальном времени между шагами агента (регрессия #151) 2026-06-24 14:44:29 +03:00

Opened #164 [bug][mcp] replaceImage всё ещё дёргает курсор: mutateLiveContentUnlocked пишет деструктивно (продолжение #152) 2026-06-24 14:50:05 +03:00

Opened #166 [feature][footnotes] Reuse сносок (много ссылок → одна сноска) + предупреждения о пустых/битых сносках при импорте 2026-06-24 15:09:55 +03:00

Opened #168 [feature][footnotes] Мульти-бэклинки: определение возвращает ко ВСЕМ своим ссылкам (продолжение #166) 2026-06-24 15:35:36 +03:00

Opened #170 [feature][ai-chat] Кнопка «Test» на каждой строке списка внешних MCP-серверов (inline-статус подключения) 2026-06-24 16:21:07 +03:00

Opened #173 Хвосты по ревью PR #172: тот же jsonb double-encoding в jsonbObject (роли агента) + централизация и тесты 2026-06-24 20:46:04 +03:00

Opened #174 [bug][ai-chat] Нельзя скопировать незавершённое сообщение: кнопка «Copy chat» скрыта во время первого стрима нового чата 2026-06-24 21:06:00 +03:00

Opened #175 ломается коннект на длинных задачах 2026-06-24 21:12:58 +03:00

Opened #178 feat(ai-chat): показывать reasoning live во время фазы «думания» (до начала ответа) 2026-06-24 22:49:23 +03:00

Opened #180 Фича: инструкция по работе с MCP-сервером в системном промпте агента 2026-06-25 00:24:34 +03:00

Opened #181 [feature][ai-chat] Компактный рендеринг блока «Thinking»: схлопывать пустые строки (\n\n) в reasoning 2026-06-25 00:26:51 +03:00

Opened #183 AI-чат: персистентная история как источник истины — серверный экспорт и возобновление до конца шага 2026-06-25 04:42:37 +03:00

Opened #184 Идея: автономные агенты — серверные раны, отвязанные от окна браузера (event-sourced) 2026-06-25 04:44:31 +03:00

Opened #187 [test][ci] e2e на каждый коммит в develop: не блокируют deploy, уведомление по почте 2026-06-25 12:55:37 +03:00

Opened #188 заметки о инструментах (действий не требует, копится обратная связь) 2026-06-25 13:19:37 +03:00

Opened #189 [feature][ai-chat] Бейдж контекста в шапке: показывать «текущий / максимум»; максимум — из настроек AI 2026-06-25 13:23:30 +03:00

Opened #190 [bug][ai-chat] Tool-call валидация отдаёт модели сырое zod-сообщение вместо понятного (роняется pageId в параллельной партии) 2026-06-25 20:52:48 +03:00

Opened #191 ИИ-чат: привязка чатов к документам (авто-открытие последнего чата документа) 2026-06-25 22:38:40 +03:00

Opened #192 [test][ai-chat] Отложенные интеграционные тесты AiChatService.stream (рефактор R1-stream) 2026-06-25 22:40:45 +03:00

Opened #193 [refactor][ai-chat] Дублирование определений инструментов (in-app агент vs standalone MCP) + дублирование конвертера PM↔Markdown 2026-06-25 22:40:51 +03:00

Opened #194 [feature][epic] Git-sync: двусторонняя синхронизация страниц Docmost ↔ git-папка Markdown (встраивание docmost-sync) 2026-06-25 22:40:53 +03:00

Opened #195 [feature][epic] Мобильное приложение (iOS-first, Capacitor) + offline-режим и синхронизация (PWA / outbox / Yjs) 2026-06-25 22:40:57 +03:00

Opened #196 [feature][editor] Множественные курсоры (multi-cursor editing): MVP «выделить все вхождения + одновременный ввод» 2026-06-25 22:40:57 +03:00

Opened #198 AI-чат: прервать агента сообщением, сохранив частичный вывод («отправить прям щас») 2026-06-25 22:42:14 +03:00

Opened #199 Фича: кнопка автогенерации названия заметки через AI 2026-06-25 23:39:53 +03:00

Opened #201 [feature] «Временные заметки»: автоперенос в корзину через X часов (структурируй или умри) 2026-06-25 23:47:52 +03:00

Opened #204 Тест-стратегия: аудит покрытия и план тестов (10 модулей) 2026-06-26 00:17:57 +03:00

Opened #205 [feature][share] Кастомные адреса для шаринга: /l/:alias (отдельная таблица share_aliases, перенацеливаемый адрес) 2026-06-26 01:03:41 +03:00

Opened #206 Отчет редтима, написать тесты, потенциально баги 2026-06-26 01:04:58 +03:00

Opened #207 git-sync red-team #7/#8: ядро Docmost — move-TOCTOU цикл A↔B + рекурсивные CTE без cycle-guard 2026-06-26 01:38:11 +03:00

Opened #216 [bug][ui] Автотест стенда: 3 UI-бага (stale-editor island, flushSync warning, share includeSubPages default) 2026-06-26 07:33:24 +03:00

Opened #217 [report] Автономное тестирование стенда — подробный отчёт (агенты, стадии, находки, real-vs-false, предложения) 2026-06-26 07:33:24 +03:00

Opened #218 [bug][ui] Автотест стенда (проход #2): share-not-bound-to-shareId, new-page-empty-body, editor-read-only-window, breadcrumb-lag, page-info-leak, callout-paste 2026-06-26 15:55:38 +03:00

Opened #219 [report] Автономное тестирование стенда — проход #2 (подробный отчёт: агенты, стадии, who-found-what, real-vs-false, улучшения процесса) 2026-06-26 15:55:38 +03:00

Opened #220 [report][#120] Автотест offline-sync — подробный отчёт (PWA/офлайн: 6 багов вкл. 3 HIGH data-loss, граница WIP, мета-отчёт) 2026-06-26 19:05:28 +03:00

Opened #221 Feature: подписи к изображениям (image captions) 2026-06-26 19:21:06 +03:00

Opened #223 [report][#119] Повторный автотест git-sync (после фиксов) — дублирование мёртво, open-editor converged; вскрыта клиентская collab-race (HIGH) + same-para conflict git-wins 2026-06-26 20:34:04 +03:00

Opened #226 [bug][share] Кастомный адрес (/l/:alias) не обновляется при редактировании: Save создаёт дубликат вместо переименования 2026-06-27 00:40:39 +03:00

Opened #228 feat(footnotes): инлайновое авторство сносок + серверная канонизация (порядок/дедуп, без доступа агента к списку) 2026-06-27 03:56:04 +03:00

Opened #229 [refactor][agent-roles-catalog] Перевод каталога ролей на YAML (instructions блок-скаляром, построчные диффы) 2026-06-27 04:02:37 +03:00

Opened #235 [QA-trace][#119 1/7] Процесс-отчёт прогона web-test-orchestrator (git-sync): агенты, инструменты, фолс-позитивы 2026-06-27 13:30:18 +03:00

Opened #236 [QA-trace][#119 2/7] Процесс-отчёт прогона web-test-orchestrator (git-sync) — стабильность vs прогон 1 2026-06-27 14:26:11 +03:00

Opened #237 [QA-trace][#120 3/7] Процесс-отчёт web-test-orchestrator (offline-sync/PWA): агенты, SW-техника, фолс-позитивы 2026-06-27 15:10:59 +03:00

Opened #238 [QA-trace][#120 4/7] Процесс-отчёт web-test-orchestrator (offline) — дедуп-провал: 6 находок = 1 корень 2026-06-27 15:44:57 +03:00

Opened #239 [QA-trace][#221 5/7] Верификация image-captions: ФИЧА РАБОТАЕТ (0 багов) + процесс-фидбэк (verifier недо-сэмплил) 2026-06-27 16:20:58 +03:00

Opened #240 [QA-trace][#228 6/7] Верификация footnotes: 🔴 ФИЧА СЛОМАНА на import-пути (канонизатор не подключён в apps/server) — чиню 2026-06-27 16:52:41 +03:00

Opened #241 [QA-trace][#184 7/7 финал] Верификация autonomous-runs: инвариант ДЕРЖИТСЯ (real z.ai) + 1 medium TOCTOU-гонка → чиню 2026-06-27 19:08:48 +03:00

Opened #243 In-memory blob-sandbox для передачи контента агентом (Docmost → Habr) + миррор картинок 2026-06-28 03:38:41 +03:00

Opened #244 [bug+test] Остаток после QA/тестов: 2 бага потери данных (#206) + оставшиеся фазы тест-стратегии (#204) 2026-06-28 03:42:57 +03:00

Opened #245 [test] Тест-стратегия #204: оставшиеся фазы (хвост Ф2 + Ф3 безопасность/DB-харнесс + Ф4 контракты) 2026-06-28 03:42:58 +03:00

Opened #246 [feature][editor] Инлайновый спойлер (скрытый текст, Telegram/Discord-стиль): mark + клик-раскрытие + lossless Markdown 2026-06-28 03:55:59 +03:00

Opened #247 Слепки в историю по Save/по простою (вместо эвристики) + матчинг с агентами + share сохранённых версий 2026-06-28 03:56:28 +03:00

Opened #251 feat(collab): провести сигнал намеренной очистки (intentionalClear) от редактора до store 2026-06-28 22:10:59 +03:00

Opened #252 [bug][ci] e2e-server в Develop виснет до лимита 6ч — jest не завершается (открытые хендлы AppModule) 2026-06-29 00:05:48 +03:00

Opened #255 [bug] ws-redis.adapter pub/sub clients never disconnected (latent ioredis handle leak) 2026-06-29 04:17:10 +03:00