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-tools2026-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-tools2026-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-tools2026-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-tools2026-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-tools2026-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)
jschoubben2026-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-tools2026-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)
jschoubben2026-10-21 02:05:21 +02:00
7eddb116b1
Answer brother_health's wait for unset settings with the SDK's health.Waiting (issue 1510)
jschoubben2026-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-tools2026-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)
jschoubben2026-10-21 01:58:50 +02:00
95c47a09c9
Print from a path only under the home folder, refused in one fixed way (issue 1551)
jschoubben2026-10-21 01:57:34 +02:00
43771458f6
Cut several documents apart only when scanner.scan is asked apart: true (issue 1528)
jschoubben2026-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)
jschoubben2026-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)
jochen2026-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)
jochen2026-10-21 01:48:23 +02:00
1e19e8ee9a
Judge the module healthy by the certificates the printer serves against the pinned list (issue 1510)
jschoubben2026-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)
jschoubben2026-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)
jschoubben2026-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)
jschoubben2026-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)
jschoubben2026-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)
jschoubben2026-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)
jschoubben2026-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)
jochen2026-10-21 01:30:52 +02:00
63980bf5ac
Merge remote-tracking branch 'origin/main' into feat/mail-reading
jochen2026-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)
jochen2026-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-tools2026-10-20 23:19:56 +00:00
bb594652fa
Merge remote-tracking branch 'origin/main' into feat/mail-reading
jochen2026-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)
jochen2026-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-tools2026-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)
jschoubben2026-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-tools2026-10-20 22:59:36 +00:00
d61fe4e2da
Merge remote-tracking branch 'origin/main' into feat/mail-reading
jochen2026-10-21 00:56:07 +02:00
3d030c9b4f
Prove a refused judgement fails loudly and catches up, and the page shows why (issue 1524)
jochen2026-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)
jochen2026-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-tools2026-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-tools2026-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)
jochen2026-10-21 00:46:56 +02:00
66616ed353
Bring fix/1531 up to main, so its check is judged against main again (issue 888)
jschoubben2026-10-21 00:42:56 +02:00
8ff94287a7
Show mail that matters, mail groups and scam warnings above the classical list (issue 1430)
jochen2026-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-tools2026-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)
jschoubben2026-10-21 00:35:26 +02:00
35496d6381
Send the mail signal after each batch: messenger_check, tell, untold carried over (issue 1522)
jochen2026-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)
jschoubben2026-10-21 00:33:00 +02:00
72f4bc52a4
Build the mail signal's own words: headline, nearest due date first (issue 1429)
jochen2026-10-21 00:31:14 +02:00
e87269b0d2
Keep the operator's corrections as reading lessons at once: correct, lessons, undo (issue 1428)
jochen2026-10-21 00:27:47 +02:00
a13a6c5898
Serve entries, groups and status: filtered, sorted, with the weekly reading-lessons measure (issue 1521)
jochen2026-10-21 00:22:37 +02:00
42bffb9363
Run the reader's batches: paced, judged, written as entries, unhealthy on failure (issue 1520)
jochen2026-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-tools2026-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)
jschoubben2026-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)
jschoubben2026-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)
jochen2026-10-21 00:08:28 +02:00
eac59c60c8
Say a Platen job's second page as an error instead of dropping it (issue 1531)
jschoubben2026-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)
jschoubben2026-10-21 00:03:28 +02:00
183cc58347
Keep mesh-mail-reader's own health, surviving a restart (issue 1519)
jochen2026-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-tools2026-10-20 21:56:31 +00:00
d7b5c87887
Hear mesh-mail's added events, recorded before acknowledged, in arrival order (issue 1518)
jochen2026-10-20 23:56:17 +02:00
0d2d19daa0
Keep a mail entry per mail, never the body (issue 1517)
jochen2026-10-20 23:53:48 +02:00
d17b7e832d
Declare the seat mail-reading and the module mesh-mail-reader's skeleton (issue 1426)
jochen2026-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-tools2026-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-tools2026-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)
jschoubben2026-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-tools2026-10-20 21:19:15 +00: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)
jschoubben2026-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-tools2026-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-tools2026-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-tools2026-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-tools2026-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-tools2026-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-tools2026-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-tools2026-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-tools2026-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-tools2026-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-tools2026-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-tools2026-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-tools2026-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)
jschoubben2026-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-tools2026-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-tools2026-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-tools2026-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-tools2026-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-tools2026-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-tools2026-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-tools2026-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-tools2026-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-tools2026-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-tools2026-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-tools2026-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-tools2026-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-tools2026-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-tools2026-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)
jschoubben2026-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-tools2026-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-tools2026-10-20 20:17:25 +00:00
a5d3480e7e
Let messages-per-hour 0 turn the hourly pause off (issue 1476)
jschoubben2026-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)
jschoubben2026-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)
jschoubben2026-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-tools2026-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
jschoubben2026-10-20 21:39:27 +02:00