Skip to content

fix(sso): lazily generate admin-bar magic links - #1712

Merged
superdav42 merged 4 commits into
mainfrom
feature/auto-20260810-001316-gh1711
Aug 10, 2026
Merged

fix(sso): lazily generate admin-bar magic links#1712
superdav42 merged 4 commits into
mainfrom
feature/auto-20260810-001316-gh1711

Conversation

@superdav42

@superdav42 superdav42 commented Aug 10, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Replace eager My Sites dashboard magic links with same-origin, nonce-protected admin-post redirects.
  • Resolve the selected site only after validating the user, site ID, and site-specific nonce.
  • Preserve mapped-domain magic links and super-administrator access.

Testing

  • vendor/bin/phpunit --filter Admin_Bar_Magic_Links_Test
  • vendor/bin/phpunit --filter Magic_Link_Test
  • vendor/bin/phpcs inc/sso/class-admin-bar-magic-links.php inc/sso/class-magic-link.php tests/WP_Ultimo/SSO/Admin_Bar_Magic_Links_Test.php tests/WP_Ultimo/SSO/Magic_Link_Test.php
  • vendor/bin/phpstan analyse inc/sso/class-admin-bar-magic-links.php inc/sso/class-magic-link.php

Resolves #1711


aidevops.sh v3.32.247 plugin for OpenCode v1.18.9 with gpt-5.6-terra

Summary by CodeRabbit

  • Bug Fixes

    • Improved admin-bar dashboard links with secure, same-origin redirects.
    • Prevented access to missing or unauthorized sites.
    • Allowed super administrators to access any site dashboard.
    • Rejected invalid request parameters and unsafe redirect destinations.
    • Preserved safe redirects for mapped domains and validated destinations.
  • Tests

    • Added coverage for secure dashboard links, access restrictions, invalid parameters, mapped-domain redirects, and super-administrator access.

@superdav42 superdav42 added the origin:worker Auto-created by pulse labelless backfill (t2112) label Aug 10, 2026
@coderabbitai

coderabbitai Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

Admin-bar dashboard links now use same-origin lazy action URLs. An authenticated handler validates the site, nonce, access, and destination before redirecting. Super administrators can access any site, and focused tests cover URL generation, rejection cases, redirects, and access verification.

Changes

Admin-bar magic-link resolution

Layer / File(s) Summary
Lazy action URL generation
inc/sso/class-admin-bar-magic-links.php, tests/WP_Ultimo/SSO/Admin_Bar_Magic_Links_Test.php
The toolbar registers an authenticated admin-post action and generates same-origin dashboard URLs with a site ID and site-specific nonce. Tests confirm eligible nodes change without generating magic links.
Validated dashboard redirect
inc/sso/class-admin-bar-magic-links.php, tests/WP_Ultimo/SSO/Admin_Bar_Magic_Links_Test.php
The handler validates request values, nonce, site status, access, and redirect host before resolving the selected dashboard URL. Tests cover redirects, inaccessible sites, invalid nonces, array-valued parameters, mapped domains, and error responses.
Super-administrator site access
inc/sso/class-magic-link.php, tests/WP_Ultimo/SSO/Magic_Link_Test.php
Site access verification accepts super administrators. The SSO test covers access approval and privilege cleanup.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Sequence Diagram(s)

sequenceDiagram
  participant AdminBar
  participant AdminPostHandler
  participant SiteAccess
  participant DashboardURL
  AdminBar->>AdminPostHandler: Submit site ID and nonce
  AdminPostHandler->>SiteAccess: Verify authenticated site access
  SiteAccess-->>AdminPostHandler: Return validation result
  AdminPostHandler->>DashboardURL: Resolve the selected site dashboard
  DashboardURL-->>AdminPostHandler: Return validated URL
  AdminPostHandler-->>AdminBar: Redirect to the dashboard
Loading
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Linked Issues check ⚠️ Warning The implementation matches the lazy redirect and access-control objectives, but linked CI reports deterministic test failures on PHP 8.2, 8.4, and 8.5. Fix the reported test-isolation failures, verify magic-link-disabled behavior, and rerun the required PHPUnit, PHPCS, PHPStan, and SSO checks.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes the main change: lazy generation of admin-bar SSO magic links.
Out of Scope Changes check ✅ Passed The implementation, super-administrator access change, and focused tests directly support the linked issue objectives.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/auto-20260810-001316-gh1711

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@superdav42

superdav42 commented Aug 10, 2026

Copy link
Copy Markdown
Collaborator Author

Completion Summary

  • What: Defers My Sites dashboard magic-link generation to a validated same-origin admin-post redirect and preserves super-administrator access.
  • Issue: fix(sso): lazily generate admin-bar magic links #1711
  • Files changed: inc/sso/class-admin-bar-magic-links.php, inc/sso/class-magic-link.php, tests/WP_Ultimo/SSO/Admin_Bar_Magic_Links_Test.php, tests/WP_Ultimo/SSO/Magic_Link_Test.php
  • Testing: vendor/bin/phpunit --filter Admin_Bar_Magic_Links_Test; vendor/bin/phpunit --filter Magic_Link_Test; vendor/bin/phpcs inc/sso/class-admin-bar-magic-links.php inc/sso/class-magic-link.php tests/WP_Ultimo/SSO/Admin_Bar_Magic_Links_Test.php tests/WP_Ultimo/SSO/Magic_Link_Test.php; vendor/bin/phpstan analyse inc/sso/class-admin-bar-magic-links.php inc/sso/class-magic-link.php
  • Key decisions: none

aidevops.sh v3.32.247 plugin for OpenCode v1.18.9 with gpt-5.6-terra spent 14m and 171,884 tokens on this as a headless worker.


Merged via PR #1712 to main.
Merged by deterministic merge pass (pulse-wrapper.sh).

Routing feedback

  • Route: standard; 2 attempts, 79 LLM requests, 0 capability escalations, 0 same-tier fallbacks.
  • Usage: 9,428,472 tokens; $3.9175 estimated cost.
  • Recommendation: No routing change is recommended from this sample.

@ultimate-multisite ultimate-multisite Bot added the status:in-review PR open, awaiting review/merge label Aug 10, 2026
@github-actions

Copy link
Copy Markdown

🔨 Build Complete - Ready for Testing!

📦 Download Build Artifact (Recommended)

Download the zip build, upload to WordPress and test:

🌐 Test in WordPress Playground (Very Experimental)

Click the link below to instantly test this PR in your browser - no installation needed!
Playground support for multisite is very limitied, hopefully it will get better in the future.

🚀 Launch in Playground

Login credentials: admin / password

@coderabbitai coderabbitai 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.

Actionable comments posted: 1

🧹 Nitpick comments (2)
tests/WP_Ultimo/SSO/Admin_Bar_Magic_Links_Test.php (1)

68-72: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Use the required test fixture helpers.

  • tests/WP_Ultimo/SSO/Admin_Bar_Magic_Links_Test.php#L68-L72: Create the user and site membership with the applicable wu_create_*() helper.
  • tests/WP_Ultimo/SSO/Admin_Bar_Magic_Links_Test.php#L129-L140: Replace user and site factory fixtures with the applicable wu_create_*() helpers.
  • tests/WP_Ultimo/SSO/Magic_Link_Test.php#L160-L163: Replace user and site factory fixtures with the applicable wu_create_*() helpers.

