6152 Commits

Author SHA1 Message Date
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
LibreTranslate
254951cf48 fix(l10n): Update Chinese (Simplified) (zh_MO) translations
Currently translated at 25.9% (7 of 27 strings)

Translation: Pachli/Fastlane Metadata
Translate-URL: https://hosted.weblate.org/projects/pachli/fastlane-metadata/zh_MO/
2024-11-29 20:27:11 +01:00
LibreTranslate
1b20df9ce1 fix(l10n): Update Chinese (Simplified Han script, Singapore) translations
Currently translated at 25.9% (7 of 27 strings)

Translation: Pachli/Fastlane Metadata
Translate-URL: https://hosted.weblate.org/projects/pachli/fastlane-metadata/zh_Hans_SG/
2024-11-29 20:27:11 +01:00
LibreTranslate
c5384297d4 fix(l10n): Update Chinese (Simplified Han script) translations
Currently translated at 25.9% (7 of 27 strings)

Translation: Pachli/Fastlane Metadata
Translate-URL: https://hosted.weblate.org/projects/pachli/fastlane-metadata/zh_Hans/
2024-11-29 20:27:11 +01:00
LibreTranslate
c95264f4b3 fix(l10n): Update Chinese (Traditional Han script) translations
Currently translated at 25.9% (7 of 27 strings)

Translation: Pachli/Fastlane Metadata
Translate-URL: https://hosted.weblate.org/projects/pachli/fastlane-metadata/zh_Hant/
2024-11-29 20:27:11 +01:00
LibreTranslate
0f0b31c64f 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
LibreTranslate
837082809b fix(l10n): Update Korean translations
Currently translated at 25.9% (7 of 27 strings)

Translation: Pachli/Fastlane Metadata
Translate-URL: https://hosted.weblate.org/projects/pachli/fastlane-metadata/ko/
2024-11-29 20:27:11 +01:00
LibreTranslate
87e4dd02fb fix(l10n): Update Persian translations
Currently translated at 25.9% (7 of 27 strings)

Translation: Pachli/Fastlane Metadata
Translate-URL: https://hosted.weblate.org/projects/pachli/fastlane-metadata/fa/
2024-11-29 20:27:11 +01:00
LibreTranslate
7afc4e7a44 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
LibreTranslate
25b369b77b fix(l10n): Update Arabic translations
Currently translated at 25.9% (7 of 27 strings)

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

Translation: Pachli/Fastlane Metadata
Translate-URL: https://hosted.weblate.org/projects/pachli/fastlane-metadata/pl/
2024-11-29 20:27:11 +01:00
LibreTranslate
2afd5a1f6c fix(l10n): Update Hebrew translations
Currently translated at 25.9% (7 of 27 strings)

Translation: Pachli/Fastlane Metadata
Translate-URL: https://hosted.weblate.org/projects/pachli/fastlane-metadata/he/
2024-11-29 20:27:11 +01:00
LibreTranslate
0e24b9adac fix(l10n): Update Hindi translations
Currently translated at 25.9% (7 of 27 strings)

Translation: Pachli/Fastlane Metadata
Translate-URL: https://hosted.weblate.org/projects/pachli/fastlane-metadata/hi/
2024-11-29 20:27:11 +01:00
LibreTranslate
8ae3ebe765 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
LibreTranslate
cb42aa1436 fix(l10n): Update Japanese translations
Currently translated at 25.9% (7 of 27 strings)

Translation: Pachli/Fastlane Metadata
Translate-URL: https://hosted.weblate.org/projects/pachli/fastlane-metadata/ja/
2024-11-29 20:27:11 +01:00
LibreTranslate
0cca37b6a4 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
LibreTranslate
e4652d81f0 fix(l10n): Update Chinese (Traditional Han script, Hong Kong) translations
Currently translated at 25.9% (7 of 27 strings)

Translation: Pachli/Fastlane Metadata
Translate-URL: https://hosted.weblate.org/projects/pachli/fastlane-metadata/zh_Hant_HK/
2024-11-29 20:27:11 +01:00
LibreTranslate
0ecb72d9a4 fix(l10n): Update Thai translations
Currently translated at 25.9% (7 of 27 strings)

Translation: Pachli/Fastlane Metadata
Translate-URL: https://hosted.weblate.org/projects/pachli/fastlane-metadata/th/
2024-11-29 20:27:11 +01:00
Nik Clayton
2652a9f850
chore: Prepare release 2.9.0 (versionCode 24) (#1142) v2.9.0 2024-11-28 15:23:19 +01:00
Nik Clayton
33f528b633
ci: Add security-events write permission for SARIF upload (#1140)
Required on `main` according to
https://github.com/github/codeql-action/issues/2117
2024-11-26 21:42:52 +01:00
Nik Clayton
d03cf09708
fix: Show correct account name in "Open as ..." menu (#1139) 2024-11-26 21:01:36 +01:00
Aindriú Mac Giolla Eoin
e9b66b69e4 fix(l10n): Update Irish translations
Currently translated at 100.0% (740 of 740 strings)

Translation: Pachli/App : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/app-main/ga/
2024-11-26 21:01:25 +01:00
Kalle Kniivilä
b7b8c2537f 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-26 21:01:25 +01:00
Nik Clayton
9bc17f0a1a
fix: Prevent crash if getItem throws IndexOutOfBoundsException (#1138) 2024-11-26 20:40:32 +01:00
Nik Clayton
4c7436ffb2
fix: Prevent NPE when adding reaction to announcement (#1137) 2024-11-26 20:40:22 +01:00
renovate[bot]
4a2a465bfe
chore(deps): update plugin ktlint to v12.1.2 (#1135)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| org.jlleitschuh.gradle.ktlint | `12.1.1` -> `12.1.2` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jlleitschuh.gradle.ktlint:org.jlleitschuh.gradle.ktlint.gradle.plugin/12.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jlleitschuh.gradle.ktlint:org.jlleitschuh.gradle.ktlint.gradle.plugin/12.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jlleitschuh.gradle.ktlint:org.jlleitschuh.gradle.ktlint.gradle.plugin/12.1.1/12.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jlleitschuh.gradle.ktlint:org.jlleitschuh.gradle.ktlint.gradle.plugin/12.1.1/12.1.2?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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzkuMTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-26 13:14:38 +01:00
Nik Clayton
982963b3b2
refactor: Use type converters instead calling moshi.adapter by hand (#1134)
A few places in the code were calling `moshi.adapter` to marshall
to/from strings in the database where type converters either already
exist, or are straightforward to create.

Create the missing type converters, and use them throughout. This
simplifies several places where a Moshi instance no longer needs to be
passed through several layers of method calls.

Since this doesn't change the underlying database representation of the
data there's no need to bump the database version number.
2024-11-25 21:25:28 +01:00
Nik Clayton
2ebb77e85f
fix: Don't clear content when account changes (#1132)
Previous code ran the setup routine whenever the account changed. I
think this could result in the content being cleared when a notification
arrived (processing the notification updates the marker, which updates
the account, which triggers a new collection).

Fix this by only taking the first emission of the account from the flow
to do the setup.
2024-11-25 13:38:19 +01:00
Nik Clayton
fa50b2d0c0
feat: Graduate tab alignment and content prefs from labs (#1131) 2024-11-25 13:04:53 +01:00
Nik Clayton
b8cb8cdd09
fix: Show top level error message when video playback fails (#1130)
Previous code showed the error message for the underlying cause, which
might be too technical for the user. Prefer to use top level error
message; hopefully that is more actionable.

Contributes to #1083
2024-11-25 12:59:37 +01:00
renovate[bot]
ccab076dc5
fix(deps): update dependency org.robolectric:robolectric to v4.14.1 (#1122)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [org.robolectric:robolectric](http://robolectric.org)
([source](https://redirect.github.com/robolectric/robolectric)) | `4.14`
-> `4.14.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.robolectric:robolectric/4.14.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.robolectric:robolectric/4.14.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.robolectric:robolectric/4.14/4.14.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.robolectric:robolectric/4.14/4.14.1?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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzkuMTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Nik Clayton <nik@ngo.org.uk>
2024-11-25 12:47:07 +01:00
Nik Clayton
2ebd5b746f
fix: Prevent crash with Paging IndexOutOfBoundsException (#1129)
getItemViewType is occasionally called with a position that's out of
range; trying to get the item at that position throws an
`IndexOutOfBoundsException`.

Catch it, and return the placeholder view type.
2024-11-25 12:18:11 +01:00
Nik Clayton
e009c00a76
feat: Initial support for filtering notifications by sending account (#1127)
Allow the user to define filtering rules for notifications by sending
account:

- Not followed
- Younger than 30d
- Limited by moderators

and a policy for each of either show, warn, or hide.

To do this:

## Manage followers

- Create a new `FollowingAccountEntity`, to record accounts the logged
in account is following.
- Fetch the account's followers when an account is made active, and
persist to this table.
- Provide the followers as a property on `PachliAccount`
- Update this table if the user follows/unfollows accounts during normal
operation.

## Track account creation time

- Record account creation time in `TimelineAccount`.

## Track notification creation time

- Record notification creation time in `Notification`.

## API

- Always fetch all notifications, including those the server is
filtering.

## UX and storage for account filters

- Show a new Account preference to edit account notification filters.
- Display a dialog to manage account notification filters.
- Persist the user's choice to new properties in `AccountEntity`.
- New `AccountManager` methods to update the properties

## Filtering notifications

- New `NotificationFilter.filterNotificationByAccount()` method to make
the filtering decision based on the user's preferences.
- Use this in `NotificationFetcher` to filter notifications before
creating Android notifications.
- Use this in `NotificationsViewModel` to filter notifications before
display in `NotificationsFragment`.

## UX for filtered notifications

- Display filtered (with warning) notifications inline with other
notifications, with UI to disclose the notification or edit the filters.
2024-11-25 11:35:05 +01:00
renovate[bot]
11e06fc5c9
chore(deps): update dependency gradle to v8.11.1 (#1119)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [gradle](https://gradle.org)
([source](https://redirect.github.com/gradle/gradle)) | patch | `8.11`
-> `8.11.1` |

---

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

---

### Release Notes

<details>
<summary>gradle/gradle (gradle)</summary>

###
[`v8.11.1`](https://redirect.github.com/gradle/gradle/compare/v8.11.0...v8.11.1)

[Compare
Source](https://redirect.github.com/gradle/gradle/compare/v8.11.0...v8.11.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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzkuMTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-24 21:27:57 +01:00
renovate[bot]
aded153167
chore(deps): update github/codeql-action digest to f09c1c0 (#1116)
This PR contains the following updates:

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

---

> [!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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzkuMTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-24 21:09:56 +01:00
sunniva
2206ee9856 fix(l10n): Update Norwegian Nynorsk translations
Currently translated at 55.1% (399 of 724 strings)

Translation: Pachli/App : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/app-main/nn/
2024-11-24 21:08:37 +01:00
sunniva
70aa5e4602 fix(l10n): Update Norwegian Bokmål translations
Currently translated at 100.0% (724 of 724 strings)

Translation: Pachli/App : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/app-main/nb_NO/
2024-11-24 21:08:37 +01:00
Nik Clayton
acdbf1e52f
refactor: Extract notification type icon code (#1126)
This code will be used elsewhere in an upcoming change, so extract it
now to minimise the diffs.

While I'm here, provide an icon for mentions, and an attribute for the
"favourite" colour.
2024-11-22 15:05:06 +01:00
Nik Clayton
79a69513ae
refactor: Rename clearWarningAction to clearContentFilter (#1125) 2024-11-22 14:52:17 +01:00
sunniva
ac36ed6264 fix(l10n): Update Norwegian Nynorsk translations
Currently translated at 22.6% (164 of 724 strings)

Translation: Pachli/App : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/app-main/nn/
2024-11-22 13:46:42 +01:00
sunniva
b9ce248d2b fix(l10n): Update Norwegian Bokmål translations
Currently translated at 98.4% (713 of 724 strings)

Translation: Pachli/App : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/app-main/nb_NO/
2024-11-22 13:46:42 +01:00
Nik Clayton
3594b38e90
feat(l10n): Add Norwegian Nynorsk to locales_config (#1124) 2024-11-22 12:01:29 +01:00
Nik Clayton
4c7107c910
feat: Support Pleroma returning dates with no timezone (#1120)
Pleroma (and possibly other servers) can return dates that have no
timezone. Previous code would fail to deserialise JSON in this state and
show an error.

Patch around this by assuming anything with a missing timezone is in UTC
(timezone suffix "Z").

Fixes #562
2024-11-21 16:20:27 +01:00
Nik Clayton
9f908cfb7b
refactor: Convert AccountSelectionListener to fun interface (#1118)
`AccountSelectionListener` only has one method; converting to a Kotlin
`fun interface` simplifies the calling code.
2024-11-20 19:50:04 +01:00