Skip to content

feat: add new project banner#73

Merged
sirily11 merged 1 commit into
mainfrom
banner
May 31, 2026
Merged

feat: add new project banner#73
sirily11 merged 1 commit into
mainfrom
banner

Conversation

@sirily11
Copy link
Copy Markdown
Contributor

No description provided.

Copilot AI review requested due to automatic review settings May 31, 2026 15:41
@vercel
Copy link
Copy Markdown

vercel Bot commented May 31, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
rxcode Ready Ready Preview, Comment May 31, 2026 3:42pm

Request Review

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a hook-driven Autopilot secrets banner for new project/chat screens, with deep-link routing into the Manage Secrets sheet and related hook lifecycle/API support. The PR also includes a plan-mode behavior adjustment.

Changes:

  • Introduces hook banner infrastructure and renders an Autopilot .env backup prompt above the chat input.
  • Adds secrets deep-link parsing/routing, sheet auto-navigation, and a cross-environment file search API.
  • Expands/renames the secrets hook to AutopilotHook, adds project-delete cleanup, and updates plan-mode exit handling.

Reviewed changes

Copilot reviewed 23 out of 23 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
RxCode/Views/Secrets/SecretsRepoDetailView.swift Adds an optional Done action for pushed sheet views.
RxCode/Views/Secrets/SecretsManageSheet.swift Adds navigation path state and auto-navigation to the current repo.
RxCode/Views/Secrets/SecretsEnvironmentDetailView.swift Adds Done action support and changes Add Secret affordance.
RxCode/Views/Secrets/SecretsDeepLink.swift Adds secrets setup request and deep-link parser/builder.
RxCode/Views/ProjectWindowView.swift Renders hook banners and runs new-chat hooks on project/session changes.
RxCode/Views/MainView.swift Renders hook banners, runs/reruns new-chat hooks, and presents the secrets setup sheet.
RxCode/Views/Hooks/SecretsEnvBanner.swift Adds the Autopilot secrets backup banner UI.
RxCode/Views/Hooks/HookBannerHost.swift Adds a host for hook-provided banner views.
RxCode/Services/Secrets/SecretsService.swift Adds the secrets file search endpoint wrapper.
RxCode/Services/Hooks/hooks/SecretsAutoDownloadHook.swift Removes the previous secrets auto-download hook.
RxCode/Services/Hooks/hooks/AutopilotHook.swift Adds the renamed/expanded Autopilot hook.
RxCode/Services/Hooks/HookManager.swift Adds project-delete dispatch and new debug logging.
RxCode/Services/Hooks/AppStateHookController.swift Implements banner state, persisted dismissals, and updated secrets helpers.
RxCode/Resources/Localizable.xcstrings Adds new banner-related localization keys.
RxCode/App/RxCodeApp.swift Routes secrets deep links through window URL handlers.
RxCode/App/AppState+Worktree.swift Dispatches project-delete hook cleanup.
RxCode/App/AppState+Stream.swift Keeps plan mode active after reject decisions.
RxCode/App/AppState+Hooks.swift Adds a helper to run new-chat hooks from views.
RxCode/App/AppState.swift Adds hook banner/setup request state and registers AutopilotHook.
Packages/Sources/RxCodeCore/Secrets/SecretsModels.swift Adds models for cross-environment secrets file search.
Packages/Sources/RxCodeCore/Hooks/HookPayloads.swift Adds project-delete hook payload/event kind.
Packages/Sources/RxCodeCore/Hooks/HookController.swift Extends hook controller API for banners and secrets file checks.
Packages/Sources/RxCodeCore/Hooks/Hook.swift Adds default project-delete hook callback.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +27 to +30
private func bannerID(for project: Project) -> String? {
guard let repo = project.gitHubRepo else { return nil }
let repoSlug = repo.split(separator: "/").last.map(String.init) ?? repo
return "\(repoSlug)-new-project-autopilot"
Comment on lines +28 to +30
func value(_ name: String) -> String? {
items.first(where: { $0.name == name })?.value?.removingPercentEncoding
}
Comment on lines +20 to +24
// Accept both rxcode://secrets/add and rxcode:secrets/add forms.
let host = url.host
let firstPath = url.pathComponents.first(where: { $0 != "/" })
let segment = host ?? firstPath
guard segment == "secrets" else { return nil }
Comment on lines +686 to +688
if let request = SecretsDeepLink.parse(url) {
appState.secretsSetupRequest = request
return .handled
Comment on lines 51 to 53
Text("No secrets yet. Add a .env file or enter values manually.")
.foregroundStyle(.secondary)
}
Comment on lines +27 to +30
private func bannerID(for project: Project) -> String? {
guard let repo = project.gitHubRepo else { return nil }
let repoSlug = repo.split(separator: "/").last.map(String.init) ?? repo
return "\(repoSlug)-new-project-autopilot"
Comment on lines +28 to +30
func value(_ name: String) -> String? {
items.first(where: { $0.name == name })?.value?.removingPercentEncoding
}
Comment on lines +20 to +24
// Accept both rxcode://secrets/add and rxcode:secrets/add forms.
let host = url.host
let firstPath = url.pathComponents.first(where: { $0 != "/" })
let segment = host ?? firstPath
guard segment == "secrets" else { return nil }
Comment on lines +686 to +688
if let request = SecretsDeepLink.parse(url) {
appState.secretsSetupRequest = request
return .handled
Comment on lines 51 to 53
Text("No secrets yet. Add a .env file or enter values manually.")
.foregroundStyle(.secondary)
}
@sirily11 sirily11 enabled auto-merge (squash) May 31, 2026 15:58
@sirily11 sirily11 merged commit 44f3479 into main May 31, 2026
14 checks passed
@sirily11 sirily11 deleted the banner branch May 31, 2026 16:01
@sirily11
Copy link
Copy Markdown
Contributor Author

sirily11 commented Jun 2, 2026

🎉 This PR is included in version 1.14.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request released

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants