You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Neutralized "ontouchend" in document check: Reverse-engineering Notion's production JavaScript chunks (module 900532) revealed that when navigator.platform is spoofed to "MacIntel", Notion inspects "ontouchend" in window.document to detect iPadOS. On iOS Safari/PWA, this evaluated to true, causing Notion's detector to return isIpad: true, cascading to isMobile: true and serving mobile routes for Settings and Notifications.
Stripped ontouch* listener properties from Document.prototype, HTMLDocument.prototype, and document so Notion's detector evaluates:
Intercepted Notion's core configuration module (module 386961) using an accessor descriptor lock to guarantee window.CONFIG.isMobile is permanently forced to false.
⚡ WebKit EventTarget & MutationObserver Stability
Replaced Proxy wrappers on window.matchMedia with direct Object.defineProperty overrides, preventing WebKit TypeError: Can only call EventTarget.addEventListener on instances of EventTarget.
Debounced all DOM MutationObserver listeners using requestAnimationFrame to prevent microtask loops in WebKit.
Added safeAppend & safeAppendBody utilities to guarantee flawless execution at document-start.
🧪 Verified with Playwright WebKit
Verified inside Playwright WebKit on emulated iPhone 14 Pro: