Commit Graph

277 Commits

Author SHA1 Message Date
John Preston
62568daffe Refactor NotifySettings in PeerData. 2017-12-04 21:48:45 +04:00
John Preston
f3c8da4819 Request all admins when first opening a supergroup. 2017-12-03 20:43:42 +04:00
John Preston
8668d43032 Alpha version 1.1.26.
- Admin badges in supergroup messages.
- Fix crashing on launch in OS X 10.6.
- Bug fixes and other minor improvements.
2017-12-02 18:55:47 +04:00
John Preston
301aa9572f Apply channel admin edition changes. 2017-12-02 15:07:27 +04:00
John Preston
85b3d3f64d Display admin badges in supergroups.
Also prefer std containers to Qt and OrderedSet in data_peer.
2017-12-01 22:38:44 +04:00
John Preston
c10588a7dc Merge group-supergroup history in jump-to-date.
Fixes #4094.
2017-11-30 16:50:13 +04:00
John Preston
cc1df6a068 Alpha version 1.1.24.
- Radically improved navigation. New side panel on the right
with quick access to shared media and group members.
- Pinned Messages. If you are a channel admin, pin messages
to focus your subscribers' attention on important announcements.
- Also supported clearing history in supergroups and added
a host of minor improvements.
2017-11-29 19:10:03 +04:00
John Preston
196ff7f4c1 Don't apply count from getParticipants(Recent). 2017-11-28 22:30:01 +04:00
John Preston
efdba3a482 Handle errors in getMessages(). 2017-11-23 19:41:13 +04:00
John Preston
5803edb77b Add members from info to mgInfo->lastParticipants. 2017-11-22 13:56:00 +04:00
John Preston
542ba89f25 Edit pre-history visibility in megagroups. 2017-11-22 12:04:45 +04:00
John Preston
2387b66e86 Allow supergroup members to clear history. 2017-11-22 12:04:24 +04:00
John Preston
75d8d01b17 Allow pinned messages in channels. 2017-11-21 18:27:48 +04:00
John Preston
b337d54623 Use custom base::overload() helper. 2017-11-21 18:27:48 +04:00
John Preston
6ca105a290 Minimal layer 72 support. 2017-11-20 23:54:05 +04:00
John Preston
ac99318f34 Use ranges:: algorithms instead of base:: 2017-11-20 16:24:00 +04:00
John Preston
f1f955b7ac Pass already-members when adding members to channel. 2017-11-19 18:41:52 +04:00
John Preston
47a52b0587 Moved several modules from history/ to data/. 2017-11-16 07:59:09 +04:00
John Preston
554eb3a342 Move stickers state variables to AuthSessionData.
Also allow to click on the selected set when choosing megagroup
sticker set and allow to paste a t.me link to the set there.
2017-11-16 07:59:09 +04:00
John Preston
eb2719fad1 Added search to files and links shared media. 2017-11-16 07:59:08 +04:00
John Preston
a27edcad1c Extract SparseIdsList module from SharedMedia.
This way it can be reused in search results management.
2017-11-16 07:59:08 +04:00
John Preston
fb46c33d7f Add context menu support to info members list. 2017-11-16 07:59:07 +04:00
John Preston
f107866b42 Add basic click handler support to info shared media. 2017-11-16 07:59:06 +04:00
John Preston
65cc4d3fbc Support item repaint in Info media overview. 2017-11-16 07:59:06 +04:00
John Preston
0c4bda71fd Remove some unused / rare phrases. 2017-11-16 07:59:05 +04:00
John Preston
ffc20e4492 Divide structs into several data/ modules. 2017-11-16 07:59:04 +04:00
John Preston
b9fb9af74f Info shared media and common groups counters. 2017-11-16 07:59:04 +04:00
John Preston
088d23d557 Start new Info section (profile + shared media). 2017-11-16 07:59:02 +04:00
John Preston
2690618da2 Add Storage::UserPhotos and UserPhotosSlice. 2017-11-16 07:59:02 +04:00
John Preston
2363a6bd44 Add SharedMediaSlice to observe shared media.
Start testing / using it in MediaView.
2017-11-16 07:59:02 +04:00
John Preston
aca957595a Version 1.1.23.
- See the message author photo and name
while searching specific chat messages.
- Fix "Send To" menu action on Windows.
2017-09-05 20:38:38 +03:00
John Preston
25ffaaaa2d Replace t_assert() with Assert().
Also use this assertions for Expects(), Ensures() and Unexpected().
2017-08-30 19:15:42 +03:00
John Preston
b3da99c302 Replace gsl::not_null<T*> with just not_null<T*>. 2017-08-30 19:15:41 +03:00
John Preston
e13ed9b909 Remove main()->peerUpdated and some other signals. 2017-08-30 19:15:36 +03:00
John Preston
0880c01a20 Replace group admins ContactsBox with PeerListBox. 2017-08-30 19:15:28 +03:00
John Preston
e209737b1a Display and follow unread mentions in history. 2017-08-30 19:15:13 +03:00
John Preston
f04b25ea26 Allow setting group stickers set. 2017-08-25 14:39:19 +03:00
John Preston
ab35829358 Remove App::app(), App::uploader(), App::api().
Also use Auth() instead of AuthSession::Current*().
2017-08-25 14:39:18 +03:00
John Preston
cb5b6d0cb8 Add megagroup stickerset to StickersListWidget. 2017-08-25 14:39:13 +03:00
John Preston
d44b303fb3 Suggest faved stickers by emoji.
Request added faved sticker emoji if its pack is not loaded yet.
2017-08-25 14:39:12 +03:00
John Preston
070456882e Manage faved stickers from sticker context menu. 2017-08-25 14:39:09 +03:00
John Preston
667eb288d7 Add faved stickers set loading and saving.
Also move stickers loading methods to ApiWrap.
2017-08-25 12:58:13 +03:00
John Preston
91fda6b654 Add search from group member button to dialogs. 2017-08-01 21:15:02 +03:00
John Preston
2e5930eb58 Update full peer in profile and settings.
Not more than once in five seconds get the full info to update bio.
2017-07-26 14:53:49 +03:00
John Preston
cf02a4cc31 API scheme updated to layer 70. 2017-07-23 12:34:40 +03:00
John Preston
1618daaeae Alpha 1.1.14.
- Bug fixes and other minor improvements.
2017-07-19 11:35:37 +03:00
John Preston
58b79ab112 Alpha 1.1.13.
- Various bug fixes.
2017-07-14 15:31:22 +03:00
John Preston
949104d879 Improve queued by pts updates handling.
The updates are ordered by pts and applied in the correct order.
Also some pts-dependent updates handling was moved to ApiWrap.
2017-07-14 14:57:05 +03:00
John Preston
56cb5ac9c6 Alpha 1.1.12: Search in supergroup for count > 50.
Also move search in supergroup members to Actions profile block.
2017-07-11 21:40:51 +03:00
John Preston
76cafc5059 Alpha 1.1.12.
- Click on forwarded messages bar to change the recipient chat
in case you chose a wrong one first.
- Quickly share posts from channels and media messages from bots.
- Search in supergroup members by name.
- Search in channel members by name if you're a channel admin.
- Copy links to messages in public supergroups.
2017-07-11 20:28:37 +03:00
John Preston
f6eccf85dc Alpha 1.1.11.
- Send **bold** and __italic__ text in your messages (in addition
to already supported `monospace` and ```multiline monospace```).
- Search in channel and supergroup admin event log.
- Ban members from right click menu in supergroup admin event log.
2017-07-06 20:11:25 +03:00
John Preston
da0d78135d Some refactoring in working with text entities.
Also move this code to TextUtilities namespace.
2017-07-06 14:37:42 +03:00
John Preston
f38fad2f92 Correctly apply edit admin in channel.
For example update adminCount / membersCount. For that we pass not
only the newRights values, but also oldRights values to applyEdit*().
2017-07-06 00:11:49 +03:00
John Preston
397797aac7 Add default changelog for the new stable version.
Also add a non-translated changelog for the new alpha/beta versions.
2017-07-04 18:32:04 +03:00
John Preston
42febdb240 Fix alpha version changelog notification.
We should call window->serviceNotification() because it checks for
the service chat history being loaded before adding the message.

The method in MainWidget was renamed to prevent bugs in the future.
2017-06-30 14:30:11 +03:00
John Preston
7b496b3741 Improve in-app changelogs for alpha version. 2017-06-30 13:32:10 +03:00
John Preston
197cdc3928 Alpha 1.1.8.
- Toggle night mode in the main menu.
2017-06-30 09:23:31 +03:00
John Preston
4993ff1921 Finalize rename / move. 2017-06-30 09:21:45 +03:00
John Preston
7d2d5c6100 Edit admin and restricted rights in channels. 2017-06-29 11:40:11 +03:00
John Preston
513a9f8d45 Add rich supergroup/channel admin support. 2017-06-29 11:40:10 +03:00
John Preston
330b4a0b00 API scheme updated to layer 68. 2017-06-29 11:40:08 +03:00
John Preston
5d0e89db5d Switch to the server side changelogs. 2017-06-29 11:40:00 +03:00
John Preston
139d4e72b5 Start cloud langpack support.
Change the way langpacks are stored.
Support custom langpacks in the new storage.
2017-06-29 11:39:42 +03:00
John Preston
110e7c8074 Finalize rename / move. 2017-06-29 11:39:38 +03:00
John Preston
e050e270fc Try to hangup current call when quitting the app. 2017-05-09 23:46:26 +03:00
John Preston
30d000e139 Toggle calls controls using config and user flags.
Also use calls timeout values from config.
Also request config each time when the auth session changes.
2017-05-09 23:46:22 +03:00
John Preston
d4af14041c Fix build for OS X 10.6-10.7.
Qt 5.3.2 doesn't support QTimer::singleShot(delay, lambda).
2017-04-11 18:44:11 +03:00
John Preston
330fc35800 Move some classes to separate modules.
MessageField, BotKeyboard, HistoryInner from historywidget.
2017-04-08 16:31:58 +03:00
John Preston
38f94c63e9 Add blocked users list in supergroups profiles. 2017-04-07 18:13:22 +03:00
John Preston
34ab04cbe6 Add lambda-based checked timers.
Also ApiWrap is now not a QObject.
2017-04-07 18:13:21 +03:00
John Preston
0d0307e175 Move ApiWrap to AuthSession.
Also send all ApiWrap requests as an MTP::Sender.
Also create AuthSession only after starting MTProto.
2017-04-07 18:13:19 +03:00
John Preston
835b1801bc Remove Q_OBJECT dependency from ApiWrap.
Also remove it from SingleDelayedCall -> SingleQueuedInvocation.
2017-04-07 18:13:19 +03:00
John Preston
5444b8166c Finalize rename / move of files. 2017-04-07 18:13:18 +03:00
John Preston
d41372dccd Allow MTP_flags(0) and MTP_flags(single_flag). 2017-03-25 18:42:01 +03:00
John Preston
fc77b0a51c Save privacy in ApiWrap. Handle privacy updates. 2017-03-18 12:49:47 +03:00
John Preston
d91a2403b0 Use refs in AuthSession part getters.
Also use only AuthSession data for Contacts/Dialogs loaded state.
2017-03-15 19:24:06 +03:00
John Preston
f2465eba73 Make MTPstring and MTPvector value types.
Also move MTPstring implementation to QByteArray.
2017-03-10 23:27:26 +03:00
John Preston
81790b2271 Notifications management moved to AuthSession.
Also implemented Global::WorkMode() as an base::Variable.
2017-03-06 18:38:15 +03:00
John Preston
83720d8789 Finalizing file renaming. 2017-03-04 13:23:56 +03:00
John Preston
08167a6a91 Removed #include "stdafx.h" from all files.
Currently the build without implicitly included precompiled header
is not supported anyway (because Qt MOC source files do not include
stdafx.h, they include plain headers).

So when we decide to support building without implicitly included
precompiled headers we'll have to fix all the headers anyway.
2017-03-04 12:27:52 +03:00
John Preston
c207743338 Made base::lambda a copyable value type.
Now base::lambda can be copied and can wrap any immutable lambda.
For mutable lambdas there is base::lambda_once (which you're
supposed to call only once to pass data through lambda captures,
for example by using std::unique_ptr). Generally base::lambda is
passed by value and base::lambda_once is passed by rvalue reference.
2017-02-26 21:01:23 +03:00
John Preston
63c61637f8 Moved MTP::authedId() to AuthSession::Current(). 2017-02-25 19:48:19 +03:00
John Preston
9757489645 Moved to the latest emoji set.
Also the old MetaEmoji project was converted to codegen_emoji.
All emoji now use full string identifiers for local storage.
2017-02-15 21:27:31 +03:00
John Preston
b842761ea3 Closed beta 1000006001: Built in theme and color palette editor. 2017-02-07 17:56:33 +03:00
John Preston
7fb1463c43 Version 1.0 stable: bump copyright date to 2017. 2017-01-11 23:02:13 +04:00
John Preston
2436ad74bd Boxes redesigned. Common groups moved to Shared Media.
Also transparent images sending fixed.
2016-12-30 17:52:56 +04:00
John Preston
7bb3b4d807 Common groups profile block done. Moved to layer 59.
Also profile block modules were renamed.
2016-12-30 17:52:42 +04:00
John Preston
b0f14d1856 Closed beta 10019011: various style improvements. 2016-12-30 17:52:39 +04:00
John Preston
6e0394dd42 Stickers box redesigned. 2016-12-30 17:52:28 +04:00
John Preston
e880c4876e Strict alignment request for base::lambda. Various improvements. 2016-12-30 17:52:21 +04:00
John Preston
e693a98bd4 Passcode lock button added to DialogsWidget. 2016-12-30 17:51:40 +04:00
John Preston
dbb6371e67 First version on loading themes is ready. 2016-12-30 17:51:27 +04:00
John Preston
90a4b66366 New media type Game added. Display of Game partially supported. 2016-09-27 16:37:18 +03:00
John Preston
453661d611 Removed Function<> and SharedCallback<>, using base::lambda_unique<>.
Also removed macro START_ANIMATION(anim,) using anim.start() instead.
2016-09-26 15:09:59 +03:00
John Preston
b0fdddfcf4 New RevokePublicLinkBox done. Added base::lambda_wrap<>. Layer 55.
When there are too many public channels / megagroups and you try to
create one more Telegram offers you to revoke one of the existing
public links so you will be able to create a new public community.
2016-08-12 18:22:11 +03:00
John Preston
dbdf28d0a0 Version bumped to 0.9.61 stable.
Merge branch 'archived_stickers' into cancel_reset.

Conflicts:
	Telegram/Resources/winrc/Telegram.rc
	Telegram/Resources/winrc/Updater.rc
	Telegram/SourceFiles/app.cpp
	Telegram/SourceFiles/core/version.h
	Telegram/SourceFiles/localstorage.cpp
	Telegram/Telegram.vcxproj.filters
	Telegram/Telegram.xcodeproj/project.pbxproj
	Telegram/build/version
2016-07-25 22:54:40 +03:00
John Preston
81850b78c7 Writing installed, featured, recent and archived stickers separately. 2016-07-21 13:09:47 +03:00
John Preston
1753db3e62 Megagroup members are always shown if the server allows us to view them.
Bot keyboard clearing fixed when using Clear History.
2016-07-19 14:37:01 +03:00
John Preston
95c050081c Cloud recent sticker sets supported. 2016-07-15 18:58:52 +03:00
John Preston
cd696ade4e Featured stickers fully supported (unread badges, box, adding, etc). 2016-06-28 21:05:38 +03:00
John Preston
991c6ddd99 Saving featured stickers for new 0.9.57 version in local storage. 2016-06-27 19:25:21 +03:00
John Preston
a428534345 Cloud draft handling improved. Fixed Edit while already editing a msg. 2016-06-09 17:31:10 +03:00
John Preston
1859b83e8d Dialog styles moved from basic.style to dialogs.style.
Many minor design improvements in the new profiles.
New drafts design in the dialogs list: no icon, red badge.
Verified checkbox added to the new profile implementation.
Drafts saving to cloud is delayed for 1 second when switching chats.
Before quitting the app makes an attempt to save drafts (timeout 1.5s).
2016-06-07 22:59:39 +03:00
John Preston
520260f207 Merge branch 'profile' into drafts
Conflicts:
	Telegram/SourceFiles/app.cpp
	Telegram/SourceFiles/codegen/style/processor.cpp
	Telegram/SourceFiles/history.cpp
	Telegram/SourceFiles/historywidget.cpp
	Telegram/SourceFiles/mainwidget.cpp
	Telegram/SourceFiles/mainwidget.h
	Telegram/SourceFiles/profilewidget.cpp
	Telegram/SourceFiles/profilewidget.h
	Telegram/Telegram.vcxproj
	Telegram/Telegram.vcxproj.filters
2016-06-06 18:16:52 +03:00
John Preston
ea8f01bd74 Members block almost done in the new profile implementation.
Member kicking, upgrade to supergroup and testing is left.
2016-06-03 10:20:24 +03:00
John Preston
91d516f18c Notify::peerUpdatedSendDelayed() now is always called from the event loop. 2016-06-02 16:57:49 +03:00
John Preston
2c4ec3d9f3 Shared media block done in the new profile implementation.
Preparing to call Notify::peerUpdatedSendDelayed() only from event loop.
2016-06-02 16:02:55 +03:00
John Preston
3fc7cc3453 Actions block done for the new profile implementation.
User block status moved to private data.
Notify::PeerUpdateFlag[s] moved to Notify::PeerUpdate::Flag[s].
2016-06-01 23:05:37 +03:00
John Preston
66a8aa86e1 Settings block in the new profile implementation done.
New type of button (LeftOutlineButton) was added. _inviteLink moved
to private section in ChatData and ChannelData (with get-set methods).
2016-06-01 16:07:03 +03:00
John Preston
41c8df029a New profile blocks started. Info block fully ready.
All block widgets added (currently empty).
About text and phone number PeerUpdateFlag added for observers.
2016-05-31 22:27:11 +03:00
John Preston
7f353d9b1a Removed all code related to channel comments. 2016-05-27 19:47:46 +03:00
John Preston
46ad43bb1e New profile cover actions by buttons done.
Two new types of Observers: image loaded and async file dialog.
2016-05-25 20:59:21 +03:00
John Preston
a510bb54ec Peer observers get notified about name/username changes.
All peer observer notifications are async (delayed).
2016-05-25 15:09:05 +03:00
John Preston
533a955dda Unread outgoing messages in supergroups supported.
Looking through the history of group avatar photos added.
Messages about some contact joined Telegram are never unread.
2016-05-20 19:35:16 +03:00
John Preston
b28e9a6167 Requesting difference or messages when users from mentions not loaded. 2016-05-09 13:07:25 +03:00
John Preston
705358993d New style::icon class added, colorized icons by codegen_style.
Moved style_core to /ui/style/, Xcode and QtCreator builds are broken.
2016-04-21 20:57:29 +03:00
John Preston
5a3fea05ac ClickHandler, TopBarWidget and Overview layouts moved to separate files.
Xcode and QtCreator builds are currently broken.
2016-04-13 00:31:28 +03:00
John Preston
e0d6a68554 Encapsulated unreadCount and mute fields in History.
Support for hiding all muted chats from the list.
2016-04-11 14:59:01 +04:00
John Preston
90b2b240ce Merged with master. 2016-04-09 15:15:23 +04:00
John Preston
8e89486fbc Error handling changed, 'auto' keyword used for MTP types.
All errors that lead to MTP request resending by default
error handler now can be handled differently. For example
inline bot requests are not being resent on 5XX error codes.
+ extensive use of auto keyword in MTP types handling.
2016-04-08 14:44:35 +04:00
John Preston
04f8d4dd37 Build fixed for renamed sources folder SourceFiles/{gui->ui}/ 2016-04-07 22:05:28 +04:00
John Preston
80b0667ff9 Requesting getDifference if some users or channels are not loaded
while processing updateNewChannelMessage update.
2016-04-06 15:07:05 +04:00
John Preston
35785efa50 Inline bot video and sticker layout and sending done. 2016-04-03 13:11:41 +04:00
John Preston
2ef8c44445 all MTP flags made strictly typed by scoped enums, in-message date display added for non-service messages 2016-03-19 19:55:15 +03:00
John Preston
b38163b026 adding / removing lastParticipants / lastAdmins in supergroups on adding / removing users / admins 2016-03-14 09:10:24 +03:00
John Preston
98e2700764 rich delete all + ban almost done in supergroups (need to clear messages on the client side as well) 2016-03-10 18:42:01 +03:00
John Preston
efa5fc443a pin/unpin messages in supergroups, local hide for pinned messages 2016-03-10 13:15:21 +03:00
John Preston
1c722a425d forwarded getState fixed, pinned message service msg dependency request and text update done 2016-03-05 23:12:55 +02:00
John Preston
0072573925 pinned message api used, ordering by online and displaying online count in small megagroups 2016-03-04 17:34:46 +02:00
John Preston
798f800913 History::dialogs and Histories::unread are private now, counting only chats from dialogs list to the badge 2016-02-28 14:58:30 +03:00
John Preston
803d1a429d scheme updated, config vars moved to Global namespace 2016-02-18 19:36:33 +03:00
John Preston
57b771c879 some possible crashes fixed, showing maps app on os x 2016-02-17 20:14:09 +03:00
John Preston
0b8523d58e added year 2016 to copyright 2016-02-08 13:56:18 +03:00
John Preston
b13579c7d9 dev version 0.9.19 sending stickers by emoji 2016-01-09 20:51:42 +08:00
John Preston
a72a31e722 stickers by alt suggestions in mentions dropdown 2016-01-09 19:24:16 +08:00
John Preston
9a1798f043 saved gifs done 2015-12-28 00:37:48 +03:00
John Preston
73a4d3510d removed itemReplaced 2015-12-23 15:55:32 +03:00
John Preston
62723f7576 disabled libexif usage, mediaview showing gif/mp4 through ClipReader 2015-12-22 11:01:02 +03:00
John Preston
de8ffc78d7 fixed code for old Qt versions 2015-12-03 22:55:44 +03:00
John Preston
ed3601f883 sticker packs management done, conversations list context menu added 2015-12-02 20:17:53 +03:00
John Preston
87b57a26ad stop and clear audio on logout, clearing bot keyboards in supergroups 2015-11-24 19:19:18 +03:00
John Preston
b69f0db975 not invalidating participants when admins not needed 2015-11-24 13:40:18 +03:00
John Preston
d145175d28 some fixes for the 0.9.11.dev version 2015-11-20 22:03:31 +03:00
John Preston
b05e1a8899 supergroups done 2015-11-20 21:24:44 +03:00
John Preston
ecc49f9cd4 support of bots added to megagroups 2015-11-20 16:34:37 +03:00
John Preston
84a47d3be7 participants handled good in supergroups: auto-load in profiles, outdate when something changes 2015-11-19 18:56:29 +03:00
John Preston
497602f47e merged supergroup with migrated group history, loading messages by 3 (temp! testing) 2015-11-13 18:14:33 +03:00
John Preston
fd339e401f megagroup members support improved 2015-11-09 12:51:22 +03:00
John Preston
ede2065c26 megagroups started 2015-11-02 17:33:57 -05:00
John Preston
550ccef09a chat admins edit done 2015-10-30 11:57:22 -04:00