diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6ea2772..a7e16e9 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,10 @@
# Changelog
+## [0.5.9] - 2026-02-17
+### Changed
+- Kanal-Badges zeigen immer alle Kanaele aufsteigend sortiert mit Kanalnamen (auch bei 0 Anfragen)
+- Label-Zeile "Anfragen/Kanal" entfernt
+
## [0.5.8] - 2026-02-17
### Changed
- Anfragen-Zaehler zeigt nur noch Anfragen von heute (Reset um Mitternacht)
diff --git a/config.yaml b/config.yaml
index b2c6177..b0a3a78 100644
--- a/config.yaml
+++ b/config.yaml
@@ -1,4 +1,4 @@
-version: "0.5.8"
+version: "0.5.9"
bot:
name: "MeshDD-Bot"
diff --git a/static/index.html b/static/index.html
index f465f58..ff7521a 100644
--- a/static/index.html
+++ b/static/index.html
@@ -104,10 +104,7 @@
-
- Anfragen/Kanal:
-
-
+
diff --git a/static/js/dashboard.js b/static/js/dashboard.js
index 7406f19..282b9f6 100644
--- a/static/js/dashboard.js
+++ b/static/js/dashboard.js
@@ -168,14 +168,11 @@ function updateStats(stats) {
const chBreakdown = document.getElementById('channelBreakdown');
const chCounts = stats.channel_breakdown || {};
- if (Object.keys(chCounts).length > 0) {
- chBreakdown.innerHTML = Object.entries(chCounts).map(([chIdx, count]) => {
- const chName = channels[chIdx] || `Ch ${chIdx}`;
- return `${escapeHtml(chName)} ${count}`;
- }).join('');
- } else {
- chBreakdown.innerHTML = 'Noch keine Anfragen';
- }
+ const sortedChannels = Object.entries(channels).sort((a, b) => parseInt(a[0]) - parseInt(b[0]));
+ chBreakdown.innerHTML = sortedChannels.map(([chIdx, chName]) => {
+ const count = chCounts[chIdx] || 0;
+ return `${escapeHtml(chName)} ${count}`;
+ }).join('');
}
function isOnline(lastSeen) {