diff --git a/.github/workflows/win.yml b/.github/workflows/win.yml index 12d0a1a2f..52e3de1d6 100644 --- a/.github/workflows/win.yml +++ b/.github/workflows/win.yml @@ -121,6 +121,11 @@ jobs: - name: Choco installs. run: choco install --no-progress -y nasm yasm jom ninja + - name: NuGet sources. + run: | + nuget sources Disable -Name "Microsoft Visual Studio Offline Packages" + nuget sources Add -Source https://api.nuget.org/v3/index.json & exit 0 + - name: Patches. shell: bash run: | @@ -286,6 +291,10 @@ jobs: msbuild -m opus.sln /property:Configuration=Debug /property:Platform="Win32" msbuild -m opus.sln /property:Configuration=Release /property:Platform="Win32" + echo "Workaround for FFmpeg." + copy Win32\Release\m.lib Win32\Release\ssp.lib + copy Win32\Release\m.lib Win32\Debug\ssp.lib + - name: FFmpeg cache. id: cache-ffmpeg uses: actions/cache@v2 diff --git a/Telegram/Resources/langs/lang.strings b/Telegram/Resources/langs/lang.strings index 76d1acc28..5678fa1a9 100644 --- a/Telegram/Resources/langs/lang.strings +++ b/Telegram/Resources/langs/lang.strings @@ -1910,6 +1910,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL "lng_payments_shipping_address_title" = "Shipping Information"; "lng_payments_card_title" = "New Card"; "lng_payments_card_number" = "Card Number"; +"lng_payments_card_cvc" = "CVC"; +"lng_payments_card_expire_date" = "MM / YY"; "lng_payments_card_holder" = "Cardholder name"; "lng_payments_billing_address" = "Billing Information"; "lng_payments_billing_country" = "Country"; diff --git a/Telegram/Resources/uwp/AppX/AppxManifest.xml b/Telegram/Resources/uwp/AppX/AppxManifest.xml index d37ec5f62..eac8d2781 100644 --- a/Telegram/Resources/uwp/AppX/AppxManifest.xml +++ b/Telegram/Resources/uwp/AppX/AppxManifest.xml @@ -9,7 +9,7 @@ + Version="2.7.3.0" /> Telegram Desktop Telegram Messenger LLP diff --git a/Telegram/Resources/winrc/Telegram.rc b/Telegram/Resources/winrc/Telegram.rc index aead1df4f..daa8c8689 100644 --- a/Telegram/Resources/winrc/Telegram.rc +++ b/Telegram/Resources/winrc/Telegram.rc @@ -44,8 +44,8 @@ IDI_ICON1 ICON "..\\art\\icon256.ico" // VS_VERSION_INFO VERSIONINFO - FILEVERSION 2,7,2,0 - PRODUCTVERSION 2,7,2,0 + FILEVERSION 2,7,3,0 + PRODUCTVERSION 2,7,3,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -62,10 +62,10 @@ BEGIN BEGIN VALUE "CompanyName", "Telegram FZ-LLC" VALUE "FileDescription", "Telegram Desktop" - VALUE "FileVersion", "2.7.2.0" + VALUE "FileVersion", "2.7.3.0" VALUE "LegalCopyright", "Copyright (C) 2014-2021" VALUE "ProductName", "Telegram Desktop" - VALUE "ProductVersion", "2.7.2.0" + VALUE "ProductVersion", "2.7.3.0" END END BLOCK "VarFileInfo" diff --git a/Telegram/Resources/winrc/Updater.rc b/Telegram/Resources/winrc/Updater.rc index 817dc2afe..f8b1b42be 100644 --- a/Telegram/Resources/winrc/Updater.rc +++ b/Telegram/Resources/winrc/Updater.rc @@ -35,8 +35,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US // VS_VERSION_INFO VERSIONINFO - FILEVERSION 2,7,2,0 - PRODUCTVERSION 2,7,2,0 + FILEVERSION 2,7,3,0 + PRODUCTVERSION 2,7,3,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -53,10 +53,10 @@ BEGIN BEGIN VALUE "CompanyName", "Telegram FZ-LLC" VALUE "FileDescription", "Telegram Desktop Updater" - VALUE "FileVersion", "2.7.2.0" + VALUE "FileVersion", "2.7.3.0" VALUE "LegalCopyright", "Copyright (C) 2014-2021" VALUE "ProductName", "Telegram Desktop" - VALUE "ProductVersion", "2.7.2.0" + VALUE "ProductVersion", "2.7.3.0" END END BLOCK "VarFileInfo" diff --git a/Telegram/SourceFiles/calls/calls.style b/Telegram/SourceFiles/calls/calls.style index 3368a28f1..b2201c1f9 100644 --- a/Telegram/SourceFiles/calls/calls.style +++ b/Telegram/SourceFiles/calls/calls.style @@ -208,6 +208,55 @@ callRemoteAudioMute: FlatLabel(callStatus) { } callRemoteAudioMuteSkip: 12px; +callMuteMainBlobMinRadius: 57px; +callMuteMainBlobMaxRadius: 63px; +callMuteMinorBlobMinRadius: 64px; +callMuteMinorBlobMaxRadius: 74px; +callMuteMajorBlobMinRadius: 67px; +callMuteMajorBlobMaxRadius: 77px; + +callMuteButtonActiveInner: IconButton { + width: 136px; + height: 165px; +} +callMuteButtonLabel: FlatLabel(defaultFlatLabel) { + textFg: groupCallMembersFg; + style: TextStyle(defaultTextStyle) { + font: font(14px); + linkFont: font(14px); + linkFontOver: font(14px underline); + } +} +callMuteButtonSublabel: FlatLabel(defaultFlatLabel) { + textFg: groupCallMemberNotJoinedStatus; +} +callMuteButtonLabelsSkip: 5px; +callMuteButtonSublabelSkip: 19px; +callMuteButtonActive: CallButton { + button: callMuteButtonActiveInner; + bg: groupCallLive1; + bgSize: 100px; + bgPosition: point(18px, 18px); + outerRadius: 18px; + outerBg: callAnswerBgOuter; + label: callMuteButtonLabel; +} +callMuteButtonMuted: CallButton(callMuteButtonActive) { + bg: groupCallMuted1; + label: callMuteButtonLabel; +} +callMuteButtonConnecting: CallButton(callMuteButtonMuted) { + bg: callIconBg; + label: callMuteButtonLabel; +} +callMuteButtonLabelAdditional: 5px; + +callConnectingRadial: InfiniteRadialAnimation(defaultInfiniteRadialAnimation) { + color: lightButtonFg; + thickness: 4px; + size: size(100px, 100px); +} + callBarHeight: 38px; callBarMuteToggle: IconButton { width: 41px; diff --git a/Telegram/SourceFiles/calls/calls_group_call.cpp b/Telegram/SourceFiles/calls/calls_group_call.cpp index 050f2cc42..8edb10426 100644 --- a/Telegram/SourceFiles/calls/calls_group_call.cpp +++ b/Telegram/SourceFiles/calls/calls_group_call.cpp @@ -269,14 +269,18 @@ GroupCall::~GroupCall() { destroyController(); } +void GroupCall::setScheduledDate(TimeId date) { + const auto was = _scheduleDate; + _scheduleDate = date; + if (was && !date) { + join(inputCall()); + } +} + void GroupCall::subscribeToReal(not_null real) { real->scheduleDateValue( ) | rpl::start_with_next([=](TimeId date) { - const auto was = _scheduleDate; - _scheduleDate = date; - if (was && !date) { - join(inputCall()); - } + setScheduledDate(date); }, _lifetime); } @@ -821,11 +825,7 @@ void GroupCall::handlePossibleCreateOrJoinResponse( void GroupCall::handlePossibleCreateOrJoinResponse( const MTPDgroupCall &data) { - if (const auto date = data.vschedule_date()) { - _scheduleDate = date->v; - } else { - _scheduleDate = 0; - } + setScheduledDate(data.vschedule_date().value_or_empty()); if (_acceptFields) { if (!_instance && !_id) { const auto input = MTP_inputGroupCall( diff --git a/Telegram/SourceFiles/calls/calls_group_call.h b/Telegram/SourceFiles/calls/calls_group_call.h index 6e029418a..90f0f8f9f 100644 --- a/Telegram/SourceFiles/calls/calls_group_call.h +++ b/Telegram/SourceFiles/calls/calls_group_call.h @@ -259,6 +259,7 @@ private: void setJoinAs(not_null as); void saveDefaultJoinAs(not_null as); void subscribeToReal(not_null real); + void setScheduledDate(TimeId date); void audioLevelsUpdated(const tgcalls::GroupLevelsUpdate &data); void setInstanceConnected(tgcalls::GroupNetworkState networkState); diff --git a/Telegram/SourceFiles/core/ui_integration.cpp b/Telegram/SourceFiles/core/ui_integration.cpp index be2e3b621..3118da235 100644 --- a/Telegram/SourceFiles/core/ui_integration.cpp +++ b/Telegram/SourceFiles/core/ui_integration.cpp @@ -21,6 +21,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "main/main_session.h" #include "main/main_app_config.h" #include "mainwindow.h" +#include "facades.h" // Global::ScreenIsLocked. namespace Core { namespace { @@ -135,6 +136,10 @@ void UiIntegration::startFontsBegin() { } */ +bool UiIntegration::screenIsLocked() { + return Global::ScreenIsLocked(); +} + QString UiIntegration::timeFormat() { return cTimeFormat(); } diff --git a/Telegram/SourceFiles/core/ui_integration.h b/Telegram/SourceFiles/core/ui_integration.h index 2bcf54fda..2f9cfc618 100644 --- a/Telegram/SourceFiles/core/ui_integration.h +++ b/Telegram/SourceFiles/core/ui_integration.h @@ -41,6 +41,7 @@ public: void textActionsUpdated() override; void activationFromTopPanel() override; + bool screenIsLocked() override; QString timeFormat() override; std::shared_ptr createLinkHandler( diff --git a/Telegram/SourceFiles/core/version.h b/Telegram/SourceFiles/core/version.h index 1fa247c5a..1436fa6db 100644 --- a/Telegram/SourceFiles/core/version.h +++ b/Telegram/SourceFiles/core/version.h @@ -23,7 +23,7 @@ constexpr auto AppId = "{C4A4AE8F-B9F7-4CC7-8A6C-BF7EEE87ACA5}"_cs; constexpr auto AppNameOld = "Telegram Win (Unofficial)"_cs; constexpr auto AppName = "Kotatogram Desktop"_cs; constexpr auto AppFile = "Kotatogram"_cs; -constexpr auto AppVersion = 2007002; -constexpr auto AppVersionStr = "2.7.2"; +constexpr auto AppVersion = 2007003; +constexpr auto AppVersionStr = "2.7.3"; constexpr auto AppBetaVersion = false; constexpr auto AppAlphaVersion = TDESKTOP_ALPHA_VERSION; diff --git a/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp b/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp index 584572587..40a9564a7 100644 --- a/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp +++ b/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp @@ -3001,9 +3001,14 @@ void OverlayWidget::switchToPip() { _streamed->instance.shared(), closeAndContinue, [=] { _pip = nullptr; }); - close(); - if (const auto window = Core::App().activeWindow()) { - window->activate(); + if (isHidden()) { + clearBeforeHide(); + clearAfterHide(); + } else { + close(); + if (const auto window = Core::App().activeWindow()) { + window->activate(); + } } } @@ -4369,42 +4374,50 @@ void OverlayWidget::applyHideWindowWorkaround() { #endif // USE_OPENGL_OVERLAY_WIDGET } +// #TODO unite and check +void OverlayWidget::clearBeforeHide() { + _sharedMedia = nullptr; + _sharedMediaData = std::nullopt; + _sharedMediaDataKey = std::nullopt; + _userPhotos = nullptr; + _userPhotosData = std::nullopt; + _collage = nullptr; + _collageData = std::nullopt; + assignMediaPointer(nullptr); + _preloadPhotos.clear(); + _preloadDocuments.clear(); + if (_menu) { + _menu->hideMenu(true); + } + _controlsHideTimer.cancel(); + _controlsState = ControlsShown; + _controlsOpacity = anim::value(1, 1); + _groupThumbs = nullptr; + _groupThumbsRect = QRect(); +} + +void OverlayWidget::clearAfterHide() { + clearStreaming(); + destroyThemePreview(); + _radial.stop(); + _staticContent = QPixmap(); + _themePreview = nullptr; + _themeApply.destroyDelayed(); + _themeCancel.destroyDelayed(); + _themeShare.destroyDelayed(); +} + void OverlayWidget::setVisibleHook(bool visible) { if (!visible) { applyHideWindowWorkaround(); - _sharedMedia = nullptr; - _sharedMediaData = std::nullopt; - _sharedMediaDataKey = std::nullopt; - _userPhotos = nullptr; - _userPhotosData = std::nullopt; - _collage = nullptr; - _collageData = std::nullopt; - assignMediaPointer(nullptr); - _preloadPhotos.clear(); - _preloadDocuments.clear(); - if (_menu) { - _menu->hideMenu(true); - } - _controlsHideTimer.cancel(); - _controlsState = ControlsShown; - _controlsOpacity = anim::value(1, 1); - _groupThumbs = nullptr; - _groupThumbsRect = QRect(); + clearBeforeHide(); } OverlayParent::setVisibleHook(visible); if (visible) { QCoreApplication::instance()->installEventFilter(this); } else { QCoreApplication::instance()->removeEventFilter(this); - - clearStreaming(); - destroyThemePreview(); - _radial.stop(); - _staticContent = QPixmap(); - _themePreview = nullptr; - _themeApply.destroyDelayed(); - _themeCancel.destroyDelayed(); - _themeShare.destroyDelayed(); + clearAfterHide(); } } diff --git a/Telegram/SourceFiles/media/view/media_view_overlay_widget.h b/Telegram/SourceFiles/media/view/media_view_overlay_widget.h index b76a9f261..dc9234e0a 100644 --- a/Telegram/SourceFiles/media/view/media_view_overlay_widget.h +++ b/Telegram/SourceFiles/media/view/media_view_overlay_widget.h @@ -210,6 +210,9 @@ private: void playbackPauseMusic(); void switchToPip(); + void clearBeforeHide(); + void clearAfterHide(); + void assignMediaPointer(DocumentData *document); void assignMediaPointer(not_null photo); diff --git a/Telegram/SourceFiles/payments/ui/payments_edit_card.cpp b/Telegram/SourceFiles/payments/ui/payments_edit_card.cpp index 95200b504..d09b6da23 100644 --- a/Telegram/SourceFiles/payments/ui/payments_edit_card.cpp +++ b/Telegram/SourceFiles/payments/ui/payments_edit_card.cpp @@ -303,12 +303,12 @@ not_null EditCard::setupContent() { st::paymentsFieldPadding); _expire = make(container, { .type = FieldType::CardExpireDate, - .placeholder = rpl::single(u"MM / YY"_q), + .placeholder = tr::lng_payments_card_expire_date(), .validator = ExpireDateValidator(), }); _cvc = make(container, { .type = FieldType::CardCVC, - .placeholder = rpl::single(u"CVC"_q), + .placeholder = tr::lng_payments_card_cvc(), .validator = CvcValidator([=] { return _number->value(); }), }); container->widthValue( diff --git a/Telegram/SourceFiles/payments/ui/payments_form_summary.cpp b/Telegram/SourceFiles/payments/ui/payments_form_summary.cpp index 3dfba7782..585acc352 100644 --- a/Telegram/SourceFiles/payments/ui/payments_form_summary.cpp +++ b/Telegram/SourceFiles/payments/ui/payments_form_summary.cpp @@ -196,7 +196,7 @@ void FormSummary::setupControls() { _1 + _2 < _3)); rpl::merge( - _submit->widthValue(), + (_submit ? _submit->widthValue() : rpl::single(0)), _cancel->widthValue() ) | rpl::skip(2) | rpl::start_with_next([=] { updateControlsGeometry(); diff --git a/Telegram/SourceFiles/platform/linux/notifications_manager_linux.cpp b/Telegram/SourceFiles/platform/linux/notifications_manager_linux.cpp index cf5a07099..286cd6313 100644 --- a/Telegram/SourceFiles/platform/linux/notifications_manager_linux.cpp +++ b/Telegram/SourceFiles/platform/linux/notifications_manager_linux.cpp @@ -60,8 +60,17 @@ void StartServiceAsync( try { result(); // get the error if any } catch (const Glib::Error &e) { - LOG(("Native Notification Error: %1").arg( - QString::fromStdString(e.what()))); + static const auto NotSupportedErrors = { + "org.freedesktop.DBus.Error.ServiceUnknown", + }; + + const auto errorName = + Gio::DBus::ErrorUtils::get_remote_error(e); + + if (!ranges::contains(NotSupportedErrors, errorName)) { + LOG(("Native Notification Error: %1").arg( + QString::fromStdString(e.what()))); + } } catch (const std::exception &e) { LOG(("Native Notification Error: %1").arg( QString::fromStdString(e.what()))); @@ -72,9 +81,7 @@ void StartServiceAsync( cancellable); return; - } catch (const Glib::Error &e) { - LOG(("Native Notification Error: %1").arg( - QString::fromStdString(e.what()))); + } catch (...) { } crl::on_main([=] { callback(); }); diff --git a/Telegram/SourceFiles/platform/win/notifications_manager_win.cpp b/Telegram/SourceFiles/platform/win/notifications_manager_win.cpp index 217a930e1..25db6596a 100644 --- a/Telegram/SourceFiles/platform/win/notifications_manager_win.cpp +++ b/Telegram/SourceFiles/platform/win/notifications_manager_win.cpp @@ -19,6 +19,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "core/core_settings.h" #include "main/main_session.h" #include "mainwindow.h" +#include "facades.h" // Global::ScreenIsLocked. #include "windows_quiethours_h.h" #include @@ -798,14 +799,10 @@ bool SkipAudio() { if (UserNotificationState == QUNS_NOT_PRESENT || UserNotificationState == QUNS_PRESENTATION_MODE || QuietHoursEnabled - || FocusAssistBlocks) { + || FocusAssistBlocks + || Global::ScreenIsLocked()) { return true; } - if (const auto filter = EventFilter::GetInstance()) { - if (filter->sessionLoggedOff()) { - return true; - } - } return false; } diff --git a/Telegram/SourceFiles/platform/win/windows_event_filter.cpp b/Telegram/SourceFiles/platform/win/windows_event_filter.cpp index ce89b6620..29affd3ff 100644 --- a/Telegram/SourceFiles/platform/win/windows_event_filter.cpp +++ b/Telegram/SourceFiles/platform/win/windows_event_filter.cpp @@ -93,10 +93,6 @@ EventFilter *EventFilter::CreateInstance(not_null window) { return (instance = new EventFilter(window)); } -EventFilter *EventFilter::GetInstance() { - return instance; -} - void EventFilter::Destroy() { Expects(instance != nullptr); @@ -240,9 +236,9 @@ bool EventFilter::mainWindowEvent( case WM_WTSSESSION_CHANGE: { if (wParam == WTS_SESSION_LOGOFF || wParam == WTS_SESSION_LOCK) { - setSessionLoggedOff(true); + Global::SetScreenIsLocked(true); } else if (wParam == WTS_SESSION_LOGON || wParam == WTS_SESSION_UNLOCK) { - setSessionLoggedOff(false); + Global::SetScreenIsLocked(false); } } return false; diff --git a/Telegram/SourceFiles/platform/win/windows_event_filter.h b/Telegram/SourceFiles/platform/win/windows_event_filter.h index a0dbd9d1e..de48509ff 100644 --- a/Telegram/SourceFiles/platform/win/windows_event_filter.h +++ b/Telegram/SourceFiles/platform/win/windows_event_filter.h @@ -20,15 +20,7 @@ public: bool nativeEventFilter(const QByteArray &eventType, void *message, long *result); bool mainWindowEvent(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, LRESULT *result); - bool sessionLoggedOff() const { - return _sessionLoggedOff; - } - void setSessionLoggedOff(bool loggedOff) { - _sessionLoggedOff = loggedOff; - } - static EventFilter *CreateInstance(not_null window); - static EventFilter *GetInstance(); static void Destroy(); private: @@ -42,7 +34,6 @@ private: LRESULT *result); not_null _window; - bool _sessionLoggedOff = false; }; diff --git a/Telegram/SourceFiles/ui/controls/call_mute_button.h b/Telegram/SourceFiles/ui/controls/call_mute_button.h index eb9f604dc..924489acc 100644 --- a/Telegram/SourceFiles/ui/controls/call_mute_button.h +++ b/Telegram/SourceFiles/ui/controls/call_mute_button.h @@ -13,6 +13,10 @@ #include "ui/effects/radial_animation.h" #include "lottie/lottie_icon.h" +namespace st { +extern const style::InfiniteRadialAnimation &callConnectingRadial; +} // namespace st + namespace Ui { class BlobsWidget; diff --git a/Telegram/SourceFiles/window/notifications_manager.cpp b/Telegram/SourceFiles/window/notifications_manager.cpp index 7fa80ff0f..8e4d95bfb 100644 --- a/Telegram/SourceFiles/window/notifications_manager.cpp +++ b/Telegram/SourceFiles/window/notifications_manager.cpp @@ -578,9 +578,10 @@ void System::updateAll() { } } -Manager::DisplayOptions Manager::GetNotificationOptions(HistoryItem *item) { +Manager::DisplayOptions Manager::getNotificationOptions( + HistoryItem *item) const { const auto hideEverything = Core::App().passcodeLocked() - || Global::ScreenIsLocked(); + || forceHideDetails(); const auto view = Core::App().settings().notifyView(); DisplayOptions result; @@ -704,7 +705,7 @@ void Manager::notificationReplied( void NativeManager::doShowNotification( not_null item, int forwardedCount) { - const auto options = GetNotificationOptions(item); + const auto options = getNotificationOptions(item); const auto peer = item->history()->peer; const auto scheduled = !options.hideNameAndPhoto @@ -740,6 +741,10 @@ void NativeManager::doShowNotification( options.hideReplyButton); } +bool NativeManager::forceHideDetails() const { + return Global::ScreenIsLocked(); +} + System::~System() = default; QString WrapFromScheduled(const QString &text) { diff --git a/Telegram/SourceFiles/window/notifications_manager.h b/Telegram/SourceFiles/window/notifications_manager.h index 24742cb20..83c8ad347 100644 --- a/Telegram/SourceFiles/window/notifications_manager.h +++ b/Telegram/SourceFiles/window/notifications_manager.h @@ -193,8 +193,8 @@ public: bool hideMessageText = false; bool hideReplyButton = false; }; - [[nodiscard]] static DisplayOptions GetNotificationOptions( - HistoryItem *item); + [[nodiscard]] DisplayOptions getNotificationOptions( + HistoryItem *item) const; [[nodiscard]] QString addTargetAccountName( const QString &title, @@ -218,6 +218,9 @@ protected: virtual void doClearFromItem(not_null item) = 0; virtual void doClearFromHistory(not_null history) = 0; virtual void doClearFromSession(not_null session) = 0; + [[nodiscard]] virtual bool forceHideDetails() const { + return false; + } virtual void onBeforeNotificationActivated(NotificationId id) { } virtual void onAfterNotificationActivated( @@ -256,6 +259,8 @@ protected: not_null item, int forwardedCount) override; + bool forceHideDetails() const override; + virtual void doShowNativeNotification( not_null peer, std::shared_ptr &userpicView, diff --git a/Telegram/SourceFiles/window/notifications_manager_default.cpp b/Telegram/SourceFiles/window/notifications_manager_default.cpp index d6cf3352e..13dce6768 100644 --- a/Telegram/SourceFiles/window/notifications_manager_default.cpp +++ b/Telegram/SourceFiles/window/notifications_manager_default.cpp @@ -725,7 +725,7 @@ void Notification::actionsOpacityCallback() { void Notification::updateNotifyDisplay() { if (!_history || (!_item && _forwardedCount < 2)) return; - const auto options = Manager::GetNotificationOptions(_item); + const auto options = manager()->getNotificationOptions(_item); _hideReplyButton = options.hideReplyButton; int32 w = width(), h = height(); diff --git a/Telegram/build/version b/Telegram/build/version index 147948fbc..559ba17ac 100644 --- a/Telegram/build/version +++ b/Telegram/build/version @@ -1,7 +1,7 @@ -AppVersion 2007002 +AppVersion 2007003 AppVersionStrMajor 2.7 -AppVersionStrSmall 2.7.2 -AppVersionStr 2.7.2 +AppVersionStrSmall 2.7.3 +AppVersionStr 2.7.3 BetaChannel 0 AlphaVersion 0 -AppVersionOriginal 2.7.2 +AppVersionOriginal 2.7.3 diff --git a/Telegram/lib_base b/Telegram/lib_base index 99dd340df..f013f994d 160000 --- a/Telegram/lib_base +++ b/Telegram/lib_base @@ -1 +1 @@ -Subproject commit 99dd340df02ac896c2238d4d9f23a86e163f2e02 +Subproject commit f013f994d96e1924e46d88f5c92524ce5d7b4262 diff --git a/Telegram/lib_ui b/Telegram/lib_ui index 545a79203..0710f40dd 160000 --- a/Telegram/lib_ui +++ b/Telegram/lib_ui @@ -1 +1 @@ -Subproject commit 545a79203336b5b19bd3493d9fc18b54efa126b3 +Subproject commit 0710f40dd1d6486c518d6e193a1b7d7a4f5c7a06 diff --git a/changelog.txt b/changelog.txt index a327fc22e..52e7e7ea5 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,9 @@ +2.7.3 (27.04.21) + +- Fix crash on some versions of Linux. +- Fix video not stopping when PiP window is closed. +- Fix messages marking as read if the Windows session is locked. + 2.7.2 (26.04.21) - Offer real goods and services for sale in any group, channel or bot – Telegram doesn't charge a commission. diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 53813ea39..427371560 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -69,6 +69,8 @@ layout: bind: $SNAP/usr/share/alsa /usr/share/X11: bind: $SNAP/usr/share/X11 + /usr/lib/$SNAPCRAFT_ARCH_TRIPLET/webkit2gtk-4.0: + bind: $SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/webkit2gtk-4.0 parts: kotatogram: