Commit graph

3991 commits

Author SHA1 Message Date
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
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
dependabot[bot]
8453255ee0
Bump realm-gradle-plugin from 10.8.0 to 10.8.1
Bumps [realm-gradle-plugin](https://github.com/realm/realm-java) from 10.8.0 to 10.8.1.
- [Release notes](https://github.com/realm/realm-java/releases)
- [Changelog](https://github.com/realm/realm-java/blob/master/CHANGELOG.md)
- [Commits](https://github.com/realm/realm-java/compare/v10.8.0...v10.8.1)

---
updated-dependencies:
- dependency-name: io.realm:realm-gradle-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-29 23:07:52 +00: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
dependabot[bot]
82b3d17db6
Bump libphonenumber from 8.12.35 to 8.12.36
Bumps [libphonenumber](https://github.com/google/libphonenumber) from 8.12.35 to 8.12.36.
- [Release notes](https://github.com/google/libphonenumber/releases)
- [Changelog](https://github.com/google/libphonenumber/blob/master/making-metadata-changes.md)
- [Commits](https://github.com/google/libphonenumber/compare/v8.12.35...v8.12.36)

---
updated-dependencies:
- dependency-name: com.googlecode.libphonenumber:libphonenumber
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-26 23:08:52 +00: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
1d8a4a923a
Merge pull request #4344 from vector-im/feature/bma/device_id_param
Add optional deviceId to the login API
2021-10-26 19:24:09 +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
Benoit Marty
01a29f67d0 Version++ 2021-10-26 17:33:23 +02:00
Benoit Marty
0236396c59 Add optional deviceId to the login API 2021-10-26 15:10:04 +02: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
Benoit Marty
79d56319b7 Version++ 2021-10-25 12:40:24 +02:00
Benoit Marty
7c9c4ecf5f Version++ 2021-10-20 10:49:40 +02:00
Benoit Marty
85983562fa No need to add explicit dependencies on stdlib, this is added by the gradle plugin since 1.4
https://kotlinlang.org/docs/whatsnew14.html#dependency-on-the-standard-library-added-by-default
2021-10-19 19:06:27 +02: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
dependabot[bot]
7be7d50575
Bump libphonenumber from 8.12.34 to 8.12.35
Bumps [libphonenumber](https://github.com/google/libphonenumber) from 8.12.34 to 8.12.35.
- [Release notes](https://github.com/google/libphonenumber/releases)
- [Changelog](https://github.com/google/libphonenumber/blob/master/making-metadata-changes.md)
- [Commits](https://github.com/google/libphonenumber/compare/v8.12.34...v8.12.35)

---
updated-dependencies:
- dependency-name: com.googlecode.libphonenumber:libphonenumber
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-12 23:10:59 +00: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
Benoit Marty
e3034e5d11
Merge pull request #4190 from vector-im/feature/fga/mavericks_2
Feature/fga/mavericks 2
2021-10-12 14:11:00 +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
13f8494072 grouping with other test deps and commenting the reason for rxKotlin dependency 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
ced85964da including rx java dependency for the sdk tests because real (monarchy) tranisitive depends on rx but doesn't propagate it as an API dependency
- without an explicit declaration we can't mock the realm instance
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
Benoit Marty
343783f807 Version++ 2021-10-11 12:06:51 +02:00
yostyle
cbcb620ad1 Limit supported cipher suites 2021-10-08 18:16:27 +02:00
Benoit Marty
3a387c5e32 version++ 2021-10-08 16:36:48 +02:00
dependabot[bot]
c55598a099
Bump libphonenumber from 8.12.33 to 8.12.34
Bumps [libphonenumber](https://github.com/google/libphonenumber) from 8.12.33 to 8.12.34.
- [Release notes](https://github.com/google/libphonenumber/releases)
- [Changelog](https://github.com/google/libphonenumber/blob/master/making-metadata-changes.md)
- [Commits](https://github.com/google/libphonenumber/compare/v8.12.33...v8.12.34)

---
updated-dependencies:
- dependency-name: com.googlecode.libphonenumber:libphonenumber
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-06 23:07:32 +00: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