Skip to content

Audit and disposition 17 load-only hidden preference keys

Summary

Companion to BUG-001. Beyond adding write-back for actively-used prefs, a full audit of the 17 load-only keys is needed to assign each a formal disposition.

The BUG-001 fix handles the persistence gap. This issue tracks the broader hygiene work: deciding which keys are intentional, which are stale, and documenting the result.

Current Main Status

Done in current main.

The original write-back gap was closed in commit 4a02669 (Persist and expose hidden runtime preferences). On 2026-04-19, the Extended options follow-up commits (6c792d9, e6f0625, 910828c, d3ccfd1) handled the first live hidden set. On 2026-04-25, the follow-up exposure pass finished the remaining operator-safe settings and persistence gaps by:

  • exposing crash-dump, log-size/format, PerfLog, ICH, preview, chat-history, timestamp, text-editor, and message/display settings through PPgTweaks
  • exposing WebServer MaxFileUploadSizeMB and AllowedIPs on the WebServer page
  • normalizing their validation and save/load behavior
  • fixing ShowVerticalHourMarkers to load from eMule while falling back to the prior accidental Statistics key
  • deleting the retired AICHTrustEveryHash key from persisted config

This leaves no unresolved load-only preference from the original audit set.

Per-Key Disposition Needed

Key Current use Proposed disposition
RestoreLastMainWndDlg Runtime use in EmuleDlg.cpp Add write-back
RestoreLastLogPane Runtime use in ServerWnd.cpp Add write-back
FileBufferTimeLimit Runtime use in PartFile.cpp Add write-back
DateTimeFormat4Lists Runtime use in DownloadListCtrl.cpp Add write-back
PreviewCopiedArchives Runtime use Add write-back
InspectAllFileTypes Runtime use Add write-back
PreviewOnIconDblClk Runtime use Add write-back
ShowActiveDownloadsBold Runtime use Add write-back
UseSystemFontForMainControls Runtime use, 5 files Add write-back
ReBarToolbar Runtime use Add write-back
ShowUpDownIconInTaskbar Runtime use Add write-back
ShowVerticalHourMarkers Runtime use Add write-back
ForceSpeedsToKB Runtime use Add write-back
ExtraPreviewWithMenu Runtime use Add write-back
KeepUnavailableFixedSharedDirs Runtime use Add write-back
PartiallyPurgeOldKnownFiles Runtime use Add write-back
AdjustNTFSDaylightFileTime No active member in current main Retired / document stale
MessageFromValidSourcesOnly Runtime use Add write-back
RearrangeKadSearchKeywords Runtime use Add write-back
AICHTrustEveryHash Loaded, no non-Prefs consumer found Retire — remove read + member

Acceptance Criteria

  • [x] Every key has a documented disposition in code comments or this issue.
  • [x] AICHTrustEveryHash member and read removed (or a consumer identified).
  • [x] Write-back added for all keys marked "Add write-back".
  • [x] No remaining undocumented load-only prefs.

Files

  • srchybrid/Preferences.cpp
  • srchybrid/Preferences.h
  • srchybrid/PPgTweaks.cpp