Conversation
refactor: modularize prompt flows and remove legacy support paths
Add shared light and dark theme tokens plus persisted system/light/dark selection for the options page. Apply the resolved theme to the content popup and toast surfaces so ChatGPT and Gemini integrations follow the same preference.
Record-level conflict responses now always carry currentRecord, so parsers and UI callers cannot accept ambiguous conflict shapes. Literal runtime contract fixtures cover required keys, omitted fields, and incompatible conflict payloads.
Cover trusted IME evidence, adapter-only selection branches, Gemini clipboard edits, scroll reposition behavior, and popup UI assertions without relying on private DOM reuse markers.
Run production dist smoke separately from test-mode live coverage. The live flow now proves prefix order and trigger cleanup, while the production smoke verifies insertion still remains after popup dismissal.
Use the loaded extension manifest version for exported files, preserve settings when malformed runtime messages are rejected, and replace implementation-coupled reorder failure coverage with behavior-focused conflict and error paths.
Describe focused browser-spec setup, production live smoke, literal runtime contract coverage, adapter-level branch coverage, and the remaining manual live-site limitations.
Include existing dark-mode options and popup screenshots as reference artifacts separate from source and test logic changes.
Protect dirty drafts during backup restore and external prompt replacement. Avoid stale conflict-body synthesis and only fast-sync active metadata conflicts when preserved form fields are not stale. Keep pin success feedback owned by reducer notices.
Treat trigger cleanup as non-blocking after the clipboard write succeeds so copy success remains visible and the popup closes.
refactor: modularize prompt flows and strengthen test coverage
Reject restore and import files before parsing oversized inputs, and enforce portability prompt-count limits at the runtime boundary. Keep export response parsing compatible with existing stored data.
Surface prompt revision publish failures through mutation responses so options and content can warn without rolling back committed writes. Report backup/share rollback failures with distinct codes, reject over-UI-cap files before parsing, and keep copy success visible when trigger cleanup fails.
Reset the cached open promise when an upgrade is blocked so later calls can start a fresh IndexedDB open attempt.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
1.0.0package.jsonand extension manifest versiondist/build for the v1.0.0 GitHub release artifactValidation
pnpm test: passedpnpm test:e2e:live: passedpnpm test:e2e:live:prod: passeddist/live insert smoke: 2 passedpnpm check:test-browsers: passedRelease Notes
/triggerPackaging
promptit.zipwill be created from the contents of the productiondist/directory.manifest.jsondirectly.