LofiSu
738b71be47
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
LofiSu
6f968242d6
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
LofiSu
2debcf421c
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
LofiSu
644229f968
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
6b53456b39
feat: add memory settings page
2026-02-03 18:18:56 +08:00
Henry Li
86255511e1
docs: add README.md
2026-02-02 23:24:58 +08:00
Henry Li
e84715831f
fix: fix position
2026-02-02 16:40:43 +08:00
Henry Li
018241c203
fix: set default state for todo list collapse to true
2026-02-02 14:46:26 +08:00
Henry Li
6f6d799051
fix: set default state for todo list collapse to false
2026-02-02 14:46:10 +08:00
Henry Li
f4f16bfa5c
feat: enhance welcome component and input box with skill mode handling and localization updates
2026-02-02 14:44:23 +08:00
Henry Li
ccf21238af
feat: update button in skill settings to include icon
2026-02-02 14:31:44 +08:00
Henry Li
b7c9bf557b
feat: update button styling for artifacts tooltip
2026-02-02 11:43:02 +08:00
Henry Li
3067f8dd03
feat: add suggestions
2026-02-02 11:21:30 +08:00
Henry Li
6c0e5fffd0
feat: integrate PromptInputProvider into ChatLayout and utilize prompt input controller in ChatPage
2026-02-02 10:18:02 +08:00
Henry Li
867749d7a3
feat: add file icons
2026-02-02 10:02:31 +08:00
Henry Li
37dcee41c0
feat: add file icon
2026-02-02 09:49:44 +08:00
Henry Li
51b4ed3124
feat: adjust tooltips
2026-02-02 09:32:18 +08:00
Henry Li
6d31c1c5cf
feat: wrap path and command in Tooltip for enhanced user experience
2026-02-02 09:23:36 +08:00
Henry Li
a66f76f43d
fix: update TooltipContent component to handle sideOffset correctly and add shadow styling
2026-02-02 09:23:24 +08:00
Henry Li
90104291ae
docs: add comments
2026-02-02 09:11:05 +08:00
Henry Li
54277b9d9e
feat: add skeleton
2026-02-02 09:05:33 +08:00
Henry Li
a0a3a3fc02
feat: dynamic title
2026-02-02 09:05:24 +08:00
Henry Li
b540ad4505
feat: use create skill as title
2026-02-02 08:43:37 +08:00
Henry Li
9b77070406
feat: update skills
2026-02-01 11:12:08 +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
e1ecf62afa
feat: add tooltip for installation
2026-02-01 10:55:08 +08:00
Henry Li
f5b1412ac0
fix: add translations
2026-01-31 22:49:59 +08:00
Henry Li
ca83ed00f8
docs: rephrasing
2026-01-31 22:42:17 +08:00
Henry Li
bdd2e25e14
feat: implement create skill
2026-01-31 22:31:25 +08:00
hetaoBackend
06511f38e1
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
a9e11f6341
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
d3ff5f9d3c
fix: fix eslint errors and warnings
2026-01-31 21:46:31 +08:00
Henry Li
cf961328a9
feat: preview the message if possible
2026-01-31 20:22:15 +08:00
Henry Li
e858ef0250
fix: fix eslint errors
2026-01-31 11:11:13 +08:00
Henry Li
5295f5b5b9
feat: add notification
2026-01-31 11:08:27 +08:00
Henry Li
835fd4d0c7
feat: change email
2026-01-30 22:32:47 +08:00
Henry Li
c07c0228f6
fix: fix condition of displaying artifacts
2026-01-30 21:51:18 +08:00
Henry Li
c1182c680c
feat: support Github Flavored Markdown
2026-01-30 16:41:18 +08:00
Henry Li
7d024326dc
chore: remove
2026-01-30 11:01:09 +08:00
Henry Li
4dffad89ca
feat: re-arrange icons
2026-01-29 16:17:41 +08:00
Henry Li
a4f749f939
fix: add max width
2026-01-29 16:12:30 +08:00
Henry Li
a135ddfa48
feat: display mode
2026-01-29 15:57:08 +08:00
Henry Li
62ac3b6b03
feat: use "mode" instead of "thinking_enabled" and "is_plan_mode"
2026-01-29 15:48:50 +08:00
Henry Li
4411af68f5
fix: fix renaming
2026-01-29 15:31:56 +08:00
Henry Li
9d889434c4
feat: add placeholder for image
2026-01-29 15:01:18 +08:00
hetao
75801d9817
fix: fix frontend bug
2026-01-29 13:55:30 +08:00
LofiSu
588673d043
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
LofiSu
849cc4d771
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