Compare commits

..

2 Commits

Author SHA1 Message Date
Alexander Whitestone
1420c0d64b WIP: Claude Code progress on #833
Some checks failed
CI / validate (pull_request) Failing after 11s
Automated salvage commit — agent session ended (exit 0).
Work in progress, may need continuation.
2026-04-06 13:51:57 -04:00
Alexander Whitestone
49fbc50035 feat: add /help page for Nexus web frontend
Some checks failed
CI / validate (pull_request) Failing after 10s
Adds help.html to the repo root, resolving the 404 at /help for users
accessing the Nexus web app. The page documents navigation controls,
keyboard bindings, Timmy chat commands, portal status indicators, and
HUD panel descriptions, using the existing dark-space/holographic design
system (Orbitron + JetBrains Mono, teal/purple palette).

Also adds tests/test_help_page.py to verify the page exists and covers
required sections.

Fixes #833

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 13:50:18 -04:00
2 changed files with 0 additions and 40 deletions

View File

@@ -12,7 +12,6 @@
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;600&family=Orbitron:wght@400;600;700&display=swap" rel="stylesheet">
<link rel="manifest" href="./manifest.json">
<style>
:root {
--color-bg: #050510;

View File

@@ -1,39 +0,0 @@
"""Tests for manifest.json PWA support. Fixes #832 (Missing manifest.json)."""
import json
from pathlib import Path
def test_manifest_exists() -> None:
assert Path("manifest.json").exists(), "manifest.json must exist for PWA support"
def test_manifest_is_valid_json() -> None:
content = Path("manifest.json").read_text()
data = json.loads(content)
assert isinstance(data, dict)
def test_manifest_has_required_pwa_fields() -> None:
data = json.loads(Path("manifest.json").read_text())
assert "name" in data, "manifest.json must have 'name'"
assert "short_name" in data, "manifest.json must have 'short_name'"
assert "start_url" in data, "manifest.json must have 'start_url'"
assert "display" in data, "manifest.json must have 'display'"
assert "icons" in data, "manifest.json must have 'icons'"
def test_manifest_icons_non_empty() -> None:
data = json.loads(Path("manifest.json").read_text())
assert len(data["icons"]) > 0, "manifest.json must define at least one icon"
def test_index_html_references_manifest() -> None:
content = Path("index.html").read_text()
assert 'rel="manifest"' in content, "index.html must have <link rel=\"manifest\">"
assert "manifest.json" in content, "index.html must reference manifest.json"
def test_help_html_references_manifest() -> None:
content = Path("help.html").read_text()
assert 'rel="manifest"' in content, "help.html must have <link rel=\"manifest\">"
assert "manifest.json" in content, "help.html must reference manifest.json"