Commit Graph

95 Commits

Author SHA1 Message Date
Alfonso Grillo
232a33626a "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
Doug
f47ccc1ae1 Tweaks for macOS (#1383)
* Fix constant Create Room button animation on macOS.

* Allow right-clicking on timeline items to work again on macOS.

* Use inline media upload previews on macOS

This comes with the caveat that the previews are no longer interactive.
2023-07-24 12:08:50 +00:00
Velin92
da3898b04c Translations update 2023-07-24 09:36:14 +03:00
Alfonso Grillo
b871abce1a 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
Alfonso Grillo
57f48a4b9e Update errorMissingLocationAuth (#1341) 2023-07-17 13:19:28 +00:00
Velin92
f30131e70d Translations update 2023-07-17 10:12:45 +02:00
David Langley
9f7808e8da 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
Nicolas Mauri
e986fad1e5 Add a "Mute" shortcut and a "Notifications" section in the room details screen #1318 2023-07-14 11:43:19 +02:00
Flescio
e93af88ea5 Send current user location (#1272)
* add new asset for location, add logic for sharing user current location

* work on default zoom and auth for location

* add attribution button

* fix attribution button position, fix isSharingUserLocation

* Add NSLocationWhenInUseUsageDescription back

* Fix initial animation

* change map logo and attribution position

* Add annotation just in the setup

* add errors and alert for map vies

* location unit test

* add unit test for location sharing

* add changelog

* Update ElementX/Sources/Other/MapLibre/MapLibreMapView.swift

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

* add comments and minor parameters refactor

* Update ElementX/Sources/Screens/LocationSharing/StaticLocationScreenCoordinator.swift

Co-authored-by: Mauro <34335419+Velin92@users.noreply.github.com>

* Update ElementX/Sources/Screens/LocationSharing/StaticLocationScreenViewModel.swift

Co-authored-by: Mauro <34335419+Velin92@users.noreply.github.com>

* Sort assets

* Cleanup

* Cleanup

* Fix error localizations

* Fix tests

---------

Co-authored-by: Alfonso Grillo <alfogrillo@gmail.com>
Co-authored-by: Mauro <34335419+Velin92@users.noreply.github.com>
2023-07-11 10:42:59 +00:00
Velin92
c93fb9168f Translations update 2023-07-10 13:23:34 +02:00
Mauro
05f42aa6df Welcome Screen (#1259)
* the screen renders and changed the analytics checkmark to be more generic

* welcome screen

* transition

* tests... TODO

* changelog

* changed assets and added multilineTextAlignment

* better naming

* fix for missing after migration but has a weird presentaiton bug

* fix

* icon color
2023-07-05 17:55:24 +00:00
Doug
aa011acdc4 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
Velin92
321a9bfbcc Translations update 2023-07-03 10:36:56 +02:00
Doug
b3b239d577 Migration Screen (#1224)
- Hide bottom bar when in skeletons.
- Use the new design for the Waitlist screen too.
2023-06-30 13:27:49 +01:00
Alfonso Grillo
eb65619979 Open map from timeline (#1199)
* Add navigation to expaneded map

* Add MapLibreMapView.Options

* Add AppActivityView

* Add ShareToMapsAppActivity

* Add share sheet presentation

* Add localisations

* Cleanup

* Fix UT build errors

* Revert breaking change

* Fix UIView setup

* Add support for location’s description

* Show popover on iPad

* Restore assets

* More cleanup
2023-06-29 09:12:42 +00:00
Doug
50f3ac0eeb Update strings and screenshots for waitlist screen. (#1183) 2023-06-28 09:16:00 +01:00
Doug
b8ec1096ba Handle waiting list error. (#1165) 2023-06-26 18:26:20 +01:00
Velin92
20b56d5800 Translations update 2023-06-26 13:13:27 +03:00
Alfonso Grillo
e7d11b8311 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
Doug
d865c3bc8a 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
839fec5e2c 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
8052441bd7 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
8c6e082a0e 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
Alfonso Grillo
dea6986921 Invite again user on direct chats (#1087)
* Add leaveRoom section for DMs

* Add invite alert in RoomScreenViewModel

* Show alert on composer focus

* Add localisations

* Refine invite alert logics

* Amend tests

* Update project

* Fix local variable name

* Refactor show invite alert logic
2023-06-16 13:36:27 +00:00
Mauro
586fb5de8a 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
Stefan Ceriu
49cc2a8c73 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
ElementRobot
c9ce18507a Translations update (#1013)
* Translations update

* fix for notification invite body

---------

Co-authored-by: Velin92 <Velin92@users.noreply.github.com>
Co-authored-by: Mauro Romito <mauro.romito@element.io>
2023-06-07 11:01:05 +00:00
Mauro
4e0dd5d2d9 Tapping on user avatar/name in the timeline opens the room member details (#1020)
* Implementation completed

* changelog

* code improvement

* Apply suggestions from code review

Co-authored-by: Stefan Ceriu <stefanc@matrix.org>

* pr suggestions

---------

Co-authored-by: Stefan Ceriu <stefanc@matrix.org>
2023-06-06 08:46:04 +00:00
Alfonso Grillo
199f5248af 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
7c4d0631df Server Confirmation Screen (#959)
* Add ServerConfirmationScreen.
2023-05-30 10:31:18 +01:00
Velin92
ac546e90ea Translations update 2023-05-29 11:03:28 +03:00
Alfonso Grillo
980e113a98 Room's details edit screen (#956)
* Add RoomDetailsEditScreen template

* Add navigation to the edit screen

* Delete template code

* Start RoomDetailsEditScreen UI

* Manage power levels in RoomDetailsScreen

* Start RoomDetailsEditScreenViewModel logic

* Inject initial room state

* Add cancel action

* Expose set name/topic APIs in RoomProxy

* Refine RoomDetailsEditScreen UI

* Add save logic

* Add localisations

* Fix avatar image

* Update localisations

* Add “Add topic” button

* Add feature flag

* Add dismiss on save logic

* Reduce throttling

* Improve form logic

* Fix UT build errors

* Add media sheet

* Add media preprocessing

* Add LoadableEditableAvatarImage

* Add condition on delete image

* Add avatar save button logic

* Add remove avatar logic

* Cleanup

* Fix edit bug in DM

* Add upload avatar

* Add focus

* Add RoomDetailsViewModel UTs

* Fix button style

* Add UTs

* Add empty topic ui test

* Fix iPad sheet presentation

* Revert topic appearance in room’s details

* Address PR comments

* Add UI tests
2023-05-26 13:47:12 +00:00
Velin92
7e589adc65 Translations update 2023-05-22 08:32:36 +03:00
Velin92
230ce8286f Translations update 2023-05-15 10:55:30 +03:00
Stefan Ceriu
b8ad1af172 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
Velin92
a17493e650 Translations update 2023-05-08 08:14:56 +03:00
Stefan Ceriu
9c651ae6a3 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
Velin92
dfc2d9a179 Translations update 2023-05-02 09:52:38 +02:00
Doug
127ea2b34b Use renamed (and linked) analytics strings. (#823) 2023-04-24 09:25:30 +00:00
Velin92
acb7fce94e Translations update 2023-04-24 09:54:19 +01:00
Nicolas Mauri
1bc05a2ffe Set up Analytics to track data per session (#780) 2023-04-18 07:33:32 +00:00
Velin92
59bbff7a70 Translations update 2023-04-17 15:57:15 +02:00
Velin92
74b1cd705a Translations update 2023-04-12 19:35:16 +02:00
Velin92
7cfed4c7e1 Translations update 2023-04-12 15:18:31 +02:00
Mauro
69072694a9 Fixing locheck tool (#788)
* fixing locheck

* fixing locheck tool

* Revert "fixing locheck tool"

This reverts commit 9bb3dbcd70d1ecbc62b4289623b5f9e584929997.

* locheck install

* using the original code to get the directory

* adding swiftgen to download strings

* setup project on ci

* added Strings.swift to the path

* adding String.swift
2023-04-12 10:03:11 +00:00
Mauro
b03bc997fc Translations workflow and tools (#768)
* Translations workflow and tools

* improved the name of the workflow

* need this commit to trigger the workflow for the first time

* swift tools can now run on CI

* only strings and stringsdict will be committed

* fixed a workflow issue

* starting the workflow to save it

* fixing downgrade issues

* fixing URL usage

* install localazy

* fixing add-paths typo

* downloaded strings

* removing on push trigger

* Update Tools/Sources/DownloadTranslations.swift

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

* Added locheck for string verification

* code formatting improvement

* Update Tools/Sources/Locheck.swift

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

* pr suggestion

---------

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-04-05 19:36:51 +02:00
Mauro
7e47169a23 Fixed translation bug when the locale contained the region (#765)
* Fixed the issue, added tests and italian translation

* changelog

* improved translation handling code and added more tests

* Update UnitTests/Sources/LocalizationTests.swift

Co-authored-by: Stefan Ceriu <stefanc@matrix.org>

---------

Co-authored-by: Stefan Ceriu <stefanc@matrix.org>
2023-04-05 10:36:02 +02:00
Alfonso Grillo
e8bb520f9f Improve user search using the GET profile (#754)
* Add getProfile in ClientProxyProtocol

* Add fetchProfileIfNeeded

* Refactor search

* Update StartChatSuggestedUserCell UI

* Add showProfilePopover action

* Remove popover code

* Add UTs in StartChatViewModelTests

* Add UI tests

* Cleanup code

* Refine design

* Fix design

* Localise StartChatSuggestedUserCell

* Update localisations

* Update StartChatSuggestedUserCell design

* Fix UT

* Fix PR comments

* Apply suggestions

* Fix typo
2023-04-04 10:47:41 +02:00
Mauro
0aa4f17038 DM Details View (#744)
* Basic implementation completed but it requires some bug fixing and polishing (+4 squashed commits)
Squashed commits:
[43f0064e] now the content of the room details reflects the expected dm details content when the conditions are met
[fe6f2b5e] replaced existing headers with a composable and reusable HeaderView
[3c00120a] now the members are fetched every time the room is opened
[421d539b] refactored the members fetching to be immediate in case the room could be a direct chat

* polished the code and fixed some bugs that prevented the updated state of the members to be displayed in the room details view (+1 squashed commit)
Squashed commits:
[6bf98473] fix for the button not being destructive in room details screen

* removed copy button and updated copy

* moved a file and renamed header view

* addressed all PR comments

* sdk bump

* UI tests

* unit tests

* changelog

* updated mocks

* removed a duplicated signature in a mock
2023-04-03 13:18:19 +02:00
Doug
192974ff3a Add Block user to Report Content screen. (#742) 2023-04-03 10:21:24 +01:00