6e0d8aec4e
Relationship inverse guard, audit command, widened direction fixer
2026-08-13 12:25:35 -04:00
5dcc7e30af
Display role vocabulary, migration commit fix, stale enforcement reports
2026-08-13 09:30:40 -04:00
8d1f442daf
Enforcement reports with asset context; contract 0.17.0
2026-08-12 16:41:16 -04:00
d32513727b
Tech Tools section with a code generator, toner report that names the part, toner forecasting, warranty proof of cover, application uploads
2026-08-12 11:51:38 -04:00
568dfbb91c
Dashboard corrections
2026-08-11 16:27:14 -04:00
c30195a92b
Release 0.9.0
2026-08-11 12:42:03 -04:00
5c33b06688
Declarative subordinate devices + shared-machine check
2026-08-11 11:14:51 -04:00
5a0017cd9a
backups plugin with NTLARS revision history; shopfloor dashboard upcoming cards and state chips
2026-08-07 14:30:18 -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
307de925f1
Release 0.8.1
2026-08-05 14:53:54 -04:00
d3e7311376
Catalog seeding, blank-unique fix, slides rotation, console repair
2026-08-05 13:19:51 -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
3d43cb3d86
Windows installer: payload hash-locking, SBOM, client-IP handling, operator docs
2026-08-03 15:08:20 -04:00
ff61a4c5e9
nav resilience after pool restart, thinner marker rings, drop dead marker popup
2026-07-31 10:17:28 -04:00
59578e1c5b
map marker legibility, PDF export blueprint fix, asset list type search
2026-07-31 09:06:22 -04:00
ce550aefc6
notifications: timezone fix + configurable site timezone
2026-07-30 15:09:06 -04:00
4610108a0c
geenforce display dispatcher: purge legacy HKLM Run autostart
2026-07-30 14:30:04 -04:00
366f49c969
pc-relationships bidirectional
2026-07-29 13:16:16 -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
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
4a5b78dad2
alerts: Teams webhook fan-out + contract 0.14.0
2026-07-22 10:56:04 -04:00
bbd086f075
printedparts: kiosk revision display + gage-tag/link in low-stock email
2026-07-22 10:12:52 -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
18d59f82c9
ADR-014 schema-lean investigation + idempotent create_plugin_tables
2026-07-19 00:36:54 -04:00
99025d10f0
ADR-013 Phase 5: lean per-site builds (build-site.sh + guards + CI)
2026-07-19 00:11:41 -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
199438cec9
Add flask seed demo sample data; widen settings.description to TEXT
2026-07-17 20:32:38 -04:00
6de329a390
Users: deleting a user clears their API tokens and detaches audit rows
...
Deleting any user who owned an API token or appeared in the audit log
hit the users FK and returned 500. Tokens are revoked outright; audit
history is kept but detached so the trail survives the account.
2026-07-17 10:54:48 -04:00
11c8d79ba4
Add the printedparts plugin: 3D-printed parts storefront and kiosk
...
Catalog with photos and append-only print-file revisions, a stock
ledger attributing every take/restock/adjust to a badge-resolved
employee, a touch kiosk (scan bin, scan badge, keypad quantity) with a
deliberately open decrement-only take endpoint, 1x0.5in CODE128 bin
labels, low-stock email alerts to selected users, roles, or addresses,
and stock/consumption/by-person reports with a cache-vs-ledger
reconcile. Ships disabled; enable per site. Contract 0.13.0 adds the
mailer and the User/Role models to the plugin surface.
2026-07-17 09:29:01 -04:00
a9d0dfff4a
Initial import: shopdb-flask multi-site asset platform
...
Flask + Vue rewrite of the classic-ASP shopdb, built as a plugin
framework so sister GE Aerospace sites can adopt it. Product version
0.7.0-pre-0.8.0, plugin contract 0.11.0, 966 backend tests.
Key entry points:
- docs/INSTALL-WINDOWS-IIS.md - tested Windows + IIS install runbook
(own-site and subpath deployment methods)
- docs/PILOT-DEPLOY.md - production pilot: stand up + import + verify
- docs/IMPORT-API.md - schema-agnostic legacy data import contract
- scripts/site_imports/wjf/ - West Jefferson reference import loader
- docs/adr/ - twelve accepted architecture decision records
2026-07-14 07:58:51 -04:00