25 Commits

Author SHA1 Message Date
betterkite
b552b5015c
fix(messages): drop legacy <uploaded_files> tag handling (#4826)
* fix(messages): drop legacy <uploaded_files> tag handling (#4212)

PR #4174 unified upload-context injection on <current_uploads> (IM and web
both flow through UploadsMiddleware), and #4632 documented the current
path. This removes the remaining backward-compat parsing of the
pre-#4174 <uploaded_files> tag, the final cleanup item tracked by the
issue:

- deermem: only <current_uploads> is stripped from human turns before
  memory persistence, and the upload-sentence scrubber drops the legacy
  tag alternative.
- mem0: the mirrored message filter recognises only <current_uploads>.
- InputSanitizationMiddleware: remove the legacy tag from the blocked-tag
  denylist (it existed only because deermem parsed the old tag).
- frontend: stripUploadedFilesTag / stripInternalMarkers /
  parseUploadedFiles and the message-list fallback parse only
  <current_uploads>; demo thread fixtures are migrated to the current tag.

Scope decision: a <uploaded_files> block in pre-#4174 history is now
treated as ordinary user content (pinned by tests in both layers) instead
of being silently dropped or stripped.

* style: apply prettier formatting to stripUploadedFilesTag

* fix(uploads): keep legacy <uploaded_files> stripping for display/export only

Addresses review feedback on #4826: removing the legacy tag from the
frontend display layer made pre-#4174 threads render raw <uploaded_files>
XML (with server-side upload paths) in chat, copy data, and JSON exports.

The backend cleanup stands — memory pipelines and the sanitization denylist
treat only <current_uploads> as an internal marker. The frontend keeps the
legacy spelling in its display/export-only utilities
(stripUploadedFilesTag / INTERNAL_MARKER_TAGS / parseUploadedFiles and the
message-list fallback) so old history renders cleanly without leaking
internal paths, while the memory/sanitization scope-decision tests remain
unchanged.

Frontend tests now pin both spellings: <current_uploads> and legacy
<uploaded_files> are stripped from copy data, markdown leak-stripping, and
JSON exports.

* docs(ui): record accepted display-spoof tradeoff for legacy upload tag

Review note (willem-bd): since <uploaded_files> is off the sanitization
denylist, a live user can type the legacy spelling and fabricate file
chips / hide their own message text in display. Display-only and
self-inflicted with no backend semantics, so it is accepted for now;
documented at both the message-list fallback and stripUploadedFilesTag.
Age-gating the legacy spelling remains a possible follow-up.

---------

Co-authored-by: betterkite <313258397+betterkite@users.noreply.github.com>
2026-09-01 15:26:33 +08:00
JeffJiang
b103d1a7f5
feat(frontend): support static website demo mode (#3170)
* feat(frontend): support static website demo mode

* fix(frontend): render html artifact previews from blob content

* chore(frontend): apply pre-commit formatting

* fix(frontend): address static demo PR review comments

* Update the release information of DeerFlow

---------

Co-authored-by: Willem Jiang <willem.jiang@gmail.com>
2026-05-23 00:10:56 +08:00
Echo-Nie
d475de7997
docs: fix some broken links (#1567)
* Fix path for TitleMiddleware implementation

* Fix link to Provisioner Setup Guide in CONFIGURATION.md

* Update file path for TitleMiddleware implementation

* Update image paths in Leica photography article
2026-03-29 21:52:28 +08:00
greatmengqi
084dc7e748
ci: enforce code formatting checks for backend and frontend (#1536) 2026-03-29 15:34:38 +08:00
LofiSu
46048c76ce chore: 移除所有 Citations 相关逻辑,为后续重构做准备
- Backend: 删除 lead_agent / general_purpose 中的 citations_format 与引用相关 reminder;artifacts 下载不再对 markdown 做 citation 清洗,统一走 FileResponse,保留 Response 用于二进制 inline
- Frontend: 删除 core/citations 模块、inline-citation、safe-citation-content;新增 MarkdownContent 仅做 Markdown 渲染;消息/artifact 预览与复制均使用原始 content
- i18n: 移除 citations 命名空间(loadingCitations、loadingCitationsWithCount)
- 技能与 demo: 措辞改为 references,demo 数据去掉 <citations> 块
- 文档: 更新 CLAUDE/AGENTS/README 描述,新增按文件 diff 的代码变更总结

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-09 16:24:01 +08:00
Henry Li
43ebce3b37 feat: remove demo 2026-02-05 09:46:05 +08:00
Henry Li
ec444e1f8b docs: update artifacts 2026-02-01 11:05:00 +08:00
Henry Li
22ef5fb5ba feat: add new demo 2026-02-01 10:58:27 +08:00
Henry Li
dd2c2011f1 feat: update a new demo 2026-01-28 14:19:00 +08:00
Henry Li
d84a34b7cd feat: add Leica demo 2026-01-28 13:52:41 +08:00
Henry Li
a249b7178a feat: add another Kimi K2.5 demo 2026-01-28 12:17:21 +08:00
Henry Li
e2bcc70a84 feat: add kimi-k2.5 demo with vercel deployment 2026-01-28 10:13:32 +08:00
Henry Li
af4fc800ee feat: update demo 2026-01-25 21:57:22 +08:00
Henry Li
74dd09b364 feat: update demos 2026-01-25 11:41:48 +08:00
Henry Li
78bba47769 feat: add Titanic ADA demo 2026-01-25 00:35:42 +08:00
Henry Li
35f2aea510 feat: add new demo 2026-01-24 23:51:38 +08:00
Henry Li
72e0f3d081 feat: add new demo 2026-01-24 20:59:06 +08:00
Henry Li
6485ed2a50 chore: add new demo 2026-01-24 19:44:06 +08:00
Henry Li
e88b34c0cb chore: delete 2026-01-24 19:43:44 +08:00
Henry Li
2c8a41dc6c style: reformat 2026-01-24 19:40:44 +08:00
Henry Li
72e3ba9b79 feat: add new demo 2026-01-24 19:38:17 +08:00
Henry Li
a3eb03b105 chore: add new demo 2026-01-24 18:53:13 +08:00
Henry Li
cd63f41b4c feat: support static website 2026-01-24 18:01:27 +08:00
Henry Li
26587ee970 feat: bring back the deer 2026-01-21 10:31:54 +08:00
Henry Li
c628c7f8db chore: create frontend project from boilerplate 2026-01-14 09:50:26 +08:00