Skip to content
TapNTable
Devlog
v0.13.0

TapNTable 0.13.0: SEO, Updates and Campaigns

Your menu on search engines and social networks

Settings > Site now has an “SEO and indexing” section: a title and a description for search results, a share image for when someone sends the restaurant link on WhatsApp or Facebook, and two switches - one to allow indexing and one for AI crawlers. Each branch also gets its own indexing switch in the branch dialog, so a branch that is still being prepared does not show up on Google before it opens.

robots.txt and sitemap.xml are now generated by the app itself from those choices: only the public pages that are really indexable make it into the sitemap (home, menu, bookings, takeaway and legal pages), and private areas always stay out. A branch address that does not exist now answers with a clean 404 instead of sending the visitor to the home page.

Updates: channel, support policy and release notes

The updates page gained a channel selector - “Stable” (recommended) or “Beta” - stored in the installation, with no configuration files to edit. The channel cannot be changed while an update is in progress.

There is now a clear support policy: each version supports the current series and the one right before it. When your installation is outside that window, the page warns you, asks for an explicit confirmation before updating and forces a backup for that update even if automatic backups are off. It never blocks: the update is still your call.

Release notes now come from here, the devlog: before updating you see a summary of what changes and, after updating, the page shows “What’s new in version X” once, with a link to the full notes. The app also checks for a new version on its own every hour - and whoever has permission to update sees an icon in the top bar without opening the notification bell.

The kitchen screen and the POS know when they were updated

A KDS or POS left open for hours kept running the old version after an update until someone pressed F5. The polling now carries the installed version: when it changes, a “New version installed” banner appears with a reload button, and the screen reloads by itself after five minutes without anyone touching it - only when it is safe, that is, with no order in progress on the POS (empty cart, no payment or receipt open) and no pending action on the KDS.

Campaigns and newsletters in each customer’s language

Until now a campaign or newsletter went out in a single language to the whole list. Each customer now receives the email and the SMS in their account language and, if they never chose one, in the restaurant’s language. Emails with a linked template respect that choice too - before, they always went out in the server’s language. In bulk SMS sends, the franchise and the fallback language travel with each message, which saves two database queries per recipient on large lists.

And more

  • The installer got lighter, and the updates page no longer errors for an hour after a manual file deploy.
  • A scheduled update check no longer fails because of a malformed date marker.
  • Static files carry the nosniff and Referrer-Policy headers on Apache too.
  • The installed version is only announced to authenticated screens; a customer reading a table QR does not see it.