Skip to content

feat(ui): add the search-resolve query and types - #9675

Merged
JSONbored merged 2 commits into
mainfrom
feat/ui-search-resolve
Aug 6, 2026
Merged

feat(ui): add the search-resolve query and types#9675
JSONbored merged 2 commits into
mainfrom
feat/ui-search-resolve

Conversation

@JSONbored

@JSONbored JSONbored commented Aug 6, 2026

Copy link
Copy Markdown
Owner

Part of #9674, ahead of the component change.

#9672 shipped GET /api/v1/search/resolve. This adds the client half — searchResolveQuery plus the ResolvedIdentifier / SearchResolveResponse types — without touching a component, so it goes through the normal gate rather than being held for manual review alongside a visual diff.

staleTime: Infinity, which nothing else here uses

The answer is a pure function of the query: the same string resolves to the same destinations forever, and nothing on the server can change it. Any finite staleTime would re-request an answer that cannot have moved.

Deliberately separate from semanticSearchQuery

They are independent and meant to run side by side. Resolve is deterministic and needs no AI binding; semantic needs both. An explorer's most common search must never wait on — or fail because of — the embedding path.

Verification

  • apps/ui lib tests: 142 files / 1,146 passed
  • three new tests: the query key (network-scoped, as k() builds it), that it never fires on whitespace, and the staleTime: Infinity rationale
  • apps/ui typecheck: 0 errors
  • no component touched, so no visual diff and no screenshot table

A correction to an earlier revision of this description

I first described four apps/ui type errors as pre-existing. They were not defects at all — apps/ui typechecks against @jsonbored/metagraphed and @jsonbored/ui-kit, and neither workspace had been built in this worktree, so ApiSchema<"PartnershipMetadata"> and friends resolved against absent declarations. Building both clears all of them. Nothing in the codebase needed fixing; my checkout did.

The component wiring — and the decisions already settled for it — is #9674.

Part of #9674, ahead of the component change.

#9672 shipped GET /api/v1/search/resolve. This adds the client half --
searchResolveQuery plus the ResolvedIdentifier / SearchResolveResponse types --
without touching a component, so it goes through the normal gate instead of
being held for manual review alongside a visual diff.

## staleTime: Infinity, which nothing else here uses

The answer is a PURE FUNCTION of the query: the same string resolves to the
same destinations forever, and nothing on the server can change it. Any finite
staleTime would re-request an answer that cannot have moved.

## Deliberately separate from semanticSearchQuery

They are independent, and meant to run side by side. Resolve is deterministic
and needs no AI binding; semantic needs both. An explorer's most common search
must never wait on -- or fail because of -- the embedding path.

- apps/ui lib tests: 142 files / 1,146 passed
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Aug 6, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
✅ Deployment successful!
View logs
metagraphed-ui 01e1c4d Aug 06 2026, 12:00 PM

@JSONbored JSONbored self-assigned this Aug 6, 2026
@superagent-security

Copy link
Copy Markdown

Superagent didn't find any vulnerabilities or security issues in this PR.

@github-actions
github-actions Bot deployed to preview/pr-9675 August 6, 2026 11:59 Active
The previous commit added the import but not the tests -- a failed `cd` in the
same command swallowed the append, leaving an unused import that tsc flagged.

Written in this file's `expect` style rather than node:assert, and the query-key
assertion carries the real shape: `k()` namespaces and network-scopes every key,
which matters here because this route is in LIVE_CHAIN_ROUTE_PATHS and answers
on testnet too.
@github-actions
github-actions Bot deployed to preview/pr-9675 August 6, 2026 12:03 Active
@JSONbored
JSONbored merged commit a6fba17 into main Aug 6, 2026
7 checks passed
@JSONbored
JSONbored deleted the feat/ui-search-resolve branch August 6, 2026 12:08
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