Commit graph

7 commits

Author SHA1 Message Date
Lukas Brübach
a23e02b5a4 [Installer][Client] Fix review findings: subdir backup, portable warning, backup API
NSIS:
- Back up unknown top-level install subdirs (e.g. <installdir>\decks),
  not just loose deck files, so the 3.1.1 -> new upgrade no longer loses
  data folders the old RMDir /r deletes before the client ever runs.
  Payload dirs (plugins/translations/sounds/themes) stay in place to avoid
  restoring stale DLLs; restore + relocate handle the new backup set and
  the one-time notice covers both decks and folders.
- Restart the %TEMP% backup when the 32/64-bit passes point at different
  dirs instead of merging (which restored one dir's files into the other);
  document that only the last pass relocates and the %TEMP% copy is not
  a durable second copy.

Client:
- Drop the portable at-risk warning: portable installs never shipped an
  uninstaller and portable updates preserve data/, so every portable user
  got a spurious dialog plus daily host-machine copies.
- AtRiskDataWarning is now a plain class with Q_DECLARE_TR_FUNCTIONS
  instead of QObject+Q_OBJECT; logging category renamed to
  at_risk_data_warning; MainWindow wrapper inlined into startupConfigCheck.
- Lower the synchronous startup backup cap 500 -> 200 MB.

Utility/tests:
- Remove test-only backupAtRiskPath()/findRecentBackupSession() and the
  no-marker/no-manifest legacy paths; isBackupSessionComplete() now
  requires the complete marker; tests updated to the plural API.
2026-10-16 19:19:46 +02:00
Lukas Brübach
e9b05a3d46 [Installer][Client] Fix review findings: usable session reuse, loose decks, NSIS pics, symlinks 2026-10-13 11:36:19 +02:00
Lukas Brübach
53e8421885 [Installer][Client] Fix review findings: sounds, session coverage, NSIS wording
Client: back up data/sounds in portable mode and mention it in the
warning; reuse a recent session only when complete and covering the
current sources (source manifest), estimate size only for fresh copies,
normalize dedup via isInsideDir.

Helper: source manifest per session with sessionCoversSources(), clear
out-params on all failure paths.

NSIS: document defensive portable branch, merge backup over surviving
data/ to repair partial deletes, copy (not move) wording in relocate,
note .txt exclusion in deck notice.
2026-10-13 09:14:58 +02:00
Lukas Brübach
d10ec8a113 [Installer][Client] Fix review findings: backup markers, NSIS relocate, size cap 2026-10-13 09:03:48 +02:00
Lukas Brübach
f4e3d9acba [Installer][Client] Fix review findings: throttle backups, NSIS old dir, portable messaging 2026-10-13 08:53:29 +02:00
Lukas Brübach
bb5f17b876 [Installer][Client] Fix stale backup resurrection, batch session backups, extend coverage
NSIS: clear stale %TEMP% backup and only arm restore when something was copied, directory-existence checks, back up loose .dec decks, drop downloaded pics but keep pics\CUSTOM.

Helper: single session dir per run (ms timestamps), same-basename disambiguation, partial copies still report their location.
2026-10-13 08:36:08 +02:00
Lukas Brübach
d33542db59 [Installer][Client] Back up user data before old uninstallers can delete it 2026-10-13 07:15:25 +02:00