Commit Graph

460 Commits

Author SHA1 Message Date
Benjamin Shafii
d2f095fe6b feat(landing): add Cloud waitlist section with Loops.so email capture
Add a new 'Automate your entire company, safely' section between
capabilities and FAQ. Includes a WaitlistForm client component that
posts to Loops.so, with rate-limiting, loading/success/error states,
and matching teal button styling.
2026-02-09 22:13:54 -08:00
ben
76717e50fc feat(devtools): log workspace connection timeline (#510) 2026-02-09 22:13:07 -08:00
Benjamin Shafii
7c0b4a7fce chore: bump version to 0.11.43 2026-02-09 19:53:06 -08:00
Benjamin Shafii
044f21b064 feat(sandbox): add docker-gated sandbox workspaces 2026-02-09 19:52:02 -08:00
Benjamin Shafii
39a383e81b chore: bump version to 0.11.42 2026-02-09 19:06:44 -08:00
Benjamin Shafii
8017ec9d94 fix(composer): sanitize pasted text and collapse long pastes 2026-02-09 19:02:38 -08:00
Benjamin Shafii
eb803c56d5 fix(openwrk): publish platform-aware npm packages
Ship openwrk as a meta package plus per-platform binary packages (optionalDependencies) so macOS/Windows installs get a runnable binary.
2026-02-09 18:40:47 -08:00
Benjamin Shafii
c18ec7629e chore: bump version to 0.11.41 2026-02-09 16:41:28 -08:00
Benjamin Shafii
57d3681422 yo 2026-02-09 16:39:21 -08:00
Benjamin Shafii
0d339160e6 ui: restructure identities page as channel-centric accordion layout
Redesign the Identities tab to match the messaging-channels UX pattern:
- Header renamed to 'Messaging channels' with descriptive subtitle
- Worker status card with pulsing indicator and status pills
- Channel cards as expandable accordions with brand-colored icons
- Visual message routing section with styled routing rules
- All existing functionality preserved (Telegram/Slack CRUD, health, polling)
2026-02-09 16:31:18 -08:00
Benjamin Shafii
ec615a4f35 chore: bump version to 0.11.40 2026-02-09 16:01:45 -08:00
Benjamin Shafii
e2fd60da8f fix: regenerate Cargo.lock on version bump
The bump script updates Cargo.toml but never regenerated Cargo.lock,
causing it to show as dirty after every version bump until someone
manually ran cargo. Now runs cargo generate-lockfile automatically.
2026-02-09 15:55:42 -08:00
Benjamin Shafii
070948416a chore: update Cargo.lock to match 0.11.39 version bump 2026-02-09 15:55:42 -08:00
Benjamin Shafii
6e2067849a chore(app): remove deploy tab
Removes the Deploy page and navigation entries, and drops the tab from dashboard routing.
2026-02-09 15:46:31 -08:00
Benjamin Shafii
3107c583e1 feat(owpenbot): auto-bind chats to workspace
Store a default directory on workspace identities and auto-create bindings on first inbound message. Remove the bindings editor from the Identities UI and keep /dir as the advanced override.
2026-02-09 15:28:53 -08:00
Benjamin Shafii
4756990857 chore: bump version to 0.11.39 2026-02-09 14:32:45 -08:00
Benjamin Shafii
c365039510 feat(app): scope messaging identities to workspace
Enforces workspace-scoped owpenbot identities/bindings via openwork-server, updates the Identities UI and Tauri status schema, and adds UX evidence screenshots.
2026-02-09 14:21:28 -08:00
Benjamin Shafii
1c28f20004 feat(owpenbot): add multi-identity support
Adds identity-scoped bindings and health endpoints for Telegram/Slack, and removes WhatsApp support.
2026-02-09 14:21:12 -08:00
Benjamin Shafii
1953977906 feat(scheduler): support scoped scheduled jobs 2026-02-09 13:48:21 -08:00
Benjamin Shafii
e6a2bb560c chore(release): bump to 0.11.38 2026-02-09 00:06:31 -08:00
Benjamin Shafii
a222c2b664 chore(release): bump to 0.11.37 and unify service versions 2026-02-09 00:00:34 -08:00
Benjamin Shafii
a9988bfcea fix(desktop): stop sidecars on app exit 2026-02-08 23:51:29 -08:00
Benjamin Shafii
20b1f0f356 fix(desktop): make tauri dev startup more reliable
Reuse an existing Vite dev server instead of failing on busy ports, avoid Node 25 top-level await exit, and ensure opencode sidecar tracks latest when unpinned.
2026-02-08 23:30:55 -08:00
Benjamin Shafii
5de641479a tet 2026-02-08 23:18:54 -08:00
Benjamin Shafii
7864dfda71 feat(workers): create worker by starting detached openwrk 2026-02-08 23:11:13 -08:00
Benjamin Shafii
2002bd2744 feat(deploy): add stateless export/import wizard 2026-02-08 22:02:03 -08:00
Benjamin Shafii
749cf9b158 chore: bump version to 0.11.36 2026-02-08 21:48:30 -08:00
Benjamin Shafii
3a88b1e0a9 fix(openwrk): make owpenbot health wiring reliable 2026-02-08 20:48:54 -08:00
Benjamin Shafii
1660c0782d chore(server): move audit log to host data dir 2026-02-08 20:44:09 -08:00
Benjamin Shafii
47c3c49bea feat(identities): show bot info, disconnect, and isolate owpenbot 2026-02-08 20:03:45 -08:00
Benjamin Shafii
88eb6b9c43 chore: bump version to 0.11.35 2026-02-08 19:24:39 -08:00
Benjamin Shafii
92e1486894 feat(server): watch workspace files for reload events 2026-02-08 15:53:03 -08:00
Benjamin Shafii
907505d408 fix(app): restore Plugins nav in session view 2026-02-08 15:35:30 -08:00
ben
589c308bba fix(server): secure opencode proxy + add skill delete (#505)
* fix(server): harden opencode proxy auth

* feat(server): add skill delete endpoint

* fix(ci): reuse resolved OPENCODE_VERSION for desktop build

* fix(desktop): skip opencode version lookup when sidecar exists

* fix(desktop): avoid TDZ when reusing opencode sidecar

* chore(desktop): update Cargo.lock
2026-02-08 15:08:08 -08:00
ben
366bc36d55 feat(agent-lab): multi-instance host + Agent Lab Toy UI (#504)
* feat(agent-lab): add instance manager CLI

* fix(server): block opencode permission replies for non-owners

* feat(toy-ui): add share + checkpoints

* feat(agent-lab): add entrypoints and scheduler sync

* feat(server): add agentlab automations and skill delete

* feat(toy-ui): add agent lab panels
2026-02-08 13:58:50 -08:00
Benjamin Shafii
4b0f8195ca chore: bump version to 0.11.34 2026-02-07 18:31:25 -08:00
Benjamin Shafii
c59ca5080d fix(app): stop sidebar refresh loop when baseUrl missing 2026-02-07 18:28:39 -08:00
Benjamin Shafii
186cd8bb47 chore: bump version to 0.11.33 2026-02-07 18:18:38 -08:00
Benjamin Shafii
a9ece9860b Revert "fix(app): fix memory leaks, environment compatibility, and error recovery (#493)"
This reverts commit 7989e1a064.
2026-02-07 18:17:25 -08:00
Benjamin Shafii
504cad09c3 fix(desktop): persist openwrk opencode auth
Write opencode basic-auth credentials to the openwrk data dir so the UI can reconnect after app relaunches when openwrk is still running.
2026-02-07 18:13:46 -08:00
Benjamin Shafii
39effc3d7f chore: bump version to 0.11.32 2026-02-07 18:02:00 -08:00
ben
b15e1f3550 revert: remove deploy ssh + owpenbot operator TUI (#502)
* Revert "feat(owpenbot): add operator TUI (#501)"

This reverts commit a48578d331.

* Revert "feat(openwrk): add deploy ssh adapter (#500)"

This reverts commit 4ee56922a1.

* fix(owpenbot): guard health timer cleanup

Keep owpenbot TypeScript builds green after reverting the operator TUI by avoiding clearInterval(null).
2026-02-07 17:51:30 -08:00
ben
a48578d331 feat(owpenbot): add operator TUI (#501)
* fix(owpenbot): guard health timer cleanup

Avoid calling clearInterval with a null timer so TypeScript builds stay green.

* feat(owpenbot): add operator TUI

Add a TTY-first interactive menu that talks to the owpenbot health API (direct or via openwork-server proxy) for QR, token, groups, and bindings management.

* chore(desktop): refresh Cargo.lock

Update the lockfile to match the current desktop crate version so Linux CI can run with --locked.

* fix(owpenbot): require client token for proxy TUI

When using openwork-server proxy mode, include a Bearer client token for /owpenbot/health while still supporting host-token for admin endpoints.
2026-02-07 17:19:07 -08:00
ben
4ee56922a1 feat(openwrk): add deploy ssh adapter (#500)
* feat(openwrk): add deploy ssh adapter

Add an SSH deploy command that bootstraps openwrk on a remote Linux host via the npm tarball, optionally syncs workspace config, and starts the host under nohup with a connect artifact for pairing.

* chore(desktop): refresh Cargo.lock

Update the lockfile to match the current desktop crate version so Linux CI can run with --locked.
2026-02-07 17:09:43 -08:00
Benjamin Shafii
4aff31862c chore(desktop): sync Cargo.lock version
Keep the Tauri desktop lockfile consistent with the current OpenWork version.
2026-02-07 16:20:16 -08:00
Benjamin Shafii
da5e267133 chore(desktop): isolate dev app state
Run tauri dev with a separate bundle identifier and OPENWRK_DATA_DIR so dev and production can run side-by-side without clobbering app data or openwrk state.
2026-02-07 16:20:09 -08:00
Benjamin Shafii
a9bf20d4e1 chore(debug): tie workspace switch logs to developer mode
Use the existing Developer Mode toggle to enable WSDBG tracing instead of a separate localStorage flag.
2026-02-07 15:57:59 -08:00
Benjamin Shafii
353a4e2e15 chore(debug): add workspace switch tracing
Gate verbose logs behind openwork.debug.workspaceSwitch to capture timing, session list counts, and sidebar refresh behavior during remote->local switches.
2026-02-07 15:55:29 -08:00
Benjamin Shafii
0aaa9c19dc fix(app): reduce sidebar session refresh thrash
Limit sidebar session list payload and avoid refreshing remote workspaces when only local engine auth/baseUrl changes (common on remote->local switches).
2026-02-07 15:50:28 -08:00
ben
f9a2809f96 feat: proxy owpenbot via openwork-server (#499)
* feat: proxy owpenbot via openwork-server

Unify client surface by routing owpenbot through /owpenbot/* (+ /w/:id/owpenbot/*), and move QR/token flows off interactive CLI calls. Sandbox mode keeps owpenbot internal (no extra published port) while preserving health + config via the edge.

* chore(desktop): refresh Cargo.lock

Update the Tauri crate lockfile so linux CI can run with --locked.
2026-02-07 15:44:12 -08:00