Skip to content

Commit e9b3aab

Browse files
authored
Merge pull request #3295 from codecrafters-io/remove-local-storage-migration-code
Remove legacy `localStorage` keys migration code
2 parents 2f5d130 + e1c0029 commit e9b3aab

File tree

2 files changed

+1
-57
lines changed

2 files changed

+1
-57
lines changed

app/services/local-storage.ts

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -29,17 +29,6 @@ function getLocalStorageKeys(): string[] {
2929
* may be unavailable and convenience methods for common operations.
3030
*/
3131
export default class LocalStorageService extends Service {
32-
/**
33-
* Initialize the service and perform cleanup of known legacy keys.
34-
* TODO: legacy key removal is temporary and can be removed after migration.
35-
*/
36-
constructor() {
37-
super();
38-
39-
// TODO: Remove legacy keys from local storage - safe to drop a month after merge
40-
this.clearLegacyKeys();
41-
}
42-
4332
/**
4433
* Number of prefixed keys available in window.localStorage.
4534
*/
@@ -56,22 +45,6 @@ export default class LocalStorageService extends Service {
5645
}
5746
}
5847

59-
/**
60-
* Remove known legacy keys that were stored without the current prefix.
61-
* This is a one-time migration helper.
62-
*/
63-
clearLegacyKeys() {
64-
for (const key of [
65-
'current_user_cache_v1:user_id',
66-
'current_user_cache_v1:username',
67-
'preferred-language-leaderboard-v1',
68-
'leaderboard-team-selection-v1',
69-
'session_token_v1',
70-
]) {
71-
window.localStorage?.removeItem(key);
72-
}
73-
}
74-
7548
/**
7649
* Get a value from localStorage for the given key (unprefixed).
7750
*

tests/unit/services/local-storage-test.js

Lines changed: 1 addition & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -49,38 +49,9 @@ module('Unit | Service | local-storage', function (hooks) {
4949
service.clear();
5050

5151
// prefixed keys removed
52-
assert.strictEqual(service.getItem('existing'), null, 'existing prefixed removed');
53-
assert.strictEqual(service.getItem('temp'), null, 'temp prefixed removed');
52+
assert.strictEqual(service.getItem('temp'), null, 'prefixed key is removed');
5453

5554
// non-prefixed untouched
5655
assert.strictEqual(window.localStorage.getItem('other:keep'), 'y', 'non-prefixed key remains');
5756
});
58-
59-
test('clearLegacyKeys removes legacy keys from raw localStorage', function (assert) {
60-
const initial = {
61-
'cc-frontend:existing': 'yes',
62-
'external:keep': 'stay',
63-
// legacy keys that clearLegacyKeys should remove
64-
'current_user_cache_v1:user_id': '1',
65-
'current_user_cache_v1:username': 'u',
66-
'preferred-language-leaderboard-v1': 'en',
67-
'leaderboard-team-selection-v1': 'team',
68-
session_token_v1: 'token',
69-
};
70-
71-
for (const key of Object.keys(initial)) {
72-
window.localStorage.setItem(key, initial[key]);
73-
}
74-
75-
const service = this.owner.lookup('service:local-storage');
76-
service.clearLegacyKeys();
77-
78-
assert.strictEqual(window.localStorage.getItem('cc-frontend:existing'), 'yes', 'cc-frontend:existing is preserved');
79-
assert.strictEqual(window.localStorage.getItem('external:keep'), 'stay', 'external:keep is preserved');
80-
assert.strictEqual(window.localStorage.getItem('current_user_cache_v1:user_id'), null, 'legacy user_id removed');
81-
assert.strictEqual(window.localStorage.getItem('current_user_cache_v1:username'), null, 'legacy username removed');
82-
assert.strictEqual(window.localStorage.getItem('preferred-language-leaderboard-v1'), null, 'legacy preferred-language removed');
83-
assert.strictEqual(window.localStorage.getItem('leaderboard-team-selection-v1'), null, 'legacy leaderboard-team-selection removed');
84-
assert.strictEqual(window.localStorage.getItem('session_token_v1'), null, 'legacy session_token removed');
85-
});
8657
});

0 commit comments

Comments
 (0)