Jobora 1.0.1 — a numbering fix after "Load demo data"
A maintenance release for Jobora: the first quote created after loading the demo data could collide with a demo number and fail to save. Fixed in the seed and in the number generators; 166 tests.
A small release for Jobora, the field-service tool, with one fix worth reading about.
What was wrong
Jobora numbers quotes, invoices and jobs from counters in its settings (Q-0001, INV-0001,JOB-0001, prefixes editable). The demo data set — "Northside Property Services", loaded from
Settings → Load demo data — wrote its rows with hand-picked numbers and left those counters
at 1. The first real quote created after a demo load was therefore handed Q-0001 again, the
database's uniqueness rule refused it, and the save failed with a server error instead of a quote.
We found it on our own public demo while recording a walkthrough. Anyone who installed Jobora,
loaded the demo data to look around, and then raised a quote would have met the same wall.
What changed
- The demo seed now points every counter past the highest number it wrote.
- Both number generators step past a number that already exists, so an import, a restored backup
or an old demo database can never make a save fail on a duplicate number.
- Ten tests cover the case, including the exact save that failed. The suite stands at 166.
Why the generators changed too
Fixing the seed alone would have left every 1.0.0 installation that had already loaded the demo
data with counters still sitting at 1. So the second guard lives where the number is issued: whenMoney::nextNumber() or Jobs::nextNumber() is about to hand out a number that a row already
carries, it steps forward until it finds a free one, still inside the same locked transaction
that keeps two simultaneous saves from sharing a number. A restored backup, a CSV import that
brought its own numbering, or a prefix you changed halfway through the year are covered by the
same rule. Numbers keep their four-digit padding and your prefixes; nothing is renumbered.
What to do
If you own Jobora, download 1.0.1 from your order page and copy app/ over your installation —
no migration, no settings change; your data is untouched. If you had already loaded the demo data
on 1.0.0, the generators in 1.0.1 recover on the next save without any action from you. The
public demo runs 1.0.1 already.
Nothing else moved. Same one-time purchase, same files, one bug fewer.