-
Notifications
You must be signed in to change notification settings - Fork 1
VERIFICATION HowTo Update WebGUI
miswired edited this page Feb 7, 2026
·
1 revision
Status: Complete Verified: 28/28 claims Last Updated: 2026-02-02 Source Document: HowTo-Update-WebGUI.md
This verification file validates technical claims in HowTo-Update-WebGUI.md against authoritative sources including project structure, source code, and Vue.js/Vite documentation.
Document Purpose: Guide users through updating the web GUI files on the SD card, including both pre-built downloads and building from source.
Verification Scope:
- SD card file structure and format requirements
- Web GUI build process and commands
- File system requirements (FAT32)
- Version compatibility
Known Issues: 4 issues found (see Issues Found section)
- Source: Code/Glitchy/src/webserver.cpp:52,55 — serves from SD card filesystem
- Confidence: HIGH
- Status: ✓ Verified
- Notes: Confirmed in multiple verification files.
-
Source: Arduino SD library used in main.cpp:56 —
SD.begin()uses Arduino SD library which requires FAT16/FAT32 - Confidence: HIGH
- Status: ✓ Verified
- Notes: FAT32 is the correct recommendation for SD cards > 2GB.
-
Source: Code/Glitchy/src/webserver.cpp:55 —
server.serveStatic("/", SD, "/") - Confidence: HIGH
- Status: ✓ Verified
- Notes: URL "/" maps to SD card root "/".
-
Source: Code/Glitchy/src/webserver.cpp:52 —
request->send(SD, "/index.html", ...) - Confidence: HIGH
- Status: ✓ Verified
- Notes: Root URL explicitly serves /index.html from SD card.
- Source: ESP32 Arduino library default for softAP mode; verified in WiFi document
- Confidence: HIGH
- Status: ✓ Verified
- Notes: Consistent across all documents.
- Source: Directory listing of glitchy/Code/ shows only: Glitchy/, Libraries/, Target Examples/
- Confidence: HIGH
- Status: ❌ Incorrect
-
Notes: ISSUE #1 — No
WebGUIdirectory exists insideglitchy/Code/. The Vue app is in a separate repository:glitchy-vue-app/(sibling toglitchy/, not inside it). See Issues Found section.
- Source: package.json uses ES modules ("type": "module"), Vue 3.4.x, Vite 5.3.x
- Confidence: HIGH
- Status: ✓ Verified
- Notes: Vue 3 + Vite 5 require Node.js 16+. Correct prerequisite.
- Source: Standard npm workflow; package.json contains dependencies
- Confidence: HIGH
- Status: ✓ Verified
- Notes: Correct command.
-
Source: glitchy-vue-app/package.json:8 —
"build": "vite build" - Confidence: HIGH
- Status: ✓ Verified
- Notes: Build script is defined and uses Vite.
-
Source: Vite default output directory is
dist/; not overridden in vite.config.js - Confidence: HIGH
- Status: ✓ Verified
- Notes: Standard Vite build output.
- Source: Web server expects files at root (verified above)
- Confidence: HIGH
- Status: ✓ Verified
- Notes: Correct deployment procedure.
- Source: Vite builds produce: index.html + hashed JS/CSS in assets/ folder (standard Vite output)
- Confidence: MEDIUM
- Status: ❌ Incorrect
-
Notes: ISSUE #2 — Vite does not output
app.jsandstyle.cssat root. Instead, it producesindex.htmlat root with hashed asset files in anassets/subdirectory (e.g.,assets/index-abc123.js). The example file structure shown is incorrect for a Vite-built app. See Issues Found section.
- Source: Vite default build structure includes assets/ for chunked JS/CSS
- Confidence: HIGH
- Status: ✓ Verified
- Notes: The mention of assets/ folder is correct — Vite outputs assets there.
- Source: Standard Windows procedure
- Confidence: HIGH
- Status: ✓ Verified
- Notes: Windows File Explorer format dialog supports FAT32 for smaller cards. Note: Windows GUI may not offer FAT32 for cards > 32GB.
- Source: Standard macOS procedure
- Confidence: HIGH
- Status: ✓ Verified
- Notes: Disk Utility labels FAT32 as "MS-DOS (FAT)". Correct.
- Source: Standard Linux FAT32 formatting command
- Confidence: HIGH
- Status: ✓ Verified
- Notes: Correct command. Users must replace sdX1 with actual device.
- Source: Standard FAT32 cluster size for small cards
- Confidence: HIGH
- Status: ✓ Verified
- Notes: Default cluster sizes work fine for web GUI files.
- Source: Cannot verify specific version numbers — no version documentation found
- Confidence: LOW
-
Status:
⚠️ Needs Testing - Notes: ISSUE #3 — The version numbers (2.0.x, 1.x) appear to be placeholders or future versions. The current glitchy-vue-app package.json shows version "1.0.0". The firmware has no version string printed at boot (per Flash-Firmware verification). See Issues Found section.
- Source: webserver.cpp:150-151 — CommsVersion in JSON protocol suggests version checking
- Confidence: MEDIUM
- Status: ✓ Verified
- Notes: The firmware includes a CommsVersion (1.1) in protocol. Mismatched protocol versions could cause issues.
- Source: General software compatibility principles
- Confidence: MEDIUM
- Status: ✓ Verified
- Notes: Reasonable expectation if API/protocol changes between versions.
- Source: Standard browser keyboard shortcuts
- Confidence: HIGH
- Status: ✓ Verified
- Notes: Correct cross-platform hard refresh shortcuts.
- Source: General web troubleshooting
- Confidence: HIGH
- Status: ✓ Verified
- Notes: Private mode uses fresh cache. Valid troubleshooting step.
- Source: FAT32 is case-insensitive but preserving; ESP32 SD library may be case-sensitive in lookups
- Confidence: MEDIUM
-
Status:
⚠️ Needs Testing - Notes: FAT32 is technically case-insensitive, but the webserver code uses exact paths (e.g., "/index.html"). Needs testing whether "INDEX.HTML" would work.
- Source: Serial output does not include version (verified in Flash-Firmware document)
- Confidence: HIGH
- Status: ❌ Incorrect
- Notes: ISSUE #4 — Firmware does not print version to serial at boot (no version string in main.cpp setup()). The "About page" claim is also unverified. This repeats the issue from HowTo-Flash-Firmware.md.
-
Document Location: "Building from Source" > "Build Steps" >
cd glitchy/Code/WebGUI -
Problem: The path
glitchy/Code/WebGUIdoes not exist. The Code/ directory contains only Glitchy/, Libraries/, and Target Examples/. -
Correct Information: The Vue web GUI source is in a separate repository:
glitchy-vue-app/(at the same level asglitchy/, not inside it) - Source: Directory listing of glitchy/Code/; existence of glitchy-vue-app/package.json
- Severity: Major (users cannot find the source to build from)
-
Proposed Fix: Change path to
glitchy-vue-appand note it's a separate repository: "Navigate to the glitchy-vue-app repository (separate from the main glitchy repository)"
- Document Location: "Step 4: Verify Structure" — shows app.js, style.css at root
-
Problem: Vite does not output
app.jsandstyle.cssat root. Vite builds produce:index.htmlat root + hashed assets inassets/folder (e.g.,assets/index-HjK8x2.js,assets/index-9sLm3.css) -
Correct Information: After Vite build, structure is:
SD Card/ ├── index.html ├── favicon.ico (if present) └── assets/ ├── index-[hash].js ├── index-[hash].css └── [other chunks] - Source: Vite documentation; default Vite build output behavior
- Severity: Minor (may confuse users comparing their build output to the example)
- Proposed Fix: Update example to show Vite's hashed asset output structure
- Document Location: "Version Compatibility" table — 2.0.x, 1.x versions
- Problem: Cannot verify these version numbers. The Vue app is version 1.0.0. Firmware has no printed version.
- Correct Information: Current Vue app is 1.0.0 (package.json). Firmware version is not defined/printed.
-
Source: glitchy-vue-app/package.json:3 —
"version": "1.0.0"; main.cpp has no version string - Severity: Minor (version table may be speculative/future-looking)
- Proposed Fix: Either add actual version strings to firmware/GUI, or change table to generic "major versions must match" guidance
- Document Location: Troubleshooting > "WebSocket Connection Failed" > "Check firmware version (About page or serial output)"
- Problem: Firmware does not print version to serial (same issue as HowTo-Flash-Firmware.md)
- Correct Information: Setup() does not print a version string. Only WiFi/SD info is printed.
- Source: Code/Glitchy/src/main.cpp:146-172 (no Serial.println with version)
- Severity: Minor (troubleshooting step cannot be completed as described)
- Proposed Fix: Same as Flash-Firmware doc — either add version to firmware or update docs
The following claims require testing on physical Glitchy hardware:
- Vite build output deploys correctly to SD card
- Web interface loads from Vite-built assets/ structure
- File name case sensitivity (does INDEX.HTML work?)
- GitHub Releases has downloadable web GUI archives
- Version mismatch behavior (what actually breaks?)
Test Procedures:
- Vite deployment: Build glitchy-vue-app, copy dist/ to SD card, verify web UI loads
- Case sensitivity: Rename index.html to INDEX.HTML, test if it loads
- Releases check: Visit https://github.com/miswired/glitchy/releases for web GUI zips
- All technical claims identified and extracted
- Claims organized by category
- Each claim has source citation
- Each claim has confidence level
- Each claim has status icon
- Hardware-dependent claims marked for testing
- Issues documented with corrections
- Summary section completed
- Index README.md updated
- OpenSpec task marked complete
- The major issue is the incorrect source path (
glitchy/Code/WebGUIvsglitchy-vue-app/). This prevents users from building from source. - The file structure example doesn't match Vite's actual output with hashed filenames.
- Several version-related claims can't be verified because the project lacks explicit versioning in both firmware and web GUI.
- The About page reference appears in multiple documents but hasn't been verified to exist.
Verification completed by: Claude (AI agent) Review date: 2026-02-02 Approved by: Pending user review