From 6bcf6d66a3e297ac514d46a3ca23d10dae6b32f3 Mon Sep 17 00:00:00 2001 From: Frederik Rothenberger Date: Wed, 27 Mar 2024 09:43:11 +0100 Subject: [PATCH] Improve message for unsupported stable memory version (#2389) Improve the error message if an II release is installed on a canister with incompatible stable memory layout. --- src/internet_identity/src/storage.rs | 2 +- src/internet_identity/tests/integration/stable_memory.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/internet_identity/src/storage.rs b/src/internet_identity/src/storage.rs index 25b85f5230..6f2429dfea 100644 --- a/src/internet_identity/src/storage.rs +++ b/src/internet_identity/src/storage.rs @@ -292,7 +292,7 @@ impl Storage { if &header.version < SUPPORTED_LAYOUT_VERSIONS.start() { trap(&format!( "stable memory layout version {} is no longer supported:\n\ - Either reinstall (wiping stable memory) or migrate using a previous II version\n\ + Either reinstall (wiping stable memory) or upgrade sequentially to the latest version of II by installing each intermediate version in turn.\n\ See https://github.com/dfinity/internet-identity#stable-memory-compatibility for more information.", header.version )); diff --git a/src/internet_identity/tests/integration/stable_memory.rs b/src/internet_identity/tests/integration/stable_memory.rs index b0e6ebc5b0..23d0bf43b2 100644 --- a/src/internet_identity/tests/integration/stable_memory.rs +++ b/src/internet_identity/tests/integration/stable_memory.rs @@ -295,7 +295,7 @@ fn should_trap_on_old_stable_memory() -> Result<(), CallError> { CallError::Reject(err) => panic!("unexpected error {err}"), CallError::UserError(err) => { assert_eq!(err.code, CanisterCalledTrap); - assert!(err.description.contains("stable memory layout version 1 is no longer supported:\nEither reinstall (wiping stable memory) or migrate using a previous II version")); + assert!(err.description.contains("stable memory layout version 1 is no longer supported:\nEither reinstall (wiping stable memory) or upgrade sequentially to the latest version of II by installing each intermediate version in turn")); } } Ok(())