Skip to content

Persisted welcome guide dismissal per user - #3136

Merged
pirate-bot merged 1 commit into
developmentfrom
bugfix/3123
Oct 29, 2026
Merged

pirate-bot merged 1 commit into
developmentfrom
bugfix/3123

Conversation

@girishpanchal30

Copy link
Copy Markdown
Contributor

Closes #3123

Summary

Updated the editor welcome guide to persist its dismissed state as a per-user preference through core/preferences, storing show-welcome-guide = false in wp_persisted_preferences when users close the guide using Finish, X, or Escape. The guide now respects this preference across browsers and devices, while retaining the existing localStorage flag and server option behavior. This avoids restoring the site-wide option save, which requires manage_options and would prevent Editors and Authors from saving their preference while affecting all users if dismissed by an administrator.


Checklist before the final review

  • Included E2E or unit tests for the changes in this PR.
  • Visual elements are not affected by independent changes.
  • It is at least compatible with the minimum WordPress version.
  • It loads additional script in frontend only if it is required.
  • Does not impact the Core Web Vitals.
  • In case of deprecation, old blocks are safely migrated.
  • It is usable in Widgets and FSE.
  • Copy/Paste is working if the attributes are modified.
  • PR is following the best practices

@pirate-bot

Copy link
Copy Markdown
Contributor

Bundle Size Diff

Package Old Size New Size Diff
Animations 178.33 KB 178.33 KB 0 B (0.00%)
Blocks 1.65 MB 1.65 MB 189 B (0.01%)
CSS 7.83 KB 7.83 KB 0 B (0.00%)
Dashboard 172.49 KB 172.49 KB 0 B (0.00%)
Onboarding 68.14 KB 68.14 KB 0 B (0.00%)
Export Import 4.73 KB 4.73 KB 0 B (0.00%)
Pro 439.85 KB 439.85 KB 0 B (0.00%)

@pirate-bot

Copy link
Copy Markdown
Contributor

Plugin build for e28cc08 is ready 🛎️!

@pirate-bot

Copy link
Copy Markdown
Contributor

E2E Tests

Playwright Test Status: See serial and parallel matrix jobs

Performance Results serverResponse: {"q25":481.05,"q50":513.74,"q75":527.66,"cnt":10}, firstPaint: {"q25":1495.69,"q50":1631.47,"q75":1714.72,"cnt":10}, domContentLoaded: {"q25":4380.81,"q50":4411.64,"q75":4419.86,"cnt":10}, loaded: {"q25":4384.97,"q50":4415.19,"q75":4423.48,"cnt":10}, firstContentfulPaint: {"q25":2590.71,"q50":3299.05,"q75":3323.82,"cnt":10}, firstBlock: {"q25":20239.12,"q50":20332.19,"q75":20376.35,"cnt":10}, type: {"q25":37.12,"q50":43.86,"q75":47.95,"cnt":10}, typeWithoutInspector: {"q25":31.71,"q50":36.98,"q75":40.43,"cnt":10}, typeWithTopToolbar: {"q25":43.68,"q50":45.19,"q75":50.46,"cnt":10}, typeContainer: {"q25":18.83,"q50":20.7,"q75":22.05,"cnt":10}, focus: {"q25":168.23,"q50":177.93,"q75":187.3,"cnt":10}, inserterOpen: {"q25":54.57,"q50":56.58,"q75":62.82,"cnt":10}, inserterSearch: {"q25":33.68,"q50":34.49,"q75":36.86,"cnt":10}, inserterHover: {"q25":5.48,"q50":6.02,"q75":6.59,"cnt":20}, loadPatterns: {"q25":2230.2,"q50":2249.89,"q75":2336.92,"cnt":10}, listViewOpen: {"q25":284.16,"q50":291.18,"q75":304.34,"cnt":10}

@pirate-bot pirate-bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

QA check: The code and unit tests pass, but the cross-browser dismissal was not exercised on a live site.

Validation details
  • Files reviewed: 4/4 changed files.
  • Both new Jest files pass at HEAD: "Tests: 5 passed, 5 total" (not in the output of run R2)
  • With the pr-base source files, the new cases fail: "Tests: 2 failed, 3 passed, 5 total" (not in the output of run R5)
  • Source check: the bundle loads after wp-preferences, so the saved preference is read at load (WordPress 6.1+ inline persistence script).
  • Source check: Finish, X and Escape all call onFinish through Guide.
QA steps
  1. Log in as an Editor in browser A. Open a new post. Close the Otter welcome guide with the X button. Expected: the guide closes.
  2. Reload the post editor in browser A. Expected: the guide does not appear.
  3. Log in as the same Editor in browser B or a private window. Open a new post. Expected: the guide does not appear.
  4. Log in as another user who never closed the guide. Open a new post. Expected: the guide appears.
  5. Repeat step 1 with the Escape key and with the Finish button on the last page. Expected: the guide stays hidden in another browser.
Untested areas
  • No WordPress site or browser run. The cross-device behavior and the close controls were checked in source only.
  • The Playwright and PHPUnit suites were not run. The change adds no PHP.

🤖 Automated review · run code-review-agent_6adf3fa73baca6.03415647.


🤖 Review agent — review posted ✅ on e28cc085 · commented · 0 findings · 23 min

Run code-review-agent_6adf3fa73baca6.03415647 · trail

@pirate-bot
pirate-bot merged commit 46d3514 into development Oct 29, 2026
15 checks passed
@pirate-bot
pirate-bot deleted the bugfix/3123 branch October 29, 2026 02:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants