Commit Graph

46 Commits

Author SHA1 Message Date
xintaofei
9f1540129b fix(folder): keep mobile sidebars closed on initial load
Prevent left and right sidebars from auto-opening on small screens during folder page initialization, regardless of persisted open state.

Gate mobile sidebar sheets behind restored panel state to avoid initial sidebar pop-in.
2026-04-14 15:52:52 +08:00
xintaofei
917ff9a672 fix(frontend): fix find widget tooltip flicker, clipping, and close button alignment
- Prevent hover tooltip flicker by adding pointer-events:none to the
  .context-view overlay that covers trigger buttons
- Escape overflow:hidden clipping on ancestor elements by switching the
  tooltip overlay to position:fixed, with CSS custom properties
  (--cv-offset-x/y) set via ResizeObserver to translate container-relative
  coordinates to viewport-relative
- Give the find widget its own border/radius styles (no top border,
  bottom-only border-radius) since it slides from the editor top
- Adjust close button vertical position to align with action buttons

Closes #73

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 12:08:00 +08:00
xintaofei
41b28001af fix(frontend,macos): reduce dark mode white flash on window open
Detect dark/light mode before React hydrates to eliminate the visible
white-to-dark flash when opening windows in dark mode.

Frontend:
- Inline script now reads next-themes localStorage key and applies
  .dark class, colorScheme, and backgroundColor on <html> before first
  paint
- Add CSS-only fallback via prefers-color-scheme media query in an
  inline <style> tag that fires before any JS executes

macOS backend:
- Detect system dark mode via `defaults read -g AppleInterfaceStyle`
  (cached with OnceLock) and set native window background color to
  match dark theme in apply_platform_window_style
- Persist user appearance mode preference (dark/light/system) to DB
  alongside zoom level so new windows use the correct background
- Add update_appearance_mode Tauri command; frontend syncs on mount,
  on settings change, and on cross-window storage events

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 11:15:13 +08:00
xintaofei
5038e352f7 fix(frontend): restore os-theme-codeg scrollbar theme lost during merge
The merge commit ee60536 dropped the custom OverlayScrollbars theme
definition from globals.css, leaving scrollbar handles with zero size
and no background color. Restore the theme with a compound selector
(.os-scrollbar.os-theme-codeg) to ensure higher specificity than the
library's base defaults regardless of CSS load order.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 23:10:13 +08:00
xintaofei
ee6053659c Merge commit 'b1bfc244d10627598f5fb533e62eb86bf166fd98'
# Conflicts:
#	src/app/globals.css
#	src/components/overlay-scrollbars-init.tsx
2026-04-12 20:23:59 +08:00
xintaofei
0fafe782ee feat(frontend): replace native scrollbar styling with OverlayScrollbars
Adopt OverlayScrollbars for cross-platform consistent overlay scrollbars
with auto-hide on pointer leave, hover grow effect, and click-to-scroll.

- Add overlayscrollbars + overlayscrollbars-react dependencies
- Rewrite ScrollArea component from Radix to OverlayScrollbars wrapper
- Define custom theme `os-theme-codeg` in globals.css (6px → 8px on hover)
- Initialize body-level overlay scrollbar via OverlayScrollbarsInit
- Migrate all scrollbar-thin / scrollbar-thin-edge usages to ScrollArea
- Keep native .scrollbar-thin fallback for virtua scroll containers

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 20:21:06 +08:00
xintaofei
b1bfc244d1 feat(frontend): replace native scrollbar styling with OverlayScrollbars
Adopt OverlayScrollbars for cross-platform consistent overlay scrollbars
with auto-hide on pointer leave, hover grow effect, and click-to-scroll.

- Add overlayscrollbars + overlayscrollbars-react dependencies
- Rewrite ScrollArea component from Radix to OverlayScrollbars wrapper
- Define custom theme `os-theme-codeg` in globals.css (6px → 8px on hover)
- Initialize body-level overlay scrollbar via OverlayScrollbarsInit
- Migrate all scrollbar-thin / scrollbar-thin-edge usages to ScrollArea
- Keep native .scrollbar-thin fallback for virtua scroll containers

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 20:16:46 +08:00
xintaofei
db6da4aecc fix(frontend): remove scrollbar-gutter and restore padding for scroll containers
Drop `scrollbar-gutter: stable both-edges` / `stable` from `.scrollbar-thin`
and `.scrollbar-thin-edge` so scrollbars overlay content without reserving
space, fixing layout inconsistencies between overlay and classic scrollbar
environments. Restore padding that was previously reduced to compensate for the
gutter: `px-1` to `px-3` in git-log-tab, `px-2` to `px-4` in
virtualized-message-thread, and add `px-2` to sidebar-conversation-list and
session-files-tab.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 19:20:45 +08:00
xintaofei
a5cd1ce2a8 feat(appearance): wire AppearanceProvider and FOUC script into root layout
在 <body> 顶部注入同步执行的 inline 脚本,在 hydration 前为 <html> 写入
data-theme 属性和 font-size 样式;在 ThemeProvider 内嵌套 AppearanceProvider
管理 React 侧 state。两条通道并行运作,互不干扰。

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 15:50:25 +08:00
xintaofei
fc457725c1 feat(appearance): add 11 shadcn theme color presets to globals.css
新增 zinc / slate / stone / gray / red / rose / orange / green / blue / yellow / violet
共 11 个主题预设的 light + dark CSS 变量定义,配合 [data-theme] 选择器使用。
chart 颜色全预设共用,避免数据可视化随主题色失真。

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 15:45:28 +08:00
xintaofei
4b2e6d188a refactor(appearance): migrate base theme tokens to data-theme="neutral"
把现有 :root / .dark 中的 shadcn CSS 变量整体迁移到 [data-theme="neutral"]
和 [data-theme="neutral"].dark 选择器下,并保留 :root:not([data-theme]) 兜底
确保 inline 脚本未生效时仍维持原视觉。这是后续添加 11 个其他主题预设的基础。

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 15:40:57 +08:00
xintaofei
5b613daded feat(experts): add built-in expert skills with per-agent activation
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 15:17:51 +08:00
xintaofei
150b927610 fix(ui): unify scrollbar styles across scrollable containers
Add .scrollbar-thin and .scrollbar-thin-edge utility classes in
globals.css and apply them to sidebar, file tree, git changes,
git log, session files, diff preview, and message thread panels.
Replace scattered inline webkit-scrollbar overrides with the
shared classes for consistent appearance and gutter behavior.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 18:50:14 +08:00
xintaofei
c367117392 fix(ui): add KaTeX CSS and normalize LaTeX math delimiters for proper formula rendering
Import KaTeX CSS in layout.tsx to ensure math formulas display correctly
in both dev and production modes. Convert LaTeX-style `\[...\]` / `\(...\)`
delimiters to `$$...$$` / `$...$` since remark-math only supports dollar
sign delimiters, fixing formula rendering for agents like Codex.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-08 23:27:40 +08:00
xintaofei
768d1326b1 feat(ui): add responsive layout support for mobile and small screens
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 15:47:16 +08:00
xintaofei
ba19299696 feat(settings): add model provider management with full CRUD support
Add a new settings page for managing API model providers (name, API URL,
API key, applicable agent types). Includes database migration, SeaORM
entity, backend CRUD commands/handlers, frontend settings UI with agent
type filter, add/edit/delete dialogs, and i18n support for all 10 locales.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 16:35:14 +08:00
xintaofei
c06e854975 feat: add favicon for web/server mode browser tabs
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 19:03:55 +08:00
xintaofei
236f0ed5e3 Merge branch 'main-fix' 2026-04-02 16:25:00 +08:00
xintaofei
efd8e1104f features: add commit and push option to git commit window
- Add split button with dropdown in commit dialog supporting both
  "Commit" and "Commit and Push" actions
