jami-libclient issueshttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues2019-11-21T04:56:15Zhttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/406Switch input when entering and exiting media settings during a call2019-11-21T04:56:15ZPhilippe GorleySwitch input when entering and exiting media settings during a callSteps to reproduce:
1. Enter a call
2. Go to media settings view (there's a SIP negotiation here)
3. Go back to the call view
Expected result: call continues as normal.
Result: SIP negotiation to '', so camera is turned off.Steps to reproduce:
1. Enter a call
2. Go to media settings view (there's a SIP negotiation here)
3. Go back to the call view
Expected result: call continues as normal.
Result: SIP negotiation to '', so camera is turned off.https://git.jami.net/savoirfairelinux/jami-libclient/-/issues/405Intercom is broken... again2019-01-14T17:32:17ZSébastien BlinIntercom is broken... againhttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/404Add settings for "prioritize preferences"2023-05-05T19:38:03ZSébastien BlinAdd settings for "prioritize preferences"This settings will contains:
+ Prioritize events (switch the chatview on incoming call/text message/pending request) or not
+ Prioritize by contactsThis settings will contains:
+ Prioritize events (switch the chatview on incoming call/text message/pending request) or not
+ Prioritize by contactshttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/403Data path is hard-coded to 'ring' on macOS and Windows2019-11-21T04:53:25ZAndreas TraczykData path is hard-coded to 'ring' on macOS and WindowsCommit 08df7d4 hard-codes the data path as QStandardPaths::GenericDataLocation + 'ring/'
which yields:
- %appdata%/ring on Windows
- ~/Library/Application Support/ring on macOS
This is a temporary hack to retain the data location durin...Commit 08df7d4 hard-codes the data path as QStandardPaths::GenericDataLocation + 'ring/'
which yields:
- %appdata%/ring on Windows
- ~/Library/Application Support/ring on macOS
This is a temporary hack to retain the data location during the Jami re-branding process.
These paths should use QStandardPaths::DataLocation which uses the name of the application.https://git.jami.net/savoirfairelinux/jami-libclient/-/issues/402profile for SIP account2018-11-17T22:54:11ZKateryna Kostiukprofile for SIP accountCould not save profile for SIP account
Steps:
- create a new SIP account
- update account details: avatar, display name, username
- close and reopen conversation
Avatar and probably display name will disappear.Could not save profile for SIP account
Steps:
- create a new SIP account
- update account details: avatar, display name, username
- close and reopen conversation
Avatar and probably display name will disappear.Kateryna KostiukKateryna Kostiukhttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/401Lights setting off motion2018-10-31T17:52:49ZManuelLights setting off motionThe system should be smart enough to know that a translucent light (shadow) is not an object and should not set off the motion. For example a car turning around in front of your house at night, the headlights set off the motion. Also if ...The system should be smart enough to know that a translucent light (shadow) is not an object and should not set off the motion. For example a car turning around in front of your house at night, the headlights set off the motion. Also if a car brakes the brake lights set off the motion.https://git.jami.net/savoirfairelinux/jami-libclient/-/issues/400account (un)register: bad daemon method used, setAccountActive never called2018-10-21T13:47:12ZHugo Lefeuvreaccount (un)register: bad daemon method used, setAccountActive never calledThe setAccountActive() method from the daemon API is not used by the new LRC.
```
220 void
221 NewAccountModel::enableAccount(const std::string& accountId, bool enabled)
222 {
223 auto accountInfo = pimpl_->accounts.find(accountId);...The setAccountActive() method from the daemon API is not used by the new LRC.
```
220 void
221 NewAccountModel::enableAccount(const std::string& accountId, bool enabled)
222 {
223 auto accountInfo = pimpl_->accounts.find(accountId);
224 if (accountInfo == pimpl_->accounts.end()) {
225 throw std::out_of_range("NewAccountModel::getAccountConfig, can't find " + accountId);
226 }
227 accountInfo->second.enabled = enabled;
228 }
```
Instead, the account is registered and unregistered via setAccountdetails(). Obviously, this is not a very good idea. It might even be the root of our issues with the register/unregister feature.Hugo LefeuvreHugo Lefeuvrehttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/399Document how LRC is structured.2019-11-21T04:53:12ZSébastien BlinDocument how LRC is structured.In https://git.ring.cx/savoirfairelinux/ring-project/wikis/homeIn https://git.ring.cx/savoirfairelinux/ring-project/wikis/homeNew media APISébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/398Video API2018-12-11T22:42:00ZSébastien BlinVideo APIWe should be able to:
+ List devices
+ Get current device
+ Configure devices
# Patch
https://gerrit-ring.savoirfairelinux.com/c/ring-lrc/+/10319
We should be able to:
+ List devices
+ Get current device
+ Configure devices
# Patch
https://gerrit-ring.savoirfairelinux.com/c/ring-lrc/+/10319
New media APISébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/397Audio API2018-12-11T22:42:03ZSébastien BlinAudio APIWe should be able to:
+ List devices
+ Get current device
+ Configure devices
# Patch
https://gerrit-ring.savoirfairelinux.com/c/ring-lrc/+/10319
We should be able to:
+ List devices
+ Get current device
+ Configure devices
# Patch
https://gerrit-ring.savoirfairelinux.com/c/ring-lrc/+/10319
New media APISébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/396new Renderer implementation2018-12-11T22:42:01ZSébastien Blinnew Renderer implementationThe new API should provide the necessary functions to render a call and preview. Moreover, this should also fix the issue when a crash occurs when the preview is open.
# Patch
https://gerrit-ring.savoirfairelinux.com/c/ring-lrc/+/10319
The new API should provide the necessary functions to render a call and preview. Moreover, this should also fix the issue when a crash occurs when the preview is open.
# Patch
https://gerrit-ring.savoirfairelinux.com/c/ring-lrc/+/10319
New media APISébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/395Define new media API for clients2018-12-11T22:41:55ZSébastien BlinDefine new media API for clientsThe AVModel class should be completed to provide an API to manage Renderers, Video and Audio devices.
# Patch
https://gerrit-ring.savoirfairelinux.com/c/ring-lrc/+/10319
The AVModel class should be completed to provide an API to manage Renderers, Video and Audio devices.
# Patch
https://gerrit-ring.savoirfairelinux.com/c/ring-lrc/+/10319
New media APISébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/394Migrate Medias to new LRC2018-12-11T22:42:14ZSébastien BlinMigrate Medias to new LRCSprint meta.
# TODO
## Call view
+ [x] Get Video's input (name/resolutions/etc)
+ [x] Get Audio's input (name/resolutions/etc)
+ [x] Add the ability to change the input
+ [x] Video
+ [x] Monitor (full/area)
+ [x] Stream fi...Sprint meta.
# TODO
## Call view
+ [x] Get Video's input (name/resolutions/etc)
+ [x] Get Audio's input (name/resolutions/etc)
+ [x] Add the ability to change the input
+ [x] Video
+ [x] Monitor (full/area)
+ [x] Stream file
+ [x] Get advanced informations (call id/resolutions/codecs) from current side and peer
+ [x] Classes not based on Call and Profiles from old LRC
+ [x] Verify old options (pause/mute/recording/quality)
+ [x] Crash client without daemon resilient?
## Avatar view & Let a message view
+ [x] Preview rendered
## Media settings
+ [x] Enable hardware decoding
+ [x] Set managers / devices for audio and video
# Issues + estimates:
+ #395 = 1d
+ #396 = 2d
+ #397 = 2d
+ #398 = 1d
+ #399 = 1dNew media APISébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/393Redo slotAccountStatusChanged2018-10-18T01:51:29ZSébastien BlinRedo slotAccountStatusChangedRedo
```
if (accountInfo.profileInfo.type != profile::Type::SIP) {
// HACK TODO(sblin) change daemon or add signal to know when a Ring
// account is ready (when the keys are generated and the id present)
if (s...Redo
```
if (accountInfo.profileInfo.type != profile::Type::SIP) {
// HACK TODO(sblin) change daemon or add signal to know when a Ring
// account is ready (when the keys are generated and the id present)
if (status == api::account::Status::REGISTERED && accountInfo.profileInfo.uri.empty()) {
// This part detect when a new Ring account is created.
accounts.erase(accountID);
addToAccounts(accountID);
emit linked.accountAdded(accountID);
} else if (!accountInfo.profileInfo.uri.empty()) {
accountInfo.status = status;
emit linked.accountStatusChanged(accountID);
}
} else {
accountInfo.status = status;
emit linked.accountStatusChanged(accountID);
}
```
This is dirty!
There is a lot to say, but two main points:
1. The account creation detection must not happen here
2. SIP signals are bugguy.Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/392Invalid call state transition blocks incoming call view in "finished" state2018-09-28T13:58:45ZHugo LefeuvreInvalid call state transition blocks incoming call view in "finished" state**How to reproduce (GNOME client)**:
* call a contact
* stop the call using the hangup button while the call is still in "searching" state
The incomingcallview will remain open forever because no showChatView signal is emitted.
This is...**How to reproduce (GNOME client)**:
* call a contact
* stop the call using the hangup button while the call is still in "searching" state
The incomingcallview will remain open forever because no showChatView signal is emitted.
This is because of an invalid SEARCHING -> ENDED call state transition.
The call state machine expects a two step state transition: the daemon should first transition to a terminating state, and then to OVER. This is almost always the case, expect for the SEARCHING state.
In fact this state is a bit special since it does not correspond to any well defined daemon state.
In order to avoid issues resulting from an invalid SEARCHING -> ENDED transition, we should add a temporary state transition to TERMINATING before going on with OVER.Hugo LefeuvreHugo Lefeuvrehttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/391Broken Ring InfoHash support2018-09-20T20:54:35ZHugo LefeuvreBroken Ring InfoHash support20e8d7b3 has broken Ring InfoHash support in the smartlist.20e8d7b3 has broken Ring InfoHash support in the smartlist.Hugo LefeuvreHugo Lefeuvrehttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/390Regression: presence broken by 20e8d7b32018-09-12T16:20:33ZHugo LefeuvreRegression: presence broken by 20e8d7b3Presence is not working anymore since 20e8d7b3. It seems like URI scheme is not included in the URI set to the daemon during `subscribeBuddy` call.Presence is not working anymore since 20e8d7b3. It seems like URI scheme is not included in the URI set to the daemon during `subscribeBuddy` call.Hugo LefeuvreHugo Lefeuvrehttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/389Several issues in the new call model's state machine2018-09-20T14:07:01ZHugo LefeuvreSeveral issues in the new call model's state machineThe new call model's state machine suffers from multiple design issues:
* [x] State transitions are realized at multiple places. This makes handling of specific transitions in the state machine more complicated and leads to [terrific c...The new call model's state machine suffers from multiple design issues:
* [x] State transitions are realized at multiple places. This makes handling of specific transitions in the state machine more complicated and leads to [terrific code](https://git.ring.cx/savoirfairelinux/ring-lrc/blob/master/src/newcallmodel.cpp#L504).
* [x] `callStatusChanged` should never be emitted by `togglePause()`. Instead it should wait for feedback from the daemon.
* [x] `slotCallStateChanged` is handling conference state changes very badly. From the three possible conference states, only `HOLD` is handled properly. The rest is just considered to be an internal error....Next major releaseHugo LefeuvreHugo Lefeuvrehttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/388SIP: contact search/add bar filtering issues2018-09-12T15:21:28ZSIP: contact search/add bar filtering issuesI'm looking at using Ring as a SIP client and I seem to have been able to successfully install the 2018.6.6 version from the Gentoo overlay. However, I've been having a couple of problems with adding/searching contacts using the text inp...I'm looking at using Ring as a SIP client and I seem to have been able to successfully install the 2018.6.6 version from the Gentoo overlay. However, I've been having a couple of problems with adding/searching contacts using the text input at the top left of the interface:
* I can't seem to call any contacts with `*` in their numbers. This might not be an issue normally since normal phone numbers don't use that character, but my VoIP provider has voicemail set up as `*97` and there doesn't seem to be any way to call that number to check my voicemail using Ring. I even tried manually adding a conversation to the database using SQLite and still didn't see it in the list.
* I tried typing a `'` into the search box to see if that would let me use special characters like `*` and it crashed LRC with an SQL error. I suppose that there really aren't any phone numbers with `'` in them, but at the same time the fact that Ring uses SQL but doesn't seem to be properly escaping its queries is a major red flag for security-conscious users.Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/387Migrate account with ring.db should back-up conversations and avatars2019-01-27T15:01:47ZannaMigrate account with ring.db should back-up conversations and avatarsRunning Fedora 28 with latest repository update from
https://dl.ring.cx/ring-nightly/fedora_28/ring-nightly.repo
Exported my account to .gz. Saved /home/user/.config/ring & /home/user/.local/share/gnome-ring.
Finally I imported all of ...Running Fedora 28 with latest repository update from
https://dl.ring.cx/ring-nightly/fedora_28/ring-nightly.repo
Exported my account to .gz. Saved /home/user/.config/ring & /home/user/.local/share/gnome-ring.
Finally I imported all of them to my freshly installed new system.
My account & settings are there. My contacts & conversations are all gone.
I noticed that ring.db contains all of my messages -> checked with sqlite3 ~/.local/share/gnome-ring/ring.db
and /home/user/.local/share/gnome-ring/peer_profiles contains all of my contacts.
But nothing is displayed.
Any idea how to get my data visible again?Sébastien BlinSébastien Blin