oficina / meet Public

Merge branch 'integrate/native-2026-09-23' into main

Six native branches, integrated and gated together: LiveKit's WebRTC
with the Mac audio picker, RNNoise and DeepFilterNet 3; the kept native
sign-in; iPhone Mic Mode; mute and camera-off indicators; native screen
share (Mac ScreenCaptureKit, iPhone broadcast extension); and the Mac
mini window, which now shows a shared screen first and badges muted
peers. Also bundles WebRTC's licence and the notices of the Rust crates
inside DeepFilterNet.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Paul Campbell pushed by paul@keymail.dev 1ab8a2e22a4d52941d3ca2c084fbf86a12d06d86 parent 8255e6dparent 156d092
93 files changed, +12069 −323
  • Makefile +14 −2
  • callscore/auth.go +35 −13
  • callscore/media_test.go +177 −0
  • callscore/room.go +66 −2
  • callscore/session.go +178 −0
  • callscore/session_test.go +179 −0
  • docs/superpowers/specs/2026-09-07-meet-design.md +68 −0
  • internal/calls/hub/admission.go +2 −2
  • internal/calls/hub/hub.go +4 −0
  • internal/calls/hub/media.go +63 −0
  • internal/calls/hub/media_test.go +361 −0
  • internal/calls/hub/messages.go +2 −0
  • internal/calls/icons/icons.go +2 −0
  • internal/calls/native_auth_test.go +47 −0
  • internal/calls/signal.go +58 −6
  • internal/calls/static/calls.css +48 −0
  • internal/calls/static/room.js +187 −2
  • internal/calls/templates/room.html +14 −0
  • internal/callstest/browser_test.go +1 −0
  • internal/callstest/media_test.go +170 −0
  • internal/callstest/native_browser_test.go +216 −1
  • native/DESIGN.md +2 −2
  • native/LICENSE.deepfilternet +22 −0
  • native/LICENSE.deepfilternet-crates +3099 −0
  • native/LICENSE.rnnoise +32 −0
  • native/LICENSE.webrtc +33 −0
  • native/README.md +246 −33
  • native/VERIFICATION.md +40 −0
  • native/apple/Package.resolved +4 −4
  • native/apple/Package.swift +17 −3
  • native/apple/Sources/CallsBroadcastKit/BroadcastInbox.swift +215 −0
  • native/apple/Sources/CallsBroadcastKit/BroadcastSender.swift +170 −0
  • native/apple/Sources/CallsBroadcastKit/BroadcastWire.swift +193 −0
  • native/apple/Sources/CallsInterop/Interop.swift +40 −2
  • native/apple/Sources/CallsInterop/LobbySnapshots.swift +9 −1
  • native/apple/Sources/CallsInterop/SettingsSnapshots.swift +39 −0
  • native/apple/Sources/CallsInterop/SyntheticVideo.swift +61 −1
  • native/apple/Sources/CallsInterop/SyntheticVoice.swift +25 −0
  • native/apple/Sources/CallsKit/Audio.swift +83 −72
  • native/apple/Sources/CallsKit/BroadcastScreenCapture.swift +70 −0
  • native/apple/Sources/CallsKit/Call.swift +167 −7
  • native/apple/Sources/CallsKit/CallAudio.swift +357 −0
  • native/apple/Sources/CallsKit/CallsLobby.swift +55 −24
  • native/apple/Sources/CallsKit/CallsModel.swift +248 −12
  • native/apple/Sources/CallsKit/CallsSettingsView.swift +42 −0
  • native/apple/Sources/CallsKit/Capture.swift +15 −1
  • native/apple/Sources/CallsKit/DevicePanel.swift +81 −22
  • native/apple/Sources/CallsKit/MacCallView.swift +90 −17
  • native/apple/Sources/CallsKit/MacScreenCapture.swift +231 −0
  • native/apple/Sources/CallsKit/MacVideoTile.swift +33 −11
  • native/apple/Sources/CallsKit/Media.swift +262 −15
  • native/apple/Sources/CallsKit/MicrophoneMode.swift +131 −0
  • native/apple/Sources/CallsKit/MiniWindow.swift +399 −0
  • native/apple/Sources/CallsKit/MiniWindowRules.swift +176 −0
  • native/apple/Sources/CallsKit/MutedBadge.swift +23 −0
  • native/apple/Sources/CallsKit/NoiseSuppression.swift +319 −0
  • native/apple/Sources/CallsKit/ScreenShare.swift +120 −0
  • native/apple/Sources/CallsKit/SessionStore.swift +146 −0
  • native/apple/Sources/CallsKit/WebRTCNames.swift +213 −0
  • native/apple/Sources/CallsKit/Wire.swift +11 −0
  • native/apple/Sources/CallsMac/CallsMac.swift +7 −2
  • native/apple/Tests/CallsKitTests/AudioHealthTests.swift +24 −20
  • native/apple/Tests/CallsKitTests/BroadcastTests.swift +183 −0
  • native/apple/Tests/CallsKitTests/Fixtures/speech-48k.wav binary
  • native/apple/Tests/CallsKitTests/KeptSignInTests.swift +238 −0
  • native/apple/Tests/CallsKitTests/MeetingLinkTests.swift +2 −2
  • native/apple/Tests/CallsKitTests/MicrophoneModeTests.swift +56 −0
  • native/apple/Tests/CallsKitTests/MiniWindowTests.swift +241 −0
  • native/apple/Tests/CallsKitTests/NoiseSuppressionTests.swift +425 −0
  • native/apple/Tests/CallsKitTests/PeerMediaTests.swift +51 −0
  • native/apple/Tests/CallsKitTests/ScreenShareTests.swift +139 −0
  • native/apple/Tests/CallsKitTests/StartMeetingTests.swift +16 −11
  • native/bridge/bridge.go +77 −4
  • native/bridge/bridge_test.go +81 −0
  • native/ios/Broadcast/SampleHandler.swift +61 −0
  • native/ios/README.md +78 −7
  • native/ios/Sources/CallsPhone.swift +97 −18
  • native/ios/Sources/PhoneScreenShare.swift +88 −0
  • native/ios/Tests/CallsPhoneTests.swift +1 −1
  • native/ios/Tests/SilentAudioDevice.swift +2 −1
  • native/ios/UITests/CallsPhoneUITests.swift +2 −0
  • native/ios/project.yml +43 −0
  • native/scripts/build-deepfilter.sh +71 −0
  • native/scripts/build-iphone.sh +2 −0
  • native/scripts/build-mac.sh +1 −1
  • native/scripts/build-rnnoise.sh +87 −0
  • native/scripts/bundle-mac.py +10 −1
  • native/scripts/deepfilter-notices.py +145 −0
  • protocol/messages.go +20 −0
  • test/browser/call.mjs +111 −0
  • test/browser/native.mjs +122 −0
  • test/browser/negotiation.test.mjs +3 −0
  • test/browser/room-mute.test.mjs +174 −0

CI passed — run details

Makefile

Loading diff…

callscore/auth.go

Loading diff…

callscore/media_test.go

Loading diff…

callscore/room.go

Loading diff…

callscore/session.go

Loading diff…

callscore/session_test.go

Loading diff…

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

Loading diff…

internal/calls/hub/admission.go

Loading diff…

internal/calls/hub/hub.go

Loading diff…

internal/calls/hub/media.go

Loading diff…

internal/calls/hub/media_test.go

Loading diff…

internal/calls/hub/messages.go

Loading diff…

internal/calls/icons/icons.go

Loading diff…

internal/calls/native_auth_test.go

Loading diff…

internal/calls/signal.go

Loading diff…

internal/calls/static/calls.css

Loading diff…

internal/calls/static/room.js

Loading diff…

internal/calls/templates/room.html

Loading diff…

internal/callstest/browser_test.go

Loading diff…

internal/callstest/media_test.go

Loading diff…

internal/callstest/native_browser_test.go

Loading diff…

native/DESIGN.md

Loading diff…

native/LICENSE.deepfilternet

Loading diff…

native/LICENSE.deepfilternet-crates

Loading diff…

native/LICENSE.rnnoise

Loading diff…

native/LICENSE.webrtc

Loading diff…

native/README.md

Loading diff…

native/VERIFICATION.md

Loading diff…

native/apple/Package.resolved

Loading diff…

native/apple/Package.swift

Loading diff…

native/apple/Sources/CallsBroadcastKit/BroadcastInbox.swift

Loading diff…

native/apple/Sources/CallsBroadcastKit/BroadcastSender.swift

Loading diff…

native/apple/Sources/CallsBroadcastKit/BroadcastWire.swift

Loading diff…

native/apple/Sources/CallsInterop/Interop.swift

Loading diff…

native/apple/Sources/CallsInterop/LobbySnapshots.swift

Loading diff…

native/apple/Sources/CallsInterop/SettingsSnapshots.swift

Loading diff…

native/apple/Sources/CallsInterop/SyntheticVideo.swift

Loading diff…

native/apple/Sources/CallsInterop/SyntheticVoice.swift

Loading diff…

native/apple/Sources/CallsKit/Audio.swift

Loading diff…

native/apple/Sources/CallsKit/BroadcastScreenCapture.swift

Loading diff…

native/apple/Sources/CallsKit/Call.swift

Loading diff…

native/apple/Sources/CallsKit/CallAudio.swift

Loading diff…

native/apple/Sources/CallsKit/CallsLobby.swift

Loading diff…

native/apple/Sources/CallsKit/CallsModel.swift

Loading diff…

native/apple/Sources/CallsKit/CallsSettingsView.swift

Loading diff…

native/apple/Sources/CallsKit/Capture.swift

Loading diff…

native/apple/Sources/CallsKit/DevicePanel.swift

Loading diff…

native/apple/Sources/CallsKit/MacCallView.swift

Loading diff…

native/apple/Sources/CallsKit/MacScreenCapture.swift

Loading diff…

native/apple/Sources/CallsKit/MacVideoTile.swift

Loading diff…

native/apple/Sources/CallsKit/Media.swift

Loading diff…

native/apple/Sources/CallsKit/MicrophoneMode.swift

Loading diff…

native/apple/Sources/CallsKit/MiniWindow.swift

Loading diff…

native/apple/Sources/CallsKit/MiniWindowRules.swift

Loading diff…

native/apple/Sources/CallsKit/MutedBadge.swift

Loading diff…

native/apple/Sources/CallsKit/NoiseSuppression.swift

Loading diff…

native/apple/Sources/CallsKit/ScreenShare.swift

Loading diff…

native/apple/Sources/CallsKit/SessionStore.swift

Loading diff…

native/apple/Sources/CallsKit/WebRTCNames.swift

Loading diff…

native/apple/Sources/CallsKit/Wire.swift

Loading diff…

native/apple/Sources/CallsMac/CallsMac.swift

Loading diff…

native/apple/Tests/CallsKitTests/AudioHealthTests.swift

Loading diff…

native/apple/Tests/CallsKitTests/BroadcastTests.swift

Loading diff…

native/apple/Tests/CallsKitTests/Fixtures/speech-48k.wav

Loading diff…

native/apple/Tests/CallsKitTests/KeptSignInTests.swift

Loading diff…

native/apple/Tests/CallsKitTests/MeetingLinkTests.swift

Loading diff…

native/apple/Tests/CallsKitTests/MicrophoneModeTests.swift

Loading diff…

native/apple/Tests/CallsKitTests/MiniWindowTests.swift

Loading diff…

native/apple/Tests/CallsKitTests/NoiseSuppressionTests.swift

Loading diff…

native/apple/Tests/CallsKitTests/PeerMediaTests.swift

Loading diff…

native/apple/Tests/CallsKitTests/ScreenShareTests.swift

Loading diff…

native/apple/Tests/CallsKitTests/StartMeetingTests.swift

Loading diff…

native/bridge/bridge.go

Loading diff…

native/bridge/bridge_test.go

Loading diff…

native/ios/Broadcast/SampleHandler.swift

Loading diff…

native/ios/README.md

Loading diff…

native/ios/Sources/CallsPhone.swift

Loading diff…

native/ios/Sources/PhoneScreenShare.swift

Loading diff…

native/ios/Tests/CallsPhoneTests.swift

Loading diff…

native/ios/Tests/SilentAudioDevice.swift

Loading diff…

native/ios/UITests/CallsPhoneUITests.swift

Loading diff…

native/ios/project.yml

Loading diff…

native/scripts/build-deepfilter.sh

Loading diff…

native/scripts/build-iphone.sh

Loading diff…

native/scripts/build-mac.sh

Loading diff…

native/scripts/build-rnnoise.sh

Loading diff…

native/scripts/bundle-mac.py

Loading diff…

native/scripts/deepfilter-notices.py

Loading diff…

protocol/messages.go

Loading diff…

test/browser/call.mjs

Loading diff…

test/browser/native.mjs

Loading diff…

test/browser/negotiation.test.mjs

Loading diff…

test/browser/room-mute.test.mjs

Loading diff…