- Jun 12, 2017
-
-
Guillaume Roguez authored
Change-Id: I2ab88a8269593925b8809de4aca8fd04a7c1b85f
-
Guillaume Roguez authored
Change-Id: I179baa7d15b66569b1adc63cfa85d83da5c79f83
-
- Jun 06, 2017
-
-
Guillaume Roguez authored
Replace ContactMethod::BLANK() by ContactMethod::ContactMethod(), the default constructor. This is the general way to construct a instance with "defaults" behaviours, like BLANK tries to do. Also removes the nasty usage of BLANK: - it returns a constant instance - the code uses it with a const_cast<>, removing the only protection! No sense and extremly dangerous to operate with such global and non protected instance. Side effect: Call::peerContactMethod() returns a nullptr and not a valid and !!mutable!! global const instance if no cm exists. Change-Id: I8a29eacad657b76a7670055f27afeb6db98d78dc Reviewed-by:
Olivier Soldano <olivier.soldano@savoirfairelinux.com>
-
Guillaume Roguez authored
my previous patch [cm: replace BLANK() by default ctor] causes a nullptr access in ProfileModelPrivate::slotAccountAdded() There is a call to acc->contactMethod() that returns a nullptr. I really tried to understand this call and its impact... ... no success! Removing the line seems to have no effect during tests on Gnome client. LRC is magic! Change-Id: Icdd33989e5d90bfb93227d82354643269fe944ff Reviewed-by:
Olivier Soldano <olivier.soldano@savoirfairelinux.com>
-
- Jun 05, 2017
-
-
Fixed in a ring-daemon commit a couple of days ago. Time to fix it in LRC. Why: I created a CI Docker image to compile ring-lrc using only a curated list of dependency to avoid the linking bugs to come back. Change-Id: Ic76124b98fc3755f6b12be8b45b99932dff50c7c Reviewed-by:
Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
-
- Jun 01, 2017
-
-
[Guillaume: fix a nullptr access on account] [Guillaume: less code line by using QVariant static function] [Guillaume: few typo fixes] Change-Id: I3f145cd0fdbcd02cd0820b27122abeaf52409164 Reviewed-by:
Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
-
- May 31, 2017
-
-
Nicolas Jager authored
- add a new class BannedContactModel. This model loads at start of the client a list from the daemon to figure which ContactMethods are banned. - it updates the list (for now, we can only ban) when a peer is banned. [Guillaume: fix typo in ci msg] Change-Id: I2367c8918dd4f743ebbce2b0c1c90e5fde71c45b
-
- May 30, 2017
-
-
Adrien Béraud authored
[JN : add missing paramter] Change-Id: Id76c75511e5601d5147858fc84caa39201d8f538 Reviewed-by:
Nicolas Jäger <nicolas.jager@savoirfairelinux.com>
-
- May 29, 2017
-
-
Guillaume Roguez authored
Keep Call entries in PeopleProxy row filter. This fixes the Conference entry display. Change-Id: If2c4feb37536c37209add3e7c410cdc853f80475 Reviewed-by:
Nicolas Jäger <nicolas.jager@savoirfairelinux.com>
-
- May 26, 2017
-
-
Fix a regression introduced by: [59f41f8d44: avoid adding entry in RecentModel after an incoming ContactRequest] This patch check if the pointer is not null before using it. Change-Id: I49b63f4044bbacc06b36e2c10a3fe7af29100477 Reviewed-by:
Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
-
Nicolas Jager authored
- when we get an incoming ContactRequest we build a Person from the vcard nested in the payload. We next set this Person object to a ContactMethod which trigger the signal contactChanged. When this signal is emitted, RecentModel adds an entry. - this patch adds a check before adding an entry in the RecentModel, if the current changed is for an actual contact or a ContactRequest. In last case, it doesn't create a new entry. Change-Id: I82c03ade965e65f5e32cdc7ecf81b527c4c3aeee Reviewed-by:
Anthony Léonard <anthony.leonard@savoirfairelinux.com>
-
Change-Id: I584e311c2ffe9d3f705b0635ea88b5fbda25eb58 Reviewed-by:
Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
-
Change-Id: Iea3fa1d638698c74d425f7e5c0b31af7c1ce713c Reviewed-by:
Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
-
Without this library it was impossible to acquire the framerate model of any video camera on Windows platform (.dll) [Guillaume: ci msg edited for details] Change-Id: Ib06a680bc2a5c90210949a868dc7b0cb8adc64ba Reviewed-by:
Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
-
Was found while reading the code Change-Id: I4191ffa3c376156a9fbd686b4fad82fe8ead8f19 Reviewed-by:
Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
-
Change-Id: I0ce0b1666c8388880d56abc8f85865828721698a Reviewed-by:
Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
-
- May 25, 2017
-
-
In the case we replace a ContactMethod node by a Person node, we need to make sure that the selection is updated. This is especially important during an incoming Call. Change-Id: I9bf78b7d359b7d01cc55b50178a13d703a72d6ba Reviewed-by:
Nicolas Jäger <nicolas.jager@savoirfairelinux.com>
-
Guillaume Roguez authored
Missing a slot definition in commit [5a4d864e: PhoneDirectoryModel: remove incomingMessage slot] Change-Id: Ic03a5af3f4f289b69c8bbe0d7d25a1cded940f9c Reviewed-by:
Olivier Soldano <olivier.soldano@savoirfairelinux.com>
-
Guillaume Roguez authored
IM has nothing related to a PhoneDirectory. IM signals are already handled by media::Text class. Code duplication that may results to bugs. Change-Id: Ie4d26d76d7267ab73a46f4fc5224a4b52e0466bd Reviewed-by:
Nicolas Jäger <nicolas.jager@savoirfairelinux.com>
-
Guillaume Roguez authored
VCardUtils::parseMimeAttributes() returns by value, but it was used in IMConversationManagerPrivate::newMessage() by reference. So this reference is on a stack-allocated object and can be invalidated by the system. Use a by-value copy, mostly optimized by compiler with copy elision [1]. [1] http://en.cppreference.com/w/cpp/language/copy_elision Change-Id: I1b7ef8eb1ebc738949243d5ace1363d4b4fa3caf Reviewed-by:
Nicolas Jäger <nicolas.jager@savoirfairelinux.com>
-
- add contactAdded and contactRemoved signal required by clients using libwrap. Change-Id: I809139cd103380605de86d61a4841d436393f67d Reviewed-by:
Kateryna Kostiuk <kateryna.kostiuk@savoirfairelinux.com>
-
- May 24, 2017
-
-
- getContactDetails is missing in configurationmanager_wrap.h leadig clients without dbus to failed at compilation, when this function is called. Change-Id: I324fbd2644e9a5c72bb6468b7c63923c7e53535a Reviewed-by:
Kateryna Kostiuk <kateryna.kostiuk@savoirfairelinux.com>
-
- May 23, 2017
-
-
Stepan Salenikovich authored
Due to the ability to receive vCards from other peers (during a Call or from a ContactRequest), there are many possibilities to create duplicate Person objects. This is because up until now we have been using the Person's UID as a unique identifier. However the UID has come from the vCard, and we cannot trust the vCards we receive from peers to have either unique UIDs when they are different contacts, nor the same UID if its the same contact. Thus in the case of received vCards, we identify whether or not a new Person should be created based on the ContactMethod. Note that this doesn't necessarily solve the issue in the case we have multiple ContactMethods with the same RingID (this may happen when we have multiple Accounts communicating with the same peer). However, this is a step in the right direction. Change-Id: I9c05fe00fc46ba0e26e8886cad33cf0fd4afeb81
-
- May 19, 2017
-
-
Stepan Salenikovich authored
This fixes one particular instance of "contact duplication" in the RecentModel. When we had a call from a peer incoming for the very first time, a ContactMethod ndoe was first being created. Then we received the profile from the peer, and so a Person node was created. However, the contactChanged signal could be called before the Person node is created; in this case the ContactMethod node was not being removed and the result was a duplication of the the same contact twice in the RecentModel: once as a CM and once as a Person. Calling slotLastUsedTimeChanged() on the new Person ensures that the Person node is created. We also call slotContactChanged() from slotPersonAdded() to reduce code duplication. Change-Id: Ia9b49ab939a017052cccc69f8d72df5db0aef41d
-
- May 15, 2017
-
-
Houmin authored
Use the DRing::Account::TrustRequest constants instead Change-Id: I0f6e1e71c21fe689f071abe6d3ae5afed9a71926 Reviewed-by:
Stepan Salenikovich <stepan.salenikovich@savoirfairelinux.com>
-
Stepan Salenikovich authored
It returns the bestId() of the lastUsedContactMethod(). This way views will not get an empty QVariant when asking for the number role from a Person item. This also makes sense as what we want to show most of the time and most of the time a Person will only have one ContactMethod anyways. Change-Id: I0edea8c4fe3f6848a523c4f88d3115cf13b20938 Reviewed-by:
Nicolas Jäger <nicolas.jager@savoirfairelinux.com>
-
Stepan Salenikovich authored
Changes the function to return the pointer to the last used ContactMethod. This is more generic than returning the id, since the caller can then decide what info they need themselves. Drops the "get" from the function name to follow LRC/Qt convention: getters don't begin with "get". Makes this getter public as its useful for other purposes as well. Change-Id: I8eb57c8d830e84e76365311870aaaf10dc5739a6 Reviewed-by:
Nicolas Jäger <nicolas.jager@savoirfairelinux.com>
-
- May 12, 2017
-
-
Stepan Salenikovich authored
Instead of sending the vCard during an incoming or ringing call, we wait to send the vCard only once the call has started. This is to prevent connectivity failures during the call initialization due to dropped vCard packets. Change-Id: I08e63bf35724ed543c36d88cd43f872aa246b73c Reviewed-by:
Nicolas Jäger <nicolas.jager@savoirfairelinux.com>
-
Stepan Salenikovich authored
This moves the logic for determining the best name to use away from the roleData function into its own function. This way we reduce the logic in roleDat() and make it easy to access this property if we have the pointer to a ContactMethod. Change-Id: Id1df8e0c0b40627c5c0f1f8ce922a7142c2076d6 Reviewed-by:
Nicolas Jäger <nicolas.jager@savoirfairelinux.com>
-
Stepan Salenikovich authored
This is to follow LRC/Qt naming convention. Getters don't begin with the word "get". Note that getBestId() has been kept so as not to break API, but marked as deprecated so that we can quickly update the clients. Change-Id: Ifcf1d66763b70b5ef4f1b67d39b40892263b5359 Reviewed-by:
Nicolas Jäger <nicolas.jager@savoirfairelinux.com>
-
Stepan Salenikovich authored
Calls and ContactMethods will support this role in case the user would like to explicitly get the URI and not the registered name. Change-Id: I920509a1c07c8b372110e2e97e9e335df57a0565 Reviewed-by:
Nicolas Jäger <nicolas.jager@savoirfairelinux.com>
-
Stepan Salenikovich authored
Whenever possible, we should be displaying the registered name instead of the RingID. We make the Ring::Role::Number data role use getBestId() instead of uri(). The user can still explicitly ask for the Uri if needed. Change-Id: I9dda876bff9c6dbe293f40781c5c388b7ec1bb2a Reviewed-by:
Nicolas Jäger <nicolas.jager@savoirfairelinux.com>
-
- May 11, 2017
-
-
Emmanuel Lepage Vallée authored
As of now, unresolved registered names could be passed to placeCall with a Ring account. As the URI parser doesn't have the metadata required to correctly pick the scheme, it used `sip:`. This isn't correct when the account is a Ring account (but the URI is unaware of that). This commit set the correct scheme before calling placeCall. Change-Id: Ied3cfd1ef7f7171e3bf05d51a245e35e2df95ffb Reviewed-by:
Nicolas Jäger <nicolas.jager@savoirfairelinux.com>
-
Emmanuel Lepage Vallée authored
Before this commit, registeredName, contact and presence would be lost when merging. Given it could not really happen for SIP account, it wasn't an issue. However, it is an issue for Ring accounts. Change-Id: I973e7b6a26f76c6d656dee211f201b9ef6f3c826 Reviewed-by:
Nicolas Jäger <nicolas.jager@savoirfairelinux.com>
-
Emmanuel Lepage Vallée authored
This commit complements the previous one. Now that Ring CMs are properly deduplicated once their registeredName is validated, disable the old entry in the debug model. It also foward the deduplication signal to the RecentModel/Timeline can also take notice. This greatly simplify the code. Change-Id: I4e8839744d0eb12aa32f4bf6a8a50f7e0cc51d88 Reviewed-by:
Nicolas Jäger <nicolas.jager@savoirfairelinux.com>
-
Emmanuel Lepage Vallée authored
Will help makes some other algorithm saner Change-Id: I5fae9bab47c6b508a95cf318c1a5a9fdb26d4bb3 Reviewed-by:
Nicolas Jäger <nicolas.jager@savoirfairelinux.com>
-
Emmanuel Lepage Vallée authored
**WARNING** This makes the setRegisteredName method private and thus break the API. That method could not stay public as this would potentially corrupt the indexes. This patch adds the registered names to the global name directory. If `::getNumber()` is used with a known registered name, no new CM are created. This patch fixes the "most common" case, but doesn't implement the following corner cases: * If the registered name is already part of the directory, but not fully linked to an account and/or RingId. * If there is multiple name service For the multiple name service, the `NameDirectory::registeredNameFound` signal will need to use full URIs for the names (ring:foo@ns.ring.cx). This is out of this patch scope and will have side effects that needs to be addressed in each clients. Change-Id: If06561dc4cb56453cc77092f4c30c633e852b7fd Reviewed-by:
Nicolas Jäger <nicolas.jager@savoirfairelinux.com>
-
Emmanuel Lepage Vallée authored
First of all, [begin/end][Insert/Remove][Rows/Columns] is a flat transaction and can only exist once per model. The code was calling begin in other begin section due to some lazy-loading code. This could result in SIGSEGV if the model had active proxies. More importantly, this code is called from the collections. Some collections run in different threads. The class had a mutex, but only used it in half the places it should have been used. This caused a crash on the macOS and KDE client. I could not manage to crash the Gnome client, but it is probably possible. ASAN also got asserted due to this even when it would have otherwise not crashed. The commit alse fix a memory leak when the ID was duplicated by the race condition. This is a band-aid on the problem: IDs potentially not unique. However a band-aid is better than acrash and the patch to fix this would be too invasive to get past Gerrit. Change-Id: I92e313d0243659b6af374a0cbf8bab18c3f6ba76 Reviewed-by:
Nicolas Jäger <nicolas.jager@savoirfairelinux.com>
-
- May 10, 2017
-
-
Stepan Salenikovich authored
I forgot to remove this qDebug before submitting the patch which introduced it. Change-Id: I14cf6b6ae9b5b3689a38d8947547b08d5a25fa19 Reviewed-by:
Nicolas Jäger <nicolas.jager@savoirfairelinux.com>
-
Emmanuel Lepage Vallée authored
Change-Id: I2e1a5299956fb9218d03e6429c98fbe15ce22cf0 Reviewed-by:
Stepan Salenikovich <stepan.salenikovich@savoirfairelinux.com>
-