Skip to content

Fix popup console page rendering and add dev-gated password login with MCP-driven CCW agent workflow #86exu5xd7#30

Merged
navidshad merged 7 commits into
mainfrom
dev
Jun 2, 2026
Merged

Fix popup console page rendering and add dev-gated password login with MCP-driven CCW agent workflow #86exu5xd7#30
navidshad merged 7 commits into
mainfrom
dev

Conversation

@navidshad

@navidshad navidshad commented Jun 2, 2026

Copy link
Copy Markdown
Collaborator

🏷️ PR Title:
Fix popup console page rendering and add dev-gated password login with MCP-driven CCW agent workflow

📋 Summary

This PR fixes the rendering of Practice and Preview console pages within the popup router. It also introduces a new feature for authentication: a developer-gated password login and an MCP-driven CCW agent workflow. Additionally, documentation was updated to clarify that multi-line comments are allowed without the "one short line" restriction.

🔗 Related Tasks

#86exu5xd7 - Fix popup console pages rendering in the popup router
#7c8a59 - Add dev-gated password login and MCP-driven CCW agent workflow

📝 Additional Details

  • The popup router now properly supports rendering of Practice and Preview console pages, improving developer experience and UI consistency.
  • Documentation updates improve clarity on the usage of multi-line comments, removing confusion around formatting rules.

📜 Commit List

  • 950a15d docs: clarify multi-line comments are allowed (no "one short line" rule)
  • ff2935c fix(popup): render Practice/Preview console pages in the popup router
  • b4b6e46 feat(auth): add dev-gated password login + MCP-driven CCW agent workflow

navidshad and others added 6 commits May 28, 2026 17:18
Unblocks cloud Claude agents (Claude Code on the Web) from developing on
the extension by adding a username/password login path that doesn't need
Google OAuth, plus a chrome-extension-tester-mcp config so the agent can
load the unpacked extension, drive the popup, and screenshot results.

The new email/password form in LoginView is build-flag gated by
ENABLE_PASSWORD_AUTH. Stable + dev release builds keep it off (form stays
hidden, real users continue to use OAuth); CCW + verify-job builds enable
it. The flow reuses the existing handleTokenLogin path so the JWT lands
in chrome.storage.sync["token"] indistinguishable from an OAuth token —
no downstream consumer (modular-rest client, profile store, translate
service, ConsoleCrane) sees the difference.

Coverage:
- tests/login-password.test.ts + login-password-disabled.test.ts —
  Vitest, form rendering / validation / success+failure paths.
- tests/e2e/password-login.spec.ts — Playwright, end-to-end against
  stubbed /user/login and /verify/token via the existing fixture.

The agent path uses only the MCP; tests/e2e/ stays the testing ground
and the two share no code. CLAUDE.md documents the one-time CCW setup
(network access, env vars, setup script) plus the curl + token-inject
sequence — including the gotcha that the password must be base64-encoded
in the /user/login body since modular-rest's client lib does this
internally and raw curl doesn't.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
feat(auth): dev-gated password login + MCP-driven CCW agent workflow #86exrkrra
# [1.13.0-dev.1](v1.12.0...v1.13.0-dev.1) (2026-06-02)

### Features

* **auth:** add dev-gated password login + MCP-driven CCW agent workflow ([b4b6e46](b4b6e46))
WordDetailModule's "Practice with AI" / "Preview flashcard" buttons called
useConsoleCraneStore().toggleConsoleCrane(...), which needs a mounted
ConsoleCrane modal. The popup is a Chrome extension page with no
console-crane.js content script, so there was no modal to render into and the
buttons did nothing.

Register the practice-config / flashcard-preview console modules as routes in
the popup's own router (wrapped in a back-header scaffold) and provide an
openConsolePage(page, params) navigator via App.vue. WordDetailModule injects
it and pushes the popup router, so the console pages render as full popup pages
with working Back; Home is kept-alive so Back restores the existing
translation. In the console-crane content script there is no provider, so the
same module falls back to the store-driven modal — web-page behavior is
unchanged.

Validated via unit + e2e suites and the chrome-extension-tester MCP against the
live dev server.

Closes ClickUp 86exu5xd7.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…5xd7

fix(popup): render Practice/Preview console pages in the popup router
@navidshad

Copy link
Copy Markdown
Collaborator Author

@navidshad navidshad changed the title Dev Fix popup console page rendering and add dev-gated password login with MCP-driven CCW agent workflow #86exu5xd7 Jun 2, 2026
# [1.13.0-dev.2](v1.13.0-dev.1...v1.13.0-dev.2) (2026-06-02)

### Bug Fixes

* **popup:** render Practice/Preview console pages in the popup router ([ff2935c](ff2935c))
@github-actions

github-actions Bot commented Jun 2, 2026

Copy link
Copy Markdown

🎉 This PR is included in version 1.13.0-dev.2 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

@navidshad navidshad merged commit 2f1d80e into main Jun 2, 2026
@github-actions

github-actions Bot commented Jun 2, 2026

Copy link
Copy Markdown

🎉 This PR is included in version 1.13.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants