diff options
author | Nick Cao <nickcao@nichi.co> | 2024-04-06 11:05:18 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-06 11:05:18 -0400 |
commit | d8e4120767a01b71eeaa4eabe1132a26e7db62b8 (patch) | |
tree | 4275657d8c88b0518aac9247deac775214bdd99e /pkgs/applications | |
parent | 7644b4bc09c6329bcd82561a076fd7add697d092 (diff) | |
parent | fb14bd6bd860ee254312d786589da7130c3b971a (diff) |
Merge pull request #301616 from NickCao/telegram-desktop-backport
[Backport release-23.11] telegram-desktop: 4.14.9 -> 4.16.1
Diffstat (limited to 'pkgs/applications')
-rw-r--r-- | pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix | 9 | ||||
-rw-r--r-- | pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/macos.patch | 78 |
2 files changed, 82 insertions, 5 deletions
diff --git a/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix index b8e530545b764..4e598b5edd158 100644 --- a/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix +++ b/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix @@ -30,7 +30,6 @@ , range-v3 , tl-expected , hunspell -, glibmm_2_68 , webkitgtk_6_0 , jemalloc , rnnoise @@ -64,14 +63,14 @@ let in stdenv.mkDerivation rec { pname = "telegram-desktop"; - version = "4.14.9"; + version = "4.16.1"; src = fetchFromGitHub { owner = "telegramdesktop"; repo = "tdesktop"; rev = "v${version}"; fetchSubmodules = true; - hash = "sha256-VqLCkGav6qtam9qk2MsjCdyVSj3630FGQg50Mv0OBNE="; + hash = "sha256-sb7BpEIjSJS4ntv8s0RSJAj4BhTgHF7fEei5QXl60mA="; }; patches = [ @@ -94,6 +93,9 @@ stdenv.mkDerivation rec { --replace '"libpulse.so.0"' '"${libpulseaudio}/lib/libpulse.so.0"' substituteInPlace Telegram/lib_webview/webview/platform/linux/webview_linux_webkitgtk_library.cpp \ --replace '"libwebkitgtk-6.0.so.4"' '"${webkitgtk_6_0}/lib/libwebkitgtk-6.0.so.4"' + '' + lib.optionalString stdenv.isDarwin '' + substituteInPlace Telegram/lib_webrtc/webrtc/platform/mac/webrtc_environment_mac.mm \ + --replace kAudioObjectPropertyElementMain kAudioObjectPropertyElementMaster ''; # We want to run wrapProgram manually (with additional parameters) @@ -141,7 +143,6 @@ stdenv.mkDerivation rec { libpulseaudio pipewire hunspell - glibmm_2_68 webkitgtk_6_0 jemalloc ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk_11_0.frameworks; [ diff --git a/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/macos.patch b/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/macos.patch index c8424359fdbfd..37b13b6844f32 100644 --- a/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/macos.patch +++ b/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/macos.patch @@ -49,12 +49,88 @@ index 7ce90d3..dac3c2c 100644 const auto state = DetectBatteryState(); if (!state.has || !state.draining) { return false; +Submodule Telegram/lib_webrtc contains modified content +diff --git a/Telegram/lib_webrtc/webrtc/platform/mac/webrtc_environment_mac.mm b/Telegram/lib_webrtc/webrtc/platform/mac/webrtc_environment_mac.mm +index 7521c08..5e22da2 100644 +--- a/Telegram/lib_webrtc/webrtc/platform/mac/webrtc_environment_mac.mm ++++ b/Telegram/lib_webrtc/webrtc/platform/mac/webrtc_environment_mac.mm +@@ -364,6 +364,7 @@ EnvironmentMac::EnvironmentMac(not_null<EnvironmentDelegate*> delegate) + DefaultCaptureDeviceChangedMonitor.registerEnvironment(this); + AudioDeviceListChangedMonitor.registerEnvironment(this); + ++#if 0 + if (@available(macOS 14.0, *)) { + const auto weak = base::make_weak(this); + id block = [^(BOOL shouldBeMuted){ +@@ -387,6 +388,7 @@ EnvironmentMac::EnvironmentMac(not_null<EnvironmentDelegate*> delegate) + setInputMuteStateChangeHandler:block + error:nil]; + } ++#endif + } + + EnvironmentMac::~EnvironmentMac() { +@@ -537,15 +539,18 @@ void EnvironmentMac::devicesRequested(DeviceType type) { + } + + void EnvironmentMac::setCaptureMuted(bool muted) { ++#if 0 + if (@available(macOS 14.0, *)) { + if (!_captureMuteNotification) { + const auto value = muted ? YES : NO; + [[AVAudioApplication sharedInstance] setInputMuted:value error:nil]; + } + } ++#endif + } + + void EnvironmentMac::captureMuteSubscribe() { ++#if 0 + if (@available(macOS 14.0, *)) { + id observer = [[InputMuteObserver alloc] init]; + [[[NSWorkspace sharedWorkspace] notificationCenter] +@@ -578,6 +583,7 @@ void EnvironmentMac::captureMuteSubscribe() { + [observer release]; + }); + } ++#endif + } + + void EnvironmentMac::captureMuteUnsubscribe() { +@@ -595,6 +601,7 @@ void EnvironmentMac::captureMuteRestartAdm() { + void EnvironmentMac::setCaptureMuteTracker( + not_null<CaptureMuteTracker*> tracker, + bool track) { ++#if 0 + if (@available(macOS 14.0, *)) { + if (track) { + if (!_captureMuteTracker) { +@@ -619,6 +626,7 @@ void EnvironmentMac::setCaptureMuteTracker( + } + } + } ++#endif + } + + std::unique_ptr<Environment> CreateEnvironment( Submodule Telegram/lib_webview contains modified content diff --git a/Telegram/lib_webview/webview/platform/mac/webview_mac.mm b/Telegram/lib_webview/webview/platform/mac/webview_mac.mm index 738e574..80ff5f0 100644 --- a/Telegram/lib_webview/webview/platform/mac/webview_mac.mm +++ b/Telegram/lib_webview/webview/platform/mac/webview_mac.mm -@@ -254,10 +254,12 @@ void *Instance::winId() { +@@ -314,9 +314,11 @@ Instance::Instance(Config config) { + _dataRequestHandler = std::move(config.dataRequestHandler); + [configuration setURLSchemeHandler:_handler forURLScheme:stdToNS(kDataUrlScheme)]; + _webview = [[WKWebView alloc] initWithFrame:NSZeroRect configuration:configuration]; ++#if 0 + if (@available(macOS 13.3, *)) { + _webview.inspectable = config.debug ? YES : NO; + } ++#endif + [_manager addScriptMessageHandler:_handler name:@"external"]; + [_webview setNavigationDelegate:_handler]; + [_webview setUIDelegate:_handler]; +@@ -658,10 +660,12 @@ void *Instance::winId() { } void Instance::setOpaqueBg(QColor opaqueBg) { |