Skip to content

Never auto-pick custom imagery, and keep a custom pick's template - #183

Merged
jeffmaki merged 1 commit into
developfrom
custom-imagery-never-auto-picked
Oct 30, 2026
Merged

jeffmaki merged 1 commit into
developfrom
custom-imagery-never-auto-picked

Conversation

@jeffmaki

Copy link
Copy Markdown
Contributor

Follow-up to #182, whose branch got this commit just after it merged.

Custom imagery declares no coverage, so #182's check treated it as worldwide. A custom layer chosen on one workspace then followed the user into workspaces it doesn't cover, and left them black.

  • We never pick custom imagery. Only someone choosing it for that workspace, or a background= in the URL, can show it. A new workspace resets to imagery covering its whole extent.
  • A custom pick keeps its own template. Rapid has one custom slot, so setting a different custom URL on another workspace would otherwise change this one.
  • CLAUDE.md gets a "Background imagery" section with the order for choosing imagery.

A custom layer chosen for a workspace always sticks there, since we can't tell whether it covers the area.

Testing: only against fake imagery, not real Rapid. Lint, the type check and unit tests pass with CI's commands. In e2e, everything passed except the two sign-in tests that hard-code localhost:3000, because the suite ran on port 3100 beside a dev server; CI's run on 3000 is the full check.

🤖 Generated with Claude Code

Custom imagery declares no coverage, so it counted as worldwide and followed
the user into workspaces it doesn't cover. Only a choice can show it now.
Rapid has one custom slot, so a saved custom pick keeps its own template.
Document the imagery order in CLAUDE.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 30, 2026

Copy link
Copy Markdown

Warning

Review limit reached

You'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 16 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 2b390141-b285-4e03-ac93-dfb2d1a1c0e1
Commits

Reviewing files that changed from the base of the PR and between 7b9f606 and e348786.

Files selected for processing: 3
  • CLAUDE.md
  • test/unit/util/rapid-background.test.ts
  • util/rapid-background.ts
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@jeffmaki
jeffmaki merged commit 11f958d into develop Oct 30, 2026
2 checks passed
@jeffmaki
jeffmaki deleted the custom-imagery-never-auto-picked branch October 30, 2026 17:13
@shweta2101 shweta2101 mentioned this pull request Nov 10, 2026
12 tasks
shweta2101 added a commit that referenced this pull request Nov 10, 2026
## Summary

Promote the current `staging` release to `production`.

This release introduces comprehensive GTFS Pathways editing in Rapid 3,
workspace merging with conflict resolution, expanded review workflows,
improved workspace creation permissions, and imagery enhancements
including Panoramax support. It also consolidates frontend API usage,
updates core dependencies, and improves deployment caching, loading, and
error reporting.

## Changes

### Features

- Added GTFS Pathways editing in Rapid 3, including:
  - Station and level navigation, editing, ordering, and validation.
- GTFS reference checking, connectivity rules, severity reporting, and
required-field validation.
  - POSM GeoJSON ZIP imports and GTFS Pathways exports.
  - TDEI export using the source dataset and agency GTFS feed.
  - Reference drawings displayed beneath map data.
  - Pathways review support in Rapid 3.
  - Related work: #155, #159, #163, #164, #167.
- Added workspace merging with:
  - Eligible target selection.
  - Three-way element merging.
  - Conflict detection and resolution.
  - Reference repair and merge validation.
  - Interactive conflict maps and details.
  - Related work: #145.
- Expanded review workflows:
  - Display open `fixme` items in the review queue.
  - Resolve TDEI dataset feedback directly from the review page.
  - Load every page of dataset feedback.
  - Related work: #158, #161, #165.
- Added Panoramax street-level imagery support (#185).
- Improved background imagery selection so it respects workspace
coverage, persists user selections, and starts the editor at the
workspace data extent (#168, #182, #183).
- Added project-group and role-based workspace creation checks, matching
backend creation rules (#154, #174, #180).
- Added selected-workspace TDEI metadata to the dashboard (#176).

### Bug fixes

- Prevented repeated authentication retries when Rapid receives OSM API
authorization failures (#157).
- Fixed GTFS Pathways level ordering, missing-level warnings, unresolved
references, export IDs, and multi-outline level handling.
- Stopped incorrectly flagging two-way escalators during Pathways
validation (#162).
- Fixed dashboard behavior for workspaces without map data (#160).
- Persisted dashboard project-group selection per user and corrected the
members-tab message shown to non-POC users (#186).
- Improved workspace creation rollback when OSM provisioning fails.
- Preserved selected imagery and custom imagery templates across
workspace changes.
- Improved editor loading and failure feedback (#172).

### Maintenance

- Consolidated workspace requests onto the primary API and removed
`VITE_NEW_API_URL` (#175).
- Updated core dependencies, including:
  - MapLibre GL 5 → 6.
  - Nuxt 4.4 → 4.6.
  - Vue and DOMPurify patch updates.
  - Related dependency updates: #170, #171.
- Added explicit deployment environment values for Sentry and filtered
non-actionable development and network errors (#177).
- Added an immediate SPA loading screen and long-lived caching for
hashed Nuxt assets while keeping build manifests uncached (#179).
- Added substantial unit and end-to-end coverage for Pathways, workspace
merging, creation permissions, review feedback, imagery, dashboard
selection, and API lifecycle behavior.

## Deployment considerations

- **API compatibility:** Production must expose the unified workspace
API routes used by this release, including workspace creation checks,
merge operations, workspace fixmes, and related lifecycle endpoints.
- **Configuration change:** `VITE_NEW_API_URL` is no longer used.
`VITE_API_URL` must point to the production API containing the
consolidated endpoints.
- **Editor configuration:** Verify the production `VITE_RAPID3_URL` and
Pathways-related service URLs before deployment.
- **Sentry:** The deployment workflow now sets `ENV=production`, which
is used as the Sentry environment.
- **Caching:** Hashed `/_nuxt/*` assets are cached for one year, while
build manifests remain uncached. Confirm Azure Static Web Apps applies
the updated routing configuration.
- **Dependency risk:** MapLibre GL is upgraded across a major version;
production map rendering should receive focused smoke testing.
- **Database migrations:** None identified in this frontend repository.
- Production has one unique previous release merge commit (#156), but
its tree matches the previous staging release; no separate
production-only code changes were identified.

## Testing

Tests were added or updated throughout this release, but no test
commands were executed while preparing this PR summary.

- [ ] Run `npm run typecheck`.
- [ ] Run `npm test`.
- [ ] Run the relevant Playwright end-to-end suite.
- [ ] Verify GTFS Pathways import, editing, validation, and export to
TDEI.
- [ ] Verify workspace merge target selection, conflict resolution, and
completion.
- [ ] Test workspace creation as POC, data generator, administrator, and
unauthorized users.
- [ ] Verify review fixmes and TDEI feedback resolution.
- [ ] Verify Rapid authentication recovery after an expired or rejected
session.
- [ ] Verify workspace map extent, custom imagery persistence, and
Panoramax imagery.
- [ ] Smoke-test dashboard project-group persistence and workspace
metadata.
- [ ] Verify production map rendering after the MapLibre GL upgrade.
- [ ] Confirm SPA loading, static asset caching, and Sentry production
reporting.

## Rollback

Redeploy the previous production commit, `9612488`, if frontend issues
are found.

Because this release depends on consolidated backend endpoints and
updated editor behavior, coordinate the rollback with any related
backend or Rapid deployments if those services were changed for this
release.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant