oficina / meet Public

Rename the Go app from Meet to Calls

Module path, package directories, environment variables, stylesheets and
CSS class names all move to "calls". The identity changes; the path grammar
does not.

Routes keep their shape deliberately. /m/{sqid} and /meetings/{sqid} say
nothing user-visible about "meet", and renaming them would disturb live
invitation links, join-cookie scoping and the native clients' registered
URL handlers for a change nobody can see. Invitations are looked up by hash
with a documented legacy hash-only path, which is not a surface to churn
for cosmetics.

Two constants were changed with their consequences understood, both safe
only because this app holds no real data:

  seal.label ("oficina/meet:" -> "oficina/calls:") is mixed into every
  derived key, so every previously sealed meeting title and link token is
  now unreadable. seal.go says so in a comment; this is that case.

  connect Namespace ("oficina/meet" -> "oficina/calls") is the cross-app
  identifier Home knows this consumer by, and moves with home's own
  registration.

MEET_* becomes CALLS_*, including CredentialsFromEnv's prefix and the
Xcode TEST_RUNNER_ passthroughs. No dual-name fallback: the CARLOS app is
being recreated rather than reconfigured, so the new app is set up with
the new names from the start and there is no window where both exist.

Left alone on purpose:
  - "meeting"/"meets" everywhere: the English word, not the product.
  - relay's abc:meet:... fixtures: the username suffix is opaque data
    issued by the relay provider through CARLOS_RELAY, not app identity.
  - the published v0.1.0 release asset meet-linux-arm64, which cannot be
    deleted on this hub; the rename is additive from v0.1.1.

go build, go vet and the full test suite pass. The one remaining failure,
TestCreditsMatchProductionDependencies, fails identically on main: it reads
$GOROOT/LICENSE, which this Go 1.27.1 install does not ship.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Paul Campbell pushed by paul@keymail.dev a7eeb0dec372cb94be7303f5c5e442a44b77b4e4 parent 772c1e0
178 files changed, +951 −951
  • AGENTS.md +3 −3
  • Makefile +11 −11
  • PRODUCT.md +10 −10
  • README.md +15 −15
  • {meetcore => callscore}/auth.go +2 −2
  • {meetcore => callscore}/auth_test.go +1 −1
  • {meetcore => callscore}/room.go +2 −2
  • {meetcore => callscore}/room_test.go +3 −3
  • {meetcore => callscore}/transport.go +3 −3
  • {meetcore => callscore}/transport_test.go +4 −4
  • cmd/{meet => calls}/main.go +16 −16
  • docs/superpowers/copy/2026-09-10-slice-2-strings.md +7 −7
  • docs/superpowers/plans/2026-09-08-meet-slice-1-meetings-links-signin.md +148 −148
  • docs/superpowers/plans/2026-09-09-meet-slices-2-6-programme.md +2 −2
  • docs/superpowers/plans/2026-09-10-meet-slice-2-room.md +63 −63
  • docs/superpowers/plans/2026-09-10-meet-slice-3-relay.md +44 −44
  • docs/superpowers/plans/2026-09-10-meet-slice-4-chat.md +22 −22
  • docs/superpowers/plans/2026-09-11-meet-slice-5-drive.md +18 −18
  • docs/superpowers/plans/2026-09-14-meet-slice-6-deploy.md +10 −10
  • docs/superpowers/reviews/2026-09-09-codex-code-r1.md +46 −46
  • docs/superpowers/reviews/2026-09-10-slice-2-record.md +7 −7
  • docs/superpowers/reviews/2026-09-10-slice-3-record.md +2 −2
  • docs/superpowers/reviews/2026-09-10-slice-4-record.md +2 −2
  • docs/superpowers/reviews/2026-09-11-slice-5-record.md +5 −5
  • docs/superpowers/reviews/2026-09-14-slice-6-record.md +10 −10
  • docs/superpowers/specs/2026-09-07-meet-design.md +14 −14
  • docs/superpowers/specs/CODEX-FINDINGS-MEET-R5.md +1 −1
  • docs/superpowers/specs/CODEX-FINDINGS-MEET-R6.md +1 −1
  • docs/superpowers/specs/CODEX-FINDINGS-MEET.md +1 −1
  • docs/superpowers/specs/CODEX-REVIEW-BRIEF-MEET.md +2 −2
  • go.mod +1 −1
  • internal/{meet => calls}/agents.go +7 −7
  • internal/{meet => calls}/agents_test.go +1 −1
  • internal/{meet => calls}/api.go +4 −4
  • internal/{meet => calls}/app.go +14 −14
  • internal/{meet => calls}/app_relay_test.go +3 −3
  • internal/{meet => calls}/auth.go +10 −10
  • internal/{meet => calls}/auth_test.go +1 −1
  • internal/{meet => calls}/budget.go +1 −1
  • internal/{meet => calls}/budget_test.go +1 −1
  • internal/{meet => calls}/config.go +18 −18
  • internal/{meet => calls}/config_test.go +2 −2
  • internal/{meet => calls}/credits.go +1 −1
  • internal/{meet => calls}/credits/notices.json +0 −0
  • internal/{meet => calls}/credits_inventory_test.go +2 −2
  • internal/{meet => calls}/credits_test.go +2 −2
  • internal/{meet => calls}/handlers_join.go +4 −4
  • internal/{meet => calls}/handlers_meetings.go +8 −8
  • internal/{meet => calls}/handlers_meetings_test.go +2 −2
  • internal/{meet => calls}/handlers_room.go +12 −12
  • internal/{meet => calls}/handlers_settings.go +5 −5
  • internal/{meet => calls}/home.go +4 −4
  • internal/{meet => calls}/home_native_test.go +4 −4
  • internal/{meet => calls}/home_release_test.go +1 −1
  • internal/{meet => calls}/home_router_test.go +4 −4
  • internal/{meet => calls}/home_security_test.go +1 −1
  • internal/{meet => calls}/hub/admission.go +0 −0
  • internal/{meet => calls}/hub/admission_test.go +0 −0
  • internal/{meet => calls}/hub/authorize.go +0 −0
  • internal/{meet => calls}/hub/authorize_test.go +0 −0
  • internal/{meet => calls}/hub/count.go +0 −0
  • internal/{meet => calls}/hub/count_test.go +0 −0
  • internal/{meet => calls}/hub/fanout.go +0 −0
  • internal/{meet => calls}/hub/fanout_test.go +0 −0
  • internal/{meet => calls}/hub/hub.go +0 −0
  • internal/{meet => calls}/hub/hub_test.go +0 −0
  • internal/{meet => calls}/hub/isolation_test.go +0 −0
  • internal/{meet => calls}/hub/messages.go +1 −1
  • internal/{meet => calls}/hub/relay.go +0 −0
  • internal/{meet => calls}/hub/relay_test.go +0 −0
  • internal/{meet => calls}/hub/subscriber.go +0 −0
  • internal/{meet => calls}/hub/subscriber_test.go +0 −0
  • internal/{meet => calls}/ice.go +12 −12
  • internal/{meet => calls}/icons/icons.go +0 −0
  • internal/{meet => calls}/ids.go +2 −2
  • internal/{meet => calls}/ids_test.go +1 −1
  • internal/{meet => calls}/joincookie.go +2 −2
  • internal/{meet => calls}/joincookie_test.go +1 −1
  • internal/{meet => calls}/mailredact.go +3 −3
  • internal/{meet => calls}/mailredact_test.go +5 −5
  • internal/{meet => calls}/migrations.go +1 −1
  • internal/{meet => calls}/migrations/0001_init.sql +0 −0
  • internal/{meet => calls}/migrations/0002_agents.sql +0 −0
  • internal/{meet => calls}/migrations/0003_alter_meeting_links.sql +0 −0
  • internal/{meet => calls}/migrations/schema.sql +0 −0
  • internal/{meet => calls}/models.go +1 −1
  • internal/{meet => calls}/native_auth.go +2 −2
  • internal/{meet => calls}/native_auth_test.go +1 −1
  • internal/{meet => calls}/participation.go +2 −2
  • internal/{meet => calls}/ratelimit.go +1 −1
  • internal/{meet => calls}/ratelimit_test.go +1 −1
  • internal/{meet => calls}/relay/relay.go +0 −0
  • internal/{meet => calls}/relay/relay_test.go +0 −0
  • internal/{meet => calls}/render.go +2 −2
  • internal/{meet => calls}/render_test.go +2 −2
  • internal/{meet => calls}/seal/fingerprint.go +0 −0
  • internal/{meet => calls}/seal/seal.go +1 −1
  • internal/{meet => calls}/seal/seal_test.go +0 −0
  • internal/{meet => calls}/signal.go +7 −7
  • internal/{meet => calls}/standing.go +2 −2
  • internal/{meet => calls}/static/brand/LICENSE.lucide +0 −0
  • internal/{meet => calls}/static/brand/apple-touch-icon.png binary
  • internal/{meet => calls}/static/brand/brand.css +0 −0
  • internal/{meet => calls}/static/brand/icon-32.png binary
  • internal/{meet => calls}/static/brand/icon.svg +0 −0
  • internal/{meet => calls}/static/call-layout.js +6 −6
  • internal/{meet/static/meet-shell.css => calls/static/calls-shell.css} +4 −4
  • internal/{meet/static/meet.css => calls/static/calls.css} +68 −68
  • internal/{meet => calls}/static/chat.css +1 −1
  • internal/{meet => calls}/static/chat.js +0 −0
  • internal/{meet => calls}/static/devices.js +1 −1
  • internal/{meet => calls}/static/rastrillo.js +0 −0
  • internal/{meet => calls}/static/room.js +10 −10
  • internal/{meet => calls}/static/select.js +0 −0
  • internal/{meet => calls}/static/share-link.js +0 −0
  • internal/{meet => calls}/static/theme.css +0 −0
  • internal/{meet => calls}/static/tokens.css +0 −0
  • internal/{meet => calls}/store.go +12 −12
  • internal/{meet => calls}/store_share_test.go +1 −1
  • internal/{meet => calls}/store_test.go +3 −3
  • internal/{meet => calls}/stream.go +9 −9
  • internal/{meet => calls}/stream_key_test.go +1 −1
  • internal/{meet => calls}/stream_test.go +1 −1
  • internal/{meet => calls}/templates/agent_once.html +0 −0
  • internal/{meet => calls}/templates/confirm.html +0 −0
  • internal/{meet => calls}/templates/credits.html +0 −0
  • internal/{meet => calls}/templates/errors.html +0 −0
  • internal/{meet => calls}/templates/home.html +0 −0
  • internal/{meet => calls}/templates/index.html +0 −0
  • internal/{meet => calls}/templates/join.html +11 −11
  • internal/{meet => calls}/templates/layout.html +1 −1
  • internal/{meet => calls}/templates/link_once.html +0 −0
  • internal/{meet => calls}/templates/native.html +0 −0
  • internal/{meet => calls}/templates/partials/chat.html +0 −0
  • internal/{meet => calls}/templates/room.html +14 −14
  • internal/{meet => calls}/templates/settings.html +0 −0
  • internal/{meet => calls}/templates/share.html +0 −0
  • internal/{meet => calls}/templates/signin.html +1 −1
  • internal/{meet => calls}/templates/welcome.html +0 −0
  • internal/{meet => calls}/tick_test.go +2 −2
  • internal/{meettest => callstest}/agents_test.go +3 −3
  • internal/{meettest => callstest}/api_test.go +7 −7
  • internal/{meettest => callstest}/browser_test.go +11 −11
  • internal/{meettest => callstest}/chat_test.go +2 −2
  • internal/{meettest => callstest}/config_test.go +7 −7
  • internal/{meettest => callstest}/harness_test.go +10 −10
  • internal/{meettest => callstest}/holding_test.go +5 −5
  • internal/{meettest => callstest}/ice_test.go +7 −7
  • internal/{meettest => callstest}/index_test.go +1 −1
  • internal/{meettest => callstest}/iphone_browser_test.go +7 −7
  • internal/{meettest => callstest}/isolation_test.go +2 −2
  • internal/{meettest => callstest}/join_test.go +2 −2
  • internal/{meettest => callstest}/meetings_test.go +1 −1
  • internal/{meettest => callstest}/native_auth_browser_test.go +3 −3
  • internal/{meettest => callstest}/native_browser_test.go +2 −2
  • internal/{meettest => callstest}/relay_floor_test.go +2 −2
  • internal/{meettest => callstest}/room_test.go +10 −10
  • internal/{meettest => callstest}/schema_test.go +3 −3
  • internal/{meettest => callstest}/share_test.go +1 −1
  • internal/{meettest => callstest}/signal_test.go +6 −6
  • internal/{meettest => callstest}/signin_test.go +7 −7
  • internal/{meettest => callstest}/sse_test.go +1 −1
  • internal/{meettest => callstest}/standing_test.go +1 −1
  • internal/{meettest => callstest}/stream_test.go +1 −1
  • internal/{meettest => callstest}/vendored_test.go +2 −2
  • manifest/README.md +1 −1
  • native/README.md +2 −2
  • native/bridge/auth.go +3 −3
  • native/bridge/bridge.go +3 −3
  • native/bridge/bridge_test.go +6 −6
  • native/go.mod +3 −3
  • native/ios/README.md +2 −2
  • native/ios/Tests/MeetPhoneTests.swift +1 −1
  • native/ios/UITests/MeetPhoneUITests.swift +2 −2
  • native/scripts/build-iphone.sh +2 −2
  • package.json +1 −1
  • test/browser/call.mjs +33 −33
  • test/browser/native.mjs +4 −4
