feat: add advanced context actions and optional translation
This commit is contained in:
@@ -0,0 +1,149 @@
|
||||
# Future issue proposals
|
||||
|
||||
Drafts for consideration, not filed issues or committed release milestones.
|
||||
Firefox Desktop remains the only target. Suggested order starts with named
|
||||
prompt actions; research tasks can run independently.
|
||||
|
||||
## 1. Add named prompt actions
|
||||
|
||||
**Priority:** High. **Type:** Enhancement.
|
||||
|
||||
The extension currently supports one global prompt template. Let users save
|
||||
several named actions such as Explain, Summarize, Translate, and Rewrite.
|
||||
|
||||
Acceptance criteria:
|
||||
- Create, edit, reorder, and delete actions in settings.
|
||||
- Choose an action from a compact selection context submenu.
|
||||
- Preserve the existing template and shortcut behavior during migration.
|
||||
- Treat templates as text, never executable code; validate limits and handle
|
||||
storage sync quota failures visibly.
|
||||
- Test placeholder substitution with arbitrary selected text.
|
||||
|
||||
## 2. Add link and page context actions
|
||||
|
||||
**Priority:** Medium. **Type:** Enhancement.
|
||||
|
||||
Selection context already exists. Add explicit actions for a clicked link and
|
||||
the current page, initially passing the URL rather than extracting full text.
|
||||
Sending a URL does not guarantee ChatGPT can access or summarize its contents.
|
||||
|
||||
Acceptance criteria:
|
||||
- Clearly identify whether the action shares selected text, a link, or a page URL.
|
||||
- Do not include page metadata automatically in existing selection actions.
|
||||
- Handle restricted pages and unsupported URL schemes gracefully.
|
||||
- Review URLs containing private query data and update privacy documentation
|
||||
for the new data flow before release.
|
||||
- Assess permissions against the existing design spec; full-page extraction
|
||||
is a separate proposal requiring explicit scope and permission review.
|
||||
|
||||
## 3. Add a toolbar quick-launch popup
|
||||
|
||||
**Priority:** Medium. **Type:** Enhancement.
|
||||
|
||||
Provide a prompt field, access to named actions, and a link to settings from
|
||||
the toolbar. Reuse the existing URL builder and open-location preferences.
|
||||
|
||||
Acceptance criteria:
|
||||
- Keyboard-accessible prompt entry and launch action.
|
||||
- Empty input opens a blank chat.
|
||||
- Named actions appear when available; the popup can ship independently.
|
||||
- Works in light/dark themes and a narrow popup.
|
||||
- No automatic page capture; any selection action is explicit.
|
||||
|
||||
## 4. Investigate advanced address-bar commands
|
||||
|
||||
**Priority:** Medium. **Type:** Research, followed by enhancement if viable.
|
||||
|
||||
Investigate an omnibox entry point that reads saved settings and recognizes
|
||||
commands such as `!search` and `!temp`. The current search provider uses a
|
||||
static URL and does not read extension preferences.
|
||||
|
||||
Acceptance criteria:
|
||||
- Verify interaction with the installed engine and its user-customized keyword.
|
||||
- Document any difference between Firefox's search keyword and the extension's
|
||||
manifest-declared omnibox keyword; do not promise runtime keyword editing.
|
||||
- Specify escaping so users can search for literal command text.
|
||||
- Preserve ordinary address-bar searches and open-location behavior.
|
||||
- Keep search/temporary options labeled as hints where not guaranteed.
|
||||
- Defer `!think` until model/effort research establishes a working mechanism;
|
||||
adding “think harder” to a prompt is not an effort-setting implementation.
|
||||
- Do not reintroduce auto-submit; review Appendix B of the existing design spec.
|
||||
|
||||
Reference: [Mozilla omnibox API](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/omnibox).
|
||||
|
||||
## 5. Add settings export and import
|
||||
|
||||
**Priority:** Medium. **Type:** Enhancement.
|
||||
|
||||
Settings already use `browser.storage.sync`. Add portable JSON backup and
|
||||
restore, including named actions if that feature ships.
|
||||
|
||||
Acceptance criteria:
|
||||
- Export a versioned settings document without account or browsing data.
|
||||
- Validate file size, schema, field types, and supported versions before writing.
|
||||
- Preview replacement and require an explicit import action.
|
||||
- Reject invalid input without changing current settings.
|
||||
- Handle old versions, unknown fields, and storage failures predictably.
|
||||
- Do not imply that Firefox-owned engine keywords or shortcuts are backed up.
|
||||
|
||||
## 6. Evaluate Firefox Manifest V3 migration
|
||||
|
||||
**Priority:** Low until a concrete benefit or requirement is identified.
|
||||
**Type:** Research/maintenance.
|
||||
|
||||
Evaluate MV3 separately from user features. The existing options framework,
|
||||
normal launch, temporary-chat hint, and web-search hint do not need to be
|
||||
reimplemented as a bundled milestone. MV3 does not establish model control.
|
||||
|
||||
Acceptance criteria:
|
||||
- Document Firefox-specific benefits, costs, and minimum supported version.
|
||||
- Audit background lifecycle, script injection, permissions, search provider,
|
||||
options, and packaging against Mozilla's migration guide.
|
||||
- If proceeding, preserve settings and verify all existing Firefox workflows.
|
||||
- No Chromium packaging or sibling-repository changes.
|
||||
|
||||
Reference: [Firefox MV3 migration guide](https://extensionworkshop.com/documentation/develop/manifest-v3-migration-guide/).
|
||||
|
||||
## 7. Investigate optional Firefox Containers integration
|
||||
|
||||
**Priority:** Low. **Type:** Research.
|
||||
|
||||
Explore opening ChatGPT in a user-selected existing container for account
|
||||
separation. Keep integration opt-in and justify any additional permissions.
|
||||
|
||||
Acceptance criteria:
|
||||
- Verify the permission requirements for listing containers and opening tabs
|
||||
in them; the contextualIdentities API documents contextualIdentities and
|
||||
cookies permissions.
|
||||
- Review the existing permission design before implementation.
|
||||
- Handle missing/deleted containers, denied permissions, disabled containers,
|
||||
and private browsing without silently switching accounts.
|
||||
- Determine which entry points can honor the preference; do not promise that
|
||||
the static Firefox search provider can use it.
|
||||
- Explain that containers separate sessions; they do not make chats temporary.
|
||||
|
||||
Reference: [Mozilla contextualIdentities API](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/contextualIdentities).
|
||||
|
||||
## 8. Research reliable ChatGPT model and thinking-effort selection
|
||||
|
||||
**Priority:** High interest; blocked on evidence of a reliable mechanism.
|
||||
**Type:** Research, not a promised feature.
|
||||
|
||||
User testing did not achieve the requested behavior using the temporary URL
|
||||
probe with `prompt`, `model=gpt-5-6-thinking`, `hints=search`, and
|
||||
`thinking_effort=extended`. This does not independently establish which fields
|
||||
were ignored. Earlier model URL tests also failed to switch the selected model.
|
||||
|
||||
Acceptance criteria:
|
||||
- Record a reproducible browser test and observable evidence of the actual
|
||||
selected model/effort; a URL parameter or model self-report is insufficient.
|
||||
- Verify identifiers and distinguish URL prefill from conversation POST data.
|
||||
- Prefer a documented integration; document maintenance and permission costs
|
||||
before considering page automation or internal endpoints.
|
||||
- Do not introduce controls claiming success without verified behavior.
|
||||
- Treat a public-API implementation as a separate product decision, including
|
||||
authentication, billing, privacy, and its different user experience.
|
||||
- Remove the temporary URL test UI before release once investigation is done.
|
||||
|
||||
Shared release constraint: preserve user submission in ChatGPT and the current
|
||||
minimal-permission approach unless a separately reviewed change justifies more.
|
||||
Reference in New Issue
Block a user