Skip to content

fix: resolve C3 export pipeline login and listener issues - #74

Open
Armaldio wants to merge 111 commits into
mainfrom
develop
Open

fix: resolve C3 export pipeline login and listener issues#74
Armaldio wants to merge 111 commits into
mainfrom
develop

Conversation

@Armaldio

Copy link
Copy Markdown
Member

Summary

Fixes the Construct 3 export pipeline's "stuck on login" bug and improves dialog listener reliability.

Changes

Login credential injection fix

  • Root cause: Credentials were injected into 's IndexedDB, but the editor at reads from its own origin's IndexedDB
  • Fix: Navigate to first, then inject credentials using the editor's own instance, followed by a page reload

Browser download optimization

  • Respect existing env var (was hardcoded)
  • Skip if chrome binary already exists at the expected path

Dialog listener improvements

  • Register all 8 dialog listeners immediately after navigation/login (was split across two phases)
  • Add recursive re-registration to listener (was missing, unlike all other listeners)

E2E test

  • New test: reads / from environment, skips if not set

Testing

All 3 E2E tests pass:

  • ✅ Anonymous export
  • ✅ Logged-in export (with env vars)
  • ✅ Custom Chrome profile clone

Files changed

  • plugins/plugin-construct/src/assets/script.ts — login injection + listener registration
  • plugins/plugin-construct/src/assets/listeners.ts — notNowBtn recursive re-registration
  • plugins/plugin-construct/src/export-shared.ts — browser path + download skip
  • plugins/plugin-construct/tests/e2e/construct.spec.ts — login E2E test

Armaldio and others added 30 commits May 4, 2026 14:29
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…emver ranges and update deletion logic to clean up associated tags
…auto-updater with support for environment-based overrides
…e in core-node, and bump versions to 1.0.0-beta.8/2.0.0-beta.8
Armaldio added 28 commits July 3, 2026 17:02
- Fix login credential injection: inject on editor.construct.net origin
  using localforage instead of raw IndexedDB on account.construct.net
- Respect existing PLAYWRIGHT_BROWSERS_PATH env var
- Skip browser download if chrome binary already exists
- Register all dialog listeners immediately after navigation/login
- Add recursive re-registration to notNowBtn listener
- Add E2E test for login with env vars (C3_USERNAME/C3_PASSWORD)
…ping redundant API logins if auth state exists
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Sep 3, 2026

Copy link
Copy Markdown

Deploying pipelab with  Cloudflare Pages  Cloudflare Pages

Latest commit: 2af2631
Status: ✅  Deploy successful!
Preview URL: https://e6df913e.pipelab.pages.dev

View logs

// We only want to intercept things that we actually have MSW handlers for.
const shouldIntercept =
originalHost &&
(originalHost.includes("poki.io") ||
regex(/[A-Z]/, "Password must contain at least one uppercase letter"),
regex(/[0-9]/, "Password must contain at least one number"),
regex(
/[!@#$%^&*()_+-=[\]{};':"|\<>?,./`~.]/,
{ label: "Lowercase letter", isValid: /[a-z]/.test(pwd) },
{ label: "Uppercase letter", isValid: /[A-Z]/.test(pwd) },
{ label: "Numeric digit", isValid: /[0-9]/.test(pwd) },
{ label: "Special symbol", isValid: /[!@#$%^&*()_+-=[\]{};':"|\<>?,./`~.]/.test(pwd) },
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