Skip to content

Release: develop -> main#24

Open
github-actions[bot] wants to merge 3 commits into
mainfrom
develop
Open

Release: develop -> main#24
github-actions[bot] wants to merge 3 commits into
mainfrom
develop

Conversation

@github-actions
Copy link
Copy Markdown

Automatic Release PR

This PR was automatically created after changes were pushed to develop.

Commits: 1 new commit(s)

Checklist

  • Review all changes
  • Verify CI passes
  • Approve and merge when ready for production

Documents the branching model (develop default), the local PR gate
(matches pull-request.yaml exactly), the release flow (auto-release-pr
+ auto-tag), and the hardware-wallet-specific rules contributors keep
asking about — recoverPanic on every gomobile-exported entry point,
the BLE-dedup contract in Bluetooth.swift, no print() in lib/ but ok in
example/lib/.

Mirrors the structure of bitbox-testkit's CONTRIBUTING.md adapted to
Flutter-plugin context. Cross-references TESTING.md for the test-layer
discussion instead of duplicating it.
…nfos (#23)

Production code in lib/usb/bitbox_usb_method_channel.dart had 4 diagnostic
print() calls bracketing the open + initBitBox method-channel invocations.
These were left over from local debugging, never structured logging, and
violate the project policy (no print in lib/, see CONTRIBUTING.md).
Removed.

example/lib/main.dart legitimately uses print() to give runtime console
feedback during the BitBox flow walkthrough. Added an
`ignore_for_file: avoid_print` directive at the top with a comment
explaining the policy split (banned in lib/, allowed in example/lib/).

With both surfaces clean, flipped pull-request.yaml + TESTING.md from
`flutter analyze --no-fatal-infos` to `--fatal-infos`. Every new `info`-
level lint now blocks CI instead of becoming silent debt.
* refactor(testing): drop redundant SimulatedBitboxPlatform.install() static

The testkit had three places declaring the same ~20-parameter list:
the constructor, a static `SimulatedBitboxPlatform.install()`, and the
top-level `installSimulatedBitboxPlatform()`. Static and top-level did
the same thing (build + assign to BitboxUsbPlatform.instance), so any
new parameter had to land in three places.

The static was unused (callers use the top-level function exclusively),
so removed it. The remaining two-way duplication between constructor
and top-level wrapper is structural in Dart — no way to forward named
args generically without losing the IDE parameter hints that make the
wrapper useful in the first place.

Net: 66 lines deleted, one place to maintain per parameter is now two
instead of three.

* chore(bindings): regenerate gomobile artefacts with DFXswiss module path

After the Go module rename to github.com/DFXswiss/bitbox_flutter
(commit e81cf8c, v0.0.7), the checked-in gomobile artefacts still
referenced the old konstantinullrich/... path in their generated
header comments and JAR source files. The native binary code path
itself was fine — Java package stays `api`, ObjC class names stay
`Api*` — but the doc-strings drifted from the Go module statement.

Regenerated both surfaces from go/api/ with the current toolchain:

  ios/Api.xcframework
    gomobile bind -target=ios,iossimulator -o ios/Api.xcframework ./api

  android/libs/api.aar + api-sources.jar
    gomobile bind -target=android -androidapi 24 -o android/libs/api.aar ./api

All four iOS header files (Api.h + Api.objc.h × {arm64, simulator})
and the api-sources.jar now consistently reference
github.com/DFXswiss/bitbox_flutter/api. JNI binaries refreshed for the
same four Android architectures as before (armeabi-v7a, arm64-v8a,
x86, x86_64); minor size delta from newer Go runtime + transitive
dependencies.

Verified post-regen: `grep -rln konstantinullrich .` returns nothing.
Dart format / analyze --fatal-infos / flutter test / go vet + go test
-race all green.
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.

1 participant