renovate[bot]
0a67f7e9f7
chore(deps): update dependency gradle to v8.7 ( #563 )
...
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg )](https://renovatebot.com )
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [gradle](https://gradle.org )
([source](https://togithub.com/gradle/gradle )) | minor | `8.6` -> `8.7`
|
---
> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.
---
### Release Notes
<details>
<summary>gradle/gradle (gradle)</summary>
### [`v8.7`](https://togithub.com/gradle/gradle/compare/v8.6.0...v8.7.0 )
[Compare
Source](https://togithub.com/gradle/gradle/compare/v8.6.0...v8.7.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 has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/ ). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI2MS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-10 09:18:08 +02:00
renovate[bot]
0dfeed4c4d
fix(deps): update dependency org.robolectric:robolectric to v4.12.1 ( #608 )
...
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg )](https://renovatebot.com )
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [org.robolectric:robolectric](http://robolectric.org )
([source](https://togithub.com/robolectric/robolectric )) | `4.11.1` ->
`4.12.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.robolectric:robolectric/4.12.1?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.robolectric:robolectric/4.12.1?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.robolectric:robolectric/4.11.1/4.12.1?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.robolectric:robolectric/4.11.1/4.12.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 has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/ ). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-10 09:17:30 +02:00
Nik Clayton
dd2efe9795
feat: Disable filters for accounts on servers running Sharkey ( #610 )
...
Fixes #600 .
2024-04-09 16:23:04 +02:00
Nik Clayton
7752cf9210
fix: Set correct text direction for localised error messages ( #601 )
...
Use `unicodeWrap` when inserting placeholders in error messages so they
set the correct text direction.
Update some strings with formatting directives to (a) include `_fmt`
in the name, and (b) use `%1$s` instead of `%s`.
2024-04-09 14:26:15 +02:00
renovate[bot]
59c75358e9
chore(deps): update gradle/actions digest to 1168cd3 ( #602 )
...
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg )](https://renovatebot.com )
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [gradle/actions](https://togithub.com/gradle/actions ) | action |
digest | `417ae3c` -> `1168cd3` |
---
> [!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 has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/ ). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-09 13:00:20 +02:00
renovate[bot]
c8693ec08c
chore(deps): update hilt to v2.51.1 ( #573 )
...
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg )](https://renovatebot.com )
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.dagger.hilt.android](https://togithub.com/google/dagger ) |
`2.51` -> `2.51.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.dagger.hilt.android/2.51.1?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.dagger.hilt.android/2.51.1?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.dagger.hilt.android/2.51/2.51.1?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.dagger.hilt.android/2.51/2.51.1?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
|
[com.google.dagger:hilt-android-testing](https://togithub.com/google/dagger )
| `2.51` -> `2.51.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.dagger:hilt-android-testing/2.51.1?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.dagger:hilt-android-testing/2.51.1?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.dagger:hilt-android-testing/2.51/2.51.1?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.dagger:hilt-android-testing/2.51/2.51.1?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
| [com.google.dagger:hilt-compiler](https://togithub.com/google/dagger )
| `2.51` -> `2.51.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.dagger:hilt-compiler/2.51.1?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.dagger:hilt-compiler/2.51.1?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.dagger:hilt-compiler/2.51/2.51.1?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.dagger:hilt-compiler/2.51/2.51.1?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
| [com.google.dagger:hilt-android](https://togithub.com/google/dagger ) |
`2.51` -> `2.51.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.dagger:hilt-android/2.51.1?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.dagger:hilt-android/2.51.1?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.dagger:hilt-android/2.51/2.51.1?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.dagger:hilt-android/2.51/2.51.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 these
updates again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/ ). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-05 18:19:27 +02:00
renovate[bot]
17b202ed59
fix(deps): update retrofit to v2.11.0 ( #575 )
...
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg )](https://renovatebot.com )
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[com.squareup.retrofit2:retrofit](https://togithub.com/square/retrofit )
| `2.10.0` -> `2.11.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.squareup.retrofit2:retrofit/2.11.0?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.squareup.retrofit2:retrofit/2.11.0?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.squareup.retrofit2:retrofit/2.10.0/2.11.0?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.squareup.retrofit2:retrofit/2.10.0/2.11.0?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
|
[com.squareup.retrofit2:converter-moshi](https://togithub.com/square/retrofit )
| `2.10.0` -> `2.11.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.squareup.retrofit2:converter-moshi/2.11.0?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.squareup.retrofit2:converter-moshi/2.11.0?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.squareup.retrofit2:converter-moshi/2.10.0/2.11.0?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.squareup.retrofit2:converter-moshi/2.10.0/2.11.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>square/retrofit (com.squareup.retrofit2:retrofit)</summary>
###
[`v2.11.0`](https://togithub.com/square/retrofit/blob/HEAD/CHANGELOG.md#2110---2024-03-28 )
[Compare
Source](https://togithub.com/square/retrofit/compare/2.10.0...2.11.0 )
**New**
- The built-in `OptionalConverterFactory` is now public to allow
installing it before other converters which consume all types (e.g.,
Moshi, Gson, Jackson, etc.).
**Fixed**
- Ensure that exceptions thrown from failure to parse method annotations
can be observed by multiple threads/callers. Previously only the first
caller would see the actual parsing exception and other callers would
get a cryptic `ClassCastException`.
</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 has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/ ). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-05 18:19:18 +02:00
Weblate (bot)
9e35147658
fix(l10n): Translations update from Hosted Weblate ( #588 )
...
Translations update from [Hosted Weblate](https://hosted.weblate.org )
for [Pachli/Fastlane
Metadata](https://hosted.weblate.org/projects/pachli/fastlane-metadata/ ).
It also includes following components:
* [Pachli/Core/Network :
Main](https://hosted.weblate.org/projects/pachli/corenetwork-main/ )
* [Pachli/App :
Main](https://hosted.weblate.org/projects/pachli/app-main/ )
* [Pachli/Feature/About :
Main](https://hosted.weblate.org/projects/pachli/featureabout-main/ )
* [Pachli/Feature/Lists :
Main](https://hosted.weblate.org/projects/pachli/featurelists-main/ )
* [Pachli/App :
Google](https://hosted.weblate.org/projects/pachli/app-google/ )
*
[Pachli/Feature/Login](https://hosted.weblate.org/projects/pachli/featurelogin/ )
* [Pachli/Core/Designsystem :
Main](https://hosted.weblate.org/projects/pachli/coredesignsystem-main/ )
* [Pachli/Core/Activity :
Orange](https://hosted.weblate.org/projects/pachli/coreactivity-orange/ )
* [Pachli/Core/Activity :
Main](https://hosted.weblate.org/projects/pachli/coreactivity-main/ )
* [Pachli/App :
Fdroid](https://hosted.weblate.org/projects/pachli/app-fdroid/ )
* [Pachli/Core/Ui :
Main](https://hosted.weblate.org/projects/pachli/coreui-main/ )
Current translation status:
![Weblate translation
status](https://hosted.weblate.org/widget/pachli/fastlane-metadata/horizontal-auto.svg )
---------
Co-authored-by: ButterflyOfFire <boffire@users.noreply.hosted.weblate.org>
Co-authored-by: Kalle Kniivilä <kalle.kniivila@gmail.com>
Co-authored-by: Nik Clayton <nik@ngo.org.uk>
2024-04-05 17:52:39 +02:00
Nik Clayton
b52ec248b0
refactor: Remove unnecessary whitespace in poll_info_format resource ( #595 )
2024-04-05 16:46:38 +02:00
Nik Clayton
30b803f673
docs: Restructure README, link to screenshots ( #596 )
2024-04-05 16:44:52 +02:00
Nik Clayton
c89f91d058
feat: Show any errors when registering the app during login ( #594 )
...
Should make it easier for users to figure out what's gone wrong and
either fix it on their end, or provide more detailed bug reports.
2024-04-05 12:27:12 +02:00
Angelo Suzuki
6507e2bec1
fix: Setup compose button when creating MainActivity ( #589 )
...
The compose button isn't initially working on `MainActivity`. It is only
properly setup after changing tabs.
Fix by calling `MainActivity.refreshComposeButtonState(TabViewData)` on
creation.
2024-04-04 13:33:43 +02:00
Nik Clayton
6bef6f2fae
feat: Simplify adding/removing timelines from tabs ( #587 )
...
Previously, modifying any tabs meant opening the left-side nav, opening
Account preferences > Tabs, and then adding / removing tabs. This is
time consuming, and difficult for new users to discover.
In addition, it was possible to remove the Home tab, and there was a
hardcoded minimum of at least two tabs.
Fix this.
When viewing a timeline that is not already in a tab an "Add to tab"
menu item is enabled, which appends the timeline to the list of existing
tabs.
When viewing a timeline in a tab (that is not the Home timeline) a
"Remove tab" menu item is enabled, which removes the tab from the list
of existing tabs.
If the user removes the active tab (either with this menu item, or
through preferences) the tab to the left of the active tab becomes the
new active tab.
A new "Manage tabs" menu item is also provided, as a shortcut to the
existing Account preferences > Tabs screen.
When managing tabs the Home timeline can not be removed; the button to
remove it is removed, and swiping is disabled on that list item. The
restriction of "at least two tabs" has also been removed.
`NotificationsActivity` has been removed, as `TimelineActivity` can
display `NotificationsFragment`.
To make the three "Trending" types (hashtags, links, and posts) more
visually distinct add two new icons for links (ic_newspaper) and posts
(ic_whatshot).
Fixes #572 , #584 , #585 , #569
2024-04-03 00:10:09 +02:00
Nik Clayton
0829d91989
fix: Stop crash in FollowedTagsActivity when view is not created ( #586 )
2024-04-02 17:51:46 +02:00
Nik Clayton
4ea42f4a2c
feat: Add left-nav entries for Local, Federated, and Direct Messages ( #583 )
...
Fixes #570
2024-04-01 21:42:28 +02:00
Nik Clayton
d65d969257
fix: Allow filter expiration to be set to "indefinite" ( #582 )
...
Mastodon API uses an "empty" `expires_in` value for a filter to mean
"Does not expire" (i.e., indefinite).
This was modelled as a null. Which doesn't work, because Retrofit does
not send name/value pairs in encoded forms if the value is null.
Fix this by making the API type a `String?`, and explicitly using the
empty string when indefinite expiry is used. This has to be converted
back to an Int? in a few places.
See
https://github.com/mastodon/documentation/issues/1216#issuecomment-2030222940
2024-04-01 20:48:11 +02:00
Nik Clayton
c45408088a
refactor: Use the `minutes` helper to create the duration ( #581 )
2024-04-01 20:14:19 +02:00
Nik Clayton
55c12dde44
refactor: Improve show/hide FAB logic ( #580 )
...
Previous code was inconsistent about how and when the FAB was hidden if
the user had set the relevant preference.
- Sometimes the FAB has hidden by setting the visibility to false, which
removed it with no animation.
- Sometimes the value of the preference was checked once, when the
fragment or activity was created.
- Some timelines didn't show the FAB (Hashtags, Favourites, Bookmarks,
TrendingLinks, TrendingStatuses).
- Logic for figuring out which `ComposeActivity` intent to use was
scattered across different files.
Improve this by:
- Expose changes to the `FAB_HIDE` preference in the relevant viewmodels
as a flow the UI component can collect.
- Centralise the show/hide logic in a new `ActionButtonScrollListener`
class, and always using `show()`/`hide()` to animate the transition.
- Centralise the logic for creating the `ComposeActivity` intent in
`TabViewData`.
2024-04-01 19:57:46 +02:00
Nik Clayton
53fa56bbb4
feat: Support adding "Favourites" to a tab ( #578 )
2024-03-31 00:03:32 +01:00
Nik Clayton
64fae0ceb6
refactor: Rename `StatusListActivity` to `TimelineActivity` ( #577 )
...
More accurately reflects what it does, and simplies the diffs for
upcoming work.
2024-03-30 23:48:04 +01:00
Nik Clayton
8257ded395
refactor: Remove `TabData` type ( #576 )
...
`TabData` recorded the type of the timeline the user had added to a tab.
`TimelineKind` is another type that records general information about
configured timelines, with identical properties.
There's no need for both, so remove `TabData` and use `TimelineKind` in
its place.
`TimelineKind` is itself mis-named; it's not just the timeline's kind
but also holds data necessary to display that timeline (e.g., the list
ID if it's a `.UserList`, or the hashtags if it's a `.Hashtags`) so
rename to `Timeline` to better reflect its usage. Move it to a new
`core.model` module.
2024-03-30 23:27:25 +01:00
Nik Clayton
09ca6ae0a8
fix: Create a dedicated menu for NotificationsActivity ( #571 )
...
Previous code (probably copy/paste error) used R.menu.activity_trending.
2024-03-29 21:37:45 +01:00
Nik Clayton
2fd9828747
chore: Shrink changelog to < 500 characters
2024-03-28 12:08:35 +01:00
Nik Clayton
c2db3dfbcc
chore: Prepare release 2.4.0 (versionCode 13) ( #568 )
2024-03-28 11:46:06 +01:00
Nik Clayton
0bb269a37d
fix: Don't crash on invalid avatars ( #566 )
...
Workaround a Glide bug where the error() handler is not always called,
in this case when the URL does not resolve to an image; for example, a
misconfigured server that redirects requests for the image to an HTML
page.
Catch the exception and use the default avatar image in these cases.
2024-03-24 19:32:28 +01:00
Nik Clayton
d3c7c7c89a
fix: Surface all exceptions to the user instead of crashing ( #565 )
...
Previous code would handle some expected exceptions (IO, HTTP) when
fetching a timeline, and show them to the user. Any other exception
would crash.
Now, surface all exceptions. Treat IO and HTTP exceptions as retryable
and show the "Retry" option, all others are considered non-retryable.
Provide a specific error string for exceptions caused by bad JSON.
2024-03-24 18:36:28 +01:00
Nik Clayton
2a4126a542
fix: Improve URL / tag / mention extraction when composing ( #564 )
...
Previous code used custom regular expressions to extract URLs, hashtags,
and mentions from text while the user was writing a post. These were
inconsistent with the ones that Mastodon uses so the derived character
count could be wrong.
As well as being visually incorrect this could prevent the user from
posting a status that was within the length limit, or allow them to
attempt to post a status that was over the length limit (which would
then fail).
Fix this by dropping the homegrown regular expressions and using the
same text parsing library that Mastodon users; twitter-text. This has
been converted to Kotlin and the functionality related to Twitter
specific features has been removed.
The hashtag handling has been adjusted, as Mastodon is more permissive
about the positions where hashtags can appear than Twitter is, in
particular, a hashtag does not need to be preceded with whitespace if
the tag appears after some scripts, such as Hirigana.
2024-03-23 14:14:07 +01:00
renovate[bot]
62fd47e862
chore(deps): update gradle/wrapper-validation-action digest to b231772 ( #561 )
...
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg )](https://renovatebot.com )
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
|
[gradle/wrapper-validation-action](https://togithub.com/gradle/wrapper-validation-action )
| action | digest | `699bb18` -> `b231772` |
---
> [!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 has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/ ). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI2MS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-22 08:48:27 +01:00
renovate[bot]
81e54732aa
fix(deps): update androidx.media3 to v1.3.0 ( #510 )
...
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg )](https://renovatebot.com )
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [androidx.media3:media3-ui](https://togithub.com/androidx/media ) |
`1.2.1` -> `1.3.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-ui/1.3.0?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.media3:media3-ui/1.3.0?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.media3:media3-ui/1.2.1/1.3.0?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.media3:media3-ui/1.2.1/1.3.0?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
|
[androidx.media3:media3-datasource-okhttp](https://togithub.com/androidx/media )
| `1.2.1` -> `1.3.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-datasource-okhttp/1.3.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.3.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.2.1/1.3.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.2.1/1.3.0?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
|
[androidx.media3:media3-exoplayer-rtsp](https://togithub.com/androidx/media )
| `1.2.1` -> `1.3.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-exoplayer-rtsp/1.3.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.3.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.2.1/1.3.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.2.1/1.3.0?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
|
[androidx.media3:media3-exoplayer-hls](https://togithub.com/androidx/media )
| `1.2.1` -> `1.3.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-exoplayer-hls/1.3.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.3.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.2.1/1.3.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.2.1/1.3.0?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
|
[androidx.media3:media3-exoplayer-dash](https://togithub.com/androidx/media )
| `1.2.1` -> `1.3.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-exoplayer-dash/1.3.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.3.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.2.1/1.3.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.2.1/1.3.0?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
|
[androidx.media3:media3-exoplayer](https://togithub.com/androidx/media )
| `1.2.1` -> `1.3.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-exoplayer/1.3.0?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.media3:media3-exoplayer/1.3.0?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.media3:media3-exoplayer/1.2.1/1.3.0?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.media3:media3-exoplayer/1.2.1/1.3.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.3.0`](https://togithub.com/androidx/media/blob/HEAD/RELEASENOTES.md#130-2024-03-06 )
[Compare
Source](https://togithub.com/androidx/media/compare/1.2.1...1.3.0 )
This release includes the following changes since the
[1.2.1 release](#​121-2024-01-09):
- Common Library:
- Implement support for `android.resource://package/[type/]name` raw
resource URIs where `package` is different to the package of the current
application. This has always been documented to work, but wasn't
correctly implemented until now.
- Normalize MIME types set by app code or read from media to be fully
lower-case.
- Define ads with a full `MediaItem` instead of a single `Uri` in
`AdPlaybackState`.
- Increase `minSdk` to 19 (Android KitKat). This is
[aligned with all other AndroidX
libraries](https://android-developers.googleblog.com/2023/10/androidx-minsdkversion-19.html ),
and is required for us to upgrade to the latest versions of our AndroidX
dependencies.
- Populate both `artworkUri` and `artworkData` in
`MediaMetadata.Builder.populate(MediaMetadata)` when at least one of
them is non-null
([#​964](https://togithub.com/androidx/media/issues/964 )).
- ExoPlayer:
- Add `PreloadMediaSource` and `PreloadMediaPeriod` that allows apps to
preload a content media source at a specific start position before
playback. `PreloadMediaSource` takes care of preparing the content media
source to receive the `Timeline`, preparing and caching the period at
the given start position, selecting tracks and loading media data for
the period. Apps control the preload progress by implementing
`PreloadMediaSource.PreloadControl` and set the preloaded source to the
player for playback.
- Add `ExoPlayer.setImageOutput` that allows apps to set
`ImageRenderer.ImageOutput`.
- `DefaultRenderersFactory` now provides an `ImageRenderer` to the
player
by default with null `ImageOutput` and `ImageDecoder.Factory.DEFAULT`.
- Emit `Player.Listener.onPositionDiscontinuity` event when silence is
skipped ([#​765](https://togithub.com/androidx/media/issues/765 )).
- Add experimental support for parsing subtitles during extraction. You
can enable this using
`MediaSource.Factory.experimentalParseSubtitlesDuringExtraction()`.
- Support adaptive media sources with `PreloadMediaSource`.
- Implement `HttpEngineDataSource`, an `HttpDataSource` using the
[HttpEngine](https://developer.android.com/reference/android/net/http/HttpEngine )
API.
- Prevent subclassing `CompositeSequenceableLoader`. This component was
[previously made
extensible](0de57cbfae
)
but was never subclassed within the library. Customizations can be done
by wrapping an instance using the
[decorator pattern](https://en.wikipedia.org/wiki/Decorator_pattern ) and
implementing a custom `CompositeSequenceableLoaderFactory`.
- Fix issue where repeating the same time causes metadata from this item
to be cleared
([#​1007](https://togithub.com/androidx/media/issues/1007 )).
- Rename `experimentalSetSubtitleParserFactory` methods on
`BundledChunkExtractor.Factory` and `DefaultHlsExtractorFactory` to
`setSubtitleParserFactory` and disallow passing `null`. Use the new
`experimentalParseSubtitlesDuringExtraction(boolean)` methods to control
parsing behaviour.
- Add support for customising the `SubtitleParser.Factory` used during
extraction. This can be achieved with
`MediaSource.Factory.setSubtitleParserFactory()`.
- Add source prefix to all `Format.id` fields generated from
`MergingMediaSource`. This helps to identify which source produced a
`Format`
([#​883](https://togithub.com/androidx/media/issues/883 )).
- Fix the regex used for validating custom Common Media Client Data
(CMCD)
key names by modifying it to only check for hyphen
([#​1028](https://togithub.com/androidx/media/issues/1028 )).
- Stop double-encoding CMCD query parameters
([#​1075](https://togithub.com/androidx/media/issues/1075 )).
- Transformer:
- Add support for flattening H.265/HEVC SEF slow motion videos.
- Increase transmuxing speed, especially for 'remove video' edits.
- Add API to ensure that the output file starts on a video frame. This
can
make the output of trimming operations more compatible with player
implementations that don't show the first video frame until its
presentation timestamp
([#​829](https://togithub.com/androidx/media/issues/829 )).
- Add support for optimizing single asset mp4 trim operations.
- Add support to ensure a video frame has the first timestamp in the
output file. Fixes output files beginning with black frame on iOS based
players ([#​829](https://togithub.com/androidx/media/issues/829 )).
- Track Selection:
- Add `DefaultTrackSelector.selectImageTrack` to enable image track
selection.
- Add `TrackSelectionParameters.isPrioritizeImageOverVideoEnabled` to
determine whether to select an image track if both an image track and a
video track are available. The default value is `false` which means
selecting a video track is prioritized.
- Extractors:
- Add additional AV1C parsing to MP4 extractor to retrieve
`ColorInfo.colorSpace`, `ColorInfo.colorTransfer`, and
`ColorInfo.colorRange` values
([#​692](https://togithub.com/androidx/media/pull/692 )).
- MP3: Use constant bitrate (CBR) seeking for files with an `Info`
header
(the CBR equivalent of the `Xing` header). Previously we used the seek
table from the `Info` header, but this results in less precise seeking
than if we ignore it and assume the file is CBR.
- MPEG2-TS: Add DTS, DTS-LBR and DTS:X Profile2 support
([#​275](https://togithub.com/androidx/media/pull/275 )).
- Extract audio types from TS descriptors and map them to role flags,
allowing users to make better-informed audio track selections
([#​973](https://togithub.com/androidx/media/pull/973 )).
- Audio:
- Improve silence skipping algorithm with smooth volume ramp; retained
minimal silence and more natural silence durations
([#​7423](https://togithub.com/google/ExoPlayer/issues/7423 )).
- Report the skipped silence more deterministically
([#​1035](https://togithub.com/androidx/media/issues/1035 )).
- Video:
- Change the `MediaCodecVideoRenderer` constructor that takes a
`VideoFrameProcessor.Factory` argument and replace it with a constructor
that takes a `VideoSinkProvider` argument. Apps that want to inject a
custom `VideoFrameProcessor.Factory` can instantiate a
`CompositingVideoSinkProvider` that uses the custom
`VideoFrameProcessor.Factory` and pass the video sink provider to
`MediaCodecVideoRenderer`.
- Text:
- Fix serialization of bitmap cues to resolve `Tried to marshall a
Parcel
that contained Binder objects` error when using
`DefaultExtractorsFactory.setTextTrackTranscodingEnabled`
([#​836](https://togithub.com/androidx/media/issues/836 )).
- CEA-708: Ignore `rowLock` value. The CEA-708-E S-2023 spec states that
`rowLock` and `columnLock` should both be assumed to be true, regardless
of the values present in the stream (`columnLock` support is not
implemented, so it's effectively assumed to always be false).
- Image:
- Add support for DASH thumbnails. Grid images are cropped and
individual
thumbnails are provided to `ImageOutput` close to their presentation
times.
- DRM:
- Play 'clear lead' unencrypted samples in DRM content immediately by
default, even if the keys for the later encrypted samples aren't ready
yet. This may lead to mid-playback stalls if the keys still aren't ready
when the playback position reaches the encrypted samples (but previously
playback wouldn't have started at all by this point). This behavior can
be disabled with
[`MediaItem.DrmConfiguration.Builder.setPlayClearContentWithoutKey`](https://developer.android.com/reference/androidx/media3/common/MediaItem.DrmConfiguration.Builder#setPlayClearContentWithoutKey\(boolean\) )
or
[`DefaultDrmSessionManager.Builder.setPlayClearSamplesWithoutKeys`](https://developer.android.com/reference/androidx/media3/exoplayer/drm/DefaultDrmSessionManager.Builder#setPlayClearSamplesWithoutKeys\(boolean\) ).
- IMA extension:
- Fix issue where DASH and HLS ads without the appropriate file
extension
can't be played.
- Session:
- Disable double-click detection for TV apps
([#​962](https://togithub.com/androidx/media/issues/962 )).
- Fix issue where `MediaItem.RequestMetadata` with just non-null extras
is
not transmitted between media controllers and sessions.
- Add constructor to `MediaLibrarySession.Builder` that only takes a
`Context` instead of a `MediaLibraryService`.
- HLS Extension:
- Reduce `HlsMediaPeriod` to package-private visibility. This type
shouldn't be directly depended on from outside the HLS package.
- Resolve seeks to beginning of a segment more efficiently
([#​1031](https://togithub.com/androidx/media/pull/1031 )).
- Decoder Extensions (FFmpeg, VP9, AV1, MIDI, etc.):
- MIDI decoder: Ignore SysEx event messages
([#​710](https://togithub.com/androidx/media/pull/710 )).
- Test Utilities:
- Don't pause playback in `TestPlayerRunHelper.playUntilPosition`. The
test keeps the playback in a playing state, but suspends progress until
the test is able to add assertions and further actions.
- Demo app:
- Add a shortform demo module to demo the usage of `PreloadMediaSource`
with the short-form content use case.
</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 has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/ ). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMzAuMCIsInVwZGF0ZWRJblZlciI6IjM3LjIzMC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-21 22:29:09 +01:00
renovate[bot]
f124901f1e
fix(deps): update dependency androidx.browser:browser to v1.8.0 ( #508 )
...
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg )](https://renovatebot.com )
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[androidx.browser:browser](https://developer.android.com/jetpack/androidx/releases/browser#1.8.0 )
([source](https://cs.android.com/androidx/platform/frameworks/support ))
| `1.7.0` -> `1.8.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.browser:browser/1.8.0?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.browser:browser/1.8.0?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.browser:browser/1.7.0/1.8.0?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.browser:browser/1.7.0/1.8.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 has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/ ). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMjcuMiIsInVwZGF0ZWRJblZlciI6IjM3LjIyNy4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-21 22:28:59 +01:00
renovate[bot]
1984708f87
fix(deps): update retrofit to v2.10.0 ( #554 )
...
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg )](https://renovatebot.com )
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[com.squareup.retrofit2:retrofit](https://togithub.com/square/retrofit )
| `2.9.0` -> `2.10.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.squareup.retrofit2:retrofit/2.10.0?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.squareup.retrofit2:retrofit/2.10.0?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.squareup.retrofit2:retrofit/2.9.0/2.10.0?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.squareup.retrofit2:retrofit/2.9.0/2.10.0?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
|
[com.squareup.retrofit2:converter-moshi](https://togithub.com/square/retrofit )
| `2.9.0` -> `2.10.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.squareup.retrofit2:converter-moshi/2.10.0?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.squareup.retrofit2:converter-moshi/2.10.0?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.squareup.retrofit2:converter-moshi/2.9.0/2.10.0?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.squareup.retrofit2:converter-moshi/2.9.0/2.10.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>square/retrofit (com.squareup.retrofit2:retrofit)</summary>
###
[`v2.10.0`](https://togithub.com/square/retrofit/blob/HEAD/CHANGELOG.md#2100---2024-03-18 )
[Compare
Source](https://togithub.com/square/retrofit/compare/2.9.0...2.10.0 )
**New**
- Support using `Unit` as a response type. This can be used for non-body
HTTP methods like `HEAD` or body-containing HTTP methods like `GET`
where the body will be discarded without deserialization.
- kotlinx.serialization converter!
This was imported from
[github.com/JakeWharton/retrofit2-kotlinx-serialization-converter/](https://togithub.com/JakeWharton/retrofit2-kotlinx-serialization-converter/ )
and remains unchanged from its 1.0.0 release.
The Maven coordinates are
`com.squareup.retrofit2:converter-kotlinx-serialization`.
- JAXB 3 converter!
The Maven coordinates are `com.squareup.retrofit2:converter-jaxb3`.
- `@Header`, `@Headers`, and `@HeaderMap` can now set non-ASCII values
through the `allowUnsafeNonAsciiValues` annotation property. These are
not technically compliant with the HTTP specification, but are often
supported or required by services.
- Publish a BOM of all modules. The Maven coordinates are
`com.squareup.retrofit2:retrofit-bom`.
- `Invocation` now exposes the service `Class<?>` and the instance on
which the method was invoked. This disambiguates the source when service
inheritence is used.
- A response type keeper annotation processor is now available for
generating shrinker rules for all referenced types in your service
interface. In some cases, it's impossible for static shrinker rules to
keep the entirety of what Retrofit needs at runtime. This annotation
processor generates those additional rules. For more info see [its
README](https://togithub.com/square/retrofit/tree/trunk/retrofit-response-type-keeper#readme ).
**Changed**
- Add shrinker rules to retain the generic signatures of built-in types
(`Call`, `Response`, etc.) which are used via reflection at runtime.
- Remove backpressure support from RxJava 2 and 3 adapters. Since we
only deliver a single value and the Reactive Streams specification
states that callers must request a non-zero subscription value, we never
need to honor backpressure.
- Kotlin `Retrofit.create` function now has a non-null lower bound. Even
if you specified a nullable type before this function would never return
null.
- Suspend functions now capture and defer all `Throwable` subtypes (not
just `Exception` subtypes) to avoid Java's
`UndeclaredThrowableException` when thrown synchronously.
- Eagerly reject `suspend fun` functions that return `Call<Body>`. These
are never correct, and should declare a return type of `Body` directly.
- Support for Java 14-specific and Java 16-specific reflection needed to
invoke default methods on interfaces have been moved to separate
versions of a class through a multi-release jar. This should have no
observable impact other than the jar now contains classes which target
Java 14 and Java 16 bytecode that might trip up some static analysis
tools which are not aware of multi-release jars.
- Parameter names are now displayed in exception messages when available
in the underlying Java bytecode.
- Jackson converter now supports binary formats by using byte streams
rather than character streams in its implementation. Use the
`create(ObjectMapper, MediaType)` overload to supply the value of the
`Content-Type` header for your format.
**Fixed**
- Do not include synthetic methods when doing eager validation.
- Use per-method rather than per-class locking when parsing annotations.
This eliminates contention when multiple calls are made in quick
succession at the beginning of the process lifetime.
</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 has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/ ). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI2MS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-21 22:28:48 +01:00
Kalle Kniivilä
d75c4354bb
fix(l10n): Update Finnish translations
...
Currently translated at 100.0% (594 of 594 strings)
Translation: Pachli/App : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/app-main/fi/
2024-03-21 17:43:55 +01:00
Nik Clayton
2a9ec71fd1
chore(deps): update agp to v8.3.1 ( #559 )
2024-03-21 17:43:21 +01:00
Nik Clayton
783d4e5cca
feat: Notify the user about severed relationships ( #557 )
2024-03-21 17:27:48 +01:00
Nik Clayton
a65e2bd937
fix(deps): update dependency com.apollographql.apollo3 to v3.8.3 ( #558 )
2024-03-21 17:10:55 +01:00
Nik Clayton
8ef227fd20
fix: Improve accessibility of ComposeActivity bottomsheets and buttons ( #548 )
...
The previous bottomsheets did set a minimum height for the menu items,
so they were less than the recommended 48dp minimum. Fix that to improve
the overall accessibility.
Always highlight the "visibilty" icon, to make it clear that it's
something that is set (even if to the default).
Show the visibility icon on the "Toot" button as an additional reminder
to the user.
Other changes:
- Use the "filled" style for all icons (the visibility icons had the
"outlined" style)
- Use the `makeIcon` helper function.
- Use the `Status.Visibility` extension functions to determine the icon
for each visibility type, reducing code duplication.
2024-03-21 16:24:31 +01:00
Nik Clayton
0ad25bd617
chore: Create SECURITY.md ( #556 )
2024-03-21 16:03:07 +01:00
renovate[bot]
23faa8531f
chore(deps): pin dependencies ( #549 )
...
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg )](https://renovatebot.com )
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [actions/checkout](https://togithub.com/actions/checkout ) | action |
pinDigest | -> `b4ffde6` |
| [actions/github-script](https://togithub.com/actions/github-script ) |
action | pinDigest | -> `60a0d83` |
| [actions/setup-java](https://togithub.com/actions/setup-java ) | action
| pinDigest | -> `99b8673` |
|
[actions/upload-artifact](https://togithub.com/actions/upload-artifact )
| action | pinDigest | -> `5d5d22a` |
| [gradle/actions](https://togithub.com/gradle/actions ) | action |
pinDigest | -> `417ae3c` |
|
[gradle/wrapper-validation-action](https://togithub.com/gradle/wrapper-validation-action )
| action | pinDigest | -> `699bb18` |
|
[myrotvorets/set-commit-status-action](https://togithub.com/myrotvorets/set-commit-status-action )
| action | pinDigest | -> `3730c0a` |
|
[r0adkll/sign-android-release](https://togithub.com/r0adkll/sign-android-release )
| action | pinDigest | -> `dbeba6b` |
|
[r0adkll/upload-google-play](https://togithub.com/r0adkll/upload-google-play )
| action | pinDigest | -> `935ef9c` |
|
[reviewdog/action-suggester](https://togithub.com/reviewdog/action-suggester )
| action | pinDigest | -> `3d7fde6` |
|
[xt0rted/pull-request-comment-branch](https://togithub.com/xt0rted/pull-request-comment-branch )
| action | pinDigest | -> `d97294d` |
|
[ytanikin/PRConventionalCommits](https://togithub.com/ytanikin/PRConventionalCommits )
| action | pinDigest | -> `b7be921` |
---
> [!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.
👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions ) if
that's undesired.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/ ). View
repository job log
[here](https://developer.mend.io/github/pachli/pachli-android ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI2MS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-21 13:10:59 +01:00
Nik Clayton
4409c736a5
chore: Adopt Renovate's "best-practices" configuration defaults ( #547 )
2024-03-21 12:49:39 +01:00
Nik Clayton
778017475d
revert: Allow "Vote" button to expand to contain text ( #545 )
...
Expanded too far...
2024-03-19 19:02:15 +01:00
Nik Clayton
ae811d7126
refactor: Allow "Vote" button to expand to contain text ( #545 )
2024-03-19 18:00:42 +01:00
Nik Clayton
bcceaaa434
feat: Show the post's language tag in the detailed view ( #546 )
2024-03-19 18:00:33 +01:00
Nik Clayton
4f9b283432
refactor: Simplify and optimize viewBinding delegate ( #544 )
...
Based on Christophe Beyl's technique described in
https://bladecoder.medium.com/viewlifecyclelazy-and-other-ways-to-avoid-view-memory-leaks-in-android-fragments-4aa982e6e579
2024-03-19 16:42:08 +01:00
Nik Clayton
c2fc3d1f08
feat: Allow user to see poll results before voting ( #543 )
...
Show a labelled checkbox to the bottom-right of polls that the user has
not voted in and that have votes. If checked the current vote tally (as
percentages) will be shown, along with a bar showing the relative value
of each option.
2024-03-19 13:23:21 +01:00
ButterflyOfFire
b478f38e19
fix(l10n): Update Kabyle translations
...
Currently translated at 72.7% (8 of 11 strings)
Translation: Pachli/Core/Ui : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/coreui-main/kab/
2024-03-18 19:31:42 +01:00
ButterflyOfFire
76984763af
fix(l10n): Update Kabyle translations
...
Currently translated at 9.8% (6 of 61 strings)
Translation: Pachli/Feature/About : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/featureabout-main/kab/
2024-03-18 19:31:42 +01:00
Kalle Kniivilä
4ca43e1c2e
fix(l10n): Update Finnish translations
...
Currently translated at 100.0% (593 of 593 strings)
Translation: Pachli/App : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/app-main/fi/
2024-03-18 19:31:42 +01:00
ButterflyOfFire
fd6b6d0c07
fix(l10n): Update Kabyle translations
...
Currently translated at 41.1% (7 of 17 strings)
Translation: Pachli/Feature/Login
Translate-URL: https://hosted.weblate.org/projects/pachli/featurelogin/kab/
2024-03-18 19:31:42 +01:00
Weblate (bot)
f64f9f03ae
fix(l10n): Translations update from Hosted Weblate ( #541 )
...
Translations update from [Hosted Weblate](https://hosted.weblate.org )
for [Pachli/Fastlane
Metadata](https://hosted.weblate.org/projects/pachli/fastlane-metadata/ ).
It also includes following components:
* [Pachli/Core/Network :
Main](https://hosted.weblate.org/projects/pachli/corenetwork-main/ )
* [Pachli/App :
Main](https://hosted.weblate.org/projects/pachli/app-main/ )
* [Pachli/Feature/About :
Main](https://hosted.weblate.org/projects/pachli/featureabout-main/ )
* [Pachli/Feature/Lists :
Main](https://hosted.weblate.org/projects/pachli/featurelists-main/ )
* [Pachli/Core/Ui :
Main](https://hosted.weblate.org/projects/pachli/coreui-main/ )
* [Pachli/App :
Google](https://hosted.weblate.org/projects/pachli/app-google/ )
*
[Pachli/Feature/Login](https://hosted.weblate.org/projects/pachli/featurelogin/ )
* [Pachli/Core/Designsystem :
Main](https://hosted.weblate.org/projects/pachli/coredesignsystem-main/ )
* [Pachli/Core/Activity :
Orange](https://hosted.weblate.org/projects/pachli/coreactivity-orange/ )
* [Pachli/Core/Activity :
Main](https://hosted.weblate.org/projects/pachli/coreactivity-main/ )
* [Pachli/App :
Fdroid](https://hosted.weblate.org/projects/pachli/app-fdroid/ )
Current translation status:
![Weblate translation
status](https://hosted.weblate.org/widget/pachli/fastlane-metadata/horizontal-auto.svg )
---------
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
2024-03-17 00:24:12 +01:00
Nik Clayton
9e0a1f4015
refactor: Simplify use of BackgroundMessageView ( #539 )
...
Previous code expected callers to typically provide the drawable and the
error message string resource, resulting in duplicate code at many
callsites.
Replace with three canned messages for empty containers, generic errors,
and network errors respectively. The images for these are fixed, the
caller may choose a different string resource for the error if there is
a more specific option.
Update and simplify the call sites.
2024-03-16 22:12:54 +01:00