Pachli è un client Android completo per Mastodon: La timeline viene memorizzata nella cache locale, in modo da poterla leggere anche quando si è offline Bozza dei post ora per finirli in un secondo momento Scrivere i post ora e programmarne l'invio in un secondo momento Leggere e pubblicare da più account Gestite chi seguite con più elenchi Utilizzare diversi temi per personalizzare l'interfaccia utente Una varietà di font accessibili in diverse dimensioni Pieno controllo su come e quando si ricevono le notifiche https://mastodon.it/it/Quale-app-mastodon-utilizzare
Go to file
Nik Clayton 710e209e34
refactor: Ongoing work to remove the `activeAccount` idiom (#964)
Continue the work to remove the "activeAccount" idiom.

- Uses a new PachliAccount type through most of the app. This holds
information that was previously accessed separately (e.g., content
filters, lists) in one place. The information is loaded when the app
launches or the active account switches.

- Fetching data when the account is switched / loaded simplifies error
handling, as more code can now assume the data has already been loaded.
If it hasn't the code path is simply unreachable.

- This opens up the possibility of "acting as one account while logged
in as another". E.g., have two accounts, and be logged in to one account
and boost a post you've seen from your other account.

- Add a database migration to populate existing accounts with default
data when the user updates the app.

- Refactor code that used those list and filter repositories to get the
data from the PachliAccount instead. New local and remote data sources
are implemented, and the list and filter repositories mediate between
those sources.

- Start a ViewModel for MainActivity, which includes:
  - Sending user actions as UiAction objects
  - Providing a flow of uiState for MainActivity to react to
  - Remove most uses of SharedPreferencesRepository from MainActivity
  - Show messages about errors that occur when logging in

- Refactor intent routing in MainActivity to make the logic clearer.

- Add new `core.data` types to push more `core.network` types out of the
UI code
  - `core.data.model.MastodonList` for `core.network.model.MastoList`
  - `core.data.model.Server` for `core.network.model.Server`

- Continue the work to send the Pachli account ID to the code that uses
it.
  - Most view models now get the account ID via assisted injection.
- QueuedMedia now includes the AccountEntity so it can operate with any
account. Modify the `uploadMedia` API call to include explicit
authentication details.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-13 11:45:16 +01:00
.github chore(deps): update github/codeql-action digest to 4f3212b (#1085) 2024-11-10 12:25:49 +01:00
.idea refactor: Transition from Tusky to Pachli 2023-09-05 13:33:37 +02:00
app refactor: Ongoing work to remove the `activeAccount` idiom (#964) 2024-11-13 11:45:16 +01:00
assets change: remove tusky_banner.xcf (#682) 2024-05-28 12:52:56 +02:00
build-logic refactor: Ongoing work to remove the `activeAccount` idiom (#964) 2024-11-13 11:45:16 +01:00
checks change: Remove obsolete @Suppress annotations 2024-04-30 16:23:34 +02:00
core refactor: Ongoing work to remove the `activeAccount` idiom (#964) 2024-11-13 11:45:16 +01:00
docs docs: Add an ADR explaining why Kotlin is used 2024-06-21 10:58:46 +02:00
fastlane/metadata/android fix(l10n): Translations update from Hosted Weblate (#1063) 2024-11-01 18:09:25 +01:00
feature refactor: Ongoing work to remove the `activeAccount` idiom (#964) 2024-11-13 11:45:16 +01:00
gradle refactor: Ongoing work to remove the `activeAccount` idiom (#964) 2024-11-13 11:45:16 +01:00
licenses fix: Improve URL / tag / mention extraction when composing (#564) 2024-03-23 14:14:07 +01:00
plugins/markdown2resource chore(deps): update kotlin (#947) 2024-10-11 17:05:04 +02:00
tools fix(deps): update dependency com.github.ajalt.clikt:clikt to v5 (#1023) 2024-11-01 13:59:33 +01:00
.editorconfig chore: Disable new ktlint formatting rules (#795) 2024-07-03 12:20:07 +02:00
.gitattributes Modernize a bit (#3171) 2023-02-04 19:58:53 +01:00
.gitignore chore(deps): update kotlin to v2 (major) (#725) 2024-06-05 15:15:56 +02:00
CHANGELOG.md chore: Prepare release 2.8.3 (versionCode 23) (#1061) 2024-10-29 18:56:04 +01:00
CLA_ENTITY.md docs: Add contributor license agreements (#1) 2023-09-05 14:35:07 +02:00
CLA_IC.md docs: Add contributor license agreements (#1) 2023-09-05 14:35:07 +02:00
CODE_OF_CONDUCT.md docs: Adopt the Contributor Covenant Code of Conduct 2023-09-05 13:40:58 +02:00
CONTRIBUTING.md docs: Add docs for PgM, user support, and documenation 2024-06-21 10:58:46 +02:00
COPYRIGHT.txt docs: Add COPYRIGHT.txt 2023-09-01 18:26:21 +02:00
LICENSE.txt License change back to GPL 3 2017-04-09 20:12:31 -04:00
PRIVACY.md feat: Warn the user if the posting language might be incorrect (#792) 2024-07-02 20:22:17 +02:00
README.md fix(docs): fix broken link from README.md to CODE_OF_CONDUCT.md (#657) 2024-04-28 22:19:05 +02:00
Release.md update release process (#3439) 2023-03-18 09:51:21 +01:00
SECURITY.md chore: Create SECURITY.md (#556) 2024-03-21 16:03:07 +01:00
build.gradle refactor: Break navigation dependency cycles with :core:navigation (#305) 2023-12-07 18:36:00 +01:00
crowdin.yml Update Crowdin configuration file 2024-01-30 12:29:47 +01:00
gradle.properties chore(deps): Update to AGP 8.1.1 (#130) 2023-09-27 18:06:14 +02:00
gradlew chore(deps): update dependency gradle to v8.10 (#855) 2024-08-26 16:17:07 +02:00
gradlew.bat chore(deps): update dependency gradle to v8.10 (#855) 2024-08-26 16:17:07 +02:00
renovate.json chore(config): migrate renovate config (#871) 2024-08-06 14:59:42 +02:00
runtools change: Add tools/mklanguages 2023-09-04 20:22:05 +02:00
runtools.bat change: Add tools/mklanguages 2023-09-04 20:22:05 +02:00
settings.gradle.kts refactor: Move AccountManager to core.data.repository (#976) 2024-10-03 21:28:01 +02:00

README.md

Pachli

Pachli is a full-featured Android client for Mastodon, with a cooperative development model.

Features include:

  • Read, reply, filter, post, favourite, and boost posts
  • Translate posts from other languages
  • Your timeline is cached locally, so you can read when offline
  • Draft posts now to finish them later
  • Write posts now and schedule them to send later
  • Read and post from multiple accounts
  • Manage who you follow with multiple lists
  • Use different themes to customise the UI
  • A variety of accessible fonts in different sizes
  • Full control over how and when you receive notifications
  • Explore trending posts, links, and hashtags

Pachli is Open Source.

Install the newest release from the list of releases, or from Google Play and F-Droid.

Get it on Google Play Get it on F-Droid

Support

Contributing

We actively welcome new contributors. Please read CONTRIBUTING.md for more information.

Contributor Covenant Contributor License Agreement Translate - with Weblate

More information

More information about the application and the principals underpinning its development are at https://pachli.app.