AGENTS.md

Loading diff…

Makefile

Loading diff…

PRODUCT.md

Loading diff…

README.md

Loading diff…

{meetcore => callscore}/auth.go

Loading diff…

{meetcore => callscore}/auth_test.go

Loading diff…

{meetcore => callscore}/room.go

Loading diff…

{meetcore => callscore}/room_test.go

Loading diff…

{meetcore => callscore}/transport.go

Loading diff…

{meetcore => callscore}/transport_test.go

Loading diff…

cmd/{meet => calls}/main.go

Loading diff…

docs/superpowers/copy/2026-09-10-slice-2-strings.md

Loading diff…

docs/superpowers/plans/2026-09-08-meet-slice-1-meetings-links-signin.md

Loading diff…

docs/superpowers/plans/2026-09-09-meet-slices-2-6-programme.md

Loading diff…

docs/superpowers/plans/2026-09-10-meet-slice-2-room.md

Loading diff…

docs/superpowers/plans/2026-09-10-meet-slice-3-relay.md

Loading diff…

docs/superpowers/plans/2026-09-10-meet-slice-4-chat.md

Loading diff…

docs/superpowers/plans/2026-09-11-meet-slice-5-drive.md

Loading diff…

docs/superpowers/plans/2026-09-14-meet-slice-6-deploy.md

