Repository navigation
Six fixes from a tester's support report, and build 460 - #674
Merged
Merged
Conversation
… settings, a lost cloud voice is said, and a photo survives a stale session A support report from 2026-10-05 showed a first session going wrong in three places, and could not answer two questions about itself. The assistant knows the app it runs in. Asked how to change its voice, the model sent the wearer to the iPhone's Settings, the glasses' own app and Siri, none of which hold the setting. The system prompt now carries a short guide to where the assistant's settings live, in Direct mode and Gemini Live, with category names taken from the settings catalog so it cannot name a screen the hub does not draw. A cloud voice that gives out is said. When ElevenLabs is out of credit or refuses the key, replies fell back to the built-in voice with no explanation. The wearer is now told once per episode, after an ordinary reply (never an alert), and once per session on screen, with where to change it. A photo survives a session that died while parked. A stream whose session had stopped was reused, failed at once, and the rebuild that followed got one try with no wait. A stopped session is now dropped before reuse, and the rebuild gets the same retry with backoff as a first start. The app's own links are logged as what they are. The scene delegate handed every URL to the glasses SDK and logged it as that SDK's callback, so a photo asked for from a widget read as Meta AI calling back. Its own routes are now named, with the action when it is one of a fixed few. Speech recognition falls back to a language's home region. An English phone in a region with no English recogniser was given the first English variant in the alphabet; it now gets en-US. The report says which copy of the app wrote it: version, build, source commit, install channel and bundle id at the top, the phone's language list beside the app's locale, and no empty glasses name. The commit is stamped when the project is generated, since script sandboxing keeps a build phase out of .git. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
A tester's support report from 2026-10-05 showed a first session going wrong in three places, and the report itself could not answer two questions we asked of it (which commit, and whether the phone runs the published app or a contributor's own build).
What changed
SettingsCatalog, so the guide cannot name a screen the hub does not draw.The commit stamp
Scripts/generate-xcodeproj.shexportsAVENKIN_SOURCE_COMMIT(Xcode Cloud'sCI_COMMIT, otherwisegit rev-parse HEAD); the spec passes it to the app target andInfo.plistcarries it asAvenkinSourceCommit. It is stamped at generation rather than by a build phase because script sandboxing keeps a phase out of.git. A cloud build is exact; a local build reports the commit at the last regeneration, and the report words it that way.Verification
LocalizationCatalogGuardTests. That failure is local only: the working copy's string catalog held about 400 newly extracted English strings from an earlier build (not part of this PR), which puts Russian under its coverage floor. Against the committed catalog Russian is at 99.8%.SpeechLocaleResolverTestsre-run after the last change: 10 passed.Scripts/check-privacy-logging.sh: pass. Secret scan over the PR range: no leaks.Not verified
🤖 Generated with Claude Code