diff --git a/README.md b/README.md
index 86a690fb0..b87228f89 100644
--- a/README.md
+++ b/README.md
@@ -71,6 +71,14 @@ TelegramClient is a **Squeak-Client** for the widely used Telegram-Messenger. It
ℹ |
Show group description and members |
+
+ ↩ |
+ Reference an old message |
+
+
+ 🖼 |
+ Show profile pictures |
+
@@ -115,6 +123,8 @@ Pre-Releases are created automatically whenever a commit is added to the develop
## Our Group
+Group 11 of the 2022 SWT I module included [Richard Wohlbold](https://github.com/rgwohlbold), [Til Bergmann](https://github.com/Till-B), [Antony Kamp](https://github.com/antonykamp), [Lucas Reisener](https://github.com/LucasDerReisende), [Erik Kohlros](https://github.com/kohlros), and [Jacob Schäfer](https://github.com/jacob271).
+
Group 2 of the 2021 SWT I module included [Romeo Sommerfeld](https://github.com/rsommerfeld), [Raphael Kunert](https://github.com/Storyxx), [Jannis Berndt](https://github.com/jb3rndt), [Philipp Keese](https://github.com/phkeese), [Tom Richter](https://github.com/tom-richter), and [Paul Ermler](https://github.com/permler).
Group 13 of the 2020 SWT I module included [Rohan Sawahn](https://github.com/rohansaw), [Jonas Schmidt](https://github.com/schmidtjonas), [Frederik Wollny](https://github.com/Freddy200), [Stefan Spangenberg](https://github.com/sspangenberg), [Lukas Laskowski](https://github.com/lasklu), and [Niklas Schilli](https://github.com/Mrnikbobjeff). Feel free to add your names to the list.
diff --git a/packages/TelegramClient-Core.package/TCCAddMembersMessage.class/README.md b/packages/TelegramClient-Core.package/TCCAddMembersMessage.class/README.md
new file mode 100644
index 000000000..4c3cf060e
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCAddMembersMessage.class/README.md
@@ -0,0 +1 @@
+Represents a message where members are added to a group.
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCAddMembersMessage.class/class/newFrom..st b/packages/TelegramClient-Core.package/TCCAddMembersMessage.class/class/newFrom..st
new file mode 100644
index 000000000..e8aa994bf
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCAddMembersMessage.class/class/newFrom..st
@@ -0,0 +1,6 @@
+instance creation
+newFrom: aJsonObject
+
+ ^ self new
+ members: (aJsonObject at: 'member_user_ids');
+ yourself
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCAddMembersMessage.class/instance/asSnippet.st b/packages/TelegramClient-Core.package/TCCAddMembersMessage.class/instance/asSnippet.st
new file mode 100644
index 000000000..e60b994b9
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCAddMembersMessage.class/instance/asSnippet.st
@@ -0,0 +1,4 @@
+accessing
+asSnippet
+
+ ^ self asText
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCAddMembersMessage.class/instance/asText.st b/packages/TelegramClient-Core.package/TCCAddMembersMessage.class/instance/asText.st
new file mode 100644
index 000000000..85b41f484
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCAddMembersMessage.class/instance/asText.st
@@ -0,0 +1,6 @@
+accessing
+asText
+
+ | names |
+ names := self members collect: [:aUserId | (self core userStore getUserFor: aUserId) fullName].
+ ^ 'Added: ' , (names joinSeparatedBy: ', ')
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCAddMembersMessage.class/instance/members..st b/packages/TelegramClient-Core.package/TCCAddMembersMessage.class/instance/members..st
new file mode 100644
index 000000000..172020968
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCAddMembersMessage.class/instance/members..st
@@ -0,0 +1,4 @@
+accessing
+members: aList
+
+ members := aList
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCAddMembersMessage.class/instance/members.st b/packages/TelegramClient-Core.package/TCCAddMembersMessage.class/instance/members.st
new file mode 100644
index 000000000..feda34609
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCAddMembersMessage.class/instance/members.st
@@ -0,0 +1,4 @@
+accessing
+members
+
+ ^ members
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCAddMembersMessage.class/methodProperties.json b/packages/TelegramClient-Core.package/TCCAddMembersMessage.class/methodProperties.json
new file mode 100644
index 000000000..abb0c8037
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCAddMembersMessage.class/methodProperties.json
@@ -0,0 +1,8 @@
+{
+ "class" : {
+ "newFrom:" : "LR 7/23/2022 10:06" },
+ "instance" : {
+ "asSnippet" : "rgw 7/21/2022 14:15",
+ "asText" : "LR 7/23/2022 10:59",
+ "members" : "rgw 7/21/2022 13:33",
+ "members:" : "rgw 7/21/2022 13:33" } }
diff --git a/packages/TelegramClient-Core.package/TCCAddMembersMessage.class/properties.json b/packages/TelegramClient-Core.package/TCCAddMembersMessage.class/properties.json
new file mode 100644
index 000000000..8b9a55287
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCAddMembersMessage.class/properties.json
@@ -0,0 +1,14 @@
+{
+ "category" : "TelegramClient-Core",
+ "classinstvars" : [
+ ],
+ "classvars" : [
+ ],
+ "commentStamp" : "ek 8/4/2022 10:39",
+ "instvars" : [
+ "members" ],
+ "name" : "TCCAddMembersMessage",
+ "pools" : [
+ ],
+ "super" : "TCCMessage",
+ "type" : "normal" }
diff --git a/packages/TelegramClient-Core.package/TCCAuthenticationHandler.class/instance/checkAuthenticationPassword..st b/packages/TelegramClient-Core.package/TCCAuthenticationHandler.class/instance/checkAuthenticationPassword..st
new file mode 100644
index 000000000..c609cb685
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCAuthenticationHandler.class/instance/checkAuthenticationPassword..st
@@ -0,0 +1,4 @@
+library calls
+checkAuthenticationPassword: aString
+
+ self core send: (TCCRequest newCheckAuthenticationPassword: aString).
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCAuthenticationHandler.class/instance/handleEvent..st b/packages/TelegramClient-Core.package/TCCAuthenticationHandler.class/instance/handleEvent..st
index f0223c4f4..194d65632 100644
--- a/packages/TelegramClient-Core.package/TCCAuthenticationHandler.class/instance/handleEvent..st
+++ b/packages/TelegramClient-Core.package/TCCAuthenticationHandler.class/instance/handleEvent..st
@@ -8,4 +8,5 @@ handleEvent: anEvent
self isAwaitingDbEncryptionKey ifTrue: [self setDbEncryptionKey: ''].
self isAwaitingPhoneNumber ifTrue: [^ #awaitPhoneNumber].
self isAwaitingAuthCode ifTrue: [^ #awaitAuthCode].
+ self isAwaitingAuthPassword ifTrue: [^ #awaitAuthPassword].
self isAuthorizationStateReady ifTrue: [^ self core authSucceeded].
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCAuthenticationHandler.class/instance/isAwaitingAuthPassword.st b/packages/TelegramClient-Core.package/TCCAuthenticationHandler.class/instance/isAwaitingAuthPassword.st
new file mode 100644
index 000000000..0a7308b1f
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCAuthenticationHandler.class/instance/isAwaitingAuthPassword.st
@@ -0,0 +1,4 @@
+accessing
+isAwaitingAuthPassword
+
+ ^ self authState = 'authorizationStateWaitPassword'
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCAuthenticationHandler.class/methodProperties.json b/packages/TelegramClient-Core.package/TCCAuthenticationHandler.class/methodProperties.json
index f4815166c..4242fc448 100644
--- a/packages/TelegramClient-Core.package/TCCAuthenticationHandler.class/methodProperties.json
+++ b/packages/TelegramClient-Core.package/TCCAuthenticationHandler.class/methodProperties.json
@@ -6,13 +6,15 @@
"authState" : "R.S 5/18/2020 17:54",
"authState:" : "R.S 5/18/2020 17:54",
"checkAuthenticationCode:" : "RS 6/23/2021 16:35",
+ "checkAuthenticationPassword:" : "ek 8/4/2022 11:15",
"core" : "per 5/21/2021 16:57",
"core:" : "per 5/21/2021 16:57",
- "handleEvent:" : "JB 6/7/2021 11:15",
+ "handleEvent:" : "ek 8/4/2022 11:15",
"initialize" : "RS 4/28/2021 18:04",
"isAuthStateClosed" : "r.s 7/15/2020 12:17",
"isAuthorizationStateReady" : "r.s 7/15/2020 12:17",
"isAwaitingAuthCode" : "r.s 7/15/2020 12:17",
+ "isAwaitingAuthPassword" : "aka 5/21/2022 10:10",
"isAwaitingDbEncryptionKey" : "8/5/2021 21:14:18",
"isAwaitingPhoneNumber" : "r.s 7/15/2020 12:17",
"isAwaitingTdlibParams" : "8/5/2021 21:14:18",
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/class/defaultLastMessageDate.st b/packages/TelegramClient-Core.package/TCCChat.class/class/defaultLastMessageDate.st
new file mode 100644
index 000000000..f52262dab
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCChat.class/class/defaultLastMessageDate.st
@@ -0,0 +1,4 @@
+default values
+defaultLastMessageDate
+
+ ^ DateAndTime fromUnixTime: 0
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/class/defaultLastMessageSenderId.st b/packages/TelegramClient-Core.package/TCCChat.class/class/defaultLastMessageSenderId.st
new file mode 100644
index 000000000..e720dd848
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCChat.class/class/defaultLastMessageSenderId.st
@@ -0,0 +1,4 @@
+default values
+defaultLastMessageSenderId
+
+ ^ 0
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/class/defaultSelectedReplyToMessageId.st b/packages/TelegramClient-Core.package/TCCChat.class/class/defaultSelectedReplyToMessageId.st
new file mode 100644
index 000000000..ee74f778d
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCChat.class/class/defaultSelectedReplyToMessageId.st
@@ -0,0 +1,4 @@
+default values
+defaultSelectedReplyToMessageId
+
+ ^ 0
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/instance/addMessage..st b/packages/TelegramClient-Core.package/TCCChat.class/instance/addMessage..st
new file mode 100644
index 000000000..049957361
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCChat.class/instance/addMessage..st
@@ -0,0 +1,7 @@
+adding
+addMessage: aMessage
+
+ self messageDictionary at: aMessage id ifAbsent: [
+ self messageDictionary at: aMessage id put: Promise new
+ ].
+ (self messageDictionary at: aMessage id) resolveWith: aMessage.
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/instance/addNewestMessage..st b/packages/TelegramClient-Core.package/TCCChat.class/instance/addNewestMessage..st
index b6a69b722..87a60fb2c 100644
--- a/packages/TelegramClient-Core.package/TCCChat.class/instance/addNewestMessage..st
+++ b/packages/TelegramClient-Core.package/TCCChat.class/instance/addNewestMessage..st
@@ -1,5 +1,14 @@
adding
addNewestMessage: aMessage
- self messages addFirst: aMessage.
+ | newDate oldDate |
+ newDate := aMessage date asDate.
+ oldDate := self lastMessageDate asDate.
+ (newDate > oldDate) ifTrue: [
+ aMessage isFirstMessageOfDay: true.
+ self lastMessage isLastMessageOfDay: true.
+ ].
+ self messageIds ifEmpty: [aMessage isFirstMessageOfDay: false].
+ self messageIds addFirst: aMessage id.
+ self addMessage: aMessage.
self triggerEvent: #newMessage with: aMessage.
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/instance/addOldestMessage..st b/packages/TelegramClient-Core.package/TCCChat.class/instance/addOldestMessage..st
index be2d44dbb..ff8b631d8 100644
--- a/packages/TelegramClient-Core.package/TCCChat.class/instance/addOldestMessage..st
+++ b/packages/TelegramClient-Core.package/TCCChat.class/instance/addOldestMessage..st
@@ -1,5 +1,12 @@
adding
addOldestMessage: aMessage
- self messages add: aMessage.
+ | newDate oldDate |
+ newDate := aMessage date asDate.
+ oldDate := self oldestLoadedMessageDate asDate.
+ (newDate < oldDate) ifTrue: [
+ self oldestLoadedMessage isFirstMessageOfDay: true.
+ aMessage isLastMessageOfDay: true].
+ self messageIds add: aMessage id.
+ self addMessage: aMessage.
self triggerEvent: #loadedMessage with: aMessage.
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/instance/chatHistoryReceived..st b/packages/TelegramClient-Core.package/TCCChat.class/instance/chatHistoryReceived..st
index 3e673403d..bc009320a 100644
--- a/packages/TelegramClient-Core.package/TCCChat.class/instance/chatHistoryReceived..st
+++ b/packages/TelegramClient-Core.package/TCCChat.class/instance/chatHistoryReceived..st
@@ -2,9 +2,12 @@ loading
chatHistoryReceived: anEvent
(anEvent at: 'messages') do:
- [:message | self addOldestMessage: (TCCMessage newFromMessageEvent: message in: self with: self core)].
+ [:message | self addOldestMessage: (TCCMessage newFromMessageEvent: message in: self with: self core).
+ self fulfillMessageRequest: (message at: 'id').
+ ].
+
+ (self requestedMessages isEmpty) ifFalse: [self increaseNumberOfRequestedMessages.].
self waitingForUpdate: false.
- self stillRequestedMessages > 0
- ifTrue: [self loadChatHistory.].
\ No newline at end of file
+ self stillRequestedMessages > 0 ifTrue: [self loadChatHistory.].
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/instance/fulfillMessageRequest..st b/packages/TelegramClient-Core.package/TCCChat.class/instance/fulfillMessageRequest..st
new file mode 100644
index 000000000..bf0c938ef
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCChat.class/instance/fulfillMessageRequest..st
@@ -0,0 +1,9 @@
+loading
+fulfillMessageRequest: aMessageId
+
+ | fulfilledMessageRequests |
+
+ fulfilledMessageRequests := self requestedMessages select: [:req | req messageId = aMessageId].
+ fulfilledMessageRequests do: [:messageRequest | messageRequest completeRequest.].
+
+ self requestedMessages removeAll: fulfilledMessageRequests.
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/instance/getMessageById..st b/packages/TelegramClient-Core.package/TCCChat.class/instance/getMessageById..st
new file mode 100644
index 000000000..db93ba382
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCChat.class/instance/getMessageById..st
@@ -0,0 +1,10 @@
+accessing
+getMessageById: aNumber
+
+ ^ (self messageDictionary at: aNumber ifAbsent: [
+ self messageDictionary at: aNumber put: Promise new.
+ self requestMessage: aNumber.
+ self messageDictionary at: aNumber.
+ ])
+ wait;
+ value
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/instance/handleMessageRequest..st b/packages/TelegramClient-Core.package/TCCChat.class/instance/handleMessageRequest..st
new file mode 100644
index 000000000..cefd0d17d
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCChat.class/instance/handleMessageRequest..st
@@ -0,0 +1,8 @@
+controlling
+handleMessageRequest: aMessageRequest
+
+ (self hasMessage: (aMessageRequest messageId)) ifTrue:
+ [aMessageRequest completeRequest.]
+ ifFalse:
+ [self requestedMessages add: aMessageRequest.
+ self loadChatHistory.].
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/instance/hasMessage..st b/packages/TelegramClient-Core.package/TCCChat.class/instance/hasMessage..st
new file mode 100644
index 000000000..a1d11aca4
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCChat.class/instance/hasMessage..st
@@ -0,0 +1,4 @@
+controlling
+hasMessage: aMessageId
+
+ ^ (self messageIds occurrencesOf: aMessageId) ~= 0
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/instance/hasPhoto.st b/packages/TelegramClient-Core.package/TCCChat.class/instance/hasPhoto.st
new file mode 100644
index 000000000..e4d77f883
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCChat.class/instance/hasPhoto.st
@@ -0,0 +1,4 @@
+accessing
+hasPhoto
+
+ ^ self photoId isNil not
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/instance/increaseNumberOfRequestedMessages.st b/packages/TelegramClient-Core.package/TCCChat.class/instance/increaseNumberOfRequestedMessages.st
new file mode 100644
index 000000000..b2745826f
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCChat.class/instance/increaseNumberOfRequestedMessages.st
@@ -0,0 +1,4 @@
+loading
+increaseNumberOfRequestedMessages
+
+ self numberOfRequestedMessages: self numberOfRequestedMessages + self class defaultMessageLimit.
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/instance/initialize.st b/packages/TelegramClient-Core.package/TCCChat.class/instance/initialize.st
index b72472f44..1ef84e635 100644
--- a/packages/TelegramClient-Core.package/TCCChat.class/instance/initialize.st
+++ b/packages/TelegramClient-Core.package/TCCChat.class/instance/initialize.st
@@ -3,9 +3,13 @@ initialize
self
title: '';
- messages: (OrderedCollection new);
+ messageIds: OrderedCollection new;
+ messageDictionary: Dictionary new;
waitingForUpdate: false;
infoLoaded: false;
isChannel: false;
position: self class defaultUnknownPosition;
- numberOfRequestedMessages: self class defaultNumberOfRequestedMessages.
\ No newline at end of file
+ numberOfRequestedMessages: self class defaultNumberOfRequestedMessages;
+ selectedReplyToMessageId: self class defaultSelectedReplyToMessageId;
+ requestedMessages: OrderedCollection new;
+ isPinned: false.
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/instance/initializeFromChatEvent..st b/packages/TelegramClient-Core.package/TCCChat.class/instance/initializeFromChatEvent..st
index 7128c754a..3f2676254 100644
--- a/packages/TelegramClient-Core.package/TCCChat.class/instance/initializeFromChatEvent..st
+++ b/packages/TelegramClient-Core.package/TCCChat.class/instance/initializeFromChatEvent..st
@@ -6,4 +6,11 @@ initializeFromChatEvent: anEvent
id: (anEvent at: 'id');
canSendMessages: ((anEvent at: 'permissions') at: 'can_send_messages');
muted: ((anEvent at: 'notification_settings') at: 'mute_for') > 0;
- lastMessage: ''
\ No newline at end of file
+ lastMessageText: '';
+ lastMessageSenderName: '';
+ lastMessageSenderId: TCCChat defaultLastMessageSenderId;
+ isPinned: false.
+
+ (anEvent at: 'photo') ifNotNil: [
+ self photoId: (((anEvent at: 'photo') at: 'small') at: 'id').
+ ].
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/instance/isPinned..st b/packages/TelegramClient-Core.package/TCCChat.class/instance/isPinned..st
new file mode 100644
index 000000000..162e04e38
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCChat.class/instance/isPinned..st
@@ -0,0 +1,4 @@
+accessing
+isPinned: aBoolean
+
+ isPinned := aBoolean
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/instance/isPinned.st b/packages/TelegramClient-Core.package/TCCChat.class/instance/isPinned.st
new file mode 100644
index 000000000..60f167461
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCChat.class/instance/isPinned.st
@@ -0,0 +1,4 @@
+accessing
+isPinned
+
+ ^ isPinned
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/instance/lastMessage..st b/packages/TelegramClient-Core.package/TCCChat.class/instance/lastMessage..st
deleted file mode 100644
index a3e36315d..000000000
--- a/packages/TelegramClient-Core.package/TCCChat.class/instance/lastMessage..st
+++ /dev/null
@@ -1,4 +0,0 @@
-accessing
-lastMessage: aString
-
- lastMessage := aString.
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/instance/lastMessage.st b/packages/TelegramClient-Core.package/TCCChat.class/instance/lastMessage.st
index a4328f8e0..e0d5736b2 100644
--- a/packages/TelegramClient-Core.package/TCCChat.class/instance/lastMessage.st
+++ b/packages/TelegramClient-Core.package/TCCChat.class/instance/lastMessage.st
@@ -1,4 +1,7 @@
accessing
lastMessage
- ^ lastMessage
\ No newline at end of file
+ ^ self messages
+ ifEmpty: [ TCCNotLoadedMessage new
+ date: self class defaultLastMessageDate]
+ ifNotEmpty: [ self messages first ]
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/instance/lastMessageDate.st b/packages/TelegramClient-Core.package/TCCChat.class/instance/lastMessageDate.st
new file mode 100644
index 000000000..20331d4d7
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCChat.class/instance/lastMessageDate.st
@@ -0,0 +1,6 @@
+accessing
+lastMessageDate
+
+ "Date of the latest received message."
+
+ ^ self lastMessage date
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/instance/lastMessageSenderId..st b/packages/TelegramClient-Core.package/TCCChat.class/instance/lastMessageSenderId..st
new file mode 100644
index 000000000..86a07f208
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCChat.class/instance/lastMessageSenderId..st
@@ -0,0 +1,4 @@
+accessing
+lastMessageSenderId: aNumber
+
+ lastMessageSenderId := aNumber
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/instance/lastMessageSenderId.st b/packages/TelegramClient-Core.package/TCCChat.class/instance/lastMessageSenderId.st
new file mode 100644
index 000000000..b91519f11
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCChat.class/instance/lastMessageSenderId.st
@@ -0,0 +1,4 @@
+accessing
+lastMessageSenderId
+
+ ^ lastMessageSenderId
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/instance/lastMessageSenderName..st b/packages/TelegramClient-Core.package/TCCChat.class/instance/lastMessageSenderName..st
new file mode 100644
index 000000000..1b06e08fe
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCChat.class/instance/lastMessageSenderName..st
@@ -0,0 +1,4 @@
+accessing
+lastMessageSenderName: aString
+
+ lastMessageSenderName := aString.
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/instance/lastMessageSenderName.st b/packages/TelegramClient-Core.package/TCCChat.class/instance/lastMessageSenderName.st
new file mode 100644
index 000000000..753d01223
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCChat.class/instance/lastMessageSenderName.st
@@ -0,0 +1,4 @@
+accessing
+lastMessageSenderName
+
+ ^ lastMessageSenderName
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/instance/lastMessageText..st b/packages/TelegramClient-Core.package/TCCChat.class/instance/lastMessageText..st
new file mode 100644
index 000000000..47964bcea
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCChat.class/instance/lastMessageText..st
@@ -0,0 +1,4 @@
+accessing
+lastMessageText: aString
+
+ lastMessageText := aString.
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/instance/lastMessageText.st b/packages/TelegramClient-Core.package/TCCChat.class/instance/lastMessageText.st
new file mode 100644
index 000000000..70d568c92
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCChat.class/instance/lastMessageText.st
@@ -0,0 +1,4 @@
+accessing
+lastMessageText
+
+ ^ lastMessageText
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/instance/messageDictionary..st b/packages/TelegramClient-Core.package/TCCChat.class/instance/messageDictionary..st
new file mode 100644
index 000000000..72d9bac00
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCChat.class/instance/messageDictionary..st
@@ -0,0 +1,4 @@
+accessing
+messageDictionary: aDictionary
+
+ messageDictionary := aDictionary
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/instance/messageDictionary.st b/packages/TelegramClient-Core.package/TCCChat.class/instance/messageDictionary.st
new file mode 100644
index 000000000..9a815b2f9
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCChat.class/instance/messageDictionary.st
@@ -0,0 +1,4 @@
+accessing
+messageDictionary
+
+ ^ messageDictionary
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/instance/messageIds..st b/packages/TelegramClient-Core.package/TCCChat.class/instance/messageIds..st
new file mode 100644
index 000000000..35f96ce3e
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCChat.class/instance/messageIds..st
@@ -0,0 +1,4 @@
+accessing
+messageIds: aCollection
+
+ messageIds := aCollection
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/instance/messageIds.st b/packages/TelegramClient-Core.package/TCCChat.class/instance/messageIds.st
new file mode 100644
index 000000000..224cbeae6
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCChat.class/instance/messageIds.st
@@ -0,0 +1,4 @@
+accessing
+messageIds
+
+ ^ messageIds
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/instance/messages..st b/packages/TelegramClient-Core.package/TCCChat.class/instance/messages..st
deleted file mode 100644
index f27fee371..000000000
--- a/packages/TelegramClient-Core.package/TCCChat.class/instance/messages..st
+++ /dev/null
@@ -1,4 +0,0 @@
-accessing
-messages: aCollection
-
- messages := aCollection.
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/instance/messages.st b/packages/TelegramClient-Core.package/TCCChat.class/instance/messages.st
index 212d127b2..7d9f16f9f 100644
--- a/packages/TelegramClient-Core.package/TCCChat.class/instance/messages.st
+++ b/packages/TelegramClient-Core.package/TCCChat.class/instance/messages.st
@@ -1,4 +1,8 @@
accessing
messages
- ^ messages
\ No newline at end of file
+ ^ self messageIds collect: [:aNumber |
+ (self messageDictionary at: aNumber)
+ wait;
+ value
+ ]
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/instance/oldestLoadedMessage.st b/packages/TelegramClient-Core.package/TCCChat.class/instance/oldestLoadedMessage.st
new file mode 100644
index 000000000..7ce1bf02e
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCChat.class/instance/oldestLoadedMessage.st
@@ -0,0 +1,7 @@
+accessing
+oldestLoadedMessage
+
+ ^ self messages
+ ifEmpty: [ TCCNotLoadedMessage new
+ date: self class defaultLastMessageDate]
+ ifNotEmpty: [ self messages last ]
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/instance/oldestLoadedMessageDate.st b/packages/TelegramClient-Core.package/TCCChat.class/instance/oldestLoadedMessageDate.st
new file mode 100644
index 000000000..1f62e024f
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCChat.class/instance/oldestLoadedMessageDate.st
@@ -0,0 +1,4 @@
+accessing
+oldestLoadedMessageDate
+
+ ^ self oldestLoadedMessage date
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/instance/photoId..st b/packages/TelegramClient-Core.package/TCCChat.class/instance/photoId..st
new file mode 100644
index 000000000..b72591467
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCChat.class/instance/photoId..st
@@ -0,0 +1,4 @@
+accessing
+photoId: aNumber
+
+ photoId := aNumber
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/instance/photoId.st b/packages/TelegramClient-Core.package/TCCChat.class/instance/photoId.st
new file mode 100644
index 000000000..9b12bed68
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCChat.class/instance/photoId.st
@@ -0,0 +1,4 @@
+accessing
+photoId
+
+ ^ photoId
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/instance/requestMessage..st b/packages/TelegramClient-Core.package/TCCChat.class/instance/requestMessage..st
new file mode 100644
index 000000000..f0a116ff2
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCChat.class/instance/requestMessage..st
@@ -0,0 +1,4 @@
+loading
+requestMessage: aMessageId
+
+ self core send: (TCCRequest newGetMessage: aMessageId from: self id).
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/instance/requestedMessages..st b/packages/TelegramClient-Core.package/TCCChat.class/instance/requestedMessages..st
new file mode 100644
index 000000000..006269949
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCChat.class/instance/requestedMessages..st
@@ -0,0 +1,4 @@
+accessing
+requestedMessages: aList
+
+ requestedMessages := aList
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/instance/requestedMessages.st b/packages/TelegramClient-Core.package/TCCChat.class/instance/requestedMessages.st
new file mode 100644
index 000000000..7b00f2867
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCChat.class/instance/requestedMessages.st
@@ -0,0 +1,4 @@
+accessing
+requestedMessages
+
+ ^ requestedMessages
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/instance/selectedReplyToMessageId..st b/packages/TelegramClient-Core.package/TCCChat.class/instance/selectedReplyToMessageId..st
new file mode 100644
index 000000000..ce0b916cb
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCChat.class/instance/selectedReplyToMessageId..st
@@ -0,0 +1,8 @@
+accessing
+selectedReplyToMessageId: aMessageId
+
+ aMessageId = selectedReplyToMessageId
+ ifTrue: [selectedReplyToMessageId := self class defaultSelectedReplyToMessageId]
+ ifFalse: [selectedReplyToMessageId := aMessageId].
+
+ self triggerEvent: #updateReplyToMessageId.
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/instance/selectedReplyToMessageId.st b/packages/TelegramClient-Core.package/TCCChat.class/instance/selectedReplyToMessageId.st
new file mode 100644
index 000000000..25c6b1bf7
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCChat.class/instance/selectedReplyToMessageId.st
@@ -0,0 +1,4 @@
+accessing
+selectedReplyToMessageId
+
+ ^ selectedReplyToMessageId
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/instance/sendMessage..st b/packages/TelegramClient-Core.package/TCCChat.class/instance/sendMessage..st
index 925036556..d5bc3122c 100644
--- a/packages/TelegramClient-Core.package/TCCChat.class/instance/sendMessage..st
+++ b/packages/TelegramClient-Core.package/TCCChat.class/instance/sendMessage..st
@@ -1,4 +1,5 @@
sending
sendMessage: aString
- self core send: (TCCRequest newSendMessage: aString to: self id).
\ No newline at end of file
+ self core send: (TCCRequest newSendMessage: aString to: self id asReplyTo: self selectedReplyToMessageId).
+ self selectedReplyToMessageId: self class defaultSelectedReplyToMessageId.
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/methodProperties.json b/packages/TelegramClient-Core.package/TCCChat.class/methodProperties.json
index 0d10275f0..60a6f4af3 100644
--- a/packages/TelegramClient-Core.package/TCCChat.class/methodProperties.json
+++ b/packages/TelegramClient-Core.package/TCCChat.class/methodProperties.json
@@ -1,50 +1,80 @@
{
"class" : {
+ "defaultLastMessageDate" : "aka 7/10/2022 11:25",
"defaultLastMessageId" : "JB 8/4/2021 00:10",
+ "defaultLastMessageSenderId" : "LR 7/14/2022 11:50",
"defaultMessageLimit" : "RS 7/17/2021 11:45",
"defaultNumberOfRequestedMessages" : "js 8/1/2020 18:52",
+ "defaultSelectedReplyToMessageId" : "JS 5/20/2022 09:51",
"defaultUnknownPosition" : "RS 8/6/2021 10:38",
"newFromChatEvent:" : "RS 7/17/2021 17:07" },
"instance" : {
- "addNewestMessage:" : "RS 7/31/2021 15:45",
- "addOldestMessage:" : "pk 8/4/2021 12:07",
+ "addMessage:" : "ek 8/5/2022 14:03",
+ "addNewestMessage:" : "rgw 8/5/2022 11:24",
+ "addOldestMessage:" : "rgw 8/5/2022 09:23",
"canSendMessages" : "5/11/2021 10:09:15",
"canSendMessages:" : "JB 8/4/2021 00:08",
- "chatHistoryReceived:" : "pk 8/4/2021 12:07",
+ "chatHistoryReceived:" : "ek 8/4/2022 11:19",
"core" : "per 6/4/2021 16:00",
"core:" : "per 6/4/2021 15:58",
+ "fulfillMessageRequest:" : "ek 8/4/2022 11:20",
+ "getMessageById:" : "rgw 8/5/2022 09:25",
+ "handleMessageRequest:" : "ek 8/4/2022 11:27",
+ "hasMessage:" : "ek 8/4/2022 11:51",
+ "hasPhoto" : "rgw 6/2/2022 15:20",
"id" : "rs 6/7/2020 22:20",
"id:" : "pk 8/4/2021 11:25",
- "ifNotWaitingForUpdate:" : "js 8/2/2020 13:17",
+ "ifNotWaitingForUpdate:" : "LR 6/15/2022 10:12",
+ "increaseNumberOfRequestedMessages" : "LR 6/15/2022 10:12",
"infoLoaded" : "per 6/4/2021 15:59",
"infoLoaded:" : "per 6/4/2021 15:51",
- "initialize" : "RS 8/6/2021 10:39",
- "initializeFromChatEvent:" : "pk 8/5/2021 15:48",
+ "initialize" : "js 6/18/2022 10:48",
+ "initializeFromChatEvent:" : "ek 8/4/2022 11:30",
"isBasicGroup" : "per 6/15/2021 08:08",
"isChannel" : "per 7/17/2021 15:51",
"isChannel:" : "per 7/17/2021 15:50",
"isGroup" : "per 6/4/2021 14:42",
+ "isPinned" : "js 6/18/2022 10:18",
+ "isPinned:" : "js 6/18/2022 10:19",
"isPrivate" : "per 6/4/2021 14:42",
"isSuperGroup" : "per 6/15/2021 08:09",
- "lastMessage" : "rs 6/19/2020 17:33",
- "lastMessage:" : "pk 8/4/2021 10:56",
+ "lastMessage" : "aka 7/14/2022 14:28",
+ "lastMessageDate" : "7/22/2022 10:40:18",
"lastMessageId" : "JB 8/4/2021 00:10",
- "loadChatHistory" : "RS 7/17/2021 11:49",
+ "lastMessageSenderId" : "LR 7/14/2022 12:16",
+ "lastMessageSenderId:" : "LR 7/14/2022 15:11",
+ "lastMessageSenderName" : "LR 7/14/2022 10:33",
+ "lastMessageSenderName:" : "LR 7/14/2022 10:33",
+ "lastMessageText" : "LR 7/14/2022 10:24",
+ "lastMessageText:" : "LR 7/14/2022 10:24",
+ "loadChatHistory" : "LR 6/12/2022 17:48",
"loadInfo" : "per 6/15/2021 09:49",
"loadInfoIfNotLoaded" : "TR 6/13/2021 15:54",
- "messages" : "R.S 6/1/2020 15:37",
- "messages:" : "5/11/2021 10:09:15",
+ "messageDictionary" : "JS 5/26/2022 14:19",
+ "messageDictionary:" : "JS 5/26/2022 14:20",
+ "messageIds" : "JS 5/26/2022 14:20",
+ "messageIds:" : "JS 5/26/2022 14:20",
+ "messages" : "rgw 8/5/2022 09:25",
"muted" : "per 6/16/2021 17:34",
"muted:" : "JB 8/4/2021 00:07",
"numberOfMessages" : "RS 7/31/2021 15:19",
"numberOfRequestedMessages" : "js 8/1/2020 17:43",
- "numberOfRequestedMessages:" : "5/11/2021 10:09:15",
+ "numberOfRequestedMessages:" : "JS 5/20/2022 11:34",
+ "oldestLoadedMessage" : "aka 7/14/2022 13:46",
+ "oldestLoadedMessageDate" : "aka 7/14/2022 13:46",
+ "photoId" : "rgw 6/2/2022 11:51",
+ "photoId:" : "rgw 6/2/2022 11:51",
"position" : "RS 5/10/2021 21:11",
"position:" : "pk 8/6/2021 18:59",
"positionKnown" : "pk 8/6/2021 18:25",
- "requestMessages:" : "RS 7/31/2021 15:28",
- "sendMessage:" : "RS 7/17/2021 11:58",
- "stillRequestedMessages" : "js 8/1/2020 18:05",
+ "requestMessage:" : "JS 5/26/2022 14:48",
+ "requestMessages:" : "LR 6/15/2022 10:12",
+ "requestedMessages" : "aka 6/15/2022 11:52",
+ "requestedMessages:" : "aka 6/15/2022 11:52",
+ "selectedReplyToMessageId" : "JS 5/20/2022 09:50",
+ "selectedReplyToMessageId:" : "ek 8/4/2022 11:36",
+ "sendMessage:" : "JS 5/20/2022 10:06",
+ "stillRequestedMessages" : "ek 8/4/2022 11:38",
"title" : "rs 6/7/2020 22:24",
"title:" : "5/11/2021 10:09:15",
"waitingForUpdate" : "5/11/2021 10:09:15",
diff --git a/packages/TelegramClient-Core.package/TCCChat.class/properties.json b/packages/TelegramClient-Core.package/TCCChat.class/properties.json
index e90dfa940..281b0080b 100644
--- a/packages/TelegramClient-Core.package/TCCChat.class/properties.json
+++ b/packages/TelegramClient-Core.package/TCCChat.class/properties.json
@@ -6,18 +6,25 @@
],
"commentStamp" : "js 6/13/2020 16:25",
"instvars" : [
- "messages",
"position",
"id",
"title",
- "lastMessage",
+ "lastMessageText",
+ "lastMessageSenderName",
+ "lastMessageSenderId",
"waitingForUpdate",
"numberOfRequestedMessages",
"canSendMessages",
"core",
"infoLoaded",
"muted",
- "isChannel" ],
+ "isChannel",
+ "messageIds",
+ "messageDictionary",
+ "selectedReplyToMessageId",
+ "requestedMessages",
+ "photoId",
+ "isPinned" ],
"name" : "TCCChat",
"pools" : [
],
diff --git a/packages/TelegramClient-Core.package/TCCChats.class/methodProperties.json b/packages/TelegramClient-Core.package/TCCChats.class/methodProperties.json
index 64b64a776..1e95b2c1c 100644
--- a/packages/TelegramClient-Core.package/TCCChats.class/methodProperties.json
+++ b/packages/TelegramClient-Core.package/TCCChats.class/methodProperties.json
@@ -6,4 +6,4 @@
"add:" : "pk 8/4/2021 11:17",
"getChat:" : "pk 8/4/2021 12:20",
"hasChat:" : "pk 8/4/2021 12:20",
- "notify" : "js 7/31/2020 14:47" } }
+ "notify" : "js 6/18/2022 10:38" } }
diff --git a/packages/TelegramClient-Core.package/TCCChatsHandler.class/instance/answeredMessageReceived..st b/packages/TelegramClient-Core.package/TCCChatsHandler.class/instance/answeredMessageReceived..st
new file mode 100644
index 000000000..687b760c2
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCChatsHandler.class/instance/answeredMessageReceived..st
@@ -0,0 +1,8 @@
+events
+answeredMessageReceived: aJsonObject
+
+ | chat message |
+ chat := self chats getChat: (aJsonObject at: 'chat_id').
+ message := TCCMessage newFromMessageEvent: aJsonObject in: chat with: self core.
+
+ chat addMessage: message.
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCChatsHandler.class/instance/updateChatPosition..st b/packages/TelegramClient-Core.package/TCCChatsHandler.class/instance/updateChatPosition..st
index 5e925981d..ca7ba64b9 100644
--- a/packages/TelegramClient-Core.package/TCCChatsHandler.class/instance/updateChatPosition..st
+++ b/packages/TelegramClient-Core.package/TCCChatsHandler.class/instance/updateChatPosition..st
@@ -2,6 +2,7 @@ event handling
updateChatPosition: anEvent
(self chats getChat: (anEvent at: 'chat_id'))
- position: ((anEvent at: 'position') at: 'order').
+ position: ((anEvent at: 'position') at: 'order');
+ isPinned: ((anEvent at: 'position') at: 'is_pinned').
self chats notify.
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCChatsHandler.class/instance/updateLastMessage..st b/packages/TelegramClient-Core.package/TCCChatsHandler.class/instance/updateLastMessage..st
index acd0428e9..45f5fba38 100644
--- a/packages/TelegramClient-Core.package/TCCChatsHandler.class/instance/updateLastMessage..st
+++ b/packages/TelegramClient-Core.package/TCCChatsHandler.class/instance/updateLastMessage..st
@@ -1,7 +1,7 @@
event handling
updateLastMessage: anEvent
- | chat messageJson |
+ | chat messageJson lastMessage |
(anEvent includesKey: 'last_message') ifTrue: [
messageJson := anEvent at: 'last_message'.
@@ -13,6 +13,8 @@ updateLastMessage: anEvent
detect: [:e | ((e at: 'list') at: '@type') = 'chatListMain'])
at: 'order')].
- chat lastMessage: (TCCMessage newFromMessageEvent: messageJson in: chat with: self core) asSnippet.
-
+ lastMessage := (TCCMessage newFromMessageEvent: messageJson in: chat with: self core).
+ chat lastMessageText: lastMessage asSnippet;
+ lastMessageSenderName: lastMessage senderName;
+ lastMessageSenderId: lastMessage userId.
self chats notify].
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCChatsHandler.class/methodProperties.json b/packages/TelegramClient-Core.package/TCCChatsHandler.class/methodProperties.json
index 4c0d12719..fbba2a9f3 100644
--- a/packages/TelegramClient-Core.package/TCCChatsHandler.class/methodProperties.json
+++ b/packages/TelegramClient-Core.package/TCCChatsHandler.class/methodProperties.json
@@ -2,8 +2,9 @@
"class" : {
},
"instance" : {
- "addChat:" : "pk 8/5/2021 16:36",
- "addNewMessage:" : "pk 8/5/2021 16:37",
+ "addChat:" : "js 6/18/2022 09:27",
+ "addNewMessage:" : "js 7/31/2022 09:28",
+ "answeredMessageReceived:" : "rgw 8/5/2022 09:22",
"chatHistoryReceived:" : "pk 8/5/2021 16:37",
"chats" : "RS 8/1/2021 12:50",
"chats:" : "RS 8/1/2021 12:51",
@@ -14,5 +15,5 @@
"initialize" : "RS 8/1/2021 12:51",
"openNewChat:" : "pk 8/5/2021 16:38",
"searchChat:" : "pk 8/5/2021 16:38",
- "updateChatPosition:" : "RS 8/1/2021 12:55",
- "updateLastMessage:" : "RS 8/1/2021 12:55" } }
+ "updateChatPosition:" : "ek 8/4/2022 11:41",
+ "updateLastMessage:" : "ek 8/4/2022 11:44" } }
diff --git a/packages/TelegramClient-Core.package/TCCCore.class/instance/checkAuthenticationPassword..st b/packages/TelegramClient-Core.package/TCCCore.class/instance/checkAuthenticationPassword..st
new file mode 100644
index 000000000..a1c363b3d
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCCore.class/instance/checkAuthenticationPassword..st
@@ -0,0 +1,4 @@
+handlers
+checkAuthenticationPassword: aString
+
+ self authenticationHandler checkAuthenticationPassword: aString.
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCCore.class/instance/handleEvent..st b/packages/TelegramClient-Core.package/TCCCore.class/instance/handleEvent..st
index 20cc4cc01..9b4558ade 100644
--- a/packages/TelegramClient-Core.package/TCCCore.class/instance/handleEvent..st
+++ b/packages/TelegramClient-Core.package/TCCCore.class/instance/handleEvent..st
@@ -13,6 +13,7 @@ handleEvent: anEvent
['messages'] -> [self chatsHandler chatHistoryReceived: anEvent].
['updateNewMessage'] -> [self handleMessageEvent: anEvent].
['chat'] -> [self chatsHandler openNewChat: anEvent].
+ ['message'] -> [self chatsHandler answeredMessageReceived: anEvent.].
}
otherwise: [].
update isSymbol ifTrue: [self triggerEvent: update].
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCCore.class/instance/receiveLoop.st b/packages/TelegramClient-Core.package/TCCCore.class/instance/receiveLoop.st
index 502ccefc5..2848c5e7f 100644
--- a/packages/TelegramClient-Core.package/TCCCore.class/instance/receiveLoop.st
+++ b/packages/TelegramClient-Core.package/TCCCore.class/instance/receiveLoop.st
@@ -3,6 +3,5 @@ receiveLoop
[self isClientAlive] whileTrue: [
self update.
- "FFI freezes the image. Give it time to do something else."
- 10 milliSeconds wait.
- Processor yield].
+ Processor yield
+ ].
diff --git a/packages/TelegramClient-Core.package/TCCCore.class/instance/tryHandleError..st b/packages/TelegramClient-Core.package/TCCCore.class/instance/tryHandleError..st
index de282f443..0e09f6170 100644
--- a/packages/TelegramClient-Core.package/TCCCore.class/instance/tryHandleError..st
+++ b/packages/TelegramClient-Core.package/TCCCore.class/instance/tryHandleError..st
@@ -5,7 +5,8 @@ tryHandleError: anError
['USERNAME_NOT_OCCUPIED'] -> [UIManager default inform: TCCErrorConstants unknownUsername].
['USERNAME_INVALID'] -> [UIManager default inform: TCCErrorConstants unknownUsername].
['PHONE_NUMBER_INVALID'] -> [UIManager default inform: TCCErrorConstants invalidAuthenticationCode].
- ['PHONE_CODE_INVALID'] -> [UIManager default inform: TCCErrorConstants invalidAuthenticationCode]}
+ ['PHONE_CODE_INVALID'] -> [UIManager default inform: TCCErrorConstants invalidAuthenticationCode].
+ ['PASSWORD_HASH_INVALID'] -> [UIManager default inform: TCCErrorConstants invalidAuthenticationPassword]}
otherwise: [
((anError at: 'message') beginsWith: 'Can''t lock file')
ifTrue: [UIManager default inform: TCCErrorConstants tdlibAlreadyInUse]
diff --git a/packages/TelegramClient-Core.package/TCCCore.class/instance/update.st b/packages/TelegramClient-Core.package/TCCCore.class/instance/update.st
index e5a853310..762cc023d 100644
--- a/packages/TelegramClient-Core.package/TCCCore.class/instance/update.st
+++ b/packages/TelegramClient-Core.package/TCCCore.class/instance/update.st
@@ -4,6 +4,8 @@ update
| event |
event := self client receive: 0.05.
+ "Short pause to make image more responsive, see https://github.com/hpi-swa-teaching/TelegramClient/pull/412#issuecomment-868465126"
+ event ifNil: [5 milliSeconds wait].
event ifNotNil: [
[self handleEvent: (TCCEvent newFromTdlibEvent: event)] fork
].
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCCore.class/methodProperties.json b/packages/TelegramClient-Core.package/TCCCore.class/methodProperties.json
index fc74e0297..639c06f96 100644
--- a/packages/TelegramClient-Core.package/TCCCore.class/methodProperties.json
+++ b/packages/TelegramClient-Core.package/TCCCore.class/methodProperties.json
@@ -11,13 +11,14 @@
"chatsHandler" : "rs 6/7/2020 21:50",
"chatsHandler:" : "rs 6/7/2020 21:50",
"checkAuthenticationCode:" : "RS 7/31/2021 15:56",
+ "checkAuthenticationPassword:" : "aka 5/21/2022 11:31",
"client" : "R.S 5/20/2020 16:08",
"client:" : "pk 8/5/2021 16:39",
"freeClient" : "6/9/2021 14:12:18",
"generateCallbackId" : "pk 8/5/2021 17:04",
"getOwnProfile" : "pk 8/5/2021 17:05",
- "handleEvent:" : "RS 7/31/2021 15:57",
- "handleMessageEvent:" : "pk 5/28/2021 09:41",
+ "handleEvent:" : "rgw 7/21/2022 13:13",
+ "handleMessageEvent:" : "rgw 5/12/2022 13:44",
"handlePendingEvent:" : "per 8/2/2021 15:05",
"imageStore" : "pk 6/19/2021 17:15",
"imageStore:" : "TR 6/22/2021 09:33",
@@ -28,14 +29,14 @@
"loggedInUserId:" : "pk 8/5/2021 17:04",
"pendingRequests" : "pk 5/13/2021 09:46",
"pendingRequests:" : "pk 5/13/2021 09:46",
- "receiveLoop" : "per 6/28/2021 16:26",
+ "receiveLoop" : "rgw 7/24/2022 14:56",
"registerCallback:" : "pk 8/5/2021 17:04",
"searchChat:" : "pk 8/5/2021 16:39",
- "send:" : "RS 6/23/2021 16:12",
- "send:thenDo:" : "JB 8/1/2021 11:26",
+ "send:" : "rgw 6/2/2022 09:43",
+ "send:thenDo:" : "rgw 6/2/2022 09:46",
"sendPhoneNumber:" : "RS 7/31/2021 15:57",
"setUserId:" : "pk 8/5/2021 17:05",
- "tryHandleError:" : "JB 6/4/2021 17:28",
- "update" : "pk 8/5/2021 17:09",
+ "tryHandleError:" : "aka 5/21/2022 12:07",
+ "update" : "rgw 7/24/2022 15:08",
"userStore" : "per 7/15/2021 12:56",
"userStore:" : "tr 7/25/2021 17:57" } }
diff --git a/packages/TelegramClient-Core.package/TCCDeleteMemberMessage.class/README.md b/packages/TelegramClient-Core.package/TCCDeleteMemberMessage.class/README.md
new file mode 100644
index 000000000..f6eb718e9
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCDeleteMemberMessage.class/README.md
@@ -0,0 +1 @@
+Represents a message where a member is removed from a group.
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCDeleteMemberMessage.class/class/newFrom..st b/packages/TelegramClient-Core.package/TCCDeleteMemberMessage.class/class/newFrom..st
new file mode 100644
index 000000000..7fc15afb7
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCDeleteMemberMessage.class/class/newFrom..st
@@ -0,0 +1,6 @@
+instance creation
+newFrom: aJsonObject
+
+ ^ self new
+ member: (aJsonObject at: 'user_id');
+ yourself
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCDeleteMemberMessage.class/instance/asSnippet.st b/packages/TelegramClient-Core.package/TCCDeleteMemberMessage.class/instance/asSnippet.st
new file mode 100644
index 000000000..e60b994b9
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCDeleteMemberMessage.class/instance/asSnippet.st
@@ -0,0 +1,4 @@
+accessing
+asSnippet
+
+ ^ self asText
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCDeleteMemberMessage.class/instance/asText.st b/packages/TelegramClient-Core.package/TCCDeleteMemberMessage.class/instance/asText.st
new file mode 100644
index 000000000..170679d35
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCDeleteMemberMessage.class/instance/asText.st
@@ -0,0 +1,6 @@
+accessing
+asText
+
+ | name |
+ name := (self core userStore getUserFor: self member) fullName.
+ ^ 'Removed: ' , name
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCDeleteMemberMessage.class/instance/member..st b/packages/TelegramClient-Core.package/TCCDeleteMemberMessage.class/instance/member..st
new file mode 100644
index 000000000..0cbe13d58
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCDeleteMemberMessage.class/instance/member..st
@@ -0,0 +1,4 @@
+accessing
+member: aUserId
+
+ member := aUserId
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCDeleteMemberMessage.class/instance/member.st b/packages/TelegramClient-Core.package/TCCDeleteMemberMessage.class/instance/member.st
new file mode 100644
index 000000000..7c71440a8
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCDeleteMemberMessage.class/instance/member.st
@@ -0,0 +1,4 @@
+accessing
+member
+
+ ^ member
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCDeleteMemberMessage.class/methodProperties.json b/packages/TelegramClient-Core.package/TCCDeleteMemberMessage.class/methodProperties.json
new file mode 100644
index 000000000..149dba1d5
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCDeleteMemberMessage.class/methodProperties.json
@@ -0,0 +1,8 @@
+{
+ "class" : {
+ "newFrom:" : "LR 7/23/2022 10:41" },
+ "instance" : {
+ "asSnippet" : "LR 7/23/2022 10:43",
+ "asText" : "LR 7/23/2022 10:45",
+ "member" : "LR 7/23/2022 10:56",
+ "member:" : "LR 7/23/2022 10:57" } }
diff --git a/packages/TelegramClient-Core.package/TCCDeleteMemberMessage.class/properties.json b/packages/TelegramClient-Core.package/TCCDeleteMemberMessage.class/properties.json
new file mode 100644
index 000000000..d81262c5a
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCDeleteMemberMessage.class/properties.json
@@ -0,0 +1,14 @@
+{
+ "category" : "TelegramClient-Core",
+ "classinstvars" : [
+ ],
+ "classvars" : [
+ ],
+ "commentStamp" : "ek 8/4/2022 11:57",
+ "instvars" : [
+ "member" ],
+ "name" : "TCCDeleteMemberMessage",
+ "pools" : [
+ ],
+ "super" : "TCCMessage",
+ "type" : "normal" }
diff --git a/packages/TelegramClient-Core.package/TCCErrorConstants.class/class/invalidAuthenticationPassword.st b/packages/TelegramClient-Core.package/TCCErrorConstants.class/class/invalidAuthenticationPassword.st
new file mode 100644
index 000000000..3a67ea797
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCErrorConstants.class/class/invalidAuthenticationPassword.st
@@ -0,0 +1,4 @@
+messages
+invalidAuthenticationPassword
+
+ ^ 'The password you entered seems to be invalid.'
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCErrorConstants.class/methodProperties.json b/packages/TelegramClient-Core.package/TCCErrorConstants.class/methodProperties.json
index 9effac684..0d8d2322f 100644
--- a/packages/TelegramClient-Core.package/TCCErrorConstants.class/methodProperties.json
+++ b/packages/TelegramClient-Core.package/TCCErrorConstants.class/methodProperties.json
@@ -1,6 +1,7 @@
{
"class" : {
"invalidAuthenticationCode" : "r.s 7/31/2020 14:48",
+ "invalidAuthenticationPassword" : "aka 5/21/2022 12:06",
"invalidPhoneNumber" : "r.s 7/31/2020 14:48",
"tdlibAlreadyInUse" : "r.s 7/31/2020 14:48",
"unknownUsername" : "r.s 7/31/2020 14:48" },
diff --git a/packages/TelegramClient-Core.package/TCCFFIClient.class/class/fileName.st b/packages/TelegramClient-Core.package/TCCFFIClient.class/class/libraryFilePath.st
similarity index 71%
rename from packages/TelegramClient-Core.package/TCCFFIClient.class/class/fileName.st
rename to packages/TelegramClient-Core.package/TCCFFIClient.class/class/libraryFilePath.st
index 1eb3ed312..3d85125de 100644
--- a/packages/TelegramClient-Core.package/TCCFFIClient.class/class/fileName.st
+++ b/packages/TelegramClient-Core.package/TCCFFIClient.class/class/libraryFilePath.st
@@ -1,4 +1,4 @@
accessing
-fileName
+libraryFilePath
^ self subclassResponsibility
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCFFIClient.class/class/moduleName.st b/packages/TelegramClient-Core.package/TCCFFIClient.class/class/moduleName.st
index d0a700b1d..55e34d069 100644
--- a/packages/TelegramClient-Core.package/TCCFFIClient.class/class/moduleName.st
+++ b/packages/TelegramClient-Core.package/TCCFFIClient.class/class/moduleName.st
@@ -3,7 +3,7 @@ moduleName
| filePath |
- filePath := FileDirectory default / self fileName.
+ filePath := self libraryFilePath.
filePath exists ifFalse: [
FileStream fileNamed: filePath fullName do: [:stream |
diff --git a/packages/TelegramClient-Core.package/TCCFFIClient.class/class/tdlibVersion.st b/packages/TelegramClient-Core.package/TCCFFIClient.class/class/tdlibVersion.st
new file mode 100644
index 000000000..456a29b08
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCFFIClient.class/class/tdlibVersion.st
@@ -0,0 +1,4 @@
+accessing
+tdlibVersion
+
+ ^ '1.8.0'
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCFFIClient.class/methodProperties.json b/packages/TelegramClient-Core.package/TCCFFIClient.class/methodProperties.json
index c2aeb075d..69a1436b9 100644
--- a/packages/TelegramClient-Core.package/TCCFFIClient.class/methodProperties.json
+++ b/packages/TelegramClient-Core.package/TCCFFIClient.class/methodProperties.json
@@ -1,9 +1,10 @@
{
"class" : {
"downloadUrl" : "r.s 7/13/2020 17:05",
- "fileName" : "r.s 7/13/2020 17:05",
- "moduleName" : "pk 8/5/2021 21:31",
- "newForCurrentOs" : "pk 8/5/2021 17:09" },
+ "libraryFilePath" : "rgw 7/16/2022 17:57",
+ "moduleName" : "rgw 7/16/2022 17:58",
+ "newForCurrentOs" : "pk 8/5/2021 17:09",
+ "tdlibVersion" : "rgw 7/16/2022 17:36" },
"instance" : {
"create" : "js 6/13/2020 12:53",
"free:" : "js 6/13/2020 18:33",
diff --git a/packages/TelegramClient-Core.package/TCCGroupChat.class/instance/addMembersFrom..st b/packages/TelegramClient-Core.package/TCCGroupChat.class/instance/addMembersFrom..st
index d7374a902..3d992f7d0 100644
--- a/packages/TelegramClient-Core.package/TCCGroupChat.class/instance/addMembersFrom..st
+++ b/packages/TelegramClient-Core.package/TCCGroupChat.class/instance/addMembersFrom..st
@@ -2,5 +2,5 @@ initialization
addMembersFrom: aCollection
[aCollection do: [:aMember |
- self members add: (self core userStore getUserFor: (aMember at: 'user_id')).
+ self members add: (self core userStore getUserFor: ((aMember at: 'member_id') at: 'user_id')).
]] fork.
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCGroupChat.class/methodProperties.json b/packages/TelegramClient-Core.package/TCCGroupChat.class/methodProperties.json
index 017dd29db..578bbf8ca 100644
--- a/packages/TelegramClient-Core.package/TCCGroupChat.class/methodProperties.json
+++ b/packages/TelegramClient-Core.package/TCCGroupChat.class/methodProperties.json
@@ -2,7 +2,7 @@
"class" : {
},
"instance" : {
- "addMembersFrom:" : "pk 8/5/2021 16:36",
+ "addMembersFrom:" : "rgw 6/2/2022 09:56",
"canLoadMoreMembers" : "per 6/15/2021 08:37",
"description" : "RS 5/29/2021 18:44",
"description:" : "RS 5/29/2021 18:44",
diff --git a/packages/TelegramClient-Core.package/TCCImageStore.class/instance/getFormFor..st b/packages/TelegramClient-Core.package/TCCImageStore.class/instance/getFormFor..st
index 858bbbfaa..3d7e274f6 100644
--- a/packages/TelegramClient-Core.package/TCCImageStore.class/instance/getFormFor..st
+++ b/packages/TelegramClient-Core.package/TCCImageStore.class/instance/getFormFor..st
@@ -2,9 +2,6 @@ accessing
getFormFor: anImageId
| promise |
- promise := self at: anImageId ifAbsent:
- [self at: anImageId put: Promise new.
- self requestImageFor: anImageId with: (self at: anImageId).
- self at: anImageId].
+ promise := self getFormPromiseFor: anImageId.
promise wait.
- ^ self class imageFormFrom: promise value
\ No newline at end of file
+ ^ promise value
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCImageStore.class/instance/getFormPromiseFor..st b/packages/TelegramClient-Core.package/TCCImageStore.class/instance/getFormPromiseFor..st
new file mode 100644
index 000000000..930320622
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCImageStore.class/instance/getFormPromiseFor..st
@@ -0,0 +1,10 @@
+accessing
+getFormPromiseFor: anImageId
+
+ | promise |
+ promise := self at: anImageId ifAbsent: [
+ self at: anImageId put: Promise new.
+ self requestImageFor: anImageId with: (self at: anImageId).
+ self at: anImageId
+ ].
+ ^ promise >>= [:aPath | self class imageFormFrom: aPath]
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCImageStore.class/methodProperties.json b/packages/TelegramClient-Core.package/TCCImageStore.class/methodProperties.json
index d77535c99..ae00ea616 100644
--- a/packages/TelegramClient-Core.package/TCCImageStore.class/methodProperties.json
+++ b/packages/TelegramClient-Core.package/TCCImageStore.class/methodProperties.json
@@ -6,5 +6,6 @@
"instance" : {
"core" : "pk 6/19/2021 16:13",
"core:" : "pk 6/19/2021 16:13",
- "getFormFor:" : "pk 6/19/2021 17:25",
- "requestImageFor:with:" : "JB 8/1/2021 11:35" } }
+ "getFormFor:" : "rgw 6/6/2022 18:51",
+ "getFormPromiseFor:" : "rgw 6/6/2022 18:43",
+ "requestImageFor:with:" : "rgw 6/2/2022 11:17" } }
diff --git a/packages/TelegramClient-Core.package/TCCLinuxClient.class/class/downloadUrl.st b/packages/TelegramClient-Core.package/TCCLinuxClient.class/class/downloadUrl.st
index d0b4e09af..6141083ae 100644
--- a/packages/TelegramClient-Core.package/TCCLinuxClient.class/class/downloadUrl.st
+++ b/packages/TelegramClient-Core.package/TCCLinuxClient.class/class/downloadUrl.st
@@ -1,4 +1,4 @@
accessing
downloadUrl
- ^ 'https://github.com/hpi-swa-teaching/tdlib/releases/download/v1.7.0/libtdjson.so.1.7.0'
\ No newline at end of file
+ ^ 'https://github.com/hpi-swa-teaching/tdlib/releases/download/v' , self tdlibVersion , '/libtdjson.so.' , self tdlibVersion
diff --git a/packages/TelegramClient-Core.package/TCCLinuxClient.class/class/fileName.st b/packages/TelegramClient-Core.package/TCCLinuxClient.class/class/fileName.st
deleted file mode 100644
index d1344c057..000000000
--- a/packages/TelegramClient-Core.package/TCCLinuxClient.class/class/fileName.st
+++ /dev/null
@@ -1,4 +0,0 @@
-accessing
-fileName
-
- ^ 'libtdjson.so.1.7.0'
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCLinuxClient.class/class/libraryFilePath.st b/packages/TelegramClient-Core.package/TCCLinuxClient.class/class/libraryFilePath.st
new file mode 100644
index 000000000..ff81efae0
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCLinuxClient.class/class/libraryFilePath.st
@@ -0,0 +1,4 @@
+accessing
+libraryFilePath
+
+ ^ FileDirectory default / ('libtdjson.so.' , self tdlibVersion)
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCLinuxClient.class/methodProperties.json b/packages/TelegramClient-Core.package/TCCLinuxClient.class/methodProperties.json
index 7b5d13401..c2d28fa9d 100644
--- a/packages/TelegramClient-Core.package/TCCLinuxClient.class/methodProperties.json
+++ b/packages/TelegramClient-Core.package/TCCLinuxClient.class/methodProperties.json
@@ -1,6 +1,6 @@
{
"class" : {
- "downloadUrl" : "tr 8/5/2021 09:13",
- "fileName" : "RS 4/28/2021 18:54" },
+ "downloadUrl" : "rgw 7/16/2022 17:40",
+ "libraryFilePath" : "rgw 7/16/2022 17:57" },
"instance" : {
"type" : "r.s 7/13/2020 17:31" } }
diff --git a/packages/TelegramClient-Core.package/TCCMacClient.class/class/downloadUrl.st b/packages/TelegramClient-Core.package/TCCMacClient.class/class/downloadUrl.st
index 2a7589262..f8e0df7c4 100644
--- a/packages/TelegramClient-Core.package/TCCMacClient.class/class/downloadUrl.st
+++ b/packages/TelegramClient-Core.package/TCCMacClient.class/class/downloadUrl.st
@@ -1,4 +1,4 @@
accessing
downloadUrl
- ^ 'https://github.com/hpi-swa-teaching/tdlib/releases/download/v1.7.0/libtdjson.1.7.0.dylib'
\ No newline at end of file
+ ^ 'https://github.com/hpi-swa-teaching/tdlib/releases/download/v' , self tdlibVersion , '/libtdjson.' , self tdlibVersion , '.dylib'
diff --git a/packages/TelegramClient-Core.package/TCCMacClient.class/class/fileName.st b/packages/TelegramClient-Core.package/TCCMacClient.class/class/fileName.st
deleted file mode 100644
index 9969329ba..000000000
--- a/packages/TelegramClient-Core.package/TCCMacClient.class/class/fileName.st
+++ /dev/null
@@ -1,4 +0,0 @@
-accessing
-fileName
-
- ^ 'libtdjson.1.7.0.dylib'
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCMacClient.class/class/libraryFilePath.st b/packages/TelegramClient-Core.package/TCCMacClient.class/class/libraryFilePath.st
new file mode 100644
index 000000000..e3411153d
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCMacClient.class/class/libraryFilePath.st
@@ -0,0 +1,4 @@
+accessing
+libraryFilePath
+
+ ^ FileDirectory default / ('libtdjson.' , self tdlibVersion , '.dylib')
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCMacClient.class/methodProperties.json b/packages/TelegramClient-Core.package/TCCMacClient.class/methodProperties.json
index c0d59cc2d..219535617 100644
--- a/packages/TelegramClient-Core.package/TCCMacClient.class/methodProperties.json
+++ b/packages/TelegramClient-Core.package/TCCMacClient.class/methodProperties.json
@@ -1,6 +1,6 @@
{
"class" : {
- "downloadUrl" : "tr 8/5/2021 09:13",
- "fileName" : "RS 4/28/2021 18:07" },
+ "downloadUrl" : "rgw 7/16/2022 17:41",
+ "libraryFilePath" : "rgw 7/16/2022 17:57" },
"instance" : {
"type" : "r.s 7/13/2020 17:31" } }
diff --git a/packages/TelegramClient-Core.package/TCCMessage.class/README.md b/packages/TelegramClient-Core.package/TCCMessage.class/README.md
index c8335a71c..7601e3781 100644
--- a/packages/TelegramClient-Core.package/TCCMessage.class/README.md
+++ b/packages/TelegramClient-Core.package/TCCMessage.class/README.md
@@ -1 +1 @@
-super-dataclass for messages of all types
\ No newline at end of file
+super-dataclass for messages that can be created by users
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCMessage.class/class/maxReplySnippetSize.st b/packages/TelegramClient-Core.package/TCCMessage.class/class/maxReplySnippetSize.st
new file mode 100644
index 000000000..f5c9a41e5
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCMessage.class/class/maxReplySnippetSize.st
@@ -0,0 +1,4 @@
+constants
+maxReplySnippetSize
+
+ ^ 25
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCMessage.class/class/newFromMessageEvent.in.with..st b/packages/TelegramClient-Core.package/TCCMessage.class/class/newFromMessageEvent.in.with..st
index bd708c226..3a9cda10a 100644
--- a/packages/TelegramClient-Core.package/TCCMessage.class/class/newFromMessageEvent.in.with..st
+++ b/packages/TelegramClient-Core.package/TCCMessage.class/class/newFromMessageEvent.in.with..st
@@ -7,14 +7,15 @@ newFromMessageEvent: anEvent in: aChat with: aCore
message
chat: aChat;
- senderType: ((anEvent at: 'sender') at: '@type') asSymbol;
+ senderType: ((anEvent at: 'sender_id') at: '@type') asSymbol;
id: (anEvent at: 'id');
isOutgoing: (anEvent at: 'is_outgoing');
date: (self timeStampToDateAndTime: (anEvent at: 'date'));
+ replyToMessageId: (anEvent at: 'reply_to_message_id');
core: aCore.
(message senderType = #messageSenderUser) ifTrue:[
- message userId: ((anEvent at: 'sender') at: 'user_id').
+ message userId: ((anEvent at: 'sender_id') at: 'user_id').
].
^ message
diff --git a/packages/TelegramClient-Core.package/TCCMessage.class/class/newMessageWith..st b/packages/TelegramClient-Core.package/TCCMessage.class/class/newMessageWith..st
index 34627f9de..a03d3b669 100644
--- a/packages/TelegramClient-Core.package/TCCMessage.class/class/newMessageWith..st
+++ b/packages/TelegramClient-Core.package/TCCMessage.class/class/newMessageWith..st
@@ -1,7 +1,9 @@
-instance creation
+json conversion
newMessageWith: aJsonObject
^ (aJsonObject at: '@type') caseOf: {
['messageText'] -> [TCCTextMessage newFrom: aJsonObject].
['messagePhoto'] -> [TCCPhotoMessage newFrom: aJsonObject].
+ ['messageChatAddMembers'] -> [TCCAddMembersMessage newFrom: aJsonObject].
+ ['messageChatDeleteMember'] -> [TCCDeleteMemberMessage newFrom: aJsonObject].
} otherwise: [TCCNotSupportedMessage new]
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCMessage.class/instance/asReplySnippet.st b/packages/TelegramClient-Core.package/TCCMessage.class/instance/asReplySnippet.st
new file mode 100644
index 000000000..2025a23e0
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCMessage.class/instance/asReplySnippet.st
@@ -0,0 +1,7 @@
+accessing
+asReplySnippet
+
+ | snippet |
+ snippet := self asSnippet.
+ snippet size > self class maxReplySnippetSize ifTrue: [snippet := (snippet copyFrom: 1 to: self class maxReplySnippetSize) , '...'].
+ ^ self senderName , String cr , snippet
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCMessage.class/instance/asSnippet.st b/packages/TelegramClient-Core.package/TCCMessage.class/instance/asSnippet.st
index d3b99c7a9..be38186c7 100644
--- a/packages/TelegramClient-Core.package/TCCMessage.class/instance/asSnippet.st
+++ b/packages/TelegramClient-Core.package/TCCMessage.class/instance/asSnippet.st
@@ -1,4 +1,4 @@
accessing
asSnippet
- self subclassResponsibility.
\ No newline at end of file
+ ^ self subclassResponsibility
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCMessage.class/instance/asText.st b/packages/TelegramClient-Core.package/TCCMessage.class/instance/asText.st
index 4fe4a46fa..ba33ce652 100644
--- a/packages/TelegramClient-Core.package/TCCMessage.class/instance/asText.st
+++ b/packages/TelegramClient-Core.package/TCCMessage.class/instance/asText.st
@@ -1,4 +1,4 @@
accessing
asText
- self subclassResponsibility.
\ No newline at end of file
+ ^ self subclassResponsibility
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCMessage.class/instance/chat..st b/packages/TelegramClient-Core.package/TCCMessage.class/instance/chat..st
index 3f6d8c03a..de02cfb96 100644
--- a/packages/TelegramClient-Core.package/TCCMessage.class/instance/chat..st
+++ b/packages/TelegramClient-Core.package/TCCMessage.class/instance/chat..st
@@ -1,4 +1,4 @@
accessing
chat: aChat
- chat := aChat.
\ No newline at end of file
+ chat := aChat
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCMessage.class/instance/id..st b/packages/TelegramClient-Core.package/TCCMessage.class/instance/id..st
index 7a9230e8c..3f4f338bd 100644
--- a/packages/TelegramClient-Core.package/TCCMessage.class/instance/id..st
+++ b/packages/TelegramClient-Core.package/TCCMessage.class/instance/id..st
@@ -1,4 +1,4 @@
accessing
id: aNumber
- id := aNumber.
\ No newline at end of file
+ id := aNumber
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCMessage.class/instance/initialize.st b/packages/TelegramClient-Core.package/TCCMessage.class/instance/initialize.st
new file mode 100644
index 000000000..ba2de6d9d
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCMessage.class/instance/initialize.st
@@ -0,0 +1,8 @@
+initialization
+initialize
+
+ super initialize.
+
+ self
+ isFirstMessageOfDay: false;
+ isLastMessageOfDay: false.
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCMessage.class/instance/isFirstMessageOfDay..st b/packages/TelegramClient-Core.package/TCCMessage.class/instance/isFirstMessageOfDay..st
new file mode 100644
index 000000000..963c77af4
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCMessage.class/instance/isFirstMessageOfDay..st
@@ -0,0 +1,4 @@
+accessing
+isFirstMessageOfDay: aBoolean
+
+ isFirstMessageOfDay := aBoolean
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCMessage.class/instance/isFirstMessageOfDay.st b/packages/TelegramClient-Core.package/TCCMessage.class/instance/isFirstMessageOfDay.st
new file mode 100644
index 000000000..ea0e5f018
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCMessage.class/instance/isFirstMessageOfDay.st
@@ -0,0 +1,4 @@
+accessing
+isFirstMessageOfDay
+
+ ^ isFirstMessageOfDay
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCMessage.class/instance/isLastMessageOfDay..st b/packages/TelegramClient-Core.package/TCCMessage.class/instance/isLastMessageOfDay..st
new file mode 100644
index 000000000..c89726fa5
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCMessage.class/instance/isLastMessageOfDay..st
@@ -0,0 +1,4 @@
+accessing
+isLastMessageOfDay: aBoolean
+
+ isLastMessageOfDay := aBoolean
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCMessage.class/instance/isLastMessageOfDay.st b/packages/TelegramClient-Core.package/TCCMessage.class/instance/isLastMessageOfDay.st
new file mode 100644
index 000000000..7fd58d558
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCMessage.class/instance/isLastMessageOfDay.st
@@ -0,0 +1,4 @@
+accessing
+isLastMessageOfDay
+
+ ^ isLastMessageOfDay
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCMessage.class/instance/isReply.st b/packages/TelegramClient-Core.package/TCCMessage.class/instance/isReply.st
new file mode 100644
index 000000000..c0857dad7
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCMessage.class/instance/isReply.st
@@ -0,0 +1,4 @@
+accessing
+isReply
+
+ ^ self replyToMessageId ~= 0
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCMessage.class/instance/replyText.st b/packages/TelegramClient-Core.package/TCCMessage.class/instance/replyText.st
new file mode 100644
index 000000000..2c60f4861
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCMessage.class/instance/replyText.st
@@ -0,0 +1,7 @@
+accessing
+replyText
+
+ | message |
+ message := self chat getMessageById: self replyToMessageId.
+
+ ^ message asReplySnippet
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCMessage.class/instance/replyToMessageId..st b/packages/TelegramClient-Core.package/TCCMessage.class/instance/replyToMessageId..st
new file mode 100644
index 000000000..2ecd11b11
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCMessage.class/instance/replyToMessageId..st
@@ -0,0 +1,4 @@
+accessing
+replyToMessageId: aNumber
+
+ replyToMessageId := aNumber
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCMessage.class/instance/replyToMessageId.st b/packages/TelegramClient-Core.package/TCCMessage.class/instance/replyToMessageId.st
new file mode 100644
index 000000000..e498914a6
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCMessage.class/instance/replyToMessageId.st
@@ -0,0 +1,4 @@
+accessing
+replyToMessageId
+
+ ^ replyToMessageId
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCMessage.class/instance/senderName.st b/packages/TelegramClient-Core.package/TCCMessage.class/instance/senderName.st
index d013dfb69..2441a69c0 100644
--- a/packages/TelegramClient-Core.package/TCCMessage.class/instance/senderName.st
+++ b/packages/TelegramClient-Core.package/TCCMessage.class/instance/senderName.st
@@ -3,5 +3,5 @@ senderName
^ (self senderType) caseOf: {
[#messageSenderChat] -> [self chat title].
- [#messageSenderUser] -> [(self core userStore getUserFor: self userId) fullName].
+ [#messageSenderUser] -> [self senderUser fullName].
} otherwise: ['Unsupported sender type']
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCMessage.class/instance/senderUser.st b/packages/TelegramClient-Core.package/TCCMessage.class/instance/senderUser.st
new file mode 100644
index 000000000..deb195605
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCMessage.class/instance/senderUser.st
@@ -0,0 +1,4 @@
+accessing
+senderUser
+
+ ^ self core userStore getUserFor: self userId
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCMessage.class/methodProperties.json b/packages/TelegramClient-Core.package/TCCMessage.class/methodProperties.json
index a423081c6..d89b42bcc 100644
--- a/packages/TelegramClient-Core.package/TCCMessage.class/methodProperties.json
+++ b/packages/TelegramClient-Core.package/TCCMessage.class/methodProperties.json
@@ -1,25 +1,37 @@
{
"class" : {
- "newFromMessageEvent:in:with:" : "pk 8/5/2021 16:52",
- "newMessageWith:" : "pk 8/5/2021 16:53",
+ "maxReplySnippetSize" : "rgw 5/12/2022 16:05",
+ "newFromMessageEvent:in:with:" : "rgw 6/2/2022 09:01",
+ "newMessageWith:" : "js 7/31/2022 09:28",
"timeStampToDateAndTime:" : "JB 5/16/2021 09:42" },
"instance" : {
- "asSnippet" : "tom.richter 6/28/2021 15:05",
- "asText" : "TR 6/20/2021 10:13",
- "chat" : "pk 5/7/2021 12:06",
- "chat:" : "pk 8/4/2021 11:40",
- "chatId" : "pk 8/5/2021 17:06",
- "core" : "pk 6/8/2021 09:24",
- "core:" : "pk 6/8/2021 09:25",
- "date" : "RK 5/7/2021 10:02",
- "date:" : "pk 8/4/2021 11:40",
- "id" : "js 8/1/2020 18:20",
- "id:" : "pk 8/4/2021 11:41",
+ "asReplySnippet" : "rgw 5/12/2022 16:05",
+ "asSnippet" : "rgw 7/21/2022 15:11",
+ "asText" : "rgw 7/21/2022 15:11",
+ "chat" : "js 7/31/2022 09:23",
+ "chat:" : "js 7/31/2022 09:23",
+ "chatId" : "js 7/31/2022 09:27",
+ "core" : "js 7/31/2022 09:25",
+ "core:" : "js 7/31/2022 09:25",
+ "date" : "js 7/31/2022 09:24",
+ "date:" : "js 7/31/2022 09:25",
+ "id" : "js 7/31/2022 09:24",
+ "id:" : "js 7/31/2022 09:24",
+ "initialize" : "ek 8/4/2022 12:11",
+ "isFirstMessageOfDay" : "js 7/31/2022 09:26",
+ "isFirstMessageOfDay:" : "js 7/31/2022 09:26",
+ "isLastMessageOfDay" : "js 7/31/2022 09:26",
+ "isLastMessageOfDay:" : "js 7/31/2022 09:26",
"isOutgoing" : "js 8/2/2020 22:00",
"isOutgoing:" : "pk 8/4/2021 11:42",
- "senderName" : "tr 7/25/2021 18:00",
+ "isReply" : "rgw 5/12/2022 15:40",
+ "replyText" : "LR 6/5/2022 11:12",
+ "replyToMessageId" : "rgw 5/12/2022 13:43",
+ "replyToMessageId:" : "rgw 5/12/2022 13:43",
+ "senderName" : "JS 6/11/2022 09:50",
"senderType" : "tom.richter 7/25/2021 10:42",
"senderType:" : "pk 8/4/2021 11:42",
+ "senderUser" : "JS 6/11/2022 09:49",
"shouldNotify" : "per 6/16/2021 17:35",
"userId" : "tom.richter 7/25/2021 11:17",
"userId:" : "pk 8/4/2021 11:42" } }
diff --git a/packages/TelegramClient-Core.package/TCCMessage.class/properties.json b/packages/TelegramClient-Core.package/TCCMessage.class/properties.json
index 4e385dbb3..bba545924 100644
--- a/packages/TelegramClient-Core.package/TCCMessage.class/properties.json
+++ b/packages/TelegramClient-Core.package/TCCMessage.class/properties.json
@@ -4,15 +4,18 @@
],
"classvars" : [
],
- "commentStamp" : "RK 6/26/2021 11:36",
+ "commentStamp" : "js 7/18/2022 07:50",
"instvars" : [
"chat",
"id",
- "isOutgoing",
"date",
"core",
+ "isFirstMessageOfDay",
+ "isLastMessageOfDay",
+ "isOutgoing",
"senderType",
- "userId" ],
+ "userId",
+ "replyToMessageId" ],
"name" : "TCCMessage",
"pools" : [
],
diff --git a/packages/TelegramClient-Core.package/TCCMessageRequest.class/README.md b/packages/TelegramClient-Core.package/TCCMessageRequest.class/README.md
new file mode 100644
index 000000000..b6ce64fdc
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCMessageRequest.class/README.md
@@ -0,0 +1 @@
+Class with the id of a requested message. If request is completed, execute the completionMessage on the completionReceiver.
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCMessageRequest.class/instance/completeRequest.st b/packages/TelegramClient-Core.package/TCCMessageRequest.class/instance/completeRequest.st
new file mode 100644
index 000000000..68a8cd26a
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCMessageRequest.class/instance/completeRequest.st
@@ -0,0 +1,4 @@
+utility
+completeRequest
+
+ self completionReceiver perform: (self completionMessage) with: (self messageId).
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCMessageRequest.class/instance/completionMessage..st b/packages/TelegramClient-Core.package/TCCMessageRequest.class/instance/completionMessage..st
new file mode 100644
index 000000000..6898aa679
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCMessageRequest.class/instance/completionMessage..st
@@ -0,0 +1,4 @@
+accessing
+completionMessage: aMessage
+
+ completionMessage := aMessage
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCMessageRequest.class/instance/completionMessage.st b/packages/TelegramClient-Core.package/TCCMessageRequest.class/instance/completionMessage.st
new file mode 100644
index 000000000..d45cab402
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCMessageRequest.class/instance/completionMessage.st
@@ -0,0 +1,4 @@
+accessing
+completionMessage
+
+ ^ completionMessage
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCMessageRequest.class/instance/completionReceiver..st b/packages/TelegramClient-Core.package/TCCMessageRequest.class/instance/completionReceiver..st
new file mode 100644
index 000000000..7f5b3ed52
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCMessageRequest.class/instance/completionReceiver..st
@@ -0,0 +1,4 @@
+accessing
+completionReceiver: aReceiver
+
+ completionReceiver := aReceiver
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCMessageRequest.class/instance/completionReceiver.st b/packages/TelegramClient-Core.package/TCCMessageRequest.class/instance/completionReceiver.st
new file mode 100644
index 000000000..925e31385
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCMessageRequest.class/instance/completionReceiver.st
@@ -0,0 +1,4 @@
+accessing
+completionReceiver
+
+ ^ completionReceiver
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCMessageRequest.class/instance/messageId..st b/packages/TelegramClient-Core.package/TCCMessageRequest.class/instance/messageId..st
new file mode 100644
index 000000000..9c8eeef2b
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCMessageRequest.class/instance/messageId..st
@@ -0,0 +1,4 @@
+accessing
+messageId: aNumber
+
+ messageId := aNumber
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCMessageRequest.class/instance/messageId.st b/packages/TelegramClient-Core.package/TCCMessageRequest.class/instance/messageId.st
new file mode 100644
index 000000000..ebe1f169a
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCMessageRequest.class/instance/messageId.st
@@ -0,0 +1,4 @@
+accessing
+messageId
+
+ ^ messageId
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCMessageRequest.class/methodProperties.json b/packages/TelegramClient-Core.package/TCCMessageRequest.class/methodProperties.json
new file mode 100644
index 000000000..d007c2552
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCMessageRequest.class/methodProperties.json
@@ -0,0 +1,11 @@
+{
+ "class" : {
+ },
+ "instance" : {
+ "completeRequest" : "ek 8/4/2022 12:16",
+ "completionMessage" : "aka 6/15/2022 11:45",
+ "completionMessage:" : "aka 6/15/2022 11:45",
+ "completionReceiver" : "aka 6/15/2022 11:46",
+ "completionReceiver:" : "aka 6/15/2022 11:46",
+ "messageId" : "aka 6/15/2022 11:47",
+ "messageId:" : "aka 6/15/2022 11:47" } }
diff --git a/packages/TelegramClient-Core.package/TCCMessageRequest.class/properties.json b/packages/TelegramClient-Core.package/TCCMessageRequest.class/properties.json
new file mode 100644
index 000000000..c53c87c7e
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCMessageRequest.class/properties.json
@@ -0,0 +1,16 @@
+{
+ "category" : "TelegramClient-Core",
+ "classinstvars" : [
+ ],
+ "classvars" : [
+ ],
+ "commentStamp" : "aka 6/15/2022 12:07",
+ "instvars" : [
+ "messageId",
+ "completionReceiver",
+ "completionMessage" ],
+ "name" : "TCCMessageRequest",
+ "pools" : [
+ ],
+ "super" : "Object",
+ "type" : "normal" }
diff --git a/packages/TelegramClient-Core.package/TCCNotLoadedMessage.class/README.md b/packages/TelegramClient-Core.package/TCCNotLoadedMessage.class/README.md
new file mode 100644
index 000000000..842a3e954
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCNotLoadedMessage.class/README.md
@@ -0,0 +1 @@
+Message that is not loaded, but used in some way, e.g. for a reply
diff --git a/packages/TelegramClient-Core.package/TCCNotLoadedMessage.class/class/infoText.st b/packages/TelegramClient-Core.package/TCCNotLoadedMessage.class/class/infoText.st
new file mode 100644
index 000000000..af89b8933
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCNotLoadedMessage.class/class/infoText.st
@@ -0,0 +1,4 @@
+accessing
+infoText
+
+ ^ 'Message not loaded' , String cr
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCNotLoadedMessage.class/instance/asReplySnippet.st b/packages/TelegramClient-Core.package/TCCNotLoadedMessage.class/instance/asReplySnippet.st
new file mode 100644
index 000000000..c2f2fb86e
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCNotLoadedMessage.class/instance/asReplySnippet.st
@@ -0,0 +1,4 @@
+accessing
+asReplySnippet
+
+ ^ self class infoText
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCNotLoadedMessage.class/methodProperties.json b/packages/TelegramClient-Core.package/TCCNotLoadedMessage.class/methodProperties.json
new file mode 100644
index 000000000..ce5db7861
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCNotLoadedMessage.class/methodProperties.json
@@ -0,0 +1,5 @@
+{
+ "class" : {
+ "infoText" : "JS 5/27/2022 11:19" },
+ "instance" : {
+ "asReplySnippet" : "rgw 5/12/2022 15:34" } }
diff --git a/packages/TelegramClient-Core.package/TCCNotLoadedMessage.class/properties.json b/packages/TelegramClient-Core.package/TCCNotLoadedMessage.class/properties.json
new file mode 100644
index 000000000..bcae2eb35
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCNotLoadedMessage.class/properties.json
@@ -0,0 +1,14 @@
+{
+ "category" : "TelegramClient-Core",
+ "classinstvars" : [
+ ],
+ "classvars" : [
+ ],
+ "commentStamp" : "",
+ "instvars" : [
+ ],
+ "name" : "TCCNotLoadedMessage",
+ "pools" : [
+ ],
+ "super" : "TCCMessage",
+ "type" : "normal" }
diff --git a/packages/TelegramClient-Core.package/TCCRequest.class/class/newCheckAuthenticationPassword..st b/packages/TelegramClient-Core.package/TCCRequest.class/class/newCheckAuthenticationPassword..st
new file mode 100644
index 000000000..9cd69c278
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCRequest.class/class/newCheckAuthenticationPassword..st
@@ -0,0 +1,6 @@
+instance creation
+newCheckAuthenticationPassword: aString
+
+ ^ TCCRequest
+ newWithType: 'checkAuthenticationPassword'
+ from: {'password' -> aString}
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCRequest.class/class/newGetMessage.from..st b/packages/TelegramClient-Core.package/TCCRequest.class/class/newGetMessage.from..st
new file mode 100644
index 000000000..1105f975f
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCRequest.class/class/newGetMessage.from..st
@@ -0,0 +1,7 @@
+instance creation
+newGetMessage: aMessageId from: aChatId
+
+ ^ TCCRequest
+ newWithType: 'getMessage'
+ from: {'chat_id' -> aChatId.
+ 'message_id' -> aMessageId}
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCRequest.class/class/newSendMessage.to.asReplyTo..st b/packages/TelegramClient-Core.package/TCCRequest.class/class/newSendMessage.to.asReplyTo..st
new file mode 100644
index 000000000..085918311
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCRequest.class/class/newSendMessage.to.asReplyTo..st
@@ -0,0 +1,16 @@
+instance creation
+newSendMessage: aString to: aChatId asReplyTo: aMessageId
+
+ ^ TCCRequest
+ newWithType: 'sendMessage'
+ from: {
+ 'chat_id' -> aChatId.
+ 'reply_to_message_id' -> aMessageId.
+ 'input_message_content' -> (Dictionary newFrom: {
+ '@type' -> 'inputMessageText'.
+ 'text' -> (Dictionary newFrom: {
+ '@type' -> 'formattedText'.
+ 'text' -> aString asString squeakToUtf8
+ })
+ })
+ }
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCRequest.class/methodProperties.json b/packages/TelegramClient-Core.package/TCCRequest.class/methodProperties.json
index ef7fd1e41..acc2b3217 100644
--- a/packages/TelegramClient-Core.package/TCCRequest.class/methodProperties.json
+++ b/packages/TelegramClient-Core.package/TCCRequest.class/methodProperties.json
@@ -1,17 +1,20 @@
{
"class" : {
"newCheckAuthenticationCode:" : "RS 6/23/2021 16:35",
+ "newCheckAuthenticationPassword:" : "aka 5/21/2022 10:34",
"newCheckDatabaseEncryptionKey:" : "RS 6/23/2021 16:35",
"newGetBasicGroupFullInfoOf:" : "JB 8/1/2021 18:17",
"newGetChatHistoryOf:from:until:" : "RS 6/24/2021 09:20",
"newGetChats" : "RS 6/23/2021 16:37",
"newGetMe" : "JB 8/1/2021 11:34",
+ "newGetMessage:from:" : "JS 5/26/2022 14:45",
"newGetSuperGroupFullInfoOf:" : "JB 8/1/2021 11:32",
"newGetSuperGroupMembersOf:with:until:" : "JB 8/1/2021 11:31",
"newLogOut" : "RS 6/23/2021 16:33",
"newRequestFile:" : "JB 8/1/2021 11:35",
"newSearchChatFrom:" : "RS 6/23/2021 16:38",
"newSendMessage:to:" : "RS 6/23/2021 16:41",
+ "newSendMessage:to:asReplyTo:" : "JS 5/20/2022 10:02",
"newSendPhoneNumber:" : "RS 6/23/2021 16:34",
"newUser:" : "JB 8/1/2021 11:55",
"newWithType:from:" : "rs 6/6/2020 16:21" },
diff --git a/packages/TelegramClient-Core.package/TCCTdlibClient.class/methodProperties.json b/packages/TelegramClient-Core.package/TCCTdlibClient.class/methodProperties.json
index 2de3837ae..154288731 100644
--- a/packages/TelegramClient-Core.package/TCCTdlibClient.class/methodProperties.json
+++ b/packages/TelegramClient-Core.package/TCCTdlibClient.class/methodProperties.json
@@ -2,10 +2,10 @@
"class" : {
"defaultLogLevel" : "js 8/2/2020 12:21",
"newForCurrentOs" : "pk 8/5/2021 17:10",
- "newWithClient:" : "js 8/7/2020 22:19" },
+ "newWithClient:" : "LR 7/14/2022 10:59" },
"instance" : {
"execute:" : "js 5/28/2020 17:23",
- "free" : "JB 6/7/2021 11:21",
+ "free" : "LR 7/14/2022 11:18",
"handle" : "R.S 5/16/2020 10:39",
"handle:" : "R.S 5/18/2020 18:20",
"isAlive" : "JB 6/7/2021 11:19",
diff --git a/packages/TelegramClient-Core.package/TCCTextMessage.class/methodProperties.json b/packages/TelegramClient-Core.package/TCCTextMessage.class/methodProperties.json
index 6fc79a4be..f92db12e4 100644
--- a/packages/TelegramClient-Core.package/TCCTextMessage.class/methodProperties.json
+++ b/packages/TelegramClient-Core.package/TCCTextMessage.class/methodProperties.json
@@ -3,6 +3,6 @@
"newFrom:" : "pk 8/5/2021 16:53" },
"instance" : {
"asSnippet" : "RK 6/26/2021 11:37",
- "asText" : "TR 6/20/2021 10:18",
+ "asText" : "rgw 5/12/2022 14:28",
"text" : "TR 6/20/2021 10:17",
"text:" : "pk 8/4/2021 11:47" } }
diff --git a/packages/TelegramClient-Core.package/TCCUser.class/class/newFrom..st b/packages/TelegramClient-Core.package/TCCUser.class/class/newFrom..st
index 830a098c5..8885c7718 100644
--- a/packages/TelegramClient-Core.package/TCCUser.class/class/newFrom..st
+++ b/packages/TelegramClient-Core.package/TCCUser.class/class/newFrom..st
@@ -1,8 +1,13 @@
instance creation
newFrom: anEvent
- ^ self new
+ | user |
+ user := self new
id: (anEvent at: 'id');
firstName: (anEvent at: 'first_name');
lastName: (anEvent at: 'last_name');
- username: (anEvent at: 'username')
\ No newline at end of file
+ username: (anEvent at: 'username').
+
+ anEvent at: 'profile_photo' ifPresent: [:profilePhoto | user photoId: ((profilePhoto at: 'small') at: 'id')] ifAbsent: [].
+
+ ^ user
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCUser.class/instance/hasPhoto.st b/packages/TelegramClient-Core.package/TCCUser.class/instance/hasPhoto.st
new file mode 100644
index 000000000..e4d77f883
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCUser.class/instance/hasPhoto.st
@@ -0,0 +1,4 @@
+accessing
+hasPhoto
+
+ ^ self photoId isNil not
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCUser.class/instance/photoId..st b/packages/TelegramClient-Core.package/TCCUser.class/instance/photoId..st
new file mode 100644
index 000000000..b72591467
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCUser.class/instance/photoId..st
@@ -0,0 +1,4 @@
+accessing
+photoId: aNumber
+
+ photoId := aNumber
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCUser.class/instance/photoId.st b/packages/TelegramClient-Core.package/TCCUser.class/instance/photoId.st
new file mode 100644
index 000000000..9b12bed68
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCUser.class/instance/photoId.st
@@ -0,0 +1,4 @@
+accessing
+photoId
+
+ ^ photoId
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCUser.class/methodProperties.json b/packages/TelegramClient-Core.package/TCCUser.class/methodProperties.json
index 8489f7a2a..676995355 100644
--- a/packages/TelegramClient-Core.package/TCCUser.class/methodProperties.json
+++ b/packages/TelegramClient-Core.package/TCCUser.class/methodProperties.json
@@ -1,16 +1,19 @@
{
"class" : {
- "newFrom:" : "pk 8/5/2021 16:59" },
+ "newFrom:" : "JS 6/11/2022 10:19" },
"instance" : {
"=" : "pk 6/13/2021 12:52",
"firstName" : "per 5/15/2021 12:03",
"firstName:" : "pk 8/4/2021 11:57",
"fullName" : "JB 6/13/2021 10:28",
+ "hasPhoto" : "JS 6/11/2022 09:32",
"hash" : "JB 6/13/2021 14:01",
"id" : "pk 5/9/2021 16:33",
"id:" : "pk 8/4/2021 11:56",
"initialize" : "JB 6/13/2021 10:52",
"lastName" : "per 5/15/2021 12:03",
"lastName:" : "pk 8/4/2021 11:58",
+ "photoId" : "JS 6/11/2022 09:26",
+ "photoId:" : "JS 6/11/2022 09:26",
"username" : "pk 5/9/2021 16:33",
"username:" : "pk 8/4/2021 12:04" } }
diff --git a/packages/TelegramClient-Core.package/TCCUser.class/properties.json b/packages/TelegramClient-Core.package/TCCUser.class/properties.json
index 79f1c5711..60a63317d 100644
--- a/packages/TelegramClient-Core.package/TCCUser.class/properties.json
+++ b/packages/TelegramClient-Core.package/TCCUser.class/properties.json
@@ -9,7 +9,8 @@
"id",
"username",
"firstName",
- "lastName" ],
+ "lastName",
+ "photoId" ],
"name" : "TCCUser",
"pools" : [
],
diff --git a/packages/TelegramClient-Core.package/TCCUserStore.class/methodProperties.json b/packages/TelegramClient-Core.package/TCCUserStore.class/methodProperties.json
index 88e602168..e675789bd 100644
--- a/packages/TelegramClient-Core.package/TCCUserStore.class/methodProperties.json
+++ b/packages/TelegramClient-Core.package/TCCUserStore.class/methodProperties.json
@@ -5,4 +5,4 @@
"core" : "RK 5/19/2021 10:34",
"core:" : "TR 6/15/2021 16:52",
"getUserFor:" : "pk 6/19/2021 17:48",
- "requestUserFor:with:" : "JB 8/1/2021 11:55" } }
+ "requestUserFor:with:" : "rgw 6/2/2022 09:47" } }
diff --git a/packages/TelegramClient-Core.package/TCCWindowsClient.class/class/directoryName.st b/packages/TelegramClient-Core.package/TCCWindowsClient.class/class/directoryName.st
new file mode 100644
index 000000000..af918e8d8
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCWindowsClient.class/class/directoryName.st
@@ -0,0 +1,4 @@
+accessing
+directoryName
+
+ ^ 'tdlib' , self tdlibVersion
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCWindowsClient.class/class/downloadArchive.st b/packages/TelegramClient-Core.package/TCCWindowsClient.class/class/downloadArchive.st
index 041b68ddb..02931ef32 100644
--- a/packages/TelegramClient-Core.package/TCCWindowsClient.class/class/downloadArchive.st
+++ b/packages/TelegramClient-Core.package/TCCWindowsClient.class/class/downloadArchive.st
@@ -3,6 +3,7 @@ downloadArchive
| intermediatePath archive response |
intermediatePath := FileDirectory default / 'archive.zip'.
+ intermediatePath exists ifTrue: [intermediatePath delete].
FileStream fileNamed: intermediatePath fullName do: [:stream |
response := WebClient httpGet: self downloadUrl.
stream
@@ -10,6 +11,6 @@ downloadArchive
nextPutAll: response content.
intermediatePath := FileDirectory default / 'archive.zip'.].
archive := ZipArchive new readFrom: intermediatePath fullName.
- archive extractAllTo: FileDirectory default.
+ archive extractAllTo: FileDirectory default / self directoryName.
archive close.
intermediatePath delete.
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCWindowsClient.class/class/downloadUrl.st b/packages/TelegramClient-Core.package/TCCWindowsClient.class/class/downloadUrl.st
index 6a8ff8d55..7c208dfdf 100644
--- a/packages/TelegramClient-Core.package/TCCWindowsClient.class/class/downloadUrl.st
+++ b/packages/TelegramClient-Core.package/TCCWindowsClient.class/class/downloadUrl.st
@@ -1,4 +1,4 @@
accessing
downloadUrl
- ^ 'https://github.com/hpi-swa-teaching/tdlib/releases/download/v1.7.0/tdlib-1.7.0.zip'
\ No newline at end of file
+ ^ 'https://github.com/hpi-swa-teaching/tdlib/releases/download/v' , self tdlibVersion , '/tdlib-' , self tdlibVersion , '.zip'
diff --git a/packages/TelegramClient-Core.package/TCCWindowsClient.class/class/fileName.st b/packages/TelegramClient-Core.package/TCCWindowsClient.class/class/fileName.st
deleted file mode 100644
index 1c5948334..000000000
--- a/packages/TelegramClient-Core.package/TCCWindowsClient.class/class/fileName.st
+++ /dev/null
@@ -1,4 +0,0 @@
-accessing
-fileName
-
- ^ 'tdjson.dll'
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCWindowsClient.class/class/libraryFilePath.st b/packages/TelegramClient-Core.package/TCCWindowsClient.class/class/libraryFilePath.st
new file mode 100644
index 000000000..1a8bb85ed
--- /dev/null
+++ b/packages/TelegramClient-Core.package/TCCWindowsClient.class/class/libraryFilePath.st
@@ -0,0 +1,4 @@
+accessing
+libraryFilePath
+
+ ^ FileDirectory default / self directoryName / 'tdjson.dll'
\ No newline at end of file
diff --git a/packages/TelegramClient-Core.package/TCCWindowsClient.class/class/moduleName.st b/packages/TelegramClient-Core.package/TCCWindowsClient.class/class/moduleName.st
index ab9cd79bd..c77b4b768 100644
--- a/packages/TelegramClient-Core.package/TCCWindowsClient.class/class/moduleName.st
+++ b/packages/TelegramClient-Core.package/TCCWindowsClient.class/class/moduleName.st
@@ -3,7 +3,7 @@ moduleName
| filePath |
- filePath := FileDirectory default / self fileName.
+ filePath := self libraryFilePath.
filePath exists ifFalse: [self downloadArchive].
diff --git a/packages/TelegramClient-Core.package/TCCWindowsClient.class/methodProperties.json b/packages/TelegramClient-Core.package/TCCWindowsClient.class/methodProperties.json
index 194639a38..71d280f14 100644
--- a/packages/TelegramClient-Core.package/TCCWindowsClient.class/methodProperties.json
+++ b/packages/TelegramClient-Core.package/TCCWindowsClient.class/methodProperties.json
@@ -1,8 +1,9 @@
{
"class" : {
- "downloadArchive" : "pk 8/6/2021 15:28",
- "downloadUrl" : "pk 8/6/2021 15:16",
- "fileName" : "f.w. 7/15/2020 22:04",
+ "directoryName" : "rgw 7/16/2022 18:27",
+ "downloadArchive" : "rgw 7/16/2022 18:26",
+ "downloadUrl" : "rgw 7/16/2022 18:27",
+ "libraryFilePath" : "7/16/2022 18:23:35",
"moduleName" : "js 8/2/2020 13:21" },
"instance" : {
"type" : "r.s 7/13/2020 17:31" } }
diff --git a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonBack..st b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonBack..st
deleted file mode 100644
index c1a24e0e1..000000000
--- a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonBack..st
+++ /dev/null
@@ -1,4 +0,0 @@
-accessing
-buttonBack: aButton
-
- buttonBack := aButton.
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonBack.st b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonBack.st
deleted file mode 100644
index e8f208f02..000000000
--- a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonBack.st
+++ /dev/null
@@ -1,4 +0,0 @@
-accessing
-buttonBack
-
- ^ buttonBack
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonBackPressed.st b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonBackPressed.st
deleted file mode 100644
index f758b7fa9..000000000
--- a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonBackPressed.st
+++ /dev/null
@@ -1,4 +0,0 @@
-event handling
-buttonBackPressed
-
- self showFirstStep.
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonCancel..st b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonCancel..st
new file mode 100644
index 000000000..9e8c4c65b
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonCancel..st
@@ -0,0 +1,4 @@
+accessing
+buttonCancel: aButton
+
+ buttonCancel := aButton.
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonCancel.st b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonCancel.st
new file mode 100644
index 000000000..49747f4e0
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonCancel.st
@@ -0,0 +1,4 @@
+accessing
+buttonCancel
+
+ ^ buttonCancel
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonCancelPressed.st b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonCancelPressed.st
new file mode 100644
index 000000000..ede129748
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonCancelPressed.st
@@ -0,0 +1,5 @@
+event handling
+buttonCancelPressed
+
+ self showPhoneNumberStep.
+ self buttonCancel makeLighter.
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonNextPressed.st b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonNextPressed.st
index c7bc23ae2..1995b2848 100644
--- a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonNextPressed.st
+++ b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonNextPressed.st
@@ -1,4 +1,5 @@
core communication
buttonNextPressed
- self core sendPhoneNumber: self inputField text.
\ No newline at end of file
+ self core sendPhoneNumber: self inputField text.
+ self buttonNext makeLighter.
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonVerify..st b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonVerify..st
deleted file mode 100644
index d2a8b27a0..000000000
--- a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonVerify..st
+++ /dev/null
@@ -1,4 +0,0 @@
-accessing
-buttonVerify: aButton
-
- buttonVerify := aButton.
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonVerify.st b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonVerify.st
deleted file mode 100644
index c86d1653f..000000000
--- a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonVerify.st
+++ /dev/null
@@ -1,4 +0,0 @@
-accessing
-buttonVerify
-
- ^ buttonVerify
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonVerifyAuthCode..st b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonVerifyAuthCode..st
new file mode 100644
index 000000000..6c7bc8663
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonVerifyAuthCode..st
@@ -0,0 +1,4 @@
+accessing
+buttonVerifyAuthCode: aButton
+
+ buttonVerifyAuthCode := aButton
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonVerifyAuthCode.st b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonVerifyAuthCode.st
new file mode 100644
index 000000000..a73dd0491
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonVerifyAuthCode.st
@@ -0,0 +1,4 @@
+accessing
+buttonVerifyAuthCode
+
+ ^ buttonVerifyAuthCode
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonVerifyPressed.st b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonVerifyAuthCodePressed.st
similarity index 72%
rename from packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonVerifyPressed.st
rename to packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonVerifyAuthCodePressed.st
index 52fa54431..b8849a5d5 100644
--- a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonVerifyPressed.st
+++ b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonVerifyAuthCodePressed.st
@@ -1,4 +1,4 @@
event handling
-buttonVerifyPressed
+buttonVerifyAuthCodePressed
self core checkAuthenticationCode: self inputField text.
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonVerifyAuthPassword..st b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonVerifyAuthPassword..st
new file mode 100644
index 000000000..b7d23e2a8
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonVerifyAuthPassword..st
@@ -0,0 +1,4 @@
+accessing
+buttonVerifyAuthPassword: aButton
+
+ buttonVerifyAuthPassword := aButton
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonVerifyAuthPassword.st b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonVerifyAuthPassword.st
new file mode 100644
index 000000000..b87dce035
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonVerifyAuthPassword.st
@@ -0,0 +1,4 @@
+accessing
+buttonVerifyAuthPassword
+
+ ^ buttonVerifyAuthPassword
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonVerifyAuthPasswordPressed.st b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonVerifyAuthPasswordPressed.st
new file mode 100644
index 000000000..b3e67ca04
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/buttonVerifyAuthPasswordPressed.st
@@ -0,0 +1,4 @@
+event handling
+buttonVerifyAuthPasswordPressed
+
+ self core checkAuthenticationPassword: self passwordField text.
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/createButtonBack.st b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/createButtonBack.st
deleted file mode 100644
index 38eb63361..000000000
--- a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/createButtonBack.st
+++ /dev/null
@@ -1,11 +0,0 @@
-initialization
-createButtonBack
-
- self
- buttonBack: (TCUButton new
- text: 'Back';
- center: self inputField center + ((-100) @ 50);
- hide;
- on: #mouseDown send: #buttonBackPressed to: self;
- yourself);
- addMorph: self buttonBack.
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/createButtonCancel.st b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/createButtonCancel.st
new file mode 100644
index 000000000..2d930bb57
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/createButtonCancel.st
@@ -0,0 +1,11 @@
+initialization
+createButtonCancel
+
+ self
+ buttonCancel: (TCUButton new
+ text: 'Cancel';
+ center: self inputField center + ((-100) @ 50);
+ hide;
+ on: #mouseUp send: #buttonCancelPressed to: self;
+ yourself);
+ addMorph: self buttonCancel.
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/createButtonNext.st b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/createButtonNext.st
index 74d4254b6..dc5c1bc8f 100644
--- a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/createButtonNext.st
+++ b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/createButtonNext.st
@@ -6,6 +6,6 @@ createButtonNext
text: 'Next';
center: self inputField center + (100 @ 50);
hide;
- on: #mouseDown send: #buttonNextPressed to: self;
+ on: #mouseUp send: #buttonNextPressed to: self;
yourself);
addMorph: self buttonNext.
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/createButtonVerify.st b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/createButtonVerify.st
deleted file mode 100644
index bcc59c1a6..000000000
--- a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/createButtonVerify.st
+++ /dev/null
@@ -1,11 +0,0 @@
-initialization
-createButtonVerify
-
- self
- buttonVerify: (TCUButton new
- text: 'Verify';
- center: self inputField center + (70 @ 50);
- on: #mouseDown send: #buttonVerifyPressed to: self;
- hide;
- yourself);
- addMorph: self buttonVerify.
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/createButtonVerifyAuthCode.st b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/createButtonVerifyAuthCode.st
new file mode 100644
index 000000000..6a15787f1
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/createButtonVerifyAuthCode.st
@@ -0,0 +1,11 @@
+initialization
+createButtonVerifyAuthCode
+
+ self
+ buttonVerifyAuthCode: (TCUButton new
+ text: 'Verify';
+ center: self inputField center + (70 @ 50);
+ on: #mouseUp send: #buttonVerifyAuthCodePressed to: self;
+ hide;
+ yourself);
+ addMorph: self buttonVerifyAuthCode.
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/createButtonVerifyAuthPassword.st b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/createButtonVerifyAuthPassword.st
new file mode 100644
index 000000000..a776c0b98
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/createButtonVerifyAuthPassword.st
@@ -0,0 +1,11 @@
+initialization
+createButtonVerifyAuthPassword
+
+ self
+ buttonVerifyAuthPassword: (TCUButton new
+ text: 'Verify';
+ center: self inputField center + (70 @ 50);
+ on: #mouseUp send: #buttonVerifyAuthPasswordPressed to: self;
+ hide;
+ yourself);
+ addMorph: self buttonVerifyAuthPassword.
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/createInputField..st b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/createInputField.st
similarity index 80%
rename from packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/createInputField..st
rename to packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/createInputField.st
index a00a1f2a3..34a1c2983 100644
--- a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/createInputField..st
+++ b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/createInputField.st
@@ -1,9 +1,9 @@
initialization
-createInputField: aString
+createInputField
self
inputField: (TextMorph new
- contentsWrapped: aString asText;
+ contentsWrapped: '';
extent: self class defaultInputWidth @ 50;
borderColor: TCUDefaultValues colorGray;
borderWidth: 1;
diff --git a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/createPasswordField.st b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/createPasswordField.st
new file mode 100644
index 000000000..96fa9d479
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/createPasswordField.st
@@ -0,0 +1,13 @@
+initialization
+createPasswordField
+
+ self
+ passwordField: (TextMorph new
+ contentsWrapped: '';
+ extent: self class defaultInputWidth @ 50;
+ borderColor: TCUDefaultValues colorGray;
+ borderWidth: 1;
+ center: self instructionLabel center + (0 @ 30);
+ hide;
+ yourself);
+ addMorph: self passwordField.
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/initializeMorphs.st b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/initializeMorphs.st
index b106cc7bf..36a44c3c7 100644
--- a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/initializeMorphs.st
+++ b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/initializeMorphs.st
@@ -2,8 +2,10 @@ initialization
initializeMorphs
self
- createInputField: '+49';
+ createInputField;
createButtonNext;
createErrorLabel: '';
- createButtonBack;
- createButtonVerify.
\ No newline at end of file
+ createButtonCancel;
+ createButtonVerifyAuthCode;
+ createButtonVerifyAuthPassword;
+ createPasswordField.
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/passwordField..st b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/passwordField..st
new file mode 100644
index 000000000..e908f117a
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/passwordField..st
@@ -0,0 +1,4 @@
+accessing
+passwordField: aTextMorph
+
+ passwordField := aTextMorph
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/passwordField.st b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/passwordField.st
new file mode 100644
index 000000000..b665b1757
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/passwordField.st
@@ -0,0 +1,4 @@
+accessing
+passwordField
+
+ ^ passwordField
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/showSecondStep.st b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/showAuthCodeStep.st
similarity index 59%
rename from packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/showSecondStep.st
rename to packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/showAuthCodeStep.st
index aaf95f186..bf680ef02 100644
--- a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/showSecondStep.st
+++ b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/showAuthCodeStep.st
@@ -1,9 +1,9 @@
drawing
-showSecondStep
+showAuthCodeStep
self buttonNext hide.
- self buttonBack show.
- self buttonVerify show.
+ self buttonCancel show.
+ self buttonVerifyAuthCode show.
self instructionLabel
contents: 'Enter the code your received on your phone';
@@ -11,5 +11,6 @@ showSecondStep
self inputField
contents: '';
- crAction: [self buttonVerifyPressed].
+ show;
+ crAction: [self buttonVerifyAuthCodePressed].
self errorLabel hide.
diff --git a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/showAuthPasswordStep.st b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/showAuthPasswordStep.st
new file mode 100644
index 000000000..cb2f63348
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/showAuthPasswordStep.st
@@ -0,0 +1,17 @@
+drawing
+showAuthPasswordStep
+
+ self buttonVerifyAuthCode hide.
+ self buttonCancel show.
+ self buttonVerifyAuthPassword show.
+ self inputField hide.
+
+ self instructionLabel
+ contents: 'Enter your password';
+ center: self center.
+
+ self passwordField
+ contents: '';
+ show;
+ crAction: [self buttonVerifyAuthPasswordPressed].
+ self errorLabel hide.
diff --git a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/showFirstStep.st b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/showPhoneNumberStep.st
similarity index 57%
rename from packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/showFirstStep.st
rename to packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/showPhoneNumberStep.st
index 1f10c7966..34cd11ffd 100644
--- a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/showFirstStep.st
+++ b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/showPhoneNumberStep.st
@@ -1,13 +1,18 @@
drawing
-showFirstStep
-
+showPhoneNumberStep
+
+ self passwordField hide.
+ self buttonVerifyAuthPassword hide.
+ self buttonVerifyAuthCode hide.
+ self buttonCancel hide.
+
self instructionLabel
contents: 'Enter your telephone number: ' asText;
center: self center.
- self buttonVerify hide.
self inputField
show;
+ contents: '+49';
crAction: [self buttonNextPressed].
self buttonNext show.
self instructionLabel show.
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/subscribeCore.st b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/subscribeCore.st
index 26b13a30a..bcf873cbb 100644
--- a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/subscribeCore.st
+++ b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/instance/subscribeCore.st
@@ -2,6 +2,7 @@ core communication
subscribeCore
self core
- when: #awaitPhoneNumber send: #showFirstStep to: self;
- when: #awaitAuthCode send: #showSecondStep to: self;
+ when: #awaitPhoneNumber send: #showPhoneNumberStep to: self;
+ when: #awaitAuthCode send: #showAuthCodeStep to: self;
+ when: #awaitAuthPassword send: #showAuthPasswordStep to: self;
when: #authReady send: #logInCompleted to: self.
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/methodProperties.json b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/methodProperties.json
index 715372b2b..93393a522 100644
--- a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/methodProperties.json
+++ b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/methodProperties.json
@@ -7,35 +7,43 @@
"instance" : {
"addHeader" : "RK 8/4/2021 12:02",
"addTitle:to:" : "RK 8/4/2021 12:03",
- "buttonBack" : "rs 6/11/2020 18:53",
- "buttonBack:" : "RK 8/4/2021 10:39",
- "buttonBackPressed" : "rs 6/11/2020 19:00",
+ "buttonCancel" : "aka 5/21/2022 10:39",
+ "buttonCancel:" : "aka 5/21/2022 10:22",
+ "buttonCancelPressed" : "ek 6/19/2022 20:08",
"buttonNext" : "R.S 5/20/2020 13:50",
"buttonNext:" : "RK 8/4/2021 10:39",
- "buttonNextPressed" : "js 6/13/2020 18:12",
- "buttonVerify" : "R.S 5/20/2020 13:50",
- "buttonVerify:" : "RK 8/4/2021 10:39",
- "buttonVerifyPressed" : "js 5/31/2020 20:10",
+ "buttonNextPressed" : "ek 6/19/2022 20:06",
+ "buttonVerifyAuthCode" : "aka 5/21/2022 10:27",
+ "buttonVerifyAuthCode:" : "ek 8/4/2022 12:26",
+ "buttonVerifyAuthCodePressed" : "ek 6/22/2022 17:54",
+ "buttonVerifyAuthPassword" : "aka 5/21/2022 10:31",
+ "buttonVerifyAuthPassword:" : "aka 5/21/2022 10:31",
+ "buttonVerifyAuthPasswordPressed" : "ek 6/22/2022 17:54",
"core" : "js 6/13/2020 18:43",
"core:" : "R.S 5/31/2020 20:18",
- "createButtonBack" : "RK 8/4/2021 12:03",
- "createButtonNext" : "RK 8/4/2021 12:03",
- "createButtonVerify" : "RK 8/4/2021 12:03",
+ "createButtonCancel" : "ek 6/19/2022 20:06",
+ "createButtonNext" : "ek 6/19/2022 20:07",
+ "createButtonVerifyAuthCode" : "ek 6/19/2022 20:07",
+ "createButtonVerifyAuthPassword" : "ek 6/19/2022 20:07",
"createErrorLabel:" : "RK 8/4/2021 12:04",
- "createInputField:" : "RK 8/4/2021 12:04",
+ "createInputField" : "aka 5/21/2022 13:14",
"createLabel:" : "RK 8/4/2021 12:04",
+ "createPasswordField" : "aka 5/21/2022 11:36",
"delete" : "RS 7/17/2021 12:38",
"deleteMorph" : "RS 7/17/2021 12:20",
"errorLabel" : "R.S 5/20/2020 13:51",
"errorLabel:" : "RK 8/4/2021 10:17",
"initialize" : "JB 6/11/2021 18:36",
- "initializeMorphs" : "js 5/29/2020 20:11",
+ "initializeMorphs" : "aka 5/21/2022 11:38",
"inputField" : "R.S 5/20/2020 13:51",
"inputField:" : "RK 8/4/2021 10:18",
"instructionLabel" : "R.S 5/20/2020 13:52",
"instructionLabel:" : "RK 8/4/2021 10:20",
"logInCompleted" : "RS 7/17/2021 12:31",
- "showFirstStep" : "js 7/31/2020 15:19",
+ "passwordField" : "aka 5/21/2022 13:09",
+ "passwordField:" : "aka 5/21/2022 13:10",
+ "showAuthCodeStep" : "ek 8/4/2022 13:44",
+ "showAuthPasswordStep" : "aka 5/21/2022 11:27",
"showLoadingMessage" : "js 6/13/2020 18:45",
- "showSecondStep" : "JB 6/7/2021 12:10",
- "subscribeCore" : "R.S 5/31/2020 20:21" } }
+ "showPhoneNumberStep" : "aka 5/21/2022 11:38",
+ "subscribeCore" : "aka 5/21/2022 10:16" } }
diff --git a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/properties.json b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/properties.json
index 871580725..ba25d7db2 100644
--- a/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/properties.json
+++ b/packages/TelegramClient-UI.package/TCUAuthenticationWindow.class/properties.json
@@ -7,12 +7,14 @@
"commentStamp" : "js 6/13/2020 18:59",
"instvars" : [
"buttonNext",
- "buttonVerify",
"errorLabel",
"inputField",
"instructionLabel",
"core",
- "buttonBack" ],
+ "buttonCancel",
+ "buttonVerifyAuthCode",
+ "buttonVerifyAuthPassword",
+ "passwordField" ],
"name" : "TCUAuthenticationWindow",
"pools" : [
],
diff --git a/packages/TelegramClient-UI.package/TCUButton.class/class/hoverStateConstant.st b/packages/TelegramClient-UI.package/TCUButton.class/class/hoverStateConstant.st
new file mode 100644
index 000000000..58fe4052f
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUButton.class/class/hoverStateConstant.st
@@ -0,0 +1,4 @@
+constants
+hoverStateConstant
+
+ ^ 0.8
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUButton.class/instance/handlesMouseOver..st b/packages/TelegramClient-UI.package/TCUButton.class/instance/handlesMouseOver..st
new file mode 100644
index 000000000..62a3a425e
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUButton.class/instance/handlesMouseOver..st
@@ -0,0 +1,4 @@
+event handling
+handlesMouseOver: anEvent
+
+ ^ true
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUButton.class/instance/makeDarker.st b/packages/TelegramClient-UI.package/TCUButton.class/instance/makeDarker.st
new file mode 100644
index 000000000..bc45a7d60
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUButton.class/instance/makeDarker.st
@@ -0,0 +1,7 @@
+drawing
+makeDarker
+
+ | normalColor c|
+ normalColor := self color.
+ c := self class hoverStateConstant.
+ self color: (Color r: (normalColor red * c) g: (normalColor green * c) b: (normalColor blue * c)).
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUButton.class/instance/makeLighter.st b/packages/TelegramClient-UI.package/TCUButton.class/instance/makeLighter.st
new file mode 100644
index 000000000..4b59c5ed2
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUButton.class/instance/makeLighter.st
@@ -0,0 +1,7 @@
+drawing
+makeLighter
+
+ | normalColor c |
+ normalColor := self color.
+ c := self class hoverStateConstant.
+ self color: (Color r: (normalColor red * (1/c)) g: (normalColor green * (1/c)) b: (normalColor blue * (1/c))).
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUButton.class/instance/mouseDown..st b/packages/TelegramClient-UI.package/TCUButton.class/instance/mouseDown..st
new file mode 100644
index 000000000..9842a1492
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUButton.class/instance/mouseDown..st
@@ -0,0 +1,4 @@
+event handling
+mouseDown: anEvent
+
+ self makeDarker.
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUButton.class/instance/mouseEnter..st b/packages/TelegramClient-UI.package/TCUButton.class/instance/mouseEnter..st
new file mode 100644
index 000000000..dba5dccbd
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUButton.class/instance/mouseEnter..st
@@ -0,0 +1,4 @@
+event handling
+mouseEnter: anEvent
+
+ self makeDarker.
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUButton.class/instance/mouseLeave..st b/packages/TelegramClient-UI.package/TCUButton.class/instance/mouseLeave..st
new file mode 100644
index 000000000..de94786a8
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUButton.class/instance/mouseLeave..st
@@ -0,0 +1,4 @@
+event handling
+mouseLeave: anEvent
+
+ self makeLighter.
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUButton.class/methodProperties.json b/packages/TelegramClient-UI.package/TCUButton.class/methodProperties.json
index 4c9a9846e..536677f76 100644
--- a/packages/TelegramClient-UI.package/TCUButton.class/methodProperties.json
+++ b/packages/TelegramClient-UI.package/TCUButton.class/methodProperties.json
@@ -1,7 +1,13 @@
{
"class" : {
- },
+ "hoverStateConstant" : "ek 6/19/2022 19:23" },
"instance" : {
+ "handlesMouseOver:" : "ek 6/19/2022 18:47",
"initialize" : "per 6/15/2021 09:07",
+ "makeDarker" : "ek 6/19/2022 18:47",
+ "makeLighter" : "ek 6/19/2022 18:47",
+ "mouseDown:" : "ek 6/19/2022 18:48",
+ "mouseEnter:" : "ek 6/19/2022 18:48",
+ "mouseLeave:" : "ek 6/19/2022 18:48",
"text" : "R.S 5/20/2020 13:56",
"text:" : "RK 8/4/2021 12:05" } }
diff --git a/packages/TelegramClient-UI.package/TCUChatInfoPage.class/instance/addBackButton.st b/packages/TelegramClient-UI.package/TCUChatInfoPage.class/instance/addBackButton.st
index 74a6def1c..8efd41cd8 100644
--- a/packages/TelegramClient-UI.package/TCUChatInfoPage.class/instance/addBackButton.st
+++ b/packages/TelegramClient-UI.package/TCUChatInfoPage.class/instance/addBackButton.st
@@ -1,13 +1,11 @@
drawing
addBackButton
- | backButton |
-
- backButton := TCUButton new
+ self backButton: (TCUButton new
text: 'Back';
- on: #mouseDown send: #buttonBackPressed to: self;
+ on: #mouseUp send: #buttonCancelPressed to: self;
name: 'infoBackButton';
- yourself.
+ yourself).
- self infoBar addMorph: backButton.
- backButton position: (self infoBar left + self class defaultSpacing) @ (self infoBar top + self class defaultSpacing).
\ No newline at end of file
+ self infoBar addMorph: self backButton.
+ self backButton position: (self infoBar left + self class defaultSpacing) @ (self infoBar top + self class defaultSpacing).
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatInfoPage.class/instance/backButton..st b/packages/TelegramClient-UI.package/TCUChatInfoPage.class/instance/backButton..st
new file mode 100644
index 000000000..a3a9c140b
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUChatInfoPage.class/instance/backButton..st
@@ -0,0 +1,4 @@
+accessing
+backButton: aTelegramButton
+
+ backButton := aTelegramButton
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatInfoPage.class/instance/backButton.st b/packages/TelegramClient-UI.package/TCUChatInfoPage.class/instance/backButton.st
new file mode 100644
index 000000000..c3a7dfd24
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUChatInfoPage.class/instance/backButton.st
@@ -0,0 +1,4 @@
+accessing
+backButton
+
+ ^ backButton
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatInfoPage.class/instance/buttonBackPressed.st b/packages/TelegramClient-UI.package/TCUChatInfoPage.class/instance/buttonBackPressed.st
deleted file mode 100644
index 0589e072b..000000000
--- a/packages/TelegramClient-UI.package/TCUChatInfoPage.class/instance/buttonBackPressed.st
+++ /dev/null
@@ -1,4 +0,0 @@
-drawing
-buttonBackPressed
-
- self hide
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatInfoPage.class/instance/buttonCancelPressed.st b/packages/TelegramClient-UI.package/TCUChatInfoPage.class/instance/buttonCancelPressed.st
new file mode 100644
index 000000000..b17d7dd69
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUChatInfoPage.class/instance/buttonCancelPressed.st
@@ -0,0 +1,5 @@
+drawing
+buttonCancelPressed
+
+ self backButton makeLighter.
+ self hide
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatInfoPage.class/methodProperties.json b/packages/TelegramClient-UI.package/TCUChatInfoPage.class/methodProperties.json
index 7df9a7c8e..5edfb90d7 100644
--- a/packages/TelegramClient-UI.package/TCUChatInfoPage.class/methodProperties.json
+++ b/packages/TelegramClient-UI.package/TCUChatInfoPage.class/methodProperties.json
@@ -7,14 +7,16 @@
"defaultSpacing" : "RS 5/20/2021 20:57",
"newFor:withBounds:" : "RK 8/4/2021 10:45" },
"instance" : {
- "addBackButton" : "JB 6/11/2021 15:31",
+ "addBackButton" : "ek 6/19/2022 19:13",
"addContent" : "tom.richter 7/17/2021 16:52",
"addDescription" : "RS 5/29/2021 18:00",
"addDescriptionText" : "RK 8/4/2021 12:05",
"addInfoBar" : "RS 5/20/2021 21:28",
"addInfoText" : "RK 8/4/2021 12:05",
"addUserList" : "per 6/15/2021 08:59",
- "buttonBackPressed" : "RS 5/20/2021 19:48",
+ "backButton" : "ek 6/19/2022 18:52",
+ "backButton:" : "ek 6/19/2022 18:52",
+ "buttonCancelPressed" : "ek 6/19/2022 19:06",
"chat" : "RS 5/29/2021 18:46",
"chat:" : "RS 5/29/2021 18:46",
"contentWrapper" : "RS 5/29/2021 18:46",
diff --git a/packages/TelegramClient-UI.package/TCUChatInfoPage.class/properties.json b/packages/TelegramClient-UI.package/TCUChatInfoPage.class/properties.json
index dc44bb8ea..9a82e1f79 100644
--- a/packages/TelegramClient-UI.package/TCUChatInfoPage.class/properties.json
+++ b/packages/TelegramClient-UI.package/TCUChatInfoPage.class/properties.json
@@ -10,7 +10,8 @@
"contentWrapper",
"description",
"chat",
- "userList" ],
+ "userList",
+ "backButton" ],
"name" : "TCUChatInfoPage",
"pools" : [
],
diff --git a/packages/TelegramClient-UI.package/TCUChatListItem.class/class/defaultImageWidth.st b/packages/TelegramClient-UI.package/TCUChatListItem.class/class/defaultImageWidth.st
new file mode 100644
index 000000000..625abcb82
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUChatListItem.class/class/defaultImageWidth.st
@@ -0,0 +1,4 @@
+default values
+defaultImageWidth
+
+ ^ self defaultHeight
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatListItem.class/class/defaultLastMessageOffset.st b/packages/TelegramClient-UI.package/TCUChatListItem.class/class/defaultLastMessageOffset.st
index 333fe18ab..d80f5bb69 100644
--- a/packages/TelegramClient-UI.package/TCUChatListItem.class/class/defaultLastMessageOffset.st
+++ b/packages/TelegramClient-UI.package/TCUChatListItem.class/class/defaultLastMessageOffset.st
@@ -1,4 +1,4 @@
default values
defaultLastMessageOffset
- ^ 20 @ -12
+ ^ (15 @ -17) + (self defaultPhotoSize @ 0)
diff --git a/packages/TelegramClient-UI.package/TCUChatListItem.class/class/defaultMessagePreviewLength.st b/packages/TelegramClient-UI.package/TCUChatListItem.class/class/defaultMessagePreviewLength.st
index 7f3c574f3..87f9f24b4 100644
--- a/packages/TelegramClient-UI.package/TCUChatListItem.class/class/defaultMessagePreviewLength.st
+++ b/packages/TelegramClient-UI.package/TCUChatListItem.class/class/defaultMessagePreviewLength.st
@@ -1,4 +1,4 @@
default values
defaultMessagePreviewLength
- ^ 37
\ No newline at end of file
+ ^ 30
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatListItem.class/class/defaultPhoto.st b/packages/TelegramClient-UI.package/TCUChatListItem.class/class/defaultPhoto.st
new file mode 100644
index 000000000..51f3570cc
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUChatListItem.class/class/defaultPhoto.st
@@ -0,0 +1,40 @@
+as yet unclassified
+defaultPhoto
+ "@linter-ignore"
+ "This is an auto-generated method"
+ ^ (Form fromBinaryStream: (Base64MimeConverter mimeDecodeToBytes: 'iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAABhGlDQ1BJQ0MgcHJvZmlsZQAA
+KJF9kT1Iw0AcxV/TakWqDlYQcchQnSyIijhqFYpQIdQKrTqYXPoFTRqSFBdHwbXg4Mdi1cHF
+WVcHV0EQ/ABxdHJSdJES/5cWWsR4cNyPd/ced+8AoVZimhUYBzTdNpPxmJjOrIrBV3RCQC8G
+EJCZZcxJUgKe4+sePr7eRXmW97k/R4+atRjgE4lnmWHaxBvE05u2wXmfOMwKskp8Tjxm0gWJ
+H7muNPiNc95lgWeGzVRynjhMLObbWGljVjA14iniiKrplC+kG6xy3uKslSqseU/+wlBWX1nm
+Os1hxLGIJUgQoaCCIkqwEaVVJ8VCkvZjHv4h1y+RSyFXEYwcCyhDg+z6wf/gd7dWbnKikRSK
+AR0vjvMxAgR3gXrVcb6PHad+AvifgSu95S/XgJlP0qstLXIE9G0DF9ctTdkDLneAwSdDNmVX
+8tMUcjng/Yy+KQP03wLda43emvs4fQBS1FXiBjg4BEbzlL3u8e6u9t7+PdPs7wfkr3JuGFSY
+bAAAAAZiS0dEADMA/wAAoVpNxAAAAAlwSFlzAAAN1wAADdcBQiibeAAAAAd0SU1FB+YGAg4V
+IsHL5e4AAAVwSURBVHja7ZxXVxtJEIVvT1CYUY5gQGCMOcf7/3/LrtcWIJAsZIWRNEETpJ7e
+BxuHJViBngBzX3hBoPlU3bequlqk179lSLS1hARBAjABmABMACZKACYAE4AJwESbS4rqG/N9
+H9T3wXwGURQgimIC8CnZto2ZrkM3TNi2A2+5/H2pCAKy6TQUVUGpUECxkIcghL+ASJi1MGMM
+2nSGwWgEy1ps9FpRFFGrVLDfbCCVkl8fQMM00en2YNvObps4IWg2GjjYb4YSkYEDZIyh+6WP
+wXD0rH83k07j7PQESjb7cl2YUoqP7YtnhwcAjuvi738/Yzqbv0yAlFJ8/HwBwzC5Onf7qoPJ
+dPqyADLG8PmyA2uxCOR/XXZuMDeMlwPwutuDHtAD3UFsX3bgul78Ac7mcwzHk8DdkVKKy841
+GGPxBej7Pq67vdByNMOyMNa0+AIcDEdwvWWolUKvPwClfvwA+r7PJV3ZVMvlEmNtEj+Ak+kU
+q9UqEnX2YDiOIUBtFpmOieu6G9faoQJcUQrDNBElaZwqFC4ATdPknj5s07yID0BrgajJWiy4
+fKhcADquGzmAjDF4nhcPgK7nIYpy4gKQrmgkAfocEmqB13KJJEA/JgAJIZEEyKPlzwVgVI8g
+BTEmAMM8JXtK6VQqHgAzmUzk4BFC4gMwpyiRA6goCpe9mQvAfE6NnJEUcmp8SjlJkpDj9Ia3
+VblUjA9AAKiVy5Eyj5yqxgtgtVKGJEUjnWk26vxSI55Ja7NeDx2eJEmoVyvxAwgAe40GZDnc
+nPBgf49rYs8VoCgKOD48CA1eTlXRqFX5Vje8H6JSLqHGcQk9VU6enrS4p1OBjHactI64ueBj
+VcfpSQuZdJp/fR1IEU8I3r97i2wAs3uEEJy0DlEuFgP5sAIbb5MlCR/ev+MaiYQQnB63UK9W
+A4v2QAcsJUnCh/Mz1Dls7OlUCn+dn6FaCTaBD21Geq4b6HR7cHc8gCKEoFGr4vDNfih9yNCn
+9McTDYPhCLaz2bC5IAiolkvY32sGYhaRBPirLMvCdK7DMEwsHAeU0nuRlkqlkFMVFAsFlIuF
+SHS+I3PRRlVVqL8YzGpFQekKPmMQRRGyJEXyrCVUgIwxuJ4H1/WwXC7hekusVkv4jMGnPhgY
+GGMghEAURBACyLKMlCx/+5mSkc1kQgUbKEDHdaEbJizLwsK2YdsO/B2PQAkhyKTTULJZqIqC
+fD4HJRscVK57IGMMc93AdDbHXNfv3X/jFhWiiHw+h0qphBLnvZILQMuyMBxr0Gaze2YQtARC
+UCwWUK9WUSzknz0ynw0gYwyT6Qxft7g4GJTS6TQatRoatcqzReXOABljmM7m6PVvIzmV9dgS
+399roFmv7zytsBNAw7TQ6XZ3vnEZlmRZRuvgzU7l31YAKaXo9QcYjseRHSTaRPl8Dm9bR1tV
+NBsDtKwF2ledyM4Abm02goDjo4ONOzkb5YG3X4fo9W9fRNT9X77v4+q6C9Na4PjoEMKabr0W
+QMYYOt0eRiHceQtao/EEjuPi/N3btZxaWAde+6rzKuD9NEcT/3xqY7lG4i+sAy/oW+BR0MK2
+8bF98cdC4EmAN73+q4R3J9t28Oni6sl6/VGAw9EYX0cjvHYZponrm95mAG3Hwc2XPhJ9N5bJ
+5NHvYRAe2vcurq65TLTHWZ2b3oOmIjxk4wvbTog9VH3dDp4GSCnFlwd+KdE3jSfavbpf+H2t
+a1hG5JJ0FMUYw+1w+DjA4WicUPqDJtr0tyATftq1FZt+XthRqGnT+wBnup7QWVO/svoBUNeN
+hMzaybX1oyMl3IVlkrqsL9/3sfjuxgIAeJ73Int8PHU3FCUBwIr6UJVsQmWTKPwecP8B+Yeq
+UNZlH5EAAAAASUVORK5CYII=' readStream))
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatListItem.class/class/defaultPhotoSize.st b/packages/TelegramClient-UI.package/TCUChatListItem.class/class/defaultPhotoSize.st
new file mode 100644
index 000000000..944e42cbb
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUChatListItem.class/class/defaultPhotoSize.st
@@ -0,0 +1,4 @@
+default values
+defaultPhotoSize
+
+ ^ self defaultHeight
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatListItem.class/class/defaultTitleOffset.st b/packages/TelegramClient-UI.package/TCUChatListItem.class/class/defaultTitleOffset.st
index 5947e8194..0c4a73780 100644
--- a/packages/TelegramClient-UI.package/TCUChatListItem.class/class/defaultTitleOffset.st
+++ b/packages/TelegramClient-UI.package/TCUChatListItem.class/class/defaultTitleOffset.st
@@ -1,4 +1,4 @@
default values
defaultTitleOffset
- ^ 20 @ 20
+ ^ (15 @ 15) + (self defaultPhotoSize @ 0)
diff --git a/packages/TelegramClient-UI.package/TCUChatListItem.class/class/newWithChat.width..st b/packages/TelegramClient-UI.package/TCUChatListItem.class/class/newWithChat.width..st
index 4c691f955..b03896787 100644
--- a/packages/TelegramClient-UI.package/TCUChatListItem.class/class/newWithChat.width..st
+++ b/packages/TelegramClient-UI.package/TCUChatListItem.class/class/newWithChat.width..st
@@ -7,4 +7,5 @@ newWithChat: aChat width: aNumber
addTitle;
addLastMessage;
addBorder;
+ addPhoto;
yourself
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/addLastMessage.st b/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/addLastMessage.st
index 391486eb3..0c9126da2 100644
--- a/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/addLastMessage.st
+++ b/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/addLastMessage.st
@@ -2,7 +2,7 @@ drawing
addLastMessage
self addMorph: (TextMorph new
- contents: self lastMessageText;
+ contents: (self lastUserName, self lastMessageText);
bottomLeft: self bottomLeft + self class defaultLastMessageOffset;
lock;
yourself).
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/addPhoto.st b/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/addPhoto.st
new file mode 100644
index 000000000..bd49b5fd3
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/addPhoto.st
@@ -0,0 +1,14 @@
+drawing
+addPhoto
+
+ | promise morph |
+ self chat hasPhoto ifTrue: [
+ promise := self chat core imageStore getFormPromiseFor: self chat photoId.
+ promise >>= [:aForm |
+ morph := (aForm scaledToSize: self class defaultPhotoSize) asMorph.
+ morph position: self position.
+ self addMorphBack: morph.
+ ]
+ ] ifFalse: [
+ self addMorphBack: TCUDefaultValues defaultProfilePhoto asMorph.
+ ].
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/addTitle.st b/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/addTitle.st
index 031947abd..2695ce06e 100644
--- a/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/addTitle.st
+++ b/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/addTitle.st
@@ -1,8 +1,13 @@
drawing
addTitle
+ | prefix |
+ prefix := ''.
+ self chat isPinned ifTrue: [
+ prefix := '[pinned] '
+ ].
self addMorph: (TextMorph new
position: self topLeft + self class defaultTitleOffset;
- contents: ((self chatName condensedIntoOneLine truncateWithElipsisTo: self class defaultTitleLength) asText addAttribute: TextEmphasis bold);
+ contents: ((prefix, self chatName condensedIntoOneLine truncateWithElipsisTo: self class defaultTitleLength) asText addAttribute: TextEmphasis bold);
lock;
yourself).
diff --git a/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/deselect.st b/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/deselect.st
index 337611f7d..c055e7c8c 100644
--- a/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/deselect.st
+++ b/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/deselect.st
@@ -1,4 +1,5 @@
event handling
deselect
- self color: Color white.
\ No newline at end of file
+ self color: Color white;
+ isSelected: false.
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/handlesMouseOver..st b/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/handlesMouseOver..st
new file mode 100644
index 000000000..62a3a425e
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/handlesMouseOver..st
@@ -0,0 +1,4 @@
+event handling
+handlesMouseOver: anEvent
+
+ ^ true
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/initialize.st b/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/initialize.st
index b12f09cc1..e2849acc4 100644
--- a/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/initialize.st
+++ b/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/initialize.st
@@ -7,4 +7,5 @@ initialize
color: Color white;
height: self class defaultHeight;
borderWidth: 0;
- clipSubmorphs: true.
\ No newline at end of file
+ clipSubmorphs: true;
+ isSelected: false.
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/isSelected..st b/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/isSelected..st
new file mode 100644
index 000000000..cad009373
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/isSelected..st
@@ -0,0 +1,4 @@
+accessing
+isSelected: aBoolean
+
+ isSelected := aBoolean
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/isSelected.st b/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/isSelected.st
new file mode 100644
index 000000000..7be8d37f8
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/isSelected.st
@@ -0,0 +1,4 @@
+accessing
+isSelected
+
+ ^ isSelected
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/lastMessageText.st b/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/lastMessageText.st
index f9d44a0f2..4399c6626 100644
--- a/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/lastMessageText.st
+++ b/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/lastMessageText.st
@@ -2,5 +2,5 @@ accessing
lastMessageText
^ TCUEmojiHelper embedEmojisInto:
- (self chat lastMessage condensedIntoOneLine
+ (self chat lastMessageText condensedIntoOneLine
truncateWithElipsisTo: self class defaultMessagePreviewLength)
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/lastUserName.st b/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/lastUserName.st
new file mode 100644
index 000000000..a7a9b0f62
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/lastUserName.st
@@ -0,0 +1,8 @@
+accessing
+lastUserName
+
+ ^ ((self chat lastMessageSenderId = self chat core loggedInUserId)
+ ifTrue:['You: ']
+ ifFalse: [(self chat lastMessageSenderName)
+ ifEmpty: ['']
+ ifNotEmpty: [(self chat lastMessageSenderName,': ')]])
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/mouseEnter..st b/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/mouseEnter..st
new file mode 100644
index 000000000..b690e3988
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/mouseEnter..st
@@ -0,0 +1,4 @@
+event handling
+mouseEnter: anEvent
+
+ self isSelected ifFalse: [self color: TCUDefaultValues colorLightGray.].
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/mouseLeave..st b/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/mouseLeave..st
new file mode 100644
index 000000000..9986e88ad
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/mouseLeave..st
@@ -0,0 +1,4 @@
+event handling
+mouseLeave: anEvent
+
+ self isSelected ifFalse: [self color: Color white.].
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/select.st b/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/select.st
index 32d1c1bce..3da1a79bd 100644
--- a/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/select.st
+++ b/packages/TelegramClient-UI.package/TCUChatListItem.class/instance/select.st
@@ -4,4 +4,5 @@ select
self chat
loadInfoIfNotLoaded;
loadChatHistory.
- self color: self class defaultSelectColor.
\ No newline at end of file
+ self color: self class defaultSelectColor;
+ isSelected: true.
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatListItem.class/methodProperties.json b/packages/TelegramClient-UI.package/TCUChatListItem.class/methodProperties.json
index 22574fb7b..74f5173b4 100644
--- a/packages/TelegramClient-UI.package/TCUChatListItem.class/methodProperties.json
+++ b/packages/TelegramClient-UI.package/TCUChatListItem.class/methodProperties.json
@@ -1,21 +1,31 @@
{
"class" : {
"defaultHeight" : "rs 7/4/2020 18:54",
- "defaultLastMessageOffset" : "JB 6/11/2021 15:17",
- "defaultMessagePreviewLength" : "JB 6/11/2021 15:17",
+ "defaultImageWidth" : "rgw 6/2/2022 15:26",
+ "defaultLastMessageOffset" : "rgw 6/2/2022 15:28",
+ "defaultMessagePreviewLength" : "rgw 6/2/2022 15:32",
+ "defaultPhoto" : "rgw 6/2/2022 16:26",
+ "defaultPhotoSize" : "rgw 6/2/2022 15:27",
"defaultSelectColor" : "JB 7/19/2021 12:11",
"defaultTitleLength" : "RK 7/4/2021 13:30",
- "defaultTitleOffset" : "JB 6/11/2021 15:18",
- "newWithChat:width:" : "RK 8/4/2021 10:45" },
+ "defaultTitleOffset" : "rgw 6/2/2022 15:28",
+ "newWithChat:width:" : "rgw 6/2/2022 15:18" },
"instance" : {
"addBorder" : "RK 8/4/2021 12:05",
- "addLastMessage" : "RK 8/4/2021 12:06",
- "addTitle" : "RK 8/4/2021 12:06",
+ "addLastMessage" : "LR 7/14/2022 11:35",
+ "addPhoto" : "ek 8/4/2022 13:56",
+ "addTitle" : "js 6/18/2022 10:55",
"chat" : "rs 6/17/2020 21:45",
"chat:" : "rs 6/17/2020 21:45",
"chatId" : "8/5/2021 21:14:18",
"chatName" : "rs 6/17/2020 21:45",
- "deselect" : "rs 6/13/2020 09:02",
- "initialize" : "r.s 7/31/2020 14:43",
- "lastMessageText" : "RK 7/9/2021 16:07",
- "select" : "JB 7/19/2021 12:12" } }
+ "deselect" : "ek 6/19/2022 18:49",
+ "handlesMouseOver:" : "ek 6/19/2022 18:48",
+ "initialize" : "ek 6/19/2022 18:48",
+ "isSelected" : "ek 6/19/2022 18:49",
+ "isSelected:" : "ek 6/19/2022 18:49",
+ "lastMessageText" : "LR 7/14/2022 11:38",
+ "lastUserName" : "js 7/22/2022 09:53",
+ "mouseEnter:" : "ek 6/19/2022 18:49",
+ "mouseLeave:" : "ek 6/19/2022 18:55",
+ "select" : "ek 6/19/2022 18:49" } }
diff --git a/packages/TelegramClient-UI.package/TCUChatListItem.class/properties.json b/packages/TelegramClient-UI.package/TCUChatListItem.class/properties.json
index 0097c287b..340fa7e3b 100644
--- a/packages/TelegramClient-UI.package/TCUChatListItem.class/properties.json
+++ b/packages/TelegramClient-UI.package/TCUChatListItem.class/properties.json
@@ -6,7 +6,8 @@
],
"commentStamp" : "js 6/13/2020 19:00",
"instvars" : [
- "chat" ],
+ "chat",
+ "isSelected" ],
"name" : "TCUChatListItem",
"pools" : [
],
diff --git a/packages/TelegramClient-UI.package/TCUChatMessageList.class/class/defaultMessageWrapper.st b/packages/TelegramClient-UI.package/TCUChatMessageList.class/class/defaultMessageWrapper.st
deleted file mode 100644
index 3a084b76b..000000000
--- a/packages/TelegramClient-UI.package/TCUChatMessageList.class/class/defaultMessageWrapper.st
+++ /dev/null
@@ -1,8 +0,0 @@
-default values
-defaultMessageWrapper
-
- ^ Morph new
- cellInset: self defaultMessageMargin;
- color: Color transparent;
- layoutPolicy: TableLayout new;
- yourself
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatMessageList.class/class/defaultWidth.st b/packages/TelegramClient-UI.package/TCUChatMessageList.class/class/defaultWidth.st
index 8026f600f..b74da4337 100644
--- a/packages/TelegramClient-UI.package/TCUChatMessageList.class/class/defaultWidth.st
+++ b/packages/TelegramClient-UI.package/TCUChatMessageList.class/class/defaultWidth.st
@@ -1,4 +1,4 @@
default values
defaultWidth
- ^ 890
\ No newline at end of file
+ ^ 810
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatMessageList.class/instance/addAtBottom..st b/packages/TelegramClient-UI.package/TCUChatMessageList.class/instance/addAtBottom..st
index 49d865f69..26311baaa 100644
--- a/packages/TelegramClient-UI.package/TCUChatMessageList.class/instance/addAtBottom..st
+++ b/packages/TelegramClient-UI.package/TCUChatMessageList.class/instance/addAtBottom..st
@@ -1,13 +1,16 @@
messages
addAtBottom: aCoreMessage
- | wrapper wasFullyScrolledDown |
-
+ | wasFullyScrolledDown messageItem |
+
(self isFromCurrentChat: aCoreMessage)
ifFalse: [ ^ self ].
+
+ (aCoreMessage isFirstMessageOfDay) ifTrue: [self addBottomDayDividerForDate: aCoreMessage date asDate].
+
wasFullyScrolledDown := self isFullyScrolledDown.
- wrapper := self wrapperFor: (TCUMessage newFrom: aCoreMessage).
- self scroller addMorphBack: wrapper.
- self items addLast: wrapper.
+ messageItem := self createMessageItemFrom: aCoreMessage.
+ self scroller addMorphBack: messageItem.
+ self items addLast: messageItem.
wasFullyScrolledDown
- ifTrue: [ self scrollToNewestMessage ]
\ No newline at end of file
+ ifTrue: [ self scrollToNewestMessage ].
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatMessageList.class/instance/addAtTop..st b/packages/TelegramClient-UI.package/TCUChatMessageList.class/instance/addAtTop..st
index aebc61d53..ffda05b6f 100644
--- a/packages/TelegramClient-UI.package/TCUChatMessageList.class/instance/addAtTop..st
+++ b/packages/TelegramClient-UI.package/TCUChatMessageList.class/instance/addAtTop..st
@@ -1,13 +1,18 @@
messages
addAtTop: aCoreMessage
- | wrapper |
+ | messageItem lastMessage |
(self isFromCurrentChat: aCoreMessage) ifFalse: [^ self].
- wrapper := self wrapperFor: (TCUMessage newFrom: aCoreMessage).
- self scroller addMorphFront: wrapper.
- self items addFirst: wrapper.
+ (aCoreMessage isLastMessageOfDay and: self items isEmpty not) ifTrue: [
+ lastMessage := self items first message messageModel.
+ self addTopDayDividerForDate: lastMessage date asDate
+ ].
+
+ messageItem := self createMessageItemFrom: aCoreMessage.
+ self scroller addMorphFront: messageItem.
+ self items addFirst: messageItem.
self isFullyScrolledDown
ifTrue: [self scrollToNewestMessage].
- self scrollBy: 0 @ (wrapper height negated).
\ No newline at end of file
+ self scrollBy: 0 @ (messageItem height negated).
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatMessageList.class/instance/addBottomDayDividerForDate..st b/packages/TelegramClient-UI.package/TCUChatMessageList.class/instance/addBottomDayDividerForDate..st
new file mode 100644
index 000000000..c884ca2ee
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUChatMessageList.class/instance/addBottomDayDividerForDate..st
@@ -0,0 +1,10 @@
+stepping and presenter
+addBottomDayDividerForDate: aDate
+
+ | divider wasFullyScrolledDown |
+ wasFullyScrolledDown := self isFullyScrolledDown.
+ divider := self createDayDividerForDate: aDate.
+ self scroller addMorphBack: divider.
+ self items addLast: divider.
+ wasFullyScrolledDown
+ ifTrue: [ self scrollToNewestMessage ].
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatMessageList.class/instance/addTopDayDividerForDate..st b/packages/TelegramClient-UI.package/TCUChatMessageList.class/instance/addTopDayDividerForDate..st
new file mode 100644
index 000000000..c35a89354
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUChatMessageList.class/instance/addTopDayDividerForDate..st
@@ -0,0 +1,10 @@
+stepping and presenter
+addTopDayDividerForDate: aDate
+
+ | divider |
+ divider := self createDayDividerForDate: aDate.
+ self scroller addMorphFront: divider.
+ self items addFirst: divider.
+ self isFullyScrolledDown
+ ifTrue: [self scrollToNewestMessage].
+ self scrollBy: 0 @ (divider height negated).
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatMessageList.class/instance/createDayDividerForDate..st b/packages/TelegramClient-UI.package/TCUChatMessageList.class/instance/createDayDividerForDate..st
new file mode 100644
index 000000000..455a377f9
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUChatMessageList.class/instance/createDayDividerForDate..st
@@ -0,0 +1,7 @@
+stepping and presenter
+createDayDividerForDate: aDate
+
+ | messageItem |
+ messageItem := TCUDayDividerMessage newFromDate: aDate.
+
+ ^ TCUDayDividerMessageWrapper newFromMessage: messageItem withWidth: self scroller width
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatMessageList.class/instance/createMessageItemFrom..st b/packages/TelegramClient-UI.package/TCUChatMessageList.class/instance/createMessageItemFrom..st
new file mode 100644
index 000000000..ce1254dfc
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUChatMessageList.class/instance/createMessageItemFrom..st
@@ -0,0 +1,10 @@
+messages
+createMessageItemFrom: aCoreMessage
+
+ | messageItem |
+
+ messageItem := TCUMessage newFrom: aCoreMessage.
+ messageItem when: #requestScroll send: #requestScrollToMessage: to: self with: aCoreMessage replyToMessageId.
+ messageItem isUserMessage
+ ifTrue: [^ TCUUserMessageWrapper newFromMessage: messageItem withWidth: self scroller width]
+ ifFalse: [^ TCUInfoMessageWrapper newFromMessage: messageItem withWidth: self scroller width].
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatMessageList.class/instance/displayChat..st b/packages/TelegramClient-UI.package/TCUChatMessageList.class/instance/displayChat..st
index 0d56b2f20..3e3dc4a87 100644
--- a/packages/TelegramClient-UI.package/TCUChatMessageList.class/instance/displayChat..st
+++ b/packages/TelegramClient-UI.package/TCUChatMessageList.class/instance/displayChat..st
@@ -4,6 +4,7 @@ displayChat: aChat
self chat removeActionsWithReceiver: self.
aChat when: #newMessage send: #addAtBottom: to: self.
aChat when: #loadedMessage send: #addAtTop: to: self.
+
self
chat: aChat;
showMessages.
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatMessageList.class/instance/requestScrollToMessage..st b/packages/TelegramClient-UI.package/TCUChatMessageList.class/instance/requestScrollToMessage..st
new file mode 100644
index 000000000..85806a2b8
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUChatMessageList.class/instance/requestScrollToMessage..st
@@ -0,0 +1,9 @@
+messages
+requestScrollToMessage: aMessageId
+
+ | messageRequest |
+ messageRequest := TCCMessageRequest new messageId: aMessageId;
+ completionReceiver: self;
+ completionMessage: #scrollToMessage:;
+ yourself.
+ self chat handleMessageRequest: messageRequest
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatMessageList.class/instance/scrollToMessage..st b/packages/TelegramClient-UI.package/TCUChatMessageList.class/instance/scrollToMessage..st
new file mode 100644
index 000000000..e78a61193
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUChatMessageList.class/instance/scrollToMessage..st
@@ -0,0 +1,6 @@
+drawing
+scrollToMessage: aMessageId
+
+ | messageItem |
+ messageItem := self items detect: [:item | item messageId = aMessageId].
+ self scrollToShow: messageItem
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatMessageList.class/instance/wrapperFor..st b/packages/TelegramClient-UI.package/TCUChatMessageList.class/instance/wrapperFor..st
deleted file mode 100644
index 80ddccda0..000000000
--- a/packages/TelegramClient-UI.package/TCUChatMessageList.class/instance/wrapperFor..st
+++ /dev/null
@@ -1,15 +0,0 @@
-messages
-wrapperFor: aMessage
-
- | wrapper |
- wrapper := self class defaultMessageWrapper
- width: self scroller width;
- height: aMessage height;
- yourself.
-
- aMessage isOutgoing
- ifTrue: [ wrapper listDirection: #rightToLeft ]
- ifFalse: [ wrapper listDirection: #leftToRight ].
-
- wrapper addMorph: aMessage.
- ^ wrapper
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatMessageList.class/methodProperties.json b/packages/TelegramClient-UI.package/TCUChatMessageList.class/methodProperties.json
index 3ec3e745c..81ebcbe12 100644
--- a/packages/TelegramClient-UI.package/TCUChatMessageList.class/methodProperties.json
+++ b/packages/TelegramClient-UI.package/TCUChatMessageList.class/methodProperties.json
@@ -1,21 +1,24 @@
{
"class" : {
- "defaultMessageMargin" : "per 6/20/2021 11:51",
- "defaultMessageWrapper" : "JB 6/28/2021 09:58",
"defaultScrollOffsetBeforeLoading" : "JB 6/26/2021 10:15",
- "defaultWidth" : "RS 7/17/2021 17:39" },
+ "defaultWidth" : "rgw 6/2/2022 15:39" },
"instance" : {
- "addAtBottom:" : "JB 8/4/2021 11:15",
- "addAtTop:" : "JB 8/4/2021 11:15",
+ "addAtBottom:" : "ek 8/4/2022 14:03",
+ "addAtTop:" : "rgw 7/21/2022 15:02",
+ "addBottomDayDividerForDate:" : "ek 8/4/2022 14:07",
"addMessages" : "RS 7/17/2021 17:40",
+ "addTopDayDividerForDate:" : "js 7/18/2022 07:30",
"chat" : "js 7/31/2020 16:39",
"chat:" : "js 7/31/2020 16:39",
"core" : "JB 6/26/2021 10:22",
+ "createDayDividerForDate:" : "js 7/31/2022 10:20",
+ "createMessageItemFrom:" : "js 7/31/2022 10:02",
"displayChat:" : "RS 7/17/2021 11:54",
"initialize" : "RS 7/17/2021 17:40",
"isFromCurrentChat:" : "pk 8/5/2021 17:07",
"isFullyScrolledDown" : "JB 8/4/2021 11:15",
+ "requestScrollToMessage:" : "aka 6/15/2022 11:56",
+ "scrollToMessage:" : "js 7/31/2022 10:21",
"scrollToNewestMessage" : "per 6/24/2021 23:14",
"showMessages" : "RS 7/17/2021 17:34",
- "step" : "JB 7/19/2021 12:12",
- "wrapperFor:" : "RK 8/4/2021 10:57" } }
+ "step" : "JB 7/19/2021 12:12" } }
diff --git a/packages/TelegramClient-UI.package/TCUChatWindow.class/class/defaultInputfieldHeight.st b/packages/TelegramClient-UI.package/TCUChatWindow.class/class/defaultInputfieldHeight.st
index 86a15c03c..430bb2695 100644
--- a/packages/TelegramClient-UI.package/TCUChatWindow.class/class/defaultInputfieldHeight.st
+++ b/packages/TelegramClient-UI.package/TCUChatWindow.class/class/defaultInputfieldHeight.st
@@ -1,4 +1,4 @@
default values
defaultInputfieldHeight
- ^ 70
\ No newline at end of file
+ ^ 120
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatWindow.class/instance/addReplyMessage.st b/packages/TelegramClient-UI.package/TCUChatWindow.class/instance/addReplyMessage.st
new file mode 100644
index 000000000..a0195a566
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUChatWindow.class/instance/addReplyMessage.st
@@ -0,0 +1,11 @@
+drawing
+addReplyMessage
+
+ | message |
+ message := self selectedChat getMessageById: self selectedChat selectedReplyToMessageId.
+
+ self inputBar addMorphFront: (TextMorph new
+ contentsWrapped: 'Reply to: ' , message asReplySnippet asText;
+ extent: self inputBar width - 200 @ self class defaultInputfieldHeight;
+ lock;
+ yourself).
diff --git a/packages/TelegramClient-UI.package/TCUChatWindow.class/instance/addSendButton.st b/packages/TelegramClient-UI.package/TCUChatWindow.class/instance/addSendButton.st
index 2142a6f3b..4a87c9962 100644
--- a/packages/TelegramClient-UI.package/TCUChatWindow.class/instance/addSendButton.st
+++ b/packages/TelegramClient-UI.package/TCUChatWindow.class/instance/addSendButton.st
@@ -1,8 +1,9 @@
drawing
addSendButton
- self inputBar addMorph: (TCUButton new
+ self sendButton: (TCUButton new
text: 'Send';
- on: #mouseDown send: #buttonSendPressed to: self;
+ on: #mouseUp send: #buttonSendPressed to: self;
name: 'sendMessage';
- yourself).
\ No newline at end of file
+ yourself).
+ self inputBar addMorph: self sendButton.
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatWindow.class/instance/buttonSendPressed.st b/packages/TelegramClient-UI.package/TCUChatWindow.class/instance/buttonSendPressed.st
index c9118c34b..6a151f7d4 100644
--- a/packages/TelegramClient-UI.package/TCUChatWindow.class/instance/buttonSendPressed.st
+++ b/packages/TelegramClient-UI.package/TCUChatWindow.class/instance/buttonSendPressed.st
@@ -2,8 +2,9 @@ event handling
buttonSendPressed
| messageString |
-
+
messageString := self textInputField contents asString withBlanksTrimmed.
messageString ifNotEmpty: [self selectedChat sendMessage: messageString].
- self textInputField contents: ''.
\ No newline at end of file
+ self textInputField contents: ''.
+ self sendButton makeLighter.
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatWindow.class/instance/createInputBar.st b/packages/TelegramClient-UI.package/TCUChatWindow.class/instance/createInputBar.st
index 2c896a436..0c8707ebe 100644
--- a/packages/TelegramClient-UI.package/TCUChatWindow.class/instance/createInputBar.st
+++ b/packages/TelegramClient-UI.package/TCUChatWindow.class/instance/createInputBar.st
@@ -9,6 +9,8 @@ createInputBar
bottomLeft: (self bottomLeft);
layoutPolicy: TableLayout new;
listDirection: #leftToRight;
+ wrapDirection: #topToBottom;
+ wrapCentering: #topLeft;
layoutInset: 2;
vResizing: #shrinkWrap;
cellInset: 12;
diff --git a/packages/TelegramClient-UI.package/TCUChatWindow.class/instance/createTitleBar.st b/packages/TelegramClient-UI.package/TCUChatWindow.class/instance/createTitleBar.st
index a7f7c6595..f77d949bc 100644
--- a/packages/TelegramClient-UI.package/TCUChatWindow.class/instance/createTitleBar.st
+++ b/packages/TelegramClient-UI.package/TCUChatWindow.class/instance/createTitleBar.st
@@ -15,4 +15,6 @@ createTitleBar
cellInset: 12;
yourself).
- self titleBar on: #mouseDown send: #showInfoPage to: self.
\ No newline at end of file
+ self titleBar on: #mouseDown send: #showInfoPage to: self.
+ self titleBar on: #mouseEnter send: #titleBarEntered to: self.
+ self titleBar on: #mouseLeave send: #titleBarLeft to: self.
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatWindow.class/instance/newChatSelected..st b/packages/TelegramClient-UI.package/TCUChatWindow.class/instance/newChatSelected..st
index 5880a6861..df310e573 100644
--- a/packages/TelegramClient-UI.package/TCUChatWindow.class/instance/newChatSelected..st
+++ b/packages/TelegramClient-UI.package/TCUChatWindow.class/instance/newChatSelected..st
@@ -2,6 +2,9 @@ event handling
newChatSelected: aChat
self welcomeMessage hide.
+ self inputBar submorphsDo: #abandon.
+ self addSendButton.
+ self addTextInputField.
self inputBar show.
self titleBar delete.
self infoPage delete.
diff --git a/packages/TelegramClient-UI.package/TCUChatWindow.class/instance/selectedChat..st b/packages/TelegramClient-UI.package/TCUChatWindow.class/instance/selectedChat..st
index 0cf5e25e1..e32f89e23 100644
--- a/packages/TelegramClient-UI.package/TCUChatWindow.class/instance/selectedChat..st
+++ b/packages/TelegramClient-UI.package/TCUChatWindow.class/instance/selectedChat..st
@@ -1,4 +1,5 @@
accessing
selectedChat: aChat
- selectedChat := aChat.
\ No newline at end of file
+ selectedChat := aChat.
+ selectedChat when: #updateReplyToMessageId send: #updateReplyMessage to: self
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatWindow.class/instance/sendButton..st b/packages/TelegramClient-UI.package/TCUChatWindow.class/instance/sendButton..st
new file mode 100644
index 000000000..9faba7777
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUChatWindow.class/instance/sendButton..st
@@ -0,0 +1,4 @@
+accessing
+sendButton: aTelegramButton
+
+ sendButton := aTelegramButton
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatWindow.class/instance/sendButton.st b/packages/TelegramClient-UI.package/TCUChatWindow.class/instance/sendButton.st
new file mode 100644
index 000000000..669bc9442
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUChatWindow.class/instance/sendButton.st
@@ -0,0 +1,4 @@
+accessing
+sendButton
+
+ ^ sendButton
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatWindow.class/instance/titleBarEntered.st b/packages/TelegramClient-UI.package/TCUChatWindow.class/instance/titleBarEntered.st
new file mode 100644
index 000000000..d2336b28a
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUChatWindow.class/instance/titleBarEntered.st
@@ -0,0 +1,4 @@
+event handling
+titleBarEntered
+
+ self titleBar color: Color veryVeryLightGray.
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatWindow.class/instance/titleBarLeft.st b/packages/TelegramClient-UI.package/TCUChatWindow.class/instance/titleBarLeft.st
new file mode 100644
index 000000000..96b70d243
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUChatWindow.class/instance/titleBarLeft.st
@@ -0,0 +1,4 @@
+event handling
+titleBarLeft
+
+ self titleBar color: TCUDefaultValues colorLightGray.
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatWindow.class/instance/updateReplyMessage.st b/packages/TelegramClient-UI.package/TCUChatWindow.class/instance/updateReplyMessage.st
new file mode 100644
index 000000000..afc499420
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUChatWindow.class/instance/updateReplyMessage.st
@@ -0,0 +1,12 @@
+accessing
+updateReplyMessage
+
+ | inputFieldText |
+ inputFieldText := self textInputField contents asString.
+ self inputBar submorphsDo: #abandon.
+ self addSendButton.
+ self addTextInputField.
+ self selectedChat selectedReplyToMessageId = self selectedChat class defaultSelectedReplyToMessageId ifFalse: [
+ self addReplyMessage.
+ ].
+ self textInputField contents: inputFieldText.
diff --git a/packages/TelegramClient-UI.package/TCUChatWindow.class/methodProperties.json b/packages/TelegramClient-UI.package/TCUChatWindow.class/methodProperties.json
index 5c0c2e65d..8480dc21f 100644
--- a/packages/TelegramClient-UI.package/TCUChatWindow.class/methodProperties.json
+++ b/packages/TelegramClient-UI.package/TCUChatWindow.class/methodProperties.json
@@ -1,6 +1,6 @@
{
"class" : {
- "defaultInputfieldHeight" : "rs 6/12/2020 20:03",
+ "defaultInputfieldHeight" : "JS 5/20/2022 11:08",
"defaultTitleBarHeight" : "JB 6/28/2021 09:42",
"newWithHeight:width:" : "JB 7/6/2021 14:03" },
"instance" : {
@@ -9,29 +9,35 @@
"addHiddenInfoPage" : "per 6/15/2021 09:02",
"addInputBar" : "js 6/13/2020 17:59",
"addMemberCount" : "RK 8/4/2021 12:06",
- "addSendButton" : "RK 8/4/2021 12:13",
+ "addReplyMessage" : "JS 5/22/2022 19:39",
+ "addSendButton" : "ek 6/19/2022 19:07",
"addTextInputField" : "RK 8/4/2021 12:06",
"addTitleBar" : "RS 5/29/2021 18:12",
"addWelcomeMessage" : "RK 8/4/2021 12:07",
- "buttonSendPressed" : "JB 7/23/2021 12:37",
+ "buttonSendPressed" : "ek 6/19/2022 19:07",
"chatMessageList" : "JB 7/6/2021 14:02",
"chatMessageList:" : "JB 7/6/2021 14:02",
"clear" : "JB 7/31/2021 15:24",
"core" : "js 8/2/2020 22:11",
- "createInputBar" : "RK 8/4/2021 12:07",
- "createTitleBar" : "JB 6/28/2021 09:42",
+ "createInputBar" : "JS 5/20/2022 11:45",
+ "createTitleBar" : "ek 6/19/2022 19:08",
"infoPage" : "RS 5/20/2021 21:14",
"infoPage:" : "RS 5/20/2021 21:14",
"initialize" : "RS 5/20/2021 19:29",
"inputBar" : "rs 6/13/2020 10:38",
"inputBar:" : "RK 8/4/2021 10:48",
- "newChatSelected:" : "JB 7/6/2021 14:01",
+ "newChatSelected:" : "JS 5/20/2022 11:55",
"selectedChat" : "rs 6/13/2020 09:11",
- "selectedChat:" : "rs 6/13/2020 09:11",
+ "selectedChat:" : "JS 5/26/2022 16:40",
+ "sendButton" : "ek 6/19/2022 18:53",
+ "sendButton:" : "ek 6/19/2022 18:53",
"showInfoPage" : "per 5/30/2021 11:51",
"textInputField" : "rs 6/13/2020 10:41",
"textInputField:" : "rs 6/13/2020 10:42",
"titleBar" : "sp 8/2/2020 15:04",
"titleBar:" : "sp 8/2/2020 15:04",
+ "titleBarEntered" : "ek 6/19/2022 19:08",
+ "titleBarLeft" : "ek 6/19/2022 19:09",
+ "updateReplyMessage" : "LR 8/5/2022 16:14",
"welcomeMessage" : "rs 6/13/2020 09:36",
"welcomeMessage:" : "RK 8/4/2021 10:49" } }
diff --git a/packages/TelegramClient-UI.package/TCUChatWindow.class/properties.json b/packages/TelegramClient-UI.package/TCUChatWindow.class/properties.json
index c45f65ca8..03e6fab68 100644
--- a/packages/TelegramClient-UI.package/TCUChatWindow.class/properties.json
+++ b/packages/TelegramClient-UI.package/TCUChatWindow.class/properties.json
@@ -11,7 +11,8 @@
"inputBar",
"selectedChat",
"welcomeMessage",
- "textInputField" ],
+ "textInputField",
+ "sendButton" ],
"name" : "TCUChatWindow",
"pools" : [
],
diff --git a/packages/TelegramClient-UI.package/TCUChatsList.class/class/defaultWidth.st b/packages/TelegramClient-UI.package/TCUChatsList.class/class/defaultWidth.st
index 6050c591e..8bf7846de 100644
--- a/packages/TelegramClient-UI.package/TCUChatsList.class/class/defaultWidth.st
+++ b/packages/TelegramClient-UI.package/TCUChatsList.class/class/defaultWidth.st
@@ -1,4 +1,4 @@
default values
defaultWidth
- ^ 300
\ No newline at end of file
+ ^ 375
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatsList.class/instance/redrawItems.st b/packages/TelegramClient-UI.package/TCUChatsList.class/instance/redrawItems.st
index 43418f809..6f37c7bd3 100644
--- a/packages/TelegramClient-UI.package/TCUChatsList.class/instance/redrawItems.st
+++ b/packages/TelegramClient-UI.package/TCUChatsList.class/instance/redrawItems.st
@@ -1,9 +1,4 @@
drawing
redrawItems
- self clearItems.
-
- self items: (self chats collect: [:aChat |
- self createChatListItem: aChat]).
-
- self items do: [:anItem | self scroller addMorphBack: anItem].
\ No newline at end of file
+ self shouldRedraw: true.
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatsList.class/instance/shouldRedraw..st b/packages/TelegramClient-UI.package/TCUChatsList.class/instance/shouldRedraw..st
new file mode 100644
index 000000000..0916fe6fb
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUChatsList.class/instance/shouldRedraw..st
@@ -0,0 +1,4 @@
+accessing
+shouldRedraw: aBoolean
+
+ shouldRedraw := aBoolean
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatsList.class/instance/shouldRedraw.st b/packages/TelegramClient-UI.package/TCUChatsList.class/instance/shouldRedraw.st
new file mode 100644
index 000000000..9a0ef886e
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUChatsList.class/instance/shouldRedraw.st
@@ -0,0 +1,4 @@
+accessing
+shouldRedraw
+
+ ^ shouldRedraw
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatsList.class/instance/step.st b/packages/TelegramClient-UI.package/TCUChatsList.class/instance/step.st
new file mode 100644
index 000000000..2a75a888d
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUChatsList.class/instance/step.st
@@ -0,0 +1,13 @@
+stepping and presenter
+step
+
+ self shouldRedraw ifTrue: [
+
+ self clearItems.
+ self items: (self chats collect: [:aChat |
+ self createChatListItem: aChat]).
+
+ self items do: [:anItem | self scroller addMorphBack: anItem].
+
+ self shouldRedraw: false.
+ ].
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatsList.class/instance/stepTime.st b/packages/TelegramClient-UI.package/TCUChatsList.class/instance/stepTime.st
new file mode 100644
index 000000000..920796b75
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUChatsList.class/instance/stepTime.st
@@ -0,0 +1,4 @@
+stepping and presenter
+stepTime
+
+ ^ 500
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatsList.class/methodProperties.json b/packages/TelegramClient-UI.package/TCUChatsList.class/methodProperties.json
index a04155f3d..abe8abaf5 100644
--- a/packages/TelegramClient-UI.package/TCUChatsList.class/methodProperties.json
+++ b/packages/TelegramClient-UI.package/TCUChatsList.class/methodProperties.json
@@ -1,16 +1,20 @@
{
"class" : {
- "defaultWidth" : "per 6/24/2021 23:03" },
+ "defaultWidth" : "rgw 6/2/2022 15:32" },
"instance" : {
"chatItemClicked:event:from:" : "JB 7/23/2021 12:39",
"chats" : "rs 6/17/2020 22:38",
"chats:" : "f.w. 7/15/2020 23:57",
- "createChatListItem:" : "js 7/31/2020 23:05",
+ "createChatListItem:" : "js 6/18/2022 10:34",
"deselectChats" : "RS 7/17/2021 12:11",
"indicateKeyboardFocus" : "per 6/19/2021 13:49",
"initialize" : "per 6/24/2021 23:08",
"openNewChat:" : "RS 7/17/2021 17:21",
- "redrawItems" : "JB 8/6/2021 16:02",
+ "redrawItems" : "rgw 7/24/2022 14:43",
"selectChat:" : "JB 7/19/2021 12:26",
"selectedChat" : "rs 6/13/2020 08:51",
- "selectedChat:" : "RS 7/17/2021 10:57" } }
+ "selectedChat:" : "RS 7/17/2021 10:57",
+ "shouldRedraw" : "rgw 7/24/2022 14:42",
+ "shouldRedraw:" : "rgw 7/24/2022 14:42",
+ "step" : "ek 8/5/2022 14:07",
+ "stepTime" : "LR 7/25/2022 16:22" } }
diff --git a/packages/TelegramClient-UI.package/TCUChatsList.class/properties.json b/packages/TelegramClient-UI.package/TCUChatsList.class/properties.json
index dbcb38743..bb1e0302d 100644
--- a/packages/TelegramClient-UI.package/TCUChatsList.class/properties.json
+++ b/packages/TelegramClient-UI.package/TCUChatsList.class/properties.json
@@ -7,7 +7,8 @@
"commentStamp" : "js 6/13/2020 19:01",
"instvars" : [
"selectedChat",
- "chats" ],
+ "chats",
+ "shouldRedraw" ],
"name" : "TCUChatsList",
"pools" : [
],
diff --git a/packages/TelegramClient-UI.package/TCUDayDividerMessage.class/README.md b/packages/TelegramClient-UI.package/TCUDayDividerMessage.class/README.md
new file mode 100644
index 000000000..91da5abc5
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUDayDividerMessage.class/README.md
@@ -0,0 +1 @@
+class for automatic generated info messages.
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUDayDividerMessage.class/class/defaultBorderWidth.st b/packages/TelegramClient-UI.package/TCUDayDividerMessage.class/class/defaultBorderWidth.st
new file mode 100644
index 000000000..0cd6f8444
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUDayDividerMessage.class/class/defaultBorderWidth.st
@@ -0,0 +1,4 @@
+defaults
+defaultBorderWidth
+
+ ^ 2
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUDayDividerMessage.class/class/defaultLayoutInset.st b/packages/TelegramClient-UI.package/TCUDayDividerMessage.class/class/defaultLayoutInset.st
new file mode 100644
index 000000000..a257331e6
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUDayDividerMessage.class/class/defaultLayoutInset.st
@@ -0,0 +1,4 @@
+defaults
+defaultLayoutInset
+
+ ^ 7
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUDayDividerMessage.class/class/newFromDate..st b/packages/TelegramClient-UI.package/TCUDayDividerMessage.class/class/newFromDate..st
new file mode 100644
index 000000000..878923e5c
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUDayDividerMessage.class/class/newFromDate..st
@@ -0,0 +1,7 @@
+instance creation
+newFromDate: aDate
+
+ ^ self basicNew
+ content: aDate mmddyyyy;
+ initialize;
+ yourself
diff --git a/packages/TelegramClient-UI.package/TCUDayDividerMessage.class/instance/content..st b/packages/TelegramClient-UI.package/TCUDayDividerMessage.class/instance/content..st
new file mode 100644
index 000000000..056343ec1
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUDayDividerMessage.class/instance/content..st
@@ -0,0 +1,4 @@
+accessing
+content: aString
+
+ content := aString
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUDayDividerMessage.class/instance/content.st b/packages/TelegramClient-UI.package/TCUDayDividerMessage.class/instance/content.st
new file mode 100644
index 000000000..a5f2cf173
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUDayDividerMessage.class/instance/content.st
@@ -0,0 +1,4 @@
+accessing
+content
+
+ ^ content
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUDayDividerMessage.class/instance/initialize.st b/packages/TelegramClient-UI.package/TCUDayDividerMessage.class/instance/initialize.st
new file mode 100644
index 000000000..62526bbea
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUDayDividerMessage.class/instance/initialize.st
@@ -0,0 +1,19 @@
+initialization
+initialize
+
+ | textMorph |
+ super initialize.
+
+ textMorph := TextMorph new
+ contents: self content;
+ left: self class defaultLayoutInset;
+ top: self class defaultLayoutInset;
+ color: Color white;
+ lock.
+ self color: Color gray;
+ addMorph: textMorph;
+ useRoundedCorners;
+ borderWidth: self class defaultBorderWidth;
+ borderColor: Color transparent;
+ width: textMorph width + (2 * self class defaultLayoutInset);
+ height: textMorph height + (2 * self class defaultLayoutInset).
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUDayDividerMessage.class/methodProperties.json b/packages/TelegramClient-UI.package/TCUDayDividerMessage.class/methodProperties.json
new file mode 100644
index 000000000..a67dbe23a
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUDayDividerMessage.class/methodProperties.json
@@ -0,0 +1,9 @@
+{
+ "class" : {
+ "defaultBorderWidth" : "rgw 7/22/2022 15:44",
+ "defaultLayoutInset" : "rgw 7/22/2022 15:45",
+ "newFromDate:" : "aka 7/14/2022 15:14" },
+ "instance" : {
+ "content" : "aka 7/10/2022 12:37",
+ "content:" : "aka 7/10/2022 12:37",
+ "initialize" : "ek 8/5/2022 14:11" } }
diff --git a/packages/TelegramClient-UI.package/TCUDayDividerMessage.class/properties.json b/packages/TelegramClient-UI.package/TCUDayDividerMessage.class/properties.json
new file mode 100644
index 000000000..ad647b1eb
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUDayDividerMessage.class/properties.json
@@ -0,0 +1,14 @@
+{
+ "category" : "TelegramClient-UI",
+ "classinstvars" : [
+ ],
+ "classvars" : [
+ ],
+ "commentStamp" : "aka 7/14/2022 15:07",
+ "instvars" : [
+ "content" ],
+ "name" : "TCUDayDividerMessage",
+ "pools" : [
+ ],
+ "super" : "RectangleMorph",
+ "type" : "normal" }
diff --git a/packages/TelegramClient-UI.package/TCUDayDividerMessageWrapper.class/README.md b/packages/TelegramClient-UI.package/TCUDayDividerMessageWrapper.class/README.md
new file mode 100644
index 000000000..b2c3568da
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUDayDividerMessageWrapper.class/README.md
@@ -0,0 +1 @@
+wraps TCUDayDividerMessage to align it in the center of chatMessageList
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUDayDividerMessageWrapper.class/class/defaultInvalidMessageId.st b/packages/TelegramClient-UI.package/TCUDayDividerMessageWrapper.class/class/defaultInvalidMessageId.st
new file mode 100644
index 000000000..523bf7157
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUDayDividerMessageWrapper.class/class/defaultInvalidMessageId.st
@@ -0,0 +1,4 @@
+default values
+defaultInvalidMessageId
+
+ ^ -1
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUDayDividerMessageWrapper.class/instance/messageId.st b/packages/TelegramClient-UI.package/TCUDayDividerMessageWrapper.class/instance/messageId.st
new file mode 100644
index 000000000..4950a3a44
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUDayDividerMessageWrapper.class/instance/messageId.st
@@ -0,0 +1,4 @@
+accessing
+messageId
+
+ ^ self class defaultInvalidMessageId
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUDayDividerMessageWrapper.class/methodProperties.json b/packages/TelegramClient-UI.package/TCUDayDividerMessageWrapper.class/methodProperties.json
new file mode 100644
index 000000000..646d3992d
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUDayDividerMessageWrapper.class/methodProperties.json
@@ -0,0 +1,5 @@
+{
+ "class" : {
+ "defaultInvalidMessageId" : "js 7/31/2022 10:42" },
+ "instance" : {
+ "messageId" : "js 7/31/2022 10:41" } }
diff --git a/packages/TelegramClient-UI.package/TCUDayDividerMessageWrapper.class/properties.json b/packages/TelegramClient-UI.package/TCUDayDividerMessageWrapper.class/properties.json
new file mode 100644
index 000000000..719ba7c36
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUDayDividerMessageWrapper.class/properties.json
@@ -0,0 +1,14 @@
+{
+ "category" : "TelegramClient-UI",
+ "classinstvars" : [
+ ],
+ "classvars" : [
+ ],
+ "commentStamp" : "js 7/31/2022 10:37",
+ "instvars" : [
+ ],
+ "name" : "TCUDayDividerMessageWrapper",
+ "pools" : [
+ ],
+ "super" : "TCUMessageWrapper",
+ "type" : "normal" }
diff --git a/packages/TelegramClient-UI.package/TCUDefaultValues.class/class/defaultProfilePhoto.st b/packages/TelegramClient-UI.package/TCUDefaultValues.class/class/defaultProfilePhoto.st
new file mode 100644
index 000000000..77cd0680c
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUDefaultValues.class/class/defaultProfilePhoto.st
@@ -0,0 +1,40 @@
+colors
+defaultProfilePhoto
+ "@linter-ignore"
+ "This is an auto-generated method"
+ ^ (Form fromBinaryStream: (Base64MimeConverter mimeDecodeToBytes: 'iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAABhGlDQ1BJQ0MgcHJvZmlsZQAA
+KJF9kT1Iw0AcxV/TakWqDlYQcchQnSyIijhqFYpQIdQKrTqYXPoFTRqSFBdHwbXg4Mdi1cHF
+WVcHV0EQ/ABxdHJSdJES/5cWWsR4cNyPd/ced+8AoVZimhUYBzTdNpPxmJjOrIrBV3RCQC8G
+EJCZZcxJUgKe4+sePr7eRXmW97k/R4+atRjgE4lnmWHaxBvE05u2wXmfOMwKskp8Tjxm0gWJ
+H7muNPiNc95lgWeGzVRynjhMLObbWGljVjA14iniiKrplC+kG6xy3uKslSqseU/+wlBWX1nm
+Os1hxLGIJUgQoaCCIkqwEaVVJ8VCkvZjHv4h1y+RSyFXEYwcCyhDg+z6wf/gd7dWbnKikRSK
+AR0vjvMxAgR3gXrVcb6PHad+AvifgSu95S/XgJlP0qstLXIE9G0DF9ctTdkDLneAwSdDNmVX
+8tMUcjng/Yy+KQP03wLda43emvs4fQBS1FXiBjg4BEbzlL3u8e6u9t7+PdPs7wfkr3JuGFSY
+bAAAAAZiS0dEADMA/wAAoVpNxAAAAAlwSFlzAAAN1wAADdcBQiibeAAAAAd0SU1FB+YGAg4V
+IsHL5e4AAAVwSURBVHja7ZxXVxtJEIVvT1CYUY5gQGCMOcf7/3/LrtcWIJAsZIWRNEETpJ7e
+BxuHJViBngBzX3hBoPlU3bequlqk179lSLS1hARBAjABmABMACZKACYAE4AJwESbS4rqG/N9
+H9T3wXwGURQgimIC8CnZto2ZrkM3TNi2A2+5/H2pCAKy6TQUVUGpUECxkIcghL+ASJi1MGMM
+2nSGwWgEy1ps9FpRFFGrVLDfbCCVkl8fQMM00en2YNvObps4IWg2GjjYb4YSkYEDZIyh+6WP
+wXD0rH83k07j7PQESjb7cl2YUoqP7YtnhwcAjuvi738/Yzqbv0yAlFJ8/HwBwzC5Onf7qoPJ
+dPqyADLG8PmyA2uxCOR/XXZuMDeMlwPwutuDHtAD3UFsX3bgul78Ac7mcwzHk8DdkVKKy841
+GGPxBej7Pq67vdByNMOyMNa0+AIcDEdwvWWolUKvPwClfvwA+r7PJV3ZVMvlEmNtEj+Ak+kU
+q9UqEnX2YDiOIUBtFpmOieu6G9faoQJcUQrDNBElaZwqFC4ATdPknj5s07yID0BrgajJWiy4
+fKhcADquGzmAjDF4nhcPgK7nIYpy4gKQrmgkAfocEmqB13KJJEA/JgAJIZEEyKPlzwVgVI8g
+BTEmAMM8JXtK6VQqHgAzmUzk4BFC4gMwpyiRA6goCpe9mQvAfE6NnJEUcmp8SjlJkpDj9Ia3
+VblUjA9AAKiVy5Eyj5yqxgtgtVKGJEUjnWk26vxSI55Ja7NeDx2eJEmoVyvxAwgAe40GZDnc
+nPBgf49rYs8VoCgKOD48CA1eTlXRqFX5Vje8H6JSLqHGcQk9VU6enrS4p1OBjHactI64ueBj
+VcfpSQuZdJp/fR1IEU8I3r97i2wAs3uEEJy0DlEuFgP5sAIbb5MlCR/ev+MaiYQQnB63UK9W
+A4v2QAcsJUnCh/Mz1Dls7OlUCn+dn6FaCTaBD21Geq4b6HR7cHc8gCKEoFGr4vDNfih9yNCn
+9McTDYPhCLaz2bC5IAiolkvY32sGYhaRBPirLMvCdK7DMEwsHAeU0nuRlkqlkFMVFAsFlIuF
+SHS+I3PRRlVVqL8YzGpFQekKPmMQRRGyJEXyrCVUgIwxuJ4H1/WwXC7hekusVkv4jMGnPhgY
+GGMghEAURBACyLKMlCx/+5mSkc1kQgUbKEDHdaEbJizLwsK2YdsO/B2PQAkhyKTTULJZqIqC
+fD4HJRscVK57IGMMc93AdDbHXNfv3X/jFhWiiHw+h0qphBLnvZILQMuyMBxr0Gaze2YQtARC
+UCwWUK9WUSzknz0ynw0gYwyT6Qxft7g4GJTS6TQatRoatcqzReXOABljmM7m6PVvIzmV9dgS
+399roFmv7zytsBNAw7TQ6XZ3vnEZlmRZRuvgzU7l31YAKaXo9QcYjseRHSTaRPl8Dm9bR1tV
+NBsDtKwF2ledyM4Abm02goDjo4ONOzkb5YG3X4fo9W9fRNT9X77v4+q6C9Na4PjoEMKabr0W
+QMYYOt0eRiHceQtao/EEjuPi/N3btZxaWAde+6rzKuD9NEcT/3xqY7lG4i+sAy/oW+BR0MK2
+8bF98cdC4EmAN73+q4R3J9t28Oni6sl6/VGAw9EYX0cjvHYZponrm95mAG3Hwc2XPhJ9N5bJ
+5NHvYRAe2vcurq65TLTHWZ2b3oOmIjxk4wvbTog9VH3dDp4GSCnFlwd+KdE3jSfavbpf+H2t
+a1hG5JJ0FMUYw+1w+DjA4WicUPqDJtr0tyATftq1FZt+XthRqGnT+wBnup7QWVO/svoBUNeN
+hMzaybX1oyMl3IVlkrqsL9/3sfjuxgIAeJ73Int8PHU3FCUBwIr6UJVsQmWTKPwecP8B+Yeq
+UNZlH5EAAAAASUVORK5CYII=' readStream))
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUDefaultValues.class/methodProperties.json b/packages/TelegramClient-UI.package/TCUDefaultValues.class/methodProperties.json
index 1857cc207..7a4b07d0a 100644
--- a/packages/TelegramClient-UI.package/TCUDefaultValues.class/methodProperties.json
+++ b/packages/TelegramClient-UI.package/TCUDefaultValues.class/methodProperties.json
@@ -6,6 +6,7 @@
"colorLightGray" : "R.S 6/1/2020 14:25",
"colorNileBlue" : "JB 5/10/2021 17:55",
"colorPottersClay" : "JB 5/10/2021 17:57",
- "colorRed" : "LL 7/15/2020 19:36" },
+ "colorRed" : "LL 7/15/2020 19:36",
+ "defaultProfilePhoto" : "JS 6/11/2022 09:53" },
"instance" : {
} }
diff --git a/packages/TelegramClient-UI.package/TCUEmojiHelper.class/methodProperties.json b/packages/TelegramClient-UI.package/TCUEmojiHelper.class/methodProperties.json
index 066ec3b68..c5847fb86 100644
--- a/packages/TelegramClient-UI.package/TCUEmojiHelper.class/methodProperties.json
+++ b/packages/TelegramClient-UI.package/TCUEmojiHelper.class/methodProperties.json
@@ -10,7 +10,7 @@
"defaultMinimumEmojiAmount" : "pk 7/17/2021 10:18",
"defaultOptionalCharacters" : "pk 7/6/2021 09:49",
"defaultTextHeight" : "7/17/2021 09:37:29",
- "downloadArchive" : "pk 7/17/2021 09:49",
+ "downloadArchive" : "LR 6/5/2022 11:05",
"downloadUrl" : "RK 6/29/2021 11:30",
"embedEmojisInto:" : "pk 7/11/2021 19:17",
"emojiExists:" : "pk 7/11/2021 19:20",
diff --git a/packages/TelegramClient-UI.package/TCUHeaderBar.class/methodProperties.json b/packages/TelegramClient-UI.package/TCUHeaderBar.class/methodProperties.json
index 7d559e83e..6bf863030 100644
--- a/packages/TelegramClient-UI.package/TCUHeaderBar.class/methodProperties.json
+++ b/packages/TelegramClient-UI.package/TCUHeaderBar.class/methodProperties.json
@@ -4,8 +4,8 @@
"defaultSpacing" : "r.s 8/2/2020 18:54",
"newForMain:" : "js 8/2/2020 22:34" },
"instance" : {
- "addCloseButton" : "RK 8/4/2021 12:07",
- "addLogoutButton" : "RK 8/4/2021 12:07",
+ "addCloseButton" : "ek 6/12/2022 11:38",
+ "addLogoutButton" : "ek 6/12/2022 11:23",
"addNewChatButton" : "RK 8/4/2021 12:07",
"addTitle:" : "RK 8/4/2021 12:07",
"initialize" : "JB 6/11/2021 18:32",
diff --git a/packages/TelegramClient-UI.package/TCUInfoMessage.class/README.md b/packages/TelegramClient-UI.package/TCUInfoMessage.class/README.md
new file mode 100644
index 000000000..f37bc135f
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUInfoMessage.class/README.md
@@ -0,0 +1 @@
+UI message element showing information such as 'added XYZ'
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUInfoMessage.class/class/defaultBorderWidth.st b/packages/TelegramClient-UI.package/TCUInfoMessage.class/class/defaultBorderWidth.st
new file mode 100644
index 000000000..06026fc2e
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUInfoMessage.class/class/defaultBorderWidth.st
@@ -0,0 +1,4 @@
+default values
+defaultBorderWidth
+
+ ^ 2
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUInfoMessage.class/class/defaultLayoutInset.st b/packages/TelegramClient-UI.package/TCUInfoMessage.class/class/defaultLayoutInset.st
new file mode 100644
index 000000000..c649e5256
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUInfoMessage.class/class/defaultLayoutInset.st
@@ -0,0 +1,4 @@
+default values
+defaultLayoutInset
+
+ ^ 7
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUInfoMessage.class/instance/initialize.st b/packages/TelegramClient-UI.package/TCUInfoMessage.class/instance/initialize.st
new file mode 100644
index 000000000..4de6037de
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUInfoMessage.class/instance/initialize.st
@@ -0,0 +1,21 @@
+initialization
+initialize
+
+ | textMorph |
+ super initialize.
+
+ textMorph := (TextMorph new
+ lock;
+ contents: self messageModel asText;
+ color: Color white;
+ left: self class defaultLayoutInset;
+ top: self class defaultLayoutInset;
+ yourself).
+ self
+ color: Color gray;
+ addMorph: textMorph;
+ borderWidth: self class defaultBorderWidth;
+ borderColor: Color transparent;
+ useRoundedCorners;
+ width: textMorph width + (2 * self class defaultLayoutInset);
+ height: textMorph height + (2 * self class defaultLayoutInset).
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUInfoMessage.class/methodProperties.json b/packages/TelegramClient-UI.package/TCUInfoMessage.class/methodProperties.json
new file mode 100644
index 000000000..5e7f07df6
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUInfoMessage.class/methodProperties.json
@@ -0,0 +1,6 @@
+{
+ "class" : {
+ "defaultBorderWidth" : "rgw 7/21/2022 15:38",
+ "defaultLayoutInset" : "rgw 7/21/2022 14:52" },
+ "instance" : {
+ "initialize" : "ek 8/5/2022 14:15" } }
diff --git a/packages/TelegramClient-UI.package/TCUInfoMessage.class/properties.json b/packages/TelegramClient-UI.package/TCUInfoMessage.class/properties.json
new file mode 100644
index 000000000..1e336f9af
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUInfoMessage.class/properties.json
@@ -0,0 +1,14 @@
+{
+ "category" : "TelegramClient-UI",
+ "classinstvars" : [
+ ],
+ "classvars" : [
+ ],
+ "commentStamp" : "ek 8/5/2022 14:14",
+ "instvars" : [
+ ],
+ "name" : "TCUInfoMessage",
+ "pools" : [
+ ],
+ "super" : "TCUMessage",
+ "type" : "normal" }
diff --git a/packages/TelegramClient-UI.package/TCUInfoMessageWrapper.class/README.md b/packages/TelegramClient-UI.package/TCUInfoMessageWrapper.class/README.md
new file mode 100644
index 000000000..8aa5c9ec7
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUInfoMessageWrapper.class/README.md
@@ -0,0 +1 @@
+wraps TCUInfoMessage to align it in the center of chatMessageList
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUInfoMessageWrapper.class/methodProperties.json b/packages/TelegramClient-UI.package/TCUInfoMessageWrapper.class/methodProperties.json
new file mode 100644
index 000000000..0e4a66223
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUInfoMessageWrapper.class/methodProperties.json
@@ -0,0 +1,5 @@
+{
+ "class" : {
+ },
+ "instance" : {
+ } }
diff --git a/packages/TelegramClient-UI.package/TCUInfoMessageWrapper.class/properties.json b/packages/TelegramClient-UI.package/TCUInfoMessageWrapper.class/properties.json
new file mode 100644
index 000000000..6a00f59c0
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUInfoMessageWrapper.class/properties.json
@@ -0,0 +1,14 @@
+{
+ "category" : "TelegramClient-UI",
+ "classinstvars" : [
+ ],
+ "classvars" : [
+ ],
+ "commentStamp" : "js 7/31/2022 10:36",
+ "instvars" : [
+ ],
+ "name" : "TCUInfoMessageWrapper",
+ "pools" : [
+ ],
+ "super" : "TCUMessageWrapper",
+ "type" : "normal" }
diff --git a/packages/TelegramClient-UI.package/TCUMessage.class/README.md b/packages/TelegramClient-UI.package/TCUMessage.class/README.md
index eba9e2da9..1e871a395 100644
--- a/packages/TelegramClient-UI.package/TCUMessage.class/README.md
+++ b/packages/TelegramClient-UI.package/TCUMessage.class/README.md
@@ -1 +1 @@
-class with basic building instructions for the different message types
\ No newline at end of file
+abstract class for all types of messages that can be shown in a chat
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUMessage.class/class/newFrom..st b/packages/TelegramClient-UI.package/TCUMessage.class/class/newFrom..st
index 1766e3db7..2189082d3 100644
--- a/packages/TelegramClient-UI.package/TCUMessage.class/class/newFrom..st
+++ b/packages/TelegramClient-UI.package/TCUMessage.class/class/newFrom..st
@@ -4,6 +4,8 @@ newFrom: aCoreMessage
^ (aCoreMessage class caseOf: {
[TCCTextMessage] -> [TCUTextMessage].
[TCCPhotoMessage] -> [TCUPhotoMessage].
+ [TCCAddMembersMessage] -> [TCUInfoMessage].
+ [TCCDeleteMemberMessage] -> [TCUInfoMessage].
} otherwise: [TCUTextMessage])
basicNew
messageModel: aCoreMessage;
diff --git a/packages/TelegramClient-UI.package/TCUMessage.class/instance/handlesMouseDown..st b/packages/TelegramClient-UI.package/TCUMessage.class/instance/handlesMouseDown..st
new file mode 100644
index 000000000..7103e2771
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUMessage.class/instance/handlesMouseDown..st
@@ -0,0 +1,4 @@
+event handling
+handlesMouseDown: anEvent
+
+ ^ true
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUMessage.class/instance/isUserMessage.st b/packages/TelegramClient-UI.package/TCUMessage.class/instance/isUserMessage.st
new file mode 100644
index 000000000..550a01e2b
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUMessage.class/instance/isUserMessage.st
@@ -0,0 +1,4 @@
+accessing
+isUserMessage
+
+ ^ false
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUMessage.class/instance/mouseDown..st b/packages/TelegramClient-UI.package/TCUMessage.class/instance/mouseDown..st
new file mode 100644
index 000000000..e480cb9a4
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUMessage.class/instance/mouseDown..st
@@ -0,0 +1,4 @@
+event handling
+mouseDown: anEvent
+
+ ^ self messageModel chat selectedReplyToMessageId: self messageModel id
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUMessage.class/instance/sender.st b/packages/TelegramClient-UI.package/TCUMessage.class/instance/sender.st
deleted file mode 100644
index 5e92cf2f7..000000000
--- a/packages/TelegramClient-UI.package/TCUMessage.class/instance/sender.st
+++ /dev/null
@@ -1,4 +0,0 @@
-accessing
-sender
-
- ^ self messageModel sender
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUMessage.class/instance/senderId.st b/packages/TelegramClient-UI.package/TCUMessage.class/instance/senderId.st
deleted file mode 100644
index ed1d95023..000000000
--- a/packages/TelegramClient-UI.package/TCUMessage.class/instance/senderId.st
+++ /dev/null
@@ -1,4 +0,0 @@
-accessing
-senderId
-
- ^ self messageModel senderId
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUMessage.class/methodProperties.json b/packages/TelegramClient-UI.package/TCUMessage.class/methodProperties.json
index cbd6a2cd5..c66446a7b 100644
--- a/packages/TelegramClient-UI.package/TCUMessage.class/methodProperties.json
+++ b/packages/TelegramClient-UI.package/TCUMessage.class/methodProperties.json
@@ -1,27 +1,11 @@
{
"class" : {
- "defaultBottomMargin" : "JB 5/30/2021 11:27",
- "defaultHeight" : "JB 5/29/2021 20:44",
- "defaultLayoutInset" : "JB 5/29/2021 21:08",
- "defaultMargins" : "JB 6/11/2021 18:36",
- "defaultTextMorph" : "RK 6/23/2021 11:49",
- "defaultWidth" : "r.s 7/31/2020 14:19",
- "newFrom:" : "tom.richter 6/28/2021 15:08" },
+ "defaultBottomMargin" : "aka 7/14/2022 16:20",
+ "defaultMargins" : "aka 7/14/2022 16:20",
+ "newFrom:" : "LR 7/23/2022 10:44" },
"instance" : {
- "addContent" : "TR 6/20/2021 11:12",
- "addDate" : "RK 6/23/2021 11:46",
- "addSender" : "per 7/15/2021 13:22",
- "addText" : "RK 6/23/2021 11:46",
- "date" : "TR 6/20/2021 10:59",
- "dateColor" : "JB 5/29/2021 21:05",
- "initialize" : "TR 6/20/2021 11:12",
- "initializeDefaults" : "JB 6/11/2021 18:23",
- "isOutgoing" : "TR 6/20/2021 11:37",
- "messageColor" : "JB 5/29/2021 21:06",
- "messageDateText" : "JB 5/17/2021 10:04",
- "messageModel" : "TR 6/20/2021 11:00",
- "messageModel:" : "RK 8/4/2021 11:16",
- "sender" : "TR 6/20/2021 10:59",
- "senderId" : "8/5/2021 21:14:18",
- "shrinkToContent" : "RK 8/4/2021 11:58",
- "text" : "RK 6/29/2021 11:18" } }
+ "handlesMouseDown:" : "js 7/31/2022 11:13",
+ "isUserMessage" : "rgw 7/21/2022 14:07",
+ "messageModel" : "aka 7/14/2022 17:22",
+ "messageModel:" : "aka 7/14/2022 16:18",
+ "mouseDown:" : "js 7/31/2022 11:13" } }
diff --git a/packages/TelegramClient-UI.package/TCUMessage.class/properties.json b/packages/TelegramClient-UI.package/TCUMessage.class/properties.json
index a832a281e..ed4847c78 100644
--- a/packages/TelegramClient-UI.package/TCUMessage.class/properties.json
+++ b/packages/TelegramClient-UI.package/TCUMessage.class/properties.json
@@ -4,7 +4,7 @@
],
"classvars" : [
],
- "commentStamp" : "RK 6/26/2021 11:39",
+ "commentStamp" : "js 7/18/2022 07:47",
"instvars" : [
"messageModel" ],
"name" : "TCUMessage",
diff --git a/packages/TelegramClient-UI.package/TCUMessageWrapper.class/README.md b/packages/TelegramClient-UI.package/TCUMessageWrapper.class/README.md
new file mode 100644
index 000000000..963311f84
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUMessageWrapper.class/README.md
@@ -0,0 +1 @@
+abstract class to wrap a message to use it in chatMessageList
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUChatMessageList.class/class/defaultMessageMargin.st b/packages/TelegramClient-UI.package/TCUMessageWrapper.class/class/defaultMessageMargin.st
similarity index 100%
rename from packages/TelegramClient-UI.package/TCUChatMessageList.class/class/defaultMessageMargin.st
rename to packages/TelegramClient-UI.package/TCUMessageWrapper.class/class/defaultMessageMargin.st
diff --git a/packages/TelegramClient-UI.package/TCUMessageWrapper.class/class/newFromMessage.withWidth..st b/packages/TelegramClient-UI.package/TCUMessageWrapper.class/class/newFromMessage.withWidth..st
new file mode 100644
index 000000000..bea9e4cd8
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUMessageWrapper.class/class/newFromMessage.withWidth..st
@@ -0,0 +1,10 @@
+instance creation
+newFromMessage: aMessage withWidth: aNumber
+
+ ^ (self basicNew)
+ message: aMessage;
+ initialize;
+ width: aNumber;
+ height: aMessage height;
+ addMorphCentered: aMessage;
+ yourself
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUMessageWrapper.class/instance/initialize.st b/packages/TelegramClient-UI.package/TCUMessageWrapper.class/instance/initialize.st
new file mode 100644
index 000000000..8fd863899
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUMessageWrapper.class/instance/initialize.st
@@ -0,0 +1,9 @@
+initialization
+initialize
+
+ super initialize.
+ self
+ cellInset: self class defaultMessageMargin;
+ color: Color transparent;
+ borderWidth: 0;
+ yourself.
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUMessageWrapper.class/instance/message..st b/packages/TelegramClient-UI.package/TCUMessageWrapper.class/instance/message..st
new file mode 100644
index 000000000..9e0251ebe
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUMessageWrapper.class/instance/message..st
@@ -0,0 +1,4 @@
+accessing
+message: aMessage
+
+ message := aMessage
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUMessageWrapper.class/instance/message.st b/packages/TelegramClient-UI.package/TCUMessageWrapper.class/instance/message.st
new file mode 100644
index 000000000..d808932ce
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUMessageWrapper.class/instance/message.st
@@ -0,0 +1,4 @@
+accessing
+message
+
+ ^ message
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUMessageWrapper.class/instance/messageId.st b/packages/TelegramClient-UI.package/TCUMessageWrapper.class/instance/messageId.st
new file mode 100644
index 000000000..829a6720d
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUMessageWrapper.class/instance/messageId.st
@@ -0,0 +1,4 @@
+accessing
+messageId
+
+ ^ self message messageModel id
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUMessageWrapper.class/methodProperties.json b/packages/TelegramClient-UI.package/TCUMessageWrapper.class/methodProperties.json
new file mode 100644
index 000000000..05fbefbdc
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUMessageWrapper.class/methodProperties.json
@@ -0,0 +1,9 @@
+{
+ "class" : {
+ "defaultMessageMargin" : "js 7/31/2022 09:58",
+ "newFromMessage:withWidth:" : "js 7/31/2022 10:44" },
+ "instance" : {
+ "initialize" : "js 7/31/2022 19:22",
+ "message" : "js 7/31/2022 09:56",
+ "message:" : "js 7/31/2022 09:57",
+ "messageId" : "js 7/31/2022 10:41" } }
diff --git a/packages/TelegramClient-UI.package/TCUMessageWrapper.class/properties.json b/packages/TelegramClient-UI.package/TCUMessageWrapper.class/properties.json
new file mode 100644
index 000000000..e6bd65657
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUMessageWrapper.class/properties.json
@@ -0,0 +1,14 @@
+{
+ "category" : "TelegramClient-UI",
+ "classinstvars" : [
+ ],
+ "classvars" : [
+ ],
+ "commentStamp" : "js 7/31/2022 10:35",
+ "instvars" : [
+ "message" ],
+ "name" : "TCUMessageWrapper",
+ "pools" : [
+ ],
+ "super" : "RectangleMorph",
+ "type" : "normal" }
diff --git a/packages/TelegramClient-UI.package/TCUPhotoMessage.class/properties.json b/packages/TelegramClient-UI.package/TCUPhotoMessage.class/properties.json
index 783f38fae..0fbcea783 100644
--- a/packages/TelegramClient-UI.package/TCUPhotoMessage.class/properties.json
+++ b/packages/TelegramClient-UI.package/TCUPhotoMessage.class/properties.json
@@ -10,5 +10,5 @@
"name" : "TCUPhotoMessage",
"pools" : [
],
- "super" : "TCUMessage",
+ "super" : "TCUUserMessage",
"type" : "normal" }
diff --git a/packages/TelegramClient-UI.package/TCUReplySnippet.class/README.md b/packages/TelegramClient-UI.package/TCUReplySnippet.class/README.md
new file mode 100644
index 000000000..8ed7bc16e
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUReplySnippet.class/README.md
@@ -0,0 +1 @@
+Show the reply snippet on top of a referencing message.
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUReplySnippet.class/class/newWith.coloredIn..st b/packages/TelegramClient-UI.package/TCUReplySnippet.class/class/newWith.coloredIn..st
new file mode 100644
index 000000000..33b923deb
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUReplySnippet.class/class/newWith.coloredIn..st
@@ -0,0 +1,8 @@
+instance creation
+newWith: aReplyText coloredIn: aMessageColor
+
+ ^ self basicNew
+ replyText: aReplyText;
+ messageColor: aMessageColor;
+ initialize;
+ yourself
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUReplySnippet.class/instance/handlesMouseDown..st b/packages/TelegramClient-UI.package/TCUReplySnippet.class/instance/handlesMouseDown..st
new file mode 100644
index 000000000..7103e2771
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUReplySnippet.class/instance/handlesMouseDown..st
@@ -0,0 +1,4 @@
+event handling
+handlesMouseDown: anEvent
+
+ ^ true
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUReplySnippet.class/instance/initialize.st b/packages/TelegramClient-UI.package/TCUReplySnippet.class/instance/initialize.st
new file mode 100644
index 000000000..ffa0d570d
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUReplySnippet.class/instance/initialize.st
@@ -0,0 +1,20 @@
+initialization
+initialize
+
+ | textMorph |
+
+ super initialize.
+
+ textMorph := TextMorph new contents: self replyText;
+ hResizing: #spaceFill;
+ color: TCUDefaultValues colorLightGray;
+ lock.
+
+ self
+ color: self messageColor;
+ vResizing: #shrinkWrap;
+ hResizing: #shrinkWrap;
+ borderWidth: 0;
+ width: textMorph width.
+
+ self addMorph: textMorph.
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUReplySnippet.class/instance/messageColor..st b/packages/TelegramClient-UI.package/TCUReplySnippet.class/instance/messageColor..st
new file mode 100644
index 000000000..b3bc49a6f
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUReplySnippet.class/instance/messageColor..st
@@ -0,0 +1,4 @@
+accessing
+messageColor: aColor
+
+ messageColor := aColor
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUReplySnippet.class/instance/messageColor.st b/packages/TelegramClient-UI.package/TCUReplySnippet.class/instance/messageColor.st
new file mode 100644
index 000000000..5f40703e1
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUReplySnippet.class/instance/messageColor.st
@@ -0,0 +1,4 @@
+accessing
+messageColor
+
+ ^ messageColor
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUReplySnippet.class/instance/mouseDown..st b/packages/TelegramClient-UI.package/TCUReplySnippet.class/instance/mouseDown..st
new file mode 100644
index 000000000..041beb06d
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUReplySnippet.class/instance/mouseDown..st
@@ -0,0 +1,4 @@
+event handling
+mouseDown: anEvent
+
+ self triggerEvent: #requestScroll.
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUReplySnippet.class/instance/replyText..st b/packages/TelegramClient-UI.package/TCUReplySnippet.class/instance/replyText..st
new file mode 100644
index 000000000..e3bd4fbf1
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUReplySnippet.class/instance/replyText..st
@@ -0,0 +1,4 @@
+accessing
+replyText: aString
+
+ replyText := aString
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUReplySnippet.class/instance/replyText.st b/packages/TelegramClient-UI.package/TCUReplySnippet.class/instance/replyText.st
new file mode 100644
index 000000000..767092a33
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUReplySnippet.class/instance/replyText.st
@@ -0,0 +1,4 @@
+accessing
+replyText
+
+ ^ replyText
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUReplySnippet.class/methodProperties.json b/packages/TelegramClient-UI.package/TCUReplySnippet.class/methodProperties.json
new file mode 100644
index 000000000..bfeb11c7a
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUReplySnippet.class/methodProperties.json
@@ -0,0 +1,11 @@
+{
+ "class" : {
+ "newWith:coloredIn:" : "LR 6/11/2022 12:48" },
+ "instance" : {
+ "handlesMouseDown:" : "js 7/14/2022 16:42",
+ "initialize" : "aka 6/15/2022 11:58",
+ "messageColor" : "aka 6/15/2022 11:50",
+ "messageColor:" : "aka 6/15/2022 11:50",
+ "mouseDown:" : "aka 6/15/2022 11:56",
+ "replyText" : "aka 6/15/2022 11:49",
+ "replyText:" : "aka 6/15/2022 11:49" } }
diff --git a/packages/TelegramClient-UI.package/TCUReplySnippet.class/properties.json b/packages/TelegramClient-UI.package/TCUReplySnippet.class/properties.json
new file mode 100644
index 000000000..d8c46ee04
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUReplySnippet.class/properties.json
@@ -0,0 +1,15 @@
+{
+ "category" : "TelegramClient-UI",
+ "classinstvars" : [
+ ],
+ "classvars" : [
+ ],
+ "commentStamp" : "aka 6/15/2022 12:06",
+ "instvars" : [
+ "replyText",
+ "messageColor" ],
+ "name" : "TCUReplySnippet",
+ "pools" : [
+ ],
+ "super" : "RectangleMorph",
+ "type" : "normal" }
diff --git a/packages/TelegramClient-UI.package/TCUTelegram.class/instance/collapseOrExpand.st b/packages/TelegramClient-UI.package/TCUTelegram.class/instance/collapseOrExpand.st
new file mode 100644
index 000000000..f2eb53759
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUTelegram.class/instance/collapseOrExpand.st
@@ -0,0 +1,6 @@
+drawing
+collapseOrExpand
+
+ "Overrides SystemWindow functionality that is unwanted for the TelegramClient"
+
+ ^ self
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUTelegram.class/instance/delete.st b/packages/TelegramClient-UI.package/TCUTelegram.class/instance/delete.st
new file mode 100644
index 000000000..35575ab79
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUTelegram.class/instance/delete.st
@@ -0,0 +1,5 @@
+initialization
+delete
+
+ self core freeClient.
+ super delete.
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUTelegram.class/instance/expandToFullScreen.st b/packages/TelegramClient-UI.package/TCUTelegram.class/instance/expandToFullScreen.st
new file mode 100644
index 000000000..9bba1960f
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUTelegram.class/instance/expandToFullScreen.st
@@ -0,0 +1,6 @@
+drawing
+expandToFullScreen
+
+ "Overrides SystemWindow functionality that is unwanted for the TelegramClient"
+
+ ^ self
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUTelegram.class/instance/initialize.st b/packages/TelegramClient-UI.package/TCUTelegram.class/instance/initialize.st
index 40a3d49f9..985850ddc 100644
--- a/packages/TelegramClient-UI.package/TCUTelegram.class/instance/initialize.st
+++ b/packages/TelegramClient-UI.package/TCUTelegram.class/instance/initialize.st
@@ -4,5 +4,6 @@ initialize
super initialize.
self
openCenteredInWorld;
+ setLabel: 'TelegramClient';
color: Color white;
addAuthenticationWindow.
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUTelegram.class/instance/openCurrentWindow.st b/packages/TelegramClient-UI.package/TCUTelegram.class/instance/openCurrentWindow.st
index ea8544bd6..76f3ea28f 100644
--- a/packages/TelegramClient-UI.package/TCUTelegram.class/instance/openCurrentWindow.st
+++ b/packages/TelegramClient-UI.package/TCUTelegram.class/instance/openCurrentWindow.st
@@ -3,4 +3,5 @@ openCurrentWindow
self
bounds: (Rectangle center: self center extent: self currentWindow extent);
+ position: Display extent - self extent // 2;
addMorphCentered: self currentWindow.
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUTelegram.class/methodProperties.json b/packages/TelegramClient-UI.package/TCUTelegram.class/methodProperties.json
index cbb8b709f..417050c08 100644
--- a/packages/TelegramClient-UI.package/TCUTelegram.class/methodProperties.json
+++ b/packages/TelegramClient-UI.package/TCUTelegram.class/methodProperties.json
@@ -6,12 +6,15 @@
"registerInWorldMenu" : "js 8/2/2020 14:28" },
"instance" : {
"addAuthenticationWindow" : "RS 7/17/2021 12:47",
- "addMainWindow" : "RS 7/17/2021 12:47",
+ "addMainWindow" : "ek 6/1/2022 12:24",
+ "collapseOrExpand" : "js 6/21/2022 11:24",
"core" : "js 5/31/2020 20:04",
"core:" : "js 5/31/2020 20:04",
"currentWindow" : "r.s 7/13/2020 17:11",
"currentWindow:" : "r.s 7/13/2020 17:11",
- "initialize" : "RS 7/31/2021 15:17",
+ "delete" : "js 6/21/2022 11:26",
+ "expandToFullScreen" : "js 6/21/2022 11:27",
+ "initialize" : "js 7/14/2022 16:41",
"logInCompleted" : "RS 7/17/2021 12:30",
"loggedOut" : "RS 7/17/2021 12:25",
- "openCurrentWindow" : "JB 7/19/2021 16:37" } }
+ "openCurrentWindow" : "js 6/21/2022 11:31" } }
diff --git a/packages/TelegramClient-UI.package/TCUTelegram.class/properties.json b/packages/TelegramClient-UI.package/TCUTelegram.class/properties.json
index 92bcdaecf..4bcd73a3e 100644
--- a/packages/TelegramClient-UI.package/TCUTelegram.class/properties.json
+++ b/packages/TelegramClient-UI.package/TCUTelegram.class/properties.json
@@ -11,5 +11,5 @@
"name" : "TCUTelegram",
"pools" : [
],
- "super" : "Morph",
+ "super" : "SystemWindow",
"type" : "normal" }
diff --git a/packages/TelegramClient-UI.package/TCUTextMessage.class/properties.json b/packages/TelegramClient-UI.package/TCUTextMessage.class/properties.json
index a13852132..25d290b55 100644
--- a/packages/TelegramClient-UI.package/TCUTextMessage.class/properties.json
+++ b/packages/TelegramClient-UI.package/TCUTextMessage.class/properties.json
@@ -10,5 +10,5 @@
"name" : "TCUTextMessage",
"pools" : [
],
- "super" : "TCUMessage",
+ "super" : "TCUUserMessage",
"type" : "normal" }
diff --git a/packages/TelegramClient-UI.package/TCUUserMessage.class/README.md b/packages/TelegramClient-UI.package/TCUUserMessage.class/README.md
new file mode 100644
index 000000000..5856f1536
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUUserMessage.class/README.md
@@ -0,0 +1 @@
+class with basic building instructions for the different message that are created by a user
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUMessage.class/class/defaultHeight.st b/packages/TelegramClient-UI.package/TCUUserMessage.class/class/defaultHeight.st
similarity index 100%
rename from packages/TelegramClient-UI.package/TCUMessage.class/class/defaultHeight.st
rename to packages/TelegramClient-UI.package/TCUUserMessage.class/class/defaultHeight.st
diff --git a/packages/TelegramClient-UI.package/TCUMessage.class/class/defaultLayoutInset.st b/packages/TelegramClient-UI.package/TCUUserMessage.class/class/defaultLayoutInset.st
similarity index 100%
rename from packages/TelegramClient-UI.package/TCUMessage.class/class/defaultLayoutInset.st
rename to packages/TelegramClient-UI.package/TCUUserMessage.class/class/defaultLayoutInset.st
diff --git a/packages/TelegramClient-UI.package/TCUUserMessage.class/class/defaultPhotoSize.st b/packages/TelegramClient-UI.package/TCUUserMessage.class/class/defaultPhotoSize.st
new file mode 100644
index 000000000..53b490578
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUUserMessage.class/class/defaultPhotoSize.st
@@ -0,0 +1,4 @@
+default values
+defaultPhotoSize
+
+ ^ 80
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUMessage.class/class/defaultTextMorph.st b/packages/TelegramClient-UI.package/TCUUserMessage.class/class/defaultTextMorph.st
similarity index 90%
rename from packages/TelegramClient-UI.package/TCUMessage.class/class/defaultTextMorph.st
rename to packages/TelegramClient-UI.package/TCUUserMessage.class/class/defaultTextMorph.st
index 52814e445..b2cf84619 100644
--- a/packages/TelegramClient-UI.package/TCUMessage.class/class/defaultTextMorph.st
+++ b/packages/TelegramClient-UI.package/TCUUserMessage.class/class/defaultTextMorph.st
@@ -4,5 +4,5 @@ defaultTextMorph
"hResizing is not set here and duplicated in the other setters, as it has to be set after the content is added"
^ TextMorph new
- lock;
+ readOnly: true;
yourself
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUMessage.class/class/defaultWidth.st b/packages/TelegramClient-UI.package/TCUUserMessage.class/class/defaultWidth.st
similarity index 100%
rename from packages/TelegramClient-UI.package/TCUMessage.class/class/defaultWidth.st
rename to packages/TelegramClient-UI.package/TCUUserMessage.class/class/defaultWidth.st
diff --git a/packages/TelegramClient-UI.package/TCUMessage.class/instance/addContent.st b/packages/TelegramClient-UI.package/TCUUserMessage.class/instance/addContent.st
similarity index 100%
rename from packages/TelegramClient-UI.package/TCUMessage.class/instance/addContent.st
rename to packages/TelegramClient-UI.package/TCUUserMessage.class/instance/addContent.st
diff --git a/packages/TelegramClient-UI.package/TCUMessage.class/instance/addDate.st b/packages/TelegramClient-UI.package/TCUUserMessage.class/instance/addDate.st
similarity index 78%
rename from packages/TelegramClient-UI.package/TCUMessage.class/instance/addDate.st
rename to packages/TelegramClient-UI.package/TCUUserMessage.class/instance/addDate.st
index b635b9228..c276db5c5 100644
--- a/packages/TelegramClient-UI.package/TCUMessage.class/instance/addDate.st
+++ b/packages/TelegramClient-UI.package/TCUUserMessage.class/instance/addDate.st
@@ -4,5 +4,6 @@ addDate
self addMorphBack: (self class defaultTextMorph
contents: self messageDateText;
hResizing: #spaceFill;
- color: self dateColor;
+ color: self secondaryColor;
+ lock;
yourself).
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUUserMessage.class/instance/addPaddingMorphs.st b/packages/TelegramClient-UI.package/TCUUserMessage.class/instance/addPaddingMorphs.st
new file mode 100644
index 000000000..b47b3fcb7
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUUserMessage.class/instance/addPaddingMorphs.st
@@ -0,0 +1,15 @@
+constructing
+addPaddingMorphs
+
+ self addMorphBack: (RectangleMorph new
+ color: self messageColor;
+ borderWidth: 0;
+ height: 5).
+ self addMorphBack: (RectangleMorph new
+ color: self secondaryColor;
+ borderWidth: 0;
+ height: 2).
+ self addMorphBack: (RectangleMorph new
+ color: self messageColor;
+ borderWidth: 0;
+ height: 5).
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUUserMessage.class/instance/addReplySnippet.st b/packages/TelegramClient-UI.package/TCUUserMessage.class/instance/addReplySnippet.st
new file mode 100644
index 000000000..7336336f5
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUUserMessage.class/instance/addReplySnippet.st
@@ -0,0 +1,10 @@
+constructing
+addReplySnippet
+
+ | replySnippet |
+
+ replySnippet := TCUReplySnippet newWith: (self messageModel replyText) coloredIn: self messageColor.
+ replySnippet when: #requestScroll send: #triggerRequestScroll to: self.
+
+ self addMorph: (replySnippet).
+ self addPaddingMorphs.
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUMessage.class/instance/addSender.st b/packages/TelegramClient-UI.package/TCUUserMessage.class/instance/addSender.st
similarity index 83%
rename from packages/TelegramClient-UI.package/TCUMessage.class/instance/addSender.st
rename to packages/TelegramClient-UI.package/TCUUserMessage.class/instance/addSender.st
index d220ebcbb..26c4f231b 100644
--- a/packages/TelegramClient-UI.package/TCUMessage.class/instance/addSender.st
+++ b/packages/TelegramClient-UI.package/TCUUserMessage.class/instance/addSender.st
@@ -4,6 +4,7 @@ addSender
self addMorphBack: (self class defaultTextMorph
contents: self messageModel senderName;
hResizing: #spaceFill;
- color: self dateColor;
+ color: self secondaryColor;
margins: self class defaultMargins;
+ lock;
yourself).
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUMessage.class/instance/addText.st b/packages/TelegramClient-UI.package/TCUUserMessage.class/instance/addText.st
similarity index 100%
rename from packages/TelegramClient-UI.package/TCUMessage.class/instance/addText.st
rename to packages/TelegramClient-UI.package/TCUUserMessage.class/instance/addText.st
diff --git a/packages/TelegramClient-UI.package/TCUUserMessage.class/instance/answeredMessageReceived.st b/packages/TelegramClient-UI.package/TCUUserMessage.class/instance/answeredMessageReceived.st
new file mode 100644
index 000000000..edf0fd77d
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUUserMessage.class/instance/answeredMessageReceived.st
@@ -0,0 +1,4 @@
+event handling
+answeredMessageReceived
+
+ self updateReplySnippet
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUMessage.class/instance/date.st b/packages/TelegramClient-UI.package/TCUUserMessage.class/instance/date.st
similarity index 100%
rename from packages/TelegramClient-UI.package/TCUMessage.class/instance/date.st
rename to packages/TelegramClient-UI.package/TCUUserMessage.class/instance/date.st
diff --git a/packages/TelegramClient-UI.package/TCUMessage.class/instance/initialize.st b/packages/TelegramClient-UI.package/TCUUserMessage.class/instance/initialize.st
similarity index 57%
rename from packages/TelegramClient-UI.package/TCUMessage.class/instance/initialize.st
rename to packages/TelegramClient-UI.package/TCUUserMessage.class/instance/initialize.st
index 0ce66e870..cc0de6ad1 100644
--- a/packages/TelegramClient-UI.package/TCUMessage.class/instance/initialize.st
+++ b/packages/TelegramClient-UI.package/TCUUserMessage.class/instance/initialize.st
@@ -5,7 +5,4 @@ initialize
self
initializeDefaults;
- addSender;
- addContent;
- addDate;
- shrinkToContent.
\ No newline at end of file
+ initializeSubmorphs
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUMessage.class/instance/initializeDefaults.st b/packages/TelegramClient-UI.package/TCUUserMessage.class/instance/initializeDefaults.st
similarity index 100%
rename from packages/TelegramClient-UI.package/TCUMessage.class/instance/initializeDefaults.st
rename to packages/TelegramClient-UI.package/TCUUserMessage.class/instance/initializeDefaults.st
diff --git a/packages/TelegramClient-UI.package/TCUUserMessage.class/instance/initializeSubmorphs.st b/packages/TelegramClient-UI.package/TCUUserMessage.class/instance/initializeSubmorphs.st
new file mode 100644
index 000000000..a38254d14
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUUserMessage.class/instance/initializeSubmorphs.st
@@ -0,0 +1,10 @@
+initialization
+initializeSubmorphs
+
+ self messageModel isReply ifTrue: [self addReplySnippet].
+
+ self
+ addSender;
+ addContent;
+ addDate;
+ shrinkToContent.
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUMessage.class/instance/isOutgoing.st b/packages/TelegramClient-UI.package/TCUUserMessage.class/instance/isOutgoing.st
similarity index 100%
rename from packages/TelegramClient-UI.package/TCUMessage.class/instance/isOutgoing.st
rename to packages/TelegramClient-UI.package/TCUUserMessage.class/instance/isOutgoing.st
diff --git a/packages/TelegramClient-UI.package/TCUUserMessage.class/instance/isUserMessage.st b/packages/TelegramClient-UI.package/TCUUserMessage.class/instance/isUserMessage.st
new file mode 100644
index 000000000..c9ac98a8a
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUUserMessage.class/instance/isUserMessage.st
@@ -0,0 +1,4 @@
+accessing
+isUserMessage
+
+ ^ true
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUMessage.class/instance/messageColor.st b/packages/TelegramClient-UI.package/TCUUserMessage.class/instance/messageColor.st
similarity index 100%
rename from packages/TelegramClient-UI.package/TCUMessage.class/instance/messageColor.st
rename to packages/TelegramClient-UI.package/TCUUserMessage.class/instance/messageColor.st
diff --git a/packages/TelegramClient-UI.package/TCUMessage.class/instance/messageDateText.st b/packages/TelegramClient-UI.package/TCUUserMessage.class/instance/messageDateText.st
similarity index 100%
rename from packages/TelegramClient-UI.package/TCUMessage.class/instance/messageDateText.st
rename to packages/TelegramClient-UI.package/TCUUserMessage.class/instance/messageDateText.st
diff --git a/packages/TelegramClient-UI.package/TCUUserMessage.class/instance/messageModel..st b/packages/TelegramClient-UI.package/TCUUserMessage.class/instance/messageModel..st
new file mode 100644
index 000000000..372cdb298
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUUserMessage.class/instance/messageModel..st
@@ -0,0 +1,5 @@
+accessing
+messageModel: aCoreMessage
+
+ super messageModel: aCoreMessage.
+ messageModel when: #answeredMessageReceived send: #answeredMessageReceived to: self.
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUMessage.class/instance/dateColor.st b/packages/TelegramClient-UI.package/TCUUserMessage.class/instance/secondaryColor.st
similarity index 88%
rename from packages/TelegramClient-UI.package/TCUMessage.class/instance/dateColor.st
rename to packages/TelegramClient-UI.package/TCUUserMessage.class/instance/secondaryColor.st
index 54c963179..387102547 100644
--- a/packages/TelegramClient-UI.package/TCUMessage.class/instance/dateColor.st
+++ b/packages/TelegramClient-UI.package/TCUUserMessage.class/instance/secondaryColor.st
@@ -1,5 +1,5 @@
drawing
-dateColor
+secondaryColor
^ self isOutgoing
ifTrue: [TCUDefaultValues colorPottersClay]
diff --git a/packages/TelegramClient-UI.package/TCUMessage.class/instance/shrinkToContent.st b/packages/TelegramClient-UI.package/TCUUserMessage.class/instance/shrinkToContent.st
similarity index 100%
rename from packages/TelegramClient-UI.package/TCUMessage.class/instance/shrinkToContent.st
rename to packages/TelegramClient-UI.package/TCUUserMessage.class/instance/shrinkToContent.st
diff --git a/packages/TelegramClient-UI.package/TCUMessage.class/instance/text.st b/packages/TelegramClient-UI.package/TCUUserMessage.class/instance/text.st
similarity index 100%
rename from packages/TelegramClient-UI.package/TCUMessage.class/instance/text.st
rename to packages/TelegramClient-UI.package/TCUUserMessage.class/instance/text.st
diff --git a/packages/TelegramClient-UI.package/TCUUserMessage.class/instance/triggerRequestScroll.st b/packages/TelegramClient-UI.package/TCUUserMessage.class/instance/triggerRequestScroll.st
new file mode 100644
index 000000000..25b7644a0
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUUserMessage.class/instance/triggerRequestScroll.st
@@ -0,0 +1,4 @@
+event handling
+triggerRequestScroll
+
+ self triggerEvent: #requestScroll.
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUUserMessage.class/methodProperties.json b/packages/TelegramClient-UI.package/TCUUserMessage.class/methodProperties.json
new file mode 100644
index 000000000..e170357fd
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUUserMessage.class/methodProperties.json
@@ -0,0 +1,28 @@
+{
+ "class" : {
+ "defaultHeight" : "JB 5/29/2021 20:44",
+ "defaultLayoutInset" : "LR 6/11/2022 11:40",
+ "defaultPhotoSize" : "JS 6/11/2022 09:55",
+ "defaultTextMorph" : "rgw 6/16/2022 15:47",
+ "defaultWidth" : "r.s 7/31/2020 14:19" },
+ "instance" : {
+ "addContent" : "TR 6/20/2021 11:12",
+ "addDate" : "js 7/4/2022 15:24",
+ "addPaddingMorphs" : "ek 8/5/2022 14:38",
+ "addReplySnippet" : "ek 8/5/2022 14:38",
+ "addSender" : "js 7/4/2022 15:24",
+ "addText" : "RK 6/23/2021 11:46",
+ "answeredMessageReceived" : "rgw 6/2/2022 10:29",
+ "date" : "TR 6/20/2021 10:59",
+ "initialize" : "LR 6/11/2022 13:01",
+ "initializeDefaults" : "ek 8/5/2022 14:43",
+ "initializeSubmorphs" : "rgw 6/2/2022 10:26",
+ "isOutgoing" : "TR 6/20/2021 11:37",
+ "isUserMessage" : "rgw 7/21/2022 14:08",
+ "messageColor" : "JB 5/29/2021 21:06",
+ "messageDateText" : "JB 5/17/2021 10:04",
+ "messageModel:" : "ek 8/5/2022 14:44",
+ "secondaryColor" : "rgw 5/12/2022 15:54",
+ "shrinkToContent" : "LR 6/11/2022 12:38",
+ "text" : "RK 6/29/2021 11:18",
+ "triggerRequestScroll" : "ek 8/5/2022 14:46" } }
diff --git a/packages/TelegramClient-UI.package/TCUUserMessage.class/properties.json b/packages/TelegramClient-UI.package/TCUUserMessage.class/properties.json
new file mode 100644
index 000000000..03a81b2d5
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUUserMessage.class/properties.json
@@ -0,0 +1,14 @@
+{
+ "category" : "TelegramClient-UI",
+ "classinstvars" : [
+ ],
+ "classvars" : [
+ ],
+ "commentStamp" : "js 7/18/2022 07:51",
+ "instvars" : [
+ ],
+ "name" : "TCUUserMessage",
+ "pools" : [
+ ],
+ "super" : "TCUMessage",
+ "type" : "normal" }
diff --git a/packages/TelegramClient-UI.package/TCUUserMessageWrapper.class/README.md b/packages/TelegramClient-UI.package/TCUUserMessageWrapper.class/README.md
new file mode 100644
index 000000000..20a8142e2
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUUserMessageWrapper.class/README.md
@@ -0,0 +1 @@
+wraps TCUMessage to add profile photo in group chats and align the message depending on senderType
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUUserMessageWrapper.class/class/defaultPhotoSize.st b/packages/TelegramClient-UI.package/TCUUserMessageWrapper.class/class/defaultPhotoSize.st
new file mode 100644
index 000000000..ffb4ba783
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUUserMessageWrapper.class/class/defaultPhotoSize.st
@@ -0,0 +1,4 @@
+default values
+defaultPhotoSize
+
+ ^ 40
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUUserMessageWrapper.class/class/newFromMessage.withWidth..st b/packages/TelegramClient-UI.package/TCUUserMessageWrapper.class/class/newFromMessage.withWidth..st
new file mode 100644
index 000000000..cff19c9ec
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUUserMessageWrapper.class/class/newFromMessage.withWidth..st
@@ -0,0 +1,9 @@
+instance creation
+newFromMessage: aMessage withWidth: aNumber
+
+ ^ (self basicNew)
+ message: aMessage;
+ initialize;
+ width: aNumber;
+ height: aMessage height;
+ yourself
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUUserMessageWrapper.class/instance/addProfilePhoto.st b/packages/TelegramClient-UI.package/TCUUserMessageWrapper.class/instance/addProfilePhoto.st
new file mode 100644
index 000000000..e85c82708
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUUserMessageWrapper.class/instance/addProfilePhoto.st
@@ -0,0 +1,13 @@
+constructing
+addProfilePhoto
+
+ | promise morph |
+ self message messageModel senderUser hasPhoto ifTrue: [
+ promise := self message messageModel core imageStore getFormPromiseFor: self message messageModel senderUser photoId.
+ promise >>= [:aForm |
+ morph := (aForm scaledToSize: self class defaultPhotoSize) asMorph.
+ self addMorphFront: morph.
+ ]
+ ] ifFalse: [
+ self addMorphFront: (TCUDefaultValues defaultProfilePhoto scaledToSize: self class defaultPhotoSize) asMorph.
+ ].
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUUserMessageWrapper.class/instance/initialize.st b/packages/TelegramClient-UI.package/TCUUserMessageWrapper.class/instance/initialize.st
new file mode 100644
index 000000000..d24b69b4b
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUUserMessageWrapper.class/instance/initialize.st
@@ -0,0 +1,18 @@
+initialization
+initialize
+
+ super initialize.
+ self
+ cellInset: self class defaultMessageMargin;
+ color: Color transparent;
+ layoutPolicy: TableLayout new;
+ cellPositioning: #bottomCenter;
+ borderWidth: 0;
+ yourself.
+
+ self message isOutgoing
+ ifTrue: [ self listDirection: #rightToLeft ]
+ ifFalse: [ self listDirection: #leftToRight ].
+
+ self addMorph: self message.
+ self message messageModel chat isGroup ifTrue: [self addProfilePhoto].
\ No newline at end of file
diff --git a/packages/TelegramClient-UI.package/TCUUserMessageWrapper.class/methodProperties.json b/packages/TelegramClient-UI.package/TCUUserMessageWrapper.class/methodProperties.json
new file mode 100644
index 000000000..cdcd5fc2e
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUUserMessageWrapper.class/methodProperties.json
@@ -0,0 +1,7 @@
+{
+ "class" : {
+ "defaultPhotoSize" : "JS 6/11/2022 11:32",
+ "newFromMessage:withWidth:" : "js 7/31/2022 10:45" },
+ "instance" : {
+ "addProfilePhoto" : "rgw 7/24/2022 14:48",
+ "initialize" : "js 7/31/2022 10:06" } }
diff --git a/packages/TelegramClient-UI.package/TCUUserMessageWrapper.class/properties.json b/packages/TelegramClient-UI.package/TCUUserMessageWrapper.class/properties.json
new file mode 100644
index 000000000..b53179858
--- /dev/null
+++ b/packages/TelegramClient-UI.package/TCUUserMessageWrapper.class/properties.json
@@ -0,0 +1,14 @@
+{
+ "category" : "TelegramClient-UI",
+ "classinstvars" : [
+ ],
+ "classvars" : [
+ ],
+ "commentStamp" : "JS 6/11/2022 11:50",
+ "instvars" : [
+ ],
+ "name" : "TCUUserMessageWrapper",
+ "pools" : [
+ ],
+ "super" : "TCUMessageWrapper",
+ "type" : "normal" }
diff --git a/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/setUp.st b/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/setUp.st
index 045616bfe..bf22bf2c2 100644
--- a/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/setUp.st
+++ b/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/setUp.st
@@ -1,17 +1,20 @@
running
setUp
+ | message |
super setUp.
self chat: (TCCChat new
id: 1337;
core: self core;
yourself).
+ self core chatsHandler chats add: self chat.
1 to: 5 do: [:aNumber |
- self chat messages add: (TCCTextMessage new
+ message := (TCCTextMessage new
text: aNumber asString;
chat: self chat;
userId: aNumber * 3;
id: aNumber * 4;
- date: (DateAndTime fromUnixTime: aNumber * 60))].
\ No newline at end of file
+ date: (DateAndTime fromUnixTime: aNumber * 60)).
+ self chat addNewestMessage: message.]
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testAddMessage.st b/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testAddMessage.st
new file mode 100644
index 000000000..353c9d22f
--- /dev/null
+++ b/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testAddMessage.st
@@ -0,0 +1,8 @@
+testing
+testAddMessage
+
+ | message |
+ message := TCCTextMessage new id: 13.
+ self chat addMessage: message.
+ self assert: 5 equals: self chat messages size.
+ self assert: message equals: (self chat getMessageById: 13)
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testAddNewestMessage.st b/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testAddNewestMessage.st
index 7f9f3cb7b..89b78652e 100644
--- a/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testAddNewestMessage.st
+++ b/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testAddNewestMessage.st
@@ -1,5 +1,7 @@
testing
testAddNewestMessage
- self chat addNewestMessage: (TCCTextMessage new text: 'test').
+ self chat addNewestMessage: (TCCTextMessage new
+ text: 'test';
+ date: DateAndTime today).
self assert: 'test' equals: self chat messages first asText.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testAddOldestMessage.st b/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testAddOldestMessage.st
index d5e80954c..3caa817dc 100644
--- a/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testAddOldestMessage.st
+++ b/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testAddOldestMessage.st
@@ -1,5 +1,8 @@
testing
testAddOldestMessage
- self chat addOldestMessage: (TCCTextMessage new text: 'test').
+ self chat addOldestMessage: (TCCTextMessage new
+ text: 'test';
+ date: (DateAndTime fromUnixTime: 0)
+ ).
self assert: 'test' equals: self chat messages last asText.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testChatCorrectlyConstructedFromJson.st b/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testChatCorrectlyConstructedFromJson.st
new file mode 100644
index 000000000..1eb6f985e
--- /dev/null
+++ b/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testChatCorrectlyConstructedFromJson.st
@@ -0,0 +1,14 @@
+testing
+testChatCorrectlyConstructedFromJson
+
+ | mockChat |
+
+ mockChat := TCCChat newFromChatEvent: (TCTMMocks mockChatEvent at: 'chat').
+
+ self assert: 'MockChat' equals: mockChat title.
+ self assert: TCTMMocks mockBasicGroupChat id equals: mockChat id.
+ self assert: true equals: mockChat canSendMessages.
+ self assert: false equals: mockChat muted.
+ self assert: TCTMMocks mockImageId equals: mockChat photoId.
+ self assert: true equals: mockChat hasPhoto.
+ self assert: false equals: mockChat isPinned.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testChatNoPhotoCorrectlyConstructedFromJson.st b/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testChatNoPhotoCorrectlyConstructedFromJson.st
new file mode 100644
index 000000000..ad6eff63e
--- /dev/null
+++ b/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testChatNoPhotoCorrectlyConstructedFromJson.st
@@ -0,0 +1,12 @@
+testing
+testChatNoPhotoCorrectlyConstructedFromJson
+
+ | mockChat |
+
+ mockChat := TCCChat newFromChatEvent: (TCTMMocks mockChatEventNoPhoto at: 'chat').
+
+ self assert: 'MockChat' equals: mockChat title.
+ self assert: TCTMMocks mockBasicGroupChat id equals: mockChat id.
+ self assert: true equals: mockChat canSendMessages.
+ self assert: false equals: mockChat muted.
+ self assert: false equals: mockChat hasPhoto.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testGetMessageById.st b/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testGetMessageById.st
new file mode 100644
index 000000000..8de5fbc24
--- /dev/null
+++ b/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testGetMessageById.st
@@ -0,0 +1,7 @@
+testing
+testGetMessageById
+
+ | message |
+
+ message := self chat getMessageById: 16.
+ self assert: '4' equals: message asText
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testHandleMessageRequest.st b/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testHandleMessageRequest.st
new file mode 100644
index 000000000..518cff691
--- /dev/null
+++ b/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testHandleMessageRequest.st
@@ -0,0 +1,13 @@
+testing
+testHandleMessageRequest
+
+ | messageRequest receiver |
+ self mockTeleClient onRequestType: 'getChatHistory' respond: (TCTMMocks mockChatHistoryJsonContainingMessageId: 1 inChat: self chat id).
+ receiver := TCTMFunctionCalledVerifier new.
+ messageRequest := TCCMessageRequest new messageId: 1;
+ completionReceiver: receiver;
+ completionMessage: #call:.
+ self chat handleMessageRequest: messageRequest.
+ 1 seconds wait.
+ self assert: (self chat messageIds anySatisfy: [:id| id = 1]).
+ self assert: receiver isCalled.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testHandleMessageRequestAlreadyLoaded.st b/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testHandleMessageRequestAlreadyLoaded.st
new file mode 100644
index 000000000..47aa20c04
--- /dev/null
+++ b/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testHandleMessageRequestAlreadyLoaded.st
@@ -0,0 +1,10 @@
+testing
+testHandleMessageRequestAlreadyLoaded
+
+ | messageRequest receiver |
+ receiver := TCTMFunctionCalledVerifier new.
+ messageRequest := TCCMessageRequest new messageId: 4;
+ completionReceiver: receiver;
+ completionMessage: #call:.
+ self chat handleMessageRequest: messageRequest.
+ self assert: receiver isCalled.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testIsFirstMessageOfDay.st b/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testIsFirstMessageOfDay.st
new file mode 100644
index 000000000..e70967a78
--- /dev/null
+++ b/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testIsFirstMessageOfDay.st
@@ -0,0 +1,10 @@
+testing
+testIsFirstMessageOfDay
+
+ | messageYesterday messageToday |
+ messageYesterday := TCTMMocks mockTextMessageWith: self core withDate: (DateAndTime yesterday).
+ messageToday := TCTMMocks mockTextMessageWith: self core withDate: (DateAndTime today).
+ self chat addNewestMessage: messageYesterday.
+ self chat addNewestMessage: messageToday.
+ self assert: messageToday isFirstMessageOfDay.
+ self assert: messageYesterday isLastMessageOfDay.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testIsLastMessageOfDay.st b/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testIsLastMessageOfDay.st
new file mode 100644
index 000000000..a651ddbf3
--- /dev/null
+++ b/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testIsLastMessageOfDay.st
@@ -0,0 +1,10 @@
+testing
+testIsLastMessageOfDay
+
+ | messageYesterday messageToday |
+ messageYesterday := TCTMMocks mockTextMessageWith: self core withDate: (DateAndTime yesterday).
+ messageToday := TCTMMocks mockTextMessageWith: self core withDate: (DateAndTime today).
+ self chat addOldestMessage: messageToday.
+ self chat addOldestMessage: messageYesterday.
+ self assert: messageYesterday isLastMessageOfDay.
+ self assert: messageToday isFirstMessageOfDay.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testIsNotFirstMessageOfDay.st b/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testIsNotFirstMessageOfDay.st
new file mode 100644
index 000000000..78a155e2e
--- /dev/null
+++ b/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testIsNotFirstMessageOfDay.st
@@ -0,0 +1,10 @@
+testing
+testIsNotFirstMessageOfDay
+
+ | messageLaterToday messageToday |
+ messageToday := TCTMMocks mockTextMessageWith: self core withDate: (DateAndTime today).
+ messageLaterToday := TCTMMocks mockTextMessageWith: self core withDate: (DateAndTime today + 1).
+ self chat addNewestMessage: messageToday.
+ self chat addNewestMessage: messageLaterToday.
+ self deny: messageLaterToday isFirstMessageOfDay.
+ self deny: messageToday isLastMessageOfDay.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testIsNotLastMessageOfDay.st b/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testIsNotLastMessageOfDay.st
new file mode 100644
index 000000000..85badc490
--- /dev/null
+++ b/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testIsNotLastMessageOfDay.st
@@ -0,0 +1,10 @@
+testing
+testIsNotLastMessageOfDay
+
+ | messageLaterToday messageToday |
+ messageToday := TCTMMocks mockTextMessageWith: self core withDate: (DateAndTime today).
+ messageLaterToday := TCTMMocks mockTextMessageWith: self core withDate: (DateAndTime today + 1).
+ self chat addOldestMessage: messageLaterToday.
+ self chat addOldestMessage: messageToday.
+ self deny: messageToday isLastMessageOfDay.
+ self deny: messageLaterToday isFirstMessageOfDay.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testLastMessage.st b/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testLastMessage.st
index b54be034d..93798e31b 100644
--- a/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testLastMessage.st
+++ b/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testLastMessage.st
@@ -1,5 +1,5 @@
testing
testLastMessage
- self chat lastMessage: 'test'.
- self assert: 'test' equals: self chat lastMessage.
\ No newline at end of file
+ self chat lastMessageText: 'test'.
+ self assert: 'test' equals: self chat lastMessageText.
diff --git a/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testLastMessageDate.st b/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testLastMessageDate.st
new file mode 100644
index 000000000..6e5802b72
--- /dev/null
+++ b/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testLastMessageDate.st
@@ -0,0 +1,6 @@
+testing
+testLastMessageDate
+
+ | lastMessageDate |
+ lastMessageDate := self chat lastMessageDate.
+ self assert: (DateAndTime fromUnixTime: 5 * 60) equals: lastMessageDate.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testMessages.st b/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testMessages.st
index cbf914e49..551aae346 100644
--- a/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testMessages.st
+++ b/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testMessages.st
@@ -1,9 +1,18 @@
testing
testMessages
- | collection |
+ | message1 message2 messageIds messages |
+
+ message1 := TCCMessage new id: 1.
+ message2 := TCCMessage new id: 2.
+ messageIds := OrderedCollection newFrom: {message1 id. message2 id}.
+ messages := OrderedCollection newFrom: {message1. message2}.
- collection := OrderedCollection newFrom: {TCCMessage new. TCCMessage new}.
+ self chat messageIds: messageIds.
+ self chat addMessage: message1.
+ self chat addMessage: message2.
- self chat messages: collection.
- self assert: collection equals: self chat messages.
\ No newline at end of file
+ self assert: messageIds equals: self chat messageIds.
+ self assert: message1 equals: (self chat messageDictionary at: message1 id) value.
+ self assert: message2 equals: (self chat messageDictionary at: message2 id) value.
+ self assert: messages equals: self chat messages.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testOldestLoadedMessageDate.st b/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testOldestLoadedMessageDate.st
new file mode 100644
index 000000000..eb5126181
--- /dev/null
+++ b/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testOldestLoadedMessageDate.st
@@ -0,0 +1,6 @@
+testing
+testOldestLoadedMessageDate
+
+ | oldestMessageDate |
+ oldestMessageDate := self chat oldestLoadedMessageDate.
+ self assert: (DateAndTime fromUnixTime: 60) equals: oldestMessageDate.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testStillRequestedMessages.st b/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testStillRequestedMessages.st
index eda441857..2dacd5d7c 100644
--- a/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testStillRequestedMessages.st
+++ b/packages/TelegramClientTests-Core.package/TCTCChatTests.class/instance/testStillRequestedMessages.st
@@ -8,5 +8,5 @@ testStillRequestedMessages
self chat requestMessages: 20.
self assert: 20 equals: self chat stillRequestedMessages.
- self chat addOldestMessage: TCCMessage new.
+ self chat addOldestMessage: (TCCMessage new date: (DateAndTime fromUnixTime: 0)).
self assert: 19 equals: self chat stillRequestedMessages.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Core.package/TCTCChatTests.class/methodProperties.json b/packages/TelegramClientTests-Core.package/TCTCChatTests.class/methodProperties.json
index 43e6f0881..484f07d4b 100644
--- a/packages/TelegramClientTests-Core.package/TCTCChatTests.class/methodProperties.json
+++ b/packages/TelegramClientTests-Core.package/TCTCChatTests.class/methodProperties.json
@@ -4,17 +4,29 @@
"instance" : {
"chat" : "LL 8/2/2020 20:25",
"chat:" : "LL 8/2/2020 20:26",
- "setUp" : "tom.richter 7/25/2021 11:24",
- "testAddNewestMessage" : "RS 7/31/2021 15:45",
- "testAddOldestMessage" : "TR 6/22/2021 09:49",
+ "setUp" : "aka 7/10/2022 12:22",
+ "testAddMessage" : "rgw 8/5/2022 09:47",
+ "testAddNewestMessage" : "aka 7/10/2022 12:30",
+ "testAddOldestMessage" : "aka 7/10/2022 12:31",
+ "testChatCorrectlyConstructedFromJson" : "js 6/18/2022 10:46",
+ "testChatNoPhotoCorrectlyConstructedFromJson" : "rgw 6/2/2022 16:17",
+ "testGetMessageById" : "rgw 8/5/2022 09:41",
+ "testHandleMessageRequest" : "aka 6/15/2022 11:54",
+ "testHandleMessageRequestAlreadyLoaded" : "aka 6/15/2022 11:59",
"testId" : "pk 8/5/2021 17:13",
- "testLastMessage" : "per 5/21/2021 16:31",
- "testMessage" : "pk 8/5/2021 17:06",
- "testMessages" : "per 5/21/2021 16:30",
+ "testIsFirstMessageOfDay" : "aka 7/14/2022 15:51",
+ "testIsLastMessageOfDay" : "aka 7/14/2022 15:52",
+ "testIsNotFirstMessageOfDay" : "ek 8/5/2022 14:59",
+ "testIsNotLastMessageOfDay" : "ek 8/5/2022 15:01",
+ "testLastMessage" : "aka 7/10/2022 11:12",
+ "testLastMessageDate" : "aka 7/10/2022 11:42",
+ "testMessage" : "js 7/31/2022 10:31",
+ "testMessages" : "ek 8/5/2022 15:04",
"testMessagesSize" : "per 5/21/2021 16:30",
"testNullId" : "pk 8/5/2021 17:13",
"testNullMessages" : "js 8/2/2020 21:17",
+ "testOldestLoadedMessageDate" : "aka 7/10/2022 11:40",
"testPosition" : "per 5/21/2021 16:30",
- "testStillRequestedMessages" : "per 5/21/2021 16:29",
+ "testStillRequestedMessages" : "aka 7/10/2022 12:32",
"testTitle" : "per 5/21/2021 16:29",
"testWaitingForUpdate" : "js 8/2/2020 20:58" } }
diff --git a/packages/TelegramClientTests-Core.package/TCTCClientTests.class/instance/testClientConstants.st b/packages/TelegramClientTests-Core.package/TCTCClientTests.class/instance/testClientConstants.st
index ff856be5e..515215748 100644
--- a/packages/TelegramClientTests-Core.package/TCTCClientTests.class/instance/testClientConstants.st
+++ b/packages/TelegramClientTests-Core.package/TCTCClientTests.class/instance/testClientConstants.st
@@ -2,5 +2,4 @@ testing
testClientConstants
{TCCLinuxClient . TCCWindowsClient . TCCMacClient} do: [:aClientClass |
- self assert: aClientClass downloadUrl isString.
- self assert: aClientClass fileName isString].
\ No newline at end of file
+ self assert: aClientClass downloadUrl isString].
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Core.package/TCTCClientTests.class/methodProperties.json b/packages/TelegramClientTests-Core.package/TCTCClientTests.class/methodProperties.json
index 14caa67c6..7168947fc 100644
--- a/packages/TelegramClientTests-Core.package/TCTCClientTests.class/methodProperties.json
+++ b/packages/TelegramClientTests-Core.package/TCTCClientTests.class/methodProperties.json
@@ -2,5 +2,5 @@
"class" : {
},
"instance" : {
- "testClientConstants" : "js 8/2/2020 21:34",
+ "testClientConstants" : "rgw 7/16/2022 18:44",
"testClientDestroysHandle" : "RS 7/31/2021 16:03" } }
diff --git a/packages/TelegramClientTests-Core.package/TCTCCoreResource.class/instance/isCoreReadyForSetup.st b/packages/TelegramClientTests-Core.package/TCTCCoreResource.class/instance/isCoreReadyForSetup.st
index 46a9ff6fe..da0955b42 100644
--- a/packages/TelegramClientTests-Core.package/TCTCCoreResource.class/instance/isCoreReadyForSetup.st
+++ b/packages/TelegramClientTests-Core.package/TCTCCoreResource.class/instance/isCoreReadyForSetup.st
@@ -1,4 +1,4 @@
controlling
isCoreReadyForSetup
- ^ self core authenticationHandler isAwaitingPhoneNumber or: [self core authenticationHandler isAuthorizationStateReady]
\ No newline at end of file
+ ^ self core authenticationHandler isAwaitingPhoneNumber or: [self core authenticationHandler isAuthorizationStateReady or: [self core authenticationHandler isAwaitingAuthPassword]]
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Core.package/TCTCCoreResource.class/methodProperties.json b/packages/TelegramClientTests-Core.package/TCTCCoreResource.class/methodProperties.json
index 5ed090af8..fd2e414bb 100644
--- a/packages/TelegramClientTests-Core.package/TCTCCoreResource.class/methodProperties.json
+++ b/packages/TelegramClientTests-Core.package/TCTCCoreResource.class/methodProperties.json
@@ -6,6 +6,6 @@
"core:" : "TR 6/13/2021 14:53",
"ensureLoggedIn" : "RS 7/31/2021 15:59",
"ensureLoggedOut" : "RS 7/31/2021 15:59",
- "isCoreReadyForSetup" : "JB 8/4/2021 00:04",
+ "isCoreReadyForSetup" : "rgw 7/1/2022 10:46",
"setUp" : "RS 8/3/2021 10:34",
"tearDown" : "JB 8/4/2021 00:04" } }
diff --git a/packages/TelegramClientTests-Core.package/TCTCMessageTests.class/instance/testMessageAddMembersCorrectlyConstructedFromJson.st b/packages/TelegramClientTests-Core.package/TCTCMessageTests.class/instance/testMessageAddMembersCorrectlyConstructedFromJson.st
new file mode 100644
index 000000000..7e0435098
--- /dev/null
+++ b/packages/TelegramClientTests-Core.package/TCTCMessageTests.class/instance/testMessageAddMembersCorrectlyConstructedFromJson.st
@@ -0,0 +1,12 @@
+testing
+testMessageAddMembersCorrectlyConstructedFromJson
+
+ | chat addMembersEvent addMembersMessage |
+
+ chat := TCTMMocks mockBasicGroupChat.
+ addMembersEvent := TCTMMocks mockMessageAddMembersFrom: {TCTMMocks mockUser1 id} to: chat id.
+ addMembersMessage := TCCMessage newFromMessageEvent: addMembersEvent in: chat with: self core.
+
+ self assert: addMembersMessage members equals: {TCTMMocks mockUser1 id}.
+ self assert: 'Added: Test User' equals: addMembersMessage asSnippet.
+ self assert: 'Added: Test User' equals: addMembersMessage asText.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Core.package/TCTCMessageTests.class/instance/testMessageCorrectlyConstructedFromJson.st b/packages/TelegramClientTests-Core.package/TCTCMessageTests.class/instance/testMessageCorrectlyConstructedFromJson.st
index b5791b7bb..47845f6e8 100644
--- a/packages/TelegramClientTests-Core.package/TCTCMessageTests.class/instance/testMessageCorrectlyConstructedFromJson.st
+++ b/packages/TelegramClientTests-Core.package/TCTCMessageTests.class/instance/testMessageCorrectlyConstructedFromJson.st
@@ -10,4 +10,5 @@ testMessageCorrectlyConstructedFromJson
self assert: TCTMMocks mockMessageId equals: message id.
self assert: TCTMMocks mockMessageDate equals: message date.
self assert: false equals: message isOutgoing.
- self assert: TCTMMocks mockUser1 id equals: message userId.
\ No newline at end of file
+ self assert: TCTMMocks mockUser1 id equals: message userId.
+ self assert: 0 equals: message replyToMessageId.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Core.package/TCTCMessageTests.class/instance/testMessageDeleteMemberCorrectlyConstructedFromJson.st b/packages/TelegramClientTests-Core.package/TCTCMessageTests.class/instance/testMessageDeleteMemberCorrectlyConstructedFromJson.st
new file mode 100644
index 000000000..c6a1c5ef0
--- /dev/null
+++ b/packages/TelegramClientTests-Core.package/TCTCMessageTests.class/instance/testMessageDeleteMemberCorrectlyConstructedFromJson.st
@@ -0,0 +1,12 @@
+testing
+testMessageDeleteMemberCorrectlyConstructedFromJson
+
+ | chat deleteMemberEvent deleteMemberMessage |
+
+ chat := TCTMMocks mockBasicGroupChat.
+ deleteMemberEvent := TCTMMocks mockMessageDeleteMemberWith: TCTMMocks mockUser1 id from: chat id.
+ deleteMemberMessage := TCCMessage newFromMessageEvent: deleteMemberEvent in: chat with: self core.
+
+ self assert: deleteMemberMessage member equals: (TCTMMocks mockUser1 id).
+ self assert: 'Removed: Test User' equals: deleteMemberMessage asSnippet.
+ self assert: 'Removed: Test User' equals: deleteMemberMessage asText.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Core.package/TCTCMessageTests.class/instance/testMessageIsReply.st b/packages/TelegramClientTests-Core.package/TCTCMessageTests.class/instance/testMessageIsReply.st
new file mode 100644
index 000000000..cd153b102
--- /dev/null
+++ b/packages/TelegramClientTests-Core.package/TCTCMessageTests.class/instance/testMessageIsReply.st
@@ -0,0 +1,10 @@
+testing
+testMessageIsReply
+
+ | chat replyMessage originalMessage |
+ chat := TCTMMocks mockPrivateChat.
+ originalMessage := TCTMMocks mockTextMessageWith: self core inChat: chat.
+ replyMessage := TCTMMocks mockTextReplyMessageWith: self core inChat: chat.
+
+ self deny: originalMessage isReply.
+ self assert: replyMessage isReply.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Core.package/TCTCMessageTests.class/instance/testMessageReplySnippetTruncates.st b/packages/TelegramClientTests-Core.package/TCTCMessageTests.class/instance/testMessageReplySnippetTruncates.st
new file mode 100644
index 000000000..4235d9ebe
--- /dev/null
+++ b/packages/TelegramClientTests-Core.package/TCTCMessageTests.class/instance/testMessageReplySnippetTruncates.st
@@ -0,0 +1,8 @@
+testing
+testMessageReplySnippetTruncates
+
+ | message |
+ message := TCTMMocks mockTextMessageWith: self core.
+ message text: ((String new: 250) atAllPut: $A).
+
+ self assert: message asReplySnippet size - message senderName size - 4 <= (TCCMessage maxReplySnippetSize).
diff --git a/packages/TelegramClientTests-Core.package/TCTCMessageTests.class/instance/testMessageReplyText.st b/packages/TelegramClientTests-Core.package/TCTCMessageTests.class/instance/testMessageReplyText.st
new file mode 100644
index 000000000..f8e80f325
--- /dev/null
+++ b/packages/TelegramClientTests-Core.package/TCTCMessageTests.class/instance/testMessageReplyText.st
@@ -0,0 +1,12 @@
+testing
+testMessageReplyText
+
+ | chat replyMessage originalMessage |
+ chat := (TCTMMocks mockPrivateChat core: self core).
+ originalMessage := TCTMMocks mockTextMessageWith: self core inChat: chat.
+ replyMessage := TCTMMocks mockTextReplyMessageWith: self core inChat: chat.
+ chat
+ addNewestMessage: replyMessage;
+ addNewestMessage: originalMessage.
+
+ self assert: replyMessage replyText equals: originalMessage asReplySnippet.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Core.package/TCTCMessageTests.class/methodProperties.json b/packages/TelegramClientTests-Core.package/TCTCMessageTests.class/methodProperties.json
index f6cd633aa..d01d14f70 100644
--- a/packages/TelegramClientTests-Core.package/TCTCMessageTests.class/methodProperties.json
+++ b/packages/TelegramClientTests-Core.package/TCTCMessageTests.class/methodProperties.json
@@ -2,15 +2,20 @@
"class" : {
},
"instance" : {
- "testMessageCorrectlyConstructedFromJson" : "tom.richter 7/25/2021 11:26",
+ "testMessageAddMembersCorrectlyConstructedFromJson" : "ek 8/5/2022 15:07",
+ "testMessageCorrectlyConstructedFromJson" : "js 7/31/2022 10:28",
+ "testMessageDeleteMemberCorrectlyConstructedFromJson" : "ek 8/5/2022 15:08",
"testMessageHasTextRepresentation" : "tom.richter 6/26/2021 21:06",
+ "testMessageIsReply" : "ek 8/5/2022 15:09",
+ "testMessageReplySnippetTruncates" : "ek 8/5/2022 15:10",
+ "testMessageReplyText" : "rgw 8/5/2022 09:44",
"testMessageShouldNotNotify" : "RS 7/17/2021 10:53",
"testMessageShouldNotify" : "RS 7/17/2021 10:53",
- "testMessageWithMessageSenderChatCorrectlyConstructedFromJson" : "tr 7/25/2021 22:39",
- "testNotSupportedMessageTypeIdentifiedCorrectly" : "tom.richter 6/28/2021 13:54",
- "testPhotoMessageCorrectlyConstructedFromJson" : "tom.richter 6/28/2021 15:05",
- "testPhotoMessageTypeIdentifiedCorrectly" : "RK 6/26/2021 11:34",
+ "testMessageWithMessageSenderChatCorrectlyConstructedFromJson" : "js 7/31/2022 10:29",
+ "testNotSupportedMessageTypeIdentifiedCorrectly" : "js 7/31/2022 10:29",
+ "testPhotoMessageCorrectlyConstructedFromJson" : "js 7/31/2022 10:29",
+ "testPhotoMessageTypeIdentifiedCorrectly" : "js 7/31/2022 10:29",
"testSenderNameInChannelMessage" : "tom.richter 7/25/2021 11:36",
"testSenderNameInNonChannelMessage" : "per 7/17/2021 16:13",
- "testTextMessageCorrectlyConstructedFromJson" : "RK 6/26/2021 11:34",
- "testTextMessageTypeIdentifiedCorrectly" : "RK 6/26/2021 11:34" } }
+ "testTextMessageCorrectlyConstructedFromJson" : "js 7/31/2022 10:30",
+ "testTextMessageTypeIdentifiedCorrectly" : "js 7/31/2022 10:30" } }
diff --git a/packages/TelegramClientTests-Core.package/TCTCTestAuthenticationHandler.class/class/defaultApiHash.st b/packages/TelegramClientTests-Core.package/TCTCTestAuthenticationHandler.class/class/defaultApiHash.st
index 039a7157d..3e8c83401 100644
--- a/packages/TelegramClientTests-Core.package/TCTCTestAuthenticationHandler.class/class/defaultApiHash.st
+++ b/packages/TelegramClientTests-Core.package/TCTCTestAuthenticationHandler.class/class/defaultApiHash.st
@@ -1,4 +1,4 @@
default values
defaultApiHash
- ^ 'bda1c0b38033d2a5f2ce7e8ab06ef31a'
\ No newline at end of file
+ ^ '4e185ae9b3c3cbd21e9319645af6c12c'
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Core.package/TCTCTestAuthenticationHandler.class/class/defaultApiId.st b/packages/TelegramClientTests-Core.package/TCTCTestAuthenticationHandler.class/class/defaultApiId.st
index 84c0779df..b65b9f769 100644
--- a/packages/TelegramClientTests-Core.package/TCTCTestAuthenticationHandler.class/class/defaultApiId.st
+++ b/packages/TelegramClientTests-Core.package/TCTCTestAuthenticationHandler.class/class/defaultApiId.st
@@ -1,4 +1,4 @@
default values
defaultApiId
- ^ '1733417'
\ No newline at end of file
+ ^ '3016700'
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Core.package/TCTCTestAuthenticationHandler.class/methodProperties.json b/packages/TelegramClientTests-Core.package/TCTCTestAuthenticationHandler.class/methodProperties.json
index bbd85f693..2608e647b 100644
--- a/packages/TelegramClientTests-Core.package/TCTCTestAuthenticationHandler.class/methodProperties.json
+++ b/packages/TelegramClientTests-Core.package/TCTCTestAuthenticationHandler.class/methodProperties.json
@@ -1,6 +1,6 @@
{
"class" : {
- "defaultApiHash" : "JB 6/26/2021 17:25",
- "defaultApiId" : "pk 8/5/2021 17:08" },
+ "defaultApiHash" : "rgw 7/31/2022 16:30",
+ "defaultApiId" : "rgw 7/31/2022 16:30" },
"instance" : {
"useTestDC" : "rs 6/14/2020 12:41" } }
diff --git a/packages/TelegramClientTests-Core.package/TCTCTestCore.class/instance/loginWithTestData.st b/packages/TelegramClientTests-Core.package/TCTCTestCore.class/instance/loginWithTestData.st
index 4cf14b4f7..e02b81844 100644
--- a/packages/TelegramClientTests-Core.package/TCTCTestCore.class/instance/loginWithTestData.st
+++ b/packages/TelegramClientTests-Core.package/TCTCTestCore.class/instance/loginWithTestData.st
@@ -4,8 +4,8 @@ loginWithTestData
"See https://core.telegram.org/api/auth#test-phone-numbers. Choose random numbers to bypass flood limits."
| phoneNumber testX testYYYY |
- testX := $3. "($1 to: $3) atRandom"
- testYYYY := '1234'. "((1 to: 4) collect: [:i | ($0 to: $9) atRandom]) join"
+ testX := $2. "($1 to: $3) atRandom"
+ testYYYY := '2345'. "((1 to: 4) collect: [:i | ($0 to: $9) atRandom]) join"
phoneNumber := '99966' , testX , testYYYY.
self authenticationHandler sendPhoneNumber: phoneNumber.
diff --git a/packages/TelegramClientTests-Core.package/TCTCTestCore.class/methodProperties.json b/packages/TelegramClientTests-Core.package/TCTCTestCore.class/methodProperties.json
index a49829f9a..7ba8d33f8 100644
--- a/packages/TelegramClientTests-Core.package/TCTCTestCore.class/methodProperties.json
+++ b/packages/TelegramClientTests-Core.package/TCTCTestCore.class/methodProperties.json
@@ -9,4 +9,4 @@
"initialize" : "RS 6/13/2021 12:47",
"initializeHandlers" : "JB 8/4/2021 21:35",
"loggedEventsSatisfying:" : "RS 6/13/2021 17:06",
- "loginWithTestData" : "rgw 5/11/2022 16:10" } }
+ "loginWithTestData" : "rgw 7/31/2022 16:38" } }
diff --git a/packages/TelegramClientTests-Core.package/TCTCUserTest.class/instance/testUserConstructor.st b/packages/TelegramClientTests-Core.package/TCTCUserTest.class/instance/testUserConstructor.st
index 2566ab21b..8d074c46d 100644
--- a/packages/TelegramClientTests-Core.package/TCTCUserTest.class/instance/testUserConstructor.st
+++ b/packages/TelegramClientTests-Core.package/TCTCUserTest.class/instance/testUserConstructor.st
@@ -7,4 +7,6 @@ testUserConstructor
self assert: TCTMMocks mockUser1 firstName equals: user firstName.
self assert: TCTMMocks mockUser1 lastName equals: user lastName.
self assert: TCTMMocks mockUser1 username equals: user username.
- self assert: TCTMMocks mockUser1 fullName equals: user fullName.
\ No newline at end of file
+ self assert: TCTMMocks mockUser1 fullName equals: user fullName.
+ self assert: TCTMMocks mockUser1 photoId equals: user photoId.
+ self assert: true equals: user hasPhoto.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Core.package/TCTCUserTest.class/methodProperties.json b/packages/TelegramClientTests-Core.package/TCTCUserTest.class/methodProperties.json
index c374c491e..1a3ce7970 100644
--- a/packages/TelegramClientTests-Core.package/TCTCUserTest.class/methodProperties.json
+++ b/packages/TelegramClientTests-Core.package/TCTCUserTest.class/methodProperties.json
@@ -2,7 +2,7 @@
"class" : {
},
"instance" : {
- "testUserConstructor" : "TR 6/13/2021 14:47",
+ "testUserConstructor" : "ek 8/5/2022 15:12",
"testUserEquality" : "TR 6/13/2021 15:50",
"testUserHash" : "TR 6/13/2021 15:49",
"testUserInequality" : "TR 6/13/2021 15:49" } }
diff --git a/packages/TelegramClientTests-Misc.package/TCTMFunctionCalledVerifier.class/README.md b/packages/TelegramClientTests-Misc.package/TCTMFunctionCalledVerifier.class/README.md
new file mode 100644
index 000000000..037f88bd2
--- /dev/null
+++ b/packages/TelegramClientTests-Misc.package/TCTMFunctionCalledVerifier.class/README.md
@@ -0,0 +1 @@
+Helps you to verify if a function was called on an instance of this class.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Misc.package/TCTMFunctionCalledVerifier.class/instance/call..st b/packages/TelegramClientTests-Misc.package/TCTMFunctionCalledVerifier.class/instance/call..st
new file mode 100644
index 000000000..687914849
--- /dev/null
+++ b/packages/TelegramClientTests-Misc.package/TCTMFunctionCalledVerifier.class/instance/call..st
@@ -0,0 +1,4 @@
+initialize-release
+call: anArg
+
+ self isCalled: true.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Misc.package/TCTMFunctionCalledVerifier.class/instance/initialize.st b/packages/TelegramClientTests-Misc.package/TCTMFunctionCalledVerifier.class/instance/initialize.st
new file mode 100644
index 000000000..96a536967
--- /dev/null
+++ b/packages/TelegramClientTests-Misc.package/TCTMFunctionCalledVerifier.class/instance/initialize.st
@@ -0,0 +1,6 @@
+initialize-release
+initialize
+
+ super initialize.
+
+ self isCalled: false.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Misc.package/TCTMFunctionCalledVerifier.class/instance/isCalled..st b/packages/TelegramClientTests-Misc.package/TCTMFunctionCalledVerifier.class/instance/isCalled..st
new file mode 100644
index 000000000..1e74bc49b
--- /dev/null
+++ b/packages/TelegramClientTests-Misc.package/TCTMFunctionCalledVerifier.class/instance/isCalled..st
@@ -0,0 +1,4 @@
+accessing
+isCalled: aBoolean
+
+ isCalled := aBoolean
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Misc.package/TCTMFunctionCalledVerifier.class/instance/isCalled.st b/packages/TelegramClientTests-Misc.package/TCTMFunctionCalledVerifier.class/instance/isCalled.st
new file mode 100644
index 000000000..478c411bb
--- /dev/null
+++ b/packages/TelegramClientTests-Misc.package/TCTMFunctionCalledVerifier.class/instance/isCalled.st
@@ -0,0 +1,4 @@
+accessing
+isCalled
+
+ ^ isCalled
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Misc.package/TCTMFunctionCalledVerifier.class/methodProperties.json b/packages/TelegramClientTests-Misc.package/TCTMFunctionCalledVerifier.class/methodProperties.json
new file mode 100644
index 000000000..c15dfd97f
--- /dev/null
+++ b/packages/TelegramClientTests-Misc.package/TCTMFunctionCalledVerifier.class/methodProperties.json
@@ -0,0 +1,8 @@
+{
+ "class" : {
+ },
+ "instance" : {
+ "call:" : "LR 6/11/2022 15:03",
+ "initialize" : "LR 6/11/2022 15:01",
+ "isCalled" : "aka 6/15/2022 11:48",
+ "isCalled:" : "aka 6/15/2022 11:48" } }
diff --git a/packages/TelegramClientTests-Misc.package/TCTMFunctionCalledVerifier.class/properties.json b/packages/TelegramClientTests-Misc.package/TCTMFunctionCalledVerifier.class/properties.json
new file mode 100644
index 000000000..c6c060be4
--- /dev/null
+++ b/packages/TelegramClientTests-Misc.package/TCTMFunctionCalledVerifier.class/properties.json
@@ -0,0 +1,14 @@
+{
+ "category" : "TelegramClientTests-Misc",
+ "classinstvars" : [
+ ],
+ "classvars" : [
+ ],
+ "commentStamp" : "aka 6/15/2022 12:07",
+ "instvars" : [
+ "isCalled" ],
+ "name" : "TCTMFunctionCalledVerifier",
+ "pools" : [
+ ],
+ "super" : "Object",
+ "type" : "normal" }
diff --git a/packages/TelegramClientTests-Misc.package/TCTMMockTdlibClient.class/methodProperties.json b/packages/TelegramClientTests-Misc.package/TCTMMockTdlibClient.class/methodProperties.json
index 8a79545c3..a4132dcf8 100644
--- a/packages/TelegramClientTests-Misc.package/TCTMMockTdlibClient.class/methodProperties.json
+++ b/packages/TelegramClientTests-Misc.package/TCTMMockTdlibClient.class/methodProperties.json
@@ -3,7 +3,7 @@
"authorizationStateReadyEvent" : "RS 6/3/2021 12:05" },
"instance" : {
"addExtraAttribute:to:" : "RS 6/6/2021 12:29",
- "appendResponsesToRequest:" : "RS 6/6/2021 12:33",
+ "appendResponsesToRequest:" : "LR 6/15/2022 10:07",
"execute:" : "RS 6/3/2021 11:49",
"free" : "RS 6/25/2021 12:30",
"freed" : "RS 6/25/2021 12:28",
@@ -13,7 +13,7 @@
"logIn" : "JB 6/7/2021 09:13",
"onRequestType:respond:" : "RS 6/6/2021 12:20",
"onRequestType:respondAll:" : "RS 6/6/2021 12:22",
- "receive:" : "JB 6/7/2021 09:13",
+ "receive:" : "LR 6/15/2022 10:08",
"requestResponses" : "JB 6/7/2021 09:12",
"requestResponses:" : "JB 6/7/2021 09:12",
"responseQueue" : "JB 6/7/2021 09:12",
diff --git a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockChatEvent.st b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockChatEvent.st
new file mode 100644
index 000000000..4e6fd6052
--- /dev/null
+++ b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockChatEvent.st
@@ -0,0 +1,29 @@
+chat event
+mockChatEvent
+ "@linter-ignore"
+
+ ^ (JsonObject newFrom: {
+ '@type' -> 'chat'.
+ 'chat' -> (JsonObject newFrom: {
+ 'id' -> self mockBasicGroupChat id.
+ 'title' -> 'MockChat'.
+ 'type' -> (JsonObject newFrom: {
+ '@type' -> 'chatTypeBasicGroup'.
+ 'basic_group_id' -> self mockBasicGroupChat id.
+ }).
+ 'notification_settings' -> (JsonObject newFrom: {
+ 'mute_for' -> 0
+ }).
+ 'permissions' -> (JsonObject newFrom: {
+ '@type' -> 'chatPermissions'.
+ 'can_send_messages' -> true.
+ }).
+ 'photo' -> (JsonObject newFrom: {
+ '@type' -> 'chatPhotoInfo'.
+ 'small' -> (JsonObject newFrom: {
+ '@type' -> 'file'.
+ 'id' -> self mockImageId
+ }).
+ }).
+ })
+ })
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockChatEventMutedFor..st b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockChatEventMutedFor..st
index 534048f92..8a1b422ab 100644
--- a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockChatEventMutedFor..st
+++ b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockChatEventMutedFor..st
@@ -11,7 +11,8 @@ mockChatEventMutedFor: aNumber
'basic_group_id' -> self mockBasicGroupChat id.
}).
'permissions' -> (JsonObject newFrom: {
- '@type' -> 'can_send_messages'
+ '@type' -> 'chatPermissions'.
+ 'can_send_messages' -> true.
}).
'notification_settings' -> (JsonObject newFrom: {
'mute_for' -> aNumber
diff --git a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockChatEventNoPhoto.st b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockChatEventNoPhoto.st
new file mode 100644
index 000000000..a4b95c8d7
--- /dev/null
+++ b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockChatEventNoPhoto.st
@@ -0,0 +1,22 @@
+chat event
+mockChatEventNoPhoto
+ "@linter-ignore"
+
+ ^ (JsonObject newFrom: {
+ '@type' -> 'chat'.
+ 'chat' -> (JsonObject newFrom: {
+ 'id' -> self mockBasicGroupChat id.
+ 'title' -> 'MockChat'.
+ 'type' -> (JsonObject newFrom: {
+ '@type' -> 'chatTypeBasicGroup'.
+ 'basic_group_id' -> self mockBasicGroupChat id.
+ }).
+ 'notification_settings' -> (JsonObject newFrom: {
+ 'mute_for' -> 0
+ }).
+ 'permissions' -> (JsonObject newFrom: {
+ '@type' -> 'chatPermissions'.
+ 'can_send_messages' -> true.
+ }).
+ })
+ })
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockChatHistoryJsonContainingMessageId.inChat..st b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockChatHistoryJsonContainingMessageId.inChat..st
new file mode 100644
index 000000000..918741680
--- /dev/null
+++ b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockChatHistoryJsonContainingMessageId.inChat..st
@@ -0,0 +1,10 @@
+message - json
+mockChatHistoryJsonContainingMessageId: aMessageId inChat: aChatId
+
+ | messages |
+ messages := OrderedCollection newFrom: {(self mockTextMessageJsonFrom: aChatId replyingTo: aMessageId with: 1)}.
+
+ 1 to: 19 do: [:anIndex | messages addLast: (self mockTextMessageJsonFrom: aChatId replyingTo: 0 with: (20 + anIndex))].
+ ^ (JsonObject newFrom: {
+ '@type' -> 'messages'.
+ 'messages'->(messages)})
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockMembers.st b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockMembers.st
index ac60edfb4..5cf7df47a 100644
--- a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockMembers.st
+++ b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockMembers.st
@@ -2,6 +2,6 @@ user
mockMembers
^ {
- JsonObject newFrom: {'user_id'->self mockUser1 id}.
- JsonObject newFrom: {'user_id'->self mockUser2 id}
+ JsonObject newFrom: {'member_id' -> (JsonObject newFrom: {'user_id' -> self mockUser1 id})}.
+ JsonObject newFrom: {'member_id' -> (JsonObject newFrom: {'user_id' -> self mockUser2 id})}
}
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockMessageAddMembersFrom.to..st b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockMessageAddMembersFrom.to..st
new file mode 100644
index 000000000..e4bdb5972
--- /dev/null
+++ b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockMessageAddMembersFrom.to..st
@@ -0,0 +1,19 @@
+message - json
+mockMessageAddMembersFrom: aList to: aChatId
+
+ ^ (JsonObject newFrom: {
+ '@type' -> 'message'.
+ 'id' -> self mockMessageId.
+ 'chat_id' -> aChatId.
+ 'sender_id' -> (JsonObject newFrom: {
+ '@type' -> #messageSenderChat.
+ 'user_id' -> self mockUser1 id
+ }).
+ 'content' -> (JsonObject newFrom: {
+ '@type'->'messageChatAddMembers'.
+ 'member_user_ids'-> aList
+ }).
+ 'is_outgoing' -> false.
+ 'reply_to_message_id' -> 0.
+ 'date' -> self mockMessageTimestamp
+ })
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockMessageDeleteMemberWith.from..st b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockMessageDeleteMemberWith.from..st
new file mode 100644
index 000000000..0244c505a
--- /dev/null
+++ b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockMessageDeleteMemberWith.from..st
@@ -0,0 +1,19 @@
+message - json
+mockMessageDeleteMemberWith: aUserId from: aChatId
+
+ ^ (JsonObject newFrom: {
+ '@type' -> 'message'.
+ 'id' -> self mockMessageId.
+ 'chat_id' -> aChatId.
+ 'sender_id' -> (JsonObject newFrom: {
+ '@type' -> #messageSenderChat.
+ 'user_id' -> self mockUser1 id
+ }).
+ 'content' -> (JsonObject newFrom: {
+ '@type'->'messageChatDeleteMember'.
+ 'user_id'-> aUserId
+ }).
+ 'is_outgoing' -> false.
+ 'reply_to_message_id' -> 0.
+ 'date' -> self mockMessageTimestamp
+ })
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockMessageReplyMessageId.st b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockMessageReplyMessageId.st
new file mode 100644
index 000000000..4472926b8
--- /dev/null
+++ b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockMessageReplyMessageId.st
@@ -0,0 +1,4 @@
+message
+mockMessageReplyMessageId
+
+ ^ 42
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockNotSupportedMessageJsonFrom..st b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockNotSupportedMessageJsonFrom..st
index 8b9c0d2c0..7a73dfba4 100644
--- a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockNotSupportedMessageJsonFrom..st
+++ b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockNotSupportedMessageJsonFrom..st
@@ -5,7 +5,7 @@ mockNotSupportedMessageJsonFrom: aChatId
'@type' -> 'message'.
'id' -> self mockMessageId.
'chat_id' -> aChatId.
- 'sender' -> (JsonObject newFrom: {
+ 'sender_id' -> (JsonObject newFrom: {
'@type' -> 'messageSenderUser'.
'user_id' -> self mockUser1 id
}).
diff --git a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockNotSupportedMessageWith..st b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockNotSupportedMessageWith..st
index 4927aad5d..2c2260374 100644
--- a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockNotSupportedMessageWith..st
+++ b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockNotSupportedMessageWith..st
@@ -2,9 +2,10 @@ message
mockNotSupportedMessageWith: aCore
^ TCCNotSupportedMessage new
- chat: self mockPrivateChat;
+ chat: (self mockPrivateChat core: aCore);
core: aCore;
userId: self mockUser1 id;
isOutgoing: false;
date: self mockMessageDate;
- id: self mockMessageId
\ No newline at end of file
+ id: self mockMessageId;
+ replyToMessageId: 0
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockPhotoMessageJsonFrom..st b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockPhotoMessageJsonFrom..st
index 63565f50e..34ebf48ac 100644
--- a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockPhotoMessageJsonFrom..st
+++ b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockPhotoMessageJsonFrom..st
@@ -6,7 +6,7 @@ mockPhotoMessageJsonFrom: aChatId
'@type' -> 'message'.
'id' -> self mockMessageId.
'chat_id' -> aChatId.
- 'sender' -> (JsonObject newFrom: {
+ 'sender_id' -> (JsonObject newFrom: {
'@type' -> 'messageSenderUser'.
'user_id' -> self mockUser1 id
}).
diff --git a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockPhotoMessageWith..st b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockPhotoMessageWith..st
index 23a547ce5..50756c917 100644
--- a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockPhotoMessageWith..st
+++ b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockPhotoMessageWith..st
@@ -2,7 +2,7 @@ message
mockPhotoMessageWith: aCore
^ TCCPhotoMessage new
- chat: self mockPrivateChat;
+ chat: (self mockPrivateChat core: aCore);
core: aCore;
userId: self mockUser1 id;
isOutgoing: false;
@@ -12,4 +12,5 @@ mockPhotoMessageWith: aCore
caption: self mockText;
width: self mockPhotoWidth;
height: self mockPhotoHeight;
- fileId: self mockImageId
\ No newline at end of file
+ fileId: self mockImageId;
+ replyToMessageId: 0
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockPrivateChat.st b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockPrivateChat.st
index 70d9a0326..3d3a1defa 100644
--- a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockPrivateChat.st
+++ b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockPrivateChat.st
@@ -3,8 +3,11 @@ mockPrivateChat
^ TCCPrivateChat new
id: 1;
+ photoId: self mockImageId;
title: 'PrivateMockChat';
- lastMessage: 'lastPrivateMessage';
+ lastMessageText: 'lastPrivateMessage';
+ lastMessageSenderId: 1673511834;
+ lastMessageSenderName: 'Test User';
canSendMessages: true;
infoLoaded: true;
muted: false;
diff --git a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockPrivateChatLastMessageIsLoggedInUser.st b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockPrivateChatLastMessageIsLoggedInUser.st
new file mode 100644
index 000000000..c63a68e55
--- /dev/null
+++ b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockPrivateChatLastMessageIsLoggedInUser.st
@@ -0,0 +1,14 @@
+chat
+mockPrivateChatLastMessageIsLoggedInUser
+
+ ^ TCCPrivateChat new
+ id: 2;
+ photoId: self mockImageId;
+ title: 'PrivateMockChatLastMessageisLoggedInUser';
+ lastMessageText: 'lastPrivateMessage';
+ lastMessageSenderId: 0;
+ lastMessageSenderName: 'LoggedIn User';
+ canSendMessages: true;
+ infoLoaded: true;
+ muted: false;
+ yourself
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockTextMessageJsonFrom.replyingTo.with..st b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockTextMessageJsonFrom.replyingTo.with..st
new file mode 100644
index 000000000..030877f14
--- /dev/null
+++ b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockTextMessageJsonFrom.replyingTo.with..st
@@ -0,0 +1,4 @@
+message - json
+mockTextMessageJsonFrom: aChatId replyingTo: aReplyMessageId with: aMessageId
+
+ ^ self mockTextMessageJsonFrom: aChatId with: #messageSenderUser replyingTo: aReplyMessageId with: aMessageId
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockTextMessageJsonFrom.with..st b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockTextMessageJsonFrom.with..st
index 671213dd9..807b57fc8 100644
--- a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockTextMessageJsonFrom.with..st
+++ b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockTextMessageJsonFrom.with..st
@@ -1,20 +1,4 @@
message - json
mockTextMessageJsonFrom: aChatId with: aSenderType
- ^ (JsonObject newFrom: {
- '@type' -> 'message'.
- 'id' -> self mockMessageId.
- 'chat_id' -> aChatId.
- 'sender' -> (JsonObject newFrom: {
- '@type' -> aSenderType asString.
- 'user_id' -> self mockUser1 id
- }).
- 'content' -> (JsonObject newFrom: {
- '@type' -> 'messageText'.
- 'text' -> (JsonObject newFrom: {
- 'text' -> self mockText
- })
- }).
- 'is_outgoing' -> false.
- 'date' -> self mockMessageTimestamp
- })
\ No newline at end of file
+ ^ self mockTextMessageJsonFrom: aChatId with: aSenderType replyingTo: 0
diff --git a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockTextMessageJsonFrom.with.replyingTo..st b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockTextMessageJsonFrom.with.replyingTo..st
new file mode 100644
index 000000000..c996d50d7
--- /dev/null
+++ b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockTextMessageJsonFrom.with.replyingTo..st
@@ -0,0 +1,4 @@
+message - json
+mockTextMessageJsonFrom: aChatId with: aSenderType replyingTo: aReplyMessageId
+
+ ^ self mockTextMessageJsonFrom: aChatId with: aSenderType replyingTo: aReplyMessageId with: self mockMessageId
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockTextMessageJsonFrom.with.replyingTo.with..st b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockTextMessageJsonFrom.with.replyingTo.with..st
new file mode 100644
index 000000000..8876b46a6
--- /dev/null
+++ b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockTextMessageJsonFrom.with.replyingTo.with..st
@@ -0,0 +1,21 @@
+message - json
+mockTextMessageJsonFrom: aChatId with: aSenderType replyingTo: aReplyMessageId with: aMessageId
+
+ ^ (JsonObject newFrom: {
+ '@type' -> 'message'.
+ 'id' -> aMessageId.
+ 'chat_id' -> aChatId.
+ 'sender_id' -> (JsonObject newFrom: {
+ '@type' -> aSenderType asString.
+ 'user_id' -> self mockUser1 id
+ }).
+ 'content' -> (JsonObject newFrom: {
+ '@type' -> 'messageText'.
+ 'text' -> (JsonObject newFrom: {
+ 'text' -> self mockText
+ })
+ }).
+ 'is_outgoing' -> false.
+ 'reply_to_message_id' -> aReplyMessageId.
+ 'date' -> self mockMessageTimestamp
+ })
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockTextMessageWith..st b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockTextMessageWith..st
index 5b88d6e2c..b546e5d3e 100644
--- a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockTextMessageWith..st
+++ b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockTextMessageWith..st
@@ -1,12 +1,4 @@
message
mockTextMessageWith: aCore
- ^ TCCTextMessage new
- chat: self mockPrivateChat;
- core: aCore;
- userId: self mockUser1 id;
- isOutgoing: false;
- senderType: #messageSenderUser;
- date: self mockMessageDate;
- id: self mockMessageId;
- text: self mockText
\ No newline at end of file
+ ^ self mockTextMessageWith: aCore withId: self mockMessageId
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockTextMessageWith.inChat..st b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockTextMessageWith.inChat..st
new file mode 100644
index 000000000..3e58e3419
--- /dev/null
+++ b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockTextMessageWith.inChat..st
@@ -0,0 +1,4 @@
+message
+mockTextMessageWith: aCore inChat: aChat
+
+ ^ self mockTextMessageWith: aCore with: self mockMessageId replyTo: 0 in: aChat
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockTextMessageWith.with.replyTo.in..st b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockTextMessageWith.with.replyTo.in..st
new file mode 100644
index 000000000..21d0da274
--- /dev/null
+++ b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockTextMessageWith.with.replyTo.in..st
@@ -0,0 +1,13 @@
+message
+mockTextMessageWith: aCore with: aMessageId replyTo: aReplyMessageId in: aChatId
+
+ ^ TCCTextMessage new
+ chat: aChatId;
+ core: aCore;
+ userId: self mockUser1 id;
+ isOutgoing: false;
+ senderType: #messageSenderUser;
+ date: self mockMessageDate;
+ id: aMessageId;
+ text: self mockText;
+ replyToMessageId: aReplyMessageId
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockTextMessageWith.withDate..st b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockTextMessageWith.withDate..st
new file mode 100644
index 000000000..fe760a292
--- /dev/null
+++ b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockTextMessageWith.withDate..st
@@ -0,0 +1,4 @@
+message
+mockTextMessageWith: aCore withDate: aDateAndTime
+
+ ^ (TCTMMocks mockTextMessageWith: aCore) date: aDateAndTime
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockTextMessageWith.withId..st b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockTextMessageWith.withId..st
new file mode 100644
index 000000000..fbc9b1e29
--- /dev/null
+++ b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockTextMessageWith.withId..st
@@ -0,0 +1,4 @@
+message
+mockTextMessageWith: aCore withId: aMessageId
+
+ ^ self mockTextMessageWith: aCore withId: aMessageId replyTo: 0
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockTextMessageWith.withId.replyTo..st b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockTextMessageWith.withId.replyTo..st
new file mode 100644
index 000000000..855290261
--- /dev/null
+++ b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockTextMessageWith.withId.replyTo..st
@@ -0,0 +1,4 @@
+message
+mockTextMessageWith: aCore withId: aMessageId replyTo: aReplyMessageId
+
+ ^ self mockTextMessageWith: aCore with: aMessageId replyTo: aReplyMessageId in: (self mockPrivateChat core: aCore)
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockTextMessageWith.withUnixDate..st b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockTextMessageWith.withUnixDate..st
new file mode 100644
index 000000000..46b1d4afc
--- /dev/null
+++ b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockTextMessageWith.withUnixDate..st
@@ -0,0 +1,4 @@
+message
+mockTextMessageWith: aCore withUnixDate: aUnixDate
+
+ ^ TCTMMocks mockTextMessageWith: aCore withDate: (DateAndTime fromUnixTime: aUnixDate)
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockTextReplyMessageWith.inChat..st b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockTextReplyMessageWith.inChat..st
new file mode 100644
index 000000000..9f9927389
--- /dev/null
+++ b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockTextReplyMessageWith.inChat..st
@@ -0,0 +1,4 @@
+message
+mockTextReplyMessageWith: aCore inChat: aChat
+
+ ^ self mockTextMessageWith: aCore with: self mockMessageReplyMessageId replyTo: self mockMessageId in: aChat
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockUnloadedBasicGroupChat.st b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockUnloadedBasicGroupChat.st
index b86dbffbb..adcd38df7 100644
--- a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockUnloadedBasicGroupChat.st
+++ b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockUnloadedBasicGroupChat.st
@@ -5,6 +5,8 @@ mockUnloadedBasicGroupChat
id: -2;
groupId: 2;
title: 'GroupMockChat';
- lastMessage: 'lastBasicGroupMessage';
+ lastMessageText: 'lastBasicGroupMessage';
+ lastMessageSenderId: 1673511834;
+ lastMessageSenderName: 'Test User';
canSendMessages: true;
yourself
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockUnloadedSuperGroupChat.st b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockUnloadedSuperGroupChat.st
index fe56830a3..6c2a40c15 100644
--- a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockUnloadedSuperGroupChat.st
+++ b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockUnloadedSuperGroupChat.st
@@ -3,7 +3,10 @@ mockUnloadedSuperGroupChat
^ TCCSuperGroupChat new
id: 3;
+ photoId: self mockImageId;
title: 'SupergroupMockChat';
- lastMessage: 'lastSupergroupMessage';
+ lastMessageText: 'lastSupergroupMessage';
+ lastMessageSenderId: 1673511834;
+ lastMessageSenderName: 'Test User';
canSendMessages: true;
yourself
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockUpdateChatPositionEventForNotPinnedChatWithId..st b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockUpdateChatPositionEventForNotPinnedChatWithId..st
new file mode 100644
index 000000000..1ec442327
--- /dev/null
+++ b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockUpdateChatPositionEventForNotPinnedChatWithId..st
@@ -0,0 +1,12 @@
+chat event
+mockUpdateChatPositionEventForNotPinnedChatWithId: aNumber
+ "@linter-ignore"
+
+ ^ (JsonObject newFrom: {
+ 'chat_id' -> aNumber.
+ 'position' -> (JsonObject newFrom: {
+ '@type' -> 'chatPosition'.
+ 'is_pinned' -> false.
+ 'order' -> '314159'.
+ }).
+ })
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockUpdateChatPositionEventForPinnedChatWithId..st b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockUpdateChatPositionEventForPinnedChatWithId..st
new file mode 100644
index 000000000..9c7e626d7
--- /dev/null
+++ b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockUpdateChatPositionEventForPinnedChatWithId..st
@@ -0,0 +1,12 @@
+chat event
+mockUpdateChatPositionEventForPinnedChatWithId: aNumber
+ "@linter-ignore"
+
+ ^ (JsonObject newFrom: {
+ 'chat_id' -> aNumber.
+ 'position' -> (JsonObject newFrom: {
+ '@type' -> 'chatPosition'.
+ 'is_pinned' -> true.
+ 'order' -> '314159'.
+ }).
+ })
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockUser1.st b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockUser1.st
index e43e26fdb..6911eb265 100644
--- a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockUser1.st
+++ b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockUser1.st
@@ -6,4 +6,5 @@ mockUser1
lastName: 'User';
username: 'username';
id: 1673511834;
+ photoId: self mockImageId;
yourself
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockUser3.st b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockUser3.st
new file mode 100644
index 000000000..eb6283ad5
--- /dev/null
+++ b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockUser3.st
@@ -0,0 +1,10 @@
+user
+mockUser3
+
+ ^ TCCUser new
+ firstName: 'LoggedIn';
+ lastName: 'User';
+ username: 'loggedinusername';
+ id: 0;
+ photoId: self mockImageId;
+ yourself
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockUserJson1.st b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockUserJson1.st
index 34318d120..96b824cb1 100644
--- a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockUserJson1.st
+++ b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockUserJson1.st
@@ -2,10 +2,17 @@ user
mockUserJson1
^ JsonObject newFrom: {
- '@type' -> 'user'.
- 'id' -> self mockUser1 id.
- 'first_name' -> self mockUser1 firstName.
- 'last_name' -> self mockUser1 lastName.
- 'username' -> self mockUser1 username.
- '@extra' -> self mockUser1 id asString
+ '@type' -> 'user'.
+ 'id' -> self mockUser1 id.
+ 'first_name' -> self mockUser1 firstName.
+ 'last_name' -> self mockUser1 lastName.
+ 'username' -> self mockUser1 username.
+ '@extra' -> self mockUser1 id asString.
+ 'profile_photo' -> (JsonObject newFrom: {
+ '@type' -> 'profilePhoto'.
+ 'small' -> (JsonObject newFrom: {
+ '@type' -> 'file'.
+ 'id' -> self mockImageId
+ }).
+ }).
}
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockUserJson3.st b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockUserJson3.st
new file mode 100644
index 000000000..7edbb3e6e
--- /dev/null
+++ b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockUserJson3.st
@@ -0,0 +1,11 @@
+user
+mockUserJson3
+
+ ^ JsonObject newFrom: {
+ '@type' -> 'user'.
+ 'id' -> self mockUser3 id.
+ 'first_name' -> self mockUser3 firstName.
+ 'last_name' -> self mockUser3 lastName.
+ 'username' -> self mockUser3 username.
+ '@extra' -> self mockUser3 id asString
+ }
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockUserStore.st b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockUserStore.st
index 108999c7f..6bd9909a4 100644
--- a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockUserStore.st
+++ b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockUserStore.st
@@ -3,5 +3,6 @@ mockUserStore
^ TCCUserStore newFrom: {
self mockUser1 id -> (Promise new resolveWith: self mockUser1).
- self mockUser2 id -> (Promise new resolveWith: self mockUser2)
+ self mockUser2 id -> (Promise new resolveWith: self mockUser2).
+ self mockUser3 id -> (Promise new resolveWith: self mockUser3)
}
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockUsers.st b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockUsers.st
index df9232001..1061fe8c9 100644
--- a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockUsers.st
+++ b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/class/mockUsers.st
@@ -1,4 +1,4 @@
user
mockUsers
- ^ {self mockUser1 . self mockUser2}
\ No newline at end of file
+ ^ {self mockUser1 . self mockUser2 . self mockUser3}
\ No newline at end of file
diff --git a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/methodProperties.json b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/methodProperties.json
index b5f609ad5..d3ef0c572 100644
--- a/packages/TelegramClientTests-Misc.package/TCTMMocks.class/methodProperties.json
+++ b/packages/TelegramClientTests-Misc.package/TCTMMocks.class/methodProperties.json
@@ -1,10 +1,13 @@
{
"class" : {
- "mockBasicGroupChat" : "per 6/15/2021 09:16",
+ "mockBasicGroupChat" : "rgw 6/2/2022 12:06",
"mockBasicGroupFullInfoJson" : "per 6/10/2021 19:41",
- "mockChannelSupergroupChat" : "per 7/25/2021 12:33",
- "mockChatEventMutedFor:" : "per 6/18/2021 09:20",
- "mockChats" : "TR 5/27/2021 19:55",
+ "mockChannelSupergroupChat" : "rgw 6/2/2022 12:07",
+ "mockChatEvent" : "rgw 6/2/2022 15:45",
+ "mockChatEventMutedFor:" : "rgw 6/2/2022 11:48",
+ "mockChatEventNoPhoto" : "rgw 6/2/2022 15:23",
+ "mockChatHistoryJsonContainingMessageId:inChat:" : "aka 6/15/2022 11:49",
+ "mockChats" : "LR 7/16/2022 12:52",
"mockChatsFor:" : "JB 7/18/2021 13:15",
"mockEmojiSequence1" : "pk 7/10/2021 15:22",
"mockEmojiSequence2" : "pk 7/10/2021 15:23",
@@ -18,39 +21,57 @@
"mockImageResponseJson" : "pk 6/19/2021 18:21",
"mockInvalidEmoji" : "pk 7/9/2021 16:08",
"mockLongText" : "pk 7/17/2021 12:20",
- "mockMembers" : "per 6/15/2021 08:25",
+ "mockMembers" : "rgw 6/2/2022 10:04",
+ "mockMessageAddMembersFrom:to:" : "rgw 7/21/2022 15:05",
"mockMessageDate" : "TR 6/25/2021 21:07",
+ "mockMessageDeleteMemberWith:from:" : "LR 7/23/2022 10:13",
"mockMessageEventFrom:" : "pk 8/5/2021 17:09",
- "mockMessageFrom:with:" : "tr 7/25/2021 18:05",
+ "mockMessageFrom:with:" : "js 7/31/2022 10:30",
"mockMessageId" : "8/5/2021 21:14:18",
- "mockMessageIn:with:" : "6/26/2021 17:10:55",
+ "mockMessageIn:with:" : "js 7/31/2022 10:24",
"mockMessageJsonFrom:" : "tr 7/25/2021 18:06",
+ "mockMessageReplyMessageId" : "rgw 5/12/2022 14:50",
"mockMessageTimestamp" : "RK 6/25/2021 15:14",
"mockMutedPrivateChat" : "per 6/18/2021 08:55",
"mockNotSupportedMessageJsonFrom:" : "tom.richter 6/28/2021 13:54",
- "mockNotSupportedMessageWith:" : "tom.richter 7/25/2021 11:22",
+ "mockNotSupportedMessageWith:" : "rgw 8/5/2022 10:23",
"mockPhotoHeight" : "tom.richter 6/28/2021 13:57",
"mockPhotoMessageJsonFrom:" : "tom.richter 6/28/2021 15:05",
- "mockPhotoMessageWith:" : "per 7/25/2021 12:56",
+ "mockPhotoMessageWith:" : "rgw 8/5/2022 10:22",
"mockPhotoWidth" : "tom.richter 6/28/2021 13:57",
- "mockPrivateChat" : "JB 8/4/2021 00:22",
+ "mockPrivateChat" : "LR 7/16/2022 12:03",
+ "mockPrivateChatLastMessageIsLoggedInUser" : "LR 7/16/2022 12:25",
"mockSingleEmojiSequence" : "pk 7/10/2021 15:21",
"mockSplitCharsAndEmojis" : "pk 7/10/2021 15:23",
- "mockSupergroupChat" : "per 6/15/2021 09:16",
+ "mockSupergroupChat" : "rgw 6/2/2022 12:07",
"mockSupergroupMembersJson" : "per 6/10/2021 20:53",
"mockText" : "TR 6/25/2021 21:15",
- "mockTextMessageJsonFrom:with:" : "tr 7/25/2021 18:05",
- "mockTextMessageWith:" : "per 7/25/2021 12:41",
- "mockUnloadedBasicGroupChat" : "JB 8/4/2021 00:22",
- "mockUnloadedSuperGroupChat" : "JB 8/4/2021 00:22",
+ "mockTextMessageJsonFrom:replyingTo:with:" : "aka 6/15/2022 12:03",
+ "mockTextMessageJsonFrom:with:" : "aka 6/15/2022 12:04",
+ "mockTextMessageJsonFrom:with:replyingTo:" : "aka 6/15/2022 12:04",
+ "mockTextMessageJsonFrom:with:replyingTo:with:" : "rgw 7/21/2022 13:28",
+ "mockTextMessageWith:" : "aka 6/15/2022 12:04",
+ "mockTextMessageWith:inChat:" : "aka 6/15/2022 12:04",
+ "mockTextMessageWith:with:replyTo:in:" : "aka 6/15/2022 12:04",
+ "mockTextMessageWith:withDate:" : "ek 8/5/2022 15:21",
+ "mockTextMessageWith:withId:" : "aka 6/15/2022 12:04",
+ "mockTextMessageWith:withId:replyTo:" : "aka 6/15/2022 12:04",
+ "mockTextMessageWith:withUnixDate:" : "ek 8/5/2022 15:22",
+ "mockTextReplyMessageWith:inChat:" : "aka 6/15/2022 12:04",
+ "mockUnloadedBasicGroupChat" : "aka 7/10/2022 11:14",
+ "mockUnloadedSuperGroupChat" : "aka 7/10/2022 11:14",
+ "mockUpdateChatPositionEventForNotPinnedChatWithId:" : "js 6/18/2022 11:03",
+ "mockUpdateChatPositionEventForPinnedChatWithId:" : "js 6/18/2022 11:04",
"mockUpdateNewMessageJsonEventFrom:" : "7/25/2021 12:12:21",
- "mockUser1" : "TR 6/13/2021 15:03",
+ "mockUser1" : "JS 6/11/2022 09:38",
"mockUser2" : "RK 6/26/2021 10:05",
+ "mockUser3" : "LR 7/16/2022 12:24",
"mockUserEvent" : "pk 8/5/2021 17:09",
- "mockUserJson1" : "per 6/10/2021 19:43",
+ "mockUserJson1" : "JS 6/11/2022 11:51",
"mockUserJson2" : "per 6/10/2021 19:29",
- "mockUserStore" : "RS 6/23/2021 16:00",
- "mockUsers" : "TR 6/13/2021 15:15",
+ "mockUserJson3" : "LR 7/16/2022 12:24",
+ "mockUserStore" : "LR 7/16/2022 12:58",
+ "mockUsers" : "LR 7/16/2022 12:25",
"mockValidEmoji" : "pk 7/9/2021 16:07",
"writeMockImage" : "pk 6/19/2021 17:36" },
"instance" : {
diff --git a/packages/TelegramClientTests-UI.package/TCTUAuthenticationTests.class/instance/testEnteringCodeOpensTelegram.st b/packages/TelegramClientTests-UI.package/TCTUAuthenticationTests.class/instance/testEnteringCodeOpensTelegram.st
index 4e9f080c7..c54f42d77 100644
--- a/packages/TelegramClientTests-UI.package/TCTUAuthenticationTests.class/instance/testEnteringCodeOpensTelegram.st
+++ b/packages/TelegramClientTests-UI.package/TCTUAuthenticationTests.class/instance/testEnteringCodeOpensTelegram.st
@@ -4,9 +4,9 @@ testEnteringCodeOpensTelegram
| inputField authenticationWindow |
authenticationWindow := self subject currentWindow.
authenticationWindow
- showFirstStep;
- showSecondStep.
- inputField := (self subject findByClass: TextMorph) findByCriteria: [:textMorph | textMorph isLocked not].
+ showPhoneNumberStep;
+ showAuthCodeStep.
+ inputField := (self subject findByClass: TextMorph) findByCriteria: [:textMorph | textMorph isLocked not and: textMorph visible].
inputField sendKeys: '934505'.
self assertReading: '934505' in: self subject.
authenticationWindow logInCompleted.
diff --git a/packages/TelegramClientTests-UI.package/TCTUAuthenticationTests.class/instance/testEnteringPasswordOpensTelegram.st b/packages/TelegramClientTests-UI.package/TCTUAuthenticationTests.class/instance/testEnteringPasswordOpensTelegram.st
new file mode 100644
index 000000000..126ae1d6c
--- /dev/null
+++ b/packages/TelegramClientTests-UI.package/TCTUAuthenticationTests.class/instance/testEnteringPasswordOpensTelegram.st
@@ -0,0 +1,15 @@
+testing
+testEnteringPasswordOpensTelegram
+
+ | passwordField authenticationWindow |
+ authenticationWindow := self subject currentWindow.
+ authenticationWindow
+ showPhoneNumberStep;
+ showAuthCodeStep;
+ showAuthPasswordStep.
+ passwordField := (self subject findByClass: TextMorph) findByCriteria: [:textMorph | textMorph isLocked not and: textMorph visible].
+ passwordField sendKeys: '934505'.
+ self assertReading: '934505' in: self subject.
+ authenticationWindow logInCompleted.
+
+ self deny: self subject currentWindow = authenticationWindow.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-UI.package/TCTUAuthenticationTests.class/instance/testEnteringPhoneNumberAsksForCode.st b/packages/TelegramClientTests-UI.package/TCTUAuthenticationTests.class/instance/testEnteringPhoneNumberAsksForCode.st
index a752fef99..de3389d3e 100644
--- a/packages/TelegramClientTests-UI.package/TCTUAuthenticationTests.class/instance/testEnteringPhoneNumberAsksForCode.st
+++ b/packages/TelegramClientTests-UI.package/TCTUAuthenticationTests.class/instance/testEnteringPhoneNumberAsksForCode.st
@@ -2,8 +2,8 @@ testing
testEnteringPhoneNumberAsksForCode
| inputField |
- self subject currentWindow showFirstStep.
- inputField := (self subject findByClass: TextMorph) findByCriteria: [:textMorph | textMorph isLocked not].
+ self subject currentWindow showPhoneNumberStep.
+ inputField := (self subject findByClass: TextMorph) findByCriteria: [:textMorph | textMorph isLocked not and: textMorph visible].
inputField sendKeys: '+49 934 505'.
self assertReading: '+49 934 505' in: self subject.
(self subject createWrapperFor: {self subject currentWindow buttonNext}) click.
diff --git a/packages/TelegramClientTests-UI.package/TCTUAuthenticationTests.class/instance/testPressCancelOnAuthCode.st b/packages/TelegramClientTests-UI.package/TCTUAuthenticationTests.class/instance/testPressCancelOnAuthCode.st
new file mode 100644
index 000000000..808a0bd05
--- /dev/null
+++ b/packages/TelegramClientTests-UI.package/TCTUAuthenticationTests.class/instance/testPressCancelOnAuthCode.st
@@ -0,0 +1,11 @@
+testing
+testPressCancelOnAuthCode
+
+ | button nextButton |
+ nextButton := (self subject findByClass: TCUButton) findByCriteria: [:textMorph | textMorph text asText = 'Next' ].
+ self subject currentWindow
+ showPhoneNumberStep;
+ showAuthCodeStep.
+ button := (self subject findByClass: TCUButton) findByCriteria: [:textMorph | textMorph text asText = 'Cancel' ].
+ button click.
+ self assert: nextButton visible.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-UI.package/TCTUAuthenticationTests.class/instance/testPressCancelOnAuthPassword.st b/packages/TelegramClientTests-UI.package/TCTUAuthenticationTests.class/instance/testPressCancelOnAuthPassword.st
new file mode 100644
index 000000000..f160da3aa
--- /dev/null
+++ b/packages/TelegramClientTests-UI.package/TCTUAuthenticationTests.class/instance/testPressCancelOnAuthPassword.st
@@ -0,0 +1,12 @@
+testing
+testPressCancelOnAuthPassword
+
+ | button nextButton |
+ nextButton := (self subject findByClass: TCUButton) findByCriteria: [:textMorph | textMorph text asText = 'Next' ].
+ self subject currentWindow
+ showPhoneNumberStep;
+ showAuthCodeStep;
+ showAuthPasswordStep.
+ button := (self subject findByClass: TCUButton) findByCriteria: [:textMorph | textMorph text asText = 'Cancel' ].
+ button click.
+ self assert: nextButton visible.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-UI.package/TCTUAuthenticationTests.class/methodProperties.json b/packages/TelegramClientTests-UI.package/TCTUAuthenticationTests.class/methodProperties.json
index cc55f8740..e0b733ea6 100644
--- a/packages/TelegramClientTests-UI.package/TCTUAuthenticationTests.class/methodProperties.json
+++ b/packages/TelegramClientTests-UI.package/TCTUAuthenticationTests.class/methodProperties.json
@@ -3,6 +3,9 @@
},
"instance" : {
"setUp" : "RS 7/17/2021 12:56",
- "testEnteringCodeOpensTelegram" : "RS 7/17/2021 12:52",
- "testEnteringPhoneNumberAsksForCode" : "RS 7/17/2021 12:54",
+ "testEnteringCodeOpensTelegram" : "aka 5/21/2022 13:02",
+ "testEnteringPasswordOpensTelegram" : "aka 5/21/2022 14:01",
+ "testEnteringPhoneNumberAsksForCode" : "aka 5/21/2022 13:29",
+ "testPressCancelOnAuthCode" : "ek 8/5/2022 15:27",
+ "testPressCancelOnAuthPassword" : "ek 8/5/2022 15:27",
"testTelegramOpensAuthentication" : "RS 7/17/2021 12:55" } }
diff --git a/packages/TelegramClientTests-UI.package/TCTUButtonTests.class/README.md b/packages/TelegramClientTests-UI.package/TCTUButtonTests.class/README.md
new file mode 100644
index 000000000..da007ebde
--- /dev/null
+++ b/packages/TelegramClientTests-UI.package/TCTUButtonTests.class/README.md
@@ -0,0 +1 @@
+Test hover and pressed behavior of buttonlike objects.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-UI.package/TCTUButtonTests.class/instance/testHoverOnTitleBar.st b/packages/TelegramClientTests-UI.package/TCTUButtonTests.class/instance/testHoverOnTitleBar.st
new file mode 100644
index 000000000..499fa066f
--- /dev/null
+++ b/packages/TelegramClientTests-UI.package/TCTUButtonTests.class/instance/testHoverOnTitleBar.st
@@ -0,0 +1,12 @@
+hovering
+testHoverOnTitleBar
+
+ | titleBar normalColor |
+
+ self openAnyChat.
+ titleBar := self subject chatWindow titleBar.
+ normalColor := titleBar color.
+ titleBar mouseEnter: EventMorph new.
+ self deny: normalColor = titleBar color.
+ titleBar mouseLeave: EventMorph new.
+ self assert: normalColor = titleBar color.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-UI.package/TCTUButtonTests.class/instance/testMouseHoverOnChatsListItem.st b/packages/TelegramClientTests-UI.package/TCTUButtonTests.class/instance/testMouseHoverOnChatsListItem.st
new file mode 100644
index 000000000..ce91d62d0
--- /dev/null
+++ b/packages/TelegramClientTests-UI.package/TCTUButtonTests.class/instance/testMouseHoverOnChatsListItem.st
@@ -0,0 +1,11 @@
+hovering
+testMouseHoverOnChatsListItem
+
+ | chatListItem oldColor |
+
+ chatListItem := TCUChatListItem new.
+ oldColor := chatListItem color.
+ chatListItem mouseEnter: EventMorph new.
+ self deny: oldColor = chatListItem color.
+ chatListItem mouseLeave: EventMorph new.
+ self assert: oldColor = chatListItem color.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-UI.package/TCTUButtonTests.class/instance/testMouseHoverOnRegularButtons.st b/packages/TelegramClientTests-UI.package/TCTUButtonTests.class/instance/testMouseHoverOnRegularButtons.st
new file mode 100644
index 000000000..ce874115d
--- /dev/null
+++ b/packages/TelegramClientTests-UI.package/TCTUButtonTests.class/instance/testMouseHoverOnRegularButtons.st
@@ -0,0 +1,11 @@
+hovering
+testMouseHoverOnRegularButtons
+
+ | button normalColor |
+
+ button := TCUButton new.
+ normalColor := button color.
+ button mouseEnter: EventMorph new.
+ self deny: normalColor = button color.
+ button mouseLeave: EventMorph new.
+ self assert: normalColor = button color.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-UI.package/TCTUButtonTests.class/methodProperties.json b/packages/TelegramClientTests-UI.package/TCTUButtonTests.class/methodProperties.json
new file mode 100644
index 000000000..b420a992a
--- /dev/null
+++ b/packages/TelegramClientTests-UI.package/TCTUButtonTests.class/methodProperties.json
@@ -0,0 +1,7 @@
+{
+ "class" : {
+ },
+ "instance" : {
+ "testHoverOnTitleBar" : "ek 6/22/2022 19:19",
+ "testMouseHoverOnChatsListItem" : "ek 8/5/2022 15:28",
+ "testMouseHoverOnRegularButtons" : "ek 6/22/2022 18:19" } }
diff --git a/packages/TelegramClientTests-UI.package/TCTUButtonTests.class/properties.json b/packages/TelegramClientTests-UI.package/TCTUButtonTests.class/properties.json
new file mode 100644
index 000000000..33fbbd8dc
--- /dev/null
+++ b/packages/TelegramClientTests-UI.package/TCTUButtonTests.class/properties.json
@@ -0,0 +1,14 @@
+{
+ "category" : "TelegramClientTests-UI",
+ "classinstvars" : [
+ ],
+ "classvars" : [
+ ],
+ "commentStamp" : "ek 6/19/2022 19:00",
+ "instvars" : [
+ ],
+ "name" : "TCTUButtonTests",
+ "pools" : [
+ ],
+ "super" : "TCTUTestCase",
+ "type" : "normal" }
diff --git a/packages/TelegramClientTests-UI.package/TCTUChatInfoPageTests.class/instance/testPrivateChatHasNoDescription.st b/packages/TelegramClientTests-UI.package/TCTUChatInfoPageTests.class/instance/testPrivateChatHasNoDescription.st
index fe039b808..1a2f9919a 100644
--- a/packages/TelegramClientTests-UI.package/TCTUChatInfoPageTests.class/instance/testPrivateChatHasNoDescription.st
+++ b/packages/TelegramClientTests-UI.package/TCTUChatInfoPageTests.class/instance/testPrivateChatHasNoDescription.st
@@ -11,4 +11,4 @@ testPrivateChatHasNoDescription
chatInfoPage := (self subject findByClass: TCUChatInfoPage) morphs anyOne.
self forceSaveScreenshotOf: chatInfoPage as: 'testPrivateChatHasNoDescription' in: self class defaultTestResultPath.
- self assert: 236496437 equals: (self computeHashOf: (self takeScreenshotOf: chatInfoPage)).
\ No newline at end of file
+ self assert: 225928729 equals: (self computeHashOf: (self takeScreenshotOf: chatInfoPage)).
\ No newline at end of file
diff --git a/packages/TelegramClientTests-UI.package/TCTUChatInfoPageTests.class/methodProperties.json b/packages/TelegramClientTests-UI.package/TCTUChatInfoPageTests.class/methodProperties.json
index 9697fd197..132669f5a 100644
--- a/packages/TelegramClientTests-UI.package/TCTUChatInfoPageTests.class/methodProperties.json
+++ b/packages/TelegramClientTests-UI.package/TCTUChatInfoPageTests.class/methodProperties.json
@@ -11,7 +11,7 @@
"testCanOpenChatInfoPage" : "RS 6/6/2021 15:50",
"testChatInfoPageIsHidden" : "RS 6/6/2021 15:50",
"testDoesDisplayGroupDescription" : "RS 8/1/2021 12:56",
- "testPrivateChatHasNoDescription" : "RS 8/1/2021 12:57",
+ "testPrivateChatHasNoDescription" : "rgw 6/6/2022 18:11",
"testPrivateChatHasNoUserList" : "RK 8/2/2021 18:39",
"testSupergroupChatHasUserList" : "tr 7/25/2021 18:08",
"testUserListNotVisibleInChannelChatInfoPage" : "RK 8/2/2021 18:39" } }
diff --git a/packages/TelegramClientTests-UI.package/TCTUChatListItemTests.class/README.md b/packages/TelegramClientTests-UI.package/TCTUChatListItemTests.class/README.md
new file mode 100644
index 000000000..43ea4b56b
--- /dev/null
+++ b/packages/TelegramClientTests-UI.package/TCTUChatListItemTests.class/README.md
@@ -0,0 +1 @@
+Tests TCUChatListItem
\ No newline at end of file
diff --git a/packages/TelegramClientTests-UI.package/TCTUChatListItemTests.class/instance/setUp.st b/packages/TelegramClientTests-UI.package/TCTUChatListItemTests.class/instance/setUp.st
new file mode 100644
index 000000000..9286a2356
--- /dev/null
+++ b/packages/TelegramClientTests-UI.package/TCTUChatListItemTests.class/instance/setUp.st
@@ -0,0 +1,6 @@
+running
+setUp
+
+ self core: (TCTUMockCore newWithTeleClient: TCTMMockTdlibClient new).
+ self core userStore: TCTMMocks mockUserStore.
+ self core chatsHandler chats: (TCTMMocks mockChatsFor: self core).
\ No newline at end of file
diff --git a/packages/TelegramClientTests-UI.package/TCTUChatListItemTests.class/instance/testChatHasPhoto.st b/packages/TelegramClientTests-UI.package/TCTUChatListItemTests.class/instance/testChatHasPhoto.st
new file mode 100644
index 000000000..689515502
--- /dev/null
+++ b/packages/TelegramClientTests-UI.package/TCTUChatListItemTests.class/instance/testChatHasPhoto.st
@@ -0,0 +1,7 @@
+testing
+testChatHasPhoto
+
+ self core client onRequestType: 'downloadFile' respond: TCTMMocks mockImageResponseJson.
+ self wantsToTest: (TCUChatListItem newWithChat: self core chatsHandler chats first width: 500).
+ 0.1 seconds wait.
+ self assert: (self subject findByClass: ImageMorph) morphs notEmpty.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-UI.package/TCTUChatListItemTests.class/instance/testChatIsNotPinned.st b/packages/TelegramClientTests-UI.package/TCTUChatListItemTests.class/instance/testChatIsNotPinned.st
new file mode 100644
index 000000000..26f016db8
--- /dev/null
+++ b/packages/TelegramClientTests-UI.package/TCTUChatListItemTests.class/instance/testChatIsNotPinned.st
@@ -0,0 +1,8 @@
+testing
+testChatIsNotPinned
+
+ | chat |
+ chat := (self core chatsHandler chats reject: [:aChat | aChat isPinned]) first.
+ self core chatsHandler updateChatPosition: (TCTMMocks mockUpdateChatPositionEventForNotPinnedChatWithId: chat id).
+ self wantsToTest: (TCUChatListItem newWithChat: chat width: TCUChatsList defaultWidth).
+ self assertNotReading: 'pinned' in: self subject.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-UI.package/TCTUChatListItemTests.class/instance/testChatIsPinned.st b/packages/TelegramClientTests-UI.package/TCTUChatListItemTests.class/instance/testChatIsPinned.st
new file mode 100644
index 000000000..3a2f1b789
--- /dev/null
+++ b/packages/TelegramClientTests-UI.package/TCTUChatListItemTests.class/instance/testChatIsPinned.st
@@ -0,0 +1,8 @@
+testing
+testChatIsPinned
+
+ | chat |
+ chat := (self core chatsHandler chats reject: [:aChat | aChat isPinned]) first.
+ self core chatsHandler updateChatPosition: (TCTMMocks mockUpdateChatPositionEventForPinnedChatWithId: chat id).
+ self wantsToTest: (TCUChatListItem newWithChat: chat width: TCUChatsList defaultWidth).
+ self assertReading: 'pinned' in: self subject.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-UI.package/TCTUChatListItemTests.class/instance/testChatLastSenderNameIsLoggedInUser.st b/packages/TelegramClientTests-UI.package/TCTUChatListItemTests.class/instance/testChatLastSenderNameIsLoggedInUser.st
new file mode 100644
index 000000000..37faa611a
--- /dev/null
+++ b/packages/TelegramClientTests-UI.package/TCTUChatListItemTests.class/instance/testChatLastSenderNameIsLoggedInUser.st
@@ -0,0 +1,8 @@
+testing
+testChatLastSenderNameIsLoggedInUser
+
+ | chat |
+ chat := TCTMMocks mockPrivateChatLastMessageIsLoggedInUser.
+ chat core: self core.
+ self wantsToTest: (TCUChatListItem newWithChat: chat width: TCUChatsList defaultWidth).
+ self assertReading: 'You:' in: self subject.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-UI.package/TCTUChatListItemTests.class/instance/testChatLastSenderNameIsNotLoggedInUser.st b/packages/TelegramClientTests-UI.package/TCTUChatListItemTests.class/instance/testChatLastSenderNameIsNotLoggedInUser.st
new file mode 100644
index 000000000..303b24d8d
--- /dev/null
+++ b/packages/TelegramClientTests-UI.package/TCTUChatListItemTests.class/instance/testChatLastSenderNameIsNotLoggedInUser.st
@@ -0,0 +1,8 @@
+testing
+testChatLastSenderNameIsNotLoggedInUser
+
+ | chat |
+ chat := TCTMMocks mockPrivateChat.
+ chat core: self core.
+ self wantsToTest: (TCUChatListItem newWithChat: chat width: TCUChatsList defaultWidth).
+ self assertReading: 'Test User:' in: self subject.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-UI.package/TCTUChatListItemTests.class/instance/testChatWithoutPhotoHasDefaultPhoto.st b/packages/TelegramClientTests-UI.package/TCTUChatListItemTests.class/instance/testChatWithoutPhotoHasDefaultPhoto.st
new file mode 100644
index 000000000..5f011d8bd
--- /dev/null
+++ b/packages/TelegramClientTests-UI.package/TCTUChatListItemTests.class/instance/testChatWithoutPhotoHasDefaultPhoto.st
@@ -0,0 +1,7 @@
+testing
+testChatWithoutPhotoHasDefaultPhoto
+
+ | chat |
+ chat := (self core chatsHandler chats reject: [:aChat | aChat hasPhoto]) first.
+ self wantsToTest: (TCUChatListItem newWithChat: chat width: TCUChatsList defaultWidth).
+ self assert: (self subject findByClass: ImageMorph) morphs notEmpty.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-UI.package/TCTUChatListItemTests.class/methodProperties.json b/packages/TelegramClientTests-UI.package/TCTUChatListItemTests.class/methodProperties.json
new file mode 100644
index 000000000..18af45e3c
--- /dev/null
+++ b/packages/TelegramClientTests-UI.package/TCTUChatListItemTests.class/methodProperties.json
@@ -0,0 +1,11 @@
+{
+ "class" : {
+ },
+ "instance" : {
+ "setUp" : "ek 8/5/2022 15:29",
+ "testChatHasPhoto" : "js 6/30/2022 16:01",
+ "testChatIsNotPinned" : "ek 8/5/2022 15:30",
+ "testChatIsPinned" : "ek 8/5/2022 15:30",
+ "testChatLastSenderNameIsLoggedInUser" : "ek 8/5/2022 15:31",
+ "testChatLastSenderNameIsNotLoggedInUser" : "ek 8/5/2022 15:31",
+ "testChatWithoutPhotoHasDefaultPhoto" : "ek 8/5/2022 15:31" } }
diff --git a/packages/TelegramClientTests-UI.package/TCTUChatListItemTests.class/properties.json b/packages/TelegramClientTests-UI.package/TCTUChatListItemTests.class/properties.json
new file mode 100644
index 000000000..bc9bfe069
--- /dev/null
+++ b/packages/TelegramClientTests-UI.package/TCTUChatListItemTests.class/properties.json
@@ -0,0 +1,14 @@
+{
+ "category" : "TelegramClientTests-UI",
+ "classinstvars" : [
+ ],
+ "classvars" : [
+ ],
+ "commentStamp" : "rgw 6/2/2022 16:17",
+ "instvars" : [
+ ],
+ "name" : "TCTUChatListItemTests",
+ "pools" : [
+ ],
+ "super" : "TCTUTestCase",
+ "type" : "normal" }
diff --git a/packages/TelegramClientTests-UI.package/TCTUChatMessageListTests.class/instance/testAddDateDividerAtBottom.st b/packages/TelegramClientTests-UI.package/TCTUChatMessageListTests.class/instance/testAddDateDividerAtBottom.st
new file mode 100644
index 000000000..7a0053690
--- /dev/null
+++ b/packages/TelegramClientTests-UI.package/TCTUChatMessageListTests.class/instance/testAddDateDividerAtBottom.st
@@ -0,0 +1,12 @@
+testing
+testAddDateDividerAtBottom
+
+ | oldMessage newMessage oldDate newDate |
+ oldDate := 1376462359. "14.8.13"
+ newDate := 1376548759. "15.8.13"
+ oldMessage := TCTMMocks mockTextMessageWith: self core withUnixDate: oldDate.
+ newMessage := TCTMMocks mockTextMessageWith: self core withUnixDate: newDate.
+ self subject chat addNewestMessage: oldMessage.
+ self subject chat addNewestMessage: newMessage.
+
+ self assertReading: '8/15/2013' in: self subject.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-UI.package/TCTUChatMessageListTests.class/instance/testAddDateDividerAtTop.st b/packages/TelegramClientTests-UI.package/TCTUChatMessageListTests.class/instance/testAddDateDividerAtTop.st
new file mode 100644
index 000000000..9e5268162
--- /dev/null
+++ b/packages/TelegramClientTests-UI.package/TCTUChatMessageListTests.class/instance/testAddDateDividerAtTop.st
@@ -0,0 +1,12 @@
+testing
+testAddDateDividerAtTop
+
+ | oldMessage newMessage oldDate newDate |
+ oldDate := 1376462359. "14.8.13"
+ newDate := 1376548759. "15.8.13"
+ oldMessage := TCTMMocks mockTextMessageWith: self core withUnixDate: oldDate.
+ newMessage := TCTMMocks mockTextMessageWith: self core withUnixDate: newDate.
+ self subject chat addOldestMessage: newMessage.
+ self subject chat addOldestMessage: oldMessage.
+
+ self assertReading: '8/15/2013' in: self subject.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-UI.package/TCTUChatMessageListTests.class/instance/testDoNotShowDateDivider.st b/packages/TelegramClientTests-UI.package/TCTUChatMessageListTests.class/instance/testDoNotShowDateDivider.st
new file mode 100644
index 000000000..5391c465d
--- /dev/null
+++ b/packages/TelegramClientTests-UI.package/TCTUChatMessageListTests.class/instance/testDoNotShowDateDivider.st
@@ -0,0 +1,12 @@
+testing
+testDoNotShowDateDivider
+
+ | oldMessage newMessage oldDate newDate |
+ oldDate := 1376462359. "14.8.13"
+ newDate := 1376462360. "14.8.13"
+ oldMessage := TCTMMocks mockTextMessageWith: self core withUnixDate: oldDate.
+ newMessage := TCTMMocks mockTextMessageWith: self core withUnixDate: newDate.
+ self subject chat addNewestMessage: oldMessage.
+ self subject chat addNewestMessage: newMessage.
+
+ self assertNotReading: '8/15/2013' in: self subject.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-UI.package/TCTUChatMessageListTests.class/instance/testItemsHaveMessageId.st b/packages/TelegramClientTests-UI.package/TCTUChatMessageListTests.class/instance/testItemsHaveMessageId.st
new file mode 100644
index 000000000..a4c2a85fd
--- /dev/null
+++ b/packages/TelegramClientTests-UI.package/TCTUChatMessageListTests.class/instance/testItemsHaveMessageId.st
@@ -0,0 +1,12 @@
+testing
+testItemsHaveMessageId
+
+ | oldMessage newMessage oldDate newDate |
+ oldDate := 1376462359. "14.8.13"
+ newDate := 1376548759. "15.8.13"
+ oldMessage := TCTMMocks mockTextMessageWith: self core withUnixDate: oldDate.
+ newMessage := TCTMMocks mockTextMessageWith: self core withUnixDate: newDate.
+ self subject chat addNewestMessage: oldMessage.
+ self subject chat addNewestMessage: newMessage.
+
+ self assert: (self subject items select: [:item | (item respondsTo: #messageId) not]) isEmpty.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-UI.package/TCTUChatMessageListTests.class/instance/testScrollToReferencedMessage.st b/packages/TelegramClientTests-UI.package/TCTUChatMessageListTests.class/instance/testScrollToReferencedMessage.st
new file mode 100644
index 000000000..3aacc95d5
--- /dev/null
+++ b/packages/TelegramClientTests-UI.package/TCTUChatMessageListTests.class/instance/testScrollToReferencedMessage.st
@@ -0,0 +1,20 @@
+testing
+testScrollToReferencedMessage
+
+ | referencedMessage referencingMessage referencedOffset |
+ referencedMessage := (TCTMMocks mockTextMessageWith: self core withId: 1)
+ text: 'Referenced Message';
+ chat: self subject chat.
+ referencingMessage := (TCTMMocks mockTextMessageWith: self core withId: 2 replyTo: 1)
+ text: 'Referencing Message';
+ chat: self subject chat.
+ self subject chat addOldestMessage: referencedMessage.
+ self subject chat addNewestMessage: referencingMessage.
+
+ self subject scrollToShow: self subject scroller submorphs first.
+ referencedOffset := self subject vScrollBar value.
+ self subject scrollToNewestMessage.
+
+ (self subject findByClass: TCUReplySnippet) click.
+
+ self assert: referencedOffset equals: self subject vScrollBar value.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-UI.package/TCTUChatMessageListTests.class/methodProperties.json b/packages/TelegramClientTests-UI.package/TCTUChatMessageListTests.class/methodProperties.json
index aa2c81e9c..7431347f0 100644
--- a/packages/TelegramClientTests-UI.package/TCTUChatMessageListTests.class/methodProperties.json
+++ b/packages/TelegramClientTests-UI.package/TCTUChatMessageListTests.class/methodProperties.json
@@ -2,9 +2,14 @@
"class" : {
},
"instance" : {
- "fillWithMessages" : "per 6/28/2021 16:22",
- "setUp" : "RS 8/1/2021 12:57",
- "testAddingOldMessagesDoesNotScroll" : "per 6/28/2021 16:23",
+ "fillWithMessages" : "ek 8/5/2022 15:32",
+ "setUp" : "js 7/31/2022 19:10",
+ "testAddDateDividerAtBottom" : "js 7/31/2022 17:48",
+ "testAddDateDividerAtTop" : "js 7/31/2022 17:48",
+ "testAddingOldMessagesDoesNotScroll" : "aka 7/14/2022 15:30",
"testChatDoesNotDisplayMessagesFromOtherChats" : "RS 8/1/2021 12:57",
"testDisplayedChatLoadsOldMessage" : "per 6/28/2021 16:23",
- "testDisplayedChatReceivesNewMessage" : "per 6/28/2021 16:23" } }
+ "testDisplayedChatReceivesNewMessage" : "per 6/28/2021 16:23",
+ "testDoNotShowDateDivider" : "js 7/31/2022 19:11",
+ "testItemsHaveMessageId" : "js 7/31/2022 20:15",
+ "testScrollToReferencedMessage" : "rgw 8/5/2022 10:53" } }
diff --git a/packages/TelegramClientTests-UI.package/TCTUChatWindowTests.class/instance/messageInputField.st b/packages/TelegramClientTests-UI.package/TCTUChatWindowTests.class/instance/messageInputField.st
index 3d4d58587..d09e2fdaa 100644
--- a/packages/TelegramClientTests-UI.package/TCTUChatWindowTests.class/instance/messageInputField.st
+++ b/packages/TelegramClientTests-UI.package/TCTUChatWindowTests.class/instance/messageInputField.st
@@ -1,4 +1,4 @@
accessing
messageInputField
- ^ (self subject findByClass: TextMorph) findByCriteria: [:textMorph | textMorph isLocked not]
\ No newline at end of file
+ ^ (self subject findByClass: TextMorph) findByCriteria: [:textMorph | textMorph readOnly not and: [textMorph isLocked not]]
\ No newline at end of file
diff --git a/packages/TelegramClientTests-UI.package/TCTUChatWindowTests.class/instance/testSelectAndDeselectMessageToReplyTo.st b/packages/TelegramClientTests-UI.package/TCTUChatWindowTests.class/instance/testSelectAndDeselectMessageToReplyTo.st
new file mode 100644
index 000000000..0249bf534
--- /dev/null
+++ b/packages/TelegramClientTests-UI.package/TCTUChatWindowTests.class/instance/testSelectAndDeselectMessageToReplyTo.st
@@ -0,0 +1,15 @@
+testing
+testSelectAndDeselectMessageToReplyTo
+
+ | newMessage chatWindow |
+
+ self openChatWithId: 1.
+ chatWindow := self subject chatWindow.
+ newMessage := (TCTMMocks mockTextMessageWith: self core) text: 'New message'.
+ chatWindow selectedChat addNewestMessage: newMessage.
+
+ self assertNotReading: newMessage text inMorph: chatWindow inputBar.
+ chatWindow selectedChat selectedReplyToMessageId: newMessage id.
+ self assertReading: newMessage text inMorph: chatWindow inputBar.
+ chatWindow selectedChat selectedReplyToMessageId: newMessage id.
+ self assertNotReading: newMessage text inMorph: chatWindow inputBar.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-UI.package/TCTUChatWindowTests.class/methodProperties.json b/packages/TelegramClientTests-UI.package/TCTUChatWindowTests.class/methodProperties.json
index 96a485137..aff5ecc5e 100644
--- a/packages/TelegramClientTests-UI.package/TCTUChatWindowTests.class/methodProperties.json
+++ b/packages/TelegramClientTests-UI.package/TCTUChatWindowTests.class/methodProperties.json
@@ -2,6 +2,7 @@
"class" : {
},
"instance" : {
- "messageInputField" : "JB 7/19/2021 12:41",
+ "messageInputField" : "rgw 7/1/2022 11:32",
"sendButton" : "JB 7/19/2021 12:44",
- "testSentMessageAppearsInList" : "JB 7/18/2021 13:19" } }
+ "testSelectAndDeselectMessageToReplyTo" : "JS 5/22/2022 19:23",
+ "testSentMessageAppearsInList" : "rgw 7/1/2022 11:33" } }
diff --git a/packages/TelegramClientTests-UI.package/TCTUChatsListTests.class/instance/testChatOrderUpdatesIfPositionChanges.st b/packages/TelegramClientTests-UI.package/TCTUChatsListTests.class/instance/testChatOrderUpdatesIfPositionChanges.st
index 381fcfa7c..04f51ea27 100644
--- a/packages/TelegramClientTests-UI.package/TCTUChatsListTests.class/instance/testChatOrderUpdatesIfPositionChanges.st
+++ b/packages/TelegramClientTests-UI.package/TCTUChatsListTests.class/instance/testChatOrderUpdatesIfPositionChanges.st
@@ -5,5 +5,5 @@ testChatOrderUpdatesIfPositionChanges
chat := self core chatsHandler chats last.
chat position: 0. "no chat has a position so this should become the first chat"
self core chatsHandler chats notify.
-
+ (self subject findByClass: TCUChatsList) step.
self assert: chat id equals: self subject chatsList items first chatId.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-UI.package/TCTUChatsListTests.class/instance/testLastMessageVisible.st b/packages/TelegramClientTests-UI.package/TCTUChatsListTests.class/instance/testLastMessageVisible.st
index 42594156e..66f56e9cc 100644
--- a/packages/TelegramClientTests-UI.package/TCTUChatsListTests.class/instance/testLastMessageVisible.st
+++ b/packages/TelegramClientTests-UI.package/TCTUChatsListTests.class/instance/testLastMessageVisible.st
@@ -3,6 +3,6 @@ testLastMessageVisible
1 to: self core chatsHandler chats size do: [:index |
self
- assertReading: (self core chatsHandler chats at: index) lastMessage
+ assertReading: (self core chatsHandler chats at: index) lastMessageText
in: (self subject createWrapperFor: {self subject chatsList items at: index}).
].
\ No newline at end of file
diff --git a/packages/TelegramClientTests-UI.package/TCTUChatsListTests.class/methodProperties.json b/packages/TelegramClientTests-UI.package/TCTUChatsListTests.class/methodProperties.json
index 6816c7412..d38fda130 100644
--- a/packages/TelegramClientTests-UI.package/TCTUChatsListTests.class/methodProperties.json
+++ b/packages/TelegramClientTests-UI.package/TCTUChatsListTests.class/methodProperties.json
@@ -2,6 +2,6 @@
"class" : {
},
"instance" : {
- "testChatOrderUpdatesIfPositionChanges" : "pk 8/6/2021 18:57",
+ "testChatOrderUpdatesIfPositionChanges" : "rgw 7/26/2022 10:24",
"testChatTitleVisible" : "JB 8/6/2021 15:52",
- "testLastMessageVisible" : "JB 8/6/2021 15:52" } }
+ "testLastMessageVisible" : "aka 7/10/2022 11:13" } }
diff --git a/packages/TelegramClientTests-UI.package/TCTUMessageTests.class/instance/testAddMembersMessage.st b/packages/TelegramClientTests-UI.package/TCTUMessageTests.class/instance/testAddMembersMessage.st
new file mode 100644
index 000000000..9e1804b91
--- /dev/null
+++ b/packages/TelegramClientTests-UI.package/TCTUMessageTests.class/instance/testAddMembersMessage.st
@@ -0,0 +1,11 @@
+testing
+testAddMembersMessage
+
+ | addMembersEvent addMembersMessage chat |
+
+ chat := TCTMMocks mockBasicGroupChat.
+ addMembersEvent := TCTMMocks mockMessageAddMembersFrom: {TCTMMocks mockUser1 id} to: chat id.
+ addMembersMessage := TCCMessage newFromMessageEvent: addMembersEvent in: chat with: self core.
+
+ self wantsToTest: (TCUMessage newFrom: addMembersMessage).
+ self assertReading: 'Added: Test User' in: self subject.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-UI.package/TCTUMessageTests.class/instance/testAddMembersMessageIsNotUserMessage.st b/packages/TelegramClientTests-UI.package/TCTUMessageTests.class/instance/testAddMembersMessageIsNotUserMessage.st
new file mode 100644
index 000000000..4209c1703
--- /dev/null
+++ b/packages/TelegramClientTests-UI.package/TCTUMessageTests.class/instance/testAddMembersMessageIsNotUserMessage.st
@@ -0,0 +1,11 @@
+testing
+testAddMembersMessageIsNotUserMessage
+
+ | addMembersEvent addMembersMessage chat |
+
+ chat := TCTMMocks mockBasicGroupChat.
+ addMembersEvent := TCTMMocks mockMessageAddMembersFrom: {TCTMMocks mockUser1 id} to: chat id.
+ addMembersMessage := TCCMessage newFromMessageEvent: addMembersEvent in: chat with: self core.
+
+ self wantsToTest: (TCUMessage newFrom: addMembersMessage).
+ self deny: self subject isUserMessage.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-UI.package/TCTUMessageTests.class/instance/testDeleteMemberMessage.st b/packages/TelegramClientTests-UI.package/TCTUMessageTests.class/instance/testDeleteMemberMessage.st
new file mode 100644
index 000000000..0799c8c4a
--- /dev/null
+++ b/packages/TelegramClientTests-UI.package/TCTUMessageTests.class/instance/testDeleteMemberMessage.st
@@ -0,0 +1,11 @@
+testing
+testDeleteMemberMessage
+
+ | deleteMemberEvent deleteMemberMessage chat |
+
+ chat := TCTMMocks mockBasicGroupChat.
+ deleteMemberEvent := TCTMMocks mockMessageDeleteMemberWith: TCTMMocks mockUser1 id from: chat id.
+ deleteMemberMessage := TCCMessage newFromMessageEvent: deleteMemberEvent in: chat with: self core.
+
+ self wantsToTest: (TCUMessage newFrom: deleteMemberMessage).
+ self assertReading: 'Removed: Test User' in: self subject.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-UI.package/TCTUMessageTests.class/instance/testDeleteMemberMessageIsNotUserMessage.st b/packages/TelegramClientTests-UI.package/TCTUMessageTests.class/instance/testDeleteMemberMessageIsNotUserMessage.st
new file mode 100644
index 000000000..3cfa3800d
--- /dev/null
+++ b/packages/TelegramClientTests-UI.package/TCTUMessageTests.class/instance/testDeleteMemberMessageIsNotUserMessage.st
@@ -0,0 +1,11 @@
+testing
+testDeleteMemberMessageIsNotUserMessage
+
+ | deleteMemberEvent deleteMemberMessage chat |
+
+ chat := TCTMMocks mockBasicGroupChat.
+ deleteMemberEvent := TCTMMocks mockMessageDeleteMemberWith: TCTMMocks mockUser1 id from: chat id.
+ deleteMemberMessage := TCCMessage newFromMessageEvent: deleteMemberEvent in: chat with: self core.
+
+ self wantsToTest: (TCUMessage newFrom: deleteMemberMessage).
+ self deny: self subject isUserMessage.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-UI.package/TCTUMessageTests.class/instance/testMessageBetweenRequestsAnsweredMessage.st b/packages/TelegramClientTests-UI.package/TCTUMessageTests.class/instance/testMessageBetweenRequestsAnsweredMessage.st
new file mode 100644
index 000000000..55ed56e6a
--- /dev/null
+++ b/packages/TelegramClientTests-UI.package/TCTUMessageTests.class/instance/testMessageBetweenRequestsAnsweredMessage.st
@@ -0,0 +1,19 @@
+testing
+testMessageBetweenRequestsAnsweredMessage
+
+ | replyMessage betweenMessage chat |
+ chat := self core chatsHandler chats first.
+ self core client onRequestType: 'getMessage' respond: (TCTMMocks mockMessageJsonFrom: chat id).
+ replyMessage := TCCTextMessage newFromMessageEvent: (TCTMMocks mockTextMessageJsonFrom: chat id with: #messageSenderUser replyingTo: TCTMMocks mockMessageId) in: chat with: self core.
+ replyMessage text: 'reply message';
+ id: (TCTMMocks mockMessageId + 2).
+
+ betweenMessage := TCCTextMessage newFromMessageEvent: (TCTMMocks mockTextMessageJsonFrom: chat id with: #messageSenderUser replyingTo: TCTMMocks mockMessageId) in: chat with: self core.
+ betweenMessage text: 'between message';
+ id: (TCTMMocks mockMessageId + 1).
+
+ chat addNewestMessage: replyMessage.
+ self wantsToTest: (TCUMessage newFrom: replyMessage).
+ 0.5 seconds wait.
+ self assertNotReading: 'Message not loaded' in: self subject.
+ self assertReading: TCTMMocks mockText in: self subject.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-UI.package/TCTUMessageTests.class/instance/testMessageContainsMessageText.st b/packages/TelegramClientTests-UI.package/TCTUMessageTests.class/instance/testMessageContainsMessageText.st
index 7260d4223..2452500df 100644
--- a/packages/TelegramClientTests-UI.package/TCTUMessageTests.class/instance/testMessageContainsMessageText.st
+++ b/packages/TelegramClientTests-UI.package/TCTUMessageTests.class/instance/testMessageContainsMessageText.st
@@ -1,11 +1,9 @@
testing
testMessageContainsMessageText
- self core client onRequestType: 'downloadFile' respond: TCTMMocks mockImageResponseJson.
-
self wantsToTest: (TCUMessage newFrom: (TCTMMocks mockTextMessageWith: self core)).
self assertReading: TCTMMocks mockText in: self subject.
-
+
self wantsToTest: (TCUMessage newFrom: (TCTMMocks mockPhotoMessageWith: self core)).
self assertReading: TCTMMocks mockText in: self subject.
diff --git a/packages/TelegramClientTests-UI.package/TCTUMessageTests.class/instance/testMessageRequestsAnsweredMessage.st b/packages/TelegramClientTests-UI.package/TCTUMessageTests.class/instance/testMessageRequestsAnsweredMessage.st
new file mode 100644
index 000000000..5bd6b0b61
--- /dev/null
+++ b/packages/TelegramClientTests-UI.package/TCTUMessageTests.class/instance/testMessageRequestsAnsweredMessage.st
@@ -0,0 +1,17 @@
+testing
+testMessageRequestsAnsweredMessage
+
+ | message chat |
+
+ chat := self core chatsHandler chats first.
+ self core client onRequestType: 'getMessage' respond: (TCTMMocks mockMessageJsonFrom: chat id).
+
+ message := TCCTextMessage newFromMessageEvent: (TCTMMocks mockTextMessageJsonFrom: chat id with: #messageSenderUser replyingTo: TCTMMocks mockMessageId) in: chat with: self core.
+ message text: 'reply message';
+ id: (TCTMMocks mockMessageId + 1).
+ chat addNewestMessage: message.
+
+ self wantsToTest: (TCUMessage newFrom: message).
+ 0.5 seconds wait.
+ self assertNotReading: 'Message not loaded' in: self subject.
+ self assertReading: TCTMMocks mockText in: self subject.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-UI.package/TCTUMessageTests.class/instance/testMouseDownOnMessage.st b/packages/TelegramClientTests-UI.package/TCTUMessageTests.class/instance/testMouseDownOnMessage.st
new file mode 100644
index 000000000..b3649ce0c
--- /dev/null
+++ b/packages/TelegramClientTests-UI.package/TCTUMessageTests.class/instance/testMouseDownOnMessage.st
@@ -0,0 +1,10 @@
+testing
+testMouseDownOnMessage
+
+ | message messageMorph |
+
+ message := TCTMMocks mockTextMessageWith: self core.
+ messageMorph := TCUMessage newFrom: message.
+ messageMorph mouseDown: EventMorph new.
+
+ self assert: message chat selectedReplyToMessageId = messageMorph messageModel id.
diff --git a/packages/TelegramClientTests-UI.package/TCTUMessageTests.class/instance/testTextMessageIsUserMessage.st b/packages/TelegramClientTests-UI.package/TCTUMessageTests.class/instance/testTextMessageIsUserMessage.st
new file mode 100644
index 000000000..71403b310
--- /dev/null
+++ b/packages/TelegramClientTests-UI.package/TCTUMessageTests.class/instance/testTextMessageIsUserMessage.st
@@ -0,0 +1,9 @@
+testing
+testTextMessageIsUserMessage
+
+ | message |
+
+ message := (TCTMMocks mockTextMessageWith: self core).
+
+ self wantsToTest: (TCUMessage newFrom: message).
+ self assert: self subject isUserMessage.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-UI.package/TCTUMessageTests.class/methodProperties.json b/packages/TelegramClientTests-UI.package/TCTUMessageTests.class/methodProperties.json
index 2dafbca29..1a784bfb4 100644
--- a/packages/TelegramClientTests-UI.package/TCTUMessageTests.class/methodProperties.json
+++ b/packages/TelegramClientTests-UI.package/TCTUMessageTests.class/methodProperties.json
@@ -4,14 +4,22 @@
"instance" : {
"expectedSqueak5_2Failures" : "pk 7/6/2021 12:25",
"handleScreenShotTestFor:with:usedBy:" : "RK 6/26/2021 10:15",
- "setUp" : "RK 6/26/2021 09:32",
+ "setUp" : "rgw 6/6/2022 18:42",
+ "testAddMembersMessage" : "ek 8/5/2022 15:37",
+ "testAddMembersMessageIsNotUserMessage" : "ek 8/5/2022 15:38",
+ "testDeleteMemberMessage" : "ek 8/5/2022 15:38",
+ "testDeleteMemberMessageIsNotUserMessage" : "ek 8/5/2022 15:38",
+ "testMessageBetweenRequestsAnsweredMessage" : "ek 8/5/2022 15:40",
"testMessageColorsDifferentForIncomingOutgoing" : "tom.richter 6/26/2021 17:23",
"testMessageContainsDate" : "tom.richter 6/26/2021 17:23",
"testMessageContainsMessageSender" : "tom.richter 6/26/2021 17:23",
- "testMessageContainsMessageText" : "tom.richter 6/26/2021 17:25",
+ "testMessageContainsMessageText" : "rgw 6/6/2022 18:41",
"testMessageDisplaysEmojis" : "RK 7/6/2021 11:04",
+ "testMessageRequestsAnsweredMessage" : "ek 8/5/2022 15:43",
"testMessageShrinksCorrectly" : "tom.richter 6/26/2021 21:04",
- "testTextAndPhotoScaleCorrectlyLongCaption" : "tom.richter 6/26/2021 21:15",
- "testTextAndPhotoScaleCorrectlyLongUserName" : "tom.richter 7/25/2021 11:22",
- "testTextAndPhotoScaleCorrectlyNoCaption" : "tom.richter 6/26/2021 21:22",
- "testTextAndPhotoScaleCorrectlyShortCaption" : "tom.richter 6/26/2021 21:16" } }
+ "testMouseDownOnMessage" : "JS 5/22/2022 18:54",
+ "testTextAndPhotoScaleCorrectlyLongCaption" : "rgw 8/5/2022 10:33",
+ "testTextAndPhotoScaleCorrectlyLongUserName" : "rgw 8/5/2022 10:34",
+ "testTextAndPhotoScaleCorrectlyNoCaption" : "rgw 8/5/2022 10:34",
+ "testTextAndPhotoScaleCorrectlyShortCaption" : "rgw 8/5/2022 10:34",
+ "testTextMessageIsUserMessage" : "ek 8/5/2022 15:44" } }
diff --git a/packages/TelegramClientTests-UI.package/TCTUMessageWrapperTests.class/README.md b/packages/TelegramClientTests-UI.package/TCTUMessageWrapperTests.class/README.md
new file mode 100644
index 000000000..d5a656b7e
--- /dev/null
+++ b/packages/TelegramClientTests-UI.package/TCTUMessageWrapperTests.class/README.md
@@ -0,0 +1 @@
+Tests the TCUMessageWrapper.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-UI.package/TCTUMessageWrapperTests.class/instance/testDayDividerMessageIdInvalid.st b/packages/TelegramClientTests-UI.package/TCTUMessageWrapperTests.class/instance/testDayDividerMessageIdInvalid.st
new file mode 100644
index 000000000..d041bb86c
--- /dev/null
+++ b/packages/TelegramClientTests-UI.package/TCTUMessageWrapperTests.class/instance/testDayDividerMessageIdInvalid.st
@@ -0,0 +1,9 @@
+testing
+testDayDividerMessageIdInvalid
+
+ | date message |
+ date := (DateAndTime fromUnixTime: 1376462359) asDate. "14.8.13"
+ message := TCUDayDividerMessage newFromDate: date.
+ self wantsToTest: (TCUDayDividerMessageWrapper newFromMessage: message withWidth: 500).
+
+ self assert: self subject messageId < 0.
\ No newline at end of file
diff --git a/packages/TelegramClientTests-UI.package/TCTUMessageWrapperTests.class/instance/testGroupMessageContainsPhoto.st b/packages/TelegramClientTests-UI.package/TCTUMessageWrapperTests.class/instance/testGroupMessageContainsPhoto.st
new file mode 100644
index 000000000..05695963f
--- /dev/null
+++ b/packages/TelegramClientTests-UI.package/TCTUMessageWrapperTests.class/instance/testGroupMessageContainsPhoto.st
@@ -0,0 +1,8 @@
+testing
+testGroupMessageContainsPhoto
+
+ | message |
+ message := TCUMessage newFrom: (TCTMMocks mockTextMessageWith: self core inChat: TCTMMocks mockBasicGroupChat).
+ self wantsToTest: (TCUUserMessageWrapper newFromMessage: message withWidth: 500).
+ 0.1 seconds wait.
+ self assert: (self subject morphs first submorphs anySatisfy: [:aMorph | aMorph isImageMorph]).
\ No newline at end of file
diff --git a/packages/TelegramClientTests-UI.package/TCTUMessageWrapperTests.class/methodProperties.json b/packages/TelegramClientTests-UI.package/TCTUMessageWrapperTests.class/methodProperties.json
new file mode 100644
index 000000000..32383070e
--- /dev/null
+++ b/packages/TelegramClientTests-UI.package/TCTUMessageWrapperTests.class/methodProperties.json
@@ -0,0 +1,6 @@
+{
+ "class" : {
+ },
+ "instance" : {
+ "testDayDividerMessageIdInvalid" : "js 7/31/2022 20:37",
+ "testGroupMessageContainsPhoto" : "ek 8/5/2022 15:46" } }
diff --git a/packages/TelegramClientTests-UI.package/TCTUMessageWrapperTests.class/properties.json b/packages/TelegramClientTests-UI.package/TCTUMessageWrapperTests.class/properties.json
new file mode 100644
index 000000000..773f8a0b3
--- /dev/null
+++ b/packages/TelegramClientTests-UI.package/TCTUMessageWrapperTests.class/properties.json
@@ -0,0 +1,14 @@
+{
+ "category" : "TelegramClientTests-UI",
+ "classinstvars" : [
+ ],
+ "classvars" : [
+ ],
+ "commentStamp" : "JS 6/11/2022 11:48",
+ "instvars" : [
+ ],
+ "name" : "TCTUMessageWrapperTests",
+ "pools" : [
+ ],
+ "super" : "TCTUTestCase",
+ "type" : "normal" }
diff --git a/packages/TelegramClientTests-UI.package/TCTUMockCore.class/instance/checkAuthenticationPassword..st b/packages/TelegramClientTests-UI.package/TCTUMockCore.class/instance/checkAuthenticationPassword..st
new file mode 100644
index 000000000..8b76994ef
--- /dev/null
+++ b/packages/TelegramClientTests-UI.package/TCTUMockCore.class/instance/checkAuthenticationPassword..st
@@ -0,0 +1,2 @@
+handlers
+checkAuthenticationPassword: aString
\ No newline at end of file
diff --git a/packages/TelegramClientTests-UI.package/TCTUMockCore.class/methodProperties.json b/packages/TelegramClientTests-UI.package/TCTUMockCore.class/methodProperties.json
index 1a4493dd7..e73059a20 100644
--- a/packages/TelegramClientTests-UI.package/TCTUMockCore.class/methodProperties.json
+++ b/packages/TelegramClientTests-UI.package/TCTUMockCore.class/methodProperties.json
@@ -3,5 +3,6 @@
},
"instance" : {
"checkAuthenticationCode:" : "JB 6/7/2021 11:52",
+ "checkAuthenticationPassword:" : "aka 5/21/2022 12:35",
"initializeHandlers" : "JB 6/7/2021 09:19",
"sendPhoneNumber:" : "JB 6/7/2021 12:04" } }
diff --git a/packages/TelegramClientTests-UI.package/TCTUTestCase.class/instance/assertNotReading.inMorph..st b/packages/TelegramClientTests-UI.package/TCTUTestCase.class/instance/assertNotReading.inMorph..st
new file mode 100644
index 000000000..b3b86e86c
--- /dev/null
+++ b/packages/TelegramClientTests-UI.package/TCTUTestCase.class/instance/assertNotReading.inMorph..st
@@ -0,0 +1,4 @@
+asserting
+assertNotReading: aString inMorph: aMorph
+
+ self assertNotReading: aString in: (MTFMorphWrapper newWith: {aMorph}).
\ No newline at end of file
diff --git a/packages/TelegramClientTests-UI.package/TCTUTestCase.class/instance/setUp.st b/packages/TelegramClientTests-UI.package/TCTUTestCase.class/instance/setUp.st
index 2974e81bc..e48a606f7 100644
--- a/packages/TelegramClientTests-UI.package/TCTUTestCase.class/instance/setUp.st
+++ b/packages/TelegramClientTests-UI.package/TCTUTestCase.class/instance/setUp.st
@@ -4,5 +4,7 @@ setUp
self core: (TCTUMockCore newWithTeleClient: TCTMMockTdlibClient new).
self core userStore: TCTMMocks mockUserStore.
self core chatsHandler chats: (TCTMMocks mockChatsFor: self core).
+ self core client onRequestType: 'downloadFile' respond: TCTMMocks mockImageResponseJson.
TCUEmojiHelper ensureEmojisArePresent.
self wantsToTest: (TCUMainWindow newWithCore: self core).
+ (self subject findByClass: TCUChatsList) step.
diff --git a/packages/TelegramClientTests-UI.package/TCTUTestCase.class/methodProperties.json b/packages/TelegramClientTests-UI.package/TCTUTestCase.class/methodProperties.json
index 3ca4554c0..f78f2edd1 100644
--- a/packages/TelegramClientTests-UI.package/TCTUTestCase.class/methodProperties.json
+++ b/packages/TelegramClientTests-UI.package/TCTUTestCase.class/methodProperties.json
@@ -6,6 +6,7 @@
"defaultTestResultPath" : "RS 5/23/2021 17:12" },
"instance" : {
"assertNotReading:in:" : "RS 5/31/2021 07:54",
+ "assertNotReading:inMorph:" : "JS 5/22/2022 19:17",
"assertReading:in:" : "TR 6/9/2021 14:55",
"assertReading:inMorph:" : "JB 6/26/2021 10:02",
"computeHashOf:" : "RS 5/23/2021 16:19",
@@ -16,7 +17,7 @@
"forceSaveScreenshotOf:as:in:" : "RS 5/26/2021 13:29",
"openAnyChat" : "JB 7/18/2021 12:22",
"openChatWithId:" : "JB 7/18/2021 12:57",
- "setUp" : "RS 8/1/2021 12:53",
+ "setUp" : "ek 8/5/2022 15:47",
"takeScreenshotOf:" : "JB 5/24/2021 16:21",
"tearDown" : "RS 6/25/2021 12:38",
"waitUntil:" : "RS 6/6/2021 13:00" } }