Commit Graph

15 Commits

Author SHA1 Message Date
Oleksandr Kozachuk 29c26ddda1 web: drop em-dashes from the help/UI copy, reword to not need them 2026-06-08 23:00:41 +02:00
Oleksandr Kozachuk 77352093c9 web: official ensō+key icon, Kaizenkodo link, installable home-screen app
- App icon = the official Kaizenkodo ensō (logo/current/exports/tight) with a key
  inside: cream bg for the home-screen/app icon, transparent for the header +
  favicons. Source: assets/enso-base.png + icon-source.svg / enso-mark.svg.
- Attribution: a 'by Kaizenkodo' header link and a footer line, both to kaizenkodo.no.
- PWA install: manifest (standalone, start_url/scope '../', maskable icons) + iOS
  metas (apple-mobile-web-app-capable/title/status-bar) so it adds to the iPhone
  home screen and runs as a standalone app.
2026-06-08 22:39:30 +02:00
Oleksandr Kozachuk db0eb9ebc4 web: stop browser autofill on the name + master fields
The master and pass-overlay inputs are now type=text with a CSS visual mask
(-webkit-text-security) instead of type=password, so the browser never treats
them as password fields — no autofill, no save prompt, no 'suggest strong
password'. Added autocomplete=off + autocapitalize/autocorrect off and
data-1p-ignore / data-lpignore / data-bwignore on the name + master + pass.
2026-06-08 21:59:16 +02:00
Oleksandr Kozachuk 349bbe1557 web: link RFC 2289 in the About panel 2026-06-08 21:24:59 +02:00
Oleksandr Kozachuk f8e8a9981a help: note the S/KEY (RFC 2289) heritage + xkcd 936 memorable-words idea
The default R mode is the six-word S/KEY form. Mention it in the help command
(CLI + web console) and the web About panel, with a link to xkcd 936.
2026-06-08 21:15:15 +02:00
Oleksandr Kozachuk ba884037b0 web: state the no-server/in-browser privacy clearly + self-host fonts
- Make the privacy promise true: bundle the fonts (Poppins/Inter/JetBrains Mono
  latin subsets + the text-security mask font) under helwasm/assets/fonts/ and
  drop the Google Fonts + jsDelivr links. The page now makes zero external
  requests once loaded — it talks to no third party.
- Say it plainly throughout the UI: a "Private by design" callout in the About
  panel, the meta description, the quick-gen and console hints, and the footer —
  nothing you type leaves the browser, no server, no account, no tracking.
2026-06-08 20:42:33 +02:00
Oleksandr Kozachuk 3031105000 feat(web): polish the WASM site - UX, help, parsing, assets
- About panel (collapsible, closed by default with a pulsing "Help" badge)
  explaining the tool; the `help` command now prints a full command reference
  instead of "HELP" (benefits the CLI too).
- Live generation as you type; Store button; masked output that stays mono-width
  (gen masks only the password column, never the header); command history with
  Up/Down (persisted); console auto-scroll; Export fixed (uses `dump`); Import.
- Name field normalizes to its canonical parsed form on blur; quick-gen and Store
  resolve the real entry name, so a leading prefix like `*P0 test1` is handled
  correctly (new hel_parse / hel_parse_name wasm helpers).
- Parser: prefix-only forms now parse with defaults - `*P0 test1` ->
  `*P0 test1 R 99 <today>`, `*P0 test1 R`, `*P0 test1 20R` - via new qpname/npname
  rules mirroring qname/nname; the fully-qualified form is unchanged.
- Favicons + web app manifest + enso asset; pkg rebuilt.
2026-06-08 20:11:24 +02:00
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 ab79a100d3 Small changes for the html. 2023-01-09 13:53:58 +01:00
Oleksandr Kozachuk 44c6f371a8 Wrap lines in HTML. 2023-01-06 17:31:57 +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 e9dba54750 Develop wasm support further. 2023-01-06 16:16:04 +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 1b96ca3239 Some WASM changes, not ready yet. 2023-01-03 11:15:40 +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