Skip to content
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

Remove existing certificates from the keychain #933

Merged

Conversation

MatteoPologruto
Copy link
Contributor

@MatteoPologruto MatteoPologruto commented Apr 4, 2024

Please check if the PR fulfills these requirements

  • The PR has no duplicates (please search among the Pull Requests
    before creating one)
  • Tests for the changes have been added (for bug fixes / features)
  • What kind of change does this PR introduce?

Code enhancement

  • What is the current behavior?

It's not possible to remove certificates from the keychain.

  • What is the new behavior?

It is possibile to remove certificates from the keychain using the tray icon.

  • Does this PR introduce a breaking change?
  • Other information:

@MatteoPologruto MatteoPologruto added type: enhancement Proposed improvement topic: code Related to content of the project itself labels Apr 4, 2024
@MatteoPologruto MatteoPologruto self-assigned this Apr 4, 2024
Copy link
Contributor

@Xayton Xayton left a comment

Choose a reason for hiding this comment

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

This is what I get if I try to uninstall the certificates:

INFO[0037] Uninstalling certificats                     
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayM __getValue:forKey:]: unrecognized selector sent to instance 0x600001bee0a0'
*** First throw call stack:
(
	0   CoreFoundation                      0x00007ff817dbb2ee __exceptionPreprocess + 242
	1   libobjc.A.dylib                     0x00007ff8178ac21b objc_exception_throw + 48
	2   CoreFoundation                      0x00007ff817e6065d -[NSObject(NSObject) __retain_OA] + 0
	3   CoreFoundation                      0x00007ff817d29948 ___forwarding___ + 1379
	4   CoreFoundation                      0x00007ff817d29358 _CF_forwarding_prep_0 + 120
	5   CoreFoundation                      0x00007ff817ce9075 CFDictionaryGetValueIfPresent + 77
	6   Security                            0x00007ff81aa470ac _Z22SecItemCategorizeQueryPK14__CFDictionaryRbS2_S2_ + 90
	7   Security                            0x00007ff81aa4f7f7 SecItemDelete + 116
	8   arduino-create-agent                0x000000010067ffad uninstallCert + 157
	9   arduino-create-agent                0x0000000100680192 _cgo_bcef43277ec8_Cfunc_uninstallCert + 34
	10  arduino-create-agent                0x0000000100070068 runtime.asmcgocall.abi0 + 104
)
libc++abi: terminating due to uncaught exception of type NSException
SIGABRT: abort
PC=0x7ff817c3314a m=5 sigcode=0
signal arrived during cgo execution

goroutine 43 [syscall]:
runtime.cgocall(0x100680170, 0xc0001eddf8)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/cgocall.go:157 +0x4b fp=0xc0001eddd0 sp=0xc0001edd98 pc=0x10000b98b
github.com/arduino/arduino-create-agent/certificates._Cfunc_uninstallCert()
	_cgo_gotypes.go:106 +0x48 fp=0xc0001eddf8 sp=0xc0001eddd0 pc=0x1005775c8
github.com/arduino/arduino-create-agent/certificates.UninstallCertificates()
	/Users/runner/work/arduino-create-agent/arduino-create-agent/certificates/install_darwin.go:120 +0x3d fp=0xc0001ede70 sp=0xc0001eddf8 pc=0x10057795d
github.com/arduino/arduino-create-agent/systray.(*Systray).start.func1()
	/Users/runner/work/arduino-create-agent/arduino-create-agent/systray/systray_real.go:111 +0x30a fp=0xc0001edfe0 sp=0xc0001ede70 pc=0x1005fbbca
runtime.goexit()
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0001edfe8 sp=0xc0001edfe0 pc=0x1000703c1
created by github.com/arduino/arduino-create-agent/systray.(*Systray).start in goroutine 8
	/Users/runner/work/arduino-create-agent/arduino-create-agent/systray/systray_real.go:88 +0x2c9

goroutine 1 [syscall, locked to thread]:
runtime.cgocall(0x100681520, 0xc000537e30)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/cgocall.go:157 +0x4b fp=0xc000537e08 sp=0xc000537dd0 pc=0x10000b98b
fyne.io/systray._Cfunc_nativeLoop()
	_cgo_gotypes.go:138 +0x47 fp=0xc000537e30 sp=0xc000537e08 pc=0x1005f5107
fyne.io/systray.nativeLoop(...)
	/Users/runner/go/pkg/mod/fyne.io/systray@v1.10.0/systray_darwin.go:48
fyne.io/systray.Run(0x1008e35c0?, 0x1?)
	/Users/runner/go/pkg/mod/fyne.io/systray@v1.10.0/systray.go:74 +0x4b fp=0xc000537e60 sp=0xc000537e30 pc=0x1005f478b
