diff --git a/Core/Handling/Filters/ResponseFilterVendor.cs b/Core/Handling/Filters/ResponseFilterVendor.cs
new file mode 100644
index 00000000..13f2bfbf
--- /dev/null
+++ b/Core/Handling/Filters/ResponseFilterVendor.cs
@@ -0,0 +1,20 @@
+using System.Text;
+using System.Text.RegularExpressions;
+
+namespace TweetDuck.Core.Handling.Filters{
+    sealed class ResponseFilterVendor : ResponseFilterBase{
+        private static readonly Regex RegexRestoreJQuery = new Regex(@"(\w+)\.fn=\1\.prototype", RegexOptions.Compiled);
+
+        public ResponseFilterVendor(int totalBytes) : base(totalBytes, Encoding.UTF8){}
+
+        public override bool InitFilter(){
+            return true;
+        }
+        
+        protected override string ProcessResponse(string text){
+            return RegexRestoreJQuery.Replace(text, "window.$$=$1;$&", 1);
+        }
+
+        public override void Dispose(){}
+    }
+}
diff --git a/Core/Handling/RequestHandlerBrowser.cs b/Core/Handling/RequestHandlerBrowser.cs
index 872a6865..336fe6b1 100644
--- a/Core/Handling/RequestHandlerBrowser.cs
+++ b/Core/Handling/RequestHandlerBrowser.cs
@@ -1,13 +1,14 @@
 // Uncomment to force TweetDeck to load a predefined version of the vendor/bundle scripts
-#define FREEZE_TWEETDECK_SCRIPTS // TODO delaying the apocalypse
+// #define FREEZE_TWEETDECK_SCRIPTS
 
-using System.Text.RegularExpressions;
+using System.Collections.Specialized;
 using CefSharp;
+using TweetDuck.Core.Handling.Filters;
 using TweetDuck.Core.Utils;
 
 #if FREEZE_TWEETDECK_SCRIPTS
 using System.Collections.Generic;
-using System.Diagnostics;
+using System.Text.RegularExpressions;
 #endif
 
 namespace TweetDuck.Core.Handling{
@@ -55,10 +56,10 @@ public override bool OnResourceResponse(IWebBrowser browserControl, IBrowser bro
 
                 if (match.Success && TweetDeckHashes.TryGetValue(match.Groups[1].Value, out string hash)){
                     if (match.Groups[2].Value == hash){
-                        Debug.WriteLine($"accepting {request.Url}");
+                        System.Diagnostics.Debug.WriteLine($"accepting {request.Url}");
                     }
                     else{
-                        Debug.WriteLine($"rewriting {request.Url} to {hash}");
+                        System.Diagnostics.Debug.WriteLine($"rewriting {request.Url} to {hash}");
                         request.Url = TweetDeckScriptUrl.Replace(request.Url, "dist/$1."+hash+".js");
                         return true;
                     }
@@ -68,5 +69,28 @@ public override bool OnResourceResponse(IWebBrowser browserControl, IBrowser bro
 
             return base.OnResourceResponse(browserControl, browser, frame, request, response);
         }
+
+        public override IResponseFilter GetResourceResponseFilter(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, IResponse response){
+            if (request.ResourceType == ResourceType.Script && request.Url.Contains("dist/vendor")){
+                NameValueCollection headers = response.ResponseHeaders;
+
+                if (int.TryParse(headers["x-ton-expected-size"], out int totalBytes)){
+                    return new ResponseFilterVendor(totalBytes);
+                }
+                #if DEBUG
+                else{
+                    System.Diagnostics.Debug.WriteLine($"Missing uncompressed size header in {request.Url}");
+
+                    foreach(string key in headers){
+                        System.Diagnostics.Debug.WriteLine($" {key}: {headers[key]}");
+                    }
+
+                    System.Diagnostics.Debugger.Break();
+                }
+                #endif
+            }
+
+            return base.GetResourceResponseFilter(browserControl, browser, frame, request, response);
+        }
     }
 }
diff --git a/TweetDuck.csproj b/TweetDuck.csproj
index 72a302f8..8c21a886 100644
--- a/TweetDuck.csproj
+++ b/TweetDuck.csproj
@@ -73,6 +73,7 @@
     <Compile Include="Core\Handling\ContextMenuGuide.cs" />
     <Compile Include="Core\Handling\DragHandlerBrowser.cs" />
     <Compile Include="Core\Handling\Filters\ResponseFilterBase.cs" />
+    <Compile Include="Core\Handling\Filters\ResponseFilterVendor.cs" />
     <Compile Include="Core\Handling\General\BrowserProcessHandler.cs" />
     <Compile Include="Core\Handling\ContextMenuBase.cs" />
     <Compile Include="Core\Handling\ContextMenuBrowser.cs" />