From c5daa733ef47379b8f8a9e8097169f89abe4b91b Mon Sep 17 00:00:00 2001 From: 771-8bit Date: Wed, 4 Nov 2026 16:07:43 +0900 Subject: [PATCH 01/23] =?UTF-8?q?fix(ci):=20=E3=83=A9=E3=82=A4=E3=82=BB?= =?UTF-8?q?=E3=83=B3=E3=82=B9=E4=B8=80=E8=A6=A7=E3=81=AE=E8=87=AA=E3=82=AF?= =?UTF-8?q?=E3=83=AC=E3=83=BC=E3=83=88=E3=81=AE=E3=83=90=E3=83=BC=E3=82=B8?= =?UTF-8?q?=E3=83=A7=E3=83=B3=E3=82=92=200.1.0-beta.1=20=E3=81=AB=EF=BC=88?= =?UTF-8?q?License=20Check=20=E3=81=AE=E5=A4=B1=E6=95=97=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- docs/THIRD_PARTY_RUST.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/THIRD_PARTY_RUST.md b/docs/THIRD_PARTY_RUST.md index 3eab19e..0f4f189 100644 --- a/docs/THIRD_PARTY_RUST.md +++ b/docs/THIRD_PARTY_RUST.md @@ -429,7 +429,7 @@ [unescaper@0.1.8](https://github.com/hack-ink/unescaper) - MIT License [is-docker@0.2.0](https://github.com/TheLarkInn/is-docker) - MIT License [is-wsl@0.4.0](https://github.com/TheLarkInn/is-wsl) - MIT License -[serial-monitor-essential@0.1.0](https://crates.io/crates/serial-monitor-essential) - MIT License +[serial-monitor-essential@0.1.0-beta.1](https://crates.io/crates/serial-monitor-essential) - MIT License [block2@0.6.2](https://github.com/madsmtm/objc2) - MIT License [brotli-decompressor@5.0.0](https://github.com/dropbox/rust-brotli-decompressor) - MIT License [convert_case@0.4.0](https://github.com/rutrum/convert-case) - MIT License From a8033227e5617d35f8b555873479a9e6ac82d2a0 Mon Sep 17 00:00:00 2001 From: 771-8bit Date: Wed, 4 Nov 2026 22:56:30 +0900 Subject: [PATCH 02/23] =?UTF-8?q?fix(ui):=20=E3=83=9D=E3=83=BC=E3=83=88?= =?UTF-8?q?=E3=81=AE=E3=83=89=E3=83=AD=E3=83=83=E3=83=97=E3=83=80=E3=82=A6?= =?UTF-8?q?=E3=83=B3=E3=82=92=E9=96=8B=E3=81=8F=E5=89=8D=E3=81=AB=E5=88=97?= =?UTF-8?q?=E6=8C=99=E3=81=97=E7=9B=B4=E3=81=99=EF=BC=88#5=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ネイティブの popup shows the options it + // had at the moment it opened, so a device plugged in just before the click was + // missing. Where the WebView supports showPicker() (Chromium/WebView2), the click + // re-enumerates first and then opens the popup with the current list. Elsewhere + // the popup opens as usual and the refresh still updates the list. + const portSelectRef = useRef(null); + const openingRef = useRef(false); + + const refreshThenOpen = async () => { + const el = portSelectRef.current; + if (!el || openingRef.current) return; + openingRef.current = true; + try { + await onRefreshPorts(); + // Let React commit the new