Commit Graph

2692 Commits

Author SHA1 Message Date
Levi Bard 8551785389
Fix hiding/showing preview cards for sensitive statuses (#2600)
* Update comment on StatusViewData.isCollapsible

* Fix hiding/showing preview cards for sensitive statuses.
Fixes #2565

* Fix typo
2022-06-24 21:47:49 +02:00
mcclure 3ca8a0b549
Use specific term "image" in error UI, not "attachment" (#2592)
The new message for the crop feature, "The attachment could not be edited.", turned out to be awkward in some languages (French) where according to the translator it would be better to more specifically say "The image could not be edited." (as currently we can only edit images). Patch replaces error_media_edit_failed with a error_image_edit_failed and deletes the existing error_media_edit_failed-s.
2022-06-21 22:14:11 +02:00
Konrad Pozniak f419e83c16
improve logout (#2579)
* improve logout

* fix tests

* add db migration

* delete wrongly committed file again

* improve LogoutUsecase
2022-06-20 16:45:54 +02:00
XoseM e0f5c35eff Translated using Weblate (Galician)
Currently translated at 100.0% (488 of 488 strings)

Co-authored-by: XoseM <xosem@disroot.org>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/gl/
Translation: Tusky/Tusky
2022-06-20 14:11:34 +00:00
Konrad Pozniak dba2fbc5c1
fix empty timeline on initial load (#2586) 2022-06-20 16:11:30 +02:00
Levi Bard 2e33233309
Don't display bot badge in account selection dialog (#2589) 2022-06-20 16:11:07 +02:00
Konrad Pozniak 1a29a589e1
rewrite InstanceDao queries to drop unused columns (#2585) 2022-06-20 16:08:19 +02:00
hebbeff eeab688d9d Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (488 of 488 strings)

Co-authored-by: hebbeff <hebbeff@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/zh_Hans/
Translation: Tusky/Tusky
2022-06-16 16:51:39 +00:00
Konrad Pozniak 3417a7272a
use moshis Rfc3339DateJsonAdapter for json date parsing (#2584)
* Rename .java to .kt

* use moshis Rfc3339DateJsonAdapter for json date parsing
2022-06-16 18:51:35 +02:00
Konrad Pozniak fd568aedba
fix refreshing notifications screen when there are no notifications (#2583) 2022-06-16 18:50:01 +02:00
Karmanyaah Malhotra cbc5077b1f
UnifiedPush: FEATURE_BYTES_MESSAGE distributors (#2581)
Only use distributors which are compatible with FEATURE_BYTES_MESSAGE
This is because Mastodon sends notifications that are arbritary bytes,
not UTF-8. This causes issues in older versions of UnifiedPush
distributors and providers that don't support FEATURE_BYTES_MESSAGE
2022-06-09 20:03:27 +02:00
Sveinn í Felli dcc04fb640 Translated using Weblate (Icelandic)
Currently translated at 100.0% (488 of 488 strings)

Co-authored-by: Sveinn í Felli <sv1@fellsnet.is>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/is/
Translation: Tusky/Tusky
2022-06-06 14:51:53 +00:00
XoseM 45a77b8d05 Translated using Weblate (Galician)
Currently translated at 100.0% (488 of 488 strings)

Co-authored-by: XoseM <xosem@disroot.org>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/gl/
Translation: Tusky/Tusky
2022-06-06 14:51:53 +00:00
Ihor Hordiichuk 6251aa0d14 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (488 of 488 strings)

Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/uk/
Translation: Tusky/Tusky
2022-06-06 14:51:53 +00:00
hebbeff e378e03fae Translated using Weblate (Chinese (zh_SG))
Currently translated at 69.2% (338 of 488 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 90.3% (441 of 488 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (488 of 488 strings)

Co-authored-by: hebbeff <hebbeff@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/zh_Hans/
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/zh_Hant/
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/zh_SG/
Translation: Tusky/Tusky
2022-06-06 14:51:53 +00:00
Danial Behzadi 0fd43d0b54 Translated using Weblate (Persian)
Currently translated at 100.0% (488 of 488 strings)

Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/fa/
Translation: Tusky/Tusky
2022-06-06 14:51:53 +00:00
tobi 530eb61505
Use NetworkResult in MediaUploadApi (#2577) 2022-06-06 16:04:33 +02:00
Konrad Pozniak e1c8461423
replace kotlin-result-calladapter with networkresult-calladapter (#2569)
* replace kotlin-result-calladapter with networkresult-calladapter

* fix tests
2022-05-30 20:03:40 +02:00
Konrad Pozniak 131309e99c
Fix conversations (#2556)
* fix conversations

* cleanup ConversationsRemoteMediator

* update conversation timestamps regularly

* improve loadStateListener

* add db migration

* make deleting from conversation db suspending

* reorganize code in ConversationsFragment

* delete NetworkStateViewHolder

* cleanup imports

* add 38.json

* honor fabHide setting in ConversationsFragment

* set page size to 30
2022-05-30 19:06:14 +02:00
Konrad Pozniak 2983c3f48e
Add UtcDateTypeAdapter for Gson (#2549)
* Add UtcDateTypeAdapter for Gson

* add 38.json
2022-05-30 18:15:17 +02:00
Konrad Pozniak 434d345d01
remove unused member vars from TimelineFragment (#2561) 2022-05-29 19:23:08 +02:00
Ivan Kupalov e63cd68baf
Fix filters in timelines in a simple way, fix #2546 (#2566)
Loading of statuses and loading of filters is an "intended" race:
we want to display statuses first, especially if they are cached.
Unfortunately we do not cache filters themselves so when we load cached
statuses we do not apply filters.

One part of the solution is to re-filter the statuses once we fetch the
filters. This commit implements it. Caching of filters is not included
yet.
2022-05-29 19:22:59 +02:00
mcclure 06e32f703a
Fix unintended [mismatched] show-replies preference (with key force-reset) (#2568)
* Fix unintended [mismatched] show-replies preference and add a comment to prevent confusion.

* Change the key on TAB_FILTER_HOME_REPLIES to reset everyone's value here once.
2022-05-29 19:21:33 +02:00
UlrichKu d2befa83d3
2554 refresh timestamps on resume (#2562)
* Fire observable to update timestamps directly on resume (#2554)

* Fire observable to update timestamps directly on resume (#2554)
2022-05-27 19:51:22 +02:00
Konrad Pozniak becb677176
make WebView debuggable in debug builds (#2548) 2022-05-27 18:44:16 +02:00
Luca 3020ea59dc Translated using Weblate (Italian)
Currently translated at 98.7% (482 of 488 strings)

Co-authored-by: Luca <f5e54431-cf3e-4a72-afcd-66ad76a38c19@anonaddy.me>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/it/
Translation: Tusky/Tusky
2022-05-27 16:43:13 +00:00
Bruno Miguel eef7ce4bb7 Translated using Weblate (Portuguese (Portugal))
Currently translated at 97.7% (477 of 488 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 98.1% (477 of 486 strings)

Co-authored-by: Bruno Miguel <brunoalexandremiguel@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/pt_PT/
Translation: Tusky/Tusky
2022-05-27 16:43:13 +00:00
Stefano Pigozzi c3bac680ae Translated using Weblate (Italian)
Currently translated at 98.1% (477 of 486 strings)

Co-authored-by: Stefano Pigozzi <me@steffo.eu>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/it/
Translation: Tusky/Tusky
2022-05-27 16:43:13 +00:00
Gera, Zoltan 40bd54d5bd Translated using Weblate (Hungarian)
Currently translated at 100.0% (488 of 488 strings)

Translated using Weblate (Hungarian)

Currently translated at 99.5% (484 of 486 strings)

Co-authored-by: Gera, Zoltan <gerazo@manioka.hu>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/hu/
Translation: Tusky/Tusky
2022-05-27 16:43:13 +00:00
mondstern f156188d02 Translated using Weblate (German)
Currently translated at 99.1% (482 of 486 strings)

Co-authored-by: mondstern <mondstern@snopyta.org>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/de/
Translation: Tusky/Tusky
2022-05-27 16:43:13 +00:00
XoseM d0937077a2 Translated using Weblate (Galician)
Currently translated at 100.0% (485 of 485 strings)

Co-authored-by: XoseM <xosem@disroot.org>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/gl/
Translation: Tusky/Tusky
2022-05-27 16:43:13 +00:00
GunChleoc 86470459b1 Translated using Weblate (Gaelic)
Currently translated at 99.5% (486 of 488 strings)

Translated using Weblate (Gaelic)

Currently translated at 99.5% (483 of 485 strings)

Co-authored-by: GunChleoc <fios@foramnagaidhlig.net>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/gd/
Translation: Tusky/Tusky
2022-05-27 16:43:13 +00:00
Vegard Skjefstad 1546ea2e1f Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (488 of 488 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (486 of 486 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (485 of 485 strings)

Co-authored-by: Vegard Skjefstad <vegard@vegard.net>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/nb_NO/
Translation: Tusky/Tusky
2022-05-27 16:43:13 +00:00
hebbeff 47e269fd07 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (485 of 485 strings)

Co-authored-by: hebbeff <hebbeff@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/zh_Hans/
Translation: Tusky/Tusky
2022-05-27 16:43:13 +00:00
ButterflyOfFire d7d3c6a183 Translated using Weblate (French)
Currently translated at 98.7% (479 of 485 strings)

Co-authored-by: ButterflyOfFire <butterflyoffire@protonmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/fr/
Translation: Tusky/Tusky
2022-05-27 16:43:13 +00:00
Hồ Nhất Duy 9cdf1ced87 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (488 of 488 strings)

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (486 of 486 strings)

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (485 of 485 strings)

Co-authored-by: Hồ Nhất Duy <kantcer@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/vi/
Translation: Tusky/Tusky
2022-05-27 16:43:13 +00:00
Eric 6fd76f7622 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (488 of 488 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (486 of 486 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (485 of 485 strings)

Co-authored-by: Eric <alchemillatruth@purelymail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/zh_Hans/
Translation: Tusky/Tusky
2022-05-27 16:43:13 +00:00
Ihor Hordiichuk 55e99be123 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (485 of 485 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (485 of 485 strings)

Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/uk/
Translation: Tusky/Tusky
2022-05-27 16:43:13 +00:00
UlrichKu 2424dde9cc
Fire observable to update timestamps directly on resume (#2554) (#2555) 2022-05-27 18:43:10 +02:00
Konrad Pozniak fd9d48e4a6
remove legacy notification channel cleanup (#2550) 2022-05-25 20:54:25 +02:00
mcclure 00c139190e
Ability to crop images attached to posts (#2531)
* First attachment crop attempt: Can crop in place, but does not delete/replace on server so has no effect

* Attachment crop feature works

* ktlint fixes on attachment crop patch

* Upgrade Android-Image-Cropper to 4.2.1

* An error message should be displayed if attachment cropping fails and it is not because the user intentionally cancelled.

* Remove 2 of the 3 "state passing" variables by using MediaUtils

* Cropper should use content uri (MIME type bearing) and setOutputCompressFormat so that PNGs reach the server safely.

* Change to crop requested by Conny: Store inflight cropImageItemOld in view model

* Change to crop requested by Conny: Sort cropImage with the other contracts

* ktlint fixes on attachment crop patch (again)
2022-05-22 21:01:14 +02:00
Levi Bard 4188670b42
Implement reply count indicator to track web UI (#2467)
Addresses #882
2022-05-20 16:47:45 +02:00
Konrad Pozniak 5abb82004a
migrate Lists from RxJava to Kotlin coroutines (#2537)
* migrate Lists from RxJava to Kotlin coroutines

* use DROP_OLDEST when creating MutableSharedFlow
2022-05-18 18:45:35 +02:00
Konrad Pozniak 9a84d14f19
add app category to AndroidManifest (#2513) 2022-05-17 19:55:46 +02:00
Konrad Pozniak cec8f6dd65
modernize autocomplete (#2510)
* modernize autocomplete

* use @WorkerThread annotation
2022-05-17 19:55:37 +02:00
Konrad Pozniak 4c9cd4084b
show list title when viewing list timeline (#2503) 2022-05-17 19:55:26 +02:00
Martin Marconcini d97493d312
Issue 2477: Show account's creation date in Profile. (#2480)
* Show account's creation date in Profile.

* Fix broken test.

* Store account creation date in the Database.

* Reformat and reposition Joined Date according to PR Feedback.

* Revert "Store account creation date in the Database."

This reverts commit d9761f53 as it's not needed.

* Change Account's Creation Date to a java.util.Date.
Update Test.

* Fix wildcard import.

* Show full month instead of an abbreviation.

* Remove `lazy` usage in favor of local instantiation.

Co-authored-by: Martin Marconcini <martin.marconcini.rodriguez@nl.abnamro.com>
Co-authored-by: Konrad Pozniak <connyduck@users.noreply.github.com>
2022-05-17 19:49:42 +02:00
Konrad Pozniak df49851042
never collapse tabs in SearchActivity (#2505) 2022-05-17 19:37:09 +02:00
Peter Cai 9ec5d6e3b0
Push notifications support via UnifiedPush (#2303)
Fixes #793.

This is an implementation for push notifications based on UnifiedPush
for Tusky. No push gateway (other than UP itself) is needed, since
UnifiedPush is simple enough such that it can act as a catch-all
endpoint for WebPush messages. When a UnifiedPush distributor is present
on-device, we will by default register Tusky as a receiver; if no
UnifiedPush distributor is available, then pull notifications are used
as a fallback mechanism.

Because WebPush messages are encrypted, and Mastodon does not send the
keys and IV needed for decryption in the request body, for now the push
handler simply acts as a trigger for the pre-existing NotificationWorker
which is also used for pull notifications. Nevertheless, I have
implemented proper key generation and storage, just in case we would
like to implement full decryption support in the future when Mastodon
upgrades to the latest WebPush encryption scheme that includes all
information in the request body.

For users with existing accounts, push notifications will not be enabled
until all of the accounts have been re-logged in to grant the new push
OAuth scope. A small prompt will be shown (until dismissed) as a
Snackbar to explain to the user about this, and an option is added in
Account Preferences to facilitate re-login without deleting local drafts
and cache.
2022-05-17 19:32:09 +02:00
GunChleoc 0bf71e6420 Translated using Weblate (Gaelic)
Currently translated at 100.0% (479 of 479 strings)

Co-authored-by: GunChleoc <fios@foramnagaidhlig.net>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/gd/
Translation: Tusky/Tusky
2022-05-17 09:40:38 +00:00