Skip to content

Conversation

@alexjba
Copy link
Contributor

@alexjba alexjba commented Dec 10, 2025

What does the PR do

Iterates #19545

Preparing the nim code to work with status-keycard-qt. Had a few cases where the current nim code had to be updated. Probably because the status-keycard-qt internals are not identical to status-keycard-go.

  • src/app/modules/main/wallet_section/send_new/module.nim Verify if both password and pin are empty before emitting the authenticationCancelled signal
  • src/app/modules/shared_modules/keycard_popup/internal/insert_keycard_state.nim (and the other changes in states) handle card disconnect/reconnect when the user input is needed (enter pin, puk etc)
  • treat keycard message with empty error as successful
  • src/app_service/service/keycard/service.nim - avoid modifying the json container with itself. We're currently iterating the container and modifying the service member - leading to a freeze.

NOTE: Tests can be done in the final PR #19549

@status-im-auto
Copy link
Member

✔️ status-desktop/prs/android/arm64/package/PR-19546#1 🔹 ~9 min 51 sec 🔹 00978e3e 🔹 📦 android/arm64 package

@status-im-auto
Copy link
Member

@status-im-auto
Copy link
Member

@status-im-auto
Copy link
Member

@status-im-auto
Copy link
Member

@status-im-auto
Copy link
Member

@status-im-auto
Copy link
Member

✔️ status-desktop/e2e/prspr19546 🔹 ~14 min 🔹 3eacf69 🔹 📦 tests/e2e package

@status-im-auto
Copy link
Member

@status-im-auto
Copy link
Member

@status-im-auto
Copy link
Member

@status-im-auto
Copy link
Member

@status-im-auto
Copy link
Member

@status-im-auto
Copy link
Member

@status-im-auto
Copy link
Member

@status-im-auto
Copy link
Member


method onUserAuthenticated*(self: Module, password: string, pin: string) =
if password.len == 0:
if password.len == 0 and pin.len == 0:
Copy link
Contributor

Choose a reason for hiding this comment

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

A password should be set in both cases, regular/keycard user, while pin only for the keycard user, that's why only password was checked. It's not incorrect this way ofc.

if keycardFlowType == ResponseTypeValueKeycardFlowResult:
if keycardEvent.error.len > 0:
if keycardEvent.error == ErrorOk:
if keycardEvent.error == ErrorOk or keycardEvent.error.len == 0:
Copy link
Contributor

Choose a reason for hiding this comment

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

We're here only if the keycardEvent.error.len > 0 parent condition, so not needed toc check if keycardEvent.error.len == 0 here, cause will always be false. The same in 4 conditions below.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

removed these changes. Thanks!

@status-im-auto
Copy link
Member

✔️ status-app/prs/linux/x86_64/tests-nim/PR-19546#4 🔹 ~8 min 29 sec 🔹 58d65b8 🔹 📦 tests/nim package

@status-im-auto
Copy link
Member

@status-im-auto
Copy link
Member

@status-im-auto
Copy link
Member

@status-im-auto
Copy link
Member

@status-im-auto
Copy link
Member

@alexjba alexjba requested a review from a team as a code owner December 22, 2025 08:40
@status-im-auto
Copy link
Member

status-im-auto commented Dec 22, 2025

Jenkins Builds

Click to see older builds (54)
Commit #️⃣ Finished (UTC) Duration Platform Result
3eacf69 #1 2025-12-10 11:42:57 ~7 min macos/aarch64-nwaku 📄log
✔️ 3eacf69 #1 2025-12-10 11:45:44 ~10 min tests/nim 📄log
3eacf69 #1 2025-12-10 11:47:53 ~12 min ios/aarch64 📄log
✔️ 3eacf69 #1 2025-12-10 11:49:27 ~13 min tests/ui 📄log
✔️ 3eacf69 #1 2025-12-10 11:54:36 ~19 min macos/aarch64 🍎dmg
✔️ 3eacf69 #1 2025-12-10 11:55:36 ~20 min linux/x86_64 📦tgz
✔️ 3eacf69 #1 2025-12-10 11:58:48 ~23 min linux/x86_64-nwaku 📦tgz
✔️ 3eacf69 pr19546 2025-12-10 12:10:36 ~14 min tests/e2e 📊rpt
✔️ 3eacf69 #1 2025-12-10 12:20:26 ~44 min windows/x86_64 💿exe
✖️ 3eacf69 PR19546 2025-12-10 12:51:04 ~30 min tests/e2e-windows 📊rpt
✔️ 00978e3e #1 2025-12-10 11:45:12 ~9 min android/arm64 🤖apk 📲
✔️ 1bb9a1e #2 2025-12-10 16:18:48 ~10 min android/arm64 🤖apk 📲
✔️ 1bb9a1e #2 2025-12-10 16:19:35 ~11 min tests/nim 📄log
1bb9a1e #2 2025-12-10 16:20:24 ~11 min windows/x86_64 📄log
✔️ 1bb9a1e #2 2025-12-10 16:24:08 ~15 min tests/ui 📄log
✖️ 1bb9a1e #2 2025-12-10 16:26:06 ~17 min ios/aarch64 📱ipa
✔️ 1bb9a1e #2 2025-12-10 16:29:42 ~21 min linux/x86_64 📦tgz
✔️ 1bb9a1e #2 2025-12-10 16:30:39 ~22 min macos/aarch64 🍎dmg
✔️ 1bb9a1e #2 2025-12-10 16:32:15 ~23 min linux/x86_64-nwaku 📦tgz
✔️ 1bb9a1e #2 2025-12-10 16:34:31 ~25 min macos/aarch64-nwaku 🍎dmg
1bb9a1e pr19546 2025-12-10 16:54:48 ~25 min tests/e2e 📄log
e9d79a4 #3 2025-12-11 09:46:48 ~1 hr 10 min linux/x86_64 📄log
✔️ 58d65b8 #4 2025-12-11 13:19:11 ~8 min tests/nim 📄log
✔️ 58d65b8 #4 2025-12-11 13:22:00 ~11 min android/arm64 🤖apk 📲
✔️ 58d65b8 #4 2025-12-11 13:29:24 ~18 min tests/ui 📄log
✔️ 58d65b8 #4 2025-12-11 13:29:48 ~19 min macos/aarch64 🍎dmg
✖️ 58d65b8 #4 2025-12-11 13:30:11 ~19 min ios/aarch64 📱ipa
✖️ 58d65b8 #4 2025-12-11 13:33:18 ~22 min linux/x86_64 📦tgz
✔️ 58d65b8 #4 2025-12-11 13:37:04 ~26 min linux/x86_64-nwaku 📦tgz
✔️ 58d65b8 #4 2025-12-11 13:38:18 ~27 min macos/aarch64-nwaku 🍎dmg
✖️ 58d65b8 #4 2025-12-11 13:46:23 ~35 min windows/x86_64 💿exe
✔️ f2eb2e9 #5 2025-12-22 08:50:30 ~8 min android/arm64 🤖apk 📲
f2eb2e9 #5 2025-12-22 08:51:21 ~9 min macos/aarch64-nwaku 📄log
✔️ f2eb2e9 #5 2025-12-22 08:51:37 ~9 min tests/nim 📄log
✖️ f2eb2e9 #5 2025-12-22 08:55:24 ~13 min ios/aarch64 📱ipa
✔️ f2eb2e9 #5 2025-12-22 08:55:37 ~13 min tests/ui 📄log
f2eb2e9 #5 2025-12-22 08:58:17 ~16 min windows/x86_64 📄log
✔️ f2eb2e9 #5 2025-12-22 09:00:05 ~18 min macos/aarch64 🍎dmg
✔️ f2eb2e9 #5 2025-12-22 09:01:37 ~19 min linux/x86_64 📦tgz
✔️ f2eb2e9 #5 2025-12-22 09:01:52 ~20 min linux/x86_64-nwaku 📦tgz
✔️ f2eb2e9 pr19546 2025-12-22 09:19:17 ~17 min tests/e2e 📊rpt
a18039a #6 2025-12-22 13:53:13 ~8 min macos/aarch64-nwaku 📄log
✔️ a18039a #6 2025-12-22 13:54:03 ~9 min android/arm64 🤖apk 📲
✔️ a18039a #6 2025-12-22 13:59:17 ~14 min macos/aarch64 🍎dmg
✖️ a18039a #6 2025-12-22 14:00:31 ~15 min ios/aarch64 📱ipa
✔️ a18039a #6 2025-12-22 14:01:22 ~16 min tests/nim 📄log
✔️ a18039a #6 2025-12-22 14:04:49 ~20 min linux/x86_64-nwaku 📦tgz
✔️ a18039a #6 2025-12-22 14:06:30 ~21 min tests/ui 📄log
✔️ a18039a #6 2025-12-22 14:07:45 ~23 min linux/x86_64 📦tgz
✔️ a18039a #6 2025-12-22 14:26:06 ~41 min windows/x86_64 💿exe
✔️ a18039a pr19546 2025-12-22 14:26:19 ~18 min tests/e2e 📊rpt
✖️ a18039a PR19546 2025-12-22 14:50:00 ~23 min tests/e2e-windows 📊rpt
✔️ 548a09a #7 2025-12-22 15:32:58 ~9 min android/arm64 🤖apk 📲
✔️ 548a09a #7 2025-12-22 15:34:21 ~10 min tests/nim 📄log
Commit #️⃣ Finished (UTC) Duration Platform Result
6352ad8 #8 2025-12-22 15:46:07 ~10 min macos/aarch64-nwaku 📄log
✔️ 6352ad8 #8 2025-12-22 15:46:18 ~10 min android/arm64 🤖apk 📲
✔️ 6352ad8 #8 2025-12-22 15:46:39 ~11 min tests/nim 📄log
✖️ 6352ad8 #8 2025-12-22 15:48:33 ~13 min ios/aarch64 📱ipa
✔️ 6352ad8 #8 2025-12-22 15:51:08 ~15 min tests/ui 📄log
✔️ 6352ad8 #8 2025-12-22 15:53:12 ~17 min macos/aarch64 🍎dmg
✔️ 6352ad8 #8 2025-12-22 15:56:02 ~20 min linux/x86_64 📦tgz
✔️ 6352ad8 #8 2025-12-22 15:56:41 ~21 min linux/x86_64-nwaku 📦tgz
✔️ 6352ad8 #8 2025-12-22 16:08:47 ~33 min windows/x86_64 💿exe
✔️ 6352ad8 pr19546 2025-12-22 16:12:58 ~16 min tests/e2e 📊rpt
✖️ 6352ad8 PR19546 2025-12-22 16:30:40 ~21 min tests/e2e-windows 📊rpt
✔️ 79a0f9a3 #9 2025-12-23 05:31:10 ~12 min android/arm64 🤖apk 📲

- src/app/modules/main/wallet_section/send_new/module.nim Verify if both password and pin are empty before emitting the `authenticationCancelled` signal
- handle card disconnect/reconnect when the user input is needed (enter pin, puk etc)
- treat keycard message with empty error as successful
- src/app_service/service/keycard/service.nim - avoid modifying the json container with itself. We're currently iterating the container and modifying the service member - leading to a freeze.
this commit updates the makefile to determine some of the keycard lib link params based on a single argument - the lib path
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.

3 participants