fix(cron): pass 'id' instead of 'jobId' to gateway#180
Merged
steipete merged 2 commits intoopenclaw:mainfrom Jan 4, 2026
Merged
fix(cron): pass 'id' instead of 'jobId' to gateway#180steipete merged 2 commits intoopenclaw:mainfrom
steipete merged 2 commits intoopenclaw:mainfrom
Conversation
Contributor
|
Thanks Adam! Talking a look. |
The cron tool was passing { jobId } to the gateway for update/remove/run/runs
actions, but the gateway protocol schema expects { id }. This caused validation
errors when trying to update or remove cron jobs via the tool.
Fixes the parameter name while keeping the external tool API unchanged (still
accepts 'jobId' from callers).
3c63c71 to
c50b64e
Compare
dgarson
referenced
this pull request
in dgarson/clawdbot
Feb 7, 2026
slathrop
referenced
this pull request
in slathrop/openclaw-js
Feb 11, 2026
…plan Tasks completed: 2/2 - Port onboarding shell completion auto-install (commit #180) - Port plugins list source display (commit #182) SUMMARY: .planning/phases/19-misc-fixes-cleanup/19-03-SUMMARY.md
dgarson
referenced
this pull request
in dgarson/clawdbot
Feb 22, 2026
dalefrieswthat
pushed a commit
to dalefrieswthat/openclaw
that referenced
this pull request
Feb 25, 2026
songliu0403-rgb
pushed a commit
to songliu0403-rgb/openclaw
that referenced
this pull request
Feb 26, 2026
ph0t0bar
added a commit
to ph0t0bar/openclaw
that referenced
this pull request
Mar 16, 2026
- Add 10 PRs from Mar 15-16 to PRD-Action-Plan Section 7 - Update LAUNCH-CRITICAL-PATH with 11:08 UTC metrics - Create daily memory log for 2026-03-16 PRs tracked (from Hub messages): - opoerator-hub: openclaw#180-187 (8 PRs) - dropanywhere-app: openclaw#150
sdntsng
added a commit
to tryvinci/engram-openclaw
that referenced
this pull request
Mar 24, 2026
* feat(data-explorer): searchable icon-grid view of ingested connector data (openclaw#174) Closes openclaw#173 - Backend: GET /v1/connectors/data — paginated, filterable, searchable query over connector_data_index (one entry per source doc). Adds store.list_connector_index_entries() with regex text search, provider filter, and skip/limit pagination. - Frontend hook: useConnectorData(q, source, page) with abort-controlled fetch and debounce handled in the page. - Frontend page: /dashboard/data — Google Drive-style icon grid with per-provider icons (Slack, Notion, Drive, Fathom), debounced search bar, source filter pills, spring-animated detail drawer, pagination, and empty state. - Header: adds "Data" nav link with FolderSearch icon. Co-authored-by: Claude Sonnet 4.6 <[email protected]> * checkpoint (openclaw#177) * feat(memory): add admin debug endpoints * feat(memory): wire chat and slack publishers * feat(memory): make synthesis profiles pluggable * feat(frontend): add memory admin debug page * feat(backend): publish refresh outputs to memory * chore(dev): start memory with root dev loop * feat(memory): add postgres storage provider * feat(connectors): add slack memory sync observability * docs(memory): document technical orchestration * build(memory): generate and verify code mind map * fix(frontend): remove leftover connectors merge marker * docs(engram-chat): add connector migration matrix * feat(engram-chat): migrate connector oauth parity * feat(engram-chat): migrate connector sync to memory * feat(engram-chat): migrate fathom webhook ingest * docs(engram-chat): record remaining backend legacy surface * chore(repo): remove stray ds store files * refactor(routes): retire legacy backend chat surface * fix(engram-chat): expose connector sync state collection * feat(memory): include references in chat retrieval * feat(memory): tighten connector retrieval semantics * feat(engram-chat): add mongo-backed chat prompt configs * feat(engram-chat): compose chat prompts at runtime * docs(engram-chat): document prompt override workflow * fix(engram-chat): restrict prompt overrides to admins * feat(frontend): add prompt admin controls to memory page * feat(prompts): scope product prompt control to admins * build(dev): add oauth tunnel startup command * docs(engram-chat): document stable oauth callbacks * feat(engram-chat): add direct chat fallback for local runtime * feat(frontend): enrich memory admin prompt controls * feat(frontend): add admin workspace debug portal * feat(frontend): fold memory into brand brain experience * fix(memory): repair admin event and stats endpoints * fix(frontend): expose full prompt catalog and route to chat * feat(memory): add user-scoped memory steering * feat(frontend): add explicit brand team switcher * refactor(frontend): move prompt governance into admin portal * feat(frontend): streamline brand switcher and add new brand entry * fix(frontend): route team workspace to backend api * build(dev): mirror runtime logs to root file * fix(frontend): always open brand switcher menu * refactor(frontend): remove team and data from primary nav * feat(frontend): embed data explorer into connectors * feat(frontend): add connect and explore tabs to connectors * fix(frontend): load connector explorer data from backend * fix(chat): keep product context across follow-up turns * fix(chat): ground brand-scoped turns in profile context * fix(chat): add website identity to brand context * docs(traceability): capture aligned scope * feat(chat): trace sync runs and expose admin inspection * test(chat): add context regression harness * feat(chat): expose retrieval provenance in traces * feat(chat): trace streamed chat runs * feat(frontend): inspect chat traces from admin portal * feat(multi-brand): full multi-brand support — routing, access control, delete, refresh fix (openclaw#180) * feat(multi-brand): support multiple brands per user (openclaw#178) Backend: - Store: add list_brand_profiles_for_user (all owned+member brands), create_brand_profile (new insert), upsert_brand_profile_by_id (owner-only update by id) - Brand router: POST /v1/brand creates a new brand; GET /accessible now returns ALL owned and member brands via list_brand_profiles_for_user - Add _get_brand_for_user helper for consistent owner/member access control - Thread brand_id query param through /profile, /website-identity, /refresh, /refresh-status, /today, _trigger_refresh_task, _generate_daily_brief_task - POST /profile accepts ?brand_id= to update a specific brand (owner only) - Chat: ChatRequest.brand_id optional field; _get_context and run_content_pipeline tool respect active brand_id Frontend: - BrandContext: add createBrand(); saveTracking and setBrandThemeEnabled now pass ?brand_id= when activeBrandId is set - useDailyBrief: accept brandId option, thread through today/refresh/refresh-status/ website-identity API calls - Header BrandSwitcher: "New brand" inline form to create additional brands Co-Authored-By: Claude Sonnet 4.6 <[email protected]> * fix(multi-brand): clear stale activeBrandId on 403/404 profile fetch If localStorage has a brand_id the user no longer has access to, the profile request returns 403. Clear the key and retry without it. Co-Authored-By: Claude Sonnet 4.6 <[email protected]> * feat(header): always show brand dropdown with + Add brand button Removed the single-brand shortcut that rendered a plain link with no dropdown — the trigger now always opens the dropdown, giving every user access to the brand list and the inline "Add brand" form. Co-Authored-By: Claude Sonnet 4.6 <[email protected]> * feat(multi-brand): add brand via website URL, not brand name POST /v1/brand now accepts website_url, derives a seed name from the domain, persists the new brand, then fires _trigger_refresh_task in the background — same extraction flow as first-brand onboarding. Frontend: createBrand() accepts a URL; Header "Add brand" input shows a Globe icon with placeholder "example.com" and a "Go" submit button. Co-Authored-By: Claude Sonnet 4.6 <[email protected]> * chore: restore stashed session changes (brand delete, context ACL, team brand_id, store methods) Co-Authored-By: Claude Sonnet 4.6 <[email protected]> * fix(multi-brand): correct brand routing across all pages and fix refresh crash - store: add get_brand_for_user() — single access-control resolver (owner or member) - brand.py: remove local _get_brand_for_user(), replace all 7 call sites with store method - chat.py: replace two inline access-control blocks with store.get_brand_for_user() - context.py: simplify _assert_brand_access() to use store.get_brand_for_user() - brand.py _synthesize_brief: fix NameError — bare brand_id → str(brand.id or "") - useDailyBrief: add brandId to useCallback dep arrays (fetchBrief, fetchWebsiteIdentity, fetchRefreshStatus) — was stale on brand switch - today/page: pass activeBrandId to useDailyBrief - brand-brain/page: pass brand_id param to /v1/brand/profile and /v1/brand/website-identity fetches - team/page: add useBrandProfile, pass brand_id to all 4 team API calls, add brandParam to fetchTeam deps Co-Authored-By: Claude Sonnet 4.6 <[email protected]> --------- Co-authored-by: Claude Sonnet 4.6 <[email protected]> * feat(backend): add agent web research endpoint * feat(chat): trigger web research from search intent * feat(chat): add search policy prompt section * feat(ux): show loading indicator when a new brand is being initialized - toast.loading/success/error pair in BrandSwitcher for full-lifecycle feedback - animated skeleton loading row appears in brand list while creation is in progress - all brand-switch and delete buttons disabled while creating to prevent race conditions - deferred setActiveBrandId until after fetchBrand resolves so the switcher does not flip to the new brand before its profile is ready Closes openclaw#181 Co-Authored-By: Claude Sonnet 4.6 <[email protected]> * fix(frontend): surface saved search data in explore * feat(chat): stream agent activity summaries * fix(frontend): soften technical thinking summaries * feat(chat): add langfuse tracing support * feat(admin): surface langfuse metadata in traces * speed up brand refresh * fix(openclaw): bind gateway to 0.0.0.0 on Render Render requires the service to listen on 0.0.0.0 for port detection. Add dockerCommand to override the Dockerfile CMD with --bind lan --port 8080, and remove the no-op OPENCLAW_GATEWAY_BIND env var (not read by the codebase). Co-Authored-By: Claude Sonnet 4.6 <[email protected]> --------- Co-authored-by: Claude Sonnet 4.6 <[email protected]> Co-authored-by: sdntsng <[email protected]>
Fato07
pushed a commit
to Fato07/elav
that referenced
this pull request
Mar 26, 2026
Use roleLabels lookup in list view subtitle and AgentProperties panel instead of raw role strings. Fixes openclaw#180 Co-Authored-By: Claude Opus 4.6 <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The cron tool was passing
{ jobId }to the gateway for update/remove/run/runs actions, but the gateway protocol schema expects{ id }. This caused validation errors when trying to update or remove cron jobs via the tool.Fixes the parameter name while keeping the external tool API unchanged (still accepts
jobIdfrom callers).Testing
All existing tests pass.