Skip to content

feat(async): use is_async_compatible() to determine backend incompatibility and error out#1355

Merged
simonsan merged 6 commits intorustic-rs:mainfrom
nardoor:feature/async_incompatible
Nov 21, 2024
Merged

feat(async): use is_async_compatible() to determine backend incompatibility and error out#1355
simonsan merged 6 commits intorustic-rs:mainfrom
nardoor:feature/async_incompatible

Conversation

@nardoor
Copy link
Copy Markdown
Contributor

@nardoor nardoor commented Nov 17, 2024

Use getters to early exit webdav when using async_incompatible backends.

Using the type system or fixing all async compatibility issue is big and structural work.
To avoid runtime crash for our users I suggest using this getter as a temporary fix.

tracking issue: #1181 (see for more details)

As far as I could tell, webdav feature was the only one spawning a runtime in rustic and using it.

Before merging this one:

@nardoor nardoor requested review from aawsome and simonsan November 17, 2024 11:09
@nardoor nardoor self-assigned this Nov 17, 2024
@nardoor
Copy link
Copy Markdown
Contributor Author

nardoor commented Nov 17, 2024

for now clippy fails because we are waiting for rustic_core PR to be merged

@nardoor nardoor changed the title Feature/async incompatible feature/async_incompatible Nov 18, 2024
@nardoor nardoor force-pushed the feature/async_incompatible branch from d9ece9b to 6552020 Compare November 18, 2024 11:24
@simonsan simonsan changed the title feature/async_incompatible feat(async): use is_async_compatible() to determine backend incompatibility and error out Nov 19, 2024
Copy link
Copy Markdown
Contributor

@simonsan simonsan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess, that this is all we can do about it for now. So, LGTM!

@simonsan simonsan added this pull request to the merge queue Nov 21, 2024
Merged via the queue into rustic-rs:main with commit c3e2557 Nov 21, 2024
simonsan added a commit that referenced this pull request Nov 23, 2024
… incompatibility and error out (#1355)"

This reverts commit c3e2557.
aawsome added a commit that referenced this pull request Dec 2, 2024
## 🤖 New release
* `rustic-rs`: 0.9.4 -> 0.9.5 (✓ API compatible changes)

<details><summary><i><b>Changelog</b></i></summary><p>

<blockquote>

## [0.9.5](v0.9.4...v0.9.5)
- 2024-12-02

### Added

- *(commands)* More dump options
([#1339](#1339))
- shut down gracefully with ctrl+c
([#1364](#1364))
- Add --filter-jq option
([#1372](#1372))
- *(async)* use `is_async_compatible()` to determine backend
incompatibility and error out
([#1355](#1355))
- *(commands)* Add `mount` command
([#973](#973))

### Fixed

- *(commands)* run backup hooks before checking source dir
([#1374](#1374))
- *(commands)* Use spawn_blocking in webdav when calling rustic_core
([#1365](#1365))
- *(filesystem)* Use channels to communicate within webdav filesystem
([#1361](#1361))

### Other

- Add documentation for `minutely` keep option
([#1371](#1371))
- update snapshots to include minutely configuration options
- *(deps)* update rustic_core, bytes, and libc dependencies to latest
versions
- simplify lifetime annotations in OpenFileReader and TreeIterItem
implementations
- clean up whitespace and update clippy linting allowances
- *(deps)* update dependencies to latest versions
- *(deps)* update lockfile to get rid of vulnerable `url` version
- *(mount)* rename fields for clarity, add user options for mount
([#1353](#1353))
- *(deps)* update dependencies
- *(deps)* don't use rustic_core webdav feature
([#1367](#1367))
- Revert "fix(filesystem): Use channels to communicate within webdav
filesystem ([#1361](#1361))"
- Revert "feat(async): use `is_async_compatible()` to determine backend
incompatibility and error out
([#1355](#1355))"
- move `webdavfs` from `rustic_core` to `rustic-rs`
([#1363](#1363))
- *(clippy)* comment out unused lints in lib.rs
- *(clippy)* apply fixes automatically
- use BTreeMap for env in global options
([#1360](#1360))
- add tiny framework for testing rustic's compat with latest restic
([#1303](#1303))
- use snapshot tests for default config, show-config and completions
([#1359](#1359))
- *(deps)* update dependencies rustic_core, rustic_backend,
rustic_testing, and migrate to conflate 0.3
([#1357](#1357))
- fix typos
- *(build)* add platform-dependent settings and remove ci flag for extra
features
- clarify `--use-profile` command in config by using long form
([#1344](#1344))
- *(deps)* update core and testing crates
([#1340](#1340))
</blockquote>


</p></details>

---
This PR was generated with
[release-plz](https://github.com/MarcoIeni/release-plz/).

---------

Co-authored-by: rustic-release-plz[bot] <182542030+rustic-release-plz[bot]@users.noreply.github.com>
Co-authored-by: Alexander Weiss <alex@weissfam.de>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants