GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — Tags · rommapp/romm
Tags
5.5.0-alpha.1fix(frontend): split collections and platforms empty messages into ti… …tle and hint (#5563) * fix(collections): render empty-state detail as regular-weight hint The long empty-collections sentence was passed as the bold title. Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01NH5s4eTi6dcmTfSWZcXLtE * fix(collections): add title to empty state and trim redundant hint sentence Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01NH5s4eTi6dcmTfSWZcXLtE * fix(platforms): split empty-platform messages into title and hint Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01NH5s4eTi6dcmTfSWZcXLtE --------- Co-authored-by: Claude Opus 5.5 <[email protected]> 5.4.0fix(config): migrate retired filesystem folder keys instead of exiting ( #5211) * fix(config): migrate retired filesystem folder keys instead of exiting 5.2 wrote filesystem.roms_folder and filesystem.firmware_folder into config.yml on every settings save, so instances that never chose a layout crash-looped on 5.3.1. Appliance installs (TrueNAS, Unraid, CasaOS) have no way to edit the file. Translate the keys at load time into the filesystem.structure templates that reproduce the layout 5.2 resolved them to, using the same disk check 5.2 used to choose between `<folder>/{platform}` and `{platform}/<folder>`. A declared structure template still wins. The migrated config is written back when config.yml is writable; otherwise it applies in memory and logs the replacement once. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]> * fix(config): refuse folder names a template can't express before migrating Addresses Greptile review on #5211: a retired folder name containing braces produced an invalid template after config.yml had already been rewritten. The migrated templates are now parsed first and startup exits with the reason, leaving the file untouched. Also trims a test docstring. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]> * fix(config): code-review fixes for the retired folder key migration Keep an undetectable layout in memory, accept a '.' folder, honour a differently cased declared key, stop retrying a failed write, and share the layout detection with check_library_layout. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]> * refactor(config): simplify pass over the retired folder key migration Build the templates in one pass with a parser per key, reuse get_nested and the library fixture, skip the layout string on the in-memory path, and memoize a detected layout across get_config() calls. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]> * test(config): review-polish, drop a docstring that restates the test name Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]> * fix(config): migrate retired folder keys at startup and write config.yml atomically Loading the config only translates the retired keys in memory now; startup writes the migration once, before any worker runs, so processes no longer race to rewrite config.yml. config.yml is written to a sibling temp file and renamed over the original, keeping a symlink and the file mode. When the rename fails (a config.yml bind-mounted on its own), the in-place write puts the previous content back if it fails, so a full disk no longer empties it. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]> * refactor(config): drop the atomic config write and flatten the folder key migration The temp-file rename, symlink/mode handling and in-place restore are a separate concern from migrating the retired keys, so config.yml goes back to the plain write. The translation validates its two templates directly instead of through a table of parsers. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]> --------- Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]> 5.4.0-beta.1refactor(streaming): let the backend pick the resume picker's states (#… …5210) * refactor(streaming): let the backend pick the resume picker's states The player decided which of a ROM's states the resume picker offers from a core rule the config shipped, and so repeated the rules the claim checks a pick against. The player now asks `GET /api/streaming/states/{rom_id}` which states load natively and which the broker can import, so the rules live only in the backend. A native state whose filename carries no slot number is offered only when the broker can import it, since it can't resume as is. The player asks again only when the ROM's states, the emulator or the import kinds change, keeps its last answer if a refresh fails, and holds Play until the first answer for the ROM arrives, so a quick click can't skip the state about to be preselected. `StreamingContainerSchema.state_core` and `StateCoreSchema` are removed, and the config no longer asks each broker for its core. Co-Authored-By: Claude Fable 5.1 <[email protected]> * fix(streaming): address Greptile review on the state picks Refetch the picks when a state is renamed, since the filename decides whether it resumes as it is, and fold the new docstrings to one sentence. Co-Authored-By: Claude Fable 5.1 <[email protected]> --------- Co-authored-by: Zach Clendenen <[email protected]> Co-authored-by: Claude Fable 5.1 <[email protected]> 5.4.0-alpha.2perf(frontend): serve only the mdi icons the app uses (#5118) * perf(frontend): serve only the mdi icons the app uses @mdi/font ships a CSS rule and four font formats for every icon. Generate a trimmed stylesheet from the icons named in the source and alias the package import to it. - scripts/build-icons.ts writes src/plugins/materialdesignicons-trimmed.css (woff2 only, LF line endings, no source map pointer). predev and prebuild run it through build:icons, and CI checks the committed file is current. - scripts/trim-mdi-fonts.ts builds the allow list from src/, Vuetify's own icon set and the icons the backend names. Only a plain .mdi-name::before rule can be dropped; anything unsure is kept. - Custom notification icons the app does not draw fall back to the level icon instead of rendering blank. - An "All icons (mdi)" story under Primitives/RIcon shows every shipped icon with search, plus the icons that are available but not shipped. - Vitest keeps ?raw CSS imports instead of emptying them. - build:tokens leaves tokens.css alone when only formatting differs. Co-Authored-By: Claude Sonnet 5.5 <[email protected]> * perf(frontend): trim the mdi icon css in a Vite plugin Replace the generated, committed icon CSS with a transform plugin that trims @mdi/font in memory, in dev, Storybook and build. A watcher reloads dev when the source names a new icon. Drops build-icons.ts, the alias, the CI staleness check and the checked-in CSS. Co-Authored-By: Claude Sonnet 5.5 <[email protected]> * PR feedback * style(frontend): sort imports in notifications test Co-Authored-By: Claude Sonnet 5.5 <[email protected]> * perf(frontend): reduce the mdi icon trim to a build-only plugin Drop the icon browser story, the notification glyph probe, the build:tokens compare and the woff2-only font rewrite. The plugin now only removes unused icon rules in production builds, so dev serves the full set and needs no file watcher. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]> --------- Co-authored-by: Claude Sonnet 5.5 <[email protected]> Co-authored-by: Georges-Antoine Assi <[email protected]> 5.4.0-alpha.1fix(sync): store RetroArch Cloud Sync blobs under the assets volume (#… …5155) The config/, thumbnails/ and system/ blobs lived at /romm/retroarch_sync, which no documented mount covers, so they sat in the image's anonymous /romm volume and were lost on `compose down`/`up`, `-V`, or a docker rm/run upgrade. RetroArch can then treat the missing files as deleted on the server and drop its local copies. They now live at assets/users/<user>/retroarch/<category>/, beside the user's saves and states. The old path never shipped in a release, so no data migration is needed. Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]> PreviousNext
|
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |