diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md
index dd66802b2..a6feed765 100644
--- a/RELEASE-NOTES.md
+++ b/RELEASE-NOTES.md
@@ -8,7 +8,7 @@ ReadMe: https://github.com/gdh1995/vimium-c/#readme .
* update minimum browser version to Chromium 109 and Firefox 115 in the public released packages
* they are the last versions supporting Win 7 and Win 8 series
-#### v2.11.1
+#### v2.11.2
* fix new bugs
#### v2.11
diff --git a/content/mode_find.ts b/content/mode_find.ts
index f0104edb7..e43a59564 100644
--- a/content/mode_find.ts
+++ b/content/mode_find.ts
@@ -959,6 +959,7 @@ const scrollSelectionAfterFind = (par: Element, newAnchor: Element | 0, sel: Sel
let textBoxRect: Rect | 1 | false | 0 | null | void = !kMayInTextBox ? null : textStyle && noFocus
&& (getZoom_(newAnchor as TextElement), prepareCrop_(), 1)
let context: CanvasRenderingContext2D, widthOrEnd: number
+ // `window.find()` may auto make a target scroll into view smoothly, but a manual `scrollBy` breaks the animation
const oldInvisibility = +isSafeEl_(par) && view_(par as SafeElement, !textBoxRect)
textBoxRect = kMayInTextBox ? textBoxRect && boundingRect_(newAnchor as TextElement) : null
if (kMayInTextBox && isTY(textStyle, kTY.obj)) {
@@ -985,10 +986,7 @@ const scrollSelectionAfterFind = (par: Element, newAnchor: Element | 0, sel: Sel
top *= textStyle[1]
const scX = (ltr ? 1 : -1) * max_(0, start - max_width / 2) + baseScPosX
const scY = max_(0, top - (textStyle[3] - textStyle[1]) / 2)
- if (OnChrome && Build.MinCVer < BrowserVer.MinJsScrollNotBreakAutoScrollAfterFind
- && oldInvisibility && (BrowserVer.MinJsScrollNotBreakAutoScrollAfterFind >= 999
- || chromeVer_ < BrowserVer.MinJsScrollNotBreakAutoScrollAfterFind)
- && isNotInViewport(newAnchor as TextElement)) { /* empty */ }
+ if (OnChrome && oldInvisibility && isNotInViewport(newAnchor as TextElement)) { /* empty */ }
else if ((OnChrome ? Build.MinCVer >= BrowserVer.MinEnsuredCSS$ScrollBehavior : !OnEdge)
|| (newAnchor as Element).scrollTo) {
(newAnchor as TextElement).scrollTo(instantScOpt(scX, scY))
diff --git a/lib/rect.ts b/lib/rect.ts
index cda2e499e..4e788e723 100644
--- a/lib/rect.ts
+++ b/lib/rect.ts
@@ -445,8 +445,7 @@ export const view_ = (el: SafeElement, allowSmooth?: BOOL | boolean, oldY?: numb
if (style) { style.setProperty(kBh, "auto", "important") }
OnEdge || OnChrome && Build.MinCVer < BrowserVer.MinScrollIntoViewOptions
? scrollIntoView_(el, !allowSmooth, delta < 0) : scrollIntoView_(el, !allowSmooth)
- const stillNotInView = (OnChrome ? Build.MinCVer < BrowserVer.MinJsScrollNotBreakAutoScrollAfterFind : !OnEdge)
- && isNotInViewport(el)
+ const stillNotInView = !OnEdge && isNotInViewport(el)
if (!stillNotInView && f) {
secondScroll = elHeight < ih ? oldY! - scrollY : 0
// required range of wanted: delta > 0 ? [-limit, 0] : [0, limit]
diff --git a/manifest.json b/manifest.json
index e1dcbb2c6..bb7587191 100644
--- a/manifest.json
+++ b/manifest.json
@@ -123,8 +123,8 @@
],
"short_name": "Vimium C",
"update_url": "https://clients2.google.com/service/update2/crx",
- "version": "2.11.1",
- "version_name": "2.11.1",
+ "version": "2.11.2",
+ "version_name": "2.11.2",
"web_accessible_resources": [ {
"resources": [ "content/*", "front/vomnibar*", "lib/*" ],
"matches": [ "", "chrome-extension://*/*" ],
diff --git a/typings/compatibility.d.ts b/typings/compatibility.d.ts
index 542aab6ef..714c87715 100644
--- a/typings/compatibility.d.ts
+++ b/typings/compatibility.d.ts
@@ -626,8 +626,6 @@ declare const enum BrowserVer {
MinNew$URL$NotDecodePathname = 118,
Min$ScrollBehavior$$Instant$InJS = 121, // even if EXP or LEGACY
MinEnsured$select$$showPicker = 121, // since 119 if EXP
- // `window.find()` may auto make a target scroll into view smoothly, but a manual `scrollBy` breaks the animation
- MinJsScrollNotBreakAutoScrollAfterFind = 999,
MinNo$TimerType$$Fake = 999,
assumedVer = 998,
}