Repository navigation
refactor: retire plugin data proxy routes (earthquake, iss, osm-search) - #546
Open
silvertakana wants to merge 4 commits into
Open
silvertakana wants to merge 4 commits into
silvertakana wants to merge 4 commits into
Conversation
The app hosted a data proxy for individual plugins. Plugins now read the
data engine directly, or fetch a third-party API themselves from the
browser, so these routes have no remaining caller.
- delete api/earthquake, api/iss{,/positions,/tle}, api/plugins/osm-search
- delete the four test files that only covered them (23 cases)
- drop osmSearchLimiter; the deleted route was its only consumer
- keep the camera, weather, and places routes (secret-holding or deferred)
- the MCP data-query tools read the engine and are unaffected
Contributor
|
Left for a person rather than auto-merged: not a Dependabot pull request. Patch and minor updates merge themselves once every check has completed green; this one is listed in the weekly dependency digest. |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
ADR-0009's legacy example was the api/earthquake route forwarding to USGS, and this change deletes it, so the illustration now reads as retired. The same line's "used by" list marks the earthquake and ISS entries as moved off the pattern; the camera family still uses it. Whole-tree search for the other deleted paths (api/iss, api/plugins/osm-search) found no surviving reference to report. Bump 2.69.0 -> 2.69.1 (per-commit semver rule).
The OSM search plugin moved to a browser-direct fetch, not to an engine-direct read, so the parenthetical now says "their data directly", which is true of both. Bump 2.69.1 -> 2.69.2.
ADR-0009 line 12 still listed earthquakes and ISS as remaining on the legacy proxy pattern. This change retires both routes, so the clause was false; only the camera plugin stays.
This branch has not been deployed
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.
Read this before merging
Merge order matters here. This deletes the app's proxy routes for three plugins. Merge it only after all of the following are true:
GET https://dataenginev2.worldwideview.dev/api/issreturns 200 with a live position (the ISS seeder must be deployed; until then the engine answers 404).Merging early removes the only data path the currently-deployed plugins have, and the ISS layer in particular fails silently (the plugin returns an empty list on a 404). Merging after that point is safe: the routes are then unreachable by anything.
Why
The app hosted a data proxy for individual plugins. That is being retired — a plugin reads the data engine directly, or fetches a third-party API itself from the browser. The globe app should not carry a per-plugin data endpoint, and no longer does.
Deleted
api/earthquakeapi/issapi/iss/positionsapi/iss/tleapi/plugins/osm-searchPlus the four test files that only exercised those routes (23 cases), the now-empty directories, and
osmSearchLimiter— its only consumer was the deleted OSM route (verified by grep before removing it; 0 references remain).Deliberately kept
api/camera/**— deferred to a later change.api/weather/layersandapi/weather/tile/...— core imagery, and they hold a billed key server-side.api/places/searchandapi/places/details— sanctioned secret-holding search.Their tests are kept too (23 cases).
Verified
api/earthquake,api/iss,plugins/osm-search: every hit was inside a file being deleted, apart from one historical example in ADR-0009 and the limiter definition itself.tests/,.github/, andpublic/e2e-fixtures/had zero hits — no component, hook, fixture, or e2e test depended on these routes.tsc --noEmitclean.pnpm buildsucceeds, and the printed route table contains no/api/earthquake,/api/iss, or/api/plugins/osm-search, while still listing the weather, places, camera, and MCP routes.Rollback
Revert the merge commit; the platform redeploys from
main, and the routes come back with it.