Skip to content

Releases: uptutu/go2fa

v0.4.0

Choose a tag to compare

@uptutu uptutu released this 14 Sep 09:08

Changelog

  • f6401f5 feat(web): reveal import password input only when chosen file is encrypted
  • 22f4ae1 feat(web,core): share import merge; add /api/import, bulk delete, step-up password
  • d728abf fix(otpauth): accept label with empty account on import

v0.3.11

Choose a tag to compare

@uptutu uptutu released this 14 Sep 08:17

Changelog

  • 82f8b14 feat(vault): require current password before disabling password
  • 308fdd7 fix(gui): don't prompt for master password in detached terminal

v0.3.10

Choose a tag to compare

@uptutu uptutu released this 14 Sep 07:57

Changelog

  • b20ba95 fix(web): persist language preference across sessions

v0.3.9

Choose a tag to compare

@uptutu uptutu released this 14 Sep 07:53

Changelog

  • 8321385 feat(web): show/hide toggle for mode-switch password inputs

v0.3.8

Choose a tag to compare

@uptutu uptutu released this 14 Sep 07:47

Changelog

  • 40e1a89 feat(web): fuzzy search with highlighted match snippets
  • 0ab03e6 feat(web): idle auto-lock + in-browser unlock
  • a7df806 feat(web): mode-switch button + /api/mode tests
  • 3f7db8c feat(web): theme picker + account detail panel
  • 2c4b925 fix(cli): import dedupe, gui install prompt, rename gui_wire.go
  • 611ac28 fix(core): vault hardening — ErrLocked, single-conn SQLite, rekey backup
  • 0218658 fix(web): anchor theme popover directly under the theme button
  • a52b995 fix(web): persist theme across GUI restarts via server-side prefs
  • 1fd37cd fix(web): reject blank passwords and require confirm match on /api/mode

v0.3.7

Choose a tag to compare

@uptutu uptutu released this 14 Sep 06:18

Changelog

  • 525cadc fix(web): await fresh fetch before copy when TOTP rotated — the button still showed last period's code during the post-rotation fetch window, so clicking copy copied the expired code

v0.3.6

Choose a tag to compare

@uptutu uptutu released this 14 Sep 06:10

v0.3.6

Fix

  • web (copy stale TOTP after rotation): v0.3.5 fixed the closure-stale bug but left a second race: tickCountdown detects rotation locally and triggers refreshSecrets(), but state.secrets isn't replaced until the fetch resolves. Clicking copy during that window returned the previous round's code. The handler now copies btn.textContent directly — the button text is updated by updateRow on every tick + refresh, so it's always the displayed-current code. Restoration after 900ms reads from the (now fresh) state.secrets, with a previous fallback if the row was removed.

v0.3.5

Choose a tag to compare

@uptutu uptutu released this 14 Sep 06:07

v0.3.5

Fix

  • web (copy stale TOTP): the per-row copy button's onclick closure was bound once at render time and captured the original Secret object. After a TOTP rotation, the visible button text updated (via updateRow) but clicking still copied the previous round's code from the captured snapshot. The handler now takes the secret id and looks up the live entry in state.secrets on each click.

v0.3.4

Choose a tag to compare

@uptutu uptutu released this 14 Sep 05:56

v0.3.4

Fix

  • web (hover stutter): Hoist each .secret row into its own compositor layer via transform: translateZ(0) + will-change: transform. The previous fix only stopped the rows from being rebuilt every tick; the row itself was still paying a per-frame backdrop-filter resample cost against the three continuously-animated background blobs. :hover now keeps the layer promotion, so hover stays smooth the entire time the cursor is on a row.

v0.3.3

Choose a tag to compare

@uptutu uptutu released this 14 Sep 05:39

Changelog

  • 35f8598 fix(web): tick countdown locally, diff-render rows — hover/click no longer die mid-refresh