summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
19 hourspayroll: design chapterAnders Betts
19 hoursdocs: prune STATE into a decision archive; record the branch ruleAnders Betts
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
19 hoursbuild: run gate in its own build directoryAnders Betts
28 hoursdeploy: cross-compile static aarch64 for the Alpine imagev0.1.54Anders Betts
28 hoursbuild: gate builds the clients too, not just the testsAnders Betts
29 hourstui: bank prefill vouchers and auto-match after postingAnders Betts
29 hoursdocs: render enum args as type(values) in the generated catalogueAnders Betts
29 hoursdocs: generate the command catalogue from the command tablesAnders Betts
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
29 hoursbokftui-bw: fall back to the checkout in the current directoryAnders Betts
29 hoursbokftui-bw: default to the checkout's build/bokftuiAnders Betts
29 hoursbuild: make gate with WERROR and a pre-push hookAnders Betts
29 hourssru: bound the org-nr copy so -Werror builds are cleanAnders Betts
29 hourscommands: shared DB-error helpersAnders Betts
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
29 hourstui: split bokftui into screen filesAnders Betts
30 hourstests: named test_core sections with --onlyAnders Betts
31 hourscommands: split the command table by domainAnders Betts
32 hourstui: bankgiro and our ref belong to Företagsuppgifterv0.1.53Anders Betts
35 hourstui: set the next invoice number from the listv0.1.52Anders Betts
35 hoursdocs: invoicing waves 1-3 completev0.1.51Anders Betts
35 hourstui: fakturering with invoice form, preview and sendAnders Betts
36 hoursdocs: document the invoice_our_ref settingAnders Betts
36 hourssettings: allow invoice_our_refAnders Betts
36 hoursdeploy: pass BOKFD_SECRET_KEY through compose; document waves 1-2Anders Betts
36 hoursinvoice: send the issued PDF over SMTPAnders Betts
36 hoursbuild: wire the SMTP client into the test suiteAnders Betts
36 hourssmtp: send messages with a PDF attachmentAnders Betts
36 hourssecret: build it as its own unitAnders Betts
36 hourssettings: encrypted secrets and SMTP settingsAnders Betts
36 hoursinvoice: skip the Swish QRv0.1.50Anders Betts
36 hoursinvoice: allow setting the bankgiro, document wave 1Anders Betts
36 hoursinvoice: customer, sequence, preview and issue commandsAnders Betts
36 hoursbuild: wire the invoice renderer into the test suiteAnders Betts
36 hoursinvoice: render the document as PDFAnders Betts
37 hoursdb: schema v9 for invoicing, vouchers source rebuildAnders Betts
37 hoursinvoice: extract the Comfortaa wordmark as vector pathsAnders Betts
37 hourspdf: minimal PDF writer for generated documentsAnders Betts
37 hoursinvoicing: keep customers in Register per the menu ruleAnders Betts
37 hoursinvoicing: design chapter with layout, numbering and SMTPAnders Betts
38 hoursdocs: bank reconciliation phase 1v0.1.49Anders Betts
38 hourstests: bank reconciliation pty scenarioAnders Betts
39 hourstui: bank reconciliation screenAnders Betts
39 hoursbank: import SEB CSV and match against vouchers (schema v8)Anders Betts
41 hoursdb: make attachments append-only (schema v7)Anders Betts
41 hourstui: pinned report headers, voucher detail headers, clamped pagingv0.1.48Anders Betts
41 hourstui: align list rows beyond nine itemsv0.1.47Anders Betts
42 hoursdocs: mark the moms rule editor and pre-migration snapshot donev0.1.46Anders Betts
42 hourstests: momsregler pty scenarioAnders Betts
42 hourstui: momsregler screen for the vat report rulesAnders Betts
42 hoursreport: per-org moms rule editor commandsAnders Betts
42 hoursdb: snapshot the database before forward migrationsAnders Betts
When db_open finds an older schema version, write a consistent VACUUM INTO copy to <backup_dir>/pre-migration-v<old>-<UTC>.db before the first migration statement. A taken name gets a numeric suffix; if the snapshot fails, the open and the migration abort.