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
107bf4dfd0
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [com.google.devtools.ksp](https://goo.gle/ksp) ([source](https://togithub.com/google/ksp)) | `2.0.0-1.0.24` -> `2.0.10-1.0.24` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.devtools.ksp/2.0.10-1.0.24?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.devtools.ksp/2.0.10-1.0.24?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.devtools.ksp/2.0.0-1.0.24/2.0.10-1.0.24?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.devtools.ksp/2.0.0-1.0.24/2.0.10-1.0.24?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin](https://goo.gle/ksp) ([source](https://togithub.com/google/ksp)) | `2.0.0-1.0.24` -> `2.0.10-1.0.24` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin/2.0.10-1.0.24?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin/2.0.10-1.0.24?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin/2.0.0-1.0.24/2.0.10-1.0.24?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin/2.0.0-1.0.24/2.0.10-1.0.24?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | org.jetbrains.kotlin.plugin.parcelize | `2.0.0` -> `2.0.10` | [![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin.plugin.parcelize/2.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin.plugin.parcelize/2.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin.plugin.parcelize/2.0.0/2.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin.plugin.parcelize/2.0.0/2.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | org.jetbrains.kotlin.jvm | `2.0.0` -> `2.0.10` | [![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin.jvm/2.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin.jvm/2.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin.jvm/2.0.0/2.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin.jvm/2.0.0/2.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | org.jetbrains.kotlin.android | `2.0.0` -> `2.0.10` | [![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin.android/2.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin.android/2.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin.android/2.0.0/2.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin.android/2.0.0/2.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [org.jetbrains.kotlin:kotlin-gradle-plugin](https://kotlinlang.org/) ([source](https://togithub.com/JetBrains/kotlin)) | `2.0.0` -> `2.0.10` | [![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin:kotlin-gradle-plugin/2.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin:kotlin-gradle-plugin/2.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin:kotlin-gradle-plugin/2.0.0/2.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin:kotlin-gradle-plugin/2.0.0/2.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [org.jetbrains.kotlin:kotlin-stdlib](https://kotlinlang.org/) ([source](https://togithub.com/JetBrains/kotlin)) | `2.0.0` -> `2.0.10` | [![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin:kotlin-stdlib/2.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin:kotlin-stdlib/2.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin:kotlin-stdlib/2.0.0/2.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin:kotlin-stdlib/2.0.0/2.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>google/ksp (com.google.devtools.ksp)</summary> ### [`v2.0.10-1.0.24`](https://togithub.com/google/ksp/releases/tag/2.0.10-1.0.24) [Compare Source](https://togithub.com/google/ksp/compare/2.0.0-1.0.24...2.0.10-1.0.24) #### What's Changed - UPDATE_KOTLIN_VERSION: 2.0.10 by [@​ting-yuan](https://togithub.com/ting-yuan) in [https://github.com/google/ksp/pull/2022](https://togithub.com/google/ksp/pull/2022) </details> <details> <summary>JetBrains/kotlin (org.jetbrains.kotlin:kotlin-gradle-plugin)</summary> ### [`v2.0.10`](https://togithub.com/JetBrains/kotlin/releases/tag/v2.0.10): Kotlin 2.0.10 #### 2.0.10 ##### Apple Ecosystem - [`KT-68257`](https://youtrack.jetbrains.com/issue/KT-68257) Xcode incorrectly reuses embedAndSign framework when moving to and from 2.0.0 ##### Compiler ##### Fixes - [`KT-69876`](https://youtrack.jetbrains.com/issue/KT-69876) K2 Compile exception: Only IrBlockBody together with kotlinx serialization - [`KT-68521`](https://youtrack.jetbrains.com/issue/KT-68521) K2: Property's private setters can be bypassed when using plusAssign and minusAssign operators - [`KT-68667`](https://youtrack.jetbrains.com/issue/KT-68667) K2: Compiler hangs on mapNotNull and elvis inside lambda - [`KT-68747`](https://youtrack.jetbrains.com/issue/KT-68747) K2: Long compilation time because of constraint solving when using typealias in different modules - [`KT-68940`](https://youtrack.jetbrains.com/issue/KT-68940) K2: "IllegalArgumentException: All variables should be fixed to something" - [`KT-68797`](https://youtrack.jetbrains.com/issue/KT-68797) K2 / Native: "java.lang.IllegalStateException: FIELD" caused by enabled caching - [`KT-68362`](https://youtrack.jetbrains.com/issue/KT-68362) False-positive ABSTRACT_MEMBER_NOT_IMPLEMENTED for inheritor of java class which directly implements java.util.Map - [`KT-68449`](https://youtrack.jetbrains.com/issue/KT-68449) K2: "when" expression returns Unit - [`KT-67072`](https://youtrack.jetbrains.com/issue/KT-67072) K2: inconsistent stability of open vals on receivers of final type - [`KT-68570`](https://youtrack.jetbrains.com/issue/KT-68570) K2: "Unresolved reference" in call with lambda argument and nested lambda argument - [`KT-69159`](https://youtrack.jetbrains.com/issue/KT-69159) K2: KotlinNothingValueException in Exposed - [`KT-68623`](https://youtrack.jetbrains.com/issue/KT-68623) K2: "Only safe or null-asserted calls are allowed" on safe call - [`KT-68193`](https://youtrack.jetbrains.com/issue/KT-68193) JDK 21: new MutableList.addFirst/addLast methods allow adding nullable value for non-null types - [`KT-67804`](https://youtrack.jetbrains.com/issue/KT-67804) removeFirst and removeLast return type with Java 21 - [`KT-68727`](https://youtrack.jetbrains.com/issue/KT-68727) K2: "Null argument in ExpressionCodegen for parameter VALUE_PARAMETER" caused by an enum class with default parameter in a different module - [`KT-68383`](https://youtrack.jetbrains.com/issue/KT-68383) K2: "Argument type mismatch: actual type is 'kotlin.String', but 'T & Any' was expected." with intersection types - [`KT-68546`](https://youtrack.jetbrains.com/issue/KT-68546) K2: false-positive conflicting overloads error on inheriting generic type with inherited generic and non-generic member overloads - [`KT-68626`](https://youtrack.jetbrains.com/issue/KT-68626) K2: "Conflicting Overloads" for function if inherited from generic type - [`KT-68351`](https://youtrack.jetbrains.com/issue/KT-68351) K2: "Suspension functions can only be called within coroutine body" - [`KT-68489`](https://youtrack.jetbrains.com/issue/KT-68489) K2: WRONG_ANNOTATION_TARGET with Java and Kotlin `@Target` annotation positions - [`KT-69058`](https://youtrack.jetbrains.com/issue/KT-69058) K2: Java-defined property annotations not persisted - [`KT-64515`](https://youtrack.jetbrains.com/issue/KT-64515) K2 IDE: \[NEW_INFERENCE_ERROR] in a build.gradle.kts script while applying "jvm-test-suite" plugin and then configuring targets for test suites - [`KT-68016`](https://youtrack.jetbrains.com/issue/KT-68016) K2: Gradle repo test `should compile correctly with Kotlin explicit api mode` fails on K2 - [`KT-68575`](https://youtrack.jetbrains.com/issue/KT-68575) K2: `@ParameterName` annotation is not erased when inferring the type of `it` in lambdas - [`KT-67999`](https://youtrack.jetbrains.com/issue/KT-67999) K2: lost flexibility on parameters of Java SAM - [`KT-59679`](https://youtrack.jetbrains.com/issue/KT-59679) K2: Investigate extracting uncompleted candidates from blocks - [`KT-68401`](https://youtrack.jetbrains.com/issue/KT-68401) K2: "IllegalAccessError: failed to access class" caused by package private super Java type, when inferencing a common super type of if or when branches on JVM - [`KT-68806`](https://youtrack.jetbrains.com/issue/KT-68806) K/Wasm RuntimeError: unreachable on Sequence::toList - [`KT-68455`](https://youtrack.jetbrains.com/issue/KT-68455) K2: False negative UPPER_BOUND_VIOLATED_BASED_ON_JAVA_ANNOTATIONS - [`KT-68538`](https://youtrack.jetbrains.com/issue/KT-68538) KJS/K2: using `while` with `break` inside inline lambdas leads to an endless cycle - [`KT-68798`](https://youtrack.jetbrains.com/issue/KT-68798) JVM compiler crashes on calling private expect constructor with a default parameter - [`KT-68734`](https://youtrack.jetbrains.com/issue/KT-68734) K2: enum class in KMP: Expect declaration `MMKVLogLevel` is incompatible with actual `MMKVLogLevel` because modality is different - [`KT-68674`](https://youtrack.jetbrains.com/issue/KT-68674) False positive ACTUAL_WITHOUT_EXPECT in K2 - [`KT-68350`](https://youtrack.jetbrains.com/issue/KT-68350) K2: "Inapplicable candidate(s)" caused by parameter reference of local class with type parameters from function - [`KT-68571`](https://youtrack.jetbrains.com/issue/KT-68571) K2: "IllegalStateException: Fake override should have at least one overridden descriptor" caused by exceptions and when statement - [`KT-68523`](https://youtrack.jetbrains.com/issue/KT-68523) K2: FileAnalysisException when using Definitely non-nullable types - [`KT-68339`](https://youtrack.jetbrains.com/issue/KT-68339) K2: "Enum entry \* is uninitialized here" caused by lazy property with enum in `when` expression - [`KT-66688`](https://youtrack.jetbrains.com/issue/KT-66688) K2: false-negative "upper bound violated" error in extension receiver - [`KT-68630`](https://youtrack.jetbrains.com/issue/KT-68630) DiagnosticsSuppressor is not invoked with Kotlin 2.0 - [`KT-68222`](https://youtrack.jetbrains.com/issue/KT-68222) K2. KMP. False negative `Expected declaration must not have a body` for expected top-level property with getter/setter - [`KT-64103`](https://youtrack.jetbrains.com/issue/KT-64103) FirExpectActualDeclarationChecker reports diagnostic error for KtPsiSimpleDiagnostic with KtFakeSourceElement - [`KT-68191`](https://youtrack.jetbrains.com/issue/KT-68191) K2. Static fake-overrides are not generated for kotlin Fir2IrLazyClass - [`KT-68024`](https://youtrack.jetbrains.com/issue/KT-68024) K2: Gradle repo test `accessors to kotlin internal task types...` fails on K2 - [`KT-64957`](https://youtrack.jetbrains.com/issue/KT-64957) K1: drop ModuleAnnotationResolver ##### Compose compiler - [`0c5a858`]( |
||
---|---|---|
.github | ||
.idea | ||
app | ||
assets | ||
build-logic | ||
checks | ||
core | ||
docs | ||
fastlane/metadata/android | ||
feature | ||
gradle | ||
licenses | ||
plugins/markdown2resource | ||
tools | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
CHANGELOG.md | ||
CLA_ENTITY.md | ||
CLA_IC.md | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
COPYRIGHT.txt | ||
LICENSE.txt | ||
PRIVACY.md | ||
README.md | ||
Release.md | ||
SECURITY.md | ||
build.gradle | ||
crowdin.yml | ||
gradle.properties | ||
gradlew | ||
gradlew.bat | ||
renovate.json | ||
runtools | ||
runtools.bat | ||
settings.gradle.kts |
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.
Support
- Say "hi" on Mastodon, we're @pachli@mastodon.social
- Join the ongoing discussions
- Report a bug or make a feature request as a new issue
Contributing
We actively welcome new contributors. Please read CONTRIBUTING.md for more information.
More information
More information about the application and the principals underpinning its development are at https://pachli.app.