TelepathyIM / telepathy-morse

Telegram connection manager for the Telepathy framework
GNU General Public License v2.0
62 stars 10 forks source link

My side of conversation is echoed back appearing to be said by my contact #42

Closed ghost closed 7 years ago

ghost commented 7 years ago

When I send a message to a contact, my conversation is repeated back to me, but appearing as if my contact said it.

telepathy_telegram2

Kaffeine commented 7 years ago

Hello.

I have (or had) the same issue in my dev branch, but I thought that master branch works well. I'll fix it sometime soon, probably at this weekend.

Kaffeine commented 7 years ago

Fixed (may be hack-fixed) by commit https://github.com/Kaffeine/telegram-qt/commit/3fceea1d8119bbd7450c5a737e0f79bff2444600

@CliffordD Please update TelegramQt and check the issue again.

Thaodan commented 7 years ago

Don't know if im right so im posting this here: it appears to me that messaages send by others are in the chat of me.

Kaffeine commented 7 years ago

@Thaodan Thanks, I'll take a look.

Thaodan commented 7 years ago

maybe related to: https://bugs.freedesktop.org/show_bug.cgi?id=94030

Kaffeine commented 7 years ago

@Thaodan I'm sorry, I forgot to reply here, but the issue should be already fixed by https://github.com/Kaffeine/telegram-qt/commit/8d07323b84afeb5a3a68cc3ea7490ecfdd0b09f0

Kaffeine commented 7 years ago

Oh shi..., I also forgot to update telepathy-morse after recent TelegramQt changes merged to master. I'll update telepathy-morse this evening (because I have no PGP key to sign commits on this machine). You can use rpm_wip branch for now.

Thaodan commented 7 years ago

Oh I thought it was maybe a bug in telepathy. Should I use the rpm_wip branch instead till you update?

Thaodan commented 7 years ago

btw why are they two telegram-qt libs?

Kaffeine commented 7 years ago

Should I use the rpm_wip branch instead till you update?

Yes

btw why are they two telegram-qt libs?

I merged rpm_wip, qml and a dozen of other changes and fixes in telegram-qt, but forgot to merge rpm_wip in telepathy-morse (which is ported to the new API with some QML support). At this moment QML support is limited to authentication needed for a new project (qml-based SailfishOS settings page for Telegram account).

So, useable stuff: telepathy-qt (master), telepathy-morse (rpm_wip for now, master will be ready in six hours) and telegram-qt (master).

I'll update telepathy-morse readme file in the next few days.

Thaodan commented 7 years ago

Should I use the rpm_wip branch instead till you update?

Yes Thanks it worked

btw why are they two telegram-qt libs?

I merged rpm_wip, qml and a dozen of other changes and fixes in telegram-qt, but forgot to merge rpm_wip in telepathy-morse (which is ported to the new API with some QML support). At this moment QML support is limited to authentication needed for a new project ([qml-based SailfishOS settings page for Telegram account](https://github.com/Kaffeine/sailfish-settings-accounts-extensions-> telegram)).

So: telepathy-qt (master), telepathy-morse (rpm_wip for this day, master in six hours after this moment) and telegram-qt (master).

I'll update telepathy-morse readme file in the next few days. Not the answer I wanted but still nice to know. Sadly to hear that you need to overcome the limitations of sailfish.

I orginaly asked why is there libtelegramq and telegram-qt.

Also when we are the topic of account creation and changing. What about the option to change account name and so on?

Thaodan commented 7 years ago

When I send a message via another client the message counts as the conversation partner.

Kaffeine commented 7 years ago

Sadly to hear that you need to overcome the limitations of sailfish.

On the other side, I can expose account privacy settings in the custom settings page, which will not be available via telepathy in the foreseen future.

I orginaly asked why is there libtelegramq and telegram-qt.

I was thinking about the possibility to drop my TelegramQt and use LibQTelegram instead. I fixed a few bugs there and helped with a plenty of others, but decided to continue the development of my own library. You're right; I'll remove LibQTelegram repo to avoid confusion. :)

What about the option to change account name and so on?

Did you mean something related to Telegram or to Telepathy? I have no idea how to fix/format telepathy account display name. I thought it is done on the Telepathy MissionControl / TelepathyQt level.

Thaodan commented 7 years ago

the account name and the telegram account name are different things. You can expose the a property like the account name to mission-control so that things like ktp can set it.

So there's the point for to libraries? for example the desktop client uses libtelegramq i think.

Thaodan commented 7 years ago

https://telepathy.freedesktop.org/spec/Account.html#Property:Parameters

Is what I meant.

Kaffeine commented 7 years ago

When I send a message via another client the message counts as the conversation partner.

It is a bug in the client and not in the telepathy-morse :-(

What the client do you use? If it is Empathy, then we can ask @gkiagia. There is a known issue with KDE Telepathy, which is hard to fix (KDE OTR Proxy (which can not be switched off at runtime) has not enough context to know sender of incoming messages). I disabled KDE OTR at compilation time to workaround the issue. I also will work on Sailfish OS telepathy client to some degree.

In my opinion, one of the big Telepathy problem is segmentation (TelepathyQt bindings are barely useful, there are no Models for QML, no good debugger and so on). To overcome the issue, I will develop a new Qt-based Telepathy client and put its part to TelepathyQt to reuse them in KTp, Sailfish OS (Mer, Nemo) and Ubuntu phone.

Thaodan commented 7 years ago

the client is ktp and the client that sended the message was disa. kde has ktp-debugger as debugger.

The Problem is that the client relies on deep integration on Sailfish and I also think on KDE. I hoped the sailfish and kde client could unite.

Kaffeine commented 7 years ago

the client is ktp and the client that sended the message was disa.

You can try to remove (rename or somehow hide) ktp-proxy binary (something like /usr/libexec/ktp-proxy or /usr/lib/x86_64-linux-gnu/libexec/ktp-proxy). KTp should fallback to direct connection TextUI <-> ConnectionManager, which works much reliable (in my experience).

Thaodan commented 7 years ago

I disabled the proxy just disable it while building. Now the last message of mine (ONLY the last message) that I send using ktp is resend as mine. Telepathy-KDE desperately needs a maintainer.

Kaffeine commented 7 years ago

I disabled the proxy just disable it while building

Did you edit CMakeLists.txt? Sadly, there is no option to disable it properly https://bugs.kde.org/show_bug.cgi?id=368546

Thaodan commented 7 years ago

I saw that you commited to telepathy-kde-common-internals, did you try to fix some issues? Are you on freenode or else that we can chat elsewhere as this is no place for chatting?

Yes I edited the file to just dont build the proxy.

Kaffeine commented 7 years ago

kde has ktp-debugger as debugger

It can be used as a base for TelepathyQt debugger library with app/frontend for each platform (QtWidgets (basic textedit), QML, KDE (kate highlight), SailfishOS, maybe Ubuntu).

Thaodan commented 7 years ago

Hm that's doesn't sound that good. I noticed the on the fly detection thing too. I hope there's no need for a Ubuntu gui as katetextedit could be used on Ubuntu too.

If can help in some way I'll do.

Kaffeine commented 7 years ago

I just tried group chat in KTp and noticed that the window name doesn't look good. Room name is not implemented in ktp-text-ui and ktp-common-internals. It is not exposed even by TelepathyQt! How on the earth can we have good enough group chat support without room name? I worked only on the service side and never thought that the client side is that bad. I thought 'why Jolla didn't implement group chat in their client?' Now I know the answer. There is only a very rudimentary support of group chat in the client library.

Thaodan commented 7 years ago

The issue is that telepathy in any way laks manpower and that's something that's not there since yesterday. I think instead of keeping the dead kopete alive it should improve telepathy at gsoc.

The issue with the group name is something i said to you ago. In KTP this is inconsistent. When you search for groups the right group name is used however in the chat frame its not.

Kaffeine commented 7 years ago

I just fixed the master branch, so I would recommend again to use master branches of Telepathy-Morse, TelegramQt and TelepathyQt.

Thaodan commented 7 years ago

I noticed the resend hapens when the message is read by the reciever so maybe its a bug in morse?

Kaffeine commented 7 years ago

so maybe its a bug in morse?

Yes, mostly. MessagesReadHistory signature was changed on telegram layer 45 since layer 38, but with my changes in generator-ng the new signature was not been applied. With outdated signature TelegramQt missed pts update, which caused desynchronization and getDifference() call, which in its turn, received updates with the sent message, which caused MessageReceived signal emission. Morse knew that the message came from history, so it setted up scrollback attribute, but the value seems to be ignored, because clients are not capable to handle scrollback.

I (force)-pushed fixes to both (this and wip_layer45) branches of TelegramQt repository.

I'll close this issue after some more testing. Tell me if you have/had this problem on master branch of TelegramQt, which is still on layer 38 and should work better.

Thaodan commented 7 years ago

sorry but which commit? I dont sey an update.

Kaffeine commented 7 years ago

https://github.com/Kaffeine/telegram-qt/commit/fe5071a42f6a3aa1e1a2b96b5b97468c0bf217d4#diff-07fa51e4c967d3bcf8dea4b092e0a413L3196

Kaffeine commented 7 years ago

As I said, I force-pushed changes. I sign and force-push commits to branches to be able to push them to master from any computer. I do never force-push the master branch, but iteratively craft change-set in branches.

Thaodan commented 7 years ago

Ok, so where is the change to the "stable" version?

Kaffeine commented 7 years ago

The 'stable' version is on layer 38, which is expected to return a type without pts on messages.readHistory call. You can compare layer 38 and layer 45. I think that this is a yet another case of missing backward compatibility, so layer 38 will not work properly at all. Can you try TelegramQt from branch 'wip_layer45' please? If it works better, then there will be no reason to hold the update and I'll push it to master in an hour.

Thaodan commented 7 years ago

It works now, no longer an echo after message read.