Skip to content

Changelog - Dev - 06.11.2026 โ€‹

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog.


[Unreleased] - 2026-06-11 โ€‹

Added โ€‹

  • Black basemap with optimized map legibility โ€” VenuesMap now defaults to OpenFreeMap dark style with pure-black background, two-tier label brightness with black halos, 12px street names, and faint road fills. Flames now read clearly as lanterns against the dark backdrop. (#581) enhancement design
  • Soft red gradient promoted to canonical danger variant โ€” Establishes a unified danger CTA treatment across the application, replacing hand-rolled destructive button styles with a canonical primitive. (#581) enhancement design
  • Storybook extinguish tone controls and audition story โ€” In-context tone controls on ActiveLanternScreen and LanternHub stories, plus ExtinguishTones audition story comparing solid, soft tint, and retired gradient treatments. (#581) enhancement design
  • Public site workspace with motion and MPA architecture โ€” Ported 'What Lantern Is' deck as a public site with sticky nav/footer chrome, scroll reveals, living flame animation, embers, and parallax motion. Includes default-deny SEO lockout with empty launch allowlist. (#581) enhancement design
  • Tabbed Venue Config layout with routed sub-pages โ€” Admin interface now uses PageHeader/PageTabs idiom for venue configuration, organizing settings into logical tabs with independent routing. (#581) enhancement design
  • Realistic strip-cluster density and dashboard grouping for map โ€” VenuesMap Storybook story now includes realistic venue clustering density and dashboard grouping controls for accurate visual testing. (#581) enhancement design
  • Sponsored hero in Places Nearby with reserved-slot skeleton โ€” Moves sponsored hero placement into Places Nearby section with a reserved skeleton slot, improving cold-load experience and content flow. (#581) enhancement design
  • Dynamic venue config with Firestore overrides โ€” Venues API now supports per-venue configuration overrides stored in Firestore, enabling dynamic behavior customization without code deployment. (#581) enhancement
  • Feature Flags config page with maintenance toggle โ€” Admin interface includes new Feature Flags page with maintenance mode toggle, driven by systemConfig/maintenance for operational control. (#581) enhancement
  • ToggleSwitch primitive replaces hand-rolled switches โ€” Introduces canonical ToggleSwitch primitive that consolidates four previously hand-rolled switch implementations across the codebase. (#581) enhancement
  • VenuesMap theming playground story โ€” Storybook story with interactive controls for VenuesMap theming (styleUrl, backgroundColor, flameTierColors) enabling design exploration and testing. (#581) enhancement design
  • Install & Build Extension action in Quickstart โ€” Quickstart Maintenance section now includes Install & Build Extension action for improved developer onboarding. (#581) enhancement devops
  • Public Site added to Start Workspace quickstart โ€” Developer quickstart now includes Public Site workspace with ports table for easier local development setup. (#581) enhancement devops
  • lint:stories enforces title nesting depth โ€” New linting rule prevents floating sidebar leaves in Storybook, enforcing proper title hierarchy for better organization. (#581) enhancement devops
  • lint:ctas ratchet for hand-rolled destructive CTA classes โ€” Linting rule prevents new hand-rolled destructive CTA classes, enforcing use of canonical danger variant primitive. (#581) enhancement devops
  • useVenueConfig hook with shared refresh-threshold defaults โ€” New hook provides consistent venue configuration access across components with shared refresh-threshold defaults. (#581) enhancement
  • systemConfig read/write rules for dynamic config โ€” Firestore security rules now govern systemConfig access, enabling safe dynamic configuration management. (#581) enhancement
  • Venue config merge, defaults builder, and config-aware helpers โ€” Shared utilities for merging venue configs, building defaults, and config-aware coal helpers enable consistent configuration handling. (#581) enhancement
  • CI build and dev-deploy for public site โ€” CI pipeline now builds and dev-deploys the public site workspace automatically. (#581) enhancement devops

Changed โ€‹

  • Consolidate button primitive onto DashboardButton โ€” Refactors button implementations to use unified DashboardButton primitive, reducing code duplication and improving consistency. (#581) enhancement
  • One extinguish treatment and one extinguish handler โ€” Consolidates extinguish logic into canonical treatment and handler, eliminating duplicate implementations. (#581) enhancement
  • Derive venue filter chips from UI_CATEGORY_MAP โ€” Filter chips now derive from centralized UI_CATEGORY_MAP, improving maintainability and consistency. (#581) enhancement
  • Unify filter-chip active fill and canonical error CTAs โ€” Standardizes filter chip active state and error CTA styling across the application. (#581) enhancement
  • Split style layers and wire MPA page inputs โ€” Public site refactored to separate style layers and properly wire multi-page architecture inputs. (#581) enhancement
  • Maintenance mode gate driven by systemConfig โ€” Application now respects systemConfig/maintenance flag for operational maintenance mode control. (#581) enhancement

Fixed โ€‹

  • Address 15 confirmed findings from pre-PR xhigh code review โ€” Resolves 15 high-priority code review findings across map, config, and site components. (#581) bug
  • Admin config section icon flex-alignment with title โ€” Fixes visual alignment of section icons with titles in admin config interface. (#581) bug design
  • Repair stale MerchantSwitcher mock path in test โ€” Updates MerchantShell test to use current MerchantSwitcher mock path. (#581) bug
  • Show sponsored hero on cold loads with venues-anchored gate โ€” Fixes sponsored hero visibility on initial page load using venues-anchored gate, late-fill, and parallel selection. (#581) bug
  • Dark-theme maplibre popup and navigation controls โ€” Applies dark theme styling to maplibre popup and navigation controls for consistency with black basemap. (#581) bug design
  • Make dark maplibre overrides win the cascade โ€” Ensures dark theme CSS overrides properly cascade over default maplibre styles. (#581) bug
  • Correct GITHUB_COPILOT_PLAN to pro_plus for ingest-github โ€” Fixes CI environment variable for GitHub Copilot plan configuration. (#581) bug devops
  • Blend live GitHub estimate with BQ receipt-day actuals โ€” Admin billing now correctly blends live GitHub API estimates with BigQuery receipt-day actual costs. (#581) bug
  • Pick full-month subscription fee, not pro-rata row โ€” Analytics API billing calculation now selects full-month subscription fees instead of pro-rata rows. (#581) bug
  • Replace GitHub subscription proration with receipt-day rows โ€” Dataform billing model now uses receipt-day rows instead of GitHub subscription proration for accurate cost tracking. (#581) bug
  • Nest ToggleSwitch under Components/Primitives โ€” Fixes Storybook organization by properly nesting ToggleSwitch component. (#581) bug

Built with VitePress