Full deployment history for this project.
Remove duplicate supplier auth checks after validation feedback Agent-Logs-Url: https://github.com/mbarbine/hot-chocolate-for-profit-webby/sessions/b067415e-17cf-470f-9e6b-0a2e0f254a3f Co-authored-by: mbarbine <3211492+mbarbine@users.noreply.github.com>
Integrate all open PR branches into merge-all branch Agent-Logs-Url: https://github.com/mbarbine/hot-chocolate-for-profit-webby/sessions/b067415e-17cf-470f-9e6b-0a2e0f254a3f Co-authored-by: mbarbine <3211492+mbarbine@users.noreply.github.com>
🛡️ Sentinel: [CRITICAL] Fix authorization bypass in supplier API Adds `INTERNAL_API_SECRET` authentication to the `/api/v1/suppliers/greens` POST endpoint to prevent unauthorized supplier order creation. This addresses a critical vulnerability caused by globally permissive CORS headers and missing handler-level authorization. Fixes: #1 (hypothetical) Security: Critical
🛡️ Sentinel: [CRITICAL] Fix missing authentication on supplier POST endpoint
🎨 Palette: Add aria-current to active category filters - Added `aria-current="page"` to the active category link in `components/shop-filters.tsx`. - This ensures screen readers correctly identify the currently selected filter.
🛡️ Sentinel: [HIGH] Fix missing authentication on supplier POST endpoint Adds a token validation check requiring the INTERNAL_API_SECRET for all requests to the POST /api/v1/suppliers/greens endpoint to prevent unauthorized actions (like fake order creation) via the publicly accessible API.
🎨 Palette: Add empty state accessibility and filter active states - Added `aria-hidden="true"` to purely decorative `ShoppingBag` icon in the checkout empty state. - Added `aria-current="page"` to the active category filter link in `components/shop-filters.tsx` to ensure selected state is conveyed to screen readers.
🎨 Palette: Add `aria-hidden` to decorative icons in buttons Added `aria-hidden="true"` to Lucide icons (Trash2, Minus, Plus, Check) that are nested inside buttons with existing `aria-label`s or next to descriptive text in `components/cart-drawer.tsx` and `components/product-details.tsx`. This improves accessibility by hiding redundant or purely decorative visual elements from screen readers. Co-authored-by: mbarbine <3211492+mbarbine@users.noreply.github.com>
Merge pull request #35 from mbarbine/palette-fix-product-card-nested-interactive-elements-4093087234102381072 🎨 Palette: Fix nested interactive elements in ProductCard
🎨 Palette: Fix nested interactive elements in ProductCard Co-authored-by: mbarbine <3211492+mbarbine@users.noreply.github.com>
Merge pull request #1 from mbarbine/v0/mbarbine-9f1c2578 Launch e-commerce platform with Stripe and multi-language support
Merge pull request #1 from mbarbine/v0/mbarbine-9f1c2578 Launch e-commerce platform with Stripe and multi-language support
feat: update API docs with new endpoints Enhance human-readable docs and update OpenAPI spec for v0.1.0. Co-authored-by: Michael Barbine <3211492+mbarbine@users.noreply.github.com>
feat: enhance About page for SEO and offline support Add SEO metadata, JSON-LD structured data, and local storage fallback Update version files and launch documentation for v0.1.0 Co-authored-by: Michael Barbine <3211492+mbarbine@users.noreply.github.com>
feat: redesign About/Story page for inspiring founder narrative Add ASCII art, timeline, principle cards, and partner spotlights. Co-authored-by: Michael Barbine <3211492+mbarbine@users.noreply.github.com>