-
7df79e50d9
Release 0.11.0
Cam Proudlock
2026-08-17 13:29:05 -04:00
-
24647aa8e8
Release 0.11.0
v0.11.0
cproudlock
2026-08-17 13:23:49 -04:00
-
49f68081c3
Match the optional identifiers in every list's search box
Cam Proudlock
2026-08-17 13:18:26 -04:00
-
aede5ac621
Match the optional identifiers in every list's search box
cproudlock
2026-08-17 13:16:22 -04:00
-
fbd99041b0
Buildings and levels for the floor map, and make every identifier searchable
Cam Proudlock
2026-08-17 13:03:54 -04:00
-
3324dbd91e
Buildings and levels for the floor map, and make every identifier searchable
cproudlock
2026-08-17 12:55:51 -04:00
-
47fb65fdd2
Release 0.10.0
Cam Proudlock
2026-08-17 08:37:57 -04:00
-
7d9a54ca0f
Release 0.10.0
v0.10.0
cproudlock
2026-08-17 08:00:24 -04:00
-
a895bde6fe
README: count the plugins the tree has, and point somewhere useful
cproudlock
2026-08-14 16:34:46 -04:00
-
265ca2eb01
Security hardening, multi-site portability, and a documentation and API-surface sweep
Cam Proudlock
2026-08-14 16:28:34 -04:00
-
e7b8933588
Stop the publication scrub failing on the rules that enforce it
cproudlock
2026-08-14 16:27:58 -04:00
-
1d8c983d04
Record the documentation and API-surface sweep in the changelog
cproudlock
2026-08-14 16:21:16 -04:00
-
96df19702e
docs: one manual runbook, and ADR statuses that mean something
cproudlock
2026-08-14 16:20:59 -04:00
-
928a50c16e
docs: what a site needs that no page answered
cproudlock
2026-08-14 16:16:01 -04:00
-
62c5454f00
docs: a front door, and one page on how the pieces relate
cproudlock
2026-08-14 16:12:04 -04:00
-
ad335cfc9e
api: document the twenty-two routes that were serving traffic in silence
cproudlock
2026-08-14 16:09:47 -04:00
-
36b0265668
openapi: emit a spec a machine can actually use
cproudlock
2026-08-14 15:56:27 -04:00
-
05be4c4489
docs: fix the examples that fail if you paste them
cproudlock
2026-08-14 15:43:27 -04:00
-
d1ba3a1a02
docs: stop typing versions the code already knows
cproudlock
2026-08-14 15:41:27 -04:00
-
4995456136
docs: take one site's name, hosts and paths off the public wiki
cproudlock
2026-08-14 15:38:27 -04:00
-
c829d96128
docs: take two leaks off the public wiki, and say where the files come from
cproudlock
2026-08-14 15:23:04 -04:00
-
ce6d44e69f
docs: EventSaver, and how GE-Enforce reaches a bay in the first place
cproudlock
2026-08-14 14:19:16 -04:00
-
c648bdf560
labels: one module knows how to draw a code, seven views stop guessing
cproudlock
2026-08-14 14:03:49 -04:00
-
b37c08eb5b
docs: how another site points these tools at its own ShopDB
cproudlock
2026-08-14 13:53:17 -04:00
-
8f9805d964
Generate the facts that go stale, and record the fortnight in the changelog
cproudlock
2026-08-14 13:47:48 -04:00
-
035419fa51
ADR-015: stop shipping one site's values, and make the rule a gate
cproudlock
2026-08-14 13:47:39 -04:00
-
4d6ab741cc
backups: retention reads the key the settings page actually writes
cproudlock
2026-08-14 13:47:19 -04:00
-
838932a72d
geenforce: gate publishing on the library version, not on the manifest's own
cproudlock
2026-08-14 13:47:11 -04:00
-
2df5028883
relationships: the cleanup tools stop acting on links that were deleted
cproudlock
2026-08-14 13:47:01 -04:00
-
c7dffce81e
Serve an uploaded file as data, not as a document that can run
cproudlock
2026-08-14 13:46:53 -04:00
-
d830dd49a9
collector: adopt an instrument before minting one, and stop the 500 loops
cproudlock
2026-08-14 13:46:40 -04:00
-
38deefe619
migrations: commit the plugin chains too, and bound what re-ran
cproudlock
2026-08-14 13:46:23 -04:00
-
0c574e0f49
installer: break ACL inheritance on the roots it creates
cproudlock
2026-08-14 13:46:03 -04:00
-
ab301df9ac
network: generate a device's asset number instead of asking twice
cproudlock
2026-08-14 13:45:51 -04:00
-
72f8da0e58
Shadow runs in-cycle; guarded share path
Cam Proudlock
2026-08-13 14:54:06 -04:00
-
1078ac03df
geenforce: shadow runs inside the enforce cycle, not on its own clock
cproudlock
2026-08-13 14:52:56 -04:00
-
14fc3377d9
HP 3201/3301 toner part numbers
Cam Proudlock
2026-08-13 13:45:56 -04:00
-
dfbc12a172
printers: part numbers for the HP 3201 / 3301 series
cproudlock
2026-08-13 13:45:45 -04:00
-
7517146238
Backup hover names the check and the capture separately
Cam Proudlock
2026-08-13 13:35:17 -04:00
-
4bded210e4
geenforce: the backup hover names both dates, because they mean different things
cproudlock
2026-08-13 13:35:05 -04:00
-
376b8df0fb
Shadow task fixes, asset link ids, backup verdict
Cam Proudlock
2026-08-13 13:20:24 -04:00
-
1d7191c2d3
geenforce: the fleet table links where it says, and judges backups instead of dating them
cproudlock
2026-08-13 13:20:15 -04:00
-
6dc363411d
geenforce: the shadow task actually runs, and says so on disk
cproudlock
2026-08-13 13:19:59 -04:00
-
3d83806135
Make the toner forecast an order, not a table
cproudlock
2026-08-13 13:08:39 -04:00
-
6e0d8aec4e
Relationship inverse guard, audit command, widened direction fixer
Cam Proudlock
2026-08-13 12:25:35 -04:00
-
e67fe47fe2
relationships: refuse links that cannot both be true, and report the ones already stored
cproudlock
2026-08-13 12:25:24 -04:00
-
70c5bced37
Shadow-mode client script and cutover doc correction
Cam Proudlock
2026-08-13 11:23:27 -04:00
-
6cdbea449a
geenforce: ship shadow mode through the share, and correct the cutover doc
cproudlock
2026-08-13 11:21:28 -04:00
-
7d66551622
Forecast from the right end of the window, and from the level shown
cproudlock
2026-08-13 10:54:23 -04:00
-
3abf724ae6
Stale enforcement reports judge both clocks
Cam Proudlock
2026-08-13 09:54:05 -04:00
-
1e884dc02a
geenforce: judge silence on both clocks, not just the server's
cproudlock
2026-08-13 09:53:56 -04:00
-
5dcc7e30af
Display role vocabulary, migration commit fix, stale enforcement reports
Cam Proudlock
2026-08-13 09:30:40 -04:00
-
962979d483
geenforce: a PC that has gone quiet stops reading as healthy
cproudlock
2026-08-13 09:28:37 -04:00
-
20a95013ad
contract 0.18.0: one name per display role, the kiosk's own
cproudlock
2026-08-13 09:28:26 -04:00
-
9336577abe
Commit the migration run instead of trusting MySQL to
cproudlock
2026-08-13 09:28:11 -04:00
-
d327ea1a5c
Self-updating GE-Enforce client module on displays
Cam Proudlock
2026-08-12 17:21:29 -04:00
-
5de3594425
displays: the client module updates itself
cproudlock
2026-08-12 17:21:29 -04:00
-
d6b433e5f4
Kiosks report their display type; whole-chain DDL parity
Cam Proudlock
2026-08-12 17:07:21 -04:00
-
84bf5d04ed
geenforce: let a kiosk say what it is instead of guessing
cproudlock
2026-08-12 17:07:21 -04:00
-
50578f33bd
Full-width GE-Enforce pages; asset column no longer echoes the host
Cam Proudlock
2026-08-12 17:01:10 -04:00
-
d572c913e5
geenforce: let the wide pages use the page
cproudlock
2026-08-12 16:56:45 -04:00
-
2c822e462d
Fix reports 500 on MySQL; enforcement report asset context
Cam Proudlock
2026-08-12 16:49:58 -04:00
-
f1f573862d
geenforce: order backup revisions in Python, not in MySQL
cproudlock
2026-08-12 16:49:58 -04:00
-
8d1f442daf
Enforcement reports with asset context; contract 0.17.0
Cam Proudlock
2026-08-12 16:41:16 -04:00
-
52eb10f5ca
contract 0.17.0: expose DashboardDefault to plugins
cproudlock
2026-08-12 16:41:09 -04:00
-
e8f33cffa1
Enforcement reports with asset context and backup state; manifest editor spacing
Cam Proudlock
2026-08-12 16:35:46 -04:00
-
598c2c98bc
geenforce: reports say what the PC is, where, and whether it is backed up
cproudlock
2026-08-12 16:31:24 -04:00
-
523e3e4ecc
geenforce: give the manifest entry rows room to breathe
cproudlock
2026-08-12 15:47:36 -04:00
-
ee7f8640d1
Publish gate: refuse a manifest the fleet's enforcer lib cannot read
Cam Proudlock
2026-08-12 15:26:27 -04:00
-
9e34fafce5
geenforce: refuse to publish a manifest the fleet's lib cannot read
cproudlock
2026-08-12 15:23:57 -04:00
-
c0c2982810
One-shot Edge force-update for the shopfloor displays
Cam Proudlock
2026-08-12 12:26:35 -04:00
-
787f475208
displays: clear a pending Edge update without waiting for 02:00
cproudlock
2026-08-12 12:26:29 -04:00
-
5859070405
Ship the Tech Tools plugin that the previous export silently dropped
Cam Proudlock
2026-08-12 12:13:30 -04:00
-
457349d258
export: stop an unanchored exclude from eating a plugin
cproudlock
2026-08-12 12:13:23 -04:00
-
4319f6bc8e
Application and warranty uploads, toner forecast, fiscal week
Cam Proudlock
2026-08-12 12:07:14 -04:00
-
a64796f060
Document the upload, proof and forecast endpoints
cproudlock
2026-08-12 12:06:25 -04:00
-
ea35a134fe
Show the fiscal week beside the site name
cproudlock
2026-08-12 12:06:25 -04:00
-
d32513727b
Tech Tools section with a code generator, toner report that names the part, toner forecasting, warranty proof of cover, application uploads
Cam Proudlock
2026-08-12 11:51:38 -04:00
-
d109314123
Forecast when a printer runs out, and count what it has been through
cproudlock
2026-08-12 11:45:40 -04:00
-
2fce81f33f
Attach proof of cover to a warranty
cproudlock
2026-08-12 11:45:40 -04:00
-
c28b02e45b
Upload an application's image and installer instead of typing paths
cproudlock
2026-08-12 11:45:17 -04:00
-
2693eb28d6
Cap the dashboard at four cards, and shrink the hover map
cproudlock
2026-08-12 11:45:17 -04:00
-
27f76ee964
frontend: declare the empty toplevel export the codegen reads
cproudlock
2026-08-12 11:43:57 -04:00
-
f66763e6df
tools: a Tech Tools section, starting with codes on label stock
cproudlock
2026-08-12 11:43:48 -04:00
-
4d807ccb4b
toner report: the part to order, and where the printer is
cproudlock
2026-08-12 11:43:25 -04:00
-
568dfbb91c
Dashboard corrections
Cam Proudlock
2026-08-11 16:27:14 -04:00
-
94d8d6c9b6
dashboard: numbers that agree, a map on hover, wider cards
cproudlock
2026-08-11 16:27:14 -04:00
-
2d19bcdf60
Employee resolve diagnostic
Cam Proudlock
2026-08-11 16:10:21 -04:00
-
221bbb226e
employees: an endpoint that says WHY a name did not resolve
cproudlock
2026-08-11 16:10:20 -04:00
-
721828b5cb
Card refinements
Cam Proudlock
2026-08-11 15:58:15 -04:00
-
42c050a9f4
dashboard: tighten the printer, warranty and notification cards
cproudlock
2026-08-11 15:57:14 -04:00
-
793dfab5c8
Printer card chips
Cam Proudlock
2026-08-11 15:46:21 -04:00
-
8623db3ee2
dashboard: printer rows are a name and its cartridges, with the answer on hover
cproudlock
2026-08-11 15:46:21 -04:00
-
34cb9a5e3e
Dashboard polish
Cam Proudlock
2026-08-11 15:28:29 -04:00
-
c34815b87e
dashboard: overflow links somewhere, tiles say what they count, rows stay inside
cproudlock
2026-08-11 15:28:29 -04:00
-
f1d46e7ab8
Backup verified column
Cam Proudlock
2026-08-11 15:00:26 -04:00
-
294ddbb38e
backups: show that a check happened, not just that a change did
cproudlock
2026-08-11 15:00:25 -04:00
-
9ae9879b90
Dashboard fixes: staleness, toner, layout
Cam Proudlock
2026-08-11 14:45:29 -04:00
-
e0e4cce8bd
dashboard: fix what a real fleet showed, which tests could not
cproudlock
2026-08-11 14:45:28 -04:00
-
3b37603691
Dashboard cards: rebuild deployable dists
Cam Proudlock
2026-08-11 14:31:24 -04:00