Commit Graph
1827 Commits
Author SHA1 Message Date
Abdessamad Derraz 45d611332a feat: hold a bump when cited files gained names
Refs that still anchor say nothing of what the code added around them:
mame2003_plus's zn.c gained two Taito G-NET BIOS sets while its cited
lines only shifted. --rebase-refs and --bump-commit now refuse a profile
whose cited files gained a file name or a hash literal since the pin, or
could not be read, until --accept-changed says the additions were read.
With this, --all --rebase-refs --fresh is safe to run as is.
2026-10-26 21:55:23 +01:00
Abdessamad Derraz 32633c4e5c fix: let any refusal confirm a declared dead forge
citron's taken domain now resolves to an unrelated host that fails TLS,
so the pass reported an upstream error where the profile already states
the forge is gone. Any forge error now agrees with upstream_gone; a rate
limit still does not.
2026-10-26 21:53:47 +01:00
Abdessamad Derraz 738c0e7ca2 chore: merge main into the p3 fixes 2026-10-26 21:41:34 +01:00
Abdessamad Derraz 561a51480b fix: start the console switch away from its target
The console switch tests put tty2 in front and switched to the pty the test was given. When that pty was /dev/pts/2 the launcher found itself in front already, and the refused-switch case returned 0.
2026-10-26 21:26:53 +01:00
Abdessamad Derraz da573fc6f3 chore: merge main into the p3 fixes 2026-10-26 21:19:43 +01:00
Abdessamad Derraz ad60a88deb fix: open the copy browser at a zip in downloads 2026-10-26 21:19:26 +01:00
Abdessamad Derraz ae3faec86b fix: help names only keys the route sends 2026-10-26 21:18:30 +01:00
Abdessamad Derraz f4bc8878d9 chore: merge the app on the card 2026-10-26 21:14:51 +01:00
Abdessamad Derraz fad5b10665 feat: ship the muos glyph the app header names 2026-10-26 21:14:24 +01:00
Abdessamad Derraz 9181b77426 fix: put back only the font a firmware restores 2026-10-26 21:11:47 +01:00
Abdessamad Derraz e537a031d0 fix: name missing game data apart from firmware 2026-10-26 21:11:02 +01:00
Abdessamad Derraz 381ec6de69 fix: say why the plan's numbers differ 2026-10-26 21:09:53 +01:00
Abdessamad Derraz 7e96e12a4f fix: say nothing was found on the first screen 2026-10-26 21:08:55 +01:00
Abdessamad Derraz 42304f6df8 fix: a dry run asks no install, counts systems 2026-10-26 21:07:41 +01:00
Abdessamad Derraz fa3651d14d feat: refresh source paths after a profile write
Each pin advance left website/src/data/source-paths.json behind and the
site's freshness test red until sitesources.py --fetch ran by hand.
profile_sync now rebuilds it after any run that wrote a profile, online
and not in a dry run.
2026-10-26 21:07:08 +01:00
Abdessamad Derraz 78c6821069 fix: say why confirm shows, and whose backup 2026-10-26 21:03:27 +01:00
Abdessamad Derraz a37e99a434 fix: hold the idle quit code in the screen tests 2026-10-26 21:03:27 +01:00
Abdessamad Derraz 9002c67eb6 chore: merge main 2026-10-26 21:01:54 +01:00
Abdessamad Derraz b24fc06e51 feat: download button on every file card
The Apple II page named its start files with no visible way to get one: the download sat after the collection path, fourth of a card's facts. Each card now carries a Download button in its title, each start-line name links to its card, and a card held on another part page is reached by its permanent link.
2026-10-26 21:01:49 +01:00
Abdessamad Derraz f3c816eea5 feat: put the retrobios app on a handheld card
--add-app, the result screen and a [y/N] question put the launcher of
muOS, KNULLI or ROCKNIX on the card the BIOS folder is on. The files come
from install/launchers/index.json at the same ref, each checked by size
and SHA-256 before the first is written, and the app event reports it.
2026-10-26 21:01:45 +01:00
Abdessamad Derraz 7b49e3bbed chore: merge main into the p3 fixes 2026-10-26 21:01:32 +01:00
Abdessamad Derraz 536081ffb1 fix: name the folder whose files could not be read 2026-10-24 04:09:01 +02:00
Abdessamad Derraz 0c77ef074e feat: add --fresh and name why a keyed pin waits
Branch tips, tags and releases are cached for six hours, and the
EKA2L1, trzy/Supermodel and VICE heads read as behind their real HEAD.
--fresh asks the forges again, and is refused with --offline.

A recale on a profile whose pins are keyed by build mode said the prose
had to move first. It now says the pins are set by hand.
2026-10-24 04:08:59 +02:00
Abdessamad Derraz c3978ec467 fix: count the tries a stalled list server gets 2026-10-24 04:08:28 +02:00
Abdessamad Derraz 831e187f84 fix: close idle before an install as a quit 2026-10-24 04:08:23 +02:00
Abdessamad Derraz 46f00f0110 fix: no second file count on the checking screen 2026-10-24 04:03:46 +02:00
Abdessamad Derraz 6a3471378e fix: one spelling of shared files per system
The focused system's size is spelled out below the list when its name
leaves no room for it. The browser's system folder test is renamed
_os_folder: _system_folder already names the --from refusal.
2026-10-24 04:02:57 +02:00
Abdessamad Derraz 3797b482d2 feat: set the save folder from the options 2026-10-24 03:59:21 +02:00
Abdessamad Derraz d24adf9592 fix: ask no standalone list in an offline run 2026-10-24 03:57:33 +02:00
Abdessamad Derraz 2d9db59c73 fix: let A pass over system and recycle folders 2026-10-24 03:56:53 +02:00
Abdessamad Derraz 3bb2506578 fix: say which folder the folder screen offers 2026-10-24 03:56:06 +02:00
Abdessamad Derraz 30b516fe5a fix: read the refusal wording from _install 2026-10-24 03:54:13 +02:00
Abdessamad Derraz d43e583201 fix: name the cfg behind a closed detected folder 2026-10-24 03:53:59 +02:00
Abdessamad Derraz 378487eca8 fix: tell a default set aside from none at all 2026-10-24 03:53:10 +02:00
Abdessamad Derraz 44093ba20a fix: no unsearched event from a quiet config read 2026-10-24 03:51:35 +02:00
Abdessamad Derraz 78de625294 fix: name the closed folder behind a link 2026-10-24 03:51:02 +02:00
Abdessamad Derraz fbe5ba4e3e docs: say the installer opens a full screen
The README, the installer steps, the choice of what to install and platform detection still described the line prompts as what a terminal shows. They now name the full-screen interface first, with --plain for the questions, and say that no default folder is taken where detection was refused.
2026-10-24 03:49:10 +02:00
Abdessamad Derraz 38190f009b chore: check aethersx2 command per setup 2026-10-24 03:05:12 +02:00
Abdessamad Derraz 153ba479f6 fix: assume no default where detection was refused
The Flatpak RetroArch's folder at 000 hid the retroarch.cfg naming ~/Games/bios, and the run offered 6.6 GB to ~/.config/retroarch/system. A closed folder under HOME or above the default now leaves no default: --dest is asked for. Python 3.14's quiet Path.exists() refusals are told from absence by os.stat, and an assumed folder reads as the one a frontend usually reads.
2026-10-24 02:58:32 +02:00
Abdessamad Derraz 866cfff4ac chore: follow the any-bios test to the data folder 2026-10-24 02:49:23 +02:00
Abdessamad Derraz 265114d1db chore: test the round 5 emulator pages 2026-10-24 02:49:23 +02:00
Abdessamad Derraz 1c3db5b4d8 fix: print each app's data folder per system 2026-10-24 02:49:23 +02:00
Abdessamad Derraz a7558a5d4d chore: merge doubled destinations in exports 2026-10-24 02:42:33 +02:00
Abdessamad Derraz 2ee777824a feat: name doubled destinations in exports
A platform list that declares one path for two files fails one of the
two checks on every install. The export report lists each declaration
with its hash and the emulators whose profile reads that file.
2026-10-24 02:42:04 +02:00
Abdessamad Derraz 973394717c fix: place core extras by one destination rule
The collector deduplicated a destination already carrying the extras
prefix at prefix/prefix/name while the builder wrote it at prefix/name.
DuckStation's standalone bios/<name> on Recalbox and PCSX2's scan then
held one path under two keys, and --region withdrew only one. The
second pass also no longer claims a path another core's extra holds
for a name only that extra covers.
2026-10-24 02:31:48 +02:00
Abdessamad Derraz ff7db8b5fd chore: merge the per-probe detection guard 2026-10-24 02:25:44 +02:00
Abdessamad Derraz d2ba7e18ba fix: search past a folder this user cannot open
One closed folder under HOME (~/.config/EmuDeck at 000) made the whole
detection return nothing: a RetroArch whose retroarch.cfg was readable
was lost and the run fell back to a folder it does not read. Every
detection probe now goes through _exists, _is_dir or _is_file, which
count a refused place as absent, name the closed folder once, and let
the other probes go on. The decorator stays as the last net.

The refusal is an unsearched event before detect. The interface keeps
the line above the list of setups. At HOME or a drive root A goes into
a visible subfolder, never a card or drive row nor .cache, and with
none it stays on Use this folder and says where it is. A default folder
taken because the platform was not found is no longer called detected.
2026-10-24 02:23:57 +02:00
Abdessamad Derraz fa7977d2c3 fix: ask again for a tip older than the pin
A branch tip is cached for six hours. scummvm-standalone was pinned on
6f7b060d while the cache still held 77d80d7, its ancestor, so profile_sync
showed a HEAD behind the pin and a bump would have moved it backwards. A
tip that is a strict ancestor of the pin is now asked for again.
2026-10-24 02:00:21 +02:00
Abdessamad Derraz c1586c7744 fix: expect duckstation's rocknix core name 2026-10-24 01:47:31 +02:00
Abdessamad Derraz fd33ad0d96 fix: let A go deeper from home or a drive root
With no usual folder the browser opened at HOME on Use this folder, and A pressed through the screens installed the BIOS files into ~. At HOME or a drive's root A now opens the first folder. Picking the old card to copy from is unchanged.
2026-10-24 01:38:31 +02:00