Skip to content

feat: handle cloud drives, and fix light mode glass - #9

Merged
vamgan merged 2 commits into
mainfrom
feat/cloud-drives
Aug 25, 2026
Merged

vamgan merged 2 commits into
mainfrom
feat/cloud-drives

Conversation

@vamgan

@vamgan vamgan commented Aug 25, 2026

Copy link
Copy Markdown
Owner

Cloud drives

You picked cloud drive cleanup as the next category. After the consolidation, though, a cloud drive is a folder, so a separate skill would bring back exactly the arbitrariness we just removed. The genuinely new thing is not the location, it is conflicted copies — the one kind of clutter that only exists in synced folders.

Two devices edit the same file offline, the client keeps both, names the loser Budget (Sarah's conflicted copy 2025-11-03).xlsx, and nobody ever resolves it.

scan_tree.py now:

  • recognises the naming Dropbox, OneDrive, and Nextcloud each use
  • pairs every copy with the original it competes with
  • reports whether the two are byte-for-byte identical

That last flag is the whole point:

same_content What it means What the skill may do
true The conflict was spurious Propose removing in bulk
false One copy holds work that exists nowhere else Show the pair, never resolve unattended
original: null The file it competed with is gone Leave it, suggest renaming

It also detects placeholders — the stubs a client leaves when it evicts a file. Moving or trashing one destroys the content, so the skill stops before touching anything.

Verified end to end on a realistic Dropbox folder: 1 placeholder flagged and halted on, 1 identical copy marked safe, 1 differing copy routed to the user.

18 new tests, including that a plain (1) is not called a conflict, because content comparison should decide that rather than a filename guess.

Light mode glass

Reported as "glass not coming up, buttons hard to read". Two separate faults:

  1. The reduced-transparency fallback never grew with the page. It was written for four glass surfaces; eight were uncovered — nav shell, brand pill, announcement, tabs, GitHub button, install cards, and the rotator's cards and rows. With blur stripped they kept a translucent white background, which on a light page is no background at all. Reproduced by forcing the query on, fixed, and re-verified.
  2. The glass border was white at 85%, invisible against a near-white page, so surfaces only read where the ambient gradient was strong. It is a cool hairline now, with the white inner highlight kept for the lit-glass effect.

Contrast rechecked against the new composite: 15.6, 6.5, 6.4 to one.

127 tests green.

vamgan added 2 commits August 25, 2026 00:45
Two separate faults, both worst in light mode.

The reduced-transparency fallback was written when the page had four
glass surfaces and never grew with it. Eight were left uncovered: the
navigation shell, the brand pill, the announcement, the tabs, the GitHub
button, the install cards, and the rotator's own cards and rows. With the
blur stripped, each kept a translucent white background, which on a light
page is no background at all. Anyone running the accessibility setting
saw navigation and buttons floating with no edges. Every glass surface
now has a solid stand-in, verified by forcing the query on.

Separately, the glass border was white at 85 percent, which is invisible
against a near-white page, so the surfaces only read where the ambient
gradient happened to be strong. The border is a cool hairline now and the
white inner highlight above it still reads as lit glass. Fill went from
46 to 55 percent for a little more body, and the drop shadow was softened
to match.

Contrast rechecked against the new composite: 15.6, 6.5 and 6.4 to one.
Conflicted copies are the one kind of clutter that only exists in synced
folders, and nothing else here addressed them. Two devices edit the same
file offline, the client keeps both, names the loser something like
"Budget (Sarah's conflicted copy 2025-11-03).xlsx", and nobody ever goes
back to resolve it.

scan_tree now recognises the naming each client uses, pairs every copy
with the original it competes with, and reports whether the two are
byte-for-byte identical. That flag is the whole point: an identical copy
is spurious and safe to remove in bulk, while a differing one holds work
that exists nowhere else and must never be resolved unattended.

It also detects placeholders, the stubs a client leaves when it evicts a
file it thinks you are not using. Moving or trashing one destroys the
content, so the skill stops before touching anything else.

This is a capability of organizing-folders rather than a new skill. A
cloud drive is a folder, and adding a fourth skill for a location would
bring back exactly the arbitrariness that consolidating them removed.

Eighteen tests cover the naming patterns of Dropbox, OneDrive, and
Nextcloud, the pairing, the identical flag, and the refusal to call a
plain "(1)" copy a conflict when content comparison should decide it.
@vamgan
vamgan merged commit 298da30 into main Aug 25, 2026
7 checks passed
@vamgan
vamgan deleted the feat/cloud-drives branch August 25, 2026 14:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant