console/frontend: fix completion tooltip being wrapped with Firefox
Some checks failed
CI / 🤖 Check dependabot status (push) Has been cancelled
CI / 🐧 Test on Linux (${{ github.ref_type == 'tag' }}, misc) (push) Has been cancelled
CI / 🐧 Test on Linux (coverage) (push) Has been cancelled
CI / 🐧 Test on Linux (regular) (push) Has been cancelled
CI / ❄️ Build on Nix (push) Has been cancelled
CI / 🍏 Build and test on macOS (push) Has been cancelled
CI / 🧪 End-to-end testing (push) Has been cancelled
CI / 🔍 Upload code coverage (push) Has been cancelled
CI / 🔬 Test only Go (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 20) (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 22) (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 24) (push) Has been cancelled
CI / ⚖️ Check licenses (push) Has been cancelled
CI / 🐋 Build Docker images (push) Has been cancelled
CI / 🐋 Tag Docker images (push) Has been cancelled
CI / 🚀 Publish release (push) Has been cancelled

Firefox 144 fixed a long standing issue where offsetParent was not null
for an element with `position: fixed` and it is now null (see
https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetParent).
This breaks CodeMirror detection of transformed elements. Patch
CodeMirror until this is fixed upstream.
This commit is contained in:
Vincent Bernat
2025-10-20 18:37:02 +02:00
parent 3a34495b70
commit 6b9bce8a78
4 changed files with 54 additions and 7 deletions

View File

@@ -13,6 +13,7 @@ identified with a specific icon:
## Unreleased ## Unreleased
- 🩹 *inlet*: fix `akvorado_inlet_flow_input_udp_in_dropped_packets_total` metric - 🩹 *inlet*: fix `akvorado_inlet_flow_input_udp_in_dropped_packets_total` metric
- 🩹 *console*: fix completion tooltip being wrapped with Firefox
- 💥 *config*: stop shipping demo exporter configurations from the orchestrator - 💥 *config*: stop shipping demo exporter configurations from the orchestrator
- 🌱 *outlet*: be more aggressive when increasing the number of workers - 🌱 *outlet*: be more aggressive when increasing the number of workers
- 🌱 *outlet*: cap the number of workers to the number of Kafka partitions - 🌱 *outlet*: cap the number of workers to the number of Kafka partitions

View File

