Skip to content

Bugfix beta#829

Draft
Slyke wants to merge 5 commits into
masterfrom
bugfix-beta
Draft

Bugfix beta#829
Slyke wants to merge 5 commits into
masterfrom
bugfix-beta

Conversation

@Slyke

@Slyke Slyke commented Jul 12, 2026

Copy link
Copy Markdown
Collaborator

Summary

Modernizes the Python build menu and fixes several service-option, validation, rendering, and command-handling bugs.

Key changes

  • Replaced dynamic exec-based service hooks with a versioned importlib hook API.
  • Added shared Python/Blessed configuration menus for environment variables and passwords.
  • Password options now support:
    • documented defaults
    • custom values
    • generated values
    • viewing previously saved values
  • Settings are stored in the root .env and remain available on later runs.
  • Fixed Gitea options appearing empty when values were already configured.
  • Added actionable build warnings for missing required environment variables.
  • Added a scrollable issue viewer for terminals with limited width or height.
  • Removed redundant legacy password menus and password cache files.
  • Preserved companion services such as gitea_db when restoring saved stacks.
  • Fixed missing imports and terminal signal/cursor handling across service menus.
  • Fixed commands incorrectly reporting success after Docker or hook failures.
  • Updated bundled service hooks and contributor documentation for the new API.
  • Converted the default-port documentation generator from Bash parsing to Python/YAML parsing.

Existing Docker Compose projects remain compatible. New service modules should use the versioned Python hook API.

Notable fixes

  • Gitea database-password interpolation failures are shown before building.
  • Gitea provides configuration controls for both database passwords, its secret key, and internal token.
  • Grafana options no longer crash because of a missing signal import.
  • Nextcloud no longer presents duplicate password controls.
  • Random passwords are retained in .env and can be viewed again.
  • Long build errors are wrapped instead of being truncated.

Validation

  • 62 regression tests pass.
  • 61 service templates validated.
  • 53 Python files passed syntax/AST validation.
  • 35 shell scripts passed bash -n.
  • docker-compose config -q passes.
  • Gitea settings and password menus were tested interactively in an 80×24 terminal.
  • Verified restored Gitea settings retain custom port changes while reconnecting saved passwords to .env interpolation.

This PR is still undergoing testing and is not ready to be merged, but is ready for public testing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant