Fix poll vote submission failure and add pridecorner.ca nginx routing
Users could not submit scheduling poll votes when an invalid or partial email was entered — Zod rejected empty strings and non-email text with a generic validation error. Added client-side email validation in both SchedulingPollPage and SchedulingPollWidget, plus z.preprocess() on the backend to coerce empty strings to undefined. Also added pridecorner.ca to all nginx server blocks and added generate_nginx_configs() to config.sh so template-based configs are generated during setup. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
server {
|
||||
listen 80;
|
||||
server_name api.cmlite.org api.betteredmonton.org;
|
||||
server_name api.cmlite.org api.betteredmonton.org api.pridecorner.ca;
|
||||
add_header X-Frame-Options "SAMEORIGIN" always;
|
||||
|
||||
# Media API endpoints (must come BEFORE / for longest prefix match)
|
||||
|
||||
@@ -40,7 +40,7 @@ server {
|
||||
# Grafana — allows iframe embedding from admin (app.cmlite.org)
|
||||
server {
|
||||
listen 80;
|
||||
server_name grafana.cmlite.org grafana.betteredmonton.org;
|
||||
server_name grafana.cmlite.org grafana.betteredmonton.org grafana.pridecorner.ca;
|
||||
add_header Content-Security-Policy "frame-ancestors 'self' app.cmlite.org app.betteredmonton.org" always;
|
||||
|
||||
location / {
|
||||
@@ -59,7 +59,7 @@ server {
|
||||
# NocoDB (data browser) — allows iframe embedding from admin
|
||||
server {
|
||||
listen 80;
|
||||
server_name db.cmlite.org db.betteredmonton.org;
|
||||
server_name db.cmlite.org db.betteredmonton.org db.pridecorner.ca;
|
||||
add_header Content-Security-Policy "frame-ancestors 'self' app.cmlite.org app.betteredmonton.org" always;
|
||||
|
||||
location / {
|
||||
@@ -76,7 +76,7 @@ server {
|
||||
# Listmonk
|
||||
server {
|
||||
listen 80;
|
||||
server_name listmonk.cmlite.org listmonk.betteredmonton.org;
|
||||
server_name listmonk.cmlite.org listmonk.betteredmonton.org listmonk.pridecorner.ca;
|
||||
add_header X-Frame-Options "SAMEORIGIN" always;
|
||||
|
||||
location / {
|
||||
@@ -92,7 +92,7 @@ server {
|
||||
# MkDocs — allows iframe embedding from admin
|
||||
server {
|
||||
listen 80;
|
||||
server_name docs.cmlite.org docs.betteredmonton.org;
|
||||
server_name docs.cmlite.org docs.betteredmonton.org docs.pridecorner.ca;
|
||||
add_header Content-Security-Policy "frame-ancestors 'self' app.cmlite.org app.betteredmonton.org" always;
|
||||
|
||||
location / {
|
||||
@@ -207,7 +207,7 @@ server {
|
||||
# Rocket.Chat (team chat) — allows iframe embedding from admin
|
||||
server {
|
||||
listen 80;
|
||||
server_name chat.cmlite.org chat.betteredmonton.org;
|
||||
server_name chat.cmlite.org chat.betteredmonton.org chat.pridecorner.ca;
|
||||
add_header Content-Security-Policy "frame-ancestors 'self' app.cmlite.org app.betteredmonton.org" always;
|
||||
|
||||
location / {
|
||||
@@ -246,7 +246,7 @@ server {
|
||||
# Jitsi Meet (video conferencing) — allows iframe embedding from admin (app.cmlite.org)
|
||||
server {
|
||||
listen 80;
|
||||
server_name meet.cmlite.org meet.betteredmonton.org;
|
||||
server_name meet.cmlite.org meet.betteredmonton.org meet.pridecorner.ca;
|
||||
add_header Content-Security-Policy "frame-ancestors 'self' app.cmlite.org app.betteredmonton.org" always;
|
||||
|
||||
location / {
|
||||
@@ -366,7 +366,7 @@ server {
|
||||
# Admin GUI — app subdomain
|
||||
server {
|
||||
listen 80;
|
||||
server_name app.cmlite.org app.betteredmonton.org;
|
||||
server_name app.cmlite.org app.betteredmonton.org app.pridecorner.ca;
|
||||
add_header X-Frame-Options "SAMEORIGIN" always;
|
||||
|
||||
# Social media bot detection for OG meta tags
|
||||
@@ -513,7 +513,7 @@ server {
|
||||
# Root domain — routes to admin GUI (supports custom DOMAIN env var)
|
||||
server {
|
||||
listen 80;
|
||||
server_name betteredmonton.org;
|
||||
server_name betteredmonton.org pridecorner.ca;
|
||||
add_header X-Frame-Options "SAMEORIGIN" always;
|
||||
|
||||
location / {
|
||||
|
||||
Reference in New Issue
Block a user