savoirfairelinux issueshttps://git.jami.net/groups/savoirfairelinux/-/issues2021-08-09T13:30:43Zhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/599Account preferences: add preferences to send or not displayed status2021-08-09T13:30:43ZSébastien BlinAccount preferences: add preferences to send or not displayed statusFor now clients are doing their own logic. This should be moved into the daemon. This allow us to group code from differnt clients.For now clients are doing their own logic. This should be moved into the daemon. This allow us to group code from differnt clients.Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/486Links surrounded by <> (e.g. "<https://git.jami.net>") are not linkified prop...2023-05-05T19:37:15ZMaxime DevosLinks surrounded by <> (e.g. "<https://git.jami.net>") are not linkified properly.I type "text \<https://git.jami.net> text" in the chat.
The following appears in the area above the input field:
text \<https://git.jami.net>; text
where "\<https://git.jami.net>;" is a hyperlink pointing to "\<https://git.jami.net>;...I type "text \<https://git.jami.net> text" in the chat.
The following appears in the area above the input field:
text \<https://git.jami.net>; text
where "\<https://git.jami.net>;" is a hyperlink pointing to "\<https://git.jami.net>;" (without the " quotes).
There are two problems here:
- the ";" should not be present
- the ">" should not be part of the link
I noticed "linkify" is used, and typing the same input in https://soapbox.github.io/linkifyjs/ results in properly linkified text. So maybe the bundled copy of linkify needs to be updated? Looking at this git repo, the copy of 'linkify' appears to be from 2016 and there has been a release of linkify in 2020 (v2.1.9).
I'm using "jami-gnome" (version 20210606.1.e2f9490 as packaged in Guix).
(Edit: apparently \<http://...> is Markdown mark-up, so I added a few \\, and now this text is formatted properly (including the <>).)https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/483Conversations: typing indicator doesn't show when peer is typing2021-12-16T20:51:34ZAndreas TraczykConversations: typing indicator doesn't show when peer is typinghttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/598jamiaccount: SHA256 regression2021-08-18T20:29:23ZOlivier Dionjamiaccount: SHA256 regressionStore on misaligned address of type `uint16_t`
See [backtrace](/uploads/d4f3ad2b7b84544a4ca1313db2a1e0e4/bt.txt).
Git bisect shows that commit 95280b19b88ae5c13e5dfa318d38feeef408ae82 introduced the bug.
To find the regression on your...Store on misaligned address of type `uint16_t`
See [backtrace](/uploads/d4f3ad2b7b84544a4ca1313db2a1e0e4/bt.txt).
Git bisect shows that commit 95280b19b88ae5c13e5dfa318d38feeef408ae82 introduced the bug.
To find the regression on your own, run [this](/uploads/97df2ce05ff2f310893ff244cfb2e79b/find-regression) script.https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/482Swarm: newly added conversation displays 2x "Contact Added" and unread badge2021-08-03T12:56:02ZAndreas TraczykSwarm: newly added conversation displays 2x "Contact Added" and unread badge![image](/uploads/2a9f451800b47165fc144c00efcf24e5/image.png)![image](/uploads/2a9f451800b47165fc144c00efcf24e5/image.png)https://git.jami.net/savoirfairelinux/jami-client-gnome/-/issues/1271Links surrounded by <> (e.g. "<https://git.jami.net>") are not linkified prop...2021-07-30T14:46:21ZMaxime DevosLinks surrounded by <> (e.g. "<https://git.jami.net>") are not linkified properly.I type "text \<https://git.jami.net> text" in the chat.
The following appears in the area above the input field:
text \<https://git.jami.net>; text
where "\<https://git.jami.net>;" is a hyperlink pointing to "\<https://git.jami.net>;...I type "text \<https://git.jami.net> text" in the chat.
The following appears in the area above the input field:
text \<https://git.jami.net>; text
where "\<https://git.jami.net>;" is a hyperlink pointing to "\<https://git.jami.net>;" (without the " quotes).
There are two problems here:
- the ";" should not be present
- the ">" should not be part of the link
I noticed "linkify" is used, and typing the same input in https://soapbox.github.io/linkifyjs/ results in properly linkified text. So maybe the bundled copy of linkify needs to be updated? Looking at this git repo, the copy of 'linkify' appears to be from 2016 and there has been a release of linkify in 2020 (v2.1.9).
I'm using "jami-gnome" (version 20210606.1.e2f9490 as packaged in Guix).
(Edit: apparently \<http://...> is Markdown mark-up, so I added a few \\, and now this text is formatted properly (including the <>).)https://git.jami.net/savoirfairelinux/jami-libclient/-/issues/485Links surrounded by <> (e.g. "<https://git.jami.net>") are not linkified prop...2021-07-29T13:03:08ZMaxime DevosLinks surrounded by <> (e.g. "<https://git.jami.net>") are not linkified properly.I type "text <https://git.jami.net> text" in the chat.
The following appears in the area above the input field:
text <https://git.jami.net>; text
where "<https://git.jami.net>;" is a hyperlink pointing to "<https://git.jami.net>;" (w...I type "text <https://git.jami.net> text" in the chat.
The following appears in the area above the input field:
text <https://git.jami.net>; text
where "<https://git.jami.net>;" is a hyperlink pointing to "<https://git.jami.net>;" (without the " quotes).
There are two problems here:
- the ";" should not be present
- the ">" should not be part of the link
I noticed "linkify" is used, and typing the same input in https://soapbox.github.io/linkifyjs/ results in properly linkified text. So maybe the bundled copy of linkify needs to be updated? Looking at this git repo, the copy of 'linkify' appears to be from 2016 and there has been a release of linkify in 2020 (v2.1.9).
I'm using "jami-gnome" (version 20210606.1.e2f9490 as packaged in Guix).https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/597Regression 2.11 - should stop in less than 30 secs if turn fails2021-07-30T20:03:34ZSébastien BlinRegression 2.11 - should stop in less than 30 secs if turn fails```cpp
void
IceTest::testFail()
{
const auto& addr4 = dht_->getPublicAddress(AF_INET);
CPPUNIT_ASSERT(addr4.size() != 0);
CPPUNIT_ASSERT(turnV4_);
IceTransportOptions ice_config;
ice_config.upnpEnable = true;
ice_...```cpp
void
IceTest::testFail()
{
const auto& addr4 = dht_->getPublicAddress(AF_INET);
CPPUNIT_ASSERT(addr4.size() != 0);
CPPUNIT_ASSERT(turnV4_);
IceTransportOptions ice_config;
ice_config.upnpEnable = true;
ice_config.tcpEnable = true;
std::shared_ptr<IceTransport> ice_master, ice_slave;
std::mutex mtx, mtx_create, mtx_resp, mtx_init;
std::unique_lock<std::mutex> lk {mtx}, lk_create {mtx_create}, lk_resp {mtx_resp},
lk_init {mtx_init};
std::condition_variable cv, cv_create, cv_resp, cv_init;
std::string init = {};
std::string response = {};
bool iceMasterNotReady = false, iceSlaveNotReady = false;
ice_config.onInitDone = [&](bool ok) {
CPPUNIT_ASSERT(ok);
dht::ThreadPool::io().run([&] {
CPPUNIT_ASSERT(cv_create.wait_for(lk_create, std::chrono::seconds(10), [&] {
return ice_master != nullptr;
}));
auto iceAttributes = ice_master->getLocalAttributes();
std::stringstream icemsg;
icemsg << iceAttributes.ufrag << "\n";
icemsg << iceAttributes.pwd << "\n";
for (const auto& addr : ice_master->getLocalCandidates(1)) {
if (addr.find("relay") != std::string::npos) {
// We only want to add relayed + public ip
icemsg << addr << "\n";
JAMI_DBG() << "Added local ICE candidate " << addr;
} else {
// Replace host by non existing IP (we still need host to not fail the start)
std::regex e("((?:[0-9]{1,3}\\.){3}[0-9]{1,3})");
auto newaddr = std::regex_replace(addr, e, "100.100.100.100");
if (newaddr != addr)
icemsg << newaddr << "\n";
}
}
init = icemsg.str();
cv_init.notify_one();
CPPUNIT_ASSERT(cv_resp.wait_for(lk_resp, std::chrono::seconds(10), [&] {
return !response.empty();
}));
auto sdp = ice_master->parseIceCandidates(response);
CPPUNIT_ASSERT(
ice_master->startIce({sdp.rem_ufrag, sdp.rem_pwd}, std::move(sdp.rem_candidates)));
});
};
ice_config.onNegoDone = [&](bool ok) {
iceMasterNotReady = !ok;
cv.notify_one();
};
ice_config.accountPublicAddr = IpAddr(*addr4[0].get());
ice_config.accountLocalAddr = ip_utils::getLocalAddr(AF_INET);
ice_config.master = true;
ice_config.streamsCount = 1;
ice_config.compCountPerStream = 1;
ice_master = Manager::instance().getIceTransportFactory().createTransport("master ICE",
ice_config);
cv_create.notify_all();
ice_config.onInitDone = [&](bool ok) {
CPPUNIT_ASSERT(ok);
dht::ThreadPool::io().run([&] {
CPPUNIT_ASSERT(cv_create.wait_for(lk_create, std::chrono::seconds(10), [&] {
return ice_slave != nullptr;
}));
auto iceAttributes = ice_slave->getLocalAttributes();
std::stringstream icemsg;
icemsg << iceAttributes.ufrag << "\n";
icemsg << iceAttributes.pwd << "\n";
for (const auto& addr : ice_slave->getLocalCandidates(1)) {
if (addr.find("relay") != std::string::npos) {
// We only want to add relayed + public ip
icemsg << addr << "\n";
JAMI_DBG() << "Added local ICE candidate " << addr;
} else {
// Replace host by non existing IP (we still need host to not fail the start)
std::regex e("((?:[0-9]{1,3}\\.){3}[0-9]{1,3})");
auto newaddr = std::regex_replace(addr, e, "100.100.100.100");
if (newaddr != addr)
icemsg << newaddr << "\n";
}
}
response = icemsg.str();
cv_resp.notify_one();
CPPUNIT_ASSERT(
cv_init.wait_for(lk_resp, std::chrono::seconds(10), [&] { return !init.empty(); }));
auto sdp = ice_slave->parseIceCandidates(init);
CPPUNIT_ASSERT(
ice_slave->startIce({sdp.rem_ufrag, sdp.rem_pwd}, std::move(sdp.rem_candidates)));
});
};
ice_config.onNegoDone = [&](bool ok) {
iceSlaveNotReady = !ok;
cv.notify_one();
};
ice_config.turnServers.emplace_back(TurnServerInfo()
.setUri(turnV4_->toString(true))
.setUsername("ring")
.setPassword("ring")
.setRealm("ring"));
ice_config.master = false;
ice_config.streamsCount = 1;
ice_config.compCountPerStream = 1;
ice_slave = Manager::instance().getIceTransportFactory().createTransport("slave ICE",
ice_config);
cv_create.notify_all();
CPPUNIT_ASSERT(cv.wait_for(lk, std::chrono::seconds(120), [&] {
return iceMasterNotReady && iceSlaveNotReady;
}));
}
```
This should succeed. However seems not the case seems 2.11
Also we can change a bit the busy loop to test every 100 ms for TURN if refused instead of each 20msSébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/481Screen Sharing Issues: just picture of desktop is shown2023-02-02T17:42:47ZElysScreen Sharing Issues: just picture of desktop is shownusing Windows 10 (64 bit), newest version of Jami
I sometimes use the screen share feature of Jami to stream video games. So for example I can see the video on an Android device.
There are no issues (except sometimes video lag) if I st...using Windows 10 (64 bit), newest version of Jami
I sometimes use the screen share feature of Jami to stream video games. So for example I can see the video on an Android device.
There are no issues (except sometimes video lag) if I stream for example Splinter Cell Blacklist. I can see the video stream of the game (on my phone screen).
However if I start for example Splinter Cell Chaos Theory this happens: As soon as I start the game (.exe file) my smartphone just shows a picuture (NO video!) of my pc's desktop WITHOUT any app opened (although this is false). The mouse cursor is stuck on the screen (Smartphone) - although I really don't have any issues using Windows 10.
It's just Jami that is not able to stream the video anymore. You only see a non-moving image of your taskbar, your Windows 10 wallpaper and the icons of your apps. -And the mouse cursor is stuck on the screen.
Although everything works fine.
As soon as you exit the game you have to change the camera of Jami and use the screen share feature again so that you can share for example a Youtube-video.Aline Gondim SantosAline Gondim Santoshttps://git.jami.net/savoirfairelinux/jami-client-gnome/-/issues/1270Jami won't start a second time2021-08-20T21:10:58Zne moJami won't start a second timeI just tried Jami and closed it.
I'm trying to reopen it but without success (I've checked that it wasn't running via `ps -aufx | grep jami`); terminal shows
```bash
jami-gnome
** Message: 17:55:38.033: Jami GNOME client version: 7695...I just tried Jami and closed it.
I'm trying to reopen it but without success (I've checked that it wasn't running via `ps -aufx | grep jami`); terminal shows
```bash
jami-gnome
** Message: 17:55:38.033: Jami GNOME client version: 7695511b3526e91cf98ef0ff5f8fc39a42442982
** Message: 17:55:38.033: git ref: unknown
Invalid dbus answer. Daemon not running
** (jami-gnome:358915): WARNING **: 18:08:08.758: drawChannels out_of_range exception
```
the last line appeared after I was able to search this site, registering in it and start typing this issue.
Just before I was submitting this, Jami finally displayed the registration window, as if it was completely new (asking me to create a new account or import one, ...). I choose import account. After import started on terminal appeared the following lines
```bash
(jami-gnome:358915): Gtk-CRITICAL **: 18:10:13.767: gtk_scrolled_window_add: assertion 'child_widget == NULL' failed
(jami-gnome:358915): Gtk-WARNING **: 18:10:38.804: Theme parsing error: <data>:1:270: not a number
(jami-gnome:358915): Gdk-CRITICAL **: 18:10:38.982: gdk_window_thaw_toplevel_updates: assertion 'window->update_and_descendants_freeze_count > 0' failed
(jami-gnome:358915): Gtk-CRITICAL **: 18:10:47.566: gtk_file_chooser_select_filename: assertion 'filename != NULL' failed
(jami-gnome:358915): Gtk-CRITICAL **: 18:11:08.149: gtk_file_chooser_select_filename: assertion 'filename != NULL' failed
** (jami-gnome:358915): CRITICAL **: 18:11:57.758: gchar* avatar_manipulation_get_temporary(AvatarManipulation*): assertion 'IS_AVATAR_MANIPULATION(view)' failed
```
The Jami window displays a laconic message "Retrieving your Jami account..." with the spinner under it. Nothing is happening.
I'm using Debian 11 with i3wm.
Thank youhttps://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/480Conference call view: confirm before kicking participant2021-07-27T21:23:48ZAndreas TraczykConference call view: confirm before kicking participantProvide a confirmation dialog after proposing to remove a participant from the call.Provide a confirmation dialog after proposing to remove a participant from the call.https://git.jami.net/savoirfairelinux/jami-client-android/-/issues/985Question / feature request: Android Video call with internal audio (and micro...2023-11-14T19:56:18ZElysQuestion / feature request: Android Video call with internal audio (and microphone)It is possible to live-stream internal audio on Android (at least Android 10 etc.)
There are also apps that were able to record internal audio on Android 6 (in the past; for example older versions of Mobizen screen recorder. Example: ht...It is possible to live-stream internal audio on Android (at least Android 10 etc.)
There are also apps that were able to record internal audio on Android 6 (in the past; for example older versions of Mobizen screen recorder. Example: https://www.youtube.com/watch?v=s18FeVOI8i8 ).
And you can record or even live-stream internal Audio and the sound of an external microphone.
Example: https://youtu.be/1JY4_8l6Xco?t=980
As far as I know also Telegram is able to stream internal audio: https://www.youtube.com/watch?v=rJOd42kfhuU
Would it be possible to stream internal audio on Android AND the sound / your voice of an internal or external microphone of your phone AT THE SAME TIME during a Jami video call ?https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/479Swarm conversation requests are missing registered names and avatars2021-08-05T13:51:06ZAndreas TraczykSwarm conversation requests are missing registered names and avatars1. the smart list and the conversation view show the info hash instead of the registered name
2. avatars are no longer available if the client is restarted1. the smart list and the conversation view show the info hash instead of the registered name
2. avatars are no longer available if the client is restartedAndreas TraczykAndreas Traczykhttps://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/478[Windows 10] OBS-VirtualCam: Black screen if you use different fps2022-08-25T14:46:00ZElys[Windows 10] OBS-VirtualCam: Black screen if you use different fpsIf I use OBS-VirtualCam and set frames per second (fps) at 61 Jami only displays a black screen.
No issues if I use OBS-VirtualCam (SAME settings) together with Element.
OBS-VirtualCam: If I set 10,25,48, 60 or even 80 fps there are no ...If I use OBS-VirtualCam and set frames per second (fps) at 61 Jami only displays a black screen.
No issues if I use OBS-VirtualCam (SAME settings) together with Element.
OBS-VirtualCam: If I set 10,25,48, 60 or even 80 fps there are no issues (Jami can show you the video of the virtual webcam (Audio and Video settings) ).
However - some framerates for example 61 fps (but also issues if the framerate of OBS-VirtualCam is set at 23,29.97 and 59,94 fps) don't work and Jami only shows a black screen.
If I use Element (https://element.io/ ) I never had any issues - SAME settings!Aline Gondim SantosAline Gondim Santoshttps://git.jami.net/savoirfairelinux/jami-project/-/issues/1281Feature / Plugin request: Possibility for automated reply messages2021-07-26T13:00:05ZElysFeature / Plugin request: Possibility for automated reply messagesI know Jami is a decentralized messaging app (p2p) but would it be possible to create automated reply messages?
For example if someone wants to call me up saturday the person will receive an automatic reply message like "I am reachable ...I know Jami is a decentralized messaging app (p2p) but would it be possible to create automated reply messages?
For example if someone wants to call me up saturday the person will receive an automatic reply message like "I am reachable at the following times: monday - friday 08:00AM to 06:00 PM" or "I am on summer holiday until the 7. July".
(similar: https://git.jami.net/savoirfairelinux/ring-project/-/issues/1261 )https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/596Swarm: removeContact should remove syncing conversations2021-07-28T21:14:57ZSébastien BlinSwarm: removeContact should remove syncing conversations+ Fix bug
+ Add test+ Fix bug
+ Add testSwarm-chatSébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/595Swarm 1:1 detect contact left2021-07-28T16:05:38ZSébastien BlinSwarm 1:1 detect contact left+ Change repo to include /invited
+ "Contact left" should be visible in getConversationMembers()
+ Add test
+ DO client changes+ Change repo to include /invited
+ "Contact left" should be visible in getConversationMembers()
+ Add test
+ DO client changesSwarm-chatSébastien BlinAndreas TraczykSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-packaging/-/issues/103Put cache on NFS2021-08-13T17:45:48ZMaxim CournoyerPut cache on NFSCurrently, the cache is local to each Jenkins node (we have at least 6 of them for GNU/Linux). Building the whole of Qt (including qtwebengine) on 3 cores (otherwise it risks being OOM killed) takes more than one hour, for each distribu...Currently, the cache is local to each Jenkins node (we have at least 6 of them for GNU/Linux). Building the whole of Qt (including qtwebengine) on 3 cores (otherwise it risks being OOM killed) takes more than one hour, for each distribution supported (qtwebengine cannot be linked statically). That's more than 10 potential builds per machine, times the number of number of machines we have (60), e.g. more than 60 builds of Qt or more than 60 hours of time.
Having the resulting cached builds on a shared NFS mount would improve things greatly for subsequent builds.
As usual with NFS, we'd have to ensure each job writing to it uses `flock` to prevent conflicts.https://git.jami.net/savoirfairelinux/jami-client-android/-/issues/984Add the ability to turn off camera on the android client2021-07-21T20:59:22Zjake crainAdd the ability to turn off camera on the android client
Like the title suggests, can the ability to switch off the camera in a video call be added like on the ios-client? I also like that you can move the box of your screen to the side so It is barely visible but can there be an ability to ...
Like the title suggests, can the ability to switch off the camera in a video call be added like on the ios-client? I also like that you can move the box of your screen to the side so It is barely visible but can there be an ability to completely remove your box and just show the other persons screen/video? I believe this can probably be achieved through being able to turn the camera off. I still listed it as well incase they are two seperate things.https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/594videoinput: API refactoring2021-11-26T15:10:28ZAdrien Béraudvideoinput: API refactoring* add new daemon APIs
* SIPCall refactoring to use new VideoInput
(To be detailed)* add new daemon APIs
* SIPCall refactoring to use new VideoInput
(To be detailed)Aline Gondim SantosAdrien BéraudAline Gondim Santos