@@ -0,0 +1,38 @@
diff --git a/dist/index.cjs b/dist/index.cjs
index e9ca104998a1db31cc19c797d1e8a450a5807073..3603da43a97aec2a3dc4e947a000d1d55a07f30c 100644
--- a/dist/index.cjs
+++ b/dist/index.cjs
@@ -10033,13 +10033,7 @@ const tooltipPlugin = ViewPlugin.fromClass(class {
let scaleX = 1, scaleY = 1, makeAbsolute = false;
if (this.position == "fixed" && this.manager.tooltipViews.length) {
let { dom } = this.manager.tooltipViews[0];
- if (browser.gecko) {
- // Firefox sets the element's `offsetParent` to the
- // transformed element when a transform interferes with fixed
- // positioning.
- makeAbsolute = dom.offsetParent != this.container.ownerDocument.body;
- }
- else if (dom.style.top == Outside && dom.style.left == "0px") {
+ if (dom.style.top == Outside && dom.style.left == "0px") {
// On other browsers, we have to awkwardly try and use other
// information to detect a transform.
let rect = dom.getBoundingClientRect();
diff --git a/dist/index.js b/dist/index.js
index 7915cd285c08b6bf3f221872ff98006bef30fc66..ed0fd377d18f75a2e1f9de20559656e7c08a6ba4 100644
--- a/dist/index.js
+++ b/dist/index.js
@@ -10028,13 +10028,7 @@ const tooltipPlugin = /*@__PURE__*/ViewPlugin.fromClass(class {
let scaleX = 1, scaleY = 1, makeAbsolute = false;
if (this.position == "fixed" && this.manager.tooltipViews.length) {
let { dom } = this.manager.tooltipViews[0];
- if (browser.gecko) {
- // Firefox sets the element's `offsetParent` to the
- // transformed element when a transform interferes with fixed
- // positioning.
- makeAbsolute = dom.offsetParent != this.container.ownerDocument.body;
- }
- else if (dom.style.top == Outside && dom.style.left == "0px") {
+ if (dom.style.top == Outside && dom.style.left == "0px") {
// On other browsers, we have to awkwardly try and use other
// information to detect a transform.
let rect = dom.getBoundingClientRect();

View File

@@ -4,6 +4,11 @@ settings:
autoInstallPeers: true autoInstallPeers: true
excludeLinksFromLockfile: false excludeLinksFromLockfile: false
patchedDependencies:
'@codemirror/view@6.38.4':
hash: 9bfcd4f367848d1f656593faf8482aae53d106fe7a236d7d21b9b7f4cfef5553
path: patches/@codemirror__view@6.38.4.patch
importers: importers:
.: .:
@@ -25,7 +30,7 @@ importers:
version: 6.5.2 version: 6.5.2
'@codemirror/view': '@codemirror/view':
specifier: ^6.0.0 specifier: ^6.0.0
version: 6.38.4 version: 6.38.4(patch_hash=9bfcd4f367848d1f656593faf8482aae53d106fe7a236d7d21b9b7f4cfef5553)
'@headlessui/vue': '@headlessui/vue':
specifier: ^1.6.1 specifier: ^1.6.1
version: 1.7.23(vue@3.5.22(typescript@5.9.2)) version: 1.7.23(vue@3.5.22(typescript@5.9.2))
@@ -1770,20 +1775,20 @@ snapshots:
dependencies: dependencies:
'@codemirror/language': 6.11.3 '@codemirror/language': 6.11.3
'@codemirror/state': 6.5.2 '@codemirror/state': 6.5.2
'@codemirror/view': 6.38.4 '@codemirror/view': 6.38.4(patch_hash=9bfcd4f367848d1f656593faf8482aae53d106fe7a236d7d21b9b7f4cfef5553)
'@lezer/common': 1.2.3 '@lezer/common': 1.2.3
'@codemirror/commands@6.8.1': '@codemirror/commands@6.8.1':
dependencies: dependencies:
'@codemirror/language': 6.11.3 '@codemirror/language': 6.11.3
'@codemirror/state': 6.5.2 '@codemirror/state': 6.5.2
'@codemirror/view': 6.38.4 '@codemirror/view': 6.38.4(patch_hash=9bfcd4f367848d1f656593faf8482aae53d106fe7a236d7d21b9b7f4cfef5553)
'@lezer/common': 1.2.3 '@lezer/common': 1.2.3
'@codemirror/language@6.11.3': '@codemirror/language@6.11.3':
dependencies: dependencies:
'@codemirror/state': 6.5.2 '@codemirror/state': 6.5.2
'@codemirror/view': 6.38.4 '@codemirror/view': 6.38.4(patch_hash=9bfcd4f367848d1f656593faf8482aae53d106fe7a236d7d21b9b7f4cfef5553)
'@lezer/common': 1.2.3 '@lezer/common': 1.2.3
'@lezer/highlight': 1.2.1 '@lezer/highlight': 1.2.1
'@lezer/lr': 1.4.2 '@lezer/lr': 1.4.2
@@ -1792,14 +1797,14 @@ snapshots:
'@codemirror/lint@6.8.5': '@codemirror/lint@6.8.5':
dependencies: dependencies:
'@codemirror/state': 6.5.2 '@codemirror/state': 6.5.2
'@codemirror/view': 6.38.4 '@codemirror/view': 6.38.4(patch_hash=9bfcd4f367848d1f656593faf8482aae53d106fe7a236d7d21b9b7f4cfef5553)
crelt: 1.0.6 crelt: 1.0.6
'@codemirror/state@6.5.2': '@codemirror/state@6.5.2':
dependencies: dependencies:
'@marijn/find-cluster-break': 1.0.2 '@marijn/find-cluster-break': 1.0.2
'@codemirror/view@6.38.4': '@codemirror/view@6.38.4(patch_hash=9bfcd4f367848d1f656593faf8482aae53d106fe7a236d7d21b9b7f4cfef5553)':
dependencies: dependencies:
'@codemirror/state': 6.5.2 '@codemirror/state': 6.5.2
crelt: 1.0.6 crelt: 1.0.6

View File

@@ -1 +1,4 @@
minimumReleaseAge: 4320 # 3 days minimumReleaseAge: 4320
patchedDependencies:
'@codemirror/view@6.38.4': patches/@codemirror__view@6.38.4.patch