10.Account, Activation & Cloud Sync

wxterm Last Updated: 2026-10-21 10:51 Views: 35

10 Account, Activation & Cloud Sync

This chapter introduces WxTerm’s account system, activation codes and plans, and cross-device cloud sync.

10.1 Account Login

WxTerm provides two login methods, defaulting to one-click login, falling back to account password login on failure.

One-Click Login (Token Login)

One-click login completes authentication via the browser, without entering a password in the app; it is the most convenient way.

Flow

  1. Click the “Login” button on the right of the toolbar, or click “Reactivate” from the activation expired dialog.
  2. WxTerm automatically opens the system browser and navigates to the official website login page.
  3. After completing login in the browser, the page guides you back to WxTerm.
  4. WxTerm automatically obtains the login token and completes activation.

screenshot placeholder - one-click login flow

One-click login requires a default browser to be installed on the system. If the browser does not open automatically, check the system default browser settings.

Account Password Login

When one-click login fails or is unavailable, it falls back to the account password login dialog.

Flow

  1. After one-click login fails, the login dialog appears automatically.
  2. Enter the username and password.
  3. Check “Enable cloud sync” (checked by default).
  4. Click “Login”.

screenshot placeholder - account login dialog

First Login Master Key Setup

On first login with cloud sync enabled, if security questions have not been set, a security Q&A form appears:

Field Description
Recovery password Password used to recover the master key later
Security question 1 Select from a preset question list
Answer 1 Answer to question 1
Security question 2 Select from a preset question list
Answer 2 Answer to question 2
Security question 3 Select from a preset question list
Answer 3 Answer to question 3

After filling in and clicking save, the server generates a master key (masterKey) and returns it to the client for storage. The master key is used to encrypt sensitive data such as session passwords; it is stored only locally and is never uploaded in plaintext.

The masterKey is delivered by the server after signing; the client verifies its integrity before each use to ensure it has not been tampered with.

Login Status

After successful login, the toolbar’s right side shows the username and current plan. Click the username to pop up a dropdown menu:

Menu item Description
Sync settings Open the cloud sync page of the settings dialog
Manual sync sessions Sync sessions immediately
Manual sync settings Sync global settings immediately
Manual sync themes Sync themes immediately
Manual sync keymaps Sync keymap mappings immediately
Logout Log out the current account, downgrade to Free

10.2 Activation Codes and Plans

Activation Codes

An activation code is an authorization credential bound to the account, determining the feature plan and expiration time the user can use.

  • After login, the server automatically verifies the activation code status.
  • The activation code contains: plan type, expiration time, device count limit, and other info.
  • The activation code is digitally signed; its integrity is verified before each use to prevent forgery or tampering.

Plan Types

Plan Positioning See
Free Free version, basic connection features 13 Plan Feature Matrix
Trial Time-limited trial of all Pro features same
Pro Professional version, individual dev/ops same
Ent Enterprise version, team use same
Edu Education version, student/teacher discount same
Dev Developer version same

Activation Expiry Handling

Expired at startup

  • When the app detects at startup that the activation code has expired, an activation expired dialog appears, showing the original plan and expiration date.
  • Available actions:
    • Reactivate: trigger one-click login to reactivate (after renewal, a new activation code is activated).
    • Purchase: open the official website purchase page.
    • Close: downgrade to the Free version and continue using.

screenshot placeholder - activation expired dialog

Revoked at runtime

  • During runtime, the app periodically checks the authorization status.
  • If authorization is detected as invalid (e.g. refund, admin revocation), an authorization revoked dialog appears.
  • Available actions:
    • Reactivate: trigger one-click login.
    • Purchase: open the official website purchase page.
    • Ignore: downgrade to the Free version and continue using.

screenshot placeholder - authorization revoked dialog

After downgrading to the Free version, features exceeding the Free limits are disabled (menu items grayed out), but saved sessions and data are not lost.

10.3 Cloud Sync

Cloud sync keeps sessions, settings, themes, and keymaps consistent across multiple devices.

Sync Content

Data type Content Encryption
Sessions Session config (with encrypted passwords) masterKey encrypts session passwords
Settings Global settings (terminal, connection, keyboard, etc.) masterKey encrypted
Themes Custom themes masterKey encrypted
Keymaps Custom keymap mappings masterKey encrypted

Enable Sync

  1. Log in to the account (check “Enable cloud sync” on first login).
  2. Menu “Options → Settings” → “Cloud Sync” page.
  3. Check the “Enable cloud sync” master toggle.
  4. Check the data types to sync (sessions/settings/themes/keymaps).

screenshot placeholder - cloud sync settings

Cloud sync feature is not available in Free / Trial versions; available in Pro and above.

Sync Timing

Timing Behavior
Startup sync On app startup, automatically checks whether the cloud has updates; pulls and merges if so
Edit session After editing/adding a session and saving, automatically syncs that session to the cloud (per-session sync, not full overwrite)
Auth retry After a successful auth retry, automatically syncs the updated credentials
Manual sync Manually trigger each type of sync via the user menu
Periodic check Periodically checks authorization status and sync status during runtime

Sync Strategy

WxTerm adopts an incremental sync strategy to avoid data loss from full overwrites:

  • Session sync: uploads per session, only uploading sessions that are newer locally than in the cloud. Does not delete cloud sessions because they are missing locally.
  • Settings/themes/keymaps sync: compares timestamps first, only uploading when local is newer than cloud.
  • Timestamps: stored as-is by the server based on the client session’s update time and creation time.

Decryption Failure Handling

When a cloud session’s encrypted password cannot be decrypted with the local masterKey (common when changing devices or when the masterKey is inconsistent):

  1. Clear that session’s local password (keeping the rest of the session info).
  2. Upload the password-cleared session to the cloud.
  3. List all sessions that failed to decrypt in the sync result dialog.

screenshot placeholder - sync result dialog

Users can manually re-enter the passwords for these sessions later.

10.4 Master Key Recovery

If you forget the recovery password or the masterKey is lost, you can recover it via security questions.

Recovery Flow

  1. Click “Forgot recovery password” in the login dialog.
  2. In the recovery form, enter the recovery password.
  3. After the server verifies the recovery password, it returns the masterKey.
  4. The client saves the masterKey, restoring decryption capability.

screenshot placeholder - master key recovery

MasterKey Inconsistency Handling

When a manual sync detects that the local and cloud masterKeys are inconsistent, a master key recovery dialog appears:

  • Security: the cloud does not store your masterKey in plaintext; your masterKey is encrypted with your recovery password and stored.
  • Recover: obtain the cloud masterKey via the recovery password to overwrite the local one.
  • Cancel: keep the local masterKey, only sync data that does not involve passwords.

10.5 First Cloud Sync Prompt

On first login with cloud sync enabled, if the cloud already has data while the local is empty (e.g. first use on a new device), a cloud sync prompt dialog appears, asking whether to pull data from the cloud.

screenshot placeholder - first cloud sync prompt

Selecting “Yes” downloads sessions/settings etc. from the cloud and merges them locally; selecting “No” keeps the local empty state, and you can manually sync later.

10.6 Auto Update

WxTerm supports in-app checking and downloading of updates.

Check for Updates

  • Menu “Help → Check for Updates”.
  • If there is a new version, an update dialog appears showing the version number and update content.
  • You can choose to download the update immediately or be reminded later.

Check update dialog

Auto update feature is available in all plans.

← Previous Article 11.Settings Next Article → 09.Personalization

Comments

No comments yet