Commit Graph

386 Commits

Author SHA1 Message Date
Stefan Ceriu 269fd3d1f6 Switch entirely to dynamic room list entries (normalizedMatchRoomName brings the same behavior as the old implementation) and cleanup 2023-08-22 11:12:41 +03:00
Stefan Ceriu e1d41ad8a3 Rename fuzzy search feature flag to dynamic entries, use the new normalizedMatchRoomName filter and make sure we use the old roomList.entries api when the feature flag is disabled 2023-08-21 17:22:18 +03:00
Stefan Ceriu ff074e3fae Revert "Remove fuzzy searching entirely because of performance issues"
This reverts commit e86f65ad2d.
2023-08-21 17:22:18 +03:00
Stefan Ceriu e86f65ad2d Remove fuzzy searching entirely because of performance issues 2023-08-18 16:17:47 +03:00
Mauro Romito d6b3a000f0 removed filter by push rules ff 2023-08-17 11:37:25 +02:00
Doug c64fb44c96 Use Compound ListRow instead of Compound form styles. (#1484)
* Adopt ListRow Component.

* Update snapshots.

To check in future PR:
- Pseudo Bug Report Attach Screenshot label
- Bug Report screenshot padding (Use ListRow .custom?)
- De-bold Analytics & Notification Settings footer links
- Inline picker alignment perhaps?

* Changelog

* Update Compound.

* Use the label on the login screen.
2023-08-16 16:08:30 +01:00
Doug b2928a0dc6 Enable fuzzy search behind a feature flag. (#1490) 2023-08-14 16:41:41 +00:00
Nicolas Mauri 9a52b968f1 Edit the default notification settings (#1468) 2023-08-11 17:10:23 +03:00
Nicolas Mauri f64159670b Update SDK to 1.0.106-alpha (#1480) 2023-08-11 11:54:44 +02:00
Nicolas Mauri 17aa0c632f Add a link to the global settings in the room notifications settings (#1433) 2023-08-02 16:30:05 +00:00
Nicolas Mauri d38b6f74b1 Notification settings screen (#1414) 2023-07-31 09:11:01 +00:00
Mauro 4b14617a8e FF to enable filtering notifications by push rules (#1412)
* filtering notification by push rules

* changelog

* Apply suggestions from code review

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>

---------

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-07-27 14:12:52 +00:00
Alfonso Grillo 0e7a48d961 "View only" polls in the timeline (#1399)
* Add stub methods in RoomTimelineItemFactory

* Add PollRoomTimelineView and PollEndRoomTimelineView

* Add timeline skeleton

* Start poll mapping

* Add comment

* Refine poll UI

* Add feature flags for polls

* Cleanup

* Delete poll end event

* Refine poll mapping

* Refine poll layout

* Reuse FormRowAccessory

* Refine poll bubble layout

* Localise strings

* Update project

* Refine poll preview

* Map poll properties
2023-07-27 15:34:27 +02:00
Mauro 99b5bf5150 Reverting to TableView but with SwiftUI compatibility (#1407)
* revert but also allows us to keep the existing SwiftUI implementation if we need it

* code improvement

* pr review

* FF is volatile

* message that communicates that is volatile
2023-07-26 13:53:43 +00:00
Mauro Romito ed28bc5d02 two sync loop always enabled by default 2023-07-26 10:39:19 +02:00
Doug 7a9edc5efa Make the app version and the device ID copyable in the Settings screen. (#1389) 2023-07-25 17:31:42 +00:00
Alfonso Grillo 6fc8c31449 Reduce boilerplate in Developer Options Screen (#1378)
* Reduce developer options boilerplate

* Add protocol DeveloperOptions

* Delete timelineDiffableAnimationsEnabled

* Refactor DeveloperOptions -> DeveloperOptionsProtocol
2023-07-24 08:42:14 +00:00
Mauro Romito c0b868e3c7 avoid problems 2023-07-21 17:57:23 +02:00
Alfonso Grillo df58d8378e Delete Location Sharing feature flags (#1358)
* Delete location sharing feature flags

* Add changelog.d file

* Update localizations

* Amend changelog file
2023-07-19 12:15:26 +02:00
Mauro f46abbaf9e Diffable fade animations (#1343)
* animate only 2 seconds after the appearence

* scrolling is stable

* code improvement

* comment and removing code that is not necessary anymore

* feature flag

* comment

* better code

* the day divider ID is the timestamp itself as ISO

* Apply suggestions from code review

Co-authored-by: Alfonso Grillo <alfogrillo@gmail.com>

* format fix

---------

Co-authored-by: Alfonso Grillo <alfogrillo@gmail.com>
2023-07-18 14:18:11 +00:00
Doug c83a2bd729 Tidy up Developer screen, add button to crash the app. (#1348)
* ID all the things
2023-07-18 11:25:07 +01:00
Nicolas Mauri 5ae227179c New notifications section in settings (#1273) 2023-07-10 17:26:49 +00:00
Alfonso Grillo 3a6876f385 Conform URL to ExpressibleByStringLiteral (#1214) 2023-06-29 13:47:04 +00:00
Flescio 102e6a64fa Send pin-drop location (#1179)
* add location sharing action in room, and open location sharing screen

* add pin location sharing

* fix asset, add tests for location viewModel, add send location request

* fix map zoom level, fix assets for location

* add feature flag for location sharing

* hide attribution button
2023-06-28 09:39:38 +00:00
Stefan Ceriu e6711a0236 Removed unused swipe gesture (+3 squashed commits)
Squashed commits:
[d64bb3bb] Stop using the ServiceLocator directly in the ScreenTrackerViewModifier
[37c46ab9] Rename Analytics to AnalyticsService
[8852a371] #920 - Cleanup ServiceLocator usages
2023-06-28 11:33:41 +03:00
Alfonso Grillo 07a6235fac Render location events in the timeline (#1136)
* Start location integration in the timeline

* Add warning

* Add LocationRoomTimelineView

* Add GeoURI

* Refine LocationRoomTimelineView

* Refine LocationRoomTimelineView

* Add LocationRoomTimelineView previews

* Cleanup code

* Mock reply

* Add FF for location events

* Update project file

* Fix MapLibreStaticMapView placeholder

* Add MapTilerAttribution

* Add LocationPinView

* Fix layout

* Start reply rendering

* Refactor ReplyView.Icon

* Add localisations

* Fix reactions

* Amend GeoURI regex

* Add log

* Fix tests

* Attribution placement refactor

* Cleanup

* Replace NSRegularExpression with a regex

* Cleanup

* Update unit tests

* isMediaType -> shouldFillBubble
2023-06-23 12:49:35 +02:00
Mauro afc4332716 Two sync loop experimental solution to decrypt push notifications (#1082)
* Experimental two sync loop solution

* better logging

* improved the code and handled invite notifications display better

* improved invite notifications

* new exerimental branch

* new sync loop

* code updated

* code improvements

* code improvements

* fix typo

* code improvements

* removed some unused code and added a respawn

* fixing some NSE issues

* code improvements

* new version of the branch

* more logging

* running the nse process ONLY IF necessary

* finally works! made also the feature flag

* also the encryption value of the room list api will depend on the flag now

* changelog

* code improvements

* code improvement

* updated proj

* fixing some compilation error after the rebase

* opt-in for the encryption sync

* fix
2023-06-22 17:23:33 +00:00
Doug f2312f6f70 App polish part 3 (#1135)
- Add an animation to long press on messages.
- Make emojis bigger on the reactions picker screen.
- Remove quote menu action.
- Fix emoji picker handle overlapping focused search field.
- Update launch, splash and onboarding screens.
- Use elevation tokens in Forms.
- Move the cancel button on the Start Chat flow.
2023-06-22 14:37:47 +01:00
Stefan Ceriu 2ae8f471c6 Fixes #978 - Message forwarding support
* Add support for message forwarding

* Move the TimelineProvider within the RoomProxy to avoid it going out of sync and have it automatically register for timeline updates on init

* Implement single selection form button style for message forwarding

* Add searching and filter out the source room from the list

* Fixed emoji screen initial search bar height

* Add view models tests

* Add changelog

* Update strings

* Tweaks following code review
2023-06-21 12:10:14 +03:00
Doug 4de39201ed App Polish (#1098)
* App polish

- Skeleton avatar colour on app switching.
- Bug report icon and string.
- Semi-bold font on room list timestamps.
- Room attachments button spacing and alignment.
- Replace link tint with semi-bold font in AnalyticsSettingsScreen.
- Semi-bold font on Invites button.
- Add padding to media attachment sheet.
- Message composer header layout tweaks.
- Remove indicator after changing homeserver with an MXID.
- Change copy permalink string.
- Formatting of link in Analytics Prompt.
- Remove indicator after changing homeserver with an MXID.
- Change copy permalink string.
- Formatting of link in Analytics Prompt.
- Only semi-bold the room timestamp when unread.
- Tweak the colour of the date separator.
- Add activity indicator to toast style user indicator.
2023-06-16 16:41:25 +00:00
Mauro 94c97ec7e9 Disable RR extension when feature flag is off (#1068)
* disable rr extension according to ff

* fixed typos in the code
2023-06-12 10:59:01 +00:00
Mauro 75a3751f78 Read Receipts display with the user avatar (#1038)
* added the read receipt into the code

* fixed some things lost during merge

* implemented the status view to be always at the trailing side

* preview code for better testing

* removed timelineStyle modifier

* removed also the group style

* added some UI tests for the read receipts
2023-06-08 10:05:56 +00:00
Stefan Ceriu 8ff5c6144c Settings about section (#1041)
* Fixes #1011 - Add legal information screen in settings, move all settings related screens under Source/Screen/Settings
* Fix warnings after sliding sync api change
2023-06-07 17:04:42 +03:00
Stefan Ceriu 24572c6582 Rename screens (#826)
* Rename: AnalyticsPrompt -> AnalyticsPromptScreen

* Rename: AnalyticsSettings -> AnalyticsSettingsScreen

* Rename: Settings -> SettingsScreen

* Rename: SessionVerification -> SessionVerificationScreen

* Rename: BugReport -> BugReportScreen

* Rename: FilePreview -> FilePreviewScreen

* Rename: AnalyticsPrompt -> AnalyticsPromptScreen

* Rename: Invites -> InvitesScreen

* Rename: InviteUsers -> InviteUsersScreen

* Rename: MediaPicker -> MediaPickerScreen

* Delete unused UIActivityViewControllerWrapper

* Rename: ReportContent -> ReportContentScreen

* Rename: RoomDetails -> RoomDetailsScreen

* Rename: RoomMemberDetails -> RoomMemberDetailsScreen

* Rename: RoomMemberList -> RoomMemberListScreen

* Rename: Cleanup

* Renaming missed items

* Low effort attempt at fixing the flakey unit tests
2023-04-24 18:48:07 +03:00
Nicolas Mauri 5b7ec6c9e2 Set up Analytics to track data per session (#780) 2023-04-18 07:33:32 +00:00
Alfonso Grillo 2439431287 Improve tests' reliability (#763)
* Create publisher extension into the unit test target

* Add ViewModelContext test extension

* Refactor BugReportViewModelTests

* Fix failing UTs

* Idea PublishedClosure

* Refactor RoomDetailsViewModelTests

* Replace more Task.yield/Task.sleep

* Move leaveRoom/ignore/unignore under the @MainActor

* Revert "Idea PublishedClosure"

This reverts commit 4ab25291041f0dbd99083baf9d95bc6647f1fd97.

* Make process(viewAction:) sync

* Refactor BugReportViewModel callback to a publisher

* Fix UTs

* Refactor ReportContentViewModel

* Fix ui test build error

* Try make sonar happy

* Empty commit

* Revert "Try make sonar happy"

This reverts commit 97804b19373a8f55f12174ccbf27f1fd8db583b7.

* Rename ui test identifier

* Cleanup

* Callback -> actions refactor

* Update template

* Add publisher in TemplateCoordinator

* Add env variable in IntegrationTests.xctestplan

* Add async sequence extension

* Amend integration test plan

* Remove env variable from target.yml

* Cleanup

* Fix failing UI tests
2023-04-05 17:07:12 +02:00
Doug 2b753b1135 Use strings from Localazy (#718)
* Adopt strings from Localazy.

* Remove all old Android strings.

* Disable german snapshot tests for now.

* Rebase and add latest strings.
2023-03-27 17:18:59 +00:00
Doug 8c89b06f3b Adopt Compound for the settings and bug report screens. (#708)
* Use compound tokens for Settings and Bug Report.
2023-03-21 14:52:10 +00:00
Doug 1a81768c62 Fix accent colour not being applied to Alerts etc. (#701) 2023-03-14 13:38:36 +00:00
Mauro fb27efee10 Cached avatar support (from Rust) (#633)
* loading a cached avatar at first, and then actually doing the request so that the avatar can still be displayed without connection

* improved the code

* fix + changelog

* policy on how to fetch the avatar url added

* code improvements

* addressed al PR comments

* improved the error handling

* improved the async task code

* fixed a typo

* fixed another typo
2023-03-08 17:50:06 +00:00
Doug 1c09a7eace Update login and server selection screens (#651)
* Update login and server selection screens.

* Replace all NavigationViews with NavigationStacks
2023-03-02 18:05:18 +00:00
Stefan Ceriu a0de1ef226 Fix settings screen session verification crash 2023-02-28 15:33:55 +02:00
Stefan Ceriu a3abde9e23 Fixes #614 - Add the user and device identifiers to rageshakes (#620)
* Fixes #614 - Add the user and device identifiers to rageshakes

* Add `base_bundle_identifier` to rageshakes
2023-02-24 14:51:36 +02:00
Doug 246879f1bf Design: Forms, Login and Members screen. (#608)
* Rename Settings styles to Form styles.

* Removed redundant FormPickerRow.

* Use the button style everywhere and fix icon shapes.
2023-02-22 13:37:02 +00:00
Mauro e91e0513b6 Attach Screenshot in Bug Report Screen (#578)
* 127 Attach Screenshot in Bug Report Screen

* #127 code improvement

* #127 Code improvements, and changed the loading... label to sending...

* using a statically defined identifier for the new defined ui element

* added the RowLabelStyle and improved the design of the view

* code improvement

* code improvement

* making alignment private

* synthesised init
2023-02-15 16:46:53 +00:00
Stefan Ceriu 4fd24a6c16 Fixes #322 - Developer options menu (#581) 2023-02-15 11:07:06 +00:00
Michael Kaye a06365517c Align accessibility IDs with elementX android (#567)
* Rename onboarding and login user/pass accessibility ids.

* Refactor remaining server change accessibility IDs

* Avoid accessibilityIdentifier spreading to all decorations on the textBox.

Required because otherwise there are multiple items tagged with the accessibilityId
which means we can't click on "the" item.

* Move all accessibility identifiers to `AccessibilityIdentifiers.swft`
- use same naming convention on all of them
- remove the unused ones
- fix build errors in integration tests and invalid identifiers (still broken until autodiscovery lands on rosa)

---------

Co-authored-by: Stefan Ceriu <stefanc@matrix.org>
2023-02-15 07:53:04 +02:00
Mauro Romito d7f80807df 547 refactored userNotification into userIndicator 2023-02-14 11:35:17 +01:00
Doug b2d99e27a5 Tweak the design of various Forms to match Figma (#573)
Add formBackground and formRowBackground colours and adopt them.

* Include topic in UI tests.
2023-02-14 10:14:13 +00:00
Stefan Ceriu a02b461c37 Switch to weakAssign for all AppSettings listeners 2023-02-09 11:41:14 +02:00