Vue3 migration - #3
Merged
Merged
Conversation
…ustomer experience - createApp/Vuex4/Router4, Element Plus with global icon registry, mitt event bus - replace EOL vab-icon UMD with local Vue3 VabIcon component + Font Awesome - codemod sweeps: .sync->v-model, legacy slot syntax, el-icon-* to EP icons, size mini->small, beforeDestroy->beforeUnmount - new landing page at / (3DRFM branding), wizard moved to /quote - fix anonymous access to /quote* and /customer/cases/* (guard whitelist) - wizard: local 3D model preview, per-part color picker, auto-quote breakdown with specialist escalation notice - portal dashboard: production confirmation checklist (confirm/issue with notes), image attachments on messages - orders page: operator quote thread dialog (reply + images + confirmation presets) wired to previously-unused backend routes
…NE notifications - pricing-engine: tiered weight price, MAX(weight/time/minimum) base, business tier multipliers with floors, multi-color rules (combined/separated), rush, risk-takes-highest, volume-vs-tier discount best-of, unit/order scope, specialist escalation reasons; fully configurable via costCatalog.autoQuote - slicer-pipeline: detect prusa-family/orca CLIs on PATH (Ubuntu-first), pre-slice model checks vs build volume, generated config.ini with supports/ layer/infill/walls/material temps, --auto-orient + --arrange real slicing, parse actual grams/minutes from G-code; injectable exec for hermetic tests - line-notify: Messaging API push client (notify-only), zh-TW templates for quote-ready / operator-reply / shipped, customer target resolution chain
… to Chatwoot - runSlicerJob: model checks gate, auto-detected CLI slicing with measured grams/minutes overriding estimates, indicative autoQuote attached to job - POST /api/quotes/auto: specialist full-input server-side pricing endpoint with audit event - /api/public/cases/estimate now runs the pricing engine (reference-part usage) returning breakdown lines + escalations - quote message threads support image attachments (multipart, stored private, three-way authorized download) - structured confirmation checklist: specialist creates items (presets in UI), customer confirms/issues per item with free-text notes; issue items can be revised and re-requested; every decision logged into thread history - Chatwoot two-way bridge: portal messages sync to a dedicated inbox with attachments, CS replies mirror back into the portal thread (echo-guarded); CHATWOOT_PORTAL_INBOX_ID env - LINE notify hooks on quoted/operator-reply/shipped; fix date-bomb fixtures in idempotency tests (dynamic futureDate)
…om instance
- ensureContact: search uses q= param (email= returns empty), with 422
duplicate fallback re-search
- createContactConversation: try modern /contacts/:id/conversations first,
fall back to legacy POST /conversations {inbox_id, contact_id, source_id}
which is what the production instance supports (Rails 404 otherwise)
- source_id = CHATWOOT_API_CHANNEL_IDENTIFIER prefix + stable email hash for
per-customer conversation continuity
- verified end-to-end: portal operator message creates contact + conversation
in inbox 3DRFM_PORTAL on live instance
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.