mirror of
https://github.com/zvx-echo6/meshai.git
synced 2026-08-26 09:21:33 +00:00
* chore(dashboard): untrack committed frontend build output work/meshai/dashboard/static/ held committed vite build artifacts (index.html + hashed assets/*.js|css + copied public/ images) that were last built 2026-07-07 (PR #87), 13 frontend commits ago. Docker builds the frontend fresh and overwrites these on every image build, but the pip install -e . path (documented in README Quick start) ships this stale directory verbatim via [tool.setuptools.packages.find] include. The root .gitignore already had a rule for this ("meshai/dashboard/static/") but it silently stopped matching when2e1fb325moved the source tree into work/ -- gitignore patterns containing a "/" are anchored to the .gitignore's own directory, so the unprefixed pattern only ever matched a repo-root meshai/dashboard/static/ that hasn't existed since that move. Fixed by prefixing with work/, matching the existing work/data/secrets/.env convention elsewhere in the file. Every file under static/ is generated: assets/* and index.html come from `vite build` (outDir: ../meshai/dashboard/static, emptyOutDir: true, confirmed in dashboard-frontend/vite.config.ts), and the two PNGs are vite's copy of dashboard-frontend/public/*.png (byte-identical to the source). None of it is hand-authored, so the whole directory is untracked rather than partially. Blobs remain in git history; files remain on disk, just untracked. * docs(readme): document the required frontend build for pip installs work/meshai/dashboard/static/ is no longer committed (previous commit), so the pip install -e . Quick start path now needs an explicit frontend build step or the dashboard UI silently doesn't exist. Add it, with a note clarifying the bot/API still work without it -- only the web UI is affected. Docker is unaffected (already builds the frontend in its own stage). * fix(dashboard): log clearly when the built frontend is missing Previously, if meshai/dashboard/static/ (or its index.html) was absent, create_app() silently skipped mounting /assets and registering the root/catch-all routes -- no log, no error. Any request to "/" would just 404 with FastAPI's generic "Not Found", giving no clue why. This was latent before (Docker always builds the frontend, and a git checkout with the artifacts committed always had the directory), but now that static/ is untracked, a fresh pip install without the frontend build step will hit this path as its first real-world trigger. Add a warning log naming the missing path and the exact build command, and make clear the bot/API are unaffected -- only the dashboard UI is absent. * docs(readme): move frontend-build note to root README work/README.md is about to become a symlink to root README.md on docs/single-readme. Retarget the frontend-build documentation added in56eba0f7from work/README.md to root README.md so it isn't silently dropped when that symlink lands. --------- Co-authored-by: Matt Johnson <mj@k7zvx.com>
93 lines
1.5 KiB
Text
93 lines
1.5 KiB
Text
# Operator-identifying config and secrets (v0.3 split)
|
|
/data/config/local.yaml
|
|
/data/config/secrets/
|
|
/data/secrets/
|
|
.env
|
|
.env.local
|
|
.env.*
|
|
!.env.example
|
|
local.yaml
|
|
!local.yaml.example
|
|
# Python
|
|
__pycache__/
|
|
*.py[cod]
|
|
*$py.class
|
|
*.so
|
|
.Python
|
|
build/
|
|
develop-eggs/
|
|
dist/
|
|
downloads/
|
|
eggs/
|
|
.eggs/
|
|
/lib/
|
|
/lib64/
|
|
parts/
|
|
sdist/
|
|
var/
|
|
wheels/
|
|
*.egg-info/
|
|
.installed.cfg
|
|
*.egg
|
|
|
|
# Virtual environments
|
|
venv/
|
|
ENV/
|
|
# v0.5.5: anchor to repo root only -- bare `env/` matched meshai/env/ (the
|
|
# adapter package directory) and forced `git add -f` workarounds in 2.14/2.16.1.
|
|
/env/
|
|
.venv/
|
|
|
|
# IDE
|
|
.idea/
|
|
.vscode/
|
|
*.swp
|
|
*.swo
|
|
*~
|
|
|
|
# Project specific
|
|
config.yaml
|
|
*.db
|
|
*.sqlite
|
|
*.sqlite3
|
|
/data/
|
|
*.log
|
|
|
|
# Secrets
|
|
.env
|
|
*.pem
|
|
*.key
|
|
|
|
# Frontend build output (built in Docker via multi-stage, or manually for
|
|
# the pip install path -- see README "Quick start"). Anchored with the
|
|
# work/ prefix: the bare "meshai/dashboard/static/" pattern silently
|
|
# stopped matching anything after 2e1fb325 moved the source tree into
|
|
# work/, which is how these build artifacts got committed in the first
|
|
# place.
|
|
work/meshai/dashboard/static/
|
|
|
|
# Node (frontend deps, reinstalled via package-lock.json / npm ci)
|
|
node_modules/
|
|
|
|
|
|
# OS
|
|
.DS_Store
|
|
Thumbs.db
|
|
# Operator-identifying config and secrets (v0.3 split)
|
|
/data/config/local.yaml
|
|
/data/config/secrets/
|
|
/data/secrets/
|
|
.env
|
|
.env.local
|
|
.env.*
|
|
!.env.example
|
|
local.yaml
|
|
!local.yaml.example
|
|
data/*.sqlite
|
|
data/*.sqlite-wal
|
|
data/*.sqlite-shm
|
|
|
|
# Secrets (values live here, never committed)
|
|
/data/secrets/.env
|
|
data/secrets/.env
|
|
work/data/secrets/.env
|