Compare commits

...

1038 Commits

Author SHA1 Message Date
John Preston
86262333a4 Version 6.1.1.
- Ctrl+Tab / Ctrl+Shift+Tab collect chats on every launch.
- Fix Ctrl+Tab / Ctrl+Shift+Tab shortcut override.
- Fix possible crashes in saved music.
- Fix webview error label alignment.
2025-09-01 17:53:59 +04:00
John Preston
3419b49381 Hide gift value details tooltips on click. 2025-09-01 17:52:15 +04:00
John Preston
ec5725d8de Fix finalizing intersecting quotes. 2025-09-01 17:34:27 +04:00
John Preston
9df98352a8 Show correct error on gift limit reaching. 2025-09-01 17:14:55 +04:00
John Preston
c0c5ad21b6 Don't push recent peers to chat switch. 2025-09-01 16:03:30 +04:00
John Preston
4a23da6ce1 Fix build with GCC. 2025-09-01 12:42:29 +04:00
John Preston
6d1e5243d8 Fix possible crash in recent chat switches. 2025-09-01 11:58:05 +04:00
John Preston
c52a31384e Fix couple of possible crashes in saved music. 2025-09-01 11:57:19 +04:00
John Preston
36447eb1e3 Try fixing macOS action build. 2025-09-01 11:28:52 +04:00
John Preston
811dfee42c Separately bought upgrade doesn't auto-add details. 2025-09-01 11:23:33 +04:00
John Preston
b075bb9f4e Fix checkbox in background settings. 2025-09-01 10:59:54 +04:00
John Preston
00919f3232 Support arrows in chat switch. 2025-09-01 10:27:55 +04:00
John Preston
6dcd52deb5 Support all userpic types in Switch. 2025-09-01 10:27:55 +04:00
John Preston
edc70e9acb Improve phrases for currency switching. 2025-09-01 10:27:55 +04:00
John Preston
4ad12b6862 Fix alignment of webview crashed error. 2025-09-01 10:27:55 +04:00
John Preston
d63f3b6da1 Fix ctrl+tab/ctrl+shift+tab as overriden shortcuts. 2025-09-01 10:27:55 +04:00
John Preston
84c70a0905 Suggest upgrading next gift. 2025-09-01 10:27:55 +04:00
GitHub Action
8f65a7ac19 Update User-Agent for DNS to Chrome 139.0.0.0. 2025-09-01 10:26:56 +04:00
dependabot[bot]
c78262be91 Bump endersonmenezes/free-disk-space from 2.1.0 to 2.1.1
Bumps [endersonmenezes/free-disk-space](https://github.com/endersonmenezes/free-disk-space) from 2.1.0 to 2.1.1.
- [Release notes](https://github.com/endersonmenezes/free-disk-space/releases)
- [Commits](dd13eb48e7...713d134e24)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-01 10:26:29 +04:00
dependabot[bot]
cb51238bfc Bump actions/checkout from 4 to 5
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [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/v4...v5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-01 10:26:03 +04:00
John Preston
87f873c8b6 Version 6.1.
- Music on Profiles.
- Gift Themes.
- Gift Value Information.
- Upgrading Gifts for Other Users.
2025-09-01 00:05:29 +04:00
John Preston
a37528b377 Fix crash in premium preview. 2025-09-01 00:05:29 +04:00
John Preston
51a58182ee Use saved music as is for now. 2025-09-01 00:05:29 +04:00
John Preston
cc4b768f54 Implement nice gift theme message layout. 2025-08-31 23:04:49 +04:00
John Preston
b016be6eb5 Fix emoji repaint crashing. 2025-08-31 22:18:17 +04:00
John Preston
881d73d4ab Fix build with MSVC. 2025-08-31 22:18:17 +04:00
John Preston
8859e352f9 Fix crash with widget double delete. 2025-08-31 22:06:04 +04:00
John Preston
5b0fc5b97b Fix build with Xcode. 2025-08-31 20:53:24 +04:00
John Preston
76cc59acab Show gift sticker in the background. 2025-08-31 20:53:12 +04:00
John Preston
e792088ceb Insert gift pattern symbols in background. 2025-08-31 20:53:12 +04:00
John Preston
1dc70d5a8d Load gift themes while scrolling. 2025-08-31 20:53:12 +04:00
John Preston
e876a0f6bd Set gift as theme from gift view. 2025-08-31 20:53:12 +04:00
John Preston
50450de3e4 Confirm transfer gift theme. 2025-08-31 20:53:12 +04:00
John Preston
c8abc84c3c Put gift themes in beginning. 2025-08-31 20:53:12 +04:00
John Preston
1f3996032c Fix theme preview pattern loading. 2025-08-31 20:53:12 +04:00
John Preston
b868cfdca9 Fix pattern caching on themed chat open. 2025-08-31 20:53:12 +04:00
John Preston
d51944e6a5 Update API scheme on layer 214. 2025-08-31 20:53:12 +04:00
John Preston
4419ba55e8 Start gift theme background parsing. 2025-08-31 20:53:12 +04:00
John Preston
9e8ae54821 Update API scheme to layer 214. Start themes. 2025-08-31 20:53:12 +04:00
John Preston
4ed266780a Fix emoji status texts. 2025-08-31 20:53:12 +04:00
John Preston
46886b4dcc Support channel direct messages links. 2025-08-31 20:53:12 +04:00
John Preston
1e2531f0b1 Support locked gifts. 2025-08-31 20:53:12 +04:00
John Preston
0e43fd4d00 Update API scheme on layer 213. 2025-08-31 20:53:12 +04:00
John Preston
10448bcc3d Support fileref refresh in saved music. 2025-08-31 20:53:12 +04:00
John Preston
4f1c2788b8 Improve phrasing for saved music. 2025-08-31 20:53:11 +04:00
John Preston
dbaa7b5e67 Allow forward / delete saved music. 2025-08-31 20:53:11 +04:00
John Preston
6211b7733d Support saved music playlist. 2025-08-31 20:53:11 +04:00
John Preston
0d6ea0845e Make nice music button in profile. 2025-08-31 20:53:11 +04:00
John Preston
b8e10fb34b Proof-of-concept saved music API support. 2025-08-31 20:53:11 +04:00
John Preston
b9c6e595d7 Update API scheme on layer 213. 2025-08-31 20:53:11 +04:00
John Preston
7d701d3e9c Fix upgrading of gifts with gifted upgrade. 2025-08-31 20:53:11 +04:00
John Preston
92d9c3c92b Finish gift value display. 2025-08-31 20:53:11 +04:00
John Preston
7007977891 Reuse some table values in gift table. 2025-08-31 20:53:11 +04:00
John Preston
9f5d24bbc9 Start gift value information display. 2025-08-31 20:53:11 +04:00
John Preston
2834a83eec Update API scheme on layer 212. 2025-08-31 20:53:11 +04:00
John Preston
eb82473395 Update API scheme on layer 212, gift upgrades. 2025-08-31 20:53:11 +04:00
John Preston
4a33d3227e Suggest upgrading next gift. 2025-08-31 20:53:11 +04:00
John Preston
235456e18e Update API scheme to layer 212. 2025-08-31 20:53:11 +04:00
23rd
1f9e532fbc Added link to info to box about sponsored messages. 2025-08-31 00:34:07 +03:00
23rd
8bc2d3184a Added lottie icon to transcribe voices while loading. 2025-08-30 23:39:36 +03:00
23rd
9ef54d1218 Added LottieCustomEmoji. 2025-08-30 23:39:36 +03:00
23rd
7e48cb97b0 Fixed first frame animation of opening schedule section for send button. 2025-08-30 23:19:40 +03:00
23rd
a226f0b58c Added toasts after review of unconfirmed authorizations. 2025-08-30 23:19:40 +03:00
23rd
65fd47a082 Fixed handle of dialogs resize for unconfirmed authorizations. 2025-08-30 23:19:40 +03:00
23rd
600b7d1d54 Slightly improved generation of stars in low credits balance list. 2025-08-30 23:19:40 +03:00
23rd
b8f4d4877e Added loading animation to list of options for low credits balance. 2025-08-30 23:19:40 +03:00
23rd
6a114e1275 Added ability to provide to loading text element style::TextStyle. 2025-08-30 23:19:40 +03:00
23rd
5d3d8640e3 Added unconfirmed authorizations to top bar suggestions in dialogs. 2025-08-30 23:19:40 +03:00
23rd
f09d2d22eb Added api support of new unconfirmed authorizations. 2025-08-30 23:19:40 +03:00
23rd
94ccd8f8b6 Added ability to store unconfirmed authorizations. 2025-08-30 23:19:40 +03:00
23rd
c96ce890d6 Added initial struct data for unreviewed authorizations. 2025-08-30 23:19:40 +03:00
23rd
de55be397b Improved style of withdrawal button in credits settings. 2025-08-30 23:19:40 +03:00
23rd
1420714cae Fixed display of "Show more" button in channel currency earn list. 2025-08-30 23:19:40 +03:00
23rd
b15305bc69 Respected localized number format in statistics. 2025-08-30 23:19:40 +03:00
23rd
db25b111e0 Fixed display of currency minor part from earn stats in some cases. 2025-08-30 23:19:40 +03:00
23rd
eeea9932ed Removed simple colorizing of query of hash or cashtag in found messages. 2025-08-30 23:19:40 +03:00
23rd
c710e9a54d Fixed display of label in self destruction box.
Fixed #29694.
2025-08-30 23:19:40 +03:00
23rd
62613e7da1 Added support of custom brush to loading element for peer list. 2025-08-30 23:19:40 +03:00
23rd
946b597471 Added support of custom bg to loading element for peer list. 2025-08-30 23:19:40 +03:00
23rd
691c55bedd Simplified master branch updater Github Action. 2025-08-30 23:19:40 +03:00
23rd
8387969467 Removed unused trigger for Github CI that updates user-agent for DNS. 2025-08-30 23:19:40 +03:00
23rd
90d21375c8 Removed ability to create todo lists in replies chat. 2025-08-30 23:19:40 +03:00
23rd
86daf2a9dc Removed ability to clear history from replies chat. 2025-08-30 23:19:40 +03:00
23rd
90473957cb Added process of error when collectible info can't be revealed. 2025-08-30 23:19:40 +03:00
23rd
3549c00141 Added ability to forward to Saved Messages on fast action with Ctrl. 2025-08-30 23:19:40 +03:00
23rd
1c1d13545b Added special check of balance on channel earn out just in case. 2025-08-30 23:19:40 +03:00
23rd
f1b3db89fb Fixed hover rect of entry item in channel earn history. 2025-08-30 23:19:40 +03:00
23rd
8c77baca6f Fixed wrong focus while recording voice in sections. 2025-08-30 23:19:40 +03:00
Ilya Fedin
36a40d97a7 Update submodules 2025-08-30 17:50:39 +04:00
Ilya Fedin
1eb9b40607 Update Qt to 6.9.2 2025-08-30 17:50:39 +04:00
Ilya Fedin
05c10e3f57 Switch patches to nil plugin in snap 2025-08-30 16:04:57 +04:00
Ilya Fedin
0cf3325655 Fix macOS action 2025-08-26 07:48:17 +04:00
Ilya Fedin
48525de714 Restore icon key in snapcraft.yaml
Looks like it didn't help with themed icon after all and snapcraft chooses a 64x64 icon without it which looks blurry with HiDPI
2025-08-23 19:58:56 -07:00
John Preston
7e15722eab Beta version 6.0.3.
- Ctrl+Tab / Ctrl+Shift+Tab for last opened chats switching.
- New topic dividers for groups with topics and tabs.
- Adjust volume of notification sounds.
- Show stars required for the next rating level.
- IV support on Linux (in case WebView works).
2025-08-22 21:17:48 +04:00
John Preston
719c209c7b Fix build with Xcode. 2025-08-22 21:17:48 +04:00
John Preston
d05ad44b84 Fix build with GCC. 2025-08-22 21:15:53 +04:00
Ilya Fedin
b352c97479 Switch from custom URI scheme to local HTTP server for webview on Linux 2025-08-22 18:05:11 +04:00
Ilya Fedin
063085a6bb Format Linux webview socket path using std::format 2025-08-22 18:05:11 +04:00
Ilya Fedin
b4bca16109 Get rid of wayland-scanner downgrade 2025-08-22 17:48:43 +04:00
John Preston
03770c52fe Support floating topic bars in forums. 2025-08-22 13:13:20 +04:00
John Preston
10fe5cdd5d Keep recent peers userpics in memory. 2025-08-22 13:06:04 +04:00
John Preston
57d459b917 Show nice topic/sublist userpics. 2025-08-22 13:06:03 +04:00
John Preston
fe26594f12 Improve Ctrl+Tab switch design. 2025-08-22 13:05:27 +04:00
John Preston
0d8065fc1f First attempt of Ctrl+Tab/Ctrl+Shift+Tab UI. 2025-08-22 13:05:26 +04:00
John Preston
a3cdae1e94 Fix refreshing story file reference. 2025-08-22 13:05:26 +04:00
John Preston
29d77b649b Nice selection of gifts for a collection. 2025-08-22 13:05:26 +04:00
John Preston
9e190cee81 Show next-level stars in rating. 2025-08-22 13:05:26 +04:00
John Preston
687bfd0f17 Remove some FixedHeightWidget-s. 2025-08-22 13:01:49 +04:00
23rd
7d7df4f749 Fixed display of about text in low credits balance box in some cases. 2025-08-20 12:40:16 +03:00
23rd
958dede319 Fixed active color of recording voice button. 2025-08-19 20:51:32 +03:00
23rd
76e814944d Added shortcuts to start recording of voice or round message.
Fixed #29633.
2025-08-19 16:52:48 +03:00
23rd
fbc1d75e9a Added ability to start and lock voice recording immediately. 2025-08-19 16:43:47 +03:00
23rd
b3c7ce05dc Added ability to send recording voice with submit key. 2025-08-19 16:43:47 +03:00
23rd
feea881e09 Slightly improved position of tooltip for voice record bar. 2025-08-19 13:21:51 +03:00
23rd
b978bc4876 Added ability to bottom scroll in HistoryView::Chat section with submit.
Fixed #29662.
2025-08-19 12:34:46 +03:00
23rd
f84181e7a5 Added event for scrolling to bottom to compose controls. 2025-08-19 12:33:38 +03:00
John Preston
313ae0f86c Remove CenterWrap layout. 2025-08-18 17:55:20 +04:00
John Preston
a39c018359 Scroll to top on global posts search. 2025-08-18 17:25:31 +04:00
John Preston
a09f57d908 Fix natural width for LabelWithNumbers. 2025-08-18 17:25:31 +04:00
John Preston
596828cf78 Fix webview blocking popups. 2025-08-18 17:25:31 +04:00
23rd
44843aa9cd Added hint about archive and its features. 2025-08-18 13:26:26 +03:00
23rd
5f930cc4d1 Added initial ability to rate voice transcriptions. 2025-08-18 13:26:23 +03:00
23rd
7defad5d95 Added ability to clear history for channels and megagroups.
Fixed #28778.
2025-08-17 14:47:49 +03:00
23rd
707af8a295 Got rid Ui::CreateLabelWithCustomEmoji. 2025-08-17 14:47:49 +03:00
23rd
e0fb9ffbb0 Added support of setting up of login email from intro. 2025-08-17 14:47:49 +03:00
23rd
d614de6f5e Fixed display of error in cloud password section with new naturalWidth. 2025-08-17 14:47:49 +03:00
Ilya Fedin
86b94b4723 Change notification volume visibility on support change
Cross platform VolumeSupported wrapper
2025-08-17 14:47:49 +03:00
23rd
5070300050 Added ability to test on place volume of notifications. 2025-08-17 14:47:49 +03:00
23rd
1919546441 Added ability to change volume of specific notifications from settings. 2025-08-17 14:47:49 +03:00
23rd
1c3cd8d44b Added ability to change master volume of notifications from settings. 2025-08-17 14:47:49 +03:00
23rd
292296266f Added convenient utils to pass and change notifications volume from ui. 2025-08-17 14:47:49 +03:00
23rd
a3e8848bc8 Added ability to check if OS has support of notifications volume. 2025-08-17 14:47:49 +03:00
23rd
ced146fc63 Added session-specific settings for volume of notifications for peers. 2025-08-17 14:47:49 +03:00
23rd
6ed79f6a0d Added global settings for master volume of notifications. 2025-08-17 14:47:49 +03:00
23rd
15e4d86e92 Added ability to override volume in media audio tracks. 2025-08-17 14:47:49 +03:00
23rd
5a29a7d2a3 Moved out DefaultNotify to data_peer_notify_settings. 2025-08-17 14:47:49 +03:00
23rd
034740ce46 Removed unused PeerListWidget. 2025-08-17 14:47:49 +03:00
23rd
a2847246e6 Replaced custom GroupMembersWidget with PeerList. 2025-08-17 14:47:49 +03:00
23rd
04479ad660 Moved out GroupMembersWidget to correspond file and namespace. 2025-08-17 14:47:49 +03:00
23rd
35d2fff593 Added initial support of highlighting for found query in quotes. 2025-08-17 14:47:49 +03:00
23rd
2b93fe9a30 Added simple colorizing of query in found messages from compose search. 2025-08-17 14:47:49 +03:00
23rd
5c33a2bd5c Added simple colorizing of query in found messages. 2025-08-17 14:47:49 +03:00
23rd
a28f113105 Moved FindSearchQueryHighlight to use as util. 2025-08-17 14:47:49 +03:00
23rd
eb7976a2ef Replaced alignment of title bar with left side for macOS 26. 2025-08-17 14:47:49 +03:00
23rd
15db1c0c30 Added ability to withdrawal personal currency balance. 2025-08-17 14:47:49 +03:00
23rd
2b83c95869 Moved out ui util for channel earn list to static function. 2025-08-17 14:47:49 +03:00
dependabot[bot]
273d5596d7 Bump endersonmenezes/free-disk-space
Bumps [endersonmenezes/free-disk-space](https://github.com/endersonmenezes/free-disk-space) from 4cae28d0d8e716a770938d92630f23db5184f61f to dd13eb48e709830a7ec4e50692e841be6b400d90.
- [Release notes](https://github.com/endersonmenezes/free-disk-space/releases)
- [Commits](4cae28d0d8...dd13eb48e7)

---
updated-dependencies:
- dependency-name: endersonmenezes/free-disk-space
  dependency-version: dd13eb48e709830a7ec4e50692e841be6b400d90
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-15 17:21:13 +04:00
Ilya Fedin
b423dab152 Fix Windows action execution on SDK update 2025-08-15 17:20:47 +04:00
Ilya Fedin
1b104bcf29 Update Windows SDK version 2025-08-15 17:20:47 +04:00
John Preston
5cad9a8c44 Fix build on layer 211. 2025-08-15 09:32:40 +04:00
John Preston
ec8a475a2c Fix top bar selection label resizing. 2025-08-14 18:45:52 +04:00
John Preston
e656cb8118 Fix vertical layout once again. 2025-08-14 18:30:17 +04:00
John Preston
7f2a0b6630 Scroll a bit further when switching tabs. 2025-08-14 18:30:01 +04:00
John Preston
f9bf40a771 Fix crash in forum removal with new tabs. 2025-08-14 18:30:01 +04:00
John Preston
96360619e1 Add some asserts in stats. 2025-08-14 18:30:01 +04:00
John Preston
4cefc21819 Close forum when searching in different chat. 2025-08-14 18:30:01 +04:00
Ilya Fedin
192a56ee15 Shorter notifications proxy check for Linux notifications 2025-08-13 11:19:38 +04:00
John Preston
cf16472dd0 Fix user profiles. 2025-08-13 11:18:34 +04:00
John Preston
b2fb2d5821 Attempt to fix the naturalWidth feature. 2025-08-13 11:18:34 +04:00
John Preston
c939eda7bb Hide "Use for calls" in Socks5 while not supported. 2025-08-13 11:18:34 +04:00
John Preston
428e059895 Write unknown cons to mtproto logs. 2025-08-13 11:18:34 +04:00
John Preston
1b4ea2e9c6 Use Api::ParseTextWithEntities more. 2025-08-13 11:18:34 +04:00
John Preston
d60bfa238f Merge TWidget* into Ui::RpWidget*. 2025-08-11 13:55:16 +04:00
John Preston
cc98f7da36 Fix topic unread count badges. 2025-08-11 10:36:26 +04:00
John Preston
87cdc22990 Fix marking read in new forum layout. 2025-08-11 10:36:26 +04:00
John Preston
60f6ea3252 Show informative empty posts search. 2025-08-11 10:29:11 +04:00
John Preston
86cffae001 Remove unused function. 2025-08-11 10:29:11 +04:00
John Preston
77cec0e338 Make big Upgrade button for gifts. 2025-08-11 10:29:11 +04:00
John Preston
ee85bb9a1b Improve rating layout. 2025-08-11 10:29:11 +04:00
John Preston
bf0b85afd1 Improve posts search transaction entry view. 2025-08-11 10:29:11 +04:00
John Preston
5473696491 Fix dice-type game display. 2025-08-11 10:29:11 +04:00
Ilya Fedin
0bc59a82ba Use symbolic links for icons in snap 2025-08-09 15:44:08 +04:00
Ilya Fedin
a8430d8ecf Self-build openh264 in snap for lesser package size 2025-08-09 15:44:08 +04:00
Ilya Fedin
9672b2ec23 Use double dash consistently in snap ldflags 2025-08-09 15:44:08 +04:00
Ilya Fedin
60447f073f Partially revert "Move packages to a separate snap part"
This partially reverts commit ef2e9406c7 restoring per-part build packages so changes to them don't lead to rebuild of all parts.
2025-08-09 10:39:48 +04:00
Ilya Fedin
62329c104c Fix accidentally broken CMAKE_INSTALL_PREFIX in snap
Regression was introduced in a6a8363527
2025-08-09 10:39:48 +04:00
John Preston
536884bb46 Fix build with new Xcode. 2025-08-08 11:26:39 +04:00
John Preston
efb213fb9f Fix build with latest Xcode. 2025-08-08 09:52:57 +04:00
Ilya Fedin
02b43c9375 Remove systemd-detect-virt from snap
It could be used from the core snap since hardware-observe plug was connected
2025-08-08 09:08:05 +04:00
Ilya Fedin
9a2679efaa Remove unity7 plug from snap
Looks like the desktop plug has everything needed since snapd 2.67
2025-08-08 09:07:53 +04:00
Ilya Fedin
00a396c3e7 Fix stage paths in snap 2025-08-06 07:43:33 +04:00
John Preston
b4272c306d Get rid of registerImageEmoji/registerInternalEmoji. 2025-08-04 22:27:08 +04:00
John Preston
b876605e93 Remove per-star options in giveaway creation. 2025-08-04 16:02:01 +04:00
John Preston
7f896a9f40 Use better ton icon in strings. 2025-08-04 12:50:24 +04:00
John Preston
a96874ac55 Allow '@' in search posts queries. 2025-08-04 11:51:42 +04:00
John Preston
1f8d3ed911 Fix incorrect filesize check.
Fixes #29630.
2025-08-04 11:46:19 +04:00
23rd
56be0ef4be Fixed incorrect state of disabled calls for account in notifications. 2025-08-04 11:15:44 +04:00
John Preston
67079545b3 Ease filtering on posts search queries. 2025-08-04 11:15:09 +04:00
John Preston
54b8811843 Version 6.0.2.
- Improve design of profile stars rating.
2025-08-01 22:44:55 +04:00
John Preston
0bbfe20089 Improve pending rating info. 2025-08-01 22:09:07 +04:00
John Preston
667822ca08 Improve negative rating display. 2025-08-01 22:09:07 +04:00
Ilya Fedin
051b8c4b63 Limit malloc_trim to once per 10 seconds 2025-08-01 18:48:55 +04:00
John Preston
c2f5e7eb45 Add Stories button at the bottom. 2025-08-01 18:24:12 +04:00
John Preston
45ebf7b5c6 Use separate keys for add buttons. 2025-08-01 17:47:37 +04:00
John Preston
2ccdcf8a92 Fix bad closing of suggestions. 2025-08-01 17:44:42 +04:00
John Preston
88d9fd42c4 Submit album/collection title by Enter. 2025-08-01 17:29:56 +04:00
John Preston
6d81636d1e Improve switching stories albums. 2025-08-01 17:26:44 +04:00
John Preston
22fb456d13 Fix scrolling in SubTabs. 2025-08-01 16:42:37 +04:00
John Preston
62c9666013 Show star rating preview. 2025-08-01 16:13:27 +04:00
23rd
e1b2f940ad Fixed ability to reveal spoiler in title with login email pattern. 2025-08-01 16:09:13 +04:00
John Preston
d2c0ec12f3 Improve negative level display. 2025-08-01 15:20:36 +04:00
John Preston
61bdbdb5d6 Fix alignment of custom verification. 2025-08-01 15:03:14 +04:00
John Preston
a28ca46460 Improve rating level design. 2025-08-01 14:48:05 +04:00
John Preston
719179c1c2 Version 6.0.1.
- Fix crashing on Windows 7.
2025-08-01 11:47:00 +04:00
John Preston
1851e0c02d Show correct empty global search results. 2025-08-01 11:47:00 +04:00
John Preston
5d7ae16b4a Try fixing working on Windows 7. 2025-08-01 11:27:53 +04:00
GitHub Action
3bb8cb52f8 Update User-Agent for DNS to Chrome 138.0.0.0. 2025-08-01 11:27:43 +04:00
John Preston
3d4d3b000e Version 6.0.
- Public Post Search.
- Story Albums.
- Gift Collections.
- Profile Rating.
2025-08-01 00:15:34 +04:00
John Preston
e3e97db101 Fix build with GCC. 2025-08-01 00:15:34 +04:00
John Preston
057b8d9e74 Fix build with Xcode. 2025-07-31 23:00:18 +04:00
John Preston
003e42a2ae Show nice info about star rating. 2025-07-31 22:20:19 +04:00
23rd
baf932dd8b Fixed support of covers for documents in dialogs message preview. 2025-07-31 22:20:19 +04:00
23rd
e2acab67e1 Fixed support of covers for documents in pinned bar and reply bar. 2025-07-31 22:20:19 +04:00
23rd
095b171db3 Added highlighting of domain part in hidden urls to confirm box. 2025-07-31 22:20:19 +04:00
23rd
9d36d7119b Added special param to links for peers to resolve them in new window. 2025-07-31 22:20:19 +04:00
John Preston
507bcbd332 Show nice global posts search button. 2025-07-31 22:20:19 +04:00
John Preston
71a15b7202 Implement global post search load-more. 2025-07-31 22:20:19 +04:00
John Preston
1718a123e8 Add NEW badge to global posts search. 2025-07-31 22:20:19 +04:00
John Preston
b5c1046dca Implement paid global search requests. 2025-07-31 22:20:19 +04:00
John Preston
608481df38 Fix build in the next version of MSVC. 2025-07-31 22:20:19 +04:00
John Preston
4aab5da7ae Initial global posts search implementation. 2025-07-31 22:20:18 +04:00
John Preston
79650cf318 Support collection links. 2025-07-31 22:20:18 +04:00
John Preston
170544f68d Allow switch resale display to TON. 2025-07-31 22:20:18 +04:00
John Preston
9bc26b0068 Show correct price in gifts list. 2025-07-31 22:20:18 +04:00
John Preston
9765319027 Allow choosing Stars/TON payment. 2025-07-31 22:20:18 +04:00
John Preston
3b1c7dc5e1 Allow buying gifts resold for TONs. 2025-07-31 22:20:18 +04:00
John Preston
2a50d0856b Show correct price in resale box. 2025-07-31 22:20:18 +04:00
John Preston
23c0fcada6 Show TON icon in resale gifts. 2025-07-31 22:20:18 +04:00
John Preston
aa499eab61 Allow settings gift price in TON. 2025-07-31 22:20:18 +04:00
John Preston
985324ac12 Support story album links. 2025-07-31 22:20:18 +04:00
John Preston
3c89907403 Fix last-seen-when button position. 2025-07-31 22:20:18 +04:00
John Preston
953487bb65 Display hidden state in story albums. 2025-07-31 22:20:18 +04:00
John Preston
677891d0ff Allow arbitrary order in story albums. 2025-07-31 22:20:18 +04:00
John Preston
8d2a7b00dc Implement story album management. 2025-07-31 22:20:18 +04:00
John Preston
d4d4f3c082 Switch between story albums. 2025-07-31 22:20:18 +04:00
John Preston
c26e8a69ca Add object_ptr::get. 2025-07-31 22:20:18 +04:00
John Preston
1c251a308a Allow loading stories in different albums. 2025-07-31 22:20:18 +04:00
John Preston
c8015898ff Update API scheme on layer 211. 2025-07-31 22:20:18 +04:00
John Preston
a1e36594c2 Allow creating albums of stories. 2025-07-31 22:20:18 +04:00
John Preston
043bc754ae Update API scheme to layer 211. 2025-07-31 22:20:17 +04:00
Ilya Fedin
472d9dd467 Rely on mesa-2404 libraries 2025-07-29 20:37:54 +04:00
Ilya Fedin
f6a3662b0e Remove LD_LIBRARY_PATH from snap
It's not needed since Qt is linked statically
2025-07-29 20:37:54 +04:00
Ilya Fedin
fb777d0c3a Another attempt to fix png theme icon ordering 2025-07-29 20:37:54 +04:00
John Preston
2a3ee968ff Fix png theme icon ordering.
Hopefully fixes #29332.
2025-07-29 14:24:54 +04:00
Ilya Fedin
0b2661ad45 Use $CRAFT_PROJECT_NAME more for consistency 2025-07-29 06:49:12 +04:00
John Preston
d458748a7a Version 5.16.6.
- Fix bad layout in box buttons.
- Fix several problems in gift collections.
2025-07-25 21:20:56 +04:00
John Preston
7f346ef606 Improve gift collections preloading. 2025-07-25 21:18:06 +04:00
John Preston
ca544dbbae Fix glitch in chats search without animations. 2025-07-25 21:15:49 +04:00
John Preston
5704a07b68 Animated scroll to activated tab. 2025-07-25 21:15:47 +04:00
John Preston
5b1739246d Correctly handle gift collection updates. 2025-07-25 21:15:36 +04:00
John Preston
8ead33bc59 Fix check on new gift collection name. 2025-07-25 17:41:57 +04:00
John Preston
2f3792a3ee Fix emoji status details display. 2025-07-25 17:41:56 +04:00
John Preston
86d306632d Fix possible crash in stories state restore. 2025-07-25 17:41:55 +04:00
John Preston
cc79c2cb49 Use separate lang key for All Gifts collection. 2025-07-25 17:41:54 +04:00
John Preston
26b3b13bc4 Fix edit gift collection name box. 2025-07-25 17:41:54 +04:00
John Preston
bc20e65aae Support Ctrl+Shift+V "Paste as Plain Text". 2025-07-25 17:41:53 +04:00
John Preston
d458bf6be3 Fix possible negative folder counters. 2025-07-25 17:41:52 +04:00
John Preston
58375f06e5 Fix buttons in non-wide-button boxes. 2025-07-25 17:41:29 +04:00
Ilya Fedin
cd39853dc8 Never use LLD with non-Debug build types 2025-07-25 14:36:50 +04:00
John Preston
c94a44aeb8 Fix possible crash in gift sending. 2025-07-25 11:38:25 +04:00
John Preston
237d7c1ec1 Version 5.16.5.
- Age verification support.
2025-07-25 10:21:47 +04:00
John Preston
a80b67fdc9 Fix build with GCC. 2025-07-25 10:21:47 +04:00
John Preston
de44c57ada Allow editing collection from three dots. 2025-07-25 10:21:47 +04:00
John Preston
448356f534 Allow editing/deleting collections. 2025-07-25 10:21:47 +04:00
John Preston
2b16b0fc7c Fix gifts display when can't manage. 2025-07-25 10:21:47 +04:00
John Preston
22515c8c29 Support gift collections editing. 2025-07-25 10:21:46 +04:00
John Preston
bf050a2d5e Don't mark existing gifts as "sold out". 2025-07-25 10:21:46 +04:00
John Preston
74065714cb Fix padding for gifts list. 2025-07-25 10:21:46 +04:00
John Preston
b95a39dc10 Remove swipe navigation from SubTabs. 2025-07-25 10:21:46 +04:00
John Preston
bcdd202ef9 Fix build with Xcode. 2025-07-25 10:21:46 +04:00
John Preston
20ce2ead75 Take rating info url from appConfig. 2025-07-25 10:21:46 +04:00
John Preston
a81b9344cf Update API scheme on layer 210. 2025-07-25 10:21:46 +04:00
John Preston
a7fe004344 Load collections, request gifts in them. 2025-07-25 10:21:46 +04:00
John Preston
66e8f9865a Started gift collections. 2025-07-25 10:21:46 +04:00
John Preston
1cb4413869 Lang pack rating / premium gift features. 2025-07-25 10:21:46 +04:00
John Preston
be6dbefe7c Show premium badge on gifts. 2025-07-25 10:21:46 +04:00
John Preston
f655297052 Show stars rating tooltips. 2025-07-25 10:21:46 +04:00
John Preston
232c797507 Show stars rating bar. 2025-07-25 10:21:46 +04:00
John Preston
25d4a9c7a6 Parse current stars rating values. 2025-07-25 10:21:46 +04:00
John Preston
65e3111e35 Use real cloud lang. 2025-07-24 08:56:13 +04:00
John Preston
048d995922 Add weak_qptr to stdafx.h 2025-07-24 08:56:13 +04:00
John Preston
dcac27e072 Make sure colors are ready for webview. 2025-07-23 11:41:03 +04:00
John Preston
b754ad5248 Use base::weak_qptr / base::make_weak. 2025-07-23 11:40:59 +04:00
John Preston
321c7120df Censor 18+ marked stickers as well. 2025-07-23 11:40:37 +04:00
John Preston
4b85c9e2df Add spoilers to shared GIFs. 2025-07-23 11:40:37 +04:00
John Preston
62aec34507 Fix crash in official verify age bot open. 2025-07-23 11:40:37 +04:00
John Preston
427487c598 Verify age in sensitive toggle settings. 2025-07-23 11:40:37 +04:00
John Preston
ccb8c43961 Support age verification for sensitive media. 2025-07-23 11:40:37 +04:00
John Preston
fee892f9a2 Call completionHandler if open panel was cancelled. 2025-07-23 11:40:37 +04:00
John Preston
9b990728f6 Update API scheme to layer 210. 2025-07-23 11:40:37 +04:00
John Preston
9b490c9552 Fix unrelated stories on top. 2025-07-23 11:40:37 +04:00
23rd
133effef0e Added sound notification when recording of group call is started. 2025-07-23 11:40:37 +04:00
23rd
15706a7af8 Fixed ability to use PageDown/PageUp in section for pinned messages. 2025-07-23 11:40:36 +04:00
23rd
2a15faf12e Fixed incorrect display of no-chats label in dialogs while search mode. 2025-07-23 11:40:36 +04:00
23rd
9149792846 Aligned collapsed rows for folders to main menu button. 2025-07-23 11:40:36 +04:00
23rd
c90c53c878 Aligned first tab of slider in dialogs widget to main menu button. 2025-07-23 11:40:36 +04:00
23rd
e6387738ce Slightly improved style of top bar suggestions. 2025-07-23 11:40:36 +04:00
23rd
3882690ee1 Removed transcribe button from voice and round messages in admin log. 2025-07-23 11:40:36 +04:00
Ilya Fedin
4c049d0d75 Use Windows SDK version specified in build instruction 2025-07-22 15:37:59 +04:00
Ilya Fedin
e070af3163 Limit malloc_trim to once per second 2025-07-21 07:51:48 +04:00
Ilya Fedin
1c35a91d13 Remove -s where unneeded in snap
This has no sense with static libraries
2025-07-18 09:34:07 +04:00
Ilya Fedin
4c20e79d1f Update rnnoise to 0.2 in snap 2025-07-18 09:34:07 +04:00
Ilya Fedin
669f46d6a1 Try to fix snap build on armhf 2025-07-18 09:34:07 +04:00
Ilya Fedin
ea89a9f706 Free more disk space in snap action 2025-07-16 10:45:24 +04:00
Ilya Fedin
918985449b Self-build avif in snap for lesser package size 2025-07-16 10:45:24 +04:00
Ilya Fedin
18ab93a9f6 Self-build openal in snap for lesser package size 2025-07-16 10:45:24 +04:00
Ilya Fedin
a6a8363527 Self-build ffmpeg in snap for lesser package size 2025-07-16 10:45:24 +04:00
Ilya Fedin
90edb0903d Use only jpegli from self-built libjxl in snap 2025-07-16 10:45:24 +04:00
Ilya Fedin
ba1274ff3a Build all deps statically in snap for lesser package size 2025-07-16 10:45:24 +04:00
Ilya Fedin
60f91bff50 Stop priming static libs completely in snap 2025-07-16 10:45:24 +04:00
Ilya Fedin
ef2e9406c7 Move packages to a separate snap part 2025-07-16 10:45:24 +04:00
Ilya Fedin
3d6783597f Optimize geoclue dependency in snap
It depends on entire daemon and brings unneeded dependencies that make the package way bigger
2025-07-16 10:45:24 +04:00
Ilya Fedin
7cab32f71b Switch snap to the gnome extension 2025-07-16 10:45:24 +04:00
Ilya Fedin
78a72b42b0 Don't stage unused boost-regex shared library in snap 2025-07-16 10:45:24 +04:00
John Preston
0514f13af0 Version 5.16.4.
- Fix problem with negative unread counters.
- Fix stars values display in statistics.
- Fix crash in messages fee disabling.
2025-07-14 20:51:13 +04:00
John Preston
e6a6763228 Fix build with GCC. 2025-07-14 20:51:13 +04:00
23rd
38c74bf2cf Added lottie icon and button to dialogs widget when dialogs are empty. 2025-07-14 19:42:17 +04:00
John Preston
a770e47575 Fix build with Xcode. 2025-07-14 19:07:05 +04:00
John Preston
c998352ab7 Possibly fix a crash in subsection tabs.
Fixes #29550.
2025-07-14 18:30:59 +04:00
John Preston
3683fa3814 Remove paid message service info in groups. 2025-07-14 17:40:30 +04:00
John Preston
e62881e08b Fix blocking users in channel direct messages.
Fixes #29549.
2025-07-14 17:15:25 +04:00
John Preston
01e313e56b Fix crash after deleting sublist.
Fixes #29548.
2025-07-14 15:40:14 +04:00
John Preston
2dd5f80468 Allow transferring gifts to channels. 2025-07-14 14:29:31 +04:00
John Preston
275fb3e96a Fix actions for converted gifts. 2025-07-14 14:24:41 +04:00
John Preston
3463916b9b De-duplicate icon for checklist task adding. 2025-07-14 14:24:08 +04:00
John Preston
a20de2515a Fix text-send permissions in groups.
Fixes #29546.
2025-07-14 13:58:38 +04:00
John Preston
79ea992a0f Suggest relevant min price for gift resale. 2025-07-14 13:28:57 +04:00
John Preston
0132436dc8 Move the NEW badge to gifts (market). 2025-07-14 11:29:57 +04:00
John Preston
a285c1abec Fix unsupported filtering in monoforum export.
Fixes #29545.
2025-07-14 11:21:14 +04:00
John Preston
1c41e01f0d Update API scheme to layer 209. 2025-07-14 09:54:04 +04:00
John Preston
f2e53ea490 Try scrolling to the task on jump. 2025-07-11 19:26:01 +04:00
John Preston
bff86b90fb Highlight tasks from reply/service messages. 2025-07-11 19:26:01 +04:00
John Preston
b5c9b6f552 Make and display replies to tasks. 2025-07-11 19:26:01 +04:00
John Preston
23f5102f1b Update API scheme to layer 208. 2025-07-11 19:26:01 +04:00
John Preston
bf51e911b8 Fix unread counters with monoforums.
Fixes #29544.
2025-07-11 19:26:00 +04:00
John Preston
4039d7ab71 Update tgcalls. 2025-07-11 19:26:00 +04:00
John Preston
77a09a0e59 Fix some search options. 2025-07-11 19:26:00 +04:00
John Preston
154c777788 Improve formatting for some strange cases. 2025-07-11 19:26:00 +04:00
John Preston
628c36c87d Fix crash in the private fee disable. 2025-07-11 19:26:00 +04:00
John Preston
a746b7abcf Fix reactions in media-only service messages.
Fixes #29543.
2025-07-11 19:26:00 +04:00
John Preston
64184e6c90 Support controls on sponsored in video. 2025-07-11 19:26:00 +04:00
John Preston
ecc955d2ce Show sponsored messages in video. 2025-07-11 19:26:00 +04:00
John Preston
f7e1b2c70c Fix build with QT_VERSION_MAJOR provided. 2025-07-11 19:26:00 +04:00
John Preston
284cbda7c0 Track shown sponsored in video. 2025-07-11 19:26:00 +04:00
John Preston
e5ca9e4c39 Ability to request video ads. 2025-07-11 19:26:00 +04:00
John Preston
02aaa71e78 Fix updating sublist chats in Saved Messages.
Fixes #29448.
2025-07-11 19:26:00 +04:00
John Preston
6afd4dcdd1 Fix stats values display. 2025-07-09 09:33:50 +04:00
23rd
52bb189996 Fixed possible crash when paste invalid proxy link to proxy box. 2025-07-09 09:33:50 +04:00
John Preston
8ff6f9af45 Remove unused DELAYLOAD. 2025-07-08 23:24:48 +04:00
John Preston
36bb1d0cf3 Version 5.16.3.
- Allow removing / charging fee in channel direct messages.
- Don't offer creating checklists in channels.
- Support author channel in gifts.
2025-07-08 22:44:40 +04:00
John Preston
c7c8e39e20 Fix build with Xcode. 2025-07-08 22:44:40 +04:00
John Preston
8e9630459b Add session_id to mtproto logs. 2025-07-08 21:32:49 +04:00
Ilya Fedin
1c53fca925 Remove unused yasm dependency from snap 2025-07-08 20:38:51 +04:00
Ilya Fedin
7d78de0673 Get rid of QT_GENERATE_SBOM=OFF 2025-07-08 20:38:51 +04:00
John Preston
f8acc55365 Remove checklist creation in broadcasts. 2025-07-08 20:29:44 +04:00
John Preston
c3157fe90d Fix incorrect dc for stars revenue requests. 2025-07-08 20:29:43 +04:00
John Preston
35b129287b Support RemoveFee/ChargeFee in monoforums. 2025-07-08 20:29:43 +04:00
John Preston
d05155a403 Show who released the gift. 2025-07-08 20:29:43 +04:00
John Preston
f0aca45b11 Update API scheme on layer 207. 2025-07-04 21:31:20 +04:00
John Preston
d205e3b4a3 Version 5.16.2.
- Fix crash in some checklists.
- Fix problems with some private chats message sending.
- Fix chats list preview for rejected/balance-low suggestions.
2025-07-04 20:23:44 +04:00
John Preston
8b40a77297 Fix build. 2025-07-04 20:23:37 +04:00
John Preston
a7e87cc722 Try reducing self userFull requests. 2025-07-04 17:57:37 +04:00
John Preston
09f106bd49 Remove .00 from credits amount. 2025-07-04 17:57:35 +04:00
John Preston
8a0869fb75 Fix phrases for rejected/failed suggestion. 2025-07-04 17:56:35 +04:00
John Preston
7ccf26310d Fix spoilers in todo lists. 2025-07-04 17:51:02 +04:00
23rd
e1420ba26c Decreased size of ministars for buttons in media for history view. 2025-07-04 09:46:09 +03:00
23rd
c693c9cd44 Fixed history list of earn channel for currency. 2025-07-03 22:13:38 +03:00
GitHub Action
e698557092 Update User-Agent for DNS to Chrome 137.0.0.0. 2025-07-03 17:46:26 +04:00
John Preston
1238c90450 Fix crash in Todo Lists. 2025-07-03 13:52:54 +04:00
John Preston
e991dca5a0 Version 5.16.1.
- Fix inline keyboard updating in bot messages.
- Fix possible crash in fast chat switching.
- Different minor fixes.
2025-07-02 17:32:50 +04:00
23rd
37093c9f33 Slightly improved mini stars for button in history view premium gifts. 2025-07-02 17:32:50 +04:00
John Preston
1dd4f62ece Fix editing direct message prices. 2025-07-02 17:32:50 +04:00
Ilya Fedin
9ec27aad53 Update patches 2025-07-02 17:24:38 +04:00
Ilya Fedin
f1d3a946d5 Get rid of libtgvoip leftovers 2025-07-02 17:24:38 +04:00
John Preston
fd24f7045e Fix editing price per message. 2025-07-02 12:36:07 +04:00
John Preston
33671e7737 Save correct starsPerMessage for admins. 2025-07-02 12:04:29 +04:00
John Preston
13ecc6a56b Use separate phrase for Update Time. 2025-07-02 12:04:01 +04:00
23rd
20815eecbc Fixed request of recent gifts only when peer has gifts. 2025-07-02 10:18:22 +03:00
23rd
f2f5ffd861 Moved out Type of ministars from class to separated enum class. 2025-07-02 10:18:22 +03:00
John Preston
b0971601b1 Add distinct item for Poll in menu. 2025-07-02 11:15:48 +04:00
23rd
7253d764d2 Guarded requests of recent gifts for button from shared media section. 2025-07-02 11:05:48 +04:00
23rd
71f3a1f7cf Fixed wrong duplicated gifts in button from shared media section. 2025-07-02 11:05:41 +04:00
John Preston
950659b29d Fix aggregate checklists updates. 2025-07-02 10:57:20 +04:00
John Preston
b4392d0e3c Update cmake submodule. 2025-07-02 10:27:14 +04:00
John Preston
4571302642 Fix usd values in stats. 2025-07-02 10:08:12 +04:00
Ilya Fedin
5121f04d66 Remove jemalloc 2025-07-02 09:38:24 +04:00
Ilya Fedin
77642d2876 Limit the amount of malloc arenas and call malloc_trim periodically with glibc
To prevent excessive memory usage looking like memory leak
2025-07-02 09:38:24 +04:00
John Preston
ef69796798 Fix bot buttons refresh. 2025-07-02 07:20:51 +04:00
John Preston
869854fbc2 Version 5.16: Fix build with GCC. 2025-07-01 23:53:52 +04:00
John Preston
4584d912cc Version 5.16.
- Create private and group checklists.
- Suggest Posts in Channels.
- Monetizing via Suggested Posts.
2025-07-01 23:05:11 +04:00
John Preston
ddd3d38dac Use more separate phrases. 2025-07-01 23:00:40 +04:00
John Preston
fcba6bc7d7 Fix first days of some months. 2025-07-01 22:20:09 +04:00
John Preston
a147c0fb4f Update API scheme on layer 206. 2025-07-01 22:10:30 +04:00
John Preston
c3cc3fa9bd Separate phrase for paid messages placeholder. 2025-07-01 22:10:14 +04:00
23rd
0f0e14132a Added ability to copy and paste proxy list with shortcuts. 2025-07-01 19:33:25 +04:00
23rd
a2c2ed0b4a Added ability to clear proxy list from top context menu in settings. 2025-07-01 19:33:25 +04:00
23rd
8bebca4502 Added ability to share your proxy list with clipboard. 2025-07-01 19:33:25 +04:00
23rd
e9a550d458 Added ability to add proxies list from clipboard. 2025-07-01 19:33:25 +04:00
23rd
bee567f2b1 Added transaction id info to channel earn history entries. 2025-07-01 19:33:25 +04:00
23rd
0fd7061671 Replaced Data::EarnHistoryEntry with Data::CreditsHistoryEntry. 2025-07-01 19:33:25 +04:00
23rd
96951576c1 Fixed credits display in statistic charts. 2025-07-01 19:33:24 +04:00
John Preston
a665d7cc3c Show USD estimate in suggest posts. 2025-07-01 19:32:49 +04:00
John Preston
9b989329d4 Fix muted state of monoforums. 2025-07-01 15:59:20 +04:00
John Preston
eccfd75a83 Scroll to active tab in subsection tabs. 2025-07-01 15:10:21 +04:00
John Preston
7e8a152eef Fix crash in topic links opening. 2025-07-01 14:39:28 +04:00
John Preston
44810f95a5 Fix clearing history in legacy groups. 2025-07-01 14:12:35 +04:00
John Preston
bcd42dbb6a Block forwarded todo lists. 2025-07-01 13:01:29 +04:00
John Preston
6e77126a65 Fix task completion date tooltip. 2025-07-01 12:29:00 +04:00
John Preston
735bbef655 Fix phone/card click handler generation. 2025-07-01 12:23:55 +04:00
John Preston
7006a07dd3 Show completed-by names in tasks. 2025-07-01 12:10:08 +04:00
John Preston
7284926db4 Support links in tasks. 2025-07-01 11:26:56 +04:00
John Preston
b506bf9506 Fix webpage preview glitch in small bubbles. 2025-07-01 11:05:02 +04:00
John Preston
3fea28f8b0 Warn admins about commission and stars. 2025-06-30 22:23:55 +04:00
John Preston
cc6649667c Revert "Get rid of /DELAYLOAD"
This reverts commit 6586791655.
2025-06-30 18:29:28 +04:00
John Preston
24121fbbce Improve conditions / phrases. 2025-06-30 18:26:53 +04:00
John Preston
ef280dae3e Open ready-preloaded TON section. 2025-06-30 16:56:42 +04:00
John Preston
49f580a36b Use better file origin for gift stickers. 2025-06-30 13:27:13 +04:00
John Preston
a56d2b1313 Better handle min in linked channels. 2025-06-30 13:22:04 +04:00
John Preston
f083180401 Support correct sitckers for TON gifts. 2025-06-30 12:32:33 +04:00
23rd
7b870edefa Added specific color for blue currency icon. 2025-06-30 11:22:08 +03:00
23rd
a293fa1de6 Replaced std::map with flat_map for selected items in history list. 2025-06-30 10:55:25 +03:00
23rd
3a8898dd24 Added ability to share proxy with QR code. 2025-06-30 10:55:25 +03:00
23rd
b97c8b9a17 Fixed order of saving grouped media from bulk download menu item. 2025-06-30 10:55:25 +03:00
23rd
a0a8d76441 Proceeded returned earn history entries as inbound. 2025-06-30 09:51:53 +03:00
23rd
9199612cf7 Slightly improved macOS build docs by adding storage requirements. 2025-06-30 01:01:15 +03:00
23rd
abfd37c045 Added suffix to version string for debug builds. 2025-06-29 23:40:24 +03:00
23rd
ac243136b9 Replaced AboutBox with generic box. 2025-06-29 23:40:24 +03:00
23rd
c93e948bb3 Added support of maximum amount of credits to withdraw from app config. 2025-06-29 22:34:46 +03:00
23rd
388803ffdb Fit transactions id from credits history entries to table cell. 2025-06-29 22:34:46 +03:00
23rd
a809ccf229 Added support of special sticker pack for currency history entries. 2025-06-29 22:34:46 +03:00
23rd
d1796a515e Fixed comparing of credits amount with different types. 2025-06-29 22:34:46 +03:00
23rd
a11d3efed6 Added support of usd rate for withdrawal from app config. 2025-06-29 22:34:46 +03:00
23rd
9d7aab4326 Added initial support of personal earn currency history. 2025-06-29 21:14:20 +03:00
23rd
a3b76fed4c Added initial implementation of section for personal currency settings. 2025-06-29 21:14:20 +03:00
23rd
21f5f96d69 Added entry point to section of personal currency settings. 2025-06-29 21:14:20 +03:00
23rd
70d3061d59 Added support of lottie icon to premium top bar. 2025-06-29 21:14:20 +03:00
23rd
8f7a66a21a Improved spell checking on macOS. 2025-06-29 21:14:20 +03:00
23rd
cd8e944751 Added recent gifts to section of shared media from info profile. 2025-06-29 21:14:20 +03:00
23rd
66e05594f6 Fixed display of top bar suggestion on premium value changed. 2025-06-29 21:14:20 +03:00
23rd
d06a9e2e5c Added missing shortcut to toggle fullscreen for windows on macOS. 2025-06-29 21:14:20 +03:00
23rd
64df9222dd Added handle of flood errors on requesting to check chat invite.
Fixed #29368.
2025-06-29 21:14:20 +03:00
23rd
900ac46583 Moved out gifts from userpic to description in credits history list. 2025-06-29 21:14:20 +03:00
23rd
fda1c8399f Added icon to big button in credits settings. 2025-06-29 21:14:20 +03:00
23rd
c2cd4fc75f Improved style of credits settings. 2025-06-29 21:14:20 +03:00
23rd
ef5a9eb777 Added some utils to convenient insert of credits icons to text labels. 2025-06-29 21:14:20 +03:00
23rd
8e3100acdd Added ability to provide max width to about label in premium top bar. 2025-06-29 21:14:20 +03:00
23rd
50d74fcf25 Fixed build with layer 206. 2025-06-29 21:14:20 +03:00
John Preston
140862ce5a Update API scheme on layer 206. 2025-06-29 20:42:52 +03:00
John Preston
966453dd8f Update scheme on layer 206. Build broken. 2025-06-27 22:54:34 +04:00
John Preston
fcd37adc38 Fix build with Xcode. 2025-06-27 22:53:37 +04:00
John Preston
6a3989488e Fix possible crash in quick replies. 2025-06-27 21:29:39 +04:00
John Preston
fbfdef8f9a Remove balance for admins changing prices. 2025-06-27 21:29:39 +04:00
John Preston
b66c61573f Make counter-suggestions link originals. 2025-06-27 21:29:39 +04:00
John Preston
9186b28b60 Fix suggest of a forward. 2025-06-27 21:29:39 +04:00
John Preston
915a1b105c Add balance of stars / TON. 2025-06-27 21:29:39 +04:00
John Preston
12b9b3ce71 To-Do List -> Checklist. 2025-06-27 21:29:39 +04:00
John Preston
deb4c48551 Server-side min/max values for TON suggests. 2025-06-27 21:29:39 +04:00
John Preston
9dfaac8582 Optimize some request channel full requests. 2025-06-27 21:29:39 +04:00
John Preston
bd5b9f5347 Make less channel full requests. 2025-06-27 21:29:39 +04:00
John Preston
ff4b9a3cfe Improve suggest post UI. 2025-06-27 21:29:35 +04:00
John Preston
e844d7ed89 Use phrase from lang.strings for TON gift. 2025-06-27 21:29:35 +04:00
John Preston
f3ae8f7f75 Fix styles in discussion group management. 2025-06-27 21:29:35 +04:00
John Preston
f137eddbf9 Use correct premium promo for To-Do Lists. 2025-06-27 21:29:35 +04:00
John Preston
c70f75b21a Add Stars/TON checks to suggestions. 2025-06-27 21:29:35 +04:00
John Preston
141fb875f9 Add icons to suggestion buttons. 2025-06-27 21:29:35 +04:00
John Preston
344d47e7dd Fix stars amount check. 2025-06-27 21:29:35 +04:00
John Preston
4840a9094b Check amounts of stars/TON. 2025-06-27 21:29:35 +04:00
John Preston
6f305c8974 Improve layout in suggested price box. 2025-06-27 21:29:35 +04:00
John Preston
c83bae3bb5 Use correct icon in post suggesting. 2025-06-27 21:29:35 +04:00
John Preston
4c1b962486 Support adding an offer to existing message. 2025-06-27 21:29:35 +04:00
John Preston
b929e2a7b2 Update API scheme on layer 160, show correct warnings. 2025-06-27 21:29:35 +04:00
John Preston
1ecd7aa7cf Implement suggestion of changes. 2025-06-27 21:29:34 +04:00
John Preston
881aed50ea Support _suggestOptions for changes in ComposeControls. 2025-06-27 21:29:34 +04:00
John Preston
6272b79f70 Allow suggesting with TON. 2025-06-27 21:29:34 +04:00
John Preston
0fa50f1951 Update API scheme on layer 206. 2025-06-27 21:29:34 +04:00
John Preston
dc19f2e76c Start suggesting changes to messages by editing. 2025-06-27 21:29:34 +04:00
John Preston
498116c3f6 Show correctly change suggestions. 2025-06-27 21:29:34 +04:00
John Preston
e29dcf7489 Update API scheme on layer 206. Re-Suggest. 2025-06-27 21:29:34 +04:00
John Preston
ec28eea7f0 Make keyboard fully shown with media. 2025-06-27 21:29:34 +04:00
John Preston
ebce4d0f31 Show suggested service info. 2025-06-27 21:29:34 +04:00
John Preston
bf9492e083 Show approve/decline service messages. 2025-06-27 21:29:34 +04:00
John Preston
cb987c1baf PoC suggested accept/decline. 2025-06-27 21:29:34 +04:00
John Preston
e4a4be1f53 Don't show visibility status in opened-by-link gifts. 2025-06-27 21:29:34 +04:00
John Preston
f6d1fe6c04 Update API scheme on layer 206. 2025-06-27 21:29:34 +04:00
John Preston
7e5a29a5cc PoC suggesting posts to channels. 2025-06-27 21:29:34 +04:00
John Preston
8dbc175c02 Update API scheme on layer 206. 2025-06-27 21:29:33 +04:00
John Preston
0473374d51 Allow admin sending to monoforum for free. 2025-06-27 21:29:33 +04:00
John Preston
b2d7342b9e Attempt to fix monoforum muted setting. 2025-06-27 21:29:33 +04:00
John Preston
b965aecc6c Update API scheme to layer 206. 2025-06-27 21:29:33 +04:00
John Preston
9290c90bdc Allow fully editing todo lists. 2025-06-27 21:29:33 +04:00
John Preston
d83a80ec53 Improve adding tasks to todo lists. 2025-06-27 21:29:33 +04:00
John Preston
248fe1b53f Add tasks to todo lists. 2025-06-27 21:29:33 +04:00
John Preston
bf217bf7aa Check premium for todo lists actions. 2025-06-27 21:29:33 +04:00
John Preston
e5de8e22b7 Add fireworks on ending a task list. 2025-06-27 21:29:33 +04:00
John Preston
5666e84d92 Add ability to create todo lists. 2025-06-27 21:29:33 +04:00
John Preston
a97d1b8669 Support task lists view/update/actions. 2025-06-27 21:29:33 +04:00
John Preston
06db13a0ab Update API scheme to layer 205. 2025-06-27 21:29:33 +04:00
John Preston
9832af7cce Show messages from channels in monoforums. 2025-06-27 21:29:32 +04:00
Yagiz Nizipli
cf4a617f2b update ada-url to v3.2.4 (#29353) 2025-06-27 09:56:01 -07:00
Sean Wei
5a6a5fd4d1 Change const T&& parameters to T&& to enable proper move semantics
Previously some constructors/functions used `const T&&`, which prevents
calling the move constructor. This commit removes the `const` qualifier
so that `std::move` actually performs a move.
2025-06-27 20:50:08 +04:00
Ilya Fedin
e6ebc19b4f Switch qt snapcraft part to cmake plugin 2025-06-27 20:49:30 +04:00
Ilya Fedin
02dd0dbbef Push Docker image to GHCR again 2025-06-24 08:47:28 +04:00
John Preston
2e4a437d32 Version 5.15.4.
- Fix updating messages in Saved Messages subchats.
- Fix possible issues with mouse cursor on Linux.
2025-06-12 22:07:05 +04:00
John Preston
63e1d6dab6 Fix saved messages sublists updates. 2025-06-12 22:07:02 +04:00
Daniel Novomeský
23133499c7 Update dav1d, openh264, libwebp, libavif, libde265, libheif 2025-06-10 08:56:12 +04:00
Ilya Fedin
67bd87b50c Prevent non-Qt harfbuzz/libpng from being linked 2025-06-10 08:55:58 +04:00
Ilya Fedin
6d31a4246f Fix default cursor path 2025-06-09 20:24:09 +04:00
John Preston
d4f38b6d66 Version 5.15.3: Revert cmake_helpers downgrade. 2025-06-09 11:05:47 +04:00
John Preston
959229f143 Version 5.15.3.
- Fix new contact top bar appearance.
- Remove change photo button for channel direct messages.
2025-06-09 09:39:02 +04:00
John Preston
22f9b1a0b1 Hide photo change button for monoforums. 2025-06-09 09:37:51 +04:00
John Preston
a8fc5a722f Fix display of contact status. 2025-06-09 09:37:51 +04:00
Ilya Fedin
6102119673 Update cmake_helpers 2025-06-06 11:14:06 +04:00
Ilya Fedin
0c635a05ff Allow overriding jobs count in Dockerfile 2025-06-06 11:14:06 +04:00
Ilya Fedin
307a7791df Set Implib commit 2025-06-06 11:14:06 +04:00
Ilya Fedin
49b056a0ce Update xcb libraries to avoid freedesktop's anongit 2025-06-06 11:14:06 +04:00
Ilya Fedin
af58ffadcb Use cache action for Docker layers cache 2025-06-06 11:13:56 +04:00
John Preston
dcbda7b3af Version 5.15.2.
- Fix sending messages in new forum layout.
- Add statistics for user stars.
2025-06-05 22:55:29 +04:00
John Preston
553cc0c6ae Fix new forum messages sending. 2025-06-05 21:26:50 +04:00
23rd
067dcbfbeb Added initial entry point for self statistics of credits. 2025-06-05 19:59:02 +03:00
23rd
759258bb39 Added support of statistics availability to Credits component. 2025-06-05 19:49:25 +03:00
John Preston
3667ef551c Version 5.15.1.
- Fix launch on Windows 7.
- Fix launch on older Linux distributions.
- Fix crash in group chat message right click.
- Fix unread counters in channel direct messages.
- Don't generate "User joined" message in channel direct messages.
- Fix some other glitches in new forums and channel direct messages.
2025-06-05 19:08:28 +04:00
Ilya Fedin
a3308087a5 Fix static libstdc++ link 2025-06-05 16:57:04 +04:00
John Preston
bfb4652425 Realtime update admin status in members list. 2025-06-05 16:09:41 +04:00
John Preston
03c24e2906 Show better monoforum chat info column. 2025-06-05 15:29:26 +04:00
John Preston
dc61faace1 Handle disabling direct messages in channel. 2025-06-05 15:29:26 +04:00
John Preston
73ea86ceeb Improve monoforum chat profiles. 2025-06-05 14:24:30 +04:00
John Preston
9a622ab466 Add view channel button to monoforum info. 2025-06-05 14:09:03 +04:00
John Preston
65cfd6c81c Fix new forum layout search and topics list. 2025-06-05 13:55:55 +04:00
John Preston
08681ac1b9 Show join requests in new forums layout. 2025-06-05 13:39:33 +04:00
John Preston
f9acb5d19b Fix activation of wrong tab after new window. 2025-06-05 13:00:14 +04:00
John Preston
e9e187c58b Ctrl+Click to open subsection in a new window. 2025-06-05 12:54:59 +04:00
John Preston
3bc20c3550 Save last opened subsection within a launch. 2025-06-05 12:47:16 +04:00
John Preston
4b25406d14 Remove delay when switching subsection tabs. 2025-06-05 12:19:27 +04:00
John Preston
265b7904a8 Fix blockquote/code captions to media in reply bar. 2025-06-05 12:10:31 +04:00
John Preston
fb2274c58d Fix glitch in new forum layout opening. 2025-06-05 12:04:28 +04:00
John Preston
3cfdc9d897 Fix setting group emoji status. 2025-06-05 11:40:05 +04:00
John Preston
11986ac698 Show star in channel direct messages settings. 2025-06-05 11:33:43 +04:00
John Preston
a08436ecd2 Fix unread counters in filters with monoforums. 2025-06-05 11:04:23 +04:00
John Preston
e92adf94a7 Improve adaptive loading in subsection tabs. 2025-06-05 10:45:13 +04:00
Ilya Fedin
d25356917d Stop setting CMAKE_EXE_LINKER_FLAGS in actions 2025-06-05 09:56:19 +04:00
John Preston
0adb3b062f Use only first name in birthday notification. 2025-06-05 09:55:16 +04:00
John Preston
9316480884 Don't generate joined message in monoforums. 2025-06-05 09:22:44 +04:00
John Preston
4e5082f6c6 Fix comments root view position.
Fixes #29389.
2025-06-05 09:06:19 +04:00
John Preston
16d5dbe71c Fix crash in group chat context menu.
Fixes #29387.
2025-06-05 08:59:07 +04:00
John Preston
133d7874e3 Revert d3d compiler to 10.0.22621.3233. 2025-06-05 08:56:53 +04:00
John Preston
4659d5db5d Version 5.15.
- Send Direct Messages to Channels.
- Enable New Tab Layout for Topics.
- Create Polls with Up To 12 Options.
2025-06-04 22:56:02 +04:00
Ilya Fedin
af061125dd Fix Docker build without LTO 2025-06-04 21:33:53 +04:00
John Preston
5c4b1f6638 Show message author to admins in monoforums. 2025-06-04 21:33:27 +04:00
John Preston
ee3d70f879 Fix glitching userpics in monoforum. 2025-06-04 21:05:08 +04:00
John Preston
7dadaa1b28 Save subsection tabs layout to disk. 2025-06-04 19:39:34 +04:00
John Preston
a72782e232 Use server provided default stars count for direct. 2025-06-04 18:42:17 +04:00
John Preston
8654ffb6fb Don't show "Who Viewed" in monoforums. 2025-06-04 18:26:48 +04:00
John Preston
90e445eec9 Don't show notifications from other admins. 2025-06-04 18:26:30 +04:00
John Preston
910b6d8879 Fix unread mark badge in new forums layout. 2025-06-04 18:13:21 +04:00
John Preston
8d1c2f832d Add "Create topic" to new forum view. 2025-06-04 17:59:25 +04:00
John Preston
158d2a4124 Fix possible stack overflow in subsection tabs. 2025-06-04 17:59:10 +04:00
John Preston
66473738d6 Add simple shadow to subsection tabs. 2025-06-04 17:26:23 +04:00
John Preston
6a43107bb2 Fix possible crash in subsection tabs. 2025-06-04 16:52:44 +04:00
John Preston
28e7afa412 Even nicer empty chat. 2025-06-04 16:48:37 +04:00
John Preston
8dc151e14d Fix build on Windows. 2025-06-04 16:21:21 +04:00
John Preston
a330a3f2eb Nicer empty monoforum for non-admins. 2025-06-04 15:45:22 +04:00
Ilya Fedin
8f7195d3b2 Fix macOS action 2025-06-04 11:17:35 +04:00
Ilya Fedin
a4e4502d50 Add missing dependencies to macOS packaged action 2025-06-04 11:17:35 +04:00
GitHub Action
902da90100 Update User-Agent for DNS to Chrome 136.0.0.0. 2025-06-04 10:28:54 +04:00
John Preston
d775760f98 Support nice monoforum userpics. 2025-06-04 10:00:24 +04:00
John Preston
dfb6600104 Fix loading of horizontal avatar strip. 2025-06-04 10:00:24 +04:00
John Preston
41ed487d5e Improve opening ChatWidget at the end. 2025-06-04 10:00:24 +04:00
John Preston
d156de05a5 Allow replying in monoforum while not in it. 2025-06-04 10:00:24 +04:00
John Preston
f4582ddf36 Correctly mark monoforum chats as read. 2025-06-04 10:00:24 +04:00
John Preston
7f7b764f7b Allow ton:// links in webapps. 2025-06-04 10:00:24 +04:00
John Preston
dd8fdfc3d4 Allow forwarding polls to monoforums. 2025-06-04 10:00:24 +04:00
John Preston
6c80d443b9 Better entry point for Direct Messages. 2025-06-04 10:00:24 +04:00
John Preston
cd05586d51 Fix display of pinned messages in sublists. 2025-06-04 10:00:24 +04:00
John Preston
dfc1ec3ccf Support shared media / pins for sublists. 2025-06-04 10:00:23 +04:00
John Preston
ffe6786ad1 Support unread reactions in monoforums. 2025-06-04 10:00:23 +04:00
John Preston
6068678fa1 Improve separate window support. 2025-06-04 10:00:23 +04:00
John Preston
50b761fab2 Remove showing monoforums inside dialogs widget. 2025-06-04 10:00:23 +04:00
John Preston
0d43f16db2 Remove unsupported actions from monoforum menu. 2025-06-04 10:00:23 +04:00
John Preston
3278de9ba1 Support mark as read/unread in sublists. 2025-06-04 10:00:23 +04:00
John Preston
abe1962002 Show context menu for topics in new tabs. 2025-06-04 10:00:23 +04:00
John Preston
5b15f377cd Improve set direct message price box. 2025-06-04 10:00:23 +04:00
John Preston
d0e5ea78a5 Improve topics layout management. 2025-06-04 10:00:23 +04:00
John Preston
853757e611 Fix tabs transfer between chat widgets. 2025-06-04 10:00:22 +04:00
John Preston
c3860cfe72 Improve monoforum top bar status. 2025-06-04 10:00:22 +04:00
John Preston
90b2c077a6 Don't flood with bot requests in monoforums. 2025-06-04 10:00:22 +04:00
John Preston
fdce4bada7 Implement nice topic mode editing. 2025-06-04 10:00:22 +04:00
John Preston
4c8ff1c7ec Disable polls in monoforums, enable in Saved Messages. 2025-06-04 10:00:22 +04:00
John Preston
2a153214f6 Support polls with 12 options. 2025-06-04 10:00:22 +04:00
John Preston
d7c964afc5 Show "Messages" badge for monoforum. 2025-06-04 10:00:22 +04:00
John Preston
5943052cd1 Show badges in new tabs. 2025-06-04 10:00:22 +04:00
John Preston
8512154b45 Implement better horizontal/vertical tabs. 2025-06-04 10:00:22 +04:00
John Preston
0e5419c60b Fix opening forums with tabs. 2025-06-04 10:00:22 +04:00
John Preston
1d26482298 Update API scheme on layer 204. 2025-06-04 10:00:21 +04:00
John Preston
126749f04c Fix build with new MSVC. 2025-06-04 10:00:21 +04:00
John Preston
e0e69ce740 Support vertical tabs somehow. 2025-06-04 10:00:21 +04:00
John Preston
72b57924b7 Correctly load tab slices. 2025-06-04 10:00:21 +04:00
John Preston
fdbdeeb956 Start new tabs for monoforums. 2025-06-04 10:00:21 +04:00
John Preston
3dbdecf73d Make monoforum sender badges float. 2025-06-04 10:00:21 +04:00
John Preston
7dc8943840 Improve monoforum opening. 2025-06-04 10:00:21 +04:00
John Preston
646b852717 Correct rights check in monoforums. 2025-06-04 10:00:21 +04:00
John Preston
075f754a71 Update API scheme on layer 204. 2025-06-04 10:00:21 +04:00
John Preston
f65556acb7 Support drafts in monoforum sublists. 2025-06-04 10:00:21 +04:00
John Preston
b2c01991a6 Support unread state in sublists. 2025-06-04 10:00:21 +04:00
John Preston
4bc5e81513 Update API scheme on layer 204. 2025-06-04 10:00:19 +04:00
John Preston
2b24fe95c2 Update API scheme on layer 204. 2025-06-04 10:00:19 +04:00
John Preston
358e64f2cc Show monoforums as forums in chats list. 2025-06-04 10:00:19 +04:00
John Preston
5dc50b6d96 Respect price of messages to channels. 2025-06-04 10:00:18 +04:00
John Preston
b91a040a32 Update API scheme on layer 204. 2025-06-04 10:00:18 +04:00
John Preston
76db55ff19 Support forwarding to monoforums. 2025-06-04 10:00:18 +04:00
John Preston
e17bf18350 Update API scheme on layer 204. 2025-06-04 10:00:18 +04:00
John Preston
43b4499125 Add monoforum sender bar divider. 2025-06-04 10:00:18 +04:00
John Preston
c6d43a802c Fix sending messages in monoforums. 2025-06-04 10:00:18 +04:00
John Preston
21f8403357 Merge SublistSection into ChatSection. 2025-06-04 10:00:18 +04:00
John Preston
40053e3388 Rename RepliesWidget/Memento to ChatWidget/Memento. 2025-06-04 10:00:14 +04:00
John Preston
abcf7e3a47 Update API scheme & fix monoforum send. 2025-06-04 10:00:14 +04:00
John Preston
f8913bf9b9 Show square userpics for monoforums. 2025-06-04 10:00:14 +04:00
John Preston
51878ab38e Allow opening monoforums. 2025-06-04 10:00:14 +04:00
John Preston
d3f9a84a0a Allow enabling direct messages in channels. 2025-06-04 10:00:14 +04:00
John Preston
23eedb468f Update API scheme to layer 204. 2025-06-04 10:00:14 +04:00
John Preston
9cb89fff45 Fix dropping filter in gifts. 2025-06-04 10:00:14 +04:00
23rd
79f0b22276 Compressed lottie for media forbidden. 2025-06-03 18:30:38 +03:00
23rd
8b2a728a0d Fixed display of loading animation from search in Saved Messages. 2025-06-03 18:28:11 +03:00
23rd
b4120b156e Added nice overlay to recorded round videos. 2025-06-03 17:55:37 +03:00
23rd
1ae3122c20 Added support of suggestion to validate cloud password to settings. 2025-06-03 17:55:37 +03:00
23rd
727acca217 Updated Qt to 5.15.17 on Windows. 2025-06-03 17:55:37 +03:00
23rd
5f8d662d67 Slightly improved of forward declarations in history item. 2025-06-03 17:55:18 +03:00
23rd
81b432140c Added ability to edit caption from box even when file is uploaded. 2025-06-03 17:55:18 +03:00
23rd
adc1ee71a9 Slightly improved box to edit caption of grouped file. 2025-06-03 17:55:18 +03:00
23rd
5ac373d4aa Added simple box to edit caption of single file while it's uploading. 2025-06-03 17:55:18 +03:00
23rd
5b9e24f3f4 Slightly improved box for writing captions to be more generic. 2025-06-03 17:55:18 +03:00
23rd
0e44de2fe3 Slightly improved style of exception button in notifications settings. 2025-06-03 17:55:18 +03:00
23rd
b0125e8165 Slightly improved display of numbers approaching zero in stats charts. 2025-06-03 17:55:18 +03:00
23rd
a532067a93 Fixed dismissing of custom pending suggestions. 2025-06-03 17:55:18 +03:00
Ilya Fedin
f456071c08 Switch Dockerfile to packaged mode 2025-06-03 18:25:15 +04:00
Ilya Fedin
3896f0995c Runtime Implib detection 2025-06-03 18:25:15 +04:00
Ilya Fedin
56ff5808a3 Unify packaged/non-packaged binary name 2025-06-03 18:25:15 +04:00
Ilya Fedin
15c817dd15 Update Qt 6.9.0 -> 6.9.1 2025-06-03 15:01:48 +04:00
Ilya Fedin
7246c3f304 Set cmake OpenGL default to legacy in Dockerfile 2025-06-03 14:11:25 +04:00
Ilya Fedin
e4f59f1ec4 Build only static libraries in Dockerfile 2025-06-03 14:11:25 +04:00
Ilya Fedin
5f0e9538cf Move Implib to Dockerfile 2025-06-03 10:16:58 +04:00
Ilya Fedin
73649128f3 Update cmake_helpers 2025-06-03 09:58:11 +04:00
Ilya Fedin
edc84731ac Change debug cmake flags according to Dockerfile options 2025-06-03 09:58:11 +04:00
Ilya Fedin
108b116b06 Use lld when building without LTO in Dockerfile 2025-06-03 09:58:11 +04:00
Ilya Fedin
dda587dc6f DESKTOP_APP_USE_PACKAGED_LAZY -> DESKTOP_APP_DISABLE_QT_PLUGINS 2025-06-03 09:50:07 +04:00
Ilya Fedin
4a9dd43598 Update tg_owt 2025-06-03 09:41:49 +04:00
Ilya Fedin
a64cfe661a Add missing deps to webrtc Docker layer 2025-06-03 09:41:33 +04:00
Ilya Fedin
7e418a16ae Fix packaged conditions in lib_ffmpeg and Packer 2025-06-03 09:41:22 +04:00
Ilya Fedin
ecf1fa2bbd Get rid of lib prefixes in Docker layers 2025-06-03 09:28:44 +04:00
Ilya Fedin
a6157a34bc Update variable syntax in Dockerfile 2025-06-03 09:28:44 +04:00
Ilya Fedin
8e37e66706 Make TOOLSET variable not dependent on jinja in Dockerfile 2025-06-03 09:28:44 +04:00
Ilya Fedin
dd6a4931e5 Make QT variable local to the Docker layer 2025-06-03 09:28:44 +04:00
Ilya Fedin
2d000e826b Remove GIT variable from Dockerfile 2025-06-03 09:28:44 +04:00
Ilya Fedin
c1028e7408 Remove GIT_FREEDESKTOP variable from Dockerfile 2025-06-03 09:28:44 +04:00
Ilya Fedin
28b54fac37 Revert GIT_UPDATE_M4 in Dockerfile
This partially reverts commit 9461095c88.
2025-06-03 09:28:44 +04:00
Ilya Fedin
845fddf5f2 Use enable_language 2025-06-03 09:28:31 +04:00
Ilya Fedin
e3e2a477c1 Proper check for multi-config generator 2025-06-03 09:20:45 +04:00
Ilya Fedin
bf4442ecf5 CMAKE_CONFIG_TYPE doesn't seem to work
This partially reverts commit ae45189436.
2025-06-03 09:20:24 +04:00
Ilya Fedin
ab6375ef2a Update submodules 2025-05-27 10:56:02 +04:00
Ilya Fedin
2535b6e08c Update GCC to 14 on Linux 2025-05-27 10:56:02 +04:00
Ilya Fedin
2f003d416a Update OpenAL to 1.24.3 on Linux 2025-05-27 10:56:02 +04:00
Ilya Fedin
579b358f8b Use system gobject-introspection in Dockerfile 2025-05-27 10:56:02 +04:00
Ilya Fedin
231a583bf7 Build tg_owt in packaged mode in Dockerfile 2025-05-27 10:56:02 +04:00
Ilya Fedin
f0cfbacb4f Install Qt to global prefix in Dockerfile 2025-05-27 10:56:02 +04:00
Ilya Fedin
ae45189436 Set cmake generator, build type and parallel level globally in Dockerfile 2025-05-27 10:56:02 +04:00
Ilya Fedin
ff8292b863 Set build directory for libde265 in Dockerfile 2025-05-27 10:56:02 +04:00
Ilya Fedin
ebe45f73a0 Shorten GIT_UPDATE_M4 2025-05-27 10:56:02 +04:00
Ilya Fedin
88ce676c46 Use Python 3.11 explicitly in Docker 2025-05-20 18:55:54 +04:00
Ilya Fedin
426cc2798e Revert "Use Python 3.12 in Docker"
This reverts commit 1d2df63652.
2025-05-20 18:55:54 +04:00
Ilya Fedin
1d2df63652 Use Python 3.12 in Docker 2025-05-20 17:59:43 +04:00
John Preston
d22afa36c3 Version 5.14.3.
- Fix stale birthday suggestions removing.
- Fix notification click opening a new window.
2025-05-18 20:32:39 +04:00
John Preston
a7296f15ac Suggest to reset gifts filter. 2025-05-18 20:32:39 +04:00
John Preston
b20caee548 Check if the resale gift price changed. 2025-05-18 14:12:18 +04:00
John Preston
519832edd7 Show warnings for dangerous business bot rights. 2025-05-18 14:12:17 +04:00
John Preston
a2cea1e5bc More robust business bot editing. 2025-05-18 14:12:16 +04:00
John Preston
b3c198f0d2 Improve layout of media albums with likes. 2025-05-18 14:12:15 +04:00
23rd
b45a696b5d Fixed build of macOS on Github CI. 2025-05-17 09:22:12 +03:00
Mehran
a2b3fe6411 Add and slightly improve cloud languages 2025-05-16 12:38:04 +04:00
Ilya Fedin
13d4f37726 Use CMAKE_MSVC_DEBUG_INFORMATION_FORMAT in Windows action 2025-05-16 11:36:16 +04:00
23rd
71f34f4e31 Added ability to jump from code to phone input in intro with Space. 2025-05-15 18:19:49 +03:00
23rd
018f147de6 Slightly improved position of code input in intro step. 2025-05-15 17:58:14 +03:00
23rd
da012cbf8b Added lottie emoji to box for validate phone number in settings. 2025-05-15 17:58:14 +03:00
John Preston
3907a103fc Fix possible notification click problem.
Fixes #29293.
2025-05-15 15:34:23 +04:00
John Preston
efb566bcc7 Don't show resale gifts as "sold out". 2025-05-15 14:50:27 +04:00
John Preston
53e8df3542 Sort resale gifts by Price by default. 2025-05-15 14:50:22 +04:00
23rd
a00d262773 Added support of suggestion to validate phone number to settings. 2025-05-15 13:22:54 +03:00
23rd
b64db54793 Fixed possible incorrect display of low credits balance in top bar. 2025-05-15 10:09:24 +03:00
23rd
97c0e3d4a9 Added support of custom emoji to top bar suggestion. 2025-05-15 10:09:01 +03:00
23rd
ba31bbace8 Added refresh of top bar suggestion on day changed for birthdays. 2025-05-15 10:08:44 +03:00
23rd
606dfd29d3 Moved out data of contact birthdays to promo suggestions class. 2025-05-15 10:08:22 +03:00
23rd
9411d0781b Removed birthday suggestions for self, blocked and deleted accounts. 2025-05-15 09:22:22 +03:00
23rd
7aea200860 Fixed padding reset in top bar suggestion on suggestion changed. 2025-05-15 09:21:54 +03:00
Ilya Fedin
5d8ac95d07 Prepend PkgConfig variables with TDESKTOP_
To avoid clashes with cache variables set by third party cmake modules
2025-05-14 11:13:50 +04:00
Ilya Fedin
cd0ebb41aa Use CMAKE_COMPILE_WARNING_AS_ERROR in actions
Instead of specifying the compiler flag manually
2025-05-14 10:43:50 +04:00
Ilya Fedin
eb028b0dad Ensure clangd cache is out of build directory
It's annoying to rebuild index after cleaning the build directory
2025-05-13 10:41:42 +04:00
Ilya Fedin
61803f7516 Update submodules 2025-05-13 08:07:02 +04:00
Ilya Fedin
50bfed79be Update protobuf in snap 2025-05-13 07:48:03 +04:00
Ilya Fedin
1c77ae818e Update cmake_helpers 2025-05-12 09:41:26 +04:00
Ilya Fedin
66ede6037d Add t2e2e to snap 2025-05-12 09:41:26 +04:00
Ilya Fedin
01452b7309 Add tde2e to macOS Packaged action 2025-05-12 09:41:26 +04:00
Ilya Fedin
b5f2470b79 td -> tde2e 2025-05-12 09:41:26 +04:00
Ilya Fedin
49403e9fee Fix COPY order for libraries in Dockerfile 2025-05-12 09:41:26 +04:00
John Preston
66d512f26f Version 5.14.2.
- Buy Rare Gifts in the Marketplace.
- Sell Your Gifts for Stars.
- Set Your Channel to Auto-Translate.
2025-05-09 10:01:55 +04:00
John Preston
2ba0ebf3e8 Update cmake_helpers submodule. 2025-05-09 10:01:55 +04:00
John Preston
bbcd27d3c2 Fix possible crash in restrictions. 2025-05-09 10:01:55 +04:00
Ilya Fedin
837a3528cd Fix mozjpeg build with cmake 4 2025-05-08 03:41:54 -07:00
Ilya Fedin
f39662588f Revert "Cherry-pick mozjpeg cmake 4 compatibility"
This reverts commit 9fd1f95ab8.
2025-05-08 03:41:54 -07:00
Ilya Fedin
4b12f52029 Revert "Set CMAKE_MSVC_RUNTIME_LIBRARY for mozjpeg"
This reverts commit ce764c862f.
2025-05-08 03:41:54 -07:00
Ilya Fedin
f2920ddefb Use Docker's actions to build Docker image 2025-05-08 02:52:14 -07:00
Ilya Fedin
ce010653d5 Don't create unnecessary subfolder in Linux action
It results in a tdesktop/tdesktop/tdesktop path
2025-05-08 02:52:14 -07:00
Ilya Fedin
ce764c862f Set CMAKE_MSVC_RUNTIME_LIBRARY for mozjpeg
The cherry-pick made in 9fd1f95ab8 broke mozjpeg's own WITH_CRT_DLL variable so we have to use the cmake one
2025-05-08 02:38:45 -07:00
Ilya Fedin
60d821ae3e Use cmake --build in macOS action 2025-05-08 02:37:08 -07:00
Ilya Fedin
8f7f8fc0b5 Set CMAKE_CONFIGURATION_TYPES for actions 2025-05-08 02:37:08 -07:00
John Preston
ec45041a66 Fix empty query migrated group search. 2025-05-08 10:53:23 +04:00
Ilya Fedin
67a666b282 Return accidentally removed video formats 2025-05-07 23:19:39 -07:00
Ilya Fedin
d9404fc566 Raise minimum required cmake version to 3.25
Use policies up to 3.31
2025-05-07 23:13:01 -07:00
23rd
bcd899c641 Slightly improved phrases to admin log for channels. 2025-05-07 22:35:30 +03:00
John Preston
ec61ac29ea Fix forum showing when group not opened. 2025-05-07 22:17:49 +04:00
John Preston
180e663a43 Implement nice confcall bar text. 2025-05-07 22:10:44 +04:00
John Preston
ae1711a685 Use translated phrase for collectible upgrade. 2025-05-07 21:05:33 +04:00
John Preston
9c3b62574d Change some hard-coded phrases. 2025-05-07 20:35:01 +04:00
John Preston
a3637c12d6 Fix first message date with new peer info. 2025-05-07 18:53:21 +04:00
John Preston
cae192682b Improve notification Ctrl+Click to open a new window.
Fixes #29144.
2025-05-07 18:52:52 +04:00
23rd
6c68bacaef Added ability to open chat in window from Ctrl+click on notifications. 2025-05-07 18:09:34 +04:00
John Preston
ee7a2b564b Show "Join" button for pinned call links. 2025-05-07 18:03:59 +04:00
John Preston
fb25d90b48 Hide weird unread badge in new-window forum. 2025-05-07 18:03:46 +04:00
John Preston
9075a521f0 Correctly show global search with in-chat. 2025-05-07 18:03:18 +04:00
John Preston
00a0e595ff Don't add global posts search preview for in-chat start. 2025-05-07 17:12:00 +04:00
John Preston
694ff32b01 Always search hashtags in current chat. 2025-05-07 16:56:55 +04:00
John Preston
a74635ff56 Fix: Hide 'My gifts' tab when gifting to self 2025-05-07 16:52:57 +04:00
John Preston
8c6f3d66b5 Don't mask gift numbers in service notifications. 2025-05-07 16:44:41 +04:00
John Preston
a49cb06d77 Fix unread count update in folder strip. 2025-05-07 16:39:42 +04:00
John Preston
f96f478470 Rename linked-chat to discussion-link. 2025-05-07 14:58:47 +04:00
John Preston
1d2f713673 Fix Cursor rules files. 2025-05-07 14:50:01 +04:00
23rd
57d24d0fbf Fixed ability to dismiss of suggestion of 2+ birthdays of contacts. 2025-05-07 12:16:51 +03:00
23rd
584e55a89c Fixed crash on dismiss of birthday suggestion. 2025-05-07 12:15:50 +03:00
23rd
4560a83441 Fixed creation of new filter with selected dialog from menu. 2025-05-07 11:47:00 +03:00
23rd
f4658728e8 Fixed update of currency balance on error receiving. 2025-05-07 11:17:33 +03:00
23rd
54825dc66f Fixed button for currency withdrawal from bots. 2025-05-07 10:28:54 +03:00
23rd
d4056ac10a Slightly improved style of withdrawal widget in bot earn stats. 2025-05-07 10:04:26 +03:00
23rd
8f409a8fe2 Fixed swipe-back on strip of similar channels. 2025-05-07 10:04:26 +03:00
23rd
d369d988b0 Fixed possible crashed on local zoom of charts in stats. 2025-05-07 10:04:26 +03:00
23rd
2a74736761 Removed ability to set wallpaper to replies chat. 2025-05-07 10:04:26 +03:00
23rd
6bd0bf6e69 Made more rpl-friendly balance label in channel profile. 2025-05-07 10:04:26 +03:00
23rd
53cee177e8 Added timeout to earn requests for channels and bots. 2025-05-07 10:04:26 +03:00
23rd
a8afc62db7 Added ability to inspect earn balance from channel info. 2025-05-07 10:04:26 +03:00
23rd
14328eb601 Fixed right label for only paid reaction in edit peer info box. 2025-05-06 20:50:19 +03:00
23rd
2184755fdf Fixed ripple from top button in box about sponsored messages. 2025-05-06 20:50:19 +03:00
23rd
3a3cd1f856 Slightly improved icon position in PointDetailsWidget for stats. 2025-05-06 20:50:19 +03:00
23rd
24a3a41cd6 Slightly improved code style in PromoSuggestions. 2025-05-06 12:33:03 +03:00
23rd
197f6b05ae Added support of custom promo suggestions. 2025-05-06 12:21:42 +03:00
23rd
c2e887a86e Moved out top promo from api and suggestions from config to single file. 2025-05-06 12:21:06 +03:00
John Preston
dc1459438c Fix a crash in screen share window close. 2025-05-05 11:43:51 +04:00
John Preston
00e6da9d64 Fix build with Xcode. 2025-05-05 11:43:51 +04:00
John Preston
68b3d75705 Track and show "too early" gift transfer/resell. 2025-05-05 11:43:51 +04:00
John Preston
3e538b732a Update API scheme on layer 203. 2025-05-05 11:43:51 +04:00
John Preston
833341dea7 Show transfer price if transfer from resale. 2025-05-05 11:43:51 +04:00
John Preston
bc3efe2f4c Improve gift resale transaction entries. 2025-05-05 11:43:51 +04:00
John Preston
10e4c59f2e Correct implementation of auto-translation. 2025-05-05 11:43:51 +04:00
John Preston
d9016b7979 Update API scheme on layer 203. 2025-05-05 11:43:51 +04:00
John Preston
d975610ecd Update API scheme on layer 203. 2025-05-05 11:43:51 +04:00
John Preston
5d1251f6d8 Improve layout of resale gift counters. 2025-05-05 11:43:50 +04:00
John Preston
bdf802e64a Use TextWithEntities().append(style::IconEmoji). 2025-05-05 11:43:50 +04:00
John Preston
f2b888f9ae Use nice icons in resale gifts sorting. 2025-05-05 11:43:50 +04:00
John Preston
9583007769 Apply auto-translation from French? for test. 2025-05-05 11:43:50 +04:00
John Preston
eb81c33308 Allow saving "Autotranslation of Messages" in channels. 2025-05-05 11:43:50 +04:00
John Preston
8d734f5cc4 Update API scheme on layer 203. 2025-05-05 11:43:50 +04:00
John Preston
3375ff6152 Use correct phrases for the resold gifts. 2025-05-05 11:43:50 +04:00
John Preston
80fc58f83e Reorder privacy and security settings. 2025-05-05 11:43:50 +04:00
John Preston
17c0124747 Improve price layout in saved gifts. 2025-05-05 11:43:50 +04:00
John Preston
c220d4dd17 Handle STARGIFT_RESELL_TOO_EARLY error. 2025-05-05 11:43:50 +04:00
John Preston
15146725e3 Fix transfer of my gifts from Resale. 2025-05-05 11:43:50 +04:00
John Preston
ddfab824c3 Respect gift privacy for resell gifts. 2025-05-05 11:43:50 +04:00
John Preston
8b5a00ca27 Add separate "Change Price" context menu button. 2025-05-05 11:43:50 +04:00
John Preston
04a7f14c0e Add price tag in resale gift view. 2025-05-05 11:43:50 +04:00
John Preston
18f14b828c Allow buying resold gifts. 2025-05-05 11:43:50 +04:00
John Preston
0a92e12a62 Allow placing your gifts on sale. 2025-05-05 11:43:50 +04:00
John Preston
5b71281ec4 Update API scheme on layer 203. 2025-05-05 11:43:50 +04:00
John Preston
08fdc4f1fc Add "Resale" tab in gift selection. 2025-05-05 11:43:50 +04:00
John Preston
c726bef740 Allow buying reselling gifts. 2025-05-05 11:43:50 +04:00
John Preston
94e0ac3f54 Add resale gift sorting modes icons. 2025-05-05 11:43:50 +04:00
John Preston
284f7fc4f7 Improve resale unique gift display. 2025-05-05 11:43:50 +04:00
John Preston
e629460942 Implement filtering of resale gifts. 2025-05-05 11:43:50 +04:00
John Preston
904e531113 Show resell info in gifts choose box. 2025-05-05 11:43:49 +04:00
John Preston
ca2f2adc90 Use correct paths for the rules files. 2025-05-05 10:58:35 +04:00
Ilya Fedin
78a3e329f5 Use gperf from msys2 2025-05-03 04:46:45 -07:00
Ilya Fedin
5938e0f821 Use native versions of diffutils and pkg-config on Windows 2025-05-03 04:46:45 -07:00
Ilya Fedin
4a6ae3b46c Use ninja from Windows SDK 2025-05-03 04:46:45 -07:00
Ilya Fedin
2327d661b9 Update msys2 2025-05-03 04:46:45 -07:00
Ilya Fedin
9790e37154 Remove unused ThirdParty\cmake\bin from prepare.py 2025-05-03 04:46:45 -07:00
Ilya Fedin
f97d751343 Update tg_owt 2025-05-03 04:46:45 -07:00
Ilya Fedin
81c1f6bd8e Update rnnoise 2025-05-03 04:46:45 -07:00
Ilya Fedin
e3a5a4239b Don't override C(XX)FLAGS for static MSVC library in prepare.py
Rely solely on CMAKE_MSVC_RUNTIME_LIBRARY
2025-05-03 04:46:45 -07:00
Ilya Fedin
fcec85881f Update xz to 5.8.1 in Docker 2025-05-03 04:46:45 -07:00
Ilya Fedin
cfefb8b2e0 Update zlib to 1.3.1 2025-05-03 04:46:45 -07:00
Ilya Fedin
e81a2a5011 Update Opus to 1.5.2
This fixes compatibility with cmake 4
2025-05-03 04:46:45 -07:00
Ilya Fedin
d62b488459 Ensure ffmpeg can find static pkg-config deps 2025-05-03 04:46:45 -07:00
Ilya Fedin
932bd92b95 Cherry-pick libde265 cmake 4 compatibility 2025-05-03 04:46:45 -07:00
Ilya Fedin
9fd1f95ab8 Cherry-pick mozjpeg cmake 4 compatibility 2025-05-03 04:46:45 -07:00
Ilya Fedin
cf414cb9cb Update cmake_helpers 2025-05-03 03:09:40 -07:00
Ilya Fedin
f676d32f96 Fix tde2e include the way tdlib itself uses it 2025-05-03 03:09:40 -07:00
John Preston
7d88c48c39 Version 5.14.1.
- Fix launching on Windows 7.
2025-05-01 19:01:11 +04:00
John Preston
26337a6bd4 Partially revert "Get rid of /DELAYLOAD"
This partially reverts commit 6586791655.
2025-05-01 18:57:35 +04:00
John Preston
1263a5bfc0 Fix build on MSVC. 2025-05-01 17:59:38 +04:00
John Preston
fe21ca5b95 Update lib_ui. 2025-05-01 17:57:46 +04:00
23rd
0fe9dad515 Added initial api support of bank card entity in messages. 2025-05-01 13:51:16 +03:00
John Preston
75b33c906d Version 5.14.
- Secure Group Calls Made Easy.
- Automated Business Accounts.
- New Gifts Settings.
2025-05-01 12:43:35 +04:00
23rd
835fa77964 Fixed unpaused custom emoji in top bar of sponsored messages. 2025-05-01 12:43:35 +04:00
John Preston
3e13186560 Fix right Open button in search results. 2025-05-01 12:11:03 +04:00
John Preston
01f191289d Update cmake_helpers. 2025-05-01 11:59:54 +04:00
Ilya Fedin
6586791655 Get rid of /DELAYLOAD 2025-05-01 00:59:24 -07:00
John Preston
b4f6774ca8 Update cmake_helpers. 2025-05-01 11:52:57 +04:00
John Preston
75d346fe69 Add support for tg://stars link. 2025-05-01 11:13:22 +04:00
John Preston
27780c7327 Add xml to ip-revealing extensions.
In case you put SVG content in an .xml file it shows it in the browser.
2025-05-01 11:13:22 +04:00
John Preston
100a8882f1 Add support for svg icons in style codegen. 2025-05-01 11:13:22 +04:00
John Preston
983bd1a57b Add some Cursor rules / ignore paths. 2025-05-01 11:13:22 +04:00
John Preston
810f7949f4 Fix crash in marking message contents read. 2025-05-01 11:13:22 +04:00
23rd
28c502bd85 Fixed display of plural phrase in moderate box. 2025-05-01 11:13:22 +04:00
23rd
b8c313965f Fixed display of negative views count in message preview from stats. 2025-05-01 11:13:22 +04:00
23rd
8a2dcbbcff Removed 'new' badge from entry for messages effect in premium summary. 2025-05-01 11:13:22 +04:00
John Preston
263b9fa611 Add avrt.dll to the list of delayload libs. 2025-05-01 11:13:22 +04:00
23rd
793e15f80c Added entry point to settings section for login email change. 2025-05-01 11:13:22 +04:00
23rd
23d1394fb2 Added settings section for input of code confirm for login email. 2025-05-01 11:13:22 +04:00
23rd
f97bb23c9d Added settings section for input of new login email replacement. 2025-05-01 11:13:22 +04:00
23rd
d557739a28 Added api support to change login email. 2025-05-01 11:13:22 +04:00
23rd
8d06243b57 Added login email pattern to cloud password data. 2025-05-01 11:13:22 +04:00
23rd
9a4b73b942 Added ability to provide marked text to right label of settings button. 2025-05-01 11:13:21 +04:00
23rd
d73e0dd13c Added phrases for login email settings. 2025-05-01 11:13:21 +04:00
23rd
2f3818fe4b Added assertion on looking up for controller from top bar suggestion. 2025-05-01 11:13:21 +04:00
John Preston
d3d773079c Closed alpha version 5.13.1.5. 2025-05-01 11:13:21 +04:00
23rd
0b2acec50c Ensured to clear all top bar suggestion states on each check. 2025-05-01 11:13:21 +04:00
23rd
3501e4f44d Slightly improved check of today birthdays suggestion. 2025-05-01 11:13:21 +04:00
23rd
384c540197 Added special status to peers in gifts list with tomorrow birthday. 2025-05-01 11:13:21 +04:00
John Preston
1b78ffc018 Fix crash in joining video chats. 2025-05-01 11:13:21 +04:00
John Preston
79f4f0adbf Closed alpha version 5.13.1.4. 2025-05-01 11:13:21 +04:00
John Preston
98d71308a8 Update tgcalls, don't link libtgvoip any more. 2025-05-01 11:13:21 +04:00
23rd
4f0fa66575 Added ability to open profile of user by click on userpic in gift box. 2025-05-01 11:13:21 +04:00
23rd
ecac3a0f16 Added context menu to list in ChooseStarGiftRecipient. 2025-05-01 11:13:21 +04:00
23rd
d1898b9a0b Excluded non-today birthdays from reminder in top bar from dialogs. 2025-05-01 11:13:21 +04:00
23rd
868c7b170e Set premium grace suggestion as top priority. 2025-05-01 11:13:21 +04:00
23rd
b1c5c53687 Fixed display of chat filters strip while search in peer. 2025-05-01 11:13:21 +04:00
23rd
6704886c6e Fixed display of top bar suggestion while search in peer. 2025-05-01 11:13:21 +04:00
23rd
7e45283ba2 Added privacy link to birthday box from top bar suggestion. 2025-05-01 11:13:21 +04:00
John Preston
ff67d876b2 Respect "call_requests_disabled" for confcalls. 2025-05-01 11:13:21 +04:00
John Preston
4975a0a8d8 Update tgcalls. 2025-05-01 11:13:21 +04:00
John Preston
e34a4338a1 Closed alpha version 5.13.1.3. 2025-05-01 11:13:21 +04:00
John Preston
0b4986b47a Fix build on Windows. 2025-05-01 11:13:21 +04:00
John Preston
937eab5f27 Update tde2e/tgcalls. 2025-05-01 11:13:20 +04:00
John Preston
70378bfac8 Improve emoji animation. 2025-05-01 11:13:20 +04:00
John Preston
29d87f692a Add carousel animation for emoji fingerprint. 2025-05-01 11:13:20 +04:00
John Preston
b1b2798be1 Update tde2e library. 2025-05-01 11:13:20 +04:00
John Preston
2b74ad8b5f Disable raised-hand state in confcalls. 2025-05-01 11:13:20 +04:00
John Preston
3098fa6855 Rejoin async on e2e error. 2025-05-01 11:13:20 +04:00
John Preston
53883a7f1f Improve confcall re-create keyboard navigation. 2025-05-01 11:13:20 +04:00
John Preston
2c048376d4 Add TDLib build phases for tde2e part. 2025-05-01 11:13:20 +04:00
John Preston
b583240d58 Put prioritized users on top of inactive confcall. 2025-05-01 11:13:20 +04:00
John Preston
844be11d43 Closed alpha version 5.13.1.2. 2025-05-01 11:13:20 +04:00
John Preston
53b739139b Suggest invite to empty/discarded joining call. 2025-05-01 11:13:20 +04:00
John Preston
d09d1d72e6 Improve "Open" bot button in suggestions. 2025-05-01 11:13:20 +04:00
John Preston
01d927aceb Improve confcall join. 2025-05-01 11:13:20 +04:00
John Preston
59abfcbd6d Support "Device Storage" web app feature. 2025-05-01 11:13:20 +04:00
John Preston
4c2ec15f70 Fix "Add People" button visibility update. 2025-05-01 11:13:20 +04:00
John Preston
2b6dfbf4eb Closed alpha version 5.13.1.1. 2025-05-01 11:13:18 +04:00
John Preston
eb8372eb91 Poll sub_chain_id:1 blocks after call_create. 2025-05-01 11:13:18 +04:00
John Preston
c6b2967da0 Implement "Create New Call" interface. 2025-05-01 11:13:18 +04:00
John Preston
042f51e58f Optimize confcall join process. 2025-05-01 11:13:18 +04:00
John Preston
c72cf46db7 Implement fast confcall migration. 2025-05-01 11:13:18 +04:00
John Preston
2a7aac76d9 Update API scheme on layer 202. 2025-05-01 11:13:18 +04:00
John Preston
a569495f5d Fix discarding group call invites. 2025-05-01 11:13:18 +04:00
John Preston
59e56600bc Reuse p2p call window for migrated confcall. 2025-05-01 11:13:18 +04:00
John Preston
915dec7ba5 Show right call top bar after migration. 2025-05-01 11:13:18 +04:00
John Preston
909bd3dd2d Allow kicking from confcall by creator. 2025-05-01 11:13:18 +04:00
John Preston
d50fad615f Check confcall size limit. 2025-05-01 11:13:18 +04:00
John Preston
b036bedbc3 Support distinct calling/invited states. 2025-05-01 11:13:18 +04:00
John Preston
55c05d1a6e Allow discard invite or cancel ringing. 2025-05-01 11:13:17 +04:00
John Preston
344c0f6427 Check phone access on join. 2025-05-01 11:13:17 +04:00
John Preston
8ab1a7268b Handle all types of confcall invite responses. 2025-05-01 11:13:17 +04:00
John Preston
e5f31dbe8e Remove unnecessary stale participant check. 2025-05-01 11:13:17 +04:00
John Preston
783c5c12e9 Improve couple of phrases. 2025-05-01 11:13:17 +04:00
John Preston
c972485555 Allow revoking confcall link. 2025-05-01 11:13:17 +04:00
John Preston
c507382d19 Keep window geometry on confcall migration. 2025-05-01 11:13:17 +04:00
John Preston
fbbcbc8753 Respect conference_supported flag. 2025-05-01 11:13:17 +04:00
John Preston
a5fa595627 Update API scheme on layer 202. 2025-05-01 11:13:17 +04:00
John Preston
502045f1fa Improve mute/video migration to confcall. 2025-05-01 11:13:17 +04:00
John Preston
e9280777fd Fix confcall video encryption. 2025-05-01 11:13:17 +04:00
John Preston
c36f402b88 Fix bug in OpenAL patches on Windows. 2025-05-01 11:13:17 +04:00
John Preston
3a68dd50ce Fix applying some Data::GroupCall updates. 2025-05-01 11:13:17 +04:00
John Preston
eb06c0da08 Try migrating mute/video state. 2025-05-01 11:13:17 +04:00
John Preston
6528567746 Log applying blocks and fix sub_chain_id:1. 2025-05-01 11:13:17 +04:00
John Preston
09229812f4 Show nice confcall invites. 2025-05-01 11:13:17 +04:00
John Preston
aaa37a3e0d Update API scheme on layer 202. 2025-05-01 11:13:17 +04:00
John Preston
c5531b1bd8 Implement audio/video confcall invitations. 2025-05-01 11:13:17 +04:00
John Preston
021115b463 Nice join confcall confirm box. 2025-05-01 11:13:17 +04:00
John Preston
698d9c208f Improve confcall invite management. 2025-05-01 11:13:17 +04:00
John Preston
01a6b432f3 Improve some confcall graphics. 2025-05-01 11:13:16 +04:00
John Preston
a5f44b3ed6 Fix incorrect naming userpic as public photo. 2025-05-01 11:13:16 +04:00
John Preston
a3ba99c682 Implement incoming confcall window. 2025-05-01 11:13:16 +04:00
John Preston
7c709fddba Allow editing confcall messages. 2025-05-01 11:13:16 +04:00
John Preston
8f313b4603 Update API scheme on layer 202. 2025-05-01 11:13:16 +04:00
John Preston
41c0a5ee3b Add "Join Call" button to confcall link previews. 2025-05-01 11:13:16 +04:00
John Preston
346f7aadd6 Render confcall messages as phone calls. 2025-05-01 11:13:16 +04:00
John Preston
be611c1920 Show confcall users that are only on blockchain. 2025-05-01 11:13:16 +04:00
John Preston
e33a866a63 Give some admin rights to confcall creator. 2025-05-01 11:13:16 +04:00
John Preston
c846eeed9d Fix cal buttons positioning. 2025-05-01 11:13:16 +04:00
John Preston
d052eac019 Initial call->confcall migration. 2025-05-01 11:13:16 +04:00
John Preston
9dbd134601 Implement multi-inviting to confcalls. 2025-05-01 11:13:16 +04:00
John Preston
6451e1cfe2 Remove debug logging in swipes. 2025-05-01 11:13:16 +04:00
John Preston
9f3f715527 Allow sharing link from confcall. 2025-05-01 11:13:16 +04:00
John Preston
0d8e5b139b Add some special phrases. 2025-05-01 11:13:16 +04:00
John Preston
5d5dda548a Implement nice call link box. 2025-05-01 11:13:16 +04:00
John Preston
1d32e5267c Fix incorrect waiting blocks applying. 2025-05-01 11:13:16 +04:00
John Preston
a300a25419 Fix complicated crash in async base::Timer destroying. 2025-05-01 11:13:16 +04:00
John Preston
4eaf03b922 Update API scheme on layer 202. 2025-05-01 11:13:15 +04:00
John Preston
4401ea388c PoC confcall invite, emoji. 2025-05-01 11:13:15 +04:00
John Preston
dfe6ad3a32 Update gift icon for input field. 2025-05-01 11:13:15 +04:00
John Preston
e3ef870b29 Remove stale confcall users from blockchain. 2025-05-01 11:13:15 +04:00
John Preston
7deb5bfdf2 Update API scheme, something works now. 2025-05-01 11:13:15 +04:00
John Preston
0e46a4402a Update API scheme on layer 202. 2025-05-01 11:13:15 +04:00
John Preston
33a15e69bb Move blocks order checking to tde2e_api module. 2025-05-01 11:13:15 +04:00
John Preston
ebe11fdb1e Pass encrypt/decrypt callback to tgcalls. 2025-05-01 11:13:15 +04:00
John Preston
f9a7c46868 Update tgcalls. 2025-05-01 11:13:15 +04:00
John Preston
c80c23e8e8 PoC conference call creation. 2025-05-01 11:13:15 +04:00
John Preston
5e6c81a98e Parse e2e participant keys. 2025-05-01 11:13:15 +04:00
John Preston
214cc83d4a Update API scheme to layer 202. 2025-05-01 11:13:15 +04:00
John Preston
8e643fbf87 Add tde2e dependency. 2025-05-01 11:13:11 +04:00
23rd
6008d9e12b Added birthday sublist to contact list in gift box. 2025-05-01 11:13:01 +04:00
23rd
81da453ec4 Added suggestion to top-up low credits balance for subscriptions. 2025-05-01 11:13:01 +04:00
23rd
f34835463d Added initial ability to create credit icon as non-session custom emoji. 2025-05-01 11:13:01 +04:00
23rd
eb3419f3fc Added ability to request credits subscriptions with missing balance. 2025-05-01 11:13:01 +04:00
23rd
5886a07300 Fixed ability to renew credits subscription. 2025-05-01 11:13:01 +04:00
23rd
69e7c27fd0 Added premium grace suggestion to top bar in dialogs. 2025-05-01 11:13:01 +04:00
23rd
165cf6809f Added experimental option to display date when you joined to channel. 2025-05-01 11:13:01 +04:00
23rd
9b2b8b6796 Fixed display of top bar suggestion while display filtered dialogs. 2025-05-01 11:13:01 +04:00
23rd
3ed6d1dec1 Added strike out cost without discount in premium options in settings. 2025-05-01 11:13:00 +04:00
23rd
9ad1d1c25d Fixed some unused-but-set-variable warnings. 2025-05-01 11:13:00 +04:00
23rd
667e614bf3 Simplified proper cleanup of allocated event filters for swipe handler. 2025-05-01 11:13:00 +04:00
23rd
d49da1fdd0 Added missed label for current balance in section of bot credits earn. 2025-05-01 11:13:00 +04:00
23rd
85b0733169 Improved guard of right edge iterator in linear chart view for stats. 2025-05-01 11:13:00 +04:00
23rd
7f2bba7c4a Fixed ttl phrase for 1 year. 2025-05-01 11:13:00 +04:00
23rd
664ec62396 Slightly improved style of text in top bar suggestion. 2025-05-01 11:13:00 +04:00
23rd
b4a9e45214 Improved display of top bar suggestion in non-main chats lists. 2025-05-01 11:13:00 +04:00
23rd
2eab7044ba Added ability to emplace top bar suggestion later. 2025-05-01 11:13:00 +04:00
23rd
8d449f91c6 Fixed phrases in list of active group calls from Calls box. 2025-05-01 11:13:00 +04:00
23rd
be8a836528 Fixed clearing of inactive quick dialog actions. 2025-05-01 11:13:00 +04:00
23rd
423782fd2b Improved birthday reminder of multiple contacts in top bar from dialogs. 2025-05-01 11:13:00 +04:00
23rd
dc1dc8dffa Added today birthdays to data session. 2025-05-01 11:13:00 +04:00
23rd
16a77e2975 Removed redundant buttons from profile of bot verification. 2025-05-01 11:13:00 +04:00
23rd
df69a70dd7 Removed ability to set wallpaper to chat with bot verification. 2025-05-01 11:13:00 +04:00
23rd
0638c86211 Removed ability to set TTL to chat with bot verification. 2025-05-01 11:13:00 +04:00
23rd
8c0de22c14 Added birthday reminder of multiple contacts to top bar in dialogs. 2025-05-01 11:13:00 +04:00
23rd
f83568c6c9 Added birthday reminder of single contact to top bar in dialogs. 2025-05-01 11:13:00 +04:00
23rd
10d472728c Added userpic suggestion to top bar in dialogs. 2025-05-01 11:13:00 +04:00
23rd
2c3cb3f5ce Added suggestion for restore premium to top bar in dialogs. 2025-05-01 11:12:59 +04:00
23rd
fbfe3fd5ed Added suggestion for upgrade to premium to top bar in dialogs. 2025-05-01 11:12:59 +04:00
23rd
b280a26317 Replaced management of top bar for suggestion in dialogs with rpl. 2025-05-01 11:12:59 +04:00
23rd
640db8af7d Added suggestion for annual premium to top bar in dialogs. 2025-05-01 11:12:59 +04:00
23rd
98d9357208 Added auto clean of top bar in dialogs on empty. 2025-05-01 11:12:59 +04:00
23rd
f3b6c7c09b Added birthday suggestion to top bar in dialogs. 2025-05-01 11:12:59 +04:00
23rd
3a622f111a Added initial dummy draft for top bar suggestions in dialogs. 2025-05-01 11:12:59 +04:00
23rd
e0b1ed87e8 Fixed ability to trigger quick dialog action with non-middle button. 2025-05-01 11:12:59 +04:00
23rd
63578affa4 Added toasts to quick dialog actions. 2025-05-01 11:12:59 +04:00
23rd
74b188fa46 Fixed ability to click on bot app button in narrowed chat list. 2025-05-01 11:12:59 +04:00
Ilya Fedin
fadaf852b7 Update lib_lottie 2025-04-30 23:43:46 -07:00
Ilya Fedin
ac6124951a Use C++/WinRT from SDK 2025-04-30 23:43:46 -07:00
Ilya Fedin
89e42af149 Update cmake_helpers 2025-04-30 23:42:10 -07:00
Ilya Fedin
cf5987b2b4 Update protobuf in Docker 2025-04-30 23:42:10 -07:00
Ilya Fedin
069d8d376c Unify libtgvoip options handling 2025-04-30 23:42:10 -07:00
Ilya Fedin
fe3d8ea2be Don't check non-MSVC options with MSVC for tgcalls 2025-04-30 23:42:10 -07:00
Ilya Fedin
3ac03b43e1 Add missing dependency on win_directx_helper 2025-04-30 23:42:10 -07:00
Ilya Fedin
eaf1a532f4 Remove workaround to find the right OpenAL in macOS packaged action 2025-04-30 23:42:10 -07:00
Ilya Fedin
f2b0116c1e Don't require PkgConfig for libtgvoip 2025-04-30 23:42:10 -07:00
Ilya Fedin
155b5fa831 Don't link openh264 to td_ui
It's not used directly
2025-04-30 23:42:10 -07:00
Ilya Fedin
130c77a305 Update disptach to 6.1 2025-04-30 23:32:45 -07:00
GitHub Action
2e168d152f Update User-Agent for DNS to Chrome 135.0.0.0. 2025-04-30 23:02:17 -07:00
Yagiz Nizipli
635ed02198 update ada-url to v3.2.2 2025-04-24 00:06:56 -07:00
dependabot[bot]
cd81a54062 Bump jinja2 from 3.1.5 to 3.1.6 in /Telegram/build/docker/centos_env
Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.5 to 3.1.6.
- [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.5...3.1.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-24 00:06:11 -07:00
GitHub Action
1035d787ab Update User-Agent for DNS to Chrome 134.0.0.0. 2025-04-24 00:05:39 -07:00
Ilya Fedin
29567df407 Re-enable ffmpeg optimizations on Linux
By disabling LTO
2025-04-23 23:59:30 -07:00
Ilya Fedin
79cb4668f1 Fix a crash on Linux without actions notification capability 2025-04-23 23:58:12 -07:00
Ilya Fedin
9bdc19e2fd Format markup-lacking Linux notifications using lng_dialogs_text_with_from 2025-04-11 09:51:19 -07:00
Ilya Fedin
25cd6106f5 Use Ui::ImageExtensions in PhotoVideoFilesFilter
This allows it to have all supported image extensions just like ImagesFilter
2025-04-11 09:51:08 -07:00
Ilya Fedin
13fbe59164 Free more space in Docker action 2025-04-05 06:56:47 +05:00
Ilya Fedin
c261c3367a Fix a PiP crash with Qt 6.9 2025-04-05 06:55:06 +05:00
Ilya Fedin
8b92ab25c7 Update Qt 6.8.2 -> 6.9.0 2025-04-04 15:53:51 +05:00
Ilya Fedin
0aa1031270 Use global c(xx)flags for breakpad in Docker, just not LTO 2025-04-04 15:18:55 +05:00
Ilya Fedin
dec8bdb39d Update breakpad in Docker to v2024.02.16 2025-04-04 15:18:55 +05:00
Ilya Fedin
f318aeb67c Don't base Docker libjxl stage on patches
There's nothing the stage uses in it
2025-04-04 13:13:31 +05:00
nyakze
8b791e77d6 Update mime_type.cpp
add m3u to ip revealing types
2025-04-01 18:22:09 +05:00
Ilya Fedin
260b72fec1 Check location picker support early 2025-03-31 00:17:18 +05:00
Ilya Fedin
7d0beafce0 Ensure currentImageBack isn't null 2025-03-28 23:07:55 +05:00
Ilya Fedin
3c2f8b65ce Let QIcon::fromTheme check whether the tray icon is valid
QIcon::fromTheme overload with a fallback does a smarter check whether the icon is valid, use it to prevent getting a half-valid QIcon.
2025-03-27 21:58:36 +05:00
John Preston
5f73e8b3bf Version 5.13.1.
- Fix crash in group/channel stories.
2025-03-26 23:25:46 +05:00
John Preston
74afeeb85f Fix crash in group/channel stories. 2025-03-26 23:22:14 +05:00
John Preston
f8920e5fef Version 5.13.
- Allow transferring my unique gifts from Send Gift section.
- Edit type of gifts you accept in Settings > Privacy and Security.
- Swipe navigation using swipe gesture on touchpads / touchscreens.
- Choose chat list quick action for swipe or middle click.
2025-03-26 13:23:36 +05:00
John Preston
dd76313084 Fix shell prepare running on macOS. 2025-03-26 13:23:36 +05:00
John Preston
627ff6f26e Fix build with GCC. 2025-03-26 11:51:26 +04:00
John Preston
705db0b9cf Fix build with Xcode. 2025-03-26 12:27:55 +05:00
John Preston
47a958d81d Update lib_ui. 2025-03-26 07:13:52 +04:00
John Preston
906fc9cc1d Show more frozen errors. 2025-03-26 07:13:16 +04:00
John Preston
44d9525476 Update send gift icon visibility. 2025-03-26 07:13:16 +04:00
John Preston
8b2a549fab Fix crash in gifts repaint. 2025-03-26 07:13:15 +04:00
John Preston
7312e34f46 Update icons for gifts privacy. 2025-03-26 07:13:15 +04:00
John Preston
696be858f6 Load my gifts while scrolling in Send Gift. 2025-03-26 07:13:15 +04:00
John Preston
e1f4fd0c7b Remove blue border from gifts. 2025-03-26 07:13:15 +04:00
John Preston
f51320d1bc Add some more frozen restrictions. 2025-03-26 07:13:15 +04:00
John Preston
a0764190f2 Support sponsored peers in search results. 2025-03-26 07:13:15 +04:00
John Preston
33c5b35444 Send sponsored peers click requests. 2025-03-26 07:13:15 +04:00
John Preston
04e10f81b5 Send sponsored peers view requests. 2025-03-26 07:13:15 +04:00
John Preston
7f2545a9ef Request sponsored peers in global search. 2025-03-26 07:13:15 +04:00
John Preston
a2a16f3f23 Implement new business bots permissions. 2025-03-26 07:13:15 +04:00
John Preston
ab2a947992 Move "Show Gift Button" block up. 2025-03-26 07:13:15 +04:00
John Preston
7d0a73a6b0 Show gift button in the message field. 2025-03-26 07:13:15 +04:00
John Preston
e3c3a68566 Update API scheme on layer 201. 2025-03-26 07:13:15 +04:00
John Preston
4fc026b13c Allow transferring unique gifts from Send Gift. 2025-03-26 07:13:15 +04:00
John Preston
c0fed4d2c3 Filter out allowed gift types. 2025-03-26 07:13:15 +04:00
John Preston
b656e14453 Edit additional privacy options for gifts. 2025-03-26 07:13:11 +04:00
John Preston
fbab3964e6 Handle some frozen cases. 2025-03-26 07:11:20 +04:00
John Preston
d9b270b477 Initial frozen accounts support. 2025-03-26 07:11:20 +04:00
John Preston
7f53a19647 Update API scheme to layer 201. 2025-03-26 07:11:20 +04:00
23rd
9f1e90d007 Updated Qt to 6.2.12 on macOS. 2025-03-25 17:55:54 +03:00
23rd
9a439e1941 Added ability to switch tabs in dialogs suggestions with swipe. 2025-03-24 22:58:04 +03:00
23rd
4e4c69993c Ensured proper cleanup of allocated event filters for swipe handler. 2025-03-24 22:58:04 +03:00
23rd
0d085d500f Added ability to provide custom swipe handler to Info::ContentWidget. 2025-03-24 22:58:04 +03:00
23rd
f734c0475b Replaced SetupSwipeHandler signature from arguments to struct. 2025-03-24 22:58:04 +03:00
23rd
a30951dc91 Fixed swipe handler for small chat lists. 2025-03-24 22:58:04 +03:00
23rd
c4b37950a9 Added filename as fallback for audio files while export chat history.
Fixed #28920.
2025-03-24 22:58:04 +03:00
23rd
7cf832a2f4 Replaced div tags with span for reactions in export chat history. 2025-03-24 22:58:04 +03:00
23rd
1f07e7978d Improved background buttons in box for share QR box on different scales. 2025-03-24 22:58:04 +03:00
23rd
5adab2739b Fixed icon scale in call panel when recipient has low level of battery. 2025-03-24 22:58:04 +03:00
23rd
2be76760de Slightly improved style of settings for quick dialog action. 2025-03-24 22:58:04 +03:00
23rd
28c125a3ec Added some special cases when quick dialog action can't be performed. 2025-03-21 17:59:26 +03:00
23rd
bdf8a37a8f Guarded repaint of special quick dialog actions that lead to de-listing. 2025-03-21 17:59:21 +03:00
23rd
838711e2ac Added maximum of lifetime to every deactivated quick dialog action. 2025-03-21 17:26:50 +03:00
23rd
c085691c54 Moved out active quick action from total list of quick dialog actions. 2025-03-21 16:47:55 +03:00
23rd
47506d70ed Simplified signature of ResolveQuickDialogLottieIconName. 2025-03-21 16:47:46 +03:00
23rd
efc7cc4980 Added convenient bool operator to SwipeContextData. 2025-03-21 16:44:50 +03:00
John Preston
f2016a8aa5 Don't ensure cursor visibility on modifier keys.
Fix #29108.
2025-03-21 09:35:00 +04:00
Yagiz Nizipli
d6bbc375c4 Update prepare.py 2025-03-21 09:26:42 +04:00
Yagiz Nizipli
885996c5cf update ada-url to v3.2.1 2025-03-21 09:26:42 +04:00
1021 changed files with 64463 additions and 15209 deletions

105
.cursor/rules/api_usage.mdc Normal file
View File

@@ -0,0 +1,105 @@
---
description: For tasks requiring sending Telegram server API requests or working with generated API types.
globs:
alwaysApply: false
---
# Telegram Desktop API Usage
## API Schema
The API definitions are described using [TL Language]\(https:/core.telegram.org/mtproto/TL) in two main schema files:
1. **`Telegram/SourceFiles/mtproto/scheme/mtproto.tl`**
* Defines the core MTProto protocol types and methods used for basic communication, encryption, authorization, service messages, etc.
* Some fundamental types and methods from this schema (like basic types, RPC calls, containers) are often implemented directly in the C++ MTProto core (`SourceFiles/mtproto/`) and may be skipped during the C++ code generation phase.
* Other parts of `mtproto.tl` might still be processed by the code generator.
2. **`Telegram/SourceFiles/mtproto/scheme/api.tl`**
* Defines the higher-level Telegram API layer, including all the methods and types related to chat functionality, user profiles, messages, channels, stickers, etc.
* This is the primary schema used when making functional API requests within the application.
Both files use the same TL syntax to describe API methods (functions) and types (constructors).
## Code Generation
A custom code generation tool processes `api.tl` (and parts of `mtproto.tl`) to create corresponding C++ classes and types. These generated headers are typically included via the Precompiled Header (PCH) for the main `Telegram` project.
Generated types often follow the pattern `MTP[Type]` (e.g., `MTPUser`, `MTPMessage`) and methods correspond to functions within the `MTP` namespace or related classes (e.g., `MTPmessages_SendMessage`).
## Making API Requests
API requests are made using a standard pattern involving the `api()` object (providing access to the `MTP::Instance`), the generated `MTP...` request object, callback handlers for success (`.done()`) and failure (`.fail()`), and the `.send()` method.
Here's the general structure:
```cpp
// Include necessary headers if not already in PCH
// Obtain the API instance (usually via api() or MTP::Instance::Get())
api().request(MTPnamespace_MethodName(
// Constructor arguments based on the api.tl definition for the method
MTP_flags(flags_value), // Use MTP_flags if the method has flags
MTP_inputPeer(peer), // Use MTP_... types for parameters
MTP_string(messageText),
MTP_long(randomId),
// ... other arguments matching the TL definition
MTP_vector<MTPMessageEntity>() // Example for a vector argument
)).done([=]\(const MTPResponseType &result) {
// Handle the successful response (result).
// 'result' will be of the C++ type corresponding to the TL type
// specified after the '=' in the api.tl method definition.
// How to access data depends on whether the TL type has one or multiple constructors:
// 1. Multiple Constructors (e.g., User = User | UserEmpty):
// Use .match() with lambdas for each constructor:
result.match([&]\(const MTPDuser &data) {
/* use data.vfirst_name().v, etc. */
}, [&]\(const MTPDuserEmpty &data) {
/* handle empty user */
});
// Alternatively, check the type explicitly and use the constructor getter:
if (result.type() == mtpc_user) {
const auto &data = result.c_user(); // Asserts if type is not mtpc_user!
// use data.vfirst_name().v
} else if (result.type() == mtpc_userEmpty) {
const auto &data = result.c_userEmpty();
// handle empty user
}
// 2. Single Constructor (e.g., Messages = messages { msgs: vector<Message> }):
// Use .match() with a single lambda:
result.match([&]\(const MTPDmessages &data) { /* use data.vmessages().v */ });
// Or check the type explicitly and use the constructor getter:
if (result.type() == mtpc_messages) {
const auto &data = result.c_messages(); // Asserts if type is not mtpc_messages!
// use data.vmessages().v
}
// Or use the shortcut .data() for single-constructor types:
const auto &data = result.data(); // Only works for single-constructor types!
// use data.vmessages().v
}).fail([=]\(const MTP::Error &error) {
// Handle the API error (error).
// 'error' is an MTP::Error object containing the error code (error.type())
// and description (error.description()). Check for specific error strings.
if (error.type() == u"FLOOD_WAIT_X"_q) {
// Handle flood wait
} else {
Ui::show(Box<InformBox>(Lang::Hard::ServerError())); // Example generic error handling
}
}).handleFloodErrors().send(); // handleFloodErrors() is common, then send()
```
**Key Points:**
* Always refer to `Telegram/SourceFiles/mtproto/scheme/api.tl` for the correct method names, parameters (names and types), and response types.
* Use the generated `MTP...` types/classes for request parameters (e.g., `MTP_int`, `MTP_string`, `MTP_bool`, `MTP_vector`, `MTPInputUser`, etc.) and response handling.
* The `.done()` lambda receives the specific C++ `MTP...` type corresponding to the TL return type.
* For types with **multiple constructors** (e.g., `User = User | UserEmpty`), use `result.match([&]\(const MTPDuser &d){ ... }, [&]\(const MTPDuserEmpty &d){ ... })` to handle each case, or check `result.type() == mtpc_user` / `mtpc_userEmpty` and call the specific `result.c_user()` / `result.c_userEmpty()` getter (which asserts on type mismatch).
* For types with a **single constructor** (e.g., `Messages = messages{...}`), you can use `result.match([&]\(const MTPDmessages &d){ ... })` with one lambda, or check `type()` and call `c_messages()`, or use the shortcut `result.data()` to access the fields directly.
* The `.fail()` lambda receives an `MTP::Error` object. Check `error.type()` against known error strings (often defined as constants or using `u"..."_q` literals).
* Directly construct the `MTPnamespace_MethodName(...)` object inside `request()`.
* Include `.handleFloodErrors()` before `.send()` for standard flood wait handling.

View File

@@ -0,0 +1,164 @@
---
description: For tasks requiring changing or adding user facing phrases and text parts.
globs:
alwaysApply: false
---
# Telegram Desktop Localization
## Coding Style Note
**Use `auto`:** In the actual codebase, variable types are almost always deduced using `auto` (or `const auto`, `const auto &`) rather than being written out explicitly. Examples in this guide may use explicit types for clarity, but prefer `auto` in practice.
```cpp
// Prefer this:
auto currentTitle = tr::lng_settings_title(tr::now);
auto nameProducer = GetNameProducer(); // Returns rpl::producer<...>
// Instead of this:
QString currentTitle = tr::lng_settings_title(tr::now);
rpl::producer<QString> nameProducer = GetNameProducer();
```
## String Resource File
Base user-facing English strings are defined in the `lang.strings` file:
`Telegram/Resources/langs/lang.strings`
This file uses a key-value format with named placeholders:
```
"lng_settings_title" = "Settings";
"lng_confirm_delete_item" = "Are you sure you want to delete {item_name}?";
"lng_files_selected" = "{count} files selected"; // Simple count example (see Pluralization)
```
Placeholders are enclosed in curly braces, e.g., `{name}`, `{user}`. A special placeholder `{count}` is used for pluralization rules.
### Pluralization
For keys that depend on a number (using the `{count}` placeholder), English typically requires two forms: singular and plural. These are defined in `lang.strings` using `#one` and `#other` suffixes:
```
"lng_files_selected#one" = "{count} file selected";
"lng_files_selected#other" = "{count} files selected";
```
While only `#one` and `#other` are defined in the base `lang.strings`, the code generation process creates C++ accessors for all six CLDR plural categories (`#zero`, `#one`, `#two`, `#few`, `#many`, `#other`) to support languages with more complex pluralization rules.
## Translation Process
While `lang.strings` provides the base English text and the keys, the actual translations are managed via Telegram's translations platform (translations.telegram.org) and loaded dynamically at runtime from the API. The keys from `lang.strings` (including the `#one`/`#other` variants) are used on the platform.
## Code Generation
A code generation tool processes `lang.strings` to create C++ structures and accessors within the `tr` namespace. These allow type-safe access to strings and handling of placeholders and pluralization. Generated keys typically follow the pattern `tr::lng_key_name`.
## String Usage in Code
Strings are accessed in C++ code using the generated objects within the `tr::` namespace. There are two main ways to use them: reactively (returning an `rpl::producer`) or immediately (returning the current value).
### 1. Reactive Usage (rpl::producer)
Calling a generated string function directly returns a reactive producer, typically `rpl::producer<QString>`. This producer automatically updates its value whenever the application language changes.
```cpp
// Key: "settings_title" = "Settings";
auto titleProducer = tr::lng_settings_title(); // Type: rpl::producer<QString>
// Key: "confirm_delete_item" = "Are you sure you want to delete {item_name}?";
auto itemNameProducer = /* ... */; // Type: rpl::producer<QString>
auto confirmationProducer = tr::lng_confirm_delete_item( // Type: rpl::producer<QString>
tr::now, // NOTE: tr::now is NOT passed here for reactive result
lt_item_name,
std::move(itemNameProducer)); // Placeholder producers should be moved
```
### 2. Immediate Usage (Current Value)
Passing `tr::now` as the first argument retrieves the string's current value in the active language (typically as a `QString`).
```cpp
// Key: "settings_title" = "Settings";
auto currentTitle = tr::lng_settings_title(tr::now); // Type: QString
// Key: "confirm_delete_item" = "Are you sure you want to delete {item_name}?";
const auto currentItemName = QString("My Document"); // Type: QString
auto currentConfirmation = tr::lng_confirm_delete_item( // Type: QString
tr::now, // Pass tr::now for immediate value
lt_item_name, currentItemName); // Placeholder value is a direct QString (or convertible)
```
### 3. Placeholders (`{tag}`)
Placeholders like `{item_name}` are replaced by providing arguments after `tr::now` (for immediate) or as the initial arguments (for reactive). A corresponding `lt_tag_name` constant is passed before the value.
* **Immediate:** Pass the direct value (e.g., `QString`, `int`).
* **Reactive:** Pass an `rpl::producer` of the corresponding type (e.g., `rpl::producer<QString>`). Remember to `std::move` the producer or use `rpl::duplicate` if you need to reuse the original producer afterwards.
### 4. Pluralization (`{count}`)
Keys using `{count}` require a numeric value for the `lt_count` placeholder. The correct plural form (`#zero`, `#one`, ..., `#other`) is automatically selected based on this value and the current language rules.
* **Immediate (`tr::now`):** Pass a `float64` or `int` (which is auto-converted to `float64`).
```cpp
int count = 1;
auto filesText = tr::lng_files_selected(tr::now, lt_count, count); // Type: QString
count = 5;
filesText = tr::lng_files_selected(tr::now, lt_count, count); // Uses "files_selected#other"
```
* **Reactive:** Pass an `rpl::producer<float64>`. Use the `tr::to_count()` helper to convert an `rpl::producer<int>` or wrap a single value.
```cpp
// From an existing int producer:
auto countProducer = /* ... */; // Type: rpl::producer<int>
auto filesTextProducer = tr::lng_files_selected( // Type: rpl::producer<QString>
lt_count,
countProducer | tr::to_count()); // Use tr::to_count() for conversion
// From a single int value wrapped reactively:
int currentCount = 5;
auto filesTextProducerSingle = tr::lng_files_selected( // Type: rpl::producer<QString>
lt_count,
rpl::single(currentCount) | tr::to_count());
// Alternative for single values (less common): rpl::single(currentCount * 1.)
```
### 5. Custom Projectors
An optional final argument can be a projector function (like `Ui::Text::Upper` or `Ui::Text::WithEntities`) to transform the output.
* If the projector returns `OutputType`, the string function returns `OutputType` (immediate) or `rpl::producer<OutputType>` (reactive).
* Placeholder values must match the projector's *input* requirements. For `Ui::Text::WithEntities`, placeholders expect `TextWithEntities` (immediate) or `rpl::producer<TextWithEntities>` (reactive).
```cpp
// Immediate with Ui::Text::WithEntities projector
// Key: "user_posted_photo" = "{user} posted a photo";
const auto userName = TextWithEntities{ /* ... */ }; // Type: TextWithEntities
auto message = tr::lng_user_posted_photo( // Type: TextWithEntities
tr::now,
lt_user,
userName, // Must be TextWithEntities
Ui::Text::WithEntities); // Projector
// Reactive with Ui::Text::WithEntities projector
auto userNameProducer = /* ... */; // Type: rpl::producer<TextWithEntities>
auto messageProducer = tr::lng_user_posted_photo( // Type: rpl::producer<TextWithEntities>
lt_user,
std::move(userNameProducer), // Move placeholder producers
Ui::Text::WithEntities); // Projector
```
## Key Summary
* Keys are defined in `Resources/langs/lang.strings` using `{tag}` placeholders.
* Plural keys use `{count}` and have `#one`/`#other` variants in `lang.strings`.
* Access keys via `tr::lng_key_name(...)` in C++.
* Call with `tr::now` as the first argument for the immediate `QString` (or projected type).
* Call without `tr::now` for the reactive `rpl::producer<QString>` (or projected type).
* Provide placeholder values (`lt_tag_name, value`) matching the usage (direct value for immediate, `rpl::producer` for reactive). Producers should typically be moved via `std::move`.
* For `{count}`:
* Immediate: Pass `int` or `float64`.
* Reactive: Pass `rpl::producer<float64>`, typically by converting an `int` producer using `| tr::to_count()`.
* Optional projector function as the last argument modifies the output type and required placeholder types.
* Actual translations are loaded at runtime from the API.

216
.cursor/rules/rpl_guide.mdc Normal file
View File

@@ -0,0 +1,216 @@
---
description:
globs:
alwaysApply: true
---
# RPL (Reactive Programming Library) Guide
## Coding Style Note
**Use `auto`:** In the actual codebase, variable types are almost always deduced using `auto` (or `const auto`, `const auto &`) rather than being written out explicitly. Examples in this guide may use explicit types for clarity, but prefer `auto` in practice.
```cpp
// Prefer this:
auto intProducer = rpl::single(123);
const auto &lifetime = existingLifetime;
// Instead of this:
rpl::producer<int> intProducer = rpl::single(123);
const rpl::lifetime &lifetime = existingLifetime;
// Sometimes needed if deduction is ambiguous or needs help:
auto user = std::make_shared<UserData>();
auto data = QByteArray::fromHex("...");
```
## Introduction
RPL is the reactive programming library used in this project, residing in the `rpl::` namespace. It allows handling asynchronous streams of data over time.
The core concept is the `rpl::producer`, which represents a stream of values that can be generated over a certain lifetime.
## Producers: `rpl::producer<Type, Error = no_error>`
The fundamental building block is `rpl::producer<Type, Error>`. It produces values of `Type` and can optionally signal an error of type `Error`. By default, `Error` is `rpl::no_error`, indicating that the producer does not explicitly handle error signaling through this mechanism.
```cpp
// A producer that emits integers.
auto intProducer = /* ... */; // Type: rpl::producer<int>
// A producer that emits strings and can potentially emit a CustomError.
auto stringProducerWithError = /* ... */; // Type: rpl::producer<QString, CustomError>
```
Producers are typically lazy; they don't start emitting values until someone subscribes to them.
## Lifetime Management: `rpl::lifetime`
Reactive pipelines have a limited duration, managed by `rpl::lifetime`. An `rpl::lifetime` object essentially holds a collection of cleanup callbacks. When the lifetime ends (either explicitly destroyed or goes out of scope), these callbacks are executed, tearing down the associated pipeline and freeing resources.
```cpp
rpl::lifetime myLifetime;
// ... later ...
// myLifetime is destroyed, cleanup happens.
// Or, pass a lifetime instance to manage a pipeline's duration.
rpl::lifetime &parentLifetime = /* ... get lifetime from context ... */;
```
## Starting a Pipeline: `rpl::start_...`
To consume values from a producer, you start a pipeline using one of the `rpl::start_...` methods. These methods subscribe to the producer and execute callbacks for the events they handle.
The most common method is `rpl::start_with_next`:
```cpp
auto counter = /* ... */; // Type: rpl::producer<int>
rpl::lifetime lifetime;
// Counter is consumed here, use std::move if it's an l-value.
std::move(
counter
) | rpl::start_with_next([=]\(int nextValue) {
// Process the next integer value emitted by the producer.
qDebug() << "Received: " << nextValue;
}, lifetime); // Pass the lifetime to manage the subscription.
// Note: `counter` is now in a moved-from state and likely invalid.
// If you need to start the same producer multiple times, duplicate it:
// rpl::duplicate(counter) | rpl::start_with_next(...);
// If you DON'T pass a lifetime to a start_... method:
auto counter2 = /* ... */; // Type: rpl::producer<int>
rpl::lifetime subscriptionLifetime = std::move(
counter2
) | rpl::start_with_next([=]\(int nextValue) { /* ... */ });
// The returned lifetime MUST be stored. If it's discarded immediately,
// the subscription stops instantly.
// `counter2` is also moved-from here.
```
Other variants allow handling errors (`_error`) and completion (`_done`):
```cpp
auto dataStream = /* ... */; // Type: rpl::producer<QString, Error>
rpl::lifetime lifetime;
// Assuming dataStream might be used again, we duplicate it for the first start.
// If it's the only use, std::move(dataStream) would be preferred.
rpl::duplicate(
dataStream
) | rpl::start_with_error([=]\(Error &&error) {
// Handle the error signaled by the producer.
qDebug() << "Error: " << error.text();
}, lifetime);
// Using dataStream again, perhaps duplicated again or moved if last use.
rpl::duplicate(
dataStream
) | rpl::start_with_done([=] {
// Execute when the producer signals it's finished emitting values.
qDebug() << "Stream finished.";
}, lifetime);
// Last use of dataStream, so we move it.
std::move(
dataStream
) | rpl::start_with_next_error_done(
[=]\(QString &&value) { /* handle next value */ },
[=]\(Error &&error) { /* handle error */ },
[=] { /* handle done */ },
lifetime);
```
## Transforming Producers
RPL provides functions to create new producers by transforming existing ones:
* `rpl::map`: Transforms each value emitted by a producer.
```cpp
auto ints = /* ... */; // Type: rpl::producer<int>
// The pipe operator often handles the move implicitly for chained transformations.
auto strings = std::move(
ints // Explicit move is safer
) | rpl::map([](int value) {
return QString::number(value * 2);
}); // Emits strings like "0", "2", "4", ...
```
* `rpl::filter`: Emits only the values from a producer that satisfy a condition.
```cpp
auto ints = /* ... */; // Type: rpl::producer<int>
auto evenInts = std::move(
ints // Explicit move is safer
) | rpl::filter([](int value) {
return (value % 2 == 0);
}); // Emits only even numbers.
```
## Combining Producers
You can combine multiple producers into one:
* `rpl::combine`: Combines the latest values from multiple producers whenever *any* of them emits a new value. Requires all producers to have emitted at least one value initially.
While it produces a `std::tuple`, subsequent operators like `map`, `filter`, and `start_with_next` can automatically unpack this tuple into separate lambda arguments.
```cpp
auto countProducer = rpl::single(1); // Type: rpl::producer<int>
auto textProducer = rpl::single(u"hello"_q); // Type: rpl::producer<QString>
rpl::lifetime lifetime;
// rpl::combine takes producers by const-ref internally and duplicates,
// so move/duplicate is usually not strictly needed here unless you
// want to signal intent or manage the lifetime of p1/p2 explicitly.
auto combined = rpl::combine(
countProducer, // or rpl::duplicate(countProducer)
textProducer // or rpl::duplicate(textProducer)
);
// Starting the combined producer consumes it.
// The lambda receives unpacked arguments, not the tuple itself.
std::move(
combined
) | rpl::start_with_next([=]\(int count, const QString &text) {
// No need for std::get<0>(latest), etc.
qDebug() << "Combined: Count=" << count << ", Text=" << text;
}, lifetime);
// This also works with map, filter, etc.
std::move(
combined
) | rpl::filter([=]\(int count, const QString &text) {
return count > 0 && !text.isEmpty();
}) | rpl::map([=]\(int count, const QString &text) {
return text.repeated(count);
}) | rpl::start_with_next([=]\(const QString &result) {
qDebug() << "Mapped & Filtered: " << result;
}, lifetime);
```
* `rpl::merge`: Merges the output of multiple producers of the *same type* into a single producer. It emits a value whenever *any* of the source producers emits a value.
```cpp
auto sourceA = /* ... */; // Type: rpl::producer<QString>
auto sourceB = /* ... */; // Type: rpl::producer<QString>
// rpl::merge also duplicates internally.
auto merged = rpl::merge(sourceA, sourceB);
// Starting the merged producer consumes it.
std::move(
merged
) | rpl::start_with_next([=]\(QString &&value) {
// Receives values from either sourceA or sourceB as they arrive.
qDebug() << "Merged value: " << value;
}, lifetime);
```
## Key Concepts Summary
* Use `rpl::producer<Type, Error>` to represent streams of values.
* Manage subscription duration using `rpl::lifetime`.
* Pass `rpl::lifetime` to `rpl::start_...` methods.
* If `rpl::lifetime` is not passed, **store the returned lifetime** to keep the subscription active.
* Use operators like `| rpl::map`, `| rpl::filter` to transform streams.
* Use `rpl::combine` or `rpl::merge` to combine streams.
* When starting a chain (`std::move(producer) | rpl::map(...)`), explicitly move the initial producer.
* These functions typically duplicate their input producers internally.
* Starting a pipeline consumes the producer; use `

154
.cursor/rules/styling.mdc Normal file
View File

@@ -0,0 +1,154 @@
---
description: For tasks requiring working with user facing UI components.
globs:
alwaysApply: false
---
# Telegram Desktop UI Styling
## Style Definition Files
UI element styles (colors, fonts, paddings, margins, icons, etc.) are defined in `.style` files using a custom syntax. These files are located alongside the C++ source files they correspond to within specific UI component directories (e.g., `Telegram/SourceFiles/ui/chat/chat.style`).
Definitions from other `.style` files can be included using the `using` directive at the top of the file:
```style
using "ui/basic.style";
using "ui/widgets/widgets.style";
```
The central definition of named colors happens in `Telegram/SourceFiles/ui/colors.palette`. This file allows for theme generation and loading colors from various sources.
### Syntax Overview
1. **Built-in Types:** The syntax recognizes several base types inferred from the value assigned:
* `int`: Integer numbers (e.g., `lineHeight: 20;`)
* `bool`: Boolean values (e.g., `useShadow: true;`)
* `pixels`: Pixel values, ending with `px` (e.g., `borderWidth: 1px;`). Generated as `int` in C++.
* `color`: Named colors defined in `colors.palette` (e.g., `background: windowBg;`)
* `icon`: Defined inline using a specific syntax (see below). Generates `style::icon`.
* `margins`: Four pixel values for margins or padding. Requires `margins(top, right, bottom, left)` syntax (e.g., `margin: margins(10px, 5px, 10px, 5px);` or `padding: margins(8px, 8px, 8px, 8px);`). Generates `style::margins` (an alias for `QMargins`).
* `size`: Two pixel values for width and height (e.g., `iconSize: size(16px, 16px);`). Generates `style::size`.
* `point`: Two pixel values for x and y coordinates (e.g., `textPos: point(5px, 2px);`). Generates `style::point`.
* `align`: Alignment keywords (e.g., `textAlign: align(center);` or `iconAlign: align(left);`). Generates `style::align`.
* `font`: Font definitions (e.g., `font: font(14px semibold);`). Generates `style::font`.
* `double`: Floating point numbers (e.g., `disabledOpacity: 0.5;`)
*Note on Borders:* Borders are typically defined using multiple fields like `border: pixels;` (for width) and `borderFg: color;` (for color), rather than a single CSS-like property.
2. **Structure Definition:** You can define complex data structures directly within the `.style` file:
```style
MyButtonStyle { // Defines a structure named 'MyButtonStyle'
textPadding: margins; // Field 'textPadding' expects margins type
icon: icon; // Field 'icon' of type icon
height: pixels; // Field 'height' of type pixels
}
```
This generates a `struct MyButtonStyle { ... };` inside the `namespace style`. Fields will have corresponding C++ types (`style::margins`, `style::icon`, `int`).
3. **Variable Definition & Inheritance:** Variables are defined using `name: value;` or `groupName { ... }`. They can be of built-in types or custom structures. Structures can be initialized inline or inherit from existing variables.
**Icon Definition Syntax:** Icons are defined inline using the `icon{...}` syntax. The generator probes for `.svg` files or `.png` files (including `@2x`, `@3x` variants) based on the provided path stem.
```style
// Single-part icon definition:
myIconSearch: icon{{ "gui/icons/search", iconColor }};
// Multi-part icon definition (layers drawn bottom-up):
myComplexIcon: icon{
{ "gui/icons/background", iconBgColor },
{ "gui/icons/foreground", iconFgColor }
};
// Icon with path modifiers (PNG only for flips, SVG only for size):
myFlippedIcon: icon{{ "gui/icons/arrow-flip_horizontal", arrowColor }};
myResizedIcon: icon{{ "gui/icons/logo-128x128", logoColor }}; // Forces 128x128 for SVG
```
**Other Variable Examples:**
```style
// Simple variables
buttonHeight: 30px;
activeButtonColor: buttonBgActive; // Named color from colors.palette
// Variable of a custom structure type, initialized inline
defaultButton: MyButtonStyle {
textPadding: margins(10px, 15px, 10px, 15px); // Use margins(...) syntax
icon: myIconSearch; // Assign the previously defined icon variable
height: buttonHeight; // Reference another variable
}
// Another variable inheriting from 'defaultButton' and overriding/adding fields
primaryButton: MyButtonStyle(defaultButton) {
icon: myComplexIcon; // Override icon with the multi-part one
backgroundColor: activeButtonColor; // Add a field not in MyButtonStyle definition
}
// Style group (often used for specific UI elements)
chatInput { // Example using separate border properties and explicit padding
border: 1px; // Border width
borderFg: defaultInputFieldBorder; // Border color (named color)
padding: margins(5px, 10px, 5px, 10px); // Use margins(...) syntax for padding field
backgroundColor: defaultChatBg; // Background color
}
```
## Code Generation
A code generation tool processes these `.style` files and `colors.palette` to create C++ objects.
- The `using` directives resolve dependencies between `.style` files.
- Custom structure definitions (like `MyButtonStyle`) generate corresponding `struct MyButtonStyle { ... };` within the `namespace style`.
- Style variables/groups (like `defaultButton`, `primaryButton`, `chatInput`) are generated as objects/structs within the `st` namespace (e.g., `st::defaultButton`, `st::primaryButton`, `st::chatInput`). These generated structs contain members corresponding to the fields defined in the `.style` file.
- Color objects are generated into the `st` namespace as well, based on their names in `colors.palette` (e.g., `st::windowBg`, `st::buttonBgActive`).
- The generated header files for styles are placed in the `Telegram/SourceFiles/styles/` directory with a `style_` prefix (e.g., `styles/style_widgets.h` for `ui/widgets/widgets.style`). You include them like `#include "styles/style_widgets.h"`.
Generated C++ types correspond to the `.style` types: `style::color`, `style::font`, `style::margins` (used for both `margin:` and `padding:` fields), `style::icon`, `style::size`, `style::point`, `style::align`, and `int` or `bool` for simple types.
## Style Usage in Code
Styles are applied in C++ code by referencing the generated `st::...` objects and their members.
```cpp
// Example: Including the generated style header
#include "styles/style_widgets.h" // For styles defined in ui/widgets/widgets.style
// ... inside some UI class code ...
// Accessing members of a generated style struct
int height = st::primaryButton.height; // Accessing the 'height' field (pixels -> int)
const style::icon &icon = st::primaryButton.icon; // Accessing the 'icon' field (st::myComplexIcon)
style::margins padding = st::primaryButton.textPadding; // Accessing 'textPadding'
style::color bgColor = st::primaryButton.backgroundColor; // Accessing the color (st::activeButtonColor)
// Applying styles (conceptual examples)
myButton->setIcon(st::primaryButton.icon);
myButton->setHeight(st::primaryButton.height);
myButton->setPadding(st::primaryButton.textPadding);
myButton->setBackgroundColor(st::primaryButton.backgroundColor);
// Using styles directly in painting
void MyWidget::paintEvent(QPaintEvent *e) {
Painter p(this);
p.fillRect(rect(), st::chatInput.backgroundColor); // Use color from chatInput style
// Border painting requires width and color
int borderWidth = st::chatInput.border; // Access border width (pixels -> int)
style::color borderColor = st::chatInput.borderFg; // Access border color
if (borderWidth > 0) {
p.setPen(QPen(borderColor, borderWidth));
// Adjust rect for pen width if needed before drawing
p.drawRect(rect().adjusted(borderWidth / 2, borderWidth / 2, -borderWidth / 2, -borderWidth / 2));
}
// Access padding (style::margins)
style::margins inputPadding = st::chatInput.padding;
// ... use inputPadding.top(), inputPadding.left() etc. for content layout ...
}
```
**Key Points:**
* Styles are defined in `.style` files next to their corresponding C++ source files.
* `using "path/to/other.style";` includes definitions from other style files.
* Named colors are defined centrally in `ui/colors.palette`.
* `.style` syntax supports built-in types (like `pixels`, `color`, `margins`, `point`, `size`, `align`, `font`, `double`), custom structure definitions (`Name { field: type; ... }`), variable definitions (`name: value;`), and inheritance (`child: Name(parent) { ... }`).
* Values must match the expected type (e.g., fields declared as `margins` type, like `margin:` or `padding:`, require `margins(...)` syntax). Borders are typically set via separate `border: pixels;` and `borderFg: color;` fields.
* Icons are defined inline using `name: icon{{ "path_stem", color }};` or `name: icon{ { "path1", c1 }, ... };` syntax, with optional path modifiers.
* Code generation creates `struct` definitions in the `style` namespace for custom types and objects/structs in the `st` namespace for defined variables/groups.
* Generated headers are in `styles/` with a `style_` prefix and must be included.
* Access style properties via the generated `st::` objects (e.g., `st::primaryButton.height`, `st::chatInput.backgroundColor`).

2
.cursorignore Normal file
View File

@@ -0,0 +1,2 @@
# Add directories or file patterns to ignore during indexing (e.g. foo/ or *.csv)
Telegram/ThirdParty/

View File

@@ -5,11 +5,9 @@
"vscode": {
"settings": {
"C_Cpp.intelliSenseEngine": "disabled",
"clangd.arguments": [
"--compile-commands-dir=${workspaceFolder}/out"
],
"cmake.generator": "Ninja Multi-Config",
"cmake.buildDirectory": "${workspaceFolder}/out"
"cmake.buildDirectory": "${workspaceFolder}/out",
"cmake.copyCompileCommands": "${workspaceFolder}/compile_commands.json"
},
"extensions": [
"ms-vscode.cpptools-extension-pack",

View File

@@ -5,22 +5,19 @@ on:
paths:
- '.github/workflows/docker.yml'
- 'Telegram/build/docker/centos_env/**'
pull_request:
paths:
- '.github/workflows/docker.yml'
- 'Telegram/build/docker/centos_env/**'
jobs:
docker:
name: Ubuntu
runs-on: ubuntu-latest
if: github.ref_name == github.event.repository.default_branch
env:
IMAGE_TAG: ghcr.io/${{ github.repository }}/centos_env:latest
steps:
- name: Clone.
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
submodules: recursive
@@ -32,6 +29,8 @@ jobs:
- name: Free up some disk space.
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be
with:
tool-cache: true
- name: Docker image build.
run: |
@@ -40,5 +39,4 @@ jobs:
DEBUG= LTO= poetry run gen_dockerfile | DOCKER_BUILDKIT=1 docker build -t $IMAGE_TAG -
- name: Push the Docker image.
if: ${{ github.ref_name == github.event.repository.default_branch }}
run: docker push $IMAGE_TAG

View File

@@ -12,6 +12,7 @@ on:
- '!.github/workflows/linux.yml'
- 'snap/**'
- 'Telegram/build/**'
- '!Telegram/build/docker/centos_env/**'
- 'Telegram/Resources/uwp/**'
- 'Telegram/Resources/winrc/**'
- 'Telegram/SourceFiles/platform/win/**'
@@ -30,6 +31,7 @@ on:
- '!.github/workflows/linux.yml'
- 'snap/**'
- 'Telegram/build/**'
- '!Telegram/build/docker/centos_env/**'
- 'Telegram/Resources/uwp/**'
- 'Telegram/Resources/winrc/**'
- 'Telegram/SourceFiles/platform/win/**'
@@ -52,27 +54,56 @@ jobs:
env:
UPLOAD_ARTIFACT: "true"
ONLY_CACHE: "false"
IMAGE_TAG: tdesktop:centos_env
steps:
- name: Get repository name.
run: echo "REPO_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV
- name: Clone.
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
submodules: recursive
path: ${{ env.REPO_NAME }}
- name: First set up.
run: |
echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u $ --password-stdin
docker pull ghcr.io/$GITHUB_REPOSITORY/centos_env
docker tag ghcr.io/$GITHUB_REPOSITORY/centos_env tdesktop:centos_env
sudo apt update
curl -sSL https://install.python-poetry.org | python3 -
cd Telegram/build/docker/centos_env
poetry install
DOCKERFILE=$(DEBUG= LTO= poetry run gen_dockerfile)
echo "$DOCKERFILE" > Dockerfile
- name: Free up some disk space.
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be
with:
tool-cache: true
- name: Set up Docker Buildx.
uses: docker/setup-buildx-action@v3
- name: Libraries cache.
uses: actions/cache@v4
with:
path: ${{ runner.temp }}/.buildx-cache
key: ${{ runner.OS }}-libs-${{ hashFiles('Telegram/build/docker/centos_env/**') }}
restore-keys: ${{ runner.OS }}-libs-
- name: Libraries.
uses: docker/build-push-action@v6
with:
context: Telegram/build/docker/centos_env
load: ${{ env.ONLY_CACHE == 'false' }}
tags: ${{ env.IMAGE_TAG }}
cache-from: type=local,src=${{ runner.temp }}/.buildx-cache
cache-to: type=local,dest=${{ runner.temp }}/.buildx-cache-new,mode=max
- name: Move cache.
run: |
rm -rf ${{ runner.temp }}/.buildx-cache
mv ${{ runner.temp }}/.buildx-cache{-new,}
- name: Telegram Desktop build.
if: env.ONLY_CACHE == 'false'
run: |
cd $REPO_NAME
DEFINE=""
if [ -n "${{ matrix.defines }}" ]; then
DEFINE="-D ${{ matrix.defines }}=ON"
@@ -86,21 +117,21 @@ jobs:
-u $(id -u) \
-v $PWD:/usr/src/tdesktop \
-e CONFIG=Debug \
tdesktop:centos_env \
$IMAGE_TAG \
/usr/src/tdesktop/Telegram/build/docker/centos_env/build.sh \
-D CMAKE_C_FLAGS_DEBUG="" \
-D CMAKE_CXX_FLAGS_DEBUG="" \
-D CMAKE_C_FLAGS="-Werror" \
-D CMAKE_CXX_FLAGS="-Werror" \
-D CMAKE_EXE_LINKER_FLAGS="-s" \
-D CMAKE_CONFIGURATION_TYPES=Debug \
-D CMAKE_C_FLAGS_DEBUG="-O0" \
-D CMAKE_CXX_FLAGS_DEBUG="-O0" \
-D CMAKE_COMPILE_WARNING_AS_ERROR=ON \
-D TDESKTOP_API_TEST=ON \
-D DESKTOP_APP_DISABLE_AUTOUPDATE=OFF \
-D DESKTOP_APP_DISABLE_CRASH_REPORTS=OFF \
$DEFINE
- name: Check.
if: env.ONLY_CACHE == 'false'
run: |
filePath="$REPO_NAME/out/Debug/Telegram"
filePath="out/Debug/Telegram"
if test -f "$filePath"; then
echo "Build successfully done! :)"
@@ -114,7 +145,7 @@ jobs:
- name: Move artifact.
if: env.UPLOAD_ARTIFACT == 'true'
run: |
cd $REPO_NAME/out/Debug
cd out/Debug
mkdir artifact
mv {Telegram,Updater} artifact/
- uses: actions/upload-artifact@v4
@@ -122,4 +153,4 @@ jobs:
name: Upload artifact.
with:
name: ${{ env.ARTIFACT_NAME }}
path: ${{ env.REPO_NAME }}/out/Debug/artifact/
path: out/Debug/artifact/

View File

@@ -56,7 +56,7 @@ jobs:
run: echo "REPO_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV
- name: Clone.
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
submodules: recursive
path: ${{ env.REPO_NAME }}
@@ -114,18 +114,15 @@ jobs:
fi
./configure.sh \
-D CMAKE_C_FLAGS="-Werror" \
-D CMAKE_CXX_FLAGS="-Werror" \
-D CMAKE_CONFIGURATION_TYPES=Debug \
-D CMAKE_COMPILE_WARNING_AS_ERROR=ON \
-D CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_ALLOWED=NO \
-D TDESKTOP_API_TEST=ON \
-D DESKTOP_APP_DISABLE_AUTOUPDATE=OFF \
-D DESKTOP_APP_DISABLE_CRASH_REPORTS=OFF \
$DEFINE
cd ../out
xcoderun='xcodebuild build -project Telegram.xcodeproj -scheme Telegram -destination "platform=macOS,arch=x86_64" -configuration Debug'
bash -c "$xcoderun" || bash -c "$xcoderun" || bash -c "$xcoderun"
cmake --build ../out --config Debug --parallel
- name: Move artifact.
if: env.UPLOAD_ARTIFACT == 'true'

View File

@@ -60,7 +60,7 @@ jobs:
run: echo "REPO_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV
- name: Clone.
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
submodules: recursive
path: ${{ env.REPO_NAME }}
@@ -69,7 +69,7 @@ jobs:
run: |
brew update
brew upgrade || true
brew install ada-url autoconf automake boost cmake ffmpeg libtool openal-soft openh264 openssl opus ninja pkg-config python qt yasm xz
brew install ada-url autoconf automake boost cmake ffmpeg jpeg-xl libavif libheif libtool openal-soft openh264 openssl opus ninja pkg-config python qt yasm xz
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
xcodebuild -version > CACHE_KEY.txt
@@ -118,10 +118,38 @@ jobs:
cmake --build build --parallel
- name: TDE2E cache.
id: cache-tde2e
uses: actions/cache@v4
with:
path: ${{ env.LibrariesPath }}/tde2e
key: ${{ runner.OS }}-tde2e-${{ env.CACHE_KEY }}
- name: TDE2E.
if: steps.cache-tde2e.outputs.cache-hit != 'true'
run: |
cd $LibrariesPath
git init tde2e
cd tde2e
git remote add origin $GIT/tdlib/td.git
git fetch --depth=1 origin 51743dfd01dff6179e2d8f7095729caa4e2222e9
git reset --hard FETCH_HEAD
cmake -Bbuild -GNinja . \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_INSTALL_PREFIX=$PWD/build/prefix \
-DCMAKE_C_FLAGS_DEBUG="" \
-DCMAKE_CXX_FLAGS_DEBUG="" \
-DTD_E2E_ONLY=ON
cmake --build build --parallel
cmake --install build
- name: Telegram Desktop build.
if: env.ONLY_CACHE == 'false'
env:
tg_owt_DIR: ${{ env.LibrariesPath }}/tg_owt/build
tde2e_DIR: ${{ env.LibrariesPath }}/tde2e/build/prefix
run: |
cd $REPO_NAME
@@ -138,10 +166,7 @@ jobs:
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_C_FLAGS_DEBUG="" \
-DCMAKE_CXX_FLAGS_DEBUG="" \
-DCMAKE_EXE_LINKER_FLAGS="-s" \
-DCMAKE_FIND_FRAMEWORK=LAST \
-DTDESKTOP_API_TEST=ON \
-DDESKTOP_APP_USE_PACKAGED_LAZY=ON \
$DEFINE
cmake --build build --parallel

View File

@@ -5,33 +5,9 @@ on:
types: released
jobs:
updater:
User-agent:
runs-on: ubuntu-latest
env:
SKIP: "0"
to_branch: "master"
steps:
- uses: actions/checkout@v4
- uses: desktop-app/action_code_updater@master
with:
fetch-depth: 0
if: env.SKIP == '0'
- name: Push the code to the master branch.
if: env.SKIP == '0'
run: |
token=${{ secrets.TOKEN_FOR_MASTER_UPDATER }}
if [ -z "${token}" ]; then
echo "Token is unset. Nothing to do."
exit 0
fi
url=https://x-access-token:$token@github.com/$GITHUB_REPOSITORY
latest_tag=$(git describe --tags --abbrev=0)
echo "Latest tag: $latest_tag"
git remote set-url origin $url
git remote -v
git checkout master
git merge $latest_tag
git push origin HEAD:refs/heads/$to_branch
echo "Done!"
type: "dev-to-master"

View File

@@ -47,7 +47,7 @@ jobs:
steps:
- name: Clone.
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
fetch-depth: 0
submodules: recursive
@@ -61,7 +61,16 @@ jobs:
sudo lxd waitready
- name: Free up some disk space.
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be
uses: endersonmenezes/free-disk-space@713d134e243b926eba4a5cce0cf608bfd1efb89a
with:
remove_android: true
remove_dotnet: true
remove_haskell: true
remove_tool_cache: true
remove_swap: true
remove_packages: "azure-cli google-cloud-cli microsoft-edge-stable google-chrome-stable firefox postgresql* temurin-* *llvm* mysql* dotnet-sdk-*"
remove_packages_one_command: true
remove_folders: "/usr/share/swift /usr/share/miniconda /usr/share/az* /usr/share/glade* /usr/local/lib/node_modules /usr/local/share/chromium /usr/local/share/powershell"
- name: Telegram Desktop snap build.
run: sudo -u $USER snap run snapcraft --verbosity=debug

View File

@@ -6,8 +6,6 @@ on:
schedule:
# At 00:00 on day-of-month 1.
- cron: "0 0 1 * *"
pull_request_target:
types: [closed]
jobs:
User-agent:

View File

@@ -5,6 +5,7 @@ on:
paths-ignore:
- 'docs/**'
- '**.md'
- '!docs/building-win*.md'
- 'changelog.txt'
- 'LEGAL'
- 'LICENSE'
@@ -23,6 +24,7 @@ on:
paths-ignore:
- 'docs/**'
- '**.md'
- '!docs/building-win*.md'
- 'changelog.txt'
- 'LEGAL'
- 'LICENSE'
@@ -69,26 +71,34 @@ jobs:
shell: bash
run: echo "REPO_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV
- uses: ilammy/msvc-dev-cmd@v1.13.0
name: Native Tools Command Prompt.
with:
arch: ${{ matrix.arch }}
- name: Clone.
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
submodules: recursive
path: ${{ env.TBUILD }}\${{ env.REPO_NAME }}
- name: Set up environment paths.
- name: First set up.
shell: bash
run: |
echo "CACHE_KEY=$(sha256sum $TBUILD/$REPO_NAME/$PREPARE_PATH | awk '{ print $1 }')" >> $GITHUB_ENV
DOCPATH=$TBUILD/$REPO_NAME/docs/building-win.md
[ "${{ matrix.arch }}" != Win32 ] && DOCPATH=$TBUILD/$REPO_NAME/docs/building-win-${{ matrix.arch }}.md
SDK="$(grep "SDK version" $DOCPATH | sed -r 's/.*\*\*(.*)\*\* SDK version.*/\1/')"
echo "SDK=$SDK" >> $GITHUB_ENV
echo "$(sha256sum $TBUILD/$REPO_NAME/$PREPARE_PATH | awk '{ print $1 }')" >> CACHE_KEY.txt
echo "$SDK" >> CACHE_KEY.txt
echo "CACHE_KEY=$(sha256sum CACHE_KEY.txt | awk '{ print $1 }')" >> $GITHUB_ENV
echo "Configurate git for cherry-picks."
git config --global user.email "you@example.com"
git config --global user.name "Sample"
- uses: ilammy/msvc-dev-cmd@v1.13.0
name: Native Tools Command Prompt.
with:
arch: ${{ matrix.arch }}
sdk: ${{ env.SDK }}
- name: NuGet sources.
run: |
nuget sources Disable -Name "Microsoft Visual Studio Offline Packages"
@@ -177,11 +187,11 @@ jobs:
%TDESKTOP_BUILD_GENERATOR% ^
%TDESKTOP_BUILD_ARCH% ^
%TDESKTOP_BUILD_API% ^
-D CMAKE_C_FLAGS="/WX" ^
-D CMAKE_CXX_FLAGS="/WX" ^
-D CMAKE_CONFIGURATION_TYPES=Debug ^
-D CMAKE_COMPILE_WARNING_AS_ERROR=ON ^
-D CMAKE_MSVC_DEBUG_INFORMATION_FORMAT= ^
-D DESKTOP_APP_DISABLE_AUTOUPDATE=OFF ^
-D DESKTOP_APP_DISABLE_CRASH_REPORTS=OFF ^
-D DESKTOP_APP_NO_PDB=ON ^
%TDESKTOP_BUILD_DEFINE%
cmake --build ..\out --config Debug --parallel

12
.gitignore vendored
View File

@@ -20,6 +20,7 @@ ipch/
.vs/
.vscode/
.cache/
compile_commands.json
/Telegram/log.txt
/Telegram/data
@@ -52,3 +53,14 @@ stage
*.*~
.idea/
cmake-build-debug/
# Local configuration files
settings.local.json
*.local.json
.env
.env.local
.env.*.local
# Cursor IDE local settings (but keep .cursor/rules/)
.cursor/*
!.cursor/rules/

6
.gitmodules vendored
View File

@@ -1,6 +1,3 @@
[submodule "Telegram/ThirdParty/libtgvoip"]
path = Telegram/ThirdParty/libtgvoip
url = https://github.com/telegramdesktop/libtgvoip
[submodule "Telegram/ThirdParty/GSL"]
path = Telegram/ThirdParty/GSL
url = https://github.com/Microsoft/GSL.git
@@ -76,9 +73,6 @@
[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

View File

@@ -4,15 +4,7 @@
# For license and copyright information please follow this link:
# https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
if (APPLE)
# target_precompile_headers with COMPILE_LANGUAGE restriction.
cmake_minimum_required(VERSION 3.23)
else()
cmake_minimum_required(VERSION 3.16)
endif()
if (POLICY CMP0149)
cmake_policy(SET CMP0149 NEW)
endif()
cmake_minimum_required(VERSION 3.25...3.31)
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
@@ -20,19 +12,17 @@ include(cmake/validate_special_target.cmake)
include(cmake/version.cmake)
desktop_app_parse_version(Telegram/build/version)
set(project_langs C CXX)
if (APPLE)
list(APPEND project_langs OBJC OBJCXX)
elseif (LINUX)
list(APPEND project_langs ASM)
endif()
project(Telegram
LANGUAGES ${project_langs}
LANGUAGES C CXX
VERSION ${desktop_app_version_cmake}
DESCRIPTION "Official Telegram Desktop messenger"
HOMEPAGE_URL "https://desktop.telegram.org"
)
if (APPLE)
enable_language(OBJC OBJCXX)
endif()
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT Telegram)
get_filename_component(third_party_loc "Telegram/ThirdParty" REALPATH)
@@ -47,9 +37,7 @@ include(cmake/variables.cmake)
include(cmake/nice_target_sources.cmake)
include(cmake/target_compile_options_if_exists.cmake)
include(cmake/target_link_frameworks.cmake)
include(cmake/target_link_optional_libraries.cmake)
include(cmake/target_link_options_if_exists.cmake)
include(cmake/target_link_static_libraries.cmake)
include(cmake/init_target.cmake)
include(cmake/generate_target.cmake)
include(cmake/nuget.cmake)

View File

@@ -26,7 +26,6 @@ get_filename_component(res_loc Resources REALPATH)
include(cmake/telegram_options.cmake)
include(cmake/lib_ffmpeg.cmake)
include(cmake/lib_stripe.cmake)
include(cmake/lib_tgvoip.cmake)
include(cmake/lib_tgcalls.cmake)
include(cmake/lib_prisma.cmake)
include(cmake/td_export.cmake)
@@ -34,6 +33,7 @@ include(cmake/td_iv.cmake)
include(cmake/td_lang.cmake)
include(cmake/td_mtproto.cmake)
include(cmake/td_scheme.cmake)
include(cmake/td_tde2e.cmake)
include(cmake/td_ui.cmake)
include(cmake/generate_appdata_changelog.cmake)
@@ -47,17 +47,13 @@ if (WIN32)
platform/win/windows_quiethours.idl
platform/win/windows_toastactivator.idl
)
nuget_add_winrt(Telegram)
endif()
set_target_properties(Telegram PROPERTIES AUTOMOC ON)
target_link_libraries(Telegram
PRIVATE
tdesktop::lib_tgcalls_legacy
tdesktop::lib_tgcalls
tdesktop::lib_tgvoip
# Order in this list defines the order of include paths in command line.
# We need to place desktop-app::external_minizip this early to have its
@@ -71,6 +67,7 @@ PRIVATE
tdesktop::td_lang
tdesktop::td_mtproto
tdesktop::td_scheme
tdesktop::td_tde2e
tdesktop::td_ui
desktop-app::lib_webrtc
desktop-app::lib_base
@@ -128,6 +125,8 @@ PRIVATE
api/api_confirm_phone.h
api/api_credits.cpp
api/api_credits.h
api/api_credits_history_entry.cpp
api/api_credits_history_entry.h
api/api_earn.cpp
api/api_earn.h
api/api_editing.cpp
@@ -149,6 +148,8 @@ PRIVATE
api/api_peer_colors.h
api/api_peer_photo.cpp
api/api_peer_photo.h
api/api_peer_search.cpp
api/api_peer_search.h
api/api_polls.cpp
api/api_polls.h
api/api_premium.cpp
@@ -175,8 +176,12 @@ PRIVATE
api/api_statistics_data_deserialize.h
api/api_statistics_sender.cpp
api/api_statistics_sender.h
api/api_suggest_post.cpp
api/api_suggest_post.h
api/api_text_entities.cpp
api/api_text_entities.h
api/api_todo_lists.cpp
api/api_todo_lists.h
api/api_toggling_media.cpp
api/api_toggling_media.h
api/api_transcribes.cpp
@@ -213,8 +218,8 @@ PRIVATE
boxes/peers/edit_contact_box.h
boxes/peers/edit_forum_topic_box.cpp
boxes/peers/edit_forum_topic_box.h
boxes/peers/edit_linked_chat_box.cpp
boxes/peers/edit_linked_chat_box.h
boxes/peers/edit_discussion_link_box.cpp
boxes/peers/edit_discussion_link_box.h
boxes/peers/edit_members_visible.cpp
boxes/peers/edit_members_visible.h
boxes/peers/edit_participant_box.cpp
@@ -280,6 +285,8 @@ PRIVATE
boxes/edit_caption_box.h
boxes/edit_privacy_box.cpp
boxes/edit_privacy_box.h
boxes/edit_todo_list_box.cpp
boxes/edit_todo_list_box.h
boxes/gift_credits_box.cpp
boxes/gift_credits_box.h
boxes/gift_premium_box.cpp
@@ -394,6 +401,8 @@ PRIVATE
calls/calls_video_bubble.h
calls/calls_video_incoming.cpp
calls/calls_video_incoming.h
calls/calls_window.cpp
calls/calls_window.h
chat_helpers/compose/compose_features.h
chat_helpers/compose/compose_show.cpp
chat_helpers/compose/compose_show.h
@@ -443,6 +452,8 @@ PRIVATE
chat_helpers/ttl_media_layer_widget.h
core/application.cpp
core/application.h
core/bank_card_click_handler.cpp
core/bank_card_click_handler.h
core/base_integration.cpp
core/base_integration.h
core/changelogs.cpp
@@ -459,6 +470,7 @@ PRIVATE
core/crash_report_window.h
core/crash_reports.cpp
core/crash_reports.h
core/credits_amount.h
core/deadlock_detector.h
core/file_utilities.cpp
core/file_utilities.h
@@ -472,7 +484,6 @@ PRIVATE
core/sandbox.h
core/shortcuts.cpp
core/shortcuts.h
core/stars_amount.h
core/ui_integration.cpp
core/ui_integration.h
core/update_checker.cpp
@@ -496,8 +507,12 @@ PRIVATE
data/components/factchecks.h
data/components/location_pickers.cpp
data/components/location_pickers.h
data/components/promo_suggestions.cpp
data/components/promo_suggestions.h
data/components/recent_peers.cpp
data/components/recent_peers.h
data/components/recent_shared_media_gifts.cpp
data/components/recent_shared_media_gifts.h
data/components/scheduled_messages.cpp
data/components/scheduled_messages.h
data/components/sponsored_messages.cpp
@@ -508,6 +523,8 @@ PRIVATE
data/notify/data_notify_settings.h
data/notify/data_peer_notify_settings.cpp
data/notify/data_peer_notify_settings.h
data/notify/data_peer_notify_volume.cpp
data/notify/data_peer_notify_volume.h
data/stickers/data_custom_emoji.cpp
data/stickers/data_custom_emoji.h
data/stickers/data_stickers_set.cpp
@@ -597,6 +614,7 @@ PRIVATE
data/data_peer_bot_command.h
data/data_peer_bot_commands.cpp
data/data_peer_bot_commands.h
data/data_peer_common.h
data/data_peer_id.cpp
data/data_peer_id.h
data/data_peer_values.cpp
@@ -618,6 +636,8 @@ PRIVATE
data/data_report.h
data/data_saved_messages.cpp
data/data_saved_messages.h
data/data_saved_music.cpp
data/data_saved_music.h
data/data_saved_sublist.cpp
data/data_saved_sublist.h
data/data_search_controller.cpp
@@ -630,6 +650,7 @@ PRIVATE
data/data_shared_media.h
data/data_sparse_ids.cpp
data/data_sparse_ids.h
data/data_star_gift.cpp
data/data_star_gift.h
data/data_statistics.h
data/data_stories.cpp
@@ -642,6 +663,8 @@ PRIVATE
data/data_streaming.h
data/data_thread.cpp
data/data_thread.h
data/data_todo_list.cpp
data/data_todo_list.h
data/data_types.cpp
data/data_types.h
data/data_unread_value.cpp
@@ -690,6 +713,10 @@ PRIVATE
dialogs/dialogs_search_from_controllers.h
dialogs/dialogs_search_tags.cpp
dialogs/dialogs_search_tags.h
dialogs/dialogs_search_posts.cpp
dialogs/dialogs_search_posts.h
dialogs/dialogs_top_bar_suggestion.cpp
dialogs/dialogs_top_bar_suggestion.h
dialogs/dialogs_widget.cpp
dialogs/dialogs_widget.h
editor/color_picker.cpp
@@ -740,6 +767,8 @@ PRIVATE
history/view/controls/history_view_draft_options.h
history/view/controls/history_view_forward_panel.cpp
history/view/controls/history_view_forward_panel.h
history/view/controls/history_view_suggest_options.cpp
history/view/controls/history_view_suggest_options.h
history/view/controls/history_view_ttl_button.cpp
history/view/controls/history_view_ttl_button.h
history/view/controls/history_view_voice_record_bar.cpp
@@ -788,6 +817,8 @@ PRIVATE
history/view/media/history_view_poll.h
history/view/media/history_view_premium_gift.cpp
history/view/media/history_view_premium_gift.h
history/view/media/history_view_save_document_action.cpp
history/view/media/history_view_save_document_action.h
history/view/media/history_view_service_box.cpp
history/view/media/history_view_service_box.h
history/view/media/history_view_similar_channels.cpp
@@ -801,8 +832,12 @@ PRIVATE
history/view/media/history_view_sticker_player_abstract.h
history/view/media/history_view_story_mention.cpp
history/view/media/history_view_story_mention.h
history/view/media/history_view_suggest_decision.cpp
history/view/media/history_view_suggest_decision.h
history/view/media/history_view_theme_document.cpp
history/view/media/history_view_theme_document.h
history/view/media/history_view_todo_list.cpp
history/view/media/history_view_todo_list.h
history/view/media/history_view_unique_gift.cpp
history/view/media/history_view_unique_gift.h
history/view/media/history_view_userpic_suggestion.cpp
@@ -827,6 +862,8 @@ PRIVATE
history/view/history_view_bottom_info.h
history/view/history_view_chat_preview.cpp
history/view/history_view_chat_preview.h
history/view/history_view_chat_section.cpp
history/view/history_view_chat_section.h
history/view/history_view_contact_status.cpp
history/view/history_view_contact_status.h
history/view/history_view_context_menu.cpp
@@ -845,6 +882,8 @@ PRIVATE
history/view/history_view_fake_items.h
history/view/history_view_group_call_bar.cpp
history/view/history_view_group_call_bar.h
history/view/history_view_group_members_widget.cpp
history/view/history_view_group_members_widget.h
history/view/history_view_item_preview.h
history/view/history_view_list_widget.cpp
history/view/history_view_list_widget.h
@@ -861,8 +900,6 @@ PRIVATE
history/view/history_view_pinned_tracker.h
history/view/history_view_quick_action.cpp
history/view/history_view_quick_action.h
history/view/history_view_replies_section.cpp
history/view/history_view_replies_section.h
history/view/history_view_reply.cpp
history/view/history_view_reply.h
history/view/history_view_requests_bar.cpp
@@ -879,8 +916,8 @@ PRIVATE
history/view/history_view_sponsored_click_handler.h
history/view/history_view_sticker_toast.cpp
history/view/history_view_sticker_toast.h
history/view/history_view_sublist_section.cpp
history/view/history_view_sublist_section.h
history/view/history_view_subsection_tabs.cpp
history/view/history_view_subsection_tabs.h
history/view/history_view_text_helper.cpp
history/view/history_view_text_helper.h
history/view/history_view_transcribe_button.cpp
@@ -981,6 +1018,8 @@ PRIVATE
info/media/info_media_widget.h
info/members/info_members_widget.cpp
info/members/info_members_widget.h
info/peer_gifts/info_peer_gifts_collections.cpp
info/peer_gifts/info_peer_gifts_collections.h
info/peer_gifts/info_peer_gifts_common.cpp
info/peer_gifts/info_peer_gifts_common.h
info/peer_gifts/info_peer_gifts_widget.cpp
@@ -1015,6 +1054,11 @@ PRIVATE
info/reactions_list/info_reactions_list_widget.h
info/requests_list/info_requests_list_widget.cpp
info/requests_list/info_requests_list_widget.h
info/saved/info_saved_music_common.h
info/saved/info_saved_music_provider.cpp
info/saved/info_saved_music_provider.h
info/saved/info_saved_music_widget.cpp
info/saved/info_saved_music_widget.h
info/saved/info_saved_sublists_widget.cpp
info/saved/info_saved_sublists_widget.h
info/settings/info_settings_widget.cpp
@@ -1031,6 +1075,9 @@ PRIVATE
info/statistics/info_statistics_tag.h
info/statistics/info_statistics_widget.cpp
info/statistics/info_statistics_widget.h
info/stories/info_stories_albums.cpp
info/stories/info_stories_albums.h
info/stories/info_stories_common.h
info/stories/info_stories_inner_widget.cpp
info/stories/info_stories_inner_widget.h
info/stories/info_stories_provider.cpp
@@ -1077,12 +1124,16 @@ PRIVATE
inline_bots/inline_bot_result.h
inline_bots/inline_bot_send_data.cpp
inline_bots/inline_bot_send_data.h
inline_bots/inline_bot_storage.cpp
inline_bots/inline_bot_storage.h
inline_bots/inline_results_inner.cpp
inline_bots/inline_results_inner.h
inline_bots/inline_results_widget.cpp
inline_bots/inline_results_widget.h
intro/intro_code.cpp
intro/intro_code.h
intro/intro_email.cpp
intro/intro_email.h
intro/intro_password_check.cpp
intro/intro_password_check.h
intro/intro_phone.cpp
@@ -1230,12 +1281,16 @@ PRIVATE
media/view/media_view_playback_controls.h
media/view/media_view_playback_progress.cpp
media/view/media_view_playback_progress.h
media/view/media_view_playback_sponsored.cpp
media/view/media_view_playback_sponsored.h
media/system_media_controls_manager.h
media/system_media_controls_manager.cpp
menu/menu_antispam_validator.cpp
menu/menu_antispam_validator.h
menu/menu_item_download_files.cpp
menu/menu_item_download_files.h
menu/menu_item_rate_transcribe_session.cpp
menu/menu_item_rate_transcribe_session.h
menu/menu_mute.cpp
menu/menu_mute.h
menu/menu_send.cpp
@@ -1269,6 +1324,8 @@ PRIVATE
mtproto/special_config_request.cpp
mtproto/special_config_request.h
mtproto/type_utils.h
overview/overview_checkbox.cpp
overview/overview_checkbox.h
overview/overview_layout.cpp
overview/overview_layout.h
overview/overview_layout_delegate.h
@@ -1389,10 +1446,6 @@ PRIVATE
platform/platform_window_title.h
profile/profile_back_button.cpp
profile/profile_back_button.h
profile/profile_block_group_members.cpp
profile/profile_block_group_members.h
profile/profile_block_peer_list.cpp
profile/profile_block_peer_list.h
profile/profile_block_widget.cpp
profile/profile_block_widget.h
profile/profile_cover_drop_area.cpp
@@ -1425,12 +1478,18 @@ PRIVATE
settings/cloud_password/settings_cloud_password_hint.h
settings/cloud_password/settings_cloud_password_input.cpp
settings/cloud_password/settings_cloud_password_input.h
settings/cloud_password/settings_cloud_password_login_email.cpp
settings/cloud_password/settings_cloud_password_login_email.h
settings/cloud_password/settings_cloud_password_login_email_confirm.cpp
settings/cloud_password/settings_cloud_password_login_email_confirm.h
settings/cloud_password/settings_cloud_password_manage.cpp
settings/cloud_password/settings_cloud_password_manage.h
settings/cloud_password/settings_cloud_password_start.cpp
settings/cloud_password/settings_cloud_password_start.h
settings/cloud_password/settings_cloud_password_step.cpp
settings/cloud_password/settings_cloud_password_step.h
settings/cloud_password/settings_cloud_password_validate_icon.cpp
settings/cloud_password/settings_cloud_password_validate_icon.h
settings/settings_active_sessions.cpp
settings/settings_active_sessions.h
settings/settings_advanced.cpp
@@ -1536,6 +1595,8 @@ PRIVATE
support/support_preload.h
support/support_templates.cpp
support/support_templates.h
tde2e/tde2e_integration.cpp
tde2e/tde2e_integration.h
ui/boxes/edit_invite_link_session.cpp
ui/boxes/edit_invite_link_session.h
ui/boxes/peer_qr_box.cpp
@@ -1579,8 +1640,6 @@ PRIVATE
ui/text/format_song_document_name.h
ui/widgets/expandable_peer_list.cpp
ui/widgets/expandable_peer_list.h
ui/widgets/label_with_custom_emoji.cpp
ui/widgets/label_with_custom_emoji.h
ui/widgets/chat_filters_tabs_strip.cpp
ui/widgets/chat_filters_tabs_strip.h
ui/widgets/peer_bubble.cpp
@@ -1613,6 +1672,8 @@ PRIVATE
window/window_adaptive.h
window/window_chat_preview.cpp
window/window_chat_preview.h
window/window_chat_switch_process.cpp
window/window_chat_switch_process.h
window/window_connecting_widget.cpp
window/window_connecting_widget.h
window/window_controller.cpp
@@ -1730,6 +1791,10 @@ if (WIN32)
# COMMENT
# $<IF:${release},"Appending compatibility manifest.","Finalizing build.">
# )
if (QT_VERSION LESS 6)
target_link_libraries(Telegram PRIVATE desktop-app::win_directx_helper)
endif()
elseif (APPLE)
if (NOT DESKTOP_APP_USE_PACKAGED)
target_link_libraries(Telegram PRIVATE desktop-app::external_iconv)
@@ -1843,11 +1908,7 @@ else()
set(bundle_identifier "com.tdesktop.Telegram")
endif()
set(bundle_entitlements "Telegram.entitlements")
if (LINUX AND DESKTOP_APP_USE_PACKAGED)
set(output_name "telegram-desktop")
else()
set(output_name "Telegram")
endif()
set(output_name "Telegram")
endif()
if (CMAKE_GENERATOR STREQUAL Xcode)
@@ -1889,8 +1950,9 @@ PRIVATE
G_LOG_DOMAIN="Telegram"
)
get_property(is_multi_config GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
if (APPLE
OR "${CMAKE_GENERATOR}" STREQUAL "Ninja Multi-Config"
OR is_multi_config
OR NOT CMAKE_EXECUTABLE_SUFFIX STREQUAL ""
OR NOT "${output_name}" STREQUAL "Telegram")
set(output_folder ${CMAKE_BINARY_DIR})
@@ -1913,6 +1975,7 @@ if (MSVC)
/DELAYLOAD:user32.dll
/DELAYLOAD:gdi32.dll
/DELAYLOAD:advapi32.dll
/DELAYLOAD:avrt.dll
/DELAYLOAD:shell32.dll
/DELAYLOAD:ole32.dll
/DELAYLOAD:oleaut32.dll
@@ -1950,7 +2013,7 @@ if (MSVC)
/DELAYLOAD:API-MS-Win-Core-ProcessThreads-l1-1-0.dll
/DELAYLOAD:API-MS-Win-Core-Synch-l1-2-0.dll # Synchronization.lib
/DELAYLOAD:API-MS-Win-Core-SysInfo-l1-1-0.dll
/DELAYLOAD:API-MS-Win-Core-Timezone-l1-1-0.dll
# /DELAYLOAD:API-MS-Win-Core-Timezone-l1-1-0.dll
/DELAYLOAD:API-MS-Win-Core-WinRT-l1-1-0.dll
/DELAYLOAD:API-MS-Win-Core-WinRT-Error-l1-1-0.dll
/DELAYLOAD:API-MS-Win-Core-WinRT-String-l1-1-0.dll
@@ -2041,6 +2104,10 @@ if (NOT DESKTOP_APP_DISABLE_AUTOUPDATE AND NOT build_macstore AND NOT build_wins
desktop-app::external_openssl
)
if (DESKTOP_APP_USE_PACKAGED)
target_compile_definitions(Packer PRIVATE PACKER_USE_PACKAGED)
endif()
set_target_properties(Packer PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${output_folder})
endif()
elseif (build_winstore)

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: 721 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: 529 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 956 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 679 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Icon / Input / input_paid</title>
<g id="Icon-/-Input-/-input_paid" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M20,9.8 C25.6299826,9.8 30.2,14.2730045 30.2,19.7983329 C30.2,25.3236612 25.6299826,29.7966657 20,29.7966657 C18.7457032,29.7966657 17.522531,29.57429 16.3765194,29.1472418 L16.049,29.018 L15.8675895,29.1274403 L15.6273764,29.2612632 C14.545782,29.8404011 13.0955737,30.1473058 11.2731839,30.1996583 C10.8153842,30.2127839 10.4336239,29.8523042 10.4204985,29.3945045 C10.4177264,29.2978179 10.4318913,29.2013918 10.4663408,29.0979123 C10.9468917,27.7307176 11.2958938,26.5818971 11.5130707,25.6565167 L11.566,25.42 L11.5361505,25.3785138 C10.4824637,23.8473989 9.87852612,22.0565089 9.80714989,20.1756532 L9.8,19.7983329 C9.8,14.2730045 14.3700174,9.8 20,9.8 Z M20,11.2 C15.1365724,11.2 11.2,15.0530063 11.2,19.7983329 C11.2,21.6384229 11.7922255,23.3893508 12.8759186,24.8453165 L13.0610907,25.0940992 L13.001223,25.3983974 C12.8243697,26.2973155 12.5137714,27.4099145 12.0719423,28.73207 L12.064,28.754 L12.2244984,28.7405395 C13.2682683,28.6413859 14.1190062,28.4334572 14.7754263,28.1231964 L14.9665215,28.0270547 C15.164827,27.9208723 15.3780604,27.7932923 15.605736,27.6441968 L15.9287098,27.4326945 L16.2799121,27.5930136 C17.4341359,28.1199012 18.6962936,28.3966657 20,28.3966657 C24.8634276,28.3966657 28.8,24.5436594 28.8,19.7983329 C28.8,15.0530063 24.8634276,11.2 20,11.2 Z" id="Shape---" fill="#FFFFFF" fill-rule="nonzero"></path>
<path d="M20.2258661,25.6815247 C20.5071894,25.6815247 20.874026,25.4574745 20.874026,25.0631159 L20.874026,24.4093038 C22.5557139,24.2186972 23.4454545,23.1802196 23.4454545,21.6685117 C23.4454545,20.3671283 22.7015108,19.5784112 21.1573587,19.2234884 L19.8882782,18.9211469 C19.0943214,18.7371128 18.7067205,18.3558996 18.7067205,17.7972249 C18.7067205,17.1268153 19.2568638,16.6404397 20.1195884,16.6404397 C20.8197708,16.6404397 21.3073978,16.8902001 21.8512894,17.5277465 C22.126361,17.8300881 22.3389164,17.941823 22.6264913,17.941823 C22.9765824,17.941823 23.2454024,17.68549 23.2454024,17.3042767 C23.2454024,16.9362087 23.0390987,16.5352774 22.6890076,16.1737821 C22.2263871,15.713697 21.7022327,15.4113555 20.9207792,15.3061932 L20.9207792,14.6509738 C20.9207792,14.2631879 20.5009377,13.9363049 20.2133629,13.9363049 C19.9320396,13.9363049 19.5493506,14.2566152 19.5493506,14.6509738 L19.5493506,15.2864752 C17.930179,15.4442187 17.0312842,16.4629784 17.0312842,17.9221051 C17.0312842,19.1971979 17.7752279,20.0450688 19.2005991,20.3802736 L20.4696796,20.6891878 C21.3949206,20.9192303 21.7762699,21.2610078 21.7762699,21.8394004 C21.7762699,22.5886817 21.219875,23.061912 20.2258661,23.061912 C19.4819224,23.061912 18.8630112,22.766143 18.3003647,22.1285967 C17.9815316,21.7933919 17.8064861,21.7210928 17.5689242,21.7210928 C17.1875749,21.7210928 16.9,21.9774259 16.9,22.417793 C16.9,22.8055789 17.1125554,23.2065101 17.4939047,23.5548602 C17.9940349,24.0346632 18.7115432,24.3238594 19.5805195,24.4093038 L19.5805195,25.0565432 C19.5805195,25.4509018 19.9382912,25.6815247 20.2258661,25.6815247 Z" id="Path" fill="#FFFFFF" fill-rule="nonzero"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.3 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.4 KiB

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Icon / Mini / mini_ton_bold</title>
<g id="Icon-/-Mini-/-mini_ton_bold" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M12.5980305,2.7875 C13.2201476,2.7875 13.7244732,3.29182558 13.7244732,3.9139427 C13.7244732,4.11165014 13.6724374,4.30587532 13.5735947,4.47710133 L9.21676388,12.0244744 C8.80179975,12.7433201 7.88266529,12.9896647 7.16381961,12.5747006 C6.92829269,12.4387393 6.73407151,12.2414175 6.60185728,12.0037668 L2.40584723,4.46158062 C2.10339516,3.91793325 2.29892259,3.23203413 2.84256996,2.92958206 C3.01005587,2.83640316 3.19854713,2.7875 3.39020787,2.7875 L12.5980305,2.7875 Z M7.24956057,4.2875 L4.025,4.2875 L7.24956057,10.0835 L7.24956057,4.2875 Z M11.95,4.2875 L8.74956057,4.2875 L8.74956057,9.8255 L11.95,4.2875 Z" id="Shape" fill="#FFFFFF" fill-rule="nonzero"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Icon / Filled / paid_approve</title>
<g id="Icon-/-Filled-/-paid_approve" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M12,4.5 C16.14,4.5 19.5,7.86 19.5,12 C19.5,16.14 16.14,19.5 12,19.5 C7.86,19.5 4.5,16.14 4.5,12 C4.5,7.86 7.86,4.5 12,4.5 Z M15.7577636,9.89127556 C15.4992394,9.62810439 15.0763217,9.62433727 14.8131506,9.88286145 L10.7479688,13.8761719 L9.18684944,12.3424898 C8.92367827,12.0839656 8.50076063,12.0877327 8.24223645,12.3509039 C7.98371227,12.6140751 7.98747939,13.0369927 8.25065056,13.2955169 L10.204967,15.2153247 C10.5064723,15.5115061 10.9896874,15.5115061 11.2911927,15.2153247 L15.7493494,10.8358886 C16.0125206,10.5773644 16.0162877,10.1544467 15.7577636,9.89127556 Z" id="Shape" fill="#FFFFFF" fill-rule="nonzero"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 999 B

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Icon / Filled / paid_decline</title>
<g id="Icon-/-Filled-/-paid_decline" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M12,4.5 C16.1421356,4.5 19.5,7.85786438 19.5,12 C19.5,16.1421356 16.1421356,19.5 12,19.5 C7.85786438,19.5 4.5,16.1421356 4.5,12 C4.5,7.85786438 7.85786438,4.5 12,4.5 Z M9.73375908,8.63964245 C9.43162712,8.33751049 8.94177442,8.33751049 8.63964245,8.63964245 L8.59853606,8.68404063 C8.33819559,8.98800138 8.35189772,9.44601435 8.63964245,9.73375908 L10.9059783,12 L8.63964245,14.2662409 C8.33751049,14.5683729 8.33751049,15.0582256 8.63964245,15.3603575 L8.68404063,15.4014639 C8.98800138,15.6618044 9.44601435,15.6481023 9.73375908,15.3603575 L12,13.0936701 L14.2662409,15.3603575 C14.5683729,15.6624895 15.0582256,15.6624895 15.3603575,15.3603575 L15.4014639,15.3159594 C15.6618044,15.0119986 15.6481023,14.5539856 15.3603575,14.2662409 L13.0936701,12 L15.3603575,9.73375908 C15.6624895,9.43162712 15.6624895,8.94177442 15.3603575,8.63964245 L15.3159594,8.59853606 C15.0119986,8.33819559 14.5539856,8.35189772 14.2662409,8.63964245 L12,10.9059783 L9.73375908,8.63964245 Z" id="Shape" fill="#FFFFFF"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Icon / Filled / paid_edit</title>
<g id="Icon-/-Filled-/-paid_edit" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M13.5029106,7.64699152 C13.6056531,7.5472623 13.7697888,7.549705 13.869518,7.65244745 L16.2610253,10.1162122 C16.3593492,10.2175069 16.3585592,10.3788499 16.259248,10.4791768 L7.97687653,18.8462593 C7.87948817,18.9446437 7.74680196,19 7.6083679,19 L5.51851849,19 C5.23214864,19 5,18.7678513 5,18.4814815 L5,16.3683223 C5,16.2308422 5.05459809,16.0989896 5.15178971,16.0017551 L13.5029106,7.64699152 Z M16.0299869,5.19856593 C16.3408365,4.91998643 16.8161619,4.93645109 17.1069903,5.23587194 L18.7801411,6.95845528 C19.073802,7.26079221 19.0732123,7.74202152 18.7788114,8.04363789 L17.6449122,9.20518682 C17.5421105,9.3048549 17.3779763,9.30231456 17.2783082,9.19951281 L14.8031149,6.64621027 C14.707554,6.53957983 14.7165277,6.3756714 14.8231582,6.28011055 L16.0299869,5.19856593 Z" id="Shape" fill="#FFFFFF"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="72px" height="72px" viewBox="0 0 72 72" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Badge / level10_inner</title>
<g id="Badge-/-level10_inner" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M23,15 L49,15 C53.418278,15 57,18.581722 57,23 L57,46.8429984 C57,48.7715399 55.8908719,50.5281562 54.1496679,51.357301 L37.2898007,59.3858092 C36.4738291,59.7743671 35.5261709,59.7743671 34.7101993,59.3858092 L17.8503321,51.357301 C16.1091281,50.5281562 15,48.7715399 15,46.8429984 L15,23 C15,18.581722 18.581722,15 23,15 Z" id="Path" fill="#FFFFFF"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 714 B

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="72px" height="72px" viewBox="0 0 72 72" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Badge / level1_inner</title>
<g id="Badge-/-level1_inner" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M53,45 C54.6943359,39.9169922 55.1925159,32.4416725 54.49454,22.5740409 C54.2708931,19.4342396 51.6589867,17.0009114 48.5112305,17 L23.4887695,17 C20.3410133,17.0009114 17.7291069,19.4342396 17.50546,22.5740409 C16.8074841,32.4416725 17.3056641,39.9169922 19,45 C20.9999787,50.9999361 32.8055802,57.9438271 36.0181519,58.0000467 C39.2307237,58.0555136 50.70353,51.8894101 53,45 Z" id="Path" fill="#FFFFFF"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 767 B

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="72px" height="72px" viewBox="0 0 72 72" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Badge / level20_inner</title>
<g id="Badge-/-level20_inner" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M17.5067188,13.1565216 L35.4932812,17.8672879 C35.8254913,17.9542953 36.1745087,17.9542953 36.5067188,17.8672879 L54.4932812,13.1565216 C55.5618111,12.8766685 56.6548914,13.5160174 56.9347444,14.5845472 C56.9780693,14.7499693 57,14.9202646 57,15.091266 L57,50 C57,53.8659932 53.8659932,57 50,57 L22,57 C18.1340068,57 15,53.8659932 15,50 L15,15.091266 C15,13.9866965 15.8954305,13.091266 17,13.091266 C17.1710014,13.091266 17.3412968,13.1131968 17.5067188,13.1565216 Z" id="Path" fill="#FFFFFF"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 857 B

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="72px" height="72px" viewBox="0 0 72 72" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Badge / level2_inner</title>
<g id="Badge-/-level2_inner" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M28,15 L44,15 C51.1797017,15 57,20.8202983 57,28 L57,44 C57,51.1797017 51.1797017,57 44,57 L28,57 C20.8202983,57 15,51.1797017 15,44 L15,28 C15,20.8202983 20.8202983,15 28,15 Z" id="Rectangle" fill="#FFFFFF"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 569 B

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="72px" height="72px" viewBox="0 0 72 72" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Badge / level30_inner</title>
<g id="Badge-/-level30_inner" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M17.5067188,13.1565216 L35.4932812,17.8672879 C35.8254913,17.9542953 36.1745087,17.9542953 36.5067188,17.8672879 L54.4932812,13.1565216 C55.5618111,12.8766685 56.6548914,13.5160174 56.9347444,14.5845472 C56.9780693,14.7499693 57,14.9202646 57,15.091266 L57,47.2740807 C57,49.2380496 55.850227,51.0201354 54.0608393,51.8296203 L37.2365036,59.4406293 C36.4505105,59.7961976 35.5494895,59.7961976 34.7634964,59.4406293 L17.9391607,51.8296203 C16.149773,51.0201354 15,49.2380496 15,47.2740807 L15,15.091266 C15,13.9866965 15.8954305,13.091266 17,13.091266 C17.1710014,13.091266 17.3412968,13.1131968 17.5067188,13.1565216 Z" id="Path" fill="#FFFFFF"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1009 B

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="72px" height="72px" viewBox="0 0 72 72" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Badge / level3_inner</title>
<g id="Badge-/-level3_inner" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M35.8544323,16.5 C42.5603579,16.5 48.9772339,17.3142695 55.1127909,18.9403855 C57.8720367,19.6721748 59.5984053,22.4098874 59.0695564,25.2151096 L58.9161688,25.9952446 C57.6492744,32.2345248 55.3583898,38.2325914 52.0339947,44.0033008 C48.4623738,50.2031617 44.2319724,54.8983246 39.3449322,58.1412366 L38.808,58.49 L38.6366496,58.5935691 C37.0148548,59.5241021 35.0268922,59.5572143 33.3750071,58.6812087 L33.244,58.609 L33.1538672,58.5548802 C27.4610226,55.1837021 22.8566119,50.5438551 19.3062949,44.5841668 L18.9660053,44.0033008 C15.6094458,38.1767582 13.4677002,31.8512809 12.5350759,24.997545 C12.1766452,22.3675806 13.7646861,19.874921 16.2717218,19.0736995 L16.531,18.998 L17.3695077,18.774139 C22.9281007,17.3348182 28.7645985,16.5777965 34.8855941,16.5056926 L35.8544323,16.5 Z" id="Path" fill="#FFFFFF"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="72px" height="72px" viewBox="0 0 72 72" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Badge / level40_inner</title>
<g id="Badge-/-level40_inner" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M13.8209245,17.0037365 L23.6412021,18.7573575 C24.5036156,18.9113599 25.3902576,18.6806984 26.0682874,18.1259467 L34.7335244,11.0362073 C35.4702562,10.4334268 36.5297438,10.4334268 37.2664756,11.0362073 L45.9317126,18.1259467 C46.6097424,18.6806984 47.4963844,18.9113599 48.3587979,18.7573575 L58.1790755,17.0037365 C59.2664441,16.8095635 60.3053389,17.5336417 60.4995119,18.6210104 C60.5408831,18.8526891 60.541039,19.0898514 60.4999724,19.3215843 L55.1703343,49.3959706 C54.4933325,53.2161951 51.17282,56 47.2930717,56 L24.7069283,56 C20.82718,56 17.5066675,53.2161951 16.8296657,49.3959706 L11.5000276,19.3215843 C11.3072843,18.2339613 12.0327276,17.1960193 13.1203506,17.003276 C13.3520835,16.9622094 13.5892458,16.9623653 13.8209245,17.0037365 Z" id="Path" fill="#FFFFFF"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="72px" height="72px" viewBox="0 0 72 72" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Badge / level4_inner</title>
<g id="Badge-/-level4_inner" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M44.3705856,16.4672101 L55.5327899,27.6294144 C60.1557367,32.2523612 60.1557367,39.7476388 55.5327899,44.3705856 L44.3705856,55.5327899 C39.7476388,60.1557367 32.2523612,60.1557367 27.6294144,55.5327899 L16.4672101,44.3705856 C11.8442633,39.7476388 11.8442633,32.2523612 16.4672101,27.6294144 L27.6294144,16.4672101 C32.2523612,11.8442633 39.7476388,11.8442633 44.3705856,16.4672101 Z" id="Polygon" fill="#FFFFFF"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 775 B

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="72px" height="72px" viewBox="0 0 72 72" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Badge / level50_inner</title>
<g id="Badge-/-level50_inner" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M13.8457992,17.0081784 L23.6412021,18.7573575 C24.5036156,18.9113599 25.3902576,18.6806984 26.0682874,18.1259467 L34.7335244,11.0362073 C35.4702562,10.4334268 36.5297438,10.4334268 37.2664756,11.0362073 L45.9317126,18.1259467 C46.6097424,18.6806984 47.4963844,18.9113599 48.3587979,18.7573575 L58.1542008,17.0081784 C59.2415694,16.8140055 60.2804642,17.5380836 60.4746372,18.6254523 C60.5169804,18.862574 60.516141,19.1053947 60.4721595,19.342218 L55.2572125,47.4227021 C54.7824054,49.9793556 53.0945991,52.1457247 50.731704,53.2313793 L37.6700007,59.2327024 C36.6099358,59.7197592 35.3900642,59.7197592 34.3299993,59.2327024 L21.268296,53.2313793 C18.9054009,52.1457247 17.2175946,49.9793556 16.7427875,47.4227021 L11.5278405,19.342218 C11.3261547,18.2562177 12.0430333,17.2123419 13.1290336,17.0106561 C13.3658569,16.9666746 13.6086775,16.9658353 13.8457992,17.0081784 Z" id="Path" fill="#FFFFFF"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="72px" height="72px" viewBox="0 0 72 72" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Badge / level5_inner</title>
<g id="Badge-/-level5_inner" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M24.6347159,52.197233 L15.086894,45.3306104 C13.3626301,44.0905507 12.6070688,41.9044024 13.1995002,39.8696074 L16.4885503,28.5785206 L20.056184,18.2789734 C20.736028,16.3172234 22.5589494,14.9756983 24.6408724,14.9050076 L35.519949,14.536208 L46.4041369,14.5 C48.4875477,14.4932153 50.3596774,15.7663386 51.1123731,17.7018167 L55.0199245,27.7496763 C55.0516847,27.8313442 55.081291,27.9138273 55.1087132,27.9970407 L58.7486546,39.0425771 C59.4120036,41.0555339 58.7334828,43.2666211 57.0537084,44.5658775 L47.7086588,51.7944553 L39.3643082,58.4096688 C37.5845851,59.8205932 35.0761178,59.866608 33.245468,58.5219115 L24.6347159,52.197233 Z" id="Star-Flat" fill="#FFFFFF"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="72px" height="72px" viewBox="0 0 72 72" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Badge / level60_inner</title>
<g id="Badge-/-level60_inner" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M25.1630277,52.850407 L17.8273486,50.8900353 C15.0747,50.1544232 13.4412291,47.3453418 14.1759196,44.6106697 L16.1338353,37.322897 C16.3667018,36.4561188 16.3667018,35.5438812 16.1338353,34.677103 L14.1759196,27.3893303 C13.4412291,24.6546582 15.0747,21.8455768 17.8273486,21.1099647 L25.1630277,19.149593 C26.0355037,18.9164343 26.8311982,18.4603155 27.4708076,17.826696 L32.848571,12.499295 C34.8665291,10.500235 38.1334709,10.500235 40.151429,12.499295 L45.5291924,17.826696 C46.1688018,18.4603155 46.9644963,18.9164343 47.8369723,19.149593 L55.1726514,21.1099647 C57.9253,21.8455768 59.5587709,24.6546582 58.8240804,27.3893303 L56.8661647,34.677103 C56.6332982,35.5438812 56.6332982,36.4561188 56.8661647,37.322897 L58.8240804,44.6106697 C59.5587709,47.3453418 57.9253,50.1544232 55.1726514,50.8900353 L47.8369723,52.850407 C46.9644963,53.0835657 46.1688018,53.5396845 45.5291924,54.173304 L40.151429,59.500705 C38.1334709,61.499765 34.8665291,61.499765 32.848571,59.500705 L27.4708076,54.173304 C26.8311982,53.5396845 26.0355037,53.0835657 25.1630277,52.850407 Z" id="Star-Flat" fill="#FFFFFF"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="72px" height="72px" viewBox="0 0 72 72" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Badge / level6_inner</title>
<g id="Badge-/-level6_inner" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M56.5,27.2077494 L56.5,44.7922506 C56.5,46.727022 55.4750178,48.5148244 53.8111544,49.4822101 L38.6888456,58.2744607 C37.0249822,59.2418464 34.9750178,59.2418464 33.3111544,58.2744607 L18.1888456,49.4822101 C16.5249822,48.5148244 15.5,46.727022 15.5,44.7922506 L15.5,27.2077494 C15.5,25.272978 16.5249822,23.4851756 18.1888456,22.5177899 L33.3111544,13.7255393 C34.9750178,12.7581536 37.0249822,12.7581536 38.6888456,13.7255393 L53.8111544,22.5177899 C55.4750178,23.4851756 56.5,25.272978 56.5,27.2077494 Z" id="Polygon-Flat" fill="#FFFFFF"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 902 B

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="72px" height="72px" viewBox="0 0 72 72" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Badge / level70_inner</title>
<g id="Badge-/-level70_inner" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M25.6231529,53.6849537 L20.2456512,53.1119864 C17.3639984,52.8049492 15.263688,50.1918606 15.5389909,47.256223 L16.0527382,41.7779796 C16.1648264,40.5827489 15.8804506,39.3837383 15.2449668,38.3721824 L12.332278,33.7357975 C10.7714495,31.2512883 11.4691887,27.9507327 13.8958667,26.3394648 L18.424332,23.3326503 C19.4123422,22.6766303 20.1560647,21.7027674 20.5368804,20.5663865 L22.2823186,15.3578763 C23.2176501,12.5667813 26.188027,11.0641444 28.9387422,11.9905637 L34.0718987,13.7193707 C35.1918391,14.0965579 36.4036217,14.0811813 37.5139749,13.6756934 L42.6031895,11.8171724 C45.3303573,10.821243 48.3366176,12.248041 49.3400252,15.0145349 L51.2125014,20.1771366 C51.621034,21.3035012 52.3883797,22.2581898 53.3921518,22.8889356 L57.9928604,25.779908 C60.4582516,27.3290994 61.2366199,30.6109243 59.7371336,33.1342664 L56.9389167,37.8431184 C56.3284081,38.870485 56.07349,40.0763388 56.2148201,41.2683538 L56.8625953,46.7318584 C57.20972,49.6595979 55.1740691,52.3251686 52.3008327,52.7052309 L46.9390371,53.4144716 C45.7692127,53.5692121 44.6839892,54.1181986 43.8564529,54.9738712 L40.0635069,58.8957776 C38.030973,60.9974176 34.7141896,61.0395051 32.6308086,58.9900928 L28.7429758,55.1656495 C27.8947373,54.3312412 26.7964039,53.8099624 25.6231529,53.6849537 Z" id="Star-Flat" fill="#FFFFFF"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="72px" height="72px" viewBox="0 0 72 72" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Badge / level7_inner</title>
<g id="Badge-/-level7_inner" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M47.5119469,15.9725146 L56.9485165,28.1544765 C57.8703305,29.3444749 58.2101938,30.8974518 57.8718989,32.3737956 L54.4087892,47.487062 C54.0704943,48.9634057 53.0908608,50.2024337 51.7472,50.8534058 L37.9922031,57.5173789 C36.6485423,58.1683511 35.087096,58.1604167 33.7498732,57.4958219 L20.0607825,50.6923941 C18.7235597,50.0277993 17.7561016,48.7788774 17.4322729,47.2991691 L14.1172527,32.1514602 C13.793424,30.6717519 14.1484698,29.1223062 15.0818847,27.9417349 L24.637213,15.8562787 C25.570628,14.6757075 26.9808209,13.9925021 28.468599,14 L43.6989186,14.0774536 C45.1866968,14.0850136 46.5901329,14.7825162 47.5119469,15.9725146 Z" id="Polygon-Flat" fill="#FFFFFF"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="72px" height="72px" viewBox="0 0 72 72" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Badge / level80_inner</title>
<g id="Badge-/-level80_inner" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M25.4075318,55.0983015 L20.6181753,54.4891523 C18.1878179,54.1800396 16.3367069,52.1599065 16.2405902,49.7118564 L16.0511788,44.887634 C16.0102196,43.84442 15.6446438,42.8400089 15.0054554,42.0145324 L12.0496025,38.1972124 C10.5496559,36.2601145 10.6691726,33.5227316 12.3322407,31.723734 L15.609547,28.1785595 C16.3182481,27.4119333 16.769973,26.4432062 16.9016985,25.4075318 L17.5108477,20.6181753 C17.8199604,18.1878179 19.8400935,16.3367069 22.2881436,16.2405902 L27.112366,16.0511788 C28.15558,16.0102196 29.1599911,15.6446438 29.9854676,15.0054554 L33.8027876,12.0496025 C35.7398855,10.5496559 38.4772684,10.6691726 40.276266,12.3322407 L43.8214405,15.609547 C44.5880667,16.3182481 45.5567938,16.769973 46.5924682,16.9016985 L51.3818247,17.5108477 C53.8121821,17.8199604 55.6632931,19.8400935 55.7594098,22.2881436 L55.9488212,27.112366 C55.9897804,28.15558 56.3553562,29.1599911 56.9945446,29.9854676 L59.9503975,33.8027876 C61.4503441,35.7398855 61.3308274,38.4772684 59.6677593,40.276266 L56.390453,43.8214405 C55.6817519,44.5880667 55.230027,45.5567938 55.0983015,46.5924682 L54.4891523,51.3818247 C54.1800396,53.8121821 52.1599065,55.6632931 49.7118564,55.7594098 L44.887634,55.9488212 C43.84442,55.9897804 42.8400089,56.3553562 42.0145324,56.9945446 L38.1972124,59.9503975 C36.2601145,61.4503441 33.5227316,61.3308274 31.723734,59.6677593 L28.1785595,56.390453 C27.4119333,55.6817519 26.4432062,55.230027 25.4075318,55.0983015 Z" id="Star" fill="#FFFFFF"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="72px" height="72px" viewBox="0 0 72 72" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Badge / level8_inner</title>
<g id="Badge-/-level8_inner" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M27.9852814,15 L44.0147186,15 C45.6060176,15 47.132141,15.632141 48.2573593,16.7573593 L55.2426407,23.7426407 C56.367859,24.867859 57,26.3939824 57,27.9852814 L57,44.0147186 C57,45.6060176 56.367859,47.132141 55.2426407,48.2573593 L48.2573593,55.2426407 C47.132141,56.367859 45.6060176,57 44.0147186,57 L27.9852814,57 C26.3939824,57 24.867859,56.367859 23.7426407,55.2426407 L16.7573593,48.2573593 C15.632141,47.132141 15,45.6060176 15,44.0147186 L15,27.9852814 C15,26.3939824 15.632141,24.867859 16.7573593,23.7426407 L23.7426407,16.7573593 C24.867859,15.632141 26.3939824,15 27.9852814,15 Z" id="Rectangle" fill="#FFFFFF"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 985 B

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="72px" height="72px" viewBox="0 0 72 72" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Badge / level90_inner</title>
<g id="Badge-/-level90_inner" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M15.8733536,45.5876663 L13.5374788,26.4767308 C13.2739231,24.3204523 14.4193524,22.2383675 16.3756386,21.3177141 L34.3082495,12.8783965 C35.3803169,12.3738678 36.6196831,12.3738678 37.6917505,12.8783965 L55.6243614,21.3177141 C57.5806476,22.2383675 58.7260769,24.3204523 58.4625212,26.4767308 L56.1266464,45.5876663 C55.9615284,46.9385772 55.2580965,48.1641245 54.1775745,48.9834175 L39.003776,60.4887707 C37.2255672,61.8370764 34.7744328,61.8370764 32.996224,60.4887707 L17.8224255,48.9834175 C16.7419035,48.1641245 16.0384716,46.9385772 15.8733536,45.5876663 Z" id="Diamond-Flat" fill="#FFFFFF"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 960 B

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="72px" height="72px" viewBox="0 0 72 72" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Badge / level9_inner</title>
<g id="Badge-/-level9_inner" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<circle id="Oval" fill="#FFFFFF" cx="36" cy="36" r="21"></circle>
</g>
</svg>

After

Width:  |  Height:  |  Size: 410 B

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Icon / Filled / Folder / filled_warning</title>
<g id="Icon-/-Filled-/-Folder-/-filled_warning" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M4.88979533,20 L19.1102047,20 C20.5643501,20 21.4708304,18.4289284 20.7437577,17.1777157 L13.633553,4.93840953 C12.9064803,3.68719682 11.0935197,3.68719682 10.366447,4.93840953 L3.25624234,17.1777157 C2.52916961,18.4289284 3.43564989,20 4.88979533,20 Z M12,9.51724138 C12.4659903,9.51724138 12.84375,9.89500112 12.84375,10.3609914 L12.84375,13.3631466 C12.84375,13.8291368 12.4659903,14.2068966 12,14.2068966 C11.5340097,14.2068966 11.15625,13.8291368 11.15625,13.3631466 L11.15625,10.3609914 C11.15625,9.89500112 11.5340097,9.51724138 12,9.51724138 Z M12.018319,17.1862069 L11.981681,17.1862069 C11.463676,17.1862069 11.04375,16.7662809 11.04375,16.2482759 C11.04375,15.7302709 11.463676,15.3103448 11.981681,15.3103448 L12.018319,15.3103448 C12.536324,15.3103448 12.95625,15.7302709 12.95625,16.2482759 C12.95625,16.7662809 12.536324,17.1862069 12.018319,17.1862069 Z" id="Shape" fill="#FFFFFF" fill-rule="nonzero"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Icon / Filled / Folder / filled_rating_crown</title>
<g id="Icon-/-Filled-/-Folder-/-filled_rating_crown" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M12.006194,4 C12.2804747,4 12.5305167,4.06540388 12.7563199,4.19621163 C12.9821231,4.32701939 13.1625206,4.50276893 13.2975123,4.72346025 C13.4325041,4.94415157 13.5,5.18550018 13.5,5.44750606 C13.5,5.71705917 13.4325041,5.96227898 13.2975123,6.18316549 C13.1625206,6.404052 12.9821231,6.5799154 12.7563199,6.71075569 L15.4435899,11.5643277 C15.5815617,11.7639089 15.7563694,11.7899721 15.968013,11.6425174 L18.1781768,9.33989673 C18.0593923,9.13003568 18,8.89851056 18,8.64532138 C18,8.38325043 18.0675127,8.14188556 18.202538,7.92122677 C18.3375634,7.70056798 18.5179776,7.52481844 18.7437808,7.39397816 C18.969584,7.26313787 19.2198274,7.19771773 19.494511,7.19771773 C19.7726861,7.19771773 20.0256488,7.26313787 20.2533991,7.39397816 C20.4811495,7.52481844 20.6625206,7.69962458 20.7975123,7.91839656 C20.9325041,8.13716855 21,8.37947682 21,8.64532138 C21,8.91526486 20.9315305,9.16058227 20.7945916,9.38127359 C20.6576527,9.60196491 20.4753248,9.77771445 20.247608,9.90852221 C20.0847544,10.0020705 19.9099761,10.0621678 19.7232729,10.0888143 L18.6881679,14.8280591 L18.18147,17.2645439 C18.0360821,17.8406994 17.5858498,18.2705453 17.2433245,18.5609529 C16.9007991,18.8513606 16.024907,19 15.4030968,19 L8.60301533,19 C7.98112362,19 7.07922209,18.853651 6.73645226,18.5609529 C6.39368244,18.2682549 5.96970407,17.8361186 5.82537564,17.2645439 L5.33200224,14.8280591 L4.28780473,10.091804 C4.09296054,10.0668449 3.91161924,10.005751 3.74378084,9.90852221 C3.51797764,9.77771445 3.33756337,9.60196491 3.20253802,9.38127359 C3.06751267,9.16058227 3,8.91526486 3,8.64532138 C3,8.38325043 3.06751267,8.14188556 3.20253802,7.92122677 C3.33756337,7.70056798 3.51797764,7.52481844 3.74378084,7.39397816 C3.96958405,7.26313787 4.21982744,7.19771773 4.49451103,7.19771773 C4.77268607,7.19771773 5.02564877,7.26313787 5.25339913,7.39397816 C5.48114949,7.52481844 5.66252056,7.69962458 5.79751234,7.91839656 C5.93250411,8.13716855 6,8.37947682 6,8.64532138 C6,8.85527742 5.9585802,9.05033621 5.8757406,9.23049773 L5.8356,9.31024634 L8.05741354,11.6413327 C8.17558193,11.7218918 8.27307085,11.7527925 8.3498803,11.7340349 C8.42668976,11.7152773 8.49488107,11.6628546 8.55445424,11.576767 L11.2500459,6.70934707 C11.0234694,6.57865415 10.8419403,6.40326029 10.7054588,6.18316549 C10.5684863,5.96227898 10.5,5.71705917 10.5,5.44750606 C10.5,5.18172656 10.5675127,4.93943456 10.702538,4.72063004 C10.8375634,4.50182552 11.0189344,4.32701939 11.2466512,4.19621163 C11.474368,4.06540388 11.7275489,4 12.006194,4 Z" id="Path" fill="#FFFFFF" fill-rule="nonzero"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Icon / Filled / Folder / filled_understood</title>
<g id="Icon-/-Filled-/-Folder-/-filled_understood" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M12.8474094,2.35452236 C13.885383,1.47475174 14.8173541,2.39162557 15.6118925,3.37253311 L15.7012514,3.4837597 C16.5164257,4.50413739 16.896938,5.20519347 17.573079,6.45345067 C18.2023878,7.61607163 19,9.78891004 19,11.0676479 L18.9982623,11.4602681 C18.9876271,12.5429001 18.9217408,13.3886119 18.6297323,14.4132675 L18.4373147,15.0832437 C17.6686959,17.7193108 17.0159257,19.2763685 14.5216634,19.7807735 C13.10206,20.068163 10.6477559,20.1900858 9.65842399,19.3946847 C7.99649075,18.0581246 7.24548521,16.7868457 6.69332563,15.7108913 L6.48407363,15.2966137 C6.20747049,14.7436067 5.49035123,13.0903916 6.59969082,12.2935391 C7.07533115,11.9524455 7.88026093,12.0496935 8.21540442,12.3820783 C9.4579233,13.6143694 9.58232154,15.2464067 11.9078369,15.2464067 C13.3786631,15.2464067 13.9391869,14.2869904 13.9391869,12.58878 C13.9391869,11.3521345 12.1390712,10.1619357 9.97161486,11.0502304 C8.24621513,12.1140246 7.17909072,11.547078 6.86322591,10.7478144 L6.82781627,10.6508891 L6.79127892,10.5445502 C6.5448802,9.79724635 6.61229951,9.16312262 10.1911412,7.82363067 C10.6137438,7.6657143 11.3830789,7.698766 12.0161927,7.78792773 C12.8897042,8.04621996 13.6148836,8.35641256 14.1913276,8.71620571 C14.929645,9.17703372 15.7391454,9.82868756 16.6173642,10.6711738 C16.8017985,10.848104 17.0950516,10.8396614 17.2723632,10.6523169 C17.4496747,10.4649723 17.4439006,10.1696692 17.2594662,9.99273903 C16.7803672,9.5331334 16.3184045,9.12578598 15.8732309,8.77069768 L15.8624136,8.73672043 C15.3582916,7.35121785 14.8646161,6.25548747 14.3777651,5.44628421 C13.9445436,4.72621943 13.3206019,3.99276536 12.5068246,3.24305992 C12.4746432,2.90001775 12.5672164,2.59132364 12.8474094,2.35452236 Z M10.9668008,4.0469269 L11.0518595,3.98215031 C11.2745376,3.81947674 11.4718477,3.74284792 11.8308451,3.8850515 C12.6071746,4.59396408 13.1906226,5.27558261 13.5826599,5.9271944 C13.8835044,6.42723311 14.1925809,7.05721299 14.5092459,7.81609175 C13.7940229,7.39877614 12.9130339,7.05268239 11.8658275,6.77510676 L11.6720359,6.53222118 C11.6390059,6.49065589 11.6057339,6.44860798 11.5724054,6.40616676 L11.3960913,6.1777103 C10.8136406,5.40671311 10.3189783,4.5550951 10.9668008,4.0469269 Z" id="Shape" fill="#FFFFFF" fill-rule="nonzero"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="48px" height="48px" viewBox="0 0 48 48" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Mini / mini_gift_lock</title>
<g id="Mini-/-mini_gift_lock" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M34.6666667,26.3333333 C40.1895142,26.3333333 44.6666667,30.8104858 44.6666667,36.3333333 C44.6666667,41.8561808 40.1895142,46.3333333 34.6666667,46.3333333 C29.1438192,46.3333333 24.6666667,41.8561808 24.6666667,36.3333333 C24.6666667,30.8104858 29.1438192,26.3333333 34.6666667,26.3333333 Z M22,3.06666667 C27.8542183,3.06666667 32.6,7.81244832 32.6,13.6666667 L32.5999548,19.4672746 C34.7232323,19.9235567 36.4292218,21.5034006 37.0650949,23.5539779 C36.287246,23.4090943 35.4858038,23.3333333 34.6666667,23.3333333 C27.4869649,23.3333333 21.6666667,29.1536316 21.6666667,36.3333333 C21.6666667,38.3649522 22.1326999,40.2877232 22.9636948,42.0005746 L12.6666667,42 C9.35295817,42 6.66666667,39.3137085 6.66666667,36 L6.66666667,25.3333333 C6.66666667,22.454169 8.69461762,20.048658 11.4000452,19.4672746 L11.4,13.6666667 C11.4,7.81244832 16.1457817,3.06666667 22,3.06666667 Z M34.6666667,29.3061633 C33.7052821,29.3061633 32.9259259,30.0855195 32.9259259,31.0469041 L32.9259259,36.9308449 C32.9259259,37.7182476 33.2996271,38.4589206 33.9329602,38.9267797 L37.3333333,41.3922119 C38.1066056,41.9634476 39.1965447,41.7996646 39.7677804,41.0263923 L39.8381314,40.9238035 C40.323622,40.1593232 40.1416125,39.1383445 39.4019608,38.5919452 L36.4074074,36.4264726 L36.4074074,31.0469041 C36.4074074,30.0855195 35.6280512,29.3061633 34.6666667,29.3061633 Z M22,7.6 C18.6494725,7.6 15.9333333,10.3161392 15.9333333,13.6666667 L15.9326667,19.3326667 L28.0666667,19.3326667 L28.0666667,13.6666667 C28.0666667,10.3161392 25.3505275,7.6 22,7.6 Z" id="Shape" fill="#FFFFFF" fill-rule="nonzero"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

Before

Width:  |  Height:  |  Size: 470 B

After

Width:  |  Height:  |  Size: 470 B

View File

Before

Width:  |  Height:  |  Size: 899 B

After

Width:  |  Height:  |  Size: 899 B

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 865 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 630 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 585 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1015 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 680 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 813 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Icon / Menu / rating_gifts</title>
<g id="Icon-/-Menu-/-rating_gifts" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M9.49180328,1 C11.2844653,1 12.6018066,2.18644541 12.6018066,3.65 C12.6018066,5.11355459 11.2844653,6.3 9.49180328,6.3 C7.6991413,6.3 6.24590164,5.11355459 6.24590164,3.65 C6.24590164,2.18644541 7.6991413,1 9.49180328,1 Z M9.49180328,2.2 C8.31430075,2.2 7.44590164,2.90897331 7.44590164,3.65 C7.44590164,4.39102669 8.31430075,5.1 9.49180328,5.1 C10.6309547,5.1 11.4018066,4.43203043 11.4018066,3.65 C11.4018066,2.86796957 10.6309547,2.2 9.49180328,2.2 Z" id="Oval" fill="#FFFFFF" fill-rule="nonzero"></path>
<path d="M14.5081967,1 C16.3008587,1 17.7540984,2.18644541 17.7540984,3.65 C17.7540984,5.11355459 16.3008587,6.3 14.5081967,6.3 C12.7155347,6.3 11.4638672,5.11355459 11.4638672,3.65 C11.4638672,2.18644541 12.7155347,1 14.5081967,1 Z M14.5081967,2.2 C13.3883731,2.2 12.6638672,2.84700401 12.6638672,3.65 C12.6638672,4.45299599 13.3883731,5.1 14.5081967,5.1 C15.6856993,5.1 16.5540984,4.39102669 16.5540984,3.65 C16.5540984,2.90897331 15.6856993,2.2 14.5081967,2.2 Z" id="Oval" fill="#FFFFFF" fill-rule="nonzero"></path>
<path d="M19.5245902,5.2245614 C20.6708074,5.2245614 21.6,6.15375404 21.6,7.29997124 L21.6,9.62036238 C21.6,10.2776718 21.0671455,10.8105263 20.4098361,10.8105263 L3.59016393,10.8105263 C2.93285454,10.8105263 2.4,10.2776718 2.4,9.62036238 L2.4,7.29997124 C2.4,6.15375404 3.32919263,5.2245614 4.47540984,5.2245614 L19.5245902,5.2245614 Z M19.5245902,6.4245614 L4.47540984,6.4245614 C3.99193433,6.4245614 3.6,6.81649574 3.6,7.29997124 L3.6,9.6095614 L20.4,9.6095614 L20.4,7.29997124 C20.4,6.85368616 20.0660441,6.48540066 19.6343997,6.43138209 L19.5245902,6.4245614 Z" id="Rectangle" fill="#FFFFFF" fill-rule="nonzero"></path>
<path d="M5.07540984,10.7953216 L5.07540984,18.3761864 C5.07540984,19.3485697 5.86368226,20.1368421 6.83606557,20.1368421 L17.1639344,20.1368421 C18.1363177,20.1368421 18.9245902,19.3485697 18.9245902,18.3761864 L18.9245902,10.7953216 L20.1245902,10.7953216 L20.1245902,18.3761864 C20.1245902,20.0113114 18.7990594,21.3368421 17.1639344,21.3368421 L6.83606557,21.3368421 C5.20094056,21.3368421 3.87540984,20.0113114 3.87540984,18.3761864 L3.87540984,10.7953216 L5.07540984,10.7953216 Z" id="Path" fill="#FFFFFF" fill-rule="nonzero"></path>
<polygon id="Path" fill="#FFFFFF" fill-rule="nonzero" points="11.4 6.11695906 11.4 21 12.6 21 12.6 6.11695906"></polygon>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Icon / Menu / rating_refund</title>
<g id="Icon-/-Menu-/-rating_refund" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M9.58495703,2.34314741 C14.845204,0.914046898 20.2520851,4.07916838 21.661564,9.41264412 C23.0710429,14.7461199 19.9493787,20.2282711 14.6891317,21.6573716 C9.70832403,23.0105542 4.55852362,20.241996 2.84766326,15.3548697 L2.79687536,15.2061286 C2.7724639,15.132795 2.65678419,14.7396157 2.52176727,14.2756688 L2.02361181,12.5403036 C1.92527607,12.1682007 2.1430666,11.785725 2.51006058,11.6860203 C2.87705455,11.5863156 3.25427881,11.807138 3.35261455,12.179241 L3.59432993,13.0275538 C3.80113943,13.7451404 4.06828557,14.6632038 4.10050903,14.760005 C5.52633258,19.0432668 10.0041242,21.485941 14.3330265,20.3098676 C18.8592855,19.0801764 21.5453687,14.3629766 20.3325613,9.77370673 C19.1197538,5.18443691 14.4673212,2.46096029 9.94106224,3.69065143 C7.52370963,4.34739623 5.56035445,6.02376558 4.49357103,8.2653952 C4.32845825,8.61234632 3.91721015,8.75789206 3.57502268,8.59048072 C3.23283521,8.42306937 3.08928781,8.00609621 3.25440059,7.65914509 C4.49336656,5.05570865 6.77676829,3.10607433 9.58495703,2.34314741 Z" id="Path" fill="#FFFFFF" fill-rule="nonzero"></path>
<path d="M2.49794681,3.90217796 C2.49794681,3.51694863 2.80594913,3.20465855 3.18588925,3.20465855 C3.56582936,3.20465855 3.87383169,3.51694863 3.87383169,3.90217796 L3.87360558,7.52173176 L6.91980245,7.41555441 C7.2814361,7.4029357 7.58746725,7.67568116 7.62708143,8.03426422 L7.63099908,8.08867052 C7.64406681,8.47367193 7.34684021,8.79651819 6.96712488,8.80976784 L3.24117729,8.93977968 C2.86111038,8.95304159 2.53984537,8.66451926 2.50172057,8.28653895 L2.49800979,8.22097241 L2.49794681,3.90217796 Z" id="Path" fill="#FFFFFF" fill-rule="nonzero"></path>
<path d="M12.3540269,17.3251877 C12.6431336,17.3251877 12.9561718,17.1659567 12.9561718,16.7838024 L12.9561718,16.1901404 C14.6843872,16.0054325 15.7076642,14.9990928 15.7076642,13.5341679 C15.7076642,12.2730587 14.9431377,11.50875 13.3562633,11.1648111 L12.0520711,10.8718262 C11.2361478,10.6934875 10.8378231,10.3240717 10.8378231,9.78268638 C10.8378231,9.13302405 11.4031872,8.66170039 12.289781,8.66170039 C13.0093353,8.66170039 13.5104536,8.90373146 14.0693931,9.5215476 C14.3520752,9.81453257 14.5705113,9.92280963 14.8660426,9.92280963 C15.2258197,9.92280963 15.5020772,9.67440933 15.5020772,9.30499349 C15.5020772,8.94831613 15.2900657,8.55979258 14.9302885,8.20948446 C14.4548686,7.76363776 13.7920916,7.47065278 12.9890176,7.36874497 L12.9890176,6.69989325 C12.9890176,6.32410818 12.6816811,6.16487722 12.3861499,6.16487722 C12.0970432,6.16487722 11.7838443,6.31773894 11.7838443,6.69989325 L11.7838443,7.34963725 C10.1198749,7.50249898 9.11603231,8.48973095 9.11603231,9.90370191 C9.11603231,11.1393342 9.88055881,11.960966 11.3453659,12.2857971 L12.6495582,12.5851513 C13.6003978,12.8080747 13.992298,13.1392751 13.992298,13.6997681 C13.992298,14.4258613 13.4205093,14.8844465 12.3989991,14.8844465 C11.6344726,14.8844465 10.9984379,14.5978307 10.4202246,13.9800146 C10.0925704,13.6551834 9.91268177,13.5851218 9.66854726,13.5851218 C9.27664712,13.5851218 8.98111587,13.8335221 8.98111587,14.2602611 C8.98111587,14.6360462 9.19955201,15.0245697 9.59145215,15.3621394 C10.1054195,15.8270938 10.852439,16.1137095 11.7454573,16.1965096 L11.7454573,16.7838024 C11.7454573,17.1659567 12.0584957,17.3251877 12.3540269,17.3251877 Z" id="Path" fill="#FFFFFF" fill-rule="nonzero"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 377 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 675 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 930 B

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Icon / Menu / users_stars</title>
<g id="Icon-/-Menu-/-users_stars" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M10.6647222,14.6083333 C13.1679529,14.6083333 15.1972222,16.6376027 15.1972222,19.1408333 L15.1972222,19.1805556 C15.1972222,19.5119264 14.9285931,19.7805556 14.5972222,19.7805556 C14.2658514,19.7805556 13.9972222,19.5119264 13.9972222,19.1805556 L13.9972222,19.1408333 C13.9972222,17.3003444 12.5052112,15.8083333 10.6647222,15.8083333 L5.47983871,15.8083333 C3.75894714,15.8083333 2.36388889,17.2033916 2.36388889,18.9242832 C2.36388889,19.255654 2.09525974,19.5242832 1.76388889,19.5242832 C1.43251804,19.5242832 1.16388889,19.255654 1.16388889,18.9242832 C1.16388889,16.5406499 3.09620544,14.6083333 5.47983871,14.6083333 L10.6647222,14.6083333 Z" id="Path" fill="#FFFFFF" fill-rule="nonzero"></path>
<path d="M8.47745116,3.81325275 C8.84434853,3.9691957 9.13648401,4.26133118 9.29242697,4.62822855 L9.837,5.91011111 L11.2536218,6.01848992 C12.0546381,6.07958882 12.6656371,6.74303885 12.6765549,7.53105369 L12.6721689,7.67131095 C12.640454,8.08709799 12.4414977,8.47225506 12.1207729,8.73875142 L11.07,9.61111111 L11.3938701,10.9206432 C11.5864903,11.7005519 11.1475494,12.4884712 10.4025244,12.745423 L10.2679383,12.785146 C9.87396987,12.8824474 9.45751925,12.8203294 9.10909531,12.6122923 L7.874,11.8751111 L6.65149995,12.6059661 C5.96413876,13.016376 5.08613461,12.8292111 4.62167189,12.196898 L4.53957882,12.0731599 C4.32863667,11.7198706 4.26783432,11.2968624 4.3707302,10.8984627 L4.60871396,9.97701978 C4.63955115,9.85762211 4.67934978,9.74174595 4.72741862,9.63019415 L4.781,9.51711111 C4.72402035,9.48693702 4.66830927,9.45442225 4.61377597,9.41969742 L4.45384681,9.30892937 L3.75085061,8.78062735 C3.07086182,8.2696154 2.93387902,7.30411853 3.44489097,6.62412974 C3.71113573,6.26984554 4.11709183,6.04742064 4.55898263,6.01371466 L5.912,5.91011111 L6.45757303,4.62822855 C6.79029762,3.84540525 7.69462787,3.48052816 8.47745116,3.81325275 Z M8.00805289,4.91763731 C7.83516435,4.84415422 7.63544068,4.92473827 7.5619576,5.09762682 L6.81242023,6.8611133 C6.762712,6.97806516 6.65195707,7.05755523 6.52524782,7.06722019 L4.65024959,7.21023893 C4.55265687,7.21768299 4.46300042,7.2668061 4.40419957,7.34505068 C4.29134126,7.49522796 4.32159427,7.70846043 4.47177155,7.82131874 L5.17476775,8.34962077 C5.44651754,8.55384088 5.78694643,8.64456615 6.12428682,8.60267031 L7.57841053,8.42207605 C7.70002725,8.40697192 7.81692252,8.4743167 7.86485999,8.58710305 C7.92415906,8.72662077 7.85912899,8.88779362 7.71961127,8.94709269 L6.4517079,9.48598834 C6.11405341,9.62950127 5.8623347,9.92186941 5.77058814,10.2771004 L5.53260437,11.1985433 C5.50987955,11.2865309 5.52330791,11.3799534 5.56989503,11.4579782 C5.66620013,11.6192716 5.87502492,11.671955 6.03631826,11.5756499 L7.70062419,10.5819253 C7.80803032,10.5177952 7.94196968,10.5177952 8.04937581,10.5819253 L9.72427701,11.5819761 C9.80122733,11.6279216 9.89320153,11.6416405 9.98021047,11.6201513 C10.1625874,11.5751082 10.2739185,11.3907479 10.2288754,11.208371 L9.77632428,9.37601536 C9.74506588,9.24945178 9.78889505,9.11615638 9.88916433,9.03284072 L11.3538674,7.81579097 C11.4247003,7.75693456 11.4686403,7.67187163 11.4756446,7.58004398 C11.4899322,7.3927312 11.3496676,7.2293018 11.1623548,7.21501419 L9.22475218,7.06722019 C9.09804293,7.05755523 8.987288,6.97806516 8.93757977,6.8611133 L8.1880424,5.09762682 C8.153602,5.01659659 8.08908313,4.95207771 8.00805289,4.91763731 Z" id="Star" fill="#FFFFFF" fill-rule="nonzero"></path>
<path d="M18.0174227,5.90931057 C18.3486503,6.04652517 18.611812,6.3096869 18.7490266,6.64091449 L19.1044444,7.5 L20.0337984,7.57332883 C20.7344012,7.62815795 21.2683217,8.20775826 21.2801433,8.89635992 L21.2761548,9.02664858 C21.2481303,9.38474356 21.0787573,9.71696686 20.805417,9.94999576 L20.0974444,10.552 L20.3154363,11.4563406 C20.4799024,12.1395692 20.0937745,12.8265284 19.4425658,13.0506693 L19.3174274,13.0871582 C18.9686126,13.1711245 18.6007266,13.1129982 18.2947908,12.9255805 L17.4994444,12.438 L16.7339799,12.9079554 C16.1370798,13.2736191 15.3682309,13.1207349 14.9530722,12.5755767 L14.8749121,12.4613522 C14.6783232,12.1404454 14.6243898,11.7521195 14.7260855,11.389785 L14.9136874,10.721373 C14.9302657,10.6623057 14.9495081,10.6043097 14.9712932,10.5475329 L14.9924444,10.496 L14.8586084,10.4042198 L14.3173233,9.99771597 C13.7202762,9.54933497 13.5997585,8.701848 14.0481395,8.10480086 C14.2812853,7.79435268 14.6366446,7.59911993 15.0237072,7.56882844 L15.8944444,7.5 L16.2509734,6.64091449 C16.536738,5.95109613 17.3276044,5.6235459 18.0174227,5.90931057 Z M17.59643,6.9255611 C17.4678713,6.87230428 17.3204807,6.93334851 17.2672239,7.0619072 L16.7120856,8.40197687 C16.6758104,8.48954314 16.5934614,8.54934298 16.4989677,8.55673805 L15.1095308,8.66547529 C15.0373954,8.6711206 14.9711685,8.70750534 14.9277181,8.76536233 C14.8441551,8.87663162 14.8666155,9.03457438 14.9778848,9.11813736 L15.5191699,9.52464117 C15.7230236,9.67773481 15.9788884,9.7445585 16.2315688,9.71069694 L17.183292,9.58315701 C17.2805543,9.57012294 17.375435,9.61996727 17.4198915,9.70745139 C17.4776834,9.82117784 17.4323395,9.96022092 17.318613,10.0180128 L16.4184593,10.4754402 C16.2004755,10.5862121 16.0388382,10.7832041 15.9727639,11.0186219 L15.7851621,11.6870339 C15.7662094,11.7545607 15.7762608,11.8269315 15.8128983,11.8867376 C15.8855887,12.0053956 16.0407073,12.0426597 16.1593653,11.9699692 L17.3683823,11.2293199 C17.449152,11.17984 17.550848,11.17984 17.6316177,11.2293199 L18.8694054,11.9875943 C18.9264214,12.0225226 18.9949829,12.0333554 19.0599901,12.0177069 C19.1952788,11.9851403 19.2785516,11.8490667 19.245985,11.7137779 L18.9067247,10.304416 C18.8845188,10.212168 18.9160198,10.1152669 18.988225,10.0537103 L20.0917784,9.1129056 C20.1427197,9.06947694 20.1742851,9.00756181 20.1795079,8.94082508 C20.1903648,8.80209601 20.086704,8.68083261 19.9479749,8.66997568 L18.5010323,8.55673805 C18.4065386,8.54934298 18.3241896,8.48954314 18.2879144,8.40197687 L17.7327761,7.0619072 C17.707204,7.00017764 17.6581596,6.95113324 17.59643,6.9255611 Z" id="Star-Copy" fill="#FFFFFF" fill-rule="nonzero"></path>
<path d="M18.2638889,14.6083333 C20.7890575,14.6083333 22.8361111,16.6553869 22.8361111,19.1805556 C22.8361111,19.5119264 22.567482,19.7805556 22.2361111,19.7805556 C21.9047403,19.7805556 21.6361111,19.5119264 21.6361111,19.1805556 C21.6361111,17.3181286 20.1263158,15.8083333 18.2638889,15.8083333 L15.8789648,15.8077138 C15.6342075,15.3537143 15.2908888,14.9468235 14.8660915,14.6068359 L18.2638889,14.6083333 Z" id="Path" fill="#FFFFFF" fill-rule="nonzero"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.7 KiB

View File

@@ -0,0 +1,15 @@
<svg width="72px" height="72px" viewBox="0 0 72 72">
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g transform="translate(9.000000, 14.000000)" stroke-width="7.2" stroke="rgb(255,255,255)">
<path d="M2.96014341,0 L50.9898193,0 C51.9732032,-7.06402744e-15
52.7703933,0.797190129 52.7703933,1.78057399 C52.7703933,2.08038611
52.6946886,2.3753442 52.5502994,2.63809702 L29.699977,44.2200383
C28.7527832,45.9436969 26.5876295,46.5731461 24.8639708,45.6259523
C24.2556953,45.2916896 23.7583564,44.7869606 23.4331014,44.1738213
L1.38718565,2.61498853 C0.926351231,1.74626794 1.25700829,0.668450654
2.12572888,0.20761623 C2.38272962,0.0712838007 2.6692209,4.97530809e-16
2.96014341,0 Z"></path>
<line x1="27" y1="44.4532875" x2="27" y2="0"></line>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 835 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 889 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="72px" height="72px" viewBox="0 0 72 72" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Filled / filled_verify_age</title>
<g id="Filled-/-filled_verify_age" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M36,34.9473684 C33.5842105,34.9473684 31.5592105,34.1302632 29.925,32.4960526 C28.2907895,30.8618421 27.4736842,28.8368421 27.4736842,26.4210526 C27.4736842,24.0526316 28.2907895,22.0394737 29.925,20.3815789 C31.5592105,18.7236842 33.5842105,17.8947368 36,17.8947368 C38.3684211,17.8947368 40.3815789,18.7236842 42.0394737,20.3815789 C43.6973684,22.0394737 44.5263158,24.0526316 44.5263158,26.4210526 C44.5263158,28.8368421 43.6973684,30.8618421 42.0394737,32.4960526 C40.3815789,34.1302632 38.3684211,34.9473684 36,34.9473684 Z" id="Path" fill="#FFFFFF" fill-rule="nonzero"></path>
<path d="M18.9473684,49.6842105 L18.9473684,47.1263158 C18.9473684,46.1315789 19.1960526,45.1960526 19.6934211,44.3197368 C20.1907895,43.4434211 20.8657895,42.7447368 21.7184211,42.2236842 C23.8973684,40.9447368 26.1828947,39.9736842 28.575,39.3105263 C30.9671053,38.6473684 33.4421053,38.3157895 36,38.3157895 C38.5578947,38.3157895 41.0328947,38.6473684 43.425,39.3105263 C45.8171053,39.9736842 48.1026316,40.9447368 50.2815789,42.2236842 C51.1342105,42.7447368 51.8092105,43.4434211 52.3065789,44.3197368 C52.8039474,45.1960526 53.0526316,46.1315789 53.0526316,47.1263158 L53.0526316,49.6842105 C53.0526316,50.4894737 52.7802632,51.1644737 52.2355263,51.7092105 C51.6907895,52.2539474 51.0157895,52.5263158 50.2105263,52.5263158 L21.7894737,52.5263158 C20.9842105,52.5263158 20.3092105,52.2539474 19.7644737,51.7092105 C19.2197368,51.1644737 18.9473684,50.4894737 18.9473684,49.6842105 Z" id="Path" fill="#FFFFFF" fill-rule="nonzero"></path>
<path d="M11.6842105,66 C10.1210526,66 8.78289474,65.4434211 7.66973684,64.3302632 C6.55657895,63.2171053 6,61.8789474 6,60.3157895 L6,51.7894737 C6,50.9842105 6.27236842,50.3092105 6.81710526,49.7644737 C7.36184211,49.2197368 8.03684211,48.9473684 8.84210526,48.9473684 C9.64736842,48.9473684 10.3223684,49.2197368 10.8671053,49.7644737 C11.4118421,50.3092105 11.6842105,50.9842105 11.6842105,51.7894737 L11.6842105,60.3157895 L20.2105263,60.3157895 C21.0157895,60.3157895 21.6907895,60.5881579 22.2355263,61.1328947 C22.7802632,61.6776316 23.0526316,62.3526316 23.0526316,63.1578947 C23.0526316,63.9631579 22.7802632,64.6381579 22.2355263,65.1828947 C21.6907895,65.7276316 21.0157895,66 20.2105263,66 L11.6842105,66 Z" id="Path" fill="#FFFFFF" fill-rule="nonzero"></path>
<path d="M6,20.2105263 L6,11.6842105 C6,10.1210526 6.55657895,8.78289474 7.66973684,7.66973684 C8.78289474,6.55657895 10.1210526,6 11.6842105,6 L20.2105263,6 C21.0157895,6 21.6907895,6.27236842 22.2355263,6.81710526 C22.7802632,7.36184211 23.0526316,8.03684211 23.0526316,8.84210526 C23.0526316,9.64736842 22.7802632,10.3223684 22.2355263,10.8671053 C21.6907895,11.4118421 21.0157895,11.6842105 20.2105263,11.6842105 L11.6842105,11.6842105 L11.6842105,20.2105263 C11.6842105,21.0157895 11.4118421,21.6907895 10.8671053,22.2355263 C10.3223684,22.7802632 9.64736842,23.0526316 8.84210526,23.0526316 C8.03684211,23.0526316 7.36184211,22.7802632 6.81710526,22.2355263 C6.27236842,21.6907895 6,21.0157895 6,20.2105263 Z" id="Path" fill="#FFFFFF" fill-rule="nonzero"></path>
<path d="M60.3157895,66 L51.7894737,66 C50.9842105,66 50.3092105,65.7276316 49.7644737,65.1828947 C49.2197368,64.6381579 48.9473684,63.9631579 48.9473684,63.1578947 C48.9473684,62.3526316 49.2197368,61.6776316 49.7644737,61.1328947 C50.3092105,60.5881579 50.9842105,60.3157895 51.7894737,60.3157895 L60.3157895,60.3157895 L60.3157895,51.7894737 C60.3157895,50.9842105 60.5881579,50.3092105 61.1328947,49.7644737 C61.6776316,49.2197368 62.3526316,48.9473684 63.1578947,48.9473684 C63.9631579,48.9473684 64.6381579,49.2197368 65.1828947,49.7644737 C65.7276316,50.3092105 66,50.9842105 66,51.7894737 L66,60.3157895 C66,61.8789474 65.4434211,63.2171053 64.3302632,64.3302632 C63.2171053,65.4434211 61.8789474,66 60.3157895,66 Z" id="Path" fill="#FFFFFF" fill-rule="nonzero"></path>
<path d="M60.3157895,20.2105263 L60.3157895,11.6842105 L51.7894737,11.6842105 C50.9842105,11.6842105 50.3092105,11.4118421 49.7644737,10.8671053 C49.2197368,10.3223684 48.9473684,9.64736842 48.9473684,8.84210526 C48.9473684,8.03684211 49.2197368,7.36184211 49.7644737,6.81710526 C50.3092105,6.27236842 50.9842105,6 51.7894737,6 L60.3157895,6 C61.8789474,6 63.2171053,6.55657895 64.3302632,7.66973684 C65.4434211,8.78289474 66,10.1210526 66,11.6842105 L66,20.2105263 C66,21.0157895 65.7276316,21.6907895 65.1828947,22.2355263 C64.6381579,22.7802632 63.9631579,23.0526316 63.1578947,23.0526316 C62.3526316,23.0526316 61.6776316,22.7802632 61.1328947,22.2355263 C60.5881579,21.6907895 60.3157895,21.0157895 60.3157895,20.2105263 Z" id="Path" fill="#FFFFFF" fill-rule="nonzero"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 574 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1016 B

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