Skip to content

(just for running checks)#159

Closed
imnasnainaec wants to merge 8 commits into
mainfrom
e2e2
Closed

(just for running checks)#159
imnasnainaec wants to merge 8 commits into
mainfrom
e2e2

Conversation

@imnasnainaec

@imnasnainaec imnasnainaec commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

This change is Reviewable

alex-rawlings-yyc and others added 8 commits July 9, 2026 10:01
Exclude the "Open Interlinearizer" project-picker tab from the four
broad
.dock-tab matches (ensureInterlinearizerOpenOnWeb, isDraftDirty,
closeInterlinearizerTab, rescueDraftToNewProject) so they target the
real
WebView tab. Also anchor the active-project check in
ensureE2eProjectActive
to match E2E_PROJECT_NAME exactly instead of via unanchored includes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The e2e feature helpers couldn't reliably pass on the shared CDP
instance:
- ensureE2eProjectActive matched the project entry by the button's
  accessible
  name, but the modal renders name/badge/language spans with no
  separating
  whitespace, so the anchored regex never matched — every mutating test
  fell
  into the create branch and re-created an existing project. Match the
  name
  element by exact text instead (also fixes the "E2E Test Project 2"
  overmatch).
- The create branch hung on a dirty draft (Create defers behind the
  discard
  confirm); dismiss it when dirty.
- closeInterlinearizerTab used hover()+click(), which times out when the
  tab
  overflows off-viewport on CI; use dispatchEvent('click') like
  paranext-core.
- ensureInterlinearizerOpenOnWeb settles the dock before its isVisible()
  branch.
- Extract interlinearizerTabLocator/escapeRegExp helpers.

The tab's unsaved marker used dirty||pendingEdits but ProjectModals
gated its
discard confirmation on committed dirty only, so opening/creating a
project
mid-typing silently discarded the uncommitted gloss. Rename the prop to
hasUnsavedWork and feed it the combined state so the guard and marker
agree.

Document the broadened discard-on-swap behavior in user-questions.md.
globalSetup now launches and tears down its own Platform.Bible instance
(reusing a warm start:cdp when the CDP port is in use), and .or() tab
waits get .first() so a docked Interlinearizer + WEB tab no longer trip
Playwright strict mode.
Kill the CDP app's whole process tree (taskkill /T /F on Windows, POSIX
process-group SIGKILL elsewhere) so no orphans hold port 8876, and
stream
the launched app's output to a log instead of discarding it, so a
startup
crash shows its cause rather than an opaque WebSocket-port timeout.
@coderabbitai

coderabbitai Bot commented Jul 10, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 2ecadbb9-cb77-4f6b-8177-63340f791ecb

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch e2e2

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.

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