diff --git a/CHANGELOG.md b/CHANGELOG.md index e0998d4..caa64e0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -33,6 +33,8 @@ Die Erweiterungsversion (`manifest.json`) ist unabhängig von der OpenNIT-Server Zwischenablage entfernt. ### Geändert +- **Benutzername immer sichtbar:** Das Auge zum Ausblenden des Benutzernamens in der Detailansicht ist + entfallen – ein Benutzername ist kein Geheimnis. Das Passwort bleibt weiterhin maskiert. - **Vorschläge weichen der Seite:** Sobald in ein Feld getippt wird, verschwindet die Vault-Liste – darunter erscheint typischerweise die Suche der Seite selbst. Bei Feldern, die erkennbar eine eigene Auswahlliste öffnen (etwa Benutzer-Auswahlfelder), erscheinen gar keine Vault-Vorschläge mehr. diff --git a/extension/popup.html b/extension/popup.html index 1f9290e..b6a9da3 100644 --- a/extension/popup.html +++ b/extension/popup.html @@ -269,9 +269,6 @@ body {
Benutzername
- diff --git a/extension/popup.js b/extension/popup.js index 104ea9d..bb8890c 100644 --- a/extension/popup.js +++ b/extension/popup.js @@ -29,7 +29,6 @@ async function init() { // Detail-Panel $('btnDetailBack').addEventListener('click', closeDetail); $('btnDetailClose').addEventListener('click', closeDetail); - $('btnRevealUser').addEventListener('click', toggleRevealUser); $('btnCopyUser').addEventListener('click', () => copySecret($('detailUser').dataset.value || '', 'Benutzername kopiert')); $('btnRevealPass').addEventListener('click', toggleRevealPass); $('btnCopyPass').addEventListener('click', copyDetailPassword); @@ -422,7 +421,7 @@ function openDetail(id) { const e = entryIndex[String(id)]; if (!e) return; closeDetailTimers(); - detailState = { id: String(id), password: null, revealUser: true, revealPass: false, totpInterval: null }; + detailState = { id: String(id), password: null, revealPass: false, totpInterval: null }; $('listWrap').style.display = 'none'; $('search').closest('.search-wrap').style.display = 'none'; @@ -457,21 +456,18 @@ function openDetail(id) { urlLink.style.display = 'none'; } - // Benutzername (standardmäßig sichtbar; Auge schaltet Maskierung) + // Benutzername – kein Geheimnis, daher immer im Klartext. const uval = e.username || ''; const uEl = $('detailUser'); uEl.dataset.value = uval; - detailState.revealUser = true; if (uval) { uEl.classList.remove('empty'); uEl.textContent = uval; - $('btnRevealUser').style.display = ''; - $('btnCopyUser').style.display = ''; + $('btnCopyUser').style.display = ''; } else { uEl.classList.add('empty'); uEl.textContent = 'Kein Benutzername'; - $('btnRevealUser').style.display = 'none'; - $('btnCopyUser').style.display = 'none'; + $('btnCopyUser').style.display = 'none'; } // Passwort (standardmäßig maskiert) @@ -505,14 +501,6 @@ function closeDetail() { $('search').closest('.search-wrap').style.display = ''; } -function toggleRevealUser() { - const uEl = $('detailUser'); - const val = uEl.dataset.value || ''; - if (!val) return; - detailState.revealUser = !detailState.revealUser; - uEl.textContent = detailState.revealUser ? val : '•'.repeat(Math.min(val.length, 14)); -} - async function ensurePassword(id) { if (detailState && detailState.password !== null) return detailState.password; const pw = await new Promise(resolve => {