Commit Graph
313 Commits
Author SHA1 Message Date
Suyog Tandel ae8a12946e chore: Remove firmware type label from sidebar online status
- Drop firmware variant display (RS-Key/pico-fido) in sidebar status footer
- Rename workflow job to verify-build
2026-07-06 22:11:29 +05:30
Suyog Tandel 8f32c7c217 ci: add build matrix and cancel-in-progress concurrency 2026-07-06 19:53:37 +05:30
Suyog Tandel f05f42eb39 chore: update contributing.md with new mirror sources for picoforge 2026-07-05 20:54:17 +05:30
Suyog Tandel 2f1a9b97f2 feat(ci/cd): new workflow to keep mirror repos synced 2026-07-05 20:41:13 +05:30
Suyog TandelandGitHub 0f2b6dfdff Merge pull request #99 from librekeys/chore/clean-frontend-codebase
chore: refactor the UI rendering logic
2026-07-05 20:08:16 +05:30
Suyog Tandel c61f905dbb refactor: establish DeviceRepo as sole HAL gateway; fix passkeys lifecycle regressions
Break the UI→HAL dependency: Views and ViewModels no longer import
`crate::hal` directly. DeviceRepo is the single bridge — it re-exports
all needed types, provides 16 blocking static methods for background
tasks, and owns all state mutations + event emissions.

- device.rs: Add FreshDeviceState, apply_fresh_state(), update_fido_info(),
  read_device_serial_blocking(), 16 *_blocking() wrappers, full re-exports
- app.rs: Remove unconditional passkeys nilling on sidebar navigation;
  only invalidate on device_changed (replug). Remove stale
  refresh_device_status method.
- config/view_model.rs: Replace all io::* / fido::* calls with
  DeviceRepo::*_blocking(). Use apply_fresh_state() instead of refresh()
  for RS-Key LED/management writes.
- passkeys/view_model.rs: Replace all io::* calls with
  DeviceRepo::*_blocking(). Fix sync_fido_state to use
  repo.update_fido_info() instead of manual field mutation.
  Restore refresh_if_unlocked via DeviceEvent subscriber.
- Update all view imports: hal::types → ui::models::device,
  hal::rescue::constants → ui::models::device
- Update docs in main.rs, app.rs, ui/mod.rs to reflect the new architecture
2026-07-05 20:06:30 +05:30
Suyog Tandel de338512ba chore(docs): refactor and update the docs to point to correct dir locations and explain the new UI architecture.
- updated mod doc in main.rs
- added mod doc in ui/mod.rs
- added few documentation to symbols in app.rs
2026-07-05 16:36:29 +05:30
Suyog Tandel 5fede906b0 refactor: extract screens into view/view_model dirs, add AppModels DI, switch to Entity<DeviceRepo>
- Decompose flat about.rs/home.rs/security.rs/config.rs/passkeys.rs into
  per-screen directories with mod.rs, view.rs, view_model.rs
- Extract ApplicationRoot, LayoutState, ActiveView, ViewModelStore into new app.rs
- Replace DeviceConnectionState (snapshot-based) with reactive Entity<DeviceRepo>
- Replace ViewCache with ViewModelStore using uniform get_or_insert_with lazy init
- Add AppModels DI bag shared across all view constructors
- Move side types (UsbIdentityPreset, LedDriverType, etc.) into local view_model files
- Delete src/ui/types.rs
2026-07-05 16:02:14 +05:30
Suyog Tandel 7688cc3b13 chore: rename device dir to hal and create models module for repo storage 2026-07-05 02:14:33 +05:30
Suyog TandelandGitHub f4c4e0b145 Merge pull request #98 from kralonur/fix/sync-fido-state-after-mutations
fix(ui): sync cached FIDO state after mutations
2026-06-30 00:08:51 +05:30
Suyog Tandel e6f9c4df6d fix: pr98 review, lock the storage before performing a sync to get new status after device reset 2026-06-30 00:04:31 +05:30
kralonur b720285c1a fix(ui): sync cached FIDO state after mutations 2026-06-25 02:54:58 +03:00
Suyog Tandel 7762dccdc5 chore: remove verbose internal-dialogue comments and minor code cleanup
- Strip thinking-out-loud and notes-to-self comments from
  device/fido/hid.rs, device/rescue/mod.rs, error.rs, ui/views/passkeys.rs
- Replace redundant let c_i = i binding with direct i usage (Copy type)
- Replace magic number 8 with LedColor::all().len() in config.rs
2026-06-24 13:50:14 +05:30
Suyog Tandel 8df78c753d feat: add project info in project documentation 2026-06-24 10:40:40 +05:30
Suyog Tandel e5c2812269 feat(device): add ML-DSA COSE algorithms and expand rescue curves
Summary of changes:
- src/device/fido/constants.rs — added ML-DSA-44/65/87 post-quantum COSE algorithm variants (-48 to -50); updated from_raw/Display; refreshed VendorCommand docs with version history and RS-Key caveat; removed stale CTAP2-vs-firmware discrepancy comment
- src/device/rescue/constants.rs — added 8 new curve flags to RescueCurves (SECP256R1, SECP384R1, SECP521R1, BP256R1/384R1/512R1, ED25519, ED448, CURVE25519, CURVE448); corrected MANAGEMENT_AID doc to say it's available on both firmwares
Non-breaking. All additions are purely additive:
- CoseAlgorithm — only accessed via from_raw() (has _ => None catch-all) — existing match arms unaffected
- RescueCurves — bitflags! type, existing code only touches SECP256K1 via contains/bits — new flags don't affect those
- cargo check and cargo clippy both pass clean with no warnings
2026-06-24 08:57:55 +05:30
Suyog Tandel a4356444ef fix: picoforge docs workflow failure due to missing libs 2026-06-23 23:54:04 +05:30
Suyog Tandel 720adb6a17 feat: add documentation page for picoforge source code 2026-06-23 23:45:11 +05:30
Suyog TandelandGitHub 7503ee52d2 Merge pull request #97 from librekeys/RS-Key-Support
Add RS-Keys Support and improve code documentation
2026-06-23 23:26:52 +05:30
Suyog Tandel c268d8ac28 fix: clippy errors in new documentedation of code in device mod 2026-06-23 23:11:55 +05:30
Suyog Tandel 0a0a7b46f0 fix: ci workflow name 2026-06-23 23:08:20 +05:30
Suyog Tandel 77db0aec49 feat: add basic rust ci workflow 2026-06-23 23:03:27 +05:30
Suyog Tandel e3dc8fc1c6 docs: add documentation to src/device/module 2026-06-23 21:53:00 +05:30
Suyog Tandel 2852893187 chore: format code using cargo fmt 2026-06-23 20:29:56 +05:30
Suyog Tandel 5157c0616c fix: tests and update crates to latest versions 2026-06-23 15:03:30 +05:30
Suyog Tandel cc72224252 fix: bug in fido curve config 2026-06-23 00:24:00 +05:30