253 Commits

Author SHA1 Message Date
Mauro b9a6ebe03a Periphery to detect dead code (#2227) 2023-12-12 10:17:15 +00:00
Mauro a248bdbd95 Fix for line breaks (#2224) 2023-12-11 15:43:31 +00:00
Mauro a7c194198d Using thumbnails for notification icons (#2142) 2023-11-22 13:06:54 +01: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
Mauro a4bc7b8e36 Custom copy for notifications that contain mentions (#2050) 2023-11-09 18:12:11 +00:00
Doug 07313926c9 Add UI tests for optional app lock setup. (#2046) 2023-11-08 15:33:40 +00:00
Mauro 4c84878f88 Fix Suggestion Pattern when text is empty (#1943)
* fix + debounce improvement

* comment

* improved existing function to be more generic
2023-10-23 17:52:10 +02:00
Mauro ad0b2f114f @room in user suggestions (#1880)
* for now I am using a local RTE solution, need to fix one test

* fixed a test

* new rte version

* pr suggestions

* @room added to the suggestions

* removed empty space

* revert

* code improvement

* project updated

* package
2023-10-12 16:15:47 +00:00
Stefan Ceriu ff4d59bac7 Various optimisations (#1878)
* Cache TimelineBubbleLayout subview sizes

* Cache MessageText sizes, avoid extra updates

* Only use the `CollapsibleReactionLayout` if there's more than 5 reactions on a particular message

* Upgrade Sentry to 8.13.0, disable various options as they're not useful and impact performance

* Address PR comments, fix unit tests
2023-10-11 16:21:45 +03:00
Stefan Ceriu 1f12a7cb2f Fixes 1864 - Message forwarding room list filtering and pagination problems (#1867)
* Fixes 1864 - Message forwarding room list filtering and pagination problems

* Fix SwiftFormat redundant closures body error

* Prevent crashes when writing to the localization bundle cache from different threads

* Fix unit tests

* Fix unit tests

* Address PR comments
2023-10-09 14:59:31 +03:00
Mauro 7124f24d7c supported versions (#1848) 2023-10-03 10:10:38 +02:00
Stefan Ceriu a22bde91b2 Introduce primitives for working with fragment url query items; switch the generic call links to it. 2023-09-30 09:59:40 +03:00
Mauro b5ff6bb93e Fix for reversed placeholder on notifications on iOS 17 (#1785)
* fix

* invalidating cached images only for iOS 17

* removed paranthesis

* better code

* fix
2023-09-25 09:46:43 +02:00
Doug 4e6fe278db Update iconography visible in launch video (#1762) 2023-09-21 12:38:09 +01:00
Alfonso Grillo bd4ee92124 Rich text editor "expanded mode" (#1656)
* Fix composer icon in dark mode

* Add RTE poc

* Amend cornerRadius

* Add snaps

* Fix composer top spacing

* Fix clipping

* Refine UX

* Fix animation

* Add constants + iPad hide bars logics

* Polish clamping

* Fix UT

* Cleanup

* Add grabber color

* Add UI tests

* Rename handle -> grabber

* Fix resize composer when RTE is off

* Fix project file
2023-09-11 07:54:37 +00:00
aringenbach c9962a4459 Add RTE formatting buttons (#1614)
* Add RTE formatting buttons

* Update UUID as stored properties

* Disable autocorrection on URL fields

* Alert ids to let

* Add ComposerToolbar_Previews

* Cleanup

* Cleanup

* Refactor FormatItem colors

* Fix composer layout issue

* Fix ui tests

* Nest ComposerToolbar A11y ids under RoomScreen

* Add composer reply ui tests

* Add UTs

---------

Co-authored-by: Alfonso Grillo <alfogrillo@gmail.com>
2023-09-05 15:39:54 +00:00
Mauro 38d6ffb363 Avatars and Usernames color change (#1610)
* avatars and username color change

* force a replacement for the notification placeholders

* updated also the plain style

* Update project.yml

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

* changelog

* UI tests updated

---------

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-09-01 09:28:28 +00:00
Stefan Ceriu dd6d1f6e63 Tweak swiftlint settings 2023-08-08 11:48:40 +03:00
Stefan Ceriu 10259e9345 Fixes #1455 - Use the stable timeline id to match timeline items in between local echo and remote echo states 2023-08-08 11:48:40 +03:00
David Langley beaf9a8dbf Reactions - Design review tweaks (#1417)
* Design review tweaks

- truncate reactions as per spec
- add haptic feedback on reacting
- Remove all collapse/expand animations on reactions
- tweak reaction and summary padding
- Fix alignment of time on reaction summary view
- Made sure reaction summary button in horizontal scroller is on screen on appear
- update screenshots

* Update TimelineReactionsView.swift

* Remove dark add more button and check long rtl reactions

* Set colour of  templated add more button

* Fix padding and only inset from the bubble on the leading side as per designs

- Fix padding
- Only inset from the bubble on the leading side as per designs

* Update screenshots

* Fix line length warning.
2023-07-31 11:16:52 +00:00
Alfonso Grillo e92b2c94ed Refactor map styles for forking (#1364)
* Add MapLibreStyle

* Refactor url builders

* Add doc

* Add UTs

* Rename style

* Improve doc

* Update project

* Amend doc

* Improve documentation
2023-07-20 15:09:50 +00:00
Doug 66eea98b33 Fix visibility of navigation bar when searching the forwarding screen. (#1357)
* Fix visibility of navigation bar when searching the forwarding screen.

- Update Introspect and replace deprecated calls with new ones.
- Remove obsoleted colours from DesignKit.
2023-07-19 15:55:21 +00:00
Stefan Ceriu 9e95130331 Fixes #1247 - Pasting from Notes into EX tries to upload an RTF attachment 2023-07-18 13:53:42 +03:00
Mauro eaf8079339 Fix for delayed loader not working properly. (#1329)
* fix

* Update ElementX/Sources/Other/UserIndicator/UserIndicatorController.swift

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

* Update ElementX/Sources/Other/Extensions/Duration.swift

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

* fix for the issue of the missing xcoconfig file

---------

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-07-14 14:51:29 +00:00
Mauro 28fa1140b7 Removing Delivered Notifications (#1305)
* completed

* changelog

* tests

* more tests

* better naming

* fix

* a bit more waiting time

* generated mocks

* xcodegen
2023-07-11 10:44:06 +02:00
Doug 9ebc57e1cf isDM in Notifications (#1254)
* isDm

* isDm added and some code improvements

* Bump SDK and fix one name.

* changelog

---------

Co-authored-by: Mauro Romito <mauro.romito@element.io>
2023-07-05 19:40:05 +02:00
Mauro 29d90dd29e Notification Placeholder Image Caching (#1248)
* placeholder image caching

* code improvement

* code is now clearer
2023-07-05 12:28:45 +00:00
Alfonso Grillo 3a6876f385 Conform URL to ExpressibleByStringLiteral (#1214) 2023-06-29 13:47:04 +00:00
Mauro e4959ff156 Fix for flipped image notification placeholder on iPhone (#1200)
* fix

* better handling

* reverted wrong commit

* typo in changlog
2023-06-28 14:52:23 +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
Mauro 544d928287 Placeholders added in push notifications (#1176)
* placeholders added in push notifications

* this code is a bit easier to read

* code improvement
2023-06-27 11:44:19 +00: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
Mauro 1b90060c9e Invitation Notification design improvements and navigation (#1091)
* invitation notification

* handling navigation to the invite view

* improved invite notifications

# Conflicts:
#	NSE/Sources/NotificationServiceExtension.swift

* improved the design

* improved the navigation handling on iPad vs iPhone

* comment

* code improvement

* better doc
2023-06-19 08:03:32 +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
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
Flescio 163e38b1a9 Add reverse geocoding service (#1085)
* add Geocoding service

* move url session extension
2023-06-15 16:40:42 +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
Flescio 3374ebb48d set up map sdk and reusable map view component (#1062)
* added map sdk with basic permission and static view

* add location annotation

* create dedicate service for MapTiler URLs

* manage error for MapLibre component

* add error to new Alert item
2023-06-14 09:08:36 +00:00
Mauro 42e083dcaf RTL and LTR mixed languages fix for optimal timestamp support (#1055)
* fix

* fixed RTL and LTR timestamp for all the cases! also improved the testing

* changelog

* better and less convoluted solution

* Update ElementX/Sources/Screens/RoomScreen/View/Timeline/FormattedBodyText.swift

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

* pr suggestion and removed prefix in reality it creates more issues than improvements, and is not really needed

---------

Co-authored-by: Alfonso Grillo <alfogrillo@gmail.com>
2023-06-09 11:49:02 +00:00
Alfonso Grillo 4e926c3334 Create & Join rooms UI/UX tweaks (#1005)
* Fix people icon size

* Disable dismiss when loading in StartChatScreen

* Reduce debounce on search

* Add padding to invite button

* Add show/hide bottom bar behaviour

* Fix bg color in StartChatScreen form

* Update localisations

* Update search users results to 10

* Fix form background in InviteUsersScreen

* Fix invites list bg color

* Add mxid in InvitesScreenCell

* Refactor InvitesScreenCell design

* Fix separator spacing

* Add more design fixes

* Refine InvitesScreenCell layout

* Refactor UserProfileCell design

* Refactor FormRowAccessory

* Update localisations

* Fix camera size and security section padding

* Change create button style

* Refine InviteUsersScreenSelectedItem

* Refine CreateRoomScreen

* Refine UserProfileCell padding

* Amend preview name

* delete test code

* Add separator in security section

* Fix spacing in InviteUsersScreenSelectedItem

* Revert confirmationAction in CreateRoomScreen

* Refine HomeScreenInvitesButton

* Add dismiss keyboard in InviteUsersScreen

* Refactor FormRowAccessory

* Remove isDisabled from FormButtonStyles

* Update localisations

* Cleanup RoomDetailsEditScreen

* UI fixes on horizontal user carousel

* Refactor InviteUsersScreenSelectedItem

* Try fix flaky tests

* Fix typo

* Update snapshot tests

* Fix flaky UTs

* Fix HomeScreen ui tests

* Fix scroll on selection

* Refactor RoomFlowCoordinatorTests
2023-06-06 08:03:38 +00:00
Doug dcc4ea5e85 Authentication Layouts (#994)
* Remove unused code in OnboardingScreen.
* Add FullscreenDialog layout and use in auth flow.

Bump minimum OS to 16.4/13.3.

* Add dynamic layout based on dynamic type size.
2023-05-31 18:39:53 +01:00
Mauro ce6d68614a Showing the iOS default silhoutte when the user/room avatar is missing (#965)
* fix

* Element X app name

* project update

* improvement
2023-05-29 08:41:01 +00:00
Mauro c59921103d Inlined Timestamp in bubble style for messages that have a bubble (#947)
* web-like solution

* not super polished but working implementation

* polishing the spacing and sizes

* removing unused code

* code improvements

* adding a test case in the preview for RTL

* addressing some PR comments

* added some tests and polished the code

* better naming

* code improvement

* RTL fix

* Revert "RTL fix"

This reverts commit 14e4468a5358769daa57891f4991e9e32da1c985.

* better RTL fix

* updated UI tests

* separated some files

* addressed some PR comments

* some more tests
2023-05-25 10:13:45 +00:00
Mauro 23137726de Disable Local Push Notifications + Start Handling invite notifications (#882)
* disabled local pushes and fixed the issue with the image rendering

* disabled local notifications for now and started implementing invite notificatons

* disabled local notifications for now and started implementing invite notificatons

* removed code that should not have changed

* removed useless comment

* refactored name for category

* fixed a test

* fix

* fix for missing try await

* pr comments
2023-05-12 10:45:59 +00:00
Doug 185710adf4 Remove AppAuth and prepare for Rust OIDC. (#870) 2023-05-11 16:46:36 +01:00
Stefan Ceriu 1bd6e461ed Reply rendering (#861)
* Cleanup how we use message timeline items in preparation for rich reply rendering

* Expose reply details up to the UI level

* Render replies in the timeline (textual for now). Remove now unused AttributedStringBuilderComponent isReply flag.

* Move reply detail loading to when the item appears instead of when it's created.

* Fix unit tests

* Fetch event details also when the reply details are in the error state

* Tweaks following code review

* Localise emote bodies

* Fix replies not loading sometimes, use the current event identifier instead of the one being replied to
2023-05-09 16:09:38 +03:00
Stefan Ceriu 061e66ff57 Improve media uploading content type selection. Fix pasting in screenshots not working 2023-05-09 12:45:09 +03:00
Mauro 542cefd703 Fix for the sender icon not being rendered in notifications sometimes (#862)
* fix for the sender icon not being rendered sometimes in notifications

* removing a line

* removing the environment every time we run a zsh command

* removed unused parameters that we already have stored in the notification

* changelog
2023-05-08 15:05:55 +00:00
Stefan Ceriu 93e3a1a80b Media uploading (#851)
* MediaUploadingPreprocessor - Prevent images without any GPS metadata from being changed

* Add support for sending images

* Add support for sending video, audio and file attachments

* Rename MediaPickerPreview to MediaUploadPreview

* Move media uploading to the MediaUploadPreviewScreen, add waiting indicators and error handling

* Add support for pasting and drag&dropping in media for upload

* Adopt new media picker source UI, remove developer flag

* Set minimum heights for timeline loadable images

* Fix invalid camera picker file names

* Fix flakey MediaUploadingPreprocessor image tests, improve gps metadata stripping

* UITests: Update existing screenshots and add new step for the room attachment picker

* Switch all github action runners to macos-13

* Cleanup enter key and paste message composer handlers
2023-05-04 16:09:29 +03:00
Alfonso Grillo e9c07c9f8f Contextual menu for rooms (#842)
* Add room contextual menu

* Add room context menu view actions

* Add navigation to room’s detail

* Show leave alert in HomeScreen

* Implement leave logic

* Refine leave navigation for iPad

* Optimize leave from homescreen

* Refactor roomSettings -> roomDetails

* Refactor room for id mock

* Add UTs

* Cleanup

* Fix alert presentation in RoomDetailsScreenViewModel

* Fix animation flag
2023-05-04 10:02:18 +00:00