Added
- The CSV importer understands Spritmonitor.de exports. It sniffs the
semicolon delimiter those files use, maps their columns onto fuel logs, and
where a row gives a total and a volume but no unit price it fills the price
in attotal / volumerather than leaving it blank. Duplicate rows are
detected on the fields that actually identify a fill, so re-importing the
same export does not double up the history. Credit to LukasLJL.
(#346) - Recurring expenses can record a vendor. The column and the copy of it onto
each auto-generated expense already existed, but no field on the recurring
form ever populated it, so the vendor had to be filled in by hand after the
event. The form now carries a vendor input, with the same known-vendor
suggestions as the one-off expense form, and both the create and the edit
route read it. (#349)
Fixed
- The vehicle charts respect the currency and date-format settings. The
Expense by Category chart drew its value axis (the x axis, the bar being
horizontal) as bare numbers with no unit, so it was not obvious the figures
were money; those ticks now carry the configured currency symbol. And the
Fuel Consumption Trend and Fuel Price Trend charts labelled their date axis
straight from the API's ISO strings, ignoring Settings > Date Format; both
now format each label to the chosen pattern, reading it from the same source
the rest of the page does.
(#359,
#358) - The mobile navigation no longer sits in a lighter grey block in dark mode.
Every item in the menu, the hamburger button that opens it and the desktop
"More" dropdown carried a straydark:bg-gray-600beside an already-correct
dark:hover:bg-gray-700. A resting background applies at all times, so the
colour meant for hover was painted on permanently, against a darker nav bar.
The 28 stray classes are deleted — each had the right hover class beside it,
so nothing had to be guessed about the intended colour — and the layout tests
gain a nav-scoped invariant that would catch the same slip again.
(#347) - The "Check Now" button on Settings > About now refreshes the Current Version
it shows. The check reported update status but left the version as rendered
at page load, so after updating the host over SSH the page went on showing
the old number until the browser was reloaded. The check-updates response
now carries the display version, dev channel's "-dev+sha" suffix intact, and
the page updates in place.
(#348) - The Hungarian catalogue addresses the reader informally throughout. Hungarian
distinguishes formal from informal address and the shipped catalogue used
both: everything predating the bulk fill in #340 was informal, but a handful
of the strings that fill added were written formal, and the trip templates
strapline managed both registers in one sentence. Twenty-eight msgstrs are
rewritten to the informal register the catalogue had already settled on.
Register only — no wording otherwise changes.
(#350) - Six further Hungarian corrections, taken from #339 and applied against the
catalogue as it now stands: the missing accent on "Kilometres (km)", the
"toppic-ot" typo in the ntfy hint, "SMTP Host" translated rather than left
as an English loanword, the "/" convention the catalogue already used for
"Cost per kWh" extended to its neighbours, and one word for the instrument
across the Odometer family — "Last Odometer" had been the mileage covered
rather than the reading on the dial. #339's change of the bare msgid
"Registration" is deliberately not carried over: since #342 that string
carries the registration fee only, not the plate. Credit to burgatshow.
(#352)
Changed
- Minor corrections to the German catalogue: "Schnelladung" reads "DC
Schnelladung", and a few multi-line entries were unwrapped (gettext
concatenates the adjacent literals, so the msgids are unchanged). Credit to
solluh. (#361) - The nine other catalogues filled by #340 (de, fr, es, it, pt, nl, pl, cs and
ru) were audited for the same formal/informal break as the Hungarian one and
found consistent, so no msgstr needed correcting. Tests now record the
register each catalogue settled on and fail if a future bulk fill introduces
the other one, checking imperative conjugation as well as address pronouns
for the pro-drop languages.
(#351)