Commit graph

20 commits

Author SHA1 Message Date
Joe
d8d6a53fce Update dependencies and add CLI completions support
- Updated several dependencies in `Cargo.lock` and `Cargo.toml`, including `anyhow`, `tempfile`, `clap`, and others to their latest versions for improved functionality and security.
- Introduced a new `CompletionsCommand` in the CLI to support shell completions, enhancing user experience by allowing users to generate command completions for various shells.

These changes aim to keep the project dependencies up-to-date and improve the command-line interface usability.
2026-03-01 07:14:55 -06:00
Joe
640b2d3d97 Enhance git metadata handling and improve change detection logic
- Introduced a new function `getGitMetadata` in `ApiContext` to fetch current git metadata, including new file IDs.
- Updated the `PatchTree.build` function to handle new file IDs, allowing for better differentiation between tracked and untracked files during patch processing.
- Modified the `git_changed_files` function to return both tracked and untracked files, improving accuracy in change detection.
- Enhanced the `App` component to debounce git metadata refreshes, ensuring the UI reflects the latest changes without unnecessary calls.

These changes aim to improve the integration with git and enhance the accuracy of change detection in the application.
2026-03-01 07:10:14 -06:00
Joe
b8bd92d665 Update button style logic in Confirming page based on selection state
- Modified the button style in the Confirming page to dynamically switch between "Primary" and "Neutral" based on whether all items are selected, enhancing visual feedback for users.

This change aims to improve user experience by providing clearer indications of the current selection state.
2026-03-01 07:00:46 -06:00
Joe
cd87c63a89 Enhance git integration and optimize change detection in ServeSession
- Introduced a new function to retrieve the current HEAD commit SHA, allowing for better tracking of changes in the git repository.
- Updated the `git_changed_files` function to accept an initial HEAD parameter, improving the accuracy of change detection.
- Modified `ServeSession` to store the initial HEAD commit SHA at session start, ensuring committed changes are reflected in the auto-selection logic.
- Enhanced tests to verify that committed changes after session start are correctly identified and included in the change tracking.

These changes aim to improve the synchronization process with git and enhance the user experience by ensuring accurate change detection.
2026-03-01 06:59:22 -06:00
Joe
7d08b8990f Update TODO list and refine selection logic in Confirming page
- Removed outdated tasks from the TODO list related to one-shot mode changes, streamlining focus on current issues.
- Enhanced the selection logic in the Confirming page to prevent auto-selection of new items when changes are detected, improving user experience during updates.

These changes aim to clarify task management and enhance the handling of user selections in the application.
2026-03-01 06:51:30 -06:00
Joe
118c195e64 Enhance TODO list and improve ServeSession synchronization logic
- Updated the TODO list to clarify tasks related to auto-selection and one-shot synchronization, ensuring better tracking of issues.
- Introduced a new flag `__oneShotSyncDone` in `ServeSession` to manage synchronization state, preventing further message processing after a one-shot sync is completed.
- Improved the handling of incoming changes during the patch visualizer, ensuring user selections are appropriately managed.

These changes aim to streamline synchronization processes and enhance user experience during patch management.
2026-03-01 06:50:38 -06:00
Joe
63b0b031ff Optimize syncback process and enhance patch selection logic
- Improved the syncback functionality by detecting unchanged output file hashes to avoid unnecessary writes, optimizing performance for larger projects.
- Updated the patch selection logic to ensure that auto-selection only occurs when the current selection matches the default, enhancing user experience during patch reviews.

These changes aim to streamline file synchronization and improve the clarity of patch management in the application.
2026-03-01 06:43:25 -06:00
Joe
a15f4f1aa8 Refactor TODO list and enhance slugification for reserved names
- Updated the TODO list to consolidate and clarify tasks, removing outdated entries while retaining relevant ones.
- Enhanced the slugification logic to treat "init" and its case variations as reserved names, ensuring they are properly suffixed with an underscore.
- Added tests to verify the slugification behavior for reserved names, improving code reliability.

These changes aim to streamline task management and ensure consistent handling of reserved names in the application.
2026-03-01 06:41:29 -06:00
Joe
d2f739ece6 Enhance right-click functionality in PatchVisualizer
- Added support for right-click events in the PatchVisualizer component, allowing users to unselect nodes and manage subtree selections more intuitively.
- Updated the TODO list to remove outdated tasks related to the change visualizer, streamlining focus on current issues.

These changes aim to improve user interaction and simplify task management within the application.
2026-03-01 06:38:14 -06:00
Joe
ec51c14a41 Enhance error handling and improve script tracking in RojoTree and ServeSession
- Added a test to verify the functionality of script tracking updates in RojoTree, ensuring proper addition and removal of script references.
- Improved error handling in ServeSession by clearing temporary script IDs upon disconnection to prevent potential memory leaks.
- Updated API logic to filter out empty properties and children during instance addition, enhancing the integrity of the synchronization process.

These changes aim to optimize script management and enhance the robustness of the session handling and tree operations.
2026-02-28 11:16:10 -06:00
Joe
9d6b48a53e Refactor TODO list and improve error handling in RojoTree
- Removed outdated tasks related to scripts-only mode from the TODO list to streamline focus on current issues.
- Enhanced the remove method in RojoTree to prevent unnecessary operations when an ID does not exist.
- Improved error handling in the remove_metadata function to gracefully handle missing metadata.

These changes aim to optimize task management and enhance the robustness of the RojoTree implementation.
2026-02-28 11:09:13 -06:00
Joe
9d387d2a52 Update TODO list with error handling and sync issues
- Added detailed error messages related to Rojo crashes and two-way sync operations in the TODO list.
- Included specific instances of removed references during synchronization to aid in debugging.
- Highlighted the need to address the Rojo bug and suggested filing an issue for further investigation.

These updates aim to enhance error tracking and improve the management of synchronization tasks.
2026-02-28 11:07:11 -06:00
Joe
57433a0158 Enhance scripts-only mode handling and improve temp ID resolution
- Introduced a new mechanism in ServeSession to manage scripts-only mode, ensuring proper handling of temporary IDs during script additions.
- Updated the applyPatch function to remap only scripts-only temp IDs, preventing false positives with legitimate additions.
- Modified the API to resolve intermediate container temp IDs to real tree references, enhancing the integrity of parent-child relationships for new scripts.
- Added tests to verify the functionality of scripts-only mode and the resolution of temp IDs.

These changes aim to optimize script management and improve the overall functionality of the session handling.
2026-02-28 07:23:49 -06:00
Joe
4985a3fede work 2026-02-28 06:11:16 -06:00
Joe
89e7e0282d Refactor TODO list and enhance sourcemap watch functionality
- Updated the TODO list to refine tasks related to sync performance in scripts only mode, emphasizing the need to prune non-script leaves.
- Enhanced the sourcemap command to handle non-terminal stdin during watch mode, allowing for graceful exit when stdin is closed.

These changes aim to improve project management and optimize the sourcemap functionality.
2026-02-28 05:31:01 -06:00
Joe
8fc56dc6f0 Update TODO list and project template with new ignore paths and sync optimizations
- Added tasks to investigate Tree reconciliation issues and improve sync performance in scripts only mode.
- Updated the project template to include ignore paths for ServerStorage/RBX_ANIMSAVES and MoonAnimator2Saves, enhancing version control practices.

These updates aim to streamline project management and optimize synchronization processes.
2026-02-28 05:28:16 -06:00
Joe
28021d52d0 Update TODO list with new tasks for auto selection and ignore list
- Added a task to address the issue of unchanged commits in Git by suggesting the inclusion of the last Git hash.
- Included a note to add ServerStorage/RBX_ANIMSAVES to the ignore list.

These updates aim to improve task management and enhance the project's version control practices.
2026-02-23 17:38:03 -06:00
Joe
7cee5ca877 Update TODO list with new tasks for Atlas sync functionality
- Added detailed tasks for implementing Atlas sync, including conditions for automatic acceptance and handling of connected-mode operations.
- Emphasized the need for the agent to await sync completion to ensure state integrity.

These updates aim to enhance the project's synchronization capabilities and improve task management.
2026-02-22 06:44:00 -06:00
Joe
cdac7f7446 Update TODO list with new tasks for versioning and merging
- Added tasks for setting up a nightly build and suffixing the version for beta releases under the versioning section.
- Included a note on improving property diffs and merging support in the merging section.

These updates aim to enhance project management and development workflow.
2026-02-22 06:12:31 -06:00
Joe
4387412658 Update VSCode settings for Lua and Luau formatting
- Added default formatter and enabled format on save for Lua and Luau in the VSCode settings for both the main project and the project template.

These changes aim to improve code formatting consistency and streamline the development workflow.
2026-02-22 06:01:32 -06:00