Skip to content

feat(truapi)!: resolve public profile metadata - #1838

Open
pgherveou wants to merge 1 commit into
cbh/rfc-core-resolved-public-profilesfrom
pg/core-public-profile-avatars
Open

pgherveou wants to merge 1 commit into
cbh/rfc-core-resolved-public-profilesfrom
pg/core-public-profile-avatars

Conversation

@pgherveou

@pgherveou pgherveou commented Nov 2, 2026 •

Copy link
Copy Markdown
Collaborator

Hosts resolve dotNS profile metadata with resolvePublicProfile(username, force) and use the returned avatar CID with the shared image loader from #1906. Separating metadata from image bytes lets hosts refresh a profile without downloading an unchanged avatar.

Native profile records persist in SQLite for one hour; force bypasses that cache. The shared Rust resolver builds on WASM without a record cache. Native bindings expose canonical PublicProfile and ProfileAvatar values with BulletinCid and ImageFormat; JavaScript bindings remain deferred.

Independent registry views run concurrently on one pinned block through EvmContractCaller from #1873. Implementers of RuntimeApiCaller and DotnsTransport must provide call_batch and views.

RFC #1709 defines the record and caches. Android #1837, iOS #1843 and CLI #1844 consume the core.

@github-actions github-actions Bot added the size:XL 500 to 999 lines changed; consider splitting label Nov 2, 2026
@github-actions

github-actions Bot commented Nov 2, 2026

Copy link
Copy Markdown
Contributor

This pull request touches an app, which is not built by default. Add a label for each build you want:

  • Android build, ci:android-device: attaches an APK that installs on an Android phone or an emulator.

Each starts as soon as it is added and follows the branch from then on.

@github-actions

github-actions Bot commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

Bundle size report

Compared with main at ad0133a.

Raw Gzip Brotli
truapi-host 8.57 MiB (+3.9 KiB) 5.89 MiB (+964 B) 5.55 MiB (+398 B)
truapi-provider 4.04 MiB 1.27 MiB 961.3 KiB
truapi 7.92 MiB 1.11 MiB 920.7 KiB
trinity-stack 634.3 KiB 247.5 KiB 204.7 KiB
Total 21.15 MiB (+3.9 KiB) 8.51 MiB (+964 B) 7.59 MiB (+398 B)

WebAssembly modules

Raw Gzip Brotli
truapi-host/wasm/web/truapi_server_bg.wasm 3.45 MiB (+3.9 KiB, +0.1%) 1.20 MiB (+968 B, +0.1%) 910.3 KiB (+410 B)
truapi-host/wasm/web/truapi_verifiable_bg.wasm 4.89 MiB 4.64 MiB 4.61 MiB
truapi-provider/truapi_provider_bg.wasm 3.99 MiB 1.26 MiB 953.5 KiB
trinity-stack/wasm/trinity_stack_bg.wasm 564.5 KiB 230.5 KiB 190.0 KiB
Changed files (1)
Raw Gzip Brotli
truapi-host/wasm/web/truapi_server_bg.wasm 3.45 MiB (+3.9 KiB, +0.1%) 1.20 MiB (+968 B, +0.1%) 910.3 KiB (+410 B)

Commit: 212bf70

@github-actions

github-actions Bot commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

CI Status: 24 required jobs green, 20 passed and 4 skipped by path filter.

All job results
job result
android-app success
android-bindings success
bundle-size success
changes success
changeset-guard success
cli-package success
codegen success
e2e skipped
explorer success
headless-install success
host-wasm success
ios-app skipped
ios-bindings success
licenses success
playground success
provider-android-bindings skipped
release-guard success
rust success
ts-client success
ts-debugger success
ts-host success
ts-trinity-stack success
wasm-provider success
workflow-lint skipped

Signing credentials: valid as of 2026-11-06

Commit 212bf708 · run log

