From 62c1969facc9cf4f95d7623773de47e6cea19432 Mon Sep 17 00:00:00 2001 From: DrDrij Date: Wed, 19 Aug 2026 01:06:06 +0700 Subject: [PATCH 1/2] perf: drop the render-blocking Font Awesome stylesheet MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Font Awesome 4.7 was loaded from cdnjs on every page. It is render-blocking, and because it lives on a third origin the browser must do a DNS lookup and TLS handshake before it can paint — measured at ~480ms to first byte on a cold connection. Nothing uses it. There are no `fa-*` classes in this theme's components, and a sweep of all 27 pages of the lecture-python-programming preview build found zero occurrences in the rendered HTML. The library has also been end-of-life since 2016. The toolbar already uses lucide-react for its icons, which is bundled. --- app/root.tsx | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/app/root.tsx b/app/root.tsx index c844c541e..4591038d5 100644 --- a/app/root.tsx +++ b/app/root.tsx @@ -89,10 +89,11 @@ export const links: LinksFunction = () => { rel: 'stylesheet', href: 'https://cdn.jsdelivr.net/npm/jupyter-matplotlib@0.11.3/css/mpl_widget.css', }, - { - rel: 'stylesheet', - href: 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.css', - }, + // Font Awesome 4.7 was dropped here: it is render-blocking from a third + // origin (DNS + TLS before first paint) and nothing renders `fa-*` classes — + // not this theme's components, and not any of the 27 pages of + // lecture-python-programming. If an icon set is needed again, prefer the + // bundled `lucide-react` icons already used across the toolbar. ]; }; From a19f0571d157c7f730995fcb654864ffb4ce6065 Mon Sep 17 00:00:00 2001 From: Matt McKay Date: Thu, 20 Aug 2026 12:56:41 +1000 Subject: [PATCH 2/2] docs: trim the removal comment to the durable constraint The point-in-time evidence (page counts, origin timing) lives in the PR description; the comment keeps only what the next reader needs. Co-Authored-By: Claude Fable 5 --- app/root.tsx | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/app/root.tsx b/app/root.tsx index 4591038d5..218c968af 100644 --- a/app/root.tsx +++ b/app/root.tsx @@ -89,11 +89,8 @@ export const links: LinksFunction = () => { rel: 'stylesheet', href: 'https://cdn.jsdelivr.net/npm/jupyter-matplotlib@0.11.3/css/mpl_widget.css', }, - // Font Awesome 4.7 was dropped here: it is render-blocking from a third - // origin (DNS + TLS before first paint) and nothing renders `fa-*` classes — - // not this theme's components, and not any of the 27 pages of - // lecture-python-programming. If an icon set is needed again, prefer the - // bundled `lucide-react` icons already used across the toolbar. + // Font Awesome intentionally not loaded: nothing in the theme renders + // `fa-*` classes; use the bundled `lucide-react` icons instead. ]; };