Skip to content

feat(adapter-zalo): Add Zalo adapter and update documentation#331

Open
buiducnhat wants to merge 4 commits intovercel:mainfrom
buiducnhat:main
Open

feat(adapter-zalo): Add Zalo adapter and update documentation#331
buiducnhat wants to merge 4 commits intovercel:mainfrom
buiducnhat:main

Conversation

@buiducnhat
Copy link
Copy Markdown

Summary

Zalo is the most popular chat platform in Viet Nam with about 80M accounts in 2026. So we want to have a native adapter for this project.

  • Implements the Zalo adapter (@chat-adapter/zalo) for the Chat SDK, enabling bots to run
    on the Zalo OA platform
  • Adds Zalo to the adapters listing page (adapters.json, logos, adapter card)
  • Adds Zalo column to all four feature matrix tables in /docs/adapters
  • Adds Zalo row to the supported platforms table and packages list in /docs index
  • Updates packages/adapter-zalo/README.md with usage details

Test plan

  • pnpm build — all packages build cleanly
  • pnpm --filter docs build — docs app builds without errors
  • pnpm -w run check — lint/format passes
  • Manual: visit /adapters and confirm Zalo card appears in the grid
  • Manual: visit /docs/adapters and confirm Zalo column appears in all four feature
    matrix tables with correct ✅/❌/⚠️ values
  • Manual: visit /docs and confirm Zalo row is present in the supported platforms table

- Add ZaloAdapter class to handle messaging via Zalo Bot Platform API.
- Implement message handling, including text, image, and sticker messages.
- Create ZaloFormatConverter for markdown to plain text conversion.
- Add types for Zalo API responses and webhook payloads.
- Implement message splitting to comply with Zalo's 2000-character limit.
- Add tests for ZaloFormatConverter to ensure proper formatting and parsing.
- Configure TypeScript and build settings for the adapter package.
- Update pnpm lockfile and turbo.json for environment variables.
@vercel
Copy link
Copy Markdown
Contributor

vercel bot commented Apr 5, 2026

@buiducnhat is attempting to deploy a commit to the Vercel Labs Team on Vercel.

A member of the Team first needs to authorize it.

@socket-security
Copy link
Copy Markdown

socket-security bot commented Apr 5, 2026

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addedhono@​4.12.10991009796100

View full report


// Check for photo message
if (typeof message === "object" && "raw" in message) {
const rawMessage = JSON.parse(message.raw) as {
Copy link
Copy Markdown
Contributor

@vercel vercel bot Apr 5, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

postMessage catches JSON.parse failure on { raw: "..." } messages but throws AdapterError instead of falling through to the renderPostable path, so plain-text PostableRaw messages still crash instead of being sent as text.

Fix on Vercel

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