From 42929c92ae0027a6bfa02871b8901de0851c6fef Mon Sep 17 00:00:00 2001 From: Claude Code Date: Wed, 15 Jul 2026 11:43:59 +0000 Subject: [PATCH] Web: aktualisierten send.key unter Originalnamen anbieten MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bisher hieß der Re-Download immer "send.key" -> überschrieb die (oft beschreibend benannte, z.B. meine_seite__send.key) Quelldatei nicht. Jetzt wird der Download-Name = Name der hochgeladenen Schlüsseldatei; der Link-Text nennt ihn ebenfalls. SW-Cache v4 -> v5. Co-Authored-By: Claude Opus 4.8 --- web/index.html | 5 ++++- web/sw.js | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/web/index.html b/web/index.html index b3823b0..bcd17d3 100644 --- a/web/index.html +++ b/web/index.html @@ -357,6 +357,7 @@ if (typeof document !== 'undefined') (function () { if (!$('s-key').files[0]) throw new Error('Bitte send.key wählen.'); if (!$('s-carrier').files[0]) throw new Error('Bitte Trägerbild wählen.'); + const keyName = $('s-key').files[0].name || 'send.key'; const key = SP.parseKey(await readFile($('s-key').files[0])); if (key.role !== SP.ROLE_SEND) throw new Error('Das ist ein Empfangsschlüssel. Zum Senden brauchst du deinen send.key.'); const plain = encTxt.encode(text); @@ -382,7 +383,9 @@ if (typeof document !== 'undefined') (function () { // Aktualisierter Sendeschlüssel (Offset um Nachricht+MAC fortgeschrieben) const nextOff = key.sendOffset + need; const newKey = SP.buildKey(SP.ROLE_SEND, key.streamId, nextOff, key.material); - const dk = $('s-dlkey'); dk.href = blobUrl(newKey); dk.style.display = 'block'; + // Re-Download unter EXAKT dem hochgeladenen Namen -> überschreibt sauber. + const dk = $('s-dlkey'); dk.href = blobUrl(newKey); dk.download = keyName; + dk.textContent = `🔑 Aktualisierten ${keyName} speichern`; dk.style.display = 'block'; $('s-note').style.display = 'block'; show(st, 'ok', `Versteckt + authentifiziert. ${plain.length} B ab Offset ${key.sendOffset}. Neuer Offset: ${nextOff}.`); }, 'image/png'); diff --git a/web/sw.js b/web/sw.js index b805c0d..c3db3c2 100644 --- a/web/sw.js +++ b/web/sw.js @@ -1,7 +1,7 @@ /* schattenpost Service Worker — reines Offline-Caching der App-Shell. Sendet NICHTS an einen Server. Cache-first, kein Netzwerk-Fallback nötig, sobald die Shell einmal geladen ist. */ -const CACHE = 'schattenpost-v4'; +const CACHE = 'schattenpost-v5'; const SHELL = [ './', './index.html',