505 Commits

Author SHA1 Message Date
Mauro caeb86e178 Better identification system for virtual items (#1361)
* better identification system

* better handling for unknown
2023-07-19 14:29:56 +00: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 Romito ad1422ad6c sdk bump 2023-07-18 17:32:11 +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
Stefan Ceriu d0965c7f88 Fixes #1332 - Pasting an image from MobileSafari gives both url and file upload 2023-07-18 13:53:42 +03:00
David Langley b31af77686 Reactions: Add more button (#1314)
* Add expand/collapse UI for reactions

- Adds a CollapsibleFlowLayout for controlling the layout
- Adds tests for  this layout and some mocks for testing layouts generally
- Improves the rendering of the reaction buttons which were not pixel perfect
- Adds the UI for the expand collapse buttons including the count of hidden items in the collapsed state.

* Add comment for reactionsCollapsed binding.

* Add the add more button and change the layout to be reactions specific and account for the add more button specifics.

* Update CollapsibleReactionLayout.swift

* Rename lines to rows, to hopefully ease the incoming merge.

* Add LayoutValueKey to organise subviews by item type.

- create ReactionLayoutItemType to tag subviews with ReactionLayoutItem
- Add LayoutValueKey support to the layout mocks
- Fix some mistakes in the merge
- Make the test code a bit more DRY
- Make the animation of the addMore and collapse buttons consistent

* Fix naming of the add more button label

* Address comments and fix padding

- Fix typos
- Use pdf/svg for icon
- Fix incorrect padding from a bad merge

* Fix "Add more" button padding to match designs

* Update snapshot test reference images.

* Fix naming, add Preserves Vector Data
2023-07-14 16:32:32 +00:00
David Langley a44a60cb0a Sort reactions on the timeline by count and then timestamp and show the date on the summary view (#1320)
* Sort timetamps on timeline and show the date on the summary view

- Sort reaction aggregations on the timeline by count and then by most recent timestamp ascending(tagging new reactions on the end)
- Show the timestamp on the summary view and sort descending(newest at the top)

* Address comments.

- Fix ID case.
- Improve readability of components in body.
- Improve the comments that describe the sorting.
2023-07-14 17:18:32 +01:00
Mauro 76506752b4 SDK Changes Refactor (#1312)
* internal id

* notification refactor

* client proxy refactor

* required self

* better identifier system

* using the event id when required

* tests fixed

* tested some stuff

* fixed merge conflict

* improved the test wait

* animation disabled

* Bump Rust SDK version to 1.0.98-alpha (#1310)

* code improvement

* pause sync

* pr suggestions

* result

* Apply suggestions from code review

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

* enum based debug identifier

---------

Co-authored-by: aringenbach <80891108+aringenbach@users.noreply.github.com>
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-07-12 10:28:41 +00:00
David Langley 2cec1858ff Add expand/collapse UI for reactions (#1249)
* Add expand/collapse UI for reactions

- Adds a CollapsibleFlowLayout for controlling the layout
- Adds tests for  this layout and some mocks for testing layouts generally
- Improves the rendering of the reaction buttons which were not pixel perfect
- Adds the UI for the expand collapse buttons including the count of hidden items in the collapsed state.

* Add comment for reactionsCollapsed binding.

* Remove Flow and simplify implementation

- Remove SwiftUI-Flow
- Add strings by importing from Localyse
- Remove count on expand button as requires GeometryReader and can cause loops
- Don't use GeometryReader for hiding reactions with opacity(just put them way off screen for now)
- Fix unit and UI tests

* Address PR comments

- use synthesized inits
- use rows rather than lines for naming flow layout
- other naming improvements
- reactions were already rendered in another ui test, removing my test on favour of those and updating the screenshots for those.
2023-07-10 15:13:58 +00:00
Doug 6b8b5a75b3 Add encryption history banner and update session verification banner strings. (#1250)
* Add a hard wall on back-pagination in encrypted rooms.
Until the app supports key backup, the history will never be decryptable.

* Fix initial display of the timeline table view.

* Update session verification banner strings.
2023-07-05 14:08:31 +01:00
Alfonso Grillo ce14d13962 Add location's description in timeline (#1236)
* Refactor location URLs

* Add description in LocationRoomTimelineView

* Amend preview text

* Cleanup code
2023-07-05 08:27:59 +00:00
Mauro b294278170 Refactor the NSDiffableDataSourceLayer (#1235)
* first part, using references

* better animations

* delete view provider and replaced wth two files

* ordered dictionary usage

* bubbled styler view previews

* plain style is back

* fix

* read marker previews restored

* updated tests

* code improvements

* better naming
2023-07-04 14:08:43 +00:00
Doug eba3e5d5e6 Update the timeline padding. (#1233)
* Reduce padding on the avatar side of a bubble when the avatar isn't shown.

* Analytics Prompt Screenshots.

* Home screen screenshots.

* User Session screenshots and fix.

* Room screen screenshots.

* Bug Report screenshots.
2023-07-04 12:20:41 +01:00
Alfonso Grillo caf23094b0 Update SDK to 1.0.94-alpha (#1232)
* Update SDK

* Map new location fields

* Add LocationRoomTimelineItemContent.AssetType
2023-07-04 06:39:32 +00:00
Doug ccd4101abf Fix reactions button faint outline. (#1226) 2023-06-30 14:21:25 +01:00
Stefan Ceriu 29cda71b82 Remove reaction summary view scroll animation, keep the buttons in sync with manual horizontal scrolling 2023-06-30 15:08:42 +03:00
Stefan Ceriu 2354f4ff99 Add missing trailing padding to reaction summary view buttons 2023-06-30 15:08:42 +03:00
Stefan Ceriu 4a72ca1b08 Prevent the longPressWithFeedback gesture from adding a shadow to its content before the gesture is triggered 2023-06-30 15:08:42 +03:00
Stefan Ceriu 6dc96295f6 Fix reaction borders 2023-06-30 15:08:42 +03:00
Mauro Romito f1d53649e0 empty circle always displays 2023-06-30 12:20:06 +02:00
Mauro b2ab6103c3 Editing a failed echo, just cancels and resends it (#1207)
* editing a failed message means cancelling and resending it

* changelog
2023-06-29 14:37:52 +00:00
Alfonso Grillo 3a6876f385 Conform URL to ExpressibleByStringLiteral (#1214) 2023-06-29 13:47:04 +00:00
Alfonso Grillo edd12b02af Improve LocationRoomTimelineView layout (#1212)
* Improve LocationRoomTimelineView

* Cleanup
2023-06-29 10:22:43 +00:00
David Langley 98cec5672c Reaction summary and flow layout for reactions (#1158)
* Add reaction summary view

* Add avatars and display names and flowlayout for reactions

- Add avatars to summary view
- Add display names to summary view
- Add flow layout to reaction buttons as per designs(long press on  scolling buttons is difficult to achieve so prioritised this).

* Add and use SwiftUI-Flow for reaction layout.

* Correct Swift-Flow inclusion via xcodegen

* Remove own FlowLayout implementation and Fix unit tests

* Improve naming and correct spacing on summary view as per design.

* Fix safe area insets on summary view bottom sheet

* Scroll to selected reaction in the case that it is offscreen when the sheet is displayed.

* Add more reactions to UITests to ensure the new flow layout is displayed(wraps on to second line).

* Fix snapshot image.

* Address review comments.

* Use onLongPressGesture for reactions also to fix double actions bug and for consistency.

* Respect RTL languages.

* Fix unit test.
2023-06-29 10:53:44 +01:00
Stefan Ceriu 93022dd7f2 Implement swipe to reply on timeline items (#1148) 2023-06-29 11:31:46 +03:00
Mauro 10e167732b Show Only Retry Decryption and View Source for Unencrypted messages (#1202)
* show only retryDecryption for unencrypted message

* fix
2023-06-28 15:57:19 +00:00
Doug fbb17e9288 Update long press gesture animation. (#1195) 2023-06-28 16:06:43 +01:00
Doug afbb0a8260 Replace FilePreviewScreen with InteractiveQuickLook. (#1187)
* Replace FilePreviewScreen with InteractiveQuickLook.

- Allows full screen presentation.
- Allows dismiss gesture to work.
- Presentation looks much better on macOS.
2023-06-28 15:32:16 +01:00
Mauro 908b368680 Delivery status is displayed only for last message (#1193)
* checkmark only displays for the last message

* delivery status is now displayed only for last message

* changelog
2023-06-28 14:28:56 +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 2ebe534fb3 Implement all emoji text message boosting 2023-06-28 11:33:57 +03: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
Mauro f54eb78503 Filter out some actions for failed local echoes (#1184)
* done

* pr suggestion
2023-06-27 16:41:18 +00:00
David Langley a46af8c27e Fix reaction hit area (#1178)
* Add workaround to stop the message long press steal touches from the reaction button

* put back newline
2023-06-27 13:02:23 +00:00
aringenbach 88ac3fb8c6 Rename sendReaction as toggleReaction 2023-06-26 20:25:55 +03:00
Mauro 3d3fd5dc66 Handling cancelled as a sendingFailed case (#1161)
* handling cancelled as a sendingFailed case

* changelog
2023-06-26 10:33:15 +00:00
David Langley 13decc668a Reaction highlights (#1145)
* Highlight own reactions

- Highlight own reactions on timeline and improve style.
- Highlight reactions on message bottom sheet only when it our own.

* Improve overlay background colours

* pin to new sdk version

* Remove the red used for debug.

* Fix padding, overlap and only display count if > 1.

- Fix reaction padding and overlap of reaction and bubble.
- Only display count if greater than 1.
- Return EmptyView for TimelineDeliveryStatus.cancelled.

* Fix colors as per design recommendations.

* Add Snapshot tests for reactions and documentation.

- Add UITests for the timeline including reactions.
- Add the reference snapshots.
- Add documentation on how to run snapshot tests and update the reference snapshots.

* Fix Package.resolved
2023-06-25 13:24:48 +01:00
Doug aa30fe29e9 App polish part 5 (#1149)
- Set launch/splash screens to default background colour.
- Replace launch screen storyboard with info plist keys.
- Remove useless layout components in bubble styler.
- Fix lint error.
- Rename all assets.
- Update design of Analytics Prompt.
2023-06-23 17:10:37 +01:00
Alfonso Grillo 1f99e9af8d Update Matrix SDK to v1.0.84-alpha (#1147)
* Fix build errors

* Add sendLocation API

* Amend cancelled behavior
2023-06-23 15:14:38 +00:00
Mauro 9c115d8e25 updated ui tests and deleted unused ones (#1143)
* updated ui tests and deleted unused ones

* fix keyboard missing on iPad

* fix keyboard missing

* code improvement

* improvement for user session screen

* readded some removed files
2023-06-23 13:18:44 +00: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 bc9871f015 Keyboard is kept dismissed when dismissing the actions or the attachments menu (#1141)
* keyboard is kept dismissed

* no need for dispatch queue
2023-06-23 09:39:43 +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 ede4ab095c App polish part 2 (#1118)
- Fix sheet backgrounds in dark mode.
- Fix background colours for reaction buttons.
- Reply view layout.
- Update separator colours.
- Don't show sender name/avatar in DMs.
- Fix inconsistent line heights with formatted body text.
- Use plain text for reply
- Increase tappable size of collapsed state changes button.
- Blockquote layout and text colour.
- Tap to expand the topic in room details.
- Change the topic and security font size in room details.
- Add cancel button when inviting someone to an existing room.
- Reword Add Friends to Add People in start chat screen.
- Update compound.
2023-06-20 17:31:40 +00: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
Doug de0213abb2 Adopt Compound Colours (#1086)
* Delete deprecated font tokens.

* Migrate from primaryContent to textPrimary/iconPrimary.

* Migrate from links to textLinkExternal.

* Migrate from secondaryContent to textSecondary/iconSecondary.

* Migrate from accent to textActionPrimary.

- Some uses changed to textPrimary or iconPrimary as necessary.
- Some manual tints removed now that that Sentry is fixed.

* Migrate alert to textCriticalPrimary/iconCriticalPrimary.

* Migrate from brand to textActionAccent/iconAccentTertiary.

* Migrate from background to bgCanvasDefault or text/iconOnSolidPrimary

* Migrate system to bgSubtleSecondary.

* Remove ElementUIColors and obsolete migrated colours.

* Migrate tertiaryContent/quaternaryContent/quinaryContent to Compound.

* Migrate bubblesYou/bubblesNotYou to use Compound.

* Update Compound.
2023-06-16 10:49:13 +01:00
Mauro ac41704821 Retry send and cancel send for failed to send messages (#1088)
* is now possible to open the confirmation dialog and pass the transaction id

* task completed added some tests

* changelog

* title visibility set to .visible
2023-06-16 11:00:54 +02:00
Mauro 2cfc844545 Refactored alert info to not use the soon to be deprecated API (#1084)
* refactored alert info to not use the soon to be deprecated API

* missing files and changelog

* updated some tests

* Update ElementX/Sources/Screens/RoomMemberDetailsScreen/View/RoomMemberDetailsScreen.swift

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

---------

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-06-14 14:24:10 +00:00
Stefan Ceriu dcb692ce9f Fix modal sheet presentations when invoked from the timeline item menu sheet 2023-06-13 17:27:45 +03:00