Remove spa and signalserver - #107
Merged
Merged
Conversation
The tower/coverage-prediction stack (Signal-Server command builder, raster processing, raster-to-vector conversion) was reachable only from the retired SPA and has been dead code for some time. Removed end to end: the wireless blueprint and its 9 /api routes, the three celery tasks (run_signalserver, preview_fabric_locaiton_coverage, raster2vector), the signalserver_controller package, the tower/towerinfo/rasterdata ops modules and models, and migration c7f3a84e91d2 drops their tables (downgrade recreates them as the initial migration defined them). test_migrations._drop_everything now recreates the schema instead of metadata.drop_all: drop_all only knows the current models, so a table removed from the models (like these) would survive and break the next blank-slate on its foreign keys.
The Next.js front-end is fully replaced by the server-rendered app (production has served only the backend since the deploy tooling landed). Removed: - front-end/ (app, components, jest suite) and its CI job, compose service, env vars, and the local nginx SPA proxying (nginx.conf.local now routes everything to the backend, same shape as prod); the orphaned Dockerfile.nginx + start-nginx.sh expect wrapper - every /api route that only the SPA called: the whole auth/users/ organizations/filings/challenge/tasks blueprints, and the SPA-only routes in files/fabric/edit/export. The server-rendered app keeps what it actually uses: tiles, jobs/events, regenerate_map, delfiles, address-search, downloadexport, get-edit-geojson-centroid - the challenge_locations table (migration e4b8c62f17a9; the BDC challenge export was SPA-only) and the join-organization email flow (its tokens were consumable only by the removed /api/verify_token) Behavioral test coverage moved to the server-rendered surface instead of being dropped: registration/login/logout auditing, disabled-account gates, login rate limiting, email-token purpose-binding and single-use, CSRF double-submit, cookie flags, and legacy-password migration now run against /auth/* and the kept /api routes. Test files dedicated to removed endpoints are deleted; conftest's login_page_session registers through /auth/register.
The server-rendered upload paths never wrote audit rows — the only
log_action("upload") call lived in the removed SPA endpoint, so since
cutover, uploads were absent from the tamper-evident trail (only the
operational celerytaskinfo rows recorded them). For an FCC-filing
system the ingest of provider data belongs in the audit log.
Both intake services now log on successful dispatch — coverage uploads
in upload_service.dispatch_upload, fabric deliveries in
fabric_service.intake_fabric — so all four page routes (/files and
/setup doors) inherit it, tagged with kind, task id, and filenames.
The SPA version of BDK exposed a raw /api request as a defacto health check for CI; removing the SPA code broke this. This adds back a dedicated health check API endpoint in the new version of BDK.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The old signalserver and single-page app versions of BDK have been superseded, so this removes all the dead code.