Skip to content

Development#20

Merged
ofcskn merged 12 commits into
mainfrom
development
May 19, 2026
Merged

Development#20
ofcskn merged 12 commits into
mainfrom
development

Conversation

@ofcskn

@ofcskn ofcskn commented May 19, 2026

Copy link
Copy Markdown
Owner

No description provided.

ofcskn and others added 11 commits May 19, 2026 22:38
Build (vite):
- Add manualChunks splitting vendor code into 5 independent chunks
  (vendor-react, vendor-supabase, vendor-i18n, vendor-query, vendor-qrcode)
- Add rollup-plugin-visualizer (activated via ANALYZE=true env flag)
- Add optimizeDeps.include for faster dev cold starts

Routing (app.tsx):
- Convert all 6 pages to React.lazy + Suspense for route-based code splitting
- Wrap app in QueryClientProvider (staleTime 30s, gcTime 5min globally)

Gallery rendering (GalleryPage.tsx):
- Extract GalleryCard as React.memo with custom comparator — prevents
  full list re-renders on unrelated state changes
- Add loading="lazy" decoding="async" + fade-in skeleton on preview images

3D viewer (ModelViewer.tsx):
- Add lazy prop using IntersectionObserver (rootMargin: 200px)
  — model-viewer WebGL canvas only mounts when card enters viewport
  — prevents GPU OOM with 50+ gallery items

Data layer (repositories):
- Add .limit(200) to conversion.repository findByOwnerId
- Add .limit(500) to product.repository findByOwnerId
- Replace all JS aggregation in events.repository with supabase.rpc() calls
  (getStatsForOwner, getHotspotStatsForOwner, getAvgSessionDuration)
- Replace 2-query + JS slice in embed-views.repository with single RPC call

Database (migration 016):
- CREATE INDEX CONCURRENTLY idx_events_owner_type_created (owner_id, event_type, created_at DESC)
- CREATE INDEX CONCURRENTLY idx_generation_feedback_conversion (conversion_id)
- RPC functions: get_stats_for_owner, get_hotspot_stats_for_owner,
  get_avg_session_duration, get_embed_domains_for_owner

Cache (use-gallery.ts):
- Migrate useGallery to TanStack Query useQuery + useMutation
  — re-navigation to gallery returns instantly from cache
  — optimistic cache update on product delete

UI (Header.tsx, ProductDetailPage.tsx, UploadPage.tsx):
- useMemo for getThemeClasses in HeaderRoot
- loading="lazy" decoding="async" on all remaining raw img tags

Deps:
- Add @tanstack/react-query ^5.100.11
- Add @tanstack/react-virtual ^3.13.24
- Add rollup-plugin-visualizer ^7.0.1

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Introduces the full brand identity backend: IBrandRepository interface and
BrandData/BrandLogoData/BrandColorData domain types in libs/core; Supabase
implementation in libs/data with generated database types for brands,
brand_logos, and brand_colors; migration 017 that creates those tables with
RLS owner-scoped policies; and a new /api/brand/scrape Worker endpoint that
fetches a website URL and extracts brand name, description, logo, and brand
colors from its HTML head.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds the full brand identity UI: BrandPage with logo upload, color palette
management, and website-based brand scraping; useBrand hook encapsulating
React Query fetch/mutate logic; brand state wired into AppContext; brand
API methods in merchant-api-client; route added to app.tsx; English and
Turkish i18n keys for all brand UI strings.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Rewrites README with full architecture diagram, tech stack table, quick-start
guide, environment variable reference, Supabase setup, API reference, and
deployment sections. Adds ARCHITECTURE.md, CHANGELOG.md, CODE_OF_CONDUCT.md,
CONTRIBUTING.md, DISCLAIMER.md, ROADMAP.md, SUPPORT.md, GitHub issue
templates, PR template, and four reference docs (ai-integration, deployment,
env-variables, supabase-schema). Expands SECURITY.md with security practices,
known limitations, and coordinated disclosure process.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds commitlint with conventional-commits config and husky hooks (commit-msg
validation, branch name enforcement). Switches Vite manualChunks from static
object to function form for better chunk splitting. Adds skipTypeCheck and
declaration:false to the API build target. Adds MIT LICENSE, changesets
config, and smart-commit skill definitions for agents/claude/cursor. Updates
memory index.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented May 19, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
minimalblock e5e4bbe Commit Preview URL

Branch Preview URL
May 19 2026, 08:36 PM

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented May 19, 2026

Copy link
Copy Markdown

Deploying minimalblock with  Cloudflare Pages  Cloudflare Pages

Latest commit: e5e4bbe
Status: ✅  Deploy successful!
Preview URL: https://a0183365.minimalblock.pages.dev
Branch Preview URL: https://development.minimalblock.pages.dev

View logs

@ofcskn
ofcskn merged commit 8684480 into main May 19, 2026
6 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant