TattooMate 1.3.7.6 – More stable license check & form refinements
TattooMate 1.3.7.6 released
Version 1.3.7.6 does not bring "buzzword features" – it brings targeted technical improvements and clean detail work throughout the system.
🔐 License check technically overhauled
The license logic has been restructured internally:
- Domain-based cache instead of a global in-memory cache
- Inflight lock to prevent parallel duplicate checks
- Clean separation between successful TTL cache and error TTL
What does this mean in practice?
When multiple requests arrive simultaneously (e.g. after a restart or under load), the license is not checked multiple times in parallel. Instead, only one request goes to the license API and all other requests wait for the result.
This reduces unnecessary API calls and prevents race conditions.
Additionally, errors are only cached briefly, while successful checks continue to use the regular TTL.
Temporary API issues no longer block the system longer than necessary.
In short: more stable, more robust, more predictable.
⏱ Timeout handling cleaned up
The fetch timeout in the license and version check has been unified.
Redundant clearTimeout calls have been removed and the internal structure is now more consistent.
No visible feature – but cleaner code and less potential for errors.
🖊 Tattoo placement is now a required field
The tattoo form now requires customers to specify where the tattoo will be placed.
Why?
Because it is relevant in practice – both for documentation and for proof of work.
Partial information helps nobody, neither the studio nor the customer.
📧 SMTP test email phrased more clearly
The test email for SMTP settings now contains a clear message:
If this email arrives, the configuration is correct.
No more guessing whether it might have been a coincidence.
🎨 UI refactor: consistent input styles
In all form modules (Tattoo, Piercing, Cosmetic, Tooth), inputs without rounded borders have been aligned to the existing design system.
Goal:
- consistent visual language
- uniform appearance across all input fields
- no more style mixing between modules
Not a big feature – but exactly these details are what keep software clean long-term.
Summary
1.3.7.6 is a stability update.
Less technical ambiguity, cleaner license logic, more consistent interface.
No show – just substance.
More updates to follow.