Commit Graph

153 Commits

Author SHA1 Message Date
courtmanr@gmail.com 0d5825d57f fix: support tarball installations in installer script
- Add detection for tarball vs git installations via package.json validation
- Handle version checking for tarball installations using remote API
- Provide proper update paths for both installation types
- Fix "invalid git repository" error for tarball installations
- Ensure both installation types can be updated seamlessly

This resolves issues where tarball installations were incorrectly flagged
as invalid and prevented from updating.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-29 09:38:01 +01:00
courtmanr@gmail.com 304dbc952c fix: comprehensive installer resilience improvements
- Replace destructive git clean with selective conflict handling
- Add comprehensive backup/restore system for user data (.env, custom configs, data dirs)
- Implement emergency recovery procedures with clear user guidance
- Preserve user configuration across both tarball and git update methods
- Add safety checks before destructive operations
- Provide detailed error messages and recovery instructions

This addresses critical reliability issues that were causing configuration loss
during automatic updates, significantly improving user experience and trust.

Key improvements:
- Backup: .env, custom-config.json, user-settings.json, data/, logs/, backups/, custom/
- Smart conflict resolution instead of destructive git clean
- Multi-layered backup system (user data + full installation backup)
- Automatic restoration with proper permissions
- Emergency recovery with clear manual instructions

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-29 09:34:55 +01:00
courtmanr@gmail.com 593e0b0d03 fix: preserve .env file during automatic updates
- Backup .env file before git clean to prevent configuration loss
- Restore .env file after git operations with proper ownership
- Ensures user configuration survives cron-based updates

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-29 09:29:53 +01:00
courtmanr@gmail.com cd34a2bb2c feat: add tarball support to installation and release scripts
Installation Script Improvements:
- Add tarball download and extraction functions
- Prefer tarballs over git clone for version tag installations
- Maintain git clone fallback for reliability and branch installations
- Add intelligent CSS/dependency detection to skip builds when present
- Fix non-interactive mode to handle fresh installations

Release Script Improvements:
- Include pre-built CSS and build configuration files
- Add production npm dependencies to tarballs
- Add verification for essential files in releases
- Update instructions to promote automated installation
- Ensure compatibility with tarball installation approach

