Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Performant member fetching #671

Open
Dlurak opened this issue Oct 13, 2024 · 1 comment
Open

Performant member fetching #671

Dlurak opened this issue Oct 13, 2024 · 1 comment

Comments

@Dlurak
Copy link
Collaborator

Dlurak commented Oct 13, 2024

Member fetching via overpass is currently only enabled for public transport routes and climbing areas. As climbing areas typically are quite small it has fine performance for them. But a big train route can have a lot of members. In this case everything is blocked until the members are fetched, eventhough these members are only secondary information. Ideally the images and tag table should be available as fast as possible and everything that needs members should appear once the information is available.

@zbycz
Copy link
Owner

zbycz commented Oct 17, 2024

Very good point! I am very happy you think about performance first.

A quickfix solution would be to disable memerFeatures fetching for route relations, and fetch these in some component like <RouteMembers/> in FeaturePanel, where it would fetch them only in browser via useEffect.

Only downside of this solution is, that we would lose server-side rendered links between those pages, which could be eventually picked up by search engines. But we can worry about this later.

The ultimate "future" solution would be probably to have our own backend, which would allow for quicker resolving time, or perhaps ask osm-ng to implement some useful method which would fetch only necessary data. But I would like to stay backend-less as long as possible :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants