Skip to content

Changelog

[2026.05.21] - Retire Old App Dashboard

Removed

  • Remove the retired app/dashboard Tauri/PWA control-center code from the monorepo so Dash ownership lives in web/dash.

[2026.05.18] - Sort FairPlay Mods By Stats

Added

  • Add feature, download, and install sort options to the FairPlay mods review view so operators can group and prioritize mods before deciding overrides.
  • Group FairPlay mod records by project in the gallery, table, and review queue so repeated versions of the same mod are handled as one review target.
  • Add a version selector to the FairPlay override modal so operators can apply the shared project rating or choose a specific version/hash override when needed.
  • Mark unreviewed FairPlay mods without a known source as Untrusted instead of only showing them as unreviewed.

[2026.05.18] - Merge Discover Provider Results

Changed

  • Merge matching Discover search results from multiple mod sources into one entry so the same mod no longer appears separately for Modrinth and CurseForge.

[2026.05.18] - Improve FairPlay Mod Review

Added

  • Add a FairPlay mod gallery, table view, and unreviewed mod review queue so operators can scan catalog evidence and open override details faster.

Fixed

  • Open the FairPlay mods and FairPlay servers routes in their dedicated review panels instead of the generic catalog manager.

[2026.05.18] - Show Uebliche Discover Extensions

Added

  • Add Uebliche Extensions as a Discover source filter so first-party catalog entries appear alongside mirrored Modrinth and CurseForge results.

[2026.05.17] - Clean Up Dash Navigation

Changed

  • Reduce the Dash sidebar to primary workspaces, the active workspace links, and a collapsed server list so the dashboard starts with less visual noise.
  • Replace the dashboard overview card wall with prioritized workspace actions and a compact secondary list.
  • Polish the Versions workspace with a clearer scope column, release editor grid, and structured dependency and artifact sections.
  • Move create and edit flows for Dash admin workspaces into overlays so list pages no longer keep editor forms permanently open.
  • Replace the cramped Services permission checkbox wall with a searchable, capped permission picker inside the overlay.

Fixed

  • Keep the notifications menu inside the viewport on tablet-sized Dash layouts.
  • Stop Discover from staying in a permanent loading state when the public catalog API is slow.

[2026.05.10] - Split Friends page shell

Changed

  • Move the Friends page header, summary, search, and loading/error shell into a dedicated FriendsPageShell component, so the active Social refactor brings Friends.vue back under the size guardrail without changing visible Friends behavior.

[2026.05.09] - Split Friends list seam

Changed

  • Move the Friends page list-card, presence badge, and flame-streak rendering into a dedicated FriendList component, so the active Social refactor keeps shrinking Friends.vue without changing visible Friends behavior.

[2026.05.07] - Add Web Discover

Added

  • Add a public /discover page for browsing launcher content in the browser with launcher deep-link actions and an embed-friendly mode.

[2026.05.07] - Add Account Name Menu

Added

  • Add a topbar account-name menu with quick access to profile, friends, settings, shared profiles, feedback, Shop, and Totems.

Changed

  • Use the signed-in account name as the navigation context for account-owned Dash areas.

[2026.05.07] - Add Birthday Reward Settings

Added

  • Add a profile settings panel for entering a locked birthday and IANA time zone, including the next scheduled Premium reward time and support-change guidance.

[2026.05.07] - Localize Friends page copy

Changed

  • Move the Friends page UI copy and date formatting into a dedicated Social text helper with DE/EN variants, so the surface no longer hard-codes visible labels, actions, and request-state messages inside Friends.vue.

[2026.05.07] - Show Server Achievements

Added

  • Add an achievements overview to the Connect server detail view so operators can inspect the assigned network's achievement definitions, icons, progress targets, and reporting endpoint without leaving the server workspace.

[2026.05.07] - Manage Connect Achievements

Added

  • Add a Connect Achievements workspace with network selection, definition list, create/edit form, DE/EN translation fields, progress target, PNG icon uploads, previews, and delete confirmation.

[2026.05.06] - Show patch rollout refresh time

Changed

  • Extend the Citybuild patch rollout success feedback in Dash with the backend-authored main-manifest refresh timestamp, so operators can confirm not only which live base won after merge but also when that manifest state was updated.

[2026.05.05] - Show live base in patch rollout feedback

Changed

  • Extend the Citybuild patch rollout success feedback in Dash with the backend-authored live base from the refreshed main manifest, so operators can confirm the post-merge target without cross-reading the manifest summary card.

[2026.05.04] - Confirm live patch rollout from backend

Changed

  • Extend the Citybuild patch-set merge route with backend-authored main-manifest confirmation fields and let Dash consume that live-vs-queued signal for rollout outcomes, so the queue no longer has to infer the first post-merge state only from the refreshed branch snapshot.

[2026.05.02] - Improve Shop Checkout Return

Added

  • Show a dedicated account Shop page for Polar checkout returns, with success, cancel, and error states plus purchase refresh actions.
  • Keep the previous Shop admin editor available on /admin/shop so operators can still manage products separately from customer checkout.

Changed

  • Strip Polar customer session tokens from the Dash URL after checkout return while preserving the checkout status.

[2026.05.02] - Shop Launch Readiness

Changed

  • Limit Shop role grants to global, non-default roles so admins can only sell launch-ready ranks.
  • Show production and sandbox Polar product ID status for each Shop variant before checkout goes live.

Fixed

  • Surface missing Polar webhook configuration and invalid Shop grants directly in the Shop panel after save or sync.

[2026.05.01] - Manage Hub Permission Nodes

Added

  • Surface seeded Hub permission nodes in the existing Roles and Permissions screens so operators can manage Hub access through Dash.
  • Let operators set the SkyBlock island slot limit as a numeric value on hub.skyblock.slots.max.

[2026.05.01] - Show branch base delta in patch queue

Changed

  • Surface the current main-manifest base version directly on queued patch branch cards, including a warning when a branch still points at an outdated live base, so Dash operators can spot rollout/rebuild risk without cross-checking the manifest summary card.

[2026.04.30] - Surface main-manifest rollout hints

Changed

  • Extend the Maps queue rollout success banner with the refreshed main-manifest patch-set list, so Dash operators can confirm what is now active after a merge without manually comparing branch cards against the manifest summary.

[2026.04.29] - Name live patch rollout results

Changed

  • Name the rolled-out patch set and merged map-version id directly in the Maps queue success banner, so Dash operators can see which patch actually became live or stayed queued after the refresh without inspecting raw API state.

[2026.04.28] - Stabilize patch rollout conflict codes

Changed

  • Return stable backend error codes for Citybuild patch rollout conflicts and consume them directly in Dash, so outdated-base and overlap rejections no longer depend on matching raw exception text.

[2026.04.27] - Clarify patch merge outcomes

Changed

  • Translate the known Citybuild patch-merge blockers in Dash into stable queue copy for outdated-base and overlap rejections, so operators no longer have to read raw backend exception text to understand why a rollout was refused.
  • Distinguish "rolled out and live" from "merged, still not live" after the queue refresh, so the rollout banner reflects whether the main manifest already shows the merged patch.

[2026.04.27] - Show Flame Streak Placement

Added

  • Show friend flame streak placement next to the flame count, using exact # ranks for top-1000 streaks and top-percent labels for lower ranks.

[2026.04.26] - Show Friend Flame Streaks

Added

  • Parse and display friend flame streak badges in the Dash Friends page so operators see the same social streak state returned by the Friends API.

[2026.04.25] - Add patch rollout action to maps queue

Added

  • Add an inline Roll out action to the Maps Citybuild und Patch-Queue panel so Dash operators can merge approved patch sets onto the active main manifest without leaving the queue.

Changed

  • Extend the citybuild/world-patch editor API with a dedicated patch-set merge route, so rollout work now uses the same authenticated Dash flow and audit path as branch submit and review actions.

[2026.04.24] - Clarify pending patch rollout state

Changed

  • Mark approved patch branches that are still queued off the main manifest more explicitly in the Maps Citybuild und Patch-Queue panel, so Dash operators can separate "ready to roll out" work from already-live entries without opening raw API payloads.

Added

  • Add a Copy link action to the News detail panel so Dash operators can copy a direct /news?newsId=... deep link for the currently selected entry without building the URL manually.

[2026.04.22] - Add managed network controls to the server workspace

Added

  • Add in-place managed network and proxy-group controls to the Managed Servers workspace so operators can create networks, assign server roles, edit backend aliases, toggle maintenance, and trigger backend moves without leaving the server view.
  • Surface mesh endpoint, player-count, move-state, and topology-version runtime fields in the managed-server detail panel so proxy/backend orchestration status is visible directly in Dash.

Changed

  • Filter move targets to mesh-capable hosts and keep proxy-group choices scoped to the selected network, so Dash stops offering invalid placement or topology combinations while the user edits a managed server.

[2026.04.22] - Split Connect host onboarding into native and Docker service

Changed

  • Replace the old Docker-first cloud-init host flow with a native-host default plus a separate optional Docker-service install generator, so Connect host onboarding now matches the direct managed-server runtime model.
  • Show host runtime badges and filter managed-server assignment targets to capable hosts only, so Dash surfaces whether a host is native or Docker-based without offering invalid scheduling targets.

[2026.04.22] - Add patch queue review actions

Added

  • Add the first inline review controls to the Maps Citybuild und Patch-Queue panel so submitted patch sets can be approved or rejected directly from Dash instead of requiring shell or ad-hoc API calls.

Changed

  • Extend the citybuild/world-patch editor API with a dedicated patch-set review route, keeping the queue-ready review state aligned between Dash cards and backend audit logging.

[2026.04.21] - Move Connect collaboration onto the server view

Changed

  • Move Connect server access-policy editing, invite management, and publication controls into the server workspace itself, so Dash admins manage collaboration and launcher publishing from one server-centered surface.
  • Remove the old network-level public-server publishing card from the Connect networks page, so Dash no longer exposes a second parallel publication flow beside the server view.

[2026.04.21] - Prioritize submitted patch branches

Changed

  • Reorder the Maps Citybuild und Patch-Queue branch list so SUBMITTED and APPROVED work rises above draft and completed entries, keeping the next review and approval targets visible without extra filtering.

[2026.04.20] - Validate commits with dash build

Changed

  • Run the Dash production build from local Git hooks before both commit and push so broken Vite changes are blocked earlier in the contributor workflow.

[2026.04.20] - Restore dash production build

Fixed

  • Remove the duplicate PublicAdQuestPage import from the dashboard shell so the Vite production build no longer fails with an Identifier has already been declared error during deploys.

[2026.04.20] - Show live patch state in maps queue

Added

  • Add a main-manifest summary to the Maps Citybuild und Patch-Queue panel so operators can see the active base version, live patch-set ids, and district-layer count without leaving Dash.

Changed

  • Enrich patch branch cards with patch-set, review, merged-version, and live-on-main-manifest state so the queue now distinguishes approved-or-merged work from changes that are only submitted or still queued.

[2026.04.19] - Add patch branch actions to maps overview

Added

  • Add in-place branch controls to the Maps Citybuild und Patch-Queue panel so operators can open preview branches from released map versions and submit open branches without leaving the overview.

Changed

  • Move the citybuild/world-patch blocker from missing branch actions to missing release-state visibility, because Dash can now trigger the first queue actions but still does not show which approved patches are already live on the main manifest.

[2026.04.17] - Add citybuild patch overview card

Added

  • Add a read-first Citybuild und Patch-Queue panel to the Maps page so operators can inspect district live heads and current world-patch branches without calling the raw editor APIs manually.

Changed

  • Reframe the next dashboard work on the citybuild/world-patch stack around in-place branch actions, because the visibility gap in Dash is now closed by the new overview panel.

[2026.04.14] - Add public daily ad quest hub

Added

  • Add a standalone public /quests/ad/:token route in Dash that loads a signed ad session, renders the platform daily quest outside the dashboard shell, and reports rewarded, no-fill, rejected, and opened session events back to the Public API.

Changed

  • Add localized de and en copy plus a mobile-optimized rewarded-ad page flow that waits for Funding Choices consent, initializes Google GPT rewarded ads, and only grants the reward after the browser-hub reward callback fires.

[2026.04.14] - Add sponsor quest manager

Added

  • Add a dedicated Connect -> Quests page in Dash so network owners can top up quest budgets, author sponsor quests, and manage quest lifecycle without shell access.

Changed

  • Add audience authoring controls for global, region, country, and locale-filtered quests so sponsor campaigns can target markets such as EU, DE, or German-speaking players directly from the dashboard.

[2026.04.14] - Show account badges on profiles

Added

  • Show account badges on the profile hero and user-detail header so Premium, booster, streak, report, and event markers are visible directly on account surfaces.
  • Add a manual badge editor to the user detail page so staff can grant founder, event, and winner badges without direct database edits.
  • Add an event detail bulk-grant card with Teilnehmer and Sieger presets so the same event badge can be applied to pasted UUID/name lists in one action.

[2026.04.13] - Add cape moderation view

Added

  • Add a dedicated Access -> Capes moderation page in Dash so moderators can inspect pending cape uploads, preview textures, and approve, block, or delete submissions without shell access.

[2026.04.12] - Configure launcher featuring windows

Changed

  • Add featured toggle and optional start/end scheduling to the Connect network public-server form so Dash admins can promote launcher listings permanently or only for event ranges.
  • Add the same highlight controls to shared profile administration, including current active-state feedback and saved schedule details for each selected share.

[2026.04.12] - Add device-code verification route

Added

  • Add /auth/device with a code-first verification flow that resolves native app login codes, survives a Microsoft sign-in redirect, and then forwards approved users into the existing service consent screen.

Fixed

  • Complete uebliche.dev consent requests by marking a pending exchange as approved or declined, so Dash no longer needs to hand auth tokens back through a native app redirect.
  • Tell users to return to the app after approval and rely on the app-side poll loop instead of a brittle uebliche-dev://... handoff.

[2026.04.11] - Add role weight editor

Changed

  • Add a dedicated Gewicht field to the Dash role detail form so admins can edit role priority directly instead of relying only on drag-and-drop order.
  • Explain in the role editor that higher weights drive sorting and the visible highest-role label used by clients such as the launcher.

[2026.04.09] - Use full-width dashboard shell

Changed

  • Remove the global 1200px app cap so dash.uebliche.net now uses the full browser width while keeping the existing page padding and responsive shell behavior.

Fixed

  • Show the consent Open app fallback only after Dash has a completed service token so manual deep-link retries no longer launch uebliche-dev://auth/callback without the auth payload.
  • Reset stale consent tokens when a new consent page loads so the fallback button always targets the current service redirect instead of a previous session.

[2026.04.08] - Add performance incident monitoring view

Added

  • Add a dedicated Performance Incidents page in Dash with filters, detail pane, top-instance context, load snapshots, and saved Gameserver log excerpts for each spike.
  • Add a live incident summary card on the dashboard home and a matching navigator shortcut so open Gameserver spikes can be seen without leaving the overview.

[2026.04.08] - Switch extension matrix to API coverage

Changed

  • Drive the developer Release Matrix from /api/v1/versions/coverage instead of inferring coverage only from raw release artifacts.
  • Show release-by-release coverage selection so active and historical channel builds can be inspected against the same configured loader and Minecraft version matrix.

Fixed

  • Resolve dashboard artifact coverage against first-class minecraftVersions so multi-version artifacts no longer disappear from the matrix view.

[2026.03.29] - Add overlay group event tooling

Added

  • Add overlay group and priority fields to the World Overlays admin view so event-ready overlay definitions can be created directly in Dash.
  • Add a default WORLD_OVERLAY_SET_ACTIVE payload template in the event editor that points admins to overlayGroups and overlayKeys for merged season/event activation.

Changed

  • Show overlay groups and priority in the overlay list cards so the active event layering setup is visible without opening raw placement JSON.

[2026.03.21] - Rebuild dash sidebar navigation

Changed

  • Replace the tiny top navigation pills with a dedicated left sidebar so groups and sub-pages stay visible while moving through the dashboard.
  • Add a compact header context plus mobile drawer toggle so navigation stays reachable on small screens without crowding the topbar.
  • Refine the mobile shell with tighter card spacing, a cleaner header block, and a higher-layer sidebar drawer with its own close action.
  • Flatten the shell styling by reducing radii, shadows, and nested card treatments across the header, sidebar, and overview grid.
  • Update the 404 guidance copy so error pages now point users back to the sidebar.

[2026.03.19] - Add extension release matrix

Added

  • Add a release coverage matrix to the Mod Targets developer page so each extension now shows published artifacts by Minecraft version and loader.

Changed

  • Compare configured target combinations against live /api/v1/versions/releases data and highlight active coverage, historical-only artifacts, missing builds, and release-only extras.
  • Reuse the developer auth flow for release lookups so refreshes pull both target definitions and matching release metadata from the same dashboard view.

[2026.03.17] - Refresh dashboard shell and home

Changed

  • Rebuild the dashboard shell with a calmer premium-glass sidebar, cleaner hero spacing, and clearer navigation grouping.
  • Consolidate global dashboard surfaces, buttons, cards, and inputs onto the shared UI token system for a more consistent dark-only look.
  • Redesign the dashboard home with a stronger command header, clearer quick links, and quieter live status cards for faster scanning.
  • Restyle the Public Servers admin view as the first full reference page with the new overview, filter, stats, and list archetypes.
  • Reduce large gradients across the shell, cards, and admin surfaces so the new dark theme reads cleaner and less decorative.

[2026.03.17] - Add launcher guard admin page

Added

  • Add a new Launcher Guard admin page in Dash to manage the central Network Guard allowlist with filtering, inline editing, and immediate saves.
  • Add a Launcher Guard shortcut to the dashboard navigator so the new admin page is reachable directly from the start screen.

Changed

  • Wire the dashboard admin navigation to the new launcher guard page and gate it behind dedicated read/edit page permissions from the backend.

[2026.03.17] - GeoIP lookup tool

Added

  • Add a dedicated GeoIP dashboard tool view with caller-IP and explicit-IP lookup actions against the Public API.
  • Expose the tool through the main dashboard overview and top-level navigation so admins can jump to it directly.

Changed

  • Gate the dashboard tool behind the new ip:geo.read permission and surface clear permission/auth status before lookups run.

[2026.03.15] - Extension version counter keys

Fixed

  • Resolve extension version counters in the Extensions list by matching both extensionId and internal id keys.
  • Keep extension version count maps normalized with lowercase key variants so list rendering and live refresh stay consistent.
  • Count extension versions by artifact target-game and loader dimensions (including metadata variants) instead of plain release totals.

[2026.03.13] - Service to extension migration action

Added

  • Add a direct Migrate to extension action in the Services editor panel.

Changed

  • Wire the Services admin flow to the new API migration endpoint so service-to-extension migrations can be triggered without manual API calls.
  • Refresh Services and Extensions lists automatically after migration and keep the current service selection when the source service is not deleted.

[2026.02.20] - Apply launcher cloud style in dashboard

Changed

  • Load profile uiStyle settings during dashboard auth bootstrap and apply cloud style tokens to global dashboard CSS variables.
  • Clear cloud-style overrides automatically on sign-out or when style sync is disabled in profile settings.

[2026.02.20] - News poll editor with duration

Added

  • Add poll editing controls to the News detail panel (Attach poll) with question, option list, duration (minutes), and multi-select toggle.
  • Show poll state in the News inbox list (Open/Closed) with total vote count for quick moderation context.

Changed

  • Extend News create/update payload handling in Dash to submit poll data (question, options, multiple, durationMs) to the API.
  • Load existing poll data when selecting a news entry and reset all poll fields with the News form reset action.

Changed

  • Add a Discord server picker to the Roles -> Discord role links panel so admins can switch mapping targets without global API guild config.
  • Pass the selected guildId on role-link load/save/remove calls and keep panel state synchronized with API-selected guilds.
  • Improve role-link fallback flow by auto-selecting the first available linked guild when no guild is currently selected.

[2026.02.18] - Network Discord server linking UI

Added

  • Add a Discord server section to the Networks view (/connect/networks) with:
    • admin-guild picker from linked Discord profile,
    • save/reload/remove link actions,
    • bot invite shortcut and linked guild summary.

Changed

  • Extend Connect admin state handling to load and persist per-network Discord server links via /v1/connect/networks/{networkId}/discord.
  • Show clear status hints when Discord profile linking is missing, no admin guilds are available, or bot configuration is incomplete.

[2026.02.18] - Discord role mapping panel in access roles

Added

  • Add a new Discord role links section to the Roles view so admins can map permission roles to Discord server roles directly in Dash.
  • Add inline mapping actions per role (Save / Remove) with live status messages and guild readiness indicators.

Changed

  • Wire Roles view to the new Discord role-link admin API (/v1/admin/discord/role-links) and show Discord-side capability state (Ready vs Read only) including reason hints.
  • Keep Discord role options synchronized with current server visibility/assignability checks from the API.

[2026.02.18] - Discord linking in profile settings

Added

  • Add a compact Discord account section in /profile/settings with Connect with Discord and Disconnect actions.
  • Show linked Discord account details, guild membership, boost state, and synced rank labels when available from the API.

Changed

  • Extend profile settings client state to load/normalize Discord provider data next to Patreon and supporter settings.
  • Handle Discord OAuth callback query params (discordLinked, discordError) and clean them from the URL after processing.

[2026.02.18] - Reka form controls rollout

Added

  • Add shared UiSelect and UiSwitch components based on reka-ui for consistent selects and toggles across Dash panels.

Changed

  • Replace native selects/toggles with shared reka-ui wrappers in admin panels (Catalog, FairPlay, Friends, Games, Hosts, Networks, Roles, Services, Shop, Skin parts, Totems, Users, profile/settings-related panels).
  • Keep complex multi-select checkbox matrices (permission chips, grant matrices, regex selectors) as native checkboxes to preserve existing multi-value behavior.
  • Align schema-driven extension setting/action editors with the same reka-ui select/switch controls while keeping existing payload handling.

[2026.02.18] - Supporter listing settings

Added

  • Add a new Supporter listing settings block in profile settings so users can control public supporter visibility and tier visibility.
  • Add supporter customization inputs for message and card style (preset, accent) with save action in the same profile settings view.
  • Add a live supporter card preview in profile settings so users can validate visibility, tier badge, message, and design style before saving.

Changed

  • Extend profile settings state handling to load, normalize, edit, and persist supporter settings together with Patreon profile metadata.
  • Show supporter capability hints directly in the UI when custom message/design features are not available for the current supporter tier.
  • Move the supporter preview card to the top of the supporter settings block so visibility and style changes are visible immediately while toggling options.
  • Replace native supporter listing checkboxes with reka-ui switch primitives for better accessibility and consistent interaction styling.
  • Replace the supporter card preset native <select> with reka-ui select primitives (trigger/content/item) for consistent dropdown behavior.

[2026.02.17] - Public profile social actions

Added

  • Add social actions to public profiles so signed-in users can add friends, accept/decline incoming requests, cancel outgoing requests, remove friends, block/unblock, and report.
  • Show relationship status directly on /@:identifier (Friends, Incoming request, Outgoing request, Blocked, etc.).

[2026.02.17] - Public profile route

Added

  • Add a public profile route at /@:identifier to view other accounts by username or UUID.
  • Add a read-only profile panel that shows identity, region metadata, and friend-request visibility.

Changed

  • Allow the public profile route to render without forcing dashboard login for that view.

[2026.02.17] - Patreon availability messaging

Fixed

  • Show the Patreon "not configured on the API" hint only after settings were loaded and the API explicitly reports available=false.
  • Avoid false negative Patreon availability hints during initial loading or profile settings request failures.

[2026.02.17] - FairPlay catalog scope views

Changed

  • Route Access -> FairPlay mods and Access -> FairPlay servers through the catalog manager flow with service scope presets.
  • Preselect catalog viewer scope to service with scopeId=fairplay for FairPlay entry points.

[2026.02.17] - Friends as dedicated page

Changed

  • Move Friends out of the profile page into a dedicated account page at /friends.
  • Keep /profile focused on account details and session history only.
  • Add Friends navigation entries in account overview and account breadcrumb/group menus.

[2026.02.17] - Profile Patreon linking

Changed

  • Handle Patreon OAuth callback query params (patreonLinked, patreonError) in profile settings and clean them from the URL after processing.
  • Show linked Patreon profile details (name/email), supporter status, and tier labels in the profile settings panel when present.

Added

  • Add a Patreon section in profile settings with Connect with Patreon and Disconnect actions backed by the profile settings API.

[2026.02.17] - Root breadcrumb cleanup

Changed

  • Simplify the root breadcrumb in Dash (/) from duplicate Overview / Overview to a compact ... state.

[2026.02.17] - Connect overview refresh

Changed

  • Refresh https://dash.uebliche.net/connect to include all Connect modules in one overview (including MOTDs and News).
  • Add live overview counters for servers, networks, hosts, services, and extensions.
  • Add a Refresh action on the Connect overview to reload Connect inventory data.

[2026.02.17] - Services delete action

Added

  • Add a Delete service action in https://dash.uebliche.net/services for selected services.

Changed

  • Show a delete confirmation in the Services panel and include cleanup details after deletion.

[2026.02.17] - Skin parts migration to launcher service

Changed

  • Migrate the public Skin parts browser flow from Dash catalog to the Launcher service.
  • Keep the legacy Dash URL /catalog/skin-builder/parts as a bridge that forwards to launcher.uebliche.net.

Removed

  • Remove the catalog-side Skin parts view/panel from Dash navigation and internal view routing.

[2026.02.17] - Remove static catalog heads view

Removed

  • Remove the dedicated catalog-heads dashboard view and its /catalog/heads route.
  • Remove static Heads shortcuts from Catalog navigation and overview cards.

Changed

  • Keep Catalog tooling focused on the dynamic Catalog manager flow (/catalog/manage).

[2026.02.17] - Catalog scopes and dynamic viewer

Added

  • Add scope editing to the Catalog manager so catalogs can be assigned to global, service, extension, network, and server targets.
  • Add a dynamic catalog viewer with random preview loading, scope filters (scope + scopeId), and auto-generated table columns from catalog payloads.

Changed

  • Load catalog scope picker options directly in the Catalog manager for services, extensions, networks, and servers.
  • Keep catalog preview selection synchronized with the currently selected catalog entry.

[2026.02.17] - Services domains and catalog manager

Added

  • Add Allowed domains (CORS) to the Services editor so service owners can manage browser origin allowlists directly in Dash.
  • Add inline CORS input guidance (host/origin/wildcard examples) and show configured CORS entry counts in the service list.
  • Add a new Catalog manager panel (/catalog/manage) to create, update, and delete dynamic catalog definitions.

Changed

  • Extend Catalog navigation/overview with a direct Catalogs entry and shortcut card.
  • Wire the new catalog view into route handling and lazy data loading in the main Dash shell.

[2026.02.16] - Connect Cloudflare DNS setup

Added

  • Add a Cloudflare DNS section to the Connect Networks panel so network owners can load/save/remove zoneId + API token config from Dash.
  • Show the active Cloudflare zone metadata (zoneName, zoneId, tokenStatus) after loading the network DNS automation config.

[2026.02.16] - Connect gateway operations panel

Changed

  • Extend Connect navigation and overview cards with a dedicated Gateways view.

Added

  • Add a new ConnectGatewaysPanel that shows gateway node health, endpoint metadata, and active route ownership from admin API endpoints.
  • Add gateway enable/disable controls in Dash, gated by admin:connect:gateway:manage.

Removed

  • Remove the Gateway cloud-init generator from the Gateways view; gateway node provisioning is handled outside Dash.

[2026.02.14] - Skin parts previews

Fixed

  • Render the Skin parts catalog previews without a base texture underneath.

[2026.02.14] - Skin parts browser

Changed

  • Add a browse-only Skin parts view under Catalog and keep moderation under Access.

[2026.02.14] - Skin parts navigation

Changed

  • Move the Skin parts moderation view under the Catalog navigation group (keep the old URL working via redirect).

[2026.02.14] - Skin viewer context stability

Fixed

  • Pause the Preview base 3D renderer in the Skin parts moderation view to avoid WebGL context loss on some GPUs.

[2026.02.14] - Skin part deletion

Added

  • Add a Delete action to the Skin parts moderation view (permission admin:skin-builder-parts:delete).

[2026.02.13] - Role permission values

Fixed

  • Allow editing schema-backed role permissions (numeric values and unit-based amounts) in the Roles view.

[2026.02.09] - Scoped access dropdowns

Fixed

  • Replace the Users scoped access scopeId free-text field with network/server dropdowns.
  • Load scope dropdown options from Connect lists (and filter out agents/templates for server scopes).
  • Fix the Roles scope dropdown loader to use Connect endpoints (no missing network/server options).

[2026.02.09] - Shop duration dropdown

Fixed

  • Replace the Shop duration free-text input with amount + unit dropdowns (s/m/h/d/y).

[2026.02.09] - Scope ID normalization

Fixed

  • Trim scope IDs from admin Connect lists before de-duping to avoid duplicated UUID entries in role pickers.

[2026.02.09] - Scope dropdown dedupe

Fixed

  • Dedupe network/server scope dropdown entries by networkId/serverId.

[2026.02.09] - Roles scope loader

Fixed

  • Always load network/server scope dropdown options when the Roles panel mounts (no missing requests on direct navigation).

[2026.02.09] - Role scope labels

Fixed

  • Prefer Connect IDs (networkId/serverId) when rendering scope dropdown labels.

[2026.02.09] - Admin scope dropdowns

Fixed

  • Load network/server scope dropdowns from admin Connect lists (works for non-owner admins).
  • Use Connect IDs (networkId/serverId) as role scope IDs instead of internal Mongo IDs.

[2026.02.09] - OLED background

Changed

  • Switch the dash background to OLED black.
  • Remove the colored background spots.

[2026.02.09] - Role permission catalog

Fixed

  • Show permission loading errors when editing roles and keep the role list status separate.
  • Fix an SVG icon missing the XML namespace to avoid Sentry/html2canvas image load errors.

[2026.02.09] - Role scope dropdowns

Changed

  • Replace the role scopeId free-text field with network/server dropdowns.

[2026.02.09] - Shop currency fixed

Changed

  • Lock Shop variant currency to EUR (remove free-text currency input).

[2026.02.09] - Shop variant key readonly

Changed

  • Make the Shop variant key field read-only (server-generated).

[2026.02.09] - Permission schema editors

Changed

  • Render permission grant inputs based on server-provided schemas (flag vs unit-based).

[2026.02.09] - Shop interval dropdown

Fixed

  • Replace the Shop subscription interval text input with a dropdown.

[2026.02.09] - Shop panel auth

Fixed

  • Fix the Shop panel message state when fetching via authenticated API requests.

[2026.02.09] - Shop scope dropdowns

Changed

  • Replace the Shop grants and catalog scopes inputs with dropdown-based editors (no free-text).

[2026.02.09] - Shop catalog scopes

Added

  • Allow editing shop catalog scopes in the Shop admin panel.

[2026.02.09] - Shop console

Added

  • Add a Shop admin panel to manage shop items and sync them to Polar (sandbox/production).

[2026.02.08] - Permission values

Added

  • Support editing permission values (quotas/limits) in the permissions and users views.

[2026.02.07] - Logo ring

Changed

  • Remove the orange logo ring styling.

[2026.02.07] - Header lockup

Changed

  • Remove the border from the header lockup.

[2026.02.07] - Mobile header

Changed

  • Refine the header lockup on mobile with a tighter logo/text pill.

[2026.02.07] - Breadcrumb dropdown

Fixed

  • Hide the secondary breadcrumb dropdown when a group has only one item.

[2026.02.07] - Breadcrumb ellipsis

Changed

  • Only show ellipsis on the primary breadcrumb when no group is selected.

[2026.02.07] - Breadcrumb visibility

Changed

  • Always show the secondary breadcrumb dropdown, using an ellipsis when empty.

[2026.02.07] - Breadcrumb ellipsis

Changed

  • Only show ellipsis in the secondary breadcrumb when no item is selected.

[2026.02.07] - Breadcrumb ellipsis

Changed

  • Replace breadcrumb dropdown carets with an ellipsis.

[2026.02.07] - Mobile header alignment

Fixed

  • Keep the header logo and text on the same row on mobile.

[2026.02.07] - Mobile background

Fixed

  • Prevent the mobile background from flashing white.

[2026.02.07] - Breadcrumb cleanup

Fixed

  • Hide the secondary breadcrumb dropdown when it only contains Overview.

[2026.02.07] - Logo rendering

Fixed

  • Render the header logo via an image tag for consistent mobile output.

[2026.02.07] - Logo clamp

Fixed

  • Clamp the inline logo SVG to the header icon size.

[2026.02.07] - Logo size

Fixed

  • Reduce the dashboard logo size in the header.

Fixed

  • Hide the dashboard chrome during consent to avoid touch overlays on mobile.

Fixed

  • Treat /auth/consent as consent mode even if the route name is missing.

Fixed

  • Auto-redirect consent logins once to avoid blocked sign-in taps on mobile.

[2026.02.07] - Login fallback

Fixed

  • Use a direct login link as fallback for the Microsoft sign-in button.

Fixed

  • Always render the consent panel while the consent route is active.

Fixed

  • Guard the consent view against missing redirect or permission lists.

[2026.02.07] - Branded icons

Added

  • Add the Uebliche branding favicon to the dashboard.
  • Add an Apple touch icon for pinned bookmarks.

Changed

  • Replace the orange "Uebliche" topbar text with the shared Uebliche logo.

[2026.02.06] - Public server listings

Added

  • Add a Connect networks block to publish public server listings for the launcher.

[2026.02.05] - News date input

Changed

  • Allow optional time input for news release dates.

[2026.02.05] - News console

Added

  • Add a News management panel with scoped release items and drafts.

[2026.02.05] - Feedback filters

Added

  • Add a "My feedback" filter to the feedback console.

[2026.02.05] - MOTD console

Added

  • Add a MOTD management panel for scoped announcements and scheduling.

[2026.02.04] - Cleaner dropdown

Changed

  • Simplify breadcrumb dropdown styling for a cleaner header.

[2026.02.04] - Overview landing

Added

  • Add a dashboard overview landing page at the root route.

[2026.02.04] - Logout confirm

Changed

  • Replace the logout text button with an icon and confirm overlay.

[2026.02.04] - Profile shortcut

Changed

  • Make the header profile pill open the Profile view.

[2026.02.04] - Breadcrumb polish

Changed

  • Refine breadcrumb dropdown styling for a cleaner look.

[2026.02.04] - Mobile header

Changed

  • Stack breadcrumb dropdowns on mobile for easier tapping.

[2026.02.04] - Breadcrumb alignment

Changed

  • Left-align breadcrumb dropdown menus with their trigger.

[2026.02.04] - Overview breadcrumb

Changed

  • Hide the Overview label in breadcrumbs while keeping it selectable in the dropdown.

[2026.02.04] - Header cleanup

Changed

  • Remove the server picker and actions from the header.

[2026.02.04] - Brand slash styling

Changed

  • Style the trailing slash after dash.uebliche.net like the breadcrumb separators.

[2026.02.04] - Brand slash

Changed

  • Add a trailing slash after the dash.uebliche.net label in the header.

[2026.02.04] - Breadcrumb dropdown

Changed

  • Move the category options into a breadcrumb dropdown in the header.

[2026.02.04] - Transparent header

Changed

  • Remove the dark header background to keep the top bar lighter.

[2026.02.04] - Popout views

Added

  • Support a popout query flag to show only the page content without the header.

[2026.02.04] - Connect servers

Changed

  • Move server navigation back under Connect with a dedicated Servers view.

[2026.02.04] - Servers root

Added

  • Add a Servers root navigation group with its own overview.

[2026.02.04] - Category overviews

Added

  • Add overview pages for Access, Connect, Catalog, and Account.

[2026.02.04] - Header styling

Changed

  • Polish the breadcrumb header styling to match the main panel aesthetic.

[2026.02.04] - Breadcrumb hover fix

Fixed

  • Keep the breadcrumb group dropdown open long enough to select entries.

[2026.02.04] - Breadcrumb navigation

Changed

  • Switch header navigation to a breadcrumb with a secondary row for section options.
  • Show all section options in a compact line under the breadcrumb.

[2026.02.04] - Nav group dropdowns

Changed

  • Replace the single grouped nav selector with custom dropdown menus for each top-level group.
  • Highlight the active group in the header navigation.

[2026.02.04] - Sticky header navigation

Changed

  • Replace the sidebar with a clean header that includes breadcrumbs and grouped navigation.
  • Switch grouped navigation to dropdown selectors for a tighter header.
  • Make the header sticky and surface the Übliche logo on the left.
  • Convert Access, Connect, Games, Catalog, and Account navigation into a single grouped dropdown.
  • Keep header navigation on a single row for desktop layouts.

[2026.02.04] - Dashboard modularization

Changed

  • Split large dashboard view logic into dedicated panels and composables to keep App.vue under 1000 lines.
  • Split the Connect settings editor into smaller components and stream helpers to keep files compact.
  • Tighten the permission grid spacing to make the permission matrix denser.

[2026.02.04] - Feedback inbox

Added

  • Add a feedback inbox view to review and update launcher feedback items.

[2026.02.01] - Feature checklist

Added

  • Add feature checklist page to track project progress.

[2026.01.28] - Feedback scopes view

Added

  • Filter feedback reports by scope type and ID.
  • Show feedback scope metadata in the detail list.

[2026.01.26] - Dash build fix

Fixed

  • Fix the Sentry trace propagation regex to avoid Vite build parse errors.

Changed

  • Center the consent card and refresh the styling for consent requests.
  • Add Sentry error tracking to the dashboard app.
  • Enable Sentry tracing, replay, and logs for dashboard diagnostics.

Changed

  • Issue service-scoped tokens after consent so external apps can finish login flows.

[2026.01.25] - Heads extractor

Added

  • Add a JSON-to-head-id extractor view under the catalog section.

[2026.01.25] - Connect extensions UI

Added

  • Add extension selection and action execution to the Connect server view.
  • Group template servers and temporary instances in the server sidebar.
  • Render Connect settings with schema-driven fields, defaults, and options instead of raw JSON.

Changed

  • Rename Hub settings to extension settings in the server panel.

[2026.01.24] - Account views

Added

  • Add a dashboard view to browse shared launcher profiles with author metadata.
  • Add a read-only profile settings view under the account menu.

[2026.01.24] - Games leaderboard editor

Added

  • Add dashboard controls to create leaderboard definitions.

[2026.01.24] - Games tab

Added

  • Add a Games navigation group with overview, editor, items, and leaderboard views.

[2026.01.23] - Cloud-init docker install

Added

  • Install Docker in Connect host cloud-init output.

[2026.01.23] - Connect status

Added

  • Show Connect last-seen status in the server detail header.

[2026.01.22] - Error pages

Added

  • Add a dedicated error view for dashboard routes with per-status messaging.

[2026.01.22] - Server view cleanup

Fixed

  • Remove the redundant "Back to totems" button from the server detail view.

[2026.01.20] - 2026-01-20

Added

  • Add a Friends tab with requests, favorites, and visibility controls.
  • Stream friend changes over live updates so the Friends view refreshes without manual reloads.

[2026.01.19] - 2026-01-19

Added

  • Add profile privacy settings to allow or block incoming friend requests.

[2026.01.17] - 2026-01-17

Added

  • Add Velocity proxy server list/add/remove actions to the Connect server view and auto-load the list for Velocity servers.

[2026.01.13] - 2026-01-13

Changed

  • Surface server-provided error details in dashboard API errors.

[2026.01.11] - 2026-01-11

Added

  • Add initial dash.uebliche.net scaffold with login and totem gallery views.
  • Add Microsoft sign-in flow for dash sessions.
  • Add server sidebar and profile entry point for totem selection.
  • Add server control view with live settings editor, history, members, and action buttons.

Changed

  • Switch Microsoft sign-in to the public API login endpoints.
  • Use the API base for Microsoft login in production builds and hide the auth-base override field.
  • Gate dashboard content behind the login screen and show the authenticated profile name in the header.