fix(finch): unwrap error structs introduced by finch 0.22 - #902
Conversation
PR SummaryMedium Risk Overview Finch 0.22+ wraps failures in The Mint adapter adds a Reviewed by Cursor Bugbot for commit b68a979. Bugbot is set up for automated code reviews on this repo. Configure here. |
Bumps the prod group with 6 updates in the / directory: | Package | From | To | | --- | --- | --- | | [castore](https://github.com/elixir-mint/castore) | `1.0.14` | `1.0.20` | | [finch](https://github.com/sneako/finch) | `0.19.0` | `0.23.0` | | [gun](https://github.com/ninenines/gun) | `2.2.0` | `2.5.0` | | [hackney](https://github.com/benoitc/hackney) | `4.1.0` | `4.6.0` | | [ibrowse](https://github.com/cmullaparthi/ibrowse) | `4.4.2` | `4.5.0` | | [jason](https://github.com/michalmuskala/jason) | `1.4.4` | `1.4.5` | Updates `castore` from 1.0.14 to 1.0.20 - [Commits](elixir-mint/castore@v1.0.14...v1.0.20) Updates `finch` from 0.19.0 to 0.23.0 - [Changelog](https://github.com/sneako/finch/blob/main/CHANGELOG.md) - [Commits](sneako/finch@v0.19.0...v0.23.0) Updates `gun` from 2.2.0 to 2.5.0 - [Commits](ninenines/gun@2.2.0...2.5.0) Updates `hackney` from 4.1.0 to 4.6.0 - [Release notes](https://github.com/benoitc/hackney/releases) - [Changelog](https://github.com/benoitc/hackney/blob/master/NEWS.md) - [Commits](benoitc/hackney@4.1.0...4.6.0) Updates `ibrowse` from 4.4.2 to 4.5.0 - [Release notes](https://github.com/cmullaparthi/ibrowse/releases) - [Changelog](https://github.com/cmullaparthi/ibrowse/blob/master/CHANGELOG) - [Commits](cmullaparthi/ibrowse@v4.4.2...v4.5.0) Updates `jason` from 1.4.4 to 1.4.5 - [Release notes](https://github.com/michalmuskala/jason/releases) - [Changelog](https://github.com/michalmuskala/jason/blob/master/CHANGELOG.md) - [Commits](michalmuskala/jason@v1.4.4...v1.4.5) Updates `mint` from 1.7.1 to 1.9.3 - [Changelog](https://github.com/elixir-mint/mint/blob/main/CHANGELOG.md) - [Commits](elixir-mint/mint@v1.7.1...v1.9.3) --- updated-dependencies: - dependency-name: castore dependency-version: 1.0.20 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: prod - dependency-name: finch dependency-version: 0.23.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: prod - dependency-name: gun dependency-version: 2.5.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: prod - dependency-name: hackney dependency-version: 4.6.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: prod - dependency-name: ibrowse dependency-version: 4.5.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: prod - dependency-name: jason dependency-version: 1.4.5 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: prod - dependency-name: mint dependency-version: 1.9.3 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: prod ... Signed-off-by: dependabot[bot] <support@github.com>
e9ef79f to
c4f3a85
Compare
Finch v0.22 standardized every failure behind `Finch.error()`, which silently changed the error terms Tesla returned to callers. Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit b68a979. Configure here.

Finch.error(), so the adapterstarted leaking wrapper structs instead of the bare reasons callers have always
matched on. Upgrading Finch without this is a silent breaking change for anyone
matching
{:error, :timeout}.close/1delegation against
HTTP.t(). The accurate spec is kept and the check is scopedoff rather than relaxed to
term().Bumps the prod group with 6 updates in the / directory:
1.0.141.0.200.19.00.23.02.2.02.5.04.1.04.6.04.4.24.5.01.4.41.4.5Updates
castorefrom 1.0.14 to 1.0.20Commits
d7c27ffUpdate certificates (#87)7cd9624Fix elixir 1.20 compilation warnings (#86)a777909Update certificates (#85)8b85424Update certificates (#84)dc4cbbeBump Elixir/Erlang and GitHub actions in CI (#83)8443affUpdate certificates (#82)a46341aUpdate certificates (#81)5d02c22Update certificates (#80)Updates
finchfrom 0.19.0 to 0.23.0Changelog
Sourced from finch's changelog.
... (truncated)
Commits
5841aa5prepare release 0.23.00bd54bbmix format9a514a7refactor: extract Finch.URI.fetch_host!/11abf5a9validate URL hosts before requests5a454b7Fix race condition when dynamically starting pool supervisorsaba10e0Bump CI to Elixir 1.20.1/OTP 29.0.2 and fix all credo issuesa028a5eUpdate deps to latest and fix OTP 29 TLS test9a6bdd1Add certs_keys, certfile, keyfile to dropped TLS options41def29fix warning during mix docs3191809Merge pull request #372 from sneako/codex/prepare-0.22.0Updates
gunfrom 2.2.0 to 2.5.0Commits
59e11aeFix CTL cookie tests following stricter parsing5e0c66cGun 2.5.02418095Add HTTP/2 max_headers option to types and documentationc269fcbReactivate socket when a response ends40e7ec1Update Erlang.mke7af4a9Add compat Websocket compression option5a2f77eDon't send server_max_window_bits=15, it's the default4b8ed81Gun 2.4.18cc70edGun 2.4.0c00ca7aUpdate Cowlib to 2.17.0Updates
hackneyfrom 4.1.0 to 4.6.0Release notes
Sourced from hackney's releases.
... (truncated)
Changelog
Sourced from hackney's changelog.
... (truncated)
Commits
42058d1Release 4.6.02f6d15bMerge pull request #908 from benoitc/proto/unified-finish-request750869cStop non-reusable connections when a request completes398edbdMerge pull request #906 from TBK145/patch-108a0393Merge connect/4 clauses under one spec so it compiles6430334Merge pull request #904 from benoitc/feature/set-owner-mid-stream24bbf44Overload connect function to accept binary host89eb0f6Add regression test for set_owner API in unchanged statesa0c5e5eAllow set_owner while a response body is streamingd5051dbRelease 4.5.2: bump h2 0.10.4, quic 1.7.0, webtransport 0.4.3Updates
ibrowsefrom 4.4.2 to 4.5.0Release notes
Sourced from ibrowse's releases.
Changelog
Sourced from ibrowse's changelog.
... (truncated)
Commits
039dbc8Prepare v4.5.0: SPDX licenses, drop deprecated maintainers field5ae9babPreparing 4.5.0 releaseb820f83Replace lists keysearch with keyfind (#186)bd41afeRemove fallback code for timestamp (#185)4a0743fAdd binary optimization to chunk_request_body (#184)8ab185badded a function to set the download_dir in the internal config ets (#158)cd9eb76Addformat_status(Status)callback function (#182)c8d82d1feat: add connect_to option (#183)2772261Bump min erlang ver and add CI (#181)22d6fd6Fix typos (#175)Updates
jasonfrom 1.4.4 to 1.4.5Changelog
Sourced from jason's changelog.
Commits
4ede428Bump v1.4.5b8c2185Fix dialyzer joba363975Modernise CI to currently supported versions243c8a8Allow decimal 3.0c8e8d05Revert the experimental 1.5 branch and jason_native experiment0e7a3e2Add example/doctest for Jason.OrderedObject.new/1984bc07fix broken linkf775592Raise if trying to decode decimals without decimal79d59dfRemove unneeded workarounds for xref warningsbaac78eFix warnings by conditionally compiling Decimal supportUpdates
mintfrom 1.7.1 to 1.9.3Changelog
Sourced from mint's changelog.
Commits
f0b72c0Release v1.9.3fc7d165Merge commit from fork5cbf7a3Merge commit from forkd066c66Fix Dialyzer0622056Release v1.9.2566d702Merge commit from fork5779de1Merge commit from forkbc63e9bBump Elixir/Erlang versions in CI (#490)bc92a3aFix Dialyzerf9a56d9Release v1.9.1