479 Commits

Author SHA1 Message Date
Stefan Ceriu
5ebe923991
Sliding Sync + New Timeline API (#189)
* Begin adopting new Timeline API.

* Add edited indicator and reactions.

* vector-im/element-x-ios/issues/65 - Sliding sync support
* Fix missing room display name, wrong placeholder avatar text color and various other warnings that would fail the build on the CI

* Various tweaks:
* using release version of the demo branch of the sdk
* enabled home screen last room messages
* switched debug mode rust logging to warn
* enabled redactions
* enabled new logout flows and soft logout
* enabled replies

* Fix room member display name and avatar crashes / race condition, fix unit tests
* Make the ClientProxy and the UserSession MainActors
* Remove unused MatrixRustSDK imports, we should strive to keep these only in top level services and proxies
* Don't start either of the syncs while in soft logout

* #181: Style the session verification banner to match Figma.
* #181: Update verification modal.
* #181: Update snapshot tests.

* Make session verification state machine less pedantic
* Remove unnecessary weak selfs
* Various tweaks following code review:
* add start and stop sync client proxy methods
* move ss proxy url the build settings
* made media provider load results discardable
* added publishers for the roomSummaryProvider's total number of rooms and state

* Fix when sender details are shown
* Disable sync v2, causes duplicates in the timeline (as expected)
* Move ClientProxy media loading off the main queue and into a detached task
* Another attempt at moving image loading off the main queue
* Moved home screen diffing and latest room fetching to the background
* Prevent the timeline composer from becoming the first responder when not needed

* Bump to a newer version of the RustSDK

* Fixes vector-im/element-x-ios/issues/107 - New home screen design
* Implement thumbnail loading instead of full image avatars.
* Revert "Disable sync v2, causes duplicates in the timeline (as expected)"
* Add support for local echoes, dispatching detached tasks to a concurrenc GCD queue
* Move the session verification banner to a List Section to avoid UI glitches
* Optimise room mapping after sliding sync updates and thumbnail fetching
* Replace home screen List with a LazyVStack in an attempt to fix performance. Moved move summary provider room updating to a background thread

* Fixes vector-im/element-x-ios/issues/177 - New Bubbles Design
* Define in group state for timeline items
* Add replies into the bubble
* Add timeline width environment value
* Add `RoundedCorner` shape with specific corners rounding
* Add in group state for previews
* Implement bubble grouping logic
* Timeline avatar layout changes
* Fix placeholder avatars for dark mode
* New bubbles design
* Update mock timeline items
* Update timeline separator design
* Update room screen reference screenshots
* Add changelog
* Formatting fixes
* Add some space before single or beginning outgoing items

* Redesign the message composer

* Handle the msgtype enum.

* Update room name label line limit and incoming bubble background. Disabled syncv2, ss withCommonExtensions and session verification controller checking

* Increase default back pagination limit.
* Stop parsing links and tidy up composer button.
* Also fix the frame of an image whilst loading.
* Bump SDK package version.

* Remove app states about settings
* Add strings
* Use colors on placeholder avatars
* Tiny changes for placeholder avatars
* Update settings screen design
* Provide a user display name from the mock client
* Settings screen presentation logic
* Add changelog
* Update reference screenshots

Co-authored-by: Doug <douglase@element.io>
Co-authored-by: ismailgulek <ismailgulek@users.noreply.github.com>
Co-authored-by: ismailgulek <ismailg@matrix.org>
2022-09-21 09:21:58 +01:00
Doug
4c14b9c4f4 Revert project.yml 2022-09-14 13:18:04 +01:00
Doug
fb947f2dba #178: Add redaction menu (disabled). 2022-09-14 13:18:04 +01:00
Doug
2986f85bcb Revert "Add redaction menu (disabled)."
This reverts commit bd4a698f8bed37db8e65f63dba49ae9bdcb725c5.
2022-09-14 09:44:15 +01:00
Doug
bd4a698f8b Add redaction menu (disabled). 2022-09-14 09:40:00 +01:00
Doug
df68174a32
#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
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
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
5fa541ffb7 Remove .git suffix from certain dependencies 2022-07-22 18:14:25 +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
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
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
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
9af3adc692 Disabled bitcode in xcodegen configuration 2022-05-16 13:17:14 +03:00
Stefan Ceriu
2f6015b97b Add template to xcodegen, fix build and tests 2022-05-12 14:06:58 +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
ismailgulek
25eea4bcf1
Localizations Setup (#6)
* Move assets into ElementX folder

* Add first version of localizer script

* Add generated strings & tests & fallback mechanism

* Rename strings file to Localizable

* Rename Assets to Resources

* Calculate preferred languages only when needed, remove share extension check

* Add comments in the localizer script

* Add GH workflow to push issues to the [ElementX board](https://github.com/orgs/vector-im/projects/43)

* Closes #16 - Add license file

* New version of localizer script, handle pluralization

* Move assets into ElementX folder

* Add first version of localizer script

* Add generated strings & tests & fallback mechanism

* Rename strings file to Localizable

* Rename Assets to Resources

* Calculate preferred languages only when needed, remove share extension check

* Add comments in the localizer script

* New version of localizer script, handle pluralization

* Revert login button text

* Add multiple dialect pluralization, fix string formatting

Co-authored-by: manuroe <manu@matrix.org>
Co-authored-by: Stefan Ceriu <stefanc@matrix.org>
2022-04-26 22:48:17 +03:00
Stefan Ceriu
7f1c24059f Implement message sending. Refactor the timeline. Fix various UI/UX issues and add scroll to bottom timeline button. 2022-04-18 10:54:48 +03:00
Stefan Ceriu
c605dca245 Add the project.yml file to the generated project, switch all dependencies to update up to the next major version 2022-04-13 15:38:56 +03:00
Stefan Ceriu
35aad75326 Working tests, no more xcconfig files. 2022-04-13 13:57:27 +03:00
Stefan Ceriu
865b931c80 Initial setup. 2022-04-13 13:57:27 +03:00