Commit Graph
27 Commits
Author SHA1 Message Date
westfarn bd6aa4b3f3 Update public About bio, Wheaton address, and headshot.
CI / test (pull_request) Successful in 14s
Closes #1 — refresh About copy and photo, surface the Butterfield Rd office on Home/Contact/nav, and align service-area defaults with Chicago's western suburbs.
2026-08-20 05:05:16 -05:00
westfarn 30ce58e610 Add Meta Facebook Login OAuth and social media attach/publish.
Deploy Beta / unit-tests (push) Successful in 14s
Deploy Beta / docker (push) Successful in 17s
Deploy Beta / deploy-beta (push) Successful in 1m32s
Connect Facebook and Instagram via shared portal Meta App credentials (Facebook Login for Business), and let compose attach DB-stored images/videos with live preview and platform publish.
2026-08-11 14:45:23 -05:00
westfarn c8dacd0d94 Reject invalid SOCIAL_TOKEN_ENCRYPTION_KEY instead of 500ing.
Deploy Beta / unit-tests (push) Successful in 13s
Deploy Beta / docker (push) Successful in 18s
Deploy Beta / deploy-beta (push) Successful in 1m39s
Placeholder Fernet values like replace-with-fernet-key now raise a clear SocialCryptoError in the portal, and prod env examples no longer ship a fake key.
2026-08-11 07:59:36 -05:00
westfarn 44d300271a Add LinkedIn OAuth connect with portal-saved app credentials.
Deploy Beta / unit-tests (push) Successful in 12s
Deploy Beta / docker (push) Successful in 17s
Deploy Beta / deploy-beta (push) Successful in 1m41s
Replace manual token paste with Authorization Code flow; store Client ID/secret in the DB from the social accounts UI and surface a copyable callback URL for LinkedIn Auth setup.
2026-08-11 07:52:10 -05:00
westfarn 2643ba7a96 Require a complete PCM return address before placing orders.
Deploy Beta / unit-tests (push) Successful in 14s
Deploy Beta / docker (push) Successful in 17s
Deploy Beta / deploy-beta (push) Successful in 1m40s
Empty PCM_RETURN_ADDRESS was sending SITE_NAME as firstName with blank street fields, which PCM rejects with 400; validate early and wire PCM env through compose.
2026-08-11 05:52:39 -05:00
westfarn 7fb5317308 Fix PCM postcard orders to use POST /order/postcard.
Deploy Beta / unit-tests (push) Successful in 12s
Deploy Beta / docker (push) Successful in 18s
Deploy Beta / deploy-beta (push) Successful in 1m38s
Plain POST /order 404s at PCM; product-specific path is required for sandbox and production sends.
2026-08-10 14:47:10 -05:00
westfarn dde5b96c62 Fix SMTP2GO SMS send payload for current API schema.
Deploy Beta / unit-tests (push) Successful in 12s
Deploy Beta / docker (push) Successful in 17s
Deploy Beta / deploy-beta (push) Successful in 1m14s
Use destination/content with E.164 numbers and surface provider error bodies so 400s are actionable.
2026-08-10 12:56:18 -05:00
westfarn 4becb90d66 Include file and line number in application log formats.
Deploy Beta / unit-tests (push) Successful in 13s
Deploy Beta / docker (push) Successful in 17s
Deploy Beta / deploy-beta (push) Successful in 1m37s
Makes Grafana and container logs easier to trace back to the emitting source line.
2026-08-10 12:43:58 -05:00
westfarn ee28dcabab Unify SMTP2GO email and SMS into one webhook URL.
Deploy Beta / unit-tests (push) Successful in 13s
Deploy Beta / docker (push) Successful in 18s
Deploy Beta / deploy-beta (push) Successful in 1m38s
Classify payloads on /webhooks/smtp2go/ so one SMTP2GO webhook covers both channels under the 10-webhook limit; keep /email/ and /sms/ as aliases and harden SMS event matching.
2026-08-10 11:06:37 -05:00
westfarn f7f3174e1c Track email opens and clicks on recipient status.
Deploy Beta / unit-tests (push) Successful in 13s
Deploy Beta / docker (push) Successful in 17s
Deploy Beta / deploy-beta (push) Successful in 1m39s
SMTP2GO open/click webhooks now advance Message to opened/clicked, and the campaign engagement chart uses live stats instead of placeholder bars.
2026-08-10 10:24:26 -05:00
westfarn 8680c082fe Improve campaign personalization and contact duplicate handling.
Deploy Beta / unit-tests (push) Successful in 13s
Deploy Beta / docker (push) Successful in 17s
Deploy Beta / deploy-beta (push) Successful in 1m44s
Add merge tags for email/SMS, paginated removable recipients, PCM event panels for postcard campaigns, and a portal modal when phone/address matches an existing contact.
2026-08-10 09:47:04 -05:00
westfarn 58258f2875 Instrument webhooks, fix compose layout, and ship social connect.
Deploy Beta / unit-tests (push) Successful in 10s
Deploy Beta / docker (push) Successful in 15s
Deploy Beta / deploy-beta (push) Successful in 1m40s
Add Grafana-friendly webhook request logging, Quill overflow fix, New Contact flow, in-place postcard campaign compose, and functional social account connect + composer.
2026-08-10 05:15:49 -05:00
westfarn b3a6ee0cd0 Improve outreach compose, contact merge, and email assets.
Deploy Beta / unit-tests (push) Successful in 10s
Deploy Beta / docker (push) Successful in 14s
Deploy Beta / deploy-beta (push) Successful in 1m40s
Add a Quill email editor with DB-backed image storage, selectable PCM designs, postcard defaults for addressed contacts, and merge-by-phone/address on the contact form.
2026-08-09 10:42:22 -05:00
westfarn d3db6eed76 Document compose-safe DEFAULT_FROM_EMAIL quoting.
Deploy Beta / docker (push) Successful in 14s
Deploy Beta / unit-tests (push) Successful in 8s
Deploy Beta / deploy-beta (push) Successful in 1m39s
Docker Compose .env rejects "Name" <addr>; prefer a bare address or one pair of quotes around the whole From value.
2026-08-09 07:23:47 -05:00
westfarn 5b53ef376d Show SITE_NAME as the email From display name.
Deploy Beta / unit-tests (push) Successful in 9s
Deploy Beta / docker (push) Successful in 14s
Deploy Beta / deploy-beta (push) Failing after 1m20s
Bare DEFAULT_FROM_EMAIL addresses were rendering as "noreply" in inboxes; wrap them as "Monica Dhillon" <address>.
2026-08-09 06:54:20 -05:00
westfarn aed84b6e11 Fix email send crash when worker lacks staticfiles manifest.
Deploy Beta / unit-tests (push) Failing after 25s
Deploy Beta / docker (push) Skipped
Deploy Beta / deploy-beta (push) Skipped
Fall back to an unhashed logo URL if ManifestStaticFilesStorage misses, and run collectstatic in the worker entrypoint.
2026-08-09 06:46:07 -05:00
westfarn d830f07757 Send branded HTML emails and harden SMTP2GO webhooks.
Deploy Beta / docker (push) Successful in 15s
Deploy Beta / deploy-beta (push) Successful in 1m36s
Deploy Beta / unit-tests (push) Successful in 9s
Fix campaign stuck on sending under async queue, and stop UUID ValidationError when SMTP2GO tests send "Headers Unavailable".
2026-08-09 06:37:20 -05:00
westfarn 617bda3e8b Fix dj_queue notify errors by switching to psycopg3.
Deploy Beta / unit-tests (push) Successful in 9s
Deploy Beta / docker (push) Successful in 17s
Deploy Beta / deploy-beta (push) Successful in 3m51s
dj_queue expects connection.notifies() (psycopg3); psycopg2 exposed notifies as a list and caused TypeError loops in the worker.
2026-08-09 06:09:26 -05:00
westfarn 7496af72d0 Fix PCM auth: login for API token and multi webhook secrets.
Deploy Beta / unit-tests (push) Successful in 8s
Deploy Beta / docker (push) Successful in 14s
Deploy Beta / deploy-beta (push) Successful in 1m34s
PCM DirectMail v3 needs POST /auth/login (apiKey+apiSecret) before design/order calls; accept each subscription's copy-only signature secret via PCM_WEBHOOK_SECRETS.
2026-08-09 06:02:32 -05:00
westfarn 1ef6624a8b Add Terms of Service and tighten mobile public polish.
Deploy Beta / unit-tests (push) Successful in 9s
Deploy Beta / docker (push) Successful in 13s
Deploy Beta / deploy-beta (push) Successful in 1m10s
Route Cookie Preferences to /terms/, link analytics banner there, teal mobile nav, and give the contact form more side padding on small screens.
2026-08-08 09:12:11 -05:00
westfarn 7f3bac7da3 Improve public SEO and align chrome with EXIT Realty teal.
Deploy Beta / unit-tests (push) Successful in 8s
Deploy Beta / docker (push) Successful in 13s
Deploy Beta / deploy-beta (push) Successful in 1m0s
Add meta/canonical/OG, robots/sitemap, and contact-form admin email; restyle consent, icons, and scroll-top away from theme blue.
2026-08-08 08:50:59 -05:00
westfarn 40f2555ee9 Fix collectstatic crash from missing CSS-referenced images.
Deploy Beta / unit-tests (push) Successful in 9s
Deploy Beta / docker (push) Successful in 14s
Deploy Beta / deploy-beta (push) Successful in 47s
Whitenoise Manifest storage failed post-processing style.css when bg-pattern-boxed.png and related assets were absent, so containers never reached gunicorn.
2026-08-08 07:55:14 -05:00
westfarn 1f7d78de64 Add Django site, Docker packaging, and beta/prod Gitea deploys.
Deploy Beta / unit-tests (push) Successful in 9s
Deploy Beta / docker (push) Successful in 17s
Deploy Beta / deploy-beta (push) Successful in 2m31s
Unignore site/ (was blocked by mkdocs /site rule), add compose/Docker/uv tooling, and split deploys so push to main goes to beta while prod stays manual.
2026-08-08 07:32:55 -05:00
westfarn 7dca98bbf6 site update to match styling 2026-07-16 06:04:22 -05:00
westfarn e9be65df8c updates 2026-07-16 05:48:12 -05:00
westfarn c36d46c3b3 Add project README and architecture/design doc 2026-07-14 20:24:42 -05:00
westfarn 694906bc78 Initial commit 2026-07-14 18:19:01 -07:00