Loading diff…

docs/superpowers/reviews/2026-09-09-codex-code-r1.md

Loading diff…

docs/superpowers/reviews/2026-09-10-slice-2-record.md

Loading diff…

docs/superpowers/reviews/2026-09-10-slice-3-record.md

Loading diff…

docs/superpowers/reviews/2026-09-10-slice-4-record.md

Loading diff…

docs/superpowers/reviews/2026-09-11-slice-5-record.md

Loading diff…

docs/superpowers/reviews/2026-09-14-slice-6-record.md

Loading diff…

docs/superpowers/specs/2026-09-07-meet-design.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-MEET-R5.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-MEET-R6.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-MEET.md

Loading diff…

docs/superpowers/specs/CODEX-REVIEW-BRIEF-MEET.md

Loading diff…

go.mod

Loading diff…

internal/{meet => calls}/agents.go

Loading diff…

internal/{meet => calls}/agents_test.go

Loading diff…

internal/{meet => calls}/api.go

Loading diff…

internal/{meet => calls}/app.go

Loading diff…

internal/{meet => calls}/app_relay_test.go

Loading diff…

internal/{meet => calls}/auth.go

Loading diff…

internal/{meet => calls}/auth_test.go

Loading diff…

internal/{meet => calls}/budget.go

Loading diff…

internal/{meet => calls}/budget_test.go

Loading diff…

internal/{meet => calls}/config.go

Loading diff…

internal/{meet => calls}/config_test.go

Loading diff…

internal/{meet => calls}/credits.go

Loading diff…

internal/{meet => calls}/credits/notices.json

Loading diff…

internal/{meet => calls}/credits_inventory_test.go

Loading diff…

internal/{meet => calls}/credits_test.go

Loading diff…

internal/{meet => calls}/handlers_join.go

Loading diff…

internal/{meet => calls}/handlers_meetings.go

