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
4a5d2122db
Repair backup revisions that recorded a mapped drive
2026-08-25 15:00:57 -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
c7fd00c225
One canonical name per vendor in the shipped catalog
2026-08-25 07:47:56 -04:00
1812def14f
Catalog dedupe commands, and a seed catalog with no duplicate vendors or models
2026-08-24 14:49:54 -04:00
4fe4e91ae4
Maintenance scripts load .env, so they reach the site's real database
2026-08-24 14:32:38 -04:00
ead9fd6b56
Search results open the record they found; plugin scaffolder emits a prunable frontend
2026-08-24 14:06:14 -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
21af2731f3
site_base_url: say the subpath belongs in it
2026-08-21 15:27:32 -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
fdf3c51cb0
Hover mini-map marker in box coordinates
2026-08-21 10:20:38 -04:00
d26355cebb
Hover mini-map marker, knowledge base search, and the label generator
2026-08-21 09:51:12 -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
1b5b28acff
Release 0.12.0
2026-08-20 08:46:04 -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
8dd383f4ee
Release 0.11.2
2026-08-17 15:53:26 -04:00
e67add5fbe
Give the map editor's search box room for its own placeholder
2026-08-17 15:26:54 -04:00
3af77bdb5b
Make the map editor accept a click, and unclutter its panel
2026-08-17 15:21:34 -04:00
4c3d5746e8
Fix the levels viewer: markers were drawn on whichever plan was showing
2026-08-17 15:01:09 -04:00
ece0e15f03
Page past the 100-row cap in pickers and batch label sheets
2026-08-17 14:17:28 -04:00
7df79e50d9
Release 0.11.0
2026-08-17 13:29:05 -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
47fb65fdd2
Release 0.10.0
2026-08-17 08:37:57 -04:00
265ca2eb01
Security hardening, multi-site portability, and a documentation and API-surface sweep
2026-08-14 16:28:34 -04:00