diff --git a/docs/TZ.md b/docs/TZ.md index ae1963d..9ce5d50 100644 --- a/docs/TZ.md +++ b/docs/TZ.md @@ -98,6 +98,9 @@ GitHub/GitLab — селф-хостед системы ищутся эвристикой (API github/gitlab/gitea + raw-пути web-интерфейсов, дефолтная ветка HEAD); не нашли — остаётся ссылка. Сырой текст в БД не меняется; кэш прочтённого README — 10 минут. +- **Линки описания/заметки — в новую вкладку** (0.41): всё, что рендерится + из Markdown (описание, заметка, README), открывается во внешность + (`target="_blank"`, `rel="noopener"`) — PWA не ловит навигацию в своё окно. - **Длинная заметка сворачивается** (0.41): если блок заметки (или README из ссылки) выше ~420px, показывается начало + подпись «Заметка большая — показано начало» и кнопка «Развернуть» (обратно — «Свернуть»). diff --git a/frontend/src/taskui.ts b/frontend/src/taskui.ts index 1995bd5..da27eb0 100644 --- a/frontend/src/taskui.ts +++ b/frontend/src/taskui.ts @@ -108,7 +108,11 @@ } export function renderMarkdown(text: string): string { - return DOMPurify.sanitize(marked.parse(text, { async: false })) + // Линки — во внешность (новая вкладка/браузер, чтобы PWA не ловила навигацию) + return DOMPurify.sanitize(marked.parse(text, { async: false })).replace( + /