Fork of Tusky to match Chinwag design and provide better visual accessibility. https://social.chinwag.org
Find a file
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
.github Create FUNDING.yml 2019-05-23 19:24:51 +02:00
app Push notifications support via UnifiedPush (#2303) 2022-05-17 19:32:09 +02:00
assets remove Amazon from Readme 2019-09-09 14:26:44 +02:00
fastlane/metadata/android Translated using Weblate (Chinese (Simplified)) 2022-05-17 17:16:27 +00:00
gradle/wrapper update Gradle and Android Gradle Plugin (#2380) 2022-03-13 16:08:15 +01:00
.gitignore update gitignore 2018-03-03 13:26:08 +01:00
build.gradle upgrade ktlint gradle plugin to 10.2.1 (#2435) 2022-04-16 09:45:45 +02:00
CONTRIBUTING.md Fix a mistake in CONTRIBUTING.md (#2286) 2022-01-04 19:29:23 +01:00
gradle.properties upgrade gradle to 7.0.2 (#2161) 2021-05-19 07:40:56 +02:00
gradlew update Gradle and Android Gradle Plugin (#2380) 2022-03-13 16:08:15 +01:00
gradlew.bat upgrade gradle to 6.8.1 (#2057) 2021-01-31 19:35:53 +01:00
instance-build.gradle add build customization options (#1532) 2019-10-29 20:30:46 +01:00
ISSUE_TEMPLATE.md Create ISSUE_TEMPLATE.md 2018-03-10 16:43:34 +01:00
LICENSE.txt License change back to GPL 3 2017-04-09 20:12:31 -04:00
README.md Rename Toots to Posts (#2396) 2022-03-20 20:21:42 +01:00
settings.gradle added README.md and missing files 2017-01-02 20:37:38 -05:00

Translate - with Weblate OpenCollective Build Status

Tusky

Tusky is a beautiful Android client for Mastodon. Mastodon is an ActivityPub federated social network. That means no single entity controls the whole network, rather, like e-mail, volunteers and organisations operate their own independent servers, users from which can all interact with each other seamlessly.

Get it on F-Droid Get it on Google Play

Features

  • Material Design
  • Most Mastodon APIs implemented
  • Multi-Account support
  • Dark, light and black themes with the possibility to auto-switch based on the time of day
  • Drafts - compose posts and save them for later
  • Choose between different emoji styles
  • Optimized for all screen sizes
  • Completely open-source - no non-free dependencies like Google services

Testing

The nightly build from master is available on Google Play.

Support

Check out our FAQs, your question may already be answered. If you have any bug reports, feature requests or questions please open an issue or send us a message at Tusky@mastodon.social!

For translating Tusky into your language, visit https://weblate.tusky.app/

Head of development

This app was developed by Vavassor@mastodon.social. The current maintainer is ConnyDuck@chaos.social.

Development chatroom

https://riot.im/app/#/room/#Tusky:matrix.org