Commit Graph

98 Commits

Author SHA1 Message Date
Stefan Ceriu 39be67cec6 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 142180b1f3 Various CI fixes (#161)
* Update homebrew dependencies like on the other workflows. Fixes problems caused by buggy swiftformat prebundled on the github actions macos runner

* Removed UI tests from PR tests and running them on a schedule instead. Hopefuly fixed code coverage.

* Added back simulator versions as they need to match UI test snapshots

* Allow UI tests to run on this PR

* Added back skipped UI tests

* Fix danger sometimes not working on forks and disable integration tests on them
2022-08-19 17:42:03 +03:00
Stefan Ceriu 78df4abc7f #49, #123 - Setup UI integration and performance testing (#148) 2022-08-18 16:32:29 +03:00
ismailgulek 2cb6dc1cd9 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
Doug 4349b8fc03 #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
Doug b4caaa6ae7 Run SwiftFormat as a prebuild script to fail early on CI. 2022-08-04 08:50:43 +01:00
Doug 6c33b3fe7f Prepare next release 2022-07-28 14:39:43 +01:00
Doug 87b2a41a69 #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 c20bc6bd1c #42: Proof of concept login via OIDC.
Uses AppAuth library in the app, ignoring token refresh
2022-07-28 09:28:42 +01:00
Doug 1878a16496 #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 2f69c99782 Improve release process
- remove towncrier logs from PR builds and move them to github releases
- set build version based on current time
- bump app version
2022-07-22 18:14:25 +03:00
Stefan Ceriu 5fa541ffb7 Remove .git suffix from certain dependencies 2022-07-22 18:14:25 +03:00
Stefan Ceriu 922e037786 Switch SwiftFormat to lint mode and have it be lenient on local builds but fail on the CI 2022-07-22 13:12:56 +03:00
Doug 02eb4b35e2 Add SwiftFormat to the project. (#129)
* Run swiftformat for whitespace.
* Run swiftformat with some rules.
2022-07-06 14:49:05 +01:00
Doug 26d8affaa8 #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 0a199ee611 Drop Mac catalyst support, update app version and tag format, update fastlane plugins 2022-07-01 14:46:04 +03:00
Stefan Ceriu a6f9d1ba89 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 266ca656fc Add Screen suffix to all screens. (#125) 2022-06-30 16:48:46 +01:00
Doug baeffd2121 #40: Add server selection screen from EI. 2022-06-30 10:49:00 +01:00
Anderas dd739d4766 Implement new ClientBuilder pattern for login (#120)
* Implement new ClientBuilder pattern for login

* Add changelog
2022-06-30 08:10:59 +01:00
ismailgulek 7bd4763662 Add localizations to UI tests target (#118) 2022-06-29 18:32:14 +03:00
ismailgulek dbee1924eb 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 d74158ced1 #40: Add the login screen from EI.
- Remove SSO and replace fallback with OIDC.
2022-06-28 12:23:35 +01:00
ismailgulek 36c34503fc 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 b6b8b4be26 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 5df1411a7e Update DesignTokens to 0.0.2 2022-06-22 14:13:54 +01:00
Doug 9f2ed68e37 #40: Update SplashScreen to match Element iOS. 2022-06-22 09:52:55 +01:00
ismailgulek 7dcd494de8 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 591f835811 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
Doug 8653f1dd6b #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 abd6a9c7c0 #40: Self review for PR 2022-06-16 10:58:39 +01:00
Doug 211bc63bc8 #40: Create UserSessionStore and update state machine for session restoration. 2022-06-16 10:58:39 +01:00
Doug 8dc5359a44 #40: Add OnboardingSplashScreen from EI.
Update SplashScreen for EXI
2022-06-16 10:58:39 +01:00
Doug 272fc5000b Use .element.accent instead of elementGreen colour asset. (#79)
Remove local copy of Element Green
2022-06-13 08:38:28 +01:00
Doug 9d21fe12f0 Use v0.0.1 of the DesignTokens package. (#78) 2022-06-10 12:09:10 +01:00
Doug 596cf2df0b #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
ismailgulek fa0721b160 Rageshake Service (#70) 2022-06-06 12:38:07 +03:00
Stefan Ceriu 1e7243fcf9 #66 - Rebuild the AppCoordinator on top of a SwiftState FSM 2022-06-02 13:23:35 +03:00
Stefan Ceriu d7ef0cdc30 Fix copyright file headers and project template 2022-05-31 16:16:01 +03:00
Stefan Ceriu 1b4d3a650e #53 - Refactored various components:
- updated the authentication coordinator to use async await
- replaced the UserSession with a ClientProxy (similar to the RoomProxy)
- renamed `completion` to `callback` on the coordinators and view models
- renamed `viewModelResult` to `viewModelAction`
- introduced back UserSession as a user specific service container
2022-05-30 16:06:11 +03:00
Stefan Ceriu 8fec97217f vector-im/element-x-ios/issues/53 - Various tweaks following code review 2022-05-26 11:42:57 +03:00
Stefan Ceriu e9f07a98b9 Update project folllowing xcodegen changes. 2022-05-16 13:27:26 +03:00
Stefan Ceriu 28187d4e63 Bump the Rust SDK package to the latest underlying version (0.5.0) 2022-05-13 17:28:19 +03:00
Stefan Ceriu 2f6015b97b Add template to xcodegen, fix build and tests 2022-05-12 14:06:58 +03:00
Stefan Ceriu 4b728f3d09 Update UserIndicators with newer implementation from Element (modified to work here) 2022-05-12 14:06:58 +03:00
Stefan Ceriu 5fb981423b Gather coverage reports only for ElementX 2022-04-29 12:58:07 +03:00
Stefan Ceriu 0faac20b04 Bootstrap custom version of the app for UI tests 2022-04-29 12:58:07 +03:00
Stefan Ceriu cfd0b14c81 Setup fastlane test lane and github action 2022-04-29 12:58:07 +03:00
Stefan Ceriu 1b1b541a63 vector-im/element-x-ios/issues/14 - Initial Danger setup 2022-04-28 12:19:18 +03:00
Stefan Ceriu 0a0f41689a Setup default accent color for the whole project. 2022-04-28 11:29:18 +03:00