362 Commits

Author SHA1 Message Date
LibreTranslate
0c198a7d30 fix(l10n): Update Japanese translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/ja/
2024-10-24 22:47:26 +02:00
Weblate Translation Memory
da54e80ba5 fix(l10n): Update Italian translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/it/
2024-10-24 22:47:26 +02:00
LibreTranslate
5704191cb2 fix(l10n): Update Italian translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/it/
2024-10-24 22:47:26 +02:00
Weblate Translation Memory
a3da8d59fb fix(l10n): Update Icelandic translations
Currently translated at 46.4% (13 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/is/
2024-10-24 22:47:26 +02:00
Weblate Translation Memory
e5e8d70b37 fix(l10n): Update Indonesian translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/id/
2024-10-24 22:47:26 +02:00
LibreTranslate
54d23cd928 fix(l10n): Update Indonesian translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/id/
2024-10-24 22:47:26 +02:00
Weblate Translation Memory
c8580aa902 fix(l10n): Update Hungarian translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/hu/
2024-10-24 22:47:26 +02:00
LibreTranslate
9332bf0b9c fix(l10n): Update Hungarian translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/hu/
2024-10-24 22:47:26 +02:00
LibreTranslate
88fa047480 fix(l10n): Update Hindi translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/hi/
2024-10-24 22:47:26 +02:00
Weblate Translation Memory
84f887f6bf fix(l10n): Update Galician translations
Currently translated at 60.7% (17 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/gl/
2024-10-24 22:47:26 +02:00
LibreTranslate
940d2f23ed fix(l10n): Update Irish translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/ga/
2024-10-24 22:47:26 +02:00
Weblate Translation Memory
abadde88fb fix(l10n): Update French translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/fr/
2024-10-24 22:47:26 +02:00
LibreTranslate
13745ef82f fix(l10n): Update French translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/fr/
2024-10-24 22:47:26 +02:00
Kalle Kniivilä
c527595ca1 fix(l10n): Update Finnish translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/fi/
2024-10-24 22:47:26 +02:00
Weblate Translation Memory
0d484755da fix(l10n): Update Persian translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/fa/
2024-10-24 22:47:26 +02:00
LibreTranslate
d0dfec93ec fix(l10n): Update Persian translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/fa/
2024-10-24 22:47:26 +02:00
Weblate Translation Memory
18c9a4b3c9 fix(l10n): Update Basque translations
Currently translated at 46.4% (13 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/eu/
2024-10-24 22:47:26 +02:00
LibreTranslate
4a5816c705 fix(l10n): Update Spanish translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/es/
2024-10-24 22:47:26 +02:00
Weblate Translation Memory
fc5a93b652 fix(l10n): Update Spanish translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/es/
2024-10-24 22:47:26 +02:00
Weblate Translation Memory
039e6012a8 fix(l10n): Update Esperanto translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/eo/
2024-10-24 22:47:26 +02:00
LibreTranslate
5c21c69bf0 fix(l10n): Update Esperanto translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/eo/
2024-10-24 22:47:26 +02:00
Weblate Translation Memory
c9fa11d706 fix(l10n): Update German translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/de/
2024-10-24 22:47:26 +02:00
LibreTranslate
fc033582af fix(l10n): Update German translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/de/
2024-10-24 22:47:26 +02:00
Weblate Translation Memory
5052b11394 fix(l10n): Update Welsh translations
Currently translated at 46.4% (13 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/cy/
2024-10-24 22:47:26 +02:00
Weblate Translation Memory
e3ca89fbba fix(l10n): Update Czech translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/cs/
2024-10-24 22:47:26 +02:00
LibreTranslate
1b6bfb4305 fix(l10n): Update Czech translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/cs/
2024-10-24 22:47:26 +02:00
Weblate Translation Memory
f6c4f86806 fix(l10n): Update Catalan translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/ca/
2024-10-24 22:47:26 +02:00
LibreTranslate
e84fbfb256 fix(l10n): Update Catalan translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/ca/
2024-10-24 22:47:26 +02:00
Weblate Translation Memory
8442b6cc58 fix(l10n): Update Bulgarian translations
Currently translated at 50.0% (14 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/bg/
2024-10-24 22:47:26 +02:00
Weblate Translation Memory
fdff828c46 fix(l10n): Update Arabic translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/ar/
2024-10-24 22:47:26 +02:00
LibreTranslate
8f4dea5618 fix(l10n): Update Arabic translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/ar/
2024-10-24 22:47:26 +02:00
Nik Clayton
b9459d558b
feat: Show share sheet when long clicking links/hashtags/mentions (#1047)
This makes it easier to share links from a regular timeline (where text
is not selectable).

Listen for long clicks on spans by launching a delayed runnable that
waits `getLongPressTimeout()` ms before sending an intent that shows the
share sheet for the clicked span.

If the span's link is not the same as the text (e.g., it's a mention or
a hashtag) then the text of the span is also sent as the title to show
in the share sheet.

While I'm here, the official LinkMovementMethodCompat does the same job
as NoTrailingSpaceLinkMovementMethod, so delete the latter code in
favour of the former.

Fixes #695
2024-10-24 22:35:26 +02:00
Nik Clayton
5a35009e35
change: Remove unused code (#1044) 2024-10-23 15:16:07 +02:00
Nik Clayton
90bb85ba00
feat: Show "copy" button for links/hashtags/mentions in accessibility dialogs (#1041)
Users report that copying items can be difficult using Talkback.

Make this easier in the dialogs that appear for links, mentions, and
hashtags by using a dedicated adapter that displays a "Copy" button at
the end of each item.

Fixes #1038
2024-10-23 13:39:51 +02:00
Nik Clayton
2234c4c782
feat: Add accessibility options for tab justification and content (#1035)
Provide two new lab preferences for controlling the layout and content
of main navigation tabs.

Tabs can now be justfied to start, end, or fully (if room). Start/end
justification may put the tabs closer to the user's fingers, depending
on how they hold the device. Fully justified uses the full width of the
tab bar (if the tabs don't require scrolling).

The content can be set to one of:

- Icon only (previous behaviour)
- Text only
- Icon with text beside
- Icon with text below

Fixes #336
2024-10-21 17:49:19 +02:00
Nik Clayton
8fe2850229
fix: Don't prompt to discard/save unedited scheduled posts (#1034)
Previous code didn't send the language to ComposeActivity when editing a
scheduled status so it always appeared to be dirty. This prompted the
user to save/discard changes when backing out, even if they hadn't made
any changes.

Fix this by collecting the language code when fetching scheduled posts
and passing it in `ComposeOptions`.
2024-10-20 20:48:53 +02:00
Nik Clayton
0fe84f1611
refactor: Use Date type for scheduled post date / times (#1032)
Previous code accepted the `scheduledAt` value as a String, and kept it
as a String (including when serialising as part of a draft). Then it was
converted to an actual Date for display.

Refactor to keep it as a Date for as long as possible. Moshi decodes
Dates correctly over the network, and the database is configured to
serialise Dates as Longs.

This necessitates two migration steps to preserve any existing
`scheduledAt` values for drafts. The first step adds a new column to
store the date as a Long and copies over existing data. The second step
replaces the old column with the new column.
2024-10-20 16:29:32 +02:00
Nik Clayton
e68ab54f95
feat: Ignore suggested accounts that haven't posted in 28 days (#1031)
The "Suggested accounts" API returns dormant accounts. See this bug
report: https://github.com/mastodon/mastodon/issues/30674.

That's bad UX, so filter out any account that hasn't posted in the last
28 days.

Fixes #1029
2024-10-19 14:38:00 +02:00
Nik Clayton
a43ebab69b
feat: Add "Don't ask again" option when confirming the posting language (#1027)
For some users this feature has too many false positives, particularly
when emojis are used.

Provide a preference that enables/disables the feature, default to
"enable".

When the user is prompted the dialog has a third "Don't ask again"
option. If chosen the preference is set to prevent future prompts and
the status is sent as-is.

Fixes #893
2024-10-18 17:26:50 +02:00
Nik Clayton
ba83e971b1
fix: Show all search operators on 4.3.0+ servers (#1026)
Previous code didn't include the 4.2.x search operators on a 4.3.x
servers, so only the "in:public" operator was exposed.
2024-10-18 16:45:20 +02:00
Nik Clayton
c8aa4fd374
fix: Disable "Scheduled post" support on GoToSocial accounts (#1025)
GoToSocial servers don't support scheduled posts; they return the wrong
type, and this can cause a loop of posting.

The GoToSocial bug to implement scheduled posts is
https://github.com/superseriousbusiness/gotosocial/issues/1006.

Fix this by adding a new server capability for scheduled post support,
using it for most servers, and disabling it for GoToSocial.

If scheduled post support is not available for an account:

- The "Scheduled posts" menu option is not shown.
- The scheduling button (clock) when composing a post is hidden, so the
user cannot set scheduling parameters.

Fixes #963
2024-10-18 15:37:10 +02:00
Nik Clayton
2a9293cf3b
change: Document the WELLBEING_* preferences (#1010) 2024-10-18 01:29:39 +02:00
Nik Clayton
a5c8bf5e7e
fix: Remove the "Liimt timeline notifications" preference (#1009)
This wasn't acting as a preference.

It presented as a switch. If the user toggled it some notification
settings were changed for all accounts.

It wasn't clear what was changed, and if the user changed some of those
settings back the switch position did not change (it couldn't, you
couldn't meaningfully represent a partial change using a single switch).

Since the user has full control over the notification filters on a
per-account basis remove this "preference" to reduce confusion.

Fixes #935
2024-10-17 22:09:22 +02:00
Nik Clayton
ab186d4d07
fix: Bump database version after changing foreign key constraint (#1005) 2024-10-14 20:39:34 +02:00
Nik Clayton
eeca401942
fix: Don't crash if foreign key constraint is invalid in transaction (#1004)
ForeignKey constraints can be invalidated in the middle of a transaction
even if a later statement in the same transaction will make them valid
again. This seems to be causing production crashes.

Defer foreign key constraint checks until the end of the transaction to
prevent this.
2024-10-14 18:42:55 +02:00
Nik Clayton
9b99a78d1f
test: Ensure that all relevant MastodonAPI methods are stubbed (#1001)
Tests that rely on stubbing the MastodonAPI may have incorrect behaviour
if some of the API methods called by the system-under-test are not
stubbed. This can be difficult to track down.

Make this easier by adding a default answer for the MastodonAPI used in
tests. Any un-stubbed methods will throw an `AssertionError` with enough
information to identify the method that should be stubbed and where it
was called from.
2024-10-13 17:18:54 +02:00
Weblate (bot)
2bdec1d44b
fix(l10n): Translations update from Hosted Weblate (#998)
Translations update from [Hosted Weblate](https://hosted.weblate.org)
for [Pachli/Fastlane
Metadata](https://hosted.weblate.org/projects/pachli/fastlane-metadata/).


It also includes following components:

* [Pachli/App :
Fdroid](https://hosted.weblate.org/projects/pachli/app-fdroid/)

* [Pachli/Core/Ui :
Main](https://hosted.weblate.org/projects/pachli/coreui-main/)

* [Pachli/Feature/About :
Main](https://hosted.weblate.org/projects/pachli/featureabout-main/)

*
[Pachli/Feature/Login](https://hosted.weblate.org/projects/pachli/featurelogin/)

* [Pachli/Feature/Suggestions :
Main](https://hosted.weblate.org/projects/pachli/featuresuggestions-main/)

* [Pachli/App :
Main](https://hosted.weblate.org/projects/pachli/app-main/)

* [Pachli/Core/Network :
Main](https://hosted.weblate.org/projects/pachli/corenetwork-main/)

* [Pachli/Feature/Lists :
Main](https://hosted.weblate.org/projects/pachli/featurelists-main/)

* [Pachli/Core/Designsystem :
Main](https://hosted.weblate.org/projects/pachli/coredesignsystem-main/)

* [Pachli/Core/Activity :
Main](https://hosted.weblate.org/projects/pachli/coreactivity-main/)

* [Pachli/Core/Preferences :
Main](https://hosted.weblate.org/projects/pachli/corepreferences-main/)

* [Pachli/Core/Data :
Main](https://hosted.weblate.org/projects/pachli/coredata-main/)

* [Pachli/App :
Google](https://hosted.weblate.org/projects/pachli/app-google/)

* [Pachli/Core/Activity :
Orange](https://hosted.weblate.org/projects/pachli/coreactivity-orange/)



Current translation status:

![Weblate translation
status](https://hosted.weblate.org/widget/pachli/fastlane-metadata/horizontal-auto.svg)

Co-authored-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
2024-10-11 16:07:00 +02:00
Weblate (bot)
0cf50524f2
fix(l10n): Translations update from Hosted Weblate (#995)
Translations update from [Hosted Weblate](https://hosted.weblate.org)
for [Pachli/Fastlane
Metadata](https://hosted.weblate.org/projects/pachli/fastlane-metadata/).


It also includes following components:

* [Pachli/App :
Main](https://hosted.weblate.org/projects/pachli/app-main/)

* [Pachli/App :
Fdroid](https://hosted.weblate.org/projects/pachli/app-fdroid/)

*
[Pachli/Feature/Login](https://hosted.weblate.org/projects/pachli/featurelogin/)

* [Pachli/Feature/Suggestions :
Main](https://hosted.weblate.org/projects/pachli/featuresuggestions-main/)

* [Pachli/Feature/Lists :
Main](https://hosted.weblate.org/projects/pachli/featurelists-main/)

* [Pachli/Core/Ui :
Main](https://hosted.weblate.org/projects/pachli/coreui-main/)

* [Pachli/App :
Google](https://hosted.weblate.org/projects/pachli/app-google/)

* [Pachli/Core/Designsystem :
Main](https://hosted.weblate.org/projects/pachli/coredesignsystem-main/)

* [Pachli/Core/Data :
Main](https://hosted.weblate.org/projects/pachli/coredata-main/)

* [Pachli/Core/Activity :
Main](https://hosted.weblate.org/projects/pachli/coreactivity-main/)

* [Pachli/Feature/About :
Main](https://hosted.weblate.org/projects/pachli/featureabout-main/)

* [Pachli/Core/Preferences :
Main](https://hosted.weblate.org/projects/pachli/corepreferences-main/)

* [Pachli/Core/Activity :
Orange](https://hosted.weblate.org/projects/pachli/coreactivity-orange/)

* [Pachli/Core/Network :
Main](https://hosted.weblate.org/projects/pachli/corenetwork-main/)



Current translation status:

![Weblate translation
status](https://hosted.weblate.org/widget/pachli/fastlane-metadata/horizontal-auto.svg)

---------

Co-authored-by: Vaclovas Intas <vaclovas1999@gmail.com>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
Co-authored-by: LibreTranslate <noreply-mt-libretranslate@weblate.org>
2024-10-10 21:42:59 +02:00
Nik Clayton
23121459ab
refactor: Implement SharedPreferencesRepository.showSelfUsername property (#996) 2024-10-10 20:15:46 +02:00
Nik Clayton
fd0957d829
fix: Parse and restore poll when editing scheduled statuses (#994)
Previous code didn't deserialise the "poll" attribute so it was never
passed to the composer when editing scheduled statuses.

Fixes #991
2024-10-10 19:43:48 +02:00