Youtube links look a lot like fediverse links, so we added a special rule for it, just in case. This may mitigate the too many requests problems we are facing.
Not sure if something has changed in the Akkoma API since the latest
version of `AkkomaTranslateStatus`, but it seems that the API expects
the target language to be _lowercase_ (not _uppercase_).
Libretranslate nginx traces from my instance with the current
implementation show a 400 with the current implementation:
```
1.2.3.4 - - [11/Feb/2025:11:40:34 +0100] "POST /translate HTTP/1.1" 400 32 "-" "Akkoma 3.13.2-0-g050bc74; https://myinstance.social <fabio@myinstance.social>"
```
And that's also mirrored on my Akkoma logs:
```
1.2.3.4 - - [11/Feb/2025:11:40:35 +0100] "GET /api/v1/statuses/Ar0PZaoyJwN2GD3UJs/translations/EN HTTP/2.0" 400 54 "-" "MoshidonAndroid/2.3.0+fork.108.moshinda"
```
A direct API call to the endpoint above indeed returns a 400:
```
{"error":"libre_translate: request failed (code 400)"}
```
But everything works when `en` is used instead of `EN`:
```
{"text":"<p>Help me! </p><p>**As a large organization you go to Mastodon because: **<br/>- You want to set a standard<br/>- Guarantee your free access to your posts<br/>- as an anti-reaction against big tech and its associated:<br/> - data collections<br/> - earning models<br/> - algorithms that spread her<br/>- ... </p><p>**You run your own server because: **<br/>- your owner wants to remain over your dates<br/>- you can arrange your own accounts for your employees<br/>- ...</p><p>What arguments would you have for switching to Mastodon and own server?</p>","detected_language":"nl"}
```
- Upgrade to Gradle 8.11
- Upgrade to Android Gradle Plugin 8.7.2
- Remove deprecated android.defaults.buildfeatures.buildconfig=true
gradle property, it is not needed as mastodon/build.gradle already
sets android { buildFeatures { buildConfig true } }
- Move plugin repository definition to settings.gradle to match latest
Gradle practices
- Move to using plugin {} mechanism to add Android Gradle Plugin to
match the latest Gradle practices
- Remove root project clean task as this project does not produce any
real artifacts, it seems to be leftover from original Android new
project template
Partially 6c519b3cb9 to use the full row
again, but keep the selection in a dialog. This improves the UI, as the
secondary button is confusing, and feels out-of-place.