[object Object]

← back to Thesetdecorator

backlog: fully diagnose art-archive photo-bridge outage (socat :9716 + local app both down since plist orphaned 5-19) + exact restore commands

425c977cb07a5a8184d27fcc7fea5f8dae070d2a · 2026-06-03 13:56:51 -0700 · Steve

Files touched

Diff

commit 425c977cb07a5a8184d27fcc7fea5f8dae070d2a
Author: Steve <steve@designerwallcoverings.com>
Date:   Wed Jun 3 13:56:51 2026 -0700

    backlog: fully diagnose art-archive photo-bridge outage (socat :9716 + local app both down since plist orphaned 5-19) + exact restore commands
---
 YOLO_BACKLOG.md | 25 ++++++++++++++++++++-----
 1 file changed, 20 insertions(+), 5 deletions(-)

diff --git a/YOLO_BACKLOG.md b/YOLO_BACKLOG.md
index d6e736c..1c7c8e5 100644
--- a/YOLO_BACKLOG.md
+++ b/YOLO_BACKLOG.md
@@ -194,11 +194,26 @@ proxy) are fine (200).
   proxies that path to a dead upstream → fast 502.
 - **Why static audits missed it:** it's a runtime/infra failure, not a markup gap. Functional
   testing (probing the real image URLs the APIs return) is what surfaced it.
-- **FIX (operational — yours, NOT an autonomous edit):** restart / re-establish the Mac2→prod
-  tailnet photo bridge (mechanism not in this repo — likely a tailscale serve/funnel or a
-  separate launchd/script you run), OR repoint those 4 catalog items at a prod-available image
-  source. I did NOT touch it — starting a tunnel / editing prod nginx is infra + network
-  exposure, well outside the loop envelope.
+- **MECHANISM (fully diagnosed 2026-06-03):** the bridge is a `socat` TCP forwarder defined by
+  `com.steve.thesetdecorator-images-tailscale-bridge.plist` (socat `TCP-LISTEN:9716,bind=
+  100.65.187.120` → `TCP:127.0.0.1:9716`). Prod nginx has `location /api/art-archive/ {
+  proxy_pass http://100.65.187.120:9716; }`. Chain: prod nginx → Mac2 tailnet :9716 (socat) →
+  local Mac2 TSD app :9716 → `var/art-archive/*.jpg`. **BOTH halves are down:** (1) no local
+  pm2 `thesetdecorator` on :9716 (ecosystem.config.js sets PORT 9716, ~1.1GB RAM Met-cache
+  warm); (2) the plist was bulk-orphaned into `_backup_orphan_plists_20260519/` on 2026-05-19
+  and isn't loaded. socat is installed; tailnet IP still 100.65.187.120; `.env` has DB creds.
+- **⚠️ OPEN QUESTION for Steve:** was the 2026-05-19 orphaning INTENTIONAL (deliberate
+  decommission of this bridge) or collateral from a plist cleanup? If we should restore it:
+  ```sh
+  # piece 1 — local image server (binds 127.0.0.1:9716, ~1.1GB RAM)
+  cd ~/Projects/thesetdecorator && pm2 start ecosystem.config.js && pm2 save
+  # piece 2 — socat tailnet forwarder (exposes :9716 on tailnet for prod)
+  cp ~/Library/LaunchAgents/_backup_orphan_plists_20260519/com.steve.thesetdecorator-images-tailscale-bridge.plist ~/Library/LaunchAgents/
+  launchctl load ~/Library/LaunchAgents/com.steve.thesetdecorator-images-tailscale-bridge.plist
+  # verify: curl -I https://thesetdecorator.com/api/art-archive/photos/8/image/medium  # expect 200
+  ```
+  NOT auto-executed — network exposure + launchd persistence are gated, and the orphaning may
+  have been deliberate.
 
 ## Notes / queued-for-Steve (gated — do NOT auto-do)
 - **(IA decision + your eyeball)** Link the 3 orphan pages into site navigation:

← 499311d backlog: PROD BUG found — catalog art-archive images 502 (Ma  ·  back to Thesetdecorator  ·  backlog: art-archive 502 RESOLVED — restored local :9716 app 599ae58 →