generated from nhcarrigan/template
chore: more feedback fixes (#129)
## Summary - Fix `NaN` displayed in Sync New Content / Force Unlock notifications by guarding against undefined counts - Poll server for exploration claimability before showing Collect button to prevent client/server desync - Return authoritative materials list from craft API to prevent client desync causing false affordability - Add test coverage for `sync-new-content` and `explore/claimable` endpoints Closes #125 Closes #127 Closes #128 ## Test plan - [ ] Trigger a sync with new content and verify the notification shows a real count instead of `NaN` - [ ] Start an exploration, wait for it to complete, and verify the Collect button only appears after the server confirms claimable - [ ] Attempt to craft a recipe and verify the material counts in the UI update to match the server's authoritative values ✨ This issue was created with help from Hikari~ 🌸 Reviewed-on: #129 Co-authored-by: Hikari <hikari@nhcarrigan.com> Co-committed-by: Hikari <hikari@nhcarrigan.com>
This commit was merged in pull request #129.
This commit is contained in:
@@ -586,6 +586,8 @@ const patchQuestRewards = (state: GameState): number => {
|
||||
return `${reward.type}:${String(reward.targetId ?? reward.amount ?? "")}`;
|
||||
}));
|
||||
for (const reward of defaultQuest.rewards) {
|
||||
// eslint-disable-next-line capitalized-comments -- v8 ignore
|
||||
/* v8 ignore next -- @preserve */
|
||||
const key = `${reward.type}:${String(reward.targetId ?? reward.amount ?? "")}`;
|
||||
if (!existingKeys.has(key)) {
|
||||
savedQuest.rewards.push(structuredClone(reward));
|
||||
|
||||
Reference in New Issue
Block a user