A feature to enable seamless synchronization of settings and configurations across multiple devices via Git, similar to Electerm's settings sync functionality. This will allow users to automatically sync their settings with a specified Git repository, ensuring consistent configurations on all devices without the need for manual export/import.
Motivation
Tabby users often use the app across multiple devices and environments. Implementing Git-based settings sync will:
Ensure consistent configurations across different devices.
Simplify configuration management for teams and individuals who want to maintain a uniform setup.
Reduce the time spent on manually configuring each instance of Tabby.
Increase productivity by maintaining a seamless environment across development machines.
Proposed Implementation
Add a Git Integration Option in Settings
Add an option in the settings menu where users can link a Git repository for syncing.
Allow users to specify the repository URL and set up Git credentials or SSH keys for authentication.
Syncing Mechanics
Provide options to set sync intervals or sync manually.
When syncing, push any local changes in settings to the Git repository, or pull updates from the repository if newer changes are detected.
Handle conflicts (e.g., via prompts or a "Last Write Wins" approach).
Settings Backup Structure
Use a .tabby-config or similar folder structure in the repository to store settings.
Enable the syncing of profiles, themes, plugins, and any other custom configurations.
Encryption and Privacy Options
Allow users to encrypt sensitive data like credentials, possibly with a passphrase, before pushing to Git.
Add an option to exclude specific settings (e.g., credentials) from sync if users prefer not to store them in Git.
UI/UX Considerations
Provide clear indicators of sync status (e.g., last synced timestamp, sync errors).
Display a summary of changes before syncing to give users a clear view of what will be pushed/pulled.
Potential Challenges
Conflict Resolution: Strategies for handling conflicts between local and remote settings.
Security: Ensuring sensitive settings data remains secure, especially when using public repositories.
Network Issues: Handling sync failures gracefully if the user is offline or has network issues.
Feature Request: Git-Based Settings Sync
Description
A feature to enable seamless synchronization of settings and configurations across multiple devices via Git, similar to Electerm's settings sync functionality. This will allow users to automatically sync their settings with a specified Git repository, ensuring consistent configurations on all devices without the need for manual export/import.
Motivation
Tabby users often use the app across multiple devices and environments. Implementing Git-based settings sync will:
Proposed Implementation
Add a Git Integration Option in Settings
Syncing Mechanics
Settings Backup Structure
.tabby-config
or similar folder structure in the repository to store settings.Encryption and Privacy Options
UI/UX Considerations
Potential Challenges
References