Commit Graph

53 Commits

Author SHA1 Message Date
d40be9ca68 Machine claim vs handover; alerts gated off; ntlars empty-value fix 2026-08-10 14:49:17 -04:00
502728c9f6 Collector: machine number identifies the machine, not the PC; ntlars empty-value fix 2026-08-10 14:26:19 -04:00
acadddb917 kiosk watchdog: require a visible window, kill orphans, refuse SYSTEM 2026-08-10 09:03:31 -04:00
d9d08f53ac remote-access protocol collection; dashboard site timezone + badge alignment 2026-08-10 08:36:39 -04:00
e68f522132 display kiosk watchdog: relaunch Edge when it goes away 2026-08-10 07:54:03 -04:00
4344adabf1 Board row ordering, type-derived row colours, and clearer upcoming events 2026-08-08 14:24:28 -04:00
3ebc1f353a tabbed DNC card, machine-numbered downloads, themed backup history 2026-08-07 15:22:59 -04:00
2487981d91 backups panels show only when the asset has data 2026-08-07 14:53:54 -04:00
64f30f7c9f backups in universal site profile; profile completeness guard 2026-08-07 14:44:42 -04:00
5a0017cd9a backups plugin with NTLARS revision history; shopfloor dashboard upcoming cards and state chips 2026-08-07 14:30:18 -04:00
7c5b1bc74e Per-type board rows with shared categories, a network device IP field, and two dark-mode dialogs 2026-08-07 10:43:32 -04:00
2f15610cfd Per-type expiry tail on the shopfloor board, and a 2x2 recertification block 2026-08-07 09:28:10 -04:00
c674000ccc Show the kiosk label prefix, and let a plugin declare the settings it owns 2026-08-06 18:17:56 -04:00
c51e86e686 Model photo upload fixes; network devices linked to catalog models 2026-08-05 09:09:19 -04:00
d8e3280dfc Release 0.8.0: Windows installer, twelve fixes from a real Server 2019 install, operator docs 2026-08-05 07:36:43 -04:00
208a572fd7 Windows installer: payload hash-locking, SBOM, client-IP handling, operator docs 2026-08-04 07:30:44 -04:00
8fbed9bcb2 Windows installer: payload hash-locking, SBOM, client-IP handling, operator docs 2026-08-03 15:16:35 -04:00
3d43cb3d86 Windows installer: payload hash-locking, SBOM, client-IP handling, operator docs 2026-08-03 15:08:20 -04:00
59578e1c5b map marker legibility, PDF export blueprint fix, asset list type search 2026-07-31 09:06:22 -04:00
dd0865d103 printer install-list/pc-default format=text 2026-07-29 13:51:01 -04:00
366f49c969 pc-relationships bidirectional 2026-07-29 13:16:16 -04:00
c17d170870 fix printer batch vendor resolution + base url 2026-07-29 12:56:31 -04:00
a2cf109586 printer installer map + install-batch endpoint 2026-07-29 12:39:12 -04:00
9cf026e31a kb topic search + client-ip port strip + application notes html 2026-07-29 10:09:02 -04:00
eeae042aa8 slides: grantable slides.manage permission for non-admin curators 2026-07-29 08:41:53 -04:00
02147827f0 display FQDN keying + kiosk dropdown + dispatcher + multi-word search 2026-07-29 07:45:33 -04:00
14c0d4be1e geenforce re-publish FK fix (MySQL) + payload-count guard 2026-07-28 18:56:29 -04:00
8f0c110dda geenforce: harden allowlist + fix share-less kiosk client and display scope 2026-07-28 17:09:35 -04:00
4ed1296d5e geenforce: IP allowlist for client endpoints + admin Settings tab 2026-07-27 14:13:50 -04:00
c355eaae43 printers low-toner alerts; geenforce display readiness + token scope-binding; air-gap docker deploy kit 2026-07-23 14:37:00 -04:00
73b05e5b1c alerts: per-support-team webhook + printedparts routing 2026-07-22 13:32:01 -04:00
a70cd14bee alerts: Teams webhook fan-out + contract 0.14.0 2026-07-22 10:57:19 -04:00
4a5b78dad2 alerts: Teams webhook fan-out + contract 0.14.0 2026-07-22 10:56:04 -04:00
d49f0cbb09 printedparts: QR label tag+rev, record taken revision 2026-07-22 07:52:17 -04:00
38c0f0395c geenforce: HTTPS payload delivery (blob store + endpoint) 2026-07-21 10:10:59 -04:00
844a28111a displays: IP-driven display role (dashboard/lobby/kiosk) 2026-07-21 09:49:14 -04:00
03c6adc77e Add per-role badge colors 2026-07-20 10:08:14 -04:00
384b8f7668 ADR-014 Phase 2: flask plugin prune-schema for lean per-site DBs 2026-07-19 11:39:51 -04:00
99025d10f0 ADR-013 Phase 5: lean per-site builds (build-site.sh + guards + CI) 2026-07-19 00:11:41 -04:00
fd2ab0ab1c ADR-013 Phase 3 complete: asset-panels + asset-presentation + map-overlays renderers 2026-07-18 23:10:27 -04:00
69922a4e16 ADR-013 Phase 3: asset-presentation search routing 2026-07-18 22:59:19 -04:00
72e3484497 ADR-013 Phase 3: generic asset-panels renderer (Path A) 2026-07-18 22:44:06 -04:00
197b51f2b3 ADR-013 Phase 2: import guard round-4 fix (init-less dir .py sibling) 2026-07-18 22:28:40 -04:00
bbd5224bcd ADR-013 Phase 2: import guard hardening (round-3 review fixes) 2026-07-18 22:12:27 -04:00
83a5ce79d9 ADR-013 Phase 2: meta_path import guard (re-review fix) 2026-07-18 21:47:40 -04:00
77ca2e0d2d ADR-013 Phase 2: enforcement + signed shelf + adopt (adversarial-review hardened) 2026-07-18 21:06:38 -04:00
0ff5edc553 ADR-013 Phase 1: signed plugin artifacts (pack/validate/keygen) 2026-07-18 20:22:07 -04:00
41f5dbf5e0 ADR-013 Phase 0: plugin lifecycle groundwork (validate, apply-profile, dependency fixes) 2026-07-18 18:08:48 -04:00
365b0f2f69 printedparts: gage-lab asset tag + print-files redesign
The gage lab assigns real WJRP asset numbers: internal itemcode stays
auto-minted, a new optional unique gagelabtag carries the lab's number,
searchable and kiosk-resolved (scans and bare digits against either
identifier). Print files render as stacked revision cards instead of a
scrolling table.
2026-07-17 14:01:10 -04:00
fce7937b9b Shopfloor feed resolves employee names live when none is stored
Photos already resolved at read time; names only came from the stored
column, so imports without the employee source showed bare SSOs. New
mode-aware display-name resolver backs a live fallback; stored names
still win.
2026-07-17 13:29:35 -04:00