跪拜 Guibai
← Back to the summary

Qoder CN's Daily 100 Credits Were Missing; app.asar Shows a Server Flag Was the Real Gate

Qoder CN daily 100 Credits unclaimable, so I tore through the client

The official activity page says: open Qoder CN desktop, click "usage panel -> gift icon" in the lower left, and you can claim that day's 100 Credits.

I did exactly that. The gauge icon in the lower left shows "View my usage" on hover, and clicking it opens qoder.cn/account/usage in the browser. The page only has "Upgrade" and "Purchase resource pack" buttons.

Where is the gift icon? Nowhere.

First: suspect my version is old

My account is Free, and the rules say free users can claim, so the only remaining possibility is the version. The campaign started on September 18; maybe my build doesn't have this feature yet.

Open resources/build-manifest.json in the installation directory:

{
  "productVersion": "0.4.11",
  "releaseChannel": "stable",
  "buildTime": "2026-10-23T06:45:57.506Z"
}

A stable build made that same morning. Version is ruled out; the problem isn't mine.

Second: the "gift icon" is actually the "Benefits Center"

The UI copy is packed in resources/app.asar. An asar is just a concatenated archive; Chinese text can be searched as plaintext:

cd "<install dir>/resources"
grep -a -o -P ".{60}权益.{200}" app.asar | head

The output is revealing. The usage panel strings look like this:

ariaLabel: "View my usage"
ariaLabelCampaignClaimable: "View my usage, there is a benefits campaign to claim"
campaign: "Benefits campaign"
openCampaign: "Open benefits campaign"
campaignLoadFailed: "Campaign load failed"

The user menu (the one that expands when you click your avatar) has another group:

rewardsCenter: "Benefits Center"
rewardsClaimable: "Benefits Center, there are benefits to claim"

So the "gift icon" in the docs is called "Benefits Center" in the actual 0.4.11 interface. The docs didn't update the wording; that's the direct reason many people (including me) couldn't find it.

More importantly, that first group has two lines. The same icon has two tooltips: when there's no campaign it shows "View my usage"; when something claimable exists it shows "View my usage, there is a benefits campaign to claim."

The screenshot I saw showed the former. In other words, the icon wasn't hidden; the client explicitly knew "there is nothing claimable for you right now."

Further down, there's a set of state fields:

{ notifications: [], hasClaimableCampaign: false,
  shouldShowCampaignPopup: false, campaignPopupUrl: "" }

hasClaimableCampaign comes from a server-side endpoint and requires an access token. It can't be changed locally. The grayed-out menu item is a direct result of it being false.

Also, when there is a claimable round, the client pops up the campaign window by itself (shouldShowCampaignPopup); no need to hunt for the entry.

Third: a few easy traps in the campaign rules

This part isn't my discovery; it's on the official campaign page, but many people don't read carefully:

Every day it opens at 10:00 Beijing time and ends at 10:00 the next day. Missed claims can't be made up, and unclaimed credits don't carry over. Each claim has its own 30-day validity period: today's 100 won't be extended just because you claim again tomorrow.

Eligible: Experience, Pro, Advanced, Flagship, membership card, Free, and Trial; both new and existing accounts work. Enterprise subscriptions (Team, Enterprise Standard, Enterprise Exclusive) are not eligible.

Claiming is desktop-only; web, mobile, IDE, and CLI have no entry.

One place the official docs don't align

The campaign page lists 8 products where claimed Credits can be used: Qoder CN, Qoder CN IDE, JetBrains plugin, CLI, QoderWake CN, Cloud Agents CN, mobile, and web.

QoderWork CN is not on that list.

But QoderWork CN's own Windows install doc says it "shares the same account system as Qoder desktop and Qoder CLI, so Credits balance and plan benefits are shared across all Qoder products."

The two don't match. Regular plan Credits sharing is certain; whether campaign-gifted Credits can be spent in QoderWork CN I haven't verified, so I won't draw a conclusion. I'll just put both claims here.

Fourth: why is the "Benefits Center" gray?

The Benefits Center in the user menu is gray and can't be clicked

To be clear: the first point below can be inferred from code; the rest are just directions to check. I can't confirm your account-side state for you.

What the code confirms: menu disabled = hasClaimableCampaign is false, and that value comes from the server.

Worth checking yourself: is the client signed in with an enterprise or team identity? Enterprise subscriptions aren't eligible, and if that's the reason, the gray is exactly correct per the rules.

It could also be that you already claimed that day, or the campaign API didn't return data this time. The copy even includes campaignLoadFailed: "Campaign load failed", meaning the endpoint can indeed fail.

The order I'd suggest is three steps: fully exit the client (not just close the window) and reopen it; if that doesn't work, sign out and sign back in with a personal account; if that still doesn't work, file feedback.

The feedback entry is the ? button in the lower right of the main window. Submitting automatically attaches this run's logs. Logs live in %APPDATA%\com.qodercn.app.stable\logs\, sorted by startup time; the most recent one is this run. When writing feedback, state the account name, subscription tier, and "Benefits Center disabled + no campaign resource pack on the web usage page"; that saves a few round trips.

(The day after this post went out, the gray cleared on its own. The reason is in the update below.)

I'm probably not the only one

In the Qoder CN Q&A section on Alibaba Cloud Developer Community, someone asked almost the same thing a couple of days ago:

My qodercn daily 100 claim is gone. I checked and the campaign hasn't ended, and my version is Experience, which is in the eligible range

I looked around and found no official response.

So if yours is also gray, don't reinstall the client; that won't change the value the server returns to you. File feedback and let the official check the account; it's faster.

Sixth: the next day, it fixed itself

On the second day, the afternoon of October 24, I opened the user menu first: Benefits Center was no longer gray and could be clicked.

The next day, Benefits Center was no longer gray and opened normally

Once the entry worked, the rest was smooth. Clicking the usage panel in the lower left popped up a claimable window: "Exclusive benefits campaign, claim now", title "Get 100 Credits every day".

The exclusive benefits campaign popup; after claiming, the button changes to 'Claimed'

Click claim, get a "Claimed successfully, Credits have arrived", and the button turns into "Claimed". The small text below says refresh daily at 10:00 (UTC+8) and valid for 30 days after claiming.

Only later did it click: the menu and the popup are actually the same switch. If the server says there's something to claim today, the menu isn't gray and the popup also comes on its own. So it wasn't that I did some step right; it was that the time had arrived. The only variable in the timeline is that this account was registered on October 23: gray that day, normal the next day.

I won't claim this is definitely the only cause, but the earlier troubleshooting wasn't wasted: the gray really is caused by hasClaimableCampaign being false. That conclusion holds. What was wrong was the reason I assigned to that false: I thought some qualification was missing, but actually it just wasn't my turn yet.

So if you're here on the day you just registered, don't bother uninstalling and reinstalling, and don't rush to file feedback. Look again the next day.

If you want to reproduce it yourself

# Check version and build time
cat "<install dir>/resources/build-manifest.json"

# Search UI copy and confirm the real label for "Benefits Center"
grep -a -o -P ".{60}权益.{200}" "<install dir>/resources/app.asar" | head

# Locate campaign state fields
grep -a -b -o "Claimable" "<install dir>/resources/app.asar" | head

On Windows the install directory is usually Qoder CN under your user directory.

This only reads strings from files already installed locally; no cracking, no logic modification, and no effect on account state. Campaign rules are subject to the official campaign page.