2991 Commits

Author SHA1 Message Date
Doug
255615aba4 Add timeline properties for edited and reactions.
Not yet visible, waiting for timeline API.
2022-09-14 12:19:38 +01:00
Doug
2b17c415fb Revert "Add redaction menu (disabled)."
This reverts commit 453408dbe9.
2022-09-14 09:44:15 +01:00
Doug
453408dbe9 Add redaction menu (disabled). 2022-09-14 09:40:00 +01:00
Stefan Ceriu
223dd45629 Fixes vector-im/element-x-ios/issues/117 - Event permalink timeline action
* moved NSRegularExpression outside of the AttributedString builder into the MatrixEntityRegex
* fixed eventId v3 regex
* added permalink builders for users, room identifiers and aliases, and events
* added timeline item permalink contextual menu actions and error alerts
* added an app wide ServiceLocator and moved the top level userIndicatorPresenter to it.
* added URL constructor that takes a StaticString and returns an non-optional
* Include Unit and UI tests in the swiftlint search paths
2022-09-12 21:34:53 +03:00
Doug
d62793403a #106: Add Analytics UI 2022-09-06 10:45:04 +01:00
Doug
eb21f72b22 #106: Begin adding the Analytics class from EI.
No UI or SDK support to enable/disable yet and no tracking is implemented.
2022-09-02 10:09:02 +01:00
Stefan Ceriu
a2fc70866f Various logging fixes (#164)
Various logging fixes:
* imported the ObjCWrapper and updated the MXLogger. Also added back support for app containers
* updated MXLog.swift from El and fixed/improved its logging format
* updated most app log strings
* Remove unnecessary swiftlint rule
* Various tweaks following code review
* Added back type annoation on MXLogger logFiles method
* Fix generated Swift-ObjC header name
2022-08-30 18:05:21 +03:00
Stefan Ceriu
09daf52750 #49, #123 - Setup UI integration and performance testing (#148) 2022-08-18 16:32:29 +03:00
ismailgulek
fdbaa16c38 Screenshot tests (#130)
* #9 Add snapshot testing library

* #9 Create script to boot test simulators

* #9 Create the UI test plan

* #9 Create shared schemes for test targets

* #9 Disable split view for UI tests

* #9 Fix fastlane dependencies

* #9 Add snapshot testing to the application

* #9 assert screenshots

* #9 fix swipe gestures on iPad

* #9 Fix accessing items in session verification screen

* #9 Workaround for flaky unit test

* #9 Specify scheme for alpha build

* #9 Add reference screenshots

* Update python script path and check assets for png check

* Update script path

* Use static timezone for simulator time

* Fix build after SwiftFormat

* Add changelog

* Upload failed screenshots artifact

* Always upload artifacts

* Update boot simulator script

* Update simulator overridden time

* Install pytz before tests

* Get time from Ruby script

* Disable SwiftUI animation when running UI tests

* Update screenshots after animation setting

* Include reference images in the artifact

* Update matching precision

* Update image matching precision & revert artifact content

* Include Xcode result in the artifact

* Update test output directory

* Disable gradient on splash screen for tests

* Tap next button explicitly

* Wait a bit before checking alert

* Wait 1 second

* Run SwiftFormat on project

* Ignore temporary screenshots

* Fix most of the PR remarks

* Fix conflicts

* Bump Python version to 3

* Update reference screenshots for authentication screens

* Update SwiftFormat

* Fix flakey session verification test.

* Update scheme.

Co-authored-by: Doug <douglase@element.io>
2022-08-11 15:02:47 +03:00
Hugh Nimmo-Smith
cecb132e7b Request all required OIDC scopes + grant_types (#154)
* Request all required OIDC scopes on auth
* User real TOS and Policy URLs for OIDC
* Request refresh_token grant type when registering client
* Use unstable OIDC scope prefixes
2022-08-11 11:47:10 +01:00
Doug
f20cf598a9 #150: Use standard file headers everywhere.
* Add default header in IDETemplateMacros.plist.
* Use the standard header everywhere.
2022-08-11 08:54:24 +01:00
Stefan Ceriu
50c80f4727 Remove view background colors as they cause glitches on the navigation bar background 2022-07-28 18:16:43 +03:00
Doug
19d92b452e #93: Add a sync limit of 20 and prefill rooms when loading the last message.
Update the SDK to 1.0.13-alpha.
2022-07-28 12:46:48 +01:00
Doug
653dc30b4a #42: Proof of concept login via OIDC.
Uses AppAuth library in the app, ignoring token refresh
2022-07-28 09:28:42 +01:00
Stefan Ceriu
b5bf60665f Setup tracing through the RustSDK (#146) 2022-07-27 16:06:40 +03:00
Doug
5a1b9463bc #40: Use the Rust AuthenticationService.
* Update SDK package to 1.0.12-alpha.
* Use an app group for storage and stop stripping the http from the homeserver when configuring the service.
* Rename access token to restore token.
* Remove matrix.org server description inline with latest FTUE changes.
2022-07-27 10:57:16 +01:00
Stefan Ceriu
3d8d1bdd89 Revert "Re-enable animations to see if it fixes the tests"
This reverts commit d0013cae50431f2c8150a873cfedf80038a38ef6.
2022-07-25 14:48:15 +03:00
Stefan Ceriu
2fb3496c20 Re-enable animations to see if it fixes the tests 2022-07-25 14:48:15 +03:00
Stefan Ceriu
863f88500e Attempt fix for unreliable tests 2022-07-25 14:48:15 +03:00
Stefan Ceriu
621a9a572f Fix SwiftFormat errors 2022-07-22 14:48:15 +03:00
Stefan Ceriu
ba245aa3bb Fix vector-im/element-x-ios/issues/134 - Prevent home screen room last message attributed string from being computed on every update
Add async/await methods to the AttributedStringBuilder and adopt them throughout the app
2022-07-22 10:25:17 +03:00
Stefan Ceriu
912bda95dc Prevent images cached on disk from loading on the main queue 2022-07-19 09:14:27 +03:00
Doug
c125189b89 Enable blank line rules. (#132) 2022-07-06 16:01:50 +01:00
Doug
a272980b62 Add SwiftFormat to the project. (#129)
* Run swiftformat for whitespace.
* Run swiftformat with some rules.
2022-07-06 14:49:05 +01:00
Doug
88ce67603e #40: Add basic AuthenticationService and missing UI tests.
* Add MockAuthenticationService and ServerSelectionUITests.
* Add tests covering the Authentication flow.
2022-07-04 10:00:27 +01:00
Stefan Ceriu
17d6bba923 vector-im/element-x-ios/issues/31 - Implement simple SaS sesson verification
* vector-im/element-x-ios/issues/31 - Session verification unit and UI tests
* Fix ImageAnonymizer tests when running on Apple Silicon
* Rename SessionVerification to SessionVerificationScreen
2022-07-01 13:56:52 +03:00
Doug
e27f37c69f Add Screen suffix to all screens. (#125) 2022-06-30 16:48:46 +01:00
ismailgulek
0c21e0ddcb Flatten room list (#121)
* #121 Flatten the room list

* #121 Add changelog

* #121 UI tweaks for avatar and display name and preview

* #121 Make avatar and label one button
2022-06-30 12:56:36 +03:00
Doug
e140c83c19 #40: Add server selection screen from EI. 2022-06-30 10:49:00 +01:00
Anderas
b1e9249328 Implement new ClientBuilder pattern for login (#120)
* Implement new ClientBuilder pattern for login

* Add changelog
2022-06-30 08:10:59 +01:00
ismailgulek
88c7b2340c Add localizations to UI tests target (#118) 2022-06-29 18:32:14 +03:00
ismailgulek
d89cefa253 Background execution (#100)
* #99 Implement background tasks

* #99 Add changelog

* #99 Fix some code smells

* #99 Use background tasks in room timeline controller

* #99 Move background task service into room proxy and media provider
2022-06-29 13:03:28 +03:00
Doug
da7cc779fe #40: Add the login screen from EI.
- Remove SSO and replace fallback with OIDC.
2022-06-28 12:23:35 +01:00
ismailgulek
704771206f Plain timeline styler (#94)
* #92 Create `TimelineStyle` and store it in user defaults

* #92 Create `TimelineStyler` observable environment object

* #92 Use timeline list row insets from the styler

* #92 remove sender view, move header into the styler views

* #92 Add timeline style option in settings

* #92 Add changelog

* #92 refactor some code duplications

* #92 Fix `TimelineStyle`targets

* #92 Fix `TimelineStyle` targets

* #92 Fix PR remarks

* #92 Fix inline PR comments

* #92 Fix UI tests

* #92 Rename bubbled to bubbles
2022-06-27 13:27:09 +03:00
ismailgulek
8a921d7825 Room screen: timeline message bubbles (#91)
* #34 Create `TimelineItemStylerView`

* #34 Add styler view into different type of cells

* #34 Use placeholder avatar image on room list

* #34 Add `isOutgoing` param to event based timeline item

* #34 Compute `isOutgoing` for timeline items

* #34 Update sender info view in timeline

* #34 Update mock timeline items

* #34 Rename `EventBasedTimelineView` to `EventBasedTimelineSenderView`

* #34 Change padding on timeline cells

* #34 Create `TimelineItemStylerView` to move content into a bubble if needed

* #34 Use styler view in all of the timeline item views

* #34 Make timestamp more readable on images

* #34 Little layout tweaks

* #34 Add changelog

* #34 Fix code smells

* #34 Set text colors on timeline items

* #34 Fix background color of the timeline

* #34 Fix PR remarks

* #34 Set background colors explicitly on remaining screens

* #34 Reduce min bubble width and make it a scaled metric

* #34 Refactor `PlaceholderAvatarImage` to accept a text only

* #34 Fix code smell

* #34 Fix further comments
2022-06-23 14:54:29 +03:00
Doug
0e4c80450d Update DesignTokens to 0.0.2 2022-06-22 14:13:54 +01:00
Doug
d6479613e4 #40: Update SplashScreen to match Element iOS. 2022-06-22 09:52:55 +01:00
ismailgulek
e9593630dc Room screen header (#86)
* #35 Create `ElementNavigationController` subclass

* #35 Add encryption icons

* #35 Add avatar and encryption badge image to the room screen view model

* #35 Create `RoomHeaderView` class

* #35 Replace room title with a RoomHeaderView instance in the toolbar

* #35 Add changelog

* #35 Introduce `UITestScreenIdentifier` and refactor ui tests

* #35 Fix old tests

* #35 add some tests for room screen

* #35 Use svgs instead of pngs

* #35 Fix PR remarks
2022-06-21 20:28:42 +03:00
ismailgulek
5f3a22e4e5 Minimal Settings screen UI (#85)
* #37 Remove sign out button from home screen

* #37 Move crash button visibility flag to BuildSettings, import BuildSettings from test targets

* #37 Add log out button into the settings screen

* #37 Add version into the settings screen

* #37 enhance bug report parameters

* #37 Remove sign out button from home screen

* #37 Move crash button visibility flag to BuildSettings, import BuildSettings from test targets

* #37 Add log out button into the settings screen

* #37 Add version into the settings screen

* #37 enhance bug report parameters

* #37 Add changelog

* #37 Fix code smells and PR remarks
2022-06-20 15:27:02 +03:00
ismailgulek
84a6ef13af Auto dismiss bug report when completed (#83)
* #76 Show success indicator on settings coordinator when bug report completed

* #76 Add changelog

* #76 remove unused method

* #76 Rename `errorIndicator`s to `statusIndicator`s
2022-06-20 13:06:29 +03:00
ismailgulek
0c6d4bd41f Add GH labels to bug reports (#84) 2022-06-17 15:54:45 +03:00
Doug
2f0fe9e1d6 #40: Add UserSessionStoreProtocol.
Only log out of the specific account.
Add tests for the keychain controller.
Expand test coverage.
PR comments
2022-06-16 10:58:39 +01:00
Doug
d3b7b6377d #40: Self review for PR 2022-06-16 10:58:39 +01:00
Doug
701a8a389e #40: Create UserSessionStore and update state machine for session restoration. 2022-06-16 10:58:39 +01:00
Doug
81df70c66d #40: Add OnboardingSplashScreen from EI.
Update SplashScreen for EXI
2022-06-16 10:58:39 +01:00
Doug
ec11e46f7d Use .element.accent instead of elementGreen colour asset. (#79)
Remove local copy of Element Green
2022-06-13 08:38:28 +01:00
Stefan Ceriu
6be74a0e56 Disable sentry event sending on debug builds 2022-06-10 14:18:37 +03:00
Doug
f3dca240a1 #43: Add the DesignKit package to the project.
* Add ElementTextFieldStyle and static style properties.
* Rename button styles, support sizes and simplify colour.
2022-06-09 14:44:46 +01:00
Doug
be7c0e2ac9 #26: Add filtering of rooms by name.
* Add searchable to home screen.
* search ignoring case and accents
* Move home screen room search filtering to the ViewState
* Use lazy filtering for search.

Co-authored-by: Matthew Hodgson <matthew@matrix.org>
Co-authored-by: Stefan Ceriu <stefanc@matrix.org>
2022-06-08 13:25:24 +01:00
Stefan Ceriu
7879374927 Fix incorrect user display name label color on dark mode 2022-06-08 13:59:25 +03:00