Benefits:
- Faster installations (no npm install/CSS build required)
- More reliable in constrained network environments
- Backward compatible with existing workflows
- Maintains full functionality for development branches

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-29 00:05:37 +01:00
courtmanr@gmail.com cba1f787b4 fix: prevent install script from prompting for input in non-interactive mode
- Add MODE_UPDATE checks to skip all user prompts when --update flag is used
- Prevents "Invalid choice" errors in automated/cron environments
- Script now proceeds with default actions in non-interactive mode
- Fixes installation failures when no user input is available

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-28 23:28:38 +01:00
courtmanr@gmail.com f48fb579b7 fix: correct stderr redirection in print_error function
- Move >&2 redirection outside of echo command to properly redirect to stderr
- Fixes display of literal ">&2" text in error messages

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-28 17:12:37 +01:00
courtmanr@gmail.com e2c601f90d fix: handle grep exit codes in install script to prevent installation failures
- Add proper error handling for grep commands that may return no matches
- Fix branch detection pipelines with || true pattern
- Add 2>/dev/null to suppress error messages for branch existence checks
- Fix systemctl service detection grep command
- Resolves installation error "[ERROR] in line 37: exit code 0" reported in issue #84

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-28 14:55:20 +01:00
courtmanr@gmail.com eac750af24 Merge feature/pve-backups-support into main
- Adds PVE backup and snapshot support
- Adds snapshot modal for viewing VM/CT snapshots
- Integrates PVE backup tasks with PBS backup data
- Adds storage backup content fetching
2025-05-28 13:35:47 +01:00
courtmanr@gmail.com 3ce8430c10 feat: add storage tab screenshot and unify screenshot layout
- Add storage tab screenshot to complete UI coverage
- Make all desktop screenshots consistent viewport size (1440x900px)
- Update all mobile screenshots to new numbering (06-08)
- Combine desktop and mobile screenshots into single unified section
- Create perfect 2x2 grid layout for desktop views
- Ensure all screenshots use viewport capture for consistency
2025-05-28 11:28:39 +01:00
courtmanr@gmail.com ae0b686ec8 fix: make mobile screenshots consistent viewport size
- Remove fullPage and screenshotTarget from mobile sections
- All mobile screenshots now use viewport capture (430x932px)
- Ensures consistent alignment in README table layout

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-28 11:10:54 +01:00
courtmanr@gmail.com 9a31ccd792 feat: add mobile screenshots and enhance screenshot tool
- Add mobile viewport support to screenshot script with iPhone 14 Pro Max dimensions
- Generate mobile screenshots for dashboard, PBS view, and backups view
- Fix chart toggle selector bug (label:has() instead of missing for attribute)
- Reduce screenshot wait times for faster generation
- Update README with new mobile screenshots section
- Refresh all existing desktop screenshots

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-28 11:06:40 +01:00
courtmanr@gmail.com 5c10de9977 Add interactive branch selection to install script
- Add prompt_for_branch_selection() function to list available feature branches
- Add 'Test a feature branch' option to all menus (uptodate, update, fresh install)
- Users can now browse and select branches interactively instead of needing --branch flag
- Filters for feature/, hotfix/, and dev/ branches only

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-28 10:03:00 +01:00
courtmanr@gmail.com d20170efcc Fix branch detection logic in install script
Reorder the version check logic to prioritize branch/version specifications
over the up-to-date check. This ensures that --branch flag properly triggers
update mode instead of getting stuck in uptodate mode.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-28 09:58:34 +01:00
courtmanr@gmail.com bb640c17c2 Fix branch menu for update mode in install script
When using --branch with an up-to-date installation, the script was falling
into update mode but showing generic 'Update to latest version' instead of
the branch-specific menu.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-28 09:56:26 +01:00
courtmanr@gmail.com a16ddfbca1 Improve install script menu clarity for --branch option
- Add specific menu case for branch installations
- Show 'Install branch X (for testing)' instead of confusing 'Update to latest version'
- Makes it clear that option 1 will install the specified branch

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-28 09:54:03 +01:00
courtmanr@gmail.com 3611c1a4ad feat: add --branch option to install script for testing
- Add --branch parameter to allow installing from any branch
- Users can now test features with: curl ... | sudo bash -s -- --branch feature-name
- Validates branch exists before checkout
- Shows clear warnings that branches are for testing only
- Updates version display to show branch/commit info
- Prevents using both --version and --branch together

This makes it easy for users to test features before release
2025-05-28 09:49:45 +01:00
courtmanr@gmail.com a864997833 feat: add --branch option to install script for testing
- Add --branch parameter to allow installing from any branch
- Users can now test features with: curl ... | sudo bash -s -- --branch feature-name
- Validates branch exists before checkout
- Shows clear warnings that branches are for testing only
- Updates version display to show branch/commit info
- Prevents using both --version and --branch together

This makes it easy for users to test features before release
2025-05-28 09:32:56 +01:00
courtmanr@gmail.com 6dc1fe5b51 chore: improve installer version verification and add AI workflow to gitignore 2025-05-27 21:10:19 +01:00
courtmanr@gmail.com a483b7bcc4 feat: Add basic diagnostics functionality and integrate with server 2025-05-27 12:45:52 +01:00
courtmanr@gmail.com db148574db docs: Update screenshots and related script 2025-05-26 23:02:01 +01:00
courtmanr@gmail.com dd6d25f6dd Refactor: Update screenshot script to reflect UI changes, remove logging view and add storage view 2025-05-24 22:01:10 +01:00
courtmanr@gmail.com 625c127973 Fix(screenshots): Update screenshot tool and docs. Remove Node View, adjust targets, implement postAction, renumber files, and update README. 2025-05-20 17:03:41 +01:00
courtmanr@gmail.com 66eb64ab11 fix(scripts): Update tarball creation path in create-release.sh 2025-05-08 15:13:40 +01:00
courtmanr@gmail.com 5755a14d7b feat: Add release tarball creation script and documentation 2025-05-08 14:33:17 +01:00
courtmanr@gmail.com 91245cbfee Optimize update process: conditional system upgrade and dependency check 2025-05-06 15:29:57 +01:00
courtmanr@gmail.com a783425cef Fix unterminated single quote error in install script 2025-05-06 15:14:47 +01:00
courtmanr@gmail.com 6830e87a08 Remove comments from install script 2025-05-06 15:05:48 +01:00
courtmanr@gmail.com 04965b965f refactor(installer): Use npm --silent for quieter installs/builds 2025-05-06 12:24:06 +01:00
courtmanr@gmail.com 09afcaa450 refactor(installer): Reduce verbosity of npm install and build steps 2025-05-06 12:22:17 +01:00
courtmanr@gmail.com ed1bec9214 fix(installer): Correctly run all npm ops in project root 2025-05-06 12:18:00 +01:00
courtmanr@gmail.com 8aeacee49a fix(installer): Align with consolidated deps for v3.4.0 2025-05-06 12:15:23 +01:00
courtmanr@gmail.com 4602da86d8 chore: add debug logging to install script for server deps 2025-05-06 12:13:03 +01:00
courtmanr@gmail.com 6511345736 feat: Update screenshot script for threshold/logging 2025-05-04 12:35:46 +01:00
rcourtman 83092cec39 feat: Add automated screenshot generation script | Implements Playwright script (scripts/take-screenshots.js) to capture UI views. Adds npm run screenshot command. Includes playwright as a dev dependency. Updates README.md to use generated screenshots. (#73) 2025-05-02 10:35:23 +01:00
root 5fed14dbac Fix: Restore condensed dependency list text 2025-05-01 15:27:58 +01:00
root b1e66c6668 Fix: Correct dependency list text in print_dependency_info 2025-05-01 15:26:50 +01:00
root 80ac734270 Fix: Resolve heredoc parsing issue in print_dependency_info 2025-05-01 15:25:14 +01:00
courtmanr@gmail.com 52c6d7b208 refactor(script): Use while-read loop for robust self-update SHA replacement 2025-05-01 14:45:29 +01:00
courtmanr@gmail.com 4b9a66f5ae debug(script): Add checks before sed in self-update 2025-05-01 14:44:26 +01:00
courtmanr@gmail.com 3f1c375f14 fix(script): Use standard GNU sed -i syntax for self-update 2025-05-01 14:43:11 +01:00
courtmanr@gmail.com f17fe257b1 refactor(script): Improve dependency info formatting 2025-05-01 14:41:24 +01:00
courtmanr@gmail.com ca7d740507 fix: Restore install-pulse.sh to version 623f220 (pre-revert state) 2025-05-01 14:37:02 +01:00
courtmanr@gmail.com 0ad13755e3 fix: Restore install-pulse.sh to version with ASCII banner (97691aa) 2025-05-01 14:34:00 +01:00
courtmanr@gmail.com 6be48b65d8 refactor: improve install script logic and flow 2025-05-01 14:25:54 +01:00
courtmanr@gmail.com 144a9128f5 Fix: Replace read -p with echo/read for compatibility 2025-05-01 14:23:45 +01:00
courtmanr@gmail.com 159fa7858a Refactor: Finalize install script menu order changes 2025-05-01 14:07:33 +01:00
courtmanr@gmail.com 69a56c717e feat(install): Add self-update mechanism to install script 2025-05-01 10:26:00 +01:00
courtmanr@gmail.com 148ece4097 feat(install): Modify script to support specific release tags 2025-05-01 10:21:07 +01:00
courtmanr@gmail.com b00d425f80 Add install script 2025-04-29 14:39:24 +01:00
courtmanr@gmail.com 8a640a5e99 fix: Correct print_warning function definition syntax 2025-04-29 11:58:30 +01:00