Compare commits

...

604 Commits

Author SHA1 Message Date
John Preston
275327c789 Version 5.0.3.
- Ctrl+Click on Reply in menu to Reply in another chat.
- Allow Zero-Width-Space character in text rendering.
- Fix creating custom links in the message field.
- Fix jump to the topic with last unread message.
- Fix newline entering via Shift+Enter on Linux.
- Fix forum search open by Ctrl+F.
2024-05-28 11:53:51 +04:00
John Preston
72471c74d0 Limit symbols that allow diacritics after them. 2024-05-28 11:45:21 +04:00
John Preston
b9f63f80f1 Reply-in-another-chat by Ctrl+Click on Reply. 2024-05-28 10:59:46 +04:00
John Preston
32cd2120ac Allow zero width space in the middle of text.
Fixes #6959.
2024-05-28 10:54:20 +04:00
John Preston
7db9abf725 Fix forum search open by Ctrl+F. 2024-05-28 10:04:57 +04:00
John Preston
f09a939a7c Improve fix for markup. 2024-05-27 22:24:19 +04:00
John Preston
f1c1c900bf Fix newline regression on Linux. 2024-05-27 22:08:20 +04:00
John Preston
a43143d01c Separate ForceDisable from LastCheckCrashed. 2024-05-27 17:54:23 +04:00
John Preston
7357b40ba1 Fix build with updated lib_ui. 2024-05-27 17:54:23 +04:00
Ilya Fedin
ad6e34f3a4 Update lib_webview 2024-05-27 14:00:26 +04:00
John Preston
daf30dcab8 Fix jump to last topic in case of unread topic click. 2024-05-27 13:33:25 +04:00
Ilya Fedin
0033ad749f Update lib_webview 2024-05-27 08:06:25 +04:00
Ilya Fedin
62c249015d Update lib_webview 2024-05-26 14:20:43 +04:00
John Preston
31fcca245f Version 5.0.2: Fix IME-to-search on macOS. 2024-05-24 20:54:10 +04:00
John Preston
f4864cddc9 Fix possible crash in Settings of crashed web-app.
Fixes #27943.
2024-05-24 20:54:10 +04:00
John Preston
36db1105a2 Fix build with Xcode. 2024-05-24 16:09:01 +04:00
John Preston
364f62660c Version 5.0.2: Update the version number. 2024-05-24 15:26:18 +04:00
John Preston
b67a1bca49 Version 5.0.2.
- Toggle chats search focus by Tab key.
- Unfocus empty search by Backspace key.
- Add a spoiler to already sent media when editing.
- Forward by drag-n-drop to frequent contacts / recent searches.
- Allow wide chats list in empty window
with narrow list when a chat is opened.
- Improve custom font support in the input fields.
- Fix input method typing from unfocused search.
- Fix possible media reordering on batch send.
- Fix crash in group emoji set saving.
- Fix possible hang on quit on macOS.
2024-05-24 15:13:04 +04:00
John Preston
000911546b Fix usernames drop on min user being received. 2024-05-24 14:50:00 +04:00
John Preston
e26b8e7ebc Fix passcode lock glitch with new search. 2024-05-24 14:14:29 +04:00
John Preston
f03935ad9a Kill hang processes in case of app quitting. 2024-05-24 14:08:14 +04:00
John Preston
d91b75b8f8 Allow wide chats in empty window. 2024-05-24 12:55:48 +04:00
John Preston
4d4cf472c8 Fix crash in group emoji set saving. 2024-05-24 12:55:48 +04:00
John Preston
685c7a865e Use 64 iterations (like OpenSSL 3 for 2048 primes). 2024-05-24 12:55:48 +04:00
John Preston
0551550e61 Don't always open last topic in forums. 2024-05-24 12:55:48 +04:00
John Preston
c3fab28e1c Improve scroll style for limited reaction selector. 2024-05-24 12:55:48 +04:00
John Preston
74db2167f9 Allow copy custom emoji from panel. 2024-05-24 12:55:48 +04:00
John Preston
cedd8fc546 Fix incorrect replace media button show in reply. 2024-05-24 12:55:48 +04:00
John Preston
db486e957c Fix group/channel Appearance button style. 2024-05-24 12:55:48 +04:00
John Preston
1c6f45d8d3 Fix drag-n-drop to frequent/recent contacts. 2024-05-24 12:55:48 +04:00
John Preston
ba8bb2d50f Add .vscode to .gitignore. 2024-05-24 12:55:48 +04:00
John Preston
ec6d6a78cf Tab toggles search focus, Backspace doesn't focus. 2024-05-24 12:55:48 +04:00
John Preston
f10f3c08de Attempt to fix sending messages to broken topics. 2024-05-24 12:55:48 +04:00
John Preston
39c1da6642 Attempt to fix jump to unread in some cases. 2024-05-24 12:55:48 +04:00
John Preston
84ec2a5f74 Possibly fix wrong requests order. 2024-05-22 21:21:03 +04:00
Ilya Fedin
5e3e9ba824 Ensure Qt doesn't prevent quit due to ignored widget close events 2024-05-22 16:47:08 +04:00
Ilya Fedin
198528f79f Remove code needed for a removed patch 2024-05-21 14:20:43 +04:00
Ilya Fedin
8a5ad581b8 Update Qt to 6.7.1 on Linux 2024-05-21 14:20:43 +04:00
Ilya Fedin
7dbf8ca1f4 Remove unneeded Qt::WA_InputMethodEnabled
The widget already had it
2024-05-21 14:10:47 +04:00
dependabot[bot]
df808df8d3 Bump actions/upload-artifact from 2 to 4
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v2...v4)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-21 09:16:03 +04:00
Ilya Fedin
4fddaef112 Update lib_webview 2024-05-20 14:25:23 +04:00
John Preston
2bdc204c47 Fix geometry applying in webview windows. 2024-05-20 14:25:23 +04:00
Ilya Fedin
6734f99ba8 Update lib_ui & patches on Linux 2024-05-19 20:30:13 +04:00
Ilya Fedin
af4e0178d0 Ensure window flags are set before calling SeparatePanel::setInnerSize
Setting window flags may lead to native window being re-created
2024-05-19 20:30:13 +04:00
Ilya Fedin
65b62485be Forward input method event from Dialogs::Widget to search field 2024-05-19 11:47:16 +04:00
Ilya Fedin
98b58c1168 Add missing binds for OpenGL shaders and buffers 2024-05-19 09:55:34 +04:00
Ilya Fedin
ad13048cdc Update submodules 2024-05-16 22:20:08 +04:00
Ilya Fedin
a753c1515b Remove unneeded wayland-client dependency from telegram part in snap 2024-05-16 22:20:08 +04:00
Ilya Fedin
bd48e2fff2 Fix more package names in snap 2024-05-16 22:20:08 +04:00
John Preston
88ad1be4c3 Try to fix custom fonts in the input field. 2024-05-14 19:36:52 +04:00
John Preston
1f31d8032f Bring chosen font to the top of the box. 2024-05-14 19:36:52 +04:00
John Preston
b5f5aed119 Fix search focus in a hidden window on launch.
Fixes #27853.
2024-05-14 19:36:52 +04:00
John Preston
213326a212 Update submodules. 2024-05-14 19:36:52 +04:00
23rd
264e35a6a8 Fixed rare crash in photo editor when editing media in message. 2024-05-14 17:19:39 +03:00
23rd
76137ca1cf Fixed link to premium section in box about sponsored messages. 2024-05-14 17:19:39 +03:00
23rd
e4323ecd26 Slightly improved code style in processing of api text entities. 2024-05-14 17:19:39 +03:00
23rd
b406e2b99b Fixed sender name for voices in overview layout when sender is hidden. 2024-05-14 17:19:39 +03:00
23rd
c1c49e8ddc Added captions to voice messages in overview layout. 2024-05-14 17:19:39 +03:00
23rd
41e414af37 Removed transcribe buttons from scheduled messages. 2024-05-14 17:19:39 +03:00
23rd
2afb69e787 Fixed text state of reply bubble for messages with unwrapped media. 2024-05-14 17:19:39 +03:00
23rd
3e7d4af4a0 Fixed reply bubble width for short quotes. 2024-05-14 17:19:39 +03:00
23rd
bc11c66777 Added ability to hide single sponsored message to premium users. 2024-05-14 17:19:39 +03:00
23rd
7a95b38d3c Fixed refreshing of file reference in api media spoiler editing module. 2024-05-14 17:19:39 +03:00
23rd
334fd4e951 Added ability to edit media with spoiled one without resending. 2024-05-14 17:19:39 +03:00
GoodDok
923e3ee808 Fix 25202: surrounding $PWD with double quotes
Added double quotes to work correctly with spaces in current directory's name
2024-05-14 14:43:38 +04:00
Robert-André Mauchin
3358673ba4 Add compatibility with FFMPEG 7.0
avio: Constify data pointees of write callbacks

avutil: remove deprecated FF_API_PKT_DURATION

Ref: 2a68d945cd
     02aea61d69
     b8fef7e9c5
2024-05-14 14:39:29 +04:00
dependabot[bot]
d28b9f10b4 Bump jlumbroso/free-disk-space from 1.3.0 to 1.3.1
Bumps [jlumbroso/free-disk-space](https://github.com/jlumbroso/free-disk-space) from 1.3.0 to 1.3.1.
- [Release notes](https://github.com/jlumbroso/free-disk-space/releases)
- [Commits](f68fdb76e2...54081f1387)

---
updated-dependencies:
- dependency-name: jlumbroso/free-disk-space
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-14 14:38:48 +04:00
Ilya Fedin
6ebbca58e8 Track major version for official GitHub helpers in actions 2024-05-14 09:54:25 +04:00
Ilya Fedin
15697f4f2b Fix libpng package name in snap 2024-05-08 12:10:37 +04:00
John Preston
2cb0651b04 Redirect IME to search on Windows. 2024-05-07 22:17:34 +04:00
John Preston
1f3a3ec04b Don't focus search when forum is opened. 2024-05-07 22:17:34 +04:00
John Preston
c1a0172822 De-focus empty search by backspace. 2024-05-07 22:17:33 +04:00
GkvJwa
593e76479c Use jom build openssl on windows 2024-05-07 09:52:32 +04:00
dependabot[bot]
5d622b906e Bump ilammy/msvc-dev-cmd from 1.12.0 to 1.13.0
Bumps [ilammy/msvc-dev-cmd](https://github.com/ilammy/msvc-dev-cmd) from 1.12.0 to 1.13.0.
- [Release notes](https://github.com/ilammy/msvc-dev-cmd/releases)
- [Commits](https://github.com/ilammy/msvc-dev-cmd/compare/v1.12.0...v1.13.0)

---
updated-dependencies:
- dependency-name: ilammy/msvc-dev-cmd
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-07 09:02:31 +04:00
dependabot[bot]
7e253314ec Bump jinja2 from 3.1.3 to 3.1.4 in /Telegram/build/docker/centos_env
Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.3 to 3.1.4.
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/3.1.3...3.1.4)

---
updated-dependencies:
- dependency-name: jinja2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-06 23:29:00 +04:00
dependabot[bot]
78a05768d8 Bump dessant/lock-threads from 3 to 5
Bumps [dessant/lock-threads](https://github.com/dessant/lock-threads) from 3 to 5.
- [Release notes](https://github.com/dessant/lock-threads/releases)
- [Changelog](https://github.com/dessant/lock-threads/blob/main/CHANGELOG.md)
- [Commits](https://github.com/dessant/lock-threads/compare/v3...v5)

---
updated-dependencies:
- dependency-name: dessant/lock-threads
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-06 23:28:48 +04:00
dependabot[bot]
ddf6514a90 Bump actions/stale from 5 to 9
Bumps [actions/stale](https://github.com/actions/stale) from 5 to 9.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v5...v9)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-06 20:40:31 +04:00
dependabot[bot]
3847b97f80 Bump actions/cache from 3.0.11 to 4.0.2
Bumps [actions/cache](https://github.com/actions/cache) from 3.0.11 to 4.0.2.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.0.11...v4.0.2)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-06 20:40:18 +04:00
dependabot[bot]
046bc03037 Bump actions/checkout from 3.1.0 to 4.1.4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.1.0 to 4.1.4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.1.0...v4.1.4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-06 20:40:02 +04:00
Ilya Fedin
7ff5f81b88 Try automatic actions update 2024-05-06 09:46:18 +04:00
John Preston
fb444e7dd4 Version 5.0.1.
- Fix several crashes in new interfaces.
- Fix monospace font size.
- Fix possible problem with underline font size.
2024-05-04 19:08:30 +04:00
23rd
c4f0db5bc5 Fixed possible crash on slow resolving message from personal channel. 2024-05-04 18:13:30 +04:00
23rd
a866ba8cdd Fixed crash on restricting users from moderation box. 2024-05-04 18:13:28 +04:00
John Preston
129d356909 Fix scrolling expanded frequent contacts. 2024-05-04 18:13:04 +04:00
Ilya Fedin
7289292f02 Update lib_ui & patches on Linux 2024-05-04 14:05:09 +04:00
Ilya Fedin
638e88ec79 Revert "Use latest mesa in snap"
This reverts commit b246328dcf.
2024-05-04 14:05:09 +04:00
John Preston
19ead551d9 Fix a typo bug in replies section scrolling. 2024-05-03 21:04:06 +04:00
John Preston
fccaa587e1 Fix adjustment of size for modified fonts. 2024-05-03 21:04:06 +04:00
23rd
1709fcd0df Guarded personal channel info from possible crash on deleting message. 2024-05-03 21:04:06 +04:00
23rd
de1f222bac Fixed rescheduling of selected and grouped scheduled messages. 2024-05-03 21:04:06 +04:00
Ilya Fedin
5e1f0e9f7f Move waiting for answer action 30 minutes later than lock threads 2024-05-03 19:59:24 +04:00
Alan Pope
e3a14d432b Be consistent with libgtk-3-0t64
The reason it worked without explicitly updating this one is because the deb of libgtk-3-0t64 has a 'replaces' line for libgtk-3-0 - which nullifies this entry, as both were specified. But, you're right, looks better to have the right package in there.
2024-05-03 19:59:07 +04:00
Alan Pope
2b013c108f Fixes for unable to find gtk-query-immodules-3.0
The package has been updated for 2038 t64 update. This fixes that. 

Successfully build telegram 5.0.0 in arm64 after the fixes in this PR.
2024-05-03 19:59:07 +04:00
Alan Pope
0194687181 fix: Incorrect package name
Noble has libvpx9, not vpx8.

https://packages.ubuntu.com/search?keywords=libvpx9
2024-05-03 19:59:07 +04:00
John Preston
bb47f4659d Don't adjust monospace font size. 2024-05-02 19:36:59 +04:00
John Preston
2b580d29ae Add .qoi to list of image extensions. 2024-05-02 17:17:40 +04:00
John Preston
b7e52119bc Add .jxl to the list of image extensions. 2024-05-02 16:35:29 +04:00
John Preston
fd633ecb49 Version 5.0.
- Choose custom font family in Settings > Chat settings > Font family.
- Show "Frequent contacts" when you focus the search field.
- Show "Recent chats" when you focus the search field.
- Show "Channels" list and similar channels.
- Premium users can use animated emoji in polls.
- Group admins can mass-moderate many messages.
- Fix frequent crashes on some Linux systems.
2024-05-02 14:11:20 +04:00
John Preston
9c77346f36 Fix build with Xcode and GCC. 2024-05-02 14:11:20 +04:00
John Preston
641e74763f Revert non-production-ready prepare.py changes.
Accidentally commited in b9b7d9e337.
2024-05-02 12:17:57 +04:00
John Preston
2e71427427 Improve font size edge cases. 2024-05-02 12:05:46 +04:00
John Preston
95ec0633ed Use custom-adjusted font metrics for custom fonts.
Fixes #27814.
2024-05-02 11:33:47 +04:00
23rd
14e8b8fb91 Fixed spam reporting in moderation box. 2024-05-02 04:09:25 +03:00
23rd
d40951f068 Added ability to moderate non-users to moderation box. 2024-05-02 04:09:25 +03:00
23rd
ab85d18cc8 Added support of personal channel with message. 2024-05-02 04:09:25 +03:00
23rd
6becaaa953 Slightly improved view style of giveaway results in dialogs list. 2024-05-02 04:09:25 +03:00
23rd
26e8c29f40 Moved formatting of dialog last date to td_ui. 2024-05-02 04:09:25 +03:00
John Preston
47800ee02d Improve font size selection a bit. 2024-05-01 19:09:54 +04:00
John Preston
12a24dd473 Fix possible crash in common groups list.
Currently Data::Session::processChat() may change adminRights(),
that may change Data::CanSendAnyOf(peer, ...), that may lead to
Window::SessionController::updateThirdColumnToCurrentChat() call,
that destroys current third column to replace it with another one.

If common groups list was opened in the third column this will crash.

Fixes #27640.
2024-05-01 17:52:40 +04:00
23rd
ad6321d3ae Fixed possible crash in moderate box. 2024-05-01 14:10:37 +03:00
John Preston
7e071c770f Fix possible crash with custom wallpapered peers. 2024-05-01 14:38:06 +04:00
John Preston
a62d1dfa63 Focus chats search by Ctrl[Cmd]+F. 2024-05-01 14:38:05 +04:00
John Preston
b3eb1dbc14 Revert "Toggle search focus by escape."
This reverts commit 72d5a9b3e0.
2024-05-01 14:38:05 +04:00
Ilya Fedin
3170a45158 Increase snapcraft verbosity 2024-05-01 14:06:23 +04:00
John Preston
32483fa13b Just focus the search field on Space. 2024-05-01 12:57:47 +04:00
John Preston
9166a1c3a6 Update Linux Qt patches. Hope fixes crashes. 2024-05-01 12:57:07 +04:00
GitHub Action
6fa0afff37 Update User-Agent for DNS to Chrome 124.0.0.0. 2024-05-01 12:47:51 +04:00
Ilya Fedin
bc649af941 Schedule no-response action runs at different times
To avoid rate limits
2024-05-01 12:47:42 +04:00
John Preston
16ce5ef046 Greeting category first in ChatIntro setup. 2024-05-01 12:47:20 +04:00
John Preston
bb6fd4bc4d Update scheme, new sticker categories. 2024-05-01 12:47:20 +04:00
John Preston
63e1731d7c Fix premium preview bullet-dots.
Regression was introduced in 88751896af.
2024-05-01 12:47:20 +04:00
John Preston
b9b7d9e337 Implement live location view. 2024-05-01 12:47:20 +04:00
23rd
ef8c07e6eb Added ability to translate selected text in profile section. 2024-04-30 17:35:34 +03:00
23rd
20a13663a6 Slightly improved style of rpl text mapping. 2024-04-30 17:35:04 +03:00
23rd
2f0aa6ef05 Removed state sending of low level of battery to call participant. 2024-04-30 16:49:17 +03:00
23rd
62bd1354dc Replaced box for leaving or deleting chat with generic box. 2024-04-28 20:14:26 +03:00
23rd
be255f1d09 Added to moderate box number of all messages that will be deleted. 2024-04-28 20:14:26 +03:00
23rd
b8b02b2285 Replaced list of history items for sending now with sorted by date. 2024-04-28 13:33:04 +03:00
23rd
e0db0642bd Fixed crash when deleting message from non-user. 2024-04-27 16:39:13 +03:00
23rd
e81465a54e Added Enter shortcut to moderation box for confirmation. 2024-04-27 13:31:00 +03:00
23rd
6e67cfc7be Fixed possible crash in moderation box. 2024-04-27 12:59:36 +03:00
John Preston
c0db5ee98a Beta version 4.16.10: Fix GCC build. 2024-04-26 23:41:28 +04:00
John Preston
372b3da09c Beta version 4.16.10.
- Group admins can mass-moderate many messages.
- Premium users can use animated emoji in polls.
- Revert the default "Open Sans" font to 1.10.
- Several crash fixes and small improvements.
2024-04-26 20:55:06 +04:00
John Preston
79532954dc Allow a bit more font size adjusting. 2024-04-26 20:18:30 +04:00
23rd
aff2be605e Removed item for poll creation from menu when it is impossible. 2024-04-26 19:15:03 +03:00
John Preston
363c191a6e Skip media bottom skip in IV. 2024-04-26 20:12:30 +04:00
John Preston
2949cdab61 Don't request IV two times in a row. 2024-04-26 20:12:29 +04:00
John Preston
7addcf2d25 Add IV footer. 2024-04-26 20:12:29 +04:00
John Preston
a272807a99 Remove "Create poll" button in Replies chat.
Fixes #27817.
2024-04-26 20:12:29 +04:00
23rd
c803603de4 Added ability to insert custom emoji to polls. 2024-04-26 20:12:29 +04:00
23rd
e6c22ec1ca Added api support for custom emoji in polls. 2024-04-26 20:12:29 +04:00
John Preston
b3ae843f0e Update API scheme to layer 179. 2024-04-26 20:12:29 +04:00
John Preston
12a78c1f45 Allow pasting text to the unfocused search. 2024-04-26 20:12:29 +04:00
23rd
612b81ee87 Fixed allowed reactions for channel posts in linked chats. 2024-04-26 20:12:29 +04:00
23rd
e5b91d2f3d Added entry points for moderation box. 2024-04-26 20:12:29 +04:00
23rd
82293c98eb Added arrow icon to divider link in moderation box. 2024-04-26 20:12:29 +04:00
23rd
629da68cfc Added api support to moderation box. 2024-04-26 20:12:29 +04:00
23rd
643ecd2c2c Implemented initial ui of moderation box. 2024-04-26 20:12:29 +04:00
Ilya Fedin
dd1cb00c62 Update snap to core24 2024-04-26 18:39:56 +04:00
23rd
2c4d8418c1 Removed unused code for sponsored messages. 2024-04-26 11:21:41 +04:00
23rd
9fcb5d6f31 Added emoji button to input field for peer title edit. 2024-04-26 11:21:41 +04:00
23rd
38fc6bfbb9 Added special mode to emoji list widget to exclude non-unicode emoji. 2024-04-26 11:21:41 +04:00
23rd
804991a69c Added universal duration to styles. 2024-04-26 11:21:41 +04:00
23rd
7388f46adf Fixed display of subscribers count in dialogs suggestions. 2024-04-26 11:21:41 +04:00
John Preston
10c427127e Fix accidental search focusing. 2024-04-26 11:10:12 +04:00
John Preston
c6d034174b Support separate webview storages. 2024-04-26 08:58:42 +04:00
Ilya Fedin
471831bcd6 Revert "Remove not really needed notification capability checks"
This reverts commit abdfa4f785.
2024-04-25 15:07:51 +04:00
Ilya Fedin
b1e64419a5 Fix setting application icon in Linux notifications 2024-04-25 11:31:43 +04:00
Ilya Fedin
e2f17f1131 Remove unneeded includes from notifications_manager_linux 2024-04-25 11:31:43 +04:00
John Preston
ae4a73a15b Rollback OpenSans to 1.10. 2024-04-24 22:20:22 +04:00
Kolya
a84ca00270 fix typo 2024-04-24 19:18:33 +04:00
John Preston
c16d820b88 Move OpenSSL probing before crash reporter. 2024-04-24 19:12:46 +04:00
John Preston
ef614150d5 Remove dead code in lib_ui. 2024-04-24 17:44:51 +04:00
John Preston
b46ca1ec17 Use different font fallback algo on Windows. 2024-04-24 17:44:40 +04:00
John Preston
d5a347ede7 Try cancelling the new search by mouse back button. 2024-04-24 17:41:12 +04:00
John Preston
72d5a9b3e0 Toggle search focus by escape. 2024-04-24 16:56:20 +04:00
John Preston
e6d72b4861 Un-focus chats search on empty history click. 2024-04-24 16:54:10 +04:00
John Preston
3da51b1bc9 Fix crash on quit in sponsored messages. 2024-04-24 16:37:27 +04:00
John Preston
17b7db6219 Request 64 frequent contacts instead of 32. 2024-04-24 16:37:27 +04:00
John Preston
8353180161 Fix phrase cut-off in QR login. 2024-04-24 16:37:27 +04:00
John Preston
f675a8dcf7 Attempt to fix a couple of crashes. 2024-04-24 16:37:27 +04:00
John Preston
493f1d69e2 Fix cancel search button overlap. 2024-04-24 16:37:27 +04:00
John Preston
331e8c3ec6 Beta version 4.16.9.
- Show "Frequent contacts" when you focus the search field.
- Show "Recent chats" when you focus the search field.
- Show "Channels" and channel recommendations.
- Allow changing font in Settings > Chat settings > Font family.
2024-04-23 23:14:19 +04:00
John Preston
56bce70558 Fix "long time ago" for users who blocked me. 2024-04-23 21:47:57 +04:00
John Preston
d82e48f8e4 Improve ChooseFontBox navigation. 2024-04-23 19:17:42 +04:00
John Preston
97ecc57be8 Add choose font settings. 2024-04-23 19:17:42 +04:00
John Preston
25bd2b145b Update submodules. 2024-04-23 19:17:42 +04:00
John Preston
7111c92ae7 Fix keyboard navigation in top peers. 2024-04-23 19:17:42 +04:00
John Preston
e066cf1589 Add "Show all" for top peers. 2024-04-23 19:17:41 +04:00
John Preston
6f328b2ef8 Fix inline query draft applying. 2024-04-23 19:17:41 +04:00
23rd
7a6c55bd8a Fixed color of icon for replies with media story. 2024-04-23 19:17:41 +04:00
23rd
b35d3f57fe Slightly improved style of sub-button in sponsored messages. 2024-04-23 19:17:41 +04:00
23rd
eef65af173 Slightly simplified meson usage on macOS in prepare.py. 2024-04-23 19:17:41 +04:00
23rd
bea715b41c Added ICCv4 with Little CMS on macOS. 2024-04-23 19:17:41 +04:00
23rd
7be68ca82c Updated Qt to 6.2.8 on macOS. 2024-04-23 19:17:41 +04:00
John Preston
287d5a7413 Fix shadow below Chats/Channels. 2024-04-23 19:17:41 +04:00
John Preston
1448cea01c Fix ripple in active recommendation row. 2024-04-23 19:17:41 +04:00
John Preston
768e8b457b Improve second-time choose of toppeers. 2024-04-23 19:17:41 +04:00
John Preston
05474f4a3f Improve filter switching with toppeers. 2024-04-23 19:17:41 +04:00
John Preston
8acada9b0f Fix toppeers animation with expanded stories. 2024-04-23 19:17:41 +04:00
23rd
a86e7f035f Slightly improved style of inner box for channel earn history entries. 2024-04-23 19:17:41 +04:00
John Preston
9caff93c35 Fix build for Xcode. 2024-04-23 19:13:48 +04:00
John Preston
e6ba85e112 Keyboard navigation in channels/recommendations. 2024-04-23 19:13:48 +04:00
John Preston
046803dbed Fix rotation reading in FFmpeg. 2024-04-23 19:13:48 +04:00
John Preston
615f4b1d1c Ignore pageBlockUnsupported blocks. 2024-04-23 19:13:48 +04:00
John Preston
a11535806d Always show cancel search when focused. 2024-04-23 19:13:48 +04:00
John Preston
34a7169b4f Make unread badges on top peers nicer. 2024-04-23 19:13:47 +04:00
John Preston
4f365c73ad Support active selection in recommendations. 2024-04-23 19:13:47 +04:00
John Preston
705bd9693d Load recommendations on demand. 2024-04-23 19:13:47 +04:00
John Preston
a88770a8ec Don't close recommendations. 2024-04-23 19:13:47 +04:00
John Preston
da423b5bd2 Add a general FastShareLink method. 2024-04-23 19:13:47 +04:00
John Preston
56080bd0e4 Fix boost group link handling for forums. 2024-04-23 19:13:47 +04:00
John Preston
63f66a1369 Show "Boost" button in boost group links. 2024-04-23 19:13:47 +04:00
John Preston
ca1a30196e Fix LinkButton resizing. 2024-04-23 19:13:47 +04:00
John Preston
b2d8e2a1e6 Initial version of channels/recommendations. 2024-04-23 19:13:47 +04:00
John Preston
2ab8bb13c5 Fix links preview. 2024-04-23 19:13:47 +04:00
23rd
3a2c5c6d0a Increased size of stickerset preview in webpages. 2024-04-23 19:13:47 +04:00
23rd
ed13a325e9 Added stickerset preview to webpages. 2024-04-23 19:13:47 +04:00
23rd
f43f99cff2 Added initial api support of stickerset attribute in web pages. 2024-04-23 19:13:47 +04:00
John Preston
a3b8397361 Close chat/media if thrown out by admin. 2024-04-23 19:13:47 +04:00
John Preston
4fb03e532c Optimize stories list generation. 2024-04-23 19:13:47 +04:00
John Preston
645ad5e1bd Update pinned icon in stories list. 2024-04-23 19:13:47 +04:00
John Preston
9036e9e8e3 Show pinned icon in stories. 2024-04-23 19:13:47 +04:00
John Preston
468d8b04d6 Implement stories pin-to-top. 2024-04-23 19:13:47 +04:00
John Preston
4b98ab1246 Fix build with simplified ads. 2024-04-23 19:13:46 +04:00
John Preston
d33e3dc13a Rename Story::pinned to Story::inProfile. 2024-04-23 19:13:46 +04:00
23rd
df16e7c00b Added ability to change reactions limit in channels. 2024-04-23 19:13:46 +04:00
23rd
225c0e0af3 Added initial api support of reactions limit in channels and groups. 2024-04-23 19:13:46 +04:00
23rd
5543927042 Added ability to enable sponsored messages for premium self. 2024-04-23 19:13:46 +04:00
23rd
72b274a2bf Added support of simplified constructor for MTP sponsored message. 2024-04-23 19:13:46 +04:00
John Preston
ac15990b48 Update API scheme to layer178, ads broke build. 2024-04-23 19:13:46 +04:00
John Preston
7387dfdd9c Don't create top/recent peers unnecessary. 2024-04-23 19:13:46 +04:00
John Preston
74a7e7d1b4 Fix non-intentional chats list search focus. 2024-04-23 19:13:46 +04:00
John Preston
a0a9de1d18 Cancel search on switching folders. 2024-04-23 19:13:46 +04:00
John Preston
360366ba9e Fix opening forums from recent peers. 2024-04-23 19:13:46 +04:00
John Preston
0180fe9468 Animate search suggestions. 2024-04-23 19:13:46 +04:00
John Preston
19f5d95a3c Implement keyboard navigation for recent peers. 2024-04-23 19:13:46 +04:00
John Preston
051ca51d3b Allow clearing search results. 2024-04-23 19:13:46 +04:00
John Preston
2a6ff9203b Implement basic recent search results. 2024-04-23 19:13:46 +04:00
John Preston
2e0529bd9a Add data component for RecentPeers. 2024-04-23 19:13:46 +04:00
John Preston
e24ab4f1ab Allow saving emoji to files in debug builds. 2024-04-23 19:13:46 +04:00
John Preston
3dbadeb232 Allow opening top peers in a new window. 2024-04-23 19:13:46 +04:00
John Preston
4cdd939028 Cache topPeers locally. 2024-04-23 19:13:46 +04:00
John Preston
c11f4efc5c Support disabling top peers completely. 2024-04-23 19:13:46 +04:00
John Preston
e1c21b908c Add keyboard navigation to top peers. 2024-04-23 19:13:46 +04:00
John Preston
a6c1def6fe Add ripples to top peers. 2024-04-23 19:13:46 +04:00
John Preston
19ae76d8de Top peers context menu. 2024-04-23 19:13:46 +04:00
John Preston
56e28feb00 Top peer realtime badges. 2024-04-23 19:13:45 +04:00
John Preston
b259c566b7 Top peer unread badges and online indicators. 2024-04-23 19:13:45 +04:00
John Preston
18598f8dca Initial version of top peers. 2024-04-23 19:13:45 +04:00
John Preston
11e4c45969 Don't collapse chats list on window unfocus. 2024-04-23 19:13:45 +04:00
John Preston
39658ffe52 Allow narrow chats width without main section. 2024-04-23 19:13:45 +04:00
John Preston
2f03b9aa29 Make dialogs filter onfocused by default. 2024-04-23 19:13:45 +04:00
John Preston
dc438cff23 Always export file_name in json. 2024-04-23 19:13:45 +04:00
John Preston
18f5521be5 Don't look for SDL when building on macOS. 2024-04-23 19:13:45 +04:00
Ilya Fedin
bae9af1076 Switch crash reporter to system fonts
This should prevent nested crashes when loading custom fonts
2024-04-23 11:01:19 +04:00
Ilya Fedin
8d2805f226 Set font weight in crash reporter 2024-04-23 10:10:43 +04:00
Ilya Fedin
0ad18c8182 Get rid of direct Wayland usage
This should get rid of a very nasty vector of misbehaving and quite a lot of code which is boilerplate over Wayland protocols at the price of losing support of niche features

Most of things served by xcb code on X11 is served by portal code on Wayland, hopefully this tendention will continue and we will be fine just with glib which provides D-Bus and other basic APIs
2024-04-22 11:04:02 +04:00
Ilya Fedin
9046b2cafb Stop using the plasma-shell protocol
Looks like this isn't really correct in combination with xdg-shell
2024-04-22 10:59:16 +04:00
Ilya Fedin
3d994b58a0 ShowXDPOpenWithDialog -> UnsafeShowOpenWith 2024-04-21 03:14:34 +04:00
Ilya Fedin
4310c4978e Fix macOS packaged action 2024-04-19 17:41:07 +04:00
23rd
01bfa46729 Fixed display of default box for message schedule in correspond window. 2024-04-18 11:57:25 +04:00
Kolya
3510ca7184 Don't use/link libsharpyuv in libavif 2024-04-18 09:23:15 +04:00
Ilya Fedin
8d7845daa1 Use --shallow-submodules in Docker 2024-04-18 09:13:37 +04:00
Ilya Fedin
cb5fdac0da Replace mozjpeg with jpegli on Linux 2024-04-17 23:45:15 +04:00
John Preston
78c8d0562b Version 4.16.8: Fix build on Linux. 2024-04-16 23:23:11 +04:00
John Preston
bb0280f096 Revert "Replace mozjpeg with jpegli in snap"
This reverts commit f57e2edf2a.
2024-04-16 23:22:55 +04:00
John Preston
566b53ce9f Revert "Clean remainings of mozjpeg in snapcraft.yml"
This reverts commit da1909cc1d.
2024-04-16 23:22:43 +04:00
John Preston
ec95db0945 Revert "Replace mozjpeg with jpegli in Docker"
This reverts commit a1e2e3d011.
2024-04-16 23:00:08 +04:00
John Preston
a0d7d07543 Version 4.16.8.
- Fix in-app playing of some video and audio files.
- Fix crash on Linux opening chats with custom backgrounds.
- Fix crash on quit after using scheduled messages.
2024-04-16 20:15:32 +04:00
John Preston
fe73bf9053 Fix ripples in channel comments buttons. 2024-04-16 20:14:04 +04:00
John Preston
49c9e08b6c Enforce video/audio extension by mime type. 2024-04-16 20:14:01 +04:00
John Preston
abcf55c498 Check chat background read result. 2024-04-16 20:13:55 +04:00
John Preston
849ce310c4 Jump by keyboard between time input fields. 2024-04-16 20:13:02 +04:00
John Preston
a3e593b747 Fix crash in scheduled messages tear-down. 2024-04-16 20:12:03 +04:00
23rd
5433f95eda Simplified creation of label with custom emoji. 2024-04-16 03:44:00 +03:00
23rd
0459196982 Moved out level meter widget to td_ui. 2024-04-16 03:43:39 +03:00
23rd
6f1457d30d Fixed phrase of placeholder for message edition mode. 2024-04-15 23:56:37 +03:00
23rd
ce596e29c4 Fixed opening message from media player widget in corresponding window. 2024-04-15 23:41:00 +03:00
23rd
86b9d16747 Added additional note for macOS keys to json of custom shortcuts. 2024-04-15 23:30:57 +03:00
John Preston
06911ae42a Version 4.16.7.
- Reimplement file open confirmations.
2024-04-15 17:56:45 +04:00
John Preston
af2cb9b757 Fix possible unhandled exception in highlighting. 2024-04-15 17:56:45 +04:00
John Preston
6a28cd1a35 Reimplement file open confirmations. 2024-04-15 12:07:27 +04:00
23rd
f4a09a9ca0 Fixed display of growth rate in statistics info for huge values. 2024-04-15 11:20:30 +04:00
23rd
a35f020f56 Moved out ScheduledMessages module to components submodule. 2024-04-15 11:20:30 +04:00
23rd
3d48111368 Moved out SponsoredMessages module to components submodule. 2024-04-15 11:20:30 +04:00
23rd
39ed7d7f4c Increased clickable area for each item in EditPeerHistoryVisibilityBox. 2024-04-15 11:20:30 +04:00
23rd
abe83ccb8f Moved inaccessible groups in box for user's own groups to sub-list.
Fixed #27729.
2024-04-15 11:20:30 +04:00
23rd
d1be7c1ff7 Simplified management of PasscodeBox within customCheckCallback. 2024-04-15 11:20:30 +04:00
23rd
1c223e570a Slightly improved code style for long equality expressions. 2024-04-15 11:20:30 +04:00
23rd
a37cbd7d05 Initially refactored statistics module to simplify value types changing. 2024-04-15 11:20:30 +04:00
23rd
7ffa9844e2 Fixed currency formatting for channel earn info section. 2024-04-15 11:20:30 +04:00
23rd
bdf5872f04 Fixed opening channel earn info section for admins. 2024-04-15 11:20:30 +04:00
Ilya Fedin
da1909cc1d Clean remainings of mozjpeg in snapcraft.yml 2024-04-15 10:11:54 +04:00
Ilya Fedin
a503197352 Remove XCBSetDesktopFileName
This is done by Qt nowadays
2024-04-15 10:11:30 +04:00
Nyan
d9d9a8f49d Update data_document_resolver.cpp
Added the LEXE and WLUA extensions to the IsExecutableName function for Windows. Those are registered by default on Windows devices with LUA installed
2024-04-13 23:45:03 +04:00
Ilya Fedin
f57e2edf2a Replace mozjpeg with jpegli in snap 2024-04-11 12:35:47 +04:00
Ilya Fedin
a1e2e3d011 Replace mozjpeg with jpegli in Docker 2024-04-11 12:35:47 +04:00
Ilya Fedin
5e546d1198 Update libjxl in Docker & snap 2024-04-11 12:35:47 +04:00
Ilya Fedin
90405f3ebc Install protobuf in Docker 2024-04-11 12:15:55 +04:00
Nyan
11b57ff7d3 Update data_document_resolver.cpp
The correct python zipapp extension on windows is pyzw, this typo could lead to executing code in the client device without proper warning
2024-04-11 11:24:15 +04:00
Ilya Fedin
fe06cd63ac Lock event loop 2024-04-09 20:48:47 +04:00
John Preston
6c9d5e1499 Improve clipboard QR code image logo quality. 2024-04-09 19:05:02 +04:00
John Preston
6ed910de9f Version 4.16.6.
- Show custom emoji preview on long press.
- Fix resume chat bot button disappearance.
- Fix GIF files playback. (regression in 4.16.3.beta)
2024-04-09 15:20:16 +04:00
John Preston
a506b8b25c Support t.me/username?text=.. links. 2024-04-09 15:20:10 +04:00
John Preston
170ebb57c6 Preview custom emoji on long press from the panel. 2024-04-09 12:11:07 +04:00
John Preston
29dd574e22 Fix toggling chatbot replying, fix saving. 2024-04-09 11:55:52 +04:00
John Preston
72770aa76d Add GIF parser to FFmpeg build.
Fixes #27722.
2024-04-09 11:29:19 +04:00
John Preston
7f1c319aee Add interactive mode to prepare script. 2024-04-09 11:29:16 +04:00
John Preston
60805bd916 Version 4.16.5.
- Fix editing privacy for groups and channels invitations.
- Possible fix for the network unresponsiveness after sleep.
- Possible fix for wide range of memory allocator crashes on Linux.
2024-04-08 22:31:07 +04:00
Ilya Fedin
10272ee0cf Revert "Replace jemalloc with scudo"
This reverts commit 960761ef37.
2024-04-08 21:57:25 +04:00
John Preston
7c44cda76e Fix premium users deselection in multi-select field. 2024-04-08 21:56:56 +04:00
John Preston
0152d2c48e Fix possible temp auth key bind freeze. 2024-04-08 21:56:56 +04:00
23rd
c5febce548 Moved out some functions for main menu to separated files. 2024-04-08 17:34:58 +03:00
23rd
129b07c2c0 Improved style of box for all of user's own groups and channels. 2024-04-08 17:02:52 +03:00
23rd
47bf099b88 Fixed updating of field placeholder in compose controls while editing. 2024-04-08 06:55:44 +03:00
23rd
94f1d23788 Fixed behavior to open section with scheduled messages at top. 2024-04-08 04:12:14 +03:00
Ilya Fedin
84ce72ec7a Fix a crash due to half-hidden media viewer 2024-04-07 14:28:51 +04:00
Ilya Fedin
3da8351522 Let Wayland to use QGuiApplication::screenAt (forgotten place) 2024-04-07 14:08:40 +04:00
Ilya Fedin
542153d950 Use nasm from repository 2024-04-07 11:20:46 +04:00
Ilya Fedin
090fdfb458 Add asan libraries to Docker image 2024-04-07 11:20:46 +04:00
John Preston
77835a43a5 Version 4.16.4: Update patches on Linux. 2024-04-07 11:19:23 +04:00
John Preston
1a2a1f1c17 Version 4.16.4.
- Bug fixes and other minor improvements.
2024-04-06 22:59:03 +04:00
John Preston
eaaa704fa4 Check the URL in IV like in attach bots. 2024-04-06 22:59:03 +04:00
John Preston
7803f8e670 Simplify escaping when parsing IV. 2024-04-06 22:59:03 +04:00
Sergey A. Osokin
f36e3c213e Fix build on FreeBSD 13.3 / llvm 17.0.6 / qt 5.15.13 2024-04-06 20:30:08 +04:00
John Preston
6fb1e23ed5 Fix file dialog filter for videos from attach menu. 2024-04-06 13:05:12 +04:00
John Preston
86d0c49e44 Add "Boost Group/Channel" button to chat menu. 2024-04-06 13:05:12 +04:00
John Preston
9251e6faba Use better title in boost box. 2024-04-06 13:05:12 +04:00
John Preston
8f8725e1af Beta version 4.16.3: Fix dav1d in FFmpeg on macOS. 2024-04-05 21:25:20 +04:00
John Preston
0ce6a4cbdb Beta version 4.16.3: Re-enable system proxy (Linux).
This reverts commit 1e6fb202f0.
2024-04-05 20:48:06 +04:00
John Preston
ad3f705f50 Beta version 4.16.3.
- Improve media upload speed.
- Update FFmpeg to 6.1.1.
2024-04-05 15:35:01 +04:00
John Preston
c5847caa91 Update FFmpeg to 6.1.1: Fix AV1 videos. 2024-04-05 14:42:29 +04:00
John Preston
8df6d9db7e Don't update server-time too frequently. 2024-04-05 09:51:20 +04:00
John Preston
a9c1970f41 Send up to 1MB of parts to a single session. 2024-04-05 09:51:20 +04:00
John Preston
c3f0d2ef31 Adaptive upload up to 8 sessions. 2024-04-05 09:51:20 +04:00
John Preston
0dcc439dda Allow upload requests for several files at once. 2024-04-05 09:51:20 +04:00
John Preston
5b0cac47ad Reapply "Use plain vector for prepared upload parts."
This reverts commit f6f8eefaa0.
2024-04-05 09:51:20 +04:00
John Preston
b39e78a4a9 Reapply "Remove SendMediaReady legacy helper."
This reverts commit 09f07a7a9d.
2024-04-05 09:51:20 +04:00
John Preston
690d52f7bc Version 4.16.2.
- Use IV by default for Telegraph and some Telegram links.
- Support IV links in bot web-apps.
- Some bug fixes.
2024-04-04 21:13:00 +04:00
John Preston
23883ed4a1 Use generic way for FAQ links. 2024-04-04 21:08:56 +04:00
John Preston
ea178862d8 Open some telegram.org and Telegram links in IV. 2024-04-04 21:08:19 +04:00
John Preston
09f07a7a9d Revert "Remove SendMediaReady legacy helper."
This reverts commit 91f8989f70.
2024-04-04 18:36:07 +04:00
John Preston
f6f8eefaa0 Revert "Use plain vector for prepared upload parts."
This reverts commit aaaeea2979.
2024-04-04 18:36:00 +04:00
John Preston
ede6e18bc9 Fix QOI image reader. 2024-04-04 18:35:20 +04:00
John Preston
36cb28d5cf Respect 'try_instant_view' in webapps. 2024-04-04 18:35:20 +04:00
John Preston
9464f4b095 Fix collectible channel links. 2024-04-04 17:51:53 +04:00
23rd
b31d43cbed Fixed circle drawing in titles of some sections in channel earn info. 2024-04-04 17:51:53 +04:00
23rd
2a388ae4b2 Improved FAQ buttons with opening link in instant view. 2024-04-04 17:51:53 +04:00
23rd
d675e31a51 Fixed display of integer numbers in channel earn section. 2024-04-04 17:51:53 +04:00
23rd
e32de38d04 Added url to learn more about monetization to langpack. 2024-04-04 17:51:53 +04:00
23rd
154753c732 Removed migrated groups from list of user's own groups. 2024-04-04 17:51:53 +04:00
Klemens Nanni
53b75c8ea4 update lib_base to include OpenBSD fix 2024-04-04 15:52:01 +04:00
Klemens Nanni
776e80b4d6 Fix tdesktop 4.15.6 build on OpenBSD
7.5-current with clang 16.0.6 and Qt6 fails, not entirely sure why...
2024-04-04 15:52:01 +04:00
Ilya Fedin
b09cede008 Fix uploading artifact on Linux 2024-04-04 15:51:22 +04:00
Ilya Fedin
e2a0483b9f Enable artifacts for GH actions 2024-04-04 15:51:22 +04:00
John Preston
aaaeea2979 Use plain vector for prepared upload parts. 2024-04-03 12:39:08 +04:00
John Preston
91f8989f70 Remove SendMediaReady legacy helper. 2024-04-03 11:59:33 +04:00
John Preston
ae36019ba9 Version 4.16.1.
- Show information about Fragment phone numbers and usernames.
- Fix jump to original story from a story repost.
- Fix old image display in viewer in some cases.
- Fix several crashes.
2024-04-02 23:13:05 +04:00
John Preston
1e0002aa74 Fix jump to original from story repost. 2024-04-02 23:09:26 +04:00
John Preston
1061fb6c85 Implement collectible username / phone info boxes. 2024-04-02 22:56:21 +04:00
John Preston
22f504ca21 Add hidden buttons to langpack. 2024-04-02 22:56:05 +04:00
John Preston
a74c5ee719 Fix complex-shaped Ui::Text::String geometry. 2024-04-02 22:56:05 +04:00
John Preston
ef04ed447f Fix 'listening' state show in group video chats.
Regression was introduced in c3ca8c6258.
2024-04-02 19:22:30 +04:00
Ilya Fedin
c678973119 Update patches on Linux 2024-04-02 17:40:41 +04:00
Ilya Fedin
587b07a648 Update Qt to 6.7.0 on Linux 2024-04-02 17:40:41 +04:00
John Preston
7fa3c6f8e8 Return media viewer hiding glitch workaround. 2024-04-02 13:19:22 +04:00
John Preston
9957678fb7 Fix adding from "Emoji from this message". 2024-04-02 13:15:03 +04:00
John Preston
971803803c Fix ripple animation on Added sticker set button. 2024-04-02 12:47:24 +04:00
John Preston
8ab118a8e9 Fix rare crashes in message sending animations. 2024-04-02 12:20:40 +04:00
John Preston
1da9df690f Fix memory leak in downloads thumbnail loading. 2024-04-02 12:20:40 +04:00
John Preston
615ad85d26 Fix possible crash in notifications setup.
Initial _account assignment triggered sync createManager(),
which in case of native Windows notifications called
ToastNotificationManager::CreateToastNotifier, which could enter
qt-wndproc-message processing with QEvent::ApplicationActivated
delivery and calling updateNonIdle() which called
Window::Controller::account(), that wasn't yet set.
2024-04-02 12:20:40 +04:00
John Preston
e02b60d8fa Fix placeholder in chat intro setup. 2024-04-02 12:20:40 +04:00
Ilya Fedin
3fc4030ca6 Migrate xz in Dockerfile to the URL used in prepare.py 2024-04-02 10:26:43 +04:00
John Preston
707146daed 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.
2024-04-01 23:27:35 +04:00
John Preston
c0117e72ad Support complex invite-users responses. 2024-04-01 22:44:26 +04:00
John Preston
3cdb528dfe Use "Downloads/Telegram Lite" in MacAppStore version. 2024-04-01 22:44:26 +04:00
John Preston
d2164dc0d0 Suggest premiums in privacy. 2024-04-01 22:44:26 +04:00
John Preston
87acc921c3 Pass Ui::Show to all add participant handlers. 2024-04-01 22:44:26 +04:00
John Preston
5741bd9cca Support "premiums and ..." privacy editing. 2024-04-01 22:44:25 +04:00
John Preston
1e6fb202f0 Re-apply "Disable system proxy support on Linux".
This reverts commit c71c24a6bc.
2024-04-01 22:44:25 +04:00
John Preston
8cbb1abff2 Fix wrong non-album image size in send preview.
Regression was introduced in 84288112fc.
2024-04-01 22:44:25 +04:00
John Preston
d21418cf04 Handle already-premium state in gift link usage. 2024-04-01 22:44:25 +04:00
John Preston
d35c8232d2 Fix send-messages privacy phrase. 2024-04-01 22:44:25 +04:00
John Preston
139d1a9aa3 Allow saving just the sticker in custom intro. 2024-04-01 22:44:25 +04:00
John Preston
f95817861a Fix build on Windows. 2024-04-01 22:44:25 +04:00
23rd
3e968aecc8 Added link for learn more about currency from channel earn section. 2024-04-01 22:44:25 +04:00
23rd
2795af8c7f Slightly improved style of channel earn info section. 2024-04-01 22:44:25 +04:00
23rd
bb438880e3 Added ability to view all of user's own groups. 2024-04-01 22:44:25 +04:00
23rd
8492b7144f Replaced emoji with icon for currency in earn section. 2024-04-01 22:44:25 +04:00
23rd
5dd974f2ab Added line with converted currency amount to point details widget. 2024-04-01 22:44:25 +04:00
23rd
d3cd3bb0a4 Slightly improved style of box for reporting of sponsored messages. 2024-04-01 22:44:25 +04:00
23rd
04acf08d34 Limited list of data for non-owners of channel in earn section. 2024-04-01 22:44:25 +04:00
23rd
4db885d8b4 Replaced exported data of callbacks from markup replies with base64. 2024-04-01 22:44:25 +04:00
23rd
8718d94e7d Added sub-button to top of sponsored messages that can be reported. 2024-04-01 22:44:25 +04:00
23rd
24c1151101 Fixed incorrect handling of error from channel ownership request. 2024-04-01 22:44:25 +04:00
23rd
0b22e5928c Fixed bottom fade effect for input message fields in compose controls. 2024-04-01 22:44:25 +04:00
23rd
3311a50750 Added second rulers to currency chart in channel earn info section. 2024-04-01 22:44:25 +04:00
23rd
1563a85fea Improved style for right action of forwarded messages. 2024-04-01 22:44:25 +04:00
23rd
586983eb9b Added divider text to box for reporting of sponsored messages. 2024-04-01 22:44:25 +04:00
23rd
1a7a906ced Added ability to review history entry in channel earn info section. 2024-04-01 22:44:25 +04:00
23rd
496247c1d8 Added ability to load chunked history transactions in earn info section. 2024-04-01 22:44:25 +04:00
23rd
2f07bb3973 Added initial support of withdraw button in channel earn info section. 2024-04-01 22:44:25 +04:00
23rd
9b0f3bedff Added entry point for channel earn info section. 2024-04-01 22:44:25 +04:00
23rd
c66b5b2490 Added support of permission to manage channel earn. 2024-04-01 22:44:25 +04:00
23rd
a1264a6088 Slightly improved style of learn more box in channel earn info section. 2024-04-01 22:44:24 +04:00
23rd
4e0d770d05 Removed cpm configuration. 2024-04-01 22:44:24 +04:00
23rd
508119a127 Added ability to report sponsored messages. 2024-04-01 22:44:24 +04:00
23rd
341b9e4a29 Added menu with about box to sponsored messages that can be reported. 2024-04-01 22:44:24 +04:00
23rd
57789c1272 Added second button to sponsored right. 2024-04-01 22:44:24 +04:00
23rd
3845a87f2e Added fade animation to center label of slider in earn channel section. 2024-04-01 22:44:24 +04:00
23rd
3c266b6dc4 Moved out data structures for channel earn to td_ui. 2024-04-01 22:44:24 +04:00
23rd
32a3952524 Added initial support of channel cpm from earn channel api. 2024-04-01 22:44:24 +04:00
23rd
9c52f245ac Added initial support of statistical charts in earn channel section. 2024-04-01 22:44:24 +04:00
23rd
393d9e9f1f Slightly improved style of channel earn info section. 2024-04-01 22:44:24 +04:00
23rd
f28f498467 Added support of level of boosts for restriction of sponsored messages. 2024-04-01 22:44:24 +04:00
23rd
b5a7a351f6 Added initial support for integer format of channel earn amount data. 2024-04-01 22:44:24 +04:00
23rd
a14c0f5253 Added initial support of channel earn data in appropriate info section. 2024-04-01 22:44:24 +04:00
23rd
a278aa0f89 Added initial api support for channel earn statistics. 2024-04-01 22:44:24 +04:00
23rd
479bb2a1d6 Added focus to input field in channel earn info section. 2024-04-01 22:44:24 +04:00
23rd
538934a88a Added learn more box to channel earn info section. 2024-04-01 22:44:24 +04:00
23rd
5d2726036f Slightly improved style of channel earn info section. 2024-04-01 22:44:24 +04:00
23rd
778317e1b2 Added initial slider for earn settings to channel earn info section. 2024-04-01 22:44:24 +04:00
23rd
99dd5507bf Added initial transfer subsection to channel earn info section. 2024-04-01 22:44:24 +04:00
23rd
490d9bc3ec Added initial box for every history entry to channel earn info section. 2024-04-01 22:44:24 +04:00
23rd
796e09bf13 Added initial subsection for history to channel earn info section. 2024-04-01 22:44:24 +04:00
23rd
588624e7a9 Added initial overview subsection to channel earn info section. 2024-04-01 22:44:24 +04:00
23rd
a45a9e6515 Added initial learn about as divider text to channel earn info section. 2024-04-01 22:44:24 +04:00
23rd
a7df074b8f Added dummy files for channel earn info section. 2024-04-01 22:44:24 +04:00
23rd
9941a46769 Added some phrases for channel earn info section. 2024-04-01 22:44:24 +04:00
23rd
b0565f2188 Moved files for boosts to nested folder. 2024-04-01 22:44:24 +04:00
John Preston
8fb3e39881 Simple promo box for Telegram Business. 2024-04-01 22:44:23 +04:00
John Preston
d788f5afac Handle today-birthday click in profile. 2024-04-01 22:44:22 +04:00
John Preston
20123fca7f Mark the Chatbots section as NEW. 2024-04-01 22:44:22 +04:00
John Preston
7c7b962c6d Improve couple of Telegram Business icons. 2024-04-01 22:44:22 +04:00
John Preston
68ded1a6e0 Allow newRequirePremium for free if server allows. 2024-04-01 22:44:22 +04:00
John Preston
da7a796edb Add session->appConfig() shortcut. 2024-04-01 22:44:22 +04:00
John Preston
3b5814edae Handle empty channels list. 2024-04-01 22:44:22 +04:00
John Preston
f439443fe5 Show personal channel in users profile. 2024-04-01 22:44:22 +04:00
John Preston
280d69d346 Implement personal channel selector. 2024-04-01 22:44:21 +04:00
John Preston
ab74ed0fa7 Handle flood errors in birthday changes. 2024-04-01 22:44:21 +04:00
John Preston
0d740c21a2 Check if bot supports Telegram Business. 2024-04-01 22:44:21 +04:00
John Preston
f65bc7c0bd Suggest premium on transfer speed limiting. 2024-04-01 22:44:21 +04:00
John Preston
0dd1a4973a Handle the new FLOOD_PREMIUM_WAIT errors. 2024-04-01 22:44:21 +04:00
John Preston
05a5e62327 Update API scheme on layer 177. 2024-04-01 22:44:21 +04:00
John Preston
66a47137a0 Copy chat link by left click in footer. 2024-04-01 22:44:21 +04:00
John Preston
f240cbbda6 Handle chat link clicks. 2024-04-01 22:44:21 +04:00
John Preston
3d54f8ec49 Initial chat links edition implementation. 2024-04-01 22:44:21 +04:00
John Preston
6fe0c60204 Fix build with Xcode. 2024-04-01 22:44:21 +04:00
John Preston
f7d04d668b Hide captions in IV slideshows. 2024-04-01 22:44:21 +04:00
John Preston
57bd0d2674 Update API scheme on layer 177. 2024-04-01 22:44:21 +04:00
John Preston
08ee25deb2 Display date of birth in user profiles. 2024-04-01 22:44:21 +04:00
John Preston
c82d7bd909 Implement birthday info / privacy edit boxes. 2024-04-01 22:44:21 +04:00
John Preston
59663d6661 Track birthdays, edit birthday privacy. 2024-04-01 22:44:21 +04:00
John Preston
5e68dace9f Remove description in intro settings preview. 2024-04-01 22:44:21 +04:00
John Preston
fcc9e0b2db Update API scheme on layer 177. 2024-04-01 22:44:21 +04:00
John Preston
3a5b3ff3bd Show description about custom chat intro. 2024-04-01 22:44:21 +04:00
John Preston
1e1a48865f Extract history/view/media/history_view_media_generic module. 2024-04-01 22:44:21 +04:00
John Preston
b31c30b9b6 Wait for full user info before intro creation. 2024-04-01 22:44:21 +04:00
John Preston
7886a2179f Fix giveaway messages layout. 2024-04-01 22:44:21 +04:00
John Preston
d1a995a863 Allow sending the sticker from the intro. 2024-04-01 22:44:21 +04:00
John Preston
85554d19e4 Show chat intro in an empty chat. 2024-04-01 22:44:21 +04:00
John Preston
7f4d13c54a Fix chat intro sticker aspect ratio. 2024-04-01 22:44:20 +04:00
John Preston
9f67b9ba2f Reload chatbot rules after adding an exception. 2024-04-01 22:44:20 +04:00
John Preston
5381fe5a1a Use MediaInBubble for chat intro fake-message. 2024-04-01 22:44:20 +04:00
John Preston
0887348611 Show length limit in chat intro fields. 2024-04-01 22:44:20 +04:00
John Preston
98ce91df39 Fix intro hello sticker playback in editing. 2024-04-01 22:44:20 +04:00
John Preston
191c35914f Start editing chat intro in Telegram Business. 2024-04-01 22:44:20 +04:00
John Preston
cf1d0677d1 Support business bot state in chat. 2024-04-01 22:44:20 +04:00
John Preston
3d97ea6f96 Track chat business bot state. 2024-04-01 22:44:20 +04:00
John Preston
caa4c5428a Show via_business_bot name in signature. 2024-04-01 22:44:20 +04:00
John Preston
90e572c8b1 Improve mixed stickerpacks support. 2024-04-01 22:44:20 +04:00
John Preston
b1795f8c5a Update API scheme to layer 177. 2024-04-01 22:44:20 +04:00
John Preston
962c64b33c Beta version 4.15.7: Linux fix test. 2024-04-01 11:58:24 +04:00
GitHub Action
bd827d844b Update User-Agent for DNS to Chrome 123.0.0.0. 2024-04-01 10:20:57 +04:00
wention
ed70675e1d Fix build Qt error on non-english windows os 2024-04-01 10:08:16 +04:00
Ilya Fedin
e07d53725c Strip notification service start error 2024-04-01 09:59:19 +04:00
Ilya Fedin
1b589a35cf Don't check the count when it's not going to painted 2024-04-01 09:50:20 +04:00
Ilya Fedin
439f8d0914 Implement monochrome icon setting on Linux 2024-04-01 09:50:20 +04:00
Ilya Fedin
1d7dbc4d17 Update patches & lib_base 2024-03-29 14:12:52 +04:00
Ilya Fedin
001b055ee8 Let Wayland to use QGuiApplication::screenAt
Looks like it works correctly nowadays
2024-03-28 10:54:34 +04:00
John Preston
8534d6d7d7 Fix build on Windows. 2024-03-27 18:32:44 +04:00
Ilya Fedin
e7a7c2d267 Get rid of XDG_CURRENT_DESKTOP dependent logic
Just try all the commands and use the one that works first
2024-03-26 09:31:58 +04:00
Ilya Fedin
8803dfcee6 Add Plasma 6 sound settings support 2024-03-26 09:31:58 +04:00
Ilya Fedin
887f10059d Update Qt to 6.7.0-rc2 in snap 2024-03-25 22:17:59 +04:00
Ilya Fedin
d3db52ce9c Update cmake_helpers 2024-03-25 22:17:59 +04:00
Ilya Fedin
5fa89c22bd Use default Qt prefix on Linux 2024-03-25 22:17:59 +04:00
Ilya Fedin
ea42f9545f Move OpenSSL to system directories on Linux 2024-03-25 22:17:59 +04:00
John Preston
8830fb70a4 Beta version 4.15.6: OpenSSL 3.2.1. 2024-03-25 17:47:53 +04:00
Ilya Fedin
0edf14f3a9 Update Qt to 6.7.0-rc2 on Linux 2024-03-25 17:47:25 +04:00
John Preston
89c6bb163e Beta version 4.15.6: Fix build with GCC. 2024-03-25 11:19:31 +04:00
John Preston
8708598daa Beta version 4.15.6.
- Save the Instant View window geometry.
- Fix jump to anchors with accents in the Instant View.
- Fix possible crash in the ElasticScroll destructor.
2024-03-25 10:26:23 +04:00
John Preston
c71c24a6bc Re-revert "Disable system proxy support on Linux".
This reverts commit 55b2b04e2e.
2024-03-25 10:25:34 +04:00
John Preston
386fb07017 Update lib_base submodule. 2024-03-25 10:16:12 +04:00
23rd
aad2961646 Added all unused shortcuts to json of default shortcuts. 2024-03-25 10:15:42 +04:00
23rd
00a89883fd Added ability to set shortcut to archive chat from dialogs list. 2024-03-25 10:15:42 +04:00
23rd
5509c1810b Added ability to set shortcut to open section with scheduled messages. 2024-03-25 10:15:42 +04:00
23rd
24498bc95f Changed behavior to hide field buttons in HistoryWidget with typed text. 2024-03-25 10:15:42 +04:00
Sergey A. Osokin
58caec8d05 Fix build on FreeBSD 2024-03-25 10:14:17 +04:00
John Preston
ebe331a7e4 Fix build on Windows. 2024-03-24 10:24:26 +04:00
John Preston
d481008fdb Fix possible crash in ElasticScroll destructor. 2024-03-24 10:24:22 +04:00
John Preston
b97d243978 Fix jump to hash with accents in IV. 2024-03-24 10:05:55 +04:00
John Preston
fd833dff35 Save IV window geometry. 2024-03-24 10:05:52 +04:00
John Preston
d9ed3a7d3f Remove for-development-only save document action.
Regression was introduced in 205479fccc.
2024-03-24 10:05:37 +04:00
John Preston
b8ce79467f Fix crash on "History cleared" delete in Saved Messages. 2024-03-24 10:05:04 +04:00
John Preston
9d0457d208 Add "Terms of Use" menu item to all miniapps. 2024-03-24 10:04:54 +04:00
23rd
fa02e521f9 Added ability to view all of user's own channels. 2024-03-24 07:10:07 +03:00
23rd
d03d50ef0d Removed cIntRetinaFactor and cRetinaFactor. 2024-03-24 07:10:07 +03:00
23rd
58fcedab64 Moved out Window::SlideAnimation to td_ui. 2024-03-24 07:01:08 +03:00
23rd
5e11c43f84 Moved out Stickers::EmojiImageLoader to td_ui. 2024-03-24 07:01:08 +03:00
Ilya Fedin
4b4de9d5aa Don't mark as read when unexposed
There's a yet another another visility state called "exposed" and the window could be unexposed while being not hidden and not minimized.

When the window is unexposed, Qt doesn't draw and the user can't see changes for sure.
2024-03-23 10:36:43 +04:00
23rd
f135676d36 Added support for sending state of low level of battery. 2024-03-22 00:12:57 +03:00
23rd
cb9adad660 Added label to call panel when recipient has low level of battery. 2024-03-21 23:48:51 +03:00
23rd
88dab47d2c Changed behavior to open section with scheduled messages at top. 2024-03-21 20:20:06 +03:00
Daniel Novomeský
d6e4613144 Upgrade dav1d, libavif, libde265, libheif on Linux 2024-03-20 20:00:33 +04:00
23rd
893c09c848 Fixed showing of rate call box in appropriate window. 2024-03-20 11:20:22 +04:00
Ilya Fedin
a0e0fd5b98 Don't build libheif tests
That would save some build time
2024-03-19 20:14:28 +04:00
John Preston
98abb3aa00 Fix possible crash in join channel toast. 2024-03-19 11:04:40 +04:00
John Preston
8982a49192 Fix repetitive phone formatting. 2024-03-19 11:04:21 +04:00
John Preston
529eb4e954 Fix window shadow on Linux. 2024-03-19 11:03:39 +04:00
Ilya Fedin
846a6d8717 Update scudo to 18.1.1 2024-03-18 19:53:36 +04:00
Ilya Fedin
07ab875655 Update lib_base 2024-03-18 09:59:47 +04:00
Ilya Fedin
602b0b5d9b Use the File::OpenUrl routine in IV 2024-03-18 09:59:47 +04:00
John Preston
0e428aebdb Update patches in Linux build. 2024-03-17 20:34:02 +04:00
Daniel Novomeský
4abc68ab1c Upgrade dav1d, libavif, libde265, libheif 2024-03-17 19:35:00 +04:00
23rd
2638ee2926 Improved message edition with pre-selected text. 2024-03-17 11:16:07 +03:00
Ilya Fedin
ddaf78828a Fix media viewer geometry restoration 2024-03-17 09:28:46 +04:00
Ilya Fedin
6d5347472d Fix media viewer geometry logging
It has regressed after c64e953174
2024-03-17 09:28:46 +04:00
John Preston
82fda96ed8 Beta version 4.15.5.
- Fix a crash in Instant View article parsing.
- Support AirPods Mute/Unmute toggle in calls on macOS.
- Disable system proxy on Linux to check if it fixes crashes.
2024-03-16 09:59:23 +04:00
John Preston
55b2b04e2e Reapply "Disable system proxy support on Linux"
This reverts commit 202a4064a4.
2024-03-16 09:54:07 +04:00
23rd
393f330d15 Added ability to go to message from Calls box. 2024-03-16 04:40:56 +03:00
23rd
f4ecfeaddd Added ability to perform bulk selection from menu in HistoryWidget. 2024-03-16 04:40:56 +03:00
Ilya Fedin
ad101dc8a0 A way to initialize GLib::VariantIter without gi::wrap is found 2024-03-15 23:10:43 +04:00
John Preston
24e9a3ea59 Bot close confirm closes only by Close button. 2024-03-15 20:28:11 +04:00
John Preston
f1d8135e30 Fix crash in IV parsing. 2024-03-15 20:26:50 +04:00
23rd
a1a415de82 Fixed crash in non-stack bar chart view when hide selected point. 2024-03-15 17:08:17 +03:00
John Preston
77dc234b2d Support AirPods Mute/Unmute toggle. 2024-03-15 14:43:41 +04:00
23rd
c3ca8c6258 Fixed emoji drawing in statuses of group call participants. 2024-03-15 14:43:29 +04:00
23rd
9e18236b55 Added ability to open account in new window with middle click. 2024-03-15 14:43:29 +04:00
23rd
ded7aada52 Slightly improved filter for choosing users requested by bot. 2024-03-15 14:43:29 +04:00
Dubzer
a117c1ebf2 Add new Segoe UI to IV css 2024-03-15 09:24:12 +04:00
Ilya Fedin
d3715cc362 Get rid of glibmm 2024-03-15 00:00:24 +04:00
Ilya Fedin
3689e7dfbc Use cppgir compatible XDP utilities API 2024-03-15 00:00:24 +04:00
Ilya Fedin
59e53c1edf Port NotificationId conversion to cppgir 2024-03-15 00:00:24 +04:00
John Preston
f2a54e3cbb Beta version 4.15.4: Fix build with Xcode. 2024-03-14 22:30:52 +04:00
John Preston
20db635366 Beta version 4.15.4: Update Qt patches in snap. 2024-03-14 21:58:56 +04:00
John Preston
b955d32970 Beta version 4.15.14.
- Fix initial text color in dark mode Instant View on macOS.
- Fix non-English symbols encoding in Instant View on macOS.
- Fix sharing from Instant View on macOS.
- Fix crash with long messages on Linux.
2024-03-14 21:55:16 +04:00
John Preston
5a5d89c32c Fix crashing regression in Qt 6.7.0. 2024-03-14 21:55:05 +04:00
23rd
1f0ed3bb31 Fixed links in service message about requested peers from bot. 2024-03-14 20:36:19 +03:00
23rd
6c083e88a3 Changed behavior of bot menu button to decrease size to first emoji. 2024-03-14 20:19:09 +03:00
John Preston
2e7323d484 Fix a glitch in IV sharing on Windows. 2024-03-14 19:03:46 +04:00
John Preston
461aebd7f3 Hide IV when sharing on macOS, fixes sharing. 2024-03-14 18:36:17 +04:00
John Preston
73ca78215f Set window title in IV. 2024-03-14 18:35:57 +04:00
John Preston
200bb31e08 Fix theming in code blocks. 2024-03-14 15:01:03 +04:00
John Preston
396f52b8ca Fix title updating on IV menu show. 2024-03-14 14:27:46 +04:00
John Preston
a118d3d848 Close IV when opening URL in the browser. 2024-03-14 14:26:00 +04:00
John Preston
f6b9702b52 Unminimize IV when opening another one. 2024-03-14 12:51:34 +04:00
John Preston
d92418dc6d Disable media context menus in IV. 2024-03-14 12:50:55 +04:00
23rd
fe4b853393 Improved section of scheduled messages when forum opened in flat mode. 2024-03-14 11:43:46 +04:00
John Preston
782556495a Improve joined channels tracking in IV. 2024-03-14 11:39:17 +04:00
John Preston
5c32423597 Integrate IV menu hiding by click inside WebView. 2024-03-14 11:39:17 +04:00
John Preston
5c8e6c3012 Fix page encoding in IV on macOS. 2024-03-14 11:39:17 +04:00
John Preston
5133f74f67 Fix IV theming on macOS because of broken HTML. 2024-03-14 11:39:17 +04:00
John Preston
d5b23b5bde Use a separate lang key for IV channel join button. 2024-03-14 11:39:17 +04:00
kukuruzka
bf4b4ae936 full support for ukrainian transliteration 2024-03-14 11:23:13 +04:00
kukuruzka
458b990b8c Improve transliteration 2024-03-14 11:23:13 +04:00
Ilya Fedin
e044753934 Fix macOS GH action 2024-03-14 10:45:42 +04:00
Ilya Fedin
c0b612c457 Update cppgir 2024-03-14 09:29:10 +04:00
Eric Kotato
9414ef5709 Using system font stack for Instant View 2024-03-14 09:18:24 +04:00
Ilya Fedin
c9e566f8aa Fix snap build
Qt has removed support for kernels less than 4.11 by removing the -no-feature-statx flag. Remove the usage all the related flags.
2024-03-14 09:17:01 +04:00
Eric Kotato
40bd37315a Use %NUMBER_OF_PROCESSORS% for jom 2024-03-14 08:33:07 +04:00
John Preston
0410d05913 Beta version 4.15.3: Fix build with GCC. 2024-03-13 22:27:25 +04:00
John Preston
a888b8d846 Beta version 4.15.3.
- Instant View on Windows (with WebView2) and macOS.
- Allow scheduling messages in topics.
- Fix system proxy support on Linux.
2024-03-13 21:58:45 +04:00
John Preston
eac5c39a96 Don't show IV button for album links. 2024-03-13 21:58:27 +04:00
John Preston
202a4064a4 Revert "Disable system proxy support on Linux"
This reverts commit 3af646a584.
2024-03-13 21:20:31 +04:00
John Preston
ddf2369774 Allow more parts for macOS IV streaming. 2024-03-13 21:20:30 +04:00
John Preston
48f70a8552 Fix videos management on macOS. 2024-03-13 21:20:30 +04:00
John Preston
4685b889c2 Update Qt to 5.15.13 on Windows. 2024-03-13 21:20:30 +04:00
John Preston
3e373200b1 Dynamically create / destroy videos. 2024-03-13 21:20:30 +04:00
John Preston
7913d2a82d Fix initial scroll on macOS. 2024-03-13 21:20:30 +04:00
John Preston
e20770e256 Show IV button only if supported. 2024-03-13 21:20:30 +04:00
John Preston
d43f0be0da Add IV icon to the button. 2024-03-13 21:20:30 +04:00
John Preston
7b4adc2e60 Escape data from API in IV html. 2024-03-13 21:20:30 +04:00
John Preston
1eeba65ddb Fix build on macOS. 2024-03-13 21:20:30 +04:00
John Preston
1252accef7 Support file reference refresh in IV. 2024-03-13 21:20:30 +04:00
John Preston
5f7c3ae20e Remove some test code. 2024-03-13 21:20:30 +04:00
John Preston
e1b55b560a New top bar, sharing, internal IV links style. 2024-03-13 21:20:30 +04:00
John Preston
315859bf7b Load full webpage and update in IV. 2024-03-13 21:20:30 +04:00
John Preston
0a87dbea68 Fix focusing IV content. 2024-03-13 21:20:30 +04:00
John Preston
5f3c380d56 Fix navigation on macOS. 2024-03-13 21:20:30 +04:00
John Preston
8b62c37c34 Support complex history and anchors. 2024-03-13 21:20:30 +04:00
John Preston
fae10cfa6b Support slideshow layout. 2024-03-13 21:20:30 +04:00
John Preston
f9069144e5 Support albums layout. 2024-03-13 21:20:30 +04:00
John Preston
7755b70317 Add top dropdown menu. 2024-03-13 21:20:30 +04:00
John Preston
c46f34c677 Load non-streamable documents. 2024-03-13 21:20:30 +04:00
John Preston
5c428ca502 Support anchor jumps. 2024-03-13 21:20:30 +04:00
John Preston
51d5b7bab6 Support channel link / channel join. 2024-03-13 21:20:30 +04:00
John Preston
f508ad5e75 Implement title and in-IV buttons. 2024-03-13 21:20:30 +04:00
John Preston
f9299eee2a Apply app color scheme, test dynamic header. 2024-03-13 21:20:30 +04:00
John Preston
212259aae3 Handle shortcuts in IV. 2024-03-13 21:20:30 +04:00
John Preston
6d733bb566 Proof-of-concept custom scheme in WKWebView. 2024-03-13 21:20:30 +04:00
John Preston
125f856e67 Proof-of-concept (WebView2 / Local) iv. 2024-03-13 21:20:30 +04:00
23rd
672ad64e53 Added initial ability to send and receive scheduled messages in forums. 2024-03-13 19:57:07 +03:00
23rd
cd59f1d576 Removed redundant constructor from HistoryView::ComposeControls. 2024-03-13 19:57:07 +03:00
John Preston
c4fc43ccc0 Fix rounding in boost features box. 2024-03-13 20:50:19 +04:00
John Preston
b20b3142a2 Update submodules and patches commit. 2024-03-13 20:49:24 +04:00
Ilya Fedin
d67f25d726 Update Qt to 6.7.0 on Linux 2024-03-13 20:46:54 +04:00
Ilya Fedin
d881019c3b Update submodules 2024-03-13 20:46:34 +04:00
Ilya Fedin
abdfa4f785 Remove not really needed notification capability checks
If the notification daemon doesn't support any of the hints, it will just ignore them
2024-03-13 20:46:34 +04:00
Ilya Fedin
5394717ddc Log only GError message 2024-03-13 20:46:34 +04:00
Ilya Fedin
c9d58d4259 Use HasCapability directly as an argument to ranges::all_of 2024-03-13 20:46:34 +04:00
Ilya Fedin
dba9cada83 Don't check whether specification version is null
We log specification version anyway
2024-03-13 20:46:34 +04:00
Ilya Fedin
0ec5181566 Pre-normalize notification daemon versions 2024-03-13 20:46:34 +04:00
Ilya Fedin
886847f457 Port notifications_manager_linux to cppgir 2024-03-13 20:46:34 +04:00
802 changed files with 33337 additions and 26238 deletions

6
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,6 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"

View File

@@ -1,32 +1,11 @@
name: No Response
name: Can't reproduce.
# Both `issue_comment` and `scheduled` event types are required for this Action
# to work properly.
on:
issue_comment:
types: [created]
schedule:
- cron: '0 0 * * *'
- cron: '0 3 * * *'
jobs:
waiting-for-answer:
runs-on: ubuntu-latest
steps:
- uses: lee-dohm/no-response@v0.5.0
with:
token: ${{ github.token }}
responseRequiredLabel: waiting for answer
needs-user-action:
runs-on: ubuntu-latest
steps:
- uses: lee-dohm/no-response@v0.5.0
with:
token: ${{ github.token }}
responseRequiredLabel: needs user action
cant-reproduce:
if: github.event_name != 'issue_comment'
runs-on: ubuntu-latest
steps:
- uses: lee-dohm/no-response@v0.5.0

View File

@@ -20,7 +20,7 @@ jobs:
steps:
- name: Clone.
uses: actions/checkout@v3.1.0
uses: actions/checkout@v4
with:
submodules: recursive
@@ -31,7 +31,7 @@ jobs:
echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u $ --password-stdin
- name: Free up some disk space.
uses: jlumbroso/free-disk-space@f68fdb76e2ea636224182cfb7377ff9a1708f9b8
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be
- name: Docker image build.
run: |

View File

@@ -49,17 +49,16 @@ jobs:
defines:
- ""
- "DESKTOP_APP_DISABLE_X11_INTEGRATION"
- "DESKTOP_APP_DISABLE_WAYLAND_INTEGRATION"
env:
UPLOAD_ARTIFACT: "false"
UPLOAD_ARTIFACT: "true"
steps:
- name: Get repository name.
run: echo "REPO_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV
- name: Clone.
uses: actions/checkout@v3.1.0
uses: actions/checkout@v4
with:
submodules: recursive
path: ${{ env.REPO_NAME }}
@@ -115,9 +114,9 @@ jobs:
if: env.UPLOAD_ARTIFACT == 'true'
run: |
cd $REPO_NAME/out/Debug
mkdir artifact
mv {Telegram,Updater} artifact/
- uses: actions/upload-artifact@master
sudo mkdir artifact
sudo mv {Telegram,Updater} artifact/
- uses: actions/upload-artifact@v4
if: env.UPLOAD_ARTIFACT == 'true'
name: Upload artifact.
with:

View File

@@ -8,7 +8,7 @@ jobs:
lock:
runs-on: ubuntu-latest
steps:
- uses: dessant/lock-threads@v3
- uses: dessant/lock-threads@v5
with:
github-token: ${{ github.token }}
issue-inactive-days: 45

View File

@@ -47,7 +47,7 @@ jobs:
defines:
- ""
env:
UPLOAD_ARTIFACT: "false"
UPLOAD_ARTIFACT: "true"
ONLY_CACHE: "false"
PREPARE_PATH: "Telegram/build/prepare/prepare.py"
@@ -56,7 +56,7 @@ jobs:
run: echo "REPO_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV
- name: Clone.
uses: actions/checkout@v3.1.0
uses: actions/checkout@v4
with:
submodules: recursive
path: ${{ env.REPO_NAME }}
@@ -64,7 +64,10 @@ jobs:
- name: First set up.
run: |
sudo chown -R `whoami`:admin /usr/local/share
brew install automake ninja pkg-config nasm meson
brew update
brew upgrade || true
brew install automake meson nasm ninja pkg-config
# Disable spotlight.
sudo mdutil -a -i off
@@ -73,7 +76,7 @@ jobs:
- name: ThirdParty cache.
id: cache-third-party
uses: actions/cache@v3.0.11
uses: actions/cache@v4
with:
path: ThirdParty
key: ${{ runner.OS }}-third-party-${{ hashFiles(format('{0}/{1}', env.REPO_NAME, env.PREPARE_PATH)) }}
@@ -81,7 +84,7 @@ jobs:
- name: Libraries cache.
id: cache-libs
uses: actions/cache@v3.0.11
uses: actions/cache@v4
with:
path: Libraries
key: ${{ runner.OS }}-libs-${{ hashFiles(format('{0}/{1}', env.REPO_NAME, env.PREPARE_PATH)) }}
@@ -131,7 +134,7 @@ jobs:
mkdir artifact
mv Telegram.app artifact/
mv Updater artifact/
- uses: actions/upload-artifact@master
- uses: actions/upload-artifact@v4
if: env.UPLOAD_ARTIFACT == 'true'
name: Upload artifact.
with:

View File

@@ -49,8 +49,8 @@ jobs:
env:
GIT: "https://github.com"
OPENALDIR: "/usr/local/opt/openal-soft"
UPLOAD_ARTIFACT: "false"
CMAKE_PREFIX_PATH: "/usr/local/opt/ffmpeg@6:/usr/local/opt/openal-soft"
UPLOAD_ARTIFACT: "true"
ONLY_CACHE: "false"
MANUAL_CACHING: "1"
AUTO_CACHING: "1"
@@ -60,7 +60,7 @@ jobs:
run: echo "REPO_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV
- name: Clone.
uses: actions/checkout@v3.1.0
uses: actions/checkout@v4
with:
submodules: recursive
path: ${{ env.REPO_NAME }}
@@ -69,7 +69,7 @@ jobs:
run: |
brew update
brew upgrade || true
brew install autoconf automake boost cmake ffmpeg openal-soft openssl opus ninja pkg-config python qt yasm xz
brew install autoconf automake boost cmake ffmpeg@6 openal-soft openssl opus ninja pkg-config python qt yasm xz
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
xcodebuild -version > CACHE_KEY.txt
@@ -99,7 +99,7 @@ jobs:
- name: WebRTC cache.
id: cache-webrtc
uses: actions/cache@v3.0.11
uses: actions/cache@v4
with:
path: ${{ env.LibrariesPath }}/tg_owt
key: ${{ runner.OS }}-webrtc-${{ env.CACHE_KEY }}-${{ hashFiles('**/tg_owt-version.json') }}
@@ -153,7 +153,7 @@ jobs:
cd $REPO_NAME/build
mkdir artifact
mv Telegram.dmg artifact/
- uses: actions/upload-artifact@master
- uses: actions/upload-artifact@v4
if: env.UPLOAD_ARTIFACT == 'true'
name: Upload artifact.
with:

View File

@@ -11,7 +11,7 @@ jobs:
SKIP: "0"
to_branch: "master"
steps:
- uses: actions/checkout@v4.1.0
- uses: actions/checkout@v4
with:
fetch-depth: 0
if: env.SKIP == '0'

16
.github/workflows/needs-user-action.yml vendored Normal file
View File

@@ -0,0 +1,16 @@
name: Needs user action.
on:
issue_comment:
types: [created]
schedule:
- cron: '0 2 * * *'
jobs:
needs-user-action:
runs-on: ubuntu-latest
steps:
- uses: lee-dohm/no-response@v0.5.0
with:
token: ${{ github.token }}
responseRequiredLabel: needs user action

View File

@@ -43,11 +43,11 @@ jobs:
runs-on: ubuntu-20.04
env:
UPLOAD_ARTIFACT: "false"
UPLOAD_ARTIFACT: "true"
steps:
- name: Clone.
uses: actions/checkout@v3.1.0
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
@@ -61,10 +61,10 @@ jobs:
sudo snap run lxd waitready
- name: Free up some disk space.
uses: jlumbroso/free-disk-space@f68fdb76e2ea636224182cfb7377ff9a1708f9b8
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be
- name: Telegram Desktop snap build.
run: sg lxd -c 'snap run snapcraft -v'
run: sg lxd -c 'snap run snapcraft --verbosity=debug'
- name: Move artifact.
if: env.UPLOAD_ARTIFACT == 'true'
@@ -75,7 +75,7 @@ jobs:
mkdir artifact
mv $artifact_name artifact
- uses: actions/upload-artifact@master
- uses: actions/upload-artifact@v4
if: env.UPLOAD_ARTIFACT == 'true'
name: Upload artifact.
with:

View File

@@ -7,7 +7,7 @@ jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v5
- uses: actions/stale@v9
with:
stale-issue-message: |
Hey there!

View File

@@ -0,0 +1,16 @@
name: Waiting for answer.
on:
issue_comment:
types: [created]
schedule:
- cron: '30 0 * * *'
jobs:
waiting-for-answer:
runs-on: ubuntu-latest
steps:
- uses: lee-dohm/no-response@v0.5.0
with:
token: ${{ github.token }}
responseRequiredLabel: waiting for answer

View File

@@ -50,7 +50,7 @@ jobs:
generator: ["", "Ninja Multi-Config"]
env:
UPLOAD_ARTIFACT: "false"
UPLOAD_ARTIFACT: "true"
ONLY_CACHE: "false"
PREPARE_PATH: "Telegram/build/prepare/prepare.py"
@@ -69,13 +69,13 @@ jobs:
shell: bash
run: echo "REPO_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV
- uses: ilammy/msvc-dev-cmd@v1.12.0
- uses: ilammy/msvc-dev-cmd@v1.13.0
name: Native Tools Command Prompt.
with:
arch: ${{ matrix.arch }}
- name: Clone.
uses: actions/checkout@v3.1.0
uses: actions/checkout@v4
with:
submodules: recursive
path: ${{ env.TBUILD }}\${{ env.REPO_NAME }}
@@ -96,7 +96,7 @@ jobs:
- name: Libraries cache.
id: cache-libs
uses: actions/cache@v3.0.11
uses: actions/cache@v4
with:
path: ${{ env.TBUILD }}\Libraries
key: ${{ runner.OS }}-${{ matrix.arch }}-libs-${{ env.CACHE_KEY }}
@@ -183,7 +183,7 @@ jobs:
mkdir artifact
move %OUT%\Telegram.exe artifact/
move %OUT%\Updater.exe artifact/
- uses: actions/upload-artifact@master
- uses: actions/upload-artifact@v4
name: Upload artifact.
if: (env.UPLOAD_ARTIFACT == 'true') || (github.ref == 'refs/heads/nightly')
with:

1
.gitignore vendored
View File

@@ -18,6 +18,7 @@ Release/
*.xcodeproj
ipch/
.vs/
.vscode/
/Telegram/log.txt
/Telegram/data

12
.gitmodules vendored
View File

@@ -76,15 +76,12 @@
[submodule "Telegram/lib_webview"]
path = Telegram/lib_webview
url = https://github.com/desktop-app/lib_webview.git
[submodule "Telegram/ThirdParty/jemalloc"]
path = Telegram/ThirdParty/jemalloc
url = https://github.com/jemalloc/jemalloc
[submodule "Telegram/ThirdParty/dispatch"]
path = Telegram/ThirdParty/dispatch
url = https://github.com/apple/swift-corelibs-libdispatch
[submodule "Telegram/ThirdParty/plasma-wayland-protocols"]
path = Telegram/ThirdParty/plasma-wayland-protocols
url = https://github.com/KDE/plasma-wayland-protocols.git
[submodule "Telegram/ThirdParty/wayland-protocols"]
path = Telegram/ThirdParty/wayland-protocols
url = https://github.com/gitlab-freedesktop-mirrors/wayland-protocols.git
[submodule "Telegram/ThirdParty/kimageformats"]
path = Telegram/ThirdParty/kimageformats
url = https://github.com/KDE/kimageformats.git
@@ -94,9 +91,6 @@
[submodule "Telegram/ThirdParty/cld3"]
path = Telegram/ThirdParty/cld3
url = https://github.com/google/cld3.git
[submodule "Telegram/ThirdParty/wayland"]
path = Telegram/ThirdParty/wayland
url = https://github.com/gitlab-freedesktop-mirrors/wayland.git
[submodule "Telegram/ThirdParty/libprisma"]
path = Telegram/ThirdParty/libprisma
url = https://github.com/desktop-app/libprisma.git

View File

@@ -60,14 +60,15 @@ include(cmake/options.cmake)
if (NOT DESKTOP_APP_USE_PACKAGED)
if (WIN32)
set(qt_version 5.15.12)
set(qt_version 5.15.13)
elseif (APPLE)
set(qt_version 6.2.7)
set(qt_version 6.2.8)
endif()
endif()
include(cmake/external/qt/package.cmake)
set(desktop_app_skip_libs
glibmm
variant
)

View File

@@ -43,7 +43,7 @@ Version **1.8.15** was the last that supports older systems
## Third-party
* Qt 6 ([LGPL](http://doc.qt.io/qt-6/lgpl.html)) and Qt 5.15 ([LGPL](http://doc.qt.io/qt-5/lgpl.html)) slightly patched
* OpenSSL 1.1.1 and 1.0.1 ([OpenSSL License](https://www.openssl.org/source/license.html))
* OpenSSL 3.2.1 ([Apache License 2.0](https://www.openssl.org/source/apache-license-2.0.txt))
* WebRTC ([New BSD License](https://github.com/desktop-app/tg_owt/blob/master/LICENSE))
* zlib 1.2.11 ([zlib License](http://www.zlib.net/zlib_license.html))
* LZMA SDK 9.20 ([public domain](http://www.7-zip.org/sdk.html))
@@ -60,7 +60,6 @@ Version **1.8.15** was the last that supports older systems
* Open Sans font ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html))
* Vazir font ([SIL Open Font License 1.1](https://github.com/rastikerdar/vazir-font/blob/master/OFL.txt))
* Emoji alpha codes ([MIT License](https://github.com/emojione/emojione/blob/master/extras/alpha-codes/LICENSE.md))
* Catch test framework ([Boost License](https://github.com/philsquared/Catch/blob/master/LICENSE.txt))
* xxHash ([BSD License](https://github.com/Cyan4973/xxHash/blob/dev/LICENSE))
* QR Code generator ([MIT License](https://github.com/nayuki/QR-Code-generator#license))
* CMake ([New BSD License](https://github.com/Kitware/CMake/blob/master/Copyright.txt))

View File

@@ -30,8 +30,9 @@ include(cmake/lib_tgvoip.cmake)
include(cmake/lib_tgcalls.cmake)
include(cmake/lib_prisma.cmake)
include(cmake/td_export.cmake)
include(cmake/td_mtproto.cmake)
include(cmake/td_iv.cmake)
include(cmake/td_lang.cmake)
include(cmake/td_mtproto.cmake)
include(cmake/td_scheme.cmake)
include(cmake/td_ui.cmake)
include(cmake/generate_appdata_changelog.cmake)
@@ -62,8 +63,9 @@ PRIVATE
desktop-app::external_minizip
tdesktop::td_export
tdesktop::td_mtproto
tdesktop::td_iv
tdesktop::td_lang
tdesktop::td_mtproto
tdesktop::td_scheme
tdesktop::td_ui
desktop-app::lib_webrtc
@@ -108,6 +110,8 @@ PRIVATE
api/api_chat_filters.h
api/api_chat_invite.cpp
api/api_chat_invite.h
api/api_chat_links.cpp
api/api_chat_links.h
api/api_chat_participants.cpp
api/api_chat_participants.h
api/api_cloud_password.cpp
@@ -116,6 +120,8 @@ PRIVATE
api/api_common.h
api/api_confirm_phone.cpp
api/api_confirm_phone.h
api/api_earn.cpp
api/api_earn.h
api/api_editing.cpp
api/api_editing.h
api/api_global_privacy.cpp
@@ -267,6 +273,8 @@ PRIVATE
boxes/local_storage_box.h
boxes/max_invite_box.cpp
boxes/max_invite_box.h
boxes/moderate_messages_box.cpp
boxes/moderate_messages_box.h
boxes/peer_list_box.cpp
boxes/peer_list_box.h
boxes/peer_list_controllers.cpp
@@ -390,8 +398,6 @@ PRIVATE
chat_helpers/spellchecker_common.h
chat_helpers/stickers_dice_pack.cpp
chat_helpers/stickers_dice_pack.h
chat_helpers/stickers_emoji_image_loader.cpp
chat_helpers/stickers_emoji_image_loader.h
chat_helpers/stickers_emoji_pack.cpp
chat_helpers/stickers_emoji_pack.h
chat_helpers/stickers_gift_box_pack.cpp
@@ -456,6 +462,14 @@ PRIVATE
data/business/data_business_info.h
data/business/data_shortcut_messages.cpp
data/business/data_shortcut_messages.h
data/components/recent_peers.cpp
data/components/recent_peers.h
data/components/scheduled_messages.cpp
data/components/scheduled_messages.h
data/components/sponsored_messages.cpp
data/components/sponsored_messages.h
data/components/top_peers.cpp
data/components/top_peers.h
data/notify/data_notify_settings.cpp
data/notify/data_notify_settings.h
data/notify/data_peer_notify_settings.cpp
@@ -573,14 +587,10 @@ PRIVATE
data/data_send_action.h
data/data_session.cpp
data/data_session.h
data/data_scheduled_messages.cpp
data/data_scheduled_messages.h
data/data_shared_media.cpp
data/data_shared_media.h
data/data_sparse_ids.cpp
data/data_sparse_ids.h
data/data_sponsored_messages.cpp
data/data_sponsored_messages.h
data/data_statistics.h
data/data_stories.cpp
data/data_stories.h
@@ -604,6 +614,18 @@ PRIVATE
data/data_wall_paper.h
data/data_web_page.cpp
data/data_web_page.h
dialogs/ui/dialogs_layout.cpp
dialogs/ui/dialogs_layout.h
dialogs/ui/dialogs_message_view.cpp
dialogs/ui/dialogs_message_view.h
dialogs/ui/dialogs_stories_content.cpp
dialogs/ui/dialogs_stories_content.h
dialogs/ui/dialogs_suggestions.cpp
dialogs/ui/dialogs_suggestions.h
dialogs/ui/dialogs_topics_view.cpp
dialogs/ui/dialogs_topics_view.h
dialogs/ui/dialogs_video_userpic.cpp
dialogs/ui/dialogs_video_userpic.h
dialogs/dialogs_entry.cpp
dialogs/dialogs_entry.h
dialogs/dialogs_indexed_list.cpp
@@ -626,16 +648,6 @@ PRIVATE
dialogs/dialogs_search_tags.h
dialogs/dialogs_widget.cpp
dialogs/dialogs_widget.h
dialogs/ui/dialogs_layout.cpp
dialogs/ui/dialogs_layout.h
dialogs/ui/dialogs_message_view.cpp
dialogs/ui/dialogs_message_view.h
dialogs/ui/dialogs_stories_content.cpp
dialogs/ui/dialogs_stories_content.h
dialogs/ui/dialogs_topics_view.cpp
dialogs/ui/dialogs_topics_view.h
dialogs/ui/dialogs_video_userpic.cpp
dialogs/ui/dialogs_video_userpic.h
editor/color_picker.cpp
editor/color_picker.h
editor/controllers/controllers.h
@@ -676,6 +688,8 @@ PRIVATE
history/view/controls/compose_controls_common.h
history/view/controls/history_view_compose_controls.cpp
history/view/controls/history_view_compose_controls.h
history/view/controls/history_view_compose_media_edit_manager.cpp
history/view/controls/history_view_compose_media_edit_manager.h
history/view/controls/history_view_compose_search.cpp
history/view/controls/history_view_compose_search.h
history/view/controls/history_view_draft_options.cpp
@@ -718,6 +732,8 @@ PRIVATE
history/view/media/history_view_media.h
history/view/media/history_view_media_common.cpp
history/view/media/history_view_media_common.h
history/view/media/history_view_media_generic.cpp
history/view/media/history_view_media_generic.h
history/view/media/history_view_media_grouped.cpp
history/view/media/history_view_media_grouped.h
history/view/media/history_view_media_spoiler.cpp
@@ -857,14 +873,18 @@ PRIVATE
history/history_view_highlight_manager.h
history/history_widget.cpp
history/history_widget.h
info/boosts/giveaway/giveaway_list_controllers.cpp
info/boosts/giveaway/giveaway_list_controllers.h
info/boosts/create_giveaway_box.cpp
info/boosts/create_giveaway_box.h
info/boosts/info_boosts_inner_widget.cpp
info/boosts/info_boosts_inner_widget.h
info/boosts/info_boosts_widget.cpp
info/boosts/info_boosts_widget.h
info/channel_statistics/boosts/create_giveaway_box.cpp
info/channel_statistics/boosts/create_giveaway_box.h
info/channel_statistics/boosts/giveaway/giveaway_list_controllers.cpp
info/channel_statistics/boosts/giveaway/giveaway_list_controllers.h
info/channel_statistics/boosts/info_boosts_inner_widget.cpp
info/channel_statistics/boosts/info_boosts_inner_widget.h
info/channel_statistics/boosts/info_boosts_widget.cpp
info/channel_statistics/boosts/info_boosts_widget.h
info/channel_statistics/earn/info_earn_inner_widget.cpp
info/channel_statistics/earn/info_earn_inner_widget.h
info/channel_statistics/earn/info_earn_widget.cpp
info/channel_statistics/earn/info_earn_widget.h
info/common_groups/info_common_groups_inner_widget.cpp
info/common_groups/info_common_groups_inner_widget.h
info/common_groups/info_common_groups_widget.cpp
@@ -995,6 +1015,10 @@ PRIVATE
intro/intro_step.h
intro/intro_widget.cpp
intro/intro_widget.h
iv/iv_delegate_impl.cpp
iv/iv_delegate_impl.h
iv/iv_instance.cpp
iv/iv_instance.h
lang/lang_cloud_manager.cpp
lang/lang_cloud_manager.h
lang/lang_instance.cpp
@@ -1129,6 +1153,8 @@ PRIVATE
menu/menu_mute.h
menu/menu_send.cpp
menu/menu_send.h
menu/menu_sponsored.cpp
menu/menu_sponsored.h
menu/menu_ttl_validator.cpp
menu/menu_ttl_validator.h
mtproto/config_loader.cpp
@@ -1183,13 +1209,6 @@ PRIVATE
payments/payments_checkout_process.h
payments/payments_form.cpp
payments/payments_form.h
platform/linux/linux_desktop_environment.cpp
platform/linux/linux_desktop_environment.h
platform/linux/linux_wayland_integration_dummy.cpp
platform/linux/linux_wayland_integration.cpp
platform/linux/linux_wayland_integration.h
platform/linux/linux_xdp_open_with_dialog.cpp
platform/linux/linux_xdp_open_with_dialog.h
platform/linux/file_utilities_linux.cpp
platform/linux/file_utilities_linux.h
platform/linux/launcher_linux.cpp
@@ -1291,6 +1310,10 @@ PRIVATE
settings/business/settings_away_message.h
settings/business/settings_shortcut_messages.cpp
settings/business/settings_shortcut_messages.h
settings/business/settings_chat_intro.cpp
settings/business/settings_chat_intro.h
settings/business/settings_chat_links.cpp
settings/business/settings_chat_links.h
settings/business/settings_chatbots.cpp
settings/business/settings_chatbots.h
settings/business/settings_greeting.cpp
@@ -1441,8 +1464,6 @@ PRIVATE
ui/image/image_location.h
ui/image/image_location_factory.cpp
ui/image/image_location_factory.h
ui/widgets/level_meter.cpp
ui/widgets/level_meter.h
ui/countryinput.cpp
ui/countryinput.h
ui/dynamic_thumbnails.cpp
@@ -1458,6 +1479,8 @@ PRIVATE
ui/search_field_controller.h
ui/text/format_song_document_name.cpp
ui/text/format_song_document_name.h
ui/widgets/label_with_custom_emoji.cpp
ui/widgets/label_with_custom_emoji.h
ui/unread_badge.cpp
ui/unread_badge.h
window/main_window.cpp
@@ -1485,6 +1508,8 @@ PRIVATE
window/window_lock_widgets.h
window/window_main_menu.cpp
window/window_main_menu.h
window/window_main_menu_helpers.cpp
window/window_main_menu_helpers.h
window/window_media_preview.cpp
window/window_media_preview.h
window/window_peer_menu.cpp
@@ -1493,8 +1518,6 @@ PRIVATE
window/window_session_controller.cpp
window/window_session_controller.h
window/window_session_controller_link_info.h
window/window_slide_animation.cpp
window/window_slide_animation.h
window/window_top_bar_wrap.h
window/themes/window_theme.cpp
window/themes/window_theme.h
@@ -1538,16 +1561,6 @@ if (NOT build_winstore)
)
endif()
if (DESKTOP_APP_DISABLE_WAYLAND_INTEGRATION)
remove_target_sources(Telegram ${src_loc}
platform/linux/linux_wayland_integration.cpp
)
else()
remove_target_sources(Telegram ${src_loc}
platform/linux/linux_wayland_integration_dummy.cpp
)
endif()
if (DESKTOP_APP_USE_PACKAGED)
remove_target_sources(Telegram ${src_loc}
platform/mac/mac_iconv_helper.c
@@ -1567,6 +1580,7 @@ PRIVATE
qrc/emoji_preview.qrc
qrc/telegram/animations.qrc
qrc/telegram/export.qrc
qrc/telegram/iv.qrc
qrc/telegram/telegram.qrc
qrc/telegram/sounds.qrc
winrc/Telegram.rc
@@ -1674,13 +1688,9 @@ elseif (APPLE)
)
endif()
else()
target_link_libraries(Telegram
PRIVATE
desktop-app::external_glibmm
)
include(${cmake_helpers_loc}/external/glib/generate_dbus.cmake)
generate_dbus(Telegram org.freedesktop.portal. XdpBackground ${third_party_loc}/xdg-desktop-portal/data/org.freedesktop.portal.Background.xml)
generate_dbus(Telegram org.freedesktop. XdgNotifications ${src_loc}/platform/linux/org.freedesktop.Notifications.xml)
if (NOT DESKTOP_APP_DISABLE_X11_INTEGRATION)
target_link_libraries(Telegram
@@ -1688,19 +1698,6 @@ else()
desktop-app::external_xcb
)
endif()
if (NOT DESKTOP_APP_DISABLE_WAYLAND_INTEGRATION)
qt_generate_wayland_protocol_client_sources(Telegram
FILES
${third_party_loc}/wayland/protocol/wayland.xml
${third_party_loc}/plasma-wayland-protocols/src/protocols/plasma-shell.xml
)
target_link_libraries(Telegram
PRIVATE
desktop-app::external_wayland_client
)
endif()
endif()
if (build_macstore)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 416 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 913 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 754 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 596 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 568 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 563 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 681 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 733 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 741 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 748 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 873 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 784 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 564 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 562 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 940 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 760 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 751 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 642 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 534 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 928 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 771 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 651 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 680 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 388 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 609 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 893 B

View File

@@ -0,0 +1 @@
.hljs{display:block;overflow-x:auto;padding:0.5em;background:#F0F0F0}.hljs,.hljs-subst{color:#444}.hljs-comment{color:#888888}.hljs-keyword,.hljs-attribute,.hljs-selector-tag,.hljs-meta-keyword,.hljs-doctag,.hljs-name{font-weight:bold}.hljs-type,.hljs-string,.hljs-number,.hljs-selector-id,.hljs-selector-class,.hljs-quote,.hljs-template-tag,.hljs-deletion{color:#880000}.hljs-title,.hljs-section{color:#880000;font-weight:bold}.hljs-regexp,.hljs-symbol,.hljs-variable,.hljs-template-variable,.hljs-link,.hljs-selector-attr,.hljs-selector-pseudo{color:#BC6060}.hljs-literal{color:#78A960}.hljs-built_in,.hljs-bullet,.hljs-code,.hljs-addition{color:#397300}.hljs-meta{color:#1f7199}.hljs-meta-string{color:#4d99bf}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:bold}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,659 @@
var IV = {
notify: function(message) {
if (window.external && window.external.invoke) {
window.external.invoke(JSON.stringify(message));
}
},
frameClickHandler: function(e) {
var target = e.target;
var context = '';
while (target) {
if (target.id == 'menu_page_blocker') {
IV.notify({ event: 'menu_page_blocker_click' });
IV.menuShown(false);
return;
}
if (target.tagName == 'AUDIO' || target.tagName == 'VIDEO') {
return;
}
if (context === ''
&& target.hasAttribute
&& target.hasAttribute('data-context')) {
context = String(target.getAttribute('data-context'));
}
if (target.tagName == 'A') {
break;
}
target = target.parentNode;
}
if (!target || (context === '' && !target.hasAttribute('href'))) {
return;
}
var base = document.createElement('A');
base.href = window.location.href;
if (base.origin != target.origin
|| base.pathname != target.pathname
|| base.search != target.search) {
IV.notify({
event: 'link_click',
url: target.href,
context: context,
});
} else if (target.hash.length < 2) {
IV.jumpToHash('');
} else {
IV.jumpToHash(decodeURIComponent(target.hash.substr(1)));
}
e.preventDefault();
},
getElementTop: function (element) {
var top = 0;
while (element && !element.classList.contains('page-scroll')) {
top += element.offsetTop;
element = element.offsetParent;
}
return top;
},
jumpToHash: function (hash, instant) {
var current = IV.computeCurrentState();
current.hash = hash;
window.history.replaceState(
current,
'',
'page' + IV.index + '.html');
if (hash == '') {
IV.scrollTo(0, instant);
return;
}
var element = document.getElementsByName(hash)[0];
if (element) {
IV.scrollTo(IV.getElementTop(element), instant);
}
},
frameKeyDown: function (e) {
const keyW = (e.key === 'w')
|| (e.code === 'KeyW')
|| (e.keyCode === 87);
const keyQ = (e.key === 'q')
|| (e.code === 'KeyQ')
|| (e.keyCode === 81);
const keyM = (e.key === 'm')
|| (e.code === 'KeyM')
|| (e.keyCode === 77);
if ((e.metaKey || e.ctrlKey) && (keyW || keyQ || keyM)) {
e.preventDefault();
IV.notify({
event: 'keydown',
modifier: e.ctrlKey ? 'ctrl' : 'cmd',
key: keyW ? 'w' : keyQ ? 'q' : 'm',
});
} else if (e.key === 'Escape' || e.keyCode === 27) {
e.preventDefault();
if (IV.position) {
window.history.back();
} else {
IV.notify({
event: 'keydown',
key: 'escape',
});
}
}
},
frameMouseEnter: function (e) {
IV.notify({ event: 'mouseenter' });
},
frameMouseUp: function (e) {
IV.notify({ event: 'mouseup' });
},
lastScrollTop: 0,
frameScrolled: function (e) {
const was = IV.lastScrollTop;
IV.lastScrollTop = IV.findPageScroll().scrollTop;
IV.updateJumpToTop(was < IV.lastScrollTop);
IV.checkVideos();
},
updateJumpToTop: function (scrolledDown) {
if (IV.lastScrollTop < 100) {
document.getElementById('bottom_up').classList.add('hidden');
} else if (scrolledDown && IV.lastScrollTop > 200) {
document.getElementById('bottom_up').classList.remove('hidden');
}
},
updateStyles: function (styles) {
if (IV.styles !== styles) {
IV.styles = styles;
document.getElementsByTagName('html')[0].style = styles;
}
},
toggleChannelJoined: function (id, joined) {
IV.channelsJoined['channel' + id] = joined;
IV.checkChannelButtons();
},
checkChannelButtons: function() {
const channels = document.getElementsByClassName('channel');
for (var i = 0; i < channels.length; ++i) {
const channel = channels[i];
const full = String(channel.getAttribute('data-context'));
const value = IV.channelsJoined[full];
if (value !== undefined) {
channel.classList.toggle('joined', value);
}
}
},
slideshowSlide: function(el, delta) {
var dir = window.getComputedStyle(el, null).direction || 'ltr';
var marginProp = dir == 'rtl' ? 'marginRight' : 'marginLeft';
if (delta) {
var form = el.parentNode.firstChild;
var s = form.s;
const next = +s.value + delta;
s.value = (next == s.length) ? 0 : (next == -1) ? (s.length - 1) : next;
form.nextSibling.firstChild.style[marginProp] = (-100 * s.value) + '%';
} else {
el.form.nextSibling.firstChild.style[marginProp] = (-100 * el.value) + '%';
}
return false;
},
initPreBlocks: function() {
if (!hljs) {
return;
}
var pres = document.getElementsByTagName('pre');
for (var i = 0; i < pres.length; i++) {
if (pres[i].hasAttribute('data-language')) {
hljs.highlightBlock(pres[i]);
}
}
},
initEmbedBlocks: function() {
var iframes = document.getElementsByTagName('iframe');
for (var i = 0; i < iframes.length; i++) {
(function(iframe) {
window.addEventListener('message', function(event) {
if (event.source !== iframe.contentWindow ||
event.origin != window.origin) {
return;
}
try {
var data = JSON.parse(event.data);
} catch(e) {
var data = {};
}
if (data.eventType == 'resize_frame') {
if (data.eventData.height) {
iframe.style.height = data.eventData.height + 'px';
}
}
}, false);
})(iframes[i]);
}
},
addRipple: function (button, x, y) {
const ripple = document.createElement('span');
ripple.classList.add('ripple');
const inner = document.createElement('span');
inner.classList.add('inner');
x -= button.offsetLeft;
y -= button.offsetTop;
const mx = button.clientWidth - x;
const my = button.clientHeight - y;
const sq1 = x * x + y * y;
const sq2 = mx * mx + y * y;
const sq3 = x * x + my * my;
const sq4 = mx * mx + my * my;
const radius = Math.sqrt(Math.max(sq1, sq2, sq3, sq4));
inner.style.width = inner.style.height = `${2 * radius}px`;
inner.style.left = `${x - radius}px`;
inner.style.top = `${y - radius}px`;
inner.classList.add('inner');
ripple.addEventListener('animationend', function (e) {
if (e.animationName === 'fadeOut') {
ripple.remove();
}
});
ripple.appendChild(inner);
button.appendChild(ripple);
},
stopRipples: function (button) {
const id = button.id ? button.id : button;
button = document.getElementById(id);
const ripples = button.getElementsByClassName('ripple');
for (var i = 0; i < ripples.length; ++i) {
const ripple = ripples[i];
if (!ripple.classList.contains('hiding')) {
ripple.classList.add('hiding');
}
}
},
init: function () {
var current = IV.computeCurrentState();
window.history.replaceState(current, '', IV.pageUrl(0));
IV.jumpToHash(current.hash, true);
IV.lastScrollTop = window.history.state.scroll;
IV.findPageScroll().onscroll = IV.frameScrolled;
const buttons = document.getElementsByClassName('fixed_button');
for (let i = 0; i < buttons.length; ++i) {
const button = buttons[i];
button.addEventListener('mousedown', function (e) {
IV.addRipple(e.currentTarget, e.clientX, e.clientY);
});
button.addEventListener('mouseup', function (e) {
const id = e.currentTarget.id;
setTimeout(function () {
IV.stopRipples(id);
}, 0);
});
button.addEventListener('mouseleave', function (e) {
IV.stopRipples(e.currentTarget);
});
}
IV.initMedia();
IV.notify({ event: 'ready' });
IV.forceScrollFocus();
IV.frameScrolled();
},
initMedia: function () {
var scroll = IV.findPageScroll();
const photos = scroll.getElementsByClassName('photo');
for (let i = 0; i < photos.length; ++i) {
const photo = photos[i];
if (photo.classList.contains('loaded')) {
continue;
}
const url = photo.style.backgroundImage;
if (!url || url.length < 7) {
continue;
}
var img = new Image();
img.onload = function () {
photo.classList.add('loaded');
}
img.src = url.substr(5, url.length - 7);
if (img.complete) {
photo.classList.add('loaded');
IV.stopAnimations(photo);
}
}
IV.videos = [];
const videos = scroll.getElementsByClassName('video');
for (let i = 0; i < videos.length; ++i) {
const element = videos[i];
IV.videos.push({
element: element,
src: String(element.getAttribute('data-src')),
autoplay: (element.getAttribute('data-autoplay') == '1'),
loop: (element.getAttribute('data-loop') == '1'),
small: (element.getAttribute('data-small') == '1'),
filled: (element.firstChild
&& element.firstChild.tagName == 'VIDEO'),
});
}
},
checkVideos: function () {
const visibleTop = IV.lastScrollTop;
const visibleBottom = visibleTop + IV.findPageScroll().offsetHeight;
const videos = IV.videos;
for (let i = 0; i < videos.length; ++i) {
const video = videos[i];
const element = video.element;
const wrap = element.offsetParent; // video-wrap
const top = IV.getElementTop(wrap);
const bottom = top + wrap.offsetHeight;
if (top < visibleBottom && bottom > visibleTop) {
if (!video.created) {
video.created = new Date();
video.loaded = false;
element.innerHTML = '<video muted class="'
+ (video.small ? 'video-small' : '')
+ '"'
+ (video.autoplay
? ' preload="auto" autoplay'
: (video.small
? ''
: ' controls'))
+ (video.loop ? ' loop' : '')
+ ' oncanplay="IV.checkVideos();"'
+ ' onloadeddata="IV.checkVideos();">'
+ '<source src="'
+ video.src
+ '" type="video/mp4" />'
+ '</video>';
var media = element.firstChild;
media.oncontextmenu = function () { return false; };
media.oncanplay = IV.checkVideos;
media.onloadeddata = IV.checkVideos;
}
} else if (video.created && video.autoplay) {
video.created = false;
element.innerHTML = '';
}
if (video.created && !video.loaded) {
var media = element.firstChild;
const HAVE_CURRENT_DATA = 2;
if (media && media.readyState >= HAVE_CURRENT_DATA) {
video.loaded = true;
media.classList.add('loaded');
if ((new Date() - video.created) < 100) {
IV.stopAnimations(media);
}
}
}
}
},
showTooltip: function (text) {
var toast = document.createElement('div');
toast.classList.add('toast');
toast.textContent = text;
document.body.appendChild(toast);
setTimeout(function () {
toast.classList.add('hiding');
}, 2000);
setTimeout(function () {
document.body.removeChild(toast);
}, 3000);
},
scrollTo: function (y, instant) {
if (y < 200) {
document.getElementById('bottom_up').classList.add('hidden');
}
IV.findPageScroll().scrollTo({
top: y || 0,
behavior: instant ? 'instant' : 'smooth'
});
},
computeCurrentState: function () {
var now = IV.findPageScroll();
return {
position: IV.position,
index: IV.index,
hash: ((!window.history.state
|| window.history.state.hash === undefined)
? window.location.hash.substr(1)
: window.history.state.hash),
scroll: now ? now.scrollTop : 0
};
},
pageUrl: function (index, hash) {
var result = 'page' + index + '.html';
if (hash) {
result += '#' + hash;
}
return result;
},
navigateTo: function (index, hash) {
if (!index && !IV.index) {
IV.navigateToDOM(IV.index, hash);
return;
}
IV.pending = [index, hash];
if (!IV.cache[index]) {
IV.loadPage(index);
} else if (IV.cache[index].dom) {
IV.navigateToDOM(index, hash);
} else if (IV.cache[index].content) {
IV.navigateToLoaded(index, hash);
}
},
applyUpdatedContent: function (index) {
if (IV.index != index) {
IV.cache[index].contentUpdated = (IV.cache[index].dom !== undefined);
return;
}
var data = JSON.parse(IV.cache[index].content);
var article = function (el) {
return el.getElementsByTagName('article')[0];
};
var footer = function (el) {
return el.getElementsByClassName('page-footer')[0];
};
var from = IV.findPageScroll();
var to = IV.makeScrolledContent(data.html);
morphdom(article(from), article(to), {
onBeforeElUpdated: function (fromEl, toEl) {
if (fromEl.classList.contains('video')
&& toEl.classList.contains('video')
&& fromEl.hasAttribute('data-src')
&& toEl.hasAttribute('data-src')
&& (fromEl.getAttribute('data-src')
== toEl.getAttribute('data-src'))) {
return false;
} else if (fromEl.tagName == 'SECTION'
&& fromEl.classList.contains('channel')
&& fromEl.hasAttribute('data-context')
&& toEl.tagName == 'SECTION'
&& toEl.classList.contains('channel')
&& toEl.hasAttribute('data-context')
&& (String(fromEl.getAttribute('data-context'))
== String(toEl.getAttribute('data-context')))) {
return false;
} else if (fromEl.classList.contains('loaded')) {
toEl.classList.add('loaded');
}
return !fromEl.isEqualNode(toEl);
}
});
morphdom(footer(from), footer(to));
IV.initMedia();
eval(data.js);
},
loadPage: function (index) {
if (!IV.cache[index]) {
IV.cache[index] = {};
}
IV.cache[index].loading = true;
let xhr = new XMLHttpRequest();
xhr.onload = function () {
IV.cache[index].loading = false;
IV.cache[index].content = xhr.responseText;
IV.applyUpdatedContent(index);
if (IV.pending && IV.pending[0] == index) {
IV.navigateToLoaded(index, IV.pending[1]);
}
if (IV.cache[index].reloadPending) {
IV.cache[index].reloadPending = false;
IV.reloadPage(index);
}
}
xhr.open('GET', 'page' + index + '.json');
xhr.send();
},
reloadPage: function (index) {
if (IV.cache[index] && IV.cache[index].loading) {
IV.cache[index].reloadPending = true;
return;
}
IV.loadPage(index);
},
makeScrolledContent: function (html) {
var result = document.createElement('div');
result.className = 'page-scroll';
result.tabIndex = '-1';
result.innerHTML = html.trim();
result.onscroll = IV.frameScrolled;
return result;
},
navigateToLoaded: function (index, hash) {
if (IV.cache[index].dom) {
IV.navigateToDOM(index, hash);
} else {
var data = JSON.parse(IV.cache[index].content);
IV.cache[index].dom = IV.makeScrolledContent(data.html);
IV.navigateToDOM(index, hash);
eval(data.js);
}
},
navigateToDOM: function (index, hash) {
IV.pending = null;
if (IV.index == index) {
IV.jumpToHash(hash);
IV.forceScrollFocus();
return;
}
window.history.replaceState(
IV.computeCurrentState(),
'',
IV.pageUrl(IV.index));
IV.position = IV.position + 1;
window.history.pushState(
{ position: IV.position, index: index, hash: hash },
'',
IV.pageUrl(index));
IV.showDOM(index, hash);
},
findPageScroll: function () {
var all = document.getElementsByClassName('page-scroll');
for (i = 0; i < all.length; ++i) {
if (!all[i].classList.contains('hidden-left')
&& !all[i].classList.contains('hidden-right')) {
return all[i];
}
}
return null;
},
showDOM: function (index, hash, scroll) {
IV.pending = null;
if (IV.index != index) {
var initial = !window.history.state
|| window.history.state.position === undefined;
var back = initial
|| IV.position > window.history.state.position;
IV.position = initial ? 0 : window.history.state.position;
var now = IV.cache[index].dom;
var was = IV.findPageScroll();
if (!IV.cache[IV.index]) {
IV.cache[IV.index] = {};
}
IV.cache[IV.index].dom = was;
was.parentNode.appendChild(now);
if (scroll !== undefined) {
now.scrollTop = scroll;
setTimeout(function () {
// When returning by history.back to an URL with a hash
// for the first time browser forces the scroll to the
// hash instead of the saved scroll position.
//
// This workaround prevents incorrect scroll position.
now.scrollTop = scroll;
}, 0);
}
now.classList.add(back ? 'hidden-left' : 'hidden-right');
now.classList.remove(back ? 'hidden-right' : 'hidden-left');
IV.stopAnimations(now.firstChild);
if (!was.listening) {
was.listening = true;
was.firstChild.addEventListener('transitionend', function (e) {
if (was.classList.contains('hidden-left')
|| was.classList.contains('hidden-right')) {
if (was.parentNode) {
was.parentNode.removeChild(was);
var videos = was.getElementsByClassName('video');
for (var i = 0; i < videos.length; ++i) {
videos[i].innerHTML = '';
}
}
}
});
}
was.classList.add(back ? 'hidden-right' : 'hidden-left');
now.classList.remove(back ? 'hidden-left' : 'hidden-right');
IV.index = index;
IV.notify({
event: 'location_change',
index: IV.index,
position: IV.position,
hash: IV.computeCurrentState().hash,
});
if (IV.cache[index].contentUpdated) {
IV.cache[index].contentUpdated = false;
IV.applyUpdatedContent(index);
} else {
IV.initMedia();
}
IV.checkChannelButtons();
if (scroll === undefined) {
IV.jumpToHash(hash, true);
} else {
IV.lastScrollTop = scroll;
IV.updateJumpToTop(true);
}
} else if (scroll !== undefined) {
IV.scrollTo(scroll);
IV.lastScrollTop = scroll;
IV.updateJumpToTop(true);
} else {
IV.jumpToHash(hash);
}
IV.forceScrollFocus();
IV.frameScrolled();
},
forceScrollFocus: function () {
IV.findPageScroll().focus();
setTimeout(function () {
// Doesn't work on #hash-ed pages in Windows WebView2 otherwise.
IV.findPageScroll().focus();
}, 100);
},
stopAnimations: function (element) {
element.getAnimations().forEach(
(animation) => animation.finish());
},
back: function () {
window.history.back();
},
menuShown: function (shown) {
var already = document.getElementById('menu_page_blocker');
if (already && shown) {
return;
} else if (already) {
document.body.removeChild(already);
return;
} else if (!shown) {
return;
}
var blocker = document.createElement('div');
blocker.id = 'menu_page_blocker';
document.body.appendChild(blocker);
},
videos: {},
videosPlaying: {},
cache: {},
channelsJoined: {},
index: 0,
position: 0
};
document.onclick = IV.frameClickHandler;
document.onkeydown = IV.frameKeyDown;
document.onmouseenter = IV.frameMouseEnter;
document.onmouseup = IV.frameMouseUp;
document.onresize = IV.checkVideos;
window.onmessage = IV.postMessageHandler;
window.addEventListener('popstate', function (e) {
if (e.state) {
IV.showDOM(e.state.index, e.state.hash, e.state.scroll);
}
});
document.addEventListener("DOMContentLoaded", IV.forceScrollFocus);

View File

@@ -19,6 +19,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_menu_set_status" = "Set Emoji Status";
"lng_menu_change_status" = "Change Emoji Status";
"lng_menu_my_stories" = "My Stories";
"lng_menu_my_groups" = "My Groups";
"lng_menu_my_channels" = "My Channels";
"lng_disable_notifications_from_tray" = "Disable notifications";
"lng_enable_notifications_from_tray" = "Enable notifications";
@@ -307,7 +309,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_edit_limit_reached#one" = "You've reached the message text limit. Please make the text shorter by {count} character.";
"lng_edit_limit_reached#other" = "You've reached the message text limit. Please make the text shorter by {count} characters.";
"lng_edit_message" = "Edit message";
"lng_edit_message_text" = "New message text...";
"lng_edit_message_text" = "Caption";
"lng_deleted" = "Deleted Account";
"lng_deleted_message" = "Deleted message";
"lng_deleted_story" = "Deleted story";
@@ -469,6 +471,14 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_bio_placeholder" = "Bio";
"lng_collectible_username_title" = "{username} is a collectible username that belongs to";
"lng_collectible_username_info" = "This username was bought on **Fragment** on {date} for {price}";
"lng_collectible_username_copy" = "Copy Link";
"lng_collectible_phone_title" = "{phone} is a collectible phone number that belongs to";
"lng_collectible_phone_info" = "This phone number was bought on **Fragment** on {date} for {price}";
"lng_collectible_phone_copy" = "Copy Phone Number";
"lng_collectible_learn_more" = "Learn More";
"lng_settings_section_info" = "My info";
"lng_settings_section_notify" = "Notifications";
@@ -652,6 +662,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_settings_messages_privacy" = "Messages";
"lng_settings_voices_privacy" = "Voice messages";
"lng_settings_bio_privacy" = "Bio";
"lng_settings_birthday_privacy" = "Date of Birth";
"lng_settings_privacy_premium" = "Only subscribers of {link} can restrict receiving voice messages.";
"lng_settings_privacy_premium_link" = "Telegram Premium";
"lng_settings_passcode_disable" = "Disable Passcode";
@@ -664,6 +675,21 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_settings_phone_label" = "Phone number";
"lng_settings_username_add" = "Add username";
"lng_settings_username_about" = "Username lets people contact you on Telegram without needing your phone number.";
"lng_settings_birthday_label" = "Date of Birth";
"lng_settings_birthday_add" = "Add";
"lng_settings_birthday_about" = "Choose who can see your birthday in {link}.";
"lng_settings_birthday_about_link" = "Settings";
"lng_settings_birthday_contacts" = "Only your contacts can see your birthday. {link}";
"lng_settings_birthday_contacts_link" = "Change >";
"lng_settings_birthday_saved" = "Your date of birth was updated.";
"lng_settings_birthday_reset" = "Remove";
"lng_settings_channel_label" = "Personal channel";
"lng_settings_channel_add" = "Add";
"lng_settings_channel_remove" = "Remove";
"lng_settings_channel_no_yet" = "You don't have any public channels yet.";
"lng_settings_channel_start" = "Start a Channel";
"lng_settings_channel_saved" = "Your personal channel was updated.";
"lng_settings_channel_removed" = "Your personal channel was removed.";
"lng_settings_add_account_about" = "You can add up to four accounts with different phone numbers.";
"lng_settings_peer_to_peer_about" = "Disabling peer-to-peer will relay all calls through Telegram servers to avoid revealing your IP address, but may slightly decrease audio quality.";
"lng_settings_advanced" = "Advanced";
@@ -704,10 +730,18 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_settings_angle_backend_d3d11on12" = "D3D11on12";
"lng_settings_angle_backend_opengl" = "OpenGL";
"lng_settings_angle_backend_disabled" = "Disabled";
"lng_settings_top_peers_title" = "Frequent contacts";
"lng_settings_top_peers_suggest" = "Suggest frequent contacts";
"lng_settings_top_peers_about" = "Display people you message frequently at the top of the search section for quick access.";
"lng_settings_sensitive_title" = "Sensitive content";
"lng_settings_sensitive_disable_filtering" = "Disable filtering";
"lng_settings_sensitive_about" = "Display sensitive media in public channels on all your Telegram devices.";
"lng_settings_security_bots" = "Bots and websites";
"lng_settings_file_confirmations" = "File open confirmations";
"lng_settings_edit_extensions" = "Extensions whitelist";
"lng_settings_edit_extensions_about" = "Open files with the following extensions without additional confirmation.";
"lng_settings_edit_ip_confirm" = "IP reveal warning";
"lng_settings_edit_ip_confirm_about" = "Show confirmation when opening files that may reveal your IP address.";
"lng_settings_clear_payment_info" = "Clear Payment and Shipping Info";
"lng_settings_logged_in" = "Connected websites";
"lng_settings_logged_in_title" = "Logged in with Telegram";
@@ -809,6 +843,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_settings_auto_night_mode_on" = "System";
"lng_settings_auto_night_warning" = "You have enabled auto-night mode. If you want to change the dark mode settings, you'll need to disable it first.";
"lng_settings_auto_night_disable" = "Disable";
"lng_settings_font_family" = "Font family";
"lng_settings_color_title" = "Color preview";
"lng_settings_color_reply" = "Reply to your message";
@@ -1042,6 +1077,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_settings_faq_button" = "Go to FAQ";
"lng_settings_ask_ok" = "Ask a Volunteer";
"lng_settings_faq" = "Telegram FAQ";
"lng_settings_faq_link" = "https://telegram.org/faq#general-questions";
"lng_settings_features" = "Telegram Features";
"lng_settings_logout" = "Log Out";
"lng_sure_logout" = "Are you sure you want to log out?";
@@ -1087,12 +1123,17 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_edit_privacy_everyone" = "Everybody";
"lng_edit_privacy_contacts" = "My contacts";
"lng_edit_privacy_close_friends" = "Close friends";
"lng_edit_privacy_contacts_and_premium" = "Contacts & Premium";
"lng_edit_privacy_nobody" = "Nobody";
"lng_edit_privacy_premium" = "Premium users";
"lng_edit_privacy_exceptions" = "Add exceptions";
"lng_edit_privacy_user_types" = "User types";
"lng_edit_privacy_users_and_groups" = "Users and groups";
"lng_edit_privacy_premium_status" = "all Telegram Premium subscribers";
"lng_edit_privacy_exceptions_count#one" = "{count} user";
"lng_edit_privacy_exceptions_count#other" = "{count} users";
"lng_edit_privacy_exceptions_premium_and" = "Premium & {users}";
"lng_edit_privacy_exceptions_add" = "Add users or groups";
"lng_edit_privacy_phone_number_title" = "Phone number privacy";
@@ -1136,6 +1177,16 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_edit_privacy_about_always_title" = "Always allow";
"lng_edit_privacy_about_never_title" = "Never allow";
"lng_edit_privacy_birthday_title" = "Date of birth privacy";
"lng_edit_privacy_birthday_header" = "Who can see my date of birth";
"lng_edit_privacy_birthday_always_empty" = "Always allow";
"lng_edit_privacy_birthday_never_empty" = "Never allow";
"lng_edit_privacy_birthday_exceptions" = "These users will or will not be able to see your date of birth regardless of the settings above.";
"lng_edit_privacy_birthday_always_title" = "Always allow";
"lng_edit_privacy_birthday_never_title" = "Never allow";
"lng_edit_privacy_birthday_yet" = "You haven't entered your date of birth yet.\n{link}";
"lng_edit_privacy_birthday_yet_link" = "Add my birthday >";
"lng_edit_privacy_calls_title" = "Voice calls privacy";
"lng_edit_privacy_calls_header" = "Who can call you";
"lng_edit_privacy_calls_always_empty" = "Always allow";
@@ -1288,6 +1339,24 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_profile_photo_by_you" = "photo set by you";
"lng_profile_public_photo" = "public photo";
"lng_invite_upgrade_title" = "Upgrade to Premium";
"lng_invite_upgrade_group_invite#one" = "{users} only accepts invitations to groups from Contacts and **Premium** users.";
"lng_invite_upgrade_group_invite#other" = "{users} only accept invitations to groups from Contacts and **Premium** users.";
"lng_invite_upgrade_group_write#one" = "{users} only accepts messages and invitations to groups from Contacts and **Premium** users.";
"lng_invite_upgrade_group_write#other" = "{users} only accept messages and invitations to groups from Contacts and **Premium** users.";
"lng_invite_upgrade_channel_invite#one" = "{users} only accepts invitations to channels from Contacts and **Premium** users.";
"lng_invite_upgrade_channel_invite#other" = "{users} only accept invitations to channels from Contacts and **Premium** users.";
"lng_invite_upgrade_channel_write#one" = "{users} only accepts messages and invitations to channels from Contacts and **Premium** users.";
"lng_invite_upgrade_channel_write#other" = "{users} only accept messages and invitations to channels from Contacts and **Premium** users.";
"lng_invite_upgrade_users_few" = "{users} and {last}";
"lng_invite_upgrade_users_many#one" = "{users} and **{count}** more person";
"lng_invite_upgrade_users_many#other" = "{users} and **{count}** more people";
"lng_invite_upgrade_or" = "or";
"lng_invite_upgrade_via_title" = "Invite via Link";
"lng_invite_upgrade_via_group_about" = "You can send an invite link to the group in a private message instead.";
"lng_invite_upgrade_via_channel_about" = "You can send an invite link to the channel in a private message instead.";
"lng_invite_status_disabled" = "available only to Premium users";
"lng_via_link_group_one" = "**{user}** restricts adding them to groups.\nYou can send them an invite link as message instead.";
"lng_via_link_group_many#one" = "**{count} user** restricts adding them to groups.\nYou can send them an invite link as message instead.";
"lng_via_link_group_many#other" = "**{count} users** restrict adding them to groups.\nYou can send them an invite link as message instead.";
@@ -1303,12 +1372,20 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_via_link_shared_many#one" = "Link shared with **{count} user**.";
"lng_via_link_shared_many#other" = "Link shared with **{count} users**.";
"lng_info_personal_channel_label" = "Channel";
"lng_info_mobile_label" = "Mobile";
"lng_info_mobile_context_menu_fragment_about" = "This number is not tied to a SIM card and was acquired on {link}.";
"lng_info_mobile_context_menu_fragment_about_link" = "Fragment";
"lng_info_mobile_hidden" = "Hidden";
"lng_info_username_label" = "Username";
"lng_info_usernames_label" = "also";
"lng_info_birthday_label" = "Date of birth";
"lng_info_birthday_years#one" = "{date} ({count} year old)";
"lng_info_birthday_years#other" = "{date} ({count} years old)";
"lng_info_birthday_today_years#one" = "{date}\n({count} year old)";
"lng_info_birthday_today_years#other" = "{date}\n({count} years old)";
"lng_info_birthday_today_label" = "Birthday today";
"lng_info_birthday_today" = "{emoji} {date}";
"lng_info_bio_label" = "Bio";
"lng_info_link_label" = "Link";
"lng_info_location_label" = "Location";
@@ -1419,6 +1496,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_manage_peer_reactions_none_about" = "Members of the group can't add any reactions to messages.";
"lng_manage_peer_reactions_some_title" = "Only allow these reactions";
"lng_manage_peer_reactions_available" = "Available reactions";
"lng_manage_peer_reactions_available_ph" = "Add reactions...";
"lng_manage_peer_reactions_own" = "You can also {link} emoji packs and use them as reactions.";
"lng_manage_peer_reactions_own_link" = "create your own";
"lng_manage_peer_reactions_level#one" = "Your channel needs to reach level **{count}** to use **{same_count}** custom reaction.";
@@ -1427,6 +1505,11 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_manage_peer_reactions_boost_link" = "here";
"lng_manage_peer_reactions_limit" = "Channels can't have more custom reactions.";
"lng_manage_peer_reactions_max_title" = "Maximum number of reactions";
"lng_manage_peer_reactions_max_slider#one" = "{count} reaction per post";
"lng_manage_peer_reactions_max_slider#other" = "{count} reactions per post";
"lng_manage_peer_reactions_max_about" = "Limit the number of different reactions that can be added to a post, including already published ones.";
"lng_manage_peer_antispam" = "Aggressive Anti-Spam";
"lng_manage_peer_antispam_about" = "Telegram will filter more spam but may occasionally affect ordinary messages. You can report False Positives in Recent Actions.";
"lng_manage_peer_antispam_not_enough#one" = "Aggressive filtering can be enabled only in groups with more than **{count} member**.";
@@ -1540,6 +1623,11 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_report_button" = "Report";
"lng_report_thanks" = "Thank you! Your report will be reviewed by our team very soon.";
"lng_report_sponsored_hidden" = "Sponsored messages will be hidden.";
"lng_report_sponsored_reported" = "We will review this ad to ensure it matches out {link}.";
"lng_report_sponsored_reported_link" = "Ad Policies and Guidelines";
"lng_report_sponsored_reported_learn" = "Learn more about our {link}.";
"lng_channel_add_members" = "Add members";
"lng_channel_add_users" = "Add users";
"lng_channel_add_removed" = "Remove user";
@@ -1760,6 +1848,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_action_giveaway_results_none" = "No winners of the giveaway could be selected.";
"lng_action_boost_apply#one" = "{from} boosted the group";
"lng_action_boost_apply#other" = "{from} boosted the group {count} times";
"lng_action_set_chat_intro" = "{from} added the message below for all empty chats. How?";
"lng_similar_channels_title" = "Similar channels";
"lng_similar_channels_view_all" = "View all";
@@ -1919,6 +2008,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_forwarded_imported" = "This message was imported from another app. It may not be real.";
"lng_signed_author" = "Author: {user}";
"lng_sponsored_message_title" = "Sponsored";
"lng_sponsored_message_revenue_button" = "what's this?";
"lng_recommended_message_title" = "Recommended";
"lng_edited" = "edited";
"lng_commented" = "commented";
@@ -2185,6 +2275,15 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_business_about_away_messages" = "Define messages that are automatically sent when you are off.";
"lng_business_subtitle_chatbots" = "Chatbots";
"lng_business_about_chatbots" = "Add any third party chatbots that will process customer interactions.";
"lng_business_subtitle_chat_intro" = "Custom Intro";
"lng_business_about_chat_intro" = "Customize the message people see before they start a chat with you.";
"lng_business_subtitle_chat_links" = "Links to Chat";
"lng_business_about_chat_links" = "Create links that start a chat with you, suggesting the first message.";
"lng_business_subtitle_sponsored" = "Ads in Channels";
"lng_business_button_sponsored" = "Do Not Hide Ads";
"lng_business_about_sponsored" = "As a Premium subscriber, you dont see any ads on Telegram, but you can turn them on, for example, to view your own ads that you launched on the {link}";
"lng_business_about_sponsored_link" = "Telegram Ad Platform {emoji}";
"lng_business_about_sponsored_url" = "https://ads.telegram.org";
"lng_location_title" = "Location";
"lng_location_about" = "Display the location of your business on your account.";
@@ -2286,8 +2385,52 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_chatbots_reply_about" = "The bot will be able to view all new incoming messages, but not the messages that had been sent before you added the bot.";
"lng_chatbots_remove" = "Remove Bot";
"lng_chatbots_not_found" = "Chatbot not found.";
"lng_chatbots_not_supported" = "This bot doesn't support Telegram Business yet.";
"lng_chatbots_add" = "Add";
"lng_chatbots_info_url" = "https://telegram.org/privacy";
"lng_chatbot_status_can_reply" = "bot manages this chat";
"lng_chatbot_status_paused" = "bot stopped";
"lng_chatbot_status_views" = "bot has access to this chat";
"lng_chatbot_button_pause" = "Stop";
"lng_chatbot_button_resume" = "Start";
"lng_chatbot_menu_manage" = "Manage bot";
"lng_chatbot_menu_remove" = "Remove bot from this chat";
"lng_chatbot_menu_revoke" = "Revoke access to this chat";
"lng_chat_intro_title" = "Custom Intro";
"lng_chat_intro_subtitle" = "Customize your intro";
"lng_chat_intro_default_title" = "No messages here yet...";
"lng_chat_intro_default_message" = "Send a message or click on the greeting below";
"lng_chat_intro_enter_title" = "Enter Title";
"lng_chat_intro_enter_message" = "Enter Message";
"lng_chat_intro_choose_sticker" = "Choose Sticker";
"lng_chat_intro_random_sticker" = "Random";
"lng_chat_intro_about" = "You can customize the message people see before they start a chat with you.";
"lng_chat_intro_reset" = "Reset to Default";
"lng_chat_links_title" = "Links to Chat";
"lng_chat_links_about" = "Give your customers short links that start a chat with you and suggest the first message from them to you.";
"lng_chat_links_create_link" = "Create a Link to Chat";
"lng_chat_links_footer" = "You can also use a simple link for a chat with you {links}";
"lng_chat_links_footer_both" = "{username} or {link}";
"lng_chat_links_no_clicks" = "no clicks";
"lng_chat_links_clicks#one" = "{count} click";
"lng_chat_links_clicks#other" = "{count} clicks";
"lng_chat_link_new_title" = "New Link";
"lng_chat_link_edit_title" = "Edit Link";
"lng_chat_link_description" = "Add a message that will be entered in the message field for anyone who starts a chat with you using this link.";
"lng_chat_link_placeholder" = "Add Preset Message";
"lng_chat_link_saved" = "Chat link saved.";
"lng_chat_link_copy" = "Copy";
"lng_chat_link_share" = "Share";
"lng_chat_link_rename" = "Rename";
"lng_chat_link_delete" = "Delete";
"lng_chat_link_name" = "Link Name (optional)";
"lng_chat_link_name_about" = "Add a name for this link that only you will see.";
"lng_chat_link_delete_sure" = "Are you sure you want to delete this chat link?";
"lng_chat_link_qr_title" = "Chat Link QR Code";
"lng_chat_link_qr_about" = "Everyone on Telegram can scan this code to contact you.";
"lng_chat_link_copied" = "Chat link copied to clipboard.";
"lng_boost_channel_button" = "Boost Channel";
"lng_boost_group_button" = "Boost Group";
@@ -2387,6 +2530,10 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_boost_channel_needs_level_reactions#one" = "Your channel needs to reach **Level {count}** to add **{same_count}** custom emoji as a reaction.";
"lng_boost_channel_needs_level_reactions#other" = "Your channel needs to reach **Level {count}** to add **{same_count}** custom emoji as reactions.";
"lng_boost_channel_title_cpm" = "Boost Channel";
"lng_boost_channel_needs_level_cpm#one" = "Your channel needs to reach **Level {count}** to switch off ads.";
"lng_boost_channel_needs_level_cpm#other" = "Your channel needs to reach **Level {count}** to switch off ads.";
"lng_boost_group_title_emoji" = "Enable emoji pack";
"lng_boost_group_needs_level_emoji#one" = "Your group needs to reach **Level {count}** to set emoji pack.";
"lng_boost_group_needs_level_emoji#other" = "Your group needs to reach **Level {count}** to set emoji pack.";
@@ -2593,6 +2740,9 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_gift_link_also_send" = "You can also {link} to a friend as a gift.";
"lng_gift_link_also_send_link" = "send this link";
"lng_gift_link_use" = "Use Link";
"lng_gift_link_already_title" = "You already have Telegram Premium";
"lng_gift_link_already_about" = "You can activate this link after {date} or {link} to a friend.";
"lng_gift_link_already_link" = "send the link";
"lng_gift_link_used_title" = "Used Gift Link";
"lng_gift_link_used_about" = "This link was used to activate\na **Telegram Premium** subscription.";
"lng_gift_link_used_footer" = "This link was used on {date}.";
@@ -2704,7 +2854,17 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_in_dlg_audio_count#other" = "{count} audio";
"lng_ban_user" = "Ban User";
"lng_ban_users" = "Ban users";
"lng_restrict_users" = "Restrict users";
"lng_delete_all_from_user" = "Delete all from {user}";
"lng_delete_all_from_users" = "Delete all from users";
"lng_restrict_user_part" = "Partially restrict this user {emoji}";
"lng_restrict_users_part" = "Partially restrict users {emoji}";
"lng_restrict_user_full" = "Fully ban this user {emoji}";
"lng_restrict_users_full" = "Fully ban users {emoji}";
"lng_restrict_users_part_single_header" = "What can this user do?";
"lng_restrict_users_part_header#one" = "What can {count} selected user do?";
"lng_restrict_users_part_header#other" = "What can {count} selected users do?";
"lng_report_spam" = "Report Spam";
"lng_report_spam_and_leave" = "Report spam and leave";
"lng_report_spam_done" = "Thank you for your report.";
@@ -2883,6 +3043,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_bot_remove_from_side_menu_done" = "Bot removed from the main menu.";
"lng_bot_settings" = "Settings";
"lng_bot_open" = "Open Bot";
"lng_bot_terms" = "Terms of Use";
"lng_bot_reload_page" = "Reload Page";
"lng_bot_add_to_menu" = "{bot} asks your permission to be added as an option to your attachments menu so you can access it from any chat.";
"lng_bot_add_to_menu_done" = "Bot added to the menu.";
@@ -2931,6 +3092,15 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_unread_bar_some" = "Unread messages";
"lng_maps_point" = "Location";
"lng_live_location" = "Live Location";
"lng_live_location_now" = "updated just now";
"lng_live_location_minutes#one" = "updated {count} minute ago";
"lng_live_location_minutes#other" = "updated {count} minutes ago";
"lng_live_location_hours#one" = "updated {count} hour ago";
"lng_live_location_hours#other" = "updated {count} hours ago";
"lng_live_location_today" = "updated today at {time}";
"lng_live_location_yesterday" = "updated yesterday at {time}";
"lng_live_location_date_time" = "updated {date} at {time}";
"lng_save_photo" = "Save image";
"lng_save_video" = "Save video";
"lng_save_audio_file" = "Save audio file";
@@ -3013,6 +3183,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_context_delete_msg" = "Delete Message";
"lng_context_auto_delete_in" = "auto-delete in {duration}";
"lng_context_select_msg" = "Select Message";
"lng_context_select_msg_bulk" = "Select up to this message";
"lng_context_report_msg" = "Report Message";
"lng_context_pin_msg" = "Pin Message";
"lng_context_unpin_msg" = "Unpin Message";
@@ -3273,6 +3444,17 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_mediaview_forward" = "Forward";
"lng_mediaview_delete" = "Delete";
"lng_mediaview_save_to_profile" = "Save to Profile";
"lng_mediaview_pin_story_done" = "Story pinned";
"lng_mediaview_pin_story_about" = "Now it will be always shown on the top.";
"lng_mediaview_pin_stories_done#one" = "{count} story pinned";
"lng_mediaview_pin_stories_done#other" = "{count} stories pinned";
"lng_mediaview_pin_stories_about#one" = "Now it will be always shown on the top.";
"lng_mediaview_pin_stories_about#other" = "Now they will be always shown on the top.";
"lng_mediaview_unpin_story_done" = "Story unpinned.";
"lng_mediaview_unpin_stories_done#one" = "{count} story unpinned";
"lng_mediaview_unpin_stories_done#other" = "{count} stories unpinned";
"lng_mediaview_pin_limit#one" = "You can't pin more than {count} story.";
"lng_mediaview_pin_limit#other" = "You can't pin more than {count} stories.";
"lng_mediaview_archive_story" = "Archive Story";
"lng_mediaview_photos_all" = "View all photos";
"lng_mediaview_files_all" = "View all files";
@@ -3511,6 +3693,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_call_cancel" = "Cancel";
"lng_call_microphone_off" = "{user}'s microphone is off";
"lng_call_battery_level_low" = "{user}'s battery level is low";
"lng_group_call_title" = "Voice Chat";
"lng_group_call_title_channel" = "Live Stream";
@@ -4347,10 +4530,14 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_translate_settings_about" = "The 'Translate' button will appear when you open a context menu on a text message.";
"lng_translate_settings_one" = "Please choose at least one language so that it can be used as the \"Translate to\" language.";
"lng_launch_exe_warning" = "This file has a {extension} extension.\nAre you sure you want to run it?";
"lng_launch_exe_warning" = "This file has {extension} extension.\nAre you sure you want to run it?";
"lng_launch_other_warning" = "This file has {extension} extension.\nAre you sure you want to open it?";
"lng_launch_svg_warning" = "Opening this file can potentially expose your IP address to its sender. Continue?";
"lng_launch_exe_sure" = "Run";
"lng_launch_other_sure" = "Open";
"lng_launch_exe_dont_ask" = "Don't ask me again";
"lng_launch_dont_ask" = "Remember for this file type";
"lng_launch_dont_ask_settings" = "You can later edit trusted file types in Settings > Privacy and Security > File open confirmations.";
"lng_polls_anonymous" = "Anonymous Poll";
"lng_polls_public" = "Poll";
@@ -4561,6 +4748,9 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_view_button_external_link" = "Open link";
"lng_view_button_boost" = "Boost";
"lng_view_button_giftcode" = "Open";
"lng_view_button_iv" = "Instant View";
"lng_view_button_stickerset" = "View stickers";
"lng_view_button_emojipack" = "View emoji";
"lng_sponsored_hide_ads" = "Hide";
"lng_sponsored_title" = "What are sponsored messages?";
@@ -4568,6 +4758,18 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_sponsored_info_description2" = "Sponsored Messages are currently in test mode. Once they are fully launched and allow Telegram to cover its basic costs, we will start sharing ad revenue with the owners of public channels in which sponsored messages are displayed.\n\nOnline ads should no longer be synonymous with abuse of user privacy. Let us redefine how a tech company should operate together.";
"lng_sponsored_info_menu" = "About this ad";
"lng_sponsored_info_submenu" = "Advertiser: {text}";
"lng_sponsored_menu_revenued_about" = "About These Ads";
"lng_sponsored_menu_revenued_report" = "Report Ad";
"lng_sponsored_revenued_subtitle" = "Telegram Ads are very different from ads on other platforms. Ads such as this one:";
"lng_sponsored_revenued_info1_title" = "Respect Your Privacy";
"lng_sponsored_revenued_info1_description" = "Ads on Telegram do not use your personal information and are abased on the channel in which you see them.";
"lng_sponsored_revenued_info2_title" = "Help the Channel Creator";
"lng_sponsored_revenued_info2_description" = "50% of the revenue from Telegram Ads goes to the owner of the channel where they are displayed.";
"lng_sponsored_revenued_info3_title" = "Can Be Removed";
"lng_sponsored_revenued_info3_description#one" = "You can turn off ads by subscribing to {link}, and Level {count} channels can remove them for their subscribers.";
"lng_sponsored_revenued_info3_description#other" = "You can turn off ads by subscribing to {link}, and Level {count} channels can remove them for their subscribers.";
"lng_sponsored_revenued_footer_title" = "Can I Launch an Ad?";
"lng_sponsored_revenued_footer_description" = "Anyone can create an ad to display in this channel — with minimal budgets. Check out the **Telegram Ad Platform** for details. {link}";
"lng_telegram_features_url" = "https://t.me/TelegramTips";
@@ -4863,9 +5065,102 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_boosts_prepaid_giveaway_status#one" = "{count} subscription {duration}";
"lng_boosts_prepaid_giveaway_status#other" = "{count} subscriptions {duration}";
"lng_channel_earn_title" = "Monetization";
"lng_channel_earn_about" = "Telegram shares 50% of the revenue from ads displayed in your channel. {link}";
"lng_channel_earn_about_link" = "Learn more {emoji}";
"lng_channel_earn_overview_title" = "Proceeds overview";
"lng_channel_earn_available" = "Balance available to withdraw";
"lng_channel_earn_reward" = "Proceeds since last withdrawal";
"lng_channel_earn_total" = "Total lifetime proceeds";
"lng_channel_earn_balance_title" = "Available balance";
"lng_channel_earn_balance_button" = "Withdraw";
"lng_channel_earn_balance_password_title" = "Two-step verification";
"lng_channel_earn_balance_password_description" = "Please enter your password to withdraw.";
"lng_channel_earn_balance_about" = "Collect your reward using Fragment, a third-party platform used by the advertiser to pay for the ad. {link}";
"lng_channel_earn_balance_about_temp" = "In the coming weeks you will be able to collect your reward using Fragment, a third-party platform used by advertisers to pay ads. {link}";
"lng_channel_earn_transfer_sure_about1" = "Check the address of the recipient:";
"lng_channel_earn_transfer_sure_about2" = "This action can not be undone. If the address above is incorrect you will lose your TON.";
"lng_channel_earn_history_title" = "Transaction history";
"lng_channel_earn_history_in" = "Proceeds from ads";
"lng_channel_earn_history_in_about" = "Proceeds from ads displayed in";
"lng_channel_earn_history_out" = "Withdrawal";
"lng_channel_earn_history_out_failed" = "Not Completed";
"lng_channel_earn_history_out_about_failed" = "Withdrawal failed";
"lng_channel_earn_history_out_button" = "View in Blockchain Explorer";
"lng_channel_earn_history_return" = "Refund";
"lng_channel_earn_history_return_about" = "Refunded back";
"lng_channel_earn_history_pending" = "Pending";
"lng_channel_earn_history_show_more#one" = "Show {count} More Transaction";
"lng_channel_earn_history_show_more#other" = "Show {count} More Transactions";
"lng_channel_earn_off" = "Switch Off Ads";
"lng_channel_earn_off_about" = "You will not be eligible for any rewards if you switch off ads.";
"lng_channel_earn_cpm_min" = "No Ads";
"lng_channel_earn_cpm#one" = "{emoji} {count} CPM";
"lng_channel_earn_cpm#other" = "{emoji} {count} CPM";
"lng_channel_earn_learn_title" = "Earn From Your Channel";
"lng_channel_earn_learn_in_subtitle" = "Telegram Ads";
"lng_channel_earn_learn_in_about" = "Telegram can display ads in your channel.";
"lng_channel_earn_learn_split_subtitle" = "50:50 revenue split";
"lng_channel_earn_learn_split_about" = "You can receive 50% of the ad revenue in TON.";
"lng_channel_earn_learn_out_subtitle" = "Flexible withdrawals";
"lng_channel_earn_learn_out_about" = "You can withdraw your TON any time.";
"lng_channel_earn_learn_coin_title" = "What is {emoji} TON?";
"lng_channel_earn_learn_coin_about" = "TON is a blockchain platform and cryptocurrency that Telegram uses for its high speed and low commissions on transactions. {link}";
"lng_channel_earn_learn_close" = "Got it";
"lng_channel_earn_learn_coin_link" = "https://telegram.org/blog/monetization-for-channels";
"lng_channel_earn_chart_top_hours" = "Ad impressions";
"lng_channel_earn_chart_revenue" = "Ad revenue";
"lng_channel_earn_chart_overriden_detail_currency" = "Revenue in TON";
"lng_channel_earn_chart_overriden_detail_usd" = "Revenue in USD";
"lng_contact_add" = "Add";
"lng_contact_send_message" = "message";
"lng_iv_open_in_browser" = "Open in Browser";
"lng_iv_share" = "Share";
"lng_iv_join_channel" = "Join";
"lng_iv_window_title" = "Instant View";
"lng_iv_wrong_layout" = "Wrong layout?";
"lng_limit_download_title" = "Download speed limited";
"lng_limit_download_subscribe" = "Subscribe to {link} and increase download speed {increase}.";
"lng_limit_download_increase_times#one" = "**{count}** time";
"lng_limit_download_increase_times#other" = "**{count}** times";
"lng_limit_download_increase_speed" = "by **{percent}**";
"lng_limit_download_subscribe_link" = "Telegram Premium";
"lng_limit_upload_title" = "Upload speed limited";
"lng_limit_upload_subscribe" = "Subscribe to {link} and increase upload speed {increase}.";
"lng_limit_upload_increase_times#one" = "**{count}** time";
"lng_limit_upload_increase_times#other" = "**{count}** times";
"lng_limit_upload_increase_speed" = "by **{percent}**";
"lng_limit_upload_subscribe_link" = "Telegram Premium";
"lng_recent_frequent" = "Frequent contacts";
"lng_recent_frequent_all" = "Show all";
"lng_recent_frequent_collapse" = "Collapse";
"lng_recent_title" = "Recent";
"lng_recent_clear" = "Clear";
"lng_recent_clear_sure" = "Do you want to clear your search history?";
"lng_recent_remove" = "Remove from Recent";
"lng_recent_clear_all" = "Clear all";
"lng_recent_hide_top" = "Remove all & Disable";
"lng_recent_hide_sure" = "Are you sure you want to clear and disable frequent contacts list?\n\nYou can always turn this feature back on in Settings > Privacy > Suggest Frequent Contacts.";
"lng_recent_hide_button" = "Hide";
"lng_recent_none" = "Recent search results\nwill appear here.";
"lng_recent_chats" = "Chats";
"lng_recent_channels" = "Channels";
"lng_channels_none_title" = "No channels yet...";
"lng_channels_none_about" = "You are not currently subscribed to any channels.";
"lng_channels_your_title" = "Channels you joined";
"lng_channels_your_more" = "Show more";
"lng_channels_your_less" = "Show less";
"lng_channels_recommended" = "Recommended channels";
"lng_font_box_title" = "Choose font family";
"lng_font_default" = "Default";
"lng_font_system" = "System font";
"lng_font_not_found" = "Font not found.";
// Wnd specific
"lng_wnd_choose_program_menu" = "Choose Default Program...";

View File

@@ -21,5 +21,10 @@
<file alias="writing.tgs">../../animations/writing.tgs</file>
<file alias="hours.tgs">../../animations/hours.tgs</file>
<file alias="phone.tgs">../../animations/phone.tgs</file>
<file alias="chat_link.tgs">../../animations/chat_link.tgs</file>
<file alias="collectible_username.tgs">../../animations/collectible_username.tgs</file>
<file alias="collectible_phone.tgs">../../animations/collectible_phone.tgs</file>
<file alias="search.tgs">../../animations/search.tgs</file>
<file alias="noresults.tgs">../../animations/noresults.tgs</file>
</qresource>
</RCC>

View File

@@ -0,0 +1,9 @@
<RCC>
<qresource prefix="/iv">
<file alias="page.css">../../iv_html/page.css</file>
<file alias="page.js">../../iv_html/page.js</file>
<file alias="highlight.css">../../iv_html/highlight.9.12.0.css</file>
<file alias="highlight.js">../../iv_html/highlight.9.12.0.js</file>
<file alias="morphdom.js">../../iv_html/morphdom-umd.min.2.7.2.js</file>
</qresource>
</RCC>

Some files were not shown because too many files have changed in this diff Show More