PluginProbe
OpenStation: Desktop Windows, Dock & Virtual Desktops for WP Admin / 1.1.11
OpenStation: Desktop Windows, Dock & Virtual Desktops for WP Admin v1.1.11
1.1.11 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 All 35 releases
← All changes | includes/render/assets.php +13 -26 1.1.71.1.11 View file →
@@ -346,8 +346,16 @@
346 346 : array();
347 347 $server_file_openers = function_exists( 'openstation_build_file_openers_payload' )
348 348 ? openstation_build_file_openers_payload()
349 349 : array();
350 + // Entries in the menu payload carry dependency handles; their
351 + // payloads ride once in `scriptDepPayloads` (GH#892). The file
352 + // lists stay whole: no sync module reads them on the client, and
353 + // compacting them here was the only write to the map after the
354 + // menu payload froze its own, so a refresh could not match it.
355 + $script_dep_payloads = isset( $menu_payload['scriptDepPayloads'] )
356 + ? (array) $menu_payload['scriptDepPayloads']
357 + : array();
350 358 $user_file_associations = function_exists( 'openstation_get_user_file_associations' )
351 359 ? openstation_get_user_file_associations( get_current_user_id() )
352 360 : array();
353 361 $server_wallpaper_menu_items = function_exists( 'openstation_build_wallpaper_menu_items' )
@@ -561,8 +569,11 @@
561 569 'serverDesktopThemes' => $server_desktop_themes,
562 570 'desktopIcons' => $desktop_icons,
563 571 'serverFileTypes' => $server_file_types,
564 572 'serverFileOpeners' => $server_file_openers,
573 + // Handle => dependency payload for every `scriptDeps` list in
574 + // this config; see `openstation_compact_script_deps()`.
575 + 'scriptDepPayloads' => (object) $script_dep_payloads,
565 576 'userFileAssociations' => $user_file_associations,
566 577 'filesUrl' => esc_url_raw( rest_url( 'desktop-mode/v1/files' ) ),
567 578 // Pinned-notes REST base (`includes/notes/rest.php`). The
568 579 // notes layer boots only when this is present.
@@ -721,34 +732,8 @@
721 732 // Site-wide games kill switch (Extended options). Exposed to
722 733 // every user — the shell skips the challenges Heartbeat
723 734 // channel when the framework is off.
724 735 'gamesEnabled' => openstation_games_enabled(),
725 - // Comments-window AI moderation toggle — surfaced at the
726 - // shell level so the OS Settings → Features tab can render
727 - // the toggle without depending on the Comments window
728 - // being registered for this user. URL is the same
729 - // endpoint the comments-window config exposes; state is
730 - // `null` for non-admins (the UI hides the row entirely).
731 - 'commentsAiUrl' => esc_url_raw( rest_url( 'desktop-mode/v1/comments/ai-settings' ) ),
732 - // Non-null only for admins on a site where the Core AI stack is
733 - // present. Comment scoring routes through the AI Client (WP 7.0+),
734 - // so on older WordPress the whole row is hidden — same as the
735 - // assistant toggle — rather than shown disabled pointing at a
736 - // Settings → Connectors screen that doesn't exist there.
737 - 'commentsAi' => (
738 - current_user_can( 'manage_options' )
739 - && function_exists( 'openstation_ai_is_available' )
740 - && openstation_ai_is_available()
741 - )
742 - ? array(
743 - 'enabled' => function_exists( 'openstation_comments_ai_is_enabled' )
744 - ? openstation_comments_ai_is_enabled()
745 - : false,
746 - 'providerConfigured' => function_exists( 'openstation_comments_ai_provider_configured' )
747 - ? openstation_comments_ai_provider_configured()
748 - : false,
749 - )
750 - : null,
751 736 'currentUserIsAdmin' => current_user_can( 'manage_options' ),
752 737 // Null on single-site installs; its `networkAdmin` null
753 738 // without `manage_network`, which is what keeps the dock
754 739 // tile from registering.
@@ -758,8 +743,10 @@
758 743 'fromPortalIntent' => $from_portal_intent,
759 744 // One-shot like the boot target: a switch from another
760 745 // site's overview lands in this one's.
761 746 'landInOverview' => openstation_shell_lands_in_overview(),
747 + 'arrivalDirection' => openstation_shell_arrival_direction(),
748 + 'hopLinkOffer' => function_exists( 'openstation_network_link_offer' ) ? openstation_network_link_offer() : null,
762 749 'pwa' => array(
763 750 'manifestUrl' => esc_url_raw( openstation_pwa_manifest_url() ),
764 751 'swUrl' => esc_url_raw( openstation_pwa_sw_url() ),
765 752 // Extensionless retry target for hosts whose nginx 404s