Skip to content

v1.8.0

Choose a tag to compare

@NexaFlowFrance NexaFlowFrance released this 27 Sep 08:42

OpenFamily meets the calendars you already use, reminds you when you want, speaks Spanish, and plans money that comes back every month.

Google Calendar, Outlook and .ics files

The calendar now has an Other calendars window.

  • Follow a calendar by address: paste the secret iCal address of a Google calendar, an Outlook or iCloud published calendar, or any webcal:// link from a school or a club. Its events appear with their own colour and the members you choose, refresh every 30 minutes (or on demand), and follow the source when it changes or removes an event. They are edited at the source; in OpenFamily you still choose who takes part, the reminders and the notes, and these survive every refresh. The address is stored encrypted and never shown again.
  • Import an .ics file once, as editable events. Importing the same file again updates instead of duplicating.

Times are converted to your time zone, repeating events become OpenFamily series (with their removed and moved dates), and rules OpenFamily cannot store, such as "the 2nd Tuesday", are expanded. Asked for by @ArtiskOnGit (#105).

Reminders when you want them

Up to five reminders per appointment, from the start time to four weeks before, including custom ones ("3 hours before"). All-day events can have them too, counted from 9:00 on the day. Recurring appointments now remind before every occurrence, where only the first one did, and a removed occurrence stays silent. The notification says how far away it is, in the member's language (#105).

Budget: recurring income and expenses, and Kakeibo

Recurring entries follow any schedule (every N days, weeks, months or years, until a date) and can be income as well as expenses, straight from the classic budget. An appointment can carry a budget entry and keep it in step with its date and recurrence. Kakeibo is back as a third view next to classic and analytics. Ported from @thecybermacgyver's batch (#85).

Spanish, and each member's own settings

  • The interface is now available in Spanish, and e-mails (invitations, password reset) and notifications follow each member's language instead of French.
  • Each member picks the first day of the week, or leaves it automatic.

Both from @thecybermacgyver's globalization batch (#85).

Recipes and meals

  • Find recipes by ingredient: type what you have at home ("brocoli", "oeuf") and only the recipes that use all of it stay. Accents, case and plurals do not matter (#105).
  • Import the Tandoor meal plan of the week into the meal planning, choosing which OpenFamily meal each Tandoor meal type maps to, by @foulek57 (#107).
  • Recipe cards show the recipe's photo instead of a chef hat, by @Thyvador (#103). A photo that cannot load falls back to the chef hat.
  • Long drop-down menus scroll again: with many recipes, the meal planner's recipe menu ran off the screen (#106, reported by @ArtiskOnGit). A search field sits above it.

On a phone

The planning, calendar, meals, shopping list and budget were reworked for small screens: day cards instead of a sideways-scrolling grid for meals, coloured dots in the month view, two-line budget rows, the shopping list before the templates, and 32-pixel tap targets for actions.

Fixes

  • Tandoor: syncing failed on Tandoor 2.x, which refuses the old Token scheme even though the connection test passed. OpenFamily now uses Bearer. By @foulek57 (#107).
  • Home Assistant: to-do lists such as local_todo always imported 0 items. By @foulek57 (#107).
  • Recipes synced from Tandoor or Mealie could not be opened or edited: their ingredients were stored in a shape the app does not read. They are converted on upgrade.
  • Docker, time zone: the server container ran in UTC while appointments are stored in local time, so reminders arrived one or two hours late. See Upgrading.
  • Docker, uploads over 1 MB: the bundled nginx refused them before they reached the server (family backups, photo posts, calendar files).
  • Docker, e-mail: the SMTP, sender, public URL and Android settings of .env never reached the server container.
  • Recipe photo addresses are validated, and a photo can be removed.

Installing on a server

A new step-by-step guide, INSTALLATION.md (and in French): the settings to change, ready-made images or a local build, HTTPS with Tailscale, Caddy or Nginx Proxy Manager, updates, backups and troubleshooting (#105).

Upgrading

  • Set TZ in your .env if your family does not live in the Paris time zone, for example TZ=America/Montreal. The default is Europe/Paris. Pull the new docker-compose.yml too: it now passes TZ and the mail settings to the server.
  • Schema changes run by themselves at startup. From this version they are recorded in an openfamily_schema_migrations table and run only once.
  • The Android app already installed keeps working: its "30 minutes" and "1 hour" reminder boxes map to the new reminders.
  • Behind your own reverse proxy, allow uploads larger than 1 MB (client_max_body_size 256m in nginx) to import calendar files and family backups.

Ready-made images: ghcr.io/nexaflowfrance/openfamily-server:1.8.0 and ghcr.io/nexaflowfrance/openfamily-client:1.8.0, for amd64 and arm64.

What's Changed

  • feat(recipes): Add preview image for recipes by @Thyvador in #103
  • fix(recipes): fall back to the chef hat when a recipe photo cannot load by @QuentinCazier in #104
  • feat(meals): import the Tandoor meal plan / importer le planning Tandoor (+ 2 fixes) by @foulek57 in #107

New Contributors

Full Changelog: v1.7.1...v1.8.0

What's Changed

  • feat(recipes): Add preview image for recipes by @Thyvador in #103
  • fix(recipes): fall back to the chef hat when a recipe photo cannot load by @QuentinCazier in #104
  • feat(meals): import the Tandoor meal plan / importer le planning Tandoor (+ 2 fixes) by @foulek57 in #107

New Contributors

Full Changelog: v1.7.1...v1.8.0