Skip to content

Fix irmago v0.19.1 API compatibility for StartSession method#4025

Draft
Copilot wants to merge 3 commits intodependabot/go_modules/github.com/privacybydesign/irmago-0.19.1from
copilot/sub-pr-4021
Draft

Fix irmago v0.19.1 API compatibility for StartSession method#4025
Copilot wants to merge 3 commits intodependabot/go_modules/github.com/privacybydesign/irmago-0.19.1from
copilot/sub-pr-4021

Conversation

Copy link
Contributor

Copilot AI commented Feb 13, 2026

The irmago v0.19.1 upgrade introduced a breaking change: StartSession now requires a requestor string parameter to identify the session initiator.

Changes

  • Updated signingSessionHandler interface: Added requestor string parameter to StartSession method signature
  • Updated StartSession invocation: Pass empty string as requestor (appropriate for single-requestor architecture)
  • Updated test mocks: Modified mockIrmaClient.StartSession to match new signature
// Before (v0.18.1)
StartSession(request interface{}, handler server.SessionHandler) (*irmago.Qr, irmago.RequestorToken, *irmago.FrontendSessionRequest, error)

// After (v0.19.1)
StartSession(request interface{}, handler server.SessionHandler, requestor string) (*irmago.Qr, irmago.RequestorToken, *irmago.FrontendSessionRequest, error)

The requestor parameter is passed as an empty string since nuts-node operates as a single IRMA session requestor.


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI and others added 2 commits February 13, 2026 08:14
Updated the signingSessionHandler interface and mock implementations to match the new irmago v0.19.1 StartSession method signature which now requires a requestor string parameter.

Co-authored-by: reinkrul <1481228+reinkrul@users.noreply.github.com>
Added comments explaining the purpose of the requestor parameter and why an empty string is used in the nuts-node context.

Co-authored-by: reinkrul <1481228+reinkrul@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Feb 13, 2026

Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • REDACTED
    • Triggering command: /tmp/go-build3608881226/b1317/vcr.test /tmp/go-build3608881226/b1317/vcr.test -test.testlogfile=/tmp/go-build3608881226/b1317/testlog.txt -test.paniconexit0 -test.timeout=10m0s -test.short=true d -n 10 t 0.1-go1.25.7.lin-lang=go1.25 -errorsas -ifaceassert t 0.1-go1.25.7.lin-trimpath -ato�� kg_.a t ux-amd64/pkg/tool/linux_amd64/vet -errorsas node/auth/servic-o t ux-amd64/pkg/too-trimpath (dns block)
  • cdn.jsdelivr.net
    • Triggering command: /tmp/go-build3608881226/b001/nuts-node.test /tmp/go-build3608881226/b001/nuts-node.test -test.testlogfile=/tmp/go-build3608881226/b001/testlog.txt -test.paniconexit0 -test.timeout=10m0s -test.short=true est/generate_test.go TOKEN&#34;; }; f get 0.1-go1.25.7.linux-amd64/pkg/tool/linux_amd64/compile zcore@v1.21.0/argcc -trimpath t 0.1-go1.25.7.lin-m64 -ato�� -bool herFiles,CFiles,-O2 rg/toolchain@v0.-fno-stack-protector -errorsas -ifaceassert t rg/toolchain@v0.f804b81bb17f3ef3a65ff14253c3e8137ca1d6e7 (dns block)
    • Triggering command: /tmp/go-build3608881226/b1201/echo.test /tmp/go-build3608881226/b1201/echo.test -test.testlogfile=/tmp/go-build3608881226/b1201/testlog.txt -test.paniconexit0 -test.timeout=10m0s -test.short=true -unreachable=fal/tmp/go-build2716820874/b153/ t 0.1-go1.25.7.lin_x001.c g_.a o_.o t 0.1-go1.25.7.lin-buildtags -ato�� submodules | hea-errorsas t ux-amd64/pkg/tool/linux_amd64/vet -errorsas -ifaceassert t ux-amd64/pkg/too-buildtags (dns block)
    • Triggering command: /tmp/go-build3608881226/b1252/network.test /tmp/go-build3608881226/b1252/network.test -test.testlogfile=/tmp/go-build3608881226/b1252/testlog.txt -test.paniconexit0 -test.timeout=10m0s -test.short=true go1.25.7 -c=4 -nolocalimports -importcfg /tmp/go-build3608881226/b1174/importcfg -pack /tmp/go-build3608881226/b1174/_testmain.go -uns�� -unreachable=fal-s comments explai-w ux-amd64/pkg/tool/linux_amd64/link id_amd64.s -trimpath t ux-amd64/pkg/too-importcfg (dns block)
  • example.com
    • Triggering command: /tmp/go-build4248891685/b1036/iam.test /tmp/go-build4248891685/b1036/iam.test -test.testlogfile=/tmp/go-build4248891685/b1036/testlog.txt -test.paniconexit0 -test.timeout=10m0s -o /!regis24!gmb!h/-errorsas m ux-amd64/pkg/tool/linux_amd64/vet n.go od.go mpile ux-amd64/pkg/too-buildtags -o 4034757/b999/_pk-errorsas mpile ux-amd64/pkg/tool/linux_amd64/vet -p GmbH/go-phoneticadd mpile ux-amd64/pkg/too-v (dns block)
    • Triggering command: /tmp/go-build3608881226/b1077/iam.test /tmp/go-build3608881226/b1077/iam.test -test.testlogfile=/tmp/go-build3608881226/b1077/testlog.txt -test.paniconexit0 -test.timeout=10m0s -test.short=true /tmp/go-build393-n1 t rg/toolchain@v0.--end-of-options -p main t rg/toolchain@v0.-o/tmp/go-build2716820874/b154//_cgo_.o -uns�� -unreachable=fal-c t rg/toolchain@v0./tmp/go-build2716820874/b154/ -c=4 -nolocalimports t rg/toolchain@v0.-fno-lto (dns block)
  • https://api.github.com/repos/privacybydesign/irmago/releases
    • Triggering command: /usr/bin/curl curl -s REDACTED -dwarf=false -goversion go1.25.7 -c=4 -nolocalimports -importcfg /tmp/go-build4248891685/b1069/importcfg -pack /tmp/go-build4248891685/b1069/_testmain.go -p = get &amp;&amp; echo &#34;****** = get &amp;&amp; echo &#34;****** ux-amd64/pkg/tool/linux_amd64/compile -I /tmp/go-build265-atomic l/linux_amd64/co-bool ux-amd64/pkg/too-buildtags (http block)
  • non-existing
    • Triggering command: /tmp/go-build3608881226/b1164/vault.test /tmp/go-build3608881226/b1164/vault.test -test.testlogfile=/tmp/go-build3608881226/b1164/testlog.txt -test.paniconexit0 -test.timeout=10m0s -test.short=true se 1273424/b450/vet--gdwarf2 rg/toolchain@v0.--64 -errorsas -ifaceassert t 10HiED_Ee4Er -uns�� -unreachable=false t 99a78d05a99627a8-d rM8Kx1ihG 4034757/b151/ t ux-amd64/pkg/too-test.timeout=10m0s (dns block)
  • not_an_address
    • Triggering command: /tmp/go-build3608881226/b1174/v1.test /tmp/go-build3608881226/b1174/v1.test -test.testlogfile=/tmp/go-build3608881226/b1174/testlog.txt -test.paniconexit0 -test.timeout=10m0s -test.short=true -unreachable=fal. t rg/toolchain@v0.x86_64-linux-gnu -c=4 -nolocalimports t rg/toolchain@v0./tmp/go-build2716820874/b154// -uns�� -unreachable=fal_cgo_.c t ux-amd64/pkg/tool/linux_amd64/vet (dns block)
    • Triggering command: /tmp/go-build3608881226/b1373/v1.test /tmp/go-build3608881226/b1373/v1.test -test.testlogfile=/tmp/go-build3608881226/b1373/testlog.txt -test.paniconexit0 -test.timeout=10m0s -test.short=true -bool t ux-amd64/pkg/tool/linux_amd64/link -errorsas -ifaceassert t ux-amd64/pkg/too-importcfg (dns block)
    • Triggering command: /tmp/go-build3608881226/b1376/api.test /tmp/go-build3608881226/b1376/api.test -test.testlogfile=/tmp/go-build3608881226/b1376/testlog.txt -test.paniconexit0 -test.timeout=10m0s -test.short=true -bool t ux-amd64/pkg/tool/linux_amd64/link -errorsas -ifaceassert t ux-amd64/pkg/too-trimpath -ato�� -bool t ux-amd64/pkg/tool/linux_amd64/link -errorsas -ifaceassert t ux-amd64/pkg/too-buildtags (dns block)
  • nuts.nl
    • Triggering command: /tmp/go-build3608881226/b1217/golden_hammer.test /tmp/go-build3608881226/b1217/golden_hammer.test -test.testlogfile=/tmp/go-build3608881226/b1217/testlog.txt -test.paniconexit0 -test.timeout=10m0s -test.short=true go1.25.7 -c=4 -nolocalimports -importcfg /tmp/go-build3608881226/b1139/importcfg -pack /tmp/go-build3608881226/b1139/_testmain.go -ato�� er.go t ux-amd64/pkg/tool/linux_amd64/link -errorsas -ifaceassert t ux-amd64/pkg/too-buildtags (dns block)
    • Triggering command: /tmp/go-build3608881226/b1340/openid4vci.test /tmp/go-build3608881226/b1340/openid4vci.test -test.testlogfile=/tmp/go-build3608881226/b1340/testlog.txt -test.paniconexit0 -test.timeout=10m0s -test.short=true -bool t ux-amd64/pkg/tool/linux_amd64/vet -errorsas -ifaceassert t ux-amd64/pkg/too-buildtags -ato�� cgo t ux-amd64/pkg/tool/linux_amd64/link -errorsas -ifaceassert t ux-amd64/pkg/too-test.timeout=10m0s (dns block)
    • Triggering command: /tmp/go-build3608881226/b1252/network.test /tmp/go-build3608881226/b1252/network.test -test.testlogfile=/tmp/go-build3608881226/b1252/testlog.txt -test.paniconexit0 -test.timeout=10m0s -test.short=true go1.25.7 -c=4 -nolocalimports -importcfg /tmp/go-build3608881226/b1174/importcfg -pack /tmp/go-build3608881226/b1174/_testmain.go -uns�� -unreachable=fal-s comments explai-w ux-amd64/pkg/tool/linux_amd64/link id_amd64.s -trimpath t ux-amd64/pkg/too-importcfg (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI changed the title [WIP] Update irmago dependency from 0.18.1 to 0.19.1 Fix irmago v0.19.1 API compatibility for StartSession method Feb 13, 2026
Copilot AI requested a review from reinkrul February 13, 2026 08:20
@qltysh
Copy link

qltysh bot commented Feb 13, 2026

Qlty

Coverage Impact

Unable to calculate total coverage change because base branch coverage was not found.

Modified Files with Diff Coverage (1)

RatingFile% DiffUncovered Line #s
New file Coverage rating: D
auth/services/irma/signer.go50.0%109
Total50.0%
🤖 Increase coverage with AI coding...

In the `copilot/sub-pr-4021` branch, add test coverage for this new code:

- `auth/services/irma/signer.go` -- Line 109

🚦 See full report on Qlty Cloud »

🛟 Help
  • Diff Coverage: Coverage for added or modified lines of code (excludes deleted files). Learn more.

  • Total Coverage: Coverage for the whole repository, calculated as the sum of all File Coverage. Learn more.

  • File Coverage: Covered Lines divided by Covered Lines plus Missed Lines. (Excludes non-executable lines including blank lines and comments.)

    • Indirect Changes: Changes to File Coverage for files that were not modified in this PR. Learn more.

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.

2 participants