2134 Commits

Author SHA1 Message Date
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
Stefan Ceriu
e1eee9465e
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
6081a8fccf
Prevent images cached on disk from loading on the main queue 2022-07-19 09:14:27 +03:00
Doug
25d7ba55ad
Enable blank line rules. (#132) 2022-07-06 16:01:50 +01: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
ismailgulek
83a25d5501
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
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
ismailgulek
40e51fb157
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
4738f3016d
Add GH labels to bug reports (#84) 2022-06-17 15:54:45 +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
Stefan Ceriu
1be403e60a Disable sentry event sending on debug builds 2022-06-10 14:18:37 +03: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
Doug
d7fae1ad7d
#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
4b67d5d2a9 Fix incorrect user display name label color on dark mode 2022-06-08 13:59:25 +03:00
Stefan Ceriu
54f5493e76 Disable sentry debug mode as it generates too much noise 2022-06-08 12:46:22 +03:00
ismailgulek
0089cb9835
Fix Info.plist crash on Mac (#72)
* #71 Use custom template for Info.plist

* Add changelog
2022-06-06 15:02:16 +03: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
7881ddc4c3 Fixes #22 - Prevent timeline jumps while animating the composer keyboard 2022-05-31 16:16:01 +03:00
Stefan Ceriu
e11b09de3d Cleanup various animations 2022-05-31 16:16:01 +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
73f507045b Fix various code smells as reported by Sonarcloud, fixed tests 2022-05-26 11:42:57 +03:00
Stefan Ceriu
f5890b68a2 vector-im/element-x-ios/issues/53 - Adopt MainActors, dispatch heavy operations do detached tasks and ensure combine publisher call back on the right queue 2022-05-26 11:42:57 +03:00
Stefan Ceriu
dde7786152 vector-im/element-x-ios/issues/53 - Converted most callback based methods to async/await 2022-05-26 11:42:57 +03:00
Stefan Ceriu
f2fe39eca7 Update templates: remove iOS 14 availability checks and stateActions + reducer. 2022-05-26 11:42:57 +03:00
Stefan Ceriu
084e1fad36 Cache room display names 2022-05-16 13:28:35 +03:00
Stefan Ceriu
e9f07a98b9 Update project folllowing xcodegen changes. 2022-05-16 13:27:26 +03:00
Stefan Ceriu
e95ddb37e9 Specify supported interface orientations in xcodegen target configuration 2022-05-16 13:17:41 +03:00
Stefan Ceriu
5fc10c26a8 Fix various warnings raised by sonarcloud 2022-05-12 14:06:58 +03:00
Stefan Ceriu
2f6015b97b Add template to xcodegen, fix build and tests 2022-05-12 14:06:58 +03:00