Repository navigation
Conversation
6d54d39 to
9ee44d7
Compare
64fe7a4 to
b2820b6
Compare
b2820b6 to
e77b0c4
Compare
e77b0c4 to
e8918bf
Compare
e8918bf to
db3d733
Compare
220b7bb to
d335e3d
Compare
d335e3d to
14fc24b
Compare
14fc24b to
2d253c7
Compare
1241c56 to
4772fa1
Compare
4772fa1 to
524a487
Compare
524a487 to
376ccf9
Compare
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2d67646051
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| {result.claimLink ? ( | ||
| <a | ||
| className="btn btn-primary" | ||
| href={result.claimLink} |
There was a problem hiding this comment.
Expose sticker claims through the SDK and bb CLI
The new sticker-claim feature is available only through the survey's web UI. Searching packages/sdk, packages/plugin-sdk, and apps/cli finds no survey submission or sticker-claim surface, so SDK and CLI users cannot obtain the claim link through a supported interface. Add and document corresponding SDK and CLI entry points alongside this UI, as required by the root AGENTS.md feature-parity rule.
AGENTS.md reference: AGENTS.md:L26-L26
Useful? React with 👍 / 👎.
21fa41b to
e972839
Compare
Each saved survey claims one random one-time Shopify code, at most one per normalized email, in the same D1 batch as the answers. The thank-you view links to the store's cart with the code applied and the email filled in. BB-Thread-ID: thr_yz6t8hi7s8 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The save batch now reserves a claim with a random stored code, under a pack limit and one claim per normalized email, then creates a one-time discount for that code through the Admin API. A claim Shopify can't create stays pending. Nothing has to be loaded into the database, and the deploy workflow syncs the Shopify app credentials when they exist. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Fetch the token once per create and skip the lookup when the token itself failed, refuse redirects so credentials never follow one, surface GraphQL error codes as the failure reason, default the pack limit to 1000, and don't report a saved survey as failed when the follow-up status write fails. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
claims.ts now owns the save batch, the Shopify step and the claim messages, so the handler only checks the request and replies. The Shopify client fetches a token per create instead of caching one, reports failures as auth, unreachable or rejected, and the tests use one Shopify mode per case. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
e972839 to
7721475
Compare
Human comments
What was wrong
Survey finishers had no way to claim their thank-you stickers, and a list of codes would have had to be hand-loaded into the production database. Layer 3 of 4.
What changed
+tags), up toCOMMUNITY_STICKER_LIMIT(1000).claims.tsowns the claim: the save batch, the Shopify step and the messages. The handler only checks the request and replies.community_sticker_claimandcommunity_survey_emailtables from Add a community survey API that stores answers #6624's migration.deploy-web.ymlsyncsSHOPIFY_CLIENT_IDandSHOPIFY_CLIENT_SECRETfrom GitHub secrets and skips them while they're unset.How you verified
BB-Thread-ID: thr_yz6t8hi7s8