Skip to content

chore: trigger client build - #2094

Merged
pikonha merged 3 commits into
devfrom
chore/trigger-client-deploy
Jul 29, 2026
Merged

chore: trigger client build#2094
pikonha merged 3 commits into
devfrom
chore/trigger-client-deploy

Conversation

@pikonha

@pikonha pikonha commented Jul 29, 2026

Copy link
Copy Markdown
Member

Note

Low Risk
Import-only reorder in codegen config; no logic, API, or security impact.

Overview
Reorders the ./src/generators import list in kubb.config.ts so mapEthereumFormatFakers is imported after mapEthereumFormatTypes instead of before it. No runtime or codegen behavior changes—same symbols, same Kubb plugin wiring.

Reviewed by Cursor Bugbot for commit fecea54. Configure here.

@vercel

vercel Bot commented Jul 29, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
anticapture-storybook Ready Ready Preview Jul 29, 2026 10:02pm
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
anticapture Ignored Ignored Jul 29, 2026 10:02pm

Request Review

@railway-app

railway-app Bot commented Jul 29, 2026

Copy link
Copy Markdown

🚅 Deployed to the anticapture-pr-2094 environment in anticapture-infra

Service Status Web Updated (UTC)
loki ✅ Success (View Logs) Jul 29, 2026 at 10:01 pm
tempo ✅ Success (View Logs) Jul 29, 2026 at 10:00 pm
grafana ✅ Success (View Logs) Web Jul 29, 2026 at 10:00 pm
prometheus ✅ Success (View Logs) Jul 29, 2026 at 10:00 pm
authful ✅ Success (View Logs) Web Jul 29, 2026 at 10:00 pm
alertmanager ✅ Success (View Logs) Web Jul 29, 2026 at 10:00 pm
gateful ✅ Success (View Logs) Web Jul 29, 2026 at 10:00 pm
otelcol ✅ Success (View Logs) Jul 29, 2026 at 10:00 pm
shutter-indexer-offchain ✅ Success (View Logs) Jul 29, 2026 at 9:26 pm
gitcoin-indexer-offchain ✅ Success (View Logs) Jul 29, 2026 at 9:26 pm
compound-indexer-offchain ✅ Success (View Logs) Jul 29, 2026 at 9:26 pm
ens-indexer-offchain ✅ Success (View Logs) Jul 29, 2026 at 9:25 pm
uniswap-indexer-offchain ✅ Success (View Logs) Jul 29, 2026 at 9:25 pm
mcp ✅ Success (View Logs) Web Jul 29, 2026 at 9:00 pm
docs ✅ Success (View Logs) Web Jul 29, 2026 at 9:00 pm
fluid-api ✅ Success (View Logs) Jul 29, 2026 at 8:59 pm
tornado-indexer ✅ Success (View Logs) Jul 29, 2026 at 8:59 pm
tornado-api ✅ Success (View Logs) Jul 29, 2026 at 8:59 pm
gitcoin-api ✅ Success (View Logs) Jul 29, 2026 at 8:59 pm
gitcoin-indexer ✅ Success (View Logs) Jul 29, 2026 at 8:59 pm
nouns-api ✅ Success (View Logs) Jul 29, 2026 at 8:59 pm
aave-indexer ✅ Success (View Logs) Jul 29, 2026 at 8:59 pm
nouns-indexer ✅ Success (View Logs) Jul 29, 2026 at 8:59 pm
uniswap-indexer ✅ Success (View Logs) Jul 29, 2026 at 8:59 pm
obol-api ✅ Success (View Logs) Jul 29, 2026 at 8:59 pm
compound-indexer ✅ Success (View Logs) Jul 29, 2026 at 8:59 pm
ens-api ✅ Success (View Logs) Jul 29, 2026 at 8:59 pm
shutter-api ✅ Success (View Logs) Jul 29, 2026 at 8:59 pm
shutter-indexer ✅ Success (View Logs) Jul 29, 2026 at 8:59 pm
aave-api ✅ Success (View Logs) Jul 29, 2026 at 8:59 pm
compound-api ✅ Success (View Logs) Jul 29, 2026 at 8:59 pm
ens-indexer ✅ Success (View Logs) Jul 29, 2026 at 8:59 pm
lil-nouns-api ✅ Success (View Logs) Jul 29, 2026 at 8:59 pm
lil-nouns-indexer ✅ Success (View Logs) Jul 29, 2026 at 8:59 pm
uniswap-api ✅ Success (View Logs) Jul 29, 2026 at 8:59 pm
address-enrichment ✅ Success (View Logs) Web Jul 29, 2026 at 8:59 pm
fluid-indexer ✅ Success (View Logs) Jul 29, 2026 at 8:59 pm
ens-relayer ✅ Success (View Logs) Jul 29, 2026 at 8:59 pm
scroll-indexer ✅ Success (View Logs) Jul 29, 2026 at 8:59 pm
obol-indexer ✅ Success (View Logs) Jul 29, 2026 at 8:59 pm
erpc ✅ Success (View Logs) Web Jul 29, 2026 at 8:59 pm
nodeful ✅ Success (View Logs) Jul 29, 2026 at 8:59 pm
scroll-api ✅ Success (View Logs) Jul 29, 2026 at 8:58 pm
user-api ✅ Success (View Logs) Web Jul 29, 2026 at 8:58 pm

@railway-app
railway-app Bot temporarily deployed to anticapture-infra / anticapture-pr-2094 July 29, 2026 20:57 Destroyed
@github-actions

github-actions Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

🔍 Vercel preview: https://anticapture-9cp91n0gs-ful.vercel.app

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b1e2a4089b

ℹ️ 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".


if (error) {
return <div className="text-primary p-4">Error: {error.message}</div>;
if (isProposalNotFoundError(error) || !proposal) {

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Handle request errors before the empty proposal state

When the proposal request fails with a non-404 error, such as a 500 response or network failure, the hook also returns no proposal, so !proposal selects this branch and incorrectly displays “Proposal not found.” The subsequent “Unable to load proposal” branch is therefore unreachable for normal request failures without cached data; classify error first and reserve the missing-proposal fallback for successful empty responses.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Collaborator

🎨 UI Review

Automated review · Figma: found but scope-mismatched — ClickUp DEV task "🗳️ Off-chain Proposals (Voting + Visualization)" links a Figma file for the Snapshot voting/ballot redesign, but that file has no frame depicting the proposal-list quorum marker or the proposal-not-found blank slate — the two things this PR actually changes. Findings below are diff + UX-expert evaluation, not Figma-validated.
⚠️ This PR's title/description ("chore: trigger client build," import-reorder only) is stale — a second commit (fix: add proposal not found state) landed after the Cursor Bugbot summary was written and is the real substance of this diff. Flagging in case the description needs updating before merge.
Live preview (anticapture-ei6lklo1t-ful.vercel.app) was not rendered in this pass — no headless browser available in this environment — so sizing/spacing claims below are read from the diff, not pixel-confirmed.

Scope: apps/dashboard/features/governance/components/proposal-overview/ (proposal list quorum marker + proposal-detail not-found state). The kubb.config.ts import reorder is a no-op, out of scope.


Governance proposal list — vote progress bar

Must-fix — raw error text shown to users
ProposalSection.tsx's new fallback for non-404 errors renders error.message directly as the BlankSlate description:

<BlankSlate title="Unable to load proposal" description={error.message} .../>

error.message comes straight from the fetch/query client (e.g. a raw Not Found, a network failure string, or whatever the generated client surfaces) — it's not written for end users and can leak implementation detail. Use a fixed, user-facing copy string here (e.g. "Something went wrong loading this proposal. Try refreshing.") instead of the raw error. (apps/dashboard/features/governance/components/proposal-overview/ProposalSection.tsx)

Nice-to-have — bar/marker size changed for every proposal, not just the new Snapshot ones
The refactor into a shared ProposalQuorumProgress also changed the visual spec for both on-chain and off-chain cards: bar track h-1h-1.5, quorum marker h-2 w-[2px]h-3.5 w-[3px]. That's a size bump on every proposal card in the list, not just the ones that gained the new Snapshot marker. With no Figma frame to check this against, worth a quick design confirmation that the new size is intentional rather than an incidental side effect of the refactor.

Nice-to-have — same icon/tone for "not found" vs "failed to load"
Both the not-found case and the generic-error case use icon={AlertOctagon} with variant="default". Consider differentiating (e.g. a neutral/search icon for "doesn't exist" vs. the alert icon reserved for the true error) so users can tell "this proposal was never here" apart from "something broke, try again." (ProposalSection.tsx)

Validated — no change needed

  • isProposalNotFoundError correctly narrows both the direct .status and nested .response.status 404 shapes, and is unit-tested (proposalErrors.test.ts) for both cases plus a non-404 negative case.
  • The not-found path now renders the DS BlankSlate component instead of the old raw <div className="text-primary p-4">Proposal not found</div> — correct DS reuse, no hand-rolled error markup.
  • New e2e coverage (governance.spec.ts) confirms the blank slate renders (and the generic route-error-fallback does not) for a 404'd proposal, and separately confirms the Snapshot quorum marker + "Quorum: 45" tooltip render for an offchain proposal — good regression coverage for exactly the two things this PR changes.

Mobile

No mobile-specific code in this diff; the progress bar and blank slate inherit existing responsive behavior from their parents — nothing new to check here.

Scope note

This is a UI-only review (visual fidelity, DS adherence, UX, copy) — architecture and hook/test structure are out of scope; the author has a code reviewer for that.


Generated by Claude Code

@railway-app
railway-app Bot temporarily deployed to anticapture-infra / anticapture-pr-2094 July 29, 2026 21:59 Destroyed
@pikonha
pikonha merged commit 2d547dc into dev Jul 29, 2026
55 of 57 checks passed
@pikonha
pikonha deleted the chore/trigger-client-deploy branch July 29, 2026 22:01

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ef5bd16966

ℹ️ 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".

Comment on lines +371 to +372
const offchainQuorumPercentage =
totalOffchainVotes > 0 ? (offchainQuorum / totalOffchainVotes) * 100 : 0;

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Hide the quorum marker when there are no votes

For a basic Snapshot proposal with a positive quorum but zero scores, this fallback sets the percentage to 0; hasOffchainQuorumMarker then evaluates true and renders the positive quorum threshold at the far-left 0% position. This misleadingly places the threshold as though no voting power were required, whereas proposals with some votes below quorum correctly hide the out-of-range marker. Treat the zero-total case as unreached and hide the marker.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants