Xinmin Zeng
e9adaab7a6
fix(i18n): normalize locale and prevent undefined translations ( #914 )
...
* fix(i18n): guard locale input and add safe translation fallback
* refactor(i18n): isolate locale utils and normalize server cookie decode
---------
Co-authored-by: Willem Jiang <willem.jiang@gmail.com >
2026-02-27 08:10:38 +08:00
Henry Li
8f44ca595b
docs: update README.md
2026-02-13 09:38:35 +08:00
LofiSu
f87d5678f3
feat: 改进设置页面UI和国际化支持 / Improve settings pages UI and i18n support
...
- 添加 rehype-raw 依赖以支持在 markdown 中渲染 HTML
Add rehype-raw dependency to support HTML rendering in markdown
- 重构 memory-settings-page,提取 formatMemorySection 函数减少重复代码
Refactor memory-settings-page by extracting formatMemorySection function to reduce code duplication
- 改进空状态显示,使用 HTML span 标签替代 markdown 斜体,提供更好的样式控制
Improve empty state display by using HTML span tags instead of markdown italics for better style control
- 为 skill-settings-page 添加完整的国际化支持,替换硬编码的英文文本
Add complete i18n support for skill-settings-page, replacing hardcoded English text
- 更新国际化文件,添加技能设置页面的空状态文本(中英文)
Update i18n files with empty state text for skill settings page (both Chinese and English)
- 在 streamdown 插件配置中添加 rehypeRaw 以支持 HTML 渲染
Add rehypeRaw to streamdown plugins configuration to support HTML rendering
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-10 12:15:37 +08:00
LofiSu
d72aad8063
fix(frontend): build + remove hover tooltips in step links
...
- Fix Turbopack build: replace raw-loader .md import with inlined about-content.ts; drop raw-loader from next.config and package.json
- Remove all hover tooltips on step-area links (web_fetch, read_file, ls, bash, write_file, web_search) so hidden steps no longer show popups
修复:构建错误与步骤链接悬停提示
- 修复 Turbopack 构建:用内联 about-content.ts 替代 raw-loader 导入 about.md,并移除 next.config 与 package.json 中的 raw-loader
- 移除步骤区域内所有链接的悬停提示(查看网页、读文件、列目录、bash、写文件、网页搜索),隐藏步骤悬停不再弹出内容
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-09 03:42:16 +08:00
LofiSu
fe06be8258
Revert "fix(frontend): Turbopack about page + remove hover on web search/citations"
...
This reverts commit 7e9e061f20fcec1f1a9c35be40d9407c05ed82be.
2026-02-09 03:23:51 +08:00
LofiSu
842c4ecac0
fix(frontend): Turbopack about page + remove hover on web search/citations
...
- About: use aboutMarkdown from about-content.ts instead of raw-loader for
about.md (fixes Turbopack 'Cannot find module raw-loader')
- Web search: remove Tooltip from web_search and web_fetch result links
- Citations: remove HoverCard from CitationLink so no hover popup on badges
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-09 03:23:02 +08:00
LofiSu
f0075e0d64
Merge upstream/experimental into feat/citations
...
Resolved conflicts:
- backend/src/gateway/routers/artifacts.py: Keep citations block removal for markdown downloads
- frontend/src/components/workspace/messages/message-list-item.tsx: Keep improved citation handling with rehypePlugins, humanMessagePlugins, and CitationsLoadingIndicator
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-07 00:53:16 +08:00
Henry Li
70989a949e
feat: add 'about' page
2026-02-06 15:18:37 +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
ccf21238af
feat: update button in skill settings to include icon
2026-02-02 14:31:44 +08:00
Henry Li
f5b1412ac0
fix: add translations
2026-01-31 22:49:59 +08:00
Henry Li
bdd2e25e14
feat: implement create skill
2026-01-31 22:31:25 +08:00
Henry Li
5295f5b5b9
feat: add notification
2026-01-31 11:08:27 +08:00
Henry Li
87200d1ad1
feat: update translations
2026-01-25 11:54:49 +08:00
Henry Li
869af570c9
feat: add i18n
2026-01-24 22:19:37 +08:00
Henry Li
cd63f41b4c
feat: support static website
2026-01-24 18:01:27 +08:00
Henry Li
54710960cb
docs: remove '/'
2026-01-22 11:31:23 +08:00
Henry Li
37e2c3d3c9
feat: update skill settings
2026-01-22 00:38:20 +08:00
Henry Li
fbe4d27ddd
feat: use resolvedTheme instead of systemTheme
2026-01-21 10:48:29 +08:00
Henry Li
a2ca682b0c
feat: change color themes
2026-01-21 08:37:30 +08:00
Henry Li
10d253f461
feat: support settings
2026-01-20 23:43:21 +08:00
Henry Li
32a45eb043
feat: implement i18n
2026-01-20 14:06:47 +08:00