Commit graph

5,801 commits

Author SHA1 Message Date
Konrad Pozniak
f8829bc47c
Translations update from Weblate (automated) (#4863)
Translations update from [Weblate](https://weblate.tusky.app) for
[Tusky/Tusky](https://weblate.tusky.app/projects/tusky/tusky/).



Current translation status:

![Weblate translation
status](https://weblate.tusky.app/widget/tusky/tusky/horizontal-auto.svg)
2025-01-13 19:40:22 +01:00
Russty
9f965a7a9c Translated using Weblate (Slovak)
Currently translated at 65.0% (442 of 680 strings)

Translated using Weblate (Slovak)

Currently translated at 38.5% (262 of 680 strings)

Co-authored-by: Russty <russellt@duck.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/sk/
Translation: Tusky/Tusky
2025-01-13 18:07:46 +00:00
José M
549b17f4fb Translated using Weblate (Galician)
Currently translated at 100.0% (680 of 680 strings)

Co-authored-by: José M <xosem@disroot.org>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/gl/
Translation: Tusky/Tusky
2025-01-13 18:07:46 +00:00
Etienne Schneider
70dedc077a Translated using Weblate (French)
Currently translated at 95.8% (652 of 680 strings)

Co-authored-by: Etienne Schneider <et.schneider@free.fr>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/fr/
Translation: Tusky/Tusky
2025-01-13 18:07:46 +00:00
UlrichKu
6cbcf3eef0
Properly summarize all notifications (#4848)
Do summary notifications like the Api defines it:
* Schedule and summarize without delay (in order for summerization to
work)
* Always have a summary notification: simplify code with this and make
more reliable
* Do not care about single notification count (the system already does
that as well)
* **Bugfix: Schedule summary first: This avoids a rate limit problem
that (then) not groups at all**

Testing this is probably the most difficult part.
For example I couldn't get any notification to ring with older Api
versions in the debugger. (Same as for current develop)
However one hack to always get notifications: Fix "minId" in
"fetchNewNotifications()" to a somewhat older value.


Next possible step: Have only one summary notification at all (for all
channels/notification types). You can still configure single channels
differently.
Or: For very many notifications: Only use a true summary one (something
like "you have 28 favorites and 7 boosts").

Generally: The notification timeline must be improved now. Because that
must be the go-to solution for any large number of notifications. It
must be easy to read. E. g. with grouping per post.
2025-01-12 20:37:05 +01:00
Konrad Pozniak
5741d576c9
fix ANR when loading more on a slow connection (#4865)
There were network calls inside a database transaction. That basically
locked the database for the duration of the network call, causing the
app to freeze if the call took to long.
2025-01-11 15:39:21 +01:00
renovate[bot]
95e386a7d9
fix(deps): update dependency com.squareup.okio:okio to v3.10.2 (#4859)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.squareup.okio:okio](https://redirect.github.com/square/okio) |
`3.9.1` -> `3.10.2` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.squareup.okio:okio/3.10.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.squareup.okio:okio/3.10.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.squareup.okio:okio/3.9.1/3.10.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.squareup.okio:okio/3.9.1/3.10.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>square/okio (com.squareup.okio:okio)</summary>

###
[`v3.10.2`](https://redirect.github.com/square/okio/blob/HEAD/CHANGELOG.md#Version-3102)

[Compare
Source](https://redirect.github.com/square/okio/compare/3.10.1...3.10.2)

*2025-01-08*

-   Fix: `okio-nodefilesystem` artifact is no longer empty.

###
[`v3.10.1`](https://redirect.github.com/square/okio/blob/HEAD/CHANGELOG.md#Version-3101)

[Compare
Source](https://redirect.github.com/square/okio/compare/3.10.0...3.10.1)

*2025-01-07*

- New: `FileSystem.close()` may prevent future access and/or clean up
associated resources depending on the backing implementation.
`FakeFileSystem` will prevent future operations once closed.
- `InputStream`s created from `BufferedSource.inputStream()` now have a
more efficient version of `InputStream.transferTo()` which reduces
memory copies.
- `okio-nodefilesystem` is no longer publised as a JS project, but a
Kotlin multiplatform project with only a JS target. ~This change should
not affect consumers in any way, and is motivated by the Kotlin Gradle
plugin deprecating the JS-only plugin.~ Please use 3.10.2 to ensure this
change actually does not affect your builds.

###
[`v3.10.0`](https://redirect.github.com/square/okio/blob/HEAD/CHANGELOG.md#Version-3100)

[Compare
Source](https://redirect.github.com/square/okio/compare/3.9.1...3.10.0)

*2025-01-06*

This version is equivalent to the subsequent 3.10.1, but it did not
fully publish to Maven Central due to infrastructure problems.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/tuskyapp/Tusky).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS45Mi4wIiwidXBkYXRlZEluVmVyIjoiMzkuOTIuMCIsInRhcmdldEJyYW5jaCI6ImRldmVsb3AiLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-10 14:29:03 +01:00
renovate[bot]
ccd9fe9534
fix(deps): update kotlin (#4774)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.devtools.ksp](https://goo.gle/ksp)
([source](https://redirect.github.com/google/ksp)) | `2.0.21-1.0.28` ->
`2.1.0-1.0.29` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin/2.1.0-1.0.29?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.1.0-1.0.29?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.21-1.0.28/2.1.0-1.0.29?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.21-1.0.28/2.1.0-1.0.29?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| org.jetbrains.kotlin.plugin.parcelize | `2.0.21` -> `2.1.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin.plugin.parcelize:org.jetbrains.kotlin.plugin.parcelize.gradle.plugin/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin.plugin.parcelize:org.jetbrains.kotlin.plugin.parcelize.gradle.plugin/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin.plugin.parcelize:org.jetbrains.kotlin.plugin.parcelize.gradle.plugin/2.0.21/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin.plugin.parcelize:org.jetbrains.kotlin.plugin.parcelize.gradle.plugin/2.0.21/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| org.jetbrains.kotlin.android | `2.0.21` -> `2.1.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin.android:org.jetbrains.kotlin.android.gradle.plugin/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin.android:org.jetbrains.kotlin.android.gradle.plugin/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin.android:org.jetbrains.kotlin.android.gradle.plugin/2.0.21/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin.android:org.jetbrains.kotlin.android.gradle.plugin/2.0.21/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[org.jetbrains.kotlinx:kotlinx-coroutines-test](https://redirect.github.com/Kotlin/kotlinx.coroutines)
| `1.9.0` -> `1.10.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlinx:kotlinx-coroutines-test/1.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlinx:kotlinx-coroutines-test/1.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlinx:kotlinx-coroutines-test/1.9.0/1.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlinx:kotlinx-coroutines-test/1.9.0/1.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[org.jetbrains.kotlinx:kotlinx-coroutines-android](https://redirect.github.com/Kotlin/kotlinx.coroutines)
| `1.9.0` -> `1.10.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlinx:kotlinx-coroutines-android/1.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlinx:kotlinx-coroutines-android/1.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlinx:kotlinx-coroutines-android/1.9.0/1.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlinx:kotlinx-coroutines-android/1.9.0/1.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>google/ksp (com.google.devtools.ksp)</summary>

###
[`v2.1.0-1.0.29`](https://redirect.github.com/google/ksp/releases/tag/2.1.0-1.0.29)

[Compare
Source](https://redirect.github.com/google/ksp/compare/2.1.0-1.0.28...2.1.0-1.0.29)

##### Updates

- KSP2: Sanitize dots to underscores in suffixes of internals by
[@&#8203;ting-yuan](https://redirect.github.com/ting-yuan) in
[https://github.com/google/ksp/pull/2229](https://redirect.github.com/google/ksp/pull/2229)
- KSP2: clean up legacy incremental code by
[@&#8203;ting-yuan](https://redirect.github.com/ting-yuan) in
[https://github.com/google/ksp/pull/2231](https://redirect.github.com/google/ksp/pull/2231)

##### Contributors

Thanks to everyone who reported bugs and participated in discussions!

###
[`v2.1.0-1.0.28`](https://redirect.github.com/google/ksp/releases/tag/2.1.0-1.0.28)

[Compare
Source](https://redirect.github.com/google/ksp/compare/2.0.21-1.0.28...2.1.0-1.0.28)

##### What's Changed

- Bump Kotlin to 2.1.0 by
[@&#8203;mkmuir0](https://redirect.github.com/mkmuir0) in
[https://github.com/google/ksp/pull/2235](https://redirect.github.com/google/ksp/pull/2235)
- Update intellij to 233.13135.128 by
[@&#8203;ting-yuan](https://redirect.github.com/ting-yuan) in
[https://github.com/google/ksp/pull/2238](https://redirect.github.com/google/ksp/pull/2238)

**Full Changelog**:
https://github.com/google/ksp/compare/2.1.0-RC2-1.0.28...2.1.0-1.0.28

</details>

<details>
<summary>Kotlin/kotlinx.coroutines
(org.jetbrains.kotlinx:kotlinx-coroutines-test)</summary>

###
[`v1.10.1`](https://redirect.github.com/Kotlin/kotlinx.coroutines/blob/HEAD/CHANGES.md#Version-1101)

[Compare
Source](https://redirect.github.com/Kotlin/kotlinx.coroutines/compare/1.10.0...1.10.1)

- Fixed binary incompatibility introduced for non-JVM targets in
[#&#8203;4261](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4261)
([#&#8203;4309](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4309)).

###
[`v1.10.0`](https://redirect.github.com/Kotlin/kotlinx.coroutines/blob/HEAD/CHANGES.md#Version-1100)

[Compare
Source](https://redirect.github.com/Kotlin/kotlinx.coroutines/compare/1.9.0...1.10.0)

- Kotlin was updated to 2.1.0
([#&#8203;4284](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4284)).
- Introduced `Flow.any`, `Flow.all`, and `Flow.none`
([#&#8203;4212](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4212)).
Thanks, [@&#8203;CLOVIS-AI](https://redirect.github.com/CLOVIS-AI)!
- Reorganized `kotlinx-coroutines-debug` and `kotlinx-coroutines-core`
code to avoid a split package between the two artifacts
([#&#8203;4247](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4247)).
Note that directly referencing `kotlinx.coroutines.debug.AgentPremain`
must now be replaced with
`kotlinx.coroutines.debug.internal.AgentPremain`. Thanks,
[@&#8203;sellmair](https://redirect.github.com/sellmair)!
- No longer shade byte-buddy in `kotlinx-coroutines-debug`, reducing the
artifact size and simplifying the build configuration of client code.
Thanks, [@&#8203;sellmair](https://redirect.github.com/sellmair)!
- Fixed `NullPointerException` when using Java-deserialized
`kotlinx-coroutines-core` exceptions
([#&#8203;4291](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4291)).
Thanks, [@&#8203;AlexRiedler](https://redirect.github.com/AlexRiedler)!
- Properly report exceptions thrown by `CoroutineDispatcher.dispatch`
instead of raising internal errors
([#&#8203;4091](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4091)).
Thanks, [@&#8203;zuevmaxim](https://redirect.github.com/zuevmaxim)!
- Fixed a bug that delayed scheduling of a `Dispatchers.Default` or
`Dispatchers.IO` task after a `yield()` in rare scenarios
([#&#8203;4248](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4248)).
- Fixed a bug that prevented the `main()` coroutine on Wasm/WASI from
executing after a `delay()` call in some scenarios
([#&#8203;4239](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4239)).
- Fixed scheduling of `runBlocking` tasks on Kotlin/Native that arrive
after the `runBlocking` block was exited
([#&#8203;4245](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4245)).
- Fixed some terminal `Flow` operators sometimes resuming without taking
cancellation into account
([#&#8203;4254](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4254)).
Thanks, [@&#8203;jxdabc](https://redirect.github.com/jxdabc)!
- Fixed a bug on the JVM that caused coroutine-bound `ThreadLocal`
values not to get cleaned when using non-`CoroutineDispatcher`
continuation interceptors
([#&#8203;4296](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4296)).
-   Small tweaks, fixes, and documentation improvements.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/tuskyapp/Tusky).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzkuOTIuMCIsInRhcmdldEJyYW5jaCI6ImRldmVsb3AiLCJsYWJlbHMiOltdfQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Conny Duck <git@connyduck.at>
Co-authored-by: Konrad Pozniak <connyduck@users.noreply.github.com>
2025-01-10 14:00:00 +01:00
renovate[bot]
9cf658a359
fix(deps): update hilt to v2.55 (#4862)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[com.google.dagger.hilt.android](https://redirect.github.com/google/dagger)
| `2.54` -> `2.55` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.dagger.hilt.android:com.google.dagger.hilt.android.gradle.plugin/2.55?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.dagger.hilt.android:com.google.dagger.hilt.android.gradle.plugin/2.55?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.dagger.hilt.android:com.google.dagger.hilt.android.gradle.plugin/2.54/2.55?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.dagger.hilt.android:com.google.dagger.hilt.android.gradle.plugin/2.54/2.55?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[com.google.dagger:hilt-compiler](https://redirect.github.com/google/dagger)
| `2.54` -> `2.55` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.dagger:hilt-compiler/2.55?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.dagger:hilt-compiler/2.55?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.dagger:hilt-compiler/2.54/2.55?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.dagger:hilt-compiler/2.54/2.55?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/tuskyapp/Tusky).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS45Mi4wIiwidXBkYXRlZEluVmVyIjoiMzkuOTIuMCIsInRhcmdldEJyYW5jaCI6ImRldmVsb3AiLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-10 13:29:13 +01:00
renovate[bot]
2bbb73e0ca
chore(deps): update dependency com.android.application to v8.8.0 (#4860)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.android.application](https://developer.android.com/studio/build)
([source](https://android.googlesource.com/platform/tools/base)) |
`8.7.3` -> `8.8.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.application:com.android.application.gradle.plugin/8.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.application:com.android.application.gradle.plugin/8.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.application:com.android.application.gradle.plugin/8.7.3/8.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.application:com.android.application.gradle.plugin/8.7.3/8.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/tuskyapp/Tusky).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS45Mi4wIiwidXBkYXRlZEluVmVyIjoiMzkuOTIuMCIsInRhcmdldEJyYW5jaCI6ImRldmVsb3AiLCJsYWJlbHMiOltdfQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Conny Duck <git@connyduck.at>
2025-01-10 12:49:41 +01:00
Konrad Pozniak
293b0f5e6b
Translations update from Weblate (automated) (#4856)
Translations update from [Weblate](https://weblate.tusky.app) for
[Tusky/Tusky](https://weblate.tusky.app/projects/tusky/tusky/).



Current translation status:

![Weblate translation
status](https://weblate.tusky.app/widget/tusky/tusky/horizontal-auto.svg)

---------

Co-authored-by: fin-w <fin-w@tutanota.com>
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: Eric <alchemillatruth@users.noreply.weblate.tusky.app>
Co-authored-by: Sveinn í Felli <sv1@fellsnet.is>
Co-authored-by: Hồ Nhất Duy <mastoduy@gmail.com>
Co-authored-by: José M <xosem@disroot.org>
Co-authored-by: Manuel <mannivuwiki@gmail.com>
Co-authored-by: Bruno Miguel <brunoalexandremiguel@gmail.com>
Co-authored-by: Michal Hrusecky <michal@hrusecky.net>
2025-01-09 16:35:08 +01:00
Michal Hrusecky
706eadc4ab Translated using Weblate (Czech)
Currently translated at 98.8% (674 of 682 strings)

Co-authored-by: Michal Hrusecky <michal@hrusecky.net>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/cs/
Translation: Tusky/Tusky
2025-01-09 04:07:16 +00:00
Bruno Miguel
40dfd36a8b Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (680 of 680 strings)

Co-authored-by: Bruno Miguel <brunoalexandremiguel@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/pt_PT/
Translation: Tusky/Tusky
2025-01-09 04:07:16 +00:00
Manuel
f031ec70d9 Translated using Weblate (Italian)
Currently translated at 100.0% (680 of 680 strings)

Co-authored-by: Manuel <mannivuwiki@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/it/
Translation: Tusky/Tusky
2025-01-09 04:07:16 +00:00
José M
78175dfe27 Translated using Weblate (Galician)
Currently translated at 100.0% (680 of 680 strings)

Translated using Weblate (Galician)

Currently translated at 100.0% (680 of 680 strings)

Co-authored-by: José M <xosem@disroot.org>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/gl/
Translation: Tusky/Tusky
2025-01-09 04:07:16 +00:00
Hồ Nhất Duy
e07da6da2d Translated using Weblate (Vietnamese)
Currently translated at 100.0% (680 of 680 strings)

Co-authored-by: Hồ Nhất Duy <mastoduy@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/vi/
Translation: Tusky/Tusky
2025-01-09 04:07:16 +00:00
Sveinn í Felli
de3db9962f Translated using Weblate (Icelandic)
Currently translated at 96.6% (657 of 680 strings)

Co-authored-by: Sveinn í Felli <sv1@fellsnet.is>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/is/
Translation: Tusky/Tusky
2025-01-09 04:07:16 +00:00
Eric
6ebb551566 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (680 of 680 strings)

Co-authored-by: Eric <alchemillatruth@users.noreply.weblate.tusky.app>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/zh_Hans/
Translation: Tusky/Tusky
2025-01-09 04:07:15 +00:00
Danial Behzadi
b094d27032 Translated using Weblate (Persian)
Currently translated at 100.0% (680 of 680 strings)

Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/fa/
Translation: Tusky/Tusky
2025-01-09 04:07:15 +00:00
fin-w
b9c1479083 Translated using Weblate (Welsh)
Currently translated at 100.0% (682 of 682 strings)

Co-authored-by: fin-w <fin-w@tutanota.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/cy/
Translation: Tusky/Tusky
2025-01-09 04:07:15 +00:00
UlrichKu
1c79c43795
3771: Only use timeline entries tied to the currently viewing account (#4857)
Fixes (should) doubled reply posts in timelines
(https://corteximplant.com/@Sirs0ri/113783407002282357)

Hard to test as you need two accounts logged in to Tusky with
operlapping locally cached account data.
2025-01-07 21:45:41 +01:00
Konrad Pozniak
93fb9c2418
keep ordering when picking multiple media files at once (#4841)
This restructures the code so that all picked media will be added to the
upload queue in the correct order and also does some other code cleanup.

closes #4754
2025-01-06 10:27:51 +01:00
Konrad Pozniak
510e093456
improve preview cards (#4782)
- new design thats more Material3-ish
- support for the Mastodon 4.3 fediverse:creator feature and other new
card attributes

closes #4732 
closes https://github.com/tuskyapp/Tusky/issues/3340

before:

<img
src="https://github.com/user-attachments/assets/6cd9ccfc-7f7d-459b-90d9-547cdca0d8c4"
width="280"/>
<img
src="https://github.com/user-attachments/assets/286b5b19-49a3-4b2f-97a9-185fc1f31a8e"
width="280"/>


after:
<img
src="https://github.com/user-attachments/assets/b57acf74-e7d3-411e-9186-763de87fa9ca"
width="280"/> <img
src="https://github.com/user-attachments/assets/50684c30-b4bf-4f05-8b8e-e5fd2bf3d7b6"
width="280"/>
2025-01-06 10:27:39 +01:00
UlrichKu
d6b276d8df
3771: Add "display replied to" functionality (#4834)
Earlier PR: https://github.com/tuskyapp/Tusky/pull/3778

Fixes: https://github.com/tuskyapp/Tusky/issues/3771
2025-01-06 10:27:27 +01:00
Konrad Pozniak
c630c47744
prepare release 128 (#4836) 2025-01-06 09:58:58 +01:00
Konrad Pozniak
2f91967802
don't show bot badge for all accounts when searching in AccountsInListFragment (#4853) 2025-01-06 09:58:49 +01:00
Konrad Pozniak
592a8e26cf
Translations update from Weblate (automated) (#4843)
Translations update from [Weblate](https://weblate.tusky.app) for
[Tusky/Tusky](https://weblate.tusky.app/projects/tusky/tusky/).



Current translation status:

![Weblate translation
status](https://weblate.tusky.app/widget/tusky/tusky/horizontal-auto.svg)

---------

Co-authored-by: Florian Kohler <weblatetuskyapp@floh.kohler.is>
Co-authored-by: openess <openess@openess.se>
Co-authored-by: Eric <alchemillatruth@users.noreply.weblate.tusky.app>
Co-authored-by: Starbeamrainbowlabs <sbrl+tuskywl@starbeamrainbowlabs.com>
Co-authored-by: Etienne Schneider <et.schneider@free.fr>
2025-01-05 11:43:11 +01:00
Konrad Pozniak
b52a5cdb48
fix AccountsInListFragment not showing any accounts (#4851)
The problem is that the MaterialAlertDialog uses a layout with
"wrap_content" around the custom view. Even though the dialog was
stretched to the whole window size, the content was never shown.
The fix reverts to the default dialog and styles it as if it was a
MaterialAlertDialog, which works and also looks better on smaller
screens.

fixes #4850
2025-01-05 11:34:06 +01:00
Konrad Pozniak
fc57d570a6
set singleLineTitle=false for all preferences via theme (#4852)
We want multi line titles so they are readable on small screens or with
large font sizes, and setting the attribute on every single preference
individually is annoying (and we forgot one).


https://pawb.fun/@keeri/113772067202381363
2025-01-05 11:33:57 +01:00
Etienne Schneider
171e509cec Translated using Weblate (French)
Currently translated at 94.9% (643 of 677 strings)

Co-authored-by: Etienne Schneider <et.schneider@free.fr>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/fr/
Translation: Tusky/Tusky
2025-01-05 10:14:52 +00:00
Starbeamrainbowlabs
bffa2f9b98 Translated using Weblate (English (United Kingdom))
Currently translated at 15.0% (102 of 677 strings)

Co-authored-by: Starbeamrainbowlabs <sbrl+tuskywl@starbeamrainbowlabs.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/en_GB/
Translation: Tusky/Tusky
2025-01-05 10:14:51 +00:00
Eric
fd0e2f1196 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (677 of 677 strings)

Co-authored-by: Eric <alchemillatruth@users.noreply.weblate.tusky.app>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/zh_Hans/
Translation: Tusky/Tusky
2025-01-05 10:14:51 +00:00
openess
d417382be8 Translated using Weblate (Swedish)
Currently translated at 94.9% (643 of 677 strings)

Co-authored-by: openess <openess@openess.se>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/sv/
Translation: Tusky/Tusky
2025-01-05 10:14:51 +00:00
Florian Kohler
d321397f7b Translated using Weblate (German)
Currently translated at 100.0% (677 of 677 strings)

Co-authored-by: Florian Kohler <weblatetuskyapp@floh.kohler.is>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/de/
Translation: Tusky/Tusky
2025-01-05 10:14:51 +00:00
Konrad Pozniak
6c908ee9d1
increase width of tab indicator (#4849)
There have been multiple complaints by users that the new Material 3 tab
indicator is too small.

Setting `app:tabIndicatorFullWidth="true"` alone looks weird imho, so I
additionally added some padding.

cc @mcclure 

Before / After


![before](https://github.com/user-attachments/assets/2234aed0-c558-4318-8cd5-fdb39af436a2)
![after](https://github.com/user-attachments/assets/1d806ad1-139c-41ed-9939-bc45f66d95c0)
2025-01-04 20:13:13 +01:00
Levi Bard
7bc40b4b03
Fix comparison of nonnormalized latin tags (#4845)
Mastodon "normalizes" tag text for latin characters when storing tag
names, so the hashtag object it sends for `#Über` has the name `uber`.
With the new trailing hashtag bar, this was causing nonascii hashtags
from the post content to be duplicated with their normalized versions,
e.g. `#Über #uber`.

This change ensures that we're always comparing normalized tag names.
2025-01-04 19:13:52 +01:00
Konrad Pozniak
67800634a2
guard against invalid position in StatusNotificationViewHolder (#4844)
We do this in other ViewHolders as well

Seen in this crash report on Google Play:

```
Exception java.lang.IndexOutOfBoundsException: Index: -1, Size: 0
  at androidx.paging.PageStore.checkIndex (PageStore.kt:56)
  at androidx.paging.PageStore.get (PageStore.kt:66)
  at androidx.paging.PagingDataPresenter.peek (PagingDataPresenter.java:290)
  at androidx.paging.AsyncPagingDataDiffer.peek (AsyncPagingDataDiffer.java:476)
  at androidx.paging.PagingDataAdapter.peek (PagingDataAdapter.kt:312)
  at com.keylesspalace.tusky.components.notifications.NotificationsFragment.onViewThread (NotificationsFragment.kt:409)
  at com.keylesspalace.tusky.components.notifications.StatusNotificationViewHolder.bind$lambda$0 (StatusNotificationViewHolder.java:104)
  at android.view.View.performClick (View.java:7684)
  at android.view.View.performClickInternal (View.java:7661)
  at android.view.View.-$$Nest$mperformClickInternal (Unknown Source)
  at android.view.View$PerformClick.run (View.java:30344)
  at android.os.Handler.handleCallback (Handler.java:1000)
  at android.os.Handler.dispatchMessage (Handler.java:104)
  at android.os.Looper.loopOnce (Looper.java:242)
  at android.os.Looper.loop (Looper.java:362)
  at android.app.ActivityThread.main (ActivityThread.java:8393)
  at java.lang.reflect.Method.invoke
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:552)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:992)
```
2025-01-04 18:44:34 +01:00
Konrad Pozniak
751609d6a7
Translations update from Weblate (automated) (#4840)
Translations update from [Weblate](https://weblate.tusky.app) for
[Tusky/Tusky](https://weblate.tusky.app/projects/tusky/tusky/).



Current translation status:

![Weblate translation
status](https://weblate.tusky.app/widget/tusky/tusky/horizontal-auto.svg)
2025-01-01 10:22:48 +01:00
Jakob
a79b132d6f Translated using Weblate (Polish)
Currently translated at 77.5% (525 of 677 strings)

Co-authored-by: Jakob <therealmoep@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/pl/
Translation: Tusky/Tusky
2025-01-01 07:50:39 +00:00
openess
6897758250 Translated using Weblate (Swedish)
Currently translated at 94.8% (642 of 677 strings)

Co-authored-by: openess <openess@openess.se>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/sv/
Translation: Tusky/Tusky
2025-01-01 07:50:39 +00:00
Arturo Serrano
214bd10b26 Translated using Weblate (Spanish)
Currently translated at 93.2% (631 of 677 strings)

Translated using Weblate (Spanish)

Currently translated at 92.9% (629 of 677 strings)

Co-authored-by: Arturo Serrano <carturo222@protonmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/es/
Translation: Tusky/Tusky
2025-01-01 07:50:39 +00:00
Julio J
dac4a9052a Translated using Weblate (Spanish)
Currently translated at 92.9% (629 of 677 strings)

Co-authored-by: Julio J <the.j3j5@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/es/
Translation: Tusky/Tusky
2025-01-01 07:50:39 +00:00
Reynald Borer
8592d9efcf Translated using Weblate (French)
Currently translated at 94.9% (643 of 677 strings)

Co-authored-by: Reynald Borer <reynald.borer@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/fr/
Translation: Tusky/Tusky
2025-01-01 07:50:38 +00:00
Starbeamrainbowlabs
876416406b Translated using Weblate (English (United Kingdom))
Currently translated at 14.9% (101 of 677 strings)

Co-authored-by: Starbeamrainbowlabs <sbrl+tuskywl@starbeamrainbowlabs.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/en_GB/
Translation: Tusky/Tusky
2025-01-01 07:50:38 +00:00
Jake Averill
2974ab117a Translated using Weblate (English (United Kingdom))
Currently translated at 14.9% (101 of 677 strings)

Co-authored-by: Jake Averill <jake@ja91.uk>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/en_GB/
Translation: Tusky/Tusky
2025-01-01 07:50:38 +00:00
Jan Hurař
84ca8d8e2e Translated using Weblate (Czech)
Currently translated at 98.5% (667 of 677 strings)

Translated using Weblate (Czech)

Currently translated at 92.6% (627 of 677 strings)

Co-authored-by: Jan Hurař <jhutar@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/cs/
Translation: Tusky/Tusky
2025-01-01 07:50:38 +00:00
vurpo
6e87897b63 Translated using Weblate (Finnish)
Currently translated at 63.0% (427 of 677 strings)

Co-authored-by: vurpo <vurpo@vurpo.fi>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/fi/
Translation: Tusky/Tusky
2025-01-01 07:50:38 +00:00
Sveinn í Felli
6cd3f0e12d Translated using Weblate (Icelandic)
Currently translated at 95.1% (644 of 677 strings)

Co-authored-by: Sveinn í Felli <sv1@fellsnet.is>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/is/
Translation: Tusky/Tusky
2025-01-01 07:50:38 +00:00
Clarissa Carim
6203943cc3 Translated using Weblate (Luxembourgish)
Currently translated at 10.1% (69 of 677 strings)

Translated using Weblate (Luxembourgish)

Currently translated at 2.0% (14 of 677 strings)

Co-authored-by: Clarissa Carim <clarissawam@yahoo.co.uk>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/lb/
Translation: Tusky/Tusky
2025-01-01 07:50:38 +00:00
Joël Adami
237e20bf4a Translated using Weblate (Luxembourgish)
Currently translated at 2.0% (14 of 677 strings)

Co-authored-by: Joël Adami <weblate.tusky.app@joeladami.net>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/lb/
Translation: Tusky/Tusky
2025-01-01 07:50:37 +00:00