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