Commit Graph

49 Commits

Author SHA1 Message Date
Doug
082480aa28 Add MXLog.dev for faster print debugging. (#3694)
* Add MXLog.dev for easier print debugging.

* Remove the unused context parameter on MXLog.
2025-01-22 09:18:12 +00:00
Stefan Ceriu
7a4534680f Move tracing configuration to the rust side. 2025-01-10 19:09:52 +02:00
Doug
52db2b9f1d Add the event cache to the Rust tracing configuration. (#3662) 2025-01-06 12:58:41 +00:00
manuroe
c29f4cc9b4 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
07cf873484 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
e918dc66ae 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
79e3758887 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
dcf380749a 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
89eae00479 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
9ebf68f276 Remove OTLP support. 2024-05-08 11:33:37 +01:00
Benjamin Bouvier
e659cbfb37 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
f9cca9fb5d 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
5bdfcc58c1 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ć
34e4abe510 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
7fca4c80d0 Enable tracing logs for read receipts 2024-01-26 11:45:04 +02:00
Mauro
a705d18ba6 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
0ed753982d Fix new swiftformat warnings: convert types used for hosting only static members into enums. 2023-11-13 13:47:14 +02:00
Stefan Ceriu
d52f2a051f 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
c1012fcc85 Fixes #1861 - Report rust tracing configuration filter in rageshakes 2023-10-09 14:59:56 +03:00
Stefan Ceriu
9957daf68a Force matrix_sdk_ffi to always stay on the info log level. 2023-09-18 15:41:56 +03:00
Doug
539028d68e Use trace for Client and OIDC logs. (#1682) 2023-09-12 09:00:34 +01:00
Doug
ad5fffe0ed Add client and OIDC tracing targets. (#1628) 2023-09-05 09:52:48 +01:00
Stefan Ceriu
161c549ffd 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
b77305b3f1 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
9d7fe89bce Feature flag to OTLP tracing 2023-08-24 15:12:19 +03:00
Stefan Ceriu
81bb239f46 Expose the log level in developer settings 2023-08-23 16:17:49 +03:00
Stefan Ceriu
f0813217e9 Switch rust side sliding sync crates logging to debug instead of verbose 2023-08-22 16:36:44 +03:00
Stefan Ceriu
bf386f4c64 Bump SDK to v1.0.107-alpha. Simplify syncService state handling 2023-08-16 18:21:57 +03:00
Stefan Ceriu
932a86ff8c Bump the RustSDK to v1.0.105-alpha 2023-08-09 13:33:48 +03:00
Mauro Romito
e20421416d update logging 2023-07-12 17:58:25 +02:00
Doug
edbef54243 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
fcdb71dac5 Overhaul room list updates logging 2023-05-11 16:29:06 +03:00
Stefan Ceriu
94cfaeeaa0 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
b5eb39af8d 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
389eb1f2b5 Add required state on subscribe. (#589) 2023-02-16 16:06:15 +00:00
Doug
af7005ce19 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
523a5b3b09 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
6e3e62d936 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
4b278a9fd1 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ć
a8896c865a chore: Setup logging for the crypto crate (#454) 2023-01-16 13:18:54 +02:00
Stefan Ceriu
21545fe400 Fix incorrect tracing filter 2022-11-29 18:16:15 +02:00
Doug
b7a09364a6 Setup tracing with a typed configuration. 2022-11-28 09:31:33 +02:00
ismailgulek
5d92a7d85d Notifications (#275) 2022-11-21 19:37:13 +03:00
Doug
6e06d92023 #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
a2fc70866f 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
c125189b89 Enable blank line rules. (#132) 2022-07-06 16:01:50 +01:00
Doug
a272980b62 Add SwiftFormat to the project. (#129)
* Run swiftformat for whitespace.
* Run swiftformat with some rules.
2022-07-06 14:49:05 +01:00
Doug
da7cc779fe #40: Add the login screen from EI.
- Remove SSO and replace fallback with OIDC.
2022-06-28 12:23:35 +01:00
ismailgulek
cecf9f9cf5 Rageshake Service (#70) 2022-06-06 12:38:07 +03:00