Codeinwp / Codeinwp/optimole-wp

Add "Disconnect" or "Change API key" option to the disabled account screen

Open
#1,065 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

customer report feature-request-triage
Dominant language
PHP
Stars
72
Forks
14
Avg merge
2d 9h
Merged PRs (30d)
15

Description

Impact: 75 · Confidence: 95 · Complexity: 25

Description

Problem: When an Optimole account is disabled (e.g., due to quota limits), the WordPress plugin gets locked into a disabled state that only prompts the user to upgrade. If a user purchases a subscription under a new account, they have no clear way to enter their new API key because the normal settings are inaccessible and there is no disconnect button on the blocked screen.

Desired Behavior: The "Account Disabled" screen should feature a secondary action, such as a "Disconnect" or "Use a different API key" button/link. Clicking this should clear the current API key and redirect the user back to the initial setup screen.

Acceptance Criteria:

  • The disabled account screen displays a visible "Disconnect" or "Change API key" button.
  • Clicking the button successfully removes the saved API key from the database.
  • The user is seamlessly returned to the default onboarding view where they can input a new API key.

Customer Context

Fiona (a pro-user/managing editor) purchased an annual Optimole subscription but inadvertently created a new account to do so. Her WordPress plugin is still tied to her old disabled account, and the plugin's UI is locked on a disabled message. She is frustrated because she cannot find any way to input her new activation code or disconnect the old account to sync the plugin with her newly paid dashboard.

Root Cause Analysis

The root cause of this issue is that the plugin's UI assumes users will always upgrade their existing connected account when hitting a quota limit and becoming disabled. It fails to account for the real-world flow where a user might create a new account to purchase a subscription. Once locked in the 'disabled' view, the plugin hides normal settings and lacks a manual escape hatch (like a 'Disconnect' button), forcing users into a dead-end UI.

Alternative Suggestions

Improve the existing 'Account Disabled' view by adding a 'Disconnect' or 'Log into a different account' button. This changes the current blocking behavior into a flexible workflow, empowering users to clear their old API credentials and re-authenticate using a different account without needing technical workarounds like reinstalling the plugin or touching the database.

Reasoning

The customer purchased a paid tier by creating a new account (as shown in the forwarded email) rather than upgrading their existing account. The plugin is displaying an 'account disabled' block since it's still synced to the old account. Because the plugin's disabled UI state only provides an upgrade link and hides or omits the ability to disconnect or enter a new API key, the customer is stuck. Providing a way to disconnect or update the API key from this screen will solve the user's issue without requiring them to reinstall the plugin or have support manually intervene.


Source: HelpScout #3320787612
Generated by feature-request-triage workflow (ID: feature-request-triage_6a0459ca6bab28.93408751)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the Account Disabled screen, the code that stores or clears the API key, and the default onboarding view. Trace how the disabled state is rendered and how existing disconnect or setup flows handle credentials. Done means the screen offers the action, the saved key is removed, and the user returns to onboarding to enter a replacement key.

Written by the indexing model from the issue text.

Assessment

Tech stack
php, wordpress
Domain
authentication, database, frontend
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
58/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.