Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
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
.envbackup 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) | ||
| } |
Contributor
Author
|
🎉 This PR is included in version 1.14.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.