Monorepo for Aesthetic.Computer aesthetic.computer
4
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix notepat.com lith routing

+36 -1
+8
lith/Caddyfile
··· 332 332 333 333 # --- notepat.com, kidlisp.com root, www variants --- 334 334 # These all serve the main AC SPA 335 + @notepatroot host notepat.com www.notepat.com 336 + handle @notepatroot { 337 + @notepatindex path / 338 + handle @notepatindex { 339 + rewrite * /notepat 340 + } 341 + reverse_proxy localhost:8888 342 + } 335 343 @mainspa host aesthetic.computer www.aesthetic.computer kidlisp.com www.kidlisp.com notepat.com www.notepat.com p5.aesthetic.computer sitemap.aesthetic.computer 336 344 handle @mainspa { 337 345 # Preload critical assets (browser starts fetching before parsing HTML)
+16
lith/deploy.fish
··· 8 8 set NC '\033[0m' 9 9 10 10 set SCRIPT_DIR (dirname (status --current-filename)) 11 + set REPO_ROOT (realpath "$SCRIPT_DIR/..") 11 12 set VAULT_DIR "$SCRIPT_DIR/../aesthetic-computer-vault" 12 13 set SSH_KEY "$VAULT_DIR/home/.ssh/id_rsa" 13 14 set SERVICE_ENV "$VAULT_DIR/lith/.env" ··· 38 39 # Sync repo (git pull on remote) 39 40 echo -e "$GREEN-> Pulling latest code...$NC" 40 41 ssh -i $SSH_KEY $LITH_USER@$LITH_HOST "cd $REMOTE_DIR && git pull origin main" 42 + 43 + # Overlay local working tree changes so deploys include uncommitted routing/frontend edits. 44 + echo -e "$GREEN-> Syncing local lith/ and system/ working tree...$NC" 45 + rsync -az --delete \ 46 + --exclude node_modules \ 47 + --exclude .env \ 48 + --exclude .DS_Store \ 49 + "$REPO_ROOT/lith/" \ 50 + $LITH_USER@$LITH_HOST:$REMOTE_DIR/lith/ 51 + rsync -az --delete \ 52 + --exclude node_modules \ 53 + --exclude .env \ 54 + --exclude .DS_Store \ 55 + "$REPO_ROOT/system/" \ 56 + $LITH_USER@$LITH_HOST:$REMOTE_DIR/system/ 41 57 42 58 # Upload env 43 59 echo -e "$GREEN-> Uploading environment...$NC"
+11
lith/server.mjs
··· 122 122 if (req.method === "OPTIONS") return res.sendStatus(204); 123 123 next(); 124 124 }); 125 + // --- Host-based rewrites that Netlify previously handled --- 126 + app.use((req, _res, next) => { 127 + const host = (req.headers.host || "").split(":")[0].toLowerCase(); 128 + 129 + // Preserve branded notepat.com URLs while serving the /notepat piece. 130 + if ((host === "notepat.com" || host === "www.notepat.com") && req.path === "/") { 131 + req.url = "/notepat" + (req.url === "/" ? "" : req.url.slice(req.path.length)); 132 + } 133 + 134 + next(); 135 + }); 125 136 126 137 // --- Load Netlify functions --- 127 138 const functions = {};
+1 -1
system/public/aesthetic.computer/lib/disk.mjs
··· 2128 2128 if (!hostname) return false; 2129 2129 // Match notepat.com or www.notepat.com (add more branded domains here as needed) 2130 2130 if (hostname === "notepat.com" || hostname === "www.notepat.com") { 2131 - send({ type: "web", content: { url: "https://aesthetic.computer/prompt", blank: false } }); 2131 + send({ type: "web", content: { url: "https://aesthetic.computer/notepat", blank: false } }); 2132 2132 return true; 2133 2133 } 2134 2134 return false;