Commit Graph

117 Commits

Author SHA1 Message Date
Oleksandr Kozachuk 03c5dadccb feat: WASM web app (browser LesS/KEY) backed by the hel core
Run the real hel core in the browser via WebAssembly, replacing the plain-JS
ooke.github.io/sk reimplementation so the web and the CLI share one generator.

- hel core: new storage module (native fs / wasm localStorage) backs
  init/source/dump/correct; the pipe and pb branches are gated out of wasm;
  the wasm editor is completed (EditorRef) and its password prompt no longer
  blocks the single JS thread (synchronous hel_get_password instead of a
  thread::sleep poll).
- helwasm: hel_load_script for bulk import, a panic hook in hel_init, dropped
  the ok_add / web-sys leftovers; build.sh runs wasm-bindgen into a committed
  pkg/ so GitHub Pages can serve the static dir with no CI.
- UI: rewritten index.html + style.css in the kaizenkodo.org style — responsive,
  masked-but-copyable passwords with click-to-reveal, a quick-generate card plus
  a full command console, localStorage persistence, and paste import/export.
2026-06-08 18:43:19 +02:00
Oleksandr Kozachuk 74d3296882 feat: Notion backend for the catalog + set command + ls/source/save UX
Persist the entry catalog to a Notion page instead of an external script.

- `hel store notion:<ref>` reads the dump from stdin and writes it into a
  single code block on the page; `hel load notion:<ref>` prints it back.
  `<ref>` is a page id (UUID) or a page title (case-insensitive search).
  Token from HEL_NOTION_TOKEN. Networking lives in helcli (ureq + serde_json);
  the core lib and the wasm build are untouched. argv is dispatched before the
  REPL starts, so the subcommands never read ~/.helrc or prompt for a master.

- `set <key> <value>`: runtime config (e.g. hel_dump, hel_notion_token) from
  ~/.helrc instead of env vars. The map is exported (uppercased) into spawned
  pipe/source children, so `set hel_notion_token ...` reaches `hel store`.
  Values are redacted in history.

- `ls` now matches case-insensitively.
- `source` echoes `source <target>`.
- `save` prints a `< removed` / `> added` diff against the last load/save
  snapshot so removals are noticed before they persist.