github.com/arduino/arduino-create-agent/systray.(*Systray).Start(0x100d94660)
	/Users/runner/work/arduino-create-agent/arduino-create-agent/systray/systray_real.go:40 +0x12c fp=0xc000537e90 sp=0xc000537e60 pc=0x1005fb58c
main.main()
	/Users/runner/work/arduino-create-agent/arduino-create-agent/main.go:163 +0x2aa fp=0xc000537f40 sp=0xc000537e90 pc=0x10067702a
runtime.main()
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/proc.go:267 +0x2bb fp=0xc000537fe0 sp=0xc000537f40 pc=0x10003fffb
runtime.goexit()
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000537fe8 sp=0xc000537fe0 pc=0x1000703c1

goroutine 2 [force gc (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/proc.go:398 +0xce fp=0xc000068fa8 sp=0xc000068f88 pc=0x10004044e
runtime.goparkunlock(...)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/proc.go:404
runtime.forcegchelper()
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/proc.go:322 +0xb3 fp=0xc000068fe0 sp=0xc000068fa8 pc=0x1000402d3
runtime.goexit()
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000068fe8 sp=0xc000068fe0 pc=0x1000703c1
created by runtime.init.6 in goroutine 1
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/proc.go:310 +0x1a

goroutine 3 [GC sweep wait]:
runtime.gopark(0x1?, 0x0?, 0x0?, 0x0?, 0x0?)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/proc.go:398 +0xce fp=0xc000069778 sp=0xc000069758 pc=0x10004044e
runtime.goparkunlock(...)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/proc.go:404
runtime.bgsweep(0x0?)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/mgcsweep.go:321 +0xdf fp=0xc0000697c8 sp=0xc000069778 pc=0x10002c23f
runtime.gcenable.func1()
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/mgc.go:200 +0x25 fp=0xc0000697e0 sp=0xc0000697c8 pc=0x1000212c5
runtime.goexit()
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0000697e8 sp=0xc0000697e0 pc=0x1000703c1
created by runtime.gcenable in goroutine 1
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/mgc.go:200 +0x66

goroutine 4 [GC scavenge wait]:
runtime.gopark(0x657b85d0?, 0x6553f100?, 0x0?, 0x0?, 0x0?)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/proc.go:398 +0xce fp=0xc000069f70 sp=0xc000069f50 pc=0x10004044e
runtime.goparkunlock(...)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/proc.go:404
runtime.(*scavengerState).park(0x100d94980)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/mgcscavenge.go:425 +0x49 fp=0xc000069fa0 sp=0xc000069f70 pc=0x100029a89
runtime.bgscavenge(0x0?)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/mgcscavenge.go:658 +0x59 fp=0xc000069fc8 sp=0xc000069fa0 pc=0x10002a039
runtime.gcenable.func2()
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/mgc.go:201 +0x25 fp=0xc000069fe0 sp=0xc000069fc8 pc=0x100021265
runtime.goexit()
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000069fe8 sp=0xc000069fe0 pc=0x1000703c1
created by runtime.gcenable in goroutine 1
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/mgc.go:201 +0xa5

goroutine 18 [finalizer wait]:
runtime.gopark(0x198?, 0x1007c0780?, 0x1?, 0x15?, 0x0?)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/proc.go:398 +0xce fp=0xc000068620 sp=0xc000068600 pc=0x10004044e
runtime.runfinq()
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/mfinal.go:193 +0x107 fp=0xc0000687e0 sp=0xc000068620 pc=0x1000202e7
runtime.goexit()
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0000687e8 sp=0xc0000687e0 pc=0x1000703c1
created by runtime.createfing in goroutine 1
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/mfinal.go:163 +0x3d

goroutine 19 [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/proc.go:398 +0xce fp=0xc000064750 sp=0xc000064730 pc=0x10004044e
runtime.gcBgMarkWorker()
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/mgc.go:1295 +0xe5 fp=0xc0000647e0 sp=0xc000064750 pc=0x100022e45
runtime.goexit()
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0000647e8 sp=0xc0000647e0 pc=0x1000703c1
created by runtime.gcBgMarkStartWorkers in goroutine 1
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/mgc.go:1219 +0x1c

goroutine 20 [GC worker (idle)]:
runtime.gopark(0x71c0187760e4?, 0x0?, 0x0?, 0x0?, 0x0?)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/proc.go:398 +0xce fp=0xc000064f50 sp=0xc000064f30 pc=0x10004044e
runtime.gcBgMarkWorker()
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/mgc.go:1295 +0xe5 fp=0xc000064fe0 sp=0xc000064f50 pc=0x100022e45
runtime.goexit()
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000064fe8 sp=0xc000064fe0 pc=0x1000703c1
created by runtime.gcBgMarkStartWorkers in goroutine 1
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/mgc.go:1219 +0x1c

goroutine 5 [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/proc.go:398 +0xce fp=0xc00006a750 sp=0xc00006a730 pc=0x10004044e
runtime.gcBgMarkWorker()
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/mgc.go:1295 +0xe5 fp=0xc00006a7e0 sp=0xc00006a750 pc=0x100022e45
runtime.goexit()
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc00006a7e8 sp=0xc00006a7e0 pc=0x1000703c1
created by runtime.gcBgMarkStartWorkers in goroutine 1
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/mgc.go:1219 +0x1c

goroutine 34 [GC worker (idle)]:
runtime.gopark(0x71c018776bf5?, 0x0?, 0x0?, 0x0?, 0x0?)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/proc.go:398 +0xce fp=0xc000588750 sp=0xc000588730 pc=0x10004044e
runtime.gcBgMarkWorker()
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/mgc.go:1295 +0xe5 fp=0xc0005887e0 sp=0xc000588750 pc=0x100022e45
runtime.goexit()
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0005887e8 sp=0xc0005887e0 pc=0x1000703c1
created by runtime.gcBgMarkStartWorkers in goroutine 1
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/mgc.go:1219 +0x1c

goroutine 35 [GC worker (idle)]:
runtime.gopark(0x71c018776b4f?, 0x1?, 0x41?, 0x11?, 0x0?)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/proc.go:398 +0xce fp=0xc000588f50 sp=0xc000588f30 pc=0x10004044e
runtime.gcBgMarkWorker()
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/mgc.go:1295 +0xe5 fp=0xc000588fe0 sp=0xc000588f50 pc=0x100022e45
runtime.goexit()
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000588fe8 sp=0xc000588fe0 pc=0x1000703c1
created by runtime.gcBgMarkStartWorkers in goroutine 1
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/mgc.go:1219 +0x1c

goroutine 36 [GC worker (idle)]:
runtime.gopark(0x71c018776067?, 0x0?, 0x0?, 0x0?, 0x0?)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/proc.go:398 +0xce fp=0xc000589750 sp=0xc000589730 pc=0x10004044e
runtime.gcBgMarkWorker()
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/mgc.go:1295 +0xe5 fp=0xc0005897e0 sp=0xc000589750 pc=0x100022e45
runtime.goexit()
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0005897e8 sp=0xc0005897e0 pc=0x1000703c1
created by runtime.gcBgMarkStartWorkers in goroutine 1
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/mgc.go:1219 +0x1c

goroutine 37 [GC worker (idle)]:
runtime.gopark(0x71c018776eba?, 0x0?, 0x0?, 0x0?, 0x0?)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/proc.go:398 +0xce fp=0xc000589f50 sp=0xc000589f30 pc=0x10004044e
runtime.gcBgMarkWorker()
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/mgc.go:1295 +0xe5 fp=0xc000589fe0 sp=0xc000589f50 pc=0x100022e45
runtime.goexit()
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000589fe8 sp=0xc000589fe0 pc=0x1000703c1
created by runtime.gcBgMarkStartWorkers in goroutine 1
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/mgc.go:1219 +0x1c

goroutine 50 [GC worker (idle)]:
runtime.gopark(0x71c01877dbf0?, 0x1?, 0xe9?, 0x4d?, 0x0?)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/proc.go:398 +0xce fp=0xc000584750 sp=0xc000584730 pc=0x10004044e
runtime.gcBgMarkWorker()
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/mgc.go:1295 +0xe5 fp=0xc0005847e0 sp=0xc000584750 pc=0x100022e45
runtime.goexit()
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0005847e8 sp=0xc0005847e0 pc=0x1000703c1
created by runtime.gcBgMarkStartWorkers in goroutine 1
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/mgc.go:1219 +0x1c

goroutine 6 [GC worker (idle)]:
runtime.gopark(0x71c018775ab5?, 0x1?, 0x79?, 0xb3?, 0x0?)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/proc.go:398 +0xce fp=0xc00006af50 sp=0xc00006af30 pc=0x10004044e
runtime.gcBgMarkWorker()
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/mgc.go:1295 +0xe5 fp=0xc00006afe0 sp=0xc00006af50 pc=0x100022e45
runtime.goexit()
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc00006afe8 sp=0xc00006afe0 pc=0x1000703c1
created by runtime.gcBgMarkStartWorkers in goroutine 1
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/mgc.go:1219 +0x1c

goroutine 38 [GC worker (idle)]:
runtime.gopark(0x71c018776067?, 0x0?, 0x0?, 0x0?, 0x0?)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/proc.go:398 +0xce fp=0xc00058a750 sp=0xc00058a730 pc=0x10004044e
runtime.gcBgMarkWorker()
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/mgc.go:1295 +0xe5 fp=0xc00058a7e0 sp=0xc00058a750 pc=0x100022e45
runtime.goexit()
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc00058a7e8 sp=0xc00058a7e0 pc=0x1000703c1
created by runtime.gcBgMarkStartWorkers in goroutine 1
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/mgc.go:1219 +0x1c

goroutine 45 [select]:
runtime.gopark(0xc00058bf18?, 0x4?, 0x90?, 0xe1?, 0xc00058be78?)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/proc.go:398 +0xce fp=0xc00058bd00 sp=0xc00058bce0 pc=0x10004044e
runtime.selectgo(0xc00058bf18, 0xc00058be70, 0xc00058bd08?, 0x0, 0xc0002a4170?, 0x1)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/select.go:327 +0x725 fp=0xc00058be20 sp=0xc00058bd00 pc=0x10004fde5
main.(*hub).run(0x100d92a00)
	/Users/runner/work/arduino-create-agent/arduino-create-agent/hub.go:99 +0x126 fp=0xc00058bfc8 sp=0xc00058be20 pc=0x100674d26
main.loop.func6()
	/Users/runner/work/arduino-create-agent/arduino-create-agent/main.go:348 +0x25 fp=0xc00058bfe0 sp=0xc00058bfc8 pc=0x100679285
runtime.goexit()
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc00058bfe8 sp=0xc00058bfe0 pc=0x1000703c1
created by main.loop in goroutine 7
	/Users/runner/work/arduino-create-agent/arduino-create-agent/main.go:348 +0xfcb

goroutine 13 [IO wait]:
runtime.gopark(0xc?, 0xc00019e001?, 0xff?, 0x5?, 0x0?)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/proc.go:398 +0xce fp=0xc000401cc8 sp=0xc000401ca8 pc=0x10004044e
runtime.netpollblock(0x1000c55e5?, 0xb526?, 0x1?)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/netpoll.go:564 +0xf7 fp=0xc000401d00 sp=0xc000401cc8 pc=0x100039957
internal/poll.runtime_pollWait(0x150354a18, 0x72)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/netpoll.go:343 +0x85 fp=0xc000401d20 sp=0xc000401d00 pc=0x10006a565
internal/poll.(*pollDesc).wait(0xc0001c6120?, 0xc00019e001?, 0x1)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/internal/poll/fd_poll_runtime.go:84 +0x27 fp=0xc000401d48 sp=0xc000401d20 pc=0x1000e2c47
internal/poll.(*pollDesc).waitRead(...)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc0001c6120, {0xc00019e001, 0x5ff, 0x5ff})
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/internal/poll/fd_unix.go:164 +0x27a fp=0xc000401de0 sp=0xc000401d48 pc=0x1000e3f3a
os.(*File).read(...)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/os/file_posix.go:29
os.(*File).Read(0xc0007ac128, {0xc00019e001?, 0xc0004f4000?, 0x4?})
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/os/file.go:118 +0x52 fp=0xc000401e20 sp=0xc000401de0 pc=0x1000edb32
encoding/json.(*Decoder).refill(0xc00012e140)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/encoding/json/stream.go:165 +0x188 fp=0xc000401e70 sp=0xc000401e20 pc=0x100124c48
encoding/json.(*Decoder).readValue(0xc00012e140)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/encoding/json/stream.go:140 +0x9d fp=0xc000401ec0 sp=0xc000401e70 pc=0x10012483d
encoding/json.(*Decoder).Decode(0xc00012e140, {0x1006ff9e0, 0xc00018e230})
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/encoding/json/stream.go:63 +0x75 fp=0xc000401ef0 sp=0xc000401ec0 pc=0x1001244d5
github.com/arduino/pluggable-discovery-protocol-handler/v2.(*Client).jsonDecodeLoop(0xc0002846c0, {0x1008e6e40?, 0xc0007ac128}, 0xc000252b40)
	/Users/runner/go/pkg/mod/github.com/arduino/pluggable-discovery-protocol-handler/v2@v2.2.0/client.go:141 +0xf4 fp=0xc000401fb0 sp=0xc000401ef0 pc=0x10066fd14
github.com/arduino/pluggable-discovery-protocol-handler/v2.(*Client).runProcess.func1()
	/Users/runner/go/pkg/mod/github.com/arduino/pluggable-discovery-protocol-handler/v2@v2.2.0/client.go:228 +0x2c fp=0xc000401fe0 sp=0xc000401fb0 pc=0x100670c6c
runtime.goexit()
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000401fe8 sp=0xc000401fe0 pc=0x1000703c1
created by github.com/arduino/pluggable-discovery-protocol-handler/v2.(*Client).runProcess in goroutine 44
	/Users/runner/go/pkg/mod/github.com/arduino/pluggable-discovery-protocol-handler/v2@v2.2.0/client.go:228 +0x1ed

goroutine 44 [chan receive]:
runtime.gopark(0x1006bebc0?, 0xc0001a0a80?, 0x0?, 0x0?, 0x0?)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/proc.go:398 +0xce fp=0xc0001f9da8 sp=0xc0001f9d88 pc=0x10004044e
runtime.chanrecv(0xc000290c00, 0xc0001f9ef0, 0x1)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/chan.go:583 +0x3cd fp=0xc0001f9e20 sp=0xc0001f9da8 pc=0x10000df8d
runtime.chanrecv2(0x100d926a0?, 0xc000290f00?)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/chan.go:447 +0x12 fp=0xc0001f9e48 sp=0xc0001f9e20 pc=0x10000dbb2
main.(*SerialPortList).runSerialDiscovery(0x0?)
	/Users/runner/work/arduino-create-agent/arduino-create-agent/serial.go:191 +0x327 fp=0xc0001f9f70 sp=0xc0001f9e48 pc=0x10067a6e7
main.(*SerialPortList).Run(0x0?)
	/Users/runner/work/arduino-create-agent/arduino-create-agent/serial.go:153 +0x25 fp=0xc0001f9fc8 sp=0xc0001f9f70 pc=0x10067a325
main.loop.func5()
	/Users/runner/work/arduino-create-agent/arduino-create-agent/main.go:346 +0x25 fp=0xc0001f9fe0 sp=0xc0001f9fc8 pc=0x1006792e5
runtime.goexit()
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0001f9fe8 sp=0xc0001f9fe0 pc=0x1000703c1
created by main.loop in goroutine 7
	/Users/runner/work/arduino-create-agent/arduino-create-agent/main.go:346 +0xfa5

goroutine 11 [IO wait]:
runtime.gopark(0x9?, 0xc0001e0000?, 0x80?, 0x2a?, 0x0?)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/proc.go:398 +0xce fp=0xc0005b75c8 sp=0xc0005b75a8 pc=0x10004044e
runtime.netpollblock(0x1000c55e5?, 0xb526?, 0x1?)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/netpoll.go:564 +0xf7 fp=0xc0005b7600 sp=0xc0005b75c8 pc=0x100039957
internal/poll.runtime_pollWait(0x150354d00, 0x72)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/netpoll.go:343 +0x85 fp=0xc0005b7620 sp=0xc0005b7600 pc=0x10006a565
internal/poll.(*pollDesc).wait(0xc000210100?, 0xc0001e0000?, 0x0)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/internal/poll/fd_poll_runtime.go:84 +0x27 fp=0xc0005b7648 sp=0xc0005b7620 pc=0x1000e2c47
internal/poll.(*pollDesc).waitRead(...)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc000210100, {0xc0001e0000, 0x2a80, 0x2a80})
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/internal/poll/fd_unix.go:164 +0x27a fp=0xc0005b76e0 sp=0xc0005b7648 pc=0x1000e3f3a
net.(*netFD).Read(0xc000210100, {0xc0001e0000?, 0xc0001e0398?, 0x1a?})
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/net/fd_posix.go:55 +0x25 fp=0xc0005b7728 sp=0xc0005b76e0 pc=0x1001e5765
net.(*conn).Read(0xc000122700, {0xc0001e0000?, 0x100028de5?, 0xc0004c41b8?})
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/net/net.go:179 +0x45 fp=0xc0005b7770 sp=0xc0005b7728 pc=0x1001f3425
net.(*TCPConn).Read(0xc0005b7808?, {0xc0001e0000?, 0xc00001e1e0?, 0x18?})
	<autogenerated>:1 +0x25 fp=0xc0005b77a0 sp=0xc0005b7770 pc=0x100205425
crypto/tls.(*atLeastReader).Read(0xc00001e1e0, {0xc0001e0000?, 0xc00001e1e0?, 0x0?})
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/crypto/tls/conn.go:805 +0x3b fp=0xc0005b77e8 sp=0xc0005b77a0 pc=0x10024931b
bytes.(*Buffer).ReadFrom(0xc0004c42a8, {0x1008e7d00, 0xc00001e1e0})
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/bytes/buffer.go:211 +0x98 fp=0xc0005b7840 sp=0xc0005b77e8 pc=0x10010d2d8
crypto/tls.(*Conn).readFromUntil(0xc0004c4000, {0x150226298?, 0xc000122700}, 0x26ed?)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/crypto/tls/conn.go:827 +0xde fp=0xc0005b7880 sp=0xc0005b7840 pc=0x1002494fe
crypto/tls.(*Conn).readRecordOrCCS(0xc0004c4000, 0x0)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/crypto/tls/conn.go:625 +0x250 fp=0xc0005b7c20 sp=0xc0005b7880 pc=0x100246ad0
crypto/tls.(*Conn).readRecord(...)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/crypto/tls/conn.go:587
crypto/tls.(*Conn).Read(0xc0004c4000, {0xc0001c9000, 0x1000, 0x1002eb8e5?})
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/crypto/tls/conn.go:1369 +0x158 fp=0xc0005b7c90 sp=0xc0005b7c20 pc=0x10024cd98
bufio.(*Reader).Read(0xc0001c60c0, {0xc0000af620, 0x9, 0x100d7a130?})
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/bufio/bufio.go:244 +0x197 fp=0xc0005b7cc8 sp=0xc0005b7c90 pc=0x1001300b7
io.ReadAtLeast({0x1008e7040, 0xc0001c60c0}, {0xc0000af620, 0x9, 0x9}, 0x9)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/io/io.go:335 +0x90 fp=0xc0005b7d10 sp=0xc0005b7cc8 pc=0x10007cdb0
io.ReadFull(...)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/io/io.go:354
net/http.http2readFrameHeader({0xc0000af620, 0x9, 0xc0003b6720?}, {0x1008e7040?, 0xc0001c60c0?})
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/net/http/h2_bundle.go:1635 +0x65 fp=0xc0005b7d60 sp=0xc0005b7d10 pc=0x1002c5245
net/http.(*http2Framer).ReadFrame(0xc0000af5e0)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/net/http/h2_bundle.go:1899 +0x85 fp=0xc0005b7e08 sp=0xc0005b7d60 pc=0x1002c5985
net/http.(*http2clientConnReadLoop).run(0xc0005b7f98)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/net/http/h2_bundle.go:9339 +0x11f fp=0xc0005b7f60 sp=0xc0005b7e08 pc=0x1002e887f
net/http.(*http2ClientConn).readLoop(0xc000002480)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/net/http/h2_bundle.go:9234 +0x65 fp=0xc0005b7fc8 sp=0xc0005b7f60 pc=0x1002e7e05
net/http.(*http2Transport).newClientConn.func3()
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/net/http/h2_bundle.go:7906 +0x25 fp=0xc0005b7fe0 sp=0xc0005b7fc8 pc=0x1002e0cc5
runtime.goexit()
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0005b7fe8 sp=0xc0005b7fe0 pc=0x1000703c1
created by net/http.(*http2Transport).newClientConn in goroutine 10
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/net/http/h2_bundle.go:7906 +0xcbe

goroutine 46 [select]:
runtime.gopark(0xc000584f18?, 0x3?, 0x0?, 0x0?, 0xc000584e7a?)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/proc.go:398 +0xce fp=0xc000487cf8 sp=0xc000487cd8 pc=0x10004044e
runtime.selectgo(0xc000487f18, 0xc000584e74, 0x0?, 0x0, 0x0?, 0x1)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/select.go:327 +0x725 fp=0xc000487e18 sp=0xc000487cf8 pc=0x10004fde5
main.(*serialhub).run(0x100d92a40)
	/Users/runner/work/arduino-create-agent/arduino-create-agent/serial.go:91 +0xed fp=0xc000487fc8 sp=0xc000487e18 pc=0x100679acd
main.loop.func7()
	/Users/runner/work/arduino-create-agent/arduino-create-agent/main.go:350 +0x25 fp=0xc000487fe0 sp=0xc000487fc8 pc=0x100679225
runtime.goexit()
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000487fe8 sp=0xc000487fe0 pc=0x1000703c1
created by main.loop in goroutine 7
	/Users/runner/work/arduino-create-agent/arduino-create-agent/main.go:350 +0xff1

goroutine 47 [chan receive]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/proc.go:398 +0xce fp=0xc0005856d8 sp=0xc0005856b8 pc=0x10004044e
runtime.chanrecv(0xc000116ba0, 0xc0005857a8, 0x1)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/chan.go:583 +0x3cd fp=0xc000585750 sp=0xc0005856d8 pc=0x10000df8d
runtime.chanrecv1(0x0?, 0x0?)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/chan.go:442 +0x12 fp=0xc000585778 sp=0xc000585750 pc=0x10000db92
github.com/googollee/go-engine%2eio.(*Server).Accept(...)
	/Users/runner/go/pkg/mod/github.com/googollee/go-engine.io@v0.0.0-20180829091931-e2f255711dcb/server.go:165
github.com/googollee/go-socket%2eio.(*Server).loop(0xc0000ec460)
	/Users/runner/go/pkg/mod/github.com/googollee/go-socket.io@v0.0.0-20181101151912-c8aeb1ed9b49/server.go:102 +0x45 fp=0xc0005857c8 sp=0xc000585778 pc=0x10056e6a5
github.com/googollee/go-socket%2eio.NewServer.func1()
	/Users/runner/go/pkg/mod/github.com/googollee/go-socket.io@v0.0.0-20181101151912-c8aeb1ed9b49/server.go:26 +0x25 fp=0xc0005857e0 sp=0xc0005857c8 pc=0x10056e625
runtime.goexit()
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0005857e8 sp=0xc0005857e0 pc=0x1000703c1
created by github.com/googollee/go-socket%2eio.NewServer in goroutine 7
	/Users/runner/go/pkg/mod/github.com/googollee/go-socket.io@v0.0.0-20181101151912-c8aeb1ed9b49/server.go:26 +0x216

goroutine 23 [IO wait]:
runtime.gopark(0x0?, 0xc000464b00?, 0x7b?, 0x0?, 0xc000464ae0?)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/proc.go:398 +0xce fp=0xc0005b5858 sp=0xc0005b5838 pc=0x10004044e
runtime.netpollblock(0xc000158380?, 0xb526?, 0x1?)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/netpoll.go:564 +0xf7 fp=0xc0005b5890 sp=0xc0005b5858 pc=0x100039957
internal/poll.runtime_pollWait(0x150354b10, 0x72)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/netpoll.go:343 +0x85 fp=0xc0005b58b0 sp=0xc0005b5890 pc=0x10006a565
internal/poll.(*pollDesc).wait(0xc0000ea100?, 0xc000464b00?, 0x0)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/internal/poll/fd_poll_runtime.go:84 +0x27 fp=0xc0005b58d8 sp=0xc0005b58b0 pc=0x1000e2c47
internal/poll.(*pollDesc).waitRead(...)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Accept(0xc0000ea100)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/internal/poll/fd_unix.go:611 +0x2ac fp=0xc0005b5980 sp=0xc0005b58d8 pc=0x1000e812c
net.(*netFD).accept(0xc0000ea100)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/net/fd_unix.go:172 +0x29 fp=0xc0005b5a38 sp=0xc0005b5980 pc=0x1001e7789
net.(*TCPListener).accept(0xc000172040)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/net/tcpsock_posix.go:152 +0x1e fp=0xc0005b5a60 sp=0xc0005b5a38 pc=0x1001fc0be
net.(*TCPListener).Accept(0xc000172040)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/net/tcpsock.go:315 +0x30 fp=0xc0005b5a90 sp=0xc0005b5a60 pc=0x1001fb290
crypto/tls.(*listener).Accept(0xc000012168)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/crypto/tls/tls.go:66 +0x27 fp=0xc0005b5ad0 sp=0xc0005b5a90 pc=0x100282d87
net/http.(*onceCloseListener).Accept(0x1008ec870?)
	<autogenerated>:1 +0x24 fp=0xc0005b5ae8 sp=0xc0005b5ad0 pc=0x100328504
net/http.(*Server).Serve(0xc0004aa0f0, {0x1008ebad0, 0xc000012168})
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/net/http/server.go:3056 +0x364 fp=0xc0005b5c18 sp=0xc0005b5ae8 pc=0x100305bc4
net/http.(*Server).ServeTLS(0xc0004aa0f0, {0x1008ebcb0?, 0xc000172040}, {0xc000142720, 0x27}, {0xc000142750, 0x26})
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/net/http/server.go:3126 +0x4a6 fp=0xc0005b5e00 sp=0xc0005b5c18 pc=0x100306526
net/http.(*Server).ListenAndServeTLS(0xc0004aa0f0, {0xc000142720, 0x27}, {0xc000142750, 0x26})
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/net/http/server.go:3283 +0x126 fp=0xc0005b5e80 sp=0xc0005b5e00 pc=0x100306fc6
net/http.ListenAndServeTLS(...)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/net/http/server.go:3249
github.com/gin-gonic/gin.(*Engine).RunTLS(0xc000602b60, {0xc0000e84a0, 0xe}, {0xc000142720, 0x27}, {0xc000142750, 0x26})
	/Users/runner/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/gin.go:505 +0x216 fp=0xc0005b5f10 sp=0xc0005b5e80 pc=0x1005421f6
main.loop.func2()
	/Users/runner/work/arduino-create-agent/arduino-create-agent/main.go:422 +0x254 fp=0xc0005b5fe0 sp=0xc0005b5f10 pc=0x1006790d4
runtime.goexit()
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0005b5fe8 sp=0xc0005b5fe0 pc=0x1000703c1
created by main.loop in goroutine 7
	/Users/runner/work/arduino-create-agent/arduino-create-agent/main.go:408 +0x1be7

goroutine 24 [IO wait]:
runtime.gopark(0x0?, 0x100014a85?, 0xf0?, 0x68?, 0xd0?)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/proc.go:398 +0xce fp=0xc00007aaf8 sp=0xc00007aad8 pc=0x10004044e
runtime.netpollblock(0x150142af0?, 0xb526?, 0x1?)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/netpoll.go:564 +0xf7 fp=0xc00007ab30 sp=0xc00007aaf8 pc=0x100039957
internal/poll.runtime_pollWait(0x150354c08, 0x72)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/netpoll.go:343 +0x85 fp=0xc00007ab50 sp=0xc00007ab30 pc=0x10006a565
internal/poll.(*pollDesc).wait(0xc000210280?, 0xc00007ac38?, 0x0)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/internal/poll/fd_poll_runtime.go:84 +0x27 fp=0xc00007ab78 sp=0xc00007ab50 pc=0x1000e2c47
internal/poll.(*pollDesc).waitRead(...)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Accept(0xc000210280)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/internal/poll/fd_unix.go:611 +0x2ac fp=0xc00007ac20 sp=0xc00007ab78 pc=0x1000e812c
net.(*netFD).accept(0xc000210280)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/net/fd_unix.go:172 +0x29 fp=0xc00007acd8 sp=0xc00007ac20 pc=0x1001e7789
net.(*TCPListener).accept(0xc0000ec0c0)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/net/tcpsock_posix.go:152 +0x1e fp=0xc00007ad00 sp=0xc00007acd8 pc=0x1001fc0be
net.(*TCPListener).Accept(0xc0000ec0c0)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/net/tcpsock.go:315 +0x30 fp=0xc00007ad30 sp=0xc00007ad00 pc=0x1001fb290
net/http.(*onceCloseListener).Accept(0x1008ec870?)
	<autogenerated>:1 +0x24 fp=0xc00007ad48 sp=0xc00007ad30 pc=0x100328504
net/http.(*Server).Serve(0xc000022000, {0x1008ebcb0, 0xc0000ec0c0})
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/net/http/server.go:3056 +0x364 fp=0xc00007ae78 sp=0xc00007ad48 pc=0x100305bc4
net/http.(*Server).ListenAndServe(0xc000022000)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/net/http/server.go:2985 +0x71 fp=0xc00007aea8 sp=0xc00007ae78 pc=0x100305831
net/http.ListenAndServe(...)
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/net/http/server.go:3239
github.com/gin-gonic/gin.(*Engine).Run(0xc000602b60, {0xc00007afc0, 0x1, 0x1})
	/Users/runner/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/gin.go:386 +0x205 fp=0xc00007af48 sp=0xc00007aea8 pc=0x100541645
main.loop.func3()
	/Users/runner/work/arduino-create-agent/arduino-create-agent/main.go:439 +0x115 fp=0xc00007afe0 sp=0xc00007af48 pc=0x100678dd5
runtime.goexit()
	/Users/runner/hostedtoolcache/go/1.21.8/x64/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc00007afe8 sp=0xc00007afe0 pc=0x1000703c1
created by main.loop in goroutine 7
	/Users/runner/work/arduino-create-agent/arduino-create-agent/main.go:432 +0x1c29

rax    0x0
rbx    0x6
rcx    0x0
rdx    0x0
rdi    0x2203
rsi    0x6
rbp    0x3072d5810
rsp    0x3072d57e8
r8     0x3072d56b0
r9     0x3072d5910
r10    0x0
r11    0x600003bb5180
r12    0x2203
r13    0x3000000008
r14    0x3072d7000
r15    0x16
rip    0x7ff817c3314a
rflags 0x246
cs     0x2b
fs     0x0
gs     0x0

@MatteoPologruto MatteoPologruto force-pushed the manage-certificates-macOS branch 2 times, most recently from 3416344 to 18d430b Compare April 10, 2024 07:34
@codecov-commenter
Copy link

codecov-commenter commented Apr 10, 2024

Codecov Report

Attention: Patch coverage is 0% with 14 lines in your changes are missing coverage. Please review.

Project coverage is 21.55%. Comparing base (b0a9091) to head (9313a8d).

Files Patch % Lines
systray/systray_real.go 0.00% 11 Missing ⚠️
certificates/install_default.go 0.00% 3 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #933      +/-   ##
==========================================
- Coverage   21.67%   21.55%   -0.13%     
==========================================
  Files          42       42              
  Lines        2487     2501      +14     
==========================================
  Hits          539      539              
- Misses       1851     1865      +14     
  Partials       97       97              
Flag Coverage Δ
unit 21.55% <0.00%> (-0.13%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@MatteoPologruto MatteoPologruto force-pushed the manage-certificates-macOS branch 3 times, most recently from c14b18c to 221e0f7 Compare April 10, 2024 15:03
@MatteoPologruto MatteoPologruto marked this pull request as ready for review April 10, 2024 15:11
@MatteoPologruto MatteoPologruto merged commit 51f4ee4 into arduino:main Apr 15, 2024
20 checks passed
@MatteoPologruto MatteoPologruto deleted the manage-certificates-macOS branch April 15, 2024 07:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic: code Related to content of the project itself type: enhancement Proposed improvement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants