Commit graph

4180 commits

Author SHA1 Message Date
Valere
feda53bfb7 Improve crypto log to debug UISI 2021-11-18 15:39:13 +01:00
ariskotsomitopoulos
3de0f7bf37 Add sending file to thread support
** Important while this feature depends on local echo, should be added local echo support in threads to work 100%
2021-11-18 15:48:17 +02:00
ganfra
e562d7684a Timeline: re-add usage of TimelineSettings 2021-11-18 11:03:13 +01:00
Benoit Marty
e98dd2e663
Merge pull request #4396 from vector-im/feature/aris/thread_aware
Feature/aris/thread aware
2021-11-18 10:16:56 +01:00
ariskotsomitopoulos
8015ffee42 PR remrarks 2021-11-17 19:56:06 +02:00
ariskotsomitopoulos
9972dbc278 Use RealmConfiguration instead of Monarchy 2021-11-17 16:54:03 +02:00
Damir Jelić
ae635e2b0a Merge remote-tracking branch 'upstream/develop' into upstream-merge2 2021-11-17 15:35:07 +01:00
Benoit Marty
a5518e90ae
Merge pull request #4485 from vector-im/feature/bma/small_cleanup
Small cleanup after content scanner code has been merged
2021-11-17 15:08:07 +01:00
Damir Jelić
50cdbaf041 crypto: Update to the latest rust-sdk version 2021-11-17 14:58:14 +01:00
ariskotsomitopoulos
d463500998 Remove unused import 2021-11-17 14:48:10 +02:00
Damir Jelić
097f05af57 crypto: Throw exceptions when restoring a recovery key from a passphrase 2021-11-17 13:43:37 +01:00
Damir Jelić
e5af7e6109 crypto: Update for the new room key import result 2021-11-17 13:43:37 +01:00
Damir Jelić
7cb143e970 crypto: Don't create a new salt when we just want to rederive a recovery key 2021-11-17 13:43:37 +01:00
Damir Jelić
50268540c3 crypto: Try to import the recovery key if it was gossiped to us 2021-11-17 13:43:37 +01:00
Damir Jelić
d6ecc7d330 crypto: Connect the backup disabling method 2021-11-17 13:43:37 +01:00
Damir Jelić
5c7b248ed2 crypto: Back up room keys when we create or receive new ones 2021-11-17 13:43:37 +01:00
Damir Jelić
f9476f12af crypto: Correctly continue backing up room keys 2021-11-17 13:43:37 +01:00
Damir Jelić
2b8783b489 crypto: Add support for key backup restoring 2021-11-17 13:43:37 +01:00
Damir Jelić
3b93d6b08c crypto: Fill out all the methods to support backups 2021-11-17 13:43:37 +01:00
Damir Jelić
021041fc2e crypto: Support to send out backup HTTP requests 2021-11-17 13:43:37 +01:00
Damir Jelić
406fd0d8d5 crypto: Initial support for server-side backups of room keys 2021-11-17 13:43:22 +01:00
ariskotsomitopoulos
88656ce80b Use GetEventTask instead of session from the ThreadAwarenessHandler 2021-11-17 14:14:21 +02:00
ariskotsomitopoulos
3d9350091e Add Replies support from within a thread 2021-11-17 13:09:27 +02:00
Benoit Marty
c0af8214a6 Improve and use MatrixUrls 2021-11-17 11:27:59 +01:00
Benoit Marty
0fd29d763c
Markdown and sploiler in roomlist + spoiler in notifications (#4483)
Render markdown in room list and make notifications spoiler aware, per MSC3124
Reorder when case to put the most common on top

Co-authored-by: Onuray Sahin <onurays@element.io>
Co-authored-by: Wasabi\preston <1337paf92@gmail.com>
2021-11-17 10:21:48 +00:00
Benoit Marty
adea1db87a Remove useless ? 2021-11-17 11:19:59 +01:00
Benoit Marty
855b672f48
Add content scanner service (#4392)
* Add content scanner APIs

* Move to content scanner matrix SDK to FOSS

* Update file service

* Refactoring

* Replace matrix callbacks by coroutines

* Fix lint errors

* Add changelog

Co-authored-by: yostyle <yoanp@element.io>
2021-11-17 11:18:20 +01:00
Adam Brown
10a460bf0c
Sign out crash - Realm configuration mismatch (#4480)
Dispatching session events to a specified session instance instead of always querying the session manager
- fixes the close session flow causing the session to be recreated
2021-11-17 10:39:46 +01:00
ganfra
3d27e21683 Merge branch 'develop' into feature/fga/timeline_chunks_rework 2021-11-16 18:34:38 +01:00
ganfra
8c0b2a6704 Timeline: fix double link issue when server is messed up... 2021-11-16 18:14:11 +01:00
ariskotsomitopoulos
4160688f83 Supporting command in threads 2021-11-16 14:59:30 +02:00
Benoit Marty
be3aafeef2
Merge pull request #4433 from vector-im/feature/bma/android12
Android12
2021-11-16 13:27:33 +01:00
ariskotsomitopoulos
8c539426e6 - Thread Summary along with optimization
- Create new thread & reply to thread
2021-11-15 19:17:13 +02:00
Benoit Marty
35e2a1083b
Merge pull request #4360 from vector-im/feature/ons/poll
Poll Feature - Create
2021-11-15 14:05:40 +01:00
Benoit Marty
df60b0c2b7
Merge pull request #4430 from vector-im/feature/adm/feature-notification-images
Notification images
2021-11-15 12:46:51 +01:00
Benoit Marty
0a9845af30 @OnLifecycleEvent is deprecated, use DefaultLifecycleObserver instead 2021-11-15 12:24:48 +01:00
Onuray Sahin
89db5a6ecd Lint fixes. 2021-11-11 11:52:01 +03:00
yostyle
6ddf3f6e5a Fix lint errors 2021-11-10 22:31:23 +01:00
yostyle
7a78bc6866 Replace matrix callbacks by coroutines 2021-11-10 21:57:45 +01:00
yostyle
98ae9d0e8a Refactoring 2021-11-10 21:57:44 +01:00
yostyle
016f3faeea Update file service 2021-11-10 21:57:44 +01:00
yostyle
0ad66446e7 Move to content scanner matrix SDK to FOSS 2021-11-10 21:57:44 +01:00
yostyle
80a42d0a55 Add content scanner APIs 2021-11-10 21:57:44 +01:00
ganfra
52df50a686 Timeline: continue trying to make Read marker/receipts working 2021-11-10 19:17:34 +01:00
Valere
b304ef82fc add comments 2021-11-10 17:41:06 +01:00
Valere
5b76d4b682 Fix fallback otk support 2021-11-10 16:55:34 +01:00
Adam Brown
9dd01d5b20
Merge pull request #4429 from vector-im/feature/adm/relogin-sanity-check
Sign out - Sign in sanity check & nightly sanity check
2021-11-08 20:21:15 +00:00
ariskotsomitopoulos
ecc9b59ad1 Reply In Thread, create a new thread timeline 2021-11-08 20:46:37 +02:00
Adam Brown
9c1d6e0484 avoiding null unwrapping by merging the contains check with eagerly throwing if the session component is missing 2021-11-08 17:14:00 +00:00
Adam Brown
7646f7ce32 updating copyright header 2021-11-08 15:24:08 +00:00
Adam Brown
037d1fcf52 adding catch around the push event dispatching to match previous behaviour 2021-11-08 15:24:08 +00:00
Adam Brown
5190ef4280 replacing separated push listener callbacks with a single onEvents callback
- simplifies the handling of notifications, will allow us to reduce redundant synchronisations and suspend the entire notification update (will be needed for supporting images)
2021-11-08 15:24:07 +00:00
Adam Brown
2d1aed1839 separating the stopping of in-flight tasks form the cleaning up of the session state
- by stopping the session tasks before invalidating the current session we're able to avoid any extra token failures which retrigger the signout flow
2021-11-08 14:50:58 +00:00
Adam Brown
52731cf59d double checking the sync state in order to avoid redundant invalid token events 2021-11-08 14:50:58 +00:00
Adam Brown
9b4cd3c3c4 resetting the session access token after releasing the current session, fixes missing session sign out error
- the sign out step was invaliding the in flight access token which causes the global error handler to trigger an extra sign out
2021-11-08 14:50:58 +00:00
Florian Renaud
8140d90826 Fix potential NPE on Optional objects 2021-11-08 15:48:33 +01:00
ganfra
92a37f15d4 Timeline: fix hasReachedEnd 2021-11-04 13:11:45 +01:00
ariskotsomitopoulos
ec366f1346 PR Remarks 2021-11-04 12:15:22 +02:00
Adam Brown
b1afc26d65 using start_redeliver_intent to allow the system to restart killed sync services
- memory restricted devices may have the sync service destroyed whilst in progress causing future sync to no longer be scheduled
2021-11-04 09:45:59 +00:00
Adam Brown
c14ffefe7c updating background sync function docs with more information 2021-11-04 09:45:59 +00:00
Adam Brown
56d5a38e80 reverting parts of the rapid periodic sync, unfortunately it suffers from the same issue as the one shot workers -
the system can ignore them if the application process is in the background
2021-11-04 09:45:59 +00:00
Marcel Langner
e14fb16db2 initial commit of a permanent GuardService for fdroid background syncing 2021-11-04 09:45:59 +00:00
Andrew Aylett
d261dd705d Periodic sync to re-kick-off rapid sync 2021-11-04 09:45:59 +00:00
ariskotsomitopoulos
cb0fefa74d Add changelog file 2021-11-04 09:33:32 +02:00
ganfra
a1fdd31b68 Timeline: just some renaming + constant 2021-11-03 19:05:36 +01:00
ganfra
52d0da7053 Timeline: remove previous lastForward chunk 2021-11-03 19:02:44 +01:00
ganfra
ce5ccd4dab Timeline: remove useless methods 2021-11-03 12:06:17 +01:00
ganfra
d42a2e69ae Timeline: don't remove annotations and read receipts when deleting timeline event 2021-11-03 11:44:01 +01:00
ariskotsomitopoulos
8ee3f2c6cb Delete ThreadToReplyMapInterceptor
Add documentation comments
2021-11-03 11:34:22 +02:00
ganfra
e4896cad38 Merge branch 'develop' into feature/fga/timeline_chunks_rework 2021-11-02 17:13:23 +01:00
ariskotsomitopoulos
45a63b73bd Make Android app thread aware. Handling also extreme cases like really old messages that the root thread message is not fetched in the device and initial sync 2021-11-02 17:47:37 +02:00
Benoit Marty
3760401b10
Merge pull request #4353 from SpiritCroc/video-compression
Fix broken video compression due to NPE in library
2021-11-02 13:28:52 +01:00
SpiritCroc
c568595817 Video compression error logging: code style 2021-11-01 14:51:53 +01:00
Onuray Sahin
a5a3a817e1 Merge branch 'develop' into feature/ons/poll
* develop: (129 commits)
  Improve Rx sequence regarding listener
  adding changelog entry
  using correct license for matrix-sdk test
  extending the room name resolved to create a dedicated room name data class which contains a normalized version of the room name
  Remove shortcut as soon as a PIN code is set
  ensuring the store migration class is always equal to other store migration instances - is needed as realm will throw if multiple migration instances are created and they don't match
  removing extra query definition by chaining the query creation with modifiers
  removing noisy log which duplicates a type clause and fixing when casing formatting to have a case per line
  documenting the different query cases
  making the isNormalized function an extension and internal to the sdk
  Cache immutable value
  Do not show shortcuts if a PIN code is set
  Remove (disable) shortcut if a room is left
  Ensure ShortcutsHandler get all the joined rooms #4168
  Add `sortOrder: RoomSortOrder` parameter, with no API break
  Clean code
  adding normalised room display name field and making use of it when filtering rooms by name - fixes non latin-1 character set room names from being ignored when searching with inexact casing
  adding normalisation to the query string cases
  making value processing an injectable class, it will need to have its own dependencies to support normalisation
  porting QueryStringValue to sealed interface with a sub category for the content based values - allows for handling those cases separately for normalisation
  ...

# Conflicts:
#	vector/src/main/java/im/vector/app/core/di/ScreenComponent.kt
2021-10-28 18:05:10 +03:00
Benoit Marty
c22d3fbedc
Merge pull request #4355 from vector-im/feature/adm/timeline-disk-usage
Reducing timeline disk usage
2021-10-28 15:16:27 +02:00
Adam Brown
23f8d05522 removing redundant exists() checks, mkdirs already does this 2021-10-28 13:35:39 +01:00
Onuray Sahin
ac299d8c06 Remove poll command. 2021-10-28 14:48:20 +03:00
Onuray Sahin
f9f4317d68 Use unstable types. 2021-10-28 14:46:51 +03:00
Benoit Marty
868548d0ab
Merge pull request #4352 from vector-im/feature/adm/room-filtering
Fixing case sensitive non latin room name filtering
2021-10-28 12:27:13 +02:00
Onuray Sahin
dd58dd800c Create poll event content. 2021-10-28 10:50:29 +03:00
Adam Brown
c2ce10f89c delaying working dir creation to when its needed, lazy is sychronised by default 2021-10-27 18:23:25 +01:00
Adam Brown
8d668cc118 avoiding redundant session id filesDir opening, this provision is called multiple times each time we open a room 2021-10-27 18:23:16 +01:00
Adam Brown
63e9e07d5e using correct license for matrix-sdk test 2021-10-27 16:42:35 +01:00
Adam Brown
611bf29ebe extending the room name resolved to create a dedicated room name data class which contains a normalized version of the room name 2021-10-27 15:25:05 +01:00
Adam Brown
9949779b62 ensuring the store migration class is always equal to other store migration instances
- is needed as realm will throw if multiple migration instances are created and they don't match
2021-10-27 15:01:26 +01:00
Adam Brown
540036f83c removing extra query definition by chaining the query creation with modifiers 2021-10-27 14:36:26 +01:00
Adam Brown
7b356484ae removing noisy log which duplicates a type clause and fixing when casing formatting to have a case per line 2021-10-27 14:34:40 +01:00
Adam Brown
e7a0a4d4ae documenting the different query cases 2021-10-27 14:33:01 +01:00
Adam Brown
dbb4a87784 making the isNormalized function an extension and internal to the sdk 2021-10-27 14:26:51 +01:00
SpiritCroc
076820bb10 Fix broken video compression due to NPE in library
Library issue: https://github.com/natario1/Transcoder/issues/154

Possibly fixes
https://github.com/vector-im/element-android/issues/4337

Also add some logging for failures.
2021-10-27 15:24:17 +02:00
Benoit Marty
76314b9d87 Add sortOrder: RoomSortOrder parameter, with no API break 2021-10-27 15:00:14 +02:00
Adam Brown
4ae04fc297 adding normalised room display name field and making use of it when filtering rooms by name
- fixes non latin-1 character set room names from being ignored when searching with inexact casing
2021-10-27 13:09:53 +01:00
Adam Brown
d5ed95988d adding normalisation to the query string cases 2021-10-27 12:46:17 +01:00
Adam Brown
2681601d35 making value processing an injectable class, it will need to have its own dependencies to support normalisation 2021-10-27 12:30:23 +01:00
Adam Brown
72508c61d9 porting QueryStringValue to sealed interface with a sub category for the content based values
- allows for handling those cases separately for normalisation
2021-10-27 12:19:49 +01:00
Adam Brown
1c0d69674d moving is invitation help to the event file 2021-10-26 20:03:10 +01:00
Adam Brown
37a7d449ae moving invitiation joined event filtering to the existing mapNotNull chain to avoid another list creation 2021-10-26 20:03:10 +01:00
Adam Brown
e95d49a3ae avoiding dispatching invitation accepted events
- we only want to notify users when they receive an invititation, not when they've accepted it
2021-10-26 20:03:10 +01:00
Benoit Marty
109a5a6664
Merge pull request #4332 from vector-im/feature/bma/do_not_inject_default
DI: Use interfaces instead of implementation
2021-10-26 20:45:13 +02:00
Benoit Marty
31abf44d0e
Merge pull request #4346 from vector-im/feature/bma/login_custom
Add API `LoginWizard.loginCustom(data: JsonDict): Session`
2021-10-26 19:28:30 +02:00
Benoit Marty
e8ccae8cd0 Add API LoginWizard.loginCustom(data: JsonDict): Session to be able to login to a homeserver using arbitrary request content 2021-10-26 18:38:15 +02:00
ariskotsomitopoulos
d1f3e3f958 Thread awareness, map threads events to replies 2021-10-26 18:59:01 +03:00
Benoit Marty
0236396c59 Add optional deviceId to the login API 2021-10-26 15:10:04 +02:00
ariskotsomitopoulos
8f0074911a Thread awareness, map threads events to replies 2021-10-25 19:00:39 +03:00
Benoit Marty
d0f226dcd1 Bind identity service 2021-10-25 15:47:17 +02:00
Benoit Marty
363ae79378 DI: Use interfaces instead of implementation 2021-10-25 15:32:27 +02:00
Benoit Marty
f2c22c1985
Merge pull request #4192 from vector-im/yostyle/cipher_suites
Limit supported TLS versions and cipher suites
2021-10-25 13:07:21 +02:00
ariskotsomitopoulos
ab87937e5b Threads init commit 2021-10-20 18:39:59 +03:00
Benoit Marty
097694f6ef Make MegolmBackupAuthData.signatures optional for robustness 2021-10-19 17:31:51 +02:00
Benoit Marty
ab0e707ea6
Merge pull request #4229 from vector-im/feature/adm/decrypt-event-dummy-keys-fallback-crash
Catching EnsureOlmSessionsForDevicesAction errors
2021-10-19 16:13:34 +02:00
Aris Kotsomitopoulos
aea22201c3
Feature/aris/issue 465 scrub exif data (#4248)
Implement ImageExifTagRemover to scrub user sensitive data while sending original size photos
- Return a not scrubbed file when there is an exception while scrubbing the jpeg file
- Improve error handling on image compression
2021-10-18 21:20:03 +00:00
Adam Brown
c8a8d2e0bf applying a retry when attempting to fetch one time keys, tries to catch flaky network conditions 2021-10-18 16:15:07 +01:00
Adam Brown
ca79e87e00 applying a retry when attempting to send dummy payload to device 2021-10-18 16:13:22 +01:00
Benoit Marty
085da6c99a
Merge pull request #4090 from vector-im/feature/aris/presence
Feature/aris/presence
2021-10-13 09:58:22 +02:00
Benoit Marty
13ec4db8a2
Merge pull request #4215 from vector-im/feature/ons/fix_voice_message_resend
Voice message - Do not delete file to be able to resend
2021-10-12 18:30:03 +02:00
Adam Brown
256cb7093d catching ensureOlmSessionsForDevicesAction errors during the event decryption flow
- we currently can't do much but log here as we've asynchronously start the fallback flow, catching the error at least stops a hard crash
2021-10-12 16:37:40 +01:00
Benoit Marty
6c915ea4d1 Cleanup the PR about presence 2021-10-12 16:45:41 +02:00
Benoit Marty
923bc00dcd
Merge branch 'develop' into feature/aris/presence 2021-10-12 15:22:40 +02:00
Benoit Marty
7338982030
Merge pull request #4193 from vector-im/feature/bma/fix_logout_crash
Try to fix #4007
2021-10-12 15:19:20 +02:00
Benoit Marty
36d2f8e46b
Merge pull request #4228 from vector-im/feature/adm/suspending_add_pusher
Improved /settings/notifications push toggle error handling
2021-10-12 14:50:01 +02:00
Benoit Marty
a7ec76bae3 Also call monarchyWriteAsyncExecutor.awaitTermination 2021-10-12 14:20:20 +02:00
Adam Brown
786dec5dc0 observing both the email pushers and email pids so that displayed email pushers are always in sync 2021-10-12 12:49:39 +01:00
ganfra
a24a9b43fa Mavericks 2: make the UT happy. Let SDK exposes MatrixCoroutineDispatchers. 2021-10-12 13:47:32 +02:00
Adam Brown
bdec6a3580 removing mention of email in the http pusher model, we have dedicated emails functions on the service instead 2021-10-12 11:39:14 +01:00
Adam Brown
69bb554e20 lifting the request executor to its own file in the network package
- also creates a dedicated RequestModule instead of providing the executor via the pushers module
2021-10-12 11:39:14 +01:00
Adam Brown
aff787bb29 extracting the test fakes to their own package 2021-10-12 11:39:14 +01:00
Adam Brown
8e84aea434 removing unused import 2021-10-12 11:39:14 +01:00
Adam Brown
b7c911feee adding test cases for when adding a pusher fails and when it already exists 2021-10-12 11:39:14 +01:00
Adam Brown
21479b2b28 inverting if to favour positive ordering 2021-10-12 11:39:14 +01:00
Adam Brown
48d9dfb82d adding test for the add pusher task happy flow
- introduces the concepts of Fakes for handling the dependencies, unforuntately realm/monarchy aren't very testable in their current state so we'll need to use mocks
2021-10-12 11:39:14 +01:00
Adam Brown
0a2d7d709b creating an injectable request executor to enable unit tests network request (without hitting the network) 2021-10-12 11:39:14 +01:00
Adam Brown
6672ab3966 removing comment which doesn't add additional context/information 2021-10-12 11:39:14 +01:00
Adam Brown
46c338934e running lint 2021-10-12 11:39:14 +01:00
Adam Brown
e24329e139 reusing the transactional logic for the current session notifications toggle
- uses the synchronous token registering which also means we get error handling
2021-10-12 11:39:14 +01:00
Adam Brown
6c9fcc0d93 extracting the add pusher logic for the worker and delegating to the task from the worker 2021-10-12 11:39:14 +01:00
Damir Jelić
d3a761a73a crypto: Retry the crypto related requests 2021-10-12 12:29:51 +02:00
Damir Jelić
28d4573124 crypto: Use the correct copyright header for the new files 2021-10-12 12:18:02 +02:00
Damir Jelić
c266842da9 crypto: Use getOrPut instead of getOrDefault
getOrDefault won't insert the default value into the map, while we do
want it to be inserted.
2021-10-12 12:08:38 +02:00
Benoit Marty
2d97640372 Ensure no async transaction will occurs if the store is closed 2021-10-12 12:08:14 +02:00
Benoit Marty
4a7e0a5d95 CleanupSession: start by releasing the session, then empty the databases 2021-10-12 11:57:07 +02:00
Benoit Marty
73c08e2eeb Avoid code duplication 2021-10-12 11:38:16 +02:00
Benoit Marty
0d85299c57 Try to fix #4007
Wait for Realm instance to be effectively closed before deleting Realm files
2021-10-12 10:40:46 +02:00
Onuray Sahin
13aee7d162 Do not delete voice message file to be able to resend. 2021-10-11 16:49:15 +03:00
yostyle
cbcb620ad1 Limit supported cipher suites 2021-10-08 18:16:27 +02:00
ariskotsomitopoulos
9aeba10b7e ktlintFormat fixes 2021-10-06 20:19:21 +03:00
ariskotsomitopoulos
9ab59a543d * Implement Presence Service:
- Get Presence Status
     - Set Presence Status
* Integrate presence in room details screen
* Integrate presence in room people's view
* Update UI to support presence
* Fix bug when insertOrUpdate was called on RoomMemberEventHandler and override the correct presence value in RoomMemberSummaryEntity
* Improve performance on updateUserPresence in RoomMemberSummaryEntity entity
* Remarks & linter fixes
* Disable presence when there is no m.presence events. In some servers like matrix.org is disabled atm.
* Enhance UI Presence on DM room lists to support dark/light theme
* Restore missing lines in gradle.properties to speed up debugging
2021-10-06 18:00:02 +03:00
Benoit Marty
7ebdd7830a
Merge pull request #4158 from vector-im/feature/bma/new_commands
Handle new commands
2021-10-05 13:38:31 +02:00
Benoit Marty
eceb341986
Merge pull request #4034 from vector-im/feature/bma/displayNameFallback
Add a fallback for user displayName when this one is null or empty
2021-10-04 23:13:28 +02:00
Benoit Marty
647b09739f Fix test compilation 2021-10-04 22:48:43 +02:00
Benoit Marty
068c9393f1 Create extension String.isMxcUrl() 2021-10-04 16:26:15 +02:00
Benoit Marty
f91936b413
Merge pull request #4156 from vector-im/feature/bma/remove_unused_worker
Remove unused SendRelationWorker and related API call (3588)
2021-10-04 16:16:35 +02:00
Benoit Marty
36e4d3ec69 Remove unused SendRelationWorker and related API call (3588) 2021-10-04 15:17:03 +02:00
Benoit Marty
f385e74662 Improve reusability of code 2021-10-04 14:13:25 +02:00
Benoit Marty
7636b4d7a8 limit alias length in candidateAliasFromRoomName() 2021-10-04 12:40:43 +02:00
Benoit Marty
c3b65a9c71 Create MatrixConstants to handle max alias length limitation 2021-10-04 12:30:28 +02:00
Valere
3da5641e2b Client side validation of alias max length 2021-10-04 10:57:54 +02:00
Benoit Marty
0a6b71d27d ktlint 2021-10-04 09:58:14 +02:00
Benoit Marty
9735bc6ee3 Add a fallback for user displayName when this one is null or empty, so that the application can customize the dispay name 2021-10-04 09:55:01 +02:00
Benoit Marty
f5375c7af2 Run ./gradlew ktlintFormat 2021-10-02 11:49:28 +02:00
Benoit Marty
f7af298654
Merge pull request #3972 from vector-im/feature/fga/expose_sync
Feature/fga/expose sync
2021-10-01 20:48:46 +02:00
Benoit Marty
2366227133
Merge pull request #4129 from vector-im/feature/adm/sync-read-notifications
Fixing notifications not being dismissed when read from other devices
2021-10-01 18:11:46 +02:00
Benoit Marty
d8203ea27b Optimize import 2021-10-01 18:08:48 +02:00
Benoit Marty
7d59cbebf1
Merge branch 'develop' into feature/fga/expose_sync 2021-10-01 18:04:56 +02:00
Adam Brown
c72f66871f replacing boolean constants with an improved function name + doc around why the events can be missing 2021-10-01 16:22:24 +01:00
Adam Brown
f9d2f236a4 using named parameters when the same types are used in close proximity 2021-10-01 14:43:39 +01:00
Benoit Marty
6983e1be55 Split long lines 2021-10-01 14:24:07 +02:00
Benoit Marty
ba35c0101e Fix compilation error 2021-10-01 14:09:22 +02:00
Benoit Marty
d1e9f3131a Big annoying commit: execute command ./gradlew ktlintFormat - Fix "colon-spacing" 2021-10-01 13:31:15 +02:00
Benoit Marty
a1caccbcc8 Big annoying commit: execute command ./gradlew ktlintFormat - Fix "chain-wrapping" 2021-10-01 13:31:15 +02:00
Benoit Marty
2ca3c68611 Big annoying commit: execute command ./gradlew ktlintFormat - Fix "import-ordering" 2021-10-01 13:31:15 +02:00
Adam Brown
49e332cb1c formatting 2021-09-30 17:30:23 +01:00
Adam Brown
7105a20f4f fixes notifications not being marked as read when the last chunk containing the event is no longer the latest
- use explict returns constants to attempt to add more documentation
- queries for the existence of the event in all of the chunk history and if a read receipt exists in the latest chunk (which it should if a user has just read on another client) which allows us to mark old notifications events as read
2021-09-30 17:15:04 +01:00
ganfra
845c396f8f Clean code after PR review 2021-09-30 16:43:49 +02:00
Benoit Marty
3719382569
Merge pull request #3953 from vector-im/dependabot/gradle/androidx.work-work-runtime-ktx-2.6.0
Bump work-runtime-ktx from 2.5.0 to 2.6.0
2021-09-30 14:25:43 +02:00
ganfra
be8c6f1836 Merge branch 'develop' into feature/fga/expose_sync 2021-09-30 12:10:38 +02:00
Benoit Marty
3f7e810f14 Handle change from WorkManager 2.6.0.
https://developer.android.com/jetpack/androidx/releases/work#2.6.0
2021-09-30 12:06:57 +02:00
Benoit Marty
0033378f8b
Merge pull request #4050 from vector-im/dependabot/gradle/kotlin-1.5.31
Bump kotlin from 1.5.30 to 1.5.31
2021-09-29 17:09:39 +02:00
Benoit Marty
c0adde56df
Merge pull request #4027 from vector-im/feature/fre/permalink
Add client base url support for permalinks
2021-09-29 17:08:12 +02:00
Benoit Marty
045e4bbf76
Merge pull request #4052 from vector-im/feature/adm/email_notification_toggle
Add email notification toggle
2021-09-24 20:42:44 +02:00
Valere
1fed27961a Code review 2021-09-24 19:35:49 +02:00
Valere
0acf90d8cd Code review 2021-09-24 18:12:12 +02:00
Valere
d59aaa7611 Support entering mail in user invite screen 2021-09-24 18:12:12 +02:00
Adam Brown
4482cbdaa6 using dedicated pusher removal methods for the different types of pushers
- also adds a separate removePusher which supports removing any type of pusher
2021-09-24 17:00:48 +01:00
Adam Brown
95b4f99970 making the add email pusher append parameter configurable by clients, typically we wouldn't want to overwrite other accounts but we can expose the option to clients if they want that behaviour 2021-09-24 15:39:08 +01:00
Nick Hu
0a498bee38
Fix lints and add changelog.d entry 2021-09-24 13:50:43 +01:00
Nick Hu
4c45a69129
Migrate commonmark extension to kotlin 2021-09-24 13:50:42 +01:00
Nick Hu
20821fbe80
Render maths with respect to data-mx-maths
(https://github.com/matrix-org/matrix-doc/pull/2191)

Firstly, this implements a commonmark-java plugin which is solely used to parse
LaTeX input in the composer box, so that they can be rendered into
`<span data-mx-maths=...>fallback</span>` and `<div
data-mx-maths=...>fallback</div>` for inline and display maths
respectively in the sent message.

Secondly, received messages of this form are pre-processed by a simple
regex into a form which markwon (which performs the rendering) expects.
2021-09-24 13:50:42 +01:00
Benoit Marty
f3c4e9a1df ktlint 2021-09-23 19:33:38 +02:00
Benoit Marty
80aad8a958
Merge pull request #4033 from vector-im/feature/bca/improve_store_key_throttling
Use in memory cache when adding inBoundGroupSession
2021-09-23 19:31:35 +02:00
Benoit Marty
a40cee337e Fix warning "This expression will be resolved to Int in future releases. Please add explicit conversion call" 2021-09-23 15:52:01 +02:00
Adam Brown
0302d19f47 formatting 2021-09-23 13:20:01 +01:00
Benoit Marty
75fb026289 Rename some classes after new feature implemented 2021-09-23 13:54:03 +02:00
Benoit Marty
306e3cf055 Improve log to track push and sync request
Also change some log level from d to v
2021-09-23 13:54:03 +02:00
Benoit Marty
05aff3314d Add error state 2021-09-23 13:54:03 +02:00
Benoit Marty
f5151463e2 Add the number of rooms and toDevice events in the debug data 2021-09-23 13:54:03 +02:00
Benoit Marty
63a84dcb8a Add incremental sync status to the room list and the room detail (only in developer mode) 2021-09-23 13:54:03 +02:00
Adam Brown
d31ad7e187 extracting constants for the pusher kinds and email appId 2021-09-23 12:33:48 +01:00
Adam Brown
8316728e53 removing this. usages where there's no clashes 2021-09-23 11:45:09 +01:00
Adam Brown
8734d5d2e7 removing redundant comments about pusher kind from apis which don't have a kind field 2021-09-21 16:08:46 +01:00
Adam Brown
2c25efc36a making the removePusher more generic as it can handle email and http pushers
- Updates the doc to reflect that to remove emails an appId of m.email is required
2021-09-21 13:46:18 +01:00
Adam Brown
78d70eab12 enforcing emails pushes to always be appended
- always appending allows the same email to be used for other accounts see https://github.com/matrix-org/matrix-react-sdk/pull/2727 https://github.com/matrix-org/matrix-react-sdk/pull/2727/files#diff-ec232520bf51337e5e6939b885d21f428ad6da3306c8e17a3ff660b2b341179dR165
2021-09-21 11:32:33 +01:00
Adam Brown
516bb6ed95 lifting the email branding to its own parameter so clients of the sdk can configure it 2021-09-21 11:26:11 +01:00
Adam Brown
ee3f2877e9 adding matrix SDK support for email adding and removing email pushes
- email pushes make use of a new undocumented `brand` field, for now this field maps directly to the app display name so we can resuse it
2021-09-21 09:52:00 +01:00
ganfra
cd1da7348f Timeline rework: make sure migration doesn't crash 2021-09-20 18:33:43 +02:00
ganfra
b370f84e08 Timeline rework: add some comments and fix pagination when having overlapping events 2021-09-20 18:33:26 +02:00
Florian Renaud
fa3abecf8f Fix review 2021-09-20 15:18:06 +02:00
ganfra
63aa5b4015 Merge branch 'develop' into feature/fga/timeline_chunks_rework 2021-09-17 19:40:20 +02:00
Benoit Marty
b5f7351564
Merge pull request #4008 from vector-im/feature/fga/small_timeline_optimisation
Feature/fga/small timeline optimisation
2021-09-17 18:06:58 +02:00
ganfra
7f9c191647 Timeline rework: add db migration 2021-09-17 18:01:26 +02:00
ganfra
2283030c9b Timeline rework: handle lastForwardChunk 2021-09-17 17:51:40 +02:00
Florian Renaud
e37fb313c0 Permalink: Merge LinkHandlerActivity with PermalinkHandlerActivity
Also convert links to matrix.to before permalink parsing
2021-09-17 17:19:32 +02:00
Florian Renaud
a73f0a9fa8 Permalink: use client base url if any 2021-09-17 16:46:09 +02:00
Florian Renaud
0d344fde03 Permalink: add client url field in MatrixConfiguration 2021-09-17 16:46:09 +02:00
Florian Renaud
afb49430be Permalink: move method implementation from service to factory 2021-09-17 16:46:09 +02:00
ganfra
da75642b92 Timeline: add some logs and fix epoxy cache 2021-09-17 15:13:38 +02:00
Valere
22319a0f0a Cleaning, line too long 2021-09-16 09:33:06 +02:00
Valere
e5de62b57c Code review 2021-09-16 09:33:06 +02:00
Valere
94f88c80fc Fix parent relation handling 2021-09-16 09:33:06 +02:00
Valere
70ebb3a3f2 Code review 2021-09-15 18:48:40 +02:00
Valere
2c1435f08c Change default power to invite in private space + setting 2021-09-15 18:47:38 +02:00
Benoit Marty
d6b261ce4c
Merge pull request #3986 from vector-im/feature/bca/room_summary_api
Better room preview, use room Summary API if available
2021-09-15 15:03:31 +02:00
Valere
f2b7ee3e06 Code review 2021-09-15 09:21:30 +02:00
Valere
7142cd899b Use in memory cache when adding inBoundGroupSession 2021-09-14 14:01:17 +02:00
Valere
3a0734f6e2 Store device key in SharedSessionEntity
Code review changes


Fix database migraiton


Fix wrong self assignement + comment
2021-09-13 15:29:45 +02:00
ganfra
f96485c493 Timeline: use json directly to be a bit more speedy (those methods are called a lot) 2021-09-09 19:06:09 +02:00
Benoit Marty
3fcfe7000f Update user agent: MatrixAndroidSDK_X is replaced by MatrixAndroidSdk2 2021-09-09 09:59:06 +02:00
Benoit Marty
6a1409ba59 Better management of SDK version 2021-09-09 09:55:24 +02:00
ganfra
94a6950394 Timeline rework: continue branching things. 2021-09-08 18:00:54 +02:00
ganfra
57e5eca784 Merge branch 'develop' into feature/fga/timeline_chunks_rework 2021-09-08 17:33:10 +02:00
ganfra
4f145e365e Timeline: small on fixes on new implementation 2021-09-08 15:33:40 +02:00
Valere
b1c95e32eb Better room preview, use room Summary API if available 2021-09-08 13:55:22 +02:00
Onuray Sahin
3bd392a55d Code review fixes. 2021-09-08 13:44:52 +03:00
Onuray Sahin
1df867f345 Fix rendering voice message if the waveform data is corrupted. 2021-09-08 13:20:56 +03:00
ganfra
9238037067 Timeline: try new strategy for handling chunks (no merging) 2021-09-07 19:28:20 +02:00
Benoit Marty
ffedd6fcfa Fix other warning 2021-09-03 17:02:14 +02:00
Benoit Marty
fc22376050 Ignore warning in test.
There is probably a better way than using the GlobalScope, but I'm not sure how to do it now.
2021-09-03 17:02:14 +02:00
Benoit Marty
377c4e00a3
Merge pull request #3954 from vector-im/dependabot/gradle/com.android.tools.build-gradle-7.0.2
Bump gradle from 4.2.2 to 7.0.2
2021-09-03 12:11:52 +02:00
Valere
1c7e567187 Fix test compilation (autojoin descoped) 2021-09-02 11:56:16 +02:00
Valere
9687a59371 Code review 2021-09-02 11:34:08 +02:00
Valere
97114b4f48 cleaning 2021-09-02 11:34:08 +02:00
Valere
0bcd363677 Cleaning 2021-09-02 11:34:08 +02:00
Valere
5297512f87 Support Space explore pagination 2021-09-02 11:34:08 +02:00
Benoit Marty
616e5b17f0 Fix warning
provider#androidx.work.impl.WorkManagerInitializer was tagged at AndroidManifest.xml:16 to remove other declarations but no other declaration present
2021-09-02 09:43:39 +02:00
Valere
ec77006ddf FIx / bad format of restricted join rule 2021-09-01 17:15:37 +02:00
yostyle
d579670080 Add password matrix errors 2021-09-01 10:30:20 +02:00
Benoit Marty
32bad57536 Cleanup 2021-08-31 11:50:23 +02:00
Benoit Marty
d304469903
Merge branch 'develop' into develop 2021-08-30 14:25:13 +02:00
Benoit Marty
23e3241b95
Merge pull request #1809 from dkter/conversation-features
Support Android 11 Conversation features
2021-08-30 14:15:42 +02:00
Benoit Marty
2a89e2b4ac
Merge pull request #3908 from vector-im/feature/fga/fix_jitsi_widget
Fix Jitsi-hosted jitsi conferences not loading
2021-08-30 13:57:39 +02:00
Benoit Marty
65c8ae3597
Merge pull request #3739 from vector-im/feature/bca/accept_unbound_3pid_invite
support email invite
2021-08-27 19:02:42 +02:00
Benoit Marty
5b2478a34f
Merge pull request #3894 from vector-im/feature/dla/keyword_notification_settings
Feature/dla/keyword notification settings
2021-08-27 18:19:17 +02:00
Valere
1ffacd1788 Code review 2021-08-27 17:30:32 +02:00
Valere
819e7c49b0 Code review 2021-08-27 17:30:32 +02:00
Valere
f2ab0987cc Add change log + cleaning 2021-08-27 17:30:09 +02:00
Valere
69c84a2460 support email invite 2021-08-27 17:30:09 +02:00
Valere
4107d2643c
Merge pull request #3704 from vector-im/feature/bca/promote_restricted
Promote restricted join rule to admins
2021-08-27 17:27:57 +02:00
Benoit Marty
276b89b8b7 PushRule enabling request is not following the spec 2021-08-27 16:15:08 +02:00
Valere
b408d7346f Fix / use unstable prefix for room_capabilities 2021-08-27 15:56:07 +02:00
Florian Renaud
7714cc41f7 Attach documentation reference to expired account error 2021-08-27 14:33:12 +02:00
Florian Renaud
1ca4b3b78a Add expired account error code
For synapse instances which have activated and configured the email account validity module, an error code (ORG_MATRIX_EXPIRED_ACCOUNT) is triggered for any request authenticated by the user's access token which is expired.
This change only add the error code in the matrix SDK but does not handle it for now in the client side.

More documentation can be found in the dedicated Synapse plugin module repository: https://github.com/matrix-org/synapse-email-account-validity
2021-08-27 14:28:07 +02:00
ganfra
84e6a67a51 Jitsi widget: refact a bit so we use data instead of url when possible 2021-08-27 14:03:52 +02:00
David Teresi
842ccb12b2 Improve shortcut sorting 2021-08-25 13:41:32 -04:00
David Langley
daaa40b27a Merge branch 'develop' of github.com:vector-im/element-android into feature/dla/keyword_notification_settings 2021-08-25 17:41:37 +01:00
David Langley
1d767d6e3f Fix keyword style, preference persistence and add comment to keyword ruleid 2021-08-25 17:38:12 +01:00
Benoit Marty
4ad542f0d3
Merge pull request #3891 from vector-im/fre/when_statement
Use `when` statement instead of `if`/ `else`
2021-08-25 12:03:31 +02:00
David Langley
fb8c7f6be0 lint 2021-08-24 19:08:27 +01:00
ganfra
2e2deba3ac Fix message edition is not rendered in e2e rooms after pagination (#3887) 2021-08-24 19:58:54 +02:00
David Langley
3481fc70c7 Cleanup and fix resValue 2021-08-24 16:49:18 +01:00
David Langley
238f772461 Merge branch 'develop' of github.com:vector-im/element-android into feature/dla/keyword_notification_settings 2021-08-24 15:51:23 +01:00
Florian Renaud
07adc43481 Use when statement instead of if/ else 2021-08-24 15:38:33 +02:00
Benoit Marty
c301bcf4b6 Send an empty body for POST rooms/{roomId}/receipt/{receiptType}/{eventId} 2021-08-23 16:49:45 +02:00
ganfra
a968a848b0 Sync: exposes ShareFlow<SyncResponse> from the SyncThread 2021-08-23 16:46:37 +02:00
ganfra
ebe1e28689 Sync: makes SyncResponse in public API 2021-08-23 16:46:13 +02:00
Benoit Marty
9fa862ec76
Merge pull request #3711 from vector-im/feature/bma/sendToDevice
Ensure that txnId is the same if the request is retried
2021-08-23 16:11:33 +02:00
Benoit Marty
4a33fbb635
Merge pull request #3743 from vector-im/florian14/dm_email_invite
Update Account Data with user matrix id for invited user by email
2021-08-23 16:08:39 +02:00
Péter Radics
bf919b89da [issue-2610] Merge branch 'develop' of github.com:mitchnull/element-android into feature/issue-2610-override-nick-color-via-user-account-data 2021-08-15 18:08:47 +02:00
Damir Jelić
995f1973c7 Merge remote-tracking branch 'upstream/develop' into rust 2021-08-13 13:33:32 +02:00
Damir Jelić
f1da77fb6b crypto: Avoid converting numbers in to-device requests to floats
This mainly avoid converting the type field in m.olm.v1.curve25519-aes-sha2
variant of an m.room.encrypted event that gets sent out over to-device
messages.
2021-08-13 13:30:09 +02:00
Damir Jelić
00d1233512 crypto: Upload signatures when we confirm a verification as well 2021-08-13 13:30:09 +02:00
Damir Jelić
3365c10fe3 crypto: Add a missing dispatchTxUpdated call to the verifications 2021-08-13 13:30:09 +02:00
Damir Jelić
c85847df57 crypto: Add a Rust based CrossSigningService 2021-08-13 13:30:09 +02:00
Onuray Sahin
885a663380 Fix error when sending encrypted message if someone in the room logs out. 2021-08-06 15:23:24 +03:00
David Langley
8d7e3b6544 add keyword checkbox preference and chip/edit text for modificying keywords 2021-08-03 09:52:36 +01:00
Valere
efdaa49e70 Code review 2021-07-30 18:44:25 +02:00
Valere
a7dc7e8d8a klint 2021-07-30 18:44:14 +02:00
Valere
88fec379c4 Cleaning 2021-07-30 18:44:14 +02:00
Valere
5adceaca23 Code quality 2021-07-30 18:44:14 +02:00
Valere
2f16a7fff3 Restricted room mgmt when supported 2021-07-30 18:43:34 +02:00
Valere
6c2a917d9f WIP 2021-07-30 18:43:34 +02:00
Onuray Sahin
c6bd6e4961
Merge pull request #3598 from vector-im/feature/ons/voice_message
Voice Message
2021-07-30 17:24:17 +03:00
Benoit Marty
7cd90b0b14
Merge pull request #3760 from vector-im/feature/bma/otk1
2 small fixes
2021-07-30 12:55:57 +02:00
Florian Renaud
0a08746937 Set DirectMessagesContent immutable 2021-07-30 11:20:35 +02:00
Benoit Marty
57f3a2437e cleanup 2021-07-30 10:59:46 +02:00
Benoit Marty
54f707644c Migration to cleanup orphan TrustLevelEntities 2021-07-29 17:42:55 +02:00
Benoit Marty
b4e7f10019 Better algorithm to update user devices
Should fix the problem of too many TrustLevelEntity objects
2021-07-29 16:46:09 +02:00
Benoit Marty
5eb794f8af Small optimization 2021-07-29 15:39:03 +02:00
chagai95
426389194e
removing double the 2021-07-29 13:35:03 +02:00
Florian Renaud
ac56b1ef3e Update account data for invited users by email
When an user has been invited by email to a DM, account data entry was stuck on the user email after the user account creation.
When the user has joined element, an event m.room.member is triggered for each room attached to the user, containing a third party invite with the user matrix id. We use this event to update the user account with the matrix id.
2021-07-29 09:37:33 +02:00
cfriedlander
f45338be4c confirming to reviewed PR 2021-07-28 18:55:10 +02:00
Florian Renaud
6d47fdf3d3 Rename getLocalUserAccount to getLocalDirectMessages 2021-07-28 10:29:54 +02:00
Benoit Marty
4caf333769 Do not check the baseURL to override if it is the same than the one previously known and used 2021-07-27 09:59:01 +02:00
David Langley
9c139b3bd0 Merge branch 'develop' of github.com:vector-im/element-android into feature/dla/fix_account_notifications_discrepancies 2021-07-26 22:55:27 +01:00
cfriedlander
618ab6c862 the base domain permalinks don't have the mxid in the first param but in the second after /user/mxid 2021-07-26 14:25:31 +02:00
David Langley
5d092ce18a simplify getHighlight logic 2021-07-23 14:29:37 +01:00
Damir Jelić
e2006f9dc6 Merge remote-tracking branch 'upstream/develop' into rust-verification 2021-07-23 15:03:10 +02:00
Damir Jelić
c551b9e0bb crypto: Fill out the docs for the cross signing service 2021-07-23 14:06:03 +02:00
Damir Jelić
2fc691eed2 crypto: Add a method to request verification to the Device class 2021-07-23 11:54:58 +02:00
Benoit Marty
adabb31688 Changelog 2021-07-23 11:25:56 +02:00
Benoit Marty
0c211d7b1e
Merge pull request #3723 from vector-im/feature/fga/log_tags_voip
Feature/fga/log tags voip
2021-07-23 11:23:09 +02:00
ganfra
45a51d138e Voip log: clean after Benoit review 2021-07-23 09:50:09 +02:00
Benoit Marty
ed0143c240 Log errors 2021-07-22 16:20:16 +02:00
Benoit Marty
1d5ed46a49 Small cleanup 2021-07-22 16:01:01 +02:00
Benoit Marty
05988107a7 Ask the number of OTK if unknown from the sync. 2021-07-22 15:59:37 +02:00
ganfra
e356e71431 Merge branch 'develop' into feature/fga/log_tags_voip 2021-07-22 15:32:25 +02:00
Benoit Marty
7a7c292b3c Rename store API 2021-07-22 15:26:11 +02:00
Benoit Marty
be488ae75a Ensure OTK are uploaded when we upload the device keys
The sync response can omit the field device_one_time_keys_count.signed_curve25519 and the SDK was waiting to know this value to upload the OTK.
Now the SDK uploads the OTK when it uploads the device keys.
2021-07-22 15:24:05 +02:00
ganfra
79c8ef7ebf LoggerTag: try new thing and branch more on VOIP 2021-07-22 15:22:15 +02:00
Benoit Marty
19f9f5a6ee
Merge pull request #3715 from vector-im/feature/bma/initialState
Add initialState support to CreateRoomParams
2021-07-22 14:11:49 +02:00
Damir Jelić
52dd4bc454 crypto: Document the private methods of the rusty verification service 2021-07-22 13:31:42 +02:00
Benoit Marty
4bbf175187 Fix a crash which can happen when user signs out.
The crypto DB has been deleted, and the key download request is cancelled, but in the catch block we tried to write to the deleted DB
2021-07-22 12:48:13 +02:00
Damir Jelić
99ff097fc3 crypto: Move the update dispatching logic into a separate class 2021-07-22 12:10:39 +02:00
Damir Jelić
3993d2d4f2 crypto: Remove some redundant methods from the verification service 2021-07-22 11:25:29 +02:00
ganfra
115f00ff1a Start experiment on log tags 2021-07-22 10:12:46 +02:00
Benoit Marty
5d65c83a3d
Merge pull request #3712 from vector-im/feature/fga/missed_call_notification
Feature/fga/missed call notification
2021-07-22 09:46:40 +02:00
Benoit Marty
966a959e41 do not send empty invite list when creating a room 2021-07-21 20:56:08 +02:00
Benoit Marty
b862e5ccbf Add initialState support to CreateRoomParams (#3713) 2021-07-21 20:53:17 +02:00
ganfra
8955049110 Minor changes after benoits review 2021-07-21 17:35:08 +02:00
Damir Jelić
3fa9fc5b7b crypto: Use a background task to fetch user devices 2021-07-21 16:28:12 +02:00
Damir Jelić
cbed5be810 crypto: Move most of the getters of verification objecs into the olm machine 2021-07-21 16:25:28 +02:00
Damir Jelić
38ce3ebed7 crypto: Move the Device class into a separate file 2021-07-21 15:09:21 +02:00
Damir Jelić
8089e972a5 cyrpto: Document the SasVerification class 2021-07-21 14:58:12 +02:00
Benoit Marty
08ea3c0888 More useful comment 2021-07-21 14:40:07 +02:00
Benoit Marty
4ead39038c Code review 2021-07-21 14:09:16 +02:00
Benoit Marty
ab6e0767bb
Update matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/VerificationService.kt
Co-authored-by: poljar <poljar@termina.org.uk>
2021-07-21 14:05:51 +02:00
Benoit Marty
eded4eacd7
Update matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/SendGossipWorker.kt
Co-authored-by: poljar <poljar@termina.org.uk>
2021-07-21 13:59:40 +02:00
Benoit Marty
bf1ce17972
Update matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/SendGossipRequestWorker.kt
Co-authored-by: poljar <poljar@termina.org.uk>
2021-07-21 13:59:32 +02:00
Benoit Marty
bb617ffaa7
Update matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/CancelGossipRequestWorker.kt
Co-authored-by: poljar <poljar@termina.org.uk>
2021-07-21 13:59:19 +02:00
ganfra
5dda5a107a Missed call notif: make some cleanup and minor changes 2021-07-21 12:28:14 +02:00
Damir Jelić
93615ddba9 crypto: Add docs to the VerificationRequest class 2021-07-21 12:11:11 +02:00
Damir Jelić
b500364322 crypto: Expand the docs for the QrCodeVerification class a bit 2021-07-21 12:10:18 +02:00
Benoit Marty
a2180ec695 Create RequestIdHelper.createUniqueRequestId() for code clarity 2021-07-21 12:04:11 +02:00
Benoit Marty
0d408264e0 Bad copy paste 2021-07-21 11:46:11 +02:00
Benoit Marty
7513e972d1 Ensure the same txnId is reused if the Worker is started again. 2021-07-21 11:43:47 +02:00
Benoit Marty
49a44bd042 Do not change txnId it in case of retry, if not provided in the params
Also create txnId using UUID.randomUUID() instead of Random.nextInt(Integer.MAX_VALUE) for coherency
2021-07-21 11:37:15 +02:00
Damir Jelić
278bba3ada crypto: Don't use the transaction ID of the verification for the request
Verification flows have something called a transaction id. This is a
client-set custom ID that identifies the flow and is established by the
first message that gets sent out. This transaction ID needs to be kept the
same and be part of all events that are sent during the verification flow.

To-device requests have something called a transaction id. This is a
client-set custom ID that identifies a given request. It is used to
ensure idempotency of requests, i.e. retrying to send a request won't
result in two events being sent as long as the transaction id is kept
the same.

This patch removes usage of the first type of transaction ID for the
second use-case.

This closes: #3589.
2021-07-20 17:17:42 +02:00
Damir Jelić
93f36db43c crypto: Add proper scopes to our verification methods 2021-07-20 16:35:50 +02:00
Damir Jelić
2097f4e6c2 crypto: Document the verification methods in the OlmMachine 2021-07-20 16:34:47 +02:00
Damir Jelić
eae2a51a2d crypto: Refactor and document the QR code verification class 2021-07-20 14:30:34 +02:00
David Langley
608a1d3f8f clarify sdk update and cleanup typos 2021-07-20 11:24:17 +01:00
David Langley
da993b5b58 lint 2021-07-19 22:13:23 +01:00
David Langley
89ece22f73 Merge branch 'develop' of github.com:vector-im/element-android into feature/dla/fix_account_notifications_discrepancies 2021-07-19 22:08:34 +01:00
David Langley
a29ccda68e move mutable push rule logic to static declarations as on web 2021-07-19 21:29:46 +01:00
Benoit Marty
40907a71b6 Cleanup 2021-07-19 18:44:57 +02:00
Benoit Marty
a34d445215
Merge pull request #3699 from vector-im/feature/bma/part_dl
Complement for #3656
2021-07-19 18:09:33 +02:00
Benoit Marty
a2996ee042 Rename var 2021-07-19 16:32:02 +02:00
Damir Jelić
b33537fd6e crypto: Use the new CancelInfo struct 2021-07-19 14:21:11 +02:00
Benoit Marty
9f631768eb Avoid crash in debug app 2021-07-19 13:34:51 +02:00
Benoit Marty
2f6d2cfe09 Avoid crash in debug app 2021-07-19 13:31:09 +02:00
Benoit Marty
7643cc506d Remove part file(s) in case of failure
Will not always delete part files in case of crashes
2021-07-19 11:08:03 +02:00
Benoit Marty
9c1bec94c9 Create AtomicFileCreator class to avoid code copy/paste 2021-07-19 10:59:40 +02:00
Benoit Marty
2e64f89ec6
Merge pull request #3656 from SpiritCroc/broken_downloads
Avoid incomplete downloads in cache
2021-07-19 10:50:52 +02:00
Benoit Marty
343ea42ef5 Fix issue on Android 21 2021-07-15 17:30:48 +02:00
Paulo Pinto
5d4e71a011 Standardise casing of integration manager
Signed-off-by: Paulo Pinto <paulo.pinto@automattic.com>
2021-07-15 15:58:50 +01:00
Paulo Pinto
d39e14cc5c Standardise casing of homeserver
Signed-off-by: Paulo Pinto <paulo.pinto@automattic.com>
2021-07-15 15:58:50 +01:00
Paulo Pinto
74104d7d84 Standardise casing of identity server
Signed-off-by: Paulo Pinto <paulo.pinto@automattic.com>
2021-07-15 15:58:50 +01:00
Paulo Pinto
e61c8c28bb Standardise spelling and casing of homeserver
Signed-off-by: Paulo Pinto <paulo.pinto@automattic.com>
2021-07-15 15:58:50 +01:00
Benoit Marty
bb742eb483 Handle record/play error 2021-07-15 15:06:38 +02:00
Benoit Marty
0cf10b2f84 Fix issue with waveform rendering 2021-07-13 18:48:59 +02:00
Benoit Marty
df795d1881 Cleanup 2021-07-13 18:17:11 +02:00
Benoit Marty
6a0ea11e7a Follow the spec regarding waveform content 2021-07-13 17:58:14 +02:00
Benoit Marty
9df874c975 Merge branch 'develop' into feature/ons/voice_message 2021-07-13 10:36:05 +02:00
TheWayOfTheWarrior
995f9d87bb
Typo in InitializeCrossSigningTask.kt
Typo in comment. Was "userSigningKey" instead of "selfSigningKey".
2021-07-10 22:17:17 +02:00
Damir Jelić
7650e43362 crypto: Add support to scan QR codes during verification 2021-07-10 20:51:47 +02:00
SpiritCroc
4ef1f5c90f Avoid incomplete downloads in cache
Previously, when a download was aborted (e.g. due to a bad internet
connection), a partly downloaded file was remaining in cache, which
would then be delivered upon later requests.
This can lead e.g. to chats where images aren't loading.

To avoid this, first download files to a temporary file that is not the
final cache file, and only rename/move it on finish.

Note that if you already have broken downloads, you still need to clear
cache once to get rid of them after this commit, but it should not
occur anymore afterwards.
2021-07-10 11:12:15 +02:00
Benoit Marty
e391a1371c Merge branch 'develop' into feature/ons/voice_message 2021-07-09 22:19:50 +02:00
Benoit Marty
db80ea6432 Prefer testing attachment.waveform to see if it's a voice message 2021-07-09 22:17:04 +02:00
Benoit Marty
984112e83f Also copy waveform when sending again 2021-07-09 22:15:50 +02:00
Benoit Marty
963eb9daf4 Fix missing duration in audio event, and move AudioWaveformInfo to the proper package 2021-07-09 22:06:09 +02:00
Benoit Marty
2ca0a99dce Follow the spec
https://github.com/matrix-org/matrix-doc/blob/travis/msc/voice-messages/proposals/3245-voice-messages.md#unstable-prefix
2021-07-09 21:49:37 +02:00
Benoit Marty
b26aba9fc0 Remove EventDecryptor and inject the cryptoService when needed
Not used anymore in RoomSummaryUpdater, to avoid a DI dependency loop. let's see if this is a problem
2021-07-09 12:50:34 +02:00
Benoit Marty
f609bfaf10 This class is not injected. 2021-07-08 18:39:54 +02:00
Benoit Marty
f8ad024f1b Remove some dead code. 2021-07-08 18:38:49 +02:00
Benoit Marty
54c3b4192e Small cleanup and format 2021-07-08 17:14:45 +02:00
Damir Jelić
d4090c4b0a crypto: Only add our own devices if we're requesting devices for our own user 2021-07-08 16:52:31 +02:00
Damir Jelić
33c2184c52 crypto: Allow verifications to be requested 2021-07-08 12:49:44 +02:00
Benoit Marty
2948f03978
Merge pull request #3551 from vector-im/feature/bca/room_upgrade
Feature/bca/room upgrade
2021-07-08 10:00:01 +02:00
Onuray Sahin
b1c7cb3219 Lint fixes. 2021-07-07 11:37:01 +03:00
Onuray Sahin
7a1b138894 Merge branch 'develop' into feature/ons/voice_message
* develop: (286 commits)
  Fix crash after video call
  Fix issue on button styles
  Clean after benoits review
  Fix warning about implicit type, introduced in Kotlin 1.5.20. "Returning type parameter has been inferred to Nothing implicitly. Please specify type arguments explicitly to hide this warning. Nothing can produce an exception at runtime."
  Bump kotlin_version from 1.5.10 to 1.5.20
  Bump libphonenumber from 8.12.25 to 8.12.26
  Fix call invite processed after call is ended because of fastlane mode.
  Jump to unread: removes unnecessary check which can cause scroll issue
  Jump to unread: avoid blink when jumping
  Clean after Benoits review
  Delete unused drawable to avoid conflict on develop
  Jump to unread: add towncrier file.
  Read marker: fix some issues with jump to unread visibility.
  Stop using ProgressDialog, there is a theme issue with it. It's not maintain by Google since it's deprecated. Force usage of MaterialAlertDialogBuilder to have the same UI effect. We sometimes need to block the UI :/
  Reordering
  Add text style for dialogs
  Colored dialog button is now handled by the theme
  Update theme for material dialog and create a destructive variant
  Reorder buttons
  Update doc
  ...

# Conflicts:
#	library/ui-styles/src/main/res/values/theme_dark.xml
#	library/ui-styles/src/main/res/values/theme_light.xml
#	vector/build.gradle
#	vector/src/main/java/im/vector/app/features/home/room/detail/RoomDetailFragment.kt
#	vector/src/main/java/im/vector/app/features/home/room/detail/RoomDetailViewModel.kt
#	vector/src/main/java/im/vector/app/features/home/room/detail/composer/TextComposerView.kt
#	vector/src/main/res/values/strings.xml
2021-07-06 13:17:49 +03:00
Benoit Marty
ca45cdd5c7
Merge pull request #3585 from vector-im/feature/bma/wellknown
Improve wellknown usage
2021-07-05 21:36:16 +02:00
Benoit Marty
d29e04f16c Create fun String.getDomain(): String to avoid duplicated code 2021-07-05 16:49:09 +02:00
Benoit Marty
67f41028ff Remove Riot ref: Riot -> Web client 2021-07-05 16:41:26 +02:00
Benoit Marty
edbf70c820
Merge pull request #3273 from vector-im/feature/bma/cleanup_redundant_fields
Cleanup redundant fields - TO BE MERGED ON JULY 1st
2021-07-05 16:16:33 +02:00
Benoit Marty
b285bd0359 Merge branch 'develop' into feature/bca/room_upgrade 2021-07-05 16:01:27 +02:00
Benoit Marty
2513be744c CryptoStore migration has to be object to avoid crash
Thread: main, Exception: java.lang.IllegalArgumentException: Configurations cannot be different if used to open the same file. The most likely cause is that equals() and hashCode() are not overridden in the migration class: org.matrix.android.sdk.internal.database.RealmSessionStoreMigration
2021-07-02 17:29:44 +02:00
Benoit Marty
7dc5d8490f
Merge pull request #3584 from vector-im/feature/bca/fix_oom_spacechild
Fix / dm flattenParents always growing
2021-07-02 09:35:51 +02:00
Valere
adcd1a64df empty migration to fix big flattenParentIds for DM 2021-07-01 15:28:26 +02:00
Benoit Marty
ef31aad42c Fix copyright 2021-07-01 14:47:04 +02:00
Damir Jelić
d24c94d0f9 crypto: Allow the direct start of the short SAS flow 2021-07-01 13:15:26 +02:00
Benoit Marty
ed7be13ea3 PR review part 2 2021-07-01 12:51:33 +02:00
Onuray Sahin
9d48b399df Voice message playback implementation. 2021-07-01 10:49:04 +03:00