ruitanglin
c8c4d2fc95
fix(messages): prevent URL autolink bleeding into adjacent text
...
For human messages, disable remark-gfm autolink feature to prevent
URLs from incorrectly including adjacent text (especially Chinese
characters) as part of the link. This ensures that when users input
"https://example.com 帮我分析", only the URL becomes a link.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-06 14:30:57 +08:00
ruitanglin
1b0c016093
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
f6e625ec3b
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
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
Henry Li
94acb15c0c
feat: add memory settings page
2026-02-03 18:18:56 +08:00
Henry Li
0baa8a733a
docs: add README.md
2026-02-02 23:24:58 +08:00
Henry Li
03f84f2b76
fix: fix position
2026-02-02 16:40:43 +08:00
Henry Li
35c5b6ba6b
fix: set default state for todo list collapse to true
2026-02-02 14:46:26 +08:00
Henry Li
a745b824d5
fix: set default state for todo list collapse to false
2026-02-02 14:46:10 +08:00
Henry Li
010eadecca
feat: enhance welcome component and input box with skill mode handling and localization updates
2026-02-02 14:44:23 +08:00
Henry Li
67451df910
feat: update button in skill settings to include icon
2026-02-02 14:31:44 +08:00
Henry Li
44daeaf37d
feat: update button styling for artifacts tooltip
2026-02-02 11:43:02 +08:00
Henry Li
154fbb0ba3
feat: add suggestions
2026-02-02 11:21:30 +08:00
Henry Li
f287022ac0
feat: integrate PromptInputProvider into ChatLayout and utilize prompt input controller in ChatPage
2026-02-02 10:18:02 +08:00
Henry Li
c587460dbc
feat: add file icons
2026-02-02 10:02:31 +08:00
Henry Li
8bb4c35416
feat: add file icon
2026-02-02 09:49:44 +08:00
Henry Li
7274f9a6ae
feat: adjust tooltips
2026-02-02 09:32:18 +08:00
Henry Li
cb494fe4df
feat: wrap path and command in Tooltip for enhanced user experience
2026-02-02 09:23:36 +08:00
Henry Li
ccab24983e
fix: update TooltipContent component to handle sideOffset correctly and add shadow styling
2026-02-02 09:23:24 +08:00
Henry Li
68df848b82
docs: add comments
2026-02-02 09:11:05 +08:00
Henry Li
b797ef8168
feat: add skeleton
2026-02-02 09:05:33 +08:00
Henry Li
be65130a06
feat: dynamic title
2026-02-02 09:05:24 +08:00
Henry Li
dc1190b228
feat: use create skill as title
2026-02-02 08:43:37 +08:00
Henry Li
7e11f28d55
feat: update skills
2026-02-01 11:12:08 +08:00
Henry Li
37e9810191
docs: update artifacts
2026-02-01 11:05:00 +08:00
Henry Li
d131a497d7
feat: add new demo
2026-02-01 10:58:27 +08:00
Henry Li
4721f1a890
feat: add tooltip for installation
2026-02-01 10:55:08 +08:00
Henry Li
8a2fb353c6
fix: add translations
2026-01-31 22:49:59 +08:00
Henry Li
f3d7fea9ce
docs: rephrasing
2026-01-31 22:42:17 +08:00
Henry Li
8639dde3ad
feat: implement create skill
2026-01-31 22:31:25 +08:00
hetaoBackend
f31258dd10
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
624f758163
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
718bb947d0
fix: fix eslint errors and warnings
2026-01-31 21:46:31 +08:00
Henry Li
20a023ee90
feat: preview the message if possible
2026-01-31 20:22:15 +08:00
Henry Li
b8281be892
fix: fix eslint errors
2026-01-31 11:11:13 +08:00
Henry Li
47fe2f8195
feat: add notification
2026-01-31 11:08:27 +08:00
Henry Li
cb660c2643
feat: change email
2026-01-30 22:32:47 +08:00
Henry Li
697f094ba9
fix: fix condition of displaying artifacts
2026-01-30 21:51:18 +08:00
Henry Li
618b3e1e8f
feat: support Github Flavored Markdown
2026-01-30 16:41:18 +08:00
Henry Li
3339e70c25
chore: remove
2026-01-30 11:01:09 +08:00
Henry Li
cbcbbbe0a8
feat: re-arrange icons
2026-01-29 16:17:41 +08:00
Henry Li
c265f5410d
fix: add max width
2026-01-29 16:12:30 +08:00
Henry Li
86ed750a38
feat: display mode
2026-01-29 15:57:08 +08:00
Henry Li
7bf15cb777
feat: use "mode" instead of "thinking_enabled" and "is_plan_mode"
2026-01-29 15:48:50 +08:00
Henry Li
caf469d2ab
fix: fix renaming
2026-01-29 15:31:56 +08:00
Henry Li
4fc54a7408
feat: add placeholder for image
2026-01-29 15:01:18 +08:00
hetao
2c6dbbe065
fix: fix frontend bug
2026-01-29 13:55:30 +08:00
ruitanglin
ac283b92aa
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
ce9731c10a
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
f809b67c47
feat: enable images in content
2026-01-29 12:51:04 +08:00