Context: The Tangled fork (tangled branch) is a git-over-SSH backend; the
upstream SettingView.addFavicon / addLogo flows call the Octokit REST API
directly (PUT /repos/{owner}/{repo}/contents/{path}) when the user clicks
"Apply settings to site" in Appearance settings. A Tangled connection has no
Octokit, so v1 defers this (decision 10 in docs/notes/tangled-fork.md).
v1 behavior: on PublishPlatform.Tangled, skip the favicon/logo writes and
show a Notice (settings other than favicon/logo still apply via updateEnv).
Suggested follow-up path (this issue):
Route the icon/logo writes through the user garden connection's updateFile
(they are just src/site/favicon.svg / src/site/logo.* repo files) instead
of the raw Octokit calls in SettingView.addFavicon/addLogo.
Reuse the existing "Content base directory" prefixing already applied by the
path builders in src/publisher/paths.ts.
Keep the GitHub path unchanged; add a small abstraction (e.g. a method on
RepositoryConnection) so both backends share one code path.
Relates to: Tangled fork plan (docs/notes/tangled-fork.md).
Context: The Tangled fork (tangled branch) is a git-over-SSH backend; the upstream
SettingView.addFavicon/addLogoflows call the Octokit REST API directly (PUT /repos/{owner}/{repo}/contents/{path}) when the user clicks "Apply settings to site" in Appearance settings. A Tangled connection has no Octokit, so v1 defers this (decision 10 indocs/notes/tangled-fork.md).v1 behavior: on PublishPlatform.Tangled, skip the favicon/logo writes and show a Notice (settings other than favicon/logo still apply via
updateEnv).Suggested follow-up path (this issue):
updateFile(they are justsrc/site/favicon.svg/src/site/logo.*repo files) instead of the raw Octokit calls inSettingView.addFavicon/addLogo.src/publisher/paths.ts.RepositoryConnection) so both backends share one code path.Relates to: Tangled fork plan (docs/notes/tangled-fork.md).