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