mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-09-23 11:46:28 +00:00
21714fdf7a
Addresses user concern about technical debt: detection code exists only to handle migration from SSH-in-container to proxy architecture, not to serve functional purpose of the application. Changes: - Add PULSE_LEGACY_DETECTION env var to disable detection without redeployment - Add explicit removal criteria: v5.0 or <1% detection rate for 30+ days - Mark all detection code with "MIGRATION SCAFFOLDING" warnings - Create MIGRATION_SCAFFOLDING.md to track temporary code across codebase - Document removal instructions for when migration period ends Backend: - internal/api/router.go: detectLegacySSH() checks env var and has removal plan - internal/api/types.go: HealthResponse fields documented as temporary Frontend: - src/components/LegacySSHBanner.tsx: Component marked with removal criteria - src/App.tsx: Banner integration (will be removed with component) This approach balances user safety during migration (auto-detection catches rushed admins who skip changelogs) with long-term code cleanliness (explicit removal plan prevents indefinite technical debt).
Internal API Package
This directory contains the API server implementation for Pulse.
Important Note About frontend-modern/
The frontend-modern/ subdirectory that appears here is:
- AUTO-GENERATED during builds
- NOT the source code - just a build artifact
- IN .gitignore - never committed
- REQUIRED BY GO - The embed directive needs it here
Frontend Development Location
👉 Edit frontend files at: /opt/pulse/frontend-modern/src/
Why This Structure?
Go's //go:embed directive has limitations:
- Cannot use
../paths to access parent directories - Cannot follow symbolic links
- Must embed files within the Go module
This is a known Go limitation and our structure works around it.