Skip to content

chore(api): explain the three unwired app-settings routes - #114

Merged
Adron merged 1 commit into
mainfrom
chore/document-unwired-appsettings-routes
Sep 17, 2026
Merged

Adron merged 1 commit into
mainfrom
chore/document-unwired-appsettings-routes

Conversation

@Adron

@Adron Adron commented Sep 17, 2026

Copy link
Copy Markdown
Member

Summary

Closes the loose end #113's review sweep reported. #90 established the rule that every
APIClient function with no call site must carry a one-line comment saying who calls it or why it is
kept; deleteAppSettings, appDeviceSettings and putAppDeviceSettings (added by #89) had neither
a caller nor an explanation.

All three are deliberate rather than oversights, so the fix is to record the reasoning — not to
delete them and not to wire them.

What's included

  • deleteAppSettings — no caller. The account document is the sync service's own state, not
    something a user asks the app to discard; the web's Applications section forgets a device, which
    is forgetAppDevice(deviceId:). Kept so the six-route contract this file models stays whole.
  • appDeviceSettings / putAppDeviceSettings — no callers. iOS writes only the account-level
    document, because it has no genuinely phone-specific persisted state worth syncing yet (the
    account/device split recorded in feat(settings): adopt the cross-device app-settings sync service #89). They exist so the first such setting has an obvious home
    rather than being appended to the shared document by default — which is the mistake that would be
    hard to undo later.

Comments only. No behaviour change.

Testing

  • xcodebuild … -parallel-testing-enabled NO -skip-testing:InterlinedListTests/E2EReadOnlyTests test
    — 1335 tests, 0 failures.
  • The zero-call-site sweep from /ios-review now returns no unexplained entries.

🤖 Generated with Claude Code

#90 established that every APIClient function without a call site must say why
it is kept, and #113's review sweep found three that don't:
deleteAppSettings, appDeviceSettings and putAppDeviceSettings.

All three are deliberate, not oversights — the per-device document is unwritten
because iOS has no phone-specific persisted state worth syncing yet, and
deleting the account document isn't an action any surface offers. Recording the
reasoning so the next sweep doesn't re-litigate it, or delete routes that exist
to give the first per-device setting an obvious home.

No behaviour change; comments only.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017bss5MgZa7Jvj2m9zdaUd1
@Adron
Adron merged commit 19123cd into main Sep 17, 2026
1 check passed
@Adron
Adron deleted the chore/document-unwired-appsettings-routes branch September 17, 2026 18:22
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