docs: Pay via WorldFirst page, index and env var rows
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
feat: per-admin notification settings, sidebar display prefs, bell tidy-up
Settings > General > Notifications lets each admin choose which alerts
reach their bell and browser. User.notificationPrefs jsonb (init SQL plus
core-reconcile 045). Notifications API filters by the caller's prefs.
Admin Menu gains sidebar display prefs. Pin social-hub v0.1.8.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
docs: Settings now under General; sidebar sub-tabs, InfoTip and two-across layout notes
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Email tracking on SMTP, the Brevo-or-SMTP choice, and a PECR note
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Google Shopping, purchase orders, abandoned carts, unified inbox and the half-hourly dispatcher
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Update build cache and mobile product docs
Document the build-cache retention work and the mobile product media pinning behaviour for shop and configurator pages.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
docs: email templates preview, replacement order links, reviews reminder timing
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
docs: email templates section picker, pills and always-on preview
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
docs: the two new cache windows, module API caching, and the address-lookup provider notes
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
docs: a choice of address service, and cancelling part of an order
Address-Lookup rewritten around choosing between Ideal Postcodes and Google
Places, Configuration-reference gains GOOGLE_PLACES_API_KEY, and Shop covers
per-line cancellations and no longer names Ideal Postcodes as the only option.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
docs: what "purge everything" clears, and the junk button's shorter question
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
docs: mobile bar, cookie category order, supplier invoices, inbox updates
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Staff phone numbers, site dialling code, and the rebuilt inbox writing boxes
Timezone: say what it now actually governs across the site
Timezone setting: say what it actually governs, and mention the live clock
Blocking a caller, deploys that finish, and the build variables that control them
Covers core v0.5.1441-v0.5.1444: the conversation-provider blocking half and
voicemail deletion (Twilio, Unified Inbox), the Next 16.3 upgrade with its build
watchdog and the troubleshooting section for a deploy that never finishes, the
quicker-deploy notes, and the five new build variables now listed in the
configuration reference rather than only on the self-hosting page.
Shop: offering a payment method only on orders of a certain size
docs: per-job schedule frequencies, Settings > Schedules tab
Unified Inbox: new page, and where answering moves
New Unified-Inbox.md for site owners: mail accounts against inboxes, routing,
sending identity and Brevo authentication, the Sent-folder copy, how often it
checks, the screen, the other channels, people and the context rail, per-inbox
access, retention, export and erase, Reply Catcher, uninstalling, and an
honest list of what it does not do yet.
Reply-catcher.md: superseded notice, and never both on one mailbox.
Contact-form.md, Live-Chat.md, Twilio.md: where answering moves with the hub
installed, and what stays exactly as it was.
Architecture-overview.md: the conversation provider point, the shared All tab,
per-user tab suppression, serverOnly, and the outgoing email log.
Authoring-a-module.md: core.conversation-provider, serverOnly,
consumesConversationProviders.
Configuration-reference.md: what the email log keeps and for how long.
Modules.md: footer link.
Email: a module can set the sender and the sending account; test sends are logged
Authoring-a-module: sendEmail's three optional extras - headers, from and
transport - and what each is for.
Configuration-reference: test sends from the per-card button are recorded in
the outgoing email log alongside every other email.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Contact form: signature kinds, merge tags, and replies in the site's email design
Contact-form: the three ways to write a signature (rich text, pasted
HTML, page builder), what survives a paste and what does not, the
per-person merge tags, and a new section on replies now going out in the
site's email design.
Configuration-reference: note on the Email wrapper designs page that the
contact form's reply and auto-reply are not on the Templates tab and
always take the site default.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Dark-mode pattern size; CTA Banner text and link colours
Background patterns: page-wide, and on email wrapper designs
Manual purge-everything button on Settings > Speed
Speed settings move to their own tab, purge keys get a home
Page caching: the Speed settings, the Cloudflare steps, and the new manifest field
Configuration-reference: three new rows in the General settings table, two new
environment variables, and a "Speeding up your site" section covering what is
already fast (compression, which was already on as Brotli), what was not (every
visit rebuilding its page), and the four Cloudflare steps - orange cloud,
SSL/TLS Full (strict), a Cache Rule marking pages eligible, then the tick box.
Architecture-overview: the page-cache step in the proxy pipeline diagram, plus
why the decision is additive-only, why RSC payloads are never cached (Cloudflare
honours Vary for Accept-Encoding and nothing else), why the header can be set
from the proxy at all, and the cf-connecting-ip rule.
Authoring-a-module: the cacheBypassCookies manifest field, with the shop as the
worked example of when NOT to declare one.
Getting-started: the two optional Cloudflare purge variables.
Square card fields on the checkout, and module-declared CSP origins
Shop: the shop.checkout-payment-fields extension point and the copy rule that
goes with it - shop prints no reassurance line of its own under a module's
fields, because it cannot know what they collect.
Square: where the card is typed is now a setting, hosted or on your own
checkout, plus the Application ID it needs for the latter.
Core: the cspOrigins manifest field, what a module may and may not widen with
it, and why CSP_EXTRA_ORIGINS still exists alongside it.
Google Tag module, the conversion seam, and cookie categories that explain themselves
New Google-Tag page: setup, the two IDs Google Ads needs, what counts as an
order, and the consent behaviour worth reading twice - a category the banner
does not carry is not one a visitor can grant, so that half runs ungated and
the settings page says so.
Architecture overview gains a Conversion seam section (announce, listen, and
why dedup lives in core rather than in each listener). Authoring a module and
the Configuration reference document the long form of cookieCategories. Shop's
order-confirmation section notes that a completed order is now reported, and
which payment states count.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Live Chat: the provisioning image is an option (LIVECHAT_IMAGE / setup form)
Revert the backdrop logo pages: the feature has been withdrawn