From dc51a81b0670a21bc225118577a19431afda71cc Mon Sep 17 00:00:00 2001 From: ee-extensions release bot Date: Thu, 25 Jun 2026 13:08:21 +0000 Subject: [PATCH] release eea-event-companion 0.16.4 --- eea-event-companion.json | 8 ++++---- ...6.3.zip => eea-event-companion-0.16.4.zip} | Bin 397723 -> 397772 bytes 2 files changed, 4 insertions(+), 4 deletions(-) rename eea-event-companion/{eea-event-companion-0.16.3.zip => eea-event-companion-0.16.4.zip} (88%) diff --git a/eea-event-companion.json b/eea-event-companion.json index 8581523..71062cc 100644 --- a/eea-event-companion.json +++ b/eea-event-companion.json @@ -1,13 +1,13 @@ { "name": "Event Espresso 4 - Event Companion", "slug": "eea-event-companion", - "version": "0.16.3", - "download_url": "https://gitea.mulligan.casa/ee-extensions/foh-updates/raw/branch/main/eea-event-companion/eea-event-companion-0.16.3.zip", + "version": "0.16.4", + "download_url": "https://gitea.mulligan.casa/ee-extensions/foh-updates/raw/branch/main/eea-event-companion/eea-event-companion-0.16.4.zip", "homepage": "https://gitea.mulligan.casa/ee-extensions/eea-event-companion", "requires": "6.4", "tested": "7.0", "requires_php": "8.1", - "last_updated": "2026-06-25 13:02:10", + "last_updated": "2026-06-25 13:08:21", "icons": { "1x": "https://gitea.mulligan.casa/ee-extensions/foh-updates/raw/branch/main/eea-event-companion/icon-128x128.png", "2x": "https://gitea.mulligan.casa/ee-extensions/foh-updates/raw/branch/main/eea-event-companion/icon-256x256.png" @@ -26,6 +26,6 @@ "description": "

Event Companion adds an attendee-facing progressive web app (PWA) to any Event Espresso event. Attendees access the companion via a QR code or short link, authenticate with a magic link tied to their registration, and get a mobile-native experience with:

\n\n

All configuration is per-event from wp-admin under the Event Espresso menu. The companion is general-purpose and organization-agnostic.

\n

Self-contained on Event Espresso. The companion works on a plain Event Espresso install. No additional plugins are required.

", "installation": "
    \n
  1. Install and activate Event Espresso 4.
  2. \n
  3. Upload this plugin to wp-content/plugins/ and activate it. Activation creates the companion tables.
  4. \n
  5. Navigate to Event Espresso > Event Companion in wp-admin to configure the companion for an event.
  6. \n
", "faq": "

Does this require any other plugins?

\n

Only Event Espresso 4. The companion is fully self-contained.

\n

How do attendees access the companion?

\n

Via a magic link sent to the email on their registration, or by scanning a QR code at the event.

", - "changelog": "

0.16.3
\n* Map background colour now applies to the focused map views too. The \"you are here\" mini-map (on a location's page and on a session's detail) matches the floorplan's background colour like the full map, instead of showing the app's default surface around the plan.

\n

0.16.2
\n* Announcement formatting now displays. Rich text in an announcement (paragraphs, bold, links, lists) renders properly in the News feed instead of showing raw HTML tags. (Push notifications remain plain text.)

\n

0.16.1
\n* Map loading is now reliable. The map waits for its viewport to finish sizing before fitting the floorplan, then fades in — fixing occasional off-centre loads and the rare blank map (it used to measure too early, during the screen transition, and mis-place or hide the plan). Correctness over a fraction of a second.

\n

0.16.0
\n* Schedule cards redesigned. A cleaner, more compact card: time and location share a line, the source schedule and tags sit together, and the calendar / reminder / share actions are tucked into a single overflow (⋮) menu instead of cluttering the card.
\n* New \"Share\" action. Share a session straight from the menu — uses the phone's native share sheet when available, otherwise copies the link and confirms with a toast.
\n* The same card everywhere. A location's detail page now shows its sessions as the same cards (tap one to open it), and a session's detail links back to its location — closing the loop between the schedule and the map.
\n* Map background fills the whole view. A vector floorplan's background colour now paints the entire map viewport, so the area around the plan matches it instead of showing a mismatched band when you pan or zoom.
\n* Cross-floor link markers sit on their rooms. Navigation-link markers on element-bound Spaces (e.g. \"To Level 3\") now appear on the bound room rather than defaulting to the centre of the map.
\n* Fixed a map-switch race where a previous map's failed image could briefly blank the map you just switched to.

\n

0.15.1
\n* The in-app boot splash logo now scales with the screen (instead of a fixed small size), so it fills more of a large/retina display.

\n

0.15.0
\n* Site-wide settings now live on their own \"Global\" tab (Event Companion → Global), separate from any event — the App Name / icon / splash / accent and the Web Push setup moved there. No need to pick an event to manage them.
\n* Add-to-calendar is now a provider menu — Google Calendar, Outlook, Office 365, or Apple/.ics. Each opens that calendar with the session (using that calendar's own default reminder). This works reliably across phones, including Android, instead of relying on a single behaviour.
\n* The reminder star now carries the reminder time. Tap the star and pick how far ahead to be notified — 15 / 30 / 45 minutes or 1 hour before — delivered as a push notification at that time. (The exact lead lives on the push reminder now; the calendar entry uses your calendar's default.)
\n* The \"notifications blocked\" message is now helpful — it explains how to re-enable notifications in your browser's site settings (and on iOS, offers to install the app, which can prompt again).

\n

0.14.0
\n* Add-to-calendar now opens the Calendar app instead of downloading a file. Tapping a reminder time hands the event straight to the phone's calendar (the \"Add to Calendar\" sheet on iOS, open-with on Android). The service worker serves the event on-device, so it works fully offline — no signal needed to add it, and the alarm still fires offline once it's in.

\n

0.13.0
\n* Pick your reminder time when adding a session to your calendar. The calendar button now offers None / 15 / 30 / 45 minutes / 1 hour before — set as a real alarm on the calendar event. Because it's the phone's own calendar, the reminder fires offline, in airplane mode, and with the app closed (the dependable way to be reminded at a venue with no signal). The in-app star notification remains for when you're online.

\n

0.12.0
\n* Add any session to your calendar. Every schedule item now has a calendar button that downloads a standard .ics — works with Apple, Google, and Outlook calendars.
\n* Reminders. Tap the star on a session to be reminded about 15 minutes before it starts (a push notification). Starring asks to turn on notifications the first time, and your stars sync to the server so they survive a reinstall. No sign-in.
\n* Smarter notification opt-in. The \"Get notified\" prompt now also appears on the home screen, and installing the app (or starring a session) offers to turn on notifications — all from a tap, never a surprise pop-up.
\n* Feedback forms support more question types on device. Multiple-choice (radio), number, and \"choose several\" (checkbox) questions now render and submit correctly in the app, matching the form builder.

\n

0.11.0
\n* App identity is now site-wide. The installed app's name, home-screen icon, splash, and base accent colour are set once for the whole site/organisation (Event Companion → App Settings → \"App Identity\"), independent of any single event. The install name now follows your App Name (or the site name) instead of the generic \"Event Companion\", and the icon follows your chosen icon everywhere — including at shared /g/… links. (Per-event Design themes still apply as in-app skinning when an event is in focus.)
\n* Announcements can be org-wide. A new \"Show org-wide\" toggle (on by default) makes an announcement visible across the whole app — even before anyone has picked an event — instead of only inside one event. Turn it off to scope an announcement to a single event.
\n* Clear publish controls for announcements. The announcement editor now has explicit Publish now, Schedule, and Save draft buttons. (Previously, leaving the time blank silently saved a hidden draft.)

\n

0.10.0
\n* Schedule entries can now carry tags (e.g. keynote, workshop, food). Attendees see tag chips on each session and can filter a schedule by tag, right on the schedule view.
\n* New optional All Schedules view: turn it on per event (Schedule tab) to add an \"All\" tab at the front that merges every schedule's sessions in time order, grouped by day, each labelled with its source schedule. Its tag filter spans every schedule. Exclude individual sessions from the combined view from the entry editor.
\n* Tags and the All-Schedules settings travel through Export / Import.

\n

0.9.0
\n* Venue maps can now use a vector floorplan (an SVG export from Inkscape, Illustrator, or similar) as the base, with a per-map background colour — upload one when adding or editing a map. Uploaded SVGs are sanitized on upload, on serve, and on import.
\n* New element binding: instead of re-tracing rooms by hand, pick any area already drawn in the floorplan — through a structure tree of its layers, groups, and shapes — and turn it into a tappable Space. Each bound Space gets its own resting and focused-state highlight colour and opacity, and the floorplan's own room outlines light up on the map.
\n* Drawn polygon Spaces still work and mix freely with bound ones on the same map; convert either way (detach a bound Space to a point, or bind a drawn/point feature to an element). The vector floorplan and its bindings travel through Export / Import.

\n

0.8.0
\n* Venue maps can now have Spaces — tappable polygon regions (rooms, zones) you draw right on the map. Each Space carries an optional highlight colour, fill opacity, zoom-to-fit on focus, and a centroid marker, and works as a schedule location and a tap target just like a pin.
\n* Rebuilt map editor: a toolbar to place pins or draw Spaces (click corners to close), full corner editing (drag, double-click an edge to add, Delete to remove), and a docked options panel for the selected feature — replacing the old prompt() dialogs.
\n* Pins and Spaces can now do more on tap: show a basic info popup (a short blurb, without leaving the map), or act as a navigation link to another location or map (a picker appears when there's more than one destination). Either can also display an optional glyph icon.
\n* Map saves keep stable ids, so schedule locations, links, and deep-links survive an edit; navigation links remap correctly across export and import.

\n

0.7.0
\n* Added a color-coded plugin icon (delivered through the update channel) and declared WordPress 7.0 compatibility. No functional change.

\n

0.6.0
\n* Web push notifications: attendees can opt in from the News tab to be notified when an announcement is published (deep-linking to the linked session when set). Generate the signing key under App Settings → Web Push. Self-contained — no extra service required; iOS install-gated.
\n* The home \"Happening now / next\" ribbon now flags a live or upcoming session that has linked announcements with a 📣 count.

\n

0.5.0
\n* Announcement ↔ session linking: an announcement can point at one schedule session. The attendee app shows a tap-through session chip on the announcement card and a \"Related updates\" list on the session page; set the link from the new \"Related session\" picker in wp-admin (grouped by schedule, times in the event timezone). Deleting a session cleanly unlinks its announcements.

\n

0.4.0
\n* Installed PWA branding: the home-screen icon, iOS splash, and theme color now follow the live event's branding (cascade: live event → a new site-wide default → plugin default), instead of the static default. New \"Default App Branding\" controls on the App Settings tab set the site-wide fallback. Manifest is cache-busted (versioned link + ETag) so changes reach installed apps within the cache window.
\n* Import / Export: package an event's whole companion config as a hand-authorable ZIP and import it (merge or replace) into another event — pages, schedules, maps/pins, app/design, shortlinks, feedback form, with bodies and images carried as asset tokens. wp-admin tab + WP-CLI (wp eea-ec export|import); untrusted-ZIP hardened; fully atomic.
\n* Fixed: the home short link no longer mints a duplicate on repeat calls.

\n

0.3.0
\n* Attendee PWA: event-aware landing (hero + \"Happening now/next\" across schedules), bottom-nav + drawer, multi-floorplan maps, named multi-schedules with per-session detail pages, announcements, location-scoped feedback, and \"you are here\" QR cards.
\n* Device-first identity: feedback with no sign-in; optional email magic-link verification creates/links an attendee.
\n* Per-event OKLCH theme engine: accent + neutral + style dials derive contrast-guarded tokens; 10 presets; light/dark/dark-luxe; live preview in wp-admin. Branded boot splash, hero, and motion.
\n* Offline support: after one online load the app works in a venue dead zone (cached data + floorplans); QR codes resolve client-side; offline indicator.
\n* Self-hosted updates via the foh-updates channel.

\n

0.1.0
\n* Foundation release: plugin activation, DB schema (11 tables), admin page shell with stub tabs, self-hosted updater, release workflow.

" + "changelog": "

0.16.4
\n* Location pages split sessions by day. The \"What's Happening Here\" list on a location's page now groups its sessions under day headers, matching the schedule view.

\n

0.16.3
\n* Map background colour now applies to the focused map views too. The \"you are here\" mini-map (on a location's page and on a session's detail) matches the floorplan's background colour like the full map, instead of showing the app's default surface around the plan.

\n

0.16.2
\n* Announcement formatting now displays. Rich text in an announcement (paragraphs, bold, links, lists) renders properly in the News feed instead of showing raw HTML tags. (Push notifications remain plain text.)

\n

0.16.1
\n* Map loading is now reliable. The map waits for its viewport to finish sizing before fitting the floorplan, then fades in — fixing occasional off-centre loads and the rare blank map (it used to measure too early, during the screen transition, and mis-place or hide the plan). Correctness over a fraction of a second.

\n

0.16.0
\n* Schedule cards redesigned. A cleaner, more compact card: time and location share a line, the source schedule and tags sit together, and the calendar / reminder / share actions are tucked into a single overflow (⋮) menu instead of cluttering the card.
\n* New \"Share\" action. Share a session straight from the menu — uses the phone's native share sheet when available, otherwise copies the link and confirms with a toast.
\n* The same card everywhere. A location's detail page now shows its sessions as the same cards (tap one to open it), and a session's detail links back to its location — closing the loop between the schedule and the map.
\n* Map background fills the whole view. A vector floorplan's background colour now paints the entire map viewport, so the area around the plan matches it instead of showing a mismatched band when you pan or zoom.
\n* Cross-floor link markers sit on their rooms. Navigation-link markers on element-bound Spaces (e.g. \"To Level 3\") now appear on the bound room rather than defaulting to the centre of the map.
\n* Fixed a map-switch race where a previous map's failed image could briefly blank the map you just switched to.

\n

0.15.1
\n* The in-app boot splash logo now scales with the screen (instead of a fixed small size), so it fills more of a large/retina display.

\n

0.15.0
\n* Site-wide settings now live on their own \"Global\" tab (Event Companion → Global), separate from any event — the App Name / icon / splash / accent and the Web Push setup moved there. No need to pick an event to manage them.
\n* Add-to-calendar is now a provider menu — Google Calendar, Outlook, Office 365, or Apple/.ics. Each opens that calendar with the session (using that calendar's own default reminder). This works reliably across phones, including Android, instead of relying on a single behaviour.
\n* The reminder star now carries the reminder time. Tap the star and pick how far ahead to be notified — 15 / 30 / 45 minutes or 1 hour before — delivered as a push notification at that time. (The exact lead lives on the push reminder now; the calendar entry uses your calendar's default.)
\n* The \"notifications blocked\" message is now helpful — it explains how to re-enable notifications in your browser's site settings (and on iOS, offers to install the app, which can prompt again).

\n

0.14.0
\n* Add-to-calendar now opens the Calendar app instead of downloading a file. Tapping a reminder time hands the event straight to the phone's calendar (the \"Add to Calendar\" sheet on iOS, open-with on Android). The service worker serves the event on-device, so it works fully offline — no signal needed to add it, and the alarm still fires offline once it's in.

\n

0.13.0
\n* Pick your reminder time when adding a session to your calendar. The calendar button now offers None / 15 / 30 / 45 minutes / 1 hour before — set as a real alarm on the calendar event. Because it's the phone's own calendar, the reminder fires offline, in airplane mode, and with the app closed (the dependable way to be reminded at a venue with no signal). The in-app star notification remains for when you're online.

\n

0.12.0
\n* Add any session to your calendar. Every schedule item now has a calendar button that downloads a standard .ics — works with Apple, Google, and Outlook calendars.
\n* Reminders. Tap the star on a session to be reminded about 15 minutes before it starts (a push notification). Starring asks to turn on notifications the first time, and your stars sync to the server so they survive a reinstall. No sign-in.
\n* Smarter notification opt-in. The \"Get notified\" prompt now also appears on the home screen, and installing the app (or starring a session) offers to turn on notifications — all from a tap, never a surprise pop-up.
\n* Feedback forms support more question types on device. Multiple-choice (radio), number, and \"choose several\" (checkbox) questions now render and submit correctly in the app, matching the form builder.

\n

0.11.0
\n* App identity is now site-wide. The installed app's name, home-screen icon, splash, and base accent colour are set once for the whole site/organisation (Event Companion → App Settings → \"App Identity\"), independent of any single event. The install name now follows your App Name (or the site name) instead of the generic \"Event Companion\", and the icon follows your chosen icon everywhere — including at shared /g/… links. (Per-event Design themes still apply as in-app skinning when an event is in focus.)
\n* Announcements can be org-wide. A new \"Show org-wide\" toggle (on by default) makes an announcement visible across the whole app — even before anyone has picked an event — instead of only inside one event. Turn it off to scope an announcement to a single event.
\n* Clear publish controls for announcements. The announcement editor now has explicit Publish now, Schedule, and Save draft buttons. (Previously, leaving the time blank silently saved a hidden draft.)

\n

0.10.0
\n* Schedule entries can now carry tags (e.g. keynote, workshop, food). Attendees see tag chips on each session and can filter a schedule by tag, right on the schedule view.
\n* New optional All Schedules view: turn it on per event (Schedule tab) to add an \"All\" tab at the front that merges every schedule's sessions in time order, grouped by day, each labelled with its source schedule. Its tag filter spans every schedule. Exclude individual sessions from the combined view from the entry editor.
\n* Tags and the All-Schedules settings travel through Export / Import.

\n

0.9.0
\n* Venue maps can now use a vector floorplan (an SVG export from Inkscape, Illustrator, or similar) as the base, with a per-map background colour — upload one when adding or editing a map. Uploaded SVGs are sanitized on upload, on serve, and on import.
\n* New element binding: instead of re-tracing rooms by hand, pick any area already drawn in the floorplan — through a structure tree of its layers, groups, and shapes — and turn it into a tappable Space. Each bound Space gets its own resting and focused-state highlight colour and opacity, and the floorplan's own room outlines light up on the map.
\n* Drawn polygon Spaces still work and mix freely with bound ones on the same map; convert either way (detach a bound Space to a point, or bind a drawn/point feature to an element). The vector floorplan and its bindings travel through Export / Import.

\n

0.8.0
\n* Venue maps can now have Spaces — tappable polygon regions (rooms, zones) you draw right on the map. Each Space carries an optional highlight colour, fill opacity, zoom-to-fit on focus, and a centroid marker, and works as a schedule location and a tap target just like a pin.
\n* Rebuilt map editor: a toolbar to place pins or draw Spaces (click corners to close), full corner editing (drag, double-click an edge to add, Delete to remove), and a docked options panel for the selected feature — replacing the old prompt() dialogs.
\n* Pins and Spaces can now do more on tap: show a basic info popup (a short blurb, without leaving the map), or act as a navigation link to another location or map (a picker appears when there's more than one destination). Either can also display an optional glyph icon.
\n* Map saves keep stable ids, so schedule locations, links, and deep-links survive an edit; navigation links remap correctly across export and import.

\n

0.7.0
\n* Added a color-coded plugin icon (delivered through the update channel) and declared WordPress 7.0 compatibility. No functional change.

\n

0.6.0
\n* Web push notifications: attendees can opt in from the News tab to be notified when an announcement is published (deep-linking to the linked session when set). Generate the signing key under App Settings → Web Push. Self-contained — no extra service required; iOS install-gated.
\n* The home \"Happening now / next\" ribbon now flags a live or upcoming session that has linked announcements with a 📣 count.

\n

0.5.0
\n* Announcement ↔ session linking: an announcement can point at one schedule session. The attendee app shows a tap-through session chip on the announcement card and a \"Related updates\" list on the session page; set the link from the new \"Related session\" picker in wp-admin (grouped by schedule, times in the event timezone). Deleting a session cleanly unlinks its announcements.

\n

0.4.0
\n* Installed PWA branding: the home-screen icon, iOS splash, and theme color now follow the live event's branding (cascade: live event → a new site-wide default → plugin default), instead of the static default. New \"Default App Branding\" controls on the App Settings tab set the site-wide fallback. Manifest is cache-busted (versioned link + ETag) so changes reach installed apps within the cache window.
\n* Import / Export: package an event's whole companion config as a hand-authorable ZIP and import it (merge or replace) into another event — pages, schedules, maps/pins, app/design, shortlinks, feedback form, with bodies and images carried as asset tokens. wp-admin tab + WP-CLI (wp eea-ec export|import); untrusted-ZIP hardened; fully atomic.
\n* Fixed: the home short link no longer mints a duplicate on repeat calls.

\n

0.3.0
\n* Attendee PWA: event-aware landing (hero + \"Happening now/next\" across schedules), bottom-nav + drawer, multi-floorplan maps, named multi-schedules with per-session detail pages, announcements, location-scoped feedback, and \"you are here\" QR cards.
\n* Device-first identity: feedback with no sign-in; optional email magic-link verification creates/links an attendee.
\n* Per-event OKLCH theme engine: accent + neutral + style dials derive contrast-guarded tokens; 10 presets; light/dark/dark-luxe; live preview in wp-admin. Branded boot splash, hero, and motion.
\n* Offline support: after one online load the app works in a venue dead zone (cached data + floorplans); QR codes resolve client-side; offline indicator.
\n* Self-hosted updates via the foh-updates channel.

\n

0.1.0
\n* Foundation release: plugin activation, DB schema (11 tables), admin page shell with stub tabs, self-hosted updater, release workflow.

" } } diff --git a/eea-event-companion/eea-event-companion-0.16.3.zip b/eea-event-companion/eea-event-companion-0.16.4.zip similarity index 88% rename from eea-event-companion/eea-event-companion-0.16.3.zip rename to eea-event-companion/eea-event-companion-0.16.4.zip index f086c02091d91933a1fb752a348f76144d96095f..85c7ee890219a5eaf64fbbef5eae250967736823 100644 GIT binary patch delta 23311 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 delta 23168 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∾Jj*@eRXx>0i2+E%y1VljaW!+?Zw-Fc`m_5! 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