From 93667e7d3e5069c7658c9aed18decf4aab04d2f2 Mon Sep 17 00:00:00 2001 From: martinyde Date: Tue, 12 May 2026 13:19:48 +0200 Subject: [PATCH 1/2] Updated look admin pages --- docker-compose.oidc.yml | 7 ++++++- .../modules/os2loop_alert/src/Form/SettingsForm.php | 6 ++++-- .../modules/os2loop_analytics/src/Form/SettingsForm.php | 6 ++++-- .../modules/os2loop_cookies/src/Form/SettingsForm.php | 6 ++++-- .../modules/os2loop_documents/src/Form/SettingsForm.php | 6 ++++-- .../modules/os2loop_flag_content/src/Form/SettingsForm.php | 6 ++++-- .../os2loop_mail_notifications/src/Form/SettingsForm.php | 6 ++++-- .../modules/os2loop_member_list/src/Form/SettingsForm.php | 6 ++++-- .../os2loop/modules/os2loop_post/src/Form/SettingsForm.php | 6 ++++-- .../modules/os2loop_question/src/Form/SettingsForm.php | 6 ++++-- .../modules/os2loop_search_db/src/Form/SettingsForm.php | 6 ++++-- .../modules/os2loop_settings/src/Form/SettingsForm.php | 6 ++++-- .../os2loop_share_with_a_friend/src/Form/SettingsForm.php | 6 ++++-- .../os2loop_subscriptions/src/Form/SettingsForm.php | 6 ++++-- .../modules/os2loop_user_login/src/Form/SettingsForm.php | 6 ++++-- 15 files changed, 62 insertions(+), 29 deletions(-) diff --git a/docker-compose.oidc.yml b/docker-compose.oidc.yml index 86d2fff74..baaff8d76 100644 --- a/docker-compose.oidc.yml +++ b/docker-compose.oidc.yml @@ -1,6 +1,8 @@ services: idp-employee: image: ghcr.io/geigerzaehler/oidc-provider-mock:latest + # Let this container be accessible both internally and externally on the same domain. + container_name: idp-employee.${COMPOSE_DOMAIN} networks: - app - frontend @@ -8,9 +10,12 @@ services: - "traefik.enable=true" - "traefik.docker.network=frontend" - "traefik.http.routers.idp-employee_${COMPOSE_PROJECT_NAME:?}.rule=Host(`idp-employee.${COMPOSE_DOMAIN:?}`)" - - "traefik.http.services.idp-employee_${COMPOSE_PROJECT_NAME:?}.loadbalancer.server.port=9400" + expose: + - "80" command: [ + "--port", + "80", "--user-claims", '{"sub": "user", "email": "user@example.com", "groups": ["authenticated"]}', "--user-claims", diff --git a/web/profiles/custom/os2loop/modules/os2loop_alert/src/Form/SettingsForm.php b/web/profiles/custom/os2loop/modules/os2loop_alert/src/Form/SettingsForm.php index 329566a82..a32dffa8c 100644 --- a/web/profiles/custom/os2loop/modules/os2loop_alert/src/Form/SettingsForm.php +++ b/web/profiles/custom/os2loop/modules/os2loop_alert/src/Form/SettingsForm.php @@ -3,6 +3,7 @@ namespace Drupal\os2loop_alert\Form; use Drupal\Core\Config\ConfigFactoryInterface; +use Drupal\Core\Config\TypedConfigManagerInterface; use Drupal\Core\Form\ConfigFormBase; use Drupal\Core\Form\FormStateInterface; use Drupal\Core\StringTranslation\StringTranslationTrait; @@ -40,8 +41,8 @@ final class SettingsForm extends ConfigFormBase { /** * Constructor. */ - public function __construct(ConfigFactoryInterface $config_factory, Settings $settings) { - parent::__construct($config_factory); + public function __construct(ConfigFactoryInterface $config_factory, TypedConfigManagerInterface $typedConfigManager, Settings $settings) { + parent::__construct($config_factory, $typedConfigManager); $this->settings = $settings; } @@ -51,6 +52,7 @@ public function __construct(ConfigFactoryInterface $config_factory, Settings $se public static function create(ContainerInterface $container) { return new static( $container->get('config.factory'), + $container->get('config.typed'), $container->get(Settings::class) ); } diff --git a/web/profiles/custom/os2loop/modules/os2loop_analytics/src/Form/SettingsForm.php b/web/profiles/custom/os2loop/modules/os2loop_analytics/src/Form/SettingsForm.php index 5b3869110..1a716597a 100644 --- a/web/profiles/custom/os2loop/modules/os2loop_analytics/src/Form/SettingsForm.php +++ b/web/profiles/custom/os2loop/modules/os2loop_analytics/src/Form/SettingsForm.php @@ -3,6 +3,7 @@ namespace Drupal\os2loop_analytics\Form; use Drupal\Core\Config\ConfigFactoryInterface; +use Drupal\Core\Config\TypedConfigManagerInterface; use Drupal\Core\Form\ConfigFormBase; use Drupal\Core\Form\FormStateInterface; use Drupal\os2loop_settings\Settings; @@ -30,8 +31,8 @@ final class SettingsForm extends ConfigFormBase { /** * Constructor. */ - public function __construct(ConfigFactoryInterface $config_factory, Settings $settings) { - parent::__construct($config_factory); + public function __construct(ConfigFactoryInterface $config_factory, TypedConfigManagerInterface $typedConfigManager, Settings $settings) { + parent::__construct($config_factory, $typedConfigManager); $this->settings = $settings; } @@ -41,6 +42,7 @@ public function __construct(ConfigFactoryInterface $config_factory, Settings $se public static function create(ContainerInterface $container) { return new static( $container->get('config.factory'), + $container->get('config.typed'), $container->get(Settings::class) ); } diff --git a/web/profiles/custom/os2loop/modules/os2loop_cookies/src/Form/SettingsForm.php b/web/profiles/custom/os2loop/modules/os2loop_cookies/src/Form/SettingsForm.php index ee4e036da..20cdf3edc 100644 --- a/web/profiles/custom/os2loop/modules/os2loop_cookies/src/Form/SettingsForm.php +++ b/web/profiles/custom/os2loop/modules/os2loop_cookies/src/Form/SettingsForm.php @@ -3,6 +3,7 @@ namespace Drupal\os2loop_cookies\Form; use Drupal\Core\Config\ConfigFactoryInterface; +use Drupal\Core\Config\TypedConfigManagerInterface; use Drupal\Core\Form\ConfigFormBase; use Drupal\Core\Form\FormStateInterface; use Drupal\os2loop_settings\Settings; @@ -30,8 +31,8 @@ final class SettingsForm extends ConfigFormBase { /** * Constructor. */ - public function __construct(ConfigFactoryInterface $config_factory, Settings $settings) { - parent::__construct($config_factory); + public function __construct(ConfigFactoryInterface $config_factory, TypedConfigManagerInterface $typedConfigManager, Settings $settings) { + parent::__construct($config_factory, $typedConfigManager); $this->settings = $settings; } @@ -41,6 +42,7 @@ public function __construct(ConfigFactoryInterface $config_factory, Settings $se public static function create(ContainerInterface $container) { return new static( $container->get('config.factory'), + $container->get('config.typed'), $container->get(Settings::class) ); } diff --git a/web/profiles/custom/os2loop/modules/os2loop_documents/src/Form/SettingsForm.php b/web/profiles/custom/os2loop/modules/os2loop_documents/src/Form/SettingsForm.php index 350cebda8..9a3eef0af 100644 --- a/web/profiles/custom/os2loop/modules/os2loop_documents/src/Form/SettingsForm.php +++ b/web/profiles/custom/os2loop/modules/os2loop_documents/src/Form/SettingsForm.php @@ -3,6 +3,7 @@ namespace Drupal\os2loop_documents\Form; use Drupal\Core\Config\ConfigFactoryInterface; +use Drupal\Core\Config\TypedConfigManagerInterface; use Drupal\Core\DependencyInjection\DependencySerializationTrait; use Drupal\Core\Entity\EntityTypeManagerInterface; use Drupal\Core\Form\ConfigFormBase; @@ -41,8 +42,8 @@ final class SettingsForm extends ConfigFormBase { /** * Constructor. */ - public function __construct(ConfigFactoryInterface $config_factory, Settings $settings, EntityTypeManagerInterface $entityTypeManager) { - parent::__construct($config_factory); + public function __construct(ConfigFactoryInterface $config_factory, TypedConfigManagerInterface $typedConfigManager, Settings $settings, EntityTypeManagerInterface $entityTypeManager) { + parent::__construct($config_factory, $typedConfigManager); $this->settings = $settings; $this->fileStorage = $entityTypeManager->getStorage('file'); } @@ -53,6 +54,7 @@ public function __construct(ConfigFactoryInterface $config_factory, Settings $se public static function create(ContainerInterface $container) { return new static( $container->get('config.factory'), + $container->get('config.typed'), $container->get(Settings::class), $container->get('entity_type.manager') ); diff --git a/web/profiles/custom/os2loop/modules/os2loop_flag_content/src/Form/SettingsForm.php b/web/profiles/custom/os2loop/modules/os2loop_flag_content/src/Form/SettingsForm.php index 415aa8b4e..cecbe760f 100644 --- a/web/profiles/custom/os2loop/modules/os2loop_flag_content/src/Form/SettingsForm.php +++ b/web/profiles/custom/os2loop/modules/os2loop_flag_content/src/Form/SettingsForm.php @@ -3,6 +3,7 @@ namespace Drupal\os2loop_flag_content\Form; use Drupal\Core\Config\ConfigFactoryInterface; +use Drupal\Core\Config\TypedConfigManagerInterface; use Drupal\Core\Form\ConfigFormBase; use Drupal\Core\Form\FormStateInterface; use Drupal\node\Entity\NodeType; @@ -31,8 +32,8 @@ final class SettingsForm extends ConfigFormBase { /** * Constructor. */ - public function __construct(ConfigFactoryInterface $config_factory, Settings $settings) { - parent::__construct($config_factory); + public function __construct(ConfigFactoryInterface $config_factory, TypedConfigManagerInterface $typedConfigManager, Settings $settings) { + parent::__construct($config_factory, $typedConfigManager); $this->settings = $settings; } @@ -42,6 +43,7 @@ public function __construct(ConfigFactoryInterface $config_factory, Settings $se public static function create(ContainerInterface $container) { return new static( $container->get('config.factory'), + $container->get('config.typed'), $container->get(Settings::class) ); } diff --git a/web/profiles/custom/os2loop/modules/os2loop_mail_notifications/src/Form/SettingsForm.php b/web/profiles/custom/os2loop/modules/os2loop_mail_notifications/src/Form/SettingsForm.php index 8a6ff84bf..abd5b3b9c 100644 --- a/web/profiles/custom/os2loop/modules/os2loop_mail_notifications/src/Form/SettingsForm.php +++ b/web/profiles/custom/os2loop/modules/os2loop_mail_notifications/src/Form/SettingsForm.php @@ -3,6 +3,7 @@ namespace Drupal\os2loop_mail_notifications\Form; use Drupal\Core\Config\ConfigFactoryInterface; +use Drupal\Core\Config\TypedConfigManagerInterface; use Drupal\Core\Entity\EntityFieldManagerInterface; use Drupal\Core\Form\ConfigFormBase; use Drupal\Core\Form\FormStateInterface; @@ -40,8 +41,8 @@ final class SettingsForm extends ConfigFormBase { /** * Constructor. */ - public function __construct(ConfigFactoryInterface $config_factory, Settings $settings, EntityFieldManagerInterface $entityFieldManager) { - parent::__construct($config_factory); + public function __construct(ConfigFactoryInterface $config_factory, TypedConfigManagerInterface $typedConfigManager, Settings $settings, EntityFieldManagerInterface $entityFieldManager) { + parent::__construct($config_factory, $typedConfigManager); $this->settings = $settings; $this->entityFieldManager = $entityFieldManager; } @@ -52,6 +53,7 @@ public function __construct(ConfigFactoryInterface $config_factory, Settings $se public static function create(ContainerInterface $container) { return new static( $container->get('config.factory'), + $container->get('config.typed'), $container->get(Settings::class), $container->get('entity_field.manager') ); diff --git a/web/profiles/custom/os2loop/modules/os2loop_member_list/src/Form/SettingsForm.php b/web/profiles/custom/os2loop/modules/os2loop_member_list/src/Form/SettingsForm.php index 55e32c02d..b7cdfdb7f 100644 --- a/web/profiles/custom/os2loop/modules/os2loop_member_list/src/Form/SettingsForm.php +++ b/web/profiles/custom/os2loop/modules/os2loop_member_list/src/Form/SettingsForm.php @@ -3,6 +3,7 @@ namespace Drupal\os2loop_member_list\Form; use Drupal\Core\Config\ConfigFactoryInterface; +use Drupal\Core\Config\TypedConfigManagerInterface; use Drupal\Core\Form\ConfigFormBase; use Drupal\Core\Form\FormStateInterface; use Drupal\Core\StringTranslation\StringTranslationTrait; @@ -32,8 +33,8 @@ final class SettingsForm extends ConfigFormBase { /** * Constructor. */ - public function __construct(ConfigFactoryInterface $config_factory, Settings $settings) { - parent::__construct($config_factory); + public function __construct(ConfigFactoryInterface $config_factory, TypedConfigManagerInterface $typedConfigManager, Settings $settings) { + parent::__construct($config_factory, $typedConfigManager); $this->settings = $settings; } @@ -43,6 +44,7 @@ public function __construct(ConfigFactoryInterface $config_factory, Settings $se public static function create(ContainerInterface $container) { return new static( $container->get('config.factory'), + $container->get('config.typed'), $container->get(Settings::class) ); } diff --git a/web/profiles/custom/os2loop/modules/os2loop_post/src/Form/SettingsForm.php b/web/profiles/custom/os2loop/modules/os2loop_post/src/Form/SettingsForm.php index 3b05eef46..55d1e487f 100644 --- a/web/profiles/custom/os2loop/modules/os2loop_post/src/Form/SettingsForm.php +++ b/web/profiles/custom/os2loop/modules/os2loop_post/src/Form/SettingsForm.php @@ -3,6 +3,7 @@ namespace Drupal\os2loop_post\Form; use Drupal\Core\Config\ConfigFactoryInterface; +use Drupal\Core\Config\TypedConfigManagerInterface; use Drupal\Core\Form\ConfigFormBase; use Drupal\Core\Form\FormStateInterface; use Drupal\Core\StringTranslation\StringTranslationTrait; @@ -32,8 +33,8 @@ final class SettingsForm extends ConfigFormBase { /** * Constructor. */ - public function __construct(ConfigFactoryInterface $config_factory, Settings $settings) { - parent::__construct($config_factory); + public function __construct(ConfigFactoryInterface $config_factory, TypedConfigManagerInterface $typedConfigManager, Settings $settings) { + parent::__construct($config_factory, $typedConfigManager); $this->settings = $settings; } @@ -43,6 +44,7 @@ public function __construct(ConfigFactoryInterface $config_factory, Settings $se public static function create(ContainerInterface $container) { return new static( $container->get('config.factory'), + $container->get('config.typed'), $container->get(Settings::class) ); } diff --git a/web/profiles/custom/os2loop/modules/os2loop_question/src/Form/SettingsForm.php b/web/profiles/custom/os2loop/modules/os2loop_question/src/Form/SettingsForm.php index a1f0f5b9e..0737a57fb 100644 --- a/web/profiles/custom/os2loop/modules/os2loop_question/src/Form/SettingsForm.php +++ b/web/profiles/custom/os2loop/modules/os2loop_question/src/Form/SettingsForm.php @@ -3,6 +3,7 @@ namespace Drupal\os2loop_question\Form; use Drupal\Core\Config\ConfigFactoryInterface; +use Drupal\Core\Config\TypedConfigManagerInterface; use Drupal\Core\Form\ConfigFormBase; use Drupal\Core\Form\FormStateInterface; use Drupal\Core\StringTranslation\StringTranslationTrait; @@ -32,8 +33,8 @@ final class SettingsForm extends ConfigFormBase { /** * Constructor. */ - public function __construct(ConfigFactoryInterface $config_factory, Settings $settings) { - parent::__construct($config_factory); + public function __construct(ConfigFactoryInterface $config_factory, TypedConfigManagerInterface $typedConfigManager, Settings $settings) { + parent::__construct($config_factory, $typedConfigManager); $this->settings = $settings; } @@ -43,6 +44,7 @@ public function __construct(ConfigFactoryInterface $config_factory, Settings $se public static function create(ContainerInterface $container) { return new static( $container->get('config.factory'), + $container->get('config.typed'), $container->get(Settings::class) ); } diff --git a/web/profiles/custom/os2loop/modules/os2loop_search_db/src/Form/SettingsForm.php b/web/profiles/custom/os2loop/modules/os2loop_search_db/src/Form/SettingsForm.php index cbdb27f55..912851791 100644 --- a/web/profiles/custom/os2loop/modules/os2loop_search_db/src/Form/SettingsForm.php +++ b/web/profiles/custom/os2loop/modules/os2loop_search_db/src/Form/SettingsForm.php @@ -3,6 +3,7 @@ namespace Drupal\os2loop_search_db\Form; use Drupal\Core\Config\ConfigFactoryInterface; +use Drupal\Core\Config\TypedConfigManagerInterface; use Drupal\Core\Form\ConfigFormBase; use Drupal\Core\Form\FormStateInterface; use Drupal\Core\StringTranslation\StringTranslationTrait; @@ -33,8 +34,8 @@ final class SettingsForm extends ConfigFormBase { /** * Constructor. */ - public function __construct(ConfigFactoryInterface $config_factory, Settings $settings) { - parent::__construct($config_factory); + public function __construct(ConfigFactoryInterface $config_factory, TypedConfigManagerInterface $typedConfigManager, Settings $settings) { + parent::__construct($config_factory, $typedConfigManager); $this->settings = $settings; } @@ -44,6 +45,7 @@ public function __construct(ConfigFactoryInterface $config_factory, Settings $se public static function create(ContainerInterface $container) { return new static( $container->get('config.factory'), + $container->get('config.typed'), $container->get(Settings::class) ); } diff --git a/web/profiles/custom/os2loop/modules/os2loop_settings/src/Form/SettingsForm.php b/web/profiles/custom/os2loop/modules/os2loop_settings/src/Form/SettingsForm.php index 9dc3487ec..a9383da1b 100644 --- a/web/profiles/custom/os2loop/modules/os2loop_settings/src/Form/SettingsForm.php +++ b/web/profiles/custom/os2loop/modules/os2loop_settings/src/Form/SettingsForm.php @@ -3,6 +3,7 @@ namespace Drupal\os2loop_settings\Form; use Drupal\Core\Config\ConfigFactoryInterface; +use Drupal\Core\Config\TypedConfigManagerInterface; use Drupal\Core\Form\ConfigFormBase; use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Link; @@ -49,8 +50,8 @@ final class SettingsForm extends ConfigFormBase { /** * Constructor. */ - public function __construct(ConfigFactoryInterface $config_factory, Settings $settings, PathValidatorInterface $pathValidator) { - parent::__construct($config_factory); + public function __construct(ConfigFactoryInterface $config_factory, TypedConfigManagerInterface $typedConfigManager, Settings $settings, PathValidatorInterface $pathValidator) { + parent::__construct($config_factory, $typedConfigManager); $this->settings = $settings; $this->pathValidator = $pathValidator; } @@ -61,6 +62,7 @@ public function __construct(ConfigFactoryInterface $config_factory, Settings $se public static function create(ContainerInterface $container) { return new static( $container->get('config.factory'), + $container->get('config.typed'), $container->get(Settings::class), $container->get('path.validator') ); diff --git a/web/profiles/custom/os2loop/modules/os2loop_share_with_a_friend/src/Form/SettingsForm.php b/web/profiles/custom/os2loop/modules/os2loop_share_with_a_friend/src/Form/SettingsForm.php index b600031a4..658b482c1 100644 --- a/web/profiles/custom/os2loop/modules/os2loop_share_with_a_friend/src/Form/SettingsForm.php +++ b/web/profiles/custom/os2loop/modules/os2loop_share_with_a_friend/src/Form/SettingsForm.php @@ -3,6 +3,7 @@ namespace Drupal\os2loop_share_with_a_friend\Form; use Drupal\Core\Config\ConfigFactoryInterface; +use Drupal\Core\Config\TypedConfigManagerInterface; use Drupal\Core\Form\ConfigFormBase; use Drupal\Core\Form\FormStateInterface; use Drupal\Core\StringTranslation\StringTranslationTrait; @@ -33,8 +34,8 @@ final class SettingsForm extends ConfigFormBase { /** * Constructor. */ - public function __construct(ConfigFactoryInterface $config_factory, Settings $settings) { - parent::__construct($config_factory); + public function __construct(ConfigFactoryInterface $config_factory, TypedConfigManagerInterface $typedConfigManager, Settings $settings) { + parent::__construct($config_factory, $typedConfigManager); $this->settings = $settings; } @@ -44,6 +45,7 @@ public function __construct(ConfigFactoryInterface $config_factory, Settings $se public static function create(ContainerInterface $container) { return new static( $container->get('config.factory'), + $container->get('config.typed'), $container->get(Settings::class) ); } diff --git a/web/profiles/custom/os2loop/modules/os2loop_subscriptions/src/Form/SettingsForm.php b/web/profiles/custom/os2loop/modules/os2loop_subscriptions/src/Form/SettingsForm.php index 68c48b67b..b46934b41 100644 --- a/web/profiles/custom/os2loop/modules/os2loop_subscriptions/src/Form/SettingsForm.php +++ b/web/profiles/custom/os2loop/modules/os2loop_subscriptions/src/Form/SettingsForm.php @@ -3,6 +3,7 @@ namespace Drupal\os2loop_subscriptions\Form; use Drupal\Core\Config\ConfigFactoryInterface; +use Drupal\Core\Config\TypedConfigManagerInterface; use Drupal\Core\Form\ConfigFormBase; use Drupal\Core\Form\FormStateInterface; use Drupal\Core\StringTranslation\StringTranslationTrait; @@ -33,8 +34,8 @@ final class SettingsForm extends ConfigFormBase { /** * Constructor. */ - public function __construct(ConfigFactoryInterface $config_factory, Settings $settings) { - parent::__construct($config_factory); + public function __construct(ConfigFactoryInterface $config_factory, TypedConfigManagerInterface $typedConfigManager, Settings $settings) { + parent::__construct($config_factory, $typedConfigManager); $this->settings = $settings; } @@ -44,6 +45,7 @@ public function __construct(ConfigFactoryInterface $config_factory, Settings $se public static function create(ContainerInterface $container) { return new static( $container->get('config.factory'), + $container->get('config.typed'), $container->get(Settings::class) ); } diff --git a/web/profiles/custom/os2loop/modules/os2loop_user_login/src/Form/SettingsForm.php b/web/profiles/custom/os2loop/modules/os2loop_user_login/src/Form/SettingsForm.php index 96942ef5c..5dd8d5d51 100644 --- a/web/profiles/custom/os2loop/modules/os2loop_user_login/src/Form/SettingsForm.php +++ b/web/profiles/custom/os2loop/modules/os2loop_user_login/src/Form/SettingsForm.php @@ -3,6 +3,7 @@ namespace Drupal\os2loop_user_login\Form; use Drupal\Core\Config\ConfigFactoryInterface; +use Drupal\Core\Config\TypedConfigManagerInterface; use Drupal\Core\Form\ConfigFormBase; use Drupal\Core\Form\FormStateInterface; use Drupal\Core\StringTranslation\StringTranslationTrait; @@ -33,8 +34,8 @@ final class SettingsForm extends ConfigFormBase { /** * Constructor. */ - public function __construct(ConfigFactoryInterface $config_factory, Settings $settings) { - parent::__construct($config_factory); + public function __construct(ConfigFactoryInterface $config_factory, TypedConfigManagerInterface $typedConfigManager, Settings $settings) { + parent::__construct($config_factory, $typedConfigManager); $this->settings = $settings; } @@ -44,6 +45,7 @@ public function __construct(ConfigFactoryInterface $config_factory, Settings $se public static function create(ContainerInterface $container) { return new static( $container->get('config.factory'), + $container->get('config.typed'), $container->get(Settings::class) ); } From c2127121c1a8fb1b6962cdcb92bf70af7a6b137f Mon Sep 17 00:00:00 2001 From: martinyde Date: Tue, 12 May 2026 13:26:27 +0200 Subject: [PATCH 2/2] Updated changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d68808224..733763665 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,10 @@ Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +- [PR-392](https://github.com/itk-dev/os2loop/pull/392) + - Update admin forms to match d11 + - Update OIDC container + - [PR-391](https://github.com/itk-dev/os2loop/pull/391) Mail development setup