1<!doctype html> 2<html lang="en"> 3 <head> 4 <meta charset="UTF-8" /> 5 <link rel="icon" type="image/jpeg" href="/blackback.jpg?v=8" /> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover, shrink-to-fit=no" /> 7 <meta name="theme-color" content="#141414" /> 8 <meta name="mobile-web-app-capable" content="yes" /> 9 <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" /> 10 <title>ChatMesh - Bleeding Edge of AI</title> 11 12 <!-- SEO Meta Tags --> 13 <meta name="description" content="ChatMesh: The bleeding edge of AI. All the latest features, latest models, and cutting-edge research mentored by Google DeepMind researchers. One interface. Zero friction." /> 14 <meta name="keywords" content="AI platform, bleeding edge AI, ChatMesh, Hyperion, AI research, Google DeepMind, AI models, AI features, UCL Nexus Labs" /> 15 <meta name="author" content="ChatMesh" /> 16 <link rel="canonical" href="https://chatmesh.ai" /> 17 18 <!-- Open Graph Meta Tags for Social Sharing --> 19 <meta property="og:title" content="ChatMesh - Bleeding Edge of AI" /> 20 <meta property="og:description" content="ChatMesh: The bleeding edge of AI. All the latest features, latest models, and cutting-edge research. One interface. Zero friction." /> 21 <meta property="og:image" content="https://chatmesh.ai/blackback.jpg" /> 22 <meta property="og:url" content="https://chatmesh.ai" /> 23 <meta property="og:type" content="website" /> 24 <meta property="og:site_name" content="ChatMesh" /> 25 26 <!-- Twitter Card Meta Tags --> 27 <meta name="twitter:card" content="summary_large_image" /> 28 <meta name="twitter:title" content="ChatMesh - Bleeding Edge of AI" /> 29 <meta name="twitter:description" content="ChatMesh: The bleeding edge of AI. All the latest features, latest models, and cutting-edge research. One interface. Zero friction." /> 30 <meta name="twitter:image" content="https://chatmesh.ai/blackback.jpg" /> 31 <meta name="twitter:creator" content="@KaustubhJoshi_0" /> 32
32<script> 33 // Disable service worker in development to prevent cache issues 34 if ('serviceWorker' in navigator && window.location.hostname === 'chatmesh.ai') { 35 navigator.serviceWorker.register('/sw.js').then(() => { 36 console.log('SW registered for cache control'); 37 }); 38 } 39 40 // Clear browser autocomplete cache on load 41 window.addEventListener('load', function() { 42 // Force browser to not cache this page in navigation history 43 if (window.history && window.history.replaceState) { 44 window.history.replaceState(null, null, window.location.href + '?t=' + Date.now()); 45 } 46 47 // Clear DNS cache by forcing a new connection 48 if (window.location.hostname === 'chatmesh.ai') { 49 const link = document.createElement('link'); 50 link.rel = 'preload'; 51 link.href = 'https://chatmesh.ai/landing'; 52 link.as = 'fetch'; 53 link.crossOrigin = 'anonymous'; 54 document.head.appendChild(link); 55 } 56 }); 57 </script>
57 58 <!-- Force deployment refresh v12 - CRITICAL CACHE BUST Nov 23 2025 - REACT HOOK FIX --> 59 <!-- Cache control - DISABLED for development to force fresh reload --> 60 <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate"> 61 <meta http-equiv="Pragma" content="no-cache"> 62 <meta http-equiv="Expires" content="0"> 63 64 <!-- Enhanced cache control for browser autocomplete --> 65 <meta name="robots" content="index,follow,noarchive"> 66 <meta name="googlebot" content="index,follow,noimageindex"> 67 <meta http-equiv="Last-Modified" content="Sat, 23 Nov 2025 19:45:00 GMT"> 68 <meta http-equiv="ETag" content="chatmesh-v12-20251123-nocache"> 69 70 <!-- Prevent DNS caching and autocomplete issues --> 71 <link rel="dns-prefetch" href="//chatmesh.ai"> 72 <link rel="preconnect" href="https://chatmesh.ai"> 73 <meta name="format-detection" content="telephone=no"> 74 <meta name="msapplication-config" content="none"> 75 76 <!-- Google Fonts - Inter --> 77 <link rel="preconnect" href="https://fonts.googleapis.com"> 78 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 79 <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap" rel="stylesheet"> 80 81 <!-- Tailwind CSS CDN - CRITICAL FOR STYLING --> 82
82<script> 83 // Suppress development warnings that don't affect functionality 84 (function() { 85 const originalWarn = console.warn; 86 const originalError = console.error; 87 88 console.warn = function(...args) { 89 const message = args[0]; 90 if (typeof message === 'string') { 91 // Suppress Tailwind CDN development warning 92 if (message.includes('cdn.tailwindcss.com should not be used in production')) { 93 return; 94 } 95 } 96 originalWarn.apply(console, args); 97 }; 98 99 console.error = function(...args) { 100 const message = args[0]; 101 if (typeof message === 'string') { 102 // Suppress Google OAuth CORS warnings - these are expected browser security warnings 103 if (message.includes('Cross-Origin-Opener-Policy policy would block the window.postMessage call')) { 104 return; 105 } 106 } 107 originalError.apply(console, args); 108 }; 109 110 // Also override console.log to catch CORS warnings that come through different channels 111 const originalLog = console.log; 112 console.log = function(...args) { 113 const message = args[0]; 114 if (typeof message === 'string') { 115 if (message.includes('Cross-Origin-Opener-Policy policy would block the window.postMessage call')) { 116 return; 117 } 118 } 119 originalLog.apply(console, args); 120 }; 121 122 // Override console.info for completeness 123 const originalInfo = console.info; 124 console.info = function(...args) { 125 const message = args[0]; 126 if (typeof message === 'string') { 127 if (message.includes('Cross-Origin-Opener-Policy policy would block the window.postMessage call')) { 128 return; 129 } 130 } 131 originalInfo.apply(console, args); 132 }; 133 134 // Global error handler to catch CORS warnings that bypass console methods 135 window.addEventListener('error', function(e) { 136 if (e.message && e.message.includes('Cross-Origin-Opener-Policy')) { 137 e.preventDefault(); 138 e.stopPropagation(); 139 return false; 140 } 141 }); 142 143 // Unhandled promise rejections (in case CORS warnings come through here) 144 window.addEventListener('unhandledrejection', function(e) { 145 if (e.reason && typeof e.reason === 'string' && 146 e.reason.includes('Cross-Origin-Opener-Policy')) { 147 e.preventDefault(); 148 return false; 149 } 150 }); 151 })(); 152 </script>
152 153
153<script src="https://cdn.tailwindcss.com"></script>
153 154
154<script type="module" crossorigin src="/assets/index-CgxMwFfe.js"></script>
154 155 <link rel="stylesheet" crossorigin href="/assets/index--ceCrEgG.css"> 156 </head> 157 <body> 158 <div id="root"></div> 159 <div id="portal-root"></div> 160 </body> 161</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.