Về trang chủ

Nhật ký thay đổi

Tất cả thay đổi đáng chú ý của Synkao, sắp xếp theo phiên bản.

v0.6.1

2026-05-11

Điểm nổi bật

  • Merchize webhook now correctly refreshes order cost on tracking updates

#Sửa lỗi

  • Merchize fulfillment webhook: order cost is now synced when tracking arrives (previously stayed at $0.00 even after the order completed)

v0.6.0

2026-05-10

Điểm nổi bật

  • Base Cost Flow v2 — fulfillment-level cost tracking with webhook + manual sync
  • Webhook auto-close order on tracking events with forced cost re-sync
  • Merchize GetOrder v2 on documented order-detail endpoint

+Thêm mới

  • Manual cost sync endpoint per fulfillment provider with 10s-debounce sync button
  • "Awaiting cost from Merchize" hint shown until provider returns final cost
  • Timeline events: cost_synced_from_provider, pushed_to_provider, push_failed, transitioned_to_producing
  • Webhook auto-closes order and force re-syncs cost on tracking updates
  • Virtual "Unassigned" column for orphan design tasks with toast warning

~Thay đổi

  • Push order now records fulfillment reference; cost arrives later via webhook or manual sync
  • Fulfill button label is now provider-aware on order detail
  • Merchize GetOrder switched to documented order-detail endpoint

#Sửa lỗi

  • Hardened cost-sync, push-failure recovery, and IDOR checks on fulfillment endpoints
  • BulkAssign N+1 eliminated; auto-assigns first column on workspace switch

-Loại bỏ

  • Per-item variant_cost / base_cost columns (cost now tracked at fulfillment level)

v0.5.2

2026-04-29

Điểm nổi bật

  • Dashboard surfaces live order counts and design backlog stats
  • snake_case field naming remediation across wire types (phases 0-3)

+Thêm mới

  • Home dashboard fetches live order status breakdown and design backlog summary with skeleton states

#Sửa lỗi

  • snake_case field corrections across 14 wire types (B1-B11) with CI guards to prevent regression

v0.5.1

2026-04-28

Điểm nổi bật

  • snake_case field naming unified end-to-end (BE + FE)
  • Merchize address validation gate prevents silent push failures
  • Hub members can now manage sales-hub resources

~Thay đổi

  • snake_case unification across DTOs, API responses, and FE consumers (phases 1-7)
  • Order status auto-transitions pending → designing on first design upload
  • Docs reorganized into project/architecture/standards/journals subfolders

#Sửa lỗi

  • Hub members (non-owners) can manage sales orders, fulfill units, and FUPs within their hub
  • Merchize address validation returns HTTP 422 pre-push when required fields missing
  • Merchize shipping JSON keys corrected (full_name, postcode) with 3-tier phone fallback

v0.5.0

2026-04-23

Điểm nổi bật

  • Multi-provider fulfillment architecture with Merchize integration
  • Hub design presets with quick-add to FUP
  • Explicit variant resolution with attribute matching

+Thêm mới

  • Multi-provider fulfillment adapter layer — Merchize integration, catalog sync, webhook receiver
  • Hub design presets with quick-add to FUP and design position autocomplete
  • DesignPositionGrid shared component with grid layout and upload/view modes
  • Cost price tracking with batch update and Merchize metadata in order detail
  • Fulfillment sync status tracking per order
  • Share/copy-link button in task detail drawer
  • Auto-transition order status to refunded on ecom refund webhook

~Thay đổi

  • OrderItemCard refactored to 2-column layout with ecom/fulfillment zones
  • FupCard compact horizontal design with FU combobox selector
  • Design mapping collapsed from 3-layer to single-layer FUP position key
  • ExternalData removed from domain model — consolidated into DTO response builder

#Sửa lỗi

  • HMAC empty secret bypass in webhook verification
  • Cascade soft-delete of fulfillment unit clears order references
  • Variant SKU resolution from catalog ExternalData for Merchize provider
  • Infinite useEffect loop in ManualVariantConfig component

!Bảo mật

  • HMAC webhook verification hardened against empty secret bypass
  • Webhook URL builder utility with input validation

v0.4.0

2026-04-09

Điểm nổi bật

  • Shopify integration — OAuth connect, order sync, GDPR webhooks
  • Task timeline with sales order event tracking
  • Upload progress bars with image preview generation

+Thêm mới

  • Shopify OAuth connect flow — redirect-based authorization with Redis state management
  • Shopify Custom App token input for direct API key connection
  • Shopify order sync via REST Admin API with pagination support
  • Shopify GDPR webhooks (customer data request, erasure) and app uninstall handler
  • Task timeline section — event tracking with sales order attribution in task detail drawer
  • Upload progress bars for task reference files and order design uploads
  • Preview image generation with presign/confirm flow for task attachments
  • Sync Orders button available for all store platforms, not just WooCommerce
  • Dynamic badges and tooltips for navigation menu items

~Thay đổi

  • Task card badges use compact time format with color coding on kanban board
  • Design image grid shows createdAt datetime strip with synced tooltip format
  • StoreName fallback in CSV export to match API response structure

#Sửa lỗi

  • Shopify webhook registration uses correct app client secret
  • Normalize shop_domain https prefix; return 400 on initiate errors
  • Use hubSlug from route params for OAuth return_url instead of window.location
  • Guard undefined file in upload loops for TypeScript strict mode
  • Timeline component display for sales order events with correct user attribution
  • Days badge uses Math.round to match date-fns rounding behavior

!Bảo mật

  • Database encryption for Shopify access tokens (migration 000010)
  • HMAC webhook verification for all Shopify webhook endpoints

v0.3.1

2026-03-31

Điểm nổi bật

  • Fix split order logic and sub-order delete
  • Cost column in sales CSV export

+Thêm mới

  • Cost column in sales CSV export for margin tracking
  • Show latest design file upload time on task card

~Thay đổi

  • Rename design status not_required → awaiting_task for clarity

#Sửa lỗi

  • Split order logic — correct sub-order creation and delete handling
  • Delete group button added; cap add-group action to item count

v0.3.0

2026-03-31

Điểm nổi bật

  • Split order with flat parent-child hierarchy
  • WooCommerce webhook reconciliation scheduler
  • Order stats in store list table
  • Docker dev stack with hot-reload

+Thêm mới

  • Split order — divide a single order into sub-orders with flat parent-child hierarchy; sub-orders are internal-only and link back to root WC order via parent_external_id
  • WC webhook reconciliation background scheduler to auto-repair webhook registrations
  • Order stats column on store list table for at-a-glance order health per store
  • Hub list items use Link component to support copy link and open-in-new-tab
  • Docker dev stack (docker-compose.dev) with api, web, and minio-init services

#Sửa lỗi

  • Sub-orders inherit store info and expose parent_external_id from root order
  • DB migration schema prefix and search_path in DB URL for PostgreSQL compatibility
  • deleteAttachment API path corrected to include /design prefix
  • Split child order store link uses parent externalId for correct WC URL
  • Navigate to orders list after split order completes instead of staying on dialog
  • Query key omits includeInactive param when undefined to prevent cache invalidation issues

v0.2.0

2026-03-26

Điểm nổi bật

  • Fulfill unit selector with 2-state card UI
  • Payment and shipping fields in order summary

+Thêm mới

  • Redesign FulfillUnitSelector to 2-state card UI (card in detail, bare select in list)
  • Change order notes section title to customer notes

#Sửa lỗi

  • Include payment_method_title, transaction_id, shipping_method_title in order response
  • Surface UpdateFromInput errors in sync job instead of swallowing
  • Display shipping method title in order summary card

v0.1.1

2026-03-25

#Sửa lỗi

  • Use raw WooCommerce payment_method slug without enum mapping
  • Block closing order when WC status is in terminal failure state

v0.1.0

2026-03-24 Initial Release

Điểm nổi bật

  • Multi-hub workspace for design & sales teams
  • WooCommerce order sync via HMAC webhooks
  • Kanban board with drag-and-drop
  • Docker deployment ready

+Thêm mới

  • Multi-hub authentication with JWT access/refresh tokens
  • Design Hub — Kanban board with drag-and-drop, task assignment, file attachments
  • Sales Hub — Order management with virtual scroll, status filters, timeline events
  • WooCommerce integration — auto-sync orders via HMAC-verified webhooks
  • CSV import & export for orders, costs, and tracking data
  • Store management with API integration
  • Global task board with date filter
  • Owner account setup flow
  • Docker and docker-compose configuration

!Bảo mật

  • Refresh token stored in HttpOnly cookie, access token in memory
  • CSRF protection via SameSite cookie attribute
  • HMAC-verified webhooks for WooCommerce sync