Previous migration code could crash if the `clientId` or `clientSecret`
columns were null during the migration (unclear how that could happen
but there's at least one user report of this crash).
Re-write the migration to set these columns to the empty string if NULL
first.
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [gradle/actions](https://redirect.github.com/gradle/actions) | action
| digest | `d156388` -> `473878a` |
---
> [!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>
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [gradle](https://gradle.org)
([source](https://redirect.github.com/gradle/gradle)) | minor | `8.10.2`
-> `8.11` |
---
> [!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`](https://redirect.github.com/gradle/gradle/compare/v8.10.2...v8.11.0)
[Compare
Source](https://redirect.github.com/gradle/gradle/compare/v8.10.2...v8.11.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:eyJjcmVhdGVkSW5WZXIiOiIzOS45LjUiLCJ1cGRhdGVkSW5WZXIiOiIzOS4xMS41IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Some tests were assuming the uiState would transition from .Loading to
.Success, without considering there might be a .LoadingThread
intermediate step. Cater for that to prevent test flakes.
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
|
[github/codeql-action](https://redirect.github.com/github/codeql-action)
| action | digest | `4f3212b` -> `396bb3e` |
---
> [!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:eyJjcmVhdGVkSW5WZXIiOiIzOS45LjUiLCJ1cGRhdGVkSW5WZXIiOiIzOS45LjUiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Previous code was missing the JSON name of the event, so it wasn't
present when it should have been, resulting in a crash.
Also, the Mastodon documentation is incorrect about the relationship
count, which is instead represented as two properties, one for followers
and one for following. So model that, and display them separately in the
UI.
Fixes#1086
Continue the work to remove the "activeAccount" idiom.
- Uses a new PachliAccount type through most of the app. This holds
information that was previously accessed separately (e.g., content
filters, lists) in one place. The information is loaded when the app
launches or the active account switches.
- Fetching data when the account is switched / loaded simplifies error
handling, as more code can now assume the data has already been loaded.
If it hasn't the code path is simply unreachable.
- This opens up the possibility of "acting as one account while logged
in as another". E.g., have two accounts, and be logged in to one account
and boost a post you've seen from your other account.
- Add a database migration to populate existing accounts with default
data when the user updates the app.
- Refactor code that used those list and filter repositories to get the
data from the PachliAccount instead. New local and remote data sources
are implemented, and the list and filter repositories mediate between
those sources.
- Start a ViewModel for MainActivity, which includes:
- Sending user actions as UiAction objects
- Providing a flow of uiState for MainActivity to react to
- Remove most uses of SharedPreferencesRepository from MainActivity
- Show messages about errors that occur when logging in
- Refactor intent routing in MainActivity to make the logic clearer.
- Add new `core.data` types to push more `core.network` types out of the
UI code
- `core.data.model.MastodonList` for `core.network.model.MastoList`
- `core.data.model.Server` for `core.network.model.Server`
- Continue the work to send the Pachli account ID to the code that uses
it.
- Most view models now get the account ID via assisted injection.
- QueuedMedia now includes the AccountEntity so it can operate with any
account. Modify the `uploadMedia` API call to include explicit
authentication details.
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
|
[github/codeql-action](https://redirect.github.com/github/codeql-action)
| action | digest | `6624720` -> `4f3212b` |
---
> [!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:eyJjcmVhdGVkSW5WZXIiOiIzOS43LjEiLCJ1cGRhdGVkSW5WZXIiOiIzOS43LjEiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[com.github.ajalt.clikt:clikt](https://redirect.github.com/ajalt/clikt)
| `4.4.0` -> `5.0.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.github.ajalt.clikt:clikt/5.0.1?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.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.github.ajalt.clikt:clikt/4.4.0/5.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.github.ajalt.clikt:clikt/4.4.0/5.0.1?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.1`](https://redirect.github.com/ajalt/clikt/blob/HEAD/CHANGELOG.md#501)
[Compare
Source](https://redirect.github.com/ajalt/clikt/compare/5.0.0...5.0.1)
##### Added
- Added completion commands for suspending and chained commands.
([#​553](https://redirect.github.com/ajalt/clikt/pull/553))
- Added no-op suspending commands.
([#​554](https://redirect.github.com/ajalt/clikt/pull/554))
##### Changed
- Unknown option errors and missing argument errors that occur at the
same time will now both be reported.
([#​553](https://redirect.github.com/ajalt/clikt/pull/553))
###
[`v5.0.0`](https://redirect.github.com/ajalt/clikt/blob/HEAD/CHANGELOG.md#500)
[Compare
Source](https://redirect.github.com/ajalt/clikt/compare/4.4.0...5.0.0)
##### Added
- Publish `iosArm64` and `iosX64` targets.
- Added `NoSuchArgument` exception that is thrown when too many
arguments were given on the command line. Previously, a less specific
`UsageError` was thrown instead.
- Added `CommandLineParser.tokenize` that splits a string into argv
tokens.
- Added `CommandLineParser` that provides functions for parsing and
finalizing commands manually for more control.
- Added `Context.invokedSubcommands` that contains all subcommands of
the current command that are going to be invoked when
`allowMultipleSubcommands` is `true`.
- Added `SuspendingCliktCommand` that has a `suspend fun run` method,
allowing you to use coroutines in your commands.
- Added `ChainedCliktCommand` that allows you to return a value from
your `run` method and pass it to the next command in the chain.
- Added `Context.data` as an alternative to `obj` that allows you to
store more than one object in the context.
- Added `Context.echoer` to customize how `echo` messages are printed.
- Added `CompletionGenerator` to manually generate completions for a
command.
- Added `Context.exitProcess` which you can use to prevent the process
from exiting during tests.
- Added core module that supports watchOS, tvOS, and wasmWasi targets
and has no dependencies.
- Added more options to `CliktCommand.test` to control the terminal
interactivity.
([#​517](https://redirect.github.com/ajalt/clikt/pull/517))
- Added `associate{}`, `associateBy{}`, and `associateWith{}` transforms
for options that allow you to convert the keys and values of the map.
([#​529](https://redirect.github.com/ajalt/clikt/pull/529))
- Added support for aliasing options to other options.
([#​535](https://redirect.github.com/ajalt/clikt/pull/535))
- Added `limit` and `ignoreCase` parameters to `option().split()`.
([#​541](https://redirect.github.com/ajalt/clikt/pull/541))
- Support calling `--help` on subcommands when parents have required
parameters.
##### Changed
- In a subcommand with and an `argument()` with `multiple()` or
`optional()`, the behavior is now the same regardless of the value of
`allowMultipleSubcommands`: if a token matches a subcommand name, it's
now treated as a subcommand rather than a positional argument.
- Due to changes to the internal parsing algorithm, the exact details of
error messages when multiple usage errors occur have changed in some
cases.
- **Breaking Change:** Moved the following parameters from
`CliktCommand`'s constructor; override the corresponding properties
instead:
| removed parameter | replacement property |
|-----------------------------|---------------------------------|
| `help` | `fun help` |
| `epilog` | `fun helpEpilog` |
| `invokeWithoutSubcommand` | `val invokeWithoutSubcommand` |
| `printHelpOnEmptyArgs` | `val printHelpOnEmptyArgs` |
| `helpTags` | `val helpTags` |
| `autoCompleteEnvvar` | `val autoCompleteEnvvar` |
| `allowMultipleSubcommands` | `val allowMultipleSubcommands` |
| `treatUnknownOptionsAsArgs` | `val treatUnknownOptionsAsArgs` |
| `hidden` | `val hiddenFromHelp` |
- The following methods on `CliktCommand` have been renamed:
`commandHelp` -> `help`, `commandHelpEpilog` -> `epilog`. The old names
are deprecated.
- **Breaking Change:** `CliktCommand.main` and `CliktCommand.parse` are
now extension functions rather than methods.
- **Breaking Change:** `Context.obj` and `Context.terminal`, and
`OptionTransformContext.terminal` are now extension functions rather
than properties.
- **Breaking Change:** The `RenderedSection` and `DefinitionRow` classes
have moved to `AbstractHelpFormatter`.
- Markdown support in the help formatter is no longer included by
default. To enable it, include the `:clikt-markdown` dependency and call
`yourCommand.installMordantMarkdown()` before parsing.
- Updated Kotlin to 2.0.0
##### Fixed
- Fixed excess arguments not being reported when
`allowMultipleSubcommands=true` and a subcommand has excess arguments
followed by another subcommand.
- Commands with `printHelpOnEmptyArgs=true` will no longer print help if
an option has a value from an environment variable or value source.
([#​382](https://redirect.github.com/ajalt/clikt/pull/382))
##### Deprecated
- Deprecated `Context.originalArgv`. It will now always return an empty
list. If your commands need an argv, you can pass it to them before you
run them, or set in on the new `Context.data` map.
- Deprecated `Context.expandArgumentFiles`. Use
`Context.argumentFileReader` instead.
- Renamed the following `Context` fields to be more consistent. The old
names are deprecated.
| old name | new name |
|-------------------------------|---------------------------------|
| `Context.envvarReader` | `Context.readEnvvar` |
| `Context.correctionSuggestor` | `Context.suggestTypoCorrection` |
| `Context.argumentFileReader` | `Context.readArgumentFile` |
| `Context.tokenTransformer` | `Context.transformToken` |
##### Removed
- Removed previously deprecated experimental annotations.
- Removed `MordantHelpFormatter.graphemeLength`
- Removed `TermUi`
</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:eyJjcmVhdGVkSW5WZXIiOiIzOC4xMjAuMSIsInVwZGF0ZWRJblZlciI6IjM4LjEzNS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Nik Clayton <nik@ngo.org.uk>