6195 Commits

Author SHA1 Message Date
Nik Clayton
edc7692cd3
fix: Show bold text correctly in many locales (#1189)
Previous translations used `<b>` instead of escaping the opening bracket
(`&lt;b>`) so the styling was being lost, per
https://developer.android.com/guide/topics/resources/string-resource#StylingWithHTML.
2024-12-30 12:50:59 +01:00
Kalle Kniivilä
8116fcbb55 fix(l10n): Update Finnish translations
Currently translated at 100.0% (744 of 744 strings)

Translation: Pachli/App : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/app-main/fi/
2024-12-30 11:43:29 +01:00
Nik Clayton
370e897385
docs: typo fix, "encoutered" -> "encountered" (#1186) 2024-12-23 12:33:30 +01:00
Kalle Kniivilä
88d3f60a60 fix(l10n): Update Finnish translations
Currently translated at 100.0% (744 of 744 strings)

Translation: Pachli/App : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/app-main/fi/
2024-12-23 12:33:00 +01:00
jens persson
ffe4a73d38 fix(l10n): Update Swedish translations
Currently translated at 100.0% (10 of 10 strings)

Translation: Pachli/Core/Data : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/coredata-main/sv/
2024-12-23 12:33:00 +01:00
jens persson
e9672a39e5 fix(l10n): Update Swedish translations
Currently translated at 100.0% (21 of 21 strings)

Translation: Pachli/Feature/Lists : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/featurelists-main/sv/
2024-12-23 12:33:00 +01:00
jens persson
5274406589 fix(l10n): Update Swedish translations
Currently translated at 76.7% (571 of 744 strings)

Translation: Pachli/App : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/app-main/sv/
2024-12-23 12:33:00 +01:00
Nik Clayton
1996d33aee
feat: Show link title when viewing posts about a trending link (#1184)
Previous code inadvertently crashed when the user clicked on a trending
link count to see statuses about the link.

Don't do that. Instead, show the statuses that mention the link, and
show the link's title in the actionbar to make it more explicit for the
user.

Special-case this timeline type in TimelineActivity so it can't be added
to a tab (it would be difficult to distinguish it amongst tabs as they
would have the same icon).
2024-12-16 20:19:44 +01:00
Nik Clayton
bafd8e474d
fix: "KeyStoreException: BKS not found" error during login (#1182)
"BKS" in the error refers to "Bouncycastle KeyStore". Remove all usage
of the Bouncycastle library from the code, re-implementing one required
function based on code from SubwayTooter. Add a license entry that
acknowledges this.

Fixes #1143
2024-12-16 18:17:23 +01:00
Nik Clayton
6b911edaf3
fix: Show the underlying error message for a login error (#1183) 2024-12-15 15:08:59 +01:00
renovate[bot]
48bc94dae5
chore(deps): update plugin com.gradle.develocity to v3.19 (#1176)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| com.gradle.develocity | `3.18.2` -> `3.19` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.gradle.develocity:com.gradle.develocity.gradle.plugin/3.19?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.gradle.develocity:com.gradle.develocity.gradle.plugin/3.19?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.gradle.develocity:com.gradle.develocity.gradle.plugin/3.18.2/3.19?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.gradle.develocity:com.gradle.develocity.gradle.plugin/3.18.2/3.19?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### 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/pachli/pachli-android).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-15 13:22:24 +01:00
Nik Clayton
6883072e6f
feat: Show request method and URL in ApiResult errors (#1181)
Append the request method ("GET", etc) and the request URL to error
messages in ApiResult errors. This should provide additional inforamtion
when debugging issues reported by users.
2024-12-14 15:01:44 +01:00
Nik Clayton
ed77d7aeb3
fix: Don't show "Remove tab" menu if there are no tabs (#1179)
Prevents a crash that would otherwise occur.
2024-12-13 15:18:01 +01:00
renovate[bot]
a66da06c2c
fix(deps): update dependency com.github.ajalt.clikt:clikt to v5.0.2 (#1152)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[com.github.ajalt.clikt:clikt](https://redirect.github.com/ajalt/clikt)
| `5.0.1` -> `5.0.2` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.github.ajalt.clikt:clikt/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.github.ajalt.clikt:clikt/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.github.ajalt.clikt:clikt/5.0.1/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.github.ajalt.clikt:clikt/5.0.1/5.0.2?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>ajalt/clikt (com.github.ajalt.clikt:clikt)</summary>

###
[`v5.0.2`](https://redirect.github.com/ajalt/clikt/blob/HEAD/CHANGELOG.md#502)

[Compare
Source](https://redirect.github.com/ajalt/clikt/compare/5.0.1...5.0.2)

##### Changed

-   Update Kotlin to 2.1.0

</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/pachli/pachli-android).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-13 11:51:47 +01:00
renovate[bot]
b8ccb8acfa
chore(deps): update github/codeql-action digest to df409f7 (#1171)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[github/codeql-action](https://redirect.github.com/github/codeql-action)
| action | digest | `babb554` -> `df409f7` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### 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/pachli/pachli-android).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-13 11:51:33 +01:00
renovate[bot]
eb638045ca
fix(deps): update dependency androidx.paging:paging-runtime-ktx to v3.3.5 (#1172)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[androidx.paging:paging-runtime-ktx](https://developer.android.com/jetpack/androidx/releases/paging#3.3.5)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `3.3.4` -> `3.3.5` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.paging:paging-runtime-ktx/3.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.paging:paging-runtime-ktx/3.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.paging:paging-runtime-ktx/3.3.4/3.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.paging:paging-runtime-ktx/3.3.4/3.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### 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/pachli/pachli-android).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-13 11:50:59 +01:00
renovate[bot]
620c0c83a0
fix(deps): update dependency io.github.oshai:kotlin-logging-jvm to v7.0.3 (#1173)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[io.github.oshai:kotlin-logging-jvm](https://redirect.github.com/oshai/kotlin-logging)
| `7.0.0` -> `7.0.3` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/io.github.oshai:kotlin-logging-jvm/7.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.github.oshai:kotlin-logging-jvm/7.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.github.oshai:kotlin-logging-jvm/7.0.0/7.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.github.oshai:kotlin-logging-jvm/7.0.0/7.0.3?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>oshai/kotlin-logging
(io.github.oshai:kotlin-logging-jvm)</summary>

###
[`v7.0.3`](https://redirect.github.com/oshai/kotlin-logging/releases/tag/7.0.3)

[Compare
Source](https://redirect.github.com/oshai/kotlin-logging/compare/7.0.0...7.0.3)

##### What's Changed

- Bump com.android.library from 8.3.2 to 8.5.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/oshai/kotlin-logging/pull/431](https://redirect.github.com/oshai/kotlin-logging/pull/431)
- Bump com.android.library from 8.5.0 to 8.5.1 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/oshai/kotlin-logging/pull/435](https://redirect.github.com/oshai/kotlin-logging/pull/435)
- Bump com.android.library from 8.5.1 to 8.6.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/oshai/kotlin-logging/pull/442](https://redirect.github.com/oshai/kotlin-logging/pull/442)
- Bump multiplatform from 2.0.0 to 2.0.20 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/oshai/kotlin-logging/pull/440](https://redirect.github.com/oshai/kotlin-logging/pull/440)
- Bump com.android.library from 8.6.0 to 8.6.1 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/oshai/kotlin-logging/pull/443](https://redirect.github.com/oshai/kotlin-logging/pull/443)
- Update version of README.md to 7.0.0 by
[@&#8203;acktsap](https://redirect.github.com/acktsap) in
[https://github.com/oshai/kotlin-logging/pull/444](https://redirect.github.com/oshai/kotlin-logging/pull/444)
- Bump actions/cache from 4.0.2 to 4.1.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/oshai/kotlin-logging/pull/446](https://redirect.github.com/oshai/kotlin-logging/pull/446)
- Bump multiplatform from 2.0.20 to 2.0.21 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/oshai/kotlin-logging/pull/448](https://redirect.github.com/oshai/kotlin-logging/pull/448)
- Bump actions/cache from 4.1.0 to 4.1.1 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/oshai/kotlin-logging/pull/447](https://redirect.github.com/oshai/kotlin-logging/pull/447)
- Bump actions/cache from 4.1.1 to 4.1.2 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/oshai/kotlin-logging/pull/454](https://redirect.github.com/oshai/kotlin-logging/pull/454)
- Logback backend for kotlin-logging by
[@&#8203;neeme-praks-sympower](https://redirect.github.com/neeme-praks-sympower)
in
[https://github.com/oshai/kotlin-logging/pull/452](https://redirect.github.com/oshai/kotlin-logging/pull/452)
- Support arguments where possible for Logback and Slf4j by
[@&#8203;sigmanil](https://redirect.github.com/sigmanil) in
[https://github.com/oshai/kotlin-logging/pull/458](https://redirect.github.com/oshai/kotlin-logging/pull/458)

##### New Contributors

- [@&#8203;acktsap](https://redirect.github.com/acktsap) made their
first contribution in
[https://github.com/oshai/kotlin-logging/pull/444](https://redirect.github.com/oshai/kotlin-logging/pull/444)
-
[@&#8203;neeme-praks-sympower](https://redirect.github.com/neeme-praks-sympower)
made their first contribution in
[https://github.com/oshai/kotlin-logging/pull/452](https://redirect.github.com/oshai/kotlin-logging/pull/452)
- [@&#8203;sigmanil](https://redirect.github.com/sigmanil) made their
first contribution in
[https://github.com/oshai/kotlin-logging/pull/458](https://redirect.github.com/oshai/kotlin-logging/pull/458)

**Full Changelog**:
https://github.com/oshai/kotlin-logging/compare/7.0.0...7.0.1

</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/pachli/pachli-android).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-13 11:49:52 +01:00
renovate[bot]
c9ff73edc0
chore(deps): update plugin org.gradle.toolchains.foojay-resolver-convention to v0.9.0 (#1177)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| org.gradle.toolchains.foojay-resolver-convention | `0.8.0` -> `0.9.0`
|
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.gradle.toolchains.foojay-resolver-convention:org.gradle.toolchains.foojay-resolver-convention.gradle.plugin/0.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.gradle.toolchains.foojay-resolver-convention:org.gradle.toolchains.foojay-resolver-convention.gradle.plugin/0.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.gradle.toolchains.foojay-resolver-convention:org.gradle.toolchains.foojay-resolver-convention.gradle.plugin/0.8.0/0.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.gradle.toolchains.foojay-resolver-convention:org.gradle.toolchains.foojay-resolver-convention.gradle.plugin/0.8.0/0.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### 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/pachli/pachli-android).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-13 11:48:35 +01:00
renovate[bot]
797c925ae6
chore(deps): update github/codeql-action digest to babb554 (#1161)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[github/codeql-action](https://redirect.github.com/github/codeql-action)
| action | digest | `f09c1c0` -> `babb554` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### 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/pachli/pachli-android).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-12 14:51:27 +01:00
Nik Clayton
3000525f2e
build: Add Java toolchain resolver (#1169)
Without this an initial build on a machine with no JDK installed can
fail with

```
A problem occurred configuring project ':feature:about'.
> Could not resolve all dependencies for configuration 'classpath'.
   > Could not resolve project :markdown2resource.
     Required by:
         project :feature:about
      > Failed to calculate the value of task ':markdown2resource:compileJava' property 'javaCompiler'.
         > Cannot find a Java installation on your machine matching this tasks requirements: {languageVersion=17, vendor=any vendor, implementation=vendor-specific} for WINDOWS on x86_64.
            > No locally installed toolchains match and toolchain download repositories have not been configured.
```
2024-12-12 14:48:56 +01:00
Nik Clayton
002ad8e750 fix(l10n): Update Spanish translations
Currently translated at 100.0% (744 of 744 strings)

Translation: Pachli/App : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/app-main/es/
2024-12-11 17:15:54 +01:00
Juan M Sevilla
ef0239cf3f fix(l10n): Update Spanish translations
Currently translated at 100.0% (744 of 744 strings)

Translation: Pachli/App : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/app-main/es/
2024-12-11 17:15:54 +01:00
Juan M Sevilla
9c6dc25584 fix(l10n): Update Spanish translations
Currently translated at 100.0% (27 of 27 strings)

Translation: Pachli/Fastlane Metadata
Translate-URL: https://hosted.weblate.org/projects/pachli/fastlane-metadata/es/
2024-12-11 17:15:54 +01:00
Juan M Sevilla
5e4a02e749 fix(l10n): Update Spanish translations
Currently translated at 100.0% (27 of 27 strings)

Translation: Pachli/Fastlane Metadata
Translate-URL: https://hosted.weblate.org/projects/pachli/fastlane-metadata/es/
2024-12-11 17:15:54 +01:00
Juan M Sevilla
a340f2f5d8 fix(l10n): Update Spanish translations
Currently translated at 99.8% (743 of 744 strings)

Translation: Pachli/App : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/app-main/es/
2024-12-11 17:15:54 +01:00
LibreTranslate
4459302647 fix(l10n): Update Spanish translations
Currently translated at 96.2% (26 of 27 strings)

Translation: Pachli/Fastlane Metadata
Translate-URL: https://hosted.weblate.org/projects/pachli/fastlane-metadata/es/
2024-12-11 17:15:54 +01:00
Nik Clayton
1a85f27a93
feat: Add Norsk Nynorsk as a selectable language (#1162)
Fixes #1159
2024-12-08 15:18:11 +01:00
renovate[bot]
b25bf17f02
fix(deps): update dependency androidx.paging:paging-runtime-ktx to v3.3.4 (#1098)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[androidx.paging:paging-runtime-ktx](https://developer.android.com/jetpack/androidx/releases/paging#3.3.4)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `3.3.2` -> `3.3.4` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.paging:paging-runtime-ktx/3.3.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.paging:paging-runtime-ktx/3.3.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.paging:paging-runtime-ktx/3.3.2/3.3.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.paging:paging-runtime-ktx/3.3.2/3.3.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### 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/pachli/pachli-android).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-08 15:00:41 +01:00
Sunniva Løvstad
55ed71a52f fix(l10n): Update Norwegian Nynorsk translations
Currently translated at 100.0% (744 of 744 strings)

Translation: Pachli/App : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/app-main/nn/
2024-12-08 15:00:29 +01:00
Sunniva Løvstad
f99d0da0b3 fix(l10n): Update Norwegian Bokmål translations
Currently translated at 100.0% (744 of 744 strings)

Translation: Pachli/App : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/app-main/nb_NO/
2024-12-08 15:00:29 +01:00
sunniva
e4780ecf38 fix(l10n): Update Norwegian Nynorsk translations
Currently translated at 88.7% (660 of 744 strings)

Translation: Pachli/App : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/app-main/nn/
2024-12-08 15:00:29 +01:00
sunniva
d8f2d1d2fe fix(l10n): Update Norwegian Bokmål translations
Currently translated at 100.0% (744 of 744 strings)

Translation: Pachli/App : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/app-main/nb_NO/
2024-12-08 15:00:29 +01:00
Sunniva Løvstad
743d5cd905 fix(l10n): Update Norwegian Bokmål translations
Currently translated at 100.0% (744 of 744 strings)

Translation: Pachli/App : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/app-main/nb_NO/
2024-12-08 15:00:29 +01:00
Nik Clayton
16f6330a9e
fix: Include URL when constructing nodeinfo error string (#1160)
Previous code crashed because of a missing format argument.
2024-12-08 14:30:29 +01:00
Aindriú Mac Giolla Eoin
29de2c4aac fix(l10n): Update Irish translations
Currently translated at 100.0% (741 of 741 strings)

Translation: Pachli/App : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/app-main/ga/
2024-12-06 13:35:44 +01:00
Nik Clayton
57be148fbf
feat: Show posts that mention a trending link (#1153)
Mastodon 4.3 introduced a new API to fetch a timeline of posts that
mention a trending link.

Use that to display a "See <n> posts about ths link" message in a
trending link's preview card (if supported by the server).

Define a new timeline type with associated API call to fetch the
timeline.

Add an accessibilty action to support this.

While I'm here also support author's in preview cards that don't have a
related Fediverse account; show their name in this case.

Fixes #1123
2024-12-03 23:00:31 +01:00
Nik Clayton
cfab7a9dfe
fix: Show unknown notification types correctly (#1154)
Previous code incorrectly marked unknown notifications as notifications
with a status, resulting in garbage in the display when showing one.

Fix that. Also provide a custom layout that shows the unknown
notification with a new question mark icon so it fits in with the other
notifications.
2024-12-03 22:26:50 +01:00
renovate[bot]
31d24bc605
fix(deps): update androidx.media3 to v1.5.0 (#1133)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[androidx.media3:media3-ui](https://redirect.github.com/androidx/media)
| `1.4.1` -> `1.5.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-ui/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.media3:media3-ui/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.media3:media3-ui/1.4.1/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.media3:media3-ui/1.4.1/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.media3:media3-datasource-okhttp](https://redirect.github.com/androidx/media)
| `1.4.1` -> `1.5.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-datasource-okhttp/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.media3:media3-datasource-okhttp/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.media3:media3-datasource-okhttp/1.4.1/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.media3:media3-datasource-okhttp/1.4.1/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.media3:media3-exoplayer-rtsp](https://redirect.github.com/androidx/media)
| `1.4.1` -> `1.5.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-exoplayer-rtsp/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.media3:media3-exoplayer-rtsp/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.media3:media3-exoplayer-rtsp/1.4.1/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.media3:media3-exoplayer-rtsp/1.4.1/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.media3:media3-exoplayer-hls](https://redirect.github.com/androidx/media)
| `1.4.1` -> `1.5.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-exoplayer-hls/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.media3:media3-exoplayer-hls/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.media3:media3-exoplayer-hls/1.4.1/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.media3:media3-exoplayer-hls/1.4.1/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.media3:media3-exoplayer-dash](https://redirect.github.com/androidx/media)
| `1.4.1` -> `1.5.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-exoplayer-dash/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.media3:media3-exoplayer-dash/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.media3:media3-exoplayer-dash/1.4.1/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.media3:media3-exoplayer-dash/1.4.1/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.media3:media3-exoplayer](https://redirect.github.com/androidx/media)
| `1.4.1` -> `1.5.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-exoplayer/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.media3:media3-exoplayer/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.media3:media3-exoplayer/1.4.1/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.media3:media3-exoplayer/1.4.1/1.5.0?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>androidx/media (androidx.media3:media3-ui)</summary>

###
[`v1.5.0`](https://redirect.github.com/androidx/media/blob/HEAD/RELEASENOTES.md#150-2024-11-27)

[Compare
Source](https://redirect.github.com/androidx/media/compare/1.4.1...1.5.0)

This release includes the following changes since the
[1.4.1 release](#&#8203;141-2024-08-23):

-   Common Library:
- Add `ForwardingSimpleBasePlayer` that allows forwarding to another
player with small adjustments while ensuring full consistency and
        listener handling

([#&#8203;1183](https://redirect.github.com/androidx/media/issues/1183)).
- Replace `SimpleBasePlayer.State.playlist` by `getPlaylist()` method.
- Add override for `SimpleBasePlayer.State.Builder.setPlaylist()` to
directly specify a `Timeline` and current `Tracks` and `Metadata`
        instead of building a playlist structure.
- Increase `minSdk` to 21 (Android Lollipop). This is aligned with all
        other AndroidX libraries.
    -   Add `androidx.media3:media3-common-ktx` artifact which provides
        Kotlin-specific functionality built on top of the Common library
- Add `Player.listen` suspending extension function to spin a coroutine
to
        listen to `Player.Events` to the `media3-common-ktx` library.
- Remove `@DoNotInline` annotations from manually out-of-lined inner
        classes designed to avoid
[runtime class verification
failures](https://chromium.googlesource.com/chromium/src/+/HEAD/build/android/docs/class_verification_failures.md).
Recent versions of [R8](https://developer.android.com/build/shrink-code)
now automatically out-of-line calls like these to avoid the runtime
failures (so the manual out-of-lining is no longer required). All Gradle
users of the library must already be a using a version of the Android
        Gradle Plugin that uses a version of R8 which does this,
[due to `compileSdk =
35`](https://issuetracker.google.com/345472586#comment7).
Users of the library with non-Gradle build systems will need to ensure
their R8-equivalent shrinking/obfuscating step does a similar automatic
out-of-lining process in order to avoid runtime class verification
        failures. This change has
[already been done in other AndroidX
libraries](http://r.android.com/3156141).
-   ExoPlayer:
- `MediaCodecRenderer.onProcessedStreamChange()` can now be called for
every media item. Previously it was not called for the first one. Use
`MediaCodecRenderer.experimentalEnableProcessedStreamChangedAtStart()`
        to enable this.
    -   Add `PreloadMediaSource.PreloadControl.onPreloadError` to allow
`PreloadMediaSource.PreloadControl` implementations to take actions when
        error occurs.
- Add `BasePreloadManager.Listener` to propagate preload events to apps.
- Allow changing SNTP client timeout and retry alternative addresses on
timeout
([#&#8203;1540](https://redirect.github.com/androidx/media/issues/1540)).
- Remove `MediaCodecAdapter.Configuration.flags` as the field was always
        zero.
- Allow the user to select the built-in speaker for playback on Wear OS
        API 35+ (where the device advertises support for this).
    -   Defer the blocking call to
`Context.getSystemService(Context.AUDIO_SERVICE)` until audio focus
handling is enabled. This ensures the blocking call isn't done if audio
        focus handling is not enabled
([#&#8203;1616](https://redirect.github.com/androidx/media/pull/1616)).
- Allow playback regardless of buffered duration when loading fails

([#&#8203;1571](https://redirect.github.com/androidx/media/issues/1571)).
    -   Add `AnalyticsListener.onRendererReadyChanged()` to signal when
        individual renderers allow playback to be ready.
    -   Fix `MediaCodec.CryptoException` sometimes being reported as an
"unexpected runtime error" when `MediaCodec` is operated in asynchronous
        mode (default behaviour on API 31+).
    -   Pass `bufferedDurationUs` instead of `bufferedPositionUs` with
`PreloadMediaSource.PreloadControl.onContinueLoadingRequested()`. Also
changes `DefaultPreloadManager.Status.STAGE_LOADED_TO_POSITION_MS` to
`DefaultPreloadManager.Status.STAGE_LOADED_FOR_DURATION_MS`, apps then
need to pass a value representing a specific duration from the default
start position for which the corresponding media source has to be
        preloaded with this IntDef, instead of a position.
- Add `ForwardingRenderer` implementation that forwards all method calls
        to another renderer
        ([1703](https://redirect.github.com/androidx/media/pull/1703)).
- Add playlist preloading for the next item in the playlist. Apps can
        enable preloading by calling
`ExoPlayer.setPreloadConfiguration(PreloadConfiguration)` accordingly.
By default preloading is disabled. When opted-in and to not interfere
with playback, `DefaultLoadControl` restricts preloading to start and
continue only when the player is not loading for playback. Apps can
        change this behaviour by implementing
        `LoadControl.shouldContinuePreloading()` accordingly (like when
        overriding this method in `DefaultLoadControl`). The default
implementation of `LoadControl` disables preloading in case an app is
        using a custom implementation of `LoadControl`.
- Add method `MediaSourceEventListener.EventDispatcher.dispatchEvent()`
to
        allow invoking events of subclass listeners
        ([1736](https://redirect.github.com/androidx/media/pull/1736)).
    -   Add `DefaultPreloadManager.Builder` that builds the
`DefaultPreloadManager` and `ExoPlayer` instances with consistently
        shared configurations.
- Remove `Renderer[]` parameter from `LoadControl.onTracksSelected()` as
`DefaultLoadControl` implementation can retrieve the stream types from
        `ExoTrackSelection[]`.
- Deprecated `DefaultLoadControl.calculateTargetBufferBytes(Renderer[],
ExoTrackSelection[])` and marked method as final to prevent overrides.
        The new
`DefaultLoadControl.calculateTargetBufferBytes(ExoTrackSelection[])`
        should be used instead.
- Report `MediaSourceEventListener` events from secondary sources in
        `MergingMediaSource`. This will result in load
start/error/cancelled/completed events being reported for sideloaded
        subtitles (those added with
`MediaItem.LocalConfiguration.subtitleConfigurations`), which may appear
        as duplicate load events emitted from `AnalyticsListener`.
- Prevent subtitle & metadata errors from completely stopping playback.
Instead the problematic track is disabled and playback of the remaining
        tracks continues

([#&#8203;1722](https://redirect.github.com/google/ExoPlayer/issues/1722)).
- In new subtitle handling (during extraction), associated parse (e.g.
invalid subtitle data) and load errors (e.g. HTTP 404) are emitted
            via `onLoadError` callbacks.
- In legacy subtitle handling (during rendering), only associated load
errors are emitted via `onLoadError` callbacks while parse errors
            are silently ignored (this is pre-existing behaviour).
- Fix bug where playlist items or periods in multi-period DASH streams
with durations that don't match the actual content could cause frame
        freezes at the end of the item

([#&#8203;1698](https://redirect.github.com/androidx/media/issues/1698)).
- Add a setter to `SntpClient` to set the max elapsed time since the
last
        update after which the client is re-initialized
([#&#8203;1794](https://redirect.github.com/androidx/media/pull/1794)).
-   Transformer:
    -   Add `SurfaceAssetLoader`, which supports queueing video data to
        Transformer via a `Surface`.
- `ImageAssetLoader` reports unsupported input via `AssetLoader.onError`
        instead of throwing an `IllegalStateException`.
    -   Make setting the image duration using
`MediaItem.Builder.setImageDurationMs` mandatory for image export.
- Add export support for gaps in sequences of audio EditedMediaItems.
-   Track Selection:
- `DefaultTrackSelector`: Prefer object-based audio over channel-based
        audio when other factors are equal.
-   Extractors:
- Allow `Mp4Extractor` and `FragmentedMp4Extractor` to identify H264
        samples that are not used as reference by subsequent samples.
    -   Add option to enable index-based seeking in `AmrExtractor`.
- Treat MP3 files with more than 128kB between valid frames as truncated
(instead of invalid). This means files with non-MP3 data at the end,
with no other metadata to indicate the length of the MP3 bytes, now stop
        playback at the end of the MP3 data instead of failing with
`ParserException: Searched too many bytes.{contentIsMalformed=true,
dataType=1}`
([#&#8203;1563](https://redirect.github.com/androidx/media/issues/1563)).
- Fix preroll sample handling for non-keyframe media start positions
when
        processing edit lists in MP4 files

([#&#8203;1659](https://redirect.github.com/google/ExoPlayer/issues/1659)).
- Improved frame rate calculation by using media duration from the
`mdhd`
        box in `Mp4Extractor` and `FragmentedMp4Extractor`

([#&#8203;1531](https://redirect.github.com/androidx/media/issues/1531)).
    -   Fix incorrect scaling of `media_time` in MP4 edit lists. While
        `segment_duration` was already correctly scaled using the movie
        timescale, `media_time` is now properly scaled using the track
        timescale, as specified by the MP4 format standard

([#&#8203;1792](https://redirect.github.com/androidx/media/issues/1792)).
- Handle out-of-order frames in `endIndices` calculation for MP4 with
edit
list
([#&#8203;1797](https://redirect.github.com/androidx/media/issues/1797)).
- Fix media duration parsing in `mdhd` box of MP4 files to handle `-1`
values
([#&#8203;1819](https://redirect.github.com/androidx/media/issues/1819)).
- Add support for identifying `h263` box in MP4 files for H.263 video

([#&#8203;1821](https://redirect.github.com/androidx/media/issues/1821)).
    -   Add AC-4 Level-4 ISO base media file format support
([#&#8203;1265](https://redirect.github.com/androidx/media/pull/1265)).
-   DataSource:
    -   Update `HttpEngineDataSource` to allow use starting at version S
        extension 7 instead of API level 34

([#&#8203;1262](https://redirect.github.com/androidx/media/issues/1262)).
- `DataSourceContractTest`: Assert that `DataSource.getUri()` returns
the
resolved URI (as documented). Where this is different to the requested
        URI, tests can indicate this using the new
`DataSourceContractTest.TestResource.Builder.setResolvedUri()` method.
    -   `DataSourceContractTest`: Assert that `DataSource.getUri()` and
`getResponseHeaders()` return their 'open' value after a failed call to
        `open()` (due to a 'not found' resource) and before a subsequent
        `close()` call.
- Overriding `DataSourceContractTest.getNotFoundResources()` allows
test sub-classes to provide multiple 'not found' resources, and to
provide any expected headers too. This allows to distinguish between
            HTTP 404 (with headers) and "server not found" (no headers).
-   Audio:
- Automatically configure CTA-2075 loudness metadata on the codec if
        present in the media.
    -   Ensure smooth volume ramp down when seeking.
    -   Fix pop sounds that may occur during seeks.
    -   Fix truncation error accumulation for Sonic's
        time-stretching/pitch-shifting algorithm.
- Fix bug in `SpeedChangingAudioProcessor` that causes dropped output
        frames.
-   Video:
- `MediaCodecVideoRenderer` avoids decoding samples that are neither
        rendered nor used as reference by other samples.
- On API 35 and above, `MediaCodecAdapter` may now receive a `null`
`Surface` in `configure` and calls to a new method `detachOutputSurface`
        to remove a previously set `Surface` if the codec supports this
        (`MediaCodecInfo.detachedSurfaceSupported`).
- Use `MediaCodecAdapter` supplied pixel aspect ratio values if provided
        when processing `onOutputFormatChanged`
([#&#8203;1371](https://redirect.github.com/androidx/media/pull/1371)).
- Add workaround for a device issue on Galaxy Tab S7 FE that causes
60fps
        secure H264 streams to be marked as unsupported

([#&#8203;1619](https://redirect.github.com/androidx/media/issues/1619)).
- Add workaround for codecs that get stuck after the last sample without
        returning an end-of-stream signal.
-   Text:
    -   Add a custom `VoiceSpan` and populate it for
[WebVTT voice
spans](https://www.w3.org/TR/webvtt1/#webvtt-cue-voice-span)

([#&#8203;1632](https://redirect.github.com/androidx/media/issues/1632)).
- Ensure WebVTT in HLS with very large subtitle timestamps (which
overflow
a 64-bit `long` when represented as microseconds and multiplied by the
        `90,000` MPEG timebase) are displayed

([#&#8203;1763](https://redirect.github.com/androidx/media/issues/1763)).
    -   Support CEA-608 subtitles in Dolby Vision content

([#&#8203;1820](https://redirect.github.com/androidx/media/issues/1820)).
- Fix playback hanging on DASH multi-period streams when CEA-608
subtitles
are enabled
([#&#8203;1863](https://redirect.github.com/androidx/media/issues/1863)).
-   Metadata:
- Assign the `C.TRACK_TYPE_METADATA` type to tracks containing icy or
        vnd.dvb.ait content.
-   Image:
- Add `ExternallyLoadedImageDecoder` for simplified integration with
        external image loading libraries like Glide or Coil.
-   DataSource:
- Add `FileDescriptorDataSource`, a new `DataSource` that can be used to
        read from a `FileDescriptor`

([#&#8203;3757](https://redirect.github.com/google/ExoPlayer/issues/3757)).
-   Effect:
- Add `DefaultVideoFrameProcessor` workaround for minor `SurfaceTexture`
scaling. `SurfaceTexture` may include a small scaling that cuts off a
1-texel border around the edge of a cropped buffer. This is now handled
        such that output is closer to expected.
- Speed up `DefaultVideoFrameProcessor.queueInputBitmap()`. As a result,
        exporting images to videos with `Transformer` is faster.
-   IMA extension:
    -   Fix bug where clearing the playlist may cause an
        `ArrayIndexOutOfBoundsException` in
        `ImaServerSideAdInsertionMediaSource`.
- Fix bug where server-side inserted DAI streams without a preroll can
result in an `ArrayIndexOutOfBoundsException` when playing past the last
midroll
([#&#8203;1741](https://redirect.github.com/androidx/media/issues/1741)).
-   Session:
- Add `MediaButtonReceiver.shouldStartForegroundService(Intent)` to
allow
apps to suppress a play command coming in for playback resumption by
overriding this method. By default, the service is always started and
playback can't be suppressed without the system crashing the service
        with a `ForegroundServiceDidNotStartInTimeException`

([#&#8203;1528](https://redirect.github.com/google/ExoPlayer/issues/1528)).
- Fix bug that caused custom commands sent from a `MediaBrowser` being
        dispatched to the `MediaSessionCompat.Callback` instead of the
`MediaBrowserServiceCompat` variant of the method when connected to a
legacy service. This prevented the `MediaBrowser` to receive the actual
        return value sent back by the legacy service

([#&#8203;1474](https://redirect.github.com/androidx/media/issues/1474)).
    -   Handle `IllegalArgumentException` thrown by devices of certain
manufacturers when setting the broadcast receiver for media button
intents
([#&#8203;1730](https://redirect.github.com/androidx/media/issues/1730)).
- Add command buttons for media items. This adds the Media3 API for what
was known as `Custom browse actions` with the legacy library with
`MediaBrowserCompat`. Note that with Media3 command buttons for media
items are available for both, `MediaBrowser` and `MediaController`. See
[Custom Browse actions of
AAOS](https://developer.android.com/training/cars/media#custom_browse_actions).
- Fix bug where a Media3 controller was sometimes unable to let a
session
        app start a foreground service after requesting `play()`.
- Restrict `CommandButton.Builder.setIconUri` to only accept content
Uris.
    -   Pass connection hints of a Media3 browser to the initial
`MediaBrowserCompat` when connecting to a legacy `MediaBrowserCompat`.
The service can receive the connection hints passed in as root hints
        with the first call to `onGetRoot()`.
- Fix bug where a `MediaBrowser` connected to a legacy browser service,
didn't receive an error sent by the service after the browser has
        subscribed to a `parentid`.
- Improve interoperability behavior, so that a Media3 browser that is
connected to a legacy `MediaBrowserService` doesn't request the children
        of a `parentId` twice when subscribing to a parent.
-   UI:
    -   Make the stretched/cropped video in
`PlayerView`-in-Compose-`AndroidView` workaround opt-in, due to issues
with XML-based shared transitions. Apps using `PlayerView` inside
        `AndroidView` need to call
`PlayerView.setEnableComposeSurfaceSyncWorkaround` in order to opt-in

([#&#8203;1237](https://redirect.github.com/androidx/media/issues/1237),

[#&#8203;1594](https://redirect.github.com/androidx/media/issues/1594)).
- Add `setFullscreenButtonState` to `PlayerView` to allow updates of
fullscreen button's icon on demand, i.e. out-of-band and not reactively
        to a click interaction

([#&#8203;1590](https://redirect.github.com/androidx/media/issues/1590),
[#&#8203;184](https://redirect.github.com/androidx/media/issues/184)).
- Fix bug where the "None" choice in the text selection is not working
if
        there are app-defined text track selection preferences.
-   DASH Extension:
    -   Add support for periods starting in the middle of a segment

([#&#8203;1440](https://redirect.github.com/androidx/media/issues/1440)).
-   Smooth Streaming Extension:
- Fix a `Bad magic number for Bundle` error when playing SmoothStreaming
        streams with text tracks

([#&#8203;1779](https://redirect.github.com/androidx/media/issues/1779)).
-   RTSP Extension:
- Fix user info removal for URLs that contain encoded @&#8203;
characters
([#&#8203;1138](https://redirect.github.com/androidx/media/pull/1138)).
    -   Fix crashing when parsing of RTP packets with header extensions
([#&#8203;1225](https://redirect.github.com/androidx/media/pull/1225)).
-   Decoder Extensions (FFmpeg, VP9, AV1, etc.):
- Add the IAMF decoder module, which provides support for playback of
MP4
        files containing IAMF tracks using the libiamf native library to
        synthesize audio.
        -   Playback is enabled with a stereo layout as well as 5.1 with
spatialization together with optional head tracking enabled, but
            binaural playback support is currently not available.
    -   Add 16 KB page support for decoder extensions on Android 15

([#&#8203;1685](https://redirect.github.com/androidx/media/issues/1685)).
-   Cast Extension:
- Stop cleaning the timeline after the CastSession disconnects, which
enables the sender app to resume playback locally after a disconnection.
- Populate CastPlayer's `DeviceInfo` when a `Context` is provided. This
enables linking the `MediaSession` to a `RoutingSession`, which is
        necessary for integrating Output Switcher

([#&#8203;1056](https://redirect.github.com/androidx/media/issues/1056)).
-   Test Utilities:
    -   `DataSourceContractTest` now includes tests to verify:
        -   Input stream `read position` is updated.
        -   Output buffer `offset` is applied correctly.
-   Demo app
    -   Resolve the memory leaks in demo short-form app

([#&#8203;1839](https://redirect.github.com/androidx/media/issues/1839)).
-   Remove deprecated symbols:
- Remove deprecated `Player.hasPrevious`, `Player.hasPreviousWindow()`.
        Use `Player.hasPreviousMediaItem()` instead.
    -   Remove deprecated `Player.previous()`method. Use
        `Player.seekToPreviousMediaItem()` instead.
- Remove deprecated `DrmSessionEventListener.onDrmSessionAcquired`
method.
    -   Remove deprecated `DefaultEncoderFactory` constructors. Use
        `DefaultEncoderFactory.Builder` instead.

</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 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/pachli/pachli-android).

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

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Nik Clayton <nik@ngo.org.uk>
2024-12-02 17:52:24 +01:00
Nik Clayton
ed87f0a99b
change: Register Iconics fonts before use (#1151) 2024-12-02 17:09:08 +01:00
Nik Clayton
5a861436ba
fix: Prevent race / crash when updating main drawer items (#1150)
Previous code could crash if the main drawer items weren't created
before setting the optional items (scheduled statuses, lists, etc).

Protect the drawer item manipulation with a mutex to prevent this.
2024-12-02 17:08:58 +01:00
Nik Clayton
4c03e404d5
fix: Don't crash when toggling an account's "Show boosts" option (#1149)
Previous code would crash because toggling show boosts would treat this
as a new follow, and try and insert a follower relationship in to the
database where one already existed.

Fix this by providing explicit actions for show/hiding reblogs that
don't disturb the follower relationship.
2024-12-02 15:18:56 +01:00
Nik Clayton
cf461906df
fix: Show content warning changes when viewing status edits (#1148)
Previous code only ran the status content through the diff engine, so
changes to the content warning / spoiler text were ignored.

Fixes #1144
2024-12-02 14:53:57 +01:00
Nik Clayton
442b855c4b fix(l10n): Update Irish translations
Currently translated at 100.0% (27 of 27 strings)

Translation: Pachli/Fastlane Metadata
Translate-URL: https://hosted.weblate.org/projects/pachli/fastlane-metadata/ga/
2024-12-02 13:18:21 +01:00
Aindriú Mac Giolla Eoin
b32456b27d fix(l10n): Update Irish translations
Currently translated at 100.0% (27 of 27 strings)

Translation: Pachli/Fastlane Metadata
Translate-URL: https://hosted.weblate.org/projects/pachli/fastlane-metadata/ga/
2024-12-02 13:18:21 +01:00
Nik Clayton
7882f7d7a2 fix(l10n): Update Slovak translations
Currently translated at 22.2% (6 of 27 strings)

Translation: Pachli/Fastlane Metadata
Translate-URL: https://hosted.weblate.org/projects/pachli/fastlane-metadata/sk/
2024-11-29 20:27:11 +01:00
Nik Clayton
2d32bc8848 fix(l10n): Update Dutch translations
Currently translated at 22.2% (6 of 27 strings)

Translation: Pachli/Fastlane Metadata
Translate-URL: https://hosted.weblate.org/projects/pachli/fastlane-metadata/nl/
2024-11-29 20:27:11 +01:00
Nik Clayton
e4bf4ff616 fix(l10n): Update Czech translations
Currently translated at 22.2% (6 of 27 strings)

Translation: Pachli/Fastlane Metadata
Translate-URL: https://hosted.weblate.org/projects/pachli/fastlane-metadata/cs/
2024-11-29 20:27:11 +01:00
Nik Clayton
50a07072d8 fix(l10n): Update Esperanto translations
Currently translated at 25.9% (7 of 27 strings)

Translation: Pachli/Fastlane Metadata
Translate-URL: https://hosted.weblate.org/projects/pachli/fastlane-metadata/eo/
2024-11-29 20:27:11 +01:00
sunniva
9228927a24 fix(l10n): Update Norwegian Nynorsk translations
Currently translated at 67.9% (503 of 740 strings)

Translation: Pachli/App : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/app-main/nn/
2024-11-29 20:27:11 +01:00
Kalle Kniivilä
ecf2c5d464 fix(l10n): Update Finnish translations
Currently translated at 100.0% (740 of 740 strings)

Translation: Pachli/App : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/app-main/fi/
2024-11-29 20:27:11 +01:00