Skip to content

Add the Paratext 9 import WebView experience with a first-open offer - #274

Open
jasonleenaylor wants to merge 4 commits into
pt9-parsed-servicefrom
pt9-parsed-webview
Open

Add the Paratext 9 import WebView experience with a first-open offer#274
jasonleenaylor wants to merge 4 commits into
pt9-parsed-servicefrom
pt9-parsed-webview

Conversation

@jasonleenaylor

@jasonleenaylor jasonleenaylor commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

The UI half of the PT9 import, stacked on #273 (converter: #272).

  • The select modal gains the Import from Paratext 9 button, shown only when
    the source serves convertible data (usePt9ImportAvailability probes the
    manifest through the projectInterface).
  • Pt9ImportModal carries the run, its report, and its failures - including
    the too-large refusal, recognized by the RESOURCE_EXHAUSTED platform error
    code with the documented message marker as fallback (pt9-import-error).
  • An import opens read-only: editing affordances stay away, the banner
    carries manual sync and copy-to-editable, and CopyToEditableModal clones an
    import into an editable project through the normal draft-open flow.
  • First-open offer: opening a source that has convertible PT9 data and no
    stored interlinearizer state asks "This project has Paratext 9 interlinear
    data. Would you like to convert it now?" Yes runs the import as the only
    project created; No (or dismissing) persists the empty draft so the offer
    never repeats. Recorded in user-questions.md for outside review.

This change is Reviewable

@coderabbitai

coderabbitai Bot commented Aug 27, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

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 Plus

Run ID: 17539433-279f-484a-ae39-057b3b8baf98

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

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.

jasonleenaylor and others added 2 commits August 27, 2026 16:00
The UI half of the PT9 import. The select modal gains the import
button (shown only when the source serves convertible data, via
usePt9ImportAvailability); Pt9ImportModal carries the run, its report,
and its failures, including the too-large refusal recognized by the
RESOURCE_EXHAUSTED platform error code with the documented message
marker as fallback. An import opens read-only: every editing affordance
stays away, a banner carries sync and copy-to-editable, and
CopyToEditableModal clones an import into an editable project. On the
first open of a source with convertible PT9 data and no stored state,
Pt9ConvertPromptModal offers the conversion up front: Yes runs the
import as the only project created, No (or dismissing) persists the
empty draft so the offer never repeats, per the user-questions entry.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The Loader imports isPt9ImportReport from the converter surface that now
owns it, the frontend-mock helper rides this tree with its users, and
the offer and hasDraft tests use the shared ENOENT fixture.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@jasonleenaylor
jasonleenaylor marked this pull request as ready for review August 27, 2026 23:29
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.

1 participant