Commit Graph

45 Commits

Author SHA1 Message Date
Stefan Ceriu b122b02bee Share extension (#3506)
* Setup simple share extension

* Switch the app url scheme to be the full bundle identifier

* Setup a share extension that show a SwiftUI view, uses rust tracing and redirects to the hosting aplication

* Move media as json through the custom scheme into the main app and deep link into the media upload preview screen

* Fix message forwarding and global search screen room summary provider filtering.

* Tweak the message forwarding and global search screen designs.

* Add a room selection screen to use after receiving a share request from the share extension

* Fix share extension entitlements

* Share the temporary directory between the main app and the extensions; rename the caches one.

* Remove the no longer needed notification avatar flipping fix.

* Extract the placeholder avatar image generator from the NSE

* Nest `AvatarSize` within the new `Avatars` enum

* Donate an `INSendMessageIntent` to the system every time we send a message so they appear as share suggestions

* Support suggestions in the share extension itself

* Improve sharing animations and fix presentation when room already on the stack

* Clear all routes when sharing without a preselected room.

* Fix broken unit tests

* Various initial tweaks following code review.

* Correctly clean up and dismiss the share extension for all paths.

* Move the share extension path to a constants enum

* Rename UserSessionFlowCoordinator specific share extension states and events

* Add UserSession and Room flow coordinator share route tests

* Tweak the share extension logic.
2024-11-13 14:02:47 +02:00
Stefan Ceriu 9d23dec2e9 Tracing and integration test tweaks (#3336)
* Disable image and document picker integration tests as they randomly fail to load and are flakey.

* Delete any pre-existing log files

* Various tracing tweaks and fixes:
- delete the custom tracing log levels as we can't control their ouput
- implement comparable on them
- change default levels only if the new chosen level increases their verbosity

* Make logging targets mandatory and fix their logging levels

* Switch back to using the `run_tests` reset simulator flag as `fastlane snapshot reset_simulators` was too generic and slow

* Switch all integration test taps to `tapCenter` (nee forceTap) after noticing missed taps on CI.

* Make the logging file prefix explicit, let the main app not use one.

* Rename tracing configuration `target` to `currentTarget`
2024-09-27 15:08:47 +03:00
Stefan Ceriu dc6d7f2985 Integration test improvements (#3330)
* Send a message from integration tests and check that it doesn't show up in the app logs
* Increase photo library timeout

* Wait for image tapping to process

* Send a message using the rich text editor too

* Wait for the various pickers to finish loading

* Set all logs to `trace` in integration tests

* Close formatting options after sending the second message

* Make sure logs are actually sent to tracing and get redirected to the right file

* Switch from using a custom `trace` log configuration to the lowest level `TracingConfiguration` we support
2024-09-26 10:15:09 +03:00
Doug e4736b12bb A bunch of random tweaks. (#3317)
- Fix warning on single case enum.
- Remove unused subjects.
- Fix a lint warning.
- Remove unused success value.
- Fix warning about position of try await.
- Add a note about the common tracing configuration.
- Show an indicator when resolving a send failure fails.
- Make sure the whole row is clickable in the GlobalSearchScreen.
2024-09-23 13:00:40 +01: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
Doug 9282088891 Remove OTLP support. 2024-05-08 11:33:37 +01:00
Benjamin Bouvier 23f553070b Disable trace logs for read receipts
Read receipts have been considered quite stable over the last few weeks, so
there's no need to keep the trace level for the associated logs for the time
being.
2024-03-08 17:47:45 +02:00
Matthew Hodgson 14d76d9860 Don't pass a URL as a log destination to rust (#2506)
On macOS (catalyst) URL.appGroupContainerDirectory returns:

/Users/matthew/Library/Group%20Containers/group.io.element/

So you need to strip the %20 out into a space, otherwise logging
fails with a permissions error.

* Use path(percentEncoded:)
2024-02-28 14:28:17 +02:00
Doug ff35688088 Handover log file management to Rust. (#2495)
* Handover log file management to Rust.

Fix all the tests, disabling the logging ones for now.

* Merge logging tests into a single case 😬

Not ideal but at least they're now running.

* Move TracingConfiguration into its own file.

* Split up the tests into smaller functions instead of writing code like a caveman.
2024-02-23 18:29:13 +00:00
Damir Jelić f9edb75da5 Enable trace logging for the Olm Account (#2427)
Co-authored-by: Mauro <34335419+Velin92@users.noreply.github.com>
2024-02-06 17:57:43 +00:00
Stefan Ceriu da298938cb Enable tracing logs for read receipts 2024-01-26 11:45:04 +02:00
Mauro 123164f398 Removing dead code part 2 (#2235)
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-12-15 20:16:16 +01:00
Stefan Ceriu a8be8f839b Fix new swiftformat warnings: convert types used for hosting only static members into enums. 2023-11-13 13:47:14 +02:00
Stefan Ceriu 14e0eba914 Bump the log level for matrix_sdk_crypto and matrix_sdk_http_client to debug 2023-11-08 11:18:03 +02:00
Stefan Ceriu 855b08144c Fixes #1861 - Report rust tracing configuration filter in rageshakes 2023-10-09 14:59:56 +03:00
Stefan Ceriu 2f22d474f4 Force matrix_sdk_ffi to always stay on the info log level. 2023-09-18 15:41:56 +03:00
Doug 27408fe818 Use trace for Client and OIDC logs. (#1682) 2023-09-12 09:00:34 +01:00
Doug d8fa82da76 Add client and OIDC tracing targets. (#1628) 2023-09-05 09:52:48 +01:00
Stefan Ceriu 3258d3a85d Allow setting custom log levels (#1592)
* Allow using custom tracing configuration from the developer options screen. Clean up RustTracing
* Move log level configurations to a separate view
* Disable autocorrection
* Fix unit tests
* Use TracingConfiguration.info as the default text value, switch to a TextEditor
2023-08-30 15:35:49 +03:00
Stefan Ceriu 33a53a2971 Logging tweaks: keep default log levels for common and hyper no matter what the feature flag says 2023-08-25 13:52:02 +03:00
Stefan Ceriu ecc549b280 Feature flag to OTLP tracing 2023-08-24 15:12:19 +03:00
Stefan Ceriu a19f5a4186 Expose the log level in developer settings 2023-08-23 16:17:49 +03:00
Stefan Ceriu d633b87609 Switch rust side sliding sync crates logging to debug instead of verbose 2023-08-22 16:36:44 +03:00
Stefan Ceriu 5400910855 Bump SDK to v1.0.107-alpha. Simplify syncService state handling 2023-08-16 18:21:57 +03:00
Stefan Ceriu 1bfd5e89ca Bump the RustSDK to v1.0.105-alpha 2023-08-09 13:33:48 +03:00
Mauro Romito af699d9a68 update logging 2023-07-12 17:58:25 +02:00
Doug ea4aa943e0 Improved bug report error handling (#1018)
* Improve rageshake error handling.

* Add a max file size and exclude older files one the limit is hit.

* Zip log files as smaller chunks.
2023-06-06 11:24:01 +03:00
Stefan Ceriu 02e7ab44c1 Overhaul room list updates logging 2023-05-11 16:29:06 +03:00
Stefan Ceriu be8adb19b5 Structured logging (#831)
* Structured logging support

* Bump the SDK, fix breaking changes

* Enabled more logging of timeline diffs

* Keep only source file last path components in logs

* Bump the SDK, tweaks following code review
2023-04-25 14:48:20 +03:00
Mauro ca319e0bfe Dpendencies update + improved dependencies version management (#721)
* updating dependencies

* minor version pinning

* update completed and also added a tool that checks for outdated swiftpm packages

* changelog

* DTCoreText uses exact version

* minor version for analytics

* pushing OutdatedPackages

* package.swift for the repo also using upToNextMinor

* fixing a typo

* Update Tools/Sources/OutdatedPackages.swift

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

* Update Tools/Sources/SetupProject.swift

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

* removing unused comment

* removed trailing comma

---------

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-03-23 11:26:20 +01:00
Doug 19303de8fa Add required state on subscribe. (#589) 2023-02-16 16:06:15 +00:00
Doug f6629e0d6e Hardcode the sliding sync proxy. (#502)
* Add support for migrating between versions.
* Rename InfoPlistReader property.
* Bump SDK version.
2023-01-31 17:48:24 +00:00
Stefan Ceriu ae8009d040 Various performance tweaks (#474)
* Store and reuse room list placeholder avatars and last messages

* Cache and reuse HomeScreenRooms

* Reduce RoomSummaryProvider diff collection time

* Promote more logs to info

* Slighty tweak RustTracing to make it easier to configure

* Move TimelineProvider and RoomTimelineController item processing to background queues

* Prevent the timeline from stopping an ogoing decelerating scroll when starting backpaginating
2023-01-20 14:40:23 +00:00
Stefan Ceriu 12c9e27056 chore: Setup HTTP request logging for the release as well (#471)
Co-authored-by: Damir Jelić <poljar@termina.org.uk>
2023-01-18 16:38:05 +02:00
Doug c8937505d7 Improvements to logging (#457)
* Use `.info` logging in most places.
* Remove old objc logging support.
* Fix table view controller.
* Make sure timeline item content isn't logged.
* Add tests.
2023-01-17 09:28:01 +00:00
Damir Jelić 1b9d1fedf1 chore: Setup logging for the crypto crate (#454) 2023-01-16 13:18:54 +02:00
Stefan Ceriu 497737b237 Fix incorrect tracing filter 2022-11-29 18:16:15 +02:00
Doug 5762dc3037 Setup tracing with a typed configuration. 2022-11-28 09:31:33 +02:00
ismailgulek d389ce7ad7 Notifications (#275) 2022-11-21 19:37:13 +03:00
Doug ba684d8efb #166: Re-write MXLogger in Swift
* Add logging tests that cover file rotation.

* Re-write MXLogger in Swift.
2022-11-18 15:02:01 +00:00
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
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 d74158ced1 #40: Add the login screen from EI.
- Remove SSO and replace fallback with OIDC.
2022-06-28 12:23:35 +01:00
ismailgulek fa0721b160 Rageshake Service (#70) 2022-06-06 12:38:07 +03:00