Skip to content

Add a Storage page and Clean up - #1

Merged
zakijss merged 2 commits into
mainfrom
storage
Nov 2, 2026
Merged

zakijss merged 2 commits into
mainfrom
storage

Conversation

@zakijss

@zakijss zakijss commented Nov 2, 2026 •

Copy link
Copy Markdown
Owner

MiniTop 1.1.0: "Tasks and maintenance".

  • Storage (R1 from Startup): free/used space, folders largest first, delete a file or folder after asking. Refuses the card's top level, Onion's folders, whole app folders, MiniKey, MiniTop and key/secret files.

  • Clean up (X on Storage): MiniMart downloads, MiniTape songs, game list caches, logs, macOS leftovers, empty folders; every path listed before anything goes, and checked again before it's deleted.

  • Requires MiniDeck 1.0.1.

  • Kept measurement (Storage opens at once) and Duplicates (Y on Storage), commit 2a412ec.

Tested: unit tests incl. delete rules, clean-up lists, cancel, race; 50,000-file stress (1.4 s under ARM qemu, 0.8 MB). On the Miyoo: measured the real 100 GB card, free space matches df, folder and clean-up screens checked, 19 MB RSS.

zakijss and others added 2 commits November 2, 2026 12:02
Storage (R1 from Startup) shows the card's free and used space and its
folders largest first, measured in the background (the result is kept
for the session; on a 100 GB card it takes about a minute). A opens a
folder; X deletes a file or folder after asking. Nothing off the card or
on its top level, nothing in .tmp_update, miyoo or miyoo354, no whole app
folder (MiniMart removes apps with their boot scripts), nothing in MiniKey
or MiniTop, and no key, .pem or .enc file, also inside a folder.

Clean up (X on Storage) lists MiniMart's downloads, MiniTape's songs,
game list caches, logs (RetroArch's, .tmp_update/logs, app logs over
1 MB), macOS leftovers and empty folders, each path in full before
anything is deleted; every path is checked again just before deleting.

Tests cover the delete rules, each clean-up's list, cancelling and the
background measurer under -race; a 50,000-file stress run measures in
1.4 s under ARM qemu. On the device: 19.23 GB free matches df, 19 MB RSS.

Requires MiniDeck 1.0.1.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XNFhx3fuFPdPMoCFatrpkM
Storage shows the measurement kept from the last session at once (the
folder tree only, in storage.json, with its age) while the card is
measured again; Clean up uses only a measurement from this session.
On the device the 100 GB card's tree is a 94 KB file.

Duplicates (Y on Storage) groups ROMs under Roms by size, then by their
first and last 64 KB, and confirms with a full SHA-1, so most files are
never read. Ports, ScummVM, Imgs and .bin tracks are skipped; a file that
a .cue, .m3u, .gdi or .ccd in its folder names is marked in use and can't
be deleted alone, nor can the last copy. Deleting one clears that
system's Onion list cache. A 20,000-file stress test with 2,000
same-size near-misses runs in about 1 s; on the device the real card
took under a minute and found two FDS games stored three and two times.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XNFhx3fuFPdPMoCFatrpkM
@zakijss
zakijss merged commit 17481e2 into main Nov 2, 2026
1 check passed
@zakijss
zakijss deleted the storage branch November 2, 2026 17:54
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