Introduce a new rms.auth.oauth auth method plugin for OAuth/OIDC code flow with standard provider settings (authorize/token/userinfo URLs, client credentials, scope, redirect URI and extra params). Add server callback handling and OAuth challenge state tracking, UI redirect/error handling, and keep the plugin disabled by default via manifest defaultEnabled=false.
Return auth.method_unavailable when a user requests an auth method that is not enabled for their account, rather than silently sending the smtp-link challenge. Also log requested/selected method details in auth.request_access audit entries for easier diagnostics.
Introduce a manual-release reservation hold on station state so auto slot activation is suppressed for the current reserved user until the reservation window ends or is removed. Clear the hold on activation/reservation updates and backfill missing hold fields for existing station state files.
Stop auto-activating reservation slots immediately after a manual station release. This ensures the 'Station deaktivieren' action actually leaves the station deactivated, while reservation ownership remains intact until the user deletes the reservation.
Keep periodic/status-driven SWR image reloads disabled, but refresh the SWR report when swr.run.finished or swr.report.changed events arrive so newly generated images are loaded once via updated timestamps.
Disable periodic and station-status-triggered SWR report refreshes on the web UI, and only use per-band updatedAt values for cache-busting image URLs. This prevents constant image refetching while still loading new images when their timestamps actually change.
Show a persistent red hint in the reservations section that users must delete their reservation to free the station for others, with matching DE/EN i18n entries.
Add the reusable RMS core application (server, web UI, plugins, tests, tools) with generic defaults, GPL licensing, and maintainer context documentation so deployments can consume this repo as software source independent of station-specific overlays.