Skip to content

Remove the obsolete Poe web integration - #1032

Merged
PeterDaveHello merged 1 commit into
ChatGPTBox-dev:masterfrom
PeterDaveHello:remove-poe-web-support
Jul 31, 2026
Merged

Remove the obsolete Poe web integration#1032
PeterDaveHello merged 1 commit into
ChatGPTBox-dev:masterfrom
PeterDaveHello:remove-poe-web-support

Conversation

@PeterDaveHello

@PeterDaveHello PeterDaveHello commented Jul 31, 2026

Copy link
Copy Markdown
Member

Summary

  • Remove the reverse-engineered Poe web client, websocket, GraphQL queries, model presets, session state, and manifest access.
  • Remove Poe-only build and dependency plumbing while retaining the shared OpenAI-compatible API path.

Validation

  • npm ci
  • npm run pretty
  • npm run lint
  • npm test (948 passed)
  • npm run build
  • Verified Chromium and Firefox build artifacts and manifests contain no Poe references.

Summary by CodeRabbit

  • Removed Features
    • Removed Poe Web as an available AI provider.
    • Existing Poe Web models, custom configuration options, and session support are no longer available.
    • Removed Poe Web access permissions and related sign-in, messaging, streaming, and chat functionality.
  • Chores
    • Removed unused Poe Web integration resources and supporting packages.

Remove the reverse-engineered Poe web client, its GraphQL queries, and the associated manifest, model, session, and configuration entries.

The project already routes OpenAI-compatible providers through the shared API implementation, so retaining a separate Poe protocol path only adds stale maintenance and dependencies.
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Caution

The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased.

@coderabbitai

coderabbitai Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

The change removes Poe Web support from provider configuration, session state, runtime services, GraphQL operations, extension permissions, build processing, dependencies, and tests.

Changes

Poe Web provider removal

Layer / File(s) Summary
Remove Poe provider contracts
AGENTS.md, src/config/index.mjs, tests/unit/config/config-predicates.test.mjs
Removes Poe Web listings, model definitions, configuration fields, predicate logic, and related tests.
Remove Poe runtime integration
src/services/apis/poe-web.mjs, src/services/clients/poe/*, src/services/clients/poe/graphql/*, build.mjs, package.json, src/manifest*.json
Deletes Poe API, client, WebSocket, and GraphQL code. Removes related build rules, dependencies, and host permissions.
Remove Poe session state
src/services/init-session.mjs, tests/unit/services/init-session.test.mjs
Removes poe_chatId from session typing, initialization, and test assertions.

Estimated code review effort: 2 (Simple) | ~10 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely summarizes the primary change: removing the obsolete Poe web integration.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

@qodo-code-review

Copy link
Copy Markdown
Contributor

PR Summary by Qodo

Remove obsolete Poe web integration

✨ Enhancement ⚙️ Configuration changes 🧪 Tests 🕐 20-40 Minutes

Grey Divider

AI Description

• Remove Poe (Web) provider implementation, models, and session state fields.
• Drop Poe-specific build plumbing (GraphQL loader) and related npm dependencies.
• Update manifests, docs, and unit tests to remove Poe references.
Diagram

graph TD
  A["Extension runtime"] --> B["Provider config"] --> C["Shared API adapter"] --> D{{"API providers"}}
  B --> E["Poe web client (removed)"] --> F{{"poe.com (removed)"}}
  G["NPM deps"] --> H["Webpack build"] --> A
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Keep Poe behind a feature flag / build target
  • ➕ Reduces disruption for any remaining Poe users
  • ➕ Allows gradual removal after deprecation window
  • ➖ Continues maintenance burden (breakage risk from Poe web changes)
  • ➖ Still requires keeping GraphQL/WS plumbing and dependencies around
2. Extract Poe provider into a separate optional package/plugin
  • ➕ Isolates volatile reverse-engineered code and dependencies
  • ➕ Keeps core extension slimmer while enabling community maintenance
  • ➖ Requires defining a stable provider plugin interface
  • ➖ Adds release/versioning complexity and integration testing overhead

Recommendation: Proceed with full removal as implemented: the Poe web path is reverse-engineered/fragile and duplicates the shared OpenAI-compatible API routing. Consider the plugin extraction only if there is a known active Poe user base that justifies ongoing support without burdening the core build.

Files changed (10) +1 / -123

Refactor (2) +0 / -43
index.mjsRemove Poe web model keys, config defaults, and deprecated predicate +0/-39

Remove Poe web model keys, config defaults, and deprecated predicate

• Deletes Poe web model key lists and model descriptors, removes poeCustomBotName from default config, and drops the deprecated custom-name-only predicate tied to poeAiWebCustom.

src/config/index.mjs

init-session.mjsRemove Poe session field from session initialization +0/-4

Remove Poe session field from session initialization

• Removes the poe_chatId field from the Session type documentation and from the default initialized session object.

src/services/init-session.mjs

Tests (2) +0 / -10
config-predicates.test.mjsRemove unit test for deprecated Poe-only model predicate +0/-7

Remove unit test for deprecated Poe-only model predicate

• Drops imports and assertions for isUsingCustomNameOnlyModel, matching the removal of Poe custom-name-only model handling.

tests/unit/config/config-predicates.test.mjs

init-session.test.mjsRemove Poe session field assertion +0/-3

Remove Poe session field assertion

• Updates the provider-specific null-field test by removing the poe_chatId expectation.

tests/unit/services/init-session.test.mjs

Documentation (1) +1 / -1
AGENTS.mdRemove Poe (Web) from documented supported providers list +1/-1

Remove Poe (Web) from documented supported providers list

• Updates the provider list documentation to drop Poe from the cookie-based web integrations.

AGENTS.md

Other (5) +0 / -69
build.mjsRemove GraphQL loader rule from Webpack build +0/-4

Remove GraphQL loader rule from Webpack build

• Deletes the webpack rule that handled .graphql/.gql files via graphql-tag/loader, aligning the build with Poe removal.

build.mjs

package-lock.jsonPrune Poe-related dependencies from lockfile +0/-59

Prune Poe-related dependencies from lockfile

• Removes graphql, graphql-tag, md5, diff and their transitive packages from the resolved dependency graph.

package-lock.json

package.jsonDrop Poe web client dependencies +0/-4

Drop Poe web client dependencies

• Removes direct dependencies used only by the Poe web integration (diff, graphql, md5) and the graphql-tag dev dependency.

package.json

manifest.jsonRemove poe.com host permissions (MV3) +0/-1

Remove poe.com host permissions (MV3)

• Deletes https://*.poe.com/* from the extension host permissions to ensure the shipped manifest has no Poe access.

src/manifest.json

manifest.v2.jsonRemove poe.com host permissions (MV2) +0/-1

Remove poe.com host permissions (MV2)

• Deletes https://*.poe.com/ from the MV2 permissions list to fully drop Poe site access in legacy builds.

src/manifest.v2.json

@qodo-code-review

Copy link
Copy Markdown
Contributor

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider

Great, no issues found!

Qodo reviewed your code and found no material issues that require review

Grey Divider

To customize comments, go to the Qodo configuration screen, or learn more in the docs.

Qodo Logo

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR removes the obsolete Poe (Web) provider integration from the extension, including its client implementation, model/config surface area, permissions, and build/dependency plumbing, while keeping the shared OpenAI-compatible API paths intact.

Changes:

  • Removed Poe session/config/model wiring and updated unit tests accordingly.
  • Deleted the Poe web client implementation (websocket + GraphQL artifacts) and the Poe Web API adapter.
  • Dropped Poe-related host permissions plus GraphQL build/dependency support that is no longer needed.

Reviewed changes

Copilot reviewed 39 out of 40 changed files in this pull request and generated no comments.

Show a summary per file
File Description
tests/unit/services/init-session.test.mjs Removes the Poe-specific session-field default assertion.
tests/unit/config/config-predicates.test.mjs Drops the Poe-only isUsingCustomNameOnlyModel coverage.
src/services/init-session.mjs Removes the Poe session field and its JSDoc typing.
src/services/clients/poe/websocket.js Deletes Poe websocket streaming client implementation.
src/services/clients/poe/index.mjs Deletes the reverse-engineered Poe web client wrapper.
src/services/clients/poe/graphql/AutoSubscriptionMutation.graphql Deletes Poe GraphQL artifact.
src/services/clients/poe/graphql/AddHumanMessageMutation.graphql Deletes Poe GraphQL artifact.
src/services/clients/poe/graphql/AddMessageBreakMutation.graphql Deletes Poe GraphQL artifact.
src/services/clients/poe/graphql/BioFragment.graphql Deletes Poe GraphQL artifact.
src/services/clients/poe/graphql/ChatAddedSubscription.graphql Deletes Poe GraphQL artifact.
src/services/clients/poe/graphql/ChatFragment.graphql Deletes Poe GraphQL artifact.
src/services/clients/poe/graphql/ChatPaginationQuery.graphql Deletes Poe GraphQL artifact.
src/services/clients/poe/graphql/ChatViewQuery.graphql Deletes Poe GraphQL artifact.
src/services/clients/poe/graphql/DeleteHumanMessagesMutation.graphql Deletes Poe GraphQL artifact.
src/services/clients/poe/graphql/HandleFragment.graphql Deletes Poe GraphQL artifact.
src/services/clients/poe/graphql/LoginWithVerificationCodeMutation.graphql Deletes Poe GraphQL artifact.
src/services/clients/poe/graphql/MessageAddedSubscription.graphql Deletes Poe GraphQL artifact.
src/services/clients/poe/graphql/MessageDeletedSubscription.graphql Deletes Poe GraphQL artifact.
src/services/clients/poe/graphql/MessageFragment.graphql Deletes Poe GraphQL artifact.
src/services/clients/poe/graphql/MessageRemoveVoteMutation.graphql Deletes Poe GraphQL artifact.
src/services/clients/poe/graphql/MessageSetVoteMutation.graphql Deletes Poe GraphQL artifact.
src/services/clients/poe/graphql/SendVerificationCodeForLoginMutation.graphql Deletes Poe GraphQL artifact.
src/services/clients/poe/graphql/ShareMessagesMutation.graphql Deletes Poe GraphQL artifact.
src/services/clients/poe/graphql/SignupWithVerificationCodeMutation.graphql Deletes Poe GraphQL artifact.
src/services/clients/poe/graphql/StaleChatUpdateMutation.graphql Deletes Poe GraphQL artifact.
src/services/clients/poe/graphql/SummarizePlainPostQuery.graphql Deletes Poe GraphQL artifact.
src/services/clients/poe/graphql/SummarizeQuotePostQuery.graphql Deletes Poe GraphQL artifact.
src/services/clients/poe/graphql/SummarizeSharePostQuery.graphql Deletes Poe GraphQL artifact.
src/services/clients/poe/graphql/UserSnippetFragment.graphql Deletes Poe GraphQL artifact.
src/services/clients/poe/graphql/ViewerInfoQuery.graphql Deletes Poe GraphQL artifact.
src/services/clients/poe/graphql/ViewerStateFragment.graphql Deletes Poe GraphQL artifact.
src/services/clients/poe/graphql/ViewerStateUpdatedSubscription.graphql Deletes Poe GraphQL artifact.
src/services/apis/poe-web.mjs Removes Poe Web API entrypoint.
src/manifest.json Removes Poe host permission from MV3 manifest.
src/manifest.v2.json Removes Poe host permission from MV2 manifest.
src/config/index.mjs Removes Poe model keys, model entries, and deprecated predicate/config fields.
build.mjs Removes GraphQL loader plumbing that was only used by Poe artifacts.
package.json Removes Poe-only dependencies (diff, graphql, md5, graphql-tag).
package-lock.json Removes locked Poe-only dependencies and transitive packages.
AGENTS.md Updates provider list to no longer mention Poe (Web).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@PeterDaveHello
PeterDaveHello merged commit 17def7e into ChatGPTBox-dev:master Jul 31, 2026
4 checks passed
@PeterDaveHello
PeterDaveHello deleted the remove-poe-web-support branch July 31, 2026 19:31
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