Skip to main content

Premium usage safeguards — Regression Test

Run this quick pass to confirm the paid-tier safeguard boundaries still work without running the exhaustive desktop manual checklist. It is one linear script: first prove a paid account is not accidentally blocked, then turn on compressed timing to verify the meeting and dictation safeguards.

The shared chat 429/no-paywall edge case is exercised in Step 1b below using the QA Seed usage near limit → Shared chat rate cap lever. The deeper checklist lives in apps/desktop/docs/testing/manual-tests/premium-usage-safeguards-tests.md.

Prerequisites

  • Sign in with a non-restricted account on a non-prod backend where QA Entitlements is enabled.
  • Open Settings → QA → Entitlements (QA).
  • Set Plan to premium.
  • Enable Reset usage counts, click Apply.
  • Set Time compression (safeguards) to Off.

Steps

  1. Confirm the paid account works normally before forcing any cap.
    • Send one Mono chat message; it answers normally.
    • Trigger Ask AI on a note; it answers normally.
    • Start a meeting recording, wait 3-5 seconds, then stop it manually.
    • Start dictation briefly, then release the shortcut.
    • No paywall, restricted modal, rate-limit notice, or safeguard warning appears. 1b. Verify the shared chat rate cap (text-AI safeguard) fires without a paywall.
    • In Settings → QA → Entitlements (QA), under Seed usage near limit, select Shared chat rate cap (paid · 100/5h → 429) and click Set count to limit - 2.
    • Send Mono chat messages until the rate-limit notice appears (2-3 messages).
    • The notice is a rate-limit message, not a paywall/upgrade modal.
    • Enable Reset usage counts, click Apply to clear the seeded state.
  2. Verify compressed meeting timing and stale-job safety.
    • Set Time compression (safeguards) to 600x.
    • Start a meeting recording.
    • Around 7-8 seconds after recording starts, the soft-cap warning appears. (The warning lead is floored so you get ~7s to react even at 600x; it does not auto-end the instant it appears.)
    • Click Postpone +1 min.
    • Immediately set Time compression (safeguards) to Off.
    • Keep the meeting running until at least 40 seconds after it started; the old compressed terminate job does not stop the meeting around 30 seconds.
    • Stop the meeting manually; no paywall appears.
  3. Verify compressed dictation termination.
    • Set Time compression (safeguards) back to 600x.
    • Reset usage counts.
    • Hold the dictation shortcut for 4-5 seconds.
    • Dictation starts, then stops with the dictation limit message.
    • The app does not show a paywall or restricted-account copy.

Cleanup

  • Set Time compression (safeguards) to Off.
  • Reset usage counts.
  • Stop any active recording/dictation.