2 Commits
Author SHA1 Message Date
StyxX65andClaude Fable 5 c1cddb8ea7 Release 1.7.4
Build — Windows, Linux & macOS / GDPRScanner / linux (push) Has been cancelled
Build — Windows, Linux & macOS / GDPRScanner / macos (push) Has been cancelled
Build — Windows, Linux & macOS / GDPRScanner / windows (push) Has been cancelled
Build — Windows, Linux & macOS / Create GitHub Release (push) Has been cancelled
- CHANGELOG: cut the 1.7.4 release (dated 2026-06-10); reset Unreleased.
- VERSION: 1.7.3 -> 1.7.4.
- Manuals (DA + EN): bump version stamps.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-10 15:33:16 +02:00
StyxX65andClaude Fable 5 9cbd93e1f5 Reset all share modal fields after creating a link
Create only cleared the label; scope type, user email, date range, and
expiry carried over, so the next link silently inherited the previous
link's scope. Extracted openShareModal's reset logic into
_resetShareForm() and call it after every successful create.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-10 15:32:03 +02:00
5 changed files with 21 additions and 9 deletions

No files matched your search

+8
View File
@@ -11,6 +11,14 @@ Version numbers follow [Semantic Versioning](https://semver.org/spec/v2.0.0.html
--- ---
## [1.7.4] — 2026-06-10
### Fixed
- **Share modal kept stale input after creating a link** — clicking "Create" only cleared the label field; scope type, user email, date range, and expiry kept their values, so the next link silently inherited the previous link's scope settings. The form-reset logic from `openShareModal()` is now a shared `_resetShareForm()` helper called after every successful create (the generated link row stays visible for copying).
---
## [1.7.3] — 2026-06-10 ## [1.7.3] — 2026-06-10
### Fixed ### Fixed
+1 -1
View File
@@ -1 +1 @@
1.7.3 1.7.4
+2 -2
View File
@@ -1,6 +1,6 @@
# GDPR Scanner — Brugermanual # GDPR Scanner — Brugermanual
Version 1.7.3 Version 1.7.4
--- ---
@@ -671,4 +671,4 @@ For en typisk skole- eller kommunescanning er omkostningen ubetydelig — Claude
--- ---
*GDPR Scanner v1.7.3 — teknisk opsætning og konfiguration: se README.md* *GDPR Scanner v1.7.4 — teknisk opsætning og konfiguration: se README.md*
+2 -2
View File
@@ -1,6 +1,6 @@
# GDPR Scanner — User Manual # GDPR Scanner — User Manual
Version 1.7.3 Version 1.7.4
--- ---
@@ -671,4 +671,4 @@ For a typical school or municipality scan the cost is negligible — Claude Haik
--- ---
*GDPR Scanner v1.7.3 — for technical setup and configuration see README.md* *GDPR Scanner v1.7.4 — for technical setup and configuration see README.md*
+8 -4
View File
@@ -138,9 +138,7 @@ function _shareScopeTypeChanged() {
if (type === 'user') _initUserAutocomplete(); if (type === 'user') _initUserAutocomplete();
} }
function openShareModal() { function _resetShareForm() {
document.getElementById('shareBackdrop').classList.add('open');
document.getElementById('shareNewLinkRow').style.display = 'none';
document.getElementById('shareLabel').value = ''; document.getElementById('shareLabel').value = '';
document.getElementById('shareExpiry').value = '30'; document.getElementById('shareExpiry').value = '30';
const scopeType = document.getElementById('shareScopeType'); const scopeType = document.getElementById('shareScopeType');
@@ -152,6 +150,12 @@ function openShareModal() {
if (scopeDrop) scopeDrop.style.display = 'none'; if (scopeDrop) scopeDrop.style.display = 'none';
const vf = document.getElementById('shareValidFrom'); if (vf) vf.value = ''; const vf = document.getElementById('shareValidFrom'); if (vf) vf.value = '';
const vt = document.getElementById('shareValidTo'); if (vt) vt.value = ''; const vt = document.getElementById('shareValidTo'); if (vt) vt.value = '';
}
function openShareModal() {
document.getElementById('shareBackdrop').classList.add('open');
document.getElementById('shareNewLinkRow').style.display = 'none';
_resetShareForm();
_renderTokenList(); _renderTokenList();
fetch('/api/viewer/pin').then(function(r){ return r.json(); }).then(function(d) { fetch('/api/viewer/pin').then(function(r){ return r.json(); }).then(function(d) {
const el = document.getElementById('sharePinStatus'); const el = document.getElementById('sharePinStatus');
@@ -265,7 +269,7 @@ async function createShareLink() {
urlInput.value = url; urlInput.value = url;
document.getElementById('shareNewLinkRow').style.display = 'block'; document.getElementById('shareNewLinkRow').style.display = 'block';
document.getElementById('shareCopyBtn').textContent = t('log_copy', 'Copy'); document.getElementById('shareCopyBtn').textContent = t('log_copy', 'Copy');
document.getElementById('shareLabel').value = ''; _resetShareForm();
_renderTokenList(); _renderTokenList();
} catch(e) { } catch(e) {
alert(t('share_create_error', 'Failed to create link:') + ' ' + e.message); alert(t('share_create_error', 'Failed to create link:') + ' ' + e.message);