github ulsklyc/yuvomi v2.78.0

3 hours ago

Added

  • New child accounts start with child defaults. An account created or invited with the family
    role Child no longer starts with Budget and fasting, and sees Housekeeping read-only without wages
    and payments: the server leaves rates, totals, payment state and the unpaid amount out of every
    Housekeeping answer and the Overview tile, refuses check-in, check-out and paying, and the page
    shows who comes and when instead. A new permission "See wages and payments" lets you change this
    per role or member under Settings -> Roles & permissions, where the add and invite forms point.
    Existing accounts keep their rights, and changing someone's role later does not change them.
    A child's Overview shows their own points first and the Budget card off while they follow the
    default layout, and their own and unassigned tasks come before their parents' in "Today". On
    Rewards a child sees their own card: points, the next reward with its price, the way there, and
    "Request" once the points are enough.

  • Find the weather location by name. Settings -> My weather and the household weather now
    start with a place search: type a city or postcode, press Search and pick the place from the list;
    latitude and longitude fill in by themselves. Places with the same name show their region and
    country (and their district where that is the only difference). The search runs through your
    Yuvomi server at Open-Meteo, the same service as the weather, and only the place name leaves it.
    The coordinate fields stay available under "Coordinates by hand", and "Locate me" works as before.
    The API has a new GET /api/v1/weather/geocode endpoint for the same search.

  • The search palette remembers where you went. Press Cmd+K (Ctrl+K) with an empty field to see
    the last five modules and settings pages you opened from it, above the module shortcuts. Only the
    destination is kept on this device, never the name of an entry, and signing out clears it, so a
    shared tablet shows the next person nothing of yours. The dialog behind "?" is now called
    "Keyboard shortcuts", which is what it lists. Names that start with what you typed come first,
    your entries come before the "Create" commands, modules and commands show their icon, and when
    nothing matches the palette offers to create what you typed as a task.

  • Extension modules can add a Settings sheet (#1856). An optional manifest field places a module
    under Settings -> Modules, with personal sections for members and household sections for
    administrators. Disabled modules disappear from the list; module APIs remain responsible
    for enforcing roles and permissions.

  • Birthdays and name days have their own calendar feed. Settings → Calendar includes an
    independent ICS subscription for all saved birthdays and name days, including records with reminders disabled. Subscribe using any calendar app
    or service that supports ICS. The feed uses yearly all-day events and can be rotated or disabled
    without changing other calendar subscriptions. A personal "Include birthdays" switch on the
    existing calendar feed is on by default; turn it off when using both feeds to avoid duplicates.

  • Sort the budget ledger and filter it by account. The menu at the head of the transaction list
    sorts by date or by amount (expenses first, then income, each largest first, remembered on this
    device) and shows one account's statement, the same filter the Accounts tab opens; the balance
    and the categories beside the list then count that account too. Sorted by
    amount, planned and booked entries stay in their own sections. A note under the title says when
    the list is sorted by amount; a tap on it opens the menu.

  • The calendar has a sidebar on wide screens. From about 1600px the month, week and day views
    show a small month to jump to any day, your calendars and people as switches (the same ones as in
    the filter menu), and the next five appointments. Today is marked in the same colour as in the
    grid, the chosen day with a ring, and when everyone shares a surname the people show first names
    only, so the next appointments fit on the screen. When the next appointments cannot be loaded,
    the sidebar says why and offers "Try again" instead of claiming nothing is coming up. The agenda
    keeps the sidebar with the small month and the switches (without the next appointments, which the
    agenda itself lists), so switching views no longer moves the calendar sideways, and the sidebar
    stands there from the first picture instead of pushing the calendar aside after it loaded. The period
    in the header ("October 2026") is now set as a title instead of in body text weight.

Changed

  • Settings -> Members: inviting sits with the invitations. "Create invitation" moved from under
    the member list into the Invitations card, which had no action of its own; "Add member" stays
    under the list. The note on the member order is two short sentences instead of five lines.

  • The welcome tour shows Yuvomi and the real buttons. It opens with the Yuvomi mark instead
    of a generic house, and its steps on navigation and on the + button light up exactly that
    control on your screen - the tab bar or the sidebar, and the + button where it sits on this
    device - while the rest of the page dims.

  • A page that fails to open says which one, and that the rest works. Instead of "Something
    went wrong", the error screen names the page ("Contacts can't be opened right now"), says that
    everything else keeps working, and offers "Go to Overview" next to "Reload".

  • Lists next to their details use the room on wide screens and tablets. From about 1900px the
    list beside the details (contacts, tasks, inventory, birthdays, recipes) is wider, so contacts
    show their full e-mail addresses and the category chips fit on one line. On a tablet the list now
    runs as wide as its header instead of leaving a strip free on the right.

  • Customizing the Overview on a phone is calmer. Each widget row had four outlined round
    buttons; move up and down now share one capsule, and size and hide stand as plain icons beside
    it, with the same touch targets.

  • A recipe without a picture starts with its content. The flat kitchen-coloured band above
    the ingredients is gone; the details open with the meals and the ingredients, under the
    recipe's name. Recipes with a picture keep it.

  • Selecting tasks clears the screen for the selection. While you select several tasks on a phone,
    the tab bar and the add button step aside and the selection bar takes their place. A tap anywhere
    on a row selects it, a selected row is tinted, and the swipe arrow no longer shows. On a computer
    the selection column also offers "Archive", for open tasks too, and the task shown before you
    started selecting no longer looks selected. Contacts follow the same rule.

  • A housekeeping payment task is only for the adults who pay. The task a check-in creates names
    the wage, so it is now assigned to the person who checked in and to the admins, and only they see
    it - in Tasks, the Overview, search and connected AI assistants alike. When an account that cannot
    see wages checks in, the task goes to the admins instead. Open payment tasks created before this
    change move to the same people when you update; a completed one follows as soon as its visit is
    edited, checked out or paid. When an account loses the right to see wages - in its own permissions,
    its family role's profile or by a new family role - it also leaves the payment tasks it already
    had. The switch in Settings -> Modules -> Household help says who sees it.

  • Every settings page and dialog uses the same rows. Fields stand as rows with the label on the
    left and the field on the right, and a hint underneath where one helps, instead of fields stacked
    under their labels in a card. That covers the e-mail server and the account page, Kitchen (meal
    toggles and custom meal names), WebDAV backup and the restore key, Immich, document storage and
    DMS, API tokens, installing a module, the app name, schedule and task defaults, holidays, calendar
    subscriptions and import, Apple, Google and Outlook calendar sync, and the weather location. The
    dialogs for adding or editing a family member, invitations, CalDAV and CardDAV accounts, calendar
    subscriptions and recipe services use the same rows and are shorter for it; a missing required
    entry is now named under its row instead of squeezing the field. On the account page your name,
    colour and username sit in rows beside your picture as well, and a text field such as an e-mail
    address takes half the row instead of about 20 characters. In Health, the dialogs for an activity,
    a food entry and the daily nutrition goal use the same rows, with the unit after each number, and
    "Active" and "As needed" on a medication are switches.

  • Settings for this device are in one place. Wall mode and the screensaver options moved from
    Appearance to "This device", next to installing the app, because all of them apply only to the
    device you are holding.

  • Every entry in Settings has the same kind of icon. Account, household and system pages now
    show a filled grey tile like the coloured module tiles next to them, instead of a pale outline
    icon, as in the iPhone's Settings.

  • Children see their own points first. On the Rewards overview a member who collects points
    and is not a parent now finds "Your points" at the top, with how far it is to the next reward and
    the request button; everyone else's points follow below.

  • Birthdays are grouped by month, and the next one stands out. The list carries a heading for
    each month, the countdown of the next birthday is in the module colour, and a birthday's details
    say its date, age and countdown once at the top instead of three times.

  • Inviting someone is the first choice on the Members page. "Create invitation" now sits as the
    main button right under the member list, next to "Add member", instead of in a card further down;
    both carry an icon instead of a "+" sign, and your own row says "Me" after your name.

  • Shift types speak your language and stand in the order of the day. The short codes of the
    templates are now localized (in German "F · Frühschicht" and "K · Krank" instead of English "E"
    and "S"), lessons are numbered 1 to 4, and existing shift types keep theirs. The list groups
    shift types with times by their start, and all-day ones like vacation and sick leave apart. Once
    a household has shift types, the template buttons sit as a quiet "Quick start" line under the
    list instead of beside the heading.

  • Shift statistics update as you choose. Picking a person or a period recalculates right away,
    so the "Show statistics" button is gone. Both lists start on the same line, and a period without
    shifts shows one empty message instead of zeros and two empty cards, and offers "Print" only
    when there is something to print.

  • The housekeeping payment chart always shows six months. Months without a visit appear
    instead of being left out, and the bars share the width of the card, so two payments no
    longer sit alone at its left edge. Each month is a column on a baseline: the paid part solid,
    the part still open lighter, with a legend for both; an empty month carries no "0.00 €", and
    whole amounts drop their cents so "380 €" fits on a phone.

  • A PDF preview shows the whole first page. On a computer the preview fitted the page to its
    width and showed less than half of it; it now fits the full page, and "Open in new tab" stays the
    way to read it in detail.

  • Recipes and Pantry have a real search field on a phone. The row under the kitchen tabs held
    only a magnifying glass (in Pantry next to the storage places); it now holds the search field
    itself, so you can tap and type right away.

  • Breakfast, snack and dinner are told apart at a glance. Dinner is now indigo instead of the
    app's violet, so it no longer looks like a button, and snacks are berry instead of an orange that
    was hard to tell from breakfast amber, also with red-green colour blindness. The meal type
    choices in the meal and recipe dialogs carry the same coloured dot as the plan.

  • Subscription costs and their budget share one card. The summary reads "113.60 € of 90.00 €"
    with the budget bar underneath instead of two cards side by side, so the row always has three
    cards. On a wide screen each subscription's description now appears once, next to its name.

  • Empty progress bars no longer look like holes in dark mode. The track behind budget plans,
    loans, subscriptions, Health goals and the overview's budget card, and the circle behind reward
    history icons, sit as a soft well in the card instead of near-black.

  • A budget category has one colour in overview, plan and statistics. The plan says "tight" or
    "over" in words with an icon instead of recolouring the bar. Colours follow a category's place in
    your category list instead of how much it cost this month, so "Housing" no longer turns from
    violet to teal when another category is more expensive. Only when two categories shown in the same
    period would want the same colour, because there are more categories than chart colours, the
    smaller one takes the next free colour, so no two segments of the ring share one.
    The ring in Reports leaves a small gap between segments, groups the rest in grey, and the light
    chart colours were adjusted so that no two of them look alike with red-green colour blindness. For
    blue-yellow colour blindness, where petrol and green or orange and magenta still look close, green
    and magenta are drawn striped - in the ring, in the category bars and in the plan - so a segment
    still matches its bar.

  • The Health settings page names the cycle plainly. The switches say "Show cycle" for yourself
    and "Offer the cycle in the household" for everyone instead of "Show cycle tab" twice, so a
    search for "cycle" finds each once, and the jump links at the top carry the headings they lead
    to ("Prevention types" instead of "Health").

  • Health speaks one colour for an out-of-range lab value. A report card's "1 out of range" and
    the "Low" or "High" next to a value now share the same warning colour, with the arrow and the
    word telling the direction, and the badge's warning sign matches its text. No text in Health is
    smaller than 11px any more, and the fasting week draws in the Health colour like every other
    Health chart.

  • Pinned and other notes no longer mix on wide screens. "Other notes" starts its own row again
    below the pinned ones, so a note can no longer look pinned just because it sits under a pinned
    card. Browsers that support grid lanes pack the cards without gaps.

  • Waste collection: the next step stands where you need it. A waste type without a schedule
    offers "Add schedule" right under "No schedule yet", the templates you have not used yet stay as
    chips under your waste types, the type cards are plain surfaces like every other list, the seven
    weekdays fit on one line on a phone, and "Every N weeks" is a stepper with minus and plus.

  • Waste collection and Notes open without jumping. In Waste collection the column with waste
    types used to load below the pickups and then jump up (or shrink) once the data arrived; it now
    appears with its content. In Notes the row of filter chips keeps its place while the notes load,
    so the cards no longer slide down when it appears.

  • New rows and messages appear without the list jerking. A row that comes back after "Undo",
    an unfolded group or a field message now fades in at its full size while the rows below glide
    down, instead of growing its height frame by frame, which stuttered on slower phones.

  • Switching calendar views and opening a settings page now move in a direction. Choosing
    Week after Month slides the new view in from the right and back the other way; opening a
    settings page slides it over the list, and going back slides it away again. With reduced motion
    turned on, views only fade. A dialog opened while the new view is still loading takes your first
    tap, because the view no longer slides behind it.

  • Week and day views start in the morning. The calendar opens the time grid at 7 am as long as
    the current hour still fits on screen, instead of an hour before now, so the morning stays
    visible on a computer. From 5 am it already shows the coming day from 7 am instead of the night
    before it; only deep in the night does it start an hour before now.

  • Event details keep times and places readable. In the event popover a time range such as
    "09:00 - 10:30" no longer breaks across two lines, a place name no longer breaks in the middle
    of a word next to "Open in Maps", and digits line up. The list under the month now names the
    day the same way as the agenda ("Today Saturday, 17 October").

  • Settings stack fewer headings. A module page that only has household settings (or only
    personal ones) no longer repeats "For the household" above its sections.

  • The pin on a note matches the other buttons on the card. It was drawn smaller and heavier than
    the "..." button beside it; both now share one size.

  • Contacts show who they are. Every contact in the list carries its initials instead of the
    icon of its category, like in the Contacts app; household members keep their photo and colour.

  • Numbers line up everywhere in the calendar. Day numbers in the month, times and dates in the
    agenda and the period label use equal-width digits, so columns and the arrows next to the period
    no longer shift as you page through.

  • Avatars of several people no longer overlap. Where a task, event or meal shows who is
    involved, the faces stand side by side with a small gap in reading order, so no initials are cut
    off, and "+N" comes last.

  • Edit is the same filled button at the bottom of every detail view. Recipes, contacts,
    inventory, birthdays and events show "Edit" as the main button at the end of the bottom bar, on a
    phone, in a popover and in the detail column on a computer. Before, it sometimes sat outlined at
    the top. Tasks are the one exception: there "Done" (or "Reopen" for a finished task) stays the
    filled button, because ticking a task off is why you open it most; "Edit" sits next to it as a
    quieter button, a pencil on a phone, and starting, archiving and deleting a task sit in the "..."
    menu so the bar stays one row on a phone, a tablet and in the detail column on a computer.

  • Tapping a recipe on a phone opens it. The recipe opens as a sheet with its ingredients, notes
    and the buttons to plan or shop it, like a contact or a task, instead of unfolding inside the
    list.

  • Long names in lists get two lines everywhere. Task, contact, birthday, budget, subscription,
    agenda and shopping rows all show a name on up to two lines and end it with an ellipsis after
    that. Before, some lists cut names after one line and others let them run on without limit.

  • The week arrows in the meal plan look like the ones in Calendar and Budget. They were tinted in
    the accent colour; now every period switcher has the same neutral arrows.

  • Task history is a view like List and Kanban. It sits as the third choice in the view switcher
    (and in the view section of the menu on a phone), so the switcher always shows where you are.

  • A search that finds nothing looks and works the same in every module. Tasks, Pantry, Recipes,
    Documents, Inventory, Contacts, Notes and Birthdays now say "No results", show what you searched
    for (and any active filter) as a chip, and offer one "Reset search" button. Before, some had no
    way back and each used its own wording.

  • The menu groups your planning in one place. Calendar, Tasks, Rewards, Notes and Schedule now
    sit together under Plan, and Budget stands on its own without a "Finance" heading over a single
    entry. Schedule has its own briefcase symbol instead of a second calendar. Your own module order
    still applies within each group. On a phone, More lists the modules in grouped rows like the
    iOS Settings app, with each name on one line and waiting counts at the end of the row, instead
    of a grid with gaps.

  • The tab bar on a phone makes room while you read. Scrolling down shrinks it to a small pill
    at its leading edge that shows only the tab you are on, as on iOS; scrolling up, reaching the top
    or the end of a page, or tapping the pill brings the whole bar back. The add button stays, nothing
    on the page moves, and with reduced motion it switches without sliding.
    The tabs also stay in the same place in every module: the bar keeps the add button's spot even
    on a page without one, so neither a tab nor the bar itself moves under your finger when you
    switch budget tabs or open Rewards.

  • The overview on a phone gets to the point sooner. The family card is one row of faces with
    each person's open tasks as a number (166px instead of 427px), the current weather sits under
    the greeting even when the weather card is further down, and wall mode moved into the Customize
    menu next to "Customize widgets".

  • Budget lists on a phone no longer cut off what tells rows apart. Loan installments are titled
    with the lender or borrower instead of "Loan repayment: ..." on every row, with the date and
    "Installment x of y" below. A subscription's description moves to its own line under the name,
    and the plan shows long category names in full. The summary line of Split no longer repeats the
    group name that the group picker right below already shows, so it fits on one line.

  • An inventory item's details fit on a phone screen. Short details such as brand, model,
    purchase date and price show their label and value side by side, like an info list, so the
    warranty is visible without scrolling.

  • The event dialog is shorter on a phone. The description moved behind "More settings" (it
    opens by itself when an event has one), and when everyone in the household shares a last name,
    the people to pick show first names only, so the choice takes two rows instead of three.

  • Editing from a detail sheet has one way back. "Cancel" returns to the details instead of
    closing the sheet, and the extra "Back" button in the header is gone; the close button still
    closes. A task's countdown switch sits under "More settings" while it is off.

  • Managing categories, storage places and stores shows the full names. Each row has one "More"
    button for rename, move up, move down and delete instead of four icons, so names such as
    "Vorratsschrank" are no longer cut to five letters on a phone. Tapping the name still renames,
    and dragging still reorders.

  • The calendar on a phone no longer shows half-cut rows. In the agenda, a day heading that sticks
    to the top covers the event card scrolling beneath it instead of letting a strip of its text show
    above. The week view opens with a full hour at the top, also late in the day, and its three days
    start with today instead of yesterday. A new event from the + button lands on a day of those three.

  • Module headers on phones and tablets take less room. Shift plan, Rewards and Household help
    show their tabs in the title row (one row instead of two, 65px on a phone); the first Rewards tab
    is now called "Points", so a phone no longer shows "Overview" twice and nothing saying where you
    are. Household help's first two tabs are now "Visits" and "Chores" instead of repeating the tab
    bar's "Overview" and "Tasks". The budget header
    folds to one row while you scroll, with the tabs beside the month, and so does a Health area,
    with the area name between the back arrow and the person. When a header folds, the content
    below glides up instead of jumping, the same way in Calendar, Budget and Shopping. On a tablet the title, search
    and tools of Tasks, Contacts, Inventory, Notes and Documents share one row, where the search field
    gives way so the title is never cut off, and the budget title shares its row with the month.

  • The overview appears sooner on a cold start. The browser now asks for every module the start
    needs at once instead of discovering them level by level, fetches the language file alongside
    them, and no longer waits for the date picker, category, icon picker, attachment, screensaver and
    sign-in styles before the first frame; each of those loads its styles when it is first shown. On
    a throttled phone (4x CPU, fast 4G) the overview's content arrived after 4.8 s instead of 5.6 s.
    The session and settings are now asked for while the app itself still loads, instead of one
    after the other once it has: opened again from the home screen, the overview shows its content
    after 0.8 s instead of 1.1 s on the same phone. While it loads, a calm outline of the
    app stands where the header, cards and tab bar will appear, instead of a pulsing name, and
    screen readers announce it as loading in your language.

  • Less to download on every start. The server leaves the explanatory comments in Yuvomi's own
    scripts and stylesheets out of what it sends; the files on disk keep them, and line numbers in
    error reports still match the source. Compressed, the app's scripts shrink from 2.0 to 0.9 MB
    and its stylesheets from 621 to 129 KB.

  • Motion stays smooth on a busy phone. A row that leaves a list fades out and its neighbours
    glide up instead of the list being re-laid out on every frame; with reduced motion they fade in
    at their new place instead of jumping. Loading placeholders appear only if loading takes longer
    than a moment, their shimmer no longer repaints every frame, and the overview fades from the
    placeholder to its content. A tap during a page change is no longer lost: it reaches what was
    under the finger once the page has switched.

  • One set of controls in every module header. Search, view, filter and more sit in the same order
    and look the same everywhere, and every view picker is the same segmented control. The calendar
    header on a desktop is one row with a real search field (two rows instead of three on a tablet);
    on a phone the view picker names the current view and "Today" sits on the period label. Scrolled
    on a phone, the calendar header folds to one row like Apple Calendar's: the period, the view by
    name, search and filter. The arrows step aside - swipe, the keyboard or the view menu move to
    the next period, and a tap on the period returns to today. Tasks on a
    phone keep search, filter and more beside the title, so the list starts about 50px higher. Settings
    on a desktop shows the module header like every other module.

  • Task and calendar filters open the same sheet. People are chips, layers and calendars are
    switches, "Assigned to me" is in the same place in both, and there is one "Reset filters".

  • Tabs and adding work the same way across modules. Rewards and household-help tabs are plain
    text like every other module. Health areas, fasting included, add through their one button and
    empty states no longer repeat it; an empty shift plan opens on Shift types with one way to add one;
    the week planner shows a plus only in empty cells; the waste first-run screen offers import once.
    Shopping quick-add fields match the search field, and the More sheet groups modules like the sidebar.

  • Rows offer the same more button everywhere. Tasks and birthdays show it on phones too, and
    swiping stays as a shortcut. Housekeeping visits open their report on tap with edit, pay and delete
    in one menu, as the same row in overview, reports and staff log; all four tabs now fit on a phone.
    Budget accounts and loans, and notes, moved their extra actions into the row's more menu; pinned
    notes keep the same card with a filled pin. Group headings in contacts and notes share one style,
    and Settings in the desktop sidebar gets the same gliding highlight as every other entry.

  • More room for content on phones. The budget balance row stays one line until you open it, so
    bookings start about 100px higher; the documents folder picker is the first chip of the filter row;
    all-day entries in the calendar week take one line with "+n". Lab results read as rows with
    abnormal values first, and fasting no longer shows an empty ring before your first fast.

  • Dialogs ask in a clearer order. The meal dialog starts with the name and offers meal types as
    chips, the inventory dialog folds purchase, warranty, photo and documents behind "More details",
    the measured-at date in health looks like a field, and activity intensity is a translated choice.

  • Dialogs are real dialogs. The page behind a dialog can no longer be reached by keyboard or
    screen reader, Esc and the back gesture ask before discarding unsaved input, and the icon picker and
    image cropper look and move like every other dialog.

  • Smoother motion. View-switch pills glide instead of jumping while the new view builds, page
    changes finish their fade sooner so the next tap lands earlier, charts in health draw in like the
    budget reports, and an empty state no longer fades in twice. With reduced motion, dialogs, page
    changes and theme switches crossfade instead of cutting hard, and so do closing menus, rows and
    sections that open, module titles as the header folds, and the shopping header coming back.

  • The pantry keeps its shape on wide screens. On a desktop the list stands at reading width and
    the "Expiring soon" panel takes the rest up to the header's edge. On a 1920px screen the panel had
    110px left for names ("Greek yo-gurt" broke mid-word) while list rows stretched to 1146px, with the
    quantity buttons far from the name.

  • The overview starts at the same left edge as every module. On wide screens it used to be
    wider than the modules, so switching between the overview and a module moved everything sideways
    by up to 160px.

  • Shared expenses say which group a balance belongs to. "You are owed" and "You owe" now name
    the selected group, and the "Active groups" tile, which counted all groups right next to them, is
    gone; the number of groups stays at the head of the group list.

  • Selecting several tasks or contacts on a desktop shows the selection in the detail column.
    It reads "2 selected" with the actions for the selection, like Mail; the floating bar no longer
    covers the details of another task, and only one Delete is on screen. Screen readers hear the
    new count after a short pause instead of every step. While you select, the row that was open is
    no longer highlighted, so "0 selected" does not look like one; it is highlighted again when the
    details return. On phones the bar stays.

  • On a desktop you edit where you read. "Edit" in the detail column of tasks, recipes, contacts,
    inventory and birthdays opens the form in that column instead of a window over list and detail.
    Cancel, Esc, the back gesture and the question about unsaved changes work as before, and the list
    beside it is slightly dimmed while you edit; on narrower windows the form stays a dialog.

Fixed

  • On a tablet every budget tab ends where its header ends. Overview, Accounts, Plan, Loans and
    Statistics stopped short of the month switcher above them while Subscriptions and Split ran to
    the edge; all tabs now use the full width, so the right edge no longer moves between tabs.

  • Budget category names are no longer cut short. On a phone a transaction's category may take a
    second line instead of ending in "…" ("Leisure and entertainment"), and the subscription charts
    show names like "Utilities" in full next to a shorter bar.

  • Budget accounts take less room on a phone. The account type and starting balance now share
    one line under the name and balance ("Checking · Start: 2,480.00"), so an account row is about a
    fifth shorter and all six demo accounts fit on one screen. On very narrow phones the name gets
    the full width instead of being cut after a few letters.

  • Rows in a group of one keep their columns. In shopping and task lists, a category or group
    with a single entry had no drag handle, so its quantity, avatars and more button sat further
    right than in every other group. The handle's place now stays, and the columns line up.

  • Esc leaves "Customize" on the Overview. It does what "Cancel" does and asks first if you
    changed something; an open dialog or menu keeps its own Esc.

  • Budget plan: hitting the plan exactly is no warning. A fixed cost such as rent is booked in
    full on the first of the month; its plan row stayed amber with a warning sign all month. Amber
    now means "almost there", red still means over the plan.

  • Loan payments show the latest six. The list under the loans grew with every instalment (16
    rows on a phone with a building loan); the rest now sits behind "Show all (n)". On a narrow
    screen the dot between date and instalment no longer hangs at the end of the first line.

  • No double line under the title of a detail. The thin strip in the module colour under the
    header of an inventory item, a budget entry and a shared expense is gone; it only repeated the
    module and stood a few pixels under the header line. Subscriptions keep the strip in their brand
    colour.

  • Shared expenses speak to you. A balance you are part of reads "You owe Alex Johnson" or
    "Alex Johnson owes you" instead of naming yourself, and the summary cards put the group first
    ("Household: You owe") instead of "You owe in Household". Every language now has its own word
    order for "A owes B".

  • Documents line up in the grid. A search without results fills the whole width instead of one
    card's cell, and a short name keeps the room of a two-line one, so the details and buttons of a
    row of cards end on one line.

  • Health: a new medication gets its intake schedule in the same dialog. You no longer have to
    save a medication first and open it again to add times: the schedule is ready while you create
    it and is saved with it. Stock and note sit behind "More settings" (open when they hold
    something), dose and form share a row, and the seven weekdays fit on one line, so the dialog
    on a phone is about a fifth shorter even with the schedule in it.

  • Health: the lab trend opens on the value that needs attention. The chart under the lab
    reports used to show the first value ever entered (often a normal one); it now starts with a
    value flagged out of range in the latest report, preferring one with a history to draw.

  • Settings: no dead "Install app" button. Where the browser offers no installation, or Yuvomi
    is already installed, the button is gone and the page says where installing works: in the browser
    menu of Chrome and Edge, under Share in Safari, and only over HTTPS.

  • Settings: the screensaver options wait for Immich. Without an Immich connection the photo
    screensaver never starts, yet "This device" offered its delay, clock and photo fit. It now shows
    one row saying that an admin has to connect Immich first, and admins get a button that goes there.

  • Settings: sheet introductions and jump links are no longer cut off. On a phone the line under
    a sheet's title may take three lines instead of two, so "This device", Notifications and Tasks
    keep the end of their sentence. On wider screens the jump links at the top of a sheet wrap to a
    second row instead of disappearing at the edge.

  • Screen readers and voice control hear what the buttons show. Several buttons carried a name that
    left out their visible text, so saying what you see did not reach them: the account button in the
    sidebar, the "New" button in a module header, kitchen tabs with a count, account rows in Budget,
    shared expenses, points on Rewards and the days of the cycle calendar. They are now named by what
    they show, followed by what a tap does. Shared expenses no longer add a second main area to the
    page, and the housekeeping task summary no longer repeats the name of the task list.

  • Health: the intake log looks like something you can open. "Intake log" under the adherence card
    had lost its arrow and read like a heading. It now carries the same chevron as other expandable
    sections, turns it when open, and is a full-size target on a phone.

  • Settings: one key press from the list to the page. On a computer some 30 Tab presses stood
    between the top of Settings and the first field of a page, through the search and every entry of
    the list. The first Tab now offers "Skip to the setting", which takes you straight to the page.

  • The keyboard focus stays where you work in the calendar. Pressing Enter on an empty day in the
    month opens that day with the focus on its "No events yet" note instead of the view tabs at the top.
    A dialog opened with "n" and then discarded returns the focus to the "New" button, in every module,
    instead of the top of the page.

  • Wall mode keeps the keyboard focus and shows what its buttons are for. Starting wall mode
    puts the focus on the wall, and leaving it with Esc returns it to the button that started it,
    instead of dropping it at the top of the page. The timer buttons carry the word "Kitchen timer",
    and the count next to a face no longer covers the initials: it leans against the face, or follows
    the name when task titles are shown.

  • The keyboard shortcuts dialog keeps the keyboard inside. Pressing "?" opened a panel the focus
    never entered: Tab ran on through the page behind it, and closing it left you nowhere. It now opens
    like every other dialog, with the focus inside, and closing it returns you to where you were. On a
    computer the shortcuts stand in two columns, so the list fits without scrolling.

  • The buttons of the selection bar and of "Undo" are easy to hit on a phone. "To pantry",
    "Delete" and "Undo" stay small capsules, but a finger now hits them across a full 48px, so a tap
    in the thumb zone above the tab bar no longer misses.

  • The shopping list's check boxes are easy to see. An empty box was drawn in the faint line used
    for card edges and almost vanished on both light and dark backgrounds. It now has the same edge as
    the circle you tick off a task with, clearly visible at a glance.

  • Yuvomi stays light after a long session. A page you leave no longer stays in memory: after 44
    page changes the app held about 11,000 page elements instead of 52,000, with a quarter of the
    event listeners, because the old page, its drag handles and the record of the interrupted page
    are let go.

  • Long task lists open and update faster. With some 200 tasks on a throttled phone, opening
    Tasks no longer freezes the screen for 0.8 s (now 0.4 s), and ticking a task off takes 0.1 s
    instead of half a second: only that row leaves the list instead of the whole list being redrawn,
    groups further down are laid out once they come near the screen, and their icons follow
    right after the first screen.

  • Tapping the tab you are on takes you to the top. It used to rebuild the page with a jump and
    add a second step with the same address, so Back then seemed to do nothing; now the page glides
    to the top and stays as it was (with reduced motion it moves there at once). Opening the same
    address twice in a row no longer adds a step to the history either.

  • Opening a module from More no longer shows the More list over the new page. The sheet was
    still fading out when the page changed, and for a moment its list stood frozen over the new page;
    it now finishes before the switch, so only the page fades.

  • Health: choosing another lab report keeps the keyboard focus on it. The list was redrawn and
    the focus fell back to the start of the page, so the next Tab began at the top again.

  • Waste collection: a weekly schedule without a day says so at the days. "Choose at least one
    weekday" appeared as a short notice at the bottom of the screen; it now stands under the day
    chips, and the focus moves to the first day.

  • Switching pages without a connection no longer ends in "Something went wrong". A page that
    needs the network now says "You are offline" with "Try again", and draws itself as soon as the
    device is back online. On a computer the offline notice sits above the content instead of
    covering the logo, search and collapse button of the sidebar.

  • A mistyped current password no longer signs you out. Changing your password with a wrong
    current password sent you to the sign-in page without a word and lost what you had typed, although
    your session was fine. The page now says "The current password is not correct." at that field and
    keeps your entries. The account page shows every missing or invalid entry at its own row instead
    of in browser pop-ups: name, e-mail address, birthday, the three password fields and the
    two-factor code. For API clients: PATCH /api/v1/auth/me/password now answers a wrong current
    password with 400 and reason: 'wrong_password' instead of 401.

  • The e-mail server settings refuse what cannot work. A port outside 1 to 65535 or a sender
    without an e-mail address was saved with "Settings saved" and failed only on the first message.
    Both are now named at their field before saving or testing, and the server refuses them as well.
    "Test connection" says in your language what went wrong (sign-in rejected, server not reachable,
    encryption failed, message refused) instead of the mail server's English text, and when your own
    address is missing it points to Account -> E-mail.

  • Documents: uploading without a file says so at the drop zone. The message appeared at the
    bottom of the dialog, below the visible part of a phone screen, while the focus stayed on
    "Upload". It now stands right under the drop zone, which turns red and scrolls into view, and the
    focus moves to the file choice. The same goes for a file that is too large.

  • Health: a blood pressure reading without a pulse no longer draws a pulse of 0. The chart
    counted the missing value as zero, stretched its axis down to 0 and flattened both pressure
    curves against the edge. A missing pulse is now left out of the line and of the change shown
    against the previous reading.

  • Budget: money you lent out no longer counts as your debt. The loans summary added both
    directions into one "Outstanding balance", so 800 € lent to a relative showed up as debt of the
    household. Borrowed and lent loans now stand as two figures, "Outstanding balance" and "Still owed
    to you", with "Paid" and "Received back" next to them. The button on a loan card says what it
    records: "Record payment" for a loan you took out, "Repayment received" for one you gave, instead
    of "Mark paid", which booked a single installment. The API keeps its totals and adds
    summary.by_direction.

  • The last tap wins while a page is loading. Tapping a second destination while the first one
    was still loading was ignored, and you stayed on the first. Now the newer tap replaces the one
    in progress: the page you left behind is never drawn, and Back skips it. A page that has
    already appeared but is still waiting for slow or stalled data no longer holds up the newer tap
    either, and neither does a shift schedule tab or a settings sheet that is still loading.

  • The overview asks for due reminders once on start. The bell and the overview's Today sheet
    sent the same request moments apart; they now share one answer.

  • The shift schedule shows its own loading error. When the server answers "too many requests"
    or is briefly unreachable, the Shift schedule now says so in the page with a "Try again" button,
    instead of falling back to the app's general error screen. Its title and tabs stay above the
    message, so on a phone you still see where you are, and choosing a tab tries again.

  • A busy or restarting server no longer signs you out. When Yuvomi could not check the
    session on start - too many requests, a server error, a restarting NAS or no network - it showed
    the sign-in form although the session was still valid. Only a real "not signed in" answer leads
    there now; anything else shows a state titled after the cause ("Connection interrupted",
    "Server not ready right now" or "Too many requests") with the cause, a "Try again" button and
    an automatic retry that waits longer each time and respects the server's Retry-After. Screen
    readers hear it once, not on every retry, and focus stays on "Try again" when you used it.

  • A page that cannot load says why. Instead of always asking you to check your connection,
    the error now names the cause - too many requests, a server error, no network - and keeps the
    status code under "Technical details" rather than as a raw "HTTP 429" label. Budget and the shift
    planner no longer add a second error message on top of the page's own.

  • Settings: no loading placeholder left above a finished section. When a section such as
    Modules -> Active took a moment to load, its grey placeholder could stay on screen above the
    loaded content. Placeholders now disappear the moment a section shows its content.

  • Forms show every problem at once. Saving a budget entry, an account, an event, a meal or a
    subscription with several missing or invalid fields marked only the first one, one per click -
    and in the budget the title was checked before the amount above it. All problems are now marked
    together, and the cursor goes to the first one on screen. Screen readers hear that first problem
    once, where the focus lands, instead of one alert per field and the focused one twice; the other
    fields carry their message for when you reach them, and leaving a field still announces its
    message right away.

  • Health: impossible measurements are caught, unusual ones questioned. A weight of 650 kg, an
    oxygen saturation of 0 % or above 100 % or a blood pressure with the lower value above the upper one used to
    be saved and then distorted every chart. Values no person can have are refused at the field (and
    by the server, with the possible range in the API description); values that are possible but
    unusual show a short "please check" note once you have entered them (when you leave the field or
    press Enter) and can still be saved; the note disappears as soon as the value is plausible again.
    A refused value is named once, at its field, not a second time in the note below.

  • Budget statistics: a zero change looks like one, and plan targets are spelled out. A
    category whose total did not change could show a red rising arrow next to "0.00 €" because of a
    rounding remainder; changes are now rounded to the currency first. The plan target on each
    category bar was explained only in a hover tooltip and stuck to the bar's end when it exceeded the
    largest amount: the scale now covers both, and the target reads "of 1,700.00 €" under the amount,
    with how much of it is used for screen readers. All bars of a block now share one track length, so bars and
    targets line up instead of shifting by up to 12 % with the width of the figures beside them. In a
    month that is still running, the legend of the cumulative chart names the same figure as the
    "Today" point, with what is entered for the days after today as "+ ... planned".

  • The welcome tour points to the right button on a computer. Its last step said new entries
    are created with the + button at the bottom right; on a wide screen that button sits at the top
    right of each module's header, and the tour now says so in every language.

  • Only administrators see the "update available" dot. The dot on "More", the account menu and
    "What's new", and the matching screen reader note, appeared for every family member although only
    whoever runs the server can update. Other members still find the change log as before.

  • "More" shows where you are when the app opens on a settings page. Opening Yuvomi directly on
    a settings page such as Notifications left the "More" tab unmarked until the slowest section had
    loaded; it is now marked as soon as the navigation appears.

  • Calendar: "Manage calendars" is reachable on tablets and phones again. Below 1024px the
    button was hidden along with the empty header slot, so calendars could not be created, recolored
    or reordered there. The calendar filter now lists "Manage calendars" under its calendars, at
    every width and even before the first calendar exists.

  • Calendar: creating a calendar on a phone shows a usable name field. In "Manage calendars"
    on a narrow screen, the name field was squeezed to a sliver and the color picker stretched into a
    wide bar. Name and color now sit side by side, with "Create calendar" below them.

  • Too many requests are explained in your language. When the server asks to slow down, the
    app says so in the interface language instead of showing an English server message.

  • Meals: clicking a meal with the mouse opens it again. In the weekly planner a mouse click
    on a meal did nothing except flash a drag preview, so on a desktop or trackpad a meal could only
    be opened with the keyboard. A click now opens the meal, dragging starts only once the pointer
    actually moves, and a meal dropped back on its own slot no longer opens afterwards.

  • Google Calendar: a connection Google no longer accepts asks to reconnect (#2019). When
    Google refused the stored sign-in, for example after the seven days a project in the publishing
    status Testing allows, Settings still showed Google as connected while nothing synced, and
    deletions waiting for Google could be dropped. The card now says the sign-in has expired and
    offers Reconnect, syncing pauses until then, and pending changes stay queued. A new sign-in
    token that Google hands out during a refresh is now kept as well.

  • A dropdown's open list stays dark in dark mode (#2022). In Chrome on Windows the list
    of a dropdown inside a form row, such as the type of a health measurement, turned white once
    the pointer left it, with light text on it that was hard to read. The list now keeps the
    colors of the current theme, and scrollbars and other built-in browser controls follow dark
    mode as well.

  • A task's due time on the calendar follows your time format (#2018). With a region that uses
    the 12-hour clock, such as American English, tasks in the month, week, day and agenda views
    still showed their due time as "14:30". They now show "2:30 PM", like events and the rest of
    the app.

  • The phone tab bar reads more calmly. "More" no longer looks like the active tab after you
    switch pages, and the dimmed page behind the More sheet now fades out with the sheet instead of
    vanishing at once. In dark mode the active tab and the module tiles in the More sheet stand out
    more clearly; on tablets the More sheet is as wide as the tab bar below it. The tab bar is a
    little taller, so its icons and labels no longer sit tight against its edge, and the add button
    stays centered in it even when longer labels wrap onto two lines. Module icons in the tab bar,
    sidebar and More sheet are drawn with a slightly stronger line that matches the icons around them.

  • The desktop sidebar holds still. When the collapsed sidebar opens under the pointer, every
    entry now stays at the same height, so the pointer lands on the entry it was aiming for; the
    collapsed sidebar shows a thin line between its groups instead. Counts such as overdue tasks sit
    at the end of the row when the sidebar is open instead of covering the module icon, section
    names line up with the icons, and on windows up to 800px tall every module fits without
    scrolling. Pressing an entry darkens its row instead of shrinking it. When a page opens, the
    highlight already sits on its entry instead of sliding in from the first one. The highlight
    looks the same in light and dark mode: a violet pill with a violet edge that now stands out
    clearly from the sidebar in both.

  • Documents: leaving and coming back no longer leaves stale data on the page (#2005). An
    answer that arrived only after you had left Documents and opened it again could overwrite the
    members, the DMS accounts or the admin state the new page had just loaded, and the next dialog
    or menu used the old values. Now only the newest answer counts. A folder deletion that finished
    in that window, or deleted only part of the folder's documents, now shows up on the new page
    right away instead of the deleted folder staying in the list until the next reload, and it no
    longer moves the keyboard focus on the new page.

  • A save that answers late no longer closes a dialog you opened in the meantime (#1997). On
    Recipes (saving a recipe, planning it, linking ingredients to the pantry), Subscriptions
    (saving a subscription, the monthly budget, categories and payment methods) and Documents
    (uploading or editing a document, creating a folder, linking a document from a DMS), the success of a
    slow request closes only the dialog it came from. If you had closed that dialog and opened
    another one, the other one now stays open with what you typed in it. Linking ingredients no
    longer redraws the recipe or moves focus once you have left the page, and the category dialog
    no longer reopens over a dialog you opened while it was saving. Other pages follow.

  • A server whose TZ names an unknown time zone now runs in UTC. Without a household time zone
    in Settings, the server falls back to TZ and then to the zone the system reports. With TZ set
    to a name the system does not know, some systems (Windows, for example) report Etc/Unknown,
    which is not a time zone: Settings showed it as the effective zone, and the date helpers could not
    use it and each fell back in its own way. In that case the server now uses UTC. A valid TZ and a
    household time zone set in Settings work as before.

  • Installing a custom module from Settings copes with more of what can go wrong. When GitHub
    slows down a server that asks too often in a short time, the page now says GitHub's limit is
    reached, with the time to try again where GitHub names one, instead of "GitHub answered with
    status 403". A replace cut short by a crash or restart no longer makes the module disappear:
    the next start puts the previous version back, switched off until an admin approves it again,
    and clears the folders the install itself left behind, nothing else. Where a module's files
    are unpacked is now checked against the modules folder itself as well, not only through the
    rule for module ids.

Don't miss a new yuvomi release

NewReleases is sending notifications on new releases.