comaps/comaps
42
1.9k
Fork
You've already forked comaps
161

WIP: [ios][carplay] Scene lifecycle and Carplay Dashboard support #4708

Draft
eisa01 wants to merge 8 commits from carplay-dashboard-support into modes-ui
pull from: carplay-dashboard-support
merge into: comaps:modes-ui
comaps:main
comaps:generate-260714
comaps:matheusgomesms-android-shield
comaps:eisa01/carplay-road-shields
comaps:eisa01/main-segment-directions
comaps:pastk-core-check-updates-always
comaps:oa-cpp-rewrite
comaps:openaddresses-canada
comaps:modes-ui
comaps:test/2026.07.11
comaps:test/2026.07.11-ios
comaps:routing-options-banner
comaps:generate-260711-test
comaps:generator_triangles_packed
comaps:nav-arrow-color
comaps:gedankenstuecke-20260709-resolve_translate2
comaps:generate-260709-test
comaps:zy-mwm-monitoring
comaps:zyphlar-patch-3
comaps:zyphlar-patch-1
comaps:pastk-core-fix-new-poi-crash-TEST
comaps:generate-260705-test
comaps:pastk-mapgen-pr-4162
comaps:style/format-ci-enforcement
comaps:x7z4w-patch-1
comaps:yannikbloscheck-modes
comaps:test/2026.07.02-2
comaps:test/2026.07.02
comaps:generate-260628-test
comaps:zy-mapgen-wildcard
comaps:hbond/address-format
comaps:generate-260615-temp
comaps:zy-windows-app
comaps:traffic
comaps:cherry-pick-pr-11661
comaps:generate-260606-temp
comaps:generate-260606-test
comaps:release/2026.06.05
comaps:hbond/live-notification
comaps:pastk-pr-4405
comaps:generate-260603
comaps:generate-260530-temp
comaps:test/2026.05.29
comaps:zy-drape-documentation
comaps:generate-260527-test
comaps:test/2026.05.22
comaps:generate-260521-test
comaps:highway-construction
comaps:zy-mwm-safemode
comaps:release/2026.05.06
comaps:pastk-android-indep-map-updates
comaps:generate-260504
comaps:pastk-mapgen-TEST
comaps:pastk-test-2026年05月01日-fixed
comaps:pastk-mapgen-planet-update-buff
comaps:zy-mwm-intent
comaps:test/2026.05.01
comaps:generate-260430-test
comaps:jb_no_tag
comaps:pastk-TEST-ios-countries-signature
comaps:generate-260428
comaps:patepelo-club
comaps:release/2026.04.23
comaps:pastk-indep-map-updates-TEST
comaps:generate-260421
comaps:test/2026.04.19
comaps:zy-mwm-routing
comaps:generate-260414-test
comaps:zy-cicd
comaps:release/2026.04.07
comaps:pastk-alpha
comaps:x7z4w/x7z4w-border
comaps:generate-260405
comaps:jb_drv_opt
comaps:zy-subway-last-good
comaps:pastk-mapgen-TMP-wiki-lang
comaps:test/2026.04.03
comaps:generate-260401-test
comaps:pastk-mapgen-TEST-fix-categories-matching
comaps:release/2026.03.23
comaps:generate-260321
comaps:test/2026.03.19
comaps:yannikbloscheck-remove-english-as-default
comaps:generate-260316-test
comaps:yannikbloscheck-simplify-poi-checking
comaps:yannikbloscheck-ios-remove-unused-graphics
comaps:release/2026.03.09
comaps:generate-260307
comaps:jb_rw_st
comaps:test/2026.03.02
comaps:matheusgomesms-stop-signs
comaps:generate-260302-test
comaps:pastk-TEST-isolines
comaps:pastk-TEST-tiger
comaps:zy-runner-tools
comaps:pastk-TMP-mapgen-test
comaps:pastk-TMP-mapgen-debug
comaps:release/2026.02.23
comaps:pastk-styles-toll-booth-vis
comaps:generate-260221
comaps:test/2026.02.17
comaps:pastk-TMP-indep-map-updates
comaps:transit
comaps:generate-260215-test
comaps:pastk-mapgen-subways-clone
comaps:zy-mwm-docs
comaps:release/2026.02.09
comaps:generate-260207
comaps:zy-mwm-pano
comaps:zy-countries-versioning
comaps:noelclick-allow-remote-countries-txt
comaps:test/2026.02.03
comaps:generate-260202-debug-test
comaps:generate-260201-test
comaps:yannikbloscheck-ios-downloader-to-swiftui
comaps:release/2026.01.24
comaps:jb_3d_layer
comaps:jb_dlt_list
comaps:hbond-confirm-editor-pending
comaps:generate-260122
comaps:test/2026.01.20
comaps:generate-260118-test
comaps:zy-panoramax
comaps:zy-pano-build
comaps:zy-live-location
comaps:pastk-mapgen-pbf-update-verbose
comaps:test/2026.01.09
comaps:test/next
comaps:release/2026.01.08
comaps:generate-260106
comaps:test/2026.01.03
comaps:pastk-om-route-building-buttons
comaps:generate-260101-test
comaps:zyphlar-patch-5
comaps:test/2025.12.29
comaps:pastk-TMP-disable-fr1
comaps:release/2025.12.28
comaps:generate-251227
comaps:release/2025.12.19
comaps:generate-251217
comaps:test/2025.12.17
comaps:zy-panoramax-selector
comaps:test/2025.12.11
comaps:release/2025.12.11
comaps:generate-251209
comaps:test/2025.12.05
comaps:generate-251205-test
comaps:generate-251203
comaps:generate-next
comaps:release/2025.11.25
comaps:release/2025.11.19
comaps:generate-251116
comaps:test/2025.11.15
comaps:generate-251112-test
comaps:yannikbloscheck-more-cuisines
comaps:x7z4w-traffic
comaps:release/2025.11.07
comaps:generate-251104
comaps:release/2025.11.01
comaps:release/2025.10.16-fdroid
comaps:x7z4w-patch-4
comaps:release/2025.10.16
comaps:release/2025.10.09
comaps:release/2025.10.08
comaps:release/2025.10.02
comaps:generate-250906
comaps:pastk-mapgen-world-detail-optimize
comaps:generate-250902-test
comaps:release/2025.08.31
comaps:map-per-pedestrian-area
comaps:test/2025.08.24
comaps:test/2025.08.22
comaps:generate-250822
comaps:pastk-ios-reformat
comaps:release/2025.08.13
comaps:pastk-om-batch-31-android-bm-colors
comaps:pastk-gplay-metadata
comaps:release/2025.07.23
comaps:hb0nd-layers-leftbutton
comaps:generate-250804
comaps:fix-ci
comaps:test/2025.08.03
comaps:pastk-android-GS-cert-fix
comaps:always-update-fast
comaps:test/2025.07.20
comaps:test/2025.07.10
comaps:release/2025.06.30
comaps:test/2025.06.27
comaps:release/2025.06.25-apple
comaps:release/2025.06.22
comaps:pastk-gen-isolines
comaps:test/2025.06.19
comaps:test/2025.06.16
comaps:test/2025.06.12
comaps:release/2025.06.10
comaps:test/2025.06.08
comaps:release/2025.06.01
comaps:zyphlar-patch-2
comaps:delete_passed_intermediate_points
Member
Copy link

