Fork of Tusky to match Chinwag design and provide better visual accessibility. https://social.chinwag.org
Find a file
Nik Clayton 57e79b3f00
Save and restore the user's reading position more frequently (#3685)
The previous code gets the user's reading position *once*, when the
viewmodel is created, and uses that whenever it needs to be restored.

This is a problem. Suppose the user is a few days behind on their
notifications, and opens the app.

The reading position is restored, as expected. They scroll up to start
reading newer notifications.

Then they change their notification filters. This causes the
notifications list to change, and when it does their reading position
is set back to what it was when they first switched to the Notifications
tab.

Fix this by:

NotificationsFragment:
- Save the reading position whenever the user stops scrolling.

NotificationsViewModel:
- Use the saved reading position whenever the list of notifications
  can change, not just when the view model is created.
2023-05-23 20:07:39 +02:00
.github Create FUNDING.yml 2019-05-23 19:24:51 +02:00
.idea Modernize a bit (#3171) 2023-02-04 19:58:53 +01:00
app Save and restore the user's reading position more frequently (#3685) 2023-05-23 20:07:39 +02:00
assets update tusky_banner.xcf 2023-02-15 20:05:45 +01:00
doc Convert NotificationsFragment and related code to Kotlin, use the Paging library (#3159) 2023-03-10 20:12:33 +01:00
fastlane/metadata/android Translated using Weblate (Persian) 2023-05-23 20:06:27 +02:00
gradle Downgrade apng library to 2.23.0 (#3676) 2023-05-19 13:30:57 +02:00
.editorconfig Disable wildcard imports for Java and Kotlin files 2023-04-10 14:26:10 +02:00
.gitattributes Modernize a bit (#3171) 2023-02-04 19:58:53 +01:00
.gitignore Modernize a bit (#3171) 2023-02-04 19:58:53 +01:00
bitrise.yml add lint to ci checks (#3462) 2023-03-21 18:56:11 +01:00
build.gradle Gradle 8.0.1 (#3338) 2023-02-25 20:59:39 +01:00
CHANGELOG.md Prepare 22.0 beta 5 (versionCode 107) (#3678) 2023-05-20 15:32:45 +02:00
CONTRIBUTING.md Update Contributing.md (#3303) 2023-02-14 21:09:06 +01:00
gradle.properties Enable parallel GC for Gradle builds (#3404) 2023-03-01 21:07:57 +01:00
gradlew chore(deps): update dependency gradle to v8.1 (#3528) 2023-04-20 19:13:37 +02:00
gradlew.bat Modernize a bit (#3171) 2023-02-04 19:58:53 +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 delete "head of development" section from readme (#3636) 2023-05-17 20:35:01 +02:00
Release.md update release process (#3439) 2023-03-18 09:51:21 +01:00
renovate.json Add renovate.json (#3263) 2023-02-20 19:55:09 +01:00
settings.gradle Modernize a bit (#3171) 2023-02-04 19:58:53 +01: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 containing the newest development code 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!

Contributing

We always welcome new contributors! Please read our contribution guide to get started.

Development chatroom

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