8e02235a71
section ticking covers the section
2026-08-27 15:43:00 -04:00
0c1fbfcc1e
read permissions on every GET
2026-08-27 14:26:17 -04:00
4da6c6aa36
guest role; guide section ticking
2026-08-27 13:02:35 -04:00
d38a599292
guides export/import bundles
2026-08-27 11:47:01 -04:00
28798e6a32
flask guides import-html; retention docstring
2026-08-27 11:27:30 -04:00
60c340b07f
Plugin reports render; USB check-in/out audit report; kiosk drive lists
2026-08-27 10:20:59 -04:00
2326f8f096
USB kiosk: guest check-out/check-in without a login
2026-08-27 08:19:03 -04:00
0738d71525
Guides image + draft gating, audit retention, ADR-015 gate, backup credential redaction
2026-08-26 15:08:53 -04:00
f221fba540
Guides: procedures written and read inside ShopDB
2026-08-26 12:42:24 -04:00
271d558f8b
An unmeasurable backup must not hide a working one
2026-08-26 10:07:51 -04:00
8e10584c4d
Give the backups plugin a settings page, and show where a snapshot is
2026-08-25 14:53:13 -04:00
fa856c1f94
Judge a PC's backup by its stalest kind, not its newest
2026-08-25 13:56:53 -04:00
f1e265190e
Let a share-backed backup say what is in it
2026-08-25 13:52:06 -04:00
0b4a1db842
Secure send: guests by setting, and a custom view count
2026-08-21 15:53:42 -04:00
a01f5c1a83
Secure send moves into Tech Tools
2026-08-21 14:18:10 -04:00
4242028270
Secure send: hand somebody a password without leaving it in a chat window
2026-08-21 13:44:34 -04:00
74392ccad2
Only zero is empty, and the last day is worth reading
2026-08-21 11:57:17 -04:00
bbda5cbfe9
A supply nobody could read is unknown, not empty
2026-08-21 11:44:10 -04:00
980b2e8be3
Find a knowledge base article by words from different fields
2026-08-21 09:40:14 -04:00
5a58d33623
Fix what the last round of device fixes broke, and two dips it missed
2026-08-21 08:50:00 -04:00
4f0399b8ac
A toner rate needs days behind it
2026-08-20 17:23:59 -04:00
ebb86ccf3b
Blank asset numbers, contested device claims, and honest toner forecasting
2026-08-20 17:09:02 -04:00
fa88ef0afe
Device identity, collector enrollment file, and network device fixes
2026-08-20 15:10:24 -04:00
d267813999
Printer assignment end to end, and a container that keeps a site's files
...
Assign printers to a MACHINE and let whichever PC controls it install them, with
the observed half kept strictly apart from the assigned half: a collector report
can never write an assignment row. Adoption is explicit. Adds a singular
relationship type so defaultprinter can mean exactly one, client scripts that
converge a bay's queues and correct a drifted one in place, and a wave gate so a
fleet-wide driver rollout cannot stampede its own share.
On the container side: the compose stack never persisted the instance directory,
so a rebuild discarded plugins.json and every upload. It is a volume now, the
image ships instance/ owned by the app user so the mountpoint is writable, and
the database moves to MySQL 8.4 LTS, which the Windows runbook has recommended
since 8.0 went end of life. The image also could not build at all: the frontend
stage never copied the plugin staging script it runs.
Adds a topology migration guide covering IIS to Docker and back.
2026-08-20 07:46:35 -04:00
fbd99041b0
Buildings and levels for the floor map, and make every identifier searchable
2026-08-17 13:03:54 -04:00
265ca2eb01
Security hardening, multi-site portability, and a documentation and API-surface sweep
2026-08-14 16:28:34 -04:00
7517146238
Backup hover names the check and the capture separately
2026-08-13 13:35:17 -04:00
376b8df0fb
Shadow task fixes, asset link ids, backup verdict
2026-08-13 13:20:24 -04:00
70c5bced37
Shadow-mode client script and cutover doc correction
2026-08-13 11:23:27 -04:00
3abf724ae6
Stale enforcement reports judge both clocks
2026-08-13 09:54:05 -04:00
5dcc7e30af
Display role vocabulary, migration commit fix, stale enforcement reports
2026-08-13 09:30:40 -04:00
d327ea1a5c
Self-updating GE-Enforce client module on displays
2026-08-12 17:21:29 -04:00
d6b433e5f4
Kiosks report their display type; whole-chain DDL parity
2026-08-12 17:07:21 -04:00
2c822e462d
Fix reports 500 on MySQL; enforcement report asset context
2026-08-12 16:49:58 -04:00
ee7f8640d1
Publish gate: refuse a manifest the fleet's enforcer lib cannot read
2026-08-12 15:26:27 -04:00
c0c2982810
One-shot Edge force-update for the shopfloor displays
2026-08-12 12:26:35 -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
2d19bcdf60
Employee resolve diagnostic
2026-08-11 16:10:21 -04:00
34cb9a5e3e
Dashboard polish
2026-08-11 15:28:29 -04:00
f1d46e7ab8
Backup verified column
2026-08-11 15:00:26 -04:00
3b37603691
Dashboard cards: rebuild deployable dists
2026-08-11 14:31:24 -04:00
0ed8be75d9
Dashboard cards, backup last-seen
2026-08-11 14:01:57 -04:00
321d0a3799
Backups: collection interval is actually readable
2026-08-11 10:08:59 -04:00
28b1dfb89e
Backups: a revision chain belongs to a PC, not just a machine
2026-08-10 15:03:00 -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
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