diff --git a/scripts/install-pulse.sh b/scripts/install-pulse.sh index 6879a3a07..7e74a5da6 100755 --- a/scripts/install-pulse.sh +++ b/scripts/install-pulse.sh @@ -592,27 +592,44 @@ perform_tarball_install() { print_info "NPM dependencies already present in tarball." fi - # Always check if CSS assets need building for tarball installs + # Always check if CSS assets are valid after tarball extraction print_info "Verifying CSS assets in $PULSE_DIR..." # Check if output.css exists and is valid (not corrupted with HTML content) - css_needs_fix=false if [ ! -f "$PULSE_DIR/src/public/output.css" ]; then - print_warning "output.css file is missing - should be present in tarball" - css_needs_fix=true + print_error "Critical: output.css file is missing after tarball extraction. Attempting recovery..." + # Try to re-extract just the CSS file as a fallback + if curl -sL "https://github.com/rcourtman/Pulse/releases/download/$TARGET_TAG/pulse-${TARGET_TAG#v}.tar.gz" | tar -xzf - --to-stdout "pulse-${TARGET_TAG#v}/src/public/output.css" > "$PULSE_DIR/src/public/output.css" 2>/dev/null; then + print_success "CSS file recovered using direct extraction." + chown "$PULSE_USER":"$PULSE_USER" "$PULSE_DIR/src/public/output.css" + else + print_error "Failed to recover CSS file. Installation will continue but frontend may not display correctly." + fi elif [ ! -s "$PULSE_DIR/src/public/output.css" ]; then - print_warning "output.css file is empty - should contain CSS from tarball" - css_needs_fix=true + print_error "Critical: output.css file is empty after tarball extraction. Attempting recovery..." + # Try to re-extract just the CSS file as a fallback + if curl -sL "https://github.com/rcourtman/Pulse/releases/download/$TARGET_TAG/pulse-${TARGET_TAG#v}.tar.gz" | tar -xzf - --to-stdout "pulse-${TARGET_TAG#v}/src/public/output.css" > "$PULSE_DIR/src/public/output.css" 2>/dev/null; then + print_success "CSS file recovered using direct extraction." + chown "$PULSE_USER":"$PULSE_USER" "$PULSE_DIR/src/public/output.css" + else + print_error "Failed to recover CSS file. Installation will continue but frontend may not display correctly." + fi elif head -1 "$PULSE_DIR/src/public/output.css" 2>/dev/null | grep -q " "$PULSE_DIR/src/public/output.css" 2>/dev/null; then + # Verify the recovery worked + if [ -s "$PULSE_DIR/src/public/output.css" ] && ! head -1 "$PULSE_DIR/src/public/output.css" 2>/dev/null | grep -q "