Skip to content

Honour POI callback filtering and fixup docs build issue - #1068

Merged
davecraig merged 3 commits into
Scottish-Tech-Army:mainfrom
davecraig:main
Sep 8, 2026
Merged

davecraig merged 3 commits into
Scottish-Tech-Army:mainfrom
davecraig:main

Conversation

@davecraig

Copy link
Copy Markdown
Contributor

No description provided.

soundscape-bot and others added 3 commits September 8, 2026 11:04
buildCalloutForVehicleLandmark reads TreeId.LANDMARK_POIS directly rather
than TreeId.SELECTED_SUPER_CATEGORIES, which is the tree the setting
chooses into - so a user who had turned Places and Landmarks off was
still told about every park, stadium and hospital they drove past. It is
the travel-mode counterpart of buildCalloutForNearbyPOI and should answer
to the same switch; iOS runs its in-vehicle landmarks through the same
sense check as the walking ones (filterAnnounceablePOIs applies
categoryStates whether or not the motion filter has already narrowed the
list to transit and landmarks).

It reads the preference itself rather than being pointed at
SELECTED_SUPER_CATEGORIES: that tree holds what a pedestrian should hear,
which is a wider net than a car should be given.

Walking mode was already correct - the setting acts on the classification
and buildCalloutForNearbyPOI reads nothing else - but it had no test, so
there are now tests either side of both modes.

Two other travel-mode paths name a place and are deliberately left alone:

- describeReverseGeocode's "At <name>" for a POI polygon the user is
  inside is part of the road-sense callout, and so is gated on Mobility.
  That matches iOS, where buildCalloutForRoadSense is guarded on
  mobilitySenseEnabled alone and its GenericGeocoderResult is not
  separately checked against placeSense.

- enrichUnnamedTransitStopText borrows a nearby landmark's name to tell
  one unnamed bus stop from another. The landmark is a locator there
  rather than something being called out, and honouring the setting would
  only degrade the stop callout to a bare "Bus Stop".

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PuWFLdKuyocaThznkNfrhp
The weekly generate-help-docs workflow could never push its results: the
"Commit control" ruleset requires a PR plus status checks on main, and
GITHUB_TOKEN isn't a bypass actor, so the one run that had changes to
push was rejected with GH013. It was also redundant. build-app.yaml has
run the same DocumentationScreens tests and committed docs/users/help-*.md
since 2025-07-15, using PAT_TOKEN, which does have the bypass.

That path had been silently broken since f7781e2 removed the routeEdit
test but left the adb pull for routeEdit.png in place. adb pull fails on a
missing file, so the emulator script stopped there and never reached the
lines that fetch the help markdown; continue-on-error hid it. The stale
png stayed in the tree and the ImageMagick step re-cropped it every
release, which made the step look like it was still doing something.

Drop the dead pull, stage the markdown in generated-help/ and sync it into
docs/users with the stale-locale cleanup the old workflow did, guarded on
the emulator step's outcome so a flaky run can't wipe the pages. Delete
the generate-help-docs workflow and the unreferenced routeEdit.png.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PuWFLdKuyocaThznkNfrhp
@davecraig
davecraig merged commit 2aa649d into Scottish-Tech-Army:main Sep 8, 2026
7 of 8 checks passed
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

Successfully merging this pull request may close these issues.

1 participant