@pgherveou
pgherveou removed this pull request from stack #1839 November 2, 2026 17:24
@pgherveou
pgherveou changed the base branch from main to cbh/rfc-core-resolved-public-profiles November 2, 2026 17:24
@pgherveou
pgherveou added this pull request to stack #1841 November 2, 2026 17:25
@github-actions github-actions Bot added size:XXL 1000 lines or more; split it, or say in the description why it cannot be and removed size:XL 500 to 999 lines changed; consider splitting labels Nov 2, 2026
@pgherveou
pgherveou removed this pull request from stack #1841 November 3, 2026 08:55
@pgherveou
pgherveou added this pull request to stack #1853 November 3, 2026 08:55
@pgherveou
pgherveou marked this pull request as ready for review November 3, 2026 10:02
@pgherveou
pgherveou requested review from a team as code owners November 3, 2026 10:02
@github-actions github-actions Bot added the status:waiting-on-review Ready for a reviewer label Nov 3, 2026

@filvecchiato filvecchiato left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Two small inline points: check for a zero registry before the fallback TLD read, and log why an avatar fetch fails.
One thing to coordinate before merge: v8_to_v9_public_profiles takes schema version 9, which #1757 also takes (v8_to_v9_pocket_cards). Whichever merges second needs to renumber.

@filvecchiato filvecchiato left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Two small inline points: check for a zero registry before the fallback TLD read, and log why an avatar fetch fails.
One thing to coordinate before merge: v8_to_v9_public_profiles takes schema version 9, which #1757 also takes (v8_to_v9_pocket_cards). Whichever merges second needs to renumber.

@pgherveou
pgherveou force-pushed the pg/core-public-profile-avatars branch from 97aed94 to fc5f51b Compare November 5, 2026 16:27
@pgherveou
pgherveou force-pushed the pg/core-public-profile-avatars branch from fc5f51b to fea114e Compare November 5, 2026 16:32
@pgherveou
pgherveou force-pushed the pg/core-public-profile-avatars branch 2 times, most recently from fea114e to 679f0fc Compare November 5, 2026 17:32
@pgherveou
pgherveou force-pushed the pg/core-public-profile-avatars branch from 679f0fc to 051021a Compare November 5, 2026 17:48
@pgherveou
pgherveou force-pushed the pg/core-public-profile-avatars branch from 051021a to f82b38b Compare November 5, 2026 18:04
@pgherveou
pgherveou force-pushed the pg/core-public-profile-avatars branch 3 times, most recently from dbfa6cb to b30854e Compare November 5, 2026 19:30
@pgherveou
pgherveou force-pushed the pg/core-public-profile-avatars branch from b30854e to 5c1d5ec Compare November 5, 2026 20:25
@pgherveou pgherveou changed the title feat(truapi): resolve public profile avatars from dotNS feat(truapi)!: load public profile images Nov 5, 2026
@pgherveou pgherveou changed the title feat(truapi)!: load public profile images feat(truapi)!: resolve public profile metadata Nov 6, 2026
@pgherveou
pgherveou force-pushed the pg/core-public-profile-avatars branch from 63fee4c to 212bf70 Compare November 6, 2026 21:58
@github-actions

github-actions Bot commented Nov 6, 2026

Copy link
Copy Markdown
Contributor

This pull request touches an app, which is not built by default. Add a label for each build you want:

  • iOS simulator build, ci:ios-simulator: builds the iOS app and attaches a build for the iOS Simulator on a Mac; its unit tests run on every pull request.
  • iOS device build, ci:ios-device: attaches a signed build that installs on a registered iPhone or iPad.

Each starts as soon as it is added and follows the branch from then on.

@pgherveou pgherveou added status:ready-to-merge Approved and waiting only to be queued and removed status:waiting-on-review Ready for a reviewer labels Nov 6, 2026

This branch has not been deployed

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

Labels

size:XXL 1000 lines or more; split it, or say in the description why it cannot be status:ready-to-merge Approved and waiting only to be queued

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants