Bug#983365: linphone-desktop: chat messages
X-Debbugs-CC: David Pirotte On Thu, Mar 18, 2021 at 06:52:21PM -0300, David Pirotte wrote: > I did try and here is happened: > > I sent a message, but no 'trace' (for me, the sender), that I > did send the msg ... normally, when we send a msg, using the > AppImage, linphone sends it and displays a feedback, in the top > right corner of the message 'box' > > ! error, the msgs couldn't be sent ... > > v grey color, msgs delivered, but not read yet > > blue, the recipient did read the msg > > But with linphone debian, nothing is displayed 'at all', although the > msg was sent, the recipient did receive it, and later responded, even > after that though, no 'v', nor grey, nor 'blue' ... I wonder why and if > this is a (separate) bug? I just tried this with both the debian and the appimage version, and saw no difference in behaviour: while attempting delivery linphone shows an orange dotted circle rotating clockwise. When delivery was not acknowledged a red disc with a white exclamation point is shown. Clicking on it triggers a redelivery attempt. For successful delivery, no icon is shown, but hovering with the mouse brings up a popup "Delivered". If you see different behaviour could you provide a cropped screenshot to show it? It could be that the behaviour is different if the used SIP proxy (e.g. linphone.org) handles the message delivery on behalf of linphone. > ps: by the way, crossing my bug reports, the date is still > wrong, fwiw, the attempt i made today, March the 18th are all labeled, > on top/center of the messages I sent (to two diff recipients to try > ...) > > Wednesday, March 17, 2021 > > time(which the correct local time) my message... I cannot reproduce this (TZ: +01:00). The date I see is the date on which I sent the messages. What timezone are your chat partners residing in? What is the local time-of-day is the first message for that date? If it's an issue due to timezones it will be somewhat difficult to track down. Regards, Dennis
Bug#983365: [PATCH] Re: Bug#983365: linphone-desktop: chat messages
Bernard, Dennis, > Indeed: > > ii libsoci-core4.0:amd64 4.0.1-5 ... > ii libsoci-sqlite3-4.0:amd64 4.0.1-5 ... > > solved the problem: I now see the chat msgs history when I launch the > app. I didn't have a chance to send a new msg yet, because it's the > middle of the night for nearly all my contacts, and I don't want to > inadvertently 'awake' someone, but I am pretty sure its ok, will try > tomorrow ... I did try and here is happened: I sent a message, but no 'trace' (for me, the sender), that I did send the msg ... normally, when we send a msg, using the AppImage, linphone sends it and displays a feedback, in the top right corner of the message 'box' ! error, the msgs couldn't be sent ... v grey color, msgs delivered, but not read yet blue, the recipient did read the msg But with linphone debian, nothing is displayed 'at all', although the msg was sent, the recipient did receive it, and later responded, even after that though, no 'v', nor grey, nor 'blue' ... I wonder why and if this is a (separate) bug? Thanks, David ps: by the way, crossing my bug reports, the date is still wrong, fwiw, the attempt i made today, March the 18th are all labeled, on top/center of the messages I sent (to two diff recipients to try ...) Wednesday, March 17, 2021 time(which the correct local time) my message... pgpB4lNRr1KnX.pgp Description: OpenPGP digital signature
Bug#983365: [PATCH] Re: Bug#983365: linphone-desktop: chat messages
Hello Bernard, Dennis, > > Please make sure you also test a file transfer, which is part of the > > chat message interface [I couldn't try since the chat msgs itself > > didn't work ...], The file transfer functionality is absolutely > > essential as well, afaic at least > soci 4.0.1-5 has migrated to testing yesterday. The bug should be > fixed now for a fully up-to-date Bullseye system. Indeed: ii libsoci-core4.0:amd64 4.0.1-5 ... ii libsoci-sqlite3-4.0:amd64 4.0.1-5 ... solved the problem: I now see the chat msgs history when I launch the app. I didn't have a chance to send a new msg yet, because it's the middle of the night for nearly all my contacts, and I don't want to inadvertently 'awake' someone, but I am pretty sure its ok, will try tomorrow ... Thanks to both of you! David pgpcqgLatuS7U.pgp Description: OpenPGP digital signature
Bug#983365: [PATCH] Re: Bug#983365: linphone-desktop: chat messages
Dear David, >>> I finally found the bug: ... > > Excellent! > > Please make sure you also test a file transfer, which is part of the > chat message interface [I couldn't try since the chat msgs itself > didn't work ...], The file transfer functionality is absolutely > essential as well, afaic at least soci 4.0.1-5 has migrated to testing yesterday. The bug should be fixed now for a fully up-to-date Bullseye system. Bernhard
Bug#983365: linphone-desktop: chat messages
On Sat, Mar 13, 2021 at 04:21:02PM +0100, Dennis Filder wrote: > Good, I just tried it with linphone 4.4.21-2, linphone-desktop 4.2.5-3 > and soci 4.0.1-5 and chat message history restoration works nicely. That's great to hear! Glad you got it sorted out.
Bug#983365: linphone-desktop: chat messages
On Wed, Mar 10, 2021 at 12:54:53PM -0500, Bill Blough wrote: > I did respond to your email on the 7th. Maybe it wound up in your spam > folder? That was indeed the case. > I'm currently building/testing the data type patch, and hope to upload > it to unstable today. I'll file the unblock request once that's done. Good, I just tried it with linphone 4.4.21-2, linphone-desktop 4.2.5-3 and soci 4.0.1-5 and chat message history restoration works nicely. Regards, Dennis.
Bug#983365: linphone-desktop: chat messages
I haven't had success in making that gitlab account. It's probably not possible for outsiders anymore (if it ever was). I have not gotten a reply yet on the linphone-users list either. Bill has not responded to #984534 either in BTS or in private. While looking through the linphone.org wiki I found the attached PHP script which can be used to run your own instant messaging file transfer server. Maybe you could include it in your changes for the freeze exception next to the READMEs where it can't do any harm. Including it would be nice just to make users aware of the option. Regards, Dennis. lft.php.gz Description: application/gzip
Bug#983365: [PATCH] Re: Bug#983365: linphone-desktop: chat messages
On Thu, Mar 04, 2021 at 12:32:20AM +0100, Bernhard Schmidt wrote: > Cool, thanks. Would you mind discussing your findings with upstream at > https://gitlab.linphone.org/BC/public/liblinphone ? We will need a > freeze exception for this, having this bug confirmed by upstream would > help a lot, cherry-picking a commit from upstream would be even better. > > Right now I don't plan to upload src:linphone before 4.4.21-2 has > migrated to testing, in order to have a minimum amount of changes to be > discussed for the freeze exception. I'll talk to BC once my account is activated. Also I just filed #984534 against soci with a two-line patch that would fix the issue, too. The only change needed here then would be updated dependency info. Regards, Dennis
Bug#983365: [PATCH] Re: Bug#983365: linphone-desktop: chat messages
Hi Bernhard, DEnnis, > > I finally found the bug: ... Excellent! Please make sure you also test a file transfer, which is part of the chat message interface [I couldn't try since the chat msgs itself didn't work ...], The file transfer functionality is absolutely essential as well, afaic at least Thanks, David pgpXl5eoCTyc6.pgp Description: OpenPGP digital signature
Bug#983365: [PATCH] Re: Bug#983365: linphone-desktop: chat messages
Am 03.03.21 um 18:55 schrieb Dennis Filder: Hi Dennis, > On Sun, Feb 28, 2021 at 11:07:31PM +0100, Bernhard Schmidt wrote: >> an updated liblinphone has been uploaded to sid yesterday. Could you >> please try liblinphone10 and liblinphone++10 from sid (4.4.21-2) and >> report back? If it does not work you might need libsoci-core4.0 and >> libsoci-sqlite3-4.0 from unstable as well (4.0.1-4). > > I finally found the bug: libsoci_sqlite3 sometimes returns string > where liblinphone unconditionally expects int, long, double etc. which > led to silent std::bad_cast exceptions. I can't say who is actually > to blame (I feel soci should do that conversion already as it knows > what type the user requested, or at least not throw silently), but the > attached patches remedy the issue through some conditional string > conversion and make chat history actually work again in the GUI. They > should really have separated the sqlite3 database code better from the > MySQL code. > > I put this in two separate patches to make it easier to remove the > changes to the code for the legacy DB migration in case it causes > problems. Cool, thanks. Would you mind discussing your findings with upstream at https://gitlab.linphone.org/BC/public/liblinphone ? We will need a freeze exception for this, having this bug confirmed by upstream would help a lot, cherry-picking a commit from upstream would be even better. Right now I don't plan to upload src:linphone before 4.4.21-2 has migrated to testing, in order to have a minimum amount of changes to be discussed for the freeze exception. Bernhard
Bug#983365: [PATCH] Re: Bug#983365: linphone-desktop: chat messages
Control: tag -1 + patch upstream - help Control: reassign -1 linphone On Sun, Feb 28, 2021 at 11:07:31PM +0100, Bernhard Schmidt wrote: > an updated liblinphone has been uploaded to sid yesterday. Could you > please try liblinphone10 and liblinphone++10 from sid (4.4.21-2) and > report back? If it does not work you might need libsoci-core4.0 and > libsoci-sqlite3-4.0 from unstable as well (4.0.1-4). I finally found the bug: libsoci_sqlite3 sometimes returns string where liblinphone unconditionally expects int, long, double etc. which led to silent std::bad_cast exceptions. I can't say who is actually to blame (I feel soci should do that conversion already as it knows what type the user requested, or at least not throw silently), but the attached patches remedy the issue through some conditional string conversion and make chat history actually work again in the GUI. They should really have separated the sqlite3 database code better from the MySQL code. I put this in two separate patches to make it easier to remove the changes to the code for the legacy DB migration in case it causes problems. Regards, Dennis 0001-string-conversions.patch.gz Description: application/gzip 0002-string-conversions-legacydb.patch.gz Description: application/gzip
Bug#983365: Info received (Bug#983365: linphone-desktop: chat messages)
Hi Bernhard, > The easiest way to just install one or two packages from sid would > probably be ... Done [1] (i updated linphone-common as well. I was surprise though to not see a new linphone and linphone-desktop, saying this because I did see someone fixed the 'wrong version number in the prefs dialog' but not only the version numbers are still wrong, but despite the updates to core 4.4.21-2, the app still displays 4.4.21-1 in the 'about' dialog .. Now, unfortunately these updates didn't solve the problem: a- no history is uploaded from linphone,db when opening the app, for none of my contacts; b- when I write a chat msg to someone: it displays the message in the right middle (biggest) panel), after I hit enter; but if i click on another contact then 'click back' to the contact I sent a chat msg to test, the msg is not displayed [as if it 'disappeared', which make sense, given a- here above - i don't think 'the fix' updates the chat msgs db; [ unfortunately, I can see the msg was also not delivered, [ which could well be due to a push notification problem [ on their (my contact) 'side' ... It would really be 'nice', not to say essential, that you and Dennis (for example) could test those fixes 'between you' ... Thanks, David [1] ;; here is what I have on my laptop after the suggested updates: ii liblinphone++10:amd64 4.4.21-2 amd64Linphone's shared library part (supporting the SIP protocol) ii liblinphone10:amd64 4.4.21-2 amd64Linphone's shared library part (supporting the SIP protocol) ii linphone4.2.5-3 all SIP softphone - graphical client (transitional package) ii linphone-common 4.4.21-2 all Shared components of the linphone SIP softphone ii linphone-desktop4.2.5-3 amd64SIP softphone - graphical client pgpKObydD3O6p.pgp Description: OpenPGP digital signature
Bug#983365: Info received (Bug#983365: linphone-desktop: chat messages)
Hi David, Am 01.03.21 um 20:24 schrieb David Pirotte: > Thanks all for having worked on this. Sorry for the little delay in > answering, I actually thought the packages would 'find their way' to > bullseye, so I was (and still am) updating daily, a few times per day > actually, but now I see you said sid, not bullseye ... > >> an updated liblinphone has been uploaded to sid yesterday. Could you >> please try liblinphone10 and liblinphone++10 from sid (4.4.21-2) and >> report back? If it does not work you might need libsoci-core4.0 and >> libsoci-sqlite3-4.0 from unstable as well (4.0.1-4). > > I am using bullseye (n idea why reportbug says bullseye/sid), so I > don't have the right config to pick those 2 from sid, and so many years > I haven't done this that I forgot my 'apt/preferencesfu' to do that - > but by all means, the bug is in bullseye, won't you make these packages > available in bullseye? There is a ten day migration period from sid to bullseye. If no regression shows up th new linphone version should migrate to bullseye about March 9th. I hope it doesn't get delayed, because on 10th the freeze starts for real. The easiest way to just install one or two packages from sid would probably be - duplicate bullseye line in /etc/apt/sources.list and replace bullseye with sid - apt update - apt install liblinphone10 liblinphone++10 - disable new line from /etc/apt/sources.list - apt update Bernhard
Bug#983365: linphone-desktop: chat messages
I haven't found the bug yet, but at least somewhat cornered in linphone-desktop/linphone-app/src/components/chat/ChatModel.cpp in ChatModel::setSipAddress(): ... for (auto : mChatRoom->getHistory(0)) mEntries << qMakePair( QVariantMap{ { "type", EntryType::MessageEntry }, { "timestamp", QDateTime::fromMSecsSinceEpoch(message->getTime() * 1000) } }, static_pointer_cast(message) ); ... The call to mChatRoom->getHistory(0) should return a list of pointers to all messages in that chatroom (peerAddress, localAddress) to iterate over, but it returns nothing, even though it should. Finding that out is going to be difficult because linphone-desktop invokes the DB code through C++ wrappers around C bindings which are written against the C++ code in liblinphone/-/blob/master/src/db/main-db.cpp. I'll try next to get the liblinphone test suite to run, and hopefully it will produce a failure that is easier to debug. Regards, Dennis.
Bug#983365: Info received (Bug#983365: linphone-desktop: chat messages)
Hello, Thanks all for having worked on this. Sorry for the little delay in answering, I actually thought the packages would 'find their way' to bullseye, so I was (and still am) updating daily, a few times per day actually, but now I see you said sid, not bullseye ... > an updated liblinphone has been uploaded to sid yesterday. Could you > please try liblinphone10 and liblinphone++10 from sid (4.4.21-2) and > report back? If it does not work you might need libsoci-core4.0 and > libsoci-sqlite3-4.0 from unstable as well (4.0.1-4). I am using bullseye (n idea why reportbug says bullseye/sid), so I don't have the right config to pick those 2 from sid, and so many years I haven't done this that I forgot my 'apt/preferencesfu' to do that - but by all means, the bug is in bullseye, won't you make these packages available in bullseye? Thanks, David pgpg5XHoH7vvv.pgp Description: OpenPGP digital signature
Bug#983365: linphone-desktop: chat messages
On Sun, Feb 28, 2021 at 11:07:31PM +0100, Bernhard Schmidt wrote: > an updated liblinphone has been uploaded to sid yesterday. Could you > please try liblinphone10 and liblinphone++10 from sid (4.4.21-2) and > report back? If it does not work you might need libsoci-core4.0 and > libsoci-sqlite3-4.0 from unstable as well (4.0.1-4). I installed the packages and they work the same as mine. Also I managed to get asterisk running for chat and I do see now chat messages are added to the DB linphone.db and the UI as they are sent/received. I also see at certain points signs that some form of history is being reconstructed due to lines like [07:20:39:145][0x56499abd2e10][Warning]qrc:/ui/modules/Linphone/Chat/Chat.qml:184:14: qrc:/ui/modules/Linphone/Chat/Chat.qml:184:14: QML Chat: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo() { ... } being written to stdout, one for every event, i.e. the output gets longer for every message added to the DB. The code apparently reconstructs the history by just playing back the events from the DB. However, I still don't see any history of past messages in the UI after starting /usr/bin/linphone anew, and I don't fully understand why. Apparently there exist two different history concepts: * global call log: holds call entries from all encountered contacts in chronological order with chat messages omitted for brevity * peer-specific call log: the same, but only for the currently shown contact. * peer-specific chat log: the chat history with the currently shown contact. * peer-specific call+chat log: a combination of the two previous log * something called a "conversation" which might be the name for the peer-specific call+chat log UI. I think the chat history is read back in linphone-desktop/linphone-app/src/components/chat/ChatModel.cpp in ChatModel::setSipAddress() with a call to ChatRoom::getHistory(0) which should fetch the entire history for the ChatRoom participants (peerAddres, localAddress) and insert them into the UI: ... for (auto : mChatRoom->getHistory(0)) mEntries << qMakePair( QVariantMap{ { "type", EntryType::MessageEntry }, { "timestamp", QDateTime::fromMSecsSinceEpoch(message->getTime() * 1000) } }, static_pointer_cast(message) ); // Get calls. for (auto : core->getCallHistory(mChatRoom->getPeerAddress(), mChatRoom->getLocalAddress())) insertCall(callLog); ... Notice that call history entries are inserted with insertCall(), whereas the code for chat history entries duplicates what ChatModel::insertMessageAtEnd() does, but apparently without updating the UI with endInsertRows(): ... void ChatModel::insertMessageAtEnd (const shared_ptr ) { int row = mEntries.count(); beginInsertRows(QModelIndex(), row, row); QVariantMap map{ { "type", EntryType::MessageEntry }, { "timestamp", QDateTime::fromMSecsSinceEpoch(message->getTime() * 1000) } }; fillMessageEntry(map, message); mEntries << qMakePair(map, static_pointer_cast(message)); endInsertRows(); } ... I have no idea if this is intentional or what will happen if I change that code to call insertMessageAtEnd() instead. Commit 4ece007e[1] also updated insertMessageAtEnd(), but the corresponding code in setSipAddress() wasn't touched. I will try to work on this and report back when I know more. Regards, Dennis. 1: https://gitlab.linphone.org/BC/public/linphone-desktop/-/commit/4ece007eb322cceddb9d572c688c3c553f66ee85
Bug#983365: Info received (Bug#983365: linphone-desktop: chat messages)
Hi, an updated liblinphone has been uploaded to sid yesterday. Could you please try liblinphone10 and liblinphone++10 from sid (4.4.21-2) and report back? If it does not work you might need libsoci-core4.0 and libsoci-sqlite3-4.0 from unstable as well (4.0.1-4). Thanks, Bernhard
Bug#983365: Info received (Bug#983365: linphone-desktop: chat messages)
Okay, I do see a difference in behaviour now in sqlitebrowser: with my soci-enabled liblinphone packages installed I see entries being added to table ~/.local/share/linphone/linphone.db:chat_message_content and other tables. The timestamps in chat_message_participant also line up perfectly with the time of installation. I even downgraded again to the current bullseye packages for comparison, and with them installed nothing was added to the database when sending messages. So compiling that in certainly had some effect. And it could actually mean that a new upload of linphone-desktop can be avoided (at least for now). I don't see the message history reappearing in the app though, but that could be because my SIP gateway doesn't relay the messages correctly. I think linphone might only show in its history messages whose reception was acknowledged by the other side. Until then they might be stored in the DB to be delivered once the other side becomes reachable again. What puzzles me a bit is that the submitter saw messages in the DB. But maybe those were from when he (presumably) used the appimage version. I'll try to get asterisk to work and see if I can find out more with that.
Bug#983365: linphone-desktop: chat messages
Hi, > Have you reached out to the SOCI maintainer in private already? I don't > see a bug report on this. If we can get a targeted fix uploaded for this > within the next days (next step of the freeze is on March 10th, with a > migration time of 10 days right now) I will attempt to push through a > new src:linphone upload. Do you know whether we need a new > src:linphone-desktop upload as well? I'm the SOCI maintainer. Dennis did email me and explain the situation, and I don't see an issue making the change. I'll prepare the upload today. If someone would please file a bug against SOCI regarding this, I would appreciate it. Best regards, Bill -- GPG: 5CDD 0C9C F446 BC1B 2509 8791 1762 E022 7034 CF84
Bug#983365: linphone-desktop: chat messages
On Fri, Feb 26, 2021 at 10:23:04AM +0100, Bernhard Schmidt wrote: > Have you confirmed already that the whole soci/linphone dance really > fixes this issue? No. I installed my liblinphone* packages with soci support and I don't see a difference in behaviour yet. I must state though that I haven't been able to get chat to work at all yet, so it might mean nothing. I may have to set up an asterisk server. > Do you know whether we need a new src:linphone-desktop upload as > well? After installing the liblinphone* packages libsoc_core showed up in the output of "ldd /usr/bin/linphone" and it started without crashing. I don't know if any subtle template magic could cause problems. I keep stumbling into segfaults both in Qt and liblinphone and I can never tell if they are due to something I changed or just lingering bugs. I'll keep looking into this throughout the weekend and will post any new findings. Regards, Dennis.
Bug#983365: linphone-desktop: chat messages
Am 26.02.21 um 15:19 schrieb Bill Blough: Hi Bill, > Hi, > >> Have you reached out to the SOCI maintainer in private already? I don't >> see a bug report on this. If we can get a targeted fix uploaded for this >> within the next days (next step of the freeze is on March 10th, with a >> migration time of 10 days right now) I will attempt to push through a >> new src:linphone upload. Do you know whether we need a new >> src:linphone-desktop upload as well? > > I'm the SOCI maintainer. Dennis did email me and explain the > situation, and I don't see an issue making the change. > > I'll prepare the upload today. If someone would please file a bug > against SOCI regarding this, I would appreciate it. Thanks, I've opened Bug#983572 for this. Bernhard
Bug#983365: linphone-desktop: chat messages
Hi Dennis, thanks a lot for debugging this! BTW, linphone is in desperate need of co-maintainers :-) That's a lot more useful than complaining about the package not being tested (it is, but I do not know anyone using the Chat feature, and I certainly don't). Honestly I don't know why there is ENABLE_DB_STORAGE=NO, it sneaked in during the packaging attempts. Possibly because libsoci wasn't usable without the C++11 option you found. Have you reached out to the SOCI maintainer in private already? I don't see a bug report on this. If we can get a targeted fix uploaded for this within the next days (next step of the freeze is on March 10th, with a migration time of 10 days right now) I will attempt to push through a new src:linphone upload. Do you know whether we need a new src:linphone-desktop upload as well? Have you confirmed already that the whole soci/linphone dance really fixes this issue? Bernhard Am 25.02.21 um 18:58 schrieb Dennis Filder: > Control: tag -1 + confirmed sid bullseye > > I looked into this the past days, and I think this is actually a bug > in d/rules in src:linphone. I'm beginning to suspect that this is due > to this line: > > -DENABLE_DB_STORAGE=NO \ > > Apparently the code for the once separate chat history and call > history DBs has been merged into a single DB with special logic to > handle the migration -- since I have no files from a previous version > linphone-desktop 4.2.5 here does not even create anymore the sqlite3 > database linphone.db in ~/.local/share/linphone/ that David mentions, > only call-history.db and friends.db are created (which matches the > source code). However, if the database storage isn't configured and > compiled in then that new database is not going to work of course. > Was there a specific reason for disabling this? I could get > linphone-4.4.21 to build with -DENABLE_DB_STORAGE=YES, but I had to > first build+install a version of libsoci-dev that was compiled with > -DSOCI_CXX11=YES. I'll contact the soci maintainer to see if he can > change that in time. > > linphone-4.4.21/cmake/FindSoci.cmake calls the soci support > experimental, but the official appimage ships with both libsoci_core.0 > and libsoci_sqlite3.0, so it should be stable enough for us, too. > That warning is probably outdated. I attached a diff of the linked-in > shared libraries in Debian's and the AppImage's /usr/bin/linphone > (4.2.5) to illustrate where else we deviate. > > Another issue I ran into: during dh_auto_configure a CMake macro tries > to invoke "git describe" to look up the tag for the build's branch. > Setting GIT_EXECUTABLE to a shell script that emits the expected tag > worked around that. I used $(shell pwd) there to point to the script, > but I don't know if this is the right way to do it. Fix it if it's > wrong. > > I'll keep digging into this and let you know if I learn something new. > > Regards, > Dennis >
Bug#983365: linphone-desktop: chat messages
The file rules.patch got mangled in transit. Attached is the integrous version. rules.patch.gz Description: application/gzip
Bug#983365: linphone-desktop: chat messages
Control: tag -1 + confirmed sid bullseye I looked into this the past days, and I think this is actually a bug in d/rules in src:linphone. I'm beginning to suspect that this is due to this line: -DENABLE_DB_STORAGE=NO \ Apparently the code for the once separate chat history and call history DBs has been merged into a single DB with special logic to handle the migration -- since I have no files from a previous version linphone-desktop 4.2.5 here does not even create anymore the sqlite3 database linphone.db in ~/.local/share/linphone/ that David mentions, only call-history.db and friends.db are created (which matches the source code). However, if the database storage isn't configured and compiled in then that new database is not going to work of course. Was there a specific reason for disabling this? I could get linphone-4.4.21 to build with -DENABLE_DB_STORAGE=YES, but I had to first build+install a version of libsoci-dev that was compiled with -DSOCI_CXX11=YES. I'll contact the soci maintainer to see if he can change that in time. linphone-4.4.21/cmake/FindSoci.cmake calls the soci support experimental, but the official appimage ships with both libsoci_core.0 and libsoci_sqlite3.0, so it should be stable enough for us, too. That warning is probably outdated. I attached a diff of the linked-in shared libraries in Debian's and the AppImage's /usr/bin/linphone (4.2.5) to illustrate where else we deviate. Another issue I ran into: during dh_auto_configure a CMake macro tries to invoke "git describe" to look up the tag for the build's branch. Setting GIT_EXECUTABLE to a shell script that emits the expected tag worked around that. I used $(shell pwd) there to point to the script, but I don't know if this is the right way to do it. Fix it if it's wrong. I'll keep digging into this and let you know if I learn something new. Regards, Dennis diff --git a/linphone-4.4.21/debian/git.sh b/linphone-4.4.21/debian/git.sh new file mode 100755 index 000..2d1c3ec --- /dev/null +++ b/linphone-4.4.21/debian/git.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +#echo 4.4.12 +#f=$PWD/debian/git.sh +f=$0 +g=${f%/debian/git.sh} +h=${g##*/} +i=${h##*-} +#echo "$f $g $h" +echo "$i" diff --git a/linphone-4.4.21/debian/rules b/linphone-4.4.21/debian/rules index 74476b0..9fa407f 100755 --- a/linphone-4.4.21/debian/rules +++ b/linphone-4.4.21/debian/rules @@ -2,6 +2,17 @@ export DEB_BUILD_MAINT_OPTIONS = hardening=+all +# The macro bc_compute_lib_version (among others) from +# /usr/share/bctoolbox/cmake/bctoolboxCMakeUtils.cmake expects the +# .git directory to be available. We fool it with a shellscript +# debian/git.sh that emits the version number hard-coded. +CONFIGURE_ARGS += -DGIT_EXECUTABLE=$(shell pwd)/debian/git.sh + +# this enables the unified call+chat database; it requires sqlite3 and +# a version of libsoci-dev built with C++11 support (libsoci-dev 4.0.1-3 +# doesn't have it yet). +CONFIGURE_ARGS += -DENABLE_DB_STORAGE=YES + %: dh $@ --buildsystem=cmake @@ -14,7 +25,6 @@ override_dh_auto_configure: -DENABLE_ADVANCED_IM=NO \ -DENABLE_LIME=NO \ -DENABLE_LIME_X3DH=NO \ - -DENABLE_DB_STORAGE=NO \ -DENABLE_UNIT_TESTS=NO \ -DENABLE_STATIC=NO \ $(CONFIGURE_ARGS) --- ldd-bullseye-4.2.5.txt 2021-02-25 18:06:16.143870152 +0100 +++ ldd-appimage-4.2.5.txt 2021-02-25 18:06:16.139870152 +0100 @@ -1,158 +1,99 @@ /lib64/ld-linux-x86-64 (ADDR) -libantlr3c-3.4 -libaom libasound libasyncns libavcodec libavutil +libbcg729 libbctoolbox libbelcard libbellesip libbelr -libblkid -libbrotlicommon -libbrotlidec libbsd +libbv16 libbzrtp libc -libcairo -libcairo-gobject -libcodec2.9 -libcom_err -libdatrie -libdav1d +libcap libdbus-1 +libdecaf libdl -libdouble-conversion -libdrm -libexpat -libffi libFLAC -libfontconfig -libfreetype -libfribidi libgcc_s libgcrypt -libgdk_pixbuf-2.0 -libgio-2.0 libGL libGLdispatch -libGLEW.1 +libGLEW.0 libglib-2.0 libGLX -libgmodule-2.0 -libgobject-2.0 -libgomp libgpg-error -libgraphite2 libgsm -libgssapi_krb5 -libharfbuzz +libgthread-2.0 +libICE libicudata libicui18n libicuuc -libk5crypto -libkeyutils -libkrb5 -libkrb5support +libjpeg +liblime liblinphone liblinphone++ liblz4 liblzma libm libmbedcrypto libmbedtls libmbedx509 -libmd -libmd4c libmediastreamer -libmfx -libmount -libmp3lame libnsl -libnspr4 -libnss3 -libnssutil3 -libnuma libogg -libOpenCL -libopenjp2 libopus libortp -libpango-1.0 -libpangocairo-1.0 -libpangoft2-1.0 libpcre -libpcre2-16 -libpcre2-8 -libpixman-1 -libplc4 -libplds4 -libpng16 libpthread libpulse -libpulsecommon-14.1 +libpulsecommon-10.0 +libQt5Concurrent libQt5Core libQt5DBus libQt5Gui libQt5Network libQt5Qml -libQt5QmlModels libQt5Quick libQt5QuickControls2 libQt5QuickTemplates2 libQt5Svg +libQt5TextToSpeech libQt5Widgets libresolv -librsvg-2 librt libselinux -libshine -libsnappy +libSM libsndfile -libsoxr +libsoci_core.0 +libsoci_sqlite3.0 libspeex libspeexdsp libsqlite3 libsrtp2
Bug#983365: linphone-desktop: chat messages
Hello Bernhard, > Thanks for your report. Unfortunately I'm extremely swamped for the > next couple of weeks. I have also never used the Chat feature. For > this reason I'm tagging this bug as "help". I hope you or someone else find the time to fix this bug before it's to late to make it to stable bullseye, but as it is, afaic, it is unusable for one of its main functionality: to send and receive messages - i use it (the upstream version, the debian version is unusable) professionally daily ... So, I don't use it, I can't use it, I can't risk to loose msgs, and this debian version looses all messages, those you send are not registered in the db, and those we receive are not even displayed in the current session panel, only as a notification popup, which last a few second: if you are not in front of the machine, you don't even know someone is contacting you, and if you are, but the message is long, no way you can 'remember the exact msg words' once the notification disappear from the screen ... I used it to try and report the bug(s), but immediately switched to upstream appimage 4.2.5, which at least works fine for chat messages > Two short questions: > In Bug#983369 a few minutes later you wrote the date in the history is > wrong, although in this bug it reads like you cannot display the > history at all. Which one is correct? before i answer these two quiz, please allow me to suggest that you create a linphone account, and try, ask a relative or another debian maintainer to create an account and try chat msgs exchange, calls ... it seems to me you did not even try the app (no pun, just reading you gave me this impression) All bugs report are correct - it seems to me that you are not a linphone user :) - which is fine if true, no problem. So, the most important panel (in size and function), the middle right 'panel' in linphone, is used to show in/out messages, but also to report in/out calls, wether successful or not ... It always mentions a wrong date, always the day before the event occurs, no matter what the event is, in/out msgs or in/out call, successful or not ... again, it seems you did not even tried linphone (nor debian, not upstream image), not even once ... :) this bug, as reported, is an upstream bug 'as well', not a debian bug ... > Did you start a fresh linphone profile or is the sqlite database > upgraded from an older version? Could you (for a test) move it away to > have it recreated? No, i can't do that, the linphone.db file is essential to linphone, and properly used by linphone (apppimage) upstream - i don't think this will solve anything (sorry) ] > I fully understand choosing an RC severity, but I'm at a loss > debugging this and I lack the time to dig into it, so this bug might > make linphone-desktop miss the Bullseye release unless someone steps > up to debug this. I hope you or someone else solve this bug, the app is, as it is in debian bullseye, unusable, it is actually 'risky' to use it, imho ... David pgpHQ_AWF8vQJ.pgp Description: OpenPGP digital signature
Bug#983365: linphone-desktop: chat messages
Control: tags -1 help Dear David, > 1- chat messages (history) are not displayed when I launch the app, > although I can see they are in the .local/share/linphone/linphone.db > file (using sqliteb or sqlitebrowser); > > 2- when someone sends me a message, it 'pops' a notification with the > message text (even if I am in front of the app) but the message is not > displayed by the application itself, nor the little numbered circle that > appears (on the appimage 4.2.5 version, to compare) i the left panel, > in(on top of) the user 'entry', nor in the user chat 'room'. > > I also verified that the message isn't added in the chat_message_content > of the linphone.db table, and i can see the following 'trace' in the > terminal i used to launchh the app: > > [22:11:12:653][0x1ff9eb0][Info]components/sip-addresses/SipAddressesModel.cpp:485: > "Update (`sip:sender.na...@sip.linphone.org`, > `sip:my.n...@sip.linphone.org`) from chat message." Thanks for your report. Unfortunately I'm extremely swamped for the next couple of weeks. I have also never used the Chat feature. For this reason I'm tagging this bug as "help". Two short questions: In Bug#983369 a few minutes later you wrote the date in the history is wrong, although in this bug it reads like you cannot display the history at all. Which one is correct? Did you start a fresh linphone profile or is the sqlite database upgraded from an older version? Could you (for a test) move it away to have it recreated? I fully understand choosing an RC severity, but I'm at a loss debugging this and I lack the time to dig into it, so this bug might make linphone-desktop miss the Bullseye release unless someone steps up to debug this. Bernhard
Bug#983365: linphone-desktop: chat messages
Package: linphone-desktop Version: 4.2.5-3 Severity: grave Justification: causes non-serious data loss Dear Maintainer, 1- chat messages (history) are not displayed when I launch the app, although I can see they are in the .local/share/linphone/linphone.db file (using sqliteb or sqlitebrowser); 2- when someone sends me a message, it 'pops' a notification with the message text (even if I am in front of the app) but the message is not displayed by the application itself, nor the little numbered circle that appears (on the appimage 4.2.5 version, to compare) i the left panel, in(on top of) the user 'entry', nor in the user chat 'room'. I also verified that the message isn't added in the chat_message_content of the linphone.db table, and i can see the following 'trace' in the terminal i used to launchh the app: [22:11:12:653][0x1ff9eb0][Info]components/sip-addresses/SipAddressesModel.cpp:485: "Update (`sip:sender.na...@sip.linphone.org`, `sip:my.n...@sip.linphone.org`) from chat message." Thanks, David -- System Information: Debian Release: bullseye/sid APT prefers testing APT policy: (500, 'testing'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 5.10.0-3-amd64 (SMP w/8 CPU threads) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages linphone-desktop depends on: ii libbctoolbox1 4.4.13-2 ii libbelcard14.4.13-2 ii libc6 2.31-9 ii libgcc-s1 10.2.1-6 ii liblinphone++104.4.21-1 ii liblinphone10 4.4.21-1 ii libmediastreamer11 1:4.4.21-3 ii libqt5core5a 5.15.2+dfsg-4 ii libqt5dbus55.15.2+dfsg-4 ii libqt5gui5 5.15.2+dfsg-4 ii libqt5network5 5.15.2+dfsg-4 ii libqt5qml5 [qtdeclarative-abi-5-15-2] 5.15.2+dfsg-4 ii libqt5quick5 5.15.2+dfsg-4 ii libqt5quickcontrols2-5 5.15.2+dfsg-2 ii libqt5svg5 5.15.2-2 ii libqt5widgets5 5.15.2+dfsg-4 ii libstdc++6 10.2.1-6 ii linphone-common4.4.21-1 ii qml-module-qt-labs-platform5.15.2+dfsg-2 ii qml-module-qtgraphicaleffects 5.15.2-2 ii qml-module-qtquick-controls5.15.2-2 ii qml-module-qtquick-controls2 5.15.2+dfsg-2 ii qml-module-qtquick-dialogs 5.15.2-2 ii qml-module-qtquick-layouts 5.15.2+dfsg-4 ii qml-module-qtquick-window2 5.15.2+dfsg-4 ii qml-module-qtquick25.15.2+dfsg-4 linphone-desktop recommends no packages. linphone-desktop suggests no packages. -- no debconf information