As per coding guidelines, tests must use wu_create_*() helper functions to set up test data.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@tests/WP_Ultimo/SSO/Admin_Bar_Magic_Links_Test.php` around lines 68 - 72,
Replace the direct WordPress factory and membership setup with the applicable
wu_create_*() test helpers at
tests/WP_Ultimo/SSO/Admin_Bar_Magic_Links_Test.php:68-72, including user
creation and site membership; update the user and site fixtures at
tests/WP_Ultimo/SSO/Admin_Bar_Magic_Links_Test.php:129-140 and
tests/WP_Ultimo/SSO/Magic_Link_Test.php:160-163 to use the corresponding helpers
while preserving each test’s existing setup behavior.

Source: Coding guidelines

inc/sso/class-admin-bar-magic-links.php (1)

106-112: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Use the required PHP syntax.

Use [] instead of array() at line 107. Use a Yoda condition at line 148. 0 === strcasecmp($destination_host, $host) preserves the case-insensitive comparison.

Proposed fix
-			array(
+			[
 				'action'                => self::ADMIN_POST_ACTION,
 				self::SITE_ID_QUERY_ARG => $site_id,
 				'_wpnonce'              => wp_create_nonce($this->get_admin_bar_nonce_action($site_id)),
-			),
+			],
@@
-			if (strtolower($destination_host) === strtolower($host)) {
+			if (0 === strcasecmp($destination_host, $host)) {

As per coding guidelines, use “short array syntax []” and require “Yoda conditions … in production code.”

Also applies to: 147-150

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@inc/sso/class-admin-bar-magic-links.php` around lines 106 - 112, Update the
array argument in the admin-post URL construction within the relevant method to
use short array syntax [] instead of array(). In the destination-host comparison
around strcasecmp(), use the Yoda condition 0 === strcasecmp($destination_host,
$host) while preserving the existing case-insensitive behavior.

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@inc/sso/class-admin-bar-magic-links.php`:
- Around line 122-163: Add tests that execute handle_admin_bar_magic_link()
directly, covering valid same-domain and mapped-domain redirects, invalid
nonces, unauthorized or invalid sites, and request-supplied redirect parameters.
Assert the expected redirect destination and status, ensure access failures are
rejected, and verify request parameters cannot override the handler’s resolved
site destination.

---

Nitpick comments:
In `@inc/sso/class-admin-bar-magic-links.php`:
- Around line 106-112: Update the array argument in the admin-post URL
construction within the relevant method to use short array syntax [] instead of
array(). In the destination-host comparison around strcasecmp(), use the Yoda
condition 0 === strcasecmp($destination_host, $host) while preserving the
existing case-insensitive behavior.

In `@tests/WP_Ultimo/SSO/Admin_Bar_Magic_Links_Test.php`:
- Around line 68-72: Replace the direct WordPress factory and membership setup
with the applicable wu_create_*() test helpers at
tests/WP_Ultimo/SSO/Admin_Bar_Magic_Links_Test.php:68-72, including user
creation and site membership; update the user and site fixtures at
tests/WP_Ultimo/SSO/Admin_Bar_Magic_Links_Test.php:129-140 and
tests/WP_Ultimo/SSO/Magic_Link_Test.php:160-163 to use the corresponding helpers
while preserving each test’s existing setup behavior.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 5f2a6c20-664c-4755-a576-a0450a6f7e7a

📥 Commits

Reviewing files that changed from the base of the PR and between 30e57a8 and f9810ec.

📒 Files selected for processing (4)
  • inc/sso/class-admin-bar-magic-links.php
  • inc/sso/class-magic-link.php
  • tests/WP_Ultimo/SSO/Admin_Bar_Magic_Links_Test.php
  • tests/WP_Ultimo/SSO/Magic_Link_Test.php

Comment thread inc/sso/class-admin-bar-magic-links.php
@github-actions

Copy link
Copy Markdown

🔨 Build Complete - Ready for Testing!

📦 Download Build Artifact (Recommended)

Download the zip build, upload to WordPress and test:

🌐 Test in WordPress Playground (Very Experimental)

Click the link below to instantly test this PR in your browser - no installation needed!
Playground support for multisite is very limitied, hopefully it will get better in the future.

🚀 Launch in Playground

Login credentials: admin / password

@coderabbitai coderabbitai 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.

Actionable comments posted: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
tests/WP_Ultimo/SSO/Admin_Bar_Magic_Links_Test.php (1)

115-120: 🔒 Security & Privacy | 🟡 Minor | ⚡ Quick win

Assert the same-origin action endpoint.

Lines 115-120 validate only query parameters. This test also passes if the dashboard URL has another host or another path with the same parameters. Assert that the scheme, host, and path match admin_url('admin-post.php').

As per PR objectives, dashboard links must use a same-origin admin-post redirect.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@tests/WP_Ultimo/SSO/Admin_Bar_Magic_Links_Test.php` around lines 115 - 120,
Extend the assertions in the dashboard link test around $dashboard_node->href to
verify that its scheme, host, and path match the corresponding components of
admin_url('admin-post.php'). Keep the existing query-parameter, nonce, and
generated-link assertions unchanged.
🧹 Nitpick comments (1)
tests/WP_Ultimo/SSO/Admin_Bar_Magic_Links_Test.php (1)

178-189: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Use short array syntax in the changed PHP tests.

Replace array(...) with [...] at each changed site.

  • tests/WP_Ultimo/SSO/Admin_Bar_Magic_Links_Test.php#L178-L189: convert the request and redirect fixtures.
  • tests/WP_Ultimo/SSO/Admin_Bar_Magic_Links_Test.php#L80-L113: convert the admin-bar node and query fixtures.
  • tests/WP_Ultimo/SSO/Admin_Bar_Magic_Links_Test.php#L156-L163: convert malformed request fixtures.
  • tests/WP_Ultimo/SSO/Admin_Bar_Magic_Links_Test.php#L220-L251: convert mapped-domain and redirect fixtures.
  • tests/WP_Ultimo/SSO/Admin_Bar_Magic_Links_Test.php#L296-L311: convert rejection request fixtures.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@tests/WP_Ultimo/SSO/Admin_Bar_Magic_Links_Test.php` around lines 178 - 189,
