pending.nvim/lua/pending
Barrett Ruth 84e4a45911 refactor(oauth): async coroutine support, pure-Lua PKCE, server hardening
Problem: OAuth module shelled out to openssl for PKCE, used blocking
`vim.system():wait()`, had a weak `os.time()` PRNG seed, and the TCP
callback server leaked on read errors with no timeout.

Solution: Add `M.system()` coroutine wrapper and `M.async()` helper,
replace openssl with `vim.fn.sha256` + `vim.base64.encode`, seed from
`vim.uv.hrtime()`, add `close_server()` guard with 120s timeout, and
close the server on read errors.
2026-03-05 11:18:36 -05:00
..
sync refactor(oauth): async coroutine support, pure-Lua PKCE, server hardening 2026-03-05 11:18:36 -05:00
buffer.lua refactor(icons): ascii defaults, checkbox overlays, and cleanup (#57) 2026-03-04 18:44:41 -05:00
complete.lua refactor: remove file token feature (#50) 2026-02-26 22:41:38 -05:00
config.lua Google Tasks sync + shared OAuth module (#60) 2026-03-05 01:21:18 -05:00
diff.lua refactor(icons): ascii defaults, checkbox overlays, and cleanup (#57) 2026-03-04 18:44:41 -05:00
health.lua Google Tasks sync + shared OAuth module (#60) 2026-03-05 01:21:18 -05:00
init.lua feat: Google Tasks bidirectional sync and CLI refactor (#59) 2026-03-05 01:01:29 -05:00
parse.lua refactor: remove file token feature (#50) 2026-02-26 22:41:38 -05:00
recur.lua feat: time-aware due dates, persistent undo, @return audit (#33) 2026-02-25 20:37:50 -05:00
store.lua refactor: organize tests and dry (#49) 2026-02-26 20:03:42 -05:00
textobj.lua feat: text objects and motions for the pending buffer (#39) 2026-02-26 16:28:58 -05:00
views.lua refactor(icons): ascii defaults, checkbox overlays, and cleanup (#57) 2026-03-04 18:44:41 -05:00