Commit Graph
656 Commits
Author SHA1 Message Date
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
🐾 smolpawsandEngel 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'Farrellandopenhands 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'Farrellandopenhands 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 larsonandhieptl 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 Nystandsmolpaws 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 larsonandEngel 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
Jandopenhands 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
KeelTraceandJuan 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 LabsandVascoSch92 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
KXHandVasco 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
FraterCCCLXIIIandhieptl 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
FraterCCCLXIIIandhieptl 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 Jorgeandopenhands 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 SchiavoandVascoSch92 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
chrislazar25andVascoSch92 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
HurairabalochandCursor d636ae6893 feat: show workspace path in Files view (#16362)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-19 16:03:48 +07:00
mikemikimikeandVasco 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
FraterCCCLXIIIandhieptl 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-Xiongandvasco 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 SchiavoandGraham 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