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
5f069b1a5f
Email report on every report page; kiosk long-name fix
2026-08-27 11:01:28 -04:00
4dfbf5f8ec
Kiosk drive filter and wider picker
2026-08-27 10:37:10 -04:00
60c340b07f
Plugin reports render; USB check-in/out audit report; kiosk drive lists
2026-08-27 10:20:59 -04:00
376298dc02
Navigation sections declared, guide editor drag + references, USB settings, permission refresh
2026-08-27 09:30:08 -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
4e38303326
Tab titles name the record; Guides reach a site and the contract surface
2026-08-26 13:31:13 -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
0398c55fb5
Warranty search finds a machine number; the collector can no longer set a printer assignment
2026-08-24 11:52:48 -04:00
f109dd1349
Plugin baselines skip tables that already exist
2026-08-24 09:28:52 -04:00
ce3a0f4338
Secure Send documented, and the machine form stops re-creating a controlling-PC link that already exists
2026-08-24 08:55:45 -04:00
b90d7a7051
Secure send settings page
2026-08-21 16:10:52 -04:00
ee1da0ffb8
Tech Tools reachable without a login
2026-08-21 16:02:52 -04:00
0b4a1db842
Secure send: guests by setting, and a custom view count
2026-08-21 15:53:42 -04:00
1dd8474ce4
Secret links: one mount, not two
2026-08-21 15:23:18 -04:00
627804535e
Secret links carry the site URL and the mount path
2026-08-21 15:19:43 -04:00
94fd70391a
Secure send: the pages a person actually touches
2026-08-21 15:11:04 -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
2719589c6e
Label generator: back-side codes, pictures, two-column layout, measurement guards
2026-08-21 12:38:08 -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
65312c0502
Name the toner on the forecast, keep the number on the hover
2026-08-21 11:23:27 -04:00
04107ff8ab
Search spelling suggestions across every list
2026-08-21 11:15:06 -04:00
980b2e8be3
Find a knowledge base article by words from different fields
2026-08-21 09:40:14 -04:00
44432c9b5a
Label generator: gap, position and a back side
2026-08-21 09:09: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
09e9d5f047
Carry the level everywhere a position is drawn, and gate it per occurrence
2026-08-18 09:37:29 -04:00
ece0e15f03
Page past the 100-row cap in pickers and batch label sheets
2026-08-17 14:17:28 -04:00
49f68081c3
Match the optional identifiers in every list's search box
2026-08-17 13:18:26 -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
72f8da0e58
Shadow runs in-cycle; guarded share path
2026-08-13 14:54:06 -04:00
14fc3377d9
HP 3201/3301 toner part numbers
2026-08-13 13:45:56 -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