Fixed a syntax error in the update script setup section of main-installer.sh:
- Fixed incorrect brace closure (using '}' instead of 'fi')
- Fixed indentation for better code readability
- Ensured proper nesting of if conditions
- This should resolve the error during installation when copying module files
💡 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
This commit addresses multiple code consistency and reliability issues across the codebase:
1. Version consistency - use package.json version (2.0.9) throughout
2. Improved module loading with better error handling and consistent symlinks
3. Enhanced data directory handling with better error checking
4. Fixed redundant code in main-installer.sh
5. Improved error handling in transmission-client.js
6. Added extensive module symlink creation
7. Better file path handling and permission checks
8. Enhanced API response handling
💡 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Created reusable ensure_npm_packages function for consistency
- Fixed npm install being called in wrong directory during installation
- Added proper directory context preservation for npm operations
- Ensured package.json file is always copied to installation directory
- Added checks to prevent redundant npm installations
- Improved error handling and reporting for npm operations
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Added improved data directory handling in RSSFeedManager
- Added synchronous creation of data directory in constructor
- Created test-and-start.sh script to ensure data directory exists
- Updated service module to use the startup script
- Added fallback methods for data directory creation
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Added create_directories function to properly set up directory structure
- Added copy_module_files function to ensure JS modules are copied correctly
- Updated server.js to handle module imports more resiliently
- Fixed imports to work with both .js and no extension module references
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Move utils-module.sh sourcing before any log function calls
- Remove duplicate sourcing line
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fixed bootstrap-installer to prompt for installation directory with /opt/trans-install as default
- Updated main-installer to detect and use existing installation path from service file
- Modified config-module to use installation directory from environment or default to /opt/trans-install
- Updated README with clear information about the default installation path
- Bumped version to 2.0.7
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add logic to set input_remote based on TRANSMISSION_REMOTE from environment
- Add detailed debug logging for environment variables
- Ensure consistent behavior between direct mode and piped input
- Fix issue where environment variables weren't correctly propagating
This ensures that when remote mode is selected in install-script.sh, it's correctly respected in the main installer even when running in update mode.
- Move Transmission remote details collection to install-script.sh
- Pass all remote details to main-installer.sh via environment file
- Avoid duplicate prompting for remote details
- Improve non-interactive mode with proper default values
- Add check in main-installer.sh to use provided remote details
This solves the problem where remote Transmission details were collected in install-script.sh but not properly used in the main installer when updating an existing installation.
- Add detection for non-interactive terminal (piped input)
- Properly read input from pipe in install-script.sh
- Use pre-set environment variables when available
- Add better fallbacks for script usage
- Fix syntax error in main installer script
- More detailed logging of input handling process
This ensures the installer can be used both interactively and in scripts/automated setups.
- Add debug logging to track input values
- Replace regex matching with direct string comparison for better reliability
- Add explicit checks for 'y' and 'Y' input values
- This fixes an issue where remote mode wasn't correctly detected from user input
This commit addresses an issue where the remote Transmission settings weren't properly applied when running in update mode:
1. Add prompt for remote Transmission details in update mode
2. Add code to modify the config.json file directly with the user's remote Transmission settings
3. Set default CONFIG_DIR and USER variables early in the script
4. Add detailed configuration dialog including:
- Remote host and port
- Username and password
- RPC path
- Directory mapping between remote and local paths
This ensures that users selecting remote Transmission mode will always be prompted for the connection details, even when updating an existing installation.
This commit addresses an issue where the Transmission remote setting wasn't properly preserved between install scripts.
Major changes:
- Fixed environment variable sharing between install-script.sh and main-installer.sh
- Added multiple methods to locate and load the .env.install file
- Removed duplicate log message in dependencies-module.sh
- Improved permission handling for the environment file
- Directly export TRANSMISSION_REMOTE variable before launching main-installer.sh
This ensures the user's choice of remote or local Transmission is correctly honored throughout the installation process.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Move the remote Transmission prompt to main installer before config module is called
- Modify config module to use the already-set TRANSMISSION_REMOTE variable
- Remove existing logic in config module that was causing issues
- Clean up environment variables when invoking installer from bootstrap
- Remove emergency fallback since we now handle it in the right order
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add emergency fallback to ask about remote Transmission if config step was skipped
- Add CONFIG_GATHERED flag to track if config step was run
- Improve bootstrap installer with clear explanation of what to expect
- Explicitly check for gather_configuration success and output debug info
- Add additional variable initialization to ensure consistent behavior
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Move SCRIPT_DIR initialization before its usage
- Ensure TRANSMISSION_REMOTE is initialized with default value
- Add logging to show whether remote or local Transmission is being used
- Initialize TRANSMISSION_REMOTE at the start of gather_configuration
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix bug where installer doesn't ask if Transmission is remote
- Fix missing configuration directory in /etc/transmission-rss-manager
- Create symlink between config locations to ensure app always finds config
- Ensure CONFIG_DIR is properly exported in the environment
- Update version to 2.0.4
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Update version in server.js
- Update version in installer scripts
- Update version in utility modules
- Update version in file creator module
- Ensure consistent 2.0.0 version across codebase
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add system status card to dashboard with uptime and version display
- Implement version checking against git repository
- Add one-click update functionality
- Update footer and version references to 2.0.0
- Add server endpoints for status, update checking, and update application
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>