From 45ba47f772f3b6b3a5c68d239589a6668c4a64f8 Mon Sep 17 00:00:00 2001 From: r-zakarya <82443831+r-zakarya@users.noreply.github.com> Date: Fri, 10 Jul 2026 16:53:45 +0100 Subject: [PATCH] feat(settings): keep backup pwd on disable, dedicated pwd button, tab icons Auto-backup no longer wipes the stored password when disabled, so re-enabling reuses it silently. A dedicated "Set/Change backup password" button (mirrors sync) owns the password, with a warning status when unset. Corrected the stale hint that claimed the backup pwd was derived from the master password. Added icons to each settings tab. Co-Authored-By: Claude Opus 4.8 --- css/style.css | 2 ++ delphi-backend/assets/assets.res | Bin 726360 -> 729216 bytes index.html | 20 +++++++++------ js/app.backup.js | 41 ++++++++++++++++++++++--------- js/app.js | 1 + 5 files changed, 44 insertions(+), 20 deletions(-) diff --git a/css/style.css b/css/style.css index cb0eac3..b7bf704 100644 --- a/css/style.css +++ b/css/style.css @@ -2198,10 +2198,12 @@ body[data-editor-position="center"]:has(#settingsPanel.is-open)::before { flex: 0 0 auto; border-right: 1px solid var(--border); overflow-y: auto; } .settings-tab { + display: flex; align-items: center; gap: 8px; text-align: left; width: 100%; padding: 7px 12px; font-size: 12px; cursor: pointer; color: var(--text-dim); background: transparent; border: 1px solid transparent; border-radius: 6px; white-space: nowrap; } +.settings-tab svg { width: 15px; height: 15px; flex: 0 0 auto; } .settings-tab:hover { background: var(--bg-elev-2); } .settings-tab.is-active { color: var(--accent-fg); background: var(--accent); border-color: var(--accent); } .slideover-field.is-tab-hidden { display: none; } diff --git a/delphi-backend/assets/assets.res b/delphi-backend/assets/assets.res index 178ea1932a800df45418a37339fb4e678309eb38..fdc86d085aa22502582bd6a8ee67985105783b96 100644 GIT binary patch delta 2892 zcmai0Z){W76;EF5*nR{hG(boi+Jghw4z}Y&go2$o2^3n^E)6hEoyw-ZJm1)FdAaZ9 zz3Vt0+G5nT-KL2W-lnS#sbbSg)BUMRJvX=7-QszQP~zO5|APCEHnrV?AI?JBe3@ z{SAP#-x+YeUur8K-~o4~{NnXzrSjP2jQ_&#HaVg9V@~4b;Drxco$hkd0j<+9OCIO^ z(_ZJ&uT$mQ??gOhTK>BnC>nWCbB19%%eS^WtIeL~F#oD8_3=Bmo4uQHHKgl63CV!w z{65zsGXpGQGs7azCs&=8gXW@h@=DOTv(n>&*JAGbKz{5LVN-?7VMc>#{0P&EI-57a zRBXFoSQ%%_%a7rSR%i7E&lW8+8WfZrcK6^ZXZ}WyQ~HIcJ)_yCt`w6R)ip|D&in85 zw(Q54%ijfO_2&ni@hf}E=dZ0cm+yY~K_|bnt=a3ynq0p4$A27t^`)NX%1b@c#2N2M ztf^_7Pb6BlRc`-KdPe4-z9Bub)JQNCi8Hduju?~?%3u`KnQT0#*qDe6wVyEv9my#) zOEwk~f+U0dKMGcXI8Q%qrb8^L#nLw%yyWTV>ZQYcbAq0K;eErAG}Y2?sA z;pR0@_x{G$xXp?>iK~WgSQsF*pjhEpOq3LxK@qb^Ef*|>pZt1Y5BI(9-SXxCbG)Ef zRHNA_^pS*eFp*dXvQ|!9qm)=rf9Z?Qint@FaA$Q>*9+;9yiFiyk(tq8pB7VeVzGt= zLa?tu$8VqdI$zMu8s8MV~!Jwx@46Hmw_lQlQ6d$}QbyrfCq#a&9@|Lud zhc8RxO9KNiX^6DIw2V2EL5^6&g5o83k&C#vrU~ zvjprSRU>hz_R9up#0(SAxSEc8LN?fb!s706e)g&~#C>l`JBG1^wT6l!nW5NhU0VV5 zB&-~(*@94IS|=I4d{27x5DMxcYi>D$A!VZk5glx%Sd2d~ecghV=+ZNUm>`OGy^6db zH-cJ=#N1feTKtS{a_h7;9hI*a<4_a1#@5rJ&?3|32rOudi@A=_hnphkuaO$((aX{x zzx11yc7A+C3X4uX*=UDIs!BeD=QPVQEF=@j7M$WAY}Qe#P8Bl8bfXXf+i-(p&K9T& zl@UsHCxa-V39-B>QNI4RY_b{L>!pOQHC{8Lqnz zJ;`5xQ`*HpI_Q6#FJF~<>uz0ZZm4>!G2y^g7Om&ZH{QijlV}2~{|I8)cpy;NYmd)w-ppa-0m@*B89JU|Lr&wxE=pu|0KCd$y z6f}`)8MYn6ZBfwx1@xLUko};z1T94mg0X--IVGs9AGL^*K?7R`&7yTqlAf9l3pqk- zp+MC!q#ftiM*XKZ?^=t$cQ5Zr`=gcAn16J&6;*%|;1hrHLr1mWjs8UVgEyqDmBseJ z@VNJDW>eEhb;#d%F7RNQPyM@f2k#hb@r9>Q^=_kUBC%&R)5LKg4BQ=Ui2*u^aHY7ttBg96gYPL`J+$b7U}JaSQPN*w+-0>|Ew$z@ps4N)=KPGa=-FluT1FT delta 1060 zcmZ`&U1%It7~R~>?#@g%-Ox=;T21q1vE8KI?j|;gW`iZQ5-BMmsg&wNa3?c&cZc1~ zOlD@Y2_;yOniq?qSN#+UwnC+w{-iqMVALkEtpy*_roIFbq}m66pb8}*g6L#hB`;n$ z+za3R4(B`P-s4}!R_9`~KoZ+Nj40!5e*7i=xpGM@mkcq_&UWo!H;u+RlS&0cv8E#X zo-daw$8zamace-5w1R3y*t9ud-!qesvn!`s?VIoLA^XKSnPaJGKMQ@MGeqJ(=2L+ z46UXH1~o0sprBGJn_y)rj6Jv|TDbqTzn;~~+-6G|qoAc>RFrZBoh8eR)qb*ry+06U zsYRX*osPIl{Pwx)uUFYM=MNF4e$!=l+*k>A-GpCX zAf3Jn3C_OfYs51bN$ll*ZCzT0wPLdT&_K}Lp(@_*p{h8VSJVvXE~{>tF8jKWACAAd zQD4T*@2QL(aG!2&vI86q4x7MPfSH-#oM2?R8P@!so*8BH%1{bHl;G zp@V}^Q1hCUizXrZ?@NxxAUa%7q}>114pT{+pvDyB=+wqO+B7z7QVSn$FY7By{w`n4<0}DzcSL!jtW8 t8xH@-hjC$*-+}{Ig&s^a3Vuwj@
- - - - - + + + + +
@@ -769,10 +769,14 @@

- Backups are encrypted with a password derived from your - master password (so restore needs the master at the - time of backup). Filename pattern: vault-autobackup-YYYYMMDD-HHmmss.json. + Backups are encrypted with a password you choose + (independent of your master password — you'll need it + to restore). Filename pattern: vault-autobackup-YYYYMMDD-HHmmss.json.

+
+ + +