Commit graph

490 commits

Author SHA1 Message Date
Thomas Ricouard a9398c25af fix #2064 2024-05-15 10:52:41 +02:00
Thomas Ricouard bab2b4be9c Fix localization 2024-05-14 12:20:25 +02:00
Thomas Ricouard ecd149b3d2 Fix a crash in quote post editor on macOS 2024-05-13 19:26:48 +02:00
Paul Schuetz 48faddebea
Implement Apple Translate (#2065)
* Implement a first version of Apple's Translation

The user can now choose between his instance's server, DeepL (with API
key) and Apple's Translation framework. A translation is cleared if
the translation type is changed. The strings aren't yet written, but
the translations settings view's inconsistent background is now fixed.

* Transfer the old "always_use_deepl" setting

The "always_use_deepl"-setting is now deleted, but its content is
transferred to the equivalent value in "preferred_translation_type".

* Show the user if the DeepL-API key is still stored

The user is now shown a prompt if they've switched away from
.useDeepl, but there's still an API key stored. The API key is not
deleted if the user doesn't instruct the app to do so, so this change
makes it more transparent, since a user might not expect the key to
be stored and might not want this to be the case.

* Localize Labels

The labels for the buttons and options are now localized. "DeepL API Key" is written consistently (with uppercase Key)

* Run all the strings through localization

The strings "DeepL" and "Apple Translate" are now also saved in
localizable.strings and addressed through keys. They were taken
directly previously, which was inconsistent.

* Fix storage

The selected value for preferredTranslationType wasn't stored, the
synchronization between UserPreferences and Storage is now in place.

* Hide Apple Translate if not yet on iOS 17.4

The Apple Translate option is hidden if the user hasn't updated their
phone to at least iOS 17.4. If the Apple Translate option is selected
but the user has downgraded to before iOS 17.4, the standard instance
option is selected.

* Consistently show Apple Translate

Apple Translate was previously only shown if the standard translate
button was visible, that is now fixed. It's now attached to the
StatusRowView, which is always present.

* Animate the removal of translations

The reset of a translation when the translation type is changed is now
animated, which is important for iPad users if they've translated a
post in the sidebar.

* Add support for the Mac Catalyst build

The Mac Catalyst Version doesn't allow the import of the api, so
compiler flags now check if the import isn't allowed and then remove
all references to Apple Translate.

* Swift Format

* Revert "Run all the strings through localization"

This reverts commit 86c5099662.

# Conflicts:
#	Packages/Env/Sources/Env/TranslationType.swift

* Remove the DeepL fallback

The DeepL fallback for the instance translation service is removed,
error messages are shown if a translation fails.

* Allow for the use of an User API Key as fallback

The DeepL fallback is reinstated if the user has put in their own API
Key

* Make the localization keys clear strings

* Make Apple and the instance a fallback

