Switches device configuration to use pct set format for GPU passthrough, simplifying config and improving GUI visibility. Updates GID handling logic for devices, streamlines fix_gpu_gids function, and improves container creation logging and API reporting. Removes commented-out MOTD/SSH debug setup from build copy.func.
Added new 'build copy.func' script for LXC container build and configuration in Proxmox VE, including variable initialization, storage management, resource allocation, and advanced interactive configuration. Updated 'build.func' to support new features and improved logic for container setup, storage selection, and app-specific defaults management.
Added quotes around build_log_copied and install_log_copied variables in conditional checks to prevent potential issues with unbound or empty variables during log display.
Moved MOTD/SSH setup for dev mode in LXC containers to run after installation and when containers are kept for debugging, improving reliability and clarity. Updated journalctl cleanup to avoid using $STD and suppress errors if systemd-journald is not initialized. Also refactored indentation in misc/api.func for consistency.
Switches from a comma-separated FEATURES string to a FEATURES_ARRAY for proper Proxmox parameter handling. Refactors PCT_OPTIONS to an array for safer argument passing, updates container creation calls, and adds API reporting after container creation.
Moved normalization of feature flags (ENABLE_NESTING, ENABLE_KEYCTL, ENABLE_MKNOD, ENABLE_FUSE, PROTECT_CT) to base_settings() for consistent 0/1 values. Updated build_container() to rely on pre-normalized flags and fixed ENABLE_FUSE check. Improved pct create log file naming for uniqueness.
Updated ENABLE_NESTING, ENABLE_KEYCTL, and ENABLE_MKNOD normalization to ensure they are set to 0 or 1, as required by pct. This improves compatibility and prevents issues with non-numeric values.
Simplifies MOTD and SSH setup by sourcing common install functions and conditionally running motd_ssh. Improves error handling and messaging for debugging access during container initialization.
Introduces a new msg_dev function in core.func to standardize development/debugging messages. Updates build.func to use msg_dev for clearer dev mode output, replacing previous msg_custom and msg_info usages for MOTD/SSH setup and container debugging steps.
Introduces support for advanced Proxmox container features including nesting, keyctl, mknod, mount filesystems, protection flag, and timezone. Updates variable handling, settings UI, and container build logic to allow configuration and passing of these options.
Expanded comments and adjusted error handling logic when running the application installer in the container. All error traps are disabled before lxc-attach and restored after, ensuring host error_handler does not interfere with container-level error management.
Introduces granular dev_mode flags (motd, keep, trace, pause, breakpoint, logs, dryrun) with a parser and exports for container builds. Enables persistent log directories when logs mode is active, supports dryrun and trace modes, and adds MOTD/SSH setup and breakpoint shell for debugging. Refactors related logic in build.func, core.func, and install.func for improved developer experience and debugging.
Introduces distinct BUILD_LOG and INSTALL_LOG variables for host and container operations, ensuring logs are properly captured and retrievable. Refactors silent execution and error handling to use the active log file, improves log copying after failures, and enhances context detection for log management. Also adds fallback logic for INSTALL_LOG initialization in install.func.
Enhances reliability of application installation error detection in containers by using an error flag file, improves log copying and user prompts, and updates error handler to create a flag file with the exit code for host-side detection.
Moved failed LXC installation cleanup logic from error_handler.func to build.func. Now, if installation fails, the user is prompted to remove the broken container with a 60s timeout, and the installation log is copied for debugging. Removed the cleanup_failed_lxc function and related trap from error_handler.func for better encapsulation.
Introduces the cleanup_failed_lxc function to prompt for and remove broken containers after failed LXC installs. Updates catch_errors to invoke this cleanup on EXIT, ensuring failed containers are handled automatically or with user confirmation.
Moved the explain_exit_code function directly into api.func, removing external dependency loading. Also cleaned up merge conflict markers and unified documentation for diagnostics_check in build.func.