Commit Graph

675 Commits

Author SHA1 Message Date
Brandon T. Kowalski cbc824c5d5 wip: add sync scan and backup unit tests
Extract scanSavesInDir and createBackup as testable helpers. Add
filesystem-based tests for save scanning, extension filtering,
hidden file skipping, slug resolution, backup creation, and
read-only directory handling. Includes env-capture script for
collecting device filesystem layouts.
2026-03-28 14:12:38 -04:00
Brandon T. Kowalski 396e10c554 fix: make gpsp the default GBA platform on MinUI 2026-03-28 13:51:03 -04:00
Brandon T. Kowalski 77103accb9 docs: add v4.8.0.0 changelog and update contributors 2026-03-28 13:50:30 -04:00
github-actions[bot] c73185717f Update versions.json for v4.8.0.1-beta.5 2026-03-28 14:13:33 +00:00
github-actions[bot] f7b482ed3f Update pak.json to v4.8.0.1-beta.5 v4.8.0.1-beta.5 2026-03-28 14:08:45 +00:00
Brandon T. Kowalski 04ef4e76cc docs: add MinUI install guide and opt into Node.js 24 for CI
Add install-minui.md with tested devices, installation steps, and
update instructions. Add MinUI to mkdocs nav and cfw-links. Set
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24 on both workflows ahead of the
June 2026 deprecation of Node.js 20 runners.
2026-03-28 10:07:08 -04:00
github-actions[bot] 739604dd1e Update versions.json for v4.8.0.1-beta.4 2026-03-28 13:56:26 +00:00
Brandon T. Kowalski f238a4df4a Merge pull request #184 from rommapp/poc/miyoo-minui-input
feat: universal MinUI distribution
2026-03-28 09:50:39 -04:00
Brandon T. Kowalski 1dd687ce73 feat: universal MinUI distribution with per-device input mappings
Ship both grout32 and grout64 in a single MinUI zip. The launch
script detects arch via uname and picks the right binary and libs.
Device detection (Miyoo/Anbernic/TrimUI) uses runtime.GOARCH and
/proc/bus/input/devices, following the same pattern as muOS. Adds
Anbernic joystick mapping reused from muOS.
2026-03-28 09:49:03 -04:00
Brandon T. Kowalski 7104be02c9 fix: clean up Spruce universal distribution
Fix unmapped devices (TrimUI, Miyoo Flip) returning errors instead of
nil. Uppercase device constants to match env var values. Add fallback
case to launch script. Fix artifact download paths in CI universal
packaging job. Remove debug comments and cosmetic issues.
2026-03-28 09:40:19 -04:00
Brandon T. Kowalski 186eb2d1bb Merge pull request #180 from pawndev/feat/sprucev4-arm7
Feat/sprucev4 arm7
2026-03-28 09:36:06 -04:00
pawndev ce6d250932 ci: package universal 2026-03-28 11:53:53 +01:00
pawndev 4055d54359 ci: package universal 2026-03-28 11:48:38 +01:00
pawndev bb51447e81 ci: add package-arm-universal job 2026-03-28 11:35:51 +01:00
pawndev aba9719579 build(spruce): New task organization 2026-03-28 11:26:05 +01:00
pawndev bf5857f840 Merge branch 'main' into feat/sprucev4-arm7 2026-03-28 11:22:55 +01:00
github-actions[bot] dbe2ab409a Update versions.json for v4.8.0.1-beta.3 2026-03-28 05:34:14 +00:00
Brandon T. Kowalski 9c34ddeac9 refactor: break setup() into smaller focused functions
Split the 330-line setup() into named phases: setupInputMapping,
initFramework, loadOrCreateConfig, handleFirstLaunch, applyConfig,
connectAndLoadPlatforms, and handleAuthFailure. Logic is unchanged.
2026-03-28 01:12:10 -04:00
Brandon T. Kowalski 21d8d9775e refactor: remove no-op getCollectionInternalIDLocked wrapper 2026-03-28 01:11:56 -04:00
Brandon T. Kowalski b9eb9257a9 fix: rename Collectionssynced to CollectionsSynced 2026-03-28 00:46:46 -04:00
Brandon T. Kowalski 187ec515f0 fix: auto-update race condition and version parse logging
Protect Start() with mutex and remove unused done channel to prevent
a potential double-close panic. Add warning logs when CompareVersions
fails to parse version strings so silent update skips are diagnosable.
2026-03-28 00:40:42 -04:00
Brandon T. Kowalski 6d3c6de204 refactor: extract appendJunctionFilters helper and remove duplication
Extract the junction table EXISTS subquery logic into a shared helper.
Replaces 3 copy-pasted blocks (~60 lines) with one-line calls.
2026-03-28 00:40:29 -04:00
Brandon T. Kowalski afb49baab9 refactor: remove protocol auto-detection
Remove switchProtocol, tryAlternateProtocol, tryAlternateProtocolForLogin,
ProtocolError type, and ErrWrongProtocol. The user already selects HTTP
or HTTPS on the login screen. Protocol mismatches now fall through to
the unclassified error path with debug logging. Removes 4 i18n keys
from all locale files.
2026-03-28 00:39:58 -04:00
Brandon T. Kowalski 64b3a0fbcb fix: remove dead code
Remove unused DownloadRoms, DownloadRomsQuery, fetchAllGames, and
endpointRomsDownload. ROM downloads are handled by gabagool's
DownloadManager which streams to disk. fetchAllGames was replaced
by per-platform streaming in the memory optimization PR.
2026-03-28 00:39:49 -04:00
Brandon T. Kowalski 2ff66ae912 chore: update release workflow for restructured tasks 2026-03-28 00:39:35 -04:00
Brandon T. Kowalski 468352f79a refactor: restructure taskfile into separate includes 2026-03-28 00:39:24 -04:00
Brandon T. Kowalski a2b2e168b2 chore: update dependencies and gitignore 2026-03-28 00:39:13 -04:00
Brandon T. Kowalski 26c83a732e Merge pull request #183 from rommapp/feat/miyoo-memory-optimization
fix: use actual fetched count for sync tracking and drop legacy platf…
2026-03-27 20:45:22 -04:00
Brandon T. Kowalski d3f1b7d386 Merge pull request #182 from rommapp/poc/miyoo-minui-input
feat: add MinUI and Miyoo input mapping support
2026-03-27 20:38:44 -04:00
Brandon T. Kowalski 158115a4cd fix: use actual fetched count for sync tracking and drop legacy platform_id
fetchPlatformGames now returns the count of games actually fetched
instead of using the server's total ROMCount, which was incorrect for
incremental syncs. Removed deprecated platform_id query param in favor
of platform_ids. Applied gofmt.
2026-03-27 20:37:51 -04:00
Brandon T. Kowalski ce9a0980ee Merge pull request #181 from ljtilley/miyoo-memory-optimization
Miyoo memory optimization
2026-03-27 20:18:56 -04:00
Brandon T. Kowalski 3f62b82e19 feat: add MinUI and Miyoo input mapping support 2026-03-27 20:12:14 -04:00
Brandon T. Kowalski 1fd3b9ef9d chore: rename tasks with arch, add Onion quirks, improve auth logging
Rename build/extract tasks to include architecture (build-arm64,
build-arm32, etc.) for clarity. Add Onion CFW quirks to docs.
Reorganize auth.go and add response debug logging for connection
validation and login failures. Use RELEASE_PAT for versions.json push.
2026-03-27 20:10:53 -04:00
ljtilley 761ac2ad16 revert: DefaultRomPageSize to 1000 after memory optimization 2026-03-27 16:39:05 -07:00
ljtilley 09bac9fc69 fix: optimize SQLite bulk load settings to reduce memory usage 2026-03-27 16:31:24 -07:00
ljtilley 76551efa69 fix: optimize resolveLookupID and batchInsertJunction for improved performance with caching 2026-03-27 16:31:08 -07:00
pawndev 4508690004 feat(spruce): sdlttf from miyoo and screen orientation 2026-03-28 00:10:03 +01:00
ljtilley 347ae58e15 fix: add PlatformIDs field for newer RomM instances while maintaining backwards compatibility 2026-03-27 15:27:50 -07:00
ljtilley dca9fda8ab fix: optimize memory usage during platform game fetching to prevent OOM crashes on 128MB devices 2026-03-27 15:27:13 -07:00
ljtilley 7b32710849 reduce page size to see if it fixes OOM on miyoo 128MB devices 2026-03-27 14:28:39 -07:00
pawndev 2797493e48 Merge branch 'main' into feat/sprucev4-arm7 2026-03-27 19:50:36 +01:00
github-actions[bot] f41f139355 Update versions.json for v4.8.0.1-beta.2 2026-03-27 01:52:02 +00:00
Brandon T. Kowalski ad2c569552 ci: I will figure this out even if it kills me. 2026-03-26 21:47:30 -04:00
Brandon T. Kowalski 48e07d84cb i18n: get translations up to date for 4.8.0.0. Thanks Claude! Closes #166 2026-03-26 21:47:02 -04:00
Brandon T. Kowalski fb72913319 fix: use glob patterns for release assets
upload-artifact@v4 strips common path prefixes, so artifacts from
single-directory uploads (arm32, amd64, x86) lose their dist/ prefix.
Use ** globs in the release step and find in the versions job to
locate files regardless of path.
2026-03-26 21:16:01 -04:00
github-actions[bot] 89cd6da0a1 Update versions.json for v4.8.0.1-beta.2 2026-03-27 01:11:15 +00:00
github-actions[bot] a8c64f170e Update versions.json for v4.8.0.1-beta.1 2026-03-27 00:51:37 +00:00
Brandon T. Kowalski b47eb667cf fix: use workflow_call to trigger docs deploy after release
GITHUB_TOKEN cannot dispatch workflows via the API. Use workflow_call
instead so the release workflow invokes the docs workflow directly.
2026-03-26 20:42:04 -04:00
github-actions[bot] d5be1411ea Update versions.json for v4.8.0.1-beta.1 2026-03-27 00:37:45 +00:00
Brandon T. Kowalski 2ee10774a0 fix: inject version from CI instead of reading pak.json
Pass GROUT_VERSION build arg from the release workflow into Docker
builds so beta releases get the correct version number. Falls back
to pak.json for local dev builds when the arg is not set.
2026-03-26 20:27:53 -04:00