Commit Graph

264 Commits

Author SHA1 Message Date
Shakker 01ce144fa9 fix(app-render): handle optional model in renderApp function 2026-02-04 15:42:58 +00:00
Tak Hoffman 9822985ea6 fix(web ui): agent model selection 2026-02-04 09:25:38 -06:00
Peter Steinberger 6341819d74 fix: cron announce delivery path (#8540) (thanks @tyler6204) 2026-02-04 01:03:59 -08:00
Tyler Yust 79d00e20db UI: handle future timestamps in formatAgo 2026-02-04 01:03:59 -08:00
Tyler Yust 3f82daefd8 feat(cron): enhance delivery modes and job configuration
- Updated isolated cron jobs to support new delivery modes: `announce` and `none`, improving output management.
- Refactored job configuration to remove legacy fields and streamline delivery settings.
- Enhanced the `CronJobEditor` UI to reflect changes in delivery options, including a new segmented control for delivery mode selection.
- Updated documentation to clarify the new delivery configurations and their implications for job execution.
- Improved tests to validate the new delivery behavior and ensure backward compatibility with legacy settings.

This update provides users with greater flexibility in managing how isolated jobs deliver their outputs, enhancing overall usability and clarity in job configurations.
2026-02-04 01:03:59 -08:00
Tyler Yust ab9f06f4ff feat(cron): enhance one-shot job behavior and CLI options
- Default one-shot jobs to delete after success, improving job management.
- Introduced `--keep-after-run` CLI option to allow users to retain one-shot jobs post-execution.
- Updated documentation to clarify default behaviors and new options for one-shot jobs.
- Adjusted cron job creation logic to ensure consistent handling of delete options.
- Enhanced tests to validate new behaviors and ensure reliability.

This update streamlines the handling of one-shot jobs, providing users with more control over job persistence and execution outcomes.
2026-02-04 01:03:59 -08:00
Tyler Yust 0bb0dfc9bc feat(cron): default isolated jobs to announce delivery and enhance scheduling options
- Updated isolated cron jobs to default to `announce` delivery mode, improving user experience.
- Enhanced scheduling options to accept ISO 8601 timestamps for `schedule.at`, while still supporting epoch milliseconds.
- Refined documentation to clarify delivery modes and scheduling formats.
- Adjusted related CLI commands and UI components to reflect these changes, ensuring consistency across the platform.
- Improved handling of legacy delivery fields for backward compatibility.

This update streamlines the configuration of isolated jobs, making it easier for users to manage job outputs and schedules.
2026-02-04 01:03:59 -08:00
Tyler Yust 511c656cbc feat(cron): introduce delivery modes for isolated jobs
- Added support for new delivery modes in cron jobs: `announce`, `deliver`, and `none`.
- Updated documentation to reflect changes in delivery options and usage examples.
- Enhanced the cron job schema to include delivery configuration.
- Refactored related CLI commands and UI components to accommodate the new delivery settings.
- Improved handling of legacy delivery fields for backward compatibility.

This update allows users to choose how output from isolated jobs is delivered, enhancing flexibility in job management.
2026-02-04 01:03:59 -08:00
Yeom-JinHo 7b3d23b703
fix(control-ui): resolve header logo when gateway.controlUi.basePath is set (#7178)
* fix(control-ui): resolve header logo when gateway.controlUi.basePath is set

* refactor(control-ui): header logo under basePath; normalize logo URL with normalizeBasePath
2026-02-03 22:46:14 -08:00
Peter Steinberger 9f16de2533 style: update chat new-messages button 2026-02-03 21:53:50 -08:00
Tyler Yust efb4a34be4 feat: add new messages indicator style for chat interface
- Introduced a floating pill element above the compose area to indicate new messages.
- Styled the indicator with hover effects and responsive design for better user interaction.
2026-02-03 19:32:50 -08:00
Peter Steinberger 66d8117d44 fix: harden control ui framing + ws origin 2026-02-03 16:00:57 -08:00
Gustavo Madeira Santana ddccfd3ec1 fix(ui): refresh agent files after external edits 2026-02-03 14:14:16 -05:00
Gustavo Madeira Santana 5935c4d23d fix(ui): fix web UI after tsdown migration and typing changes 2026-02-03 13:56:20 -05:00
cpojer 1f2f79a7a7
chore: Merge tsconfigs, typecheck `ui` as part of `pnpm tsgo` locally and on CI. 2026-02-03 22:50:00 +09:00
cpojer 6e09c1142e
chore: Switch to `NodeNext` for `module`/`moduleResolution` in `ui`. 2026-02-03 22:48:28 +09:00
cpojer 27677dd8bd
chore: Fix all TypeScript errors in `ui`. 2026-02-03 22:45:29 +09:00
Gustavo Madeira Santana ac2b71f240 chore: fix CI 2026-02-02 21:44:31 -05:00
Gustavo Madeira Santana 2a68bcbeb3 feat(ui): add Agents dashboard 2026-02-02 21:31:17 -05:00
cpojer e77988f747
chore: Fix CI. 2026-02-03 10:25:32 +09:00
Peter Steinberger 96ad19a627 style(ui): format resizable divider 2026-02-02 17:01:17 -08:00
cpojer 9e3ea2687c
chore: Update deps. 2026-02-03 09:09:03 +09:00
Shakker 3711143549 chore: fix formatting and CI 2026-02-02 16:41:49 +00:00
Shakker 13db0489c8 feat(ui): add new messages indicator button 2026-02-02 16:17:09 +00:00
Shakker 2af977f947 fix(ui): add core state and logic for scroll control 2026-02-02 16:17:01 +00:00
Marco Marandiz 822388fe92 fix: address review feedback — retryDelay uses effectiveForce, default overrides param, @state() on chatNewMessagesBelow 2026-02-02 16:06:03 +00:00
Marco Marandiz e18f43ddad fix(webchat): respect user scroll position during streaming and refresh
- Increase near-bottom threshold from 200px to 450px so one long message
  doesn't falsely register as 'near bottom'
- Make force=true only override on initial load (chatHasAutoScrolled=false),
  not on subsequent refreshChat() calls
- refreshChat() no longer passes force=true to scheduleChatScroll
- Add chatNewMessagesBelow flag for future 'scroll to bottom' button UI
- Clear chatNewMessagesBelow when user scrolls back to bottom
- Add 13 unit tests covering threshold, force behavior, streaming, and reset
2026-02-02 16:06:03 +00:00
cpojer 87a61c3b88
chore: Re-enable `no-redundant-type-constituents` rule. 2026-02-02 15:32:03 +09:00
cpojer e9a32b83c2
chore: Manually fix lint issues in `ui`. 2026-02-02 15:23:36 +09:00
cpojer 5ba4586e58
chore: lint the `ui` folder. 2026-02-02 15:08:47 +09:00
Tyler Yust f8575c401c feat: update chat layout and session management
- Added max-width to chat controls and session select for better layout.
- Increased CHAT_SESSIONS_ACTIVE_MINUTES from 10 to 120 for extended session duration.
- Changed brand logo source to a local favicon for improved asset management.
2026-02-01 15:09:56 -08:00
cpojer f06dd8df06
chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
cpojer fcf08299fa
chore: Enable `experimentalSortPackageJson` in `oxfmtrc.jsonc`. 2026-01-31 23:19:40 +09:00
cpojer 8cab78abbc
chore: Run `pnpm format:fix`. 2026-01-31 21:13:13 +09:00
cpojer 762652279b
Switch from TypeScript to TypeScript Go. Use `pnpm tsgo` for Typechecks. 2026-01-31 15:33:15 +09:00
Peter Steinberger 08ed62852a chore: update deps and pi model discovery 2026-01-31 06:45:57 +01:00
Tyler Yust 57c34a324c UI: introduce active minutes constant for chat sessions and enhance session display names 2026-01-30 14:59:08 -08:00
Tyler Yust 0b7aa8cf1d feat(ui): refresh session list after chat commands in Web UI 2026-01-30 14:29:04 -08:00
Peter Steinberger fd00d5688a chore: update openclaw naming 2026-01-30 21:03:11 +01:00
Peter Steinberger 02576615cb fix: migrate legacy gateway services 2026-01-30 04:01:31 +01:00
Peter Steinberger 9a7160786a refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
Tyler Yust 6372242da7
fix(ui): improve chat session dropdown and refresh behavior (#3682)
* refactor(ui): enhance loadSessions function to accept overrides for session loading parameters

- Updated loadSessions to include optional parameters for activeMinutes, limit, includeGlobal, and includeUnknown.
- Modified refreshChat to use the new activeMinutes parameter when loading sessions.
- Removed duplicate applySettingsFromUrl call in handleConnected function.

* feat(ui): implement session refresh functionality after chat

- Added `refreshSessionsAfterChat` property to `ChatHost` and `GatewayHost` types.
- Introduced `isChatResetCommand` function to identify chat reset commands.
- Updated `handleSendChat` to set `refreshSessions` based on chat reset commands.
- Modified `handleGatewayEventUnsafe` to load sessions when chat is finalized and `refreshSessionsAfterChat` is true.
- Enhanced `refreshChat` to load sessions with `activeMinutes` set to 0 for immediate refresh.
2026-01-28 23:24:46 -08:00
Shakker 1c98b9dec8 fix(ui): trim whitespace from config input fields on change 2026-01-28 23:41:33 +00:00
Tyler Yust a7534dc223
fix(ui): gateway URL confirmation modal (based on #2880) (#3578)
* fix: adding confirmation modal to confirm gateway url change

* refactor: added modal instead of confirm prompt

* fix(ui): reconnect after confirming gateway url (#2880) (thanks @0xacb)

---------

Co-authored-by: 0xacb <amccbaptista@gmail.com>
2026-01-28 13:32:10 -08:00
vignesh07 2930ebfd43 fix(ui): constrain chat textarea auto-resize (#2950) (thanks @shivamraut101) 2026-01-27 13:08:15 -08:00
Shivam Kumar Raut b5c885bbd9
fix(ui): auto-expand chat textarea on input (Fixes #2939) (#2950) 2026-01-27 13:05:56 -08:00
Peter Steinberger 6d16a658e5 refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
Peter Steinberger 83460df96f chore: update molt.bot domains 2026-01-27 12:21:01 +00:00
Peter Steinberger 1cca0e5072 chore: warn on weak uuid fallback 2026-01-27 04:00:30 +00:00
Dave Lauer 86fa9340ae fix: reset chat state on webchat reconnect after gateway restart
When the gateway restarts, the WebSocket disconnects and any in-flight
chat.final events are lost. On reconnect, chatRunId/chatStream were
still set from the orphaned run, making the UI think a run was still
in progress and not updating properly.

Fix: Reset chatRunId, chatStream, chatStreamStartedAt, and tool stream
state in the onHello callback when the WebSocket reconnects.

Fixes issue where users had to refresh the page after gateway restart
to see completed messages.
2026-01-26 16:40:13 -05:00