• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

MushroomObserver / mushroom-observer / 27228064796
98%
main: 98%

Build:
Build:
LAST BUILD BRANCH: njw-4565-materialize-external-links
DEFAULT BRANCH: main
Ran 09 Jun 2026 06:48PM UTC
Jobs 1
Files 1497
Run time 3min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

09 Jun 2026 06:44PM UTC coverage: 97.551% (-0.02%) from 97.573%
27228064796

Pull #4489

github

nimmolo
Components::Map / Popup: switch from `query_param: Hash` to `query: Query`

Uses the new `current_query` value helper (from #4488) so callers
pass a typed `Query` object and the component derives the URL
`q=` hash internally. The Hash form was "whatever the URL gave
us" — a URL-tampering attempt could fill it with garbage. The
`Query` form has already passed `query_from_q_param`'s validated
deserialization.

- `Components::Map` prop is now `prop :query, _Nilable(::Query),
  default: nil`. `effective_query` falls back to `current_query`
  when the prop is nil; `effective_query_param` is just
  `effective_query&.q_param`.
- `Components::Map::Popup` mirrors the prop change. Internal
  `query_path_params` derives the `q:` hash from
  `effective_query&.q_param`.
- `Components::Map::Clustering#decorate_mapset` passes
  `query: effective_query` down to the Popup instead of
  `query_param: effective_query_param`.
- `Observations::MapsController#popup` constructs the Popup with
  `query: current_query` instead of parsing `params[:q]` into a
  raw Hash. `current_query` itself routes through
  `query_from_q_param`, so a malformed URL gets nil instead of
  garbage.

Carries duplicate `current_query` registration into
`Components::Base` + `ApplicationController::Queries` —
identical to #4488, conflict-on-merge is trivial.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Pull Request #4489: Components::Map: consolidate make_map + helpers into one component

321 of 332 new or added lines in 14 files covered. (96.69%)

2 existing lines in 1 file now uncovered.

45491 of 46633 relevant lines covered (97.55%)

755.83 hits per line

Uncovered Changes

Lines Coverage ∆ File
8
86.44
-13.56% app/classes/mappable/clustered_collection.rb
1
98.0
1.13% app/components/map.rb
1
99.3
app/components/map/popup.rb
1
92.86
app/views/controllers/observations/maps/index.rb

Coverage Regressions

Lines Coverage ∆ File
2
90.91
-9.09% app/helpers/content_helper.rb
Jobs
ID Job ID Ran Files Coverage
1 27228064796.1 09 Jun 2026 06:48PM UTC 1497
97.55
GitHub Action Run
Source Files on build 27228064796
  • Tree
  • List 1497
  • Changed 11
  • Source Changed 10
  • Coverage Changed 10
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #27228064796
  • Pull Request #4489
  • PR Base - main (#27170479928)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc