Refresh the README for 1.0.2: setup wizard, install steps, Windows status
Windows build / build (push) Canceled after 0s
Windows build / build (push) Canceled after 0s
This commit is contained in:
@@ -8,8 +8,15 @@ connection. The only optional network feature is the ERPNext push, which you con
|
|||||||
|
|
||||||
Targets: Void Linux (xbps, WebKitGTK 2.50 or newer) and Windows 10/11 (NSIS installer, WebView2).
|
Targets: Void Linux (xbps, WebKitGTK 2.50 or newer) and Windows 10/11 (NSIS installer, WebView2).
|
||||||
|
|
||||||
|
Current release: **1.0.2**. Installers and the Void package are attached to the release on the project's Gitea
|
||||||
|
page (see "Installing").
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
|
- **First-run setup.** A four-step wizard (business, branding, bank, numbering) starts blank: no vendor, bank or tax
|
||||||
|
details are pre-filled, and a business name and state are required. **Settings, Data, Run setup again** reopens it
|
||||||
|
with your current details; invoices, clients and backups are kept, and numbering carries on unless you change the
|
||||||
|
series prefix or digits.
|
||||||
- **Invoices.** Automatic numbering in a persistent series (for example `INV/2026-001`) with a one-click new series,
|
- **Invoices.** Automatic numbering in a persistent series (for example `INV/2026-001`) with a one-click new series,
|
||||||
drafts, issue and cancel. An issued invoice is immutable: it stores a snapshot of the vendor, client, GST figures
|
drafts, issue and cancel. An issued invoice is immutable: it stores a snapshot of the vendor, client, GST figures
|
||||||
and layout. Line items are a fixed amount or rate x quantity (per second, minute, hour, session or unit), with
|
and layout. Line items are a fixed amount or rate x quantity (per second, minute, hour, session or unit), with
|
||||||
@@ -67,13 +74,27 @@ npm run app:dev # tauri dev, served from localhost:1420 (does not exercis
|
|||||||
| `npm test` | `vitest run`, about 7 minutes; run on a quiet machine because load starves the sweep tests |
|
| `npm test` | `vitest run`, about 7 minutes; run on a quiet machine because load starves the sweep tests |
|
||||||
| `npm run fonts:verify` | Checks the bundled fonts against `public/fonts/manifest.json` (`fonts:manifest` regenerates it) |
|
| `npm run fonts:verify` | Checks the bundled fonts against `public/fonts/manifest.json` (`fonts:manifest` regenerates it) |
|
||||||
| `npm run logo:measure` | Regenerates `src/pdf/templates/slots.generated.ts` from the Canva PDFs; must be idempotent |
|
| `npm run logo:measure` | Regenerates `src/pdf/templates/slots.generated.ts` from the Canva PDFs; must be idempotent |
|
||||||
| `npm run thumbnails` | Regenerates `public/templates/*.png` |
|
| `npm run thumbnails` | Regenerates `public/templates/*.png` from the synthetic sample invoice (neutral vendor and bank, generated wordmark) |
|
||||||
|
| `node scripts/logo/make-sample-logo.mjs` | Regenerates the synthetic sample logo in `src/pdf/testing/fixtures/` |
|
||||||
| `npm run templates:compare` | Canva vs Voiced side-by-side PNGs under `/tmp` |
|
| `npm run templates:compare` | Canva vs Voiced side-by-side PNGs under `/tmp` |
|
||||||
| `cargo test --manifest-path src-tauri/Cargo.toml` | Rust unit tests |
|
| `cargo test --manifest-path src-tauri/Cargo.toml` | Rust unit tests |
|
||||||
| `npm run app:build` | Production build for the current platform (custom-protocol) |
|
| `npm run app:build` | Production build for the current platform (custom-protocol) |
|
||||||
|
|
||||||
The release procedure, including the manual first-run checklist, is in `docs/RELEASE.md`.
|
The release procedure, including the manual first-run checklist, is in `docs/RELEASE.md`.
|
||||||
|
|
||||||
|
## Installing
|
||||||
|
|
||||||
|
Download the files for your platform from the release page of the project on `git.bongbetic.com` (Releases, then
|
||||||
|
`v1.0.2`).
|
||||||
|
|
||||||
|
- **Windows 10/11:** run `Voiced_1.0.2_x64-setup.exe`. It is a per-user install and is not code-signed, so Windows
|
||||||
|
SmartScreen may warn: choose "More info", then "Run anyway".
|
||||||
|
- **Void Linux:** install `voiced-1.0.2_1.x86_64.xbps` from a local repository (see "Installing on Void Linux").
|
||||||
|
|
||||||
|
On first launch the setup wizard asks for your business details, logo, bank account and invoice numbering. Nothing is
|
||||||
|
pre-filled. Uninstalling does not delete your data (see "Where data lives"); to start from scratch use
|
||||||
|
Settings, Data, Run setup again, or remove the data directory after taking a backup.
|
||||||
|
|
||||||
## Where data lives
|
## Where data lives
|
||||||
|
|
||||||
The Tauri identifier is `com.bongbetic.voiced`. Voiced uses two directories, which differ only on Windows:
|
The Tauri identifier is `com.bongbetic.voiced`. Voiced uses two directories, which differ only on Windows:
|
||||||
@@ -184,7 +205,8 @@ Hosts without an `nsis` package (for example Void Linux):
|
|||||||
# from https://github.com/tauri-apps/nsis-tauri-utils/releases
|
# from https://github.com/tauri-apps/nsis-tauri-utils/releases
|
||||||
```
|
```
|
||||||
|
|
||||||
The installer has not been run on a real Windows machine.
|
The installer has been installed and run once in a Windows 11 virtual machine; it has not been tried on physical
|
||||||
|
hardware.
|
||||||
|
|
||||||
## Installing on Void Linux
|
## Installing on Void Linux
|
||||||
|
|
||||||
@@ -241,6 +263,7 @@ src/ React + Carbon frontend
|
|||||||
fonts/ Font registration, roles, glyph priming
|
fonts/ Font registration, roles, glyph priming
|
||||||
render/ renderCore, Web Worker, latest-wins client
|
render/ renderCore, Web Worker, latest-wins client
|
||||||
flatten.ts assemble.ts Rasterise at 300 DPI and rebuild an image-only PDF
|
flatten.ts assemble.ts Rasterise at 300 DPI and rebuild an image-only PDF
|
||||||
|
testing/ Goldens (layout fingerprints), self-test fixtures, synthetic sample logo
|
||||||
src-tauri/src/ Rust backend
|
src-tauri/src/ Rust backend
|
||||||
db.rs Schema as numbered migrations (copies the DB aside before migrating)
|
db.rs Schema as numbered migrations (copies the DB aside before migrating)
|
||||||
gst.rs Integer-paise money and GST maths
|
gst.rs Integer-paise money and GST maths
|
||||||
@@ -250,7 +273,7 @@ src-tauri/src/ Rust backend
|
|||||||
integrations/erpnext/ ERPNext client, mapping, discovery, push
|
integrations/erpnext/ ERPNext client, mapping, discovery, push
|
||||||
selftest.rs Unattended real-webview self-test
|
selftest.rs Unattended real-webview self-test
|
||||||
public/fonts/ Bundled TTF families, OFL texts, manifest.json (plus legacy IBM Plex web fonts)
|
public/fonts/ Bundled TTF families, OFL texts, manifest.json (plus legacy IBM Plex web fonts)
|
||||||
public/templates/ Template thumbnails
|
public/templates/ Template thumbnails (rendered from synthetic sample data)
|
||||||
docs/ Template specs, voiced.invoice.v1, release checklist
|
docs/ Template specs, voiced.invoice.v1, release checklist
|
||||||
scripts/ Font, logo, template, thumbnail and ERPNext end-to-end tooling
|
scripts/ Font, logo, template, thumbnail and ERPNext end-to-end tooling
|
||||||
packaging/void/ xbps-src template, build-xbps.sh, desktop entry, INSTALL and REMOVE scripts
|
packaging/void/ xbps-src template, build-xbps.sh, desktop entry, INSTALL and REMOVE scripts
|
||||||
@@ -272,9 +295,10 @@ Settings, Diagnostics.
|
|||||||
|
|
||||||
## Known limitations
|
## Known limitations
|
||||||
|
|
||||||
- Windows and WebView2 have never been run on a real machine; the NSIS installer is cross-compiled only.
|
- Windows and WebView2 have only been exercised in a Windows 11 virtual machine, not on physical hardware; the NSIS
|
||||||
|
installer is cross-compiled and unsigned.
|
||||||
- The 13 Canva-derived templates are re-creations of Canva designs. Canva's content licence may restrict this, so
|
- The 13 Canva-derived templates are re-creations of Canva designs. Canva's content licence may restrict this, so
|
||||||
ship them only in this vendor's build until it is confirmed.
|
distribute them only to the intended customer until it is confirmed.
|
||||||
- The SAC code for the vendor's services and the signature rule still need confirmation from a chartered accountant.
|
- The SAC code for the vendor's services and the signature rule still need confirmation from a chartered accountant.
|
||||||
- Now, Gotham and Open Sauce One are replaced by free look-alikes unless you import licensed files.
|
- Now, Gotham and Open Sauce One are replaced by free look-alikes unless you import licensed files.
|
||||||
- ERPNext: only v15 is verified; HTTP is allowed only for local hosts; see "Not covered" above.
|
- ERPNext: only v15 is verified; HTTP is allowed only for local hosts; see "Not covered" above.
|
||||||
|
|||||||
Reference in New Issue
Block a user