feat: promote linux native audio path
This commit is contained in:
@@ -13,6 +13,7 @@ publish.workspace = true
|
||||
thiserror.workspace = true
|
||||
tracing.workspace = true
|
||||
serde.workspace = true
|
||||
base64 = "0.22"
|
||||
chanora_resolver = { path = "../chanora_resolver" }
|
||||
|
||||
# tsclientlib is git-only and not on crates.io. The "audio" feature
|
||||
@@ -31,12 +32,14 @@ tokio = { version = "1", features = ["macros", "rt-multi-thread", "time", "sync"
|
||||
futures = "0.3"
|
||||
async-trait = "0.1"
|
||||
|
||||
[target.'cfg(not(target_os = "android"))'.dependencies]
|
||||
# Desktop/iOS: native TLS maps to the platform TLS backend (Security.framework
|
||||
# on Apple, SChannel on Windows, system OpenSSL on Linux/BSD).
|
||||
[target.'cfg(any(target_os = "ios", target_os = "macos", target_os = "windows"))'.dependencies]
|
||||
# Apple + Windows keep the platform TLS backend (Security.framework /
|
||||
# SChannel). iOS in particular avoids the rustls/aws-lc path here.
|
||||
reqwest = { version = "0.13", default-features = false, features = ["charset", "http2", "native-tls"] }
|
||||
|
||||
[target.'cfg(target_os = "android")'.dependencies]
|
||||
# Android cross-builds should not pull OpenSSL. Use rustls here while keeping
|
||||
# native-tls for Apple targets where aws-lc/rustls is problematic for iOS.
|
||||
[target.'cfg(any(target_os = "android", target_os = "linux"))'.dependencies]
|
||||
# Android + Linux avoid a system OpenSSL dependency and use rustls instead.
|
||||
# This keeps Linux CI / dev hosts buildable without `openssl-devel`, while
|
||||
# preserving the native-tls path for Apple targets where rustls/aws-lc has
|
||||
# been problematic.
|
||||
reqwest = { version = "0.13", default-features = false, features = ["charset", "http2", "rustls"] }
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
use std::net::SocketAddr;
|
||||
use std::time::{Duration, Instant};
|
||||
|
||||
use base64::prelude::*;
|
||||
use chanora_resolver::ChanoraResolver;
|
||||
use futures::prelude::*;
|
||||
use std::collections::HashMap;
|
||||
@@ -975,7 +976,9 @@ fn send_text_message(
|
||||
) -> Result<MessageHandle, ProtocolError> {
|
||||
use tsproto_types::TextMessageTargetMode;
|
||||
match target {
|
||||
MessageTarget::Server => send_text_to_mode(con, message, TextMessageTargetMode::Server, "server"),
|
||||
MessageTarget::Server => {
|
||||
send_text_to_mode(con, message, TextMessageTargetMode::Server, "server")
|
||||
}
|
||||
MessageTarget::Channel => {
|
||||
// Fix: previously channel messages were sent via
|
||||
// state.server.send_textmessage() which always uses
|
||||
@@ -1216,6 +1219,11 @@ fn build_snapshot(
|
||||
.iter()
|
||||
.map(|c| ClientInfo {
|
||||
id: ClientId(c.id.0 as u64),
|
||||
uid: c
|
||||
.uid
|
||||
.as_ref()
|
||||
.map(|uid| BASE64_STANDARD.encode(&uid.0))
|
||||
.unwrap_or_default(),
|
||||
channel: ChannelId(c.channel.0),
|
||||
name: sanitize(&c.name),
|
||||
input_muted: c.input_muted,
|
||||
|
||||
@@ -68,6 +68,8 @@ pub struct ServerActivity {
|
||||
pub struct ClientInfo {
|
||||
/// Stable client id.
|
||||
pub id: ClientId,
|
||||
/// Stable TeamSpeak unique identifier for cross-session preference keys.
|
||||
pub uid: String,
|
||||
/// Channel the client is currently in.
|
||||
pub channel: ChannelId,
|
||||
/// Nickname, preserved verbatim per ADR-008.
|
||||
|
||||
Reference in New Issue
Block a user