In Admin_Bar_Magic_Links_Test.php, replace long array(...) syntax with short
[...] syntax for all changed fixtures: request and redirect fixtures at lines
178-189, admin-bar node and query fixtures at 80-113, malformed request fixtures
at 156-163, mapped-domain and redirect fixtures at 220-251, and rejection
request fixtures at 296-311.

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@tests/WP_Ultimo/SSO/Admin_Bar_Magic_Links_Test.php`:
- Around line 242-245: Update the magic-link filter callback in the test to
capture and assert that $filter_user_id and $filter_site_id match the expected
$user_id and $site_id, while preserving the existing redirect assertion and
return value. Ensure the test also verifies selected-site-only resolution rather
than allowing magic-link generation for another user or site.
- Around line 301-317: Add $this->fail() immediately after each
handle_admin_bar_magic_link() call in the two rejection-case try blocks, before
their WPDieException catches, so both invalid and inaccessible site scenarios
require wp_die() rather than allowing normal return.

---

Outside diff comments:
In `@tests/WP_Ultimo/SSO/Admin_Bar_Magic_Links_Test.php`:
- Around line 115-120: Extend the assertions in the dashboard link test around
$dashboard_node->href to verify that its scheme, host, and path match the
corresponding components of admin_url('admin-post.php'). Keep the existing
query-parameter, nonce, and generated-link assertions unchanged.

---

Nitpick comments:
In `@tests/WP_Ultimo/SSO/Admin_Bar_Magic_Links_Test.php`:
- Around line 178-189: In Admin_Bar_Magic_Links_Test.php, replace long
array(...) syntax with short [...] syntax for all changed fixtures: request and
redirect fixtures at lines 178-189, admin-bar node and query fixtures at 80-113,
malformed request fixtures at 156-163, mapped-domain and redirect fixtures at
220-251, and rejection request fixtures at 296-311.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 7302c3bf-c68b-40ab-8708-4e992b906195

📥 Commits

Reviewing files that changed from the base of the PR and between f9810ec and 87999d4.

📒 Files selected for processing (1)
  • tests/WP_Ultimo/SSO/Admin_Bar_Magic_Links_Test.php

Comment thread tests/WP_Ultimo/SSO/Admin_Bar_Magic_Links_Test.php Outdated
Comment thread tests/WP_Ultimo/SSO/Admin_Bar_Magic_Links_Test.php
@github-actions

Copy link
Copy Markdown

🔨 Build Complete - Ready for Testing!

📦 Download Build Artifact (Recommended)

Download the zip build, upload to WordPress and test:

🌐 Test in WordPress Playground (Very Experimental)

Click the link below to instantly test this PR in your browser - no installation needed!
Playground support for multisite is very limitied, hopefully it will get better in the future.

🚀 Launch in Playground

Login credentials: admin / password

@superdav42

Copy link
Copy Markdown
Collaborator Author

The full-suite failures are deterministic test-isolation defects in the new tests, not unrelated infrastructure noise.

  • test_get_site_dashboard_url_rejects_inaccessible_and_missing_sites calls wu_get_admin_url() twice while magic links can be enabled by the wider suite. Each call correctly creates a different one-time token, so the string comparison fails.
  • test_handle_admin_bar_magic_link_redirects_to_resolved_same_domain_url assumes magic links are disabled, but wider-suite state can leave a mapped primary domain and magic links enabled.

Please make both tests explicit about their same-domain/no-magic-link fixture: add wu_magic_links_enabled => __return_false before the assertions/handler call and remove it in finally. In the first test, compare the resolved URL with get_admin_url($site_id) rather than generating a second magic link as the expected value.

Verification:

vendor/bin/phpunit --filter Admin_Bar_Magic_Links_Test
vendor/bin/phpunit

The production code and focused lazy-link behavior otherwise match #1711; the existing CI failures occurred only in the 10,155-test full suite.


aidevops.sh v3.32.247 plugin for OpenCode v1.18.9 with gpt-5.6-sol

@superdav42

Copy link
Copy Markdown
Collaborator Author

CI repair feedback routed to issue #1711

This worker PR had terminal failed CI checks. The check details have been appended
to the linked issue body so the next worker can address them.

Terminal failed checks:

Closed by deterministic merge pass (pulse-merge.sh).

@superdav42 superdav42 closed this Aug 10, 2026
@superdav42 superdav42 added the ci-feedback-routed Worker PR with failing CI routed to linked issue for re-dispatch label Aug 10, 2026
@superdav42 superdav42 reopened this Aug 10, 2026
@github-actions

Copy link
Copy Markdown

🔨 Build Complete - Ready for Testing!

📦 Download Build Artifact (Recommended)

Download the zip build, upload to WordPress and test:

🌐 Test in WordPress Playground (Very Experimental)

Click the link below to instantly test this PR in your browser - no installation needed!
Playground support for multisite is very limitied, hopefully it will get better in the future.

🚀 Launch in Playground

Login credentials: admin / password

@github-actions

Copy link
Copy Markdown

🔨 Build Complete - Ready for Testing!

📦 Download Build Artifact (Recommended)

Download the zip build, upload to WordPress and test:

🌐 Test in WordPress Playground (Very Experimental)

Click the link below to instantly test this PR in your browser - no installation needed!
Playground support for multisite is very limitied, hopefully it will get better in the future.

🚀 Launch in Playground

Login credentials: admin / password

@coderabbitai coderabbitai 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.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
tests/WP_Ultimo/SSO/Admin_Bar_Magic_Links_Test.php (1)

106-108: 🩺 Stability & Availability | 🟡 Minor | ⚡ Quick win

Remove the test filter when the method throws.

If modify_my_sites_menu() throws, Line 108 does not run. The wu_magic_link_url filter then remains registered and can change later test results. Put the invocation and filter removal in a try/finally block.

Proposed fix
 add_filter('wu_magic_link_url', $magic_link_filter);
-$this->magic_links->modify_my_sites_menu($admin_bar);
-remove_filter('wu_magic_link_url', $magic_link_filter);
+try {
+	$this->magic_links->modify_my_sites_menu($admin_bar);
+} finally {
+	remove_filter('wu_magic_link_url', $magic_link_filter);
+}
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@tests/WP_Ultimo/SSO/Admin_Bar_Magic_Links_Test.php` around lines 106 - 108,
Wrap the modify_my_sites_menu invocation and filter cleanup in a try/finally
block, ensuring remove_filter for wu_magic_link_url always executes even when
modify_my_sites_menu throws. Keep the existing filter setup and test assertions
unchanged.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@tests/WP_Ultimo/SSO/Admin_Bar_Magic_Links_Test.php`:
- Around line 106-108: Wrap the modify_my_sites_menu invocation and filter
cleanup in a try/finally block, ensuring remove_filter for wu_magic_link_url
always executes even when modify_my_sites_menu throws. Keep the existing filter
setup and test assertions unchanged.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 56981ef8-61ec-4032-8565-30bc1d05dfca

📥 Commits

Reviewing files that changed from the base of the PR and between 87999d4 and 7eb939f.

📒 Files selected for processing (2)
  • inc/sso/class-admin-bar-magic-links.php
  • tests/WP_Ultimo/SSO/Admin_Bar_Magic_Links_Test.php
🚧 Files skipped from review as they are similar to previous changes (1)
  • inc/sso/class-admin-bar-magic-links.php

@superdav42
superdav42 merged commit 6c0e7b8 into main Aug 10, 2026
11 checks passed
@superdav42

Copy link
Copy Markdown
Collaborator Author

DISPATCH_CLAIM nonce=4bfeb49291db691755ac4b57153b4184 runner=superdav42 ts=2026-08-10T19:07:03Z max_age_s=120 version=3.32.250 opencode_version=1.18.9 lease_token=4bfeb49291db691755ac4b57153b4184 device=device-1783824528-2609248-26808 session=issue-1712 phase=prelaunch expires_at=1786388944

@superdav42

Copy link
Copy Markdown
Collaborator Author

REVIEW_FOLLOWUP_CREATED source_pr=1712 issue=1715 fingerprint=source-pr-1712 runner=superdav42 ts=2026-08-10T19:07:26Z

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-feedback-routed Worker PR with failing CI routed to linked issue for re-dispatch origin:worker Auto-created by pulse labelless backfill (t2112) status:in-review PR open, awaiting review/merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(sso): lazily generate admin-bar magic links

1 participant