Repository navigation
Prepare Printy for its first public release - #1
Merged
Merged
Conversation
The backend has had list_jobs_cmd and reprint_job_cmd since the core engine landed; only the screen was missing, cut by a deadline decision. Two departures from the implementation plan's Task 8, both deliberate: - Reprint is offered only on done and failed jobs. reprint_job_cmd enqueues a *new* job rather than reviving the old one, so offering it on a queued or printing job would put the same file in the queue twice. - A refused reprint reports why. The common case is a file that has since been moved into printed/ or deleted, and the planned version swallowed that error entirely. The filter is a query parameter rather than a predicate over a cached array, so "Nur Fehler" stays correct past the row limit. Previous rows are held while the new query resolves; without that, toggling the filter drops to the loading state and blanks the list for a frame. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Reads the version through get_app_version_cmd rather than importing package.json, for the same reason the sidebar does: a copy in the frontend can drift from what the release workflow stamps into Cargo.toml. gen-licenses.sh merges cargo license and license-checker output into one committed asset, so the shipped app always has a list and the build never depends on the network. 664 entries, none unknown. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Both screens exist now, so the navigation no longer has to stay short to avoid pointing at components that do not exist. Paths are German, matching the UI strings and the existing /ordner/:id routes; the implementation plan's English ones predate that convention. The new test asserts every nav entry resolves to a route, because a link to a path the router does not know renders an empty main and reads as a crash. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The README was still the Tauri template ("This template should help get
you started"), and package.json declared MIT with no LICENSE file to
back it. Both block making the repository public.
The README states the macOS fit-to-page limitation rather than leaving
someone to discover it at the printer.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
tauri.svg and vite.svg were left over from the template and referenced nowhere. index.html claimed lang="en" for a German interface. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Everything within the declared semver ranges. Major bumps are all dev tooling (TypeScript 7, Vite 8, Vitest 5, jsdom 30) and are deliberately left for after the first release: they change nothing for a user and are exactly the kind of churn that breaks one. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
build-windows.yml only triggers on push, so pull requests ran no checks at all. The engine job runs on Windows rather than Ubuntu on purpose: the GDI printing path and the pdfium rasteriser are cfg'd out everywhere else, so a Linux run would compile a different program and report success for code it never looked at. cargo clippy on macOS flags twenty-odd of those symbols as dead, which is the same observation from the other side. Also aligns build-windows.yml to Node 22, matching the other workflows. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The macOS half mirrors the shared workflow's build-macos job step for step so the two stay comparable. It needs no pdfium: macOS renders through the system print service rather than rasterising itself. The tap job dispatches bump.yml with kind=cask, gated on a non-prerelease run -- Homebrew has no concept of a prerelease and brew upgrade would hand a beta to everyone. minimumSystemVersion is set explicitly so the app, the README badge and the cask's depends_on all claim the same floor instead of inheriting Tauri's 10.13 default. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Brings the repository to a state where it can be made public and released.
Application
list_jobs_cmdandreprint_job_cmdsince the core engine; only the UI was missing, cut by a deadline decision. Reprint is offered only on finished jobs (it enqueues a new job, so offering it on a queued one would duplicate the file) and a refused reprint now reports why instead of failing silently.scripts/gen-licenses.sh.Release readiness
LICENSEthatpackage.jsonalready claimed.ci.yml— pull requests previously ran no checks at all. The engine job runs on Windows, not Ubuntu: the GDI path and the rasteriser arecfg'd out everywhere else, so a Linux run would report success for code it never compiled.Known limitation, documented rather than hidden
macOS prints through CUPS, which has no "shrink but never enlarge" mode. With Inhalt an Seite anpassen off, an oversized page is cropped there, where Windows shrinks it. The spec calls cropping data loss, so this is called out in the README, the installation page and a dedicated reference page.
Verification
tsc --noEmitand the production build all pass.docs/WINDOWS-VERIFICATION.mdstill has to be run on real hardware before tagging — it cannot be automated.🤖 Generated with Claude Code