beeware / beeware/toga

Pins disappear from GTK MapView after scroll or update

Open
#2,417 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug gtk linux
Dominant language
Python
Stars
5.4k
Forks
829
Avg merge
15h 39m
Merged PRs (30d)
40

Description

Describe the bug

When using a MapView under GTK, pins will sometimes disappear from the map if their location is updated, or the map is scrolled while the pin is visible on the screen.

Steps to reproduce
  1. Run the mapview example
  2. Click on the (3) button to move to the location of Carmen Sandiego
  3. Click on the (Move) button to move Carmen
  4. Click on the (3) button again

You'll move to a new location, but the Carmen Sandiego pin won't be visible

It may be necessary to do steps 3 and 4 a couple of times for the problem to manifest.

Expected behavior

The Carmen Sandiego pin should be visible at the new location.

Screenshots

No response

Environment
  • Operating System: Ubuntu 22.04
  • Python version: 3.10
  • Software versions:
    • Briefcase: 0.3.17
    • Toga: #2379
Logs

No response

Additional context

This is a known issue with Leaflet.js, which is the underlying implementation of MapView on GTK. If/when that issue is addressed, it should be possible to fix Toga by updating the version of leaflet that is pinned in the GTK backend's MAPVIEW_HTML_CONTENT.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Check Leaflet.js issue 9220 first, since the GTK MapView behavior is identified as an upstream problem. Then inspect the GTK backend's pinned version in MAPVIEW_HTML_CONTENT and reproduce the issue with the mapview example using the listed Carmen Sandiego steps. Done means the pin remains visible after moving and scrolling once an appropriate Leaflet update is available.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, python
Domain
desktop
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.