diff --git a/README.md b/README.md
index f59803ce6..6609e9fbe 100644
--- a/README.md
+++ b/README.md
@@ -35,7 +35,7 @@ Zen is a firefox-based browser with the aim of pushing your productivity to a ne
### Firefox Versions
- [`Release`](https://zen-browser.app/download) - Is currently built using Firefox version `145.0.2`! 🚀
-- [`Twilight`](https://zen-browser.app/download?twilight) - Is currently built using Firefox version `RC 145.0.2`!
+- [`Twilight`](https://zen-browser.app/download?twilight) - Is currently built using Firefox version `RC 146.0`!
### Contributing
diff --git a/build/firefox-cache/l10n-last-commit-hash b/build/firefox-cache/l10n-last-commit-hash
index 46bf23512..b4368f57d 100644
--- a/build/firefox-cache/l10n-last-commit-hash
+++ b/build/firefox-cache/l10n-last-commit-hash
@@ -1 +1 @@
-37df51b9bc9a584158ac1b42dc2da8c5e49fac83
\ No newline at end of file
+acd4663cd1530303fcca85b420a78f4686c4628b
\ No newline at end of file
diff --git a/scripts/recalculate-patches.sh b/scripts/recalculate-patches.sh
index 05d10f361..fb846e20f 100644
--- a/scripts/recalculate-patches.sh
+++ b/scripts/recalculate-patches.sh
@@ -3,6 +3,11 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+set -e
+
+# FIrst check if importing the patches succeeds
+npm run import
+
IGNORE_FILES=(
"shared.nsh"
"ignorePrefs.json"
diff --git a/src/Cargo-lock.patch b/src/Cargo-lock.patch
index 9d6b283dd..6ecc1e0ff 100644
--- a/src/Cargo-lock.patch
+++ b/src/Cargo-lock.patch
@@ -1,8 +1,8 @@
diff --git a/Cargo.lock b/Cargo.lock
-index 4386724a82baa72678b7228ef3af9fabc2da318e..01f7ac42ff96f8f96984537f19bde4bbc8cd8d72 100644
+index 6f6632e9747e281aac3ea177225c03b73f25456e..06756e08041835c203490057855d537118647cd0 100644
--- a/Cargo.lock
+++ b/Cargo.lock
-@@ -4167,8 +4167,6 @@ dependencies = [
+@@ -4171,8 +4171,6 @@ dependencies = [
[[package]]
name = "mime_guess"
version = "2.0.4"
diff --git a/src/Cargo-toml.patch b/src/Cargo-toml.patch
index 81b7afcbe..e362b5478 100644
--- a/src/Cargo-toml.patch
+++ b/src/Cargo-toml.patch
@@ -1,8 +1,8 @@
diff --git a/Cargo.toml b/Cargo.toml
-index 772a74e7439d87e9c5486abcf003617240190710..522b5459b30b943832369ff7a73755ad4c7d8140 100644
+index e2846a08008684f18799d75e5c28fd244c10361a..ba72071baef49ed494f78d1cc6752b53d1841f46 100644
--- a/Cargo.toml
+++ b/Cargo.toml
-@@ -227,6 +227,8 @@ moz_asserts = { path = "mozglue/static/rust/moz_asserts" }
+@@ -232,6 +232,8 @@ moz_asserts = { path = "mozglue/static/rust/moz_asserts" }
# Workaround for https://github.com/rust-lang/cargo/issues/11232
rure = { path = "third_party/rust/rure" }
diff --git a/src/browser/actors/WebRTCParent-sys-mjs.patch b/src/browser/actors/WebRTCParent-sys-mjs.patch
index 7a99c8301..200262649 100644
--- a/src/browser/actors/WebRTCParent-sys-mjs.patch
+++ b/src/browser/actors/WebRTCParent-sys-mjs.patch
@@ -1,5 +1,5 @@
diff --git a/browser/actors/WebRTCParent.sys.mjs b/browser/actors/WebRTCParent.sys.mjs
-index 4ff6ae4d6f272936f0aa1c80a488df16159b42f2..85e4d7bf500603fcd5724658e96c7fd0a04432d3 100644
+index a9612920f86ef5f37328497bf62255497e96b02d..a5643cd7e9c7a71da391408c14e00185b7db3f24 100644
--- a/browser/actors/WebRTCParent.sys.mjs
+++ b/browser/actors/WebRTCParent.sys.mjs
@@ -152,6 +152,7 @@ export class WebRTCParent extends JSWindowActorParent {
diff --git a/src/browser/app/macbuild/Contents/Info-plist-in.patch b/src/browser/app/macbuild/Contents/Info-plist-in.patch
index c6684c4ce..3fa8021f7 100644
--- a/src/browser/app/macbuild/Contents/Info-plist-in.patch
+++ b/src/browser/app/macbuild/Contents/Info-plist-in.patch
@@ -1,13 +1,13 @@
diff --git a/browser/app/macbuild/Contents/Info.plist.in b/browser/app/macbuild/Contents/Info.plist.in
-index ea28831b90662b12bdcb137c35b6bb83626c77e7..d28f4eca976ad9de12b03d995d2363e643224421 100644
+index 0c4fb837a24490c66b284abf2bd9299c2e021de0..ea28831b90662b12bdcb137c35b6bb83626c77e7 100644
--- a/browser/app/macbuild/Contents/Info.plist.in
+++ b/browser/app/macbuild/Contents/Info.plist.in
-@@ -191,7 +191,7 @@
+@@ -190,8 +190,6 @@
+ @MAC_APP_NAME@ @APP_VERSION@
CFBundleIconFile
firefox.icns
+- CFBundleIconName
+- AppIcon
CFBundleIdentifier
-- @MOZ_MACBUNDLE_ID@
-+ app.zen-browser.zen
+ @MOZ_MACBUNDLE_ID@
CFBundleInfoDictionaryVersion
- 6.0
- CFBundleName
diff --git a/src/browser/base/content/browser-addons-js.patch b/src/browser/base/content/browser-addons-js.patch
index acb98ccc7..63afb40df 100644
--- a/src/browser/base/content/browser-addons-js.patch
+++ b/src/browser/base/content/browser-addons-js.patch
@@ -1,5 +1,5 @@
diff --git a/browser/base/content/browser-addons.js b/browser/base/content/browser-addons.js
-index f33a300eb0eed74e286da24919ad3e8505f632c3..9f400e887424693d0ecceb9db79fccf2bd5a757d 100644
+index fadcbfca95ee28140579430c0371baad0e2f216a..7454b801b4ad892d6ad122277eb7c7736e976f9f 100644
--- a/browser/base/content/browser-addons.js
+++ b/browser/base/content/browser-addons.js
@@ -1069,7 +1069,7 @@ var gXPInstallObserver = {
@@ -38,7 +38,7 @@ index f33a300eb0eed74e286da24919ad3e8505f632c3..9f400e887424693d0ecceb9db79fccf2
}
return anchorID;
-@@ -2646,11 +2646,7 @@ var gUnifiedExtensions = {
+@@ -2657,11 +2657,7 @@ var gUnifiedExtensions = {
// Lazy load the unified-extensions-panel panel the first time we need to
// display it.
if (!this._panel) {
@@ -51,7 +51,7 @@ index f33a300eb0eed74e286da24919ad3e8505f632c3..9f400e887424693d0ecceb9db79fccf2
let customizationArea = this._panel.querySelector(
"#unified-extensions-area"
);
-@@ -2703,6 +2699,7 @@ var gUnifiedExtensions = {
+@@ -2714,6 +2710,7 @@ var gUnifiedExtensions = {
// and no alternative content is available for display in the panel.
const policies = this.getActivePolicies();
if (
@@ -59,7 +59,7 @@ index f33a300eb0eed74e286da24919ad3e8505f632c3..9f400e887424693d0ecceb9db79fccf2
policies.length &&
!this.hasExtensionsInPanel(policies) &&
!this.isPrivateWindowMissingExtensionsWithoutPBMAccess() &&
-@@ -2743,7 +2740,7 @@ var gUnifiedExtensions = {
+@@ -2754,7 +2751,7 @@ var gUnifiedExtensions = {
this.recordButtonTelemetry(reason || "extensions_panel_showing");
this.ensureButtonShownBeforeAttachingPanel(panel);
PanelMultiView.openPopup(panel, this._button, {
@@ -68,7 +68,7 @@ index f33a300eb0eed74e286da24919ad3e8505f632c3..9f400e887424693d0ecceb9db79fccf2
triggerEvent: aEvent,
});
}
-@@ -2930,18 +2927,20 @@ var gUnifiedExtensions = {
+@@ -2941,18 +2938,20 @@ var gUnifiedExtensions = {
this._maybeMoveWidgetNodeBack(widgetId);
}
diff --git a/src/browser/base/content/browser-fullScreenAndPointerLock-js.patch b/src/browser/base/content/browser-fullScreenAndPointerLock-js.patch
index ce5b0041f..0a56038db 100644
--- a/src/browser/base/content/browser-fullScreenAndPointerLock-js.patch
+++ b/src/browser/base/content/browser-fullScreenAndPointerLock-js.patch
@@ -1,8 +1,8 @@
diff --git a/browser/base/content/browser-fullScreenAndPointerLock.js b/browser/base/content/browser-fullScreenAndPointerLock.js
-index bef746dc594ad974c91075cf3657c199f8f8830f..bb671341b6715c42df76f7298ba55e1fac73f33b 100644
+index f459f3ca4048c29a32832b46ba87de8552a0ab8a..d317676e6d12d756ddf5dfbffe73050de07c2375 100644
--- a/browser/base/content/browser-fullScreenAndPointerLock.js
+++ b/browser/base/content/browser-fullScreenAndPointerLock.js
-@@ -424,10 +424,10 @@ var FullScreen = {
+@@ -423,10 +423,10 @@ var FullScreen = {
gNavToolbox.classList.toggle("fullscreen-with-menubar", shiftSize > 0);
let transform = shiftSize > 0 ? `translateY(${shiftSize}px)` : "";
diff --git a/src/browser/base/content/browser-init-js.patch b/src/browser/base/content/browser-init-js.patch
index b8b27c308..14a2b2e88 100644
--- a/src/browser/base/content/browser-init-js.patch
+++ b/src/browser/base/content/browser-init-js.patch
@@ -1,5 +1,5 @@
diff --git a/browser/base/content/browser-init.js b/browser/base/content/browser-init.js
-index 8e63654b343e8518aa0e366a3fd3bf7e0856eafb..3cebc9bb057f51cea639130fecd7576e1c9db79c 100644
+index 02f601d859ea32557af572d2499ad8be75b684b5..b1a6f66a74f75150d7e2fbc50528965bb16cb4d9 100644
--- a/browser/base/content/browser-init.js
+++ b/browser/base/content/browser-init.js
@@ -198,6 +198,7 @@ var gBrowserInit = {
diff --git a/src/browser/base/content/browser-js.patch b/src/browser/base/content/browser-js.patch
index 4165d22e5..3c0fb48ec 100644
--- a/src/browser/base/content/browser-js.patch
+++ b/src/browser/base/content/browser-js.patch
@@ -1,5 +1,5 @@
diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js
-index b4b79e7fb3228ba91bd8afa08659be0d88883725..b4801e2a3076139622d58f81943e61cd61ee1828 100644
+index 15ef352c147eff781d34a3e5fa02fa791bdd6188..b0784e817ad25c7a4983e9f1cb08b293de15a99d 100644
--- a/browser/base/content/browser.js
+++ b/browser/base/content/browser.js
@@ -31,6 +31,7 @@ ChromeUtils.defineESModuleGetters(this, {
@@ -10,7 +10,7 @@ index b4b79e7fb3228ba91bd8afa08659be0d88883725..b4801e2a3076139622d58f81943e61cd
DevToolsSocketStatus:
"resource://devtools/shared/security/DevToolsSocketStatus.sys.mjs",
DownloadUtils: "resource://gre/modules/DownloadUtils.sys.mjs",
-@@ -822,7 +823,12 @@ function UpdateBackForwardCommands(aWebNavigation) {
+@@ -821,7 +822,12 @@ function UpdateBackForwardCommands(aWebNavigation) {
var backDisabled = backCommand.hasAttribute("disabled");
var forwardDisabled = forwardCommand.hasAttribute("disabled");
@@ -24,7 +24,7 @@ index b4b79e7fb3228ba91bd8afa08659be0d88883725..b4801e2a3076139622d58f81943e61cd
if (backDisabled) {
backCommand.removeAttribute("disabled");
} else {
-@@ -2298,6 +2304,8 @@ var XULBrowserWindow = {
+@@ -2297,6 +2303,8 @@ var XULBrowserWindow = {
AboutReaderParent.updateReaderButton(gBrowser.selectedBrowser);
TranslationsParent.onLocationChange(gBrowser.selectedBrowser);
@@ -33,7 +33,7 @@ index b4b79e7fb3228ba91bd8afa08659be0d88883725..b4801e2a3076139622d58f81943e61cd
PictureInPicture.updateUrlbarToggle(gBrowser.selectedBrowser);
if (!gMultiProcessBrowser) {
-@@ -3809,7 +3817,7 @@ function warnAboutClosingWindow() {
+@@ -3808,7 +3816,7 @@ function warnAboutClosingWindow() {
if (!isPBWindow && !toolbar.visible) {
return gBrowser.warnAboutClosingTabs(
@@ -42,7 +42,7 @@ index b4b79e7fb3228ba91bd8afa08659be0d88883725..b4801e2a3076139622d58f81943e61cd
gBrowser.closingTabsEnum.ALL
);
}
-@@ -3849,7 +3857,7 @@ function warnAboutClosingWindow() {
+@@ -3848,7 +3856,7 @@ function warnAboutClosingWindow() {
return (
isPBWindow ||
gBrowser.warnAboutClosingTabs(
@@ -51,7 +51,7 @@ index b4b79e7fb3228ba91bd8afa08659be0d88883725..b4801e2a3076139622d58f81943e61cd
gBrowser.closingTabsEnum.ALL
)
);
-@@ -3874,7 +3882,7 @@ function warnAboutClosingWindow() {
+@@ -3873,7 +3881,7 @@ function warnAboutClosingWindow() {
AppConstants.platform != "macosx" ||
isPBWindow ||
gBrowser.warnAboutClosingTabs(
@@ -60,7 +60,7 @@ index b4b79e7fb3228ba91bd8afa08659be0d88883725..b4801e2a3076139622d58f81943e61cd
gBrowser.closingTabsEnum.ALL
)
);
-@@ -4796,6 +4804,9 @@ var ConfirmationHint = {
+@@ -4795,6 +4803,9 @@ var ConfirmationHint = {
MozXULElement.insertFTLIfNeeded("toolkit/branding/brandings.ftl");
MozXULElement.insertFTLIfNeeded("browser/confirmationHints.ftl");
document.l10n.setAttributes(this._message, messageId, options.l10nArgs);
diff --git a/src/browser/base/content/browser-sets-inc.patch b/src/browser/base/content/browser-sets-inc.patch
index 837f55c92..3ed82c454 100644
--- a/src/browser/base/content/browser-sets-inc.patch
+++ b/src/browser/base/content/browser-sets-inc.patch
@@ -1,8 +1,8 @@
diff --git a/browser/base/content/browser-sets.inc b/browser/base/content/browser-sets.inc
-index 2e7654036647796715aec392f9e714e7256c9864..0b3b76ab479bb6ae5439dd424b69f641d3b86c28 100644
+index 8d97b6e669954a09afe6a46d1c79652264494e92..86877b983207c5f9852c9192ee0257a909c5ea7a 100644
--- a/browser/base/content/browser-sets.inc
+++ b/browser/base/content/browser-sets.inc
-@@ -405,3 +405,4 @@
+@@ -406,3 +406,4 @@
internal="true"/>
#endif
diff --git a/src/browser/base/content/browser-sets-js.patch b/src/browser/base/content/browser-sets-js.patch
index b2968174e..dc7ab61db 100644
--- a/src/browser/base/content/browser-sets-js.patch
+++ b/src/browser/base/content/browser-sets-js.patch
@@ -1,8 +1,8 @@
diff --git a/browser/base/content/browser-sets.js b/browser/base/content/browser-sets.js
-index 9cff49a7b86f7697f70c4ef61d3c3561f058dc45..15ac9a8a79e8642b3add2f6df63ed32eb0c8bcb9 100644
+index 0bb581aa34ddeef1e3eb85b0fadd41a539b4b9d6..cbe2df8b1775cb8194007ee995fd91769618b48d 100644
--- a/browser/base/content/browser-sets.js
+++ b/browser/base/content/browser-sets.js
-@@ -253,7 +253,7 @@ document.addEventListener(
+@@ -254,7 +254,7 @@ document.addEventListener(
}
});
diff --git a/src/browser/base/content/main-popupset-inc-xhtml.patch b/src/browser/base/content/main-popupset-inc-xhtml.patch
index 9adb099f4..609164180 100644
--- a/src/browser/base/content/main-popupset-inc-xhtml.patch
+++ b/src/browser/base/content/main-popupset-inc-xhtml.patch
@@ -1,8 +1,8 @@
diff --git a/browser/base/content/main-popupset.inc.xhtml b/browser/base/content/main-popupset.inc.xhtml
-index 78030413c4125362e056a8ec249b597292be050b..90fc935e105d594cd4cc925c70c29b18b8dffccd 100644
+index e688ba37c40ea602a32a84af6c1497d884ddc27b..ad8515eae1d4e697b9329d9d5babfd59679c9288 100644
--- a/browser/base/content/main-popupset.inc.xhtml
+++ b/browser/base/content/main-popupset.inc.xhtml
-@@ -208,6 +208,10 @@
+@@ -216,6 +216,10 @@
hidden="true"
tabspecific="true"
aria-labelledby="editBookmarkPanelTitle">
@@ -13,7 +13,7 @@ index 78030413c4125362e056a8ec249b597292be050b..90fc935e105d594cd4cc925c70c29b18