Commit Graph

37 Commits

Author SHA1 Message Date
Doug
93d483ccfa Advertise support for matrix as a URL scheme. (#4236)
Internally everything is already in place to handle Matrix URIs as we support them within the app.
2025-06-20 13:59:25 +01:00
Doug
b249f0449a Configure diagnostics (and MapLibre) using Pkl. (#3820)
* Bump the version for the next release.

* Ignore all generated sources.

* Use Pkl+XcodeGen to inject secrets instead of the project.

* Inject the PostHog/Sentry/Rageshake configuration from the environment.

* Fix bad unicode.

* Fix unit tests.
2025-02-24 18:36:08 +00:00
Doug
f39b5ad49b 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
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
7b12e95192 Show ElementCalls in the system Recents list and allow deep linking back into a call from there 2024-05-27 17:04:48 +03:00
Stefan Ceriu
70bf5d0e8d Add support for showing the native OS incoming call screen when starting new Element Calls 2024-05-24 15:32:56 +03:00
Doug
9ebf68f276 Remove OTLP support. 2024-05-08 11:33:37 +01:00
Doug
37a8c8988b Update strings and add productionAppName value for the new placeholder. (#2677)
* Update strings and add productionAppName value for the new placeholder.

* Fix snapshots.

* Fix more snapshots.
2024-04-10 16:58:00 +01:00
Doug
5bb85257e2 Add support for Face ID/Touch ID to app lock. (#1966)
* Fix biometrics with low grace period and backgrounding before unlocked.

* Trigger permissions alert when enabling Face ID.
2023-10-27 09:09:12 +00:00
Alfonso Grillo
082df683ee Update permission alerts (#1953)
* Update system alerts

* Update localisations

* Update localizations
2023-10-24 14:57:27 +00:00
Stefan Ceriu
1fe7d270aa Use a different scheme for Element Call in the form of io.element.call:/?url=some_url 2023-09-19 18:11:09 +03:00
Stefan Ceriu
b6ea17c535 Top level deeplink handling (#1660)
* Handle link opening on the top most levels and prepare for percolating them throughout the app
* Add support for a custom app scheme
* Add specific AppRoute parsers.
* Integrate custom scheme in the AppRouteURLParser
* Switch to `element://call` and cleanup route parsing
2023-09-11 12:31:31 +03:00
Stefan Ceriu
4505712f7b Generic element call link support (#1643)
* Remove swift-url-routing and replace it with a custom implementation. It fails parsing the fragments in app.element.io links and it doesn't bring any value
* Add handling for opening generic element call links
* Add applinks support for call.element.io
* Enable VoIP and Audio playback background modes
2023-09-07 12:06:18 +03:00
Stefan Ceriu
9d7fe89bce Feature flag to OTLP tracing 2023-08-24 15:12:19 +03:00
Stefan Ceriu
da8e087a4e Add missing document configuration as per ITMS-90737
By declaring the CFBundleDocumentTypes key in your app, you've indicated that your app is able to open documents. Please set the UISupportsDocumentBrowser key to 'YES' if your app uses a UIDocumentBrowserViewController. Otherwise, set the LSSupportsOpeningDocumentsInPlace key in the Info.plist to 'YES' (recommended) or 'NO' to specify whether the app can open files in place. All document-based apps must include one of these configurations. For more information, visit https://developer.apple.com/document-based-apps/.
2023-08-22 18:30:22 +03:00
Mauro
eabdd2c3f2 MessageText component (#1521)
* MessageText component

* swiftformat

* fix swift format being a bit crazy

* link tapping support

* new test + fix for font + dynamic support

* fix for blockquote issue.

* code improvement

* small code improvement and fixed tests not working due to weird swiftformat behaviour

* fix boost emoji

* updated swiftformat

* better testing

* UI tests updated

* fixing the issue with the cache overriding the size category changes

* whitespaces

* appropriate color + better info plist parsing

* cleaned the code and fixed links

* tapping link fixes

* list bug fix

* ui tests regenerated
2023-08-22 10:14:23 +00:00
Alfonso Grillo
f0ee7e1499 Move Map Libre API key to Xcode Cloud (#1313)
* Add config_production lane

* Add maplibre to .gitignore

* Add setupMapLibreKey

* Add documentation

* Fix failing UTs

* Fix more UTs

* Cleanup

* Add secrets.xcconfig

* Cleanup gitignore file

* Update post-checkout hook

* Cleanup SetupProject

* Update project

* Remove leftover in SetupProject

* Cleanup project.yml

* Add fastlane-plugin-xcconfig

* Improve test

* Update docs
2023-07-14 10:19:38 +02:00
Flescio
e93af88ea5 Send current user location (#1272)
* add new asset for location, add logic for sharing user current location

* work on default zoom and auth for location

* add attribution button

* fix attribution button position, fix isSharingUserLocation

* Add NSLocationWhenInUseUsageDescription back

* Fix initial animation

* change map logo and attribution position

* Add annotation just in the setup

* add errors and alert for map vies

* location unit test

* add unit test for location sharing

* add changelog

* Update ElementX/Sources/Other/MapLibre/MapLibreMapView.swift

Co-authored-by: Alfonso Grillo <alfogrillo@gmail.com>

* add comments and minor parameters refactor

* Update ElementX/Sources/Screens/LocationSharing/StaticLocationScreenCoordinator.swift

Co-authored-by: Mauro <34335419+Velin92@users.noreply.github.com>

* Update ElementX/Sources/Screens/LocationSharing/StaticLocationScreenViewModel.swift

Co-authored-by: Mauro <34335419+Velin92@users.noreply.github.com>

* Sort assets

* Cleanup

* Cleanup

* Fix error localizations

* Fix tests

---------

Co-authored-by: Alfonso Grillo <alfogrillo@gmail.com>
Co-authored-by: Mauro <34335419+Velin92@users.noreply.github.com>
2023-07-11 10:42:59 +00:00
Stefan Ceriu
7b11bef8b0 Temporarily remove the location usage description 2023-06-26 16:23:44 +03:00
Doug
cf410fd7e0 App polish part 5 (#1149)
- Set launch/splash screens to default background colour.
- Replace launch screen storyboard with info plist keys.
- Remove useless layout components in bubble styler.
- Fix lint error.
- Rename all assets.
- Update design of Analytics Prompt.
2023-06-23 17:10:37 +01:00
Flescio
7040cd41c1 Add reverse geocoding service (#1085)
* add Geocoding service

* move url session extension
2023-06-15 16:40:42 +02:00
Stefan Ceriu
5166885322 Use $(APP_DISPLAY_NAME) in camera and microphone usage descriptions 2023-06-13 17:26:29 +03:00
Stefan Ceriu
02f916ea3d Update camera and microphone usage descriptions 2023-06-13 17:26:29 +03:00
Stefan Ceriu
6c7c10ebc0 Fixes #1072 - Crashes when trying to save media to the photo library 2023-06-13 11:20:04 +03:00
Stefan Ceriu
8635fd9367 Change the bundle display name to Element X, keep the rest as ElementX 2023-06-08 12:49:09 +03:00
Stefan Ceriu
4b65475cc1 Revert "Change the bundle display name to Element X, keep the rest as ElementX"
This reverts commit 6b79204eec.
2023-06-08 12:49:09 +03:00
Stefan Ceriu
6b79204eec Change the bundle display name to Element X, keep the rest as ElementX 2023-06-07 15:08:47 +03:00
Stefan Ceriu
c3b029f1a0 Add background app refresh support (#892)
* Add background app refresh support

* Cleanup: move methods around so delegates are implemented above privates and privates are ordered better

* Add discardableResult on the userSessionStore's refreshRestorationToken
2023-05-15 13:06:25 +03:00
Stefan Ceriu
c27a56d231 Implements #745, #746, #747 - Initial media uploading flows
- room composer contextual menu for selecting source
- coordinator for presenting the different sources
- system picker handling and URL passback
- file preview after selection
- feature flag
2023-03-31 17:00:36 +03:00
Doug
854178ba72 Fix keychain access on macOS. (#354) 2022-12-06 17:39:15 +00:00
ismailgulek
5d92a7d85d Notifications (#275) 2022-11-21 19:37:13 +03:00
Stefan Ceriu
4e1bdf0554 Xcode Cloud Support (#234)
* Removed now unnecessary code from alpha builds
* Add nightly build configuration
* Update ruby dependencies
* Stop changing the app name for PRs and Nightly, the icon is sufficient
* Add ITSAppUsesNonExemptEncryption flag as per https://developer.apple.com/documentation/bundleresources/information_property_list/itsappusesnonexemptencryption and https://stackoverflow.com/questions/35841117/missing-compliance-status-in-testflight
* Updated app groups to reflect various environments: production, nightly and PR. Remove keychain access group as they should be inferred from the access groups
2022-10-24 16:00:17 +03:00
Johannes Marbach
130683564b Include app name in default session display name (#227) 2022-10-14 12:44:41 +00:00
Doug
5a1b9463bc #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
4117e36ba9 Update project folllowing xcodegen changes. 2022-05-16 13:27:26 +03:00
Stefan Ceriu
53ca8c8eb0 Correct versions and swiftlint build script. 2022-04-13 13:57:27 +03:00
Stefan Ceriu
6d86e17dac Initial setup. 2022-04-13 13:57:27 +03:00