Skip to content

Bugfix: Server-initiated room disconnect shutdown fix #300

Bugfix: Server-initiated room disconnect shutdown fix

Bugfix: Server-initiated room disconnect shutdown fix #300

Triggered via pull request July 13, 2026 18:30
Status Failure
Total duration 19m 15s
Artifacts 12

ci.yml

on: pull_request
Detect Changes
5s
Detect Changes
License Check  /  License Check
7s
License Check / License Check
Link Check  /  Link Check
9s
Link Check / Link Check
Docker Images  /  Detect Docker input changes
Docker Images / Detect Docker input changes
Matrix: Builds / build
Matrix: Tests / test
Tests  /  Code Coverage
15m 44s
Tests / Code Coverage
C++ Checks  /  clang-format
18s
C++ Checks / clang-format
C++ Checks  /  clang-tidy
11m 51s
C++ Checks / clang-tidy
Generate Docs  /  Generate and verify docs
23s
Generate Docs / Generate and verify docs
Rust Release Check  /  Rust Release Check
Rust Release Check / Rust Release Check
Docker Images  /  Build (docker-linux-arm64)
Docker Images / Build (docker-linux-arm64)
Docker Images  /  Build (docker-linux-x64)
Docker Images / Build (docker-linux-x64)
Docker Images  /  Build (cpp-example-collection-linux-arm64)
Docker Images / Build (cpp-example-collection-linux-arm64)
Docker Images  /  Publish SDK manifest
Docker Images / Publish SDK manifest
Docker Images  /  Publish base manifest
Docker Images / Publish base manifest
Docker Images  /  Build (cpp-example-collection-x64)
Docker Images / Build (cpp-example-collection-x64)
Fit to window
Zoom out
Zoom in

Annotations

2 errors and 29 warnings
Tests / Test (macos-arm64)
Process completed with exit code 139.
CI
Jobs (tests) failed
Builds / Build (macos-arm64)
The following taps are not trusted: aws/tap Homebrew is currently ignoring formulae, casks and commands from these taps because tap trust is required. Untap them with: brew untap aws/tap Trust specific formulae, casks and commands with: brew trust --formula <user>/<tap>/<formula> brew trust --cask <user>/<tap>/<cask> brew trust --command <user>/<tap>/<command> Whole-tap trust is broader and includes all current and future formulae, casks and commands from the listed taps. Trust whole taps with: brew trust aws/tap To disable trust checks: export HOMEBREW_NO_REQUIRE_TAP_TRUST=1 This is not recommended and will be removed in a later release. For more information, see: https://docs.brew.sh/Tap-Trust
Tests / Test (macos-arm64)
The following taps are not trusted: aws/tap Homebrew is currently ignoring formulae, casks and commands from these taps because tap trust is required. Untap them with: brew untap aws/tap Trust specific formulae, casks and commands with: brew trust --formula <user>/<tap>/<formula> brew trust --cask <user>/<tap>/<cask> brew trust --command <user>/<tap>/<command> Whole-tap trust is broader and includes all current and future formulae, casks and commands from the listed taps. Trust whole taps with: brew trust aws/tap To disable trust checks: export HOMEBREW_NO_REQUIRE_TAP_TRUST=1 This is not recommended and will be removed in a later release. For more information, see: https://docs.brew.sh/Tap-Trust
Tests / Test (macos-arm64)
The following taps are not trusted: aws/tap Homebrew is currently ignoring formulae, casks and commands from these taps because tap trust is required. Untap them with: brew untap aws/tap Trust specific formulae, casks and commands with: brew trust --formula <user>/<tap>/<formula> brew trust --cask <user>/<tap>/<cask> brew trust --command <user>/<tap>/<command> Whole-tap trust is broader and includes all current and future formulae, casks and commands from the listed taps. Trust whole taps with: brew trust aws/tap For more information, see: https://docs.brew.sh/Tap-Trust
Tests / Test (macos-arm64)
The following taps are not trusted: aws/tap Homebrew is currently ignoring formulae, casks and commands from these taps because tap trust is required. Untap them with: brew untap aws/tap Trust specific formulae, casks and commands with: brew trust --formula <user>/<tap>/<formula> brew trust --cask <user>/<tap>/<cask> brew trust --command <user>/<tap>/<command> Whole-tap trust is broader and includes all current and future formulae, casks and commands from the listed taps. Trust whole taps with: brew trust aws/tap To disable trust checks: export HOMEBREW_NO_REQUIRE_TAP_TRUST=1 This is not recommended and will be removed in a later release. For more information, see: https://docs.brew.sh/Tap-Trust
Builds / Build (windows-x64): src/ffi_client.h#L222
'livekit::FfiClient::listeners_': 'std::unordered_map<livekit::FfiClient::ListenerId,std::shared_ptr<livekit::FfiClient::ListenerSlot>,std::hash<int>,std::equal_to<livekit::FfiClient::ListenerId>,std::allocator<std::pair<const livekit::FfiClient::ListenerId,std::shared_ptr<livekit::FfiClient::ListenerSlot>>>>' needs to have dll-interface to be used by clients of 'livekit::FfiClient' [D:\a\client-sdk-cpp\client-sdk-cpp\build-release\livekit.vcxproj]
Builds / Build (windows-x64): include/livekit/audio_frame.h#L88
'livekit::AudioFrame::data_': 'std::vector<int16_t,std::allocator<int16_t>>' needs to have dll-interface to be used by clients of 'livekit::AudioFrame' [D:\a\client-sdk-cpp\client-sdk-cpp\build-release\livekit.vcxproj]
Builds / Build (windows-x64): src/ffi_client.h#L233
'livekit::FfiClient::lifecycle_state_': 'std::atomic<livekit::FfiClient::LifecycleState>' needs to have dll-interface to be used by clients of 'livekit::FfiClient' [D:\a\client-sdk-cpp\client-sdk-cpp\build-release\livekit.vcxproj]
Builds / Build (windows-x64): src/ffi_client.h#L229
'livekit::FfiClient::next_async_id_': 'std::atomic<unsigned __int64>' needs to have dll-interface to be used by clients of 'livekit::FfiClient' [D:\a\client-sdk-cpp\client-sdk-cpp\build-release\livekit.vcxproj]
Builds / Build (windows-x64): src/ffi_client.h#L227
'livekit::FfiClient::pending_by_id_': 'std::unordered_map<livekit::FfiClient::AsyncId,std::unique_ptr<livekit::FfiClient::PendingBase,std::default_delete<livekit::FfiClient::PendingBase>>,std::hash<livekit::FfiClient::AsyncId>,std::equal_to<livekit::FfiClient::AsyncId>,std::allocator<std::pair<const livekit::FfiClient::AsyncId,std::unique_ptr<livekit::FfiClient::PendingBase,std::default_delete<livekit::FfiClient::PendingBase>>>>>' needs to have dll-interface to be used by clients of 'livekit::FfiClient' [D:\a\client-sdk-cpp\client-sdk-cpp\build-release\livekit.vcxproj]
Builds / Build (windows-x64): src/ffi_client.h#L224
'livekit::FfiClient::next_listener_id': 'std::atomic<int>' needs to have dll-interface to be used by clients of 'livekit::FfiClient' [D:\a\client-sdk-cpp\client-sdk-cpp\build-release\livekit.vcxproj]
Builds / Build (windows-x64): src/ffi_client.h#L222
'livekit::FfiClient::listeners_': 'std::unordered_map<livekit::FfiClient::ListenerId,std::shared_ptr<livekit::FfiClient::ListenerSlot>,std::hash<int>,std::equal_to<livekit::FfiClient::ListenerId>,std::allocator<std::pair<const livekit::FfiClient::ListenerId,std::shared_ptr<livekit::FfiClient::ListenerSlot>>>>' needs to have dll-interface to be used by clients of 'livekit::FfiClient' [D:\a\client-sdk-cpp\client-sdk-cpp\build-release\livekit.vcxproj]
Builds / Build (windows-x64): include/livekit/audio_frame.h#L88
'livekit::AudioFrame::data_': 'std::vector<int16_t,std::allocator<int16_t>>' needs to have dll-interface to be used by clients of 'livekit::AudioFrame' [D:\a\client-sdk-cpp\client-sdk-cpp\build-release\livekit.vcxproj]
Builds / Build (windows-x64): include/livekit/audio_frame.h#L88
'livekit::AudioFrame::data_': 'std::vector<int16_t,std::allocator<int16_t>>' needs to have dll-interface to be used by clients of 'livekit::AudioFrame' [D:\a\client-sdk-cpp\client-sdk-cpp\build-release\livekit.vcxproj]
Builds / Build (windows-x64)
Custom build for item "D:\a\client-sdk-cpp\client-sdk-cpp\build-release\CMakeFiles\da7240c96278d463ff60cb3c2ab9931d\livekit_ffi.dll.lib.rule" succeeded, but specified output "d:\a\client-sdk-cpp\client-sdk-cpp\client-sdk-rust\target\debug\livekit_ffi.dll.lib" has not been created. This may cause incremental build to work incorrectly. [D:\a\client-sdk-cpp\client-sdk-cpp\build-release\build_rust_ffi.vcxproj]
Tests / Test (windows-x64): src/ffi_client.h#L222
'livekit::FfiClient::listeners_': 'std::unordered_map<livekit::FfiClient::ListenerId,std::shared_ptr<livekit::FfiClient::ListenerSlot>,std::hash<int>,std::equal_to<livekit::FfiClient::ListenerId>,std::allocator<std::pair<const livekit::FfiClient::ListenerId,std::shared_ptr<livekit::FfiClient::ListenerSlot>>>>' needs to have dll-interface to be used by clients of 'livekit::FfiClient' [D:\a\client-sdk-cpp\client-sdk-cpp\build-release\livekit.vcxproj]
Tests / Test (windows-x64): include/livekit/audio_frame.h#L88
'livekit::AudioFrame::data_': 'std::vector<int16_t,std::allocator<int16_t>>' needs to have dll-interface to be used by clients of 'livekit::AudioFrame' [D:\a\client-sdk-cpp\client-sdk-cpp\build-release\livekit.vcxproj]
Tests / Test (windows-x64): src/ffi_client.h#L233
'livekit::FfiClient::lifecycle_state_': 'std::atomic<livekit::FfiClient::LifecycleState>' needs to have dll-interface to be used by clients of 'livekit::FfiClient' [D:\a\client-sdk-cpp\client-sdk-cpp\build-release\livekit.vcxproj]
Tests / Test (windows-x64): src/ffi_client.h#L229
'livekit::FfiClient::next_async_id_': 'std::atomic<unsigned __int64>' needs to have dll-interface to be used by clients of 'livekit::FfiClient' [D:\a\client-sdk-cpp\client-sdk-cpp\build-release\livekit.vcxproj]
Tests / Test (windows-x64): src/ffi_client.h#L227
'livekit::FfiClient::pending_by_id_': 'std::unordered_map<livekit::FfiClient::AsyncId,std::unique_ptr<livekit::FfiClient::PendingBase,std::default_delete<livekit::FfiClient::PendingBase>>,std::hash<livekit::FfiClient::AsyncId>,std::equal_to<livekit::FfiClient::AsyncId>,std::allocator<std::pair<const livekit::FfiClient::AsyncId,std::unique_ptr<livekit::FfiClient::PendingBase,std::default_delete<livekit::FfiClient::PendingBase>>>>>' needs to have dll-interface to be used by clients of 'livekit::FfiClient' [D:\a\client-sdk-cpp\client-sdk-cpp\build-release\livekit.vcxproj]
Tests / Test (windows-x64): src/ffi_client.h#L224
'livekit::FfiClient::next_listener_id': 'std::atomic<int>' needs to have dll-interface to be used by clients of 'livekit::FfiClient' [D:\a\client-sdk-cpp\client-sdk-cpp\build-release\livekit.vcxproj]
Tests / Test (windows-x64): src/ffi_client.h#L222
'livekit::FfiClient::listeners_': 'std::unordered_map<livekit::FfiClient::ListenerId,std::shared_ptr<livekit::FfiClient::ListenerSlot>,std::hash<int>,std::equal_to<livekit::FfiClient::ListenerId>,std::allocator<std::pair<const livekit::FfiClient::ListenerId,std::shared_ptr<livekit::FfiClient::ListenerSlot>>>>' needs to have dll-interface to be used by clients of 'livekit::FfiClient' [D:\a\client-sdk-cpp\client-sdk-cpp\build-release\livekit.vcxproj]
Tests / Test (windows-x64): include/livekit/audio_frame.h#L88
'livekit::AudioFrame::data_': 'std::vector<int16_t,std::allocator<int16_t>>' needs to have dll-interface to be used by clients of 'livekit::AudioFrame' [D:\a\client-sdk-cpp\client-sdk-cpp\build-release\livekit.vcxproj]
Tests / Test (windows-x64): include/livekit/audio_frame.h#L88
'livekit::AudioFrame::data_': 'std::vector<int16_t,std::allocator<int16_t>>' needs to have dll-interface to be used by clients of 'livekit::AudioFrame' [D:\a\client-sdk-cpp\client-sdk-cpp\build-release\livekit.vcxproj]
Tests / Test (windows-x64)
Custom build for item "D:\a\client-sdk-cpp\client-sdk-cpp\build-release\CMakeFiles\da7240c96278d463ff60cb3c2ab9931d\livekit_ffi.dll.lib.rule" succeeded, but specified output "d:\a\client-sdk-cpp\client-sdk-cpp\client-sdk-rust\target\debug\livekit_ffi.dll.lib" has not been created. This may cause incremental build to work incorrectly. [D:\a\client-sdk-cpp\client-sdk-cpp\build-release\build_rust_ffi.vcxproj]
Builds / Build (macos-x64)
The following taps are not trusted: aws/tap Homebrew is currently ignoring formulae, casks and commands from these taps because tap trust is required. Untap them with: brew untap aws/tap Trust specific formulae, casks and commands with: brew trust --formula <user>/<tap>/<formula> brew trust --cask <user>/<tap>/<cask> brew trust --command <user>/<tap>/<command> Whole-tap trust is broader and includes all current and future formulae, casks and commands from the listed taps. Trust whole taps with: brew trust aws/tap To disable trust checks: export HOMEBREW_NO_REQUIRE_TAP_TRUST=1 This is not recommended and will be removed in a later release. For more information, see: https://docs.brew.sh/Tap-Trust
Tests / Test (macos-x64)
The following taps are not trusted: aws/tap Homebrew is currently ignoring formulae, casks and commands from these taps because tap trust is required. Untap them with: brew untap aws/tap Trust specific formulae, casks and commands with: brew trust --formula <user>/<tap>/<formula> brew trust --cask <user>/<tap>/<cask> brew trust --command <user>/<tap>/<command> Whole-tap trust is broader and includes all current and future formulae, casks and commands from the listed taps. Trust whole taps with: brew trust aws/tap To disable trust checks: export HOMEBREW_NO_REQUIRE_TAP_TRUST=1 This is not recommended and will be removed in a later release. For more information, see: https://docs.brew.sh/Tap-Trust
Tests / Test (macos-x64)
The following taps are not trusted: aws/tap Homebrew is currently ignoring formulae, casks and commands from these taps because tap trust is required. Untap them with: brew untap aws/tap Trust specific formulae, casks and commands with: brew trust --formula <user>/<tap>/<formula> brew trust --cask <user>/<tap>/<cask> brew trust --command <user>/<tap>/<command> Whole-tap trust is broader and includes all current and future formulae, casks and commands from the listed taps. Trust whole taps with: brew trust aws/tap For more information, see: https://docs.brew.sh/Tap-Trust
Tests / Test (macos-x64)
The following taps are not trusted: aws/tap Homebrew is currently ignoring formulae, casks and commands from these taps because tap trust is required. Untap them with: brew untap aws/tap Trust specific formulae, casks and commands with: brew trust --formula <user>/<tap>/<formula> brew trust --cask <user>/<tap>/<cask> brew trust --command <user>/<tap>/<command> Whole-tap trust is broader and includes all current and future formulae, casks and commands from the listed taps. Trust whole taps with: brew trust aws/tap To disable trust checks: export HOMEBREW_NO_REQUIRE_TAP_TRUST=1 This is not recommended and will be removed in a later release. For more information, see: https://docs.brew.sh/Tap-Trust
CI
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: suzuki-shunsuke/required-status-check-action@2b5a46064846b09381852c2c4217e898f639e768. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/

Artifacts

Produced during runtime
Name Size Digest
coverage-report
593 KB
sha256:6a8c9655f76d9a4bd9c913d3436d2c241f7864e1d37f82e15828e0a33fd27d21
livekit-cpp-docs
2.89 MB
sha256:20fbbd080726dcf35f9dc44b26f723ab08bdb4f24f7af83feb263e03e7693036
livekit-sdk-linux-arm64
23.2 MB
sha256:af336bba85f246a1ad826207699d247efed92525682e48de104a2c5e076b905d
livekit-sdk-linux-x64
24.9 MB
sha256:ea61e1bdb690c6bc8f0c7de4b016663e4c94322eb19dc917917e9ec8b1d15171
livekit-sdk-macos-arm64
19 MB
sha256:a18272b9b457e0d1d1b50bd105d1431b76ddb5112e09d5ea4fb32e9a6d1115e8
livekit-sdk-macos-x64
19.9 MB
sha256:f4339acda2c52581ed1d7e377239ace52f0156a23d0bf255de2067a89ac1dc15
livekit-sdk-windows-x64
11.4 MB
sha256:e0d747809858d432ec1c05d1d4381d4322e1727a7f190bdb74fd402c12de4a1b
test-results-linux-arm64
2.01 MB
sha256:1dec516bb0ce9233cb1ff13f630c269ba0c90fa648c1982e5ec92ce699cb17ed
test-results-linux-x64
2 MB
sha256:34aa064c4ef91a18e4f3bd1ec55308bf15647bc0a5402a8268315e9fe33f9e3f
test-results-macos-arm64
1.29 MB
sha256:0c68ebecfc77d2e8a531574d346d23a44dfb06de705ee552d1e1affae7c80124
test-results-macos-x64
2.26 MB
sha256:616535640b6349aaafaab0e2bc5fdec8d8dc4800b244af55134dff13a9a7fbf8
test-results-windows-x64
2.03 MB
sha256:335a1c7de3084d9258e63c6068387ac6a71a3b5b96eb78b3c51ad9ac63af4baf