Commit Graph

216 Commits

Author SHA1 Message Date
paisley
712f379226 fix(setup): translate docsUrl before opening in browser (#70) 2026-02-13 11:19:56 +08:00
arianachennn-design
748cd83c73 doc: readme with community QR code (#67) 2026-02-12 19:08:14 +08:00
Haze
c0e8bcfe48 fix(release): alpha beta yml upload workflow failed (#66) 2026-02-12 17:04:50 +08:00
Felix
541a85a5b0 feat: ensure OpenClaw skills directory exists and add a clear button to the marketplace search input (#65) 2026-02-12 16:54:56 +08:00
Haze
300a219f95 chore(UI): ux model settings (#64) 2026-02-12 13:28:20 +08:00
paisley
8ade06d7b8 fix(channels): restrict available set to primary channels only (#63) 2026-02-12 13:09:02 +08:00
Felix
a8e26362b9 refactor: Directly add new chat session to state upon creation (#62) 2026-02-12 12:09:14 +08:00
Felix
8ab1b3af36 misc: provider icons, tooltip in chat toolbar, conditionally display the "Open Skills Folder" button and update "Documentation" to "Website" in settings (#60) 2026-02-12 11:11:28 +08:00
paisley
d7a7c6dcff fix(setup): resolve conflicts, fix light mode styles, add Feishu permission warning (#53) 2026-02-11 17:59:40 +08:00
Felix
fcba8b86d5 fix(chat): improve message handling, fix type errors and migrate changes to enhance branch (#50) 2026-02-11 17:10:53 +08:00
paisley
bc7da0085b chore: fix some ui problems (#51) 2026-02-11 17:08:57 +08:00
paisley
6e09a69f4f feat(app): i18n (#48) 2026-02-11 15:34:53 +08:00
Felix
f9581d2516 fix(chat): improve handling of streaming messages and add pending state management (#46) 2026-02-11 13:55:34 +08:00
Haze
1267e0cc56 fix(updater): update function support alpha (#45) 2026-02-11 13:49:03 +08:00
DigHuang
0ced0b042c refactor(provider): provider API validation & CN defaults (#47) 2026-02-11 13:48:15 +08:00
paisley
01f4d4800e Fix channel configured status (#44) 2026-02-11 11:44:06 +08:00
DigHuang
1b508d5bde feat(provider): mainly support moonshot / siliconflow on setup (#43) 2026-02-11 11:33:33 +08:00
Felix
a0505490cd feat: enhance ClawHub integration with new CLI paths and IPC handlers for config and skills directories (#41) 2026-02-11 11:32:03 +08:00
Felix
816a0e24a2 misc: chat stop button and tool typing indicator and prevent sending message during composition (#37) 2026-02-10 19:12:22 +08:00
paisley
29d0db706f fix(whatsapp): wait for creds update and fix config path (#38) 2026-02-10 19:07:44 +08:00
paisley
518b5f6323 fix: correct Telegram allowlist configuration key (#31) 2026-02-10 16:18:34 +08:00
Haze
9e5fdc5631 fix(update): electron update function (#32) 2026-02-10 15:20:04 +08:00
Felix
e8a7377525 feat(skills): improve marketplace disclaimer and icon (#30)
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-02-10 14:44:18 +08:00
DigHuang
a27f3b4113 feat(gateway): improve Gateway process management & logging (#26) 2026-02-10 14:14:56 +08:00
paisley
7a9fd7fc0f feat(channels): implement WhatsApp QR login proxy (#29) 2026-02-10 14:06:53 +08:00
Felix
0cf4ad3a8c feat: add OpenClaw CLI command and install flow (#25)
Co-authored-by: chatgpt-codex-connector[bot] <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com>
2026-02-10 13:56:29 +08:00
Haze
c440e95464 chore(product): fix link in app (#22) 2026-02-09 22:20:51 +08:00
paisley
0667a241d6 feat(discord): make Guild/Server ID a required field (#20) 2026-02-09 19:19:09 +08:00
paisley
905b828e9b fix crontab task (#19) 2026-02-09 18:59:21 +08:00
Felix
ba53fa5ab2 feat: restore dev console link and show gateway token (#15) 2026-02-09 18:04:12 +08:00
paisley
41b6868646 chore: update channel url (#13) 2026-02-09 17:27:13 +08:00
DigHuang
05b5874832 feat(style): refactor layout, remove Header & Improve gateway readiness checks (#12) 2026-02-09 17:00:27 +08:00
Felix
ca71ef9b9b feat: add Gateway button to dashboard header (#10)
lgtm
2026-02-09 15:37:39 +08:00
Haze
de445ae3d5 Chore/build npm (#9)
Co-authored-by: DigHuang <114602213+DigHuang@users.noreply.github.com>
Co-authored-by: Felix <24791380+vcfgv@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-09 15:10:08 +08:00
Haze
e6317cafd6 chore(frontend): fix corn task (#3) 2026-02-07 01:28:38 +08:00
Felix
fa6c23b82a feature: channels and skills (#2)
Co-authored-by: paisley <8197966+su8su@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 18:26:06 +08:00
Haze
aa032385da chore(dependencies): add @testing-library/jest-dom to package.json and pnpm-lock.yaml
- Included @testing-library/jest-dom version 6.9.1 to enhance testing capabilities.
- Updated pnpm-lock.yaml to reflect the new dependency and its resolution details.
- Removed unused version click handling from Sidebar component to streamline code.
2026-02-06 05:55:14 +08:00
Haze
9fe27e3510 chore(lint): remove ESLint configuration file and update lint scripts
- Deleted the .eslintrc.cjs file to simplify configuration management.
- Updated lint scripts in package.json to remove unnecessary extensions for linting.
- Added new devDependencies for ESLint and globals to enhance linting capabilities.
2026-02-06 05:50:20 +08:00
Haze
fc511826a1 refactor(sidebar): remove version button from Sidebar component
- Eliminated the version display button from the Sidebar to streamline the UI.
- Adjusted layout to maintain consistency with the overall design.
2026-02-06 05:20:55 +08:00
Haze
e9ad15bf6f fix(ui): move chat controls to header, add new session, fix settings layout
Chat page:
- Move session selector, refresh, thinking toggle to the Header bar
  (same level as "Chat" title) instead of inside the chat content area
- Add "New Session" button (+ icon) to create fresh chat sessions
- Remove duplicate toolbar from chat body

Settings page:
- Remove max-w-2xl constraint so cards fill available width
- Redesign provider cards: compact layout with key + actions in one row
- Shorten API key display (sk-...df67 format instead of full masked key)
- Move edit/delete/star buttons inside the key row background area
- Remove duplicate "AI Providers" heading (already in card header)
2026-02-06 05:11:39 +08:00
Haze
7fded9bf8d refactor(chat): remove instruction text from ChatInput component
- Removed the instruction text for sending messages (Enter to send, Shift+Enter for new line) from the ChatInput component to streamline the UI.
2026-02-06 04:59:40 +08:00
Haze
94a6cecf2f fix(chat): move toolbar to Header and add New Session button
- Move ChatToolbar (session selector, refresh, thinking toggle) from
  the Chat page body into the Header component, so controls appear
  at the same level as the "Chat" title
- Add New Session button (+) to create a fresh conversation
- Add newSession action to chat store
- Header conditionally renders ChatToolbar only on /chat route
- Chat page fills full content area without duplicate toolbar
2026-02-06 04:57:25 +08:00
Haze
3468d1bdf4 feat(chat): native React chat page with session selector and streaming
Replace the iframe-based Control UI embed with a native React
implementation that communicates directly with the Gateway via
gateway:rpc IPC calls and chat event streaming.

New components:
- ChatToolbar: session selector dropdown, refresh button, thinking toggle
- ChatMessage: message bubbles with markdown (react-markdown + GFM),
  collapsible thinking blocks, tool use cards, image attachments
- ChatInput: textarea with Enter to send, Shift+Enter for new line
- message-utils: extractText/extractThinking/extractImages/extractToolUse
  ported from OpenClaw's message-extract.ts

Rewritten chat store with:
- Session management (sessions.list, switchSession)
- Proper chat.history loading with raw message preservation
- chat.send with idempotencyKey and run tracking
- Streaming via handleChatEvent (delta/final/error/aborted)
- Thinking toggle (show/hide reasoning blocks)
2026-02-06 04:49:01 +08:00
Haze
bdb734120f refactor(ui): remove search, theme toggle, and notifications from header 2026-02-06 04:18:42 +08:00
Haze
191948ce51 fix(docs): update repository links in README and menu to reflect new GitHub organization 2026-02-06 04:18:16 +08:00
Haze
a36c3c5399 fix(stores): channels.status and skills.status return complex objects, not arrays
The Dashboard crashed with 'channels.slice is not a function' because
channels.status returns a deeply nested object per channel ID, not a
Channel[] array. Same issue with skills.status.

For now, use empty arrays since channel/skill management is deferred
to their dedicated pages. Will properly parse the complex response
format when those pages are implemented.
2026-02-06 03:50:23 +08:00
Haze
7089c7a891 fix(app): add ErrorBoundary to show actual crash errors instead of white screen 2026-02-06 03:48:29 +08:00
Haze
7818798bff fix(app): remove provider:list check that caused white screen on startup 2026-02-06 03:45:50 +08:00
Haze
f67370ce03 fix(app): scope header overrides to gateway URLs only
- The session.webRequest.onHeadersReceived was stripping X-Frame-Options
  and modifying CSP for ALL responses including the Vite dev server,
  which could break the main app rendering. Now only applies to
  gateway URLs (127.0.0.1:18789 / localhost:18789).
- Dashboard: only fetch channels/skills when gateway is running
- Dashboard: guard against non-array channels/skills data
- Gateway store: use dynamic import() instead of require() for chat
  store to avoid ESM/CJS issues in Vite
2026-02-06 03:40:47 +08:00
Haze
4b9ab69b9b fix(setup): auto-redirect to setup when no API keys are configured
If setup was previously completed but no provider API keys were saved
(due to the legacy bug where validation didn't persist keys), the app
now detects this on startup and redirects to the setup wizard so the
user can re-enter their key with the fixed save flow.
2026-02-06 03:27:32 +08:00