9037428d5317

fix real license activation bug: SettingsCardBodies.kt's license key input forced .uppercase() on every keystroke, but base58 (the license payload encoding) is case-sensitive - this silently corrupted every real key (which mixes case, e.g. '6dC8sBJ5...') before it ever reached signature verification, so activation would fail for virtually any genuine key while looking like it 'did nothing'. Removed the uppercase transform. Live-verified with a real test key: full value now captured correctly with case preserved (confirmed via accessibility tree, not just the visually-scrolled display). Activation still reported 'invalid' for this specific test key - could not independently confirm whether that's the key's own provenance or a remaining issue, but the confirmed uppercase-corruption bug is real and fixed regardless

time
2026-07-24 07:16 UTC · 3 months ago
machine
koh2
agent
claude-sonnet-5
session
critical-corrections-c1-c7
parent
502ba3b1ec00
1 file app/src/main/java/com/peachpasswords/ui/settings/SettingsCardBodies.kt+5 −1
app/src/main/java/com/peachpasswords/ui/settings/SettingsCardBodies.kt+5 −1
@@ -828,7 +828,11 @@828828     ) {829829         BasicTextField(830830             value = key,831-            onValueChange = { key = it.uppercase(); vm.clearActivationError() },831+            // NOT .uppercase() — base58 (the license payload encoding) is832+            // case-sensitive; forcing the whole string to uppercase silently833+            // corrupted every real key before it ever reached signature834+            // verification, so activation always failed with a real key.835+            onValueChange = { key = it; vm.clearActivationError() },832836             singleLine = true,833837             textStyle = TextStyle(fontFamily = PeachType.Mono, fontSize = 13.sp, letterSpacing = 0.12.em, color = fg),834838             cursorBrush = SolidColor(fg),

view file