-
Notifications
You must be signed in to change notification settings - Fork 7
Fix confirmation UI never displaying #19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix confirmation UI never displaying #19
Conversation
|
@Zosoled not this change already merged |
|
this one |
|
I rebased onto develop, that's why #14 was pulled in. |
|
your rebase seems wrong |
|
@tdejoigny-ledger I applied more fixes to resolve various other build errors and warnings, and they all appear to be resolved on my end. Can you check this latest version please? EDIT: I included #13 in this too, as requested. |
|
And I forgot to mention also that you need to include the mandatory CI : the |
|
@Zosoled almost done ;-) |
|
Ah, ok my mistake. Yes, I'm sideloading and successfully deriving and signing. Odd though, I didn't see any more messages in the static analysis; do all warnings need to be cleared in order for the updated app to be deployed, or just errors? |
|
@Zosoled normally the CI shall be green but I guess that for this time we can have some flexibility here |
This comment has been minimized.
This comment has been minimized.
d9d91cb to
bfe5e54
Compare
|
@tdejoigny-ledger CI checks all look green on my end. Please review at your earliest convenience. |
|
@Zosoled great job ! CI is 🟢 |
38da44d to
cca8bd0
Compare
Add mandatory GitHub actions from Ledger app boilerplate. Add clang-format from Ledger app boilerplate and apply its rules. Improve README. Ignore IDE and build artifacts from source tracking. Remove unsupported BAGL properties from Nano S implementation. Update variable names for clarity. Fix GitHub links.
Update crypto function calls. Update memory syscalls. Fix pointer references. Remove variables conflicting with SDK.
Use returned values where required. Remove unused parameters where possible. Flag unused parameters if required by function signature. Use macro to check crypto return values. Define function signature for block caching in header instead of implementation. Remove useless increments. Set sentinel boolean to indicate when hash value is set in indeterminate macro context. Remove deprecated API level check. Indicate intentional switch case fallthrough to compiler. Use helper void function to properly quit app in Nano S device. Fix discarded const qualifier in type struct.
Bump app version. Implement mandatory boilerplate values. Add flag to continue Nano S interface support now that Ledger dropped device support Refactor app flags to avoid reusing the same variables for completely different use cases. Remove conflicting buffer size override which should be resolved by past SDK fixes. Remove values already set by standard app Makefile.
da17887 to
7d3914f
Compare
|
@tdejoigny-ledger Great, thanks! I have done so, with this PR's original intended bugfix applied last after all the other cleanup. I also chose to bump to minor version 1.3.0 since there were so many other changes required to get this app up to speed with current requirements. If that's incorrect, let me know and I can revert to using a patch version of 1.2.9 instead. |
|
@Zosoled commits cleanup 👍 Sorry I have a last batch of comments about makefile and we should be ready to deploy the app
this part could be probably removed as in boilerplate app What is the shared mode ? The app doesn’t support swap, so I don’t see why we’d need to be able to libcall it. |
|
I am just a community member who decided to contribute to fix this app since the original dev is gone, so I will answer the best I can.
|
for the next PR: |
1a554cc to
91ceafa
Compare
|
@tdejoigny-ledger It looks like removing that lib permission also changes the |
Move icons into their own directory. Rename icons to specify sizes instead of target devices. Align icon config in makefile with boilerplate. Update glyphs to use currency symbol instead of Nano Foundation logo.
91ceafa to
8e15548
Compare
Strip shared library functionality and permissions per request from Ledger devs. Remove implementation of deprecated U2F transport protocol. Fix typo in APDU variable naming and remove unused input buffer size definition. Remove exported values from makefile already present in standard app. Compiler config is now handled by Makefile.defines which is included by Makefile.standard_app. Now that the nano app is aligning with standard app boilerplate, the custom compiler config is no longer necessary. Fix coin macro to work by type using switch cases instead of make variables.
|
@Zosoled yes you need to open a PR for the app database After that it should be good 👍 |
Use built-in APDU buffer size instead of custom value. Replace ifndef preprocessor directives with pragma as in boilerplate. Refactor coin config and remove variables covered by standard app. Reorganize includes.
|
@Zosoled LGTM. I will launch the app deployment next Wednesday. |



Checklist
developProblem
The confirmation UI for signing blocks is not being displayed, and the app is getting stuck in
LIBN_STATE_CONFIRM_SIGNATUREwhich blocks subsequent commands from executing.Cause
The conditional guard in
app_apply_state()is checkingio_seproxyhal_spi_is_status_sent(). Whenlibn_apdu_sign_block()sets the state toLIBN_STATE_CONFIRM_SIGNATUREand callsapp_apply_state(), this guard returns true i.e. a status is pending. This prevents the function from moving on to displaying the confirmation UI usinglibn_bagl_apply_state(). Further calls toapp_apply_state()make no difference sinceio_seproxyhal_spi_is_status_sent()continues to block the UI and leaves the state machine stuck.Solution
Remove the
io_seproxyhal_spi_is_status_sent()check from the guard condition.UX_DISPLAYED()is sufficient to know that the display is ready.