deerflow2/backend/src
ruitanglin c67f1af889 feat(citations): add shared citation components and optimize code
## New Features
- Add `CitationLink` shared component for rendering citation hover cards
- Add `CitationsLoadingIndicator` component for showing loading state
- Add `removeAllCitations` utility to strip all citations from content
- Add backend support for removing citations when downloading markdown files
- Add i18n support for citation loading messages (en-US, zh-CN)

## Code Optimizations
- Remove duplicate `ExternalLinkBadge` component, reuse `CitationLink` instead
- Consolidate `remarkPlugins` config in `streamdownPlugins` to avoid duplication
- Remove unused imports: `Citation`, `buildCitationMap`, `extractDomainFromUrl`, etc.
- Remove unused `messages` parameter from `ToolCall` component
- Remove unused `isWriteFile` parameter from `ArtifactFilePreview` component
- Remove unused `useI18n` hook from `MessageContent` component

## Bug Fixes
- Fix `remarkGfm` plugin configuration that prevented table rendering
- Fix React Hooks rule violation: move `useMemo` to component top level
- Replace `||` with `??` for nullish coalescing in clipboard data

## Code Cleanup
- Remove debug console.log/info statements from:
  - `threads/hooks.ts`
  - `notification/hooks.ts`
  - `memory-settings-page.tsx`
- Fix import order in `message-group.tsx`

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-04 11:56:10 +08:00
..
agents fix: add file mtime-based cache invalidation for memory data 2026-02-03 13:50:01 +08:00
community fix: fix aio sandbox shutdown bug 2026-01-30 22:02:07 +08:00
config feat: add global memory mechanism for personalized conversations 2026-02-03 13:31:05 +08:00
gateway feat(citations): add shared citation components and optimize code 2026-02-04 11:56:10 +08:00
mcp fix: ensure MCP and skills config changes are immediately reflected 2026-01-25 22:40:09 +08:00
models feat: add view_image tool and optimize web fetch tools 2026-01-29 13:44:39 +08:00
reflection chore: use ruff to lint and auto-format 2026-01-14 09:08:20 +08:00
sandbox feat: add podcast generation skill 2026-01-26 13:16:35 +08:00
skills fix: ensure MCP and skills config changes are immediately reflected 2026-01-25 22:40:09 +08:00
tools feat: optimize vision tools and image handling 2026-01-29 14:57:26 +08:00
utils feat: add thread-safety and graceful shutdown to AioSandboxProvider (#7) 2026-01-16 22:28:19 +08:00
__init__.py chore: add an empty __init__.py 2026-01-14 07:16:27 +08:00