Commit Graph

  • 4605fcf46d Fill the shared module cache with the release by the probe before the real-go integration tests, and skip loudly when it cannot (issue 1560, ADR 0476) mesh-tools 2026-10-21 00:56:03 +00:00
  • c5f8f81a07 Test that every step and the probe run Go's own release and the probe fills the module cache (issue 1560, ADR 0476) mesh-tools 2026-10-21 00:51:40 +00:00
  • 3f60d1ff31 Build Go modules with Go's own release of the recipe's version, put in the module cache by the probe, so the distribution's build no longer makes the guard refuse (issue 1560, ADR 0476) mesh-tools 2026-10-21 00:50:56 +00:00
  • 76bb22c362 Merge pull request 'Polish the brother module so the scanner and printer just work: long feeder scans, several tickets, joined glass pages, one-call print, certificate health' (#399) from feat/brother-polish into main mesh-tools 2026-10-21 00:22:44 +00:00
  • 9aa9792614 Merge pull request 'Fill a module's files one by one, so a known secret's file is not held back by a template that waits (issue 1553)' (#398) from fix/1553-fill-file-by-file into main mesh-tools 2026-10-21 00:13:38 +00:00
  • 3757d75d6a Wait for the background scan's outcome in the test instead of reading it once, and say where brother_health sits (issue 1552) jschoubben 2026-10-21 02:08:50 +02:00
  • f99f11e8a4 Merge pull request 'Mail reading: mesh-mail-reader notes each new mail, tells mail that matters on Telegram, and the mail page shows and corrects it (design 59 milestone 2)' (#397) from feat/mail-reading into main mesh-tools 2026-10-21 00:06:24 +00:00
  • b7243505ca Carry brother's certificate check on a watch process beside the device unit check, as fail2ban does (issue 1510) jschoubben 2026-10-21 02:05:21 +02:00
  • 7eddb116b1 Answer brother_health's wait for unset settings with the SDK's health.Waiting (issue 1510) jschoubben 2026-10-21 02:00:54 +02:00
  • 37035dfc90 Fill a module's files one by one, so a known secret's file is not held back by a template that waits (issue 1553) mesh-tools 2026-10-21 00:00:09 +00:00
  • 65e67abb7d Bound the certificate check to 3 s a handshake and 7 s, and answer waits while printer is not given (issue 1510) jschoubben 2026-10-21 01:58:50 +02:00
  • 95c47a09c9 Print from a path only under the home folder, refused in one fixed way (issue 1551) jschoubben 2026-10-21 01:57:34 +02:00
  • 43771458f6 Cut several documents apart only when scanner.scan is asked apart: true (issue 1528) jschoubben 2026-10-21 01:56:52 +02:00
  • ef833e26c7 Drop an ask taken up after its deadline, follow a scan for its run, re-arm open documents and delete their pages (issues 1539, 1552, 1538) jschoubben 2026-10-21 01:56:24 +02:00
  • f3007eb242 Fix the try on 8000b637 and review round 2: RunBatches takes its gap as a parameter instead of reading the var BatchGap, and no tell while unhealthy is checked as an exact count, not a before/after that a same-pass tell could hide behind (issue 1520, 1524) jochen 2026-10-21 01:52:58 +02:00
  • 8000b63785 Review round 1: an unset mail-reading verb answers unavailable not unknown, cache the index instead of leaking a pool per call, a gone mail leaves the queue without going unhealthy, sort the judge's own cause by its words, drive RunBatches itself for its pacing test, and prove no tell while unhealthy against a genuinely untold mail (issues 1430, 1523, 1517, 1518, 1520, 1519, 1524) jochen 2026-10-21 01:48:23 +02:00
  • 1e19e8ee9a Judge the module healthy by the certificates the printer serves against the pinned list (issue 1510) jschoubben 2026-10-21 01:47:25 +02:00
  • a75e11e814 Scan several glass pages into one PDF with scanner.scan document start, an id and finish (issue 1538) jschoubben 2026-10-21 01:45:53 +02:00
  • 17f3c45182 Cut each of several documents lying apart on the glass out and file it as its own PDF (issue 1528) jschoubben 2026-10-21 01:44:05 +02:00
  • a5bc37459b Let printer.print take a file path and upload and print it in one call (issue 1551) jschoubben 2026-10-21 01:41:21 +02:00
  • 23c3a2396e Answer a long feeder scan as started with an id, file it in the background, and scale the feeder's bound with its pages (issues 1552, 1539) jschoubben 2026-10-21 01:40:29 +02:00
  • 7bf63f9eff Ask a failed part fetch once more before a scan fails, and name the stored object (issue 1536) jschoubben 2026-10-21 01:37:26 +02:00
  • 8295bc3894 Refuse a redirect off https or off the printer's host and a re-sent login body in the admin client (issue 1515) jschoubben 2026-10-21 01:36:59 +02:00
  • f89b73d936 Fix the try on 63980bf5: keep a test database's name within postgres's 63-byte limit so two calls in one long-named test never collide (issue 1517) jochen 2026-10-21 01:30:52 +02:00
  • 63980bf5ac Merge remote-tracking branch 'origin/main' into feat/mail-reading jochen 2026-10-21 01:25:15 +02:00
  • cfea9de530 Fix the try on bb594652: a const batch gap unit tests assert directly, wait for the bundle's own subscribe before publishing, and a migration-0001 database built through the real path (issues 1520, 1518, 1431, 1517) jochen 2026-10-21 01:24:57 +02:00
  • 6c6d5f681c Merge pull request 'Send the scan request on one line so the Brother honours it, and scan from the feeder, both sides, into one PDF (issue 1452)' (#396) from fix/1452-feeder-duplex into main mesh-tools 2026-10-20 23:19:56 +00:00
  • bb594652fa Merge remote-tracking branch 'origin/main' into feat/mail-reading jochen 2026-10-21 01:12:06 +02:00
  • 794de09c4d Fix the try: guard shared test state with mutexes, pgxpool over one conn, a short batch gap for integration builds, unique+forced database drops (issues 1431, 1524, 1517) jochen 2026-10-21 01:11:48 +02:00
  • d62c2edc35 Merge pull request 'Mark the build modules moved, so a machine assigned them composes before the forge serves their entry (issue 1537)' (#395) from fix/1537-build-modules-moved into main mesh-tools 2026-10-20 23:09:36 +00:00
  • d5f9cd465c Send brother's scan settings on one line and scan from the feeder, both sides, into one PDF (issue 1452) jschoubben 2026-10-21 01:05:55 +02:00
  • c7e892ca63 Mark the build modules moved, so a machine assigned them composes before the forge serves their entry (issue 1537) mesh-tools 2026-10-20 22:59:36 +00:00
  • d61fe4e2da Merge remote-tracking branch 'origin/main' into feat/mail-reading jochen 2026-10-21 00:56:07 +02:00
  • 3d030c9b4f Prove a refused judgement fails loudly and catches up, and the page shows why (issue 1524) jochen 2026-10-21 00:55:23 +02:00
  • 95704c7410 Start mesh-mail-reader whole against the real bus and store: entries, no body kept, the tell, the cap (issue 1431) jochen 2026-10-21 00:53:37 +02:00
  • 82649bc770 Merge pull request 'Close every eSCL scan job brother opens, and say a busy scanner as busy (issue 1531)' (#392) from fix/1531-close-scan-jobs into main mesh-tools 2026-10-20 22:53:09 +00:00
  • a28398c16b Merge pull request 'File a scan of any size: answer its parts in 128 KiB under the state's 256 KiB value limit, and end only a too-large answer at once (issue 1535)' (#394) from fix/1535-scan-answer-size into main mesh-tools 2026-10-20 22:47:14 +00:00
  • 0bc59c6f4a Correct a mail's mark or group and undo a lesson from the page, with the weekly measure (issue 1523) jochen 2026-10-21 00:46:56 +02:00
  • 66616ed353 Bring fix/1531 up to main, so its check is judged against main again (issue 888) jschoubben 2026-10-21 00:42:56 +02:00
  • 8ff94287a7 Show mail that matters, mail groups and scam warnings above the classical list (issue 1430) jochen 2026-10-21 00:39:31 +02:00
  • 3811ac69ed Merge pull request 'Let printer.settings say each setting's current value: the checked radio, a checkbox's state, the selected option (issue 1530)' (#393) from fix/1530-settings-current-values into main mesh-tools 2026-10-20 22:38:06 +00:00
  • db581abb05 Terminate an ask only for an answer the state refuses as too large; retry any other failed answer write (issue 1535) jschoubben 2026-10-21 00:35:26 +02:00
  • 35496d6381 Send the mail signal after each batch: messenger_check, tell, untold carried over (issue 1522) jochen 2026-10-21 00:34:52 +02:00
  • 61796cd3dd Answer a scan's parts in 128 KiB, under the state's 256 KiB value limit, and end an ask whose answer is refused instead of redelivering it (issue 1535) jschoubben 2026-10-21 00:33:00 +02:00
  • 72f4bc52a4 Build the mail signal's own words: headline, nearest due date first (issue 1429) jochen 2026-10-21 00:31:14 +02:00
  • e87269b0d2 Keep the operator's corrections as reading lessons at once: correct, lessons, undo (issue 1428) jochen 2026-10-21 00:27:47 +02:00
  • a13a6c5898 Serve entries, groups and status: filtered, sorted, with the weekly reading-lessons measure (issue 1521) jochen 2026-10-21 00:22:37 +02:00
  • 42bffb9363 Run the reader's batches: paced, judged, written as entries, unhealthy on failure (issue 1520) jochen 2026-10-21 00:18:37 +02:00
  • 43e0daf694 Merge pull request 'Name the build test's fixture manifest module.json.fixture, so no reader takes it for a module of the catalogue (issue 1527)' (#391) from fix/1527-fixture-manifest-name into main mesh-tools 2026-10-20 22:15:31 +00:00
  • 6d7117a361 Never guess a label from another control's, form's or link's text; test the radio group with nothing checked (issue 1530) jschoubben 2026-10-21 00:11:48 +02:00
  • 3df52a8ac5 Answer each settings field's current value, and leave the menu links and hidden fields out unless asked (issue 1530) jschoubben 2026-10-21 00:08:58 +02:00
  • 83bc01e746 Build the batch's question and read its answer, bounded and out of shape when wrong (issue 1427) jochen 2026-10-21 00:08:28 +02:00
  • eac59c60c8 Say a Platen job's second page as an error instead of dropping it (issue 1531) jschoubben 2026-10-21 00:05:34 +02:00
  • a760a4695a Close every eSCL scan job brother opens, so the next scan is not refused with 503 (issue 1531) jschoubben 2026-10-21 00:03:28 +02:00
  • 183cc58347 Keep mesh-mail-reader's own health, surviving a restart (issue 1519) jochen 2026-10-20 23:58:37 +02:00
  • b56670535f Name the build test's fixture manifest module.json.fixture, so no reader takes it for a module of the catalogue (issue 1527) mesh-tools 2026-10-20 21:56:31 +00:00
  • d7b5c87887 Hear mesh-mail's added events, recorded before acknowledged, in arrival order (issue 1518) jochen 2026-10-20 23:56:17 +02:00
  • 0d2d19daa0 Keep a mail entry per mail, never the body (issue 1517) jochen 2026-10-20 23:53:48 +02:00
  • d17b7e832d Declare the seat mail-reading and the module mesh-mail-reader's skeleton (issue 1426) jochen 2026-10-20 23:50:02 +02:00
  • 199f72fed2 Merge pull request 'The Go and the Node build modules, ssh-client on the SDK's key keeper, and gitea's read-only builder accounts (design 47 R4c-3)' (#389) from feat/r4c3-build-modules into main mesh-tools 2026-10-20 21:43:14 +00:00
  • 06d5dc9830 Merge pull request 'Start brother's admin login where the printer serves its form, and never leave a session open or post the password off https (issue 1514)' (#390) from fix/1514-admin-login-start-page into main mesh-tools 2026-10-20 21:28:42 +00:00
  • 02076ebe93 Log in to the default page and ask for the page after, so a missing page leaves no session; send the password over https only (issue 1514 review) jschoubben 2026-10-20 23:21:15 +02:00
  • bcee61edf7 Skip, loudly, a build module's real-toolchain test where the check's image lacks the tool; it is proven live on a build node (issues 1486, 1490) mesh-tools 2026-10-20 21:19:15 +00:00
  • 2716c6faed Name the captured root response jschoubben 2026-10-20 23:18:39 +02:00
  • b1950f6a5c Start the printer's admin login at the root and default to /home/status.html: this firmware has no /general/status.html behind the login (issue 1514) jschoubben 2026-10-20 23:18:36 +02:00
  • 983a6c39c8 Ship the Node build module's toolchain lock as an archive, not a template naming hosts (issue 1488) mesh-tools 2026-10-20 21:15:56 +00:00
  • 00fa5e74d0 Review round 1 for the Node build module: registry for other @novox packages and refused bundles (1489), toolchain.reported stream (1483, 1488), re-pin to mesh-sdk 36d6f774; delta part 4 of 4 mesh-tools 2026-10-20 21:12:10 +00:00
  • 4a1804cda3 Review round 1 for the Node build module: build depth (1490), bin scripts for the test script (1491), toolchain.reported and its stream (1483, 1488); delta part 3 of 4 mesh-tools 2026-10-20 21:10:18 +00:00
  • 7e7cc27c30 Review round 1 for the checks, ssh-client and the Go build module: sshdir (1484), socket path (1486), over_bound (1290, 1486), toolchain.reported and streams (1483), re-pin to mesh-sdk 36d6f774; delta part 2 of 4 mesh-tools 2026-10-20 21:09:36 +00:00
  • bb5d420538 Bring the branch up to main: brother pins several printer certificates (issue 1503), messenger offers unsent asks again (issue 1507), delta part 1 of 4 mesh-tools 2026-10-20 21:08:08 +00:00
  • bda49fb945 Test the Node build module's fetch, forge files, manifest and guard (issues 1489, 1484, 1488), part 19 of 19 mesh-tools 2026-10-20 21:05:55 +00:00
  • e2e990a0eb Merge pull request 'Offer an open ask no channel has sent again on the minute tick: a stopped messenger loses its outbox (issue 1507)' (#388) from fix/1507-offer-unsent-asks into main mesh-tools 2026-10-20 21:05:01 +00:00
  • 1d6c905407 Add the Node build module's workspace and the tests of its build and test steps (issues 1490, 1491), part 18 of 19 mesh-tools 2026-10-20 21:04:12 +00:00
  • 59e6f53a12 Add the Node build module's fetch, test step, registry and toolchain install (issues 1488, 1489, 1491), part 17 of 19 mesh-tools 2026-10-20 21:02:50 +00:00
  • 97ed21c250 Add the Node build module's toolchain lock, main, recipe, guard and key keeper (issues 1488, 1484), part 16 of 19 mesh-tools 2026-10-20 21:01:26 +00:00
  • 3f6f8909d9 Add the Node build module's manifest, ssh files, toolchain package, build step and toolchain tests (issues 1488, 1484, 1490), part 15 of 19 mesh-tools 2026-10-20 20:59:51 +00:00
  • c27f978bc4 Add the Go build module's fixture repositories, and correct the copied build recipe (issues 1290, 1291, 1486, 1487), part 14 of 20 mesh-tools 2026-10-20 20:57:30 +00:00
  • 7bd7a34090 Offer an open ask no channel was sent again on the minute tick: the outbox is lost when the process stops (issue 1507) jschoubben 2026-10-20 22:57:13 +02:00
  • 9436ef8777 Add the Go build module's captured go output and fixture repositories (issues 1290, 1291, 1486, 1487), part 13 of 20 mesh-tools 2026-10-20 20:57:00 +00:00
  • dbc36d3d3c Test the Go build module's integration level against a faked and a real store and bus (issues 1486, 1290, 1487), part 12 of 20 mesh-tools 2026-10-20 20:56:12 +00:00
  • 2462f96f65 Add the Go build module's test step with its unit tests and the guard tests (issues 1290, 1483), part 11 of 20 mesh-tools 2026-10-20 20:54:52 +00:00
  • 86d79f7872 Add the Go build module's digest step, its tests and the level judging (issues 1291, 1290, 1486), part 10 of 20 mesh-tools 2026-10-20 20:53:50 +00:00
  • be7f04dbd4 Test the Go build module's fetch, forge files and manifest (issues 1485, 1484, 1483, 1482), part 9 of 20 mesh-tools 2026-10-20 20:52:35 +00:00
  • 36c933541f Add the Go build module's fetch, build and integration level steps, and the build tests (issues 1485, 1486, 1487), part 8 of 20 mesh-tools 2026-10-20 20:51:21 +00:00
  • 6cf74414e9 Add the Go build module's main, recipe, guard, key keeper, runner, store and bus, and its README (issues 1483, 1484, 1485, 1486), part 7 of 20 mesh-tools 2026-10-20 20:50:11 +00:00
  • f1906d9ffa Merge pull request 'Let brother's printer-certificate pin several fingerprints: the printer serves an ECDSA and an RSA certificate (issue 1503)' (#387) from fix/1503-printer-two-certificates into main mesh-tools 2026-10-20 20:49:33 +00:00
  • 298a0b8eda Test the forge account provider's builder entries, and add the Go build module's manifest, ssh files and README (issues 1481, 1483), part 6 of 17 mesh-tools 2026-10-20 20:48:52 +00:00
  • fb52442b50 Serve a build module's key from its own state, read-only on nox-builder, in the forge account provider (issue 1482), part 5 of 17 mesh-tools 2026-10-20 20:47:25 +00:00
  • 5702046667 Make the builders team and the read-only nox-builder keys in the forge account library, and watch the build modules' keys (issues 1481, 1482), part 4 of 17 mesh-tools 2026-10-20 20:46:23 +00:00
  • 8dc0bc98bd Move ssh-client's tests and dependencies onto the SDK's forgekey (issue 1480), part 3 of 17 mesh-tools 2026-10-20 20:45:35 +00:00
  • bf8f47ce66 Let ssh-client use the SDK's forgekey, and let the checks accept a module's own .ssh (issues 1480, 1484), part 2 of 17 mesh-tools 2026-10-20 20:44:30 +00:00
  • 1e1def4d32 Remove ssh-client's own key keeper, key parser and runner, now in the SDK's forgekey (issue 1480), part 1 of 17 mesh-tools 2026-10-20 20:43:51 +00:00
  • 6312bc4219 Let printer-certificate pin several fingerprints, since the printer serves an ECDSA and an RSA certificate (issue 1503) jschoubben 2026-10-20 22:43:02 +02:00
  • c294f7bd16 Merge pull request 'Make the messenger's hourly cap a setting, messages-per-hour: 100 by default, 0 turns the pause off (issue 1476)' (#386) from fix/1476-messenger-cap into main mesh-tools 2026-10-20 20:21:56 +00:00
  • 59f8c9be00 Merge pull request 'Let brother's scan-folder take an absolute path: mesh-config matches a pattern against the whole value (issue 1472)' (#385) from fix/brother-scan-folder-pattern into main mesh-tools 2026-10-20 20:17:25 +00:00
  • a5d3480e7e Let messages-per-hour 0 turn the hourly pause off (issue 1476) jschoubben 2026-10-20 21:54:25 +02:00
  • dccae4b0e7 Make the messenger's per-channel hourly cap the setting messages-per-hour, default 100 (issue 1476) jschoubben 2026-10-20 21:54:01 +02:00
  • 35aac9f358 Let brother's scan-folder take an absolute path: mesh-config matches a pattern against the whole value (issue 1472) jschoubben 2026-10-20 21:49:47 +02:00
  • 1357023bed Merge pull request 'The brother module: one module for the Brother printer, holding the scanner and printer seats, scans kept in its bucket and printing over the broker (issue 1453, ADR 0467, ADR 0468)' (#384) from feat/brother into main mesh-tools 2026-10-20 19:48:06 +00:00
  • 2f6086120c issue 1453: read the fake printer's connection count under its lock, which the race detector requires; say 700 KiB as ADR 0468 does jschoubben 2026-10-20 21:39:27 +02:00