Commit Graph

154 Commits

Author SHA1 Message Date
courtmanr@gmail.com bfda5974bc fix: prevent macOS extended attributes in release tarballs
- Add COPYFILE_DISABLE=1 when creating tarballs to prevent macOS extended attributes
- This fixes 'Ignoring unknown extended header keyword' warnings when extracting on Linux
- No changes needed in community scripts - fixes the root cause at source
2025-05-29 20:53:29 +01:00
courtmanr@gmail.com da491b9e43 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 eb1081f56e 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 b01711c4e7 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 9f0403df55 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 06e0ee81ad 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 2427a595e8 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 9d7af18406 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 49d3856b06 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 2a0d585381 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 8ed2980f8b 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 517949c0a3 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 46e75c69ef 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 00edd8ef8f 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 e63134fa44 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 43bc23dc36 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 4c5a5b6fd2 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 3a8b8e6b4a 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 28296f833a chore: improve installer version verification and add AI workflow to gitignore 2025-05-27 21:10:19 +01:00
courtmanr@gmail.com 3cdb4225a5 feat: Add basic diagnostics functionality and integrate with server 2025-05-27 12:45:52 +01:00
courtmanr@gmail.com 3770f20d6f docs: Update screenshots and related script 2025-05-26 23:02:01 +01:00
courtmanr@gmail.com c738a5edef 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 24d819476e 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 a5ba38c931 fix(scripts): Update tarball creation path in create-release.sh 2025-05-08 15:13:40 +01:00
courtmanr@gmail.com 40ba20bdf3 feat: Add release tarball creation script and documentation 2025-05-08 14:33:17 +01:00
courtmanr@gmail.com d2bea3f7a3 Optimize update process: conditional system upgrade and dependency check 2025-05-06 15:29:57 +01:00
courtmanr@gmail.com 5a3de61451 Fix unterminated single quote error in install script 2025-05-06 15:14:47 +01:00
courtmanr@gmail.com a42b5c914a Remove comments from install script 2025-05-06 15:05:48 +01:00
courtmanr@gmail.com ec6d3b888e refactor(installer): Use npm --silent for quieter installs/builds 2025-05-06 12:24:06 +01:00
courtmanr@gmail.com 17d4544e52 refactor(installer): Reduce verbosity of npm install and build steps 2025-05-06 12:22:17 +01:00
courtmanr@gmail.com aa92883474 fix(installer): Correctly run all npm ops in project root 2025-05-06 12:18:00 +01:00
courtmanr@gmail.com f3a4f23c80 fix(installer): Align with consolidated deps for v3.4.0 2025-05-06 12:15:23 +01:00
courtmanr@gmail.com 32a413328c chore: add debug logging to install script for server deps 2025-05-06 12:13:03 +01:00
courtmanr@gmail.com 223ec4c861 feat: Update screenshot script for threshold/logging 2025-05-04 12:35:46 +01:00
rcourtman 800af62d06 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 d7e5120242 Fix: Restore condensed dependency list text 2025-05-01 15:27:58 +01:00
root 3abd2c84fc Fix: Correct dependency list text in print_dependency_info 2025-05-01 15:26:50 +01:00
root 03d611a396 Fix: Resolve heredoc parsing issue in print_dependency_info 2025-05-01 15:25:14 +01:00
courtmanr@gmail.com 817c89b317 refactor(script): Use while-read loop for robust self-update SHA replacement 2025-05-01 14:45:29 +01:00
courtmanr@gmail.com 638402a69f debug(script): Add checks before sed in self-update 2025-05-01 14:44:26 +01:00
courtmanr@gmail.com 2780fd8a9f fix(script): Use standard GNU sed -i syntax for self-update 2025-05-01 14:43:11 +01:00
courtmanr@gmail.com f5984db292 refactor(script): Improve dependency info formatting 2025-05-01 14:41:24 +01:00
courtmanr@gmail.com 5c9d9525e2 fix: Restore install-pulse.sh to version 623f220 (pre-revert state) 2025-05-01 14:37:02 +01:00
courtmanr@gmail.com 134065804d fix: Restore install-pulse.sh to version with ASCII banner (97691aa) 2025-05-01 14:34:00 +01:00
courtmanr@gmail.com 664a03e6b3 refactor: improve install script logic and flow 2025-05-01 14:25:54 +01:00
courtmanr@gmail.com dfc116fedc Fix: Replace read -p with echo/read for compatibility 2025-05-01 14:23:45 +01:00
courtmanr@gmail.com df1870db16 Refactor: Finalize install script menu order changes 2025-05-01 14:07:33 +01:00
courtmanr@gmail.com 77a18562ba feat(install): Add self-update mechanism to install script 2025-05-01 10:26:00 +01:00
courtmanr@gmail.com be191d4f4b feat(install): Modify script to support specific release tags 2025-05-01 10:21:07 +01:00
courtmanr@gmail.com ed747053ef Add install script 2025-04-29 14:39:24 +01:00