TODOΒΆ

  • tasks/01_setup.yml line 80 hands DECIDIM_ADMIN_PASSWORD to container exec as -e NAME=value in argv (read from the task file, not measured on a stack). Options: feed the value through stdin next to the script, as tasks/03_design.yml does with its payload, or through an env file.

  • With seaweedfs disabled Active Storage uses the local Disk service and writes below /code/storage, which is on no volume: meta/volumes.yml mounts /app/public/uploads and /app/log, and the app at /code writes to neither (both empty on the compose stack). Measured on that stack: ActiveStorage::Blob.service.name is local, and after a role sync had recreated the container /code/storage held 5 files for 740 blob records, so every seeded image, avatar and attachment answered as a broken image. files/ruby/ensure/design.rb attaches its own logo and favicon again when their files are gone. Options: mount a volume at /code/storage, or point the two existing volumes at the paths the app uses.

  • /admin/organization/appearance/edit answers 500 at image version 0.31.6 (measured, before any design change): Decidim::Admin::OrganizationAppearanceController#edit names OrganizationAppearanceForm, a constant no installed gem defines. The administration does not link the route, the colors and the logo are edited on /admin/organization/edit. Options: none inside the role, check again at the next image version.

  • The role creates no Decidim::System::Admin, so the system panel behind /system/admins/sign_in has no account in the production environment; in the development environment the upstream seed creates system@example.org (measured: one system administrator on the compose stack). The design spec therefore covers the sign-in page of the panel only. Options: create the system administrator from the platform administrator in tasks/01_setup.yml with the password on stdin, then extend files/playwright/test-design.js by the panel views.