Apple Translate is now a fallback for both other translation types,
the instance service is a fallback for DeepL.
2024-05-13 13:27:21 +02:00
Thomas Ricouard a8039df22d Don't open link on secondary column 2024-05-13 09:27:24 +02:00
Thomas Ricouard e21ec0bd1f Add expanded sidebar layout 2024-05-08 11:51:28 +02:00
Igor Camilo 1f56fa1b9b
Add tooltip to sidebar buttons. (#2040) 2024-05-08 10:38:27 +02:00
Thomas Ricouard c3edabb183 Lint 2024-05-04 13:19:19 +02:00
Thomas Ricouard 5a93184c6d Rename Intent 2024-05-04 11:34:51 +02:00
Thomas Ricouard 49a5c6a56a Add more shortcuts 2024-05-02 11:37:38 +02:00
Thomas Ricouard 4e4d903c44 Add AppIntent service + post to Mastodon intent 2024-05-02 09:32:19 +02:00
Thomas Ricouard abcd4cc321 Add muted and blocked accounts list 2024-05-02 08:43:58 +02:00
Nathan Reed 8038e8e6af
Improve deep link handling on cold start (#2026)
Previously, if the app was not already running when the Safari action extension was used to open a post in the app, the post would open in the in-app Safari instead of using the Ice Cubes UI.
The action extension only worked well if Ice Cubes was already running but backgrounded when it was used.
This was because of the `hasConnection(with:)` check used to ensure that the current server has a federation relationship with the server the post is on.
Early in app launch, the list of federated peers has not come back from the API request yet, so `hasConnection(with:)` was always returning `false`.

To fix, issue a request to fetch the peers as part of the URL handling process, before checking `hasConnection(with:)` to make the final navigation decision.
As an optimization, only do this if `hasConnection(with:)` returns `false` initially -- if it returns `true`, we already know a connection exists so no need to check again.
2024-04-02 08:26:58 +02:00
Ahnaf Mahmud eb82a67671
Update menu bar and copyright (#2025)
* Update menu bar

* Update copyright
2024-04-02 08:25:52 +02:00
Thomas Ricouard 5c32c24ae5 Add supports for notifications filter API 2024-03-26 15:49:43 +01:00
Thomas Ricouard 9a7e6b7cb0 Various fixes for Xcode 15.3 2024-03-11 08:59:29 +01:00
Thomas Ricouard b56da94a7c Add more sheets to shared + link to filters in timeline top filters 2024-02-21 09:45:29 +01:00
Thomas Ricouard 1f858414d8 format . 2024-02-14 12:48:14 +01:00
Thomas Ricouard 7423aba92a Fix crash on visionOS in AboutView 2024-02-11 18:59:34 +01:00
Thomas Ricouard 923927cddd Cleanup 2024-02-11 11:12:34 +01:00
Thomas Ricouard e7bc857231 News trending links experience 2024-02-10 11:26:22 +01:00
Thomas Ricouard b9b3d0e727 Enhance visionOS support 2024-02-06 15:17:20 +01:00
Thomas Ricouard 20f4eb9c71 Remove section 2024-01-24 13:38:46 +01:00
Thomas Ricouard 3eec5c0eec new top / bottom bar 2024-01-23 08:51:58 +01:00
Thomas Ricouard 016e4d5d57 Refactor CancelToolbarItem 2024-01-23 08:13:45 +01:00
Thomas Ricouard a6ccdc029b Timeline filter: Add ControlGroup 2024-01-22 06:38:56 +01:00
Le-Roy Karunaratne ed9a4a598d
Resolve #359 Optional Missing Alt-Text warning (#1895)
* Resolve #359 Optional Missing Alt-Text warning

Add toggle in settings to require alt text (default off)
If setting is enabled, posting show an error if any attached media is missing alt text

* Re-localized strings
2024-01-22 06:28:03 +01:00
Thomas Ricouard a79a181d6f Content Filter view: Blurred background 2024-01-21 11:22:07 +01:00
Thomas Ricouard 3577254f08 VisionOS: Disable theming 2024-01-21 11:13:25 +01:00
Thomas Ricouard 17387626b8 New App Icon 2024-01-21 09:31:50 +01:00
Thomas Ricouard 709dd79e25 Fix for visionOS + Remove shimmer 2024-01-19 08:51:29 +01:00
Thomas Ricouard 0dea624060 VisionOS fixes 2024-01-16 18:43:09 +01:00
Thomas Ricouard a4927fd30c VisionOS fixes 2024-01-15 21:15:40 +01:00
Ahnaf Mahmud 7c8ea23ae9
Correct platform name depending on device (#1883) 2024-01-13 17:51:32 +01:00
Thomas Ricouard a737c61d15 Add window default size 2024-01-13 15:50:20 +01:00
Thomas Ricouard 27da37e9ec Fix #1859 2024-01-13 08:48:29 +01:00
Thomas Ricouard 8c68aa711d Content filter detent 2024-01-11 20:02:48 +01:00
Thomas Ricouard 2f5307bfc7 Add timeline content filter 2024-01-11 18:55:35 +01:00
Thomas Ricouard 0da8228e61 Followed Tags + Lists tab. + sidebar customization 2024-01-10 13:26:55 +01:00
Thomas Ricouard 6246d7b0a5 Fill tab only if selected 2024-01-10 08:56:35 +01:00
Thomas Ricouard 8ea3fa73e5 Fix #1851 (both) 2024-01-09 19:06:54 +01:00
Thomas Ricouard b7e8f63e86 Multi window visionOS support 2024-01-09 13:28:57 +01:00
Thomas Ricouard c86d627cee VisionOS fixes 2024-01-09 08:12:22 +01:00
Thomas Ricouard e79ead5efe visionOS fix 2024-01-08 21:21:14 +01:00
Thomas Ricouard e725b6be4d Create new lists from timeline home menu even if no lists 2024-01-08 18:22:32 +01:00
Clemens Beck 334b09ebe3
Feature: Use tagGroup icon in timeline quick access feature (#1834)
* Use tagGroup icon in timeline quick access feature

* Make tagGroup symbol optional
2024-01-07 18:38:45 +01:00
Thomas Ricouard c4c86e1434 Fix audio session 2024-01-07 17:52:28 +01:00
Thomas Ricouard 2c7ca2ca81 Add new setting to mute video 2024-01-07 17:33:37 +01:00
Thomas Ricouard 6e981a99fc Various fixes 2024-01-07 10:35:11 +01:00
Thomas Ricouard a80d36227e Allow video to play sound full screen 2024-01-06 22:08:41 +01:00