feat: add advanced context actions and optional translation

This commit is contained in:
golem
2026-10-05 15:38:16 -06:00
parent 33c4dad00f
commit 5308932bf1
34 changed files with 1579 additions and 159 deletions
+149
View File
@@ -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.