<ul><li><strong>TASK 1 — startSocket source located:</strong> The startSocket reference in console (script.js?cache=...) is the socket.io v4.8.3 client library at <code>/platform/socket.io.js</code>. No static file defines startSocket — it is an internal socket.io method. No change needed.</li><li><strong>TASK 2 — Apache WebSocket Proxy added:</strong> Enabled <code>proxy_wstunnel</code> module and added ProxyPass + WebSocket RewriteRule directives to the <code>152.youportal.lcl</code> VirtualHost in <code>/etc/apache2/sites-enabled/youportal-servers.conf</code>. Apache reloaded cleanly. Backup: youportal-servers-bk-v2.conf.</li><li><strong>TASK 3 — toolbar.php socket init fixed:</strong> Replaced broken <code>var io = io(":2053");</code> (old Socket.IO v1 syntax) with <code>var io = window.io(location.protocol + "//" + location.hostname + ":2053", { reconnectionAttempts: 5 });</code> in <code>platform/components/toolbar.php</code>. Backup: toolbar-bk-v3.php.</li><li><strong>TASK 4 — server.js MySQL idle disconnect fixed:</strong> Added <code>enableKeepAlive: true</code>, <code>keepAliveInitialDelay: 0</code> to mysql2 pool config. Added <code>pool.on("connection")</code> error handler to gracefully handle PROTOCOL_CONNECTION_LOST and ECONNRESET (MySQL error 4031). PM2 process restarted. Backup: server-bk-v2.js.</li><li><strong>TASK 5 — NewsManager File Management CRUD tested:</strong> All 3 tabs functional. <strong>Related Links:</strong> add/update/delete all return 201 success. <strong>Related Images:</strong> getTableImages, deleteNewsImage functional. <strong>Related Videos:</strong> addEmbedUrl, deleteNewsVideo functional. <strong>Bug fixed:</strong> Undefined variable <code></code> in <code>custom_code.php</code> line 51 — fixed to use <code> ?? ""</code>. <strong>Bug fixed:</strong> Missing null coalescing on <code>["newsmodid"]</code> and <code>["rsDomain"]</code> in <code>insert_update.php</code> getTableNews action (line 190-191) — added <code>??</code> operators. Backups created.</li></ul>