From 6dfaad0ace74ccdeb48ab8b46cc9021c33ac3b5d Mon Sep 17 00:00:00 2001 From: rsommerfeld <romeo.sommerfeld@web.de> Date: Fri, 18 Jun 2021 10:01:14 +0200 Subject: [PATCH] Revert "generate callback ids in core, enforce register before send" This reverts commit 62e01cca9047cdaed4a820997c6b1e5b3b8bc80e. --- .../instance/loadInfo.st | 15 +++++++-------- .../methodProperties.json | 2 +- .../TCCChat.class/instance/positionKnown..st | 2 +- .../TCCChat.class/methodProperties.json | 2 +- .../TCCCore.class/instance/callbackCounter..st | 4 ---- .../TCCCore.class/instance/callbackCounter.st | 4 ---- .../instance/callbackCounterPreIncrement.st | 5 ----- .../instance/generateCallbackID.st | 6 ------ .../TCCCore.class/instance/initialize.st | 3 +-- .../instance/registerCallback..st | 7 ------- .../instance/registerCallback.with..st | 4 ++++ .../TCCCore.class/methodProperties.json | 8 ++------ .../TCCCore.class/properties.json | 3 +-- .../instance/loadGeneralInfo.st | 18 +++++++++--------- .../instance/loadMembers.st | 12 ++++++------ .../methodProperties.json | 4 ++-- .../TCCUsers.class/instance/requestUserFor..st | 8 ++++---- .../TCCUsers.class/methodProperties.json | 2 +- .../instance/testCallbackID.st | 13 ------------- .../TCTCCoreTests.class/methodProperties.json | 1 - 20 files changed, 40 insertions(+), 83 deletions(-) delete mode 100644 packages/TelegramClient-Core.package/TCCCore.class/instance/callbackCounter..st delete mode 100644 packages/TelegramClient-Core.package/TCCCore.class/instance/callbackCounter.st delete mode 100644 packages/TelegramClient-Core.package/TCCCore.class/instance/callbackCounterPreIncrement.st delete mode 100644 packages/TelegramClient-Core.package/TCCCore.class/instance/generateCallbackID.st delete mode 100644 packages/TelegramClient-Core.package/TCCCore.class/instance/registerCallback..st create mode 100644 packages/TelegramClient-Core.package/TCCCore.class/instance/registerCallback.with..st delete mode 100644 packages/TelegramClientTests-Core.package/TCTCCoreTests.class/instance/testCallbackID.st diff --git a/packages/TelegramClient-Core.package/TCCBasicGroupChat.class/instance/loadInfo.st b/packages/TelegramClient-Core.package/TCCBasicGroupChat.class/instance/loadInfo.st index 21dae5ba2..1731e9cf9 100644 --- a/packages/TelegramClient-Core.package/TCCBasicGroupChat.class/instance/loadInfo.st +++ b/packages/TelegramClient-Core.package/TCCBasicGroupChat.class/instance/loadInfo.st @@ -1,15 +1,14 @@ loading loadInfo - | callbackID | - callbackID := self core registerCallback: [:aBasicGroupFullInfoEvent | - self - memberCount: (aBasicGroupFullInfoEvent at: 'members') size; - description: (aBasicGroupFullInfoEvent at: 'description'); - addMembersFrom: (aBasicGroupFullInfoEvent at: 'members'). - ]. self core client send: (TCCRequest newWithType: 'getBasicGroupFullInfo' from: { 'basic_group_id'->self groupId. - '@extra'->callbackID}). \ No newline at end of file + '@extra'->self groupId}). + self core registerCallback: [:aBasicGroupFullInfoEvent | + self + memberCount: (aBasicGroupFullInfoEvent at: 'members') size; + description: (aBasicGroupFullInfoEvent at: 'description'). + self addMembersFrom: (aBasicGroupFullInfoEvent at: 'members'). + ] with: self groupId asString \ No newline at end of file diff --git a/packages/TelegramClient-Core.package/TCCBasicGroupChat.class/methodProperties.json b/packages/TelegramClient-Core.package/TCCBasicGroupChat.class/methodProperties.json index 70f6e5b90..0dc680d34 100644 --- a/packages/TelegramClient-Core.package/TCCBasicGroupChat.class/methodProperties.json +++ b/packages/TelegramClient-Core.package/TCCBasicGroupChat.class/methodProperties.json @@ -4,4 +4,4 @@ "instance" : { "initializeFromChatEvent:" : "per 6/4/2021 15:06", "isBasicGroup" : "per 6/15/2021 08:41", - "loadInfo" : "pk 6/18/2021 09:43" } } + "loadInfo" : "per 6/15/2021 08:36" } } diff --git a/packages/TelegramClient-Core.package/TCCChat.class/instance/positionKnown..st b/packages/TelegramClient-Core.package/TCCChat.class/instance/positionKnown..st index fbd27471c..6cce5d3f1 100644 --- a/packages/TelegramClient-Core.package/TCCChat.class/instance/positionKnown..st +++ b/packages/TelegramClient-Core.package/TCCChat.class/instance/positionKnown..st @@ -1,4 +1,4 @@ accessing positionKnown: aBoolean - positionKnown := aBoolean \ No newline at end of file + positionKnown := aBoolean \ 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 fba7eccb8..56ce29546 100644 --- a/packages/TelegramClient-Core.package/TCCChat.class/methodProperties.json +++ b/packages/TelegramClient-Core.package/TCCChat.class/methodProperties.json @@ -32,7 +32,7 @@ "position" : "RS 5/10/2021 21:11", "position:" : "5/11/2021 10:09:15", "positionKnown" : "RS 5/10/2021 21:11", - "positionKnown:" : "pk 6/16/2021 09:30", + "positionKnown:" : "5/11/2021 10:09:15", "requestMessages:" : "js 8/1/2020 18:05", "stillRequestedMessages" : "js 8/1/2020 18:05", "title" : "rs 6/7/2020 22:24", diff --git a/packages/TelegramClient-Core.package/TCCCore.class/instance/callbackCounter..st b/packages/TelegramClient-Core.package/TCCCore.class/instance/callbackCounter..st deleted file mode 100644 index 6358679b7..000000000 --- a/packages/TelegramClient-Core.package/TCCCore.class/instance/callbackCounter..st +++ /dev/null @@ -1,4 +0,0 @@ -accessing -callbackCounter: aNumber - - callbackCounter := aNumber \ No newline at end of file diff --git a/packages/TelegramClient-Core.package/TCCCore.class/instance/callbackCounter.st b/packages/TelegramClient-Core.package/TCCCore.class/instance/callbackCounter.st deleted file mode 100644 index 62d673411..000000000 --- a/packages/TelegramClient-Core.package/TCCCore.class/instance/callbackCounter.st +++ /dev/null @@ -1,4 +0,0 @@ -accessing -callbackCounter - - ^ callbackCounter \ No newline at end of file diff --git a/packages/TelegramClient-Core.package/TCCCore.class/instance/callbackCounterPreIncrement.st b/packages/TelegramClient-Core.package/TCCCore.class/instance/callbackCounterPreIncrement.st deleted file mode 100644 index 9bee305ed..000000000 --- a/packages/TelegramClient-Core.package/TCCCore.class/instance/callbackCounterPreIncrement.st +++ /dev/null @@ -1,5 +0,0 @@ -utility -callbackCounterPreIncrement - - self callbackCounter: self callbackCounter + 1. - ^ self callbackCounter \ No newline at end of file diff --git a/packages/TelegramClient-Core.package/TCCCore.class/instance/generateCallbackID.st b/packages/TelegramClient-Core.package/TCCCore.class/instance/generateCallbackID.st deleted file mode 100644 index 12513998c..000000000 --- a/packages/TelegramClient-Core.package/TCCCore.class/instance/generateCallbackID.st +++ /dev/null @@ -1,6 +0,0 @@ -utility -generateCallbackID - - ^ self hash asString , - ':' , self callbackCounterPreIncrement asString , - ':' , Random new nextValue asString \ No newline at end of file diff --git a/packages/TelegramClient-Core.package/TCCCore.class/instance/initialize.st b/packages/TelegramClient-Core.package/TCCCore.class/instance/initialize.st index b2dd4fb92..d76423da8 100644 --- a/packages/TelegramClient-Core.package/TCCCore.class/instance/initialize.st +++ b/packages/TelegramClient-Core.package/TCCCore.class/instance/initialize.st @@ -7,7 +7,6 @@ initialize chats: TCCChats newWithDefaultSorting; loggedInUserID: 0; pendingRequests: Dictionary new; - users: (TCCUsers new core: self); - callbackCounter: 0. + users: (TCCUsers new core: self). [self receiveLoop] fork. \ No newline at end of file diff --git a/packages/TelegramClient-Core.package/TCCCore.class/instance/registerCallback..st b/packages/TelegramClient-Core.package/TCCCore.class/instance/registerCallback..st deleted file mode 100644 index 8e98917ca..000000000 --- a/packages/TelegramClient-Core.package/TCCCore.class/instance/registerCallback..st +++ /dev/null @@ -1,7 +0,0 @@ -utility -registerCallback: aClosure - - | callbackID | - callbackID := self generateCallbackID. - self pendingRequests at: callbackID put: aClosure. - ^ callbackID \ No newline at end of file diff --git a/packages/TelegramClient-Core.package/TCCCore.class/instance/registerCallback.with..st b/packages/TelegramClient-Core.package/TCCCore.class/instance/registerCallback.with..st new file mode 100644 index 000000000..1193ab966 --- /dev/null +++ b/packages/TelegramClient-Core.package/TCCCore.class/instance/registerCallback.with..st @@ -0,0 +1,4 @@ +utility +registerCallback: aClosure with: aCallbackId + + self pendingRequests at: (aCallbackId asString) put: aClosure \ 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 a6f24686e..92e5f60c2 100644 --- a/packages/TelegramClient-Core.package/TCCCore.class/methodProperties.json +++ b/packages/TelegramClient-Core.package/TCCCore.class/methodProperties.json @@ -5,9 +5,6 @@ "authHandler" : "R.S 5/20/2020 16:10", "authHandler:" : "R.S 5/20/2020 16:10", "authSucceeded" : "RS 4/28/2021 21:07", - "callbackCounter" : "pk 6/18/2021 09:38", - "callbackCounter:" : "pk 6/18/2021 09:38", - "callbackCounterPreIncrement" : "pk 6/18/2021 09:39", "chats" : "R.S 6/1/2020 15:34", "chats:" : "R.S 6/1/2020 15:34", "chatsHandler" : "rs 6/7/2020 21:50", @@ -16,13 +13,12 @@ "client" : "R.S 5/20/2020 16:08", "client:" : "js 6/13/2020 19:10", "freeClient" : "6/9/2021 14:12:18", - "generateCallbackID" : "pk 6/18/2021 09:39", "getChatHistoryFrom:" : "per 6/4/2021 15:30", "getOwnProfile" : "pk 5/13/2021 09:44", "handleEvent:" : "per 6/4/2021 11:54", "handleMessageEvent:" : "pk 5/28/2021 09:41", "handlePendingEvent:" : "5/30/2021 12:11:04", - "initialize" : "pk 6/18/2021 09:38", + "initialize" : "pk 5/21/2021 09:13", "initializeHandlers" : "js 8/1/2020 18:09", "isClientAlive" : "js 5/28/2020 17:18", "loggedInUserID" : "rs 7/5/2020 14:48", @@ -30,7 +26,7 @@ "pendingRequests" : "pk 5/13/2021 09:46", "pendingRequests:" : "pk 5/13/2021 09:46", "receiveLoop" : "R.S 6/1/2020 15:24", - "registerCallback:" : "pk 6/18/2021 09:41", + "registerCallback:with:" : "RK 5/19/2021 10:43", "requestUser:with:" : "pk 5/21/2021 09:33", "searchChat:" : "f.w. 7/15/2020 22:53", "sendMessage:to:" : "rs 6/13/2020 15:26", diff --git a/packages/TelegramClient-Core.package/TCCCore.class/properties.json b/packages/TelegramClient-Core.package/TCCCore.class/properties.json index e94f0720e..8299c74bf 100644 --- a/packages/TelegramClient-Core.package/TCCCore.class/properties.json +++ b/packages/TelegramClient-Core.package/TCCCore.class/properties.json @@ -12,8 +12,7 @@ "users", "chats", "loggedInUserID", - "pendingRequests", - "callbackCounter" ], + "pendingRequests" ], "name" : "TCCCore", "pools" : [ ], diff --git a/packages/TelegramClient-Core.package/TCCSuperGroupChat.class/instance/loadGeneralInfo.st b/packages/TelegramClient-Core.package/TCCSuperGroupChat.class/instance/loadGeneralInfo.st index c7b076830..b2cae5a86 100644 --- a/packages/TelegramClient-Core.package/TCCSuperGroupChat.class/instance/loadGeneralInfo.st +++ b/packages/TelegramClient-Core.package/TCCSuperGroupChat.class/instance/loadGeneralInfo.st @@ -1,14 +1,14 @@ loading loadGeneralInfo - - | callbackID | - callbackID := self core - registerCallback: [:aSupergroupFullInfoEvent | - self - memberCount: (aSupergroupFullInfoEvent at: 'member_count'); - description: (aSupergroupFullInfoEvent at: 'description')]. - + self core client send: (TCCRequest newWithType: 'getSupergroupFullInfo' from: {'supergroup_id'->self groupId. - '@extra'->callbackID}). + '@extra'->self groupId}). + + self core + registerCallback: [:aSupergroupFullInfoEvent | + self + memberCount: (aSupergroupFullInfoEvent at: 'member_count'); + description: (aSupergroupFullInfoEvent at: 'description').] + with: self groupId. \ No newline at end of file diff --git a/packages/TelegramClient-Core.package/TCCSuperGroupChat.class/instance/loadMembers.st b/packages/TelegramClient-Core.package/TCCSuperGroupChat.class/instance/loadMembers.st index 04553352f..aa4cd5932 100644 --- a/packages/TelegramClient-Core.package/TCCSuperGroupChat.class/instance/loadMembers.st +++ b/packages/TelegramClient-Core.package/TCCSuperGroupChat.class/instance/loadMembers.st @@ -1,14 +1,14 @@ loading loadMembers - | callbackID | - callbackID := self core - registerCallback: [:aSupergroupMembersEvent | - self addMembersFrom: (aSupergroupMembersEvent at: 'members')]. - self core client send: (TCCRequest newWithType: 'getSupergroupMembers' from: {'supergroup_id'->self groupId. 'offset'->self members size. 'limit'->self class defaultLimit. - '@extra'->callbackID}). \ No newline at end of file + '@extra'->('#', self groupId)}). + + self core + registerCallback: [:aSupergroupMembersEvent | + self addMembersFrom: (aSupergroupMembersEvent at: 'members').] + with: '#', self groupId. \ No newline at end of file diff --git a/packages/TelegramClient-Core.package/TCCSuperGroupChat.class/methodProperties.json b/packages/TelegramClient-Core.package/TCCSuperGroupChat.class/methodProperties.json index e61f87660..f143d003e 100644 --- a/packages/TelegramClient-Core.package/TCCSuperGroupChat.class/methodProperties.json +++ b/packages/TelegramClient-Core.package/TCCSuperGroupChat.class/methodProperties.json @@ -4,7 +4,7 @@ "instance" : { "initializeFromChatEvent:" : "per 6/4/2021 15:08", "isSuperGroup" : "per 6/15/2021 08:41", - "loadGeneralInfo" : "pk 6/18/2021 09:44", + "loadGeneralInfo" : "TR 6/15/2021 16:39", "loadInfo" : "TR 6/14/2021 14:54", - "loadMembers" : "pk 6/18/2021 09:44", + "loadMembers" : "TR 6/15/2021 16:39", "loadMoreMembers" : "per 6/15/2021 08:15" } } diff --git a/packages/TelegramClient-Core.package/TCCUsers.class/instance/requestUserFor..st b/packages/TelegramClient-Core.package/TCCUsers.class/instance/requestUserFor..st index d6948ff24..52893720c 100644 --- a/packages/TelegramClient-Core.package/TCCUsers.class/instance/requestUserFor..st +++ b/packages/TelegramClient-Core.package/TCCUsers.class/instance/requestUserFor..st @@ -1,9 +1,9 @@ utility requestUserFor: aUserId - | callbackID | - callbackID := self core + self core registerCallback: - [:userEvent | (self at: aUserId) resolveWith: (TCCUser newFrom: userEvent)]. + [:userEvent | (self at: aUserId) resolveWith: (TCCUser newFrom: userEvent)] + with: (aUserId asString). - self core requestUser: aUserId with: callbackID \ No newline at end of file + self core requestUser: aUserId with: aUserId \ No newline at end of file diff --git a/packages/TelegramClient-Core.package/TCCUsers.class/methodProperties.json b/packages/TelegramClient-Core.package/TCCUsers.class/methodProperties.json index 20b6c50ef..c69c25055 100644 --- a/packages/TelegramClient-Core.package/TCCUsers.class/methodProperties.json +++ b/packages/TelegramClient-Core.package/TCCUsers.class/methodProperties.json @@ -5,4 +5,4 @@ "core" : "RK 5/19/2021 10:34", "core:" : "TR 6/15/2021 16:52", "getUserFor:" : "RK 5/19/2021 11:05", - "requestUserFor:" : "pk 6/18/2021 09:47" } } + "requestUserFor:" : "pk 5/21/2021 09:33" } } diff --git a/packages/TelegramClientTests-Core.package/TCTCCoreTests.class/instance/testCallbackID.st b/packages/TelegramClientTests-Core.package/TCTCCoreTests.class/instance/testCallbackID.st deleted file mode 100644 index 5ea0ae176..000000000 --- a/packages/TelegramClientTests-Core.package/TCTCCoreTests.class/instance/testCallbackID.st +++ /dev/null @@ -1,13 +0,0 @@ -testing -testCallbackID - - | block id1 id2 | - block := [:anEvent | nil]. - id1 := self core registerCallback: block. - id2 := self core registerCallback: block. - - self deny: id1 = id2. - self assert: (self core pendingRequests at: id1) equals: block. - self assert: (self core pendingRequests at: id2) equals: block. - - \ No newline at end of file diff --git a/packages/TelegramClientTests-Core.package/TCTCCoreTests.class/methodProperties.json b/packages/TelegramClientTests-Core.package/TCTCCoreTests.class/methodProperties.json index fad5f06fa..2019d238d 100644 --- a/packages/TelegramClientTests-Core.package/TCTCCoreTests.class/methodProperties.json +++ b/packages/TelegramClientTests-Core.package/TCTCCoreTests.class/methodProperties.json @@ -10,7 +10,6 @@ "testAuthHandler" : "per 5/21/2021 16:28", "testBasicGroupMembers" : "per 6/10/2021 20:47", "testCallback" : "per 5/21/2021 16:28", - "testCallbackID" : "pk 6/18/2021 09:30", "testChatsHandler" : "per 5/21/2021 16:28", "testErrorConstants" : "js 8/2/2020 21:23", "testLoggedInUserID" : "TR 6/13/2021 14:48",