Preserve legacy settings across same-profile upgrades

This commit is contained in:
vorotamoroz
2026-07-22 06:21:54 +00:00
parent c669f64933
commit aad0e56f09
22 changed files with 2258 additions and 167 deletions
-10
View File
@@ -55,16 +55,6 @@ export interface CompatibilityEvaluationInput {
legacyReviewMessage: string;
}
const FILENAME_CASE_SENSITIVITY_UNRESOLVED = "filename-case-sensitivity-unresolved";
export function requiresFilenameCaseSensitivityDecision(pause: CompatibilityPause): boolean {
return pause.reasons.some(
(reason) =>
reason.source === "settings-schema" &&
reason.reviewReasons.some(({ code }) => code === FILENAME_CASE_SENSITIVITY_UNRESOLVED)
);
}
function databaseVersionReason(
acknowledgedVersion: string | null,
currentVersion: number,
@@ -109,11 +109,11 @@ describe("database compatibility evaluation", () => {
});
});
it("retains an unresolved filename-case decision in the host compatibility reason", () => {
it("retains a settings migration review in the host compatibility reason", () => {
const reviewReasons = [
{
code: "filename-case-sensitivity-unresolved",
fromVersion: 10,
code: "legacy-update-review-pending",
fromVersion: 9,
toVersion: 10,
},
];
@@ -121,7 +121,7 @@ describe("database compatibility evaluation", () => {
acknowledgedVersion: "12",
currentVersion: 12,
migrationState: migrationState({
sourceVersion: 10,
sourceVersion: 9,
targetVersion: 10,
requiresSyncReview: true,
reviewReasons,
@@ -131,7 +131,7 @@ describe("database compatibility evaluation", () => {
expect(result.pause?.reasons).toContainEqual({
source: "settings-schema",
sourceVersion: 10,
sourceVersion: 9,
currentVersion: 10,
isFromFutureSchema: false,
resumable: true,