Skip to content

release: v2.3.3 - #968

Merged
vilenarios merged 5 commits into
mainfrom
release/2.3.3
Aug 11, 2026
Merged

release: v2.3.3#968
vilenarios merged 5 commits into
mainfrom
release/2.3.3

Conversation

@vilenarios

Copy link
Copy Markdown
Contributor

Summary

  • Fix: Turbo credit balance 404 for Solana users — pass wallet tokenType explicitly instead of address-format guessing
  • Fix: Atomic buyRecord defaulting @ record target to ar.io logo instead of landing page — now passes antState with LANDING_PAGE_TXID
  • Perf: Manage domain page — replaced full ArNS registry scan (~4k+ accounts) with single PDA lookup, parallelized ANT state + write instance init, filtered associated-names query

Test plan

  • Verify Turbo credit balance loads without 404 for Solana users
  • Purchase a new name and verify it resolves to landing page, not ar.io logo
  • Navigate to manage domain page and verify fast load
  • Verify associated names, domain settings, and undernames display correctly

🤖 Generated with Claude Code

vilenarios and others added 5 commits August 11, 2026 12:25
…target

Without antState, the SDK defaults the @ record's transactionId to
ARIO_LOGO_TX_ID (the ar.io logo image). By passing
createAntStateForOwner() — which sets transactionId to LANDING_PAGE_TXID
— newly purchased names resolve to the proper landing page instead of
the logo.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
fix: pass antState to atomic buyRecord so new names use landing page target
…ss guessing (#965)

The TurboArNSClient was detecting token type by inspecting the wallet
address format. When the address was undefined or detection failed, it
defaulted to 'arweave', causing 404s on the Turbo payment service for
Solana users. Now accepts an explicit tokenType from the wallet connector.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…ntire registry (#967)

* fix: use single-record lookup in useDomainInfo instead of scanning entire registry

useDomainInfo was calling getArNSRecords (plural) with no effective
filter, which fetches and deserializes every ArNS record on-chain
(~4k+ accounts) just to find one by name. Replace with getArNSRecord
(singular) — a single PDA read — and parallelize ANT state + write-
instance initialization via Promise.all.

Associated names now use a filtered getArNSRecords call with the real
processId, which hits the efficient memcmp path instead of scanning.

Also adds 'arns-record' (singular) cache key to invalidation predicates
in DomainSettings and dispatchArIOInteraction so the new cache entries
are properly busted after transactions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: include arns-record in useDomainInfo refetch invalidation

The refetch helper invalidates cached queries by key name, but was
missing the new 'arns-record' (singular) key used by the optimized
single-record lookup. Without this, manual refetch would return stale
record data from the nested fetchQuery.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: address CodeRabbit findings on useDomainInfo

- Remove catch-all `.catch(() => null)` on record lookup so real SDK/RPC
  errors propagate instead of being silently swallowed
- Include lowerCaseDomain(domain) in refetch invalidation keyVals so the
  arns-record cache key (which uses the normalized name) is properly busted

Skipped: emitting ANTStateError via eventEmitter — the original code also
didn't emit; errors surface through DomainInfo.errors to the UI already.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@vilenarios
vilenarios requested a review from a team as a code owner August 11, 2026 18:30
@coderabbitai

coderabbitai Bot commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

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

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: ba8672af-cef8-496d-8bde-9740cb2c1052

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

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.

@vilenarios
vilenarios merged commit 119b926 into main Aug 11, 2026
7 checks passed
@vilenarios
vilenarios deleted the release/2.3.3 branch August 11, 2026 18:37
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