subscription_thread_dispatcher: guard against duplicate room events #255
ci.yml
on: pull_request
Detect Changes
7s
License Check
/
License Check
5s
Link Check
/
Link Check
10s
Matrix: Builds / build
Matrix: Tests / test
Tests
/
Code Coverage
17m 22s
C++ Checks
/
clang-format
17s
C++ Checks
/
clang-tidy
12m 8s
Generate Docs
/
Generate and verify docs
28s
Rust Release Check
/
Rust Release Check
Docker Images
/
Build (cpp-example-collection-linux-arm64)
Docker Images
/
Publish SDK manifest
Docker Images
/
Publish base manifest
Docker Images
/
Build (cpp-example-collection-x64)
CI
3s
Annotations
31 warnings
|
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
|
|
Tests / Code Coverage
(WARNING) /home/runner/work/client-sdk-cpp/client-sdk-cpp/src/logging.cpp:53: Ignoring negative hits in: branch 7 taken -2.
|
|
Tests / Code Coverage
(WARNING) /home/runner/work/client-sdk-cpp/client-sdk-cpp/src/logging.cpp:33: Ignoring negative hits in: branch 7 taken -14.
|
|
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
|
596 KB |
sha256:587f507088a1033cc612ce5c2262c40d1265b4212241c05319b36c45e4bc1c9e
|
|
|
livekit-cpp-docs
Expired
|
2.89 MB |
sha256:5133593dc1278af78f4c206b1d6a595ff7085e90397dddb8dfac742e255b01aa
|
|
|
livekit-sdk-linux-arm64
Expired
|
23.2 MB |
sha256:1610f9458063b600fe4a25bdfe572c4a58bab178ea19aff0501c580298104a29
|
|
|
livekit-sdk-linux-x64
Expired
|
24.9 MB |
sha256:5c1c956fa9f856a94dcb5e7a97892eb5913ddbe1027674b1136002c53bdc6566
|
|
|
livekit-sdk-macos-arm64
Expired
|
19 MB |
sha256:1c4c1b5dd4b36da6fca4b09429048dfbce93f0f97453aa3329d9d64c917bbf8a
|
|
|
livekit-sdk-macos-x64
Expired
|
19.9 MB |
sha256:2fdc6056bda6f9d9c6f3ccb2359a97faa2bcbed1f1c27f02b22f2bc2aed82edc
|
|
|
livekit-sdk-windows-x64
Expired
|
11.4 MB |
sha256:8b6432a32498c62836035d453e06928b4861c660c20fb34db8cece22b510e273
|
|
|
test-results-linux-arm64
Expired
|
2.03 MB |
sha256:64f0299055154472128cad26ae8ef1537de8a534e136db054f6a677bd247b1d0
|
|
|
test-results-linux-x64
Expired
|
2.07 MB |
sha256:7f811a3bed2644b2d2b0a9654378200903ba6d6088f86b0586abd5461b961383
|
|
|
test-results-macos-arm64
Expired
|
2.1 MB |
sha256:2daafe5f51597e1eb1d47868dd6b74f3bb4114ed4624023290efe3c8cd794cb5
|
|
|
test-results-macos-x64
Expired
|
2.17 MB |
sha256:b4afb20c02269da1c87303947b85b7ae19b983c269a87d5069ab0147e1f835c9
|
|
|
test-results-windows-x64
Expired
|
2.01 MB |
sha256:57c43f45f3ebffa2a9342b75d31ae4b73b5401575e2a67f9f2a38b9e14b508ff
|
|