PluginProbe
OpenStation: Desktop Windows, Dock & Virtual Desktops for WP Admin / 1.1.10
OpenStation: Desktop Windows, Dock & Virtual Desktops for WP Admin v1.1.10
1.1.10 1.1.9 1.1.8 1.1.7 1.1.6 1.1.5 1.1.4 1.1.3 1.1.2 1.1.1 1.1.0 1.0.1 1.0.0 0.9.8 0.9.7 0.9.6 0.9.4 0.9.5 0.9.3 0.9.2 0.9.1 0.9.0 0.8.9 0.8.8 0.8.7 All 34 releases
← All changes | README.md +13 -5 1.0.11.1.10 View file →
@@ -29,8 +29,11 @@
29 29 ---
30 30
31 31 ## Current State
32 32
33 +- **Station Home**
34 + Native, role-aware replacement for the ordinary WordPress Dashboard inside OpenStation: recent personal work, four live site instruments, an actionable attention queue, and quick paths to create, upload, view the site, open WP Explorer, or deliberately return to the Classic Dashboard.
35 +
33 36 - **Per-user opt-in**
34 37 Admin-bar toggle sets the `desktop_mode_mode` user meta. A dedicated `/openstation/` portal URL auto-enables OpenStation for first-time visitors (gated by `openstation_portal_auto_enable`) and the `admin_init` redirect sends opted-in users from `/wp-admin/` to the portal (`openstation_admin_redirect_to_portal`).
35 38
36 39 - **Desktop shell**
@@ -57,9 +60,9 @@
57 60 - **Desktop icons**
58 61 Wallpaper-layer shortcuts via `openstation_register_icon()` — targets a registered native window or an admin URL.
59 62
60 63 - **AI Assistant + slash commands**
61 - Cmd+K palette backed by an OpenAI agentic loop whose `search_posts` / `search_pages` / `search_comments` tools run WordPress's native keyword search. Admin-configured API key + model picker. The only automatic AI analysis is comment spam scoring (on comment save), which feeds the comments-window spam score; posts, pages, and terms are not analyzed. `wp.os.registerCommand()` adds slash commands with autocomplete (`suggest()`), confirm dialogs (`ctx.confirm()`), and full lifecycle hooks (`before-run` / `after-run` / `error`). Built-in `/open [window]` is extensible via `os.open-command.items`.
64 + Cmd+K palette backed by an OpenAI agentic loop whose `search_posts` / `search_pages` / `search_comments` tools run WordPress's native keyword search. Admin-configured API key + model picker. No content is analyzed in the background: every AI call is one a user asked for. `wp.os.registerCommand()` adds slash commands with autocomplete (`suggest()`), confirm dialogs (`ctx.confirm()`), and full lifecycle hooks (`before-run` / `after-run` / `error`). Built-in `/open [window]` is extensible via `os.open-command.items`.
62 65
63 66 - **Palette registry**
64 67 Cmd+K cycles through all registered palettes (`wp.os.registerPalette()`) — the AI assistant is palette 0 by default; additional plugin overlays share the shortcut.
65 68
@@ -69,13 +72,16 @@
69 72 - **Toast notifications**
70 73 Shell-level toasts rendered via the `<os-toast>` component. Plugins register their own tone/icon via the `openstation_toast_types` filter. Iframe pages raise a toast through the `os-notification` bridge message — it survives the iframe's own lifecycle.
71 74
72 75 - **OpenStation Preferences**
73 - Native-window settings panel: wallpaper picker (with HD-only media filter), accent color swatches + custom gradient editor, dock size slider, AI platform config, and per-user default-on-startup window. Persisted via `/desktop-mode/v1/os-settings`.
76 + The settings window, an App Framework app (`apps/os-settings/`): wallpaper picker (with HD-only media filter), accent color swatches + custom gradient editor, desktop layout and dock controls, themes, window effects, navigation placement, feature switches and the component reference. Persisted via `/desktop-mode/v1/os-settings`.
74 77
75 78 - **Session persistence**
76 79 Full window stack (including desktops, focus, state) is debounce-saved to `/desktop-mode/v1/session` and restored without layout flicker. Viewport-shrink clamping keeps off-screen windows reachable.
77 80
81 +- **Mobile — the phone layer**
82 + Below 768px the same window manager renders a phone: a home screen of the navigation's tiles with search, one full-screen app at a time under a slim top bar, a swipeable app switcher, a five-slot tab bar, edge-swipe Back. `wp.os.mode` reports `desktop | tablet | mobile`; a head stamp makes the first paint right; a phone restores one window and hands the desktop its session back untouched. Lazy bundle, wallpaper suspended, widgets skipped. See [`docs/mobile.md`](./docs/mobile.md).
83 +
78 84 - **postMessage bridge**
79 85 Typed messages for title changes, navigation (same-origin validated), focus, color-scheme sync, screen-meta panels (Screen Options / Help), external-link capture, iframe-ready handshake, and observability (`iframe-error`, `iframe-network`).
80 86
81 87 - **UI component library**
@@ -93,10 +99,10 @@
93 99 ---
94 100
95 101 ## Still ahead
96 102
97 -- **Mobile (phone OS)** — purpose-built home-screen grid, full-screen apps, app switcher, gesture nav, bottom tab bar.
98 -- **Tablet hybrid** — split view, slide-over, horizontal dock. `wp.os.mode = 'desktop' | 'tablet' | 'mobile'` surface.
103 +- **Mobile, the next pass** — the phone layer ships (`docs/mobile.md`: home-screen grid, full-screen apps, app switcher, edge-swipe back, bottom tab bar, `wp.os.mode`); still ahead are pull-to-refresh and a pass on real devices.
104 +- **Tablet hybrid** — split view, slide-over, horizontal dock, on the `wp.os.mode` primitive that already reports `'tablet'`.
99 105 - **Cross-window drag & drop (the North Star)** — extend the current drag bridge to Media → Gutenberg block insertion, with pluggable mime-type negotiation.
100 106 - **Polish** — color-scheme-aware variables across all shell surfaces, View Transitions API animations, full a11y audit (ARIA, focus traps, keyboard nav).
101 107 - **…and a whole lot more hooks, filters, and actions** — every new surface lands with its own extension points, so this list keeps growing.
102 108
@@ -116,8 +122,11 @@
116 122 │ ├── os-settings.php extended-options.php
117 123 │ ├── accents.php wallpapers.php toast-types.php
118 124 │ ├── media-query.php
119 125 │ └── ai-copilot/ # AI assistant (OpenAI client, analysis, search, jobs)
126 +├── apps/ # App Framework apps: <name>.os.php (window, state, actions,
127 +│ # data) + optional <name>.os.ts (client view) + <name>.css;
128 +│ # Code Blue lives here — see docs/app-framework.md
120 129 ├── assets/ # hand-authored CSS + JS build output
121 130 │ ├── css/ desktop.css, windows.css, dock.css, chromeless.css, variables.css
122 131 │ │ variables.css carries the OpenStation palette — every design
123 132 │ │ token the shell and the <os-*> kit read, declared once
@@ -200,9 +209,8 @@
200 209 Writes one `assets/js/<target>.js` / `.min.js` pair per target, including:
201 210
202 211 - `assets/js/desktop.js` / `.min.js` — main shell bundle (loaded based on `SCRIPT_DEBUG`).
203 212 - `assets/js/iframe-bridge.js` / `.min.js` — opt-in bridge that gives any same-origin iframe access to `wp.os.iframe.*`.
204 -- `assets/js/recycle-bin.js` / `.min.js` — Recycle Bin native window.
205 213 - `assets/js/posts-window.js` / `.min.js` — Native Posts window (the `<os-table>` replacement for the `edit.php` iframe; opt-in per user via OpenStation Preferences → Features).
206 214
207 215 **Development watch** — auto-recompiles the unminified bundle on save:
208 216