diff options
| author | かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com> | 2024-10-07 09:07:02 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-10-07 09:07:02 +0900 |
| commit | d2f1d45ea36f16432a4b9df771bf974bbe7ef416 (patch) | |
| tree | 906e28b83a500bca80e44c576d0e753b49b62071 | |
| parent | make animatedMfm enable by default (diff) | |
| download | sharkey-d2f1d45ea36f16432a4b9df771bf974bbe7ef416.tar.gz sharkey-d2f1d45ea36f16432a4b9df771bf974bbe7ef416.tar.bz2 sharkey-d2f1d45ea36f16432a4b9df771bf974bbe7ef416.zip | |
fix(frontend): クライアント上での時間ベースの実績獲得動作が実績獲得後も発動している問題を修正 (#14717)
* Check if time-based achievements are unlocked before initializing them in main-boot
(cherry picked from commit c0702fd92f70782005517c0065048ececa1ef287)
* Update Changelog
---------
Co-authored-by: Evan Paterakis <evan@geopjr.dev>
| -rw-r--r-- | CHANGELOG.md | 2 | ||||
| -rw-r--r-- | packages/frontend/src/boot/main-boot.ts | 28 |
2 files changed, 19 insertions, 11 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 85f5da28dd..405ee7c10a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,8 @@ ### Client - Enhance: デザインの調整 - Enhance: ログイン画面の認証フローを改善 +- Fix: クライアント上での時間ベースの実績獲得動作が実績獲得後も発動していた問題を修正 + (Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/657) ### Server - Enhance: セキュリティ向上のため、ログイン時にメール通知を行うように diff --git a/packages/frontend/src/boot/main-boot.ts b/packages/frontend/src/boot/main-boot.ts index ddd47ca448..76459ab330 100644 --- a/packages/frontend/src/boot/main-boot.ts +++ b/packages/frontend/src/boot/main-boot.ts @@ -230,19 +230,25 @@ export async function mainBoot() { claimAchievement('collectAchievements30'); } - window.setInterval(() => { - if (Math.floor(Math.random() * 20000) === 0) { - claimAchievement('justPlainLucky'); - } - }, 1000 * 10); + if (!claimedAchievements.includes('justPlainLucky')) { + window.setInterval(() => { + if (Math.floor(Math.random() * 20000) === 0) { + claimAchievement('justPlainLucky'); + } + }, 1000 * 10); + } - window.setTimeout(() => { - claimAchievement('client30min'); - }, 1000 * 60 * 30); + if (!claimedAchievements.includes('client30min')) { + window.setTimeout(() => { + claimAchievement('client30min'); + }, 1000 * 60 * 30); + } - window.setTimeout(() => { - claimAchievement('client60min'); - }, 1000 * 60 * 60); + if (!claimedAchievements.includes('client60min')) { + window.setTimeout(() => { + claimAchievement('client60min'); + }, 1000 * 60 * 60); + } // 邪魔 //const lastUsed = miLocalStorage.getItem('lastUsed'); |