Refactor map load: bundled map-data and deferred interactions#41
Draft
eduardoperetto wants to merge 33 commits into
Draft
Refactor map load: bundled map-data and deferred interactions#41eduardoperetto wants to merge 33 commits into
eduardoperetto wants to merge 33 commits into
Conversation
Feat: Reset Password
* Fix: Adding validation to domain names * Changing string to English * fix: sync owner changes and prevent inconsistencies in multitenancy - Sync many-to-many relationship (clients_tenantuser_tenants) when client owner changes - Sync permissions in tenant schema (permissions_usertenantpermissions) when owner changes - Prevent removing tenants from users who own them with form validation * fix: prevent error when creating new tenant users" * fix: sync tenant permissions on user creation and removal * refactor: apply clean code principles to multitenancy admin
Document baseline vs map-data bundle timings at 10k/20k and the deferred interaction enrich phase for future performance comparisons. Co-authored-by: Cursor <cursoragent@cursor.com>
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.
Summary
GET /map-data/bundle: server-side tag graph, inherited locations, popup DTOs, and inline KML GeoJSON (administration/map_data/).MapDataServicewith[MapLoad]profiling; measured ~60% faster interactive load at 10k and 20k (warm cache). Seedocs/benchmarks/.scripts/generate_example_map_data.py,scripts/load_example_map_data.sh) and documentation underdocs/benchmarks/.This branch also includes earlier work merged into the same line of development: multi-tenant Django admin/clients, CSV/XLSX import pipeline, password-reset flow, and nginx/env base-URL configuration.
Map load architecture
forkJoin/map-data/+MapDataService.hydratebuild_map_data()+cache.get_or_set+ signal invalidationinteractive.totalenrichInteractions→full.totalBenchmark highlights (example tenant, warm cache)
interactive.totalDeferred enrich is expected to lower
interactive.totalfurther; compareinteractive.totalvsfull.totalwithlocalStorage.mapProfile = '1'.Test plan
python manage.py test administration.tests.test_map_datacd map-frontend && npm run test:map-behaviorexample.localhostat 10k/20k; confirm pins and links visible before enrich; popups/tooltips work after enrichopp-open-button) after enrich completesMade with Cursor