Draw a map pin as its holder's logo or picture, where there is one (#914) #1057
No reviewers
Labels
No labels
accessibility
authentication
breaking change
bug
documentation
enhancement
interface
internationalisation
observability
performance
security
tier
1
tier
2
tier
3
tier/4
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Postulo/postulo!1057
Loading…
Reference in a new issue
No description provided.
Delete branch "914-picture-pins"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #914
A map pin whose holder has a picture is drawn as that picture.
How
drawngainspicture, the same stamped address the{% company_logo %}/{% avatar %}tags use. Both tags now get it fromlogo_url()/avatar_url(), which the map reuses.PictureIcon, anL.DivIconsubclass, holding Basecoat'savatar(<span class="avatar rounded|rounded-full"><img alt="">).errorlistener on the canvas, in the capture phase, gives a marker whose picture fails to load its dot back withsetIcon. The dot then stays for later redraws as well.titleandalt, so the inner image stays decorative (alt=""). The target stays 24px: a 20px picture with a 2px ring.outlinebecause a forced-colours theme drops box-shadows. Under forced colours it isCanvasText.Checked
jobs:company_logochecksshared_scope(..., READ)andaccounts:avatarchecks access as before. Both are same-origin, so the CSP needs no change. Responses areprivate, max-age=86400behind the?v=stamp, so redraws hit the cache.tests/test_company_map.py: which entries carry which picture, and the guarantees of the fallback and the accessible name.tests/e2e/test_map.py: a stored logo is drawn and loads, with no CSP breaches. A logo flag with nothing behind it (404) falls back to the dot.🤖 Generated with Claude Code
3c1f83b9827a59a095327a59a0953223a66c940523a66c9405855b4d241a