2026-05-29 - 2026-06-29

Overview

78 Active Pull Requests
155 Active Issues
Excluding merges, 3 authors have pushed 98 commits to main and 661 commits to all branches. On main, 538 files have changed and there have been 46406 additions and 24729 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 #206 Отчет редтима, написать тесты, потенциально баги 2026-06-28 03:43:29 +03:00

Closed #204 Тест-стратегия: аудит покрытия и план тестов (10 модулей) 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 #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 #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 #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 #27 html-embed: upgrade create/duplicate/import gate tests from source-regex to real execution 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 #37 [nit][page-templates] //@ts-ignore style in duplicatePage pageEmbed remap 2026-06-20 20:36:07 +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 #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 #52 ai-roles: нет серверной валидации модели роли + дрейф enum драйверов 2026-06-21 00:23:41 +03:00

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

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

Opened #54 page-embed: серверный guard глубины/циклов раскрытия 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 #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 #60 feat(share-ai): cap per-request output with maxOutputTokens (RT-6.1) 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 #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 #66 fix(ws): resync sidebar tree on socket reconnect (RT-24) 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 #69 fix(mcp): pin Bearer workspaceId to the default workspace (RT-16) 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 #68 fix(ai): sandwich SAFETY_FRAMEWORK around role persona (RT-32) 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 #75 test: sidebar-pages-tree.spec тестирует копию продакшен-логики; обоснование про jest-config неверно 2026-06-21 02:33:10 +03:00

Opened #78 html-embed: комментарий обещает «fall back to raw», а catch возвращает "" (теряет данные) 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 #80 page-templates: insertTemplateReferencesForPages (кросс-workspace guard на дублировании/импорте) без тестов 2026-06-21 02:33:11 +03:00

Opened #79 page-templates: спеки transclusion не компилируются (TS2554, 11 vs 10 аргументов) — 0 тестов, проверки безопасности отключены 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 #83 mcp-auth: check-then-act гонка позволяет конкурентным запросам обойти порог brute-force лимитера /mcp 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 #82 mcp-auth: тело enforceBasicLoginGate (закрытие SSO/MFA-байпаса) не покрыто тестами 2026-06-21 02:33:12 +03:00

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

Opened #88 ai-roles: guard от конкурентного soft-delete в update() не покрыт тестом 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 #89 docs: синхронизировать AGENTS.md и README с уже зашитыми фичами (дрейф документации) 2026-06-21 02:33:13 +03:00

Opened #86 public-share: инструмент listSharePages полностью без тестов 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 #97 test (сквозное): security-нагруженные гейты исполнения и fail-closed ветки системно не покрыты 2026-06-21 02:33:45 +03:00

Opened #96 test (сквозное): анти-паттерн «спека тестирует копию продакшен-логики» + неработающие сьюты security-фич 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 #106 test: cover user-provider reconnect-resync branch 2026-06-21 05:05:39 +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 #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 #219 [report] Автономное тестирование стенда — проход #2 (подробный отчёт: агенты, стадии, who-found-what, real-vs-false, улучшения процесса) 2026-06-26 15:55:38 +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 #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