Skip to content

v1.0.0

Choose a tag to compare

@realcodesiman realcodesiman released this 01 Jul 04:05
c0cc158

What's Changed

✨ New Features

🐛 Bug Fixes

  • fix: send mail by @viethung0o0 in #469
  • fix: snapshot for analytics by @viethung0o0 in #474
  • fix(whatsapp): detect OAuth revoked tokens in error mapper by @viethung0o0 in #477
  • fix(whatsapp): use /ref- prefix for inbox referral links by @viethung0o0 in #478
  • fix: detect hostname by @realcodesiman in #480
  • fix: coerce min/max to number in generateCode step schema by @sung17 in #487
  • fix: improve dark mode theme colors and UI consistency by @sung17 in #492
  • fix: Add success/error states to Auto Assign Conversation Step by @sung17 in #483
  • fix: get-data-from-json step — states support, safe JSON parse, and proper return types by @sung17 in #484
  • fix(custom-fields): add customFieldValueKey option and memoize field transform by @sung17 in #486
  • fix: use Web Crypto randomUUID in email-topic stats repo by @viethung0o0 in #522
  • fix(database): resolve migration snapshot chain prevIds and mac tables snapshot by @realcodesiman in #523
  • fix: wrong migration path for QRCode by @realcodesiman in #528
  • fix(channels): centralize duplicate connection detection across all integrations by @sung17 in #530
  • fix: add message shard bootstrap script by @viethung0o0 in #529
  • fix(flows): replace useEffect with triggerValueChange for smtp from address sync by @sung17 in #532
  • fix: temp remove pdf-parse-new by @realcodesiman in #536
  • fix(messenger): add pages_utility_messaging scope to OAuth by @viethung0o0 in #539
  • fix: tag upserts respect partial unique index by @viethung0o0 in #541
  • fix: specify partial-index predicate on tag upserts by @viethung0o0 in #542
  • refactor: streamline tag and channel label sync handlers by @viethung0o0 in #543
  • refactor(worker): use consolidated inbox label handler by @viethung0o0 in #544
  • fix(builder): use Promise.allSettled when creating messages by @realcodesiman in #545
  • fix(worker): import pdf-parse-new parser entry directly by @viethung0o0 in #535
  • fix(redis): degrade gracefully on cache errors and memoize connections by @realcodesiman in #548
  • fix(flows): correct flow upload path param and pass workspaceId by @realcodesiman in #549
  • fix(worker): use igId column for instagram integration lookup by @sung17 in #551
  • fix(flows): correct email template variable and add tiktok integration field by @sung17 in #554
  • fix(messenger): improve outgoing message handling and channel send behavior by @viethung0o0 in #557
  • fix(filesystem): expose uploadFileFromUrl from main entry point by @sung17 in #558
  • fix(auth,mail): fix email link hostnames and enable subject template substitution by @realcodesiman in #564
  • fix: clone messenger template by @viethung0o0 in #567
  • fix: refresh template list after creating by @viethung0o0 in #569
  • fix(conversations): refresh inbox activity sorting by @viethung0o0 in #561
  • fix: update import and and lib hash by @nguyenvantruc92 in #570
  • fix(events): add events worker by @viethung0o0 in #571
  • fix(tiktok): store and use conversation_id as recipient for outgoing messages by @sung17 in #574
  • fix: keep messages loading reliably when database has issues by @viethung0o0 in #576
  • fix(tiktok): throw ChannelError when sourceConversationId is missing by @sung17 in #575
  • fix(broadcast): reliably send broadcasts to all recipients by @viethung0o0 in #590
  • fix: ai-file error with provider deepseek by @nguyenvantruc92 in #604
  • fix(ai-mcp-server): use inline http transport and show tool descriptions by @nguyenvantruc92 in #608
  • fix(builder): keep header helpers server-only by @viethung0o0 in #611
  • fix(ai-function): handle output message and trigger flow by @nguyenvantruc92 in #612
  • fix(ai-flow): ai flow message duplicate by @nguyenvantruc92 in #615
  • fix(database): refactor conversation uniqueness and expand message schema by @sung17 in #620
  • fix(database): refactor conversation uniqueness and expand message schema by @sung17 in #622
  • fix(message): ensure Message and Attachment queries work correctly with sharding by @viethung0o0 in #613
  • fix(builder): point pricing links to canonical /portal/pricing path by @realcodesiman in #625
  • fix(database): backfill and maintain InboxContactStat totalContacts by @viethung0o0 in #629
  • fix: improve new message display in inbox by @viethung0o0 in #630
  • fix: support secure public links by @viethung0o0 in #631
  • fix(worker): auto-discover worker roster in docker entrypoint by @realcodesiman in #632
  • fix(docker): emit seed runner as CommonJS to fix dynamic require crash by @realcodesiman in #636
  • fix(docker): harden builder image build and seed/entrypoint runtime by @realcodesiman in #637
  • fix(ai): handle ai message response with image url by @nguyenvantruc92 in #639
  • fix(auth): use tenant policy links by @realcodesiman in #646
  • fix(coexists): using user quota instead of workspace usage by @viethung0o0 in #651
  • fix(webchat): prevent duplicate messages after send by @sung17 in #657
  • fix: stop messages repeating in flows by @viethung0o0 in #658
  • fix(auth): re-home white-label verification redirects onto branded host by @realcodesiman in #659
  • fix: stop messages from repeating in flows by @viethung0o0 in #660
  • fix(tenancy): resolve integration webhooks via broker host for white-label by @realcodesiman in #671
  • fix(integrations): harden channel schemas, add null guards, and register TikTok webhook by @sung17 in #672

⚡ Improvements

  • refactor: update logo for workspace by @viethung0o0 in #499
  • refactor(flow-config): replace base64+JSON button payload with compact colon format by @sung17 in #595
  • refactor(integrations): replace Node.js crypto with Web Crypto API in webhook handlers by @sung17 in #628
  • refactor(quota): make UserQuota the single source of truth, drop TenantQuotaUsage by @realcodesiman in #649

🔧 Internal / Chore

New Contributors

Full Changelog: v0.2.5...v1.0.0