Description

This is the code that is going into the current Testflights, I have cleaned it up quite heavily and moved some commits onto main.

It has been written with the help of Claude Opus 4.8, Fable 5, GPT 5.5 and GPT 5.6 Sol, with a ton of debugging and iterations over the past month
There will be bugs here that we haven't identified yet

I am not sure anyone understands the current CarPlay code, so this would maybe not be worse :)

It has been built off the modes UI branch

The resiliency fixes could conceivably be opened as separate PRs, I have encountered crashes due to them in the Simulator when switching back and forth quickly between the different scenes

Since this is WIP, the commit messages will contain Claude/Codex written messages until folded into a proper commit to facilitate building TestFlight builds with all changes and debugging

Solves #327

Submitter checklist

  • All code changes and commit messages conform to the appropriate style guide
  • I have signed off all my commits with the Developers Certificate of Origin
  • All communication (commit messages, pull request messages, documentation, and code comments) is human written and not authored by AI
  • I take full responsibility of all changes submitted in this pull request
### Description This is the code that is going into the current Testflights, I have cleaned it up quite heavily and moved some commits onto main. It has been written with the help of Claude Opus 4.8, Fable 5, GPT 5.5 and GPT 5.6 Sol, with a ton of debugging and iterations over the past month There will be bugs here that we haven't identified yet I am not sure anyone understands the current CarPlay code, so this would maybe not be worse :) It has been built off the modes UI branch The resiliency fixes could conceivably be opened as separate PRs, I have encountered crashes due to them in the Simulator when switching back and forth quickly between the different scenes Since this is WIP, the commit messages will contain Claude/Codex written messages until folded into a proper commit to facilitate building TestFlight builds with all changes and debugging Solves #327 ### Submitter checklist - [x] All code changes and commit messages conform to the appropriate [style guide](https://codeberg.org/comaps/comaps/src/branch/main/docs/CONTRIBUTING.md#code-contributions) - [x] I have signed off all my commits with the [Developers Certificate of Origin](https://codeberg.org/comaps/Governance/src/branch/main/DCO.md) - [x] All communication (commit messages, pull request messages, documentation, and code comments) is human written and not authored by AI - [x] I take full responsibility of all changes submitted in this pull request
Generated with the help of Claude Opus 4.8
Generated with the help of Claude Opus 4.8 and Fable 5
Signed-off-by: eisa01 <eisa01@gmail.com>
Otherwise too zoomed in for the car speed
Generated with the help of Claude Opus 4.8
Signed-off-by: eisa01 <eisa01@gmail.com>
Solves crashes observed in the simulator while testing CarPlay
It was possible get a NaN matrix that lead to tripping the
m2::Rect min<=max assert in rect2d.hpp
Generated with help of Opus 4.8
Signed-off-by: eisa01 <eisa01@gmail.com>
[carplay] Reject non-finite/degenerate viewports before SetVisibleViewport
Some checks failed
DCO / check (pull_request) Failing after 4s
Android Check / Build Android Debug (pull_request) Has been cancelled
Android Check / Android Lint (pull_request) Has been cancelled
Linux Check / Linux no unity build (pull_request) Has been cancelled
Linux Check / Linux builds and tests (pull_request) Has been cancelled
0f669352ca
Rapid switching during CarPlay simulator testing tripped an assert here with invalid m2::RectD
Add guards to not call degenerate viewports
Generated with the help of Claude Opus 4.8
Signed-off-by: eisa01 <eisa01@gmail.com>
eisa01 force-pushed carplay-dashboard-support from 0f669352ca
Some checks failed
DCO / check (pull_request) Failing after 4s
Android Check / Build Android Debug (pull_request) Has been cancelled
Android Check / Android Lint (pull_request) Has been cancelled
Linux Check / Linux no unity build (pull_request) Has been cancelled
Linux Check / Linux builds and tests (pull_request) Has been cancelled
to 6f793698d0
All checks were successful
DCO / check (pull_request) Successful in 8s
Android Check / Android Lint (pull_request) Successful in 8m17s
Android Check / Build Android Debug (pull_request) Successful in 43m33s
Linux Check / Linux no unity build (pull_request) Successful in 44m16s
Linux Check / Linux builds and tests (pull_request) Successful in 45m1s
2026年07月09日 17:14:42 +02:00
Compare
[ios] Fix race condition on location status
Some checks failed
Android Check / Android Lint (pull_request) Failing after 3m48s
Android Check / Build Android Debug (pull_request) Failing after 3m44s
DCO / check (pull_request) Successful in 3m8s
Linux Check / Linux no unity build (pull_request) Successful in 19m15s
Linux Check / Linux builds and tests (pull_request) Successful in 23m19s
f4e726b15d
When the phone application became active on unlock, we asked for location before the protected data was available leading to a false kCLErrorDenied.
Only ask for it if it is actually restricted, and add observer to know when to ask
Debugged with Claude Opus 4.8 and device logs from the latest Testflight
Signed-off-by: eisa01 <eisa01@gmail.com>
Rework the iOS location keepalive policy around CarPlay scene ownership. Track recording and active unfinished navigation now keep location running independent of which phone or CarPlay app is foreground, while CarPlay/dashboard map hosting remains the only non-navigation CarPlay reason to keep location alive. Map-host transitions now refresh the background location policy immediately so stale host state cannot either drain battery after disconnect/dehost or leave CarPlay without location until the phone app is opened.
Keep protected-data recovery registered for the lifetime of MWMLocationManager. Stopping location now removes only the transient orientation and battery observers, leaving UIApplicationProtectedDataDidBecomeAvailable in place so unlock recovery still works after a previous stop.
Improve CarPlay activation behavior. Re-entering the CarPlay app or dashboard resumes location when the centralized policy allows it and recenters into follow mode. The initial car session can promote follow into the car heading mode, but user panning or manual position controls disable only that automatic heading-mode promotion, not future recentering on re-entry.
Harden dashboard and scene edge cases. The dashboard map now rejects non-finite, zero-size, or invalid-scale viewports before calling into the framework, matching the main CarPlay guard. Scene cold-start URL handling now routes file URLs through the normal import path while preserving deferred deep-link startup handling for non-file URLs.
Fix CarPlay navigation audio button state. The mute/unmute button now reflects MWMTextToSpeech.tts().active rather than only the persisted global TTS availability flag, and CarPlay observes TTS status changes while active so navigation audio buttons stay in sync when state changes from elsewhere.
Validation: xcrun swiftc -parse on the CarPlay Swift files passed, and git diff --check passed. A full xcodebuild was attempted earlier but the local Xcode installation is missing the Metal toolchain, so it failed before compiling app code.
[carplay] Harden scene teardown, map init timing, and dashboard routing
Some checks failed
DCO / check (pull_request) Failing after 5s
Android Check / Android Lint (pull_request) Failing after 30m4s
Android Check / Build Android Debug (pull_request) Failing after 30m1s
Linux Check / Linux no unity build (pull_request) Failing after 30m10s
Linux Check / Linux builds and tests (pull_request) Failing after 29m47s
4e4e287af5
Guarantee the disconnect teardown runs. The two-second CarPlay teardown grace period is now wrapped in a named UIApplication background task, so iOS cannot suspend the process before the deferred destroy() stops location after a disconnect. Field logs from the 2026年07月10日 drive showed the process being reclaimed inside the grace window, which left the location keepalive armed with a stale CarPlay map host. The expiration handler tears down synchronously on the main thread and always ends the task.
Defer early car-screen map operations until the surface is ready. The base template north-up rotation, the default car zoom, and the automatic follow/heading engagement now wait until the shared map view is attached to a car window and its graphics context is initialized. This gates the cold-start calls that previously ran against drape's default 640x480 ScreenBase and produced paired "Bad scale factor = -4.375 / -2.5" errors on every CarPlay cold start (and would assert in Debug builds). Both car map controllers report viewport readiness after the centralized Objective-C++ viewport validation, which replaces the duplicated Swift-side guards. Re-entry recenters requested while a host switch had reset viewport readiness are remembered and replayed once the viewport becomes ready, and automatic recentering is skipped while the CarPlay panning interface is visible.
Make dashboard shortcut routing safe. Shortcut buttons capture the validated bookmark object instead of re-resolving a possibly deleted bookmark ID, the dashboard scene observes bookmark and category deletion for its whole connection lifetime and refreshes its buttons, and the pending dashboard route is tracked as the exact CPTrip instance so only its own route callback can auto-start navigation. Pending state is cleared on success, failure, cancellation, phone handoff, route completion, and teardown.
Harden location recovery around the first unlock. A new background location session is deferred while protected data is unavailable, without interrupting an already-running session, and protected-data availability now retries Core Location when the app is active or the background keepalive policy requires it. This covers a logically-started manager whose Core Location start failed before unlock, which the plain started setter could not retry.
Cleanups: remove the dead reapplyBackgroundLocationPolicy API, the unused requiresFollowMode parameter, and the stale TTS button wrapper; simplify refreshBackgroundLocationPolicy; add an explicit MapMode::Walking case so switching to walking mode no longer logs as unrecognized; add a ScreenBase auto-perspective threshold-transition regression test.
Implemented with GPT 5.6 Sol and Claude Fable 5 from reviews of commit 71f01122b4, the 2026年07月10日 field logs, and jetsam reports.
Validation: xcrun swiftc -parse on the touched Swift files, plutil -lint, git diff --check, the focused ScreenBase_AutoPerspectiveThresholdTransition unit test, and an unsigned generic-iOS Debug build.
🤖 Generated with [Claude Code](https://claude.ai/code)
Signed-off-by: eisa01 <eisa01@gmail.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
switchScreenToPhone() invalidated the theme before updating the map host. The theme switch posts a map-style update that starts a route recache on the render threads, and the visual-scale change that follows forces a GPU context destroy/recreate, which killed that recache mid-flight on every CarPlay disconnect: the frontend renderer wiped the route GPU buffers while the backend was still building them, and the main thread sat blocked in SetRenderingDisabled for ~110ms waiting for the busy render thread. The pipeline self-heals (the scale change's own VisualScaleChanged recovery re-adds the subroutes), so the route line was never permanently lost, but every disconnect wasted a full backend route build and delayed the context reset.
Running updateMapHost() first lets the context reset happen against an idle message queue, and the theme's recache lands cleanly afterwards. The connect path (setup()) already applied the scale before the theme and needs no change. Verified in the iOS Simulator with a scale-2 CarPlay display: the disconnect destroy now follows the scale change within 30ms with no orphaned recache, and every host switch ends with an accepted route flush.
This also disproves the earlier claim that a CarPlay visual-scale switch permanently drops the rendered route line: FrontendRenderer::UpdateAll ends with UpdateContextDependentResources(), which re-uploads all subroutes after every context reset triggered by DrapeEngine::UpdateVisualScale.
Diagnosed with Claude Fable 5 from instrumented simulator runs on 2026年07月10日.
Validation: xcrun swiftc -parse on CarPlayService.swift, git diff --check, and three instrumented simulator runs (same-scale and scale-2 CarPlay displays) confirming the recache pipeline completes on every host switch.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Signed-off-by: eisa01 <eisa01@gmail.com>
[drape] Add diagnostic logging to the route recache pipeline
Some checks failed
DCO / check (pull_request) Failing after 8s
Android Check / Android Lint (pull_request) Failing after 36m44s
Android Check / Build Android Debug (pull_request) Failing after 36m43s
Linux Check / Linux no unity build (pull_request) Failing after 36m47s
Linux Check / Linux builds and tests (pull_request) Failing after 36m26s
b4e216e8cf
Log the five stages of the context-dependent route resource cycle: RouteRenderer::ClearContextDependentResources (the GPU-side wipe on context destroy), FrontendRenderer::UpdateAll and UpdateContextDependentResources (the recovery that re-adds subroutes after a style or visual-scale change), the backend's AddSubroute build, and the frontend's FlushSubroute accept/discard decision with both recache ids.
These logs made the CarPlay disconnect recache race visible (in-flight recaches killed by the visual-scale context reset, always rescued by the following cycle) and confirm the route line recovery path runs after every context reset. They fire only on context resets and route recaches, so they are quiet during normal rendering.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Signed-off-by: eisa01 <eisa01@gmail.com>
[drape] Fix stipple texture use-after-free on visual scale change
Some checks failed
DCO / check (pull_request) Failing after 5s
Android Check / Android Lint (pull_request) Successful in 10m56s
Linux Check / Linux no unity build (pull_request) Failing after 47m9s
Android Check / Build Android Debug (pull_request) Failing after 47m17s
Linux Check / Linux builds and tests (pull_request) Successful in 48m15s
fc21d40136
TextureManager::OnVisualScaleChanged used to destroy the StipplePenTexture
object and allocate a new one. Render states of already generated geometry
hold non-owning references to that object, and FrontendRenderer::UpdateAll
only marks the existing render groups as pending deletion - they keep being
rendered until the re-read tiles replace them. Any of those groups with a
dashed/dotted line pattern then dereferenced the freed texture in
dp::ApplyState, crashing the frontend render thread (EXC_BAD_ACCESS at
render_state.cpp:290, TestFlight crash points BmEkWSV1i2dCo4HaRN-hDS and
DmaJDYelACYWaY0hpcANZg). The Vulkan-only deferred cleanup did not help
because it defers only the hardware texture, not the Texture object itself.
On iOS the visual scale changes exactly on CarPlay connect/disconnect and
phone handoff, which is why the crash rate spiked with the CarPlay dashboard
builds, but the bug affects every platform and predates that work.
The stipple texture is now invalidated in place, following the same pattern
as SymbolsTexture::Invalidate on map style switch: DynamicTexture gains an
Invalidate method that destroys the hardware texture (still deferring its
destruction on Vulkan), resets the initialization flag so the texture is
lazily recreated at the new size on the next UpdateState, and rebinds a
fresh indexer. Pending-deletion groups briefly sample the new texture with
old UVs - a transient visual artifact instead of a use-after-free.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Signed-off-by: eisa01 <eisa01@gmail.com>
eisa01 force-pushed carplay-dashboard-support from fc21d40136
Some checks failed
DCO / check (pull_request) Failing after 5s
Android Check / Android Lint (pull_request) Successful in 10m56s
Linux Check / Linux no unity build (pull_request) Failing after 47m9s
Android Check / Build Android Debug (pull_request) Failing after 47m17s
Linux Check / Linux builds and tests (pull_request) Successful in 48m15s
to 78ca568368
All checks were successful
DCO / check (pull_request) Successful in 4s
Android Check / Android Lint (pull_request) Successful in 16m56s
Android Check / Build Android Debug (pull_request) Successful in 32m24s
Linux Check / Linux no unity build (pull_request) Successful in 32m27s
Linux Check / Linux builds and tests (pull_request) Successful in 35m21s
2026年07月11日 19:11:12 +02:00
Compare
eisa01 force-pushed carplay-dashboard-support from 78ca568368
All checks were successful
DCO / check (pull_request) Successful in 4s
Android Check / Android Lint (pull_request) Successful in 16m56s
Android Check / Build Android Debug (pull_request) Successful in 32m24s
Linux Check / Linux no unity build (pull_request) Successful in 32m27s
Linux Check / Linux builds and tests (pull_request) Successful in 35m21s
to 849142d412
Some checks failed
Android Check / Android Lint (pull_request) Has been cancelled
Android Check / Build Android Debug (pull_request) Has been cancelled
DCO / check (pull_request) Has been cancelled
Linux Check / Linux no unity build (pull_request) Has been cancelled
Linux Check / Linux builds and tests (pull_request) Has been cancelled
iOS Check metadata / Check app metadata (pull_request) Failing after 27s
2026年07月12日 18:37:39 +02:00
Compare
eisa01 force-pushed carplay-dashboard-support from 849142d412
Some checks failed
Android Check / Android Lint (pull_request) Has been cancelled
Android Check / Build Android Debug (pull_request) Has been cancelled
DCO / check (pull_request) Has been cancelled
Linux Check / Linux no unity build (pull_request) Has been cancelled
Linux Check / Linux builds and tests (pull_request) Has been cancelled
iOS Check metadata / Check app metadata (pull_request) Failing after 27s
to fbd2faa3b8
Some checks failed
Android Check / Build Android Debug (pull_request) Has been cancelled
Android Check / Android Lint (pull_request) Has been cancelled
DCO / check (pull_request) Successful in 1m4s
Linux Check / Linux builds and tests (pull_request) Has been cancelled
Linux Check / Linux no unity build (pull_request) Has been cancelled
2026年07月12日 18:53:17 +02:00
Compare
Some checks failed
Android Check / Build Android Debug (pull_request) Has been cancelled
Android Check / Android Lint (pull_request) Has been cancelled
DCO / check (pull_request) Successful in 1m4s
Linux Check / Linux builds and tests (pull_request) Has been cancelled
Linux Check / Linux no unity build (pull_request) Has been cancelled
This pull request is marked as a work in progress.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin carplay-dashboard-support:carplay-dashboard-support
git switch carplay-dashboard-support

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch modes-ui
git merge --no-ff carplay-dashboard-support
git switch carplay-dashboard-support
git rebase modes-ui
git switch modes-ui
git merge --ff-only carplay-dashboard-support
git switch carplay-dashboard-support
git rebase modes-ui
git switch modes-ui
git merge --no-ff carplay-dashboard-support
git switch modes-ui
git merge --squash carplay-dashboard-support
git switch modes-ui
git merge --ff-only carplay-dashboard-support
git switch modes-ui
git merge carplay-dashboard-support
git push origin modes-ui
Sign in to join this conversation.
No reviewers
Labels
Clear labels
accessibility
Visual contrast, screen readers, etc.
addresses
Related to addresses, post codes, city/town/village borders
AI-assisted
AI-assisted PRs or issues
Android
Android app
Android Auto
Android Auto integration
Android Automotive
Android Automotive app
api
Deeplinks and URLs handled by the API
app stores
Google Play, App Store, F-Droid, Obtanium, Huawei Gallery, Acressent, Flathub, IzzyOnDroid, etc.
battery & performance
Performance and battery consumption-related problems and optimisations
borders
Related to borders between countries / regions
bug
Something is not working
build
building of apps
CarPlay
CarPlay integration
community
Community relations
contribution welcome
Contributions are very welcome, get started here
core
C++ core of the app
crash
Crash reporting
cycling
Specific to using a bicycle or similar vehicles
desktop
Qt desktop app incl. designer
devops
directions
Voice and visual turn-by-turn directions
docs
Documentation
downloader
Map downloader
drape
The C++ map rendering engine
driving
Specific to driving a car or similar vehicles
duplicate
This issue or pull request already exists
editor
Built-in OSM editor
elevation
Contour lines, elevation profiles, ...
enhancement
New feature
EPIC
A big idea or a piece of work that requires a lot of effort to implement
F-Droid
F-Droid platform
favorites
Places and GPS tracks
feature parity
A feature is implemented on one platform, but not on another
fonts
Fonts
good first issue
Interested in contributing? Get started here
help wanted
Need some help
icons
Map features icons
invalid
Something is wrong
iOS
iOS app
legal
Legal aspects
linux phone
LibreM, PinePhone and other mobile linuxes
location
Via GPS, network, etc.
macOS
Emulated iOS App or Qt Desktop App specifically related to macOS
map data
Related to OpenStreetMap data
mapgen needed
map generation is needed for PR to take full effect
maps compat
compatibility of newer maps with older apps; issues and PRs breaking or fixing compatibility
maps generator
Maps generator
navigation
The navigation turn-by-turn app mode
need feedback
Further information is requested
needs design
not planned
This is not planned at the moment
OM
Related to or references Organic Maps
opening hours
Related to Business Hours, off time, holidays, seasonal
outdoor
Hiking, backcountry cycling, 4WD, etc.
POI info
Various feature attributes usually displayed on the place page
priority
High
Seriously affects a lot of users or breaks the app severely
priority
Low
Not urgent or only happens in rare cases
priority
Medium
Happens enough to be a concern, but not app-breaking
privacy
Privacy aspects
public feedback needed
Experimental changes which requite explicit public feedback before continuing with them
public transport
Specific to public transport (busses, trams, subways, trains etc.)
question
Questions and Discussions
raw idea
Needs more discussion or to be further elaborated
refactoring
Improving the structure or simplifying the code, improving maintainability
regional
Different depending on the country or region
regression
Regression in the app
releases
Release management
route planning
Preview and plan your route
routing
Routing engine
search
Search inside of the app
security
Security improvements
source data
Related to OSM, SRTM, Tiger etc.
styles
Map styling, incl. mapping OSM tags
subway
The special subway layer
task
Internal things that have a clear way for implementation
tests
Unit tests
track recording
Track recording
traffic
Traffic information (still under development)
translations
Translations and all other kinds of localisation
TTS
Text-to-Speech
UI
User interface
UX
User experience
wait for upstream
Waiting for something to be done upstream
walking
Specific to walking
Wikipedia
Related to the embedded Wikipedia articles
Windows
Windows related
world map
The world overview map
No labels
accessibility
addresses
AI-assisted
Android
Android Auto
Android Automotive
api
app stores
battery & performance
borders
bug
build
CarPlay
community
contribution welcome
core
crash
cycling
desktop
devops
directions
docs
downloader
drape
driving
duplicate
editor
elevation
enhancement
EPIC
F-Droid
favorites
feature parity
fonts
good first issue
help wanted
icons
invalid
iOS
legal
linux phone
location
macOS
map data
mapgen needed
maps compat
maps generator
navigation
need feedback
needs design
not planned
OM
opening hours
outdoor
POI info
priority
High
priority
Low
priority
Medium
privacy
public feedback needed
public transport
question
raw idea
refactoring
regional
regression
releases
route planning
routing
search
security
source data
styles
subway
task
tests
track recording
traffic
translations
TTS
UI
UX
wait for upstream
walking
Wikipedia
Windows
world map
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
comaps/comaps!4708
Reference in a new issue
comaps/comaps
No description provided.
Delete branch "carplay-dashboard-support"

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?