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 | includes/seen-intros.php +17 -15 1.0.01.1.10 View file →
@@ -1,25 +1,26 @@
1 1 <?php
2 2 /**
3 3 * OpenStation — "Seen intros" registry.
4 4 *
5 - * Tracks which one-time introduction dialogs the current user has
6 - * already dismissed, so the shell can show a "what's new in this
7 - * native app" dialog the first time a ported native window opens
8 - * and never bother the user again afterwards.
5 + * Tracks which one-time announcements the current user has already
6 + * dismissed, so each is shown once and never bothers them again.
9 7 *
10 - * Today the surface is the native Posts window. The same key is
11 - * intentionally generic — any future ported native app (Pages,
12 - * Comments, Users, Plugins, …) registers its own slug and reuses
13 - * this storage. OS Settings → Features exposes a "Reset what's-new
14 - * dialogs" button that clears the whole list so the user can see
15 - * every intro again from scratch.
8 + * Two surfaces use it today: the activation welcome dialog
9 + * (`includes/welcome-dialog.php`, slug `activation-welcome`), shown
10 + * in the classic admin while OpenStation is disabled, and the rebrand
11 + * notice (`src/rebrand-notice.ts`, slug `openstation-rebrand`). The
12 + * key is intentionally generic, so anything else that needs
13 + * show-once semantics registers its own slug and reuses this storage.
14 + * OpenStation Preferences → Features exposes a "Reset what's-new
15 + * dialogs" button that clears the whole list.
16 16 *
17 17 * Storage shape:
18 18 * user meta `desktop_mode_seen_intros` → array<string> of slugs.
19 - * `[ 'posts' ]`, `[ 'posts', 'pages' ]`, etc. Slug values pass
20 - * through `sanitize_key()` and the list is capped at 64 entries
21 - * so a runaway client cannot bloat user-meta indefinitely.
19 + * `[ 'activation-welcome' ]`, `[ 'openstation-rebrand' ]`, etc.
20 + * Slug values pass through `sanitize_key()` and the list is capped
21 + * at 64 entries so a runaway client cannot bloat user-meta
22 + * indefinitely.
22 23 *
23 24 * @package OpenStation
24 25 */
25 26
@@ -186,10 +187,11 @@
186 187
187 188 /**
188 189 * Permission gate for the seen-intros routes.
189 190 *
190 - * In-shell intros (slug `posts`, `pages`, …) are only ever shown to a
191 - * user who has already entered OpenStation, so they keep the strict
191 + * In-shell announcements (the rebrand notice, and anything a plugin
192 + * registers) are only ever shown to a user who has already entered
193 + * OpenStation, so they keep the strict
192 194 * {@see openstation_rest_require_enabled()} gate — `read` alone is
193 195 * insufficient (every role, Subscriber included, carries `read`).
194 196 *
195 197 * The one exception is the first-run welcome dialog