fix(sdlc-rename): сбой переноса ключа хранилища не теряет значение
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
ef9ec9f46d
commit
3ade954713
@ -28,4 +28,16 @@ describe("readMigrated", () => {
|
||||
vi.spyOn(Storage.prototype, "getItem").mockImplementation(() => { throw new Error("closed"); });
|
||||
expect(readMigrated("sdlc-hub-token")).toBeNull();
|
||||
});
|
||||
|
||||
it("бросающий setItem при переносе: значение всё равно возвращается", () => {
|
||||
localStorage.setItem("jira-hub-token", "abc");
|
||||
vi.spyOn(Storage.prototype, "setItem").mockImplementation(() => { throw new Error("quota"); });
|
||||
expect(readMigrated("sdlc-hub-token")).toBe("abc");
|
||||
});
|
||||
|
||||
it("бросающий removeItem при переносе: значение всё равно возвращается", () => {
|
||||
localStorage.setItem("jira-hub-token", "abc");
|
||||
vi.spyOn(Storage.prototype, "removeItem").mockImplementation(() => { throw new Error("closed"); });
|
||||
expect(readMigrated("sdlc-hub-token")).toBe("abc");
|
||||
});
|
||||
});
|
||||
|
||||
@ -11,8 +11,10 @@ export function readMigrated(key: string): string | null {
|
||||
const oldKey = OLD + key.slice(NEW.length);
|
||||
const v = localStorage.getItem(oldKey);
|
||||
if (v === null) return null;
|
||||
localStorage.setItem(key, v);
|
||||
localStorage.removeItem(oldKey);
|
||||
try {
|
||||
localStorage.setItem(key, v);
|
||||
localStorage.removeItem(oldKey);
|
||||
} catch { /* перенос не удался: значение всё равно отдаём, старый ключ останется */ }
|
||||
return v;
|
||||
} catch { return null; }
|
||||
}
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
// клиентский токен хаба: localStorage["sdlc-hub-token"] (со старого "sdlc-hub-token" переносится при чтении) и копия в памяти на случай
|
||||
// клиентский токен хаба: localStorage["sdlc-hub-token"] (со старого "jira-hub-token" переносится при чтении) и копия в памяти на случай
|
||||
// закрытого хранилища. reason — почему показан экран входа: "bad" — токен не подошёл (ответ 401)
|
||||
import { readMigrated } from "../api/legacyStorage";
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user