Commit graph

1272 commits

Author SHA1 Message Date
Thomas Ricouard
8a33b6c0d0 better attribution UI 2024-07-05 08:45:40 +02:00
Thomas Ricouard
d7429c078f Timeline subtitle 2024-07-04 08:54:23 +02:00
Thomas Ricouard
6f3f8e9dd0 Fix #2116 2024-07-03 14:17:35 +02:00
Christopher Schindler
fdb213e4bf
AccountDetail: fix wrong space on top of the header view (#2113) 2024-07-03 08:12:29 +02:00
Thomas Ricouard
478a788f87 Redesign News + support links attributions 2024-07-02 19:59:21 +02:00
Thomas Ricouard
9bc9961f34 Fix filtered notifications 2024-06-26 13:32:36 +02:00
Thomas Ricouard
2ab52d3d3e Optimize some text 2024-06-26 09:43:27 +02:00
Thomas Ricouard
cd60e0ce1a Fixed action view height 2024-06-26 09:26:34 +02:00
Thomas Ricouard
ff1d5733a0 Tryout: Fixed size optimizations 2024-06-26 09:03:00 +02:00
Nam
9887a81ef0
Make toolbar account selector button avatar match shape option. (#2098) 2024-06-25 10:59:43 +02:00
Christopher Schindler
f2ba08e1cc
Add an option to delete the avatar or header (#2109)
* Endpoint: add Profile endpoint

* EditAccount: add an option to delete the avatar or header

* EditAccount: always display avatar view
2024-06-25 10:59:19 +02:00
Thomas Ricouard
2b8bc2ecd3 Pin EmojiText + NukeUI 2024-06-24 16:01:20 +02:00
Thomas Ricouard
513c686b64 Back to main Bodega 2024-06-24 09:01:45 +02:00
Christopher Schindler
aaeb9eaa36
Fix the upload of heavy avatar or header image (#2103)
* Compressor: allows custom parameters for compressing image (maxSize, maxHeight, maxWidth)

* Account: configures the maximum image size for uploading avatar and header
2024-06-24 08:58:06 +02:00
Christopher Schindler
02a8cb12e9
AccountDetailView: fix white spacing on top of the view (#2110) 2024-06-24 08:56:17 +02:00
Thomas Ricouard
8e86e6d205 Back to main Introspect 2024-06-18 08:28:19 +02:00
Thomas Ricouard
551697eb2c Refix Introspect 2024-06-12 20:51:08 +02:00
Thomas Ricouard
02d73de113 Fix iOS 18 build + performances 2024-06-12 20:37:43 +02:00
Thomas Ricouard
375ea665b4 Default logout experience to trending timeline + remove cache when logout 2024-06-12 20:02:01 +02:00
Thomas Ricouard
1578896b3e Immersive short modal 2024-05-17 13:56:03 +02:00
Thomas Ricouard
ba3d8b1882 Composer: disable predictive type on all platforms 2024-05-17 13:55:55 +02:00
Thomas Ricouard
e3d4e693d2 More improvement to alt edit 2024-05-15 08:30:57 +02:00
Thomas Ricouard
86c053344b Improve media alt edit 2024-05-15 08:28:05 +02:00
Thomas Ricouard
a996aace80 Add translate for image alt 2024-05-14 19:43:52 +02:00
Thomas Ricouard
69cb9a20f9 Add native translate for media description edit + profile bio 2024-05-14 19:36:25 +02:00
Thomas Ricouard
bb005386df Merge branch 'main' of https://github.com/Dimillian/IceCubesApp 2024-05-13 22:20:45 +02:00
Thomas Ricouard
c77bb992b4 Update OpenAI models to gpt-4o 2024-05-13 22:20:43 +02:00
Paul Schuetz
7caf00d07d
Resolve escaped characters in a status (#2071)
* Resolve escaped characters in a status

Escaped characters are now returned to their original form for
HTMLString.asRawText.

* Unescape the markdown version too

The HTMLString.asMarkdown string is now also unescaped, & and
similar are resolved.

* Fix a internal fallback

If one of the unescape(...) commands fails, the original, unescaped
text is used instead of an empty string.
2024-05-13 21:32:38 +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
e21ec0bd1f Add expanded sidebar layout 2024-05-08 11:51:28 +02:00
Thomas Ricouard
9c42a3d7cc Add copy button for alt text 2024-05-08 11:03:25 +02:00
Thomas Ricouard
54a16b2c9a Fix unboost icon 2024-05-08 11:00:40 +02:00
Thomas Ricouard
a6f3068728 Add accounts list placeholder 2024-05-08 10:59:31 +02:00
Thomas Ricouard
f04258ec04 Revert "Delete unused functions in TimelineDatasource.swift (#2037)"
This reverts commit e9a2d3e151.
2024-05-08 10:50:22 +02:00
Noah Martin
e9a2d3e151
Delete unused functions in TimelineDatasource.swift (#2037) 2024-05-08 10:38:36 +02:00
Thomas Ricouard
a37316c56f Lint 2024-05-06 08:38:37 +02:00
Thomas Ricouard
24d5ecd119 Shortcuts: Fix image 2024-05-05 21:13:34 +02:00
Thomas Ricouard
1ca4a74ff0 Initial widget support 2024-05-05 13:12:19 +02:00
Thomas Ricouard
c3edabb183 Lint 2024-05-04 13:19:19 +02:00
Thomas Ricouard
66754ecc7c Fix editor progress bar 2024-05-04 11:27:52 +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
Euigyom Kim
6a7df1065d
Fix scrolling issue on emoji picker (#2032)
* Fix scrolling issue in emoji picker

* Fix design on emoji section header
2024-04-22 16:38:31 +02:00
Thomas Ricouard
899b92e390 Revert "Fix StatusRowContentView invade SwipeActions area (#2007)"
This reverts commit 3782300b27.
2024-04-19 06:46:56 -07:00
Thomas Ricouard
361b5f1d84 Fix tests 2024-04-17 11:11:22 -07:00
tkgka
3782300b27
Fix StatusRowContentView invade SwipeActions area (#2007)
* Fix StatusRowContentView invade SwipeActions area

* ./ add padding inside StatusRowMediaPreviewView
2024-04-17 10:54:46 -07: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
Thomas Ricouard
5c32c24ae5 Add supports for notifications filter API 2024-03-26 15:49:43 +01:00
Thomas Ricouard
058500f91e Swiftformat . 2024-03-11 09:05:52 +01:00