summaryrefslogtreecommitdiff
path: root/scripts
AgeCommit message (Collapse)Author
60 min.user.set_password: change your own password; TUI "Byt lösenord"v0.1.68Anders Betts
Needs the current password (wrong ones rate limited like logins) and a password session, requires at least 10 characters, closes the user's other sessions and is audited without secrets. The TUI main menu gets "Byt lösenord" with masked prompts; ^R keeps working with the new password. Masked prompt buffers are wiped before they are freed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
94 min.tui: "Byt bolag" in the main menuAnders Betts
Reopens the org picker (cursor on the current org) and switches the running session: the org's name, role, current fiscal year and series are reloaded and the remembered list selections cleared. The context reload now clears the previous org's values first. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
104 min.tui: 'g' + a letter searches list rowsAnders Betts
The goto prompt decides on its first key: digits jump to a row number as before, any other printable key searches the row texts of the list or menu (case-insensitive, also åäö), with up/down stepping through the matches. Keys typed into the prompt no longer reach the screen's key hook, and Enter in the action menu closes an open prompt. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
115 min.tui: aligned voucher detail, up/down between vouchers, list sortingAnders Betts
The detail pads every column by display width, blanks zero amounts and shows row texts and a Summa line. Up/Down step to the previous/next voucher in the list order; 's' cycles the list sort (number or date, ascending or descending, saved in tui.conf). The list fetches all pages of voucher.list instead of stopping at 200. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2 hourstui: one shared field editor, in-place form editing, value-only focusAnders Betts
Forms edit fields in place in the value column instead of a bottom prompt, highlight only the focused value and scroll when taller than the screen; long text scrolls horizontally instead of wrapping. Fixes: typing after Backspace/Del no longer wipes the field, 'q' is text in row tables, the caret resets between cells, dialogs decode arrow keys, full buffers never take half a UTF-8 character, an invalid amount stays editable. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
22 hourstui: kundutkast, <UTKAST>, explicit Spara och F2-åtgärderAnders Betts
36 hoursinvoices: text rows, duplicate and payment link (schema v12); smtp address ↵v0.1.62Anders Betts
checks
37 hourstui: granska/ladda ned underlag via pagern eller skrivbordsvisarenv0.1.61Anders Betts
37 hourssettings: per-feature voucher series and console invoice number; tui: F9 hintsv0.1.60Anders Betts
43 hourstui: level-2 modifyOtherKeys, Kitty keyboard protocol and ^Enter/F9 hintsv0.1.59Anders Betts
45 hourstui: flat menu, System hub, remembered attachment directoryv0.1.57Anders Betts
45 hourstui: Bolaget hub, drop the Företag sectionv0.1.56Anders Betts
47 hourstui: payroll screens, Företag/System menu and settings splitv0.1.55Anders Betts
2 daysdeploy: cross-compile static aarch64 for the Alpine imagev0.1.54Anders Betts
3 daystui: bank prefill vouchers and auto-match after postingAnders Betts
3 daysdocs: render enum args as type(values) in the generated catalogueAnders Betts
3 daysdocs: generate the command catalogue from the command tablesAnders Betts
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
3 daysbokftui-bw: fall back to the checkout in the current directoryAnders Betts
3 daysbokftui-bw: default to the checkout's build/bokftuiAnders Betts
3 daysbuild: make gate with WERROR and a pre-push hookAnders Betts
3 dayscommands: split the command table by domainAnders Betts
3 daystui: fakturering with invoice form, preview and sendAnders Betts
3 daysinvoice: extract the Comfortaa wordmark as vector pathsAnders Betts
3 daystests: bank reconciliation pty scenarioAnders Betts
3 daystui: pinned report headers, voucher detail headers, clamped pagingv0.1.48Anders Betts
3 daystui: align list rows beyond nine itemsv0.1.47Anders Betts
3 daystests: momsregler pty scenarioAnders Betts
3 daysscripts: check command and error-code drift against the docsAnders Betts
3 daystests: pty golden harness for the TUIAnders Betts
3 daysdeploy: alpine runtime image with the daemon and CLI onlyv0.1.45Anders Betts
5 daysreports: Kapitas-style TUI tables, corrected moms rules (schema v3)v0.1.26Anders Betts
The report views dumped JSON; they now render Saldobalans, Resultatrapport (previous-year column, 89xx bokfört/ej bokfört), Balansrapport (Ing balans/Ing saldo/Period/Utg balans, Beräknat resultat) and Momsrapport ruta för ruta, with Swedish amount formatting (1 234,56). The moms starter rules missed 33xx sales, sent reverse-charge VAT 2614 to box 10 instead of 30 and had box 48 positive. Rules may now share a box and report.vat sums them; box 49 is the sum of the moms boxes only. Schema v3 replaces the rules for existing orgs. Verified on a copy of the live DB: 05=703 200, 10=175 800, 20=1 453, 30=851, 48=-1 030, 49=175 621, matching the Kapitas 2027 export. Ctrl+R reload passes --socket and auto-login no longer rewrites tui.conf; pty tests now run through scripts/tui-sandbox.sh so they cannot touch the real config, cache or bw session.
5 daysscripts: bokftui-bw exports the item's login usernameAnders Betts
Password-kind items only exported BOKFD_PASSWORD, so the TUI fell back to the username saved in tui.conf (admin) and failed with AUTH_FAILED when switching accounts. The item's login username now wins unless the caller set BOKFD_USER explicitly.
5 daysscripts: bokftui-bw syncs and matches item name or login userAnders Betts
The bw CLI cache could be stale, so a newly created item was invisible. Sync before listing, match the query against both the item name and the login username (exact first), show 'name (user)' in the picker and fetch the secret by item id.
5 daysscripts: bokftui-bw item selection (argument or picker)Anders Betts
5 daysdeploy: --dev hot-reloads the daemon via docker cp + SIGHUPv0.1.14Anders Betts
- bokfd re-execs its own binary on SIGHUP, closing listeners/db first - scripts/deploy.sh --dev cross-builds and copies binaries into the running container, then verifies the reported version
5 daysdeploy: cross-compile arm64 binaries on the dev machinev0.1.13Anders Betts
The target only assembles the image from prebuilt binaries, so redeploys no longer compile sqlite/argon2 on the NAS. New deploy/Dockerfile.cross provides the gcc-aarch64-linux-gnu toolchain; the Dockerfile uses .prebuilt/ when present.
5 daysShow tui and server versions in the status line; derive version from gitv0.1.12Anders Betts
- build: VERSION defaults to git describe, deploy passes the tag via --build-arg - bokftui: srv version from meta, right-aligned next to the status line
6 daysscripts: probe and set the Node Web Crypto flag for bwAnders Betts
6 daysscripts: replace sudo credential wrapper with a Bitwarden launcherAnders Betts
brw/bw lookup in user space; optional token via custom field
6 daysbokftui: remember server/user, BOKFD_TOKEN auto-login, sudo credential launcherv0.1.4Anders Betts
6 daysInitial commit: daemon, clients, docs, Docker deploy pipelinev0.1.0Anders Betts