Commit Graph

4207 Commits

Author SHA1 Message Date
ariskotsomitopoulos 5723465106 Fix local notification badge number 2021-12-17 01:23:09 +02:00
ariskotsomitopoulos a60f6e996a Enhance thread awareness to support stickers 2021-12-17 00:46:47 +02:00
ariskotsomitopoulos a187e0ec33 Enhance thread awareness to recognise the type of messages that are not able to be send as a reply such as images, videos, audios, stickers 2021-12-16 22:03:42 +02:00
ariskotsomitopoulos 638d56c707 Fix update from develop/prod to threads 2021-12-16 17:10:29 +02:00
David Langley e7bb030d52 full markdown should work in replies, was hardcoded to simple irrespective of prefrence. 2021-12-16 14:10:49 +00:00
David Langley bc6ca2449e Add advanced parser annotation 2021-12-16 13:13:40 +00:00
David Langley a3a8a5b0b5 Extract reply formatting 2021-12-16 12:47:06 +00:00
ariskotsomitopoulos 3acdccb339 Disable polls from within threads but allow users to vote if the poll is a root thread message 2021-12-15 16:31:58 +02:00
ariskotsomitopoulos 20357ce5c4 - Fix remaining conflicts with develop
- Disable thread awareness when threads are enabled
2021-12-15 14:38:08 +02:00
David Langley 13dc2d5b76 Fix documentation. 2021-12-15 10:03:14 +00:00
David Langley bef238f851 Add simple parser for use with just quotes/replies 2021-12-14 20:40:44 +00:00
ariskotsomitopoulos cd95fc41e4 Merge branch 'develop' into feature/aris/threads
# Conflicts:
#	library/ui-styles/src/main/res/values/dimens.xml
#	matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/events/model/RelationType.kt
#	matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmSessionStoreMigration.kt
#	matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/EventEntity.kt
#	matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/LocalEchoEventFactory.kt
#	vector/src/main/java/im/vector/app/core/di/FragmentModule.kt
#	vector/src/main/java/im/vector/app/core/di/ScreenComponent.kt
#	vector/src/main/java/im/vector/app/features/command/Command.kt
#	vector/src/main/java/im/vector/app/features/home/room/detail/RoomDetailActivity.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/TimelineFragment.kt
#	vector/src/main/java/im/vector/app/features/home/room/detail/composer/MessageComposerViewEvents.kt
#	vector/src/main/java/im/vector/app/features/home/room/detail/composer/MessageComposerViewModel.kt
#	vector/src/main/java/im/vector/app/features/home/room/detail/composer/MessageComposerViewState.kt
#	vector/src/main/java/im/vector/app/features/home/room/detail/timeline/action/MessageActionsViewModel.kt
#	vector/src/main/java/im/vector/app/features/home/room/detail/timeline/factory/MessageItemFactory.kt
#	vector/src/main/java/im/vector/app/features/navigation/DefaultNavigator.kt
#	vector/src/main/java/im/vector/app/features/navigation/Navigator.kt
#	vector/src/main/java/im/vector/app/features/notifications/NotificationUtils.kt
#	vector/src/main/java/im/vector/app/features/permalink/PermalinkHandler.kt
#	vector/src/main/res/layout/fragment_room_detail.xml
2021-12-14 20:18:54 +02:00
David Langley 96062b7daa Enable on replies and quotes even if preference is disabled to fix newline issues. 2021-12-14 17:10:54 +00:00
ariskotsomitopoulos 6a33c41091 Fix stickers in unencrypted rooms 2021-12-14 17:45:07 +02:00
ariskotsomitopoulos 2aa24f0a0d Fix threads sort order, newest first 2021-12-14 16:30:59 +02:00
David Langley 20b5742227 Merge branch 'develop' of github.com:vector-im/element-android into feature/dla/fix_reply_and_quote_newlines 2021-12-14 13:46:45 +00:00
Benoit Marty fa65cc59fe Version++ 2021-12-14 14:46:08 +01:00
ariskotsomitopoulos 5ceed4096e Fix threads sort order, newest first 2021-12-14 15:44:38 +02:00
ariskotsomitopoulos d56281dca7 - Enhance local notification to work with read receipt & the latest chunk
- Local notification mentioning system
- Fix/Improve thread list filtering
2021-12-14 13:35:08 +02:00
Benoit Marty fa060051ed
Merge pull request #3970 from vector-im/feature/ons/fallback_keys
Fallback keys implementation
2021-12-13 23:36:20 +01:00
Onuray Sahin f028f9836b Merge branch 'develop' into feature/ons/poll_timeline
* develop: (49 commits)
  Update changelog.d/4592.bugfix
  Remove jcenter from here, let's see what the CI will say
  Common struct for each maven repo
  Rename the file to group them
  Add changelog file
  Revert PR 4592 for devtools
  Enhance include groups implementation by decoupling them to a separate file
  Cleanup
  Legals: improve API to get homeserver terms
  Legals: update setting icon
  Auto-review
  Add a help section in the settings.
  Changelog
  Color for links
  Use same height than the loading item to avoid dynamic resizing
  Legals: only display external URLs.
  Legals: Move the 2 copyrights items to the new legal screen
  Add some space between the 2 TextViews, and improve the layout
  Legals: Move the 3 element links to the new legal screen
  Rename some classes
  ...

