Remove outdated process sections from several backlog markdown files and add new backlog items for AI chat step limits, endpoint status config, and API key field UI improvements.
6.0 KiB
Удаление нерабочих импортов (DOCX / PDF / Confluence)
Контекст: DOCX, PDF и Confluence-импорт опирались на приватный EE-модуль, который выпилен из репозитория. В community-сборке эти пути либо бросают "enterprise license" (DOCX/PDF), либо молча ничего не делают (Confluence). Решено убрать эти форматы целиком.
Уже сделано (фронтенд) — лежит в рабочем дереве, НЕ закоммичено
apps/client/src/features/page/components/page-import-modal.tsx— убраны кнопки Word (DOCX), PDF, Confluence + связанный мёртвый код (импорты иконокIconFileTypeDocx/IconFileTypePdf/ConfluenceIcon, рефыdocxFileRef/pdfFileRef/confluenceFileRef, веткаconfluenceвhandleZipUpload, сбросы docx/pdf вhandleFileUpload). Остались рабочие: Markdown, HTML, Notion, generic-zip.apps/client/src/components/icons/confluence-icon.tsx— удалён (git rm), больше нигде не импортируется.
Статус git на момент записи:
D apps/client/src/components/icons/confluence-icon.tsxM apps/client/src/features/page/components/page-import-modal.tsx
Предложенное сообщение коммита для фронтенд-части уже сформулировано (refactor(import): remove non-functional DOCX/PDF/Confluence import buttons).
Осталось сделать (бэкенд) — ТЕКУЩАЯ ЗАДАЧА: удалить заглушки
Заглушки = EE-require шимы, которые throw/return. Точки правок:
-
apps/server/src/integrations/import/services/import.service.ts- удалить метод
processDocx(~160-194) — EE-require → BadRequestException. - удалить метод
processPdf(~196-230) — то же. - в
importPageудалить ветки диспетчераelse if (.docx)иelse if (.pdf)(~76-91); оставить.mdи.html. - удалить вычисление
pageId(~65-69): после удаления docx/pdf оно всегдаundefined, поэтому убрать и спред...(pageId ? { id: pageId } : {})вinsertPage(~115). uuid7(импорт, стр. 26) — НЕ трогать: используется вimportZip(const fileTaskId = uuid7();, ~320).moduleRef(конструктор ~45, импортModuleRefстр. 31) — ПРОВЕРИТЬ: использовался только в processDocx/processPdf? Если да — убрать параметр конструктора и импорт. (grep был прерван, нужно перепроверить.)
- удалить метод
-
apps/server/src/integrations/import/services/file-import-task.service.ts- удалить ветку
if (fileTask.source === FileImportSource.Confluence) {...}(~118-138) — EE-require с тихимreturn. - после удаления проверить, что импорт
FileImportSourceвсё ещё нужен (Generic/Notion используются на ~109-110 — нужен).
- удалить ветку
-
apps/server/src/integrations/import/import.controller.ts- стр. 54:
validFileExtensions = ['.md', '.html', '.docx', '.pdf']→['.md', '.html']. - стр. ~101-106
sourceMap: убрать записи'.docx': 'docx'и'.pdf': 'pdf'. - стр. 164:
validZipSources = ['generic', 'notion', 'confluence']→['generic', 'notion']. - стр. 167: текст ошибки → "must either be generic or notion".
- стр. 54:
-
apps/server/src/integrations/import/utils/file.utils.ts- стр. 13: убрать
Confluence = 'confluence'из enumFileImportSource(после удаления ветки значение не используется). ПРОВЕРИТЬ grep'ом, что больше нет ссылок наFileImportSource.Confluence.
- стр. 13: убрать
-
apps/server/src/common/features.ts- стр. 9:
CONFLUENCE_IMPORT: 'import:confluence'— ПРОВЕРИТЬ использование по серверу и клиенту; если не используется — убрать.
- стр. 9:
Вне scope (НЕ заглушки — рабочий, но теперь недостижимый код)
isConfluenceImport-обвязка вapps/server/src/integrations/import/services/import-attachment.service.ts(стр. 57, 67, 98, 674, 682, 756, 770) и confluence-стриппинг путей вapps/server/src/integrations/import/utils/import.utils.ts(стр. 45-62). Это реальная логика разбора вложений, а не заглушка. После удаления Confluence-импорта флагisConfluenceImportникогда не станет true → код станет мёртвым, но он внутри shared-сервиса, которым пользуются generic/notion. Удаление — отдельный, более рискованный рефакторинг. Решение: пока оставить (либо отдельной задачей).- Комментарий в миграции
20250521T154949-file_tasks.ts:11"(generic, notion, confluence)" — это просто комментарий, схему/старые миграции не трогаем.
Открытые вопросы (проверить перед/во время реализации; grep был прерван)
moduleRefв import.service.ts — используется только docx/pdf?- Все ссылки на
FileImportSource.Confluence— только удаляемая ветка? CONFLUENCE_IMPORT/import:confluence— где используется (сервер+клиент)?isConfluenceImport=trueставится где-то кроме удалённого EE-модуля?