Version 4.16.

- Instant View on Windows 10+ and macOS.
- Allow scheduling messages in topics.
- Telegram Business: Links to Chats.
- Telegram Business: Custom Intro.
- Telegram Business: Chatbots.
- Sharing Revenue with Channel Owners.
This commit is contained in:
John Preston 2024-04-01 22:52:25 +04:00
parent c0117e72ad
commit 707146daed
14 changed files with 33 additions and 45 deletions

View file

@ -10,7 +10,7 @@
<Identity Name="TelegramMessengerLLP.TelegramDesktop"
ProcessorArchitecture="ARCHITECTURE"
Publisher="CN=536BC709-8EE1-4478-AF22-F0F0F26FF64A"
Version="4.15.7.0" />
Version="4.16.0.0" />
<Properties>
<DisplayName>Telegram Desktop</DisplayName>
<PublisherDisplayName>Telegram Messenger LLP</PublisherDisplayName>

View file

@ -44,8 +44,8 @@ IDI_ICON1 ICON "..\\art\\icon256.ico"
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 4,15,7,0
PRODUCTVERSION 4,15,7,0
FILEVERSION 4,16,0,0
PRODUCTVERSION 4,16,0,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@ -62,10 +62,10 @@ BEGIN
BEGIN
VALUE "CompanyName", "Telegram FZ-LLC"
VALUE "FileDescription", "Telegram Desktop"
VALUE "FileVersion", "4.15.7.0"
VALUE "FileVersion", "4.16.0.0"
VALUE "LegalCopyright", "Copyright (C) 2014-2024"
VALUE "ProductName", "Telegram Desktop"
VALUE "ProductVersion", "4.15.7.0"
VALUE "ProductVersion", "4.16.0.0"
END
END
BLOCK "VarFileInfo"

View file

@ -35,8 +35,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 4,15,7,0
PRODUCTVERSION 4,15,7,0
FILEVERSION 4,16,0,0
PRODUCTVERSION 4,16,0,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", "4.15.7.0"
VALUE "FileVersion", "4.16.0.0"
VALUE "LegalCopyright", "Copyright (C) 2014-2024"
VALUE "ProductName", "Telegram Desktop"
VALUE "ProductVersion", "4.15.7.0"
VALUE "ProductVersion", "4.16.0.0"
END
END
BLOCK "VarFileInfo"

View file

@ -106,7 +106,6 @@ UserPrivacy::Rule TLToRules(const TLRules &rules, Data::Session &owner) {
using Option = UserPrivacy::Option;
auto result = UserPrivacy::Rule();
auto optionSet = false;
auto allowPremium = false;
const auto setOption = [&](Option option) {
if (optionSet) {
return;

View file

@ -906,7 +906,7 @@ void ShareWithFriend(
Window::ShowChooseRecipientBox(navigation, chosen);
}
[[nodiscard]] void ShowAlreadyPremiumToast(
void ShowAlreadyPremiumToast(
not_null<Window::SessionNavigation*> navigation,
const QString &slug,
TimeId date) {

View file

@ -689,7 +689,6 @@ object_ptr<Ui::RpWidget> CreateUserpicsWithMoreBadge(
+ st::lineWidth;
auto result = object_ptr<Ui::FixedHeightWidget>(parent, full);
const auto raw = result.data();
const auto &st = st::boostReplaceUserpic;
const auto overlay = CreateChild<Ui::RpWidget>(raw);
const auto state = raw->lifetime().make_state<State>();

View file

@ -22,7 +22,7 @@ constexpr auto AppId = "{53F49750-6209-4FBF-9CA8-7A333C87D1ED}"_cs;
constexpr auto AppNameOld = "Telegram Win (Unofficial)"_cs;
constexpr auto AppName = "Telegram Desktop"_cs;
constexpr auto AppFile = "Telegram"_cs;
constexpr auto AppVersion = 4015007;
constexpr auto AppVersionStr = "4.15.7";
constexpr auto AppBetaVersion = true;
constexpr auto AppVersion = 4016000;
constexpr auto AppVersionStr = "4.16";
constexpr auto AppBetaVersion = false;
constexpr auto AppAlphaVersion = TDESKTOP_ALPHA_VERSION;

View file

@ -281,7 +281,7 @@ void InnerWidget::fill() {
const auto &data = _state;
constexpr auto kMinus = QChar(0x2212);
constexpr auto kApproximately = QChar(0x2248);
//constexpr auto kApproximately = QChar(0x2248);
const auto multiplier = data.usdRate;
constexpr auto kNonInteractivePeriod = 1717200000;
@ -706,9 +706,6 @@ void InnerWidget::fill() {
(b.height() - l.height()) / 2);
}, label->lifetime());
const auto fadeAnimation =
label->lifetime().make_state<Ui::Animations::Simple>();
const auto colorText = [=](float64 value) {
label->setTextColorOverride(
anim::with_alpha(
@ -1044,7 +1041,7 @@ void InnerWidget::fill() {
Ui::AddSkip(container);
}
if (channel) {
constexpr auto kMaxCPM = 50; // Debug.
//constexpr auto kMaxCPM = 50; // Debug.
const auto requiredLevel = Data::LevelLimits(session)
.channelRestrictSponsoredLevelMin();
const auto &phrase = tr::lng_channel_earn_off;

View file

@ -670,12 +670,12 @@ base::options::toggle ShowPeerIdBelowAbout({
const TextWithEntities &value) {
slide->show(anim::type::normal);
});
auto labeled = layout->add(object_ptr<Ui::FlatLabel>(
layout->add(object_ptr<Ui::FlatLabel>(
layout,
std::move(nonEmptyText),
st::birthdayLabeled));
layout->add(Ui::CreateSkipWidget(layout, st::infoLabelSkip));
const auto subtext = layout->add(object_ptr<Ui::FlatLabel>(
layout->add(object_ptr<Ui::FlatLabel>(
layout,
std::move(
label

View file

@ -103,9 +103,6 @@ public:
not_null<QWidget*> button;
};
void show(Descriptor &&descriptor);
void repaint();
[[nodiscard]] bool hasFocus() const;
struct CustomChosen {
not_null<DocumentData*> sticker;
@ -240,7 +237,6 @@ rpl::producer<std::shared_ptr<StickerPlayer>> IconPlayerValue(
stickerChosen(chosen.sticker);
}, raw->lifetime());
const auto session = &show->session();
std::move(
stickerValue
) | rpl::start_with_next([=](DocumentData *sticker) {
@ -435,7 +431,6 @@ StickerPanel::StickerPanel() = default;
StickerPanel::~StickerPanel() = default;
void StickerPanel::show(Descriptor &&descriptor) {
const auto controller = descriptor.controller;
if (!_panel) {
create(descriptor);
@ -466,14 +461,6 @@ void StickerPanel::show(Descriptor &&descriptor) {
_panel->toggleAnimated();
}
bool StickerPanel::hasFocus() const {
return _panel && Ui::InFocusChain(_panel.get());
}
void StickerPanel::repaint() {
_panel->selector()->update();
}
void StickerPanel::create(const Descriptor &descriptor) {
using Selector = ChatHelpers::TabbedSelector;
using Descriptor = ChatHelpers::TabbedSelectorDescriptor;
@ -572,7 +559,7 @@ void ChatIntro::setupContent(
_intro = intro;
};
const auto preview = content->add(
content->add(
object_ptr<PreviewWrap>(
content,
session,

View file

@ -673,7 +673,6 @@ void LinksController::rowPaintIcon(
const auto skip = st::inviteLinkIconSkip;
const auto inner = size - 2 * skip;
const auto bg = &st::msgFile1Bg;
const auto stroke = st::inviteLinkIconStroke;
if (_icon.isNull()) {
_icon = QImage(
QSize(inner, inner) * style::DevicePixelRatio(),

View file

@ -416,8 +416,6 @@ void SetupPersonalChannel(
not_null<Ui::VerticalLayout*> container,
not_null<Window::SessionController*> controller,
not_null<UserData*> self) {
const auto session = &self->session();
Ui::AddSkip(container);
auto value = rpl::combine(

View file

@ -1,7 +1,7 @@
AppVersion 4015007
AppVersionStrMajor 4.15
AppVersionStrSmall 4.15.7
AppVersionStr 4.15.7
BetaChannel 1
AppVersion 4016000
AppVersionStrMajor 4.16
AppVersionStrSmall 4.16
AppVersionStr 4.16.0
BetaChannel 0
AlphaVersion 0
AppVersionOriginal 4.15.7.beta
AppVersionOriginal 4.16

View file

@ -1,3 +1,12 @@
4.16 (01.04.24)
- Instant View on Windows 10+ and macOS.
- Allow scheduling messages in topics.
- Telegram Business: Links to Chats.
- Telegram Business: Custom Intro.
- Telegram Business: Chatbots.
- Sharing Revenue with Channel Owners.
4.15.7 beta (01.04.24)
- Test crashfix on Linux.