Files
GeoLibre/scripts/untested-modules-baseline.json
Qiusheng Wu 5ae9762510 fix(app): app-UI follow-ups (language-pack race, palette memo/commands, vector panel race, focus, autosave indicator) (#2908)
* fix(app): app-UI follow-ups from #2869

- Language packs: guard download/import/remove with an operation token
  so a language switch mid-operation can't apply a stale result (#2866).
- Settings: drop the unused seededEnv block in the open effect (#2866).
- Command palette: memoize the command build on the values it reads at
  build time; handlers resolve through a view of the newest context
  (#2877).
- Palette: commands for the color-vision preview modes and for opening
  the starter examples expanded in New Project (#2884).
- Add Data -> Vector/Raster Layer: a restore pass for the same project
  (the basemap finishing its first load) no longer re-hides a panel the
  user just opened (#2895).
- Vector/Raster panels: move focus into the panel when opened and back to
  the trigger when closed (#2895).
- Status bar: memoize the autosave notice and show a distinct "Autosave
  off" indicator when IndexedDB is unavailable (#2860).

* test(app): cover the New Project starter-examples expansion

NewProjectDialog grew past its untested-module allowance; a component test
now loads it and checks the Examples section stays collapsed by default
and opens expanded with the first example focused when requested. The
dialog leaves the untested-module baseline, which is pruned to match.

* Address Claude review feedback

- useLanguagePack: a late import only writes the installed pack when no
  newer download/import/remove has started since, so it cannot overwrite a
  fresher result after a language switch away and back.

* Address Claude review feedback

- Vector/Raster panels: record the open's project generation only once the
  control exists, so a failed open never makes a later restore skip the
  project's saved panel state.
2026-10-04 09:53:00 -04:00

58 lines
4.1 KiB
JSON

{
"apps/geolibre-desktop/src/components/comments/CommentsPanel.tsx": 508,
"apps/geolibre-desktop/src/components/layout/add-data/sources/ArcGISSource.tsx": 632,
"apps/geolibre-desktop/src/components/layout/add-data/sources/DeckVizSource.tsx": 866,
"apps/geolibre-desktop/src/components/layout/add-data/sources/DelimitedTextSource.tsx": 845,
"apps/geolibre-desktop/src/components/layout/add-data/sources/IcebergSource.tsx": 538,
"apps/geolibre-desktop/src/components/layout/add-data/sources/PostgresSource.tsx": 659,
"apps/geolibre-desktop/src/components/layout/add-data/sources/WmsSource.tsx": 565,
"apps/geolibre-desktop/src/components/layout/AddNetcdfDialog.tsx": 896,
"apps/geolibre-desktop/src/components/layout/BasemapExtractPanel.tsx": 1397,
"apps/geolibre-desktop/src/components/layout/CollaborateDialog.tsx": 549,
"apps/geolibre-desktop/src/components/layout/DesktopShell.tsx": 1284,
"apps/geolibre-desktop/src/components/layout/FieldCollectionDialog.tsx": 1569,
"apps/geolibre-desktop/src/components/layout/GeoreferencerDialog.tsx": 669,
"apps/geolibre-desktop/src/components/layout/GpsTrackingDialog.tsx": 1488,
"apps/geolibre-desktop/src/components/layout/LoadFeaturesIntoEditorDialog.tsx": 665,
"apps/geolibre-desktop/src/components/layout/ManagePluginsDialog.tsx": 1116,
"apps/geolibre-desktop/src/components/layout/MapContextMenu.tsx": 535,
"apps/geolibre-desktop/src/components/layout/NetcdfCubeWindow.tsx": 663,
"apps/geolibre-desktop/src/components/layout/PixelTimeSeriesControl.tsx": 1000,
"apps/geolibre-desktop/src/components/layout/ProjectGalleryDialog.tsx": 1209,
"apps/geolibre-desktop/src/components/layout/RasterSubsetPanel.tsx": 676,
"apps/geolibre-desktop/src/components/layout/RecordTourDialog.tsx": 1300,
"apps/geolibre-desktop/src/components/layout/RecordVideoDialog.tsx": 621,
"apps/geolibre-desktop/src/components/layout/SetViewDialog.tsx": 680,
"apps/geolibre-desktop/src/components/layout/ShareProjectDialog.tsx": 1295,
"apps/geolibre-desktop/src/components/layout/toolbar/ControlsMenu.tsx": 986,
"apps/geolibre-desktop/src/components/layout/toolbar/ProcessingMenu.tsx": 823,
"apps/geolibre-desktop/src/components/layout/toolbar/ProjectFileDialogs.tsx": 608,
"apps/geolibre-desktop/src/components/layout/TopToolbar.tsx": 739,
"apps/geolibre-desktop/src/components/legend/MapLegendPanel.tsx": 1005,
"apps/geolibre-desktop/src/components/panels/AssistantPanel.tsx": 1194,
"apps/geolibre-desktop/src/components/panels/BrowserPanel.tsx": 938,
"apps/geolibre-desktop/src/components/panels/DashboardPanel.tsx": 807,
"apps/geolibre-desktop/src/components/panels/PythonConsolePanel.tsx": 535,
"apps/geolibre-desktop/src/components/panels/RasterAttributeTable.tsx": 788,
"apps/geolibre-desktop/src/components/panels/RouteAnimationPanel.tsx": 719,
"apps/geolibre-desktop/src/components/panels/SqlWorkspacePanel.tsx": 1007,
"apps/geolibre-desktop/src/components/panels/StyleManagerPanel.tsx": 863,
"apps/geolibre-desktop/src/components/panels/WidgetEditorDialog.tsx": 615,
"apps/geolibre-desktop/src/components/processing/ConversionDialog.tsx": 1849,
"apps/geolibre-desktop/src/components/processing/model-builder/ModelBuilderPanel.tsx": 2601,
"apps/geolibre-desktop/src/components/processing/ObjectDetectionDialog.tsx": 741,
"apps/geolibre-desktop/src/components/processing/ProcessingDialog.tsx": 3171,
"apps/geolibre-desktop/src/components/processing/RasterToolsDialog.tsx": 1074,
"apps/geolibre-desktop/src/components/storymap/StoryMapHandoutDialog.tsx": 640,
"apps/geolibre-desktop/src/components/storymap/StoryMapPanel.tsx": 1146,
"apps/geolibre-desktop/src/components/storymap/StoryMapPresenter.tsx": 783,
"apps/geolibre-desktop/src/hooks/desktop-shell/useFileDrop.ts": 544,
"apps/geolibre-desktop/src/hooks/toolbar/usePluginLabelSync.ts": 1080,
"apps/geolibre-desktop/src/hooks/useCollaboration.ts": 601,
"apps/geolibre-desktop/src/lib/assistant/tools.ts": 1122,
"apps/geolibre-desktop/src/lib/duckdb-vector-loader.ts": 1278,
"apps/geolibre-desktop/src/lib/print-layout-export.ts": 526,
"apps/geolibre-desktop/src/lib/scripting/scriptingApi.ts": 643,
"apps/geolibre-desktop/src/lib/sql-workspace.ts": 702
}