Commit Graph

375 Commits

Author SHA1 Message Date
Nicolas Mauri
7fa9b8a348 Fixed some issues with voice messages when sent from a bridge. (#2190) 2023-11-30 17:39:54 +01:00
Stefan Ceriu
7dd744ab5e Update room member detail screen screenshots 2023-11-29 18:31:29 +02:00
Doug
69204bf824 Use ListRow on PollFormScreen. (#2183) 2023-11-29 09:57:35 +00:00
Alfonso Grillo
c9c429e159 Add TimelineProxy (update sdk to 0.0.7-november23) (#2178)
* Refactor RoomProxy

* Refactor paginateBackwards

* Refactor sendReadReceipt

* Refactor messageEventContent APIs

* Refactor sendMessage

* Refactor toggleReaction

* Refactor send attachments

* Refactor sendLocation

* Refactor cancel/retry send

* ⚠️ Fix encryption build errors

* Refactor editMessage

* Refactor retryDecryption

* Refactor fetchDetails

* Refactor polls APIs

* Refactor fetchMembers

* Refactor RoomTimelineProviderProtocol

* Update sdk to 0.0.7-november23

* Fix UTs

* Fix comment

* Delete old workaround

* Move TimelineProxyError

* Delete queue warnings

* Fix key listener

* Add pollHistory timeline property

* Refactor room/timeline subscriptions

* Delete unused code
2023-11-28 19:01:35 +00:00
Mauro
e96fec4a52 Improved File and Audio timeline layout (#2176) 2023-11-27 16:18:40 +00:00
Nicolas Mauri
37c5b24576 Fix a rendering issue when a message starts with a list (#1915) (#2152) 2023-11-27 16:24:51 +01:00
Stefan Ceriu
5740b26d7f vector-im/element-meta/issues/2206 - Fix room avatars not showing up on the message forwarding screen 2023-11-24 18:13:36 +02:00
Doug
6918613195 Add a state machine to AppLockFlowCoordinator. (#2166)
Fixes a bug when cancelling Face ID would loop back round to presenting Face ID.
2023-11-24 16:03:38 +00:00
Alfonso Grillo
9dfc03ee3c Update polls icons (#2163)
* Add new polls icons

* Fix preview tests

* Update UI tests

* Add polls reply view test
2023-11-24 14:39:53 +00:00
Alfonso Grillo
2e4b321ef2 Edit poll UX (#2151)
* Add edit poll on room proxy

* Add CreatePollMode

* Add “edit poll” presentation flow

* Add delete poll section

* Inject editing poll

* Add submit action

* Refactor validation logic

* Add edit/delete actions

* Fix bubble timestamp for polls

* Update localisations

* Refactor CreatePoll -> PollForm

* Refactor tests

* Update rust sdk to 0.0.5-november23

* Update confirmation alerts

* Add edit support in TimelineItem menu

* Refactor a11y id

* Cleanup

* Fix failing tests

* Add tests

* Refine isEditable workaround

* Refactor timestamp in TimelineItemBubbledStylerView
2023-11-23 11:19:15 +00:00
Doug
b45fdf54ca Switch to Xcode 15 (with the iOS 16.4 Simulator for tests still) (#2113)
* Use Xcode 15 in GitHub actions.

Use iOS 16.4 simulators from Xcode 14 as iOS 17.0.1 simulators are **super** slow.

* Fix failing preview snapshots.

Snapshot fix.

* Improve setup

* Regenerate snapshots that had a conflict.

---------

Co-authored-by: Alfonso Grillo <alfogrillo@gmail.com>
2023-11-21 16:25:18 +00:00
Mauro
7d45bae25a Read Receipts sheet + enabled RR by default (#2123) 2023-11-21 12:38:39 +00:00
Stefan Ceriu
b372714d73 Fixes #2117 - Disable underlining for links defined in the html body:
- https://github.com/Cocoanetics/DTCoreText/issues/898
2023-11-20 13:46:40 +02:00
Doug
48c3379b1d Cherry pick some missed Compound/layout changes that ended up in the Xcode 15 PR. (#2120)
Fix broken Settings screen snapshots.
2023-11-20 11:06:24 +00:00
Doug
6f2fb4a7f6 Use Compound List in more screens. (#2099)
* Use Compound List in room member details, secure backup, notification settings.

* Use ListRow in CreateRoomScreen.

* Fix ListRow layout when isWaiting && !isSelected.
2023-11-17 17:07:27 +00:00
Stefan Ceriu
eecc59d6f4 Secure backup tweaks (#2095)
* Show a loading indicator when confirming the recovery key

* Hide the passphrase characters when confirming the recovery key

* Don't show the settings security section until session verification state is retrieved (async)

* Fix preview screenshots
2023-11-17 12:06:36 +02:00
Doug
a367322b04 Compound icons part III - Revenge of the SF Symbol (#2093)
* Use Compound in StartChat screen.

* Update location sharing icons.
2023-11-16 15:50:06 +00:00
Doug
f7be3b5121 Show the lock screen placeholder on willResignActive. (#2086) 2023-11-15 15:31:35 +00:00
Mauro
a9700851fe Added a disclaimer in Notification Settings for "Mentions Only" (#2081) 2023-11-15 14:57:17 +00:00
Stefan Ceriu
a846c30305 Fixes #2083 - Expose options for overriding the system appearance in the advanced settings menu 2023-11-15 14:23:11 +02:00
Doug
0cbba1b04c 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
052db0d1f0 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
2c33f9c5d5 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
9749b77a92 First round of icon updates. (#2076)
Update Compound too.
2023-11-13 16:44:29 +00:00
Nicolas Mauri
619e781a7f Display voice message progress cursor if progress is greater than zero (#2077) 2023-11-13 16:41:38 +01:00
Stefan Ceriu
037ada0d3d Update room summary provider mock room details and snapshots 2023-11-13 17:02:02 +02:00
Stefan Ceriu
03b73a1605 Display whether a call is ongoing in any particular room on the room list 2023-11-13 17:02:02 +02:00
Doug
90e69ce886 Update the welcome screen with the latest designs. (#2067) 2023-11-13 09:42:43 +00:00
Nicolas Mauri
37556463d8 New voice message recording mode (#2051)
* Lock voice message recording

* Use the VoiceMessageCache to store the recording file

* Rework on some composer toolbar buttons

* Update accessibility labels for voice message recording button

* PreviewTests
2023-11-10 15:32:22 +00:00
Stefan Ceriu
5e28627d22 Have the UserIndicatorController use a separate window, switch to using one single instance throughout the application 2023-11-09 16:18:11 +02:00
Stefan Ceriu
644412a748 Extract room screen action handling into separate component (#2045)
* Extract room screen action handling into separate component

* Fix tracing configuration unit tests

* Move the custom reactionsCollapsedBinding to the TimelineReactionsView

* Move voice message playback handling from the timelineController to the room view model

* Reorder methods

* Remove the need for a media player provider in the timeline controller

* Move room attachments opening to the view model, remove the need for a media provider in the timeline controller

* Rename RoomScreenActionsHandler -> RoomScreenInteractionHandler

* Move message sending retry and cancellation to the timeline controller.

* Move audio playback, attachment loading and  user tapping handling into the InteractionHandler

* Fix unit tests

* Switch back swiftlint file_length rule error to 1000 lines
2023-11-08 18:31:39 +02:00
Doug
0bd097fe25 Add UI tests for optional app lock setup. (#2046) 2023-11-08 15:33:40 +00:00
Nicolas Mauri
d3a5c6c983 Voice message recording enhancements (#2042)
* Use Combine to report AudioRecorder state changes

* AudioRecorder is now using AVAudioEngine instead of AVAudioRecorder

* Stop recording when audio configuration changes

* AudioRecorder error handling

* UnitTests

* Use Accelerate to calculate RMS
2023-11-08 10:19:28 +01:00
Stefan Ceriu
a0d8a23b6f Secure backup fixes (#2037)
* Fix logout alert title and message

* Disable auto correction and capitalization on the recovery confirmation screen

* Allow scrolling in the key verification screen for when the key needs to be confirmed and the keyboard is up.

* Address PR comments
2023-11-07 09:23:15 +02:00
Alfonso Grillo
00994dc3d7 Add deferred spinner for voice messages (#2018)
* Add  delayedLoaderPlaybackState

* Add more tests

* Fix Xcode 14 build error

* Refactor  delayedLoaderPlaybackState -> playerButtonPlaybackState

* Fix runtime issue
2023-11-03 10:39:22 +00:00
Doug
86621eb2d0 Debounce PIN entry to show the last digit before submitting. (#2017) 2023-11-03 07:31:01 +00:00
Alfonso Grillo
b97dba43d8 Voice message UI polish (part 2) (#1995)
* Update compund

* Fix create poll screen bin button style

* Fix timeline menu description for voice messages

* Fix bin button in ComposerToolbar

* Add VoiceMessageButtonStyle

* Update compound & fix breaking changes

* Fix voice message bin size

* Refactor VoiceMessageRecordingButton

* Fix preview tests
2023-11-01 10:03:35 +01:00
Doug
93dddda0b2 Add missing gradient to lock screen placeholder. (#1991) 2023-10-31 13:25:18 +00:00
Doug
0d7c801093 Update Compound with new Pill colours. (#1989) 2023-10-31 10:47:06 +00:00
Doug
cbb9c270f9 Enable the App Lock feature. (#1990) 2023-10-31 08:55:30 +00:00
Doug
bdaa3925a7 Enable Element Call FF by default. (#1983)
- Aligns with the same change on Android.
- Remove the now unused FF for mention pills.
2023-10-30 17:04:01 +00:00
Stefan Ceriu
519cd938b7 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
Nicolas Mauri
2f7382fbf0 Fix: Keep the progress indicator visible after pausing or scrubbing a voice message. (#1969) 2023-10-27 15:24:22 +00:00
Mauro
c15e0a636b 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
Doug
e4225e9db0 Handle invalid PIN input in the settings flow. (#1972) 2023-10-27 14:08:06 +01:00
Alfonso Grillo
3ec2a88ae9 Remove feature flag for voice messages (#1964)
* Delete voice messages feature flag

* Fix preview tests

* Update snapshots
2023-10-27 13:45:15 +02:00
Alfonso Grillo
e18e915c5a Refactor voice messages touch interaction (#1970)
* Remove enable/disable long press actions

* Working poc

* Refactor interaction in VoiceMessageRoomPlaybackView

* Cleanup DateFormatter

* Fix VoiceMessagePreviewComposer

* Cleanup

* Delete WaveformViewDragState

* Refactor WaveformCursorView

* Cleanup

* Add WaveformInteractionModifier

* Add selection hapitc feedback

* Fix ComposerToolbar ZStack alignment

* Refine cursor size

* Remove haptic feedback

* Fix preview test

* Delete longPressDisabledItemID

* Remove progress animation

* Project file
2023-10-27 10:08:30 +00:00
Doug
5bb85257e2 Add support for Face ID/Touch ID to app lock. (#1966)
* Fix biometrics with low grace period and backgrounding before unlocked.

* Trigger permissions alert when enabling Face ID.
2023-10-27 09:09:12 +00:00
Mauro
36cf0a0442 Converting detected plain text mentions into permalinks (#1963)
* it works but a test fail because URL(string) fails

* done!

* let
2023-10-27 09:31:01 +02:00
Mauro
c0e398e20e Removed Pill Avatar + @room is not displayed among suggestions for DM (#1968)
* removed pill avatar

* completion suggestion service shows @room as first and only if not a DM

* code improvement
2023-10-27 09:29:20 +02:00