Repository navigation
Resolve map security advisories and keep positions from unlocated stations - #33
Merged
Merged
Conversation
…rrides Dependabot's security updates fail with security_update_not_possible because the parents pin these transitive packages. Force the patched versions: fflate 0.7.5, image-size 2.1.0 and minimatch 11.0.8. Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PS44Q7WRmAzMJLhi44dzdo
…tion double count When a station had no coordinates, range was measured from (0,0), so the plausibility check rejected every message that carried a position. Only measure distance and bearing when the station is located, and still index the target cell otherwise. getStationMessageCounts added the requested window's cells on top of the count already taken from a shorter window, inflating station message counts. Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PS44Q7WRmAzMJLhi44dzdo
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 39 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. |
Deploying airframes-coverage with
|
| Latest commit: |
b953f76
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://10ca529d.airframes-coverage.pages.dev |
| Branch Preview URL: | https://claude-project-thread-xlxhmp.airframes-coverage.pages.dev |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 5bcb2aa. Configure here.
Sum each window's cells separately; the requested window is authoritative and a station seen only in shorter windows keeps the largest single-window count. Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PS44Q7WRmAzMJLhi44dzdo
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.



Requested by Kevin · project thread
Summary
Two independent fixes, one commit each.
Map: fflate, image-size and minimatch advisories
The Dependabot security-update runs on
mainfail withsecurity_update_not_possible: the vulnerable packages are transitive and their parents pin them (for example@loaders.gl/compression@4.5.4requires exactlyfflate@0.7.4), so Dependabot has no update path. npmoverridesforce the patched versions:fflate@deck.gl/geo-layers→@loaders.gl/compressionimage-size@luma.gl/gltf→@loaders.gl/textures→texture-compressorminimatchtypescript-eslint,ts-morph(viashadcn)npm auditinmapgoes from 25 findings to 4. The remaining ones have no fix to apply:maplibre-gl(fixed only in 6.x, which deck.gl 9.4 cannot run on) anddeepmerge(no patched release).image-sizejumps two majors. Its only consumer istexture-compressor, a build-time texture tool that the map never calls, so nothing at runtime depends on the old API.Service: stations with no known location
On staging every station syncs with latitude/longitude 0. For those stations the service measured range from (0,0), so the range plausibility check rejected every message that carried a position, and the grid stayed empty.
getStationMessageCountsadded the requested window's cells on top of a count already taken from a shorter window, which inflated station message counts. The requested window is now authoritative.The companion change that gives staging stations real coordinates is in airframesio/stack (
STATION_ENRICH_URL).Verification
npm ci,npm run lint,npm run typecheck,npm run build,npm run build:staticall pass;npx shadcn --versionstill runs with minimatch 11.npm test(14 tests, 3 new intest/ingest.test.ts),npm run typecheck,npm run buildpass.Screenshots
None: dependency overrides and backend logic only, no UI change.
Generated by Claude Code
Note
Medium Risk
Service ingest logic affects which coverage events are accepted and how counts are aggregated; map overrides change transitive dependency versions (including a major image-size bump on a build-time path).
Overview
Map app declares Node ≥22 and adds npm
overridesso transitive deps use patchedfflate,image-size, andminimatchwhen Dependabot cannot update pinned parents.Coverage service treats stations at (0,0) as unlocated: it skips distance/bearing and directional range for those stations so positioned messages are not rejected by implausible range from the origin, while range checks still apply when real station coordinates exist.
getStationMessageCountsno longer adds counts across overlapping time windows—the requested window is authoritative.Adds
ingesttests for unlocated vs located stations and implausible range.Reviewed by Cursor Bugbot for commit b953f76. Bugbot is set up for automated code reviews on this repo. Configure here.