| @@ -3,9 +3,9 @@ | ||
| 3 | 3 | Tags: admin, dashboard, desktop, productivity, ai |
| 4 | 4 | Requires at least: 6.0 |
| 5 | 5 | Tested up to: 7.1 |
| 6 | 6 | Requires PHP: 7.4 |
| 7 | -Stable tag: 1.1.10 | |
| 7 | +Stable tag: 1.1.12 | |
| 8 | 8 | License: GPLv2 or later |
| 9 | 9 | License URI: https://www.gnu.org/licenses/gpl-2.0.html |
| 10 | 10 | |
| 11 | 11 | A windowed workspace for wp-admin. Open posts, media, and settings side by side, with a dock, virtual desktops, and a Cmd+K palette. |
| @@ -67,9 +67,9 @@ | ||
| 67 | 67 | Extend OpenStation through documented PHP and JavaScript APIs. Register windows, icons, wallpapers, widgets, commands, and settings tabs through stable `openstation_register_*` PHP APIs and a typed JavaScript API; customize dock items through documented hooks; add AI tools with the WordPress Abilities API. Copy-paste examples live in the [developer docs on GitHub](https://github.com/WordPress/openstation/tree/trunk/docs). |
| 68 | 68 | |
| 69 | 69 | = External services = |
| 70 | 70 | |
| 71 | -No external service is required for OpenStation's desktop interface. The optional AI Assistant, two user-initiated enrichment features and an optional feedback form on deactivation make the external requests described below. | |
| 71 | +No external service is required for OpenStation's desktop interface. The optional AI Assistant, two user-initiated enrichment features, an optional feedback form on deactivation and an optional one-time feedback form for active users make the external requests described below. | |
| 72 | 72 | |
| 73 | 73 | **AI Assistant** |
| 74 | 74 | |
| 75 | 75 | The optional AI Assistant sends data to the **AI provider you configure in WordPress's Settings → Connectors** (for example OpenAI, Anthropic, or Google). Generation is routed through WordPress 7.0's built-in AI Client, which supplies the credentials stored in Connectors. The plugin never handles an API key itself. With no provider configured in Connectors, no external AI requests are made. |
| @@ -93,8 +93,17 @@ | ||
| 93 | 93 | * **When it is sent:** only when you click Send in the dialog shown on deactivation. There is no background ping. |
| 94 | 94 | * **Why it is sent:** to learn what did not work so it can be fixed. |
| 95 | 95 | * **Who provides the service:** the request goes from your server to [openstation.blog](https://openstation.blog/), the plugin's own site, operated by Automattic. Review the [Automattic Privacy Policy](https://automattic.com/privacy/). Site owners can turn the dialog off with the `openstation_deactivation_feedback_enabled` filter. |
| 96 | 96 | |
| 97 | +**Usage feedback** | |
| 98 | + | |
| 99 | +After you have had OpenStation on for a week, a small card asks once whether you have two minutes to say how it is going. Answering **No thanks** sends nothing, and it never comes back. Saying yes opens a short form with three optional questions and an optional email field. Nothing is sent unless you click **Send**; **Cancel**, Escape and the close button send nothing. | |
| 100 | + | |
| 101 | +* **What is sent:** the answers you typed, the email address if you chose to type one (the field starts empty and is never filled in for you), your language, the OpenStation and WordPress versions, and how many days you have had OpenStation on. Nothing that identifies your site: no URL, no site id, no user name, and no IP address is stored. Without an email the submission is anonymous. Each submission carries a random id used only to ignore an accidental retry. | |
| 102 | +* **When it is sent:** only when you click Send in the form. There is no background ping. | |
| 103 | +* **Why it is sent:** to learn what works and what gets in the way. An email address, when given, is used only to follow up on the feedback. | |
| 104 | +* **Who provides the service:** the request goes from your server to [openstation.blog](https://openstation.blog/), the plugin's own site, operated by Automattic. Review the [Automattic Privacy Policy](https://automattic.com/privacy/). Site owners can turn the prompt off with the `openstation_usage_feedback_enabled` filter. | |
| 105 | + | |
| 97 | 106 | **WordPress.org plugin information** |
| 98 | 107 | |
| 99 | 108 | When an authorized user opens or refreshes parts of OpenStation's Plugins window, OpenStation may request public plugin details, update metadata, and review excerpts from WordPress.org. These requests send plugin slugs, the site's locale, and normal HTTP request metadata to WordPress.org. This information is used only to display and manage plugins. Review the [WordPress.org Privacy Policy](https://wordpress.org/about/privacy/). |
| 100 | 109 | |
| @@ -132,9 +141,9 @@ | ||
| 132 | 141 | Most plugin admin pages open as windows without special integration. Plugins that depend on running in the top-level browser context or use unusual navigation may need compatibility work. Plugins can also register their own native windows, widgets, and commands for a deeper integration. |
| 133 | 142 | |
| 134 | 143 | = Does the plugin require an external service to function? = |
| 135 | 144 | |
| 136 | -No. The desktop shell, windowing, dock, taskbar, virtual desktops, widgets, wallpapers, and extension APIs work without an external service. The optional AI Assistant requires a configured AI provider. OpenStation also makes limited, user-initiated requests to resolve URL-shortcut favicons and display WordPress.org plugin information, and offers an optional, one-click feedback form when you deactivate. See "External services" in the description. | |
| 145 | +No. The desktop shell, windowing, dock, taskbar, virtual desktops, widgets, wallpapers, and extension APIs work without an external service. The optional AI Assistant requires a configured AI provider. OpenStation also makes limited, user-initiated requests to resolve URL-shortcut favicons and display WordPress.org plugin information, offers an optional, one-click feedback form when you deactivate, and once asks active users whether they want to share feedback. See "External services" in the description. | |
| 137 | 146 | |
| 138 | 147 | = Does it patch WordPress core? = |
| 139 | 148 | |
| 140 | 149 | No. Every feature is wired through public WordPress actions and filters. |
| @@ -177,8 +186,64 @@ | ||
| 177 | 186 | * **[english-words](https://github.com/dwyl/english-words)** by dwyl (Unlicense) — used as a validity filter. |
| 178 | 187 | * **[LDNOOBW English list](https://github.com/LDNOOBW/List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words)** (CC-BY 4.0) — used as an exclusion filter. |
| 179 | 188 | |
| 180 | 189 | == Changelog == |
| 190 | + | |
| 191 | += 1.1.12 = | |
| 192 | +* AI: repair the tl;dr and SEO Medic prompts, and drop dated prompting patterns | |
| 193 | +* Agents: give Comment Concierge its thread tool back, clean up faces on a Core user delete, and fix AI docs drift | |
| 194 | +* Agents: align get-post, get-media and the per-agent invoke gate with Core's read rules | |
| 195 | +* WP Explorer: Drag photos and posts into an editor window again | |
| 196 | +* Workspaces: Give each launch entry its own window back | |
| 197 | +* Workspaces: Open the Publishing desk with the draft as the main window | |
| 198 | +* Agents: show the copied prompt in Describe, and let the trail jump to any step | |
| 199 | +* AI: default the output-token ceiling, fail truncated turns, and stop stuck tool loops | |
| 200 | +* Site assistant: Open from the dock and always offer Ask AI | |
| 201 | +* Agents: keep the brief's focus ring inside the wizard pane | |
| 202 | +* Windows: Decode HTML entities in titles, names and user names across the shell, and fix the Orders list columns | |
| 203 | +* Add WooCommerce order details to window titles | |
| 204 | +* WP Explorer: List every attached image under Attached media | |
| 205 | +* Windows: Rename 'Open in browser tab' to 'Open in classic wp-admin' and explain the ⋯ menu | |
| 206 | +* Agents: Decode HTML entities in agent names | |
| 207 | +* WP Explorer: Show who is editing a locked post | |
| 208 | +* Windows: Keep a lone less-than sign in titles, names, Trash and comment excerpts | |
| 209 | +* Feedback: Ask active users how OpenStation is going, once | |
| 210 | +* First run: New users get a short guided tour of the desktop | |
| 211 | +* First run: After installing, the Plugins screen and the Dashboard now show how to turn OpenStation on | |
| 212 | + | |
| 213 | += 1.1.11 = | |
| 214 | +* Overview: Replace the dock tile icon with the brand widgets glyph | |
| 215 | +* Workspaces: Only offer a template when its plugin is active | |
| 216 | +* Admin bar: Remove the OpenStation actions, keep only the way in | |
| 217 | +* Workspaces: Rename Overview to Workspaces | |
| 218 | +* Agents: Keep the chat on the latest message across status repaints | |
| 219 | +* Workspaces: Land on the new blank desk before the wizard opens | |
| 220 | +* Workspaces: Rename a desk by double-clicking its name | |
| 221 | +* Chromeless: Fit the boot SPA screens edge to edge again | |
| 222 | +* WP Explorer: Show revision titles as text, not an avatar tag | |
| 223 | +* Fix: Let Jetpack route its own Stats and Blaze links | |
| 224 | +* User Edit: Add a View activity footprint button to the profile sidebar | |
| 225 | +* Fix: Jetpack Stats v2 not loading properly | |
| 226 | +* Drafts widget: Say why suggestions failed instead of "Could not get suggestions." | |
| 227 | +* Desktop: Make the desk readable on light wallpapers | |
| 228 | +* Session: Restore window titles in the current admin language | |
| 229 | +* Fix mixed-field forms for OpenStation Studio apps | |
| 230 | +* Recycle Bin: Fix 404 error on requests | |
| 231 | +* Prevent bottom dock scroll item clipping | |
| 232 | +* Os-button: forward a host aria-label onto the inner button so an icon-only button has a name | |
| 233 | +* Make corner close button visible on touch devices. | |
| 234 | +* Workspaces: Let the wizard's step trail jump to any step | |
| 235 | +* App runtime: open_url honours native-window URL remaps before opening an iframe | |
| 236 | +* Os-table: a slot-shaped cell value renders a named slot the light DOM fills | |
| 237 | +* Resolve toggle visibility and spacing on tablet screens. | |
| 238 | +* Notes: Say why converting a note to a post failed and keep the draft reachable | |
| 239 | +* Say why a request failed, everywhere: shared REST error, failure mapper, toast tone | |
| 240 | +* Workspaces: Repaint the desk you land on after deleting a workspace | |
| 241 | +* Menus: Open a window per pick, and make a window's tabs its menu | |
| 242 | +* Agents: store an answerless run as an error row so it is never replayed as the agent's turn | |
| 243 | +* Performance: Serialize each script dependency's payload once, not once per entry | |
| 244 | +* Developers: Let plugins track the desktop's network requests | |
| 245 | +* Kit: <os-facts> + <os-fact>, and the three apps that hand-rolled it | |
| 181 | 246 | |
| 182 | 247 | = 1.1.10 = |
| 183 | 248 | * Fix: drop a plugin zip into Core's upload box, not the Media Library dialog |
| 184 | 249 | * Multisite: Open sites without OpenStation in a browser tab |