Commit Graph

314 Commits

Author SHA1 Message Date
Doug 730d099a76 Add RoomDetails for use (with RoomMemberDetails) in AvatarHeaderView. (#2490)
* Add RoomDetails and refactor AvatarHeaderView to use it.
* Remove old displayName property and use RoomDetails in the RoomDetailsScreenViewState
2024-02-21 14:19:05 +00:00
Mauro d380c2de56 Removed unused context menu + some unused code cleaning (#2487) 2024-02-20 14:36:04 +01:00
Mauro 1f389ed008 Bump sdk + Favourites filters implementation (#2484) 2024-02-19 17:53:57 +01:00
Stefan Ceriu 6d9271ce59 Fixes #2320 - Implement support for (un)marking rooms as favourite from the room list and room detail screens 2024-02-19 17:51:43 +02:00
Mauro 548fd27d6a Replace share location icon with the iOS share location icon (#2474) 2024-02-16 15:35:22 +00:00
Stefan Ceriu db05540cc5 Show recovery instead of verification if this is the last session and recovery is set up
* Show recovery instead of verification if this is the last session and recovery is set up

* Rename `recoveryKeyState` to `recoveryState`

* Remove duplicates on session security state changes.

* Fix missing "Save recovery key" button

* Fix unit tests

* Rename `isLastDevice` to `isOnlyDeviceLeft`

* Address PR comments
2024-02-16 11:38:49 +02:00
Mauro 2b2accaca6 Fix filters being jumpy when scrolling them (#2459) 2024-02-13 02:09:55 +01:00
Stefan Ceriu d7a190ba23 Fix room list cell highlighting issues, add unit tests 2024-02-09 14:05:12 +02:00
Mauro 224e4e4881 Room List Filters implementation (#2423) 2024-02-08 16:50:44 +01:00
Doug d0c835a9bf Add a setting to hide unread messages badges. (#2412)
* Add a setting to hide grey unread messages badges.

* Move room badge logic to be built in the view model instead of in the view.

* Move setting into DeveloperOptions.
2024-02-07 13:00:35 +00:00
Stefan Ceriu 9915a33964 Fixes #2360 - Add support for manually marking rooms as unread (#2408)
* Fixes #2360 - Add support for manually marking rooms as unread

* Add analytics for marking rooms as (un)read

* Remove unnecessary analytics abstraction levels

* Fix breaking API changes following SDK bump

* Add changelog

* Handle PR comments

* Fix unit tests
2024-02-05 18:06:50 +02:00
Doug e80612b968 Update compound and remove all of the temporary icons (#2419)
* Update compound and fix breaking changes.

* Replace a lot of temporary icon assets with Compound versions.

* Replace temporary composer icon assets with Compound versions.

* Remove old icon asset from EI.

* Use Compound icons where possible for hero images.

* Snapshots
2024-02-05 16:03:13 +00:00
Stefan Ceriu 197b088662 Add support for quick room search through the Cmd+K shortcut (#2363) 2024-01-29 14:55:11 +02:00
Stefan Ceriu d911e4fb06 Fix the room list spasming when reaching the top after having scrolled down 2024-01-26 20:57:47 +02:00
Stefan Ceriu f0d971c1ab Move the account migration screen to within the room list 2024-01-26 15:35:05 +02:00
Mauro 33a81989b0 Bump SDK to 1.1.35 (#2388) 2024-01-26 14:32:02 +01:00
Mauro 25ec8d2dcb UI POC for room list filters (#2382)
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2024-01-26 09:43:05 +00:00
Mauro 550db5e377 Fix: Grey dot appears when you have unread messages that do not trigger a notification (#2371) 2024-01-23 15:14:53 +00:00
Mauro dd28261e1f Bump SDK + Mention Badge fix (#2367) 2024-01-22 17:43:39 +00:00
Mauro f844cd1a2f MentionBadge FF (#2281) 2023-12-22 17:57:07 +01:00
Mauro b4538b759f Revert "Mention badge + badge behaviour redesign" (#2283) 2023-12-22 09:44:10 +00:00
Stefan Ceriu 0ae71f740d Secure backup tweaks (#2277)
* Use a custom SDK build that might fix incomplete recovery state false positives. Enable chat backup by default

* Get rid of the chat backup feature flag

* Fix force unwrap warning

* Fix long line warning

* Prevent the recovery key confirmation banner popping up before the verification state is fetched. Stop showing secure backup user avatar and menu badges while the session is not verified.

* Switch back to the release version of the SDK

* Fix inconsistent session verification states, improve/simplify how to deal with it

* Fix unit tests

* Cleanup and hopefully simplify home screen banner presentations
2023-12-21 17:08:29 +02:00
Mauro d148827eae Mention badge + badge behaviour redesign (#2276) 2023-12-21 15:05:39 +00:00
Mauro 334d55aeaf Removed invites and feedback from the home menu (#2262) 2023-12-19 11:40:04 +01:00
Mauro d99d26fcdc Removing Dead Code part 1 (#2234) 2023-12-13 09:51:57 +01:00
Stefan Ceriu f717c7dba4 Fix room list search bar focus glitches (#2112)
* Fixes #2112 - Room list search bar focus glitches

* Address PR comments
2023-11-17 18:08:29 +02:00
Doug 22742620c5 Fix an animation glitch when signing in on iOS 16. (#2098) 2023-11-17 09:19:18 +00:00
Doug 4b3a373782 Use more Compound icons (part 2!) (#2082)
* Use Compound icons in ListRow.

* Add CompoundIcon(asset:) convenience initialiser.
2023-11-15 09:54:43 +00:00
Doug 2c1e61a1bc Add SwiftLint rule to enforce stack spacing. (#2080)
Xcode 15 changes the default behaviour and given we're always working from designs, we shouldn't rely on it for our layout.
2023-11-14 12:38:38 +00:00
Alfonso Grillo 752ad66397 Add scaledFrame/scaledPadding APIs (#2079)
* Add scaled frame and padding modifiers

* Refactor AppLockScreen

* Refactor FormattingToolbar

* Refactor RoomAttachmentPicker

* Refactor ComposerToolbar

* Refactor VoiceMessageRecordingButton

* More refactors

* Refine ScaledPaddingModifier

* Cleanup

* Fix preview tests

* Fix preview test

* Use CompoundIcon for custom image

* Add .scaledFrame(size:) overload

* Set fallback style to .body
2023-11-14 12:20:34 +01:00
Doug 4257c20bc9 First round of icon updates. (#2076)
Update Compound too.
2023-11-13 16:44:29 +00:00
Stefan Ceriu bc46c48b2e Update room summary provider mock room details and snapshots 2023-11-13 17:02:02 +02:00
Stefan Ceriu 5c4e0bd76d Display whether a call is ongoing in any particular room on the room list 2023-11-13 17:02:02 +02:00
Stefan Ceriu a837ce5cff Key backup Rust API adoption (#1952)
* Adopt Rust side secure backup APIs (incomplete, based on poljar/backup-pr)

* Implement the home screen recovery key confirmation banner.

* Update with the latest Rust changes.

The loading button for .unknown was incorrect. It should be treated as disabled.

---------

Co-authored-by: Doug <douglase@element.io>
2023-10-27 20:16:51 +01:00
Mauro 0b31446817 Resizable Composer With Completion Suggestion View (#1971)
* resizable composer with suggestions view

* FF cleanup

* removing the view when the vertical size is compact

* merge conflict fix

* done

* solving a conflict

* Update ElementX/Sources/Screens/ComposerToolbar/View/CompletionSuggestionView.swift

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

* pr suggestion

---------

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-10-27 13:54:30 +00:00
Stefan Ceriu 37f1a79a11 Key backup returns (#1951)
* Converge on UserSessionFlowCoordinator logout confirmation

* Add logout confirmation screen strings to untranslated.

* Fix chat backup learn more URl fragment.

* Implement logout flows that check recovery and key backup for the last session

* Move logout confirmation screen strings to localazy

* Change encrypted timeline item copy to "Waiting for decryption key"

* Use different encrypted history banner based on key backup states

* Introduce a SettingsFlowCoordinator and implement navigation directly to the secure backup screen from the logout flows.

* Fix **mocked** secure backup controller flows

* Simplify encrypted history banner logic

* Address PR comments
2023-10-24 18:38:41 +03:00
Stefan Ceriu 6bde9f242f Prevent AttributeGraph crashes, replace generated settings with badge icon with standalone asset 2023-10-20 14:11:37 +03:00
Stefan Ceriu c8b9d95122 #1899, #1900, #1901 - Implement chat backup setting screens 2023-10-19 15:34:10 +03:00
Nicolas Mauri 2f0b5a42f5 Prevent multiple conversion of the same voice message audio file. (#1887) 2023-10-13 09:48:11 +00:00
Doug 2c5662a278 Remove DesignKit package (#1886)
- Move button styles to Compound
- Rename text style to AuthenticationTextStyle as its only in the auth flow.
- Add the brand colour locally for now until its included in Compound.

* Update snapshots.

---------

Co-authored-by: Stefan Ceriu <stefan.ceriu@gmail.com>
2023-10-12 15:45:27 +01:00
Mauro 7124f24d7c supported versions (#1848) 2023-10-03 10:10:38 +02:00
Mauro 7bde419e85 Pill View (#1797)
* provider can now check the current session

* More testable code

* created the test condition

* it works but not always not sure why, need to dig deeper

* sadly we need to use textkit 1 to solve this issue

* removed developer option screen test

* this experimental solution kinda works but I need a way to pill recomputation is weird

* format

* display improvement

* better and faster solution

* pilished the code

* better coloring

* swift format

* just need to solve the caching issue

* fix caching issue

* tests done!

* changelog

* pr comments addressed

* all pr comments addressed

* docs

* line lenght

* updated tests and fixed a parsing permalink issue

* MentionBuilder

* pr comments

* swiftformat

* code blocks should not have links

* Update ElementX/Sources/FlowCoordinators/RoomFlowCoordinator.swift

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

* Update ElementX/Sources/Services/Client/ClientProxy.swift

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

* Update UnitTests/Sources/AttributedStringBuilderTests.swift

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

* Update ElementX/Sources/UITests/UITestsAppCoordinator.swift

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

* Update ElementX/Sources/Other/Pills/PillAttachmentViewProvider.swift

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

* Update ElementX/Sources/Other/Pills/MentionBuilder.swift

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

* pr comments

* swiftformat

---------

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-09-27 17:27:07 +00:00
Stefan Ceriu dad6560ed4 Room list searching tweaks (#1800)
* Prevent the room list from flashing previous rooms when searching

* Remove reset diff chunking now that the whole list is limited

* Bump the Rust SDK to v1.1.19 and fix breaking API changes
2023-09-26 14:33:15 +03:00
Alfonso Grillo bc1910e9bb Consider tests for animations (#1779) 2023-09-21 15:49:38 +00:00
Alfonso Grillo eba3e25373 Improve message edit with RTE (#1742)
* Improv edit for RTE

* Refine code block style in composer

* Update matrix-wysiwyg-composer-swift to 2.13.0

* Remove workaround

* Update ElementX/Sources/Services/Timeline/TimelineItems/Items/Messages/TextRoomTimelineItemContent.swift

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

* Refactor rawFormattedBody -> formattedBodyHTMLString

---------

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-09-21 13:45:43 +00:00
Doug 4e6fe278db Update iconography visible in launch video (#1762) 2023-09-21 12:38:09 +01:00
Mauro 8b69308e05 Prefire compatibility with Xcode 15 (#1773)
* xcode ready solution

* now the previews won't fail but get generated

* delay in some screens that require a waiting state (the bloom does not work in previews)

* better code

* longer delay

removed and redone lfs

readded as lfs
2023-09-21 11:02:50 +02:00
Mauro 9d91cd4fc0 Preview Tests (#1768)
* preview testing

* removed some views that are not really testabl in UnitTests and improved other tests
2023-09-20 17:33:31 +02:00
Stefan Ceriu 29bcc5371a #1246 - Prevent timeline items from being computed on the main thread when instantiating the RoomTimelineController; speed up the room selection animation. 2023-09-20 15:12:35 +03:00
Mauro Romito 94c6ad9e38 speeding up the bloom a bit 2023-09-19 17:52:49 +02:00