Georges-Antoine Assi
92a3c06196
bot generated save sync
2026-03-20 21:52:45 -04:00
Brandon T. Kowalski
4477ed119d
Create conflict tester tool and fix more greptile issues
2026-03-04 23:19:17 -05:00
Brandon T. Kowalski
8ffd2dd1b2
Fix code smells
2026-03-04 21:54:09 -05:00
Brandon T. Kowalski
a8d856d0f3
Initial work on user configured save slot
2026-03-04 21:30:44 -05:00
Brandon T. Kowalski
e22b2a1129
Add backup retention, concurrency, health check, last sync time, and cleanup dead code
...
- Add concurrent fetching (8 workers) for FetchRemoteSaves and DiscoverRemoteSaves
- Guard against empty emulator string on upload
- Add backup retention setting (5/10/15/No Limit) with cleanup logic
- Show last synced relative time in sync menu
- Add health check before starting save sync
- Remove unused API methods (TrackSave, UntrackSave, GetSaveIdentifiers)
- Remove dead ScreenSaveConflict router registration
- Set with_filter_values and with_char_index to false on ROM queries
- Add missing i18n keys to all locale files
2026-03-01 19:42:44 -05:00
Brandon T. Kowalski
711c7e2a0b
Propagate network errors during save sync resolve
...
Previously, FetchRemoteSaves and DiscoverRemoteSaves silently
continued on HTTP failures, causing local saves to appear as
new uploads and potentially overwriting newer remote data.
Now errors are propagated and the UI shows a connection error
instead of proceeding with a misleading sync.
Closes #144
2026-03-01 16:02:10 -05:00
Brandon T. Kowalski
5b18236811
Add valid save file extensions for broader emulator support
2026-03-01 15:47:04 -05:00
Brandon T. Kowalski
12d387cfdd
Add sync engine and ROM scanning
...
- sync/models.go: action types and sync plan models
- sync/flow.go: core sync flow with conflict detection
- sync/flow_test.go: tests for sync action determination
- sync/roms.go: rewrite to resolve local ROMs against cache
- cfw/roms.go: local ROM filesystem scanning (moved from sync)
- cfw/saves.go: add GetSaveDirectory helper
- tools/save-sync-dry-run/: dry-run testing tool
2026-02-22 12:16:21 -05:00
Brandon T. Kowalski
07ff034b73
Nuke all existing save functionality. I don't want to retrofit this
2026-02-14 21:35:00 -05:00
Brandon T. Kowalski
781af28c27
Remove Auto Sync (will reintroduce as a daemon at a later date)
2026-02-14 01:40:09 -05:00
Brandon T. Kowalski
9d2ed47873
Add missing NDS .dsv save file extension
2026-01-27 01:54:11 -05:00
Brandon T. Kowalski
a196bebd4e
Fix for save sync timezone comparison #98
2026-01-27 01:18:14 -05:00
Brandon T. Kowalski
d307b63f24
Fix ROCKNIX save sync
2026-01-27 00:00:35 -05:00
Brandon T. Kowalski
85e2f92164
Cleanup unused code after refactor
2026-01-21 00:10:11 -05:00
Brandon T. Kowalski
2dee138f0b
fix: add reverse mapping for local platforms to RomM slugs along with brute force matching to potentially fix #51
2026-01-14 23:29:19 -05:00
Brandon T. Kowalski
cd8c673cdb
Have unmatched syncs trigger the cloud alert icon.
2026-01-12 22:26:33 -05:00
Brandon T. Kowalski
e4a5d024b6
Remove one last unneeded log
2026-01-12 22:10:45 -05:00
Brandon T. Kowalski
09b0111b44
Consolidated and added more detailed logging for everything attempted in a save sync
2026-01-12 22:08:45 -05:00
Brandon T. Kowalski
1fee652e69
Yet another potential fix for #27 and #51
...
Makes use of the /api/config endpoint to find if there are any `PLATFORMS_BINDING` from folder aliases
2026-01-12 00:14:42 -05:00
Brandon T. Kowalski
87a870dbda
Fuzzy match now uses prefix match similarity alongside Levenshtein Distance taking the max and looking for 80%
2026-01-11 19:18:41 -05:00
Brandon T. Kowalski
c0bdaa23f2
Add fuzzy matching confirmation feature as third option after exact match and hash match
2026-01-11 18:41:38 -05:00
Brandon T. Kowalski
b92b7da519
Start of orphan matching work
2026-01-11 01:30:18 -05:00
Brandon T. Kowalski
29abba1a71
Grout now properly detected "orphaned" ROMS / Saves and "reattaches" them with a CRC32 lookup.
...
This will allow for duplicate roms on a local device (e.g. Pokemon Red.gb and Pokemon Red Nuzlocke.gb) and for the saves to be synced and managed separately
2026-01-10 17:02:09 -05:00
Brandon T. Kowalski
21e52edd00
Start of work for #57
2026-01-10 01:52:03 -05:00
Brandon T. Kowalski
fb4a027e66
Caching work and fixing save sync
2026-01-06 18:53:43 -05:00
Brandon T. Kowalski
f522980f55
Rework caching to be more efficient and be backed by SQLite.
2026-01-06 02:12:12 -05:00
Brandon T. Kowalski
4ca19c38c9
More reorg and fixing the multiple platform versions mapping
2026-01-04 15:19:28 -05:00
Brandon T. Kowalski
56982c45ea
More breaking up of the massive utils package. Almost organized!
2026-01-04 11:51:47 -05:00
Brandon T. Kowalski
fc23056f09
Mid-mass refactor to get everything into a respectable package structure
2026-01-04 01:47:01 -05:00