2026-06-08 16:53:23 +02:00
Kiyomichi Kosaka 38e7df982f Merge pull request #1 from ok2/codex/fix-typo,-bug,-comments,-and-improve-tests
Fix typos and improve radix output
2025-06-08 17:01:17 +02:00
Kiyomichi Kosaka ff4215fbab Fix typos and improve Radix 2025-05-23 13:47:58 +02:00
Oleksandr Kozachuk d4eeea73d8 Improve readline history. 2023-07-18 14:22:15 +02:00
Oleksandr Kozachuk b3260e04fb Do not print error on adding, when exactly the same already exist, it ignores it then silently. 2023-02-02 10:54:08 +01:00
Oleksandr Kozachuk 464ac458d2 Simplify call_cmd_with_input. 2023-01-11 14:29:10 +01:00
Oleksandr Kozachuk 8db5e66f83 Small refactoring/simplification of radix code. 2023-01-10 13:58:25 +01:00
Oleksandr Kozachuk ab79a100d3 Small changes for the html. 2023-01-09 13:53:58 +01:00
Oleksandr Kozachuk ccc318b2ad Increase the max history size for hel to 10000. 2023-01-07 13:55:37 +01:00
Oleksandr Kozachuk a180291e94 Fix handling of empty password. 2023-01-07 13:46:33 +01:00
Oleksandr Kozachuk 122aeaf75b Refactor read_password function to take just the name as argument, not the prompt. 2023-01-07 13:40:00 +01:00
Oleksandr Kozachuk 54c2c0e5a1 Store pass command without password to history. 2023-01-07 13:18:39 +01:00
Oleksandr Kozachuk 2b56aed28e Refactor history handling: store only save and usefull commands, save them in LKEval state, do not safe pass command into history. 2023-01-07 13:16:47 +01:00
Oleksandr Kozachuk 4ee1d38be7 pass command accepts now optionally the password from command line, instead of stdin. 2023-01-07 12:06:41 +01:00
Oleksandr Kozachuk 44c6f371a8 Wrap lines in HTML. 2023-01-06 17:31:57 +01:00
Oleksandr Kozachuk ed894b8b16 Remove warning. 2023-01-06 17:22:52 +01:00
Oleksandr Kozachuk e0b5c0280e Integrate the REPL, now WASM32 works, just some functions missing. 2023-01-06 17:21:28 +01:00
Oleksandr Kozachuk 77f7db7dec Add possibility to add input instead of calling readline. 2023-01-06 17:13:42 +01:00
Oleksandr Kozachuk e9dba54750 Develop wasm support further. 2023-01-06 16:16:04 +01:00
Oleksandr Kozachuk 3416ea96ae Remove deadlock_detection feature from parking_lot, because it is incompatible with wasm32 2023-01-06 15:27:58 +01:00
Oleksandr Kozachuk 127f386e35 Fix compilation and tests. 2023-01-06 15:08:52 +01:00
Oleksandr Kozachuk 6f78130fab Rename command "leave" to "keep", sounds more appropreate. 2023-01-06 14:53:08 +01:00
Oleksandr Kozachuk 538a32a471 Switch from Rc<RefCell> to Arc<Mutex<T>> or Arc<ReentrantMutex<RefCell<T>>>. 2023-01-06 13:12:58 +01:00
Oleksandr Kozachuk a2978c1230 Fix printing correct password and reading master password. 2023-01-05 15:25:08 +01:00
Oleksandr Kozachuk fd3914dacb Renamed the dump command to save, added command dump to dump the db to stdout. 2023-01-03 11:58:48 +01:00
Oleksandr Kozachuk 1b96ca3239 Some WASM changes, not ready yet. 2023-01-03 11:15:40 +01:00
Oleksandr Kozachuk 69f65a5be0 Make helwasm compilable for wasm32-unknown-unknown target. 2023-01-01 19:46:14 +01:00
Oleksandr Kozachuk 7563645518 Fix tests, move rpassword usage to utils.rs to implement something different for wasm. 2023-01-01 19:04:56 +01:00
Oleksandr Kozachuk eced302282 Split project into three workspaces: hel (the library), helcli (the tool) and helwasm (the wasm code). Move wasm incompatible code to extra modules in utils.rs to be implementable separately for wasm. 2023-01-01 18:50:16 +01:00
Oleksandr Kozachuk cff9e3f90d Make the height a bit better. 2022-12-31 17:16:02 +01:00
Oleksandr Kozachuk d3f00e7268 Add first prototype index.html 2022-12-31 17:08:32 +01:00
Oleksandr Kozachuk 984a416ae7 Fix space recognicion, support all kinds of spaces. 2022-12-28 19:34:24 +01:00
Oleksandr Kozachuk 41a3248084 Fix tests. 2022-12-28 17:18:37 +01:00
Oleksandr Kozachuk 78d5f46d43 Fix outuput in gen. 2022-12-28 14:57:54 +01:00
Oleksandr Kozachuk 5b20968ade Fix ld command sort order. 2022-12-24 16:01:27 +01:00
Oleksandr Kozachuk b89dd0936e Expand the commands. 2022-12-24 15:59:22 +01:00
Oleksandr Kozachuk 46fb2c6b40 Add leave command, to directly save the generated password and restructure the parser a bit. 2022-12-24 15:00:07 +01:00
Oleksandr Kozachuk a69fceb126 Add ld command, like ls but sort by date. Fix quit command in scripts, output passwords with spaces when no prefix given (align output by name, somewhat). 2022-12-24 13:53:53 +01:00
Oleksandr Kozachuk f0ce3b4d96 Change password struct to use name as String instead of Rc<String>, fix gen command. 2022-12-23 20:14:07 +01:00
Oleksandr Kozachuk 13ea63d687 Fix gen command, but still has issues. 2022-12-22 19:28:38 +01:00
Kiyomichi Kosaka 3373f17332 Fix for gen command (not finished yet). 2022-12-22 15:07:56 +00:00
Kiyomichi Kosaka 03b2d43c6c Fix generation of single random passwords. 2022-12-22 12:10:13 +00:00
Kiyomichi Kosaka e8345b374d Implement gen command, to generate samples. 2022-12-22 12:07:13 +00:00
Kiyomichi Kosaka b6c7b08320 Move more command implementations from repl.rs to commands.rs. 2022-12-21 14:32:54 +00:00
Kiyomichi Kosaka 1845916a12 Move commands implementations to commands.rs. 2022-12-21 14:15:24 +00:00
Kiyomichi Kosaka de13dd6a7b Improve test cleanup by using scopeguard. 2022-12-21 14:00:01 +00:00
Kiyomichi Kosaka 35517b2849 Fix warnings output of pb command and add some more env vars tests. 2022-12-21 13:26:07 +00:00
Kiyomichi Kosaka 0e21e0c10d Fix compile warning. 2022-12-21 13:01:59 +00:00
Kiyomichi Kosaka c03d6ab560 Fix the warnings to output for the between passwords and write some tests for it, also write tests for some environment variables. 2022-12-21 12:59:57 +00:00