Commit Graph

382 Commits

Author SHA1 Message Date
IanShaw
a809bb95fd fix: compress image attachments before sending to prevent UI freeze (#482)
Images are now compressed via canvas resize (max 2048px) + JPEG transcode
(quality 0.82, target <1.5MB) before base64 encoding. Uses OffscreenCanvas
when available to avoid blocking the main thread. Adds a post-encoding size
pre-check to show an explicit error instead of silently failing.

Fixes #481
2026-02-06 09:30:48 -08:00
Benjamin Shafii
d36a630096 chore: bump version to 0.11.22 2026-02-06 08:38:06 -08:00
Benjamin Shafii
6cdeacb982 feat(automations): add run action and human schedules 2026-02-06 08:31:25 -08:00
Benjamin Shafii
ed1aed068f fix(ui): improve settings contrast and session sidebar state 2026-02-06 08:31:19 -08:00
ben
081bcad71e fix(session): remove duplicate new messages indicator (#480) 2026-02-06 07:45:16 -08:00
ben
0f11673c89 feat(config): move workspace settings into Config page (#483) 2026-02-06 07:42:10 -08:00
Benjamin Shafii
f6e7080015 chore: bump version to 0.11.21 2026-02-06 00:13:34 -08:00
ben
05a0499f88 feat(workspace): scope OpenWork sharing via /w/:id mounts (#479)
* feat(workspace): add Share modal in workspace menu

* feat(workspace): share workspace from session view

* feat(workspace): store OpenWork token per workspace

* feat(workspace): scope OpenWork sharing via /w/:id mounts
2026-02-06 00:07:23 -08:00
Benjamin Shafii
d309fd97c2 chore: update Cargo.lock for 0.11.20 2026-02-06 00:06:04 -08:00
Benjamin Shafii
4267330022 chore: bump version to 0.11.20 2026-02-06 00:05:31 -08:00
Benjamin Shafii
e1df942970 feat(skills): add basic viewer/editor with server-backed reads 2026-02-05 23:55:14 -08:00
Benjamin Shafii
3d7ecffa98 fix(composer): correct slash command send + render command chip 2026-02-05 23:55:01 -08:00
Benjamin Shafii
262408ea01 feat(landing): add PostHog analytics tracking 2026-02-05 23:11:13 -08:00
Benjamin Shafii
8d6a0a9791 chore: bump version to 0.11.19 2026-02-05 22:10:16 -08:00
ben
30fa07157b feat(composer): add slash command support with fuzzy picker (#477)
Type / at the start of an empty input to trigger a command picker popup.
Commands are fetched from the OpenCode SDK (command.list()) and displayed
with fuzzy filtering via fuzzysort. Keyboard navigation (arrows, tab,
enter, escape) works like the existing @-mention popup.

Selecting a command inserts /<name> into the editor so the user can
add arguments. On submit, text starting with / is detected and routed
through session.command() instead of session.promptAsync().

Changes:
- types.ts: add SlashCommandOption type and command field on ComposerDraft
- composer.tsx: slash detection, popup UI, keyboard nav, command selection
- session.tsx: pass listCommands prop through to Composer
- app.tsx: add listCommands(), route command drafts via session.command()
2026-02-05 20:07:13 -08:00
ben
21df698237 fix(release): don't let openwrk releases override OpenWork updater (#478)
* fix(release): keep openwrk releases from overriding latest

* chore(desktop): sync Cargo.lock after version bump
2026-02-05 19:14:15 -08:00
Benjamin Shafii
8153194dfa chore: bump version to 0.11.18 2026-02-05 18:35:57 -08:00
ben
39a46b5540 feat(owpenbot): add Slack Socket Mode bridge (#476) 2026-02-05 18:26:02 -08:00
ben
9413e10d03 feat(updates): add auto-update toggle and update pill (#475) 2026-02-05 18:11:04 -08:00
ben
6ae1ed9219 ui(mcp): align Apps page with dashboard cards (#474) 2026-02-05 17:55:00 -08:00
ben
882422448d feat(workspace): seed OpenWork default agent (#473)
Create .opencode/agents/openwork.md in new workspaces and set default_agent=openwork in opencode.json(c) when missing.
2026-02-05 17:43:12 -08:00
Benjamin Shafii
83c95a82a2 chore: bump version to 0.11.17 2026-02-05 17:23:36 -08:00
Benjamin Shafii
b46a58aea9 fix: make jump-to-latest a true overlay outside the scroll container
Move the button from inside overflow-y-auto (scrolls with content)
to inside the outer relative wrapper (stays fixed at bottom).
2026-02-05 17:07:27 -08:00
Benjamin Shafii
71fa6ad6a8 fix: position jump-to-latest as absolute overlay at bottom of scroll container
Moves the button outside the scroll content flow so it no longer
overlaps message text. Now floats centered at the bottom of the
scroll viewport.
2026-02-05 17:04:32 -08:00
Benjamin Shafii
367db1385c ui: move todo list above composer (collapsible) and fix jump-to-latest position
- Remove inline todo list from top of message scroll area
- Add collapsible todo panel docked above the composer (Codex-style)
- Collapsed: summary line with task count, click to expand
- Expanded: full task list with max-height scroll
- Fix 'Jump to latest' button to appear at bottom-right instead of center
2026-02-05 17:02:24 -08:00
Benjamin Shafii
24ebb32c7f feat(landing): add download buttons above the app demo video 2026-02-05 16:53:54 -08:00
Benjamin Shafii
650ffce5d9 fix(landing): crop video to remove black borders 2026-02-05 16:52:13 -08:00
Benjamin Shafii
c4d307fde5 feat(landing): replace CSS app mockup with screen recording video 2026-02-05 16:42:09 -08:00
Benjamin Shafii
d804d53679 chore: bump version to 0.11.16 2026-02-05 16:20:40 -08:00
Benjamin Shafii
1f344ba0b5 ui: split sidebar into left (tasks) and right (automations/skills/apps)
- Move tasks/workspaces to left sidebar, automations/skills/apps to right
- Rename Sessions to Tasks throughout
- Add + button on workspace hover for new task creation
- Empty state transforms to '+ New task' on hover
- Make selected button variant black/dark grey for clear contrast
2026-02-05 16:10:33 -08:00
Benjamin Shafii
93e1f2a4c4 chore: bump version to 0.11.15 2026-02-05 14:16:39 -08:00
Benjamin Shafii
be09414f85 fix(landing): align content width with nav toolbar 2026-02-05 14:04:51 -08:00
ben
b999903ead Fix reload-required spam; add auto-reload + resume (#467)
* fix(app): scope and defer reload prompts

Avoid reload-required spam by ignoring .opencode/openwork.json, scoping detection to the active workspace, and deferring prompts until sessions go idle. Add per-workspace auto-reload + optional resume so agent/skill/command updates apply without tearing down the UX.

* chore(desktop): sync Cargo.lock

Keep Cargo.lock consistent with the desktop crate version so CI can run cargo test --locked on Linux.
2026-02-05 14:00:51 -08:00
ben
947da80d2f fix(app): send full prompt text for mention-only drafts (#461)
* fix(app): include full prompt text for mentions

* fix(app): send valid file parts for mentions

* chore(desktop): update Cargo.lock

* chore(desktop): regenerate Cargo.lock for linux

* chore(desktop): update Cargo.lock

* fix(desktop): isolate OPENCODE_BIN_PATH in doctor tests
2026-02-05 13:51:01 -08:00
ben
00be06d4b5 chore(release): unify openwrk versioning + bump v0.11.14 (#466)
* chore(release): unify openwrk with app version

* chore: bump version to 0.11.14
2026-02-05 13:23:47 -08:00
ben
76c9e32a41 Merge pull request #465 from AshhKetchup/feat/hide-titlebar-linux-441
feat(app): add option to hide window titlebar on Linux
2026-02-05 13:11:21 -08:00
ben
8de1510524 Merge pull request #462 from different-ai/feat/openwrk-tui-clickable
feat(openwrk): clickable TUI tabs + auto-copy selection
2026-02-05 13:06:54 -08:00
Aayush Singh
3f6c35eacc feat(app): add option to hide window titlebar on Linux
Add a setting in Settings → Advanced → Appearance to hide the native
window titlebar. This is useful for tiling window managers on Linux
(Hyprland, i3, sway, etc.) where window controls are typically handled
via keybinds, making the titlebar redundant.

Implementation:
- Add HIDE_TITLEBAR_PREF_KEY constant for localStorage persistence
- Add Tauri command `set_window_decorations` to toggle decorations
- Add TypeScript binding for the new Tauri command
- Add UI toggle in Settings → Advanced → Appearance section
- Apply setting on change and restore from localStorage on startup

The setting is only shown in the desktop (Tauri) environment and
persists across sessions via localStorage.

Closes #441
2026-02-06 00:58:27 +05:30
Benjamin Shafii
70e46c4b4f chore: bump version to 0.11.13, opencode 1.1.51 2026-02-05 10:38:57 -08:00
Benjamin Shafii
0daddf0552 feat(openwrk): enable clickable tabs and auto-copy selection 2026-02-05 08:57:57 -08:00
Benjamin Shafii
875db0af09 chore: bump version to 0.11.12 2026-02-05 08:39:48 -08:00
ben
a9fcedae12 Merge pull request #456 from different-ai/task/ci-sidecars
Restore remote workspace connect in sidebar add menu
2026-02-05 08:23:51 -08:00
Benjamin Shafii
ebb6f57750 chore(pr): add remote workspace screenshots 2026-02-05 00:40:19 -08:00
ben
69feb60c01 Merge pull request #459 from different-ai/task/opencode-composer-autocomplete
feat(app): align composer mention autocomplete with OpenCode
2026-02-05 00:27:07 -08:00
Benjamin Shafii
8e64ddee2a fix(app): restore remote workspace add menu 2026-02-05 00:24:38 -08:00
Benjamin Shafii
1b1813ef83 feat(app): align composer mention autocomplete with OpenCode 2026-02-05 00:23:35 -08:00
Benjamin Shafii
8e4d44e6fb feat: guide automation scheduling from dashboard 2026-02-05 00:15:36 -08:00
ben
0b938f35ba Merge pull request #454 from different-ai/task/ux-compose-session-icons
Remove inactive compose/session list icons
2026-02-05 00:06:08 -08:00
Benjamin Shafii
4774c2a5a8 fix(app): remove inactive compose and session list actions 2026-02-05 00:00:24 -08:00
Benjamin Shafii
0796e63ffd feat(app): surface session todos for clearer progress visibility 2026-02-04 23:58:43 -08:00