bitcoindevkit / bitcoindevkit/bdk-ffi

Profile `release-smaller` sets `panic = "abort"`, which disables uniffi's panic handling

Open
#1,064 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
127
Forks
81
Avg merge
1d 2h
Merged PRs (30d)
5

Description

This works, but it doesn't have to be that way, and I just found out by browsing their docs and exploring our `release-smaller` profile.

See https://mozilla.github.io/uniffi-rs/latest/internals/rust_calls.html#panic-handling

Panics can instead just throw `RustCallStatusCode::UnexpectedError`. I want to do a deeper dive into when that could be the right choice here instead of our current "crash the whole process on a Rust panic" approach.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by inspecting the `release-smaller` profile and reading the linked UniFFI panic-handling documentation. Investigate whether using `RustCallStatusCode::UnexpectedError` is appropriate here instead of `panic = "abort"`, and define the tests or documented behavior needed to confirm the chosen approach.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
mobile-dev
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.