122 Commits

Author SHA1 Message Date
Stefan Ceriu
55e399aaf7 Replace ImageMagick with a custom tool written in swift. 2025-01-21 16:25:29 +02:00
Stefan Ceriu
c29175d1f9 Support double-length pseudlanguage in fallback translations and update snapshots for en-us. 2025-01-15 14:59:54 +02:00
Stefan Ceriu
0bcc59ae0a Bump the RustSDK to v25.01.15 and fix (most) concurrency sendability warnings in the generated mocks. 2025-01-15 14:59:54 +02:00
manuroe
3950cac085
Dual licensing: AGPL + Element Commercial (#3657)
* New LICENSE-COMMERCIAL file

* Apply dual licenses: AGPL + Element Commercial to file headers

* Update README with dual licensing
2025-01-06 11:27:37 +01:00
Stefan Ceriu
536f01abbd
Retrofit deferFulfillment onto snapshot tests. (#3641)
* Retrofit `deferFulfillment` onto snapshot tests.

* Convert a bunch of preview tests to the new fulfillment publisher

* Convert more tests

* Remove unneeded delays from the remaining tests

* Remove snapshotting delay option.
2024-12-20 15:30:59 +02:00
Doug
2a865ce5bf
Implement the save action when previewing media. (#3630)
* Implement the save action on the media preview.

* Update Compound and use the correct icon.

Also fixes an icon that has been renamed.

* Update the add to photo library usage description to match the designs.

* PR comments.
2024-12-17 16:35:51 +00:00
Mauro
7d373c07a3
remove iOS 16 support (#3443)
* remove iOS 16 support

* remove iOS 16 support

* test updates

* added more delay

* revert

* adding waiting time on the CI
2024-10-24 17:21:28 +02:00
Doug
1723542d6a Fix an error message in BuildSDK. 2024-10-17 12:45:44 +01:00
Doug
3514eba4a5 Split up the generated tests from the snapshotting code. 2024-09-23 16:25:49 +01:00
Doug
5625e78fc9
Add support for account deactivation when not using OIDC. (#3295) 2024-09-17 20:08:35 +01:00
Stefan Ceriu
84a3ffc135 Require a specific snapshotting device minor OS version when running PreviewTests 2024-09-11 15:24:25 +03:00
Stefan Ceriu
2f6fea29f3
Replace Prefire with a very similar but simpler and more direct approach (#3232)
* Replace Prefire with a very similar but simpler and more direct approach

* Move PreviewTest snapshots to their new location (snapshotting default, mirrors UITests)

* Update acknowledgements

* Switch snapshot configuration extensions to a custom version

* Exclude snapshots from the PreviewTests target

* Fix acknowledgements

* Rename snapshotting preference keys

* Remove `skipPackagePluginValidation`
2024-09-09 15:07:41 +03:00
Stefan Ceriu
0d5f249196 Make SwiftFormat 0.54.4 happy. 2024-09-09 08:23:53 +03:00
Stefan Ceriu
664e87fe87
Switch license to AGPL (#3237)
* Switch license file to AGPL

* Update file copyright headers

* Update the default project file header
2024-09-06 16:34:30 +03:00
Stefan Ceriu
dc85cb10ed Stop running and publishing performance metrics to gh-pages 2024-09-05 13:49:56 +03:00
Doug
0c9da2cee9
Use SwiftPackageList to generate acknowledgements. (#3117) 2024-08-06 12:39:37 +01:00
Stefan Ceriu
b8dea8ac4e Handle multithreaded access crashes on unit tests using generated mocks
- always dispatch receivedInvocations mutations on the main queue
2024-06-13 14:38:33 +03:00
Doug
2487895207
Adopt Rust's new sessionPath that replaces the basePath (#2903) 2024-06-06 18:35:57 +01:00
Stefan Ceriu
53fc5df55b Generate mocks for all SDK classes and introduce a simple TimelineItemFactory test to try them out 2024-06-05 17:51:45 +03:00
Doug
8da1752493 Update the tools to use swift-command-line-tools. 2024-05-15 11:32:45 +01:00
Doug
8e4f62d639 Fix SDK build script. 2024-05-14 11:06:46 +01:00
Doug
11b683601b
Update build-sdk tool. (#2835)
- Support new --target option on Rust allowing multiple targets to be built.
- Add new --device and --simulator shortcuts.
2024-05-14 10:48:52 +01:00
Stefan Ceriu
7645971812 Attempt to improve unit test reliability:
- synchronize mock properties on the main queue
- sleep for longer when processing routes
- finish encoding before deallocating the keyed archiver
- wait for NotificationCenter notifications to be delivered
- change were we process remote notification permissions
2024-04-10 17:40:47 +03:00
Stefan Ceriu
83f5ae9192
Prefire multiple devices (#2543)
* Update Prefire, setup multiple snapshot devices and languages
Squashed commits:
[28cb4ae6d] Switch to macos-14, iOS 17 and the iPhone 15 simulator
[080fc82cb] Update snapshots
[c874ca9c7] Bump Compound and Prefire, reduce perceptual precission to 0.98
[a59b8a54c] Update snapshots after adding iPad and pseudolanguage snapshotting
[f30cc3277] Setup multi-language snapshotting
[aeb11c7e7] Update prefire template, setup multiple snapshot devices

* Update ruby dependencies and fastlane plugins

* Bump Compound, switch back to the original prefire - version 2.0.4

* Remove preview test simulator version specifiers
2024-03-12 13:08:54 +02:00
Stefan Ceriu
7615e97c7f
Fixes #2486 - Implement blocked users management in the app settings 2024-02-28 13:21:54 +02:00
Mauro
d380c2de56
Removed unused context menu + some unused code cleaning (#2487) 2024-02-20 14:36:04 +01:00
Mauro
1a8fd7d8ff
Download SAS Strings Tool + Localised SAS emojis (#2409) 2024-01-31 13:29:52 +01:00
Stefan Ceriu
756b96f7ff
Translation workflow fix (#2271)
* Setup the translations workflow through ci_scripts
2023-12-19 19:50:04 +02:00
Stefan Ceriu
c7276a6524 Remove debug flag from brew installs 2023-12-19 15:56:55 +02:00
Stefan Ceriu
9dd601e321 Add verbose and debug flags to brew installs 2023-12-19 15:01:17 +02:00
Mauro
09fb5461e6
Removing dead code part 3 (#2264) 2023-12-19 12:12:16 +01:00
Doug
af562eabf7
Process InfoPlist.strings in Localazy config. (#2249)
Also merge the 2 configs into one using a group to download all strings.
2023-12-15 08:58:34 +00:00
Mauro
b9a6ebe03a
Periphery to detect dead code (#2227) 2023-12-12 10:17:15 +00:00
Doug
37d88e622c
Add UI tests for AppLockFlowCoordinator. (#2055)
* Add UITests for the App Lock flow.

* Add Notification Signal

Fix unwanted imports in UITests.
2023-11-10 15:38:54 +00:00
Nicolas Mauri
e04a55eaef
Voice message recording enhancements (#2042)
* Use Combine to report AudioRecorder state changes

* AudioRecorder is now using AVAudioEngine instead of AVAudioRecorder

* Stop recording when audio configuration changes

* AudioRecorder error handling

* UnitTests

* Use Accelerate to calculate RMS
2023-11-08 10:19:28 +01:00
Doug
a4bf16bffa
Remove link LFS step in setup-project. (#1987) 2023-10-30 17:37:26 +00:00
Mauro
1ba6fb0a60
Suggestions view design improvements (#1955)
* snapshot tests

* making the padding of the composer internal

* setting the max width using the line fragment

* setting the max width using the line fragment

* Update ElementX/Sources/Screens/ComposerToolbar/View/CompletionSuggestionView.swift

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

* updated tests and pr suggestions

* better stencil

---------

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-10-24 19:09:36 +02:00
Stefan Ceriu
68442d5cd9 Revert "Debug is no longer crashing as of matrix-rust-sdk/pull/2595, time to make it the default again so that debugging works properly"
This reverts commit eb9c69ce20a05ebabee7a9580e1a8a7f8cc3ebb9.
2023-10-23 17:09:58 +03:00
Doug
ebd9f4c916
Add App Lock settings screen (#1917) 2023-10-19 12:26:34 +01:00
Stefan Ceriu
eb9c69ce20 Debug is no longer crashing as of matrix-rust-sdk/pull/2595, time to make it the default again so that debugging works properly 2023-10-18 15:46:08 +03:00
Doug
56a9820ded
Add remaining iOS 17 introspections. (#1806)
* Update compound.

* Update Ruby gems.

* Skip smudging in Fastlane.

* Link Git LFS for Xcode in setup-project.
2023-09-29 17:29:27 +01:00
Mauro
8b69308e05 Prefire compatibility with Xcode 15 (#1773)
* xcode ready solution

* now the previews won't fail but get generated

* delay in some screens that require a waiting state (the bloom does not work in previews)

* better code

* longer delay

removed and redone lfs

readded as lfs
2023-09-21 11:02:50 +02:00
Mauro
9d91cd4fc0
Preview Tests (#1768)
* preview testing

* removed some views that are not really testabl in UnitTests and improved other tests
2023-09-20 17:33:31 +02:00
Mauro
341b177e23
Prefire basic implementation (#1743)
* prefire basic implementation

force the unit tests to run on iPhone 14

skipping plugin validation

archive artifacts

better workflow

removed the OS restriction

lfs

custom stencil

new test file

deleting

* git lfs

* lfs

* test

* customised the stencil to support our internal protocol

* for now we can remove the OS check from the stencil

* added a delay

* tests have been moved

* improvement

* recommit

* perceptual precision lowered

* updated snapshot testing and selected also iOS version

* added ios version control
2023-09-20 14:07:18 +02:00
Doug
b3a0680d64
Update App Icon (#1720)
Remove original TestFlight icon and unused iconizer.sh script.
2023-09-15 12:34:01 +01:00
Stefan Ceriu
a4e5e4f0ed
Switch callbacks to combine (#1710)
* #750 - Convert the SoftLogoutScreen to combine

* #750 - Convert the UserSessionFlowCoordinator to Combine

* #750 - Convert the AnalyticsPromptScreen to Combine

* #750 - Convert the LoginScreen to Combine

* #750 - Convert the ServerSelectionScreen to Combine

* #750 - Convert the EmojiPickerScreen to Combine

* #750 - Convert the HomeScreen to Combine

* #750 - Convert the MediaUploadPreviewScreen to Combine

* #750 - Convert the OnboardingScreen to Combine

* Rename `Onboarding` to `OnboardingScreen`

* #750 - Convert the ReportContentScreen to Combine

* #750 - Convert the RoomDetailsSscreen to Combine

* #750 - Convert the RoomMemberDetailsScreen to Combine

* #750 - Convert the RoomMembersListScreen to Combine

* #750 - Convert the SessionVerificationScreen to Combine

* #750 - Convert the SettingsScreen to Combine

* #750 - Convert the AdvancedSettingsScreen to Combine

* #750 - Convert the DeveloperOptionsScreen to Combine

* Fix the unit tests

* Use .sink action and the same cancellables constructor everywhere

* Cleanup cancellables when setting up tests
2023-09-14 12:53:33 +03:00
Stefan Ceriu
5eb82d3c88 Fix integration test performance parsing 2023-08-28 13:44:34 +03:00
Stefan Ceriu
6171d878b0 Signposting: split sync into initialSync and firstRooms which will track how long the very first sync takes separately from how long the first rooms appear in the list 2023-08-24 18:19:42 +03:00
Doug
c64fb44c96
Use Compound ListRow instead of Compound form styles. (#1484)
* Adopt ListRow Component.

* Update snapshots.

To check in future PR:
- Pseudo Bug Report Attach Screenshot label
- Bug Report screenshot padding (Use ListRow .custom?)
- De-bold Analytics & Notification Settings footer links
- Inline picker alignment perhaps?

* Changelog

* Update Compound.

* Use the label on the login screen.
2023-08-16 16:08:30 +01:00
Stefan Ceriu
6e5854abf9 Simplify the screen templates 2023-08-02 14:15:35 +03:00