Skip to content

feat: add GitHub and website links to Settings#14

Merged
brendan-ch merged 3 commits into
mainfrom
feat/github-and-website-links
Jun 16, 2026
Merged

feat: add GitHub and website links to Settings#14
brendan-ch merged 3 commits into
mainfrom
feat/github-and-website-links

Conversation

@brendan-ch

Copy link
Copy Markdown
Owner

Summary

Adds an About section to the Settings screen with GitHub and Website links. Both destinations are configuration, not code:

  • OAL_GITHUB_URL / OAL_WEBSITE_URL user-defined build settings in Config/Shared.xcconfig,
  • mapped into the app through a partial OpenAppLock/Info.plist, and read at runtime through a single central accessor, AppLinks.

Swap either link by editing the build settings — no code change. The website value is a placeholder until the site exists. Links are plain text (no icons) to keep the section low-key; a link is omitted when its URL is unset/blank, and the whole section drops when neither is configured.

Implementation notes

  • Custom INFOPLIST_KEY_* settings are not injected into a generated Info.plist, so the values ride through a real partial plist (INFOPLIST_FILE + GENERATE_INFOPLIST_FILE=YES merge), with a synchronized-group membership exception so Info.plist isn't double-produced.
  • xcconfig treats // as a comment, so the URLs use a $(SLASH) indirection to spell ://.

Testing

  • Unit: AppLinks pure parsing and the full build-setting → Info.plist → runtime pipeline (the app-hosted test reads the real bundle)
  • Unit: LaunchConfiguration link-override parsing
  • UI: testAboutLinksOpenConfiguredURLs taps each button and asserts it opens the configured URL via an openURL interceptor, fed deterministic URLs through new -github-url= / -website-url= launch args
  • Full suite green (230/230) after merging latest main
  • Manually verified the section renders in the simulator

Also drops now-dangling CONTRIBUTING.md references (file removed).

🤖 Generated with Claude Code

brendan-ch and others added 3 commits June 16, 2026 18:12
Add an "About" section to the Settings screen with GitHub and Website links. Both destinations are configurable via the OAL_GITHUB_URL / OAL_WEBSITE_URL user-defined build settings (Config/Shared.xcconfig) and read centrally through the new AppLinks accessor.

Custom keys can't be injected into a generated Info.plist, so the build settings ride into the app through a partial OpenAppLock/Info.plist (OALGitHubURL / OALWebsiteURL), with a synchronized-group membership exception so the plist isn't double-produced.

Verified red-green: unit tests cover AppLinks parsing and the full build-setting -> Info.plist pipeline; a UI test asserts each button opens the configured URL via an openURL interceptor, fed deterministic URLs through new -github-url= / -website-url= launch args.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
CONTRIBUTING.md no longer exists; remove the now-dangling pointers in the xcconfig setup comments and the AGENTS.md human-authored-docs example.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@brendan-ch brendan-ch merged commit 352c4f7 into main Jun 16, 2026
1 check failed
@brendan-ch brendan-ch deleted the feat/github-and-website-links branch June 16, 2026 23:03
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