ruitanglin
bcbbf9cf3f
fix(citations): only render CitationLink badges for AI messages
...
Human messages should display links as plain underlined text,
not as citation badges. This preserves the original user input
appearance when users paste URLs in their messages.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-06 14:28:28 +08:00
ruitanglin
0f9e3d508b
fix(citations): improve citation link rendering and copy behavior
...
- Use citation.title for display text in CitationLink to ensure correct
titles show during streaming (instead of generic "Source" text)
- Render all external links as CitationLink badges for consistent styling
during streaming output
- Add removeAllCitations when copying message content to clipboard
- Simplify citations_format prompt for cleaner AI output
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-04 16:34:12 +08:00
ruitanglin
1e2675beb3
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
Henry Li
552d1c3a9a
feat: add memory settings page
2026-02-03 18:18:56 +08:00
Henry Li
4fd9a2de8e
docs: add README.md
2026-02-02 23:24:58 +08:00
Henry Li
268b7f911c
fix: fix position
2026-02-02 16:40:43 +08:00
Henry Li
8bc9d1b226
fix: set default state for todo list collapse to true
2026-02-02 14:46:26 +08:00
Henry Li
e01127eec9
fix: set default state for todo list collapse to false
2026-02-02 14:46:10 +08:00
Henry Li
26acd6f3ad
feat: enhance welcome component and input box with skill mode handling and localization updates
2026-02-02 14:44:23 +08:00
Henry Li
9cc41139cb
feat: update button in skill settings to include icon
2026-02-02 14:31:44 +08:00
Henry Li
b5e9eeea99
feat: update button styling for artifacts tooltip
2026-02-02 11:43:02 +08:00
Henry Li
e673405c00
feat: add suggestions
2026-02-02 11:21:30 +08:00
Henry Li
b1227bb911
feat: integrate PromptInputProvider into ChatLayout and utilize prompt input controller in ChatPage
2026-02-02 10:18:02 +08:00
Henry Li
f1db301d77
feat: add file icons
2026-02-02 10:02:31 +08:00
Henry Li
02400e0e8c
feat: add file icon
2026-02-02 09:49:44 +08:00
Henry Li
0091da1aee
feat: adjust tooltips
2026-02-02 09:32:18 +08:00
Henry Li
076c1f0985
feat: wrap path and command in Tooltip for enhanced user experience
2026-02-02 09:23:36 +08:00
Henry Li
33e82a7abe
fix: update TooltipContent component to handle sideOffset correctly and add shadow styling
2026-02-02 09:23:24 +08:00
Henry Li
ac16a73a47
docs: add comments
2026-02-02 09:11:05 +08:00
Henry Li
7da0a03dd0
feat: add skeleton
2026-02-02 09:05:33 +08:00
Henry Li
1eb4da6c75
feat: dynamic title
2026-02-02 09:05:24 +08:00
Henry Li
b50fbf83d0
feat: use create skill as title
2026-02-02 08:43:37 +08:00
Henry Li
890a8379ce
feat: update skills
2026-02-01 11:12:08 +08:00
Henry Li
e28d5d2cf9
docs: update artifacts
2026-02-01 11:05:00 +08:00
Henry Li
88e1c7c0b3
feat: add new demo
2026-02-01 10:58:27 +08:00
Henry Li
a1267875fa
feat: add tooltip for installation
2026-02-01 10:55:08 +08:00
Henry Li
45fab66a7d
fix: add translations
2026-01-31 22:49:59 +08:00
Henry Li
7d3e7eb1c9
docs: rephrasing
2026-01-31 22:42:17 +08:00
Henry Li
67ec1162cb
feat: implement create skill
2026-01-31 22:31:25 +08:00
hetaoBackend
41f8b931c9
feat: add .skill file preview support
...
Enable previewing .skill files (ZIP archives) by extracting and displaying
their SKILL.md content. Add caching to avoid repeated ZIP extraction.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-31 22:27:06 +08:00
hetaoBackend
5834b15af7
feat: add skill installation API endpoint
...
Add POST /api/skills/install endpoint to install .skill files from
thread's user-data directory. The endpoint extracts the ZIP archive,
validates SKILL.md frontmatter, and installs to skills/custom/.
Frontend Install buttons now call the API instead of downloading.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-31 22:10:05 +08:00
Henry Li
8ecb6b3d1d
fix: fix eslint errors and warnings
2026-01-31 21:46:31 +08:00
Henry Li
9c3b928f1d
feat: preview the message if possible
2026-01-31 20:22:15 +08:00
Henry Li
2ba687b239
fix: fix eslint errors
2026-01-31 11:11:13 +08:00
Henry Li
c62caf95c4
feat: add notification
2026-01-31 11:08:27 +08:00
Henry Li
4e0571f3b3
feat: change email
2026-01-30 22:32:47 +08:00
Henry Li
21e12d91eb
fix: fix condition of displaying artifacts
2026-01-30 21:51:18 +08:00
Henry Li
1bb91bb267
feat: support Github Flavored Markdown
2026-01-30 16:41:18 +08:00
Henry Li
05794e29d1
chore: remove
2026-01-30 11:01:09 +08:00
Henry Li
939745d027
feat: re-arrange icons
2026-01-29 16:17:41 +08:00
Henry Li
66deedf3b2
fix: add max width
2026-01-29 16:12:30 +08:00
Henry Li
79955d2e6c
feat: display mode
2026-01-29 15:57:08 +08:00
Henry Li
98e08a85c9
feat: use "mode" instead of "thinking_enabled" and "is_plan_mode"
2026-01-29 15:48:50 +08:00
Henry Li
0ba82a9fd7
fix: fix renaming
2026-01-29 15:31:56 +08:00
Henry Li
16a9626d54
feat: add placeholder for image
2026-01-29 15:01:18 +08:00
hetao
3cbf54b2eb
fix: fix frontend bug
2026-01-29 13:55:30 +08:00
ruitanglin
5120022d6d
merge: upstream/experimental with citations feature
...
- Merge upstream changes including image search, tooltips, and UI improvements
- Keep citations feature with inline hover cards
- Resolve conflict in message-list-item.tsx: use upstream img max-width (90%) while preserving citations logic
- Maintain file upload improvements with citations support
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-01-29 12:55:43 +08:00
ruitanglin
341397562a
feat: improve file upload message handling and UI
...
Backend:
- Handle both string and list format for message content in uploads middleware
- Extract text content from structured message blocks
- Add logging for debugging file upload flow
Frontend:
- Separate file display from message bubble for human messages
- Show uploaded files outside the message bubble for cleaner layout
- Improve file card border styling with subtle border color
- Add debug logging for message submission with files
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-01-29 12:51:21 +08:00
Henry Li
eff241f9f2
feat: enable images in content
2026-01-29 12:51:04 +08:00
ruitanglin
2ec506d590
fix: hide incomplete citations block during streaming
...
Improve UX by hiding citations block while it's being streamed:
- Remove complete citations blocks (existing logic)
- Also remove incomplete citations blocks during streaming
- Prevents flickering of raw citations XML in the UI
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-01-29 12:50:09 +08:00