Commit Graph

  • 2083029ff2 Generate the collector script per site, and bring EventSaver into the repo main cproudlock 2026-08-18 15:51:14 -04:00
  • 96f127f8c8 Bring the collector script into the repo, with no site in it cproudlock 2026-08-18 09:59:51 -04:00
  • f34b9ca710 Carry the level everywhere a position is drawn, and gate it per occurrence cproudlock 2026-08-18 09:36:45 -04:00
  • 8bde89c47e Release 0.11.2 v0.11.2 cproudlock 2026-08-17 15:46:38 -04:00
  • afd3dce493 Give the map editor's search box room for its own placeholder cproudlock 2026-08-17 15:24:37 -04:00
  • 89248407e7 Make the map editor accept a click, and unclutter its panel cproudlock 2026-08-17 15:20:44 -04:00
  • aa6db94179 Fix the levels viewer: markers were drawn on whichever plan was showing cproudlock 2026-08-17 14:59:44 -04:00
  • dd503be4ba Release 0.11.1 v0.11.1 cproudlock 2026-08-17 14:38:59 -04:00
  • 5f5ed7b1d4 Record the pagination-cap fixes in the changelog cproudlock 2026-08-17 14:17:21 -04:00
  • 62f4a42210 fix: page past the 100-row cap in batch label sheets and asset pickers cproudlock 2026-08-17 14:10:08 -04:00
  • 9c1c6c5729 fix: page past the 100-row cap in application pickers cproudlock 2026-08-17 14:06:35 -04:00
  • 741dda5be7 Document buildings and levels where the old single-map model was still taught cproudlock 2026-08-17 13:35:57 -04:00
  • 24647aa8e8 Release 0.11.0 v0.11.0 cproudlock 2026-08-17 13:23:49 -04:00
  • aede5ac621 Match the optional identifiers in every list's search box cproudlock 2026-08-17 13:16:22 -04:00
  • 3324dbd91e Buildings and levels for the floor map, and make every identifier searchable cproudlock 2026-08-17 12:55:51 -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
  • 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
  • 1078ac03df geenforce: shadow runs inside the enforce cycle, not on its own clock cproudlock 2026-08-13 14:52:56 -04:00
  • dfbc12a172 printers: part numbers for the HP 3201 / 3301 series cproudlock 2026-08-13 13:45:45 -04:00
  • 4bded210e4 geenforce: the backup hover names both dates, because they mean different things cproudlock 2026-08-13 13:35:05 -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
  • e67fe47fe2 relationships: refuse links that cannot both be true, and report the ones already stored cproudlock 2026-08-13 12:25:24 -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
  • 1e884dc02a geenforce: judge silence on both clocks, not just the server's cproudlock 2026-08-13 09:53:56 -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
  • 5de3594425 displays: the client module updates itself cproudlock 2026-08-12 17:21:29 -04:00
  • 84bf5d04ed geenforce: let a kiosk say what it is instead of guessing cproudlock 2026-08-12 17:07:21 -04:00
  • d572c913e5 geenforce: let the wide pages use the page cproudlock 2026-08-12 16:56:45 -04:00
  • f1f573862d geenforce: order backup revisions in Python, not in MySQL cproudlock 2026-08-12 16:49:58 -04:00
  • 52eb10f5ca contract 0.17.0: expose DashboardDefault to plugins cproudlock 2026-08-12 16:41:09 -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
  • 9e34fafce5 geenforce: refuse to publish a manifest the fleet's lib cannot read cproudlock 2026-08-12 15:23:57 -04:00
  • 787f475208 displays: clear a pending Edge update without waiting for 02:00 cproudlock 2026-08-12 12:26:29 -04:00
  • 457349d258 export: stop an unanchored exclude from eating a plugin cproudlock 2026-08-12 12:13:23 -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
  • 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
  • 94d8d6c9b6 dashboard: numbers that agree, a map on hover, wider cards cproudlock 2026-08-11 16:27:14 -04:00
  • 221bbb226e employees: an endpoint that says WHY a name did not resolve cproudlock 2026-08-11 16:10:20 -04:00
  • 42c050a9f4 dashboard: tighten the printer, warranty and notification cards cproudlock 2026-08-11 15:57:14 -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
  • c34815b87e dashboard: overflow links somewhere, tiles say what they count, rows stay inside cproudlock 2026-08-11 15:28:29 -04:00
  • 294ddbb38e backups: show that a check happened, not just that a change did cproudlock 2026-08-11 15:00:25 -04:00
  • e0e4cce8bd dashboard: fix what a real fleet showed, which tests could not cproudlock 2026-08-11 14:45:28 -04:00
  • 5eb84873e8 dashboard: convert the last dead widgets, and delete the one that had nothing cproudlock 2026-08-11 14:27:29 -04:00
  • 7151b68bdd dashboard: printer supplies, expiring warranties, mis-numbered bays cproudlock 2026-08-11 14:13:26 -04:00
  • 6c975a107c backups: record that a config was checked, not only that it changed cproudlock 2026-08-11 13:52:07 -04:00
  • 1ca8a9b8e8 dashboard: PCs not reporting, and the card styling standard it broke cproudlock 2026-08-11 13:40:41 -04:00
  • 05c150c663 dashboard: render plugin-declared cards, starting with enforcement failures cproudlock 2026-08-11 13:09:46 -04:00
  • 8b50e6fe2a geenforce: first dashboard card, and the widget contract it proves cproudlock 2026-08-11 13:01:04 -04:00
  • 02d7619b1a Propose a dashboard that shows the fleet, not the row count cproudlock 2026-08-11 12:50:16 -04:00
  • 105345fb3d Release 0.9.0 v0.9.0 cproudlock 2026-08-11 12:41:35 -04:00
  • bf75cdc43b docs: keep real fleet hostnames out of a page that publishes to the wiki cproudlock 2026-08-11 12:10:04 -04:00
  • db2b9280e7 docs: write down the composition pattern, not just the one case cproudlock 2026-08-11 12:04:35 -04:00
  • c90ebcbc7c computers: declare subordinate devices instead of coding each one cproudlock 2026-08-11 11:13:12 -04:00
  • 91143d94fb ADR-016: credential delivery to the fleet cproudlock 2026-08-11 10:54:42 -04:00
  • 6516e76bf4 backups: the collection interval was never actually readable cproudlock 2026-08-11 09:53:43 -04:00
  • 13e6e039fe ADR-015: where a site's own data is allowed to live cproudlock 2026-08-11 09:21:23 -04:00
  • 78c1c4709f docs: the collector contract described the machine-number defect as the rule cproudlock 2026-08-11 09:13:00 -04:00
  • 300f9123d2 backups: re-file historical revisions onto the part markers they came from cproudlock 2026-08-11 08:13:21 -04:00
  • 738f30dca3 computers: never file a part marker under its own PC cproudlock 2026-08-10 17:01:23 -04:00
  • a61739d1ab computers: a part marker is its own asset, under the operation it serves cproudlock 2026-08-10 15:54:53 -04:00
  • d429c882b4 backups: a revision chain belongs to a PC, not just a machine cproudlock 2026-08-10 15:02:38 -04:00
  • 5108ba8aaa computers: a second PC claiming a machine is a claim, not a handover cproudlock 2026-08-10 14:48:51 -04:00