mirror of
https://github.com/storytold/wordcraft.git
synced 2026-11-07 11:12:37 +00:00
* #5710: the Print panel lists printers without asking their drivers On Windows the printer list waited until every printer's driver said whether it prints on both sides. A networked printer in power save can hold that query for a long time, so the list stayed empty and Refresh stayed unavailable. WordCraft never used the answer. Discovery now uses craft-print's printer_queues, which lists the same queues and default without asking any driver (storytold/craft-libs#618). Printing still checks the job's options with the driver. Only the craft-print pin moves; craft-ui doesn't depend on it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * #5710: the docs say what is proven, not that the sleeping printer is fixed Review: the progress log and gap rows stated the reported outcome as certain, but the sleeping network printer hasn't been retested. They now say the driver query is removed and the reported printer awaits retest. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * #5710: craft-print pin moves to the merge of storytold/craft-libs#618 e653048 is craft-libs main's merge of #618; crates/print is identical to the reviewed and tested head 81c2488. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * #5710: a print job waiting on its driver can be cancelled, and quitting doesn't wait for it On Windows a print job asks the printer's driver for its capabilities before it is sent, and a networked printer in power save can hold that query for a long time. The Print page stayed locked until the driver answered, and quitting waited for the job before saving preferences (CodeRabbit on #5732). Each job now carries a craft-print Cancel token. Cancel printing (ui.printCancel) stops a job that hasn't started reaching the spooler, so it is never sent, and frees the Print page with the settings kept; a job already being sent completes, and the page says to cancel it from the system's queue. Quitting cancels jobs still waiting and waits only for jobs already being sent. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * #5710: quitting cancels every waiting print job before it waits; Cancel asks the active job Review: quitting cancelled and waited for jobs one by one, so a job left waiting while an earlier one was being sent could start sending meanwhile. Every job is now cancelled first, then only those already being sent are waited for. Cancel printing asked every unfinished job, so a job that had just been sent could be reported as cancelled and its receipt lost; it now asks the job being submitted, which answers that it was already sent. The tests cover both orders, junk parameters for ui.printCancel, and the kept printer list and status message. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * #5710: craft-print pin moves to storytold/craft-libs#622 for submit_cancellable 85c8ca1 is #622's head (craft-libs main e653048 plus the Cancel token); it moves to #622's merge on craft-libs main before this merges. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * #5710: craft-print pin follows storytold/craft-libs#622 (230d522) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * #5710: pin craft-print to merged cancellation fix * #5710: allow print cancellation after closing the document * #5710: correct print-cancellation status date * #5710: clarify when a print job cannot yet be cancelled in the queue * #5710: isolate Windows print submissions in cancellable helper processes * #5710: strengthen helper retry and crash-cleanup regressions * #5710: erase helper inputs before driver work --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>