- Pass folderId through gitCommit/gitPush API calls so backend emits
  events that the folder window can receive for toast notifications
- Update Tauri git_commit and git_push commands to accept folder_id
  parameter with window label fallback for cross-window compatibility
- Wrap commit page with GitCredentialProvider for push authentication
- Keep commit window open when push fails so user can see the error
- Add i18n translations for all 10 locales

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 16:22:41 +08:00
isYangs
92dd5b1bbe fix: disable macOS overscroll bounce 2026-04-02 09:54:23 +08:00
xintaofei
245151dda2 优化提交代码的处理逻辑,避免一些情况无法提交代码 2026-04-01 11:16:41 +08:00
xintaofei
d18cec33bf 初步集成消息通道,支持Telegram + Lark机器人 2026-03-30 22:51:49 +08:00
xintaofei
7c89e150f9 初始化项目启动器代码 2026-03-27 13:05:27 +08:00
xintaofei
f61f9fb025 修复所有lint警告和错误 2026-03-26 21:47:13 +08:00
xintaofei
d17148f3ba 设置 Web 页面标题 2026-03-25 23:29:12 +08:00
xintaofei
ac09d3db9e 初始化web服务功能 2026-03-25 14:26:26 +08:00
xintaofei
593bbe70e3 修复会话页面的滚动条位置在切换模式之后会丢失 2026-03-24 23:47:11 +08:00
xintaofei
2072d0ff0c Suppress benign ResizeObserver loop warnings (W3C spec §3.3) 2026-03-24 22:47:22 +08:00
xintaofei
7d1db72b3e 修复消息turn有时展开异常 2026-03-24 21:36:00 +08:00
xintaofei
a23206796f Git推送成功后现在会自动关闭推送窗口 2026-03-22 23:38:56 +08:00
xintaofei
046289748b 之前是会话tab激活的会话不被空闲回收,现在改为会话tab所有的会话都不被空闲回收 2026-03-22 21:45:45 +08:00
xintaofei
7174ac8d4c 优化会话列表显示效果 2026-03-22 12:43:55 +08:00
xintaofei
d9032f1c82 添加git推送窗口,显示待提交列表和查看文件差异 2026-03-21 20:37:19 +08:00
xintaofei
7fecc83d40 修复lint问题和错误 2026-03-21 15:14:35 +08:00
itpkcn@gmail.com
aaad19adb5 支持实时处理Git凭证 2026-03-21 13:20:46 +08:00
itpkcn@gmail.com
62fab2c3f2 设置界面支持版本控制和github账号管理 2026-03-21 11:33:48 +08:00
xintaofei
4aa3fafed9 修复消息里的代码块没有适配深色模式 2026-03-18 10:49:54 +08:00
xintaofei
d03be55c6b 增强git贮藏(stash)功能,支持可视化操作 2026-03-15 22:09:05 +08:00
xintaofei
2b679b5ba8 优化代码冲突解决 2026-03-14 21:17:26 +08:00
xintaofei
4129f02985 支持git冲突时弹出窗口合并代码解决冲突 2026-03-14 20:55:15 +08:00
xintaofei
91636ada7f 重构会话消息处理和显示逻辑 2026-03-10 19:32:44 +08:00
xintaofei
8f265f8c0c 优化多语言处理 2026-03-07 21:09:55 +08:00
xintaofei
89c91ac1eb 继续多语言补充 2026-03-07 14:22:18 +08:00
xintaofei
28babff52c 多语言优化 2026-03-07 10:24:13 +08:00
xintaofei
934f689b08 初步集成next-intl支持多语言 2026-03-07 10:08:05 +08:00
xggz
54d1097b41 Initial commit 2026-03-06 22:56:13 +08:00