Loading diff…

internal/{meet => calls}/handlers_meetings_test.go

Loading diff…

internal/{meet => calls}/handlers_room.go

Loading diff…

internal/{meet => calls}/handlers_settings.go

Loading diff…

internal/{meet => calls}/home.go

Loading diff…

internal/{meet => calls}/home_native_test.go

Loading diff…

internal/{meet => calls}/home_release_test.go

Loading diff…

internal/{meet => calls}/home_router_test.go

Loading diff…

internal/{meet => calls}/home_security_test.go

Loading diff…

internal/{meet => calls}/hub/admission.go

Loading diff…

internal/{meet => calls}/hub/admission_test.go

Loading diff…

internal/{meet => calls}/hub/authorize.go

Loading diff…

internal/{meet => calls}/hub/authorize_test.go

Loading diff…

internal/{meet => calls}/hub/count.go

Loading diff…

internal/{meet => calls}/hub/count_test.go

Loading diff…

internal/{meet => calls}/hub/fanout.go

Loading diff…

internal/{meet => calls}/hub/fanout_test.go

Loading diff…

internal/{meet => calls}/hub/hub.go

Loading diff…

internal/{meet => calls}/hub/hub_test.go

Loading diff…

internal/{meet => calls}/hub/isolation_test.go

Loading diff…

internal/{meet => calls}/hub/messages.go

Loading diff…

internal/{meet => calls}/hub/relay.go

Loading diff…

internal/{meet => calls}/hub/relay_test.go

Loading diff…

internal/{meet => calls}/hub/subscriber.go

Loading diff…

internal/{meet => calls}/hub/subscriber_test.go

Loading diff…

internal/{meet => calls}/ice.go

Loading diff…

internal/{meet => calls}/icons/icons.go

Loading diff…

internal/{meet => calls}/ids.go

Loading diff…

internal/{meet => calls}/ids_test.go

Loading diff…

internal/{meet => calls}/joincookie.go

Loading diff…

internal/{meet => calls}/joincookie_test.go

Loading diff…

internal/{meet => calls}/mailredact.go

Loading diff…

internal/{meet => calls}/mailredact_test.go

Loading diff…

internal/{meet => calls}/migrations.go

Loading diff…

internal/{meet => calls}/migrations/0001_init.sql

Loading diff…

internal/{meet => calls}/migrations/0002_agents.sql

Loading diff…

internal/{meet => calls}/migrations/0003_alter_meeting_links.sql

Loading diff…

internal/{meet => calls}/migrations/schema.sql

Loading diff…

internal/{meet => calls}/models.go

Loading diff…

internal/{meet => calls}/native_auth.go

Loading diff…

internal/{meet => calls}/native_auth_test.go

Loading diff…

internal/{meet => calls}/participation.go

Loading diff…

internal/{meet => calls}/ratelimit.go

Loading diff…

internal/{meet => calls}/ratelimit_test.go

Loading diff…

internal/{meet => calls}/relay/relay.go

Loading diff…

internal/{meet => calls}/relay/relay_test.go

Loading diff…

internal/{meet => calls}/render.go

Loading diff…

internal/{meet => calls}/render_test.go

Loading diff…

internal/{meet => calls}/seal/fingerprint.go

Loading diff…

internal/{meet => calls}/seal/seal.go

Loading diff…

internal/{meet => calls}/seal/seal_test.go

Loading diff…

internal/{meet => calls}/signal.go

Loading diff…

internal/{meet => calls}/standing.go

Loading diff…

internal/{meet => calls}/static/brand/LICENSE.lucide

Loading diff…

internal/{meet => calls}/static/brand/apple-touch-icon.png

Loading diff…

internal/{meet => calls}/static/brand/brand.css

Loading diff…

internal/{meet => calls}/static/brand/icon-32.png

Loading diff…

internal/{meet => calls}/static/brand/icon.svg

Loading diff…

internal/{meet => calls}/static/call-layout.js

Loading diff…

internal/{meet/static/meet-shell.css => calls/static/calls-shell.css}

Loading diff…

internal/{meet/static/meet.css => calls/static/calls.css}

Loading diff…

internal/{meet => calls}/static/chat.css

Loading diff…

internal/{meet => calls}/static/chat.js

Loading diff…

internal/{meet => calls}/static/devices.js

Loading diff…

internal/{meet => calls}/static/rastrillo.js

Loading diff…

internal/{meet => calls}/static/room.js

Loading diff…

internal/{meet => calls}/static/select.js

Loading diff…

internal/{meet => calls}/static/share-link.js

Loading diff…

internal/{meet => calls}/static/theme.css

Loading diff…

internal/{meet => calls}/static/tokens.css

Loading diff…

internal/{meet => calls}/store.go

Loading diff…

internal/{meet => calls}/store_share_test.go

Loading diff…

internal/{meet => calls}/store_test.go

Loading diff…

internal/{meet => calls}/stream.go

Loading diff…

internal/{meet => calls}/stream_key_test.go

Loading diff…

internal/{meet => calls}/stream_test.go

Loading diff…

internal/{meet => calls}/templates/agent_once.html

Loading diff…

internal/{meet => calls}/templates/confirm.html

Loading diff…

internal/{meet => calls}/templates/credits.html

Loading diff…

internal/{meet => calls}/templates/errors.html

Loading diff…

internal/{meet => calls}/templates/home.html

Loading diff…

internal/{meet => calls}/templates/index.html

Loading diff…

internal/{meet => calls}/templates/join.html

Loading diff…

internal/{meet => calls}/templates/layout.html

Loading diff…

internal/{meet => calls}/templates/link_once.html

Loading diff…

internal/{meet => calls}/templates/native.html

Loading diff…

internal/{meet => calls}/templates/partials/chat.html

Loading diff…

internal/{meet => calls}/templates/room.html

Loading diff…

internal/{meet => calls}/templates/settings.html

Loading diff…

internal/{meet => calls}/templates/share.html

Loading diff…

internal/{meet => calls}/templates/signin.html

Loading diff…

internal/{meet => calls}/templates/welcome.html

Loading diff…

internal/{meet => calls}/tick_test.go

Loading diff…

internal/{meettest => callstest}/agents_test.go

Loading diff…

internal/{meettest => callstest}/api_test.go

Loading diff…

internal/{meettest => callstest}/browser_test.go

Loading diff…

internal/{meettest => callstest}/chat_test.go

Loading diff…

internal/{meettest => callstest}/config_test.go

Loading diff…

internal/{meettest => callstest}/harness_test.go

Loading diff…

internal/{meettest => callstest}/holding_test.go

Loading diff…

internal/{meettest => callstest}/ice_test.go

Loading diff…

internal/{meettest => callstest}/index_test.go

Loading diff…

internal/{meettest => callstest}/iphone_browser_test.go

Loading diff…

internal/{meettest => callstest}/isolation_test.go

Loading diff…

internal/{meettest => callstest}/join_test.go

Loading diff…

internal/{meettest => callstest}/meetings_test.go

Loading diff…

internal/{meettest => callstest}/native_auth_browser_test.go

Loading diff…

internal/{meettest => callstest}/native_browser_test.go

Loading diff…

internal/{meettest => callstest}/relay_floor_test.go

Loading diff…

internal/{meettest => callstest}/room_test.go

Loading diff…

internal/{meettest => callstest}/schema_test.go

Loading diff…

internal/{meettest => callstest}/share_test.go

Loading diff…

internal/{meettest => callstest}/signal_test.go

Loading diff…

internal/{meettest => callstest}/signin_test.go

Loading diff…

internal/{meettest => callstest}/sse_test.go

Loading diff…

internal/{meettest => callstest}/standing_test.go

Loading diff…

internal/{meettest => callstest}/stream_test.go

Loading diff…

internal/{meettest => callstest}/vendored_test.go

Loading diff…

manifest/README.md

Loading diff…

native/README.md

Loading diff…

native/bridge/auth.go

Loading diff…

native/bridge/bridge.go

Loading diff…

native/bridge/bridge_test.go

Loading diff…

native/go.mod

Loading diff…

native/ios/README.md

Loading diff…

native/ios/Tests/MeetPhoneTests.swift

Loading diff…

native/ios/UITests/MeetPhoneUITests.swift

Loading diff…

native/scripts/build-iphone.sh

Loading diff…

package.json

Loading diff…

test/browser/call.mjs

Loading diff…

test/browser/native.mjs

Loading diff…