2013 Commits

Author SHA1 Message Date
kumarabhirup
3dd23ba381
ironclaw: save WIP workspace, dench, and web app changes before upstream merge
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-15 18:18:15 -08:00
Advait Paliwal
115cfb4430
gateway: add cron finished-run webhook (#14535)
* gateway: add cron finished webhook delivery

* config: allow cron webhook in runtime schema

* cron: require notify flag for webhook posts

* ui/docs: add cron notify toggle and webhook docs

* fix: harden cron webhook auth and fill notify coverage (#14535) (thanks @advaitpaliwal)

---------

Co-authored-by: Tyler Yust <TYTYYUST@YAHOO.COM>
2026-02-15 16:14:17 -08:00
kumarabhirup
e4c94cc012
Merge upstream openclaw/main into ironclaw
Resolve 17 merge conflicts preserving ironclaw branding while
incorporating all upstream bug fixes and feature updates:

- Keep ironclaw name, CLI branding, and custom web app bundling
- Take upstream's new gateway auth token auto-generation
- Take upstream's shouldSkipRespawnForArgv respawn guard
- Take upstream's refactored skills frontmatter (resolveOpenClawManifestBlock)
- Merge upstream's ~/.agents/skills path + ironclaw's bundled skills watcher
- Take upstream's new GatewayToolsConfig alongside ironclaw's GatewayWebAppConfig
- Take upstream's minimalTestGateway guard in server.impl.ts
- Take upstream's refactored fs-mocked tests with ironclaw variants
- Take upstream's system message + subagent polling guidance tests
- Take upstream's dynamic import pattern in onboarding wizard
- Fix extensions/feishu workspace reference (openclaw -> ironclaw)
- Regenerate pnpm-lock.yaml with updated dependencies

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-15 15:17:52 -08:00
Peter Steinberger
3cd786cc2d refactor(swift): share discovery status text 2026-02-15 20:40:47 +00:00
Peter Steinberger
778959b3dc refactor(ios): dedupe gateway helpers 2026-02-15 20:38:26 +00:00
Peter Steinberger
ef2c66a16b refactor(camera): centralize JPEG transcode cap 2026-02-15 20:33:14 +00:00
Peter Steinberger
b30ed6ca4c refactor(ios): share EventKit auth gating 2026-02-15 20:24:06 +00:00
Peter Steinberger
71009ab1b6 refactor(macos): share tailnet IPv4 detection 2026-02-15 20:22:40 +00:00
Peter Steinberger
c8779ef61d refactor(macos): share pairing alert plumbing 2026-02-15 20:19:55 +00:00
Peter Steinberger
218189318d refactor(swift): share primary IPv4 lookup 2026-02-15 20:17:43 +00:00
Peter Steinberger
f37b1c11e0 refactor(macos): centralize presence system info 2026-02-15 20:12:50 +00:00
Peter Steinberger
375e16170d refactor(macos): dedupe file watcher 2026-02-15 20:07:12 +00:00
Peter Steinberger
3a075f0292 fix(macos): drop duplicate AnyCodable helpers 2026-02-15 20:05:25 +00:00
Peter Steinberger
c75fe7e3cd fix(swift): make SwiftPM tests deterministic 2026-02-15 20:03:48 +00:00
Peter Steinberger
a3419e48ab refactor(swift): dedupe AnyCodable 2026-02-15 20:00:40 +00:00
Peter Steinberger
cbd9395082 ci(protocol): regenerate swift protocol models 2026-02-15 07:07:55 +00:00
Peter Steinberger
31a16157f3 fix(android): make lint pass 2026-02-15 05:38:35 +01:00
Peter Steinberger
8725c2b19f style(swift): run swiftformat + swiftlint autocorrect 2026-02-15 05:38:35 +01:00
Peter Steinberger
379b445582 chore: bump version to 2026.2.15 2026-02-15 04:50:31 +01:00
Peter Steinberger
1ff15e60d3 chore(release): bump versions to 2026.2.14 2026-02-15 02:53:35 +01:00
Vignesh Natarajan
0f53a3b9f3 Protocol: regenerate Swift gateway models 2026-02-14 17:27:17 -08:00
Mark
68ced90d13 Fix file opening and better detect file path 2026-02-14 14:39:07 -08:00
Mark
724be0bb81 Support open file in Finder from chat content 2026-02-14 14:29:46 -08:00
Mark
1ccff68520 Chat UI/UX improvement 2026-02-14 14:07:53 -08:00
Bin Deng
b9d14855d0
Fix: Force dashboard command to use localhost URL (#16434)
Merged via /review-pr -> /prepare-pr -> /merge-pr.

Prepared head SHA: 3c03b4cc9b1dec96e0541df37910a697493ca285
Co-authored-by: BinHPdev <219093083+BinHPdev@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
2026-02-14 15:00:58 -05:00
Peter Steinberger
054366dea4 fix(security): require explicit trust for first-time TLS pins 2026-02-14 17:55:20 +01:00
Peter Steinberger
d583782ee3 fix(security): harden discovery routing and TLS pins 2026-02-14 17:18:14 +01:00
Peter Steinberger
28d9dd7a77 fix(macos): harden openclaw deep links 2026-02-14 15:03:27 +01:00
Nick Taylor
1fb52b4d7b
feat(gateway): add trusted-proxy auth mode (#15940)
Merged via /review-pr -> /prepare-pr -> /merge-pr.

Prepared head SHA: 279d4b304f83186fda44dfe63a729406a835dafa
Co-authored-by: nickytonline <833231+nickytonline@users.noreply.github.com>
Co-authored-by: steipete <58493+steipete@users.noreply.github.com>
Reviewed-by: @steipete
2026-02-14 12:32:17 +01:00
kumarabhirup
9baed309d3
🚀 RELEASE: v2026.2.10-1.14
Bump version and publish ironclaw@2026.2.10-1.14. Includes chain-of-thought,
chat-message, active-runs, and agent-runner improvements.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-13 23:55:20 -08:00
kumarabhirup
fdfa5184ee
fix: resolve lint errors in chat-panel and chat-sessions-sidebar 2026-02-13 19:39:55 -08:00
kumarabhirup
c8fb0280ea
🚀 RELEASE: new chat 2026-02-13 19:24:24 -08:00
kumarabhirup
dbde31ec20
Merge branch 'main' of https://github.com/kumarabhirup/openclaw-ai-sdk 2026-02-13 18:57:21 -08:00
kumarabhirup
ad0a4578f9
👌 IMPROVE: outside folders chat 2026-02-13 18:57:15 -08:00
Mark
4a291e7901 Thinking and fix the loader after chat completed, and minimize after streaming message. 2026-02-13 18:40:46 -08:00
kumarabhirup
2f788ad4a2
👌 IMPROVE: Enhance diff viewer styles with new CSS variables for additions and deletions. Update DiffFileCard component to utilize these variables for improved readability and consistency in the UI. 2026-02-13 18:28:32 -08:00
kumarabhirup
0f6849a731
Web app: add syntax highlighting, diff viewer, rich chat editor, and file search
Syntax highlighting & code viewer:
- Add shiki for syntax-highlighted fenced code blocks in chat messages
- New SyntaxBlock component (lazy shiki, dual light/dark theme)
- New CodeViewer for workspace file panel (routes code files via isCodeFile())
- API routes (browse-file, virtual-file) now return "code" type for known extensions

Diff rendering:
- New DiffCard component for rendering unified diffs with add/remove colors
- diff-blocks.ts parser to extract fenced blocks from markdown
- Chain-of-thought tool steps show inline diffs for edit/write tools
  (synthetic from old_string/new_string or direct from tool output)
- Agent runner passes through diff/firstChangedLine from edit tool results
- Document view handles diff blocks alongside report blocks

Rich chat editor (Tiptap):
- Replace plain textarea with Tiptap-based ChatEditor
- File mention extension (@-mention files with autocomplete dropdown)
- File mention list with keyboard navigation and search via suggest-files API
- New suggest-files API endpoint for fuzzy file search

File search & navigation:
- FileSearch component in workspace sidebar (debounced search, keyboard nav)
- Search results navigate sidebar to file location and open in panel
- File picker modal for browsing/selecting workspace files

Drag & drop:
- File tree nodes support native HTML5 drag (application/x-file-mention)
  for cross-component drops (e.g. dragging files into chat editor)

Chat attachments reworked:
- Switch from browser File objects to path-based references (name + path)
- Simplified attachment strip (no media previews, shows shortened paths)

Also adds software-engineering skill and related CSS for code blocks/shiki.
2026-02-13 18:06:59 -08:00
Peter Steinberger
748d6821d2 fix(config): add forensic config write audit and watch attribution 2026-02-14 01:36:15 +00:00
Shuai-DaiDai
bdc63b5b7d
fix(macos): resolve dashboard basePath for local and remote (#15862)
Co-authored-by: 帅小呆1号 <shuaixiaodai1@openclaw.ai>
2026-02-14 02:19:36 +01:00
kumarabhirup
b86f5cf441
🚀 RELEASE: file attachments 2026-02-13 15:52:13 -08:00
Mark
989c55534b Merge branch 'main' of https://github.com/kumarabhirup/ironclaw 2026-02-13 15:19:46 -08:00
Mark
3f6bc27aa5 Merge branch 'landing' 2026-02-13 15:19:43 -08:00
kumarabhirup
f78cbbf563
📦 NEW: workspace sidebar 2026-02-13 15:16:36 -08:00
Mark
5af74df631 Add claw to landing 2026-02-13 14:39:06 -08:00
Peter Steinberger
a3574bbde4 fix(android): add bcprov dependency for device identity store 2026-02-13 19:20:15 +00:00
Ramin Shirali Hossein Zade
1af0edf7ff
fix: ensure exec approval is registered before returning (#2402) (#3357)
* feat(gateway): add register and awaitDecision methods to ExecApprovalManager

Separates registration (synchronous) from waiting (async) to allow callers
to confirm registration before the decision is made. Adds grace period for
resolved entries to prevent race conditions.

* feat(gateway): add two-phase response and waitDecision handler for exec approvals

Send immediate 'accepted' response after registration so callers can confirm
the approval ID is valid. Add exec.approval.waitDecision endpoint to wait for
decision on already-registered approvals.

* fix(exec): await approval registration before returning approval-pending

Ensures the approval ID is registered in the gateway before the tool returns.
Uses exec.approval.request with expectFinal:false for registration, then
fire-and-forget exec.approval.waitDecision for the decision phase.

Fixes #2402

* test(gateway): update exec-approval test for two-phase response

Add assertion for immediate 'accepted' response before final decision.

* test(exec): update approval-id test mocks for new two-phase flow

Mock both exec.approval.request (registration) and exec.approval.waitDecision
(decision) calls to match the new internal implementation.

* fix(lint): add cause to errors, use generics instead of type assertions

* fix(exec-approval): guard register() against duplicate IDs

* fix: remove unused timeoutMs param, guard register() against duplicates

* fix(exec-approval): throw on duplicate ID, capture entry in closure

* fix: return error on timeout, remove stale test mock branch

* fix: wrap register() in try/catch, make timeout handling consistent

* fix: update snapshot on timeout, make two-phase response opt-in

* fix: extend grace period to 15s, return 'expired' status

* fix: prevent double-resolve after timeout

* fix: make register() idempotent, capture snapshot before await

* fix(gateway): complete two-phase exec approval wiring

* fix: finalize exec approval race fix (openclaw#3357) thanks @ramin-shirali

* fix(protocol): regenerate exec approval request models (openclaw#3357) thanks @ramin-shirali

* fix(test): remove unused callCount in discord threading test

---------

Co-authored-by: rshirali <rshirali@rshirali-haga.local>
Co-authored-by: rshirali <rshirali@rshirali-haga-1.home>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-02-13 19:57:02 +01:00
Peter Steinberger
a844fb161c build(protocol): regenerate swift gateway models 2026-02-13 16:14:53 +00:00
Sk Akram
4c86821aca
fix: allow device-paired clients to retrieve TTS API keys (#14613)
* refactor: add config.get to READ_METHODS set

* refactor(gateway): scope talk secrets via talk.config

* fix: resolve rebase conflicts for talk scope refactor

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-02-13 17:07:49 +01:00
Ahmad Bitar
c179f71f42
feat: Android companion app improvements & gateway URL camera payloads (#13541)
Merged via /review-pr -> /prepare-pr -> /merge-pr.

Prepared head SHA: 9c179c9c3192ec76059f5caac1e8de8bdfb257ce
Co-authored-by: smartprogrammer93 <33181301+smartprogrammer93@users.noreply.github.com>
Co-authored-by: steipete <58493+steipete@users.noreply.github.com>
Reviewed-by: @steipete
2026-02-13 16:49:28 +01:00
shayan919293
ab4adf7170
fix(macos): ensure exec approval prompt displays the command (#5042)
* fix(config): migrate audio.transcription with any CLI command

Two bugs fixed:
1. Removed CLI allowlist from mapLegacyAudioTranscription - the modern
   config format has no such restriction, so the allowlist only blocked
   legacy migration of valid configs like whisperx-transcribe.sh
2. Moved audio.transcription migration to a separate migration entry -
   it was nested inside routing.config-v2 which early-exited when no
   routing section existed

Closes #5017

* fix(macos): ensure exec approval prompt displays the command

The NSStackView and NSScrollView for the command text lacked proper
width constraints, causing the accessory view to collapse to zero
width in some cases. This fix:

1. Adds minimum width constraint (380px) to the root stack view
2. Adds minimum width constraint to the command scroll view
3. Enables vertical resizing and scrolling for long commands
4. Adds max height constraint to prevent excessively tall prompts

Closes #5038

* fix: validate legacy audio transcription migration input (openclaw#5042) thanks @shayan919293

* docs: add changelog note for legacy audio migration guard (openclaw#5042) thanks @shayan919293

* fix: satisfy lint on audio transcription migration braces (openclaw#5042) thanks @shayan919293

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-02-13 15:49:06 +01:00