Commit Graph

15 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 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 8db5e66f83 Small refactoring/simplification of radix code. 2023-01-10 13:58:25 +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 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 e9dba54750 Develop wasm support further. 2023-01-06 16:16:04 +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 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 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