Skip to content

V1.23.0 - #2192

Open
scguaquetam wants to merge 6 commits into
mainfrom
v1.23.0
Open

V1.23.0#2192
scguaquetam wants to merge 6 commits into
mainfrom
v1.23.0

Conversation

@scguaquetam

Copy link
Copy Markdown
Member

No description provided.

* feat(support): require an on-chain reference on support tickets

- Add SUPPORT_REFERENCE_TYPES, the 0x-hex patterns for both shapes, and the
  shared isValidSupportReference helper in shared/constants/support.ts, so
  client and server validate against a single source of truth.
- Add the selector + input to SupportModal, pre-filled from the connected
  wallet via useAccount() and still editable. Changing the type clears the
  input so a value in the previous format can't be submitted. Validation is
  cross-field (superRefine) so the error message matches the chosen type.
- Re-validate referenceType/reference in the ticket route with the same
  patterns, wired into the existing FIELD_PRIORITY as invalid_reference_type
  and invalid_reference.
- Cover the validator with tests (format, crossed types, missing prefix,
  non-hex, off-by-one length).

* fix(support): address review feedback on the on-chain reference field

- Clear the reference error when the type changes. `setValue` leaves the
  previous error in place and `mode: 'onSubmit'` re-validates nothing until
  the next submit, so the message for the old type lingered under the field
  the change had just emptied.
- Replace the `as SupportReferenceType` cast with an `isSupportReferenceType`
  guard. The select emits '' on deselect, which the cast let through into the
  label and length lookups as if it were a valid type.
- Cap the input at the selected type's length (42 / 66) via
  SUPPORT_REFERENCE_MAX_LENGTHS, so a value that could only ever fail
  validation can't be typed in the first place.
- Escape the reference label and percent-encode the URL in formatReference.
  The schema already constrains it to 0x-hex, but this is the one place user
  input lands inside Slack's `<url|label>` syntax.
- Reuse EXPLORER_URL from lib/constants instead of re-deriving it in the
  route, moving the trailing-slash normalization there. Every consumer
  appends `/path`, so they all benefit.
- Carry the reference in the Slack fallback `text`, for notifications and
  clients that don't render blocks.
- Cover the route (validation, field priority, explorer link, captcha and
  delivery branches) and the modal (prefill, type switching, length caps,
  stale-error regression); parametrize the validator's negative cases over
  both reference types.
* feat(builders): show custom builder icons from IPFS

Builders were always rendered with a generated jdenticon. Add a temporary
registry mapping builder addresses to Pinata CIDs, so each builder can have
its own icon until this metadata can be served from a backend.

The registry is split in two layers — slug to CID, and address to slug — so a
builder's image is uploaded once and reused across networks. Address keys are
lowercased at module load, making the casing of new entries irrelevant.

Rendering goes through a new BuilderIcon component wrapping IpfsAvatar, which
falls back to the existing jdenticon for builders without an icon and for
images that fail to load. IpfsAvatar takes optional fallbackClassName and
fallbackValue so the previous identicons stay pixel-identical.

Applied to the builders table (desktop and mobile), BuilderCard, tx-history
and my-rewards backers.

* refactor(builders): resolve builder icons in a single place

* fix/adding correct CIDs for builders

* feat/adding addresses for TestnetQA check

* fix/adding JXLABS address to the list
@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None

@scguaquetam
scguaquetam marked this pull request as ready for review September 7, 2026 07:46
@scguaquetam
scguaquetam temporarily deployed to release-candidate-mainnet September 7, 2026 07:54 — with GitHub Actions Inactive
@scguaquetam
scguaquetam temporarily deployed to release-candidate-testnet September 7, 2026 07:54 — with GitHub Actions Inactive
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant