berrypod/lib/berrypod
jamey 76cff0494e add forgiving API key validation with inline errors
Add KeyValidation module for format-checking API keys before
attempting connections. Auto-strips whitespace, detects common
mistakes (e.g. pasting a Stripe publishable key), and returns
helpful error messages.

Inline field errors across all three entry points:
- Setup wizard: provider + Stripe keys
- Admin provider form: simplified to single Connect button
- Email settings: per-field errors instead of flash toasts

Also: plain text inputs for all API keys (not password fields),
accessible error states (aria-invalid, role=alert, thick border,
bold text), inner_block slot declaration on error component.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 12:17:56 +00:00
..
accounts rename project from SimpleshopTheme to Berrypod 2026-02-18 21:23:15 +00:00
activity_log add activity log with order timeline and global feed 2026-03-01 15:09:08 +00:00
analytics replace analytics double-count prevention with buffer supersede 2026-02-23 14:48:50 +00:00
clients add Printify client test coverage with Req.Test stubs 2026-02-22 10:35:24 +00:00
images cache settings, categories, and media in ETS to cut per-request DB queries 2026-03-02 16:25:29 +00:00
mailer add custom Swoosh adapter for MailerSend 2026-02-21 23:48:06 +00:00
media add admin media library with image management and block picker integration 2026-02-27 22:20:51 +00:00
mockups rename project from SimpleshopTheme to Berrypod 2026-02-18 21:23:15 +00:00
newsletter add pagination across all admin and shop views 2026-03-01 09:42:34 +00:00
orders add activity log with order timeline and global feed 2026-03-01 15:09:08 +00:00
pages fix content image double-suffix, clean up page defaults and editor UX 2026-03-03 00:56:01 +00:00
payments add setup onboarding page, dashboard launch checklist, provider registry 2026-02-20 00:34:06 +00:00
products add URL redirects with ETS-cached plug, broken URL tracking, and admin UI 2026-02-26 14:14:14 +00:00
providers add setup onboarding page, dashboard launch checklist, provider registry 2026-02-20 00:34:06 +00:00
redirects add dead link monitoring for outgoing content links 2026-03-01 13:00:59 +00:00
settings extract site_name and site_description from theme settings into standalone settings 2026-03-03 14:52:31 +00:00
shipping rename project from SimpleshopTheme to Berrypod 2026-02-18 21:23:15 +00:00
stripe fix setup flow stale state and Stripe URL issues 2026-02-22 16:51:44 +00:00
sync cache settings, categories, and media in ETS to cut per-request DB queries 2026-03-02 16:25:29 +00:00
theme add WCAG-compliant input border contrast across all moods 2026-03-04 00:48:08 +00:00
webhooks rename project from SimpleshopTheme to Berrypod 2026-02-18 21:23:15 +00:00
workers add dead link monitoring for outgoing content links 2026-03-01 13:00:59 +00:00
accounts.ex improve setup UX: password field, setup hook, checklist banners, theme tweaks 2026-03-03 17:41:08 +00:00
activity_log.ex hide system events by default on activity page 2026-03-02 08:32:06 +00:00
analytics.ex add analytics-powered 404 monitoring with FTS5 auto-resolve 2026-02-26 16:08:25 +00:00
application.ex fix ETS cache resilience, skip heavy columns from queries 2026-03-02 21:44:32 +00:00
cart.ex rename project from SimpleshopTheme to Berrypod 2026-02-18 21:23:15 +00:00
cldr.ex rename project from SimpleshopTheme to Berrypod 2026-02-18 21:23:15 +00:00
contact_notifier.ex add no-JS contact form and noscript banner 2026-02-28 18:57:51 +00:00
dev_reset.ex improve setup UX: password field, setup hook, checklist banners, theme tweaks 2026-03-03 17:41:08 +00:00
exchange_rate.ex rename project from SimpleshopTheme to Berrypod 2026-02-18 21:23:15 +00:00
key_validation.ex add forgiving API key validation with inline errors 2026-03-04 12:17:56 +00:00
legal_pages.ex add legal page editor integration and media library polish 2026-02-28 17:55:02 +00:00
mailer.ex gate magic link login on verified email delivery 2026-02-21 22:25:27 +00:00
media.ex fix ETS cache resilience, skip heavy columns from queries 2026-03-02 21:44:32 +00:00
newsletter.ex add pagination across all admin and shop views 2026-03-01 09:42:34 +00:00
orders.ex add pagination across all admin and shop views 2026-03-01 09:42:34 +00:00
pages.ex add dead link monitoring for outgoing content links 2026-03-01 13:00:59 +00:00
pagination.ex add pagination across all admin and shop views 2026-03-01 09:42:34 +00:00
products.ex share provider connection logic between setup wizard and providers form 2026-03-03 15:19:17 +00:00
providers.ex rename project from SimpleshopTheme to Berrypod 2026-02-18 21:23:15 +00:00
redirects.ex fix ETS cache resilience, skip heavy columns from queries 2026-03-02 21:44:32 +00:00
release.ex extract site_name and site_description from theme settings into standalone settings 2026-03-03 14:52:31 +00:00
repo.ex rename project from SimpleshopTheme to Berrypod 2026-02-18 21:23:15 +00:00
search.ex optimise product queries: skip image blobs, limit listing preloads, add composite index 2026-03-02 17:29:15 +00:00
secrets.ex rename project from SimpleshopTheme to Berrypod 2026-02-18 21:23:15 +00:00
settings.ex improve setup UX: password field, setup hook, checklist banners, theme tweaks 2026-03-03 17:41:08 +00:00
setup.ex extract site_name and site_description from theme settings into standalone settings 2026-03-03 14:52:31 +00:00
shipping.ex extract site_name and site_description from theme settings into standalone settings 2026-03-03 14:52:31 +00:00
vault.ex rename project from SimpleshopTheme to Berrypod 2026-02-18 21:23:15 +00:00
webhooks.ex rename project from SimpleshopTheme to Berrypod 2026-02-18 21:23:15 +00:00