Conversation
…firmations, credential separation, cancellability state, and Swift confirmation handling
Add saved Time Capsule profiles, Keychain-backed passwords, profile-scoped backend execution, and the dashboard/add-device app shell. Unify the GUI and CLI discovery contract around deduped device candidates, preserve root SSH targeting, and document the target GUI architecture. Fix operation ownership so rejected starts do not enter running states and dashboard snapshots are attributed to the profile that started the operation.
Add activity snapshots, operation timelines, dashboard presentation models, device status policies, and flash workflow scaffolding for the saved-device dashboard. Split registry behavior so configure can merge rediscovered devices while profile edits update by ID and reject duplicate hosts or Bonjour fullnames. Route recovery actions, password invalidation, and backend-only readiness activity through app stores with focused Swift coverage. Tests: swift test; .venv/bin/pytest
There was a problem hiding this comment.
Code Review
This pull request introduces a native macOS GUI for the TimeCapsuleSMB project, along with a structured Python backend to support it. The GUI is built using SwiftUI and follows a profile-first architecture, integrating with macOS Keychain for credential storage. The Python backend provides a JSON-based API for operations like discovery, configuration, deployment, and maintenance. Feedback focuses on improving the robustness of the frontend-backend contract by using machine-readable identifiers instead of string matching for recovery actions, ensuring proper task cancellation in the backend client, and addressing hardcoded user-facing strings through the existing localization infrastructure. A potential typo in a macOS version check was also noted.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: fabd699ac8
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request introduces a native macOS GUI for the TimeCapsuleSMB project, featuring a SwiftUI application and a Python-based structured API backend. The changes include documentation for the GUI architecture and UX, implementation of core app components for device discovery, deployment, and maintenance, and updates to the CLI to support structured interactions. Feedback focused on enhancing the robustness and security of the application, specifically by addressing potential blocking writes in the helper communication, tightening Keychain item accessibility attributes, and ensuring data consistency when saving device profiles and passwords.
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request introduces a native macOS GUI for TimeCapsuleSMB, built with Swift and SwiftUI, supported by a new structured Python backend API. The implementation includes a robust architecture for managing device profiles, a centralized operation coordinator, and detailed state machines for discovery, deployment, and maintenance workflows. Feedback on the code identifies performance concerns related to synchronous file I/O on the main actor in the DeviceRegistryStore and blocking read operations in the HelperRunner, both of which could impact UI responsiveness or lead to thread exhaustion.
Implement macOS GUI