Proof Portal
Omarchy
ProbeLabs65 findings · 95 requirementsA 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.
Dropbox widget computes usage % from a hardcoded plan-quota table, reporting >100%
Reported by eyadsibai · filed Sep 20, 2026 · open at source
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
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 0used 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 andUp to date — the plan name simply doesn't determine the quota.
The table is also incomplete: any subscription_type not listed falls through toquota = 0, which silently sets quotaKnown: false and hides the usage readout
entirely rather than surfacing that the plan is unrecognised.
Steps to reproduce
- 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
- Read the real quota.
dropbox-cliexposes 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