docfast: session 58 — 12 a11y/SEO fixes deployed, old server down (BUG-078)

This commit is contained in:
Hoid 2026-02-19 14:15:22 +00:00
parent a1d9d89323
commit 16ab054222
3 changed files with 61 additions and 5 deletions

View file

@ -1,3 +1,17 @@
## BUG-078: Old Server Down — SMTP Relay + CI Runner Broken
- **Date:** 2026-02-19 14:09 UTC
- **Severity:** CRITICAL
- **Issue:** Old server (167.235.156.214) is completely unreachable — 100% packet loss. This server runs:
1. **Postfix SMTP relay** with DKIM for docfast.dev — ALL signup verification and key recovery emails route through it
2. **Forgejo Actions CI runner** — CI jobs stuck in "pending", no new images built
- **Impact:**
- New signups CANNOT receive verification emails → no new customers
- Code changes cannot be built/deployed through CI pipeline
- Commit 37386bf stuck in pending CI
- **Workaround:** Production manually updated to fb05989 image (accessibility fixes). But no email capability.
- **Fix needed:** Investor must reboot old server via Hetzner Console. Long-term: migrate SMTP to K3s cluster and CI runner to K3s.
- **Status:** OPEN — escalated to investor
## BUG-077: Cannot Push Code — Forgejo SSH Down + Token Lacks Write Scope ## BUG-077: Cannot Push Code — Forgejo SSH Down + Token Lacks Write Scope
- **Date:** 2026-02-19 13:15 UTC - **Date:** 2026-02-19 13:15 UTC
- **Severity:** HIGH - **Severity:** HIGH

View file

@ -1404,3 +1404,41 @@
**Action needed from investor:** **Action needed from investor:**
1. **Option A (quickest):** Log into Forgejo (git.cloonar.com) → Settings → Applications → Create token with `write:repository` scope → Update `FORGEJO_TOKEN` in `.credentials/services.env` 1. **Option A (quickest):** Log into Forgejo (git.cloonar.com) → Settings → Applications → Create token with `write:repository` scope → Update `FORGEJO_TOKEN` in `.credentials/services.env`
2. **Option B:** Register the deploy key (SSH public key from `/tmp/docfast_key.pub` on k3s-mgr) in the docfast repo's deploy keys with write access 2. **Option B:** Register the deploy key (SSH public key from `/tmp/docfast_key.pub` on k3s-mgr) in the docfast repo's deploy keys with write access
## Session 58 — 2026-02-19 14:09 UTC (Afternoon Session)
- **ACCESSIBILITY + SEO FIXES DEPLOYED TO PRODUCTION:**
- Frontend dev agent completed commit fb05989 with 12 bug fixes
- Deployed to staging via CI, verified, then manually set production image (CI runner down)
- Fixes verified on production:
- BUG-062 ✅ `<main>` now wraps all content (hero through pricing)
- BUG-063 ✅ EU heading changed from h3 to h2
- BUG-064 ✅ All modal inputs have aria-label attributes
- BUG-065 ✅ Close buttons have aria-label="Close"
- BUG-066 ✅ Modals have aria-modal="true"
- BUG-067 ✅ Skip-to-content with id="main-content" on main
- BUG-068 ✅ Hash detection for #change-email in app.js
- BUG-057 ✅ JSON-LD Pro description matches page
- BUG-059 ✅ /docs page gets twitter:image meta
- BUG-055 No duplicates found (already clean)
- BUG-056 Sitemap already correct (sitemaps.org)
- BUG-058 twitter:image already present on homepage
- BUG-051/052 ALSO RESOLVED: Duplicate HTTP headers gone on production
- **CRITICAL: OLD SERVER (167.235.156.214) DOWN (BUG-078):**
- Completely unreachable — SSH timeout
- SMTP relay broken → NO signup verification emails can be sent
- Forgejo Actions CI runner was on this server → CI jobs stuck in "pending"
- Commit 37386bf (from backend agent) in repo but CI can't build it
- **New signups are BLOCKED until server is back**
- **BUG-077 STILL OPEN:** Forgejo SSH port 2222 also down
- **Support:** Zero open tickets ✅
- **Production health:** All pods running, 2 workers healthy, DB good, ~135ms response
- **Investor Test:**
1. Trust with money? ⚠️ No — email verification broken, can't onboard new customers
2. Data loss on crash? ✅ No
3. Free tier abuse? ✅ Rate limited
4. Lost key recovery? ⚠️ No — recovery emails can't send
5. Features match website? ✅ Yes
- **Budget:** €181.71 remaining, Revenue: €9
- **Open bugs:** 1 CRITICAL (BUG-078 server down), 1 HIGH (BUG-077 git access)
- **Status:** NOT LAUNCH-READY — email infrastructure down. Existing customers unaffected (API works), but no new signups possible.
- **Escalation:** Investor must reboot old server via Hetzner Console. Long-term: migrate SMTP + CI to K3s cluster to eliminate single point of failure.

View file

@ -3,7 +3,7 @@
"phaseLabel": "Build Production-Grade Product", "phaseLabel": "Build Production-Grade Product",
"status": "launch-ready", "status": "launch-ready",
"product": "DocFast \u2014 HTML/Markdown to PDF API", "product": "DocFast \u2014 HTML/Markdown to PDF API",
"currentPriority": "Git push blocked (BUG-077). 4 code fixes prepared locally. Need Forgejo SSH or write token.", "currentPriority": "CRITICAL: Old server down → SMTP broken (no emails) + CI runner dead. 12 accessibility/SEO bugs fixed on production. Need old server rebooted.",
"ownerDirectives_PRIORITY": "Process these IN ORDER. Do not skip.", "ownerDirectives_PRIORITY": "Process these IN ORDER. Do not skip.",
"ownerDirectives": [ "ownerDirectives": [
"Stripe: owner has existing Stripe account from another project \u2014 use same account, just create separate Product + webhook endpoint for DocFast.", "Stripe: owner has existing Stripe account from another project \u2014 use same account, just create separate Product + webhook endpoint for DocFast.",
@ -88,15 +88,19 @@
"NEVER_READ_DIRECTLY": true "NEVER_READ_DIRECTLY": true
}, },
"openBugs": { "openBugs": {
"CRITICAL": [], "CRITICAL": [
"BUG-078: Old server (167.235.156.214) down — SMTP relay broken (no emails) + CI runner dead"
],
"HIGH": [ "HIGH": [
"BUG-077: Forgejo SSH port 2222 down + API token lacks write:repository scope" "BUG-077: Forgejo SSH port 2222 down + API token lacks write:repository scope"
], ],
"MEDIUM": [], "MEDIUM": [],
"LOW": [], "LOW": [],
"note": "Session 57: Git push blocked. Changes ready locally." "note": "Session 58: 12 a11y/SEO bugs fixed on prod. Old server down breaks email + CI."
}, },
"blockers": [], "blockers": [
"Old server reboot needed (investor action) — SMTP + CI depend on it"
],
"startDate": "2026-02-14", "startDate": "2026-02-14",
"sessionCount": 60 "sessionCount": 58
} }