Commit Graph
1843 Commits
Author SHA1 Message Date
Abdessamad Derraz 9b2cddfbe5 fix: structured data names releases, not pins
The home page is the site: named RetroBIOS, part of nothing. A source repository states the core_version of its build when it names a release, never a commit id or a pin, and no placeholder description.
2026-10-27 05:40:03 +01:00
Abdessamad Derraz 15f7c72077 feat: setup tab, letter crumbs, console words
get/ pages join the tab of the setup pages of the same name, so no page is excluded from every tab and the tabs keep their names. Groups filing emulators by first letter are no crumb. A console page carries "<name> BIOS" in its terms field. The search gate runs the console, checker, schema, license and iOS queries.
2026-10-27 05:39:59 +01:00
Abdessamad Derraz 951bd070bf feat: advance profiles that cite no source
_needs_review held every skipped report, so a profile with no source_ref
never moved: anarch sat behind a CI-only commit through every bulk advance.
Its source pin now moves; its upstream pin does not, since nothing was
compared there.
2026-10-27 04:26:28 +01:00
Abdessamad Derraz e96d1326a3 fix: skip the line mode pty run without pyte
The offline line mode test opened a pty with pyte missing and errored where its neighbours skip. A comment in install.py also carried a clause semicolon that the prose style test refuses.
2026-10-27 04:20:23 +01:00
Abdessamad Derraz 625bee35cc fix: record missing data dirs in the run
main() starts each run with no notices, so the mocked run records the
missing directory itself.
2026-10-27 04:16:33 +01:00
Abdessamad Derraz 4b11a43a86 feat: version check reads tags and numbers
A project that tags without releases (eightyone, higan) was never compared,
and a core_version naming no tag (parallel-launcher 9.0.5 beside v9.0-6)
silenced the passed-release warning. The newest tag stands in when it is a
version number, and an untagged core_version is compared by number within
one scheme. --emulator is repeatable: a stored value kept only the last.
2026-10-27 04:16:31 +01:00
Abdessamad Derraz d1d88fed27 feat: one card list and one card check
Every system that runs from its SD card comes from card_setups(),
derived from the device rules: the setup list, its filter, --platform
and the line menus give each its own row and ask for its card. The
RetroArch row no longer lists handheld systems.

card_root_folder and card_choice share one identity check: another
system's card is refused for every system, KNULLI and ROCKNIX included,
and the same --dest gives the same folder from every entry point. WSL
drive letters are read as typed, the line question lists only that
system's cards and asks again after no.

Offline at a terminal, files left out count as missing: the run ends
with code 1 or 2, as the full screen does. Continue on the systems list
opens Confirm. Wording and layout points of code_audit_13 and
tui_audit_6.
2026-10-27 02:55:29 +01:00
Abdessamad Derraz 7abe5b8309 fix: say offline files are not downloaded
The line mode under --offline, with files that need the internet,
ended on Done with 0 files installed. It now counts them as not
downloaded and says --offline is why, not an answer.
2026-10-27 00:45:57 +01:00
Abdessamad Derraz fe1e98917b fix: offer only what an install can do
Back from the systems list with nothing ticked keeps the ticks it
opened with, and None says First system once nothing is left to untick.
Confirm under --offline with nothing on hand has no Install, and the line
mode no longer asks to download what --offline never fetches. The line
mode counts the data files before its question.

Screen words: the checking clock starts at zero, a pack installs from
the pack, the copies found are said on a line of their own, the screen
of misplaced files says the copies stay, the save folder gets a line of
its own, the shared note is one line, a size keeps its unit, the same
save folder remedy on both screens, A Tick on the Miyoo bar, no Home
key in the help of a pad, and a system name said once with a pack.
2026-10-27 00:17:26 +01:00
Abdessamad Derraz 44f94ab703 fix: ask a card setup for its own card
A card system chosen on a computer, from --platform, the setup list, its
filter or the line-mode menu, always asks for its card. The card screen
lists only the cards whose files say they run that system, offers Look
again, and checks a browsed, typed or --dest folder as --dest is checked.
The line-mode Card root prompt lists the mounted drives, asks again on a
missing or foreign root, and asks before creating several folders. On the
device the detected folder is offered, and the bound card is forgotten
when another setup is chosen.
2026-10-27 00:04:56 +01:00
Abdessamad Derraz 44378ae5c9 feat: name a release newer than the pinned tag
A profile pinned on its release tag read as clean forever: armsx1, armsx2
and x1-box sat on old tags while newer releases were out. --check-version
now names the latest release when it follows both the declared tag and
the pin, unless pin_frozen holds the pin on purpose.
2026-10-26 23:25:51 +01:00
Abdessamad Derraz dc225acb57 chore: merge the last installer items
# Conflicts:
#	install.ps1
#	install.py
#	install.sh
#	install/launchers/index.json
2026-10-26 23:10:30 +01:00
Abdessamad Derraz f3a161b60e fix: keep unread trees in the source paths record
A sitesources run that GitLab rate-limited dropped about twenty trees it
never read from website/src/data/source-paths.json. A tree key names a
pinned sha, so the last record's entry for an unread tree still holds and
is carried over, in sitesources and in profile_sync's refresh.
2026-10-26 22:52:23 +01:00
Abdessamad Derraz c64f3215ea fix: say the misplaced copies stay in place 2026-10-26 22:20:42 +01:00
Abdessamad Derraz e919d8478e feat: pick one system in a few presses
A long systems list opens on None. A there unticks every system and
moves to the first one, and A on a system with nothing ticked installs
that one alone, so Enter still continues. Inside muxterm, which keeps
PgUp and PgDn for its scrollback, Left and Right on the D-pad page.

One system of 66 at 40x15 took 17 presses with a pad, 57 in muxterm;
it now takes 12 on both. The pyyaml check of the device lists skips
where pyyaml is not installed.
2026-10-26 22:20:29 +01:00
Abdessamad Derraz 57811270e3 fix: card setups, pager lines, devices, data size
A system that runs from its SD card (Onion, spruceOS, muOS, KNULLI,
MinUI...) named with --platform on a computer no longer takes that
computer's RetroArch folder: one mounted card of that system is used,
at a terminal the card root is asked, without questions the run stops
on the --dest example. The interface opens the card screen with the
mounted cards first.

The result pager scrolls and counts lines, so its last line is
reachable at every size. The setup filter knows the devices each
setup runs on, from the guides and the firmware pages. A new event
kind, data, gives the bytes of the data trees, and the plan shows
them.
2026-10-26 22:01:02 +01:00
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