Commit Graph

23 Commits

Author SHA1 Message Date
Georges-Antoine Assi
a38ebe29b5 Preserve custom name_sort_key; gate derivation on "still derived"
Drop the name_sort_key_custom flag/migration in favour of a flagless rule: a
key is "custom" when it no longer equals compute(name). Apply that consistently
across all three write paths so a manual sort key survives renames while a
derived key keeps following the name:

- @validates re-derives on name assignment only when the stored key still
  matches the derived value; direct name_sort_key assignment stores a
  normalized custom key (or reverts to derived when cleared). Handles both
  kwarg orders at construction.
- update_rom mirrors the same check for the bulk update() path it bypasses.
- The edit endpoint only writes the key when the user actually changed the
  field, delegating the untouched case to update_rom.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 11:30:40 -04:00
Georges-Antoine Assi
cd19d723fa Merge sort_name into name_sort_key with custom-override flag
Collapse the separate `sort_name` column into `name_sort_key`, which is now
the single user-settable sort field: always normalized and indexed for fast
ordering, derived from `name` by default, and overridable. A new
`name_sort_key_custom` boolean marks user/metadata overrides so they survive
renames and rescans.

- Drop the `roms.sort_name` column; repurpose migration 0085 to add
  `name_sort_key_custom`.
- Derive the key via `@validates("name")` unless pinned custom; the edit
  dialog, unmatch flow, and ES-DE gamelist <sortname> set custom keys.
- update_rom / scan_rom keep the columns in sync explicitly (bulk update and
  construction bypass / reorder the validator).
- Frontend: edit field drives name_sort_key (empty when auto), api sends the
  override only when custom, regenerated types updated.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 10:34:21 -04:00
Georges-Antoine Assi
e7d46ee8c4 fix types 2026-06-18 09:32:38 -04:00
copilot-swe-agent[bot]
280092d38a feat: add ES-DE sortname import support
Co-authored-by: gantoine <3247106+gantoine@users.noreply.github.com>
2026-05-31 13:37:39 +00:00
Georges-Antoine Assi
ca6ecff4a0 cleanup 2026-05-23 19:07:43 -04:00
Spinnich
aec1c4ed33 fix(screenscraper): re-add user credentials to media file downloads
SS media URLs are stripped of ssid/sspassword before DB storage (correct),
but downloads were issued against the credential-less stored URLs, causing
them to count against the anonymous IP quota instead of the user's account.

Adds restore_sensitive_query_params() as the principled complement to
strip_sensitive_query_params(), and add_ss_auth_to_url() in ss_handler
which re-attaches credentials at download time without storing them.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-23 15:27:43 +00:00
Georges-Antoine Assi
21663fc922 cleanup fomratter 2026-05-20 09:17:35 -04:00
Georges-Antoine Assi
ee8b55e6ef last set of changes 2026-03-07 09:56:17 -05:00
Georges-Antoine Assi
b3339c177b Run formatter on alembic files 2026-02-17 15:12:33 -05:00
Georges-Antoine Assi
58e16d9c69 [ROMM-2949] Add support for shortfile scummvm names 2026-01-29 11:12:35 -05:00
SaraVieira
aa11eba387 Add CPS1-3 and TIC-80 2025-12-31 18:50:12 +00:00
Georges-Antoine Assi
c5ea85add5 [HOTFIX] Stripe keys from ssfr api query params 2025-12-16 20:35:40 -05:00
Georges-Antoine Assi
76d445ccd9 [ROMM-2722] Fix matching special chars in ssfr 2025-12-07 21:21:57 -05:00
Georges-Antoine Assi
7f3694f744 changes from bot review 2025-11-16 09:54:18 -05:00
Georges-Antoine Assi
adf05bb1c9 [HOTFIX] _mask_sensitive_values should check for null values 2025-11-16 09:37:59 -05:00
Georges-Antoine Assi
38f42aa352 Merge branch 'master' into romm-2536 2025-10-23 18:24:36 -04:00
Georges-Antoine Assi
abb507cb82 remove switch and lb tasks from scan 2025-10-21 13:35:57 -04:00
Georges-Antoine Assi
95e109cbd1 output csv 2025-10-19 11:45:41 -04:00
Georges-Antoine Assi
d760e88ca1 improve matching 2025-10-05 11:14:19 -04:00
Georges-Antoine Assi
53007e5c8f [ROMM-2516] Fix comma article pattern regex 2025-10-05 11:02:31 -04:00
Georges-Antoine Assi
df68dc9bd9 Merge both odyssey 2 platform 2025-10-03 16:28:02 -04:00
Georges-Antoine Assi
3c4113f8a8 Merge branch 'master' into flashpoint-metadata-handler 2025-09-11 21:27:48 -04:00
Georges-Antoine Assi
ef2546ec08 fix base handler filename 2025-08-27 12:40:16 -04:00