Skip to content

fix(release): v1.3.5 prevent duplicate +10 Arcade Bonus Milestone - #258

Merged
hoangsvit merged 22 commits into
devfrom
fix/bonus-milestone-popup-double-count-20261030
Oct 30, 2026
Merged

hoangsvit merged 22 commits into
devfrom
fix/bonus-milestone-popup-double-count-20261030

Conversation

@hoangsvit

@hoangsvit hoangsvit commented Oct 30, 2026 •

Copy link
Copy Markdown
Member

Problem

On the Arcade Points extension popup, the headline shows 140 while the avatar badge shows 130 for the same profile. The confirmed +10 Bonus Milestone chip was directly rewriting only the headline DOM, independent of the signed API score, avatar, tier and toolbar badge.

The storage layer also overwrote arcadePoints.totalPoints with a bonus-adjusted derived score, which could be adjusted again after reloading. UI and account options calculated local bonuses without checking the API's facilitator.bonusIncludedInTotal guard.

Fix

  • Make the Bonus Milestone chip status + explicit confirmation only. Its existing confirmation flow still triggers the signed Arcade API refresh; it no longer adds +10 to the headline DOM.
  • Persist the original Arcade API score rather than a locally adjusted score in both active-account and legacy snapshots.
  • Respect facilitator.bonusIncludedInTotal in popup, account options and action badge calculations.
  • Add tests for an API-confirmed 130 staying 130 despite a displayed ✓ +10 chip, plus preserved API snapshot.
  • Update architecture documentation.

DeepSource follow-up (October 30, 2026)

  • Refactored services/popupUIService.ts countdown to remove repeated Arcade-card creation and expired-state code.
  • Removed redundant empty catch blocks and unnecessary exception suppression around classList and timer cleanup.
  • Added JSDoc to countdown callbacks and replaced the discouraged void-discarded Promise with an error-handled asynchronous call.
  • Preserved Firebase Remote Config toggles, per-instance intervals, fallback deadlines, and localized expired-state rendering.
  • Added 3 tests for disabled countdowns, live interval updates, and creating a single Arcade card on Facilitator expiry.
  • Follow-up to the 11 DeepSource JavaScript findings: replaced six string-concatenation expressions with template literals in popupUIService.ts, and replaced five unnecessary async mock callbacks with explicit resolved Promises in popupUICountdown.test.ts (commits 6d37632 and 941fd16).
  • Before version bump, the Bonus Milestone fix passed CI, React Doctor, and both DeepSource checks at commit 414b4bb. Post-version-bump checks must be reviewed independently.

Release preparation — 1.3.5

  • Bump package.json from 1.3.4 to 1.3.5 (WXT reads manifest version from package metadata).
  • Add a 1.3.5 changelog section dated 2026-10-30.
  • This is a patch-only release; the signed Arcade v3 API contract is unchanged.
  • Do not tag on this PR: creating tag 1.3.5 triggers .github/workflows/release.yml, which publishes browser packages and submits to stores. Tag the approved main commit only after merging dev → main.
  • Verified at 70a70af: GitHub CI, React Doctor, DeepSource JavaScript, and DeepSource Code Formatters all PASS. Verify the 130/130 popup and avatar scenario on the built extension before publication.

Review checklist

  • yarn compile (CI)
  • yarn test:coverage (CI)
  • yarn build (CI)
  • yarn build:firefox
  • Confirm 130/130 popup and avatar after refresh, close/reopen, profile switch
  • Confirm manual claim and undo issue signed refresh and are period/profile scoped
  • Verify legitimate Facilitator milestone bonus when the API has not yet included it

Prepare for review and merge into dev, then propagate via the normal dev → main release process. This PR does not create a tag, publish to stores, or merge automatically.

@eplus-bot

Copy link
Copy Markdown
Contributor

Thank you for creating this pull request and helping make the project better.

We will review or merge it after the required checks pass.

@coderabbitai

coderabbitai Bot commented Oct 30, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: dcb33f52-c396-43d8-9682-fad2003c4cce

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@eplus-bot eplus-bot added the needs-review Pull request is ready for maintainer review label Oct 30, 2026
@eplus-bot eplus-bot added app Application or extension source code tests Test coverage or test tooling changes documentation Improvements or additions to documentation labels Oct 30, 2026
@eplus-bot
eplus-bot self-requested a review October 30, 2026 07:04
This commit fixes the style issues introduced in 424a5a8 according to the output
from Prettier.

Details: #258
@deepsource-io

deepsource-io Bot commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

DeepSource Code Review

We reviewed changes in 8d27072...70a70af on this pull request. Below is the summary for the review, and you can see the individual issues we found as inline review comments.

See full review on DeepSource ↗

PR Report Card

Overall Grade   Security  

Reliability  

Complexity  

Hygiene  

Code Review Summary

Analyzer Status Updated (UTC) Details
JavaScript Oct 30, 2026 8:31a.m. Review ↗

Important

AI Review is run only on demand for your team. We're only showing results of static analysis review right now. To trigger AI Review, comment @deepsourcebot review on this thread.

hoangsvit and others added 2 commits October 30, 2026 14:05
This commit fixes the style issues introduced in 7e9d041 according to the output
from Prettier.

Details: #258
@hoangsvit
hoangsvit marked this pull request as ready for review October 30, 2026 07:12
@qodo-code-review

Copy link
Copy Markdown

ⓘ Qodo reviews are paused because the subscription is no longer active. Ask your workspace admin to reactivate the subscription to resume reviews. Manage billing

@eplus-bot eplus-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@eplus-bot

eplus-bot commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

CI passed

Approved by @eplus-bot after all pull request checks passed.

CI updated: 2026-10-30T08:32:26Z
CI attempt: #1
Approval workflow: #614.1

CI run: https://github.com/ePlus-DEV/google-cloud-skills-boost-helper/actions/runs/41027017644

@eplus-bot
eplus-bot self-requested a review October 30, 2026 07:20
deepsource-autofix Bot and others added 2 commits October 30, 2026 07:20
This commit fixes the style issues introduced in ceacc13 according to the output
from Prettier.

Details: #258

@eplus-bot eplus-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This commit fixes the style issues introduced in cce8b0a according to the output
from Prettier.

Details: #258
@eplus-bot
eplus-bot self-requested a review October 30, 2026 07:24

@eplus-bot eplus-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This commit fixes the style issues introduced in 941fd16 according to the output
from Prettier.

Details: #258
@eplus-bot
eplus-bot self-requested a review October 30, 2026 08:14

@eplus-bot eplus-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@eplus-bot eplus-bot added the build-ci Build, CI, release, or project configuration label Oct 30, 2026
@eplus-bot
eplus-bot self-requested a review October 30, 2026 08:31
@hoangsvit hoangsvit changed the title fix: prevent duplicate +10 Bonus Milestone score in popup fix(release): v1.3.5 prevent duplicate +10 Arcade Bonus Milestone Oct 30, 2026

@eplus-bot eplus-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@hoangsvit
hoangsvit merged commit 2056f6e into dev Oct 30, 2026
7 checks passed
@github-actions

Copy link
Copy Markdown
Contributor

Thanks for helping make Google Cloud Skills Boost - Helper better!

@hoangsvit
hoangsvit deleted the fix/bonus-milestone-popup-double-count-20261030 branch October 30, 2026 08:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

app Application or extension source code area: config area: docs area: services area: tests area: ui build-ci Build, CI, release, or project configuration documentation Improvements or additions to documentation needs-review Pull request is ready for maintainer review tests Test coverage or test tooling changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants