Compare commits

..

8 Commits

Author SHA1 Message Date
gronod 205d95e232 release: sync release/v1.2.1 with main
Create Release / release (push) Successful in 14s
Build and Push Docker Image / build (push) Successful in 36s
CI / Security audit (push) Has been cancelled
CI / Tests & coverage (push) Has been cancelled
2026-05-17 20:55:12 +01:00
gronod 6865b860bc merge: develop -> main (title repo link)
CI / Security audit (push) Successful in 4m30s
CI / Tests & coverage (push) Successful in 5m24s
2026-05-17 20:55:10 +01:00
gronod 9aaff5c368 feat: link sofarr title to repo
Build and Push Docker Image / build (push) Successful in 30s
CI / Security audit (push) Failing after 2m56s
CI / Tests & coverage (push) Successful in 5m35s
2026-05-17 20:55:06 +01:00
gronod ce6f9b0459 merge: develop -> main for v1.2.1 (version footer)
Build and Push Docker Image / build (push) Successful in 41s
Create Release / release (push) Successful in 21s
CI / Security audit (push) Successful in 1m19s
CI / Tests & coverage (push) Has been cancelled
2026-05-17 20:35:36 +01:00
gronod 976d6527b6 Merge branch 'develop' of https://git.i3omb.com/Gandalf/sofarr into develop
Build and Push Docker Image / build (push) Successful in 54s
Docs Check / Markdown lint (push) Successful in 47s
Docs Check / Mermaid diagram parse check (push) Successful in 1m18s
Licence Check / Dependency licence compatibility (push) Successful in 40s
CI / Tests & coverage (push) Has been cancelled
CI / Security audit (push) Has been cancelled
2026-05-17 20:35:08 +01:00
gronod 6a8ca90fd3 feat: add version footer to dashboard UI (v1.2.1)
- /health endpoint now includes version field
- Footer displays 'sofarr vX.Y.Z' fetched on page load
- Subtle .app-version styling (smaller, dimmed)
- Bump version to 1.2.1, update CHANGELOG
2026-05-17 20:34:59 +01:00
Gandalf 2d5958006c Merge pull request 'release/v1.2.0' (#14) from release/v1.2.0 into develop
Build and Push Docker Image / build (push) Has been cancelled
CI / Security audit (push) Has been cancelled
CI / Tests & coverage (push) Has been cancelled
Reviewed-on: #14
2026-05-17 20:28:15 +01:00
Gandalf 9faf8c0ea3 Merge pull request 'release/v1.2.0' (#13) from release/v1.2.0 into main
CI / Security audit (push) Has been cancelled
CI / Tests & coverage (push) Has been cancelled
Reviewed-on: #13
2026-05-17 20:26:35 +01:00
6 changed files with 41 additions and 4 deletions
+8
View File
@@ -6,6 +6,14 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
---
## [1.2.1] - 2026-05-17
### Added
- **Version footer** — the dashboard footer now displays the running app version (e.g. `sofarr v1.2.1`), fetched from the `/health` endpoint on page load.
---
## [1.2.0] - 2025-05-17
### Security
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "sofarr",
"version": "1.2.0",
"version": "1.2.1",
"description": "A personal media download dashboard that shows your downloads 'so far' while you relax on the sofa waiting for your *arr services to finish",
"main": "server/index.js",
"scripts": {
+13 -1
View File
@@ -27,13 +27,25 @@ document.addEventListener('DOMContentLoaded', () => {
initThemeSwitcher();
initTabs();
initHistoryControls();
loadAppVersion();
document.getElementById('login-form').addEventListener('submit', handleLogin);
document.getElementById('logout-btn').addEventListener('click', handleLogout);
document.getElementById('show-all-toggle').addEventListener('change', handleShowAllToggle);
document.getElementById('status-btn').addEventListener('click', toggleStatusPanel);
});
function loadAppVersion() {
fetch('/health')
.then(r => r.json())
.then(data => {
if (data.version) {
document.getElementById('app-version').textContent = `sofarr v${data.version}`;
}
})
.catch(() => {});
}
function initThemeSwitcher() {
const saved = localStorage.getItem('sofarr-theme') || 'light';
document.querySelectorAll('.theme-btn').forEach(btn => {
+2 -1
View File
@@ -46,7 +46,7 @@
<!-- Dashboard -->
<div id="dashboard-container" class="dashboard-container" style="display: none;">
<header class="app-header">
<h1>sofarr</h1>
<h1><a href="https://git.i3omb.com/Gandalf/sofarr" target="_blank" rel="noopener noreferrer" class="title-link">sofarr</a></h1>
<div class="header-controls">
<div class="theme-switcher">
<button class="theme-btn active" data-theme="light">Light</button>
@@ -112,6 +112,7 @@
<footer class="app-footer">
<p>Ensure your media is tagged with your username in Sonarr/Radarr to match downloads to users.</p>
<p class="app-version" id="app-version"></p>
</footer>
</div>
</div>
+16
View File
@@ -866,6 +866,22 @@ body {
opacity: 0.8;
}
.app-version {
font-size: 0.72rem;
opacity: 0.5;
margin-top: 4px;
}
.title-link {
color: inherit;
text-decoration: none;
}
.title-link:hover {
text-decoration: underline;
text-underline-offset: 3px;
}
/* ===== Login ===== */
.login-container {
display: flex;
+1 -1
View File
@@ -197,7 +197,7 @@ app.use(express.json({ limit: '64kb' })); // prevent oversized JSON payloads
// Used by Docker HEALTHCHECK and orchestrators.
// ---------------------------------------------------------------------------
app.get('/health', (req, res) => {
res.json({ status: 'ok', uptime: process.uptime() });
res.json({ status: 'ok', uptime: process.uptime(), version });
});
app.get('/ready', (req, res) => {