From a3ca5a26ae257e06508308b787cbbd30e9a8ddaf Mon Sep 17 00:00:00 2001
From: Matiss Janis Aboltins <matiss@mja.lv>
Date: Sun, 25 Jun 2023 22:09:31 +0100
Subject: [PATCH] :arrow_up:  upgrade @reach/listbox and remove monkeypatch
 (#1190)

It me it seems the monkey patch is no longer necessary.. At least I'm
not able to reproduce any `escape` key related issues. But LMK what you
think.

The `@reach/listbox` component is used for the custom select component
(for example: for filters).
---
 packages/desktop-client/package.json |   2 +-
 patches/@reach+listbox+0.11.2.patch  |  22 ----
 upcoming-release-notes/1190.md       |   6 +
 yarn.lock                            | 174 +++++++++++++--------------
 4 files changed, 94 insertions(+), 110 deletions(-)
 delete mode 100644 patches/@reach+listbox+0.11.2.patch
 create mode 100644 upcoming-release-notes/1190.md

diff --git a/packages/desktop-client/package.json b/packages/desktop-client/package.json
index a6c58d236..09b167ad5 100644
--- a/packages/desktop-client/package.json
+++ b/packages/desktop-client/package.json
@@ -8,7 +8,7 @@
   "devDependencies": {
     "@juggle/resize-observer": "^3.1.2",
     "@playwright/test": "^1.29.1",
-    "@reach/listbox": "^0.11.2",
+    "@reach/listbox": "^0.18.0",
     "@react-aria/focus": "^3.8.0",
     "@react-aria/listbox": "^3.6.1",
     "@react-aria/utils": "^3.13.3",
diff --git a/patches/@reach+listbox+0.11.2.patch b/patches/@reach+listbox+0.11.2.patch
deleted file mode 100644
index 8e1552c26..000000000
--- a/patches/@reach+listbox+0.11.2.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/node_modules/@reach/listbox/dist/listbox.esm.js b/node_modules/@reach/listbox/dist/listbox.esm.js
-index 7f1a1f3..bdce79f 100644
---- a/node_modules/@reach/listbox/dist/listbox.esm.js
-+++ b/node_modules/@reach/listbox/dist/listbox.esm.js
-@@ -1485,6 +1485,7 @@ function useKeyDown() {
-       _useContext9$stateDat = _useContext9.stateData,
-       navigationValue = _useContext9$stateDat.navigationValue,
-       typeaheadQuery = _useContext9$stateDat.typeaheadQuery,
-+      state = _useContext9.state,
-       send = _useContext9.send;
- 
-   var options = useDescendants(ListboxDescendantContext);
-@@ -1541,6 +1542,9 @@ function useKeyDown() {
-         return;
- 
-       case "Escape":
-+        if(isListboxExpanded(state)) {
-+          event.stopPropagation();
-+        }
-         send({
-           type: ListboxEvents.KeyDownEscape
-         });
diff --git a/upcoming-release-notes/1190.md b/upcoming-release-notes/1190.md
new file mode 100644
index 000000000..201e5ac3a
--- /dev/null
+++ b/upcoming-release-notes/1190.md
@@ -0,0 +1,6 @@
+---
+category: Maintenance
+authors: [MatissJanis]
+---
+
+Upgrade `@reach/listbox` dependency from v0.11.2 to v0.18.0 and remove monkeypatch
diff --git a/yarn.lock b/yarn.lock
index 44a4aa42b..53d69c07d 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -71,7 +71,7 @@ __metadata:
   dependencies:
     "@juggle/resize-observer": ^3.1.2
     "@playwright/test": ^1.29.1
-    "@reach/listbox": ^0.11.2
+    "@reach/listbox": ^0.18.0
     "@react-aria/focus": ^3.8.0
     "@react-aria/listbox": ^3.6.1
     "@react-aria/utils": ^3.13.3
@@ -2806,60 +2806,58 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@reach/auto-id@npm:0.11.2":
-  version: 0.11.2
-  resolution: "@reach/auto-id@npm:0.11.2"
+"@reach/auto-id@npm:0.18.0":
+  version: 0.18.0
+  resolution: "@reach/auto-id@npm:0.18.0"
   dependencies:
-    "@reach/utils": 0.11.2
-    tslib: ^2.0.0
+    "@reach/utils": 0.18.0
   peerDependencies:
-    react: ^16.8.0
-    react-dom: ^16.8.0
-  checksum: 2e341f3c1a21713e045363ea23f9a89d0fc502e07f2bdf9784bfa4e6e5a08d3455b4acf61139d79f6e1e494dcd03291561a23069ce676dce72db9fb9ac4f3177
+    react: ^16.8.0 || 17.x
+    react-dom: ^16.8.0 || 17.x
+  checksum: 75a37a0a09c382dfc358d37f3212cffdea2b4c80c2f555b7fee857af59a46e959324234be8dbb51c476fba0874ed93694254079192b478ce3e9abba5ce63fdec
   languageName: node
   linkType: hard
 
-"@reach/descendants@npm:0.11.2":
-  version: 0.11.2
-  resolution: "@reach/descendants@npm:0.11.2"
+"@reach/descendants@npm:0.18.0":
+  version: 0.18.0
+  resolution: "@reach/descendants@npm:0.18.0"
   dependencies:
-    "@reach/utils": 0.11.2
-    tslib: ^2.0.0
+    "@reach/utils": 0.18.0
   peerDependencies:
-    react: ^16.8.0
-    react-dom: ^16.8.0
-  checksum: c96e7b956fbe3d7b3130bfb5a47341971e8ccd6109033f17f2686ec8f11b72239d8f63e47aa6e0fb56a13d07524473adf14da36f81a0857f72026f3dfe651cf7
+    react: ^16.8.0 || 17.x
+    react-dom: ^16.8.0 || 17.x
+  checksum: 54e1e9302e1db4c924de62d53b6081a1c3c336325119352541c2f3a67ebfb88f282b36e564a87b6defd54ac55556f7237e2c50ab6439d86c8a85daf9877b0fb2
   languageName: node
   linkType: hard
 
-"@reach/listbox@npm:^0.11.2":
-  version: 0.11.2
-  resolution: "@reach/listbox@npm:0.11.2"
+"@reach/listbox@npm:^0.18.0":
+  version: 0.18.0
+  resolution: "@reach/listbox@npm:0.18.0"
   dependencies:
-    "@reach/auto-id": 0.11.2
-    "@reach/descendants": 0.11.2
-    "@reach/machine": 0.11.2
-    "@reach/popover": 0.11.2
-    "@reach/utils": 0.11.2
-    prop-types: ^15.7.2
+    "@reach/auto-id": 0.18.0
+    "@reach/descendants": 0.18.0
+    "@reach/machine": 0.18.0
+    "@reach/polymorphic": 0.18.0
+    "@reach/popover": 0.18.0
+    "@reach/utils": 0.18.0
+    tiny-invariant: ^1.2.0
   peerDependencies:
-    react: ^16.8.0
-    react-dom: ^16.8.0
-  checksum: 3e4f6b5af7d99ccdf84a47bb355fbf6aaf1315926b33a9f161564a1dd84320b14fd48df1ebad3581af5468f0abc02c8dc8871339f3f880cb285648cecc088efc
+    react: ^16.8.0 || 17.x
+    react-dom: ^16.8.0 || 17.x
+  checksum: ee759b9cd834253019c679bbf4ff657fc9563b0326e0f0a654dba9d3764b1e496ea2c83aa7dd05563cbc91047673574f52d0400adedc9866f86b90a03ed39915
   languageName: node
   linkType: hard
 
-"@reach/machine@npm:0.11.2":
-  version: 0.11.2
-  resolution: "@reach/machine@npm:0.11.2"
+"@reach/machine@npm:0.18.0":
+  version: 0.18.0
+  resolution: "@reach/machine@npm:0.18.0"
   dependencies:
-    "@reach/utils": 0.11.2
+    "@reach/utils": 0.18.0
     "@xstate/fsm": 1.4.0
-    tslib: ^2.0.0
   peerDependencies:
-    react: ^16.8.0
-    react-dom: ^16.8.0
-  checksum: 418cd68ca480c9b195c863df7455a27a4b7bc74e2276b40079ef4b9d19ab820bd961be97b97b54c88fef07fd727892b3c90792ee3f8f92a43511659d0c53e25d
+    react: ^16.8.0 || 17.x
+    react-dom: ^16.8.0 || 17.x
+  checksum: 29e30ab0dd6e296a3d102309cfd8c53d0e419b6cf975bd96ba9e4bfe2d626df549f5c96026f415d6c2bce2efd91f7002ba40f0a5a3f34618198ac3d23577f6ff
   languageName: node
   linkType: hard
 
@@ -2870,61 +2868,63 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@reach/popover@npm:0.11.2":
-  version: 0.11.2
-  resolution: "@reach/popover@npm:0.11.2"
+"@reach/polymorphic@npm:0.18.0":
+  version: 0.18.0
+  resolution: "@reach/polymorphic@npm:0.18.0"
+  peerDependencies:
+    react: ^16.8.0 || 17.x
+  checksum: 0d62260a55c71e0dc95f38867f24b3d699e0bb7ea2273c6fa5a1fa3d804269e2deb63a458f1f1eb7b74c32bc0add3ab31a1c2668c1dee6b2837187876d3c4cc2
+  languageName: node
+  linkType: hard
+
+"@reach/popover@npm:0.18.0":
+  version: 0.18.0
+  resolution: "@reach/popover@npm:0.18.0"
   dependencies:
-    "@reach/portal": 0.11.2
-    "@reach/rect": 0.11.2
-    "@reach/utils": 0.11.2
-    tabbable: ^4.0.0
-    tslib: ^2.0.0
+    "@reach/polymorphic": 0.18.0
+    "@reach/portal": 0.18.0
+    "@reach/rect": 0.18.0
+    "@reach/utils": 0.18.0
+    tabbable: ^5.3.3
   peerDependencies:
-    react: ^16.8.0
-    react-dom: ^16.8.0
-  checksum: 6117ad73fe96064dd21bd788e263d0bae35a5f0c095683479b05c61c92e4f63dd3d9a3eb88bfd1f6b0a6e58fb28949a36609adf403ae6e64a5a87364fff16d86
+    react: ^16.8.0 || 17.x
+    react-dom: ^16.8.0 || 17.x
+  checksum: b25a7310c95006bad1c85afb3668b09f369b95f733bbc3854f7d547aa7ccafcfb68836d2ef3f517abbce52657312c729b21c67be9aad834382af74bdfb8c2488
   languageName: node
   linkType: hard
 
-"@reach/portal@npm:0.11.2":
-  version: 0.11.2
-  resolution: "@reach/portal@npm:0.11.2"
+"@reach/portal@npm:0.18.0":
+  version: 0.18.0
+  resolution: "@reach/portal@npm:0.18.0"
   dependencies:
-    "@reach/utils": 0.11.2
-    tslib: ^2.0.0
+    "@reach/utils": 0.18.0
   peerDependencies:
-    react: ^16.8.0
-    react-dom: ^16.8.0
-  checksum: a341701c928514c44e572c9b9d27f479a528294438f3ff3771c4f08efaeda8c00e06b7d603487c982f5465fa4afb55af7e4291735c46a7b889ecc2ec1ed48234
+    react: ^16.8.0 || 17.x
+    react-dom: ^16.8.0 || 17.x
+  checksum: bd54c694922ac8e8ae6ef515547214c1eb05fd7ce5514e1046fd3504e37aa440ba4fb62fdd8664fdcd47e9b865b3ee085b58942c0db667146da6eec2dc269fa3
   languageName: node
   linkType: hard
 
-"@reach/rect@npm:0.11.2":
-  version: 0.11.2
-  resolution: "@reach/rect@npm:0.11.2"
+"@reach/rect@npm:0.18.0":
+  version: 0.18.0
+  resolution: "@reach/rect@npm:0.18.0"
   dependencies:
     "@reach/observe-rect": 1.2.0
-    "@reach/utils": 0.11.2
-    prop-types: ^15.7.2
-    tslib: ^2.0.0
+    "@reach/utils": 0.18.0
   peerDependencies:
-    react: ^16.8.0
-    react-dom: ^16.8.0
-  checksum: 9cf2bc49f9507a99d14aaf3a434deedc697dcf46e1bc26f7a0f708f4245222d26ec05373790e773a44ea6be3ffb76e6a089b2f9e8b3eb06e3de6e814192ac778
+    react: ^16.8.0 || 17.x
+    react-dom: ^16.8.0 || 17.x
+  checksum: 5e9fbfb3b6bf62b4f7fd289cde8f22ab11ba3462112761144aad3fe0c4bd0c0bbb7d1489d436151ed964c65d2ff10a6eb3b5a861dd9b7d439f5c2099539e51fc
   languageName: node
   linkType: hard
 
-"@reach/utils@npm:0.11.2":
-  version: 0.11.2
-  resolution: "@reach/utils@npm:0.11.2"
-  dependencies:
-    "@types/warning": ^3.0.0
-    tslib: ^2.0.0
-    warning: ^4.0.3
+"@reach/utils@npm:0.18.0":
+  version: 0.18.0
+  resolution: "@reach/utils@npm:0.18.0"
   peerDependencies:
-    react: ^16.8.0
-    react-dom: ^16.8.0
-  checksum: affb4dca8285965d3560bcd516a13c99afb047041f119f8bfdedab4dd64b03b969275d9abaf22a64e1e24a1f8675d148df31cddae1e74008407daa8944343d53
+    react: ^16.8.0 || 17.x
+    react-dom: ^16.8.0 || 17.x
+  checksum: eeda20a74c1db71e95680c622371c6efc46e2c767b28902bc43b580654436a34ec7f8b5f63c51a7c4cc8fd48c94066e3215496ba5a053c96e65c7a9bdcdc2687
   languageName: node
   linkType: hard
 
@@ -4482,13 +4482,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@types/warning@npm:^3.0.0":
-  version: 3.0.0
-  resolution: "@types/warning@npm:3.0.0"
-  checksum: 120dcf90600d583c68a60872200061eab9318ae15ea898581f8e9a6dc71b7941095dd81d8324e36d2a6006e5e12b6fc1cf8eda00cc514ee12bb39a912cc4e040
-  languageName: node
-  linkType: hard
-
 "@types/webpack@npm:^5.28.0":
   version: 5.28.1
   resolution: "@types/webpack@npm:5.28.1"
@@ -17060,10 +17053,10 @@ __metadata:
   languageName: node
   linkType: hard
 
-"tabbable@npm:^4.0.0":
-  version: 4.0.0
-  resolution: "tabbable@npm:4.0.0"
-  checksum: cbe1acbdabbe0744ae0088cf5133c3c36a9ebca0b670e00c1e117afaeb209d4f141368811973337b914ad1486a3b71a1ed781b698496cb4844e1804cb062baa9
+"tabbable@npm:^5.3.3":
+  version: 5.3.3
+  resolution: "tabbable@npm:5.3.3"
+  checksum: 1aa56e1bb617cc10616c407f4e756f0607f3e2d30f9803664d70b85db037ca27e75918ed1c71443f3dc902e21dc9f991ce4b52d63a538c9b69b3218d3babcd70
   languageName: node
   linkType: hard
 
@@ -17293,6 +17286,13 @@ __metadata:
   languageName: node
   linkType: hard
 
+"tiny-invariant@npm:^1.2.0":
+  version: 1.3.1
+  resolution: "tiny-invariant@npm:1.3.1"
+  checksum: 872dbd1ff20a21303a2fd20ce3a15602cfa7fcf9b228bd694a52e2938224313b5385a1078cb667ed7375d1612194feaca81c4ecbe93121ca1baebe344de4f84c
+  languageName: node
+  linkType: hard
+
 "titleize@npm:^3.0.0":
   version: 3.0.0
   resolution: "titleize@npm:3.0.0"
@@ -17525,7 +17525,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"tslib@npm:^2.0.0, tslib@npm:^2.0.3, tslib@npm:^2.3.0, tslib@npm:^2.4.0":
+"tslib@npm:^2.0.3, tslib@npm:^2.3.0, tslib@npm:^2.4.0":
   version: 2.5.0
   resolution: "tslib@npm:2.5.0"
   checksum: ae3ed5f9ce29932d049908ebfdf21b3a003a85653a9a140d614da6b767a93ef94f460e52c3d787f0e4f383546981713f165037dc2274df212ea9f8a4541004e1
-- 
GitLab