VascoSch92
5a8f2a1a9b
style: trim the cron validation comments
...
Comments only; no behaviour change.
2026-08-27 19:46:28 +02:00
VascoSch92
65717710e8
fix: align the cron field's validation with the automation service
...
The service validates a schedule with croniter, which accepts more than the
form's field-bounds check did. `0 0 * * 7`, `0 0 * * SUN`, `0 0 * JAN *` and
`0 0 L * *` are all stored happily and were all rejected here.
Worse, `handleSubmit` validated every custom schedule before checking whether
it had changed, so an automation already on one of those expressions could no
longer save an unrelated name, prompt or timeout edit.
- Skip validation entirely when the trimmed schedule is unchanged. A schedule
the user did not touch is the service's business, not the form's.
- Widen the check to croniter's grammar: day and month names, `7` for Sunday,
`L`/`W`/`#`/`?` in the day fields, the trailing seconds and year fields,
`@daily`-style aliases, reversed ranges, and unbounded steps. It is now
one-sided by design — it rejects only what croniter certainly rejects and
defers on any construct it does not model.
- Reject a well-formed schedule that can never fire, which is the one semantic
check croniter itself makes. `0 0 31 2 *` used to pass the field-bounds check
and get sent, only for the service to refuse it; it now fails in-form under a
distinct message.
Checked against croniter 6.2.2 over 6637 generated expressions: no expression
the service accepts is rejected here. The residual gap is one-sided — `5#3`
combined with a restricted day-of-month is sent and refused by the service —
and is left to the service rather than guessed at.
2026-08-27 19:39:45 +02:00
VascoSch92
682a233809
refactor: drop the custom-schedule hint from the edit form
...
"Frequency editing is disabled to avoid breaking it" described a form where the
expression could not be changed at all. The cron field now sits directly below
the disabled dropdown and says what the schedule is, so the sentence is stale.
Remove it and its translations, which nothing else referenced.
2026-08-27 10:09:10 +02:00
VascoSch92
a98747cb6d
refactor: match the cron check to validateAutomationTimeout's contract
...
The sibling validator for this same form returns `{ value } | { errorKey }` and
owns its i18n key. Return `{ schedule } | { errorKey }` the same way, so the
modal reads both fields identically and the trimming lives in one place.
2026-08-27 09:48:01 +02:00
VascoSch92
be5c23ae5a
feat: allow editing a custom cron expression from the edit-automation modal
...
An automation whose schedule is not one of the Daily/Weekdays/Weekly presets
could not be retimed from the UI: Frequency was disabled and the submit path
never sent `trigger`, while Time of day stayed enabled and silently discarded
whatever was typed into it.
Show an editable Cron expression field for custom schedules, validate it before
submit, and disable Time of day so it no longer offers a control that save
ignores. Preset schedules keep their existing behavior.
Fixes #16963
2026-08-27 09:12:34 +02:00
Jatin Jain
1697faa313
fix: validate api key before advancing backend connection step ( #16840 )
2026-08-26 23:51:29 -04:00
🐾 smolpaws and Engel Nyst
a917e3622b
chore: remove unused random tip code ( #16935 )
...
Co-authored-by: Engel Nyst <engel.nyst@gmail.com >
2026-08-27 03:52:46 +02:00
Hiep Le
f48eca6ab9
feat: pin a favorite sidebar page as the home route ( #16868 )
2026-08-25 18:55:19 +07:00
Hiep Le
a3652270f6
fix: bound automation run-history fan-out and pause sidebar polling ( #16867 )
2026-08-25 18:53:37 +07:00
Tim O'Farrell and openhands
9e6e27aa7b
fix(home): remember local workspace mode selection ( #16881 )
...
Co-authored-by: openhands <openhands@all-hands.dev >
2026-08-25 04:51:24 -06:00
Shashwat Pratap Singh
150e76046d
feat: link chat file paths to the Files drawer ( #16181 )
2026-08-24 17:27:14 -04:00
Vasco Schiavo
c4c5bb7467
feat(skills): replace the all-on skill catalog with an explicit allow-list ( #16860 )
2026-08-24 20:53:41 +02:00
Tim O'Farrell and openhands
8a2161b404
fix: hide API key for OpenHands provider on cloud ( #16863 )
...
Co-authored-by: openhands <openhands@all-hands.dev >
2026-08-24 10:48:54 -06:00
george larson and hieptl
46e44c10d3
feat(settings): expose the LLM-switching toggle in Agent settings ( #16441 )
...
Co-authored-by: hieptl <hieptl.developer@gmail.com >
2026-08-24 20:47:58 +07:00
8511fff62d
feat(automations): show a run's live phase ( #16740 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
Co-authored-by: Vasco Schiavo <115561717+VascoSch92@users.noreply.github.com >
Co-authored-by: VascoSch92 <vasco.schiavo@protonmail.com >
2026-08-24 12:24:48 +02:00
Engel Nyst and smolpaws
861e9ef501
fix(agent-canvas): scope baked working_dir to the default-local backend ( #16759 )
...
Co-authored-by: smolpaws <engel@enyst.org >
2026-08-24 03:00:54 +00:00
george larson
cd64987665
fix(providers): follow next_page_id so cloud picks surface past the default page size ( #16758 )
2026-08-23 11:27:47 -04:00
george larson and Engel Nyst
10d2285dd0
fix(acp): surface a 'credentials configured' banner state on Docker/cloud ( #15643 ) ( #16145 )
...
Co-authored-by: Engel Nyst <engel.nyst@gmail.com >
2026-08-23 09:54:48 -04:00
J and openhands
2f5bd24f00
fix: forward disabled_skills into agent_context so backend excludes them ( #16812 )
...
Co-authored-by: openhands <openhands@all-hands.dev >
2026-08-23 10:24:09 +02:00
35331e795b
fix: correlate local conversation telemetry with Canvas identity ( #16796 )
...
Co-authored-by: neubig <neubig@users.noreply.github.com >
Co-authored-by: openhands <openhands@all-hands.dev >
2026-08-22 11:45:19 -04:00
KeelTrace and Juan Pedro Michelini Jorge
4bf8dd3aaf
feat(settings): select supported LLM providers ( #16772 )
...
Co-authored-by: Juan Pedro Michelini Jorge <juan@juan.com.uy >
2026-08-22 00:14:07 -03:00
bad1687dec
fix: render the VSCode button on self-hosted (local) backends ( #16106 )
...
Co-authored-by: Harish Chandramowli <harish.jhu@gmail.com >
Co-authored-by: Engel Nyst <engel.nyst@gmail.com >
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-21 17:38:43 +02:00
Hiep Le
c59a28a245
fix: keep the events socket alive across refetches and bound hung handshakes ( #16732 )
2026-08-21 12:53:34 +00:00
Hiep Le
56227de5e4
feat: instrument onboarding checklist link clicks ( #16777 )
2026-08-21 19:42:18 +07:00
Hiep Le
b1f0accae1
feat: send template provenance for versioned setup entries ( #16458 )
2026-08-21 17:22:19 +07:00
Vasco Schiavo
4e7d1ec475
chore: bump @openhands/extensions to 0.18.0 ( #16754 )
2026-08-21 11:24:32 +02:00
MarMar Labs and VascoSch92
4a8cabc5fd
fix(git): stop reading a remote URL's port as part of the repository path ( #16723 )
...
Co-authored-by: VascoSch92 <vasco.schiavo@protonmail.com >
2026-08-20 15:39:24 +00:00
Hiep Le
4c2367afbf
fix: support mouse drag-to-scroll on recommended rails ( #16742 )
2026-08-20 20:40:14 +07:00
Hiep Le
28be38adac
fix: do not silently persist ACP model picks to agent_settings when profile discovery fails ( #16701 )
2026-08-20 20:12:32 +07:00
Hiep Le
4c3bb82400
fix: unsandbox the PDF preview iframe so the built-in viewer renders ( #16702 )
2026-08-20 20:10:34 +07:00
KXH and Vasco Schiavo
df5d92b48e
fix(skills): keep modal actions visible for long descriptions ( #16115 )
...
Signed-off-by: KXH <shepherdlaurie238@gmail.com >
Co-authored-by: Vasco Schiavo <115561717+VascoSch92@users.noreply.github.com >
2026-08-20 13:56:41 +02:00
FraterCCCLXIII and hieptl
d70cf83a33
feat(conversation): add overview panel and unified commits drawer ( #16230 )
...
Co-authored-by: hieptl <hieptl.developer@gmail.com >
2026-08-20 17:47:40 +07:00
FraterCCCLXIII and hieptl
7a9aacb7b6
feat: polish automations dashboard, recommended rail, and Add/Import flow ( #16688 )
...
Co-authored-by: hieptl <hieptl.developer@gmail.com >
2026-08-20 06:32:28 +00:00
Juan Pedro Michelini Jorge and openhands
f2dd330905
feat: add LLM provider-connections UI (local agent-server) ( #16616 )
...
Co-authored-by: openhands <openhands@all-hands.dev >
2026-08-19 17:12:06 +00:00
Vasco Schiavo and VascoSch92
7c3b2423fb
feat(automations): install a catalog entry that ships a script bundle ( #16680 )
...
Co-authored-by: VascoSch92 <vasco@openhands.dev >
2026-08-19 11:42:14 +00:00
Vasco Schiavo
8780efb3cd
fix(chat): scope Cmd+Enter build shortcut to plan mode ( #16703 )
2026-08-19 10:49:07 +00:00
Ondra Pelech
5f11a4eec6
fix: reconcile non-native tool-call streamed <function=...> XML delta ( #16220 )
2026-08-19 10:44:39 +00:00
Vasco Schiavo
3865628375
fix: combine stats.usage_to_metrics into AppConversation.metrics when metrics is unset ( #16510 )
2026-08-19 12:36:46 +02:00
chrislazar25 and VascoSch92
551e9a9ee6
fix(backend-registry): preserve URL fragments in withBackendSelectionParams ( #16619 )
...
Co-authored-by: VascoSch92 <vasco.schiavo@protonmail.com >
2026-08-19 09:07:29 +00:00
Hurairabaloch and Cursor
d636ae6893
feat: show workspace path in Files view ( #16362 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-19 16:03:48 +07:00
mikemikimike and Vasco Schiavo
6699fc95dc
fix: normalize trailing slash in git remote URLs ( #16536 )
...
Co-authored-by: Vasco Schiavo <115561717+VascoSch92@users.noreply.github.com >
2026-08-19 08:44:00 +00:00
FraterCCCLXIII and hieptl
78068152d0
feat(sidebar): add getting started checklist with settings toggle ( #16182 )
...
Co-authored-by: hieptl <hieptl.developer@gmail.com >
2026-08-19 07:22:41 +00:00
Nicholas-Xiong and vasco
49812ee20d
fix: clear stale urlSearchResults for non-matching HTTPS URLs in useUrlSearch ( #16700 )
...
Co-authored-by: vasco <vasco.schiavo@protonmail.com >
2026-08-19 05:38:31 +00:00
1916c9046c
fix: restore onboarding modal bottom padding and stop leftover scrollbars ( #16684 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: hieptl <hieptl.developer@gmail.com >
2026-08-19 00:50:29 +07:00
Hiep Le
be584ade93
fix: honor the home LLM dropdown selection over an agent profile's pinned LLM ( #16671 )
2026-08-18 19:50:02 +07:00
Vasco Schiavo and Graham Neubig
e5fc3a4be2
perf: batch StreamingDeltaEvents so the UI keeps up with fast models ( #16164 )
...
Co-authored-by: Graham Neubig <neubig@gmail.com >
2026-08-18 14:35:30 +02:00
Vasco Schiavo
96b6aab34d
refactor: serve the automation interface from the manifest alone ( #16676 )
2026-08-18 12:18:17 +02:00
Vasco Schiavo
6dcc9f5b3e
refactor: finish the microagent→skill rename in the frontend ( #16672 )
2026-08-18 11:03:26 +02:00
Mohit Singh
2ed792bc77
fix: always show all workspace folders in grouped view regardless of pagination ( #16444 )
2026-08-17 23:56:55 +02:00
e9ca71d138
fix: prevent silent agent profile downgrade ( #16523 )
...
Co-authored-by: neubig <neubig@users.noreply.github.com >
Co-authored-by: openhands <openhands@all-hands.dev >
2026-08-17 17:40:47 -04:00