Proof Portal

Project overview

Omarchy

ProbeLabs65 findings · 95 requirements

A proof layer — requirements, tests and verified fixes — for two of Omarchy's subsystems: the application menu (launcher scripts, QML model, JSONC config, search and selection) and the lock screen (lock scripts, QML, PAM authentication). Scope is deliberately limited to those components of omacom/omarchy; the rest of the distribution is not covered.

Inbox
ReportR-271GitHub issuePublicDecided· Out of scope

Dropbox widget computes usage % from a hardcoded plan-quota table, reporting >100%

Reported by eyadsibai · filed Sep 20, 2026 · open at source

Decided: Out of scope — decided by agents · verified 3 days ago.

At a glance

1 · What is claimed?
Only the report text below — no validator has restated it as checkable claims yet.
2 · What does it affect?
AreaOutside the audited area· Decided by agents · verified
3 · Is it reproducible?
No validation has been run yet.
4 · What remains unclear?
  • Not validated yet: no claims, no reproducer.
5 · What happens next?
Decided by agents and verified by a second, independent agent — see the decision.

Original report

Dropbox widget computes usage % from a hardcoded plan-quota table, reporting >100%revision 1 · captured 2026-09-28 21:23 UTC via poll

What happened

The Dropbox panel shows impossible usage figures — mine reads 1172% and
"23.44 GB of 2 GB".

The cause is that status.py never asks Dropbox for the account's real quota. It infers
it from a hardcoded lookup table keyed on subscription_type:

# shell/plugins/panels/dropbox/status.py:10-16
PLAN_QUOTAS = {
  "basic": 2_000_000_000,
  "plus": 2_000_000_000_000,
  "pro": 3_000_000_000_000,
  "professional": 3_000_000_000_000,
  "essentials": 3_000_000_000_000,
}
# status.py:95-96
plan = account.get("subscription_type") ...
quota = PLAN_QUOTAS.get(plan.lower(), 0)

# status.py:109
usage_percent = (used / quota * 100) if quota > 0 else 0

used is measured accurately — scan_dropbox() walks the folder and sums real file
sizes. quota is a guess. So the percentage is real bytes divided by an assumed limit.

Why the table can't be right

~/.dropbox/info.json reports "subscription_type": "Basic", but a Basic account's
actual quota is not fixed at 2 GB. Referral bonuses, promotions, legacy grandfathered
space and device/camera-upload bonuses all raise it, and Dropbox has changed the Basic
baseline over the years. My account reports Basic and holds 23.4 GB synced and
Up to date — the plan name simply doesn't determine the quota.

The table is also incomplete: any subscription_type not listed falls through to
quota = 0, which silently sets quotaKnown: false and hides the usage readout
entirely rather than surfacing that the plan is unrecognised.

Steps to reproduce

  1. Use a Dropbox account whose real quota differs from the table's guess for its plan

name (any Basic account with bonus space)
2. Sync more than the assumed quota
3. Open the Dropbox widget panel

Observed: usagePercent above 100, and an "X of 2 GB" line contradicted by the
folder actually being up to date.

Actual output here

{
  "authenticated": true,
  "statusText": "Up to date",
  "plan": "Basic",
  "usedBytes": 23441737414,
  "quotaBytes": 2000000000,
  "usagePercent": 1172.0868707,
  "quotaKnown": true
}

Expected

Either report the account's real quota, or don't report a quota at all.

Suggested fixes

  1. Read the real quota. dropbox-cli exposes account info over the daemon's

command socket; if a quota field is reachable there, use it and drop the table.
2. Failing that, show usage without a denominator. Model.usageText()
(Model.js:106-111) already handles this — it renders just formatBytes(usedBytes)
when quotaKnown is false. Setting quotaKnown: false unconditionally would be
strictly more honest than the current guess.
3. At minimum, clamp. Don't render a percentage above 100 from an assumed
denominator; that figure is guaranteed wrong rather than merely imprecise.

I'd lean toward (2) as the immediate fix — it removes the wrong number without needing
new plumbing, and (1) can land later.

System

  • Omarchy: omarchy-dev 4.0.0.r1832.g23dab9e-1
  • Kernel: 7.2.6-arch2-1, Hyprland 0.56.2
  • CPU/GPU: AMD Ryzen 9 8945HS w/ Radeon 780M
  • dropbox 270.4.3312-1, dropbox-cli 2026.05.06-1
View raw text
## What happened

The Dropbox panel shows impossible usage figures — mine reads **1172%** and
"23.44 GB of 2 GB".

The cause is that `status.py` never asks Dropbox for the account's real quota. It infers
it from a hardcoded lookup table keyed on `subscription_type`:

```python
# shell/plugins/panels/dropbox/status.py:10-16
PLAN_QUOTAS = {
  "basic": 2_000_000_000,
  "plus": 2_000_000_000_000,
  "pro": 3_000_000_000_000,
  "professional": 3_000_000_000_000,
  "essentials": 3_000_000_000_000,
}
```

```python
# status.py:95-96
plan = account.get("subscription_type") ...
quota = PLAN_QUOTAS.get(plan.lower(), 0)

# status.py:109
usage_percent = (used / quota * 100) if quota > 0 else 0
```

`used` is measured accurately — `scan_dropbox()` walks the folder and sums real file
sizes. `quota` is a guess. So the percentage is real bytes divided by an assumed limit.

## Why the table can't be right

`~/.dropbox/info.json` reports `"subscription_type": "Basic"`, but a Basic account's
actual quota is not fixed at 2 GB. Referral bonuses, promotions, legacy grandfathered
space and device/camera-upload bonuses all raise it, and Dropbox has changed the Basic
baseline over the years. My account reports Basic and holds 23.4 GB synced and
`Up to date` — the plan name simply doesn't determine the quota.

The table is also incomplete: any `subscription_type` not listed falls through to
`quota = 0`, which silently sets `quotaKnown: false` and hides the usage readout
entirely rather than surfacing that the plan is unrecognised.

## Steps to reproduce

1. Use a Dropbox account whose real quota differs from the table's guess for its plan
   name (any Basic account with bonus space)
2. Sync more than the assumed quota
3. Open the Dropbox widget panel

Observed: `usagePercent` above 100, and an "X of 2 GB" line contradicted by the
folder actually being up to date.

## Actual output here

```json
{
  "authenticated": true,
  "statusText": "Up to date",
  "plan": "Basic",
  "usedBytes": 23441737414,
  "quotaBytes": 2000000000,
  "usagePercent": 1172.0868707,
  "quotaKnown": true
}
```

## Expected

Either report the account's real quota, or don't report a quota at all.

## Suggested fixes

1. **Read the real quota.** `dropbox-cli` exposes account info over the daemon's
   command socket; if a quota field is reachable there, use it and drop the table.
2. **Failing that, show usage without a denominator.** `Model.usageText()`
   (`Model.js:106-111`) already handles this — it renders just `formatBytes(usedBytes)`
   when `quotaKnown` is false. Setting `quotaKnown: false` unconditionally would be
   strictly more honest than the current guess.
3. **At minimum, clamp.** Don't render a percentage above 100 from an assumed
   denominator; that figure is guaranteed wrong rather than merely imprecise.

I'd lean toward (2) as the immediate fix — it removes the wrong number without needing
new plumbing, and (1) can land later.

## System

- Omarchy: `omarchy-dev 4.0.0.r1832.g23dab9e-1`
- Kernel: 7.2.6-arch2-1, Hyprland 0.56.2
- CPU/GPU: AMD Ryzen 9 8945HS w/ Radeon 780M
- `dropbox 270.4.3312-1`, `dropbox-cli 2026.05.06-1`

Validation

Not checked yet. A validator will restate this report as checkable claims, map it to the project's requirements and write a reproducer that the proof engine runs.

Linked

Not linked to any known issue, other report or change yet.

Decision

Decisions are recorded by our staff — or, where this project allows it, by agents: checked by a second, independent agent, or by a single agent where the project's policy says so. Any decision reached so far is shown below.

  • Out of scopeDecided by agents · verified · 2026-10-09 16:40 UTC