opencode-navigator 0.27.0 → 0.27.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/HOST_API.md +29 -3
- package/README.md +24 -3
- package/dist/gui-experimental.cjs +1212 -608
- package/dist/navigator-updates.js +85 -29
- package/dist/tui.js +155 -76
- package/package.json +1 -1
- package/scripts/update-local-snapshot.mjs +13 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.27.2] - 2026-11-11
|
|
4
|
+
|
|
5
|
+
- Keep Desktop Settings fields and actions inside their rows at narrow widths, with readable labels and compact group creation.
|
|
6
|
+
- Reorder Desktop sections, Quick Actions, toolbar pins and button icons by dragging their handles, or use Space and arrow keys to move them with the keyboard. Escape cancels an unfinished move.
|
|
7
|
+
- Show download and installation progress in place of the running version in TUI and inline in Desktop About. Show real percentages only when byte totals are available; otherwise show the active stage.
|
|
8
|
+
- Bring Desktop section arrows, loading indicators and Todo rows closer to native OpenCode. Completed and cancelled tasks use muted, struck-through text with distinct status icons.
|
|
9
|
+
- Remove duplicate model and reasoning-effort selectors from the Desktop sidebar. Select them below chat instead; Limits continue to follow the active model.
|
|
10
|
+
|
|
11
|
+
## [0.27.1] - 2026-11-11
|
|
12
|
+
|
|
13
|
+
- Drag the Desktop mini-window by its header as well as its move handle, while keeping Dock a separate action. Match its surface and controls to OpenCode's light and dark themes.
|
|
14
|
+
- Use native Desktop switches and selectors for Skill trust and Todo configuration, and align multiline fields with the host theme and focus styles.
|
|
15
|
+
- Show a remaining-lifetime scale and time until expiry for banked reset credits with provider-supplied dates. Keep missing expiry explicit and prevent selecting expired credits for review.
|
|
16
|
+
|
|
3
17
|
## [0.27.0] - 2026-11-11
|
|
4
18
|
|
|
5
19
|
- Add an experimental OpenCode Desktop interface with a native panel, narrow-screen drawer, and opt-in in-app mini-window. Move, resize, reset and redock it with the mouse or keyboard while keeping the selected session and filters.
|
package/HOST_API.md
CHANGED
|
@@ -60,9 +60,35 @@ Desktop 2.2.6 keeps drawer opening in its own mobile navigation; Navigator does
|
|
|
60
60
|
not click or move host elements to force it open. Revisit automatic drawer
|
|
61
61
|
opening when the public layout API exposes that operation.
|
|
62
62
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
63
|
+
GUI forms use `ctx.ui.Switch`, `TextInput`, `Select`, `Button` and the native
|
|
64
|
+
Settings rows rather than importing or bundling `@opencode/ui`. Desktop 2.2.6's
|
|
65
|
+
public UI facade has no multiline input, progress bar, disclosure row, or bookmark
|
|
66
|
+
icon. Those focused semantic controls remain plugin-owned, using the host theme's
|
|
67
|
+
surface, text, focus and elevation tokens. Remove these fallbacks when equivalent
|
|
68
|
+
public controls preserve their multiline, expanded/selected and progress semantics.
|
|
69
|
+
|
|
70
|
+
Desktop model and reasoning-effort selection belongs to the native chat controls.
|
|
71
|
+
Navigator does not duplicate these selectors in its sidebar. Limits continue to
|
|
72
|
+
follow the host's reactive selected model; the TUI retains its model/variant controls.
|
|
73
|
+
|
|
74
|
+
The public UI facade also has no sortable list or tab component. Accessible
|
|
75
|
+
ordering and selection retain focused wrappers, with native controls wherever
|
|
76
|
+
their public props preserve the required semantics. `Ui.MenuItem` is not a generic
|
|
77
|
+
list row: the host requires it to render inside a menu. Section disclosure keeps
|
|
78
|
+
`aria-expanded` on its semantic button and uses a native icon with fixed geometry.
|
|
79
|
+
Revisit these wrappers when the host exposes equivalent accessible components.
|
|
80
|
+
|
|
81
|
+
The native Todo popover has no public content slot. Composer pill contributions
|
|
82
|
+
are adjacent pills, not extensions of native Todo, so Navigator cannot add search
|
|
83
|
+
or tabs there through Desktop 2.2.6's public API. Its read-only Todo rows follow
|
|
84
|
+
the native `todo-pill.tsx`/`todo-pill.css` geometry, status colors and completed or
|
|
85
|
+
cancelled strikethrough. `TodoGlyph` is private; remove the focused SVG fallback
|
|
86
|
+
when an equivalent public Todo/status component is available.
|
|
87
|
+
|
|
88
|
+
Native package installation provides no byte totals or intermediate transfer
|
|
89
|
+
events. Main IPC publishes the actual active stage to Desktop windows; the owned
|
|
90
|
+
snapshot installer optionally streams bounded stage records to TUI. Neither path
|
|
91
|
+
fabricates transfer percentages or bypasses confirmation and source guards.
|
|
66
92
|
|
|
67
93
|
The isolated Desktop 2.2.6 host also has a native dialog-context defect: opening
|
|
68
94
|
its command palette after a plugin dialog in a session can fail with
|
package/README.md
CHANGED
|
@@ -303,29 +303,43 @@ contains independent TUI, server, RPC and GUI entries.
|
|
|
303
303
|
the selected session, hides on Home and yields to native dialogs. Move, resize,
|
|
304
304
|
reset and redock controls support keyboard input too. Both placements share
|
|
305
305
|
one monitoring runtime and filters; switching does not duplicate polling.
|
|
306
|
+
Drag the mini-window by its header or move handle; Dock remains a separate
|
|
307
|
+
action. Its surface follows the current OpenCode theme.
|
|
306
308
|
- **Navigator settings** opens native Settings with Global/Worktree scope,
|
|
307
309
|
section controls, groups, trust, presets, portable/project profiles, About,
|
|
308
310
|
release history and reviewed Bug reports. **Reload preferences** imports
|
|
309
311
|
changes from other local Navigator instances explicitly.
|
|
312
|
+
- Reorder sections, Quick Actions, toolbar pins and button icons by dragging
|
|
313
|
+
their handles. With the keyboard, focus a handle, press Space, use Up/Down,
|
|
314
|
+
then press Space to drop or Escape to cancel. Icon changes remain drafts until saved.
|
|
310
315
|
- Favorites, trust, account bindings, reset attempts and presets use the existing
|
|
311
316
|
private preferences file and lock shared with local TUI instances. Only window
|
|
312
317
|
placement lives in the native GUI store. Project profiles and configuration
|
|
313
318
|
requests use the selected server, including remote servers.
|
|
314
319
|
- Todo is native and read-only; chat owns edits. Legacy Navigator tasks remain a
|
|
315
|
-
read-only archive.
|
|
320
|
+
read-only archive. Completed and cancelled rows use muted, struck-through text
|
|
321
|
+
and native-style status indicators. Search and tabs remain in Navigator because
|
|
322
|
+
the host does not expose an extension point inside its own Todo popover.
|
|
323
|
+
LSP and startup/Home interception are not exposed by this
|
|
316
324
|
Desktop contract. Permissions opens native host Settings rather than toggling
|
|
317
325
|
a simulated mode. Terminal fonts, corner masks and terminal shortcuts are not
|
|
318
326
|
GUI settings; Desktop does not need a Nerd Font or the corner font.
|
|
319
327
|
- Provider quotas retain verified account scope. Local Codex access requires a
|
|
320
328
|
verified same-machine connection; a remote session never borrows its credentials
|
|
321
329
|
or private binding. Banked resets always require separate confirmation.
|
|
330
|
+
Model and reasoning-effort selection stays in the native chat controls, not
|
|
331
|
+
the Navigator sidebar; quotas still follow the selected model.
|
|
332
|
+
- During a confirmed update, About shows the installation stage inline.
|
|
333
|
+
The TUI temporarily replaces the running-version label with progress.
|
|
334
|
+
Percentages require real byte totals; opaque native installers show an
|
|
335
|
+
indeterminate indicator instead.
|
|
322
336
|
|
|
323
337
|
The candidate is tested as an npm-style tarball in the official checksum-verified
|
|
324
338
|
Linux ARM64 Desktop package on Xvfb. Native macOS/Windows, browser Web and multiple
|
|
325
339
|
live Desktop windows are not claimed as real-host verification targets. Local,
|
|
326
340
|
remote and multi-consumer guards have separate synthetic contract tests.
|
|
327
341
|
See [Host API boundaries](HOST_API.md) for the native command-palette limitation.
|
|
328
|
-
The manual Prepare Release workflow generated and byte-verified all
|
|
342
|
+
The manual Prepare Release workflow generated and byte-verified all 31 GUI
|
|
329
343
|
captures using the real Desktop renderer on a virtual display. The terminal
|
|
330
344
|
gallery above is rendered separately through Ghostty.
|
|
331
345
|
|
|
@@ -333,6 +347,10 @@ gallery above is rendered separately through Ghostty.
|
|
|
333
347
|
|
|
334
348
|

|
|
335
349
|
|
|
350
|
+

|
|
351
|
+
|
|
352
|
+

|
|
353
|
+
|
|
336
354
|

|
|
337
355
|
|
|
338
356
|
See the [Desktop gallery](screenshots/README.md#experimental-desktop) for account
|
|
@@ -703,7 +721,10 @@ separate muted guidance.
|
|
|
703
721
|
|
|
704
722
|
The header's **Banked Resets** button appears when credits or an unresolved attempt
|
|
705
723
|
exist. It displays the provider's available count, optional credit
|
|
706
|
-
details, statuses, and expiry.
|
|
724
|
+
details, statuses, and expiry. In Desktop, dated credits show a shrinking
|
|
725
|
+
remaining-lifetime scale and time until expiry, calculated from the provider's
|
|
726
|
+
grant and expiry timestamps. Missing dates never produce a fabricated percentage;
|
|
727
|
+
expired credits cannot be selected for review. Selecting a credit first checks fresh eligibility
|
|
707
728
|
and opens a separate confirmation tied to the current account and model. Cancel
|
|
708
729
|
or Escape returns to the credit list without spending anything.
|
|
709
730
|
|