v1.01s 4-3-2026 — Screen scroll reset: each screen transition scrolls to top so hub and other screens always start at top of page
v1.01r 4-3-2026 — Config tab: row 1 = headers (A1=pin, B1=email), row 2 = values (A2=code, B2=address); reads Config!A2:B2
v1.01q 4-3-2026 — Config tab reads full A:B range, finds pin and email by key name in col A; consistent with rest of sheet structure (A=key, B=value reading down)
v1.01p 4-3-2026 — Email loaded from Config tab B2 (not in HTML source); contactLSA() injects it into modal at open time; bot scraping source sees no email address
v1.01o 4-3-2026 — Fixed email obfuscation:
[email protected] now shows correctly in contact modal
v1.01n 4-3-2026 — PIN fetch reads Config!A2 directly (cleaner than searching A:B for pin row); setup: A1=label/header, A2=your 6-digit PIN
v1.01m 4-3-2026 — PIN fetch fallback: if Sheets API blocked (file:// local), uses hardcoded fallback PIN; on Netlify always loads from Config tab
v1.01l 4-3-2026 — PIN loaded from Config tab (col A=pin, col B=value) not stored in HTML; fetchPin() runs on load
v1.01k 4-3-2026 — Added 6-digit PIN access code screen as first gate before phone number login; PIN stored in sessionStorage so only required once per browser session; incorrect PIN shakes and resets; showScreen blocks navigation if PIN not passed
v1.01j 4-3-2026 — Removed redundant invisible 5-tap admin zone (top-right corner); version button click already opens changelog panel
v1.01i 4-3-2026 — Navigation: added ◀ Hub button to main survey screen and review screen so tech can return to site/tool hub from anywhere without losing progress
v1.01h 4-3-2026 — None submits as None (no TV confirmation); Custom shows text input for description; Site Notes textarea on review submits as siteNotes/999 row; Matrix Type prominent in review
v1.01g 4-3-2026 — Reverted double-pump: Apps Script deletes all pending for tech+site before insert so batch 2 was wiping batch 1; back to single JSONP call with inputs first then outputs; None rows still skipped
v1.01f 4-3-2026 — Double-pump submit: batch 1 = inputs + VM type, batch 2 = outputs; sequential JSONP calls; button shows progress; each batch independently safe for large data
v1.01e 4-3-2026 — Submit fix: skip None/unset rows to keep JSONP URL within browser limits; only real data rows sent to TechIO_Staging (was sending all 97 rows causing URL too long error)
v1.01d 4-3-2026 — Version number now consistent across all locations (title, login page, intro, admin label, APP_VERSION); strict version-bump discipline enforced going forward
v1.01c 4-3-2026 — Admin panel: version log scroll area expanded to 480px; width restored to portrait-friendly 480px
v1.01b 4-3-2026 — App Info and Tools sections removed from admin panel; all version displays unified to APP_VERSION via DOMContentLoaded; intro screen version tag added; Clear Session & Reload button removed
v1.01a 4-3-2026 — Version number now sets on page load before login via DOMContentLoaded; Clear Session & Reload removed from admin tools
v1.00z 4-3-2026 — Pre-fill from last submission: on site select, loads tech's previous TechIO_Staging entries; green banner shows count + date; Start Fresh button clears prefill; matrix type restored from last visit
v1.00y 4-3-2026 — Submit changed from fetch() to JSONP to fix CORS blocking from file:// origin; same mechanism as BWW writes
v1.00x 4-3-2026 — Review page: Inputs section moved above Outputs
v1.00w 4-3-2026 — All headers updated to LSA Field Service App; Inputs tab moved to left, Outputs to right
v1.00p fixed 4-3-2026 — Root fix: completed truncated clearAndReload function and added closing script/body/html tags; resolved fmtPhone and doLogin not defined errors caused by Cloudflare file truncation
v1.00p 4-3-2026 — Fix: restored missing closing brace on updateToolStates (Cloudflare corruption); restored window.updateToolStates binding
v1.00o 4-3-2026 — Questions bar tappable (no label); model placeholder updated to BE55C-H example; review outputs show brand + (model) format
v1.00n 4-3-2026 — VM badge moved to left of site name in hub card
v1.00m 4-3-2026 — Questions bar on intro screen tappable → opens Contact LSA modal
v1.00l 4-3-2026 — Contact modal: reduced font weight, system font stack, Save to Contacts (.vcf download)
v1.00k 4-3-2026 — Contact LSA button opens full contact modal: text line (503) 847-9846, main line (619) 722-1749, AV PM team extensions (Robert/Gideon/Mauricio/Dan), email
[email protected]; all entries are tappable links
v1.00j 4-3-2026 — Coming Soon tiles renamed to Coming Soon 1-4
v1.00i 4-3-2026 — Hub tool grid: bigger buttons, white labels, colored dark backgrounds; 4 Coming Soon tiles added (Job Reports, Parts & Equipment, My Schedule, Messages); site-required tools activate with color on site select
v1.00h 4-3-2026 — Tools always visible on hub; site-required tools (I/O Survey, Troubleshooting, Photos) show greyed with "Select a site to access" until site chosen; Contact LSA always active
v1.00g 4-3-2026 — Intro screen: personalized time-of-day greeting with tech name; header name fixed to "LSA Field Service App" throughout
v1.00f 4-3-2026 — Brand/model/serial fields added to output entries; staging sheet updated to 14 columns
v1.00c 4-3-2026 — Brand/model/serial fields added to output entries; staging sheet updated to 14 columns
v1.00b 4-3-2026 — Site hub screen added: clickable address/phone, manager contacts, tool buttons, Google Maps link
v1.00a 4-3-2026 — Initial release: phone login, intro screen, BWW I/O Survey (72 outputs/24 inputs), review and submit to TechIO_Staging; rebranded as LSA Field Service App