Gentoo Archives: gentoo-commits

From: Georgy Yakovlev <gyakovlev@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-im/telegram-desktop/, net-im/telegram-desktop/files/
Date: Tue, 31 Mar 2020 12:51:08
Message-Id: 1585659053.3ec7fa2ad16116f2a25f5fd9231fa72a3f629ecc.gyakovlev@gentoo
1 commit: 3ec7fa2ad16116f2a25f5fd9231fa72a3f629ecc
2 Author: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
3 AuthorDate: Tue Mar 31 12:03:02 2020 +0000
4 Commit: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
5 CommitDate: Tue Mar 31 12:50:53 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3ec7fa2a
7
8 net-im/telegram-desktop: bump to 2.0.1
9
10 Package-Manager: Portage-2.3.96, Repoman-2.3.22
11 Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org>
12
13 net-im/telegram-desktop/Manifest | 2 +-
14 net-im/telegram-desktop/files/2.0.0-fixes.patch | 410 ---------------------
15 ...-2.0.0.ebuild => telegram-desktop-2.0.1.ebuild} | 0
16 3 files changed, 1 insertion(+), 411 deletions(-)
17
18 diff --git a/net-im/telegram-desktop/Manifest b/net-im/telegram-desktop/Manifest
19 index e0809eb234a..dddf94c4141 100644
20 --- a/net-im/telegram-desktop/Manifest
21 +++ b/net-im/telegram-desktop/Manifest
22 @@ -1,3 +1,3 @@
23 DIST tdesktop-1.9.14-full.tar.gz 25324084 BLAKE2B 45c071aa573541b6e483d2ae712b7f3b672c1294e8e7e624d9292f7176482f4d68069c35541019dc27fdb1c66134c29fb4d3667f1197e7085e4f8a80c8ca603c SHA512 56efa64048d23b280782b51319c0071c6cef833cb7e2584e52c6e45488577755beb85185ec9187029c425cc8d4c9c1887142687c744697e7731a15abe2846056
24 DIST tdesktop-1.9.21-full.tar.gz 25848026 BLAKE2B 503e22bcc83a64721aa4c4c6e8bca89c4c976703c338b1615c5ab1599098e98cbd220a94cffdbe24d9c305b44ffef7719ad1c2d2ad81f4ec6edc8377e1afa4ef SHA512 ea02fc69e88ed6244ed420516bb7a93827cb85efaa0a7e9af7562aa1bc29184c5a2102caca8693c976b25d374832e0deb2ccbf00144d5340b5ffacbdc9dcebf1
25 -DIST tdesktop-2.0.0-full.tar.gz 26106238 BLAKE2B 0634e66384b786cfaf6d3608bdf6f64985bc433a272d6eb86f4e787a9ee7e25dfaae89a6cb0a5aa2e73a2e1f3593a8a776d12457ab90f0a7c3ef6d0f254e254d SHA512 53ea3bb0e1d7cb1fc9d8c8725801295e89f8765b6560f046065dde89aef501d7ddb8aa268aa82f33e3674164a825506c4276cd07c0b59c242dd78ab59d659508
26 +DIST tdesktop-2.0.1-full.tar.gz 26106949 BLAKE2B 3975e7d42af8b323a86408e2301b292d94b308413bb92d135673fb12851cd6672156dcf9b631482fa9b8dc9361d9593dc1104c8c335e0c610706b308414db01b SHA512 99cd7c5ca1e9dd75ecd98d272522b0e4aab2d46525e3d0c306503b7a00c9d25c1646e9d7462182682a58947c7435864af805a3b6f85906d8b21e5675cc8383cb
27
28 diff --git a/net-im/telegram-desktop/files/2.0.0-fixes.patch b/net-im/telegram-desktop/files/2.0.0-fixes.patch
29 deleted file mode 100644
30 index 2040a9da668..00000000000
31 --- a/net-im/telegram-desktop/files/2.0.0-fixes.patch
32 +++ /dev/null
33 @@ -1,410 +0,0 @@
34 -From 2f7563767dc7214ec3c9a4d0c4d4b50e62c5927f Mon Sep 17 00:00:00 2001
35 -From: John Preston <johnprestonmail@×××××.com>
36 -Date: Mon, 30 Mar 2020 21:04:49 +0400
37 -Subject: [PATCH 1/3] Fix crash in archive / pinned in folder management.
38 -
39 ----
40 - Telegram/SourceFiles/history/history.cpp | 16 ++++------------
41 - 1 file changed, 4 insertions(+), 12 deletions(-)
42 -
43 -diff --git a/Telegram/SourceFiles/history/history.cpp b/Telegram/SourceFiles/history/history.cpp
44 -index d1d0bcb43c..fa69e0a9de 100644
45 ---- a/Telegram/SourceFiles/history/history.cpp
46 -+++ b/Telegram/SourceFiles/history/history.cpp
47 -@@ -1948,12 +1948,6 @@ void History::setFolderPointer(Data::Folder *folder) {
48 - const auto wasInList = inChatList();
49 - if (wasInList) {
50 - removeFromChatList(0, owner().chatsList(this->folder()));
51 -- for (const auto &filter : filters.list()) {
52 -- const auto id = filter.id();
53 -- if (inChatList(id)) {
54 -- removeFromChatList(id, filters.chatsList(id));
55 -- }
56 -- }
57 - }
58 - const auto was = _folder.value_or(nullptr);
59 - _folder = folder;
60 -@@ -1962,12 +1956,10 @@ void History::setFolderPointer(Data::Folder *folder) {
61 - }
62 - if (wasInList) {
63 - addToChatList(0, owner().chatsList(folder));
64 -- for (const auto &filter : filters.list()) {
65 -- if (filter.contains(this)) {
66 -- const auto id = filter.id();
67 -- addToChatList(id, filters.chatsList(id));
68 -- }
69 -- }
70 -+
71 -+ owner().chatsFilters().refreshHistory(this);
72 -+ updateChatListEntry();
73 -+
74 - owner().chatsListChanged(was);
75 - owner().chatsListChanged(folder);
76 - } else if (!wasKnown) {
77 -
78 -From c2ff27793a56241135fde194256a2ebf7bc5ec90 Mon Sep 17 00:00:00 2001
79 -From: John Preston <johnprestonmail@×××××.com>
80 -Date: Mon, 30 Mar 2020 23:34:07 +0400
81 -Subject: [PATCH 2/3] Try to use Ctrl+1..Ctrl+8 for folders.
82 -
83 ----
84 - Telegram/SourceFiles/core/shortcuts.cpp | 78 ++++++++++++-------
85 - Telegram/SourceFiles/core/shortcuts.h | 18 ++---
86 - .../dialogs/dialogs_inner_widget.cpp | 60 +++++++-------
87 - 3 files changed, 86 insertions(+), 70 deletions(-)
88 -
89 -diff --git a/Telegram/SourceFiles/core/shortcuts.cpp b/Telegram/SourceFiles/core/shortcuts.cpp
90 -index 76bc4bd0d3..f8c10e4ee8 100644
91 ---- a/Telegram/SourceFiles/core/shortcuts.cpp
92 -+++ b/Telegram/SourceFiles/core/shortcuts.cpp
93 -@@ -113,7 +113,7 @@ class Manager {
94 - void fill();
95 - void clear();
96 -
97 -- std::optional<Command> lookup(int shortcutId) const;
98 -+ [[nodiscard]] std::vector<Command> lookup(int shortcutId) const;
99 - void toggleMedia(bool toggled);
100 - void toggleSupport(bool toggled);
101 -
102 -@@ -124,14 +124,14 @@ class Manager {
103 - void writeDefaultFile();
104 - bool readCustomFile();
105 -
106 -- void set(const QString &keys, Command command);
107 -+ void set(const QString &keys, Command command, bool replace = false);
108 - void remove(const QString &keys);
109 - void unregister(base::unique_qptr<QShortcut> shortcut);
110 -
111 - QStringList _errors;
112 -
113 - base::flat_map<QKeySequence, base::unique_qptr<QShortcut>> _shortcuts;
114 -- base::flat_map<int, Command> _commandByShortcutId;
115 -+ base::flat_multi_map<int, Command> _commandByShortcutId;
116 -
117 - base::flat_set<QShortcut*> _mediaShortcuts;
118 - base::flat_set<QShortcut*> _supportShortcuts;
119 -@@ -206,11 +206,14 @@ const QStringList &Manager::errors() const {
120 - return _errors;
121 - }
122 -
123 --std::optional<Command> Manager::lookup(int shortcutId) const {
124 -- const auto i = _commandByShortcutId.find(shortcutId);
125 -- return (i != end(_commandByShortcutId))
126 -- ? base::make_optional(i->second)
127 -- : std::nullopt;
128 -+std::vector<Command> Manager::lookup(int shortcutId) const {
129 -+ auto result = std::vector<Command>();
130 -+ auto i = _commandByShortcutId.findFirst(shortcutId);
131 -+ const auto end = _commandByShortcutId.end();
132 -+ for (; i != end && (i->first == shortcutId); ++i) {
133 -+ result.push_back(i->second);
134 -+ }
135 -+ return result;
136 - }
137 -
138 - void Manager::toggleMedia(bool toggled) {
139 -@@ -278,7 +281,7 @@ bool Manager::readCustomFile() {
140 - const auto name = (*command).toString();
141 - const auto i = CommandByName.find(name);
142 - if (i != end(CommandByName)) {
143 -- set((*keys).toString(), i->second);
144 -+ set((*keys).toString(), i->second, true);
145 - } else {
146 - LOG(("Shortcut Warning: "
147 - "could not find shortcut command handler '%1'"
148 -@@ -343,7 +346,7 @@ void Manager::fillDefaults() {
149 - ranges::view::ints(1, ranges::unreachable));
150 -
151 - for (const auto [command, index] : folders) {
152 -- set(qsl("%1+shift+%2").arg(ctrl).arg(index > 9 ? 0 : index), command);
153 -+ set(qsl("%1+%2").arg(ctrl).arg(index), command);
154 - }
155 -
156 - set(qsl("%1+shift+down").arg(ctrl), Command::FolderNext);
157 -@@ -373,10 +376,12 @@ void Manager::writeDefaultFile() {
158 - shortcuts.push_back(version);
159 -
160 - for (const auto &[sequence, shortcut] : _shortcuts) {
161 -- const auto i = _commandByShortcutId.find(shortcut->id());
162 -- if (i != end(_commandByShortcutId)) {
163 -+ const auto shortcutId = shortcut->id();
164 -+ auto i = _commandByShortcutId.findFirst(shortcutId);
165 -+ const auto end = _commandByShortcutId.end();
166 -+ for (; i != end && i->first == shortcutId; ++i) {
167 - const auto j = CommandNames.find(i->second);
168 -- if (j != end(CommandNames)) {
169 -+ if (j != CommandNames.end()) {
170 - QJsonObject entry;
171 - entry.insert(qsl("keys"), sequence.toString().toLower());
172 - entry.insert(qsl("command"), j->second);
173 -@@ -390,7 +395,7 @@ void Manager::writeDefaultFile() {
174 - file.write(document.toJson(QJsonDocument::Indented));
175 - }
176 -
177 --void Manager::set(const QString &keys, Command command) {
178 -+void Manager::set(const QString &keys, Command command, bool replace) {
179 - if (keys.isEmpty()) {
180 - return;
181 - }
182 -@@ -415,22 +420,25 @@ void Manager::set(const QString &keys, Command command) {
183 - if (isMediaShortcut || isSupportShortcut) {
184 - shortcut->setEnabled(false);
185 - }
186 -- const auto id = shortcut->id();
187 -- if (!id) {
188 -- _errors.push_back(qsl("Could not create shortcut '%1'!").arg(keys));
189 -- return;
190 -- }
191 -+ auto id = shortcut->id();
192 - auto i = _shortcuts.find(result);
193 - if (i == end(_shortcuts)) {
194 - i = _shortcuts.emplace(result, std::move(shortcut)).first;
195 -- } else {
196 -+ } else if (replace) {
197 - unregister(std::exchange(i->second, std::move(shortcut)));
198 -+ } else {
199 -+ shortcut = nullptr;
200 -+ id = i->second->id();
201 -+ }
202 -+ if (!id) {
203 -+ _errors.push_back(qsl("Could not create shortcut '%1'!").arg(keys));
204 -+ return;
205 - }
206 - _commandByShortcutId.emplace(id, command);
207 -- if (isMediaShortcut) {
208 -+ if (shortcut && isMediaShortcut) {
209 - _mediaShortcuts.emplace(i->second.get());
210 - }
211 -- if (isSupportShortcut) {
212 -+ if (shortcut && isSupportShortcut) {
213 - _supportShortcuts.emplace(i->second.get());
214 - }
215 - }
216 -@@ -465,11 +473,13 @@ Manager Data;
217 -
218 - } // namespace
219 -
220 --Request::Request(Command command) : _command(command) {
221 -+Request::Request(std::vector<Command> commands)
222 -+: _commands(std::move(commands)) {
223 - }
224 -
225 - bool Request::check(Command command, int priority) {
226 -- if (_command == command && priority > _handlerPriority) {
227 -+ if (ranges::contains(_commands, command)
228 -+ && priority > _handlerPriority) {
229 - _handlerPriority = priority;
230 - return true;
231 - }
232 -@@ -481,12 +491,16 @@ bool Request::handle(FnMut<bool()> handler) {
233 - return true;
234 - }
235 -
236 --FnMut<bool()> RequestHandler(Command command) {
237 -- auto request = Request(command);
238 -+FnMut<bool()> RequestHandler(std::vector<Command> commands) {
239 -+ auto request = Request(std::move(commands));
240 - RequestsStream.fire(&request);
241 - return std::move(request._handler);
242 - }
243 -
244 -+FnMut<bool()> RequestHandler(Command command) {
245 -+ return RequestHandler(std::vector<Command>{ command });
246 -+}
247 -+
248 - bool Launch(Command command) {
249 - if (auto handler = RequestHandler(command)) {
250 - return handler();
251 -@@ -494,6 +508,13 @@ bool Launch(Command command) {
252 - return false;
253 - }
254 -
255 -+bool Launch(std::vector<Command> commands) {
256 -+ if (auto handler = RequestHandler(std::move(commands))) {
257 -+ return handler();
258 -+ }
259 -+ return false;
260 -+}
261 -+
262 - rpl::producer<not_null<Request*>> Requests() {
263 - return RequestsStream.events();
264 - }
265 -@@ -509,10 +530,7 @@ const QStringList &Errors() {
266 - }
267 -
268 - bool HandleEvent(not_null<QShortcutEvent*> event) {
269 -- if (const auto command = Data.lookup(event->shortcutId())) {
270 -- return Launch(*command);
271 -- }
272 -- return false;
273 -+ return Launch(Data.lookup(event->shortcutId()));
274 - }
275 -
276 - void ToggleMediaShortcuts(bool toggled) {
277 -diff --git a/Telegram/SourceFiles/core/shortcuts.h b/Telegram/SourceFiles/core/shortcuts.h
278 -index fbce7c9ced..4bdf9bca44 100644
279 ---- a/Telegram/SourceFiles/core/shortcuts.h
280 -+++ b/Telegram/SourceFiles/core/shortcuts.h
281 -@@ -35,16 +35,14 @@ enum class Command {
282 - ChatPinned4,
283 - ChatPinned5,
284 -
285 -+ ShowAllChats,
286 - ShowFolder1,
287 - ShowFolder2,
288 - ShowFolder3,
289 - ShowFolder4,
290 - ShowFolder5,
291 - ShowFolder6,
292 -- ShowFolder7,
293 -- ShowFolder8,
294 -- ShowFolder9,
295 -- ShowFolder10,
296 -+ ShowFolderLast,
297 -
298 - FolderNext,
299 - FolderPrevious,
300 -@@ -63,16 +61,14 @@ enum class Command {
301 - };
302 -
303 - constexpr auto kShowFolder = {
304 -+ Command::ShowAllChats,
305 - Command::ShowFolder1,
306 - Command::ShowFolder2,
307 - Command::ShowFolder3,
308 - Command::ShowFolder4,
309 - Command::ShowFolder5,
310 - Command::ShowFolder6,
311 -- Command::ShowFolder7,
312 -- Command::ShowFolder8,
313 -- Command::ShowFolder9,
314 -- Command::ShowFolder10,
315 -+ Command::ShowFolderLast,
316 - };
317 -
318 - [[nodiscard]] FnMut<bool()> RequestHandler(Command command);
319 -@@ -83,13 +79,13 @@ class Request {
320 - bool handle(FnMut<bool()> handler);
321 -
322 - private:
323 -- explicit Request(Command command);
324 -+ explicit Request(std::vector<Command> commands);
325 -
326 -- Command _command;
327 -+ std::vector<Command> _commands;
328 - int _handlerPriority = -1;
329 - FnMut<bool()> _handler;
330 -
331 -- friend FnMut<bool()> RequestHandler(Command command);
332 -+ friend FnMut<bool()> RequestHandler(std::vector<Command> commands);
333 -
334 - };
335 -
336 -diff --git a/Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp b/Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp
337 -index 6ad29fc53f..c1e30d385d 100644
338 ---- a/Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp
339 -+++ b/Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp
340 -@@ -3008,6 +3008,27 @@ void InnerWidget::setupShortcuts() {
341 - return false;
342 - });
343 -
344 -+ const auto filters = &session().data().chatsFilters().list();
345 -+ if (const auto filtersCount = int(filters->size())) {
346 -+ auto &&folders = ranges::view::zip(
347 -+ Shortcuts::kShowFolder,
348 -+ ranges::view::ints(0, ranges::unreachable));
349 -+
350 -+ for (const auto [command, index] : folders) {
351 -+ const auto select = (command == Command::ShowFolderLast)
352 -+ ? filtersCount
353 -+ : std::clamp(index, 0, filtersCount);
354 -+ request->check(command) && request->handle([=] {
355 -+ if (select <= filtersCount) {
356 -+ _controller->setActiveChatsFilter((select > 0)
357 -+ ? (*filters)[select - 1].id()
358 -+ : 0);
359 -+ }
360 -+ return true;
361 -+ });
362 -+ }
363 -+ }
364 -+
365 - static const auto kPinned = {
366 - Command::ChatPinned1,
367 - Command::ChatPinned2,
368 -@@ -3036,42 +3057,23 @@ void InnerWidget::setupShortcuts() {
369 - });
370 - }
371 -
372 -- auto &&folders = ranges::view::zip(
373 -- Shortcuts::kShowFolder,
374 -- ranges::view::ints(0, ranges::unreachable));
375 --
376 -- for (const auto [command, index] : folders) {
377 -- request->check(command) && request->handle([=, index = index] {
378 -- const auto list = &session().data().chatsFilters().list();
379 -- if (index >= list->size()) {
380 -- return false;
381 -- }
382 -- const auto filterId = list->at(index).id();
383 -- _controller->setActiveChatsFilter((filterId == _filterId)
384 -- ? 0
385 -- : filterId);
386 -- return true;
387 -- });
388 -- }
389 --
390 - const auto nearFolder = [=](bool isNext) {
391 - const auto id = _controller->activeChatsFilterCurrent();
392 - const auto list = &session().data().chatsFilters().list();
393 -- const auto it = (id == 0)
394 -- ? begin(*list) - 1
395 -- : ranges::find(*list, id, &Data::ChatFilter::id);
396 -- if (it == end(*list) && id != 0) {
397 -+ const auto index = (id != 0)
398 -+ ? int(ranges::find(*list, id, &Data::ChatFilter::id)
399 -+ - begin(*list))
400 -+ : -1;
401 -+ if (index == list->size() && id != 0) {
402 - return false;
403 - }
404 -- const auto i = isNext ? 1 : -1;
405 -- const auto index = it - begin(*list) + i;
406 -- if (index >= (int)list->size() || index < -1) {
407 -+ const auto changed = index + (isNext ? 1 : -1);
408 -+ if (changed >= int(list->size()) || changed < -1) {
409 - return false;
410 - }
411 -- const auto filterId = (index == -1)
412 -- ? 0
413 -- : list->at(index).id();
414 -- _controller->setActiveChatsFilter(filterId);
415 -+ _controller->setActiveChatsFilter((changed >= 0)
416 -+ ? (*list)[changed].id()
417 -+ : 0);
418 - return true;
419 - };
420 -
421 -
422 -From 9ef41062d316be092fbd07a4aef05eb076622556 Mon Sep 17 00:00:00 2001
423 -From: John Preston <johnprestonmail@×××××.com>
424 -Date: Mon, 30 Mar 2020 23:53:10 +0400
425 -Subject: [PATCH 3/3] Ignore whitespaces in dice sending.
426 -
427 ----
428 - Telegram/SourceFiles/api/api_sending.cpp | 2 +-
429 - 1 file changed, 1 insertion(+), 1 deletion(-)
430 -
431 -diff --git a/Telegram/SourceFiles/api/api_sending.cpp b/Telegram/SourceFiles/api/api_sending.cpp
432 -index d0c5315ac0..eaac3957e7 100644
433 ---- a/Telegram/SourceFiles/api/api_sending.cpp
434 -+++ b/Telegram/SourceFiles/api/api_sending.cpp
435 -@@ -200,7 +200,7 @@ void SendExistingPhoto(
436 -
437 - bool SendDice(Api::MessageToSend &message) {
438 - static const auto kDiceString = QString::fromUtf8("\xF0\x9F\x8E\xB2");
439 -- if (message.textWithTags.text != kDiceString) {
440 -+ if (message.textWithTags.text.midRef(0).trimmed() != kDiceString) {
441 - return false;
442 - }
443 - const auto history = message.action.history;
444
445 diff --git a/net-im/telegram-desktop/telegram-desktop-2.0.0.ebuild b/net-im/telegram-desktop/telegram-desktop-2.0.1.ebuild
446 similarity index 100%
447 rename from net-im/telegram-desktop/telegram-desktop-2.0.0.ebuild
448 rename to net-im/telegram-desktop/telegram-desktop-2.0.1.ebuild