- May 25, 2016
-
-
Ernir Erlingsson authored
-
- May 24, 2016
-
-
- May 20, 2016
-
-
Torsten Grote authored
This change will allow to pass message dependencies from the client validators to the ValidationManager.
-
- May 19, 2016
-
-
Torsten Grote authored
The new activity shows who you are sharing a forum with and who shares a forum with you. It is accessible from the overflow menu when in a forum. Closes #398
-
Torsten Grote authored
Closes #391
-
Torsten Grote authored
-
Torsten Grote authored
-
- May 16, 2016
-
-
Torsten Grote authored
The code for creating forums in ForumManager was used by ForumSharingManager and also needed by InviteeEngine. This extracts it into its own class. Closes #375
-
- May 12, 2016
- May 06, 2016
- May 04, 2016
-
-
Torsten Grote authored
This commit replaces the old ForumSharingManagerImpl with a new one which is based on state machines and the ProtocolEngine. There is a SharerEngine and a InviteeEngine that take care of state transitions, messages, events and trigger actions to be carried out by the ForumSharingManagerImpl. This is all very similar to the Introduction Client. The general sharing paradigm has been changed from sharing as a state to sharing as an action. Now the UI can allow users to invite contacts to forums. The contacts can accept or decline the invitiation. Also, the Forum Sharing Manger is notified when users leave a forum. Closes #322
-
Torsten Grote authored
-
- May 03, 2016
-
-
Torsten Grote authored
Methods for creating, adding and removing forums have been moved to the `ForumManager`. In order to still handle removing forums properly, a `RemoveForumHook` has been introduced. Methods for sharing forums with all current and future contacts have been removed along with the localGroup where this information was saved. The `ShareForumActivity` now has the proper label. The `SessionId` and the `ProtocolEngine` have been moved to the `clients` package. This addresses part of #322 and part of what has been discussed in #320.
-
- Apr 29, 2016
-
-
akwizgran authored
-
- Apr 28, 2016
-
-
str4d authored
-
- Apr 27, 2016
-
-
str4d authored
-
- Apr 21, 2016
-
-
akwizgran authored
-
Torsten Grote authored
* If the user has already declined, we don't show that the other introducee has declined as well. The backend doesn't have that information, so this is compatible with the principle of showing what we know. * If the user has already accepted or hasn't yet responded, we show the decline response in the private conversation with the introducer. If the user hasn't yet responded, we hide the accept/decline buttons in the introduction request message. Messages an introducee receives in a `FINISHED` state are now being ignored and deleted. Closes #295
-
str4d authored
-
- Apr 20, 2016
-
-
str4d authored
Will currently fail at runtime; requires a public key and a server onion.
-
Torsten Grote authored
* normal session where both introducees accept * normal session where the first introducee declines * normal session where the second introducee declines * one session where a contact is introduced to herself * one session where two identities of the same contact are introduced to each other This introduces a new IntroductionAbortedEvent to signal when the protocol was aborted. It is not yet used in the UI. It closes #276
-
Torsten Grote authored
* force decline when two of our own identities are introduced to each other * throw away introduction requests to the same identity (impossible to trigger from UI) Closes #284
-
- Apr 14, 2016
-
-
Torsten Grote authored
This injects the IntroducerManager and the IntroduceeManger for easier testing
-
- Apr 12, 2016
-
-
Torsten Grote authored
(except refactoring of conversation item classes)
-
Torsten Grote authored
When devices' clocks are out of sync, it is possible that a response is shown before the request. This commit makes sure that the timestamp of responses is always later than the last message in the conversation. Some wording could be misunderstood to thing introductions were successful even though they were not. That has been clarified. A new database transaction was created when getting contacts and local transport properties. This has been changed to re-use the existing transaction. Also addresses minor issues found in review.
-
Torsten Grote authored
The code made the assumption that a session state can be identified by the unique session ID. However, when multiple identities from the same device are involved, there are two sessions with the same ID running on the device. Hence, a second identifying criteria has to be used to uniquely identify the correct session. Here, the ID of the group was chosen. Unfortunately, the session state can not be cached easily anymore leading to a small performance penalty when getting all messages for the UI.
-
- Apr 06, 2016
- Apr 05, 2016
- Apr 01, 2016
-
-
akwizgran authored
-
- Mar 30, 2016
-
-
Torsten Grote authored
-
Torsten Grote authored
This Introduction BSP Client uses its own group to communicate with existing contacts. It uses four types of messages to facilitate introductions: the introduction, the response, the ack and the abort. The protocol logic is encapsulated in two protocol engines, one for the introducer and one for the introducee. The introduction client keeps the local state for each engine, hands messages over to the engines and processes the result and state changes they return.
-
Torsten Grote authored
-
Torsten Grote authored
This requires exposing the `containsContact()` method to the `DatabaseComponent` and is needed for finding out efficiently whether a contact already exists.
-
Torsten Grote authored
-