# Conflicts:
#	vector/src/main/res/layout/item_timeline_event_option_buttons_stub.xml
#	vector/src/main/res/layout/item_timeline_event_poll_stub.xml
2021-12-13 17:44:21 +03:00
Valere 76960f8b67
Update matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/OneTimeKeysUploader.kt
Co-authored-by: poljar <poljar@termina.org.uk>
2021-12-10 16:12:14 +01:00
Valere 38a8e8b003
Update matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/OneTimeKeysUploader.kt
Co-authored-by: poljar <poljar@termina.org.uk>
2021-12-10 16:11:58 +01:00
Onuray Sahin 9b2a3cf445 Code review fixes. 2021-12-10 17:57:57 +03:00
Benoit Marty bf7907a119 Legals: improve API to get homeserver terms 2021-12-10 15:35:46 +01:00
Benoit Marty 411fd31d4c Legals: Trick to get the homeserver policy 2021-12-10 15:34:25 +01:00
ariskotsomitopoulos 57ef0b59ab Disable local echo for normal messages while there is a duplication 2021-12-09 20:29:13 +02:00
ariskotsomitopoulos b1d4031a76 Add/Fix local echo to threads timeline 2021-12-09 16:33:11 +02:00
Onuray Sahin be9e592aa5 Do not allow to vote the same option twice. 2021-12-09 16:08:59 +03:00
Onuray Sahin b2e599ea2b Merge branch 'develop' into feature/ons/poll_timeline
* develop: (21 commits)
  Remove automation for new Delight board
  Remove automation for old Delight board
  Bump gradle from 7.0.3 to 7.0.4
  Bump realm-gradle-plugin from 10.8.1 to 10.9.0
  Bump libphonenumber from 8.12.38 to 8.12.39
  Bump mavericks from 2.4.0 to 2.5.0
  removing no longer possible branches
  adding a consistent padding to allow message types to avoid touching the side gutter
  Upgrade OLM to v3.2.7 and get it from our maven repository.
  removing manual send status spacing - it's no longer needed as the send status is always present (but invisible)
  removing manual end alignment for voice messages as send status gutter is now always present
  forcing the send spacing to always be taking into account - ensures all message lengths are consistent
  capping the preview image url based on the height - stops large screens eg tablets from attempting to fill the screen
  matching iOS max line rules for the preview description
  using themed colours for the close button
  limiting title to avoid overlapping with close icon
  flattening preview url view layout with custom view to reduce view hierarchy
  adding changelog entry
  updating url preview to match new designs
  removing now longer needed Mode argument
  ...

# Conflicts:
#	vector/src/main/res/layout/item_timeline_event_base.xml
2021-12-09 15:38:15 +03:00
Onuray Sahin 04a7590804 Code review fixes. 2021-12-09 15:09:12 +03:00
ganfra 1280687640 Merge branch 'develop' into feature/fga/timeline_chunks_rework 2021-12-09 12:36:59 +01:00
ganfra bf287d1827 Timeline: clean up 2021-12-09 12:35:23 +01:00
ganfra 1e2e9e1070 Timeline: change a bit when postPagination is triggered 2021-12-09 12:26:40 +01:00
dependabot[bot] f675dcdefd
Bump realm-gradle-plugin from 10.8.1 to 10.9.0
Bumps [realm-gradle-plugin](https://github.com/realm/realm-java) from 10.8.1 to 10.9.0.
- [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.1...v10.9.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-08 23:06:34 +00:00
Valere a026137381 code review 2021-12-08 15:47:06 +01:00
Valere 01b8b7d57a Code review 2021-12-08 14:17:08 +01:00
ganfra b53433e61b Timeline: some clean up 2021-12-08 11:07:07 +01:00
ganfra bf1be4f20d Merge branch 'develop' into feature/fga/timeline_chunks_rework 2021-12-08 10:38:42 +01:00
dependabot[bot] d2969766ca
Bump libphonenumber from 8.12.38 to 8.12.39
Bumps [libphonenumber](https://github.com/google/libphonenumber) from 8.12.38 to 8.12.39.
- [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.38...v8.12.39)

---
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-12-08 00:42:33 +00:00
ganfra 29a4fd1e41 Timeline: make 3 integration tests passing (also add some suspend method on the timeline) 2021-12-07 21:13:41 +01:00
Valere 5d35f02abb Support using unpublished fallback key instead of generating
And forgetFallback after 5mn
2021-12-07 19:56:14 +01:00
Valere f843dddc3a Cleaning 2021-12-07 19:05:36 +01:00
Valere 10671a53a4 Quick refactor to use same mechanism as updateOneTimeKeyCount 2021-12-07 19:05:36 +01:00
Onuray Sahin c603135398 Code review fixes. 2021-12-07 19:05:36 +01:00
Benoit Marty 4ac90f10c1 Fallback keys implementation.
Author: Onuray - Benoit squashes the 4 commit to cancel the addition on binaries
2021-12-07 19:05:36 +01:00
Onuray Sahin 953fadeed4 Merge branch 'develop' into feature/ons/poll_timeline
* develop: (319 commits)
  Bump dagger from 2.40.4 to 2.40.5
  More debouncing
  Changelog
  I need the view here
  clicks() already has debouncing with conflate(), so throttleFirst is not necessary
  Use debouncedClicks where applicable
  Use `observeViewEvents` facility
  private
  use != rather that is
  Fix waring for state is not dialing or connected
  state can also be connected
  Add script to compress video and convert to gif file
  removing boolean notification version usage
  adding changelog entry
  removing unused imports and increasing enum allowance
  porting the notifications setting version to the vector features
  Add warning if unexpected state.
  setting login version via typed build config field instead of resources
  separating the SSO redirection from the login activities - adds a dedicated routing activity to proxy the uri to the login selected by the feature flags
  Removing trailing space
  ...

# Conflicts:
#	vector/src/main/java/im/vector/app/features/home/room/detail/RoomDetailAction.kt
#	vector/src/main/java/im/vector/app/features/home/room/detail/timeline/format/DisplayableEventFormatter.kt
#	vector/src/main/res/layout/item_timeline_event_option_buttons_stub.xml
#	vector/src/main/res/xml/vector_settings_labs.xml
2021-12-07 18:50:52 +03:00
Benoit Marty 892d70812f Upgrade OLM to v3.2.7 and get it from our maven repository. 2021-12-07 14:50:25 +01:00
Onuray Sahin 75b544a110 Support push notification for poll creation event. 2021-12-07 12:53:35 +03:00
Benoit Marty f1d8b9e974
Merge pull request #4637 from vector-im/feature/dla/outgoing_pstn_call_fails
Feature/dla/outgoing pstn call fails
2021-12-06 21:37:11 +01:00
David Langley 747030b578 use != rather that is 2021-12-06 14:37:36 +00:00
David Langley 03be698a7e Fix waring for state is not dialing or connected 2021-12-06 13:46:56 +00:00
David Langley a6d6fd7b3b state can also be connected 2021-12-06 13:05:37 +00:00
ariskotsomitopoulos c40a686cff Implement LOCAL thread notifications that work only on real time. 2021-12-03 18:15:25 +00:00
ganfra 49eee0dc38 Merge branch 'develop' into feature/fga/timeline_chunks_rework 2021-12-03 18:39:18 +01:00
ganfra 3217277bc4 Timeline: check for create event to hide loader 2021-12-03 18:39:04 +01:00
Benoit Marty e60d053f84
Merge pull request #4568 from vector-im/feature/fga/fix_sdk_integration_tests
Feature/fga/fix sdk integration tests
2021-12-03 17:11:33 +01:00
David Langley 767ead019a Add warning if unexpected state. 2021-12-03 15:13:06 +00:00
Onuray Sahin 23ad4e5a27 Remove legacy implementation classes. 2021-12-03 16:19:19 +03:00
Benoit Marty cd7345aa6b
Removing trailing space 2021-12-03 13:54:05 +01:00
ganfra 8ca60eadbb Merge branch 'develop' into feature/fga/timeline_chunks_rework 2021-12-03 12:55:57 +01:00
ganfra 667bf1a848 Tests: fix internal TestMatrix 2021-12-03 12:55:32 +01:00
David Langley de7180ef7e And remove braces 2021-12-03 11:30:28 +00:00
David Langley 0cf50e88e9 Keep guard pattern 2021-12-03 11:28:49 +00:00
David Langley bf8b485e2c lint 2021-12-03 11:24:40 +00:00
ganfra 014da84ba6 Timeline: try to optimise a bit the loading 2021-12-03 12:14:35 +01:00
Onuray Sahin c62028df68 Implement poll actions bottom sheet. 2021-12-03 11:41:21 +03:00
Onuray Sahin 2a3a55894f Aggregate votes and poll end event. 2021-12-03 11:23:47 +03:00
Onuray Sahin a3b11b223a Allow removing poll event. 2021-12-03 11:21:52 +03:00
Onuray Sahin 7c269309c2 Allow sending vote and ending poll. 2021-12-03 11:21:21 +03:00
Onuray Sahin ebc131f492 Implement new poll content. 2021-12-03 11:18:16 +03:00
ganfra 76eddef840 Timeline: avoid notifying when decryption error is same as previous 2021-12-02 20:42:54 +01:00
ganfra 03961fe933 Timeline: update when loading states changed 2021-12-02 20:42:29 +01:00
David Langley f3b3c880d0 select answer should be used for outgoing calls. 2021-12-02 18:35:51 +00:00
dependabot[bot] 6b7f9cb688
Bump robolectric from 4.7.2 to 4.7.3
Bumps [robolectric](https://github.com/robolectric/robolectric) from 4.7.2 to 4.7.3.
- [Release notes](https://github.com/robolectric/robolectric/releases)
- [Commits](https://github.com/robolectric/robolectric/compare/robolectric-4.7.2...robolectric-4.7.3)

---
updated-dependencies:
- dependency-name: org.robolectric:robolectric
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-01 23:07:55 +00:00
Benoit Marty f80069604c Version++ 2021-12-01 17:03:00 +01:00
ganfra f0ecfbbab2 Tests: TestMatrix should only be used internally by sdk tests 2021-11-30 17:22:50 +01:00
ganfra 3d31ba963d Merge branch 'develop' into feature/fga/timeline_chunks_rework 2021-11-30 16:58:55 +01:00
ganfra 51f46d199f Tests: clean after review 2021-11-30 14:15:18 +01:00
Adam Brown cdb5376a19 Adding support for voice drafts
- introduces a new Voice draft and sender mode type
- initializes the voice recorder with a previously recorded file (the draft)
- renames RecordingUiStates to map to their actual UI states
2021-11-30 10:22:25 +00:00
ganfra 30fe564a2c Throw clear error when MatrixWorkerFactory is not set up on worker configuration 2021-11-29 19:26:55 +01:00
ganfra cfaa7268a8 Tests: clean up a bit 2021-11-26 18:17:28 +01:00
ganfra ccdeeeab4c Tests: fix timeline tests + some small others 2021-11-26 18:16:27 +01:00
dependabot[bot] 8a8fa066f9
Bump libphonenumber from 8.12.37 to 8.12.38
Bumps [libphonenumber](https://github.com/google/libphonenumber) from 8.12.37 to 8.12.38.
- [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.37...v8.12.38)

---
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-11-25 23:06:20 +00:00
ariskotsomitopoulos c4967a2871 Handle chunks merging with thread summary
Add animation to fragment transition with offset for recyclerview initialization
Support threads on deleted events
2021-11-25 17:59:28 +02:00
ganfra 1d9da6c7d3 Tests: do some clean-up and fix bunch of them 2021-11-25 12:46:16 +01:00
ariskotsomitopoulos afc69c77bd Add local filtering in thread list 2021-11-24 18:23:33 +02:00
Benoit Marty 32441eb81b
Merge pull request #4553 from vector-im/feature/adm/stricter-voice-file-deletion
Unable to upload .ogg to rooms
2021-11-24 13:55:31 +01:00
Adam Brown 31bd4fd2d0 avoiding inferred voice type check via waveform in favour of using the attachment type 2021-11-24 11:38:28 +00:00
Adam Brown 5ee379e10d including a new voice message attachment type
- allows for us to explictly delete voice message after uploading rather than inferring that audio message with the .ogg extension are voice messages which could have caused us to delete users files
2021-11-24 10:21:12 +00:00
Benoit Marty bd423db98a
Merge pull request #4548 from vector-im/feature/adm/sealed-class-cleanup
Voice related sealed class cleanup
2021-11-24 11:10:10 +01:00
Adam Brown 70d25653c8 removing unused base property from the sealed classes and switching to interfaces 2021-11-23 18:21:42 +00:00
Adam Brown d1102f7be4 fixing wrong cased data class names 2021-11-23 18:19:33 +00:00
Adam Brown bdf9402685 only deleting voice files if they were successfully uploading
- fixes flaky networks losing the voice file and being unable to retry
2021-11-23 17:45:10 +00:00
Benoit Marty c72dd5eec6
Merge pull request #4507 from vector-im/feature/bca/crypto_better_logs
Improve crypto log to debug UISI
2021-11-23 15:35:28 +01:00
Valere 31eeb0674b cleaning 2021-11-23 13:38:45 +01:00
ariskotsomitopoulos 722f367690 View all threads screen implementation & UI
Add user friendly message thread summary on the SDK side
Fix not encrypted rooms thread summaries
2021-11-23 13:34:24 +02:00
Valere 77454c8ae9 code review 2021-11-23 11:58:01 +01:00
Benoit Marty 61faf71751
Merge pull request #4543 from vector-im/dependabot/gradle/com.squareup.okhttp3-okhttp-bom-4.9.3
Bump okhttp-bom from 4.9.2 to 4.9.3
2021-11-23 10:05:21 +01:00
dependabot[bot] 6a7bc5cef8
Bump okhttp-bom from 4.9.2 to 4.9.3
Bumps [okhttp-bom](https://github.com/square/okhttp) from 4.9.2 to 4.9.3.
- [Release notes](https://github.com/square/okhttp/releases)
- [Changelog](https://github.com/square/okhttp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/square/okhttp/compare/parent-4.9.2...parent-4.9.3)

---
updated-dependencies:
- dependency-name: com.squareup.okhttp3:okhttp-bom
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-22 23:10:17 +00:00
dependabot[bot] d4db706c06
Bump robolectric from 4.7.1 to 4.7.2
Bumps [robolectric](https://github.com/robolectric/robolectric) from 4.7.1 to 4.7.2.
- [Release notes](https://github.com/robolectric/robolectric/releases)
- [Commits](https://github.com/robolectric/robolectric/compare/robolectric-4.7.1...robolectric-4.7.2)

---
updated-dependencies:
- dependency-name: org.robolectric:robolectric
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-22 23:09:42 +00:00
David Langley 2b3de840f1 Force markdown parse on replies and update quote to use markdown parser. 2021-11-22 17:02:12 +00:00
ganfra 69720ffdd3 Android tests: introduce TestBackgroundDetectionObserver so sync is not cancelled while testing + fix small warnings 2021-11-19 17:18:39 +01:00
ganfra 67975e0c83 Matrix: introduce MatrixWorkerFactory to remove internal usage of Matrix.getInstance 2021-11-19 17:15:39 +01:00
dependabot[bot] 6efe9b82f4
Bump robolectric from 4.7 to 4.7.1
Bumps [robolectric](https://github.com/robolectric/robolectric) from 4.7 to 4.7.1.
- [Release notes](https://github.com/robolectric/robolectric/releases)
- [Commits](https://github.com/robolectric/robolectric/compare/robolectric-4.7...robolectric-4.7.1)

---
updated-dependencies:
- dependency-name: org.robolectric:robolectric
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-18 23:07:04 +00:00
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
Benoit Marty a8f6efd5e8 Version++ 2021-11-17 16:07:07 +01:00
ariskotsomitopoulos 9972dbc278 Use RealmConfiguration instead of Monarchy 2021-11-17 16:54:03 +02: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
ariskotsomitopoulos d463500998 Remove unused import 2021-11-17 14:48:10 +02: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 fb8b720a3b Add comment to run on Android 12 2021-11-15 12:25:42 +01:00
Benoit Marty 0a9845af30 @OnLifecycleEvent is deprecated, use DefaultLifecycleObserver instead 2021-11-15 12:24:48 +01:00
Benoit Marty 9429b039de androidx.lifecycle:lifecycle-common-java8 -> androidx.lifecycle:lifecycle-common
https://developer.android.com/jetpack/androidx/releases/lifecycle#2.4.0
2021-11-15 12:24:48 +01:00
Benoit Marty a1630b5546 androidx.lifecycle:lifecycle-extensions is deprecated
See https://developer.android.com/jetpack/androidx/releases/lifecycle#declaring_dependencies
2021-11-15 12:24:48 +01:00
dependabot[bot] 3b469921a6
Bump robolectric from 4.6.1 to 4.7
Bumps [robolectric](https://github.com/robolectric/robolectric) from 4.6.1 to 4.7.
- [Release notes](https://github.com/robolectric/robolectric/releases)
- [Commits](https://github.com/robolectric/robolectric/compare/robolectric-4.6.1...robolectric-4.7)

---
updated-dependencies:
- dependency-name: org.robolectric:robolectric
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-15 10:03:30 +00:00
Benoit Marty afe05eddc2
Merge pull request #4456 from vector-im/dependabot/gradle/com.googlecode.libphonenumber-libphonenumber-8.12.37
Bump libphonenumber from 8.12.36 to 8.12.37
2021-11-15 11:02:07 +01:00
dependabot[bot] ad48223273
Bump libphonenumber from 8.12.36 to 8.12.37
Bumps [libphonenumber](https://github.com/google/libphonenumber) from 8.12.36 to 8.12.37.
- [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.36...v8.12.37)

---
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-11-11 23:08:34 +00: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
Benoit Marty be932a8a03
Merge pull request #4373 from vector-im/dependabot/gradle/io.realm-realm-gradle-plugin-10.8.1
Bump realm-gradle-plugin from 10.8.0 to 10.8.1
2021-11-05 16:00:02 +01:00
Benoit Marty bcffbbefd7 Version++ 2021-11-04 18:42:52 +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
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
ariskotsomitopoulos d1f3e3f958 Thread awareness, map threads events to replies 2021-10-26 18:59:01 +03: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
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
Benoit Marty 79d56319b7 Version++ 2021-10-25 12:40:24 +02:00
ariskotsomitopoulos ab87937e5b Threads init commit 2021-10-20 18:39:59 +03: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
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