Fusion
cc251d207b
fix(FN-349): exclude spec files from tsc build
...
Fusion-Task-Id: FN-349
Fusion-Task-Lineage: 6221f636-1ede-4ebb-b8b2-b3abb3b252c3
2026-05-14 05:21:21 +00:00
Fusion
1039812a8f
feat(FN-349): add vitest tests for @sase/config and @sase/shared packages
...
Fusion-Task-Id: FN-349
Fusion-Task-Lineage: 6221f636-1ede-4ebb-b8b2-b3abb3b252c3
2026-05-14 05:21:21 +00:00
Fusion
561b02b3d2
feat(FN-343): remove lingering iyzico references after Stripe migration (+1 more)
...
Commits merged:
- chore(FN-343): remove lingering iyzico references from docs, config, and scripts
- feat(FN-343): remove lingering iyzico references after Stripe migration
Files changed:
CLAUDE.md | 10 +++++-----
README.md | 2 +-
apps/api/src/database/schema/core.ts | 1 +
apps/web/src/messages/en.json | 1 -
apps/web/src/messages/tr.json | 1 -
apps/web/src/routes/dashboard/billing.tsx | 6 +++---
docker-compose.coolify.yml | 5 ++---
docs/INDEX.md | 27 ++++++++++++-------------
knowledge.md | 30 ++++++++++++++--------------
packages/shared/src/constants/error-codes.ts | 1 -
packages/shared/src/index.ts | 1 -
packages/shared/src/types/payment.ts | 12 +----------
scripts/fn342-pw-verify.mjs | 2 +-
scripts/validate-env.sh | 3 +--
14 files changed, 43 insertions(+), 59 deletions(-)
Fusion-Task-Id: FN-343
2026-05-14 02:31:42 +00:00
Fusion
03e401b133
feat(FN-217): lazy-load canvas-confetti via dynamic import to avoid bloating subscription bundle (+2 more)
...
Sync dev → Gitea / Mirror dev to Gitea (push) Has been cancelled
Commits merged:
- fix(FN-217): fix import sort order (lint)
- fix(FN-217): convert @sase/shared to emit ESM for Vite/Rollup build compatibility
- fix(FN-217): lazy-load canvas-confetti via dynamic import to avoid bloating subscription bundle
Files changed:
apps/web/src/routes/dashboard/subscription/index.tsx | 13 +++++++------
apps/web/src/routes/pricing.tsx | 2 +-
packages/shared/package.json | 5 +++--
packages/shared/tsconfig.json | 4 ++--
4 files changed, 13 insertions(+), 11 deletions(-)
Fusion-Task-Id: FN-217
2026-05-12 22:57:32 +00:00
Fusion
e97aab6fe4
feat(FN-214): extract brandLimit 999 magic number to FULL_PLAN_BRAND_LIMIT constant in @sase/shared (+1 more)
...
Sync dev → Gitea / Mirror dev to Gitea (push) Has been cancelled
Commits merged:
- fix(FN-214): add missing import for FULL_PLAN_BRAND_LIMIT in subscription/index.tsx
- feat(FN-214): extract brandLimit 999 magic number to FULL_PLAN_BRAND_LIMIT constant in @sase/shared
Files changed:
apps/web/src/routes/dashboard/subscription/index.tsx | 16 +++++++++++-----
apps/web/src/routes/pricing.tsx | 3 ++-
packages/shared/src/constants/plans.ts | 3 +++
packages/shared/src/index.ts | 2 +-
4 files changed, 17 insertions(+), 7 deletions(-)
Fusion-Task-Id: FN-214
2026-05-12 22:21:14 +00:00
Fusion
0f80f5292b
feat(FN-192): DB schema + Migration (+7 more)
...
Sync dev → Gitea / Mirror dev to Gitea (push) Has been cancelled
Commits merged:
- feat(FN-192): complete Step 8 — Documentation & Delivery
- feat(FN-192): complete Step 7 — Testing & Verification
- feat(FN-192): complete Step 6 — i18n keys replace stage with changeType
- feat(FN-192): complete Step 5 — ChangelogTab rename stage to changeType
- feat(FN-192): complete Step 4 — Badge component rename stage to changeType
- feat(FN-192): complete Step 3 — API Service + Controller Spec
- feat(FN-192): complete Step 2 — Shared Zod schemas + type exports + DTO
- feat(FN-192): complete Step 1 — DB schema + Migration
Files changed:
apps/api/drizzle/0001_charming_quicksand.sql | 2 +
apps/api/drizzle/meta/0001_snapshot.json | 5167 ++++++++++++++++++++
apps/api/drizzle/meta/_journal.json | 9 +-
.../api/src/changelog/changelog.controller.spec.ts | 2 +-
apps/api/src/changelog/changelog.dto.ts | 2 +-
apps/api/src/changelog/changelog.service.spec.ts | 4 +-
apps/api/src/changelog/changelog.service.ts | 4 +-
apps/api/src/database/schema/core.ts | 2 +-
apps/web/src/components/settings/changelog-tab.tsx | 11 +-
apps/web/src/messages/en.json | 8 +-
apps/web/src/messages/tr.json | 8 +-
docs/INDEX.md | 4 +-
packages/shared/src/index.ts | 4 +-
packages/shared/src/schemas/changelog.ts | 8 +-
packages/shared/src/types/changelog.ts | 2 +-
packages/ui/src/badge.tsx | 12 +-
16 files changed, 5215 insertions(+), 34 deletions(-)
Fusion-Task-Id: FN-192
2026-05-12 06:13:34 +00:00
Fusion
85ebd35048
feat(FN-188): add Changelog tab to dashboard settings
...
Sync dev → Gitea / Mirror dev to Gitea (push) Has been cancelled
Squash-recovery of fusion/fn-188 onto dev — original branch was based on
main (dccd4fa ) due to baseBranch=None drift in Fusion settings; rebase
onto dev surfaced unrelated main-only commits (EMEX/PL24/Corgi) as false
conflicts. This commit applies only FN-188's 23-file changelog patch.
- apps/api: ChangelogModule (controller, service, DTO, spec, schema)
- apps/web: ChangelogTab (timeline + accordion), useChangelog hook, i18n
- packages/shared: changelog Zod schemas + types
- packages/ui: Accordion component + Badge stage variant
- docs/INDEX.md: changelog feature documented
Lint, typecheck, all 169 api tests + 2 web tests pass.
2026-05-11 20:05:16 +00:00
Fusion
f4fea1e429
feat(FN-094): add comment line for deployment verification
...
Sync dev → Gitea / Mirror dev to Gitea (push) Has been cancelled
- Added a comment line to main.ts for deployment verification purposes
2026-05-11 02:07:03 +00:00
Sase Dev
f1a27810db
feat: add parts catalogs integration, catalog prefetch worker, and vehicle select modal
...
Integrate external parts catalogs API with auth service, add BullMQ-based
catalog prefetch worker for background data caching, expand vehicles service
with shared vehicle support, and add vehicle select modal to frontend.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-20 18:14:36 +00:00
Sase Dev
ffa9781eb9
fix: auth login flow, Next.js 16 upgrade, ESM/CJS compatibility
...
- Upgrade Next.js 15 → 16.1 and rename middleware.ts → proxy.ts
- Fix ESM/CJS compatibility: remove "type": "module" from config/shared packages, switch to commonjs
- Fix Better Auth integration: text IDs for sessions/accounts/verifications, wildcard route @All("**"), proper password hash for admin seed
- Fix auth-client to use window.location.origin instead of hardcoded localhost:4000
- Fix api-client, forgot-password, reset-password to use relative /api/ URLs (via Next.js proxy)
- Fix TimeoutInterceptor DI by using useValue instead of useClass
- Add Playwright E2E login tests for localhost and v2.sase.tr
- Add missing UI components: vin-input, vehicle-card, category-tree
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-12 02:54:15 +00:00
Sase Dev
56a3c8bfaa
feat: sase.tr v2 full application implementation
...
Complete rewrite of sase.tr VIN lookup platform with modern stack:
Backend (NestJS 10 + Drizzle ORM + PostgreSQL + Redis + BullMQ):
- 34 DB models (core + PL24 + EMEX schemas)
- Auth via Better Auth (email/password + social)
- Brands, Plans, Subscriptions, Payments (iyzico + EFT)
- VIN decode orchestration (Corgi + PL24 + EMEX + NHTSA)
- Interactive schema viewer backend (MinIO storage)
- EMEX scraping integration (Puppeteer + BullMQ workers)
- Translation module (EN→TR automotive dictionary)
- Admin dashboard API (stats, user mgmt, payment approval)
- Rate limiting, Helmet security, file upload validation
Frontend (Next.js 15 + Tailwind v4 + shadcn/ui + TanStack Query + Zustand):
- 20 routes: auth, dashboard, VIN search, schema viewer, admin
- Interactive schema viewer with zoom/pan/hotspot highlighting
- Subscription management with brand selector
- Payment flow (iyzico 3D Secure + EFT with receipt upload)
- i18n support (TR/EN)
- Error boundaries, loading skeletons, 404 page
Infrastructure:
- 85 tests (52 backend + 33 frontend, Vitest)
- CI/CD (GitHub Actions: lint, typecheck, test, build, deploy)
- Zero-downtime deploy script (PM2)
- Env validation script
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-12 02:03:56 +00:00