Skip to content

[closed in error — wrong repo] chore(fork): always take ours for appcast.xml on upstream merges#136

Closed
Uncle-Peke wants to merge 7 commits into
wxtsky:mainfrom
Uncle-Peke:chore/gitattributes-appcast-ours
Closed

[closed in error — wrong repo] chore(fork): always take ours for appcast.xml on upstream merges#136
Uncle-Peke wants to merge 7 commits into
wxtsky:mainfrom
Uncle-Peke:chore/gitattributes-appcast-ours

Conversation

@Uncle-Peke
Copy link
Copy Markdown

Summary

  • Adds .gitattributes rule appcast.xml merge=ours so future upstream syncs auto-resolve appcast.xml in favor of the fork's empty <channel>.
  • Codifies the policy from eac72c3 feat(fork): point in-app update/About links to Uncle-Peke fork — the fork is not Developer ID signed, so importing upstream's signed enclosure entries would let Sparkle offer fork users an upgrade to upstream's DMG and break installs. Upgrade path stays Homebrew Cask only.
  • Cloud upstream-sync routine prompt updated to run git config merge.ours.driver true in Step 1 so the rule actually fires (driver registration can't be committed).

Why this exists

PR #1's only feature-level conflict was appcast.xml. With this in place, that file should silently resolve to ours on subsequent sync PRs and stop showing up as NEEDS REVIEW.

Test plan

  • Merge this PR
  • Watch the next scheduled upstream-sync run (next: Mon 2026-04-27 09:00 JST) — confirm appcast.xml does not appear under ## Conflicts in the resulting sync PR
  • If a real conflict in another file is needed for verification, manually trigger the routine

seaos-t-adachi and others added 7 commits April 24, 2026 13:40
ExitPlanMode permission requests now show a dedicated two-button UI
(MANUAL / AUTO-ACCEPT) instead of the standard allow/deny card, matching
Claude Code's own plan execution choices. AUTO-ACCEPT sets acceptEdits
mode for the session so subsequent file edits require no further approval.

Also fixes a race where the ExitPlanMode approval card stayed visible
after the user resolved the plan dialog in the terminal: the card is now
auto-dismissed when the session is already running at hook arrival time,
or when the next tool event arrives while ExitPlanMode is still queued.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds an EDIT button (amber) to the ExitPlanMode approval UI in both the
main ApprovalBar and the inline SessionCard. Clicking EDIT reveals a text
input (reusing the QuestionCard "Other" pattern) — submitting sends a
deny response with the typed text as a reason field so Claude can revise
the plan accordingly.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Remove preemptive auto-approve in handlePermissionRequest when session
  is .running/.processing. The status-based heuristic produced false
  positives when ExitPlanMode hooks arrived during unrelated tool
  execution. The queue-and-drain logic in handleHookEvent already covers
  the genuine late-arrival case via the "different-tool event draws the
  stale ExitPlanMode" path.
- Reorder plan approval buttons to [EDIT, MANUAL, AUTO-ACCEPT].
- Add ExitPlanMode-specific row to ApprovalToolDetailView showing the
  plan text inline, with a click hint routing to a full preview window.
- Add PlanPreviewWindowController — a resizable NSWindow with
  monospaced scrolling plan text and selectable copy.
- README: add Uncle-Peke fork notice crediting upstream wxtsky, and add
  install instructions for the Uncle-Peke Homebrew tap.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- SettingsView: About page links now point to the Uncle-Peke repo for
  GitHub / Issues, with an explicit "Upstream" link back to wxtsky's
  original repository.
- Info.plist: SUFeedURL now points to the fork's appcast so Sparkle does
  not silently offer upgrades to the signed upstream DMG over the
  unsigned fork install.
- appcast.xml: cleared to an empty feed for the fork — Homebrew Cask
  owns the upgrade path (`brew upgrade --cask codeisland`). Sparkle
  therefore reports "up to date" for manual DMG installs instead of
  cross-upgrading to upstream.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Drops upstream-only install paths, the features/supported-tools table,
and the star-history chart (that chart tracks wxtsky's stars, not the
fork's). Keeps the upstream credit at the top, the single `brew
install` path, build-from-source against the fork URL, and an explicit
"limitations vs upstream" section so users know what they lose by
choosing the fork (unsigned DMG, no Sparkle auto-update).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- README: explicit note that this fork does not accept bug reports;
  point users at upstream's issue tracker.
- SettingsView: replace fork "Issues" link and standalone "Upstream"
  link with a single "Report Issue (upstream)" entry that jumps
  directly to wxtsky/CodeIsland/issues.

Issues / Wiki / Discussions are also disabled on Uncle-Peke/CodeIsland
itself (via GitHub API) so the UI doesn't even surface an entry point.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds a .gitattributes rule so future upstream syncs auto-resolve
appcast.xml in favor of the fork's empty <channel>. The fork is not
Developer ID signed, so importing upstream's signed enclosure entries
would cause Sparkle to offer fork users an upgrade to upstream's DMG and
break their install. Upgrade path is the Homebrew tap only.

The merge=ours driver must also be registered per-clone (cannot be
committed); the cloud upstream-sync routine needs:

  git config merge.ours.driver true

before invoking `git merge upstream/main`.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@Uncle-Peke
Copy link
Copy Markdown
Author

Sorry, mis-targeted — meant to open this on the fork (Uncle-Peke/CodeIsland), not upstream. Closing.

@Uncle-Peke Uncle-Peke closed this Apr 26, 2026
@Uncle-Peke Uncle-Peke changed the title chore(fork): always take ours for appcast.xml on upstream merges [closed in error — wrong repo] chore(fork): always take ours for appcast.xml on upstream merges Apr 26, 2026
@Uncle-Peke
Copy link
Copy Markdown
Author

Apologies for the noise — this was meant for my fork (Uncle-Peke/CodeIsland), not upstream. gh pr create defaulted the base to the parent repo and I didn't catch it. No action needed on your side; closing and renaming for clarity. Sorry for the notification.

@Uncle-Peke Uncle-Peke deleted the chore/gitattributes-appcast-ours branch April 26, 2026 16:02
nguyenvanduocit pushed a commit to nguyenvanduocit/CodeIsland that referenced this pull request Apr 27, 2026
No new actionable upstream changes since v1.0.23 (Apr 25).
PR wxtsky#133 (Sparkle DEBUG fix), wxtsky#135 (Turkish L10n), wxtsky#136 (wrong-repo) and
Issue wxtsky#134 (cursor-agent/qodercli) all skipped. Notes GitHub Issues
disabled in our repo; tracking continues via kanban only.

https://claude.ai/code/session_01GExyntV3NY82SUvfvjEjJW
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.

2 participants