Skip to content

NeoStation Beta 0.8.5+100

Choose a tag to compare

@github-actions github-actions released this 18 May 21:50

Features

  • fix(scan): ignore hidden/AppleDouble ROM sidecar files by default (adds toggle, fixes #35) (#36) @jbripley
  • feat(systems): add favorites tile with sqlite-backed filtering (#38) @jbripley

Fix

fix(android): resolve scoped-storage permission denied for standalone emulators
Emulators .emu (Imagine-Engine) and DuckStation were receiving raw filesystem
paths or file:// URIs after the launcher refactor. On devices with strict
Scoped Storage enforcement (Huawei EMUI 12, Samsung OneUI, RedMagic, etc.)
the target emulators lack read permission for those external-storage paths,
causing Permission Denied.

Changes:

  • EmulatorLauncher.kt: neostation-localuri: now preserves content:// URIs
    so launchGenericIntent can grant FLAG_GRANT_READ_URI_PERMISSION to the
    target emulator. All .emu emulators across every system are fixed.
  • ps1.json: DuckStation bootPath now uses {file.uri} instead of {file.path}.
    DuckStation supports URI strings in bootPath, letting Android propagate
    read access via the intent grant mechanism.

fix(android): resolve scoped-storage permission denied for standalone emulators
Emulators .emu (Imagine-Engine) and DuckStation were receiving raw filesystem
paths or file:// URIs after the launcher refactor. On devices with strict
Scoped Storage enforcement (Huawei EMUI 12, Samsung OneUI, RedMagic, etc.)
the target emulators lack read permission for those external-storage paths,
causing Permission Denied.

Changes:

  • EmulatorLauncher.kt: neostation-localuri: now preserves content:// URIs
    so launchGenericIntent can grant FLAG_GRANT_READ_URI_PERMISSION to the
    target emulator. All .emu emulators across every system are fixed.
  • ps1.json: DuckStation bootPath now uses {file.uri} instead of {file.path}.
    DuckStation supports URI strings in bootPath, letting Android propagate
    read access via the intent grant mechanism.

fix: systems visibility, favorites virtual system, and ALL scraping

  • Fix inverted toggle logic in Settings > Systems (ON now means visible).
  • Add automatic show/hide for the favorites virtual system based on
    whether game favorites exist (excluding music from the count).
  • Disable the favorites toggle in Settings when no game favorites are
    present; enable it when at least one exists.
  • Ensure favorites appears/disappears instantly in grid and carousel
    when the last favorite is added or removed.
  • Add
    efreshDetectedSystems() to SqliteConfigProvider so UI updates
    immediately after toggling a favorite without requiring a full scan.
  • Update CustomToggleSwitch to support a disabled state with dimmed
    visuals and no interaction.
  • Filter out music from favorites count in otalFavorites and in DB
    queries so music favorites do not keep the favorites system visible.
  • Fix scraping from the ALL system by sending the real game's system
    ID (_effectiveSystem.id) instead of �ll to ScreenScraper.

Full Changelog: v0.8.4+99...v0.8.5+100