Show the SealShare version and links on the admin dashboard

A quiet line under the shares card reads "SealShare 2.1.0 · Release
notes · Website · Made by noNameWEB": the release notes link goes to the
installed version's Gitea release, the others to sealshare.nonameweb.ch
and nonameweb.ch, each in a new tab. It is page chrome, not content, so
it is a footer line rather than a card.

The image has neither .git nor CHANGELOG.md, so the version is a
constant in config/app.php, bumped with each release. AppVersionTest
fails while it differs from the newest released heading in
CHANGELOG.md, so a forgotten bump stops CI before the tag's image is
built. CHANGELOG (Unreleased) notes it.

The dashboard screenshots are unchanged: the line sits below their fold.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
surtic86
2026-09-18 21:13:19 +02:00
co-authored by Claude Opus 5
parent 5d9e72fd06
commit 82eeacea28
6 changed files with 50 additions and 0 deletions
@@ -44,6 +44,18 @@ test('admin dashboard shows stats', function () {
$response->assertSee('Disk Usage');
});
test('admin dashboard shows the installed version with its release notes and links to the website and noNameWEB', function () {
$admin = User::query()->where('is_admin', true)->first();
config(['app.version' => '9.8.7']);
$response = $this->actingAs($admin)->get(route('admin.dashboard'));
$response->assertSee('SealShare 9.8.7');
$response->assertSee('href="https://gitea.nonameweb.ch/noNameWEB/SealShare/releases/tag/v9.8.7"', false);
$response->assertSee('href="https://sealshare.nonameweb.ch"', false);
$response->assertSee('href="https://nonameweb.ch"', false);
});
test('admin can delete share', function () {
Storage::fake('shares');
+12
View File
@@ -0,0 +1,12 @@
<?php
/*
* The admin dashboard shows config('app.version'), which is bumped by hand with each release. The
* changelog's newest released heading is the release, so the two must agree before a tag is built.
*/
test('the version is the newest release in the changelog', function () {
preg_match('/^## \[(\d+\.\d+\.\d+)\]/m', file_get_contents(base_path('CHANGELOG.md')), $release);
expect(config('app.version'))->toBe($release[1]);
});