Commit 5874237
committed
fix: address fourth round of PR review findings
PluviaMain SDK-cloud-bridge dialog
- relaunch() now takes a suppressPrompt flag; only set skipBridgePrompt=true
when persistence actually succeeded. Previous behavior unconditionally
suppressed the prompt for the next launch even when container.saveData()
threw and the subdir wasn't actually saved — bridge ended up "off but
prompt hidden" instead of either fully on or normal.
- Tightened the prompt-fire gate to also skip when preferredSave != None
or ignorePendingOperations is true. Those flags come from conflict-
resolution dialogs; firing the bridge prompt during a conflict re-entry
would drop the user's chosen save / dismiss-pending choice via the
relaunch lambda.
SteamUtils.writeSharedAppManifest
- Added LastOwner to the early-return reuse criteria. Previously,
depots/buildId/scripts could all match while the existing acf was
attributed to a different signed-in account; reusing it would leave
the manifest pointing at a stale LastOwner and break cloud/ownership
checks for the current user. Force-rewrite when the owner doesn't
match. New helper parseAcfLastOwner() and acfLastOwnerRegex.
SteamUtils.autoLoginUserChanges (loginusers.vdf)
- Ensure the Steam config dir exists before writeText(). On a fresh
container the Wine prefix skeleton is laid down but Steam's own
drive_c/Program Files (x86)/Steam/config/ subdir hasn't been
populated yet — without mkdirs() the write throws
FileNotFoundException and the auto-login fails silently.
ContainerUtils.createNewContainer
- Replace the open-coded ContainerData(...) construction in the default
branch with getDefaultContainerData().copy(drives = drives,
dxwrapper = initialDxWrapper). The manual builder was missing several
fields that getDefaultContainerData() carries — localSavesOnly,
useSteamInput, sharpnessEffect/Level/Denoise, vibrationMode/Intensity,
lsfgEnabled — so new containers inherited Kotlin defaults instead of
the user's PrefManager defaults. Inheriting through copy() also means
future fields don't need to be added in two places.
Findings flagged but not changed:
- verifyRestoredState true on no DLLs: the function is meant to
detect "DLLs are NOT the pipe-DLL" (i.e., they're the original
Valve DLLs or absent). Returning false on absent would force
re-extraction of pipe DLLs into game folders that don't ship them,
which is wrong for non-Steamworks games.
- SDK cloud mirror non-recursive (4th time): by design for Dead Cells
flat saves; recursive expansion is scope creep.
- matchesGlob unit-test nitpick: skipping; no test infra changes.1 parent 5bc7a69 commit 5874237
3 files changed
Lines changed: 55 additions & 73 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
792 | 792 | | |
793 | 793 | | |
794 | 794 | | |
795 | | - | |
| 795 | + | |
796 | 796 | | |
797 | 797 | | |
798 | 798 | | |
799 | | - | |
| 799 | + | |
| 800 | + | |
| 801 | + | |
| 802 | + | |
| 803 | + | |
800 | 804 | | |
801 | 805 | | |
802 | 806 | | |
| |||
813 | 817 | | |
814 | 818 | | |
815 | 819 | | |
816 | | - | |
817 | | - | |
818 | | - | |
819 | | - | |
820 | | - | |
821 | | - | |
822 | | - | |
823 | | - | |
| 820 | + | |
| 821 | + | |
| 822 | + | |
| 823 | + | |
| 824 | + | |
| 825 | + | |
| 826 | + | |
824 | 827 | | |
825 | 828 | | |
826 | 829 | | |
827 | | - | |
| 830 | + | |
| 831 | + | |
828 | 832 | | |
829 | | - | |
| 833 | + | |
830 | 834 | | |
831 | 835 | | |
832 | 836 | | |
833 | 837 | | |
834 | 838 | | |
835 | | - | |
| 839 | + | |
836 | 840 | | |
837 | 841 | | |
838 | 842 | | |
839 | 843 | | |
840 | | - | |
| 844 | + | |
| 845 | + | |
841 | 846 | | |
842 | 847 | | |
843 | 848 | | |
844 | 849 | | |
845 | | - | |
| 850 | + | |
846 | 851 | | |
847 | 852 | | |
848 | 853 | | |
| |||
1639 | 1644 | | |
1640 | 1645 | | |
1641 | 1646 | | |
1642 | | - | |
1643 | | - | |
| 1647 | + | |
| 1648 | + | |
| 1649 | + | |
| 1650 | + | |
1644 | 1651 | | |
1645 | 1652 | | |
1646 | 1653 | | |
1647 | 1654 | | |
| 1655 | + | |
| 1656 | + | |
1648 | 1657 | | |
1649 | 1658 | | |
1650 | 1659 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
827 | 827 | | |
828 | 828 | | |
829 | 829 | | |
830 | | - | |
831 | | - | |
832 | | - | |
833 | | - | |
834 | | - | |
835 | | - | |
836 | | - | |
837 | | - | |
838 | | - | |
839 | | - | |
840 | | - | |
841 | | - | |
842 | | - | |
| 830 | + | |
| 831 | + | |
| 832 | + | |
| 833 | + | |
| 834 | + | |
| 835 | + | |
| 836 | + | |
843 | 837 | | |
844 | | - | |
845 | | - | |
846 | | - | |
847 | | - | |
848 | | - | |
849 | | - | |
850 | | - | |
851 | | - | |
852 | | - | |
853 | | - | |
854 | | - | |
855 | | - | |
856 | | - | |
857 | | - | |
858 | | - | |
859 | | - | |
860 | | - | |
861 | | - | |
862 | | - | |
863 | | - | |
864 | | - | |
865 | | - | |
866 | | - | |
867 | | - | |
868 | | - | |
869 | | - | |
870 | | - | |
871 | | - | |
872 | | - | |
873 | | - | |
874 | | - | |
875 | | - | |
876 | | - | |
877 | | - | |
878 | | - | |
879 | | - | |
880 | | - | |
881 | | - | |
882 | | - | |
883 | | - | |
884 | | - | |
885 | | - | |
| 838 | + | |
886 | 839 | | |
887 | 840 | | |
888 | 841 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
596 | 596 | | |
597 | 597 | | |
598 | 598 | | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
| 604 | + | |
599 | 605 | | |
600 | 606 | | |
601 | 607 | | |
| |||
1108 | 1114 | | |
1109 | 1115 | | |
1110 | 1116 | | |
| 1117 | + | |
1111 | 1118 | | |
1112 | 1119 | | |
1113 | 1120 | | |
1114 | | - | |
| 1121 | + | |
| 1122 | + | |
| 1123 | + | |
| 1124 | + | |
| 1125 | + | |
1115 | 1126 | | |
1116 | 1127 | | |
1117 | 1128 | | |
| |||
1217 | 1228 | | |
1218 | 1229 | | |
1219 | 1230 | | |
| 1231 | + | |
1220 | 1232 | | |
1221 | 1233 | | |
1222 | 1234 | | |
| |||
1244 | 1256 | | |
1245 | 1257 | | |
1246 | 1258 | | |
| 1259 | + | |
| 1260 | + | |
| 1261 | + | |
| 1262 | + | |
| 1263 | + | |
| 1264 | + | |
| 1265 | + | |
| 1266 | + | |
1247 | 1267 | | |
1248 | 1268 | | |
1249 | 1269 | | |
| |||
0 commit comments