Postmark's API transport rejects headers like Return-Path that Drupal adds
automatically. The SMTP relay is more permissive and avoids this class of
rejection entirely.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Drupal core's symfony_mailer plugin reads system.mail.mailer_dsn directly
from settings.php — the mailer_transport module entity system is only a UI
layer and is not consulted when actually sending mail. Removed the
mailer_transport entity setup from the entrypoint and configured the DSN
correctly via $config overrides in settings.php instead.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- In _riverside_pt_rebuild(): proactively TRUNCATE the semaphore table
at the very start of every rebuild. This eliminates the common
'duplicate key value violates unique constraint "semaphore____pkey"'
errors for 'state:Drupal\Core\Cache\CacheCollector' and 'cron' that
appear in postgres logs.
- In entrypoint.sh: add TRUNCATE semaphore at strategic points
(right after site:install, before module enables, before/after
riverside:rebuild, before final drush cr). Wrapped with || true
so they never break the startup script.
- Added a note in CLAUDE.md under the rebuild section explaining
the errors and the quick manual fix.
These are harmless (Drupal's DbLockBackend usually recovers) but
very noisy in the container logs during the default full rebuild
path.
- Refactor AboutController to PageController to handle multiple static pages:
- /about
- /services/{slug} (diagnostic, sports, pre-post, neuro)
- /contact (new)
- New template riverside-pt-contact.html.twig:
- Contact details (address, phone, email)
- Office hours
- 'Send us a message' section directing to booking tool
- Multiple 'Make an Appointment' links back to /home#book-an-appointment
- Updated riverside_pt.routing.yml with riverside_pt.contact route
- Registered 'riverside_pt_contact' theme in riverside_pt.module
- Updated riverside_pt.install to skip legacy node creation for 'Contact' (and previously About/Services) to avoid alias conflicts
- Minor updates to home template, header handling, libraries (scroll support), and other controllers for consistency with page flows and email/booking features
All details pages (/about, /services/*, /contact) now include clear links back to 'Make an Appointment'.