🧩 Supabase JS แยก tracing ออกจาก main bundle แล้ว
🧩 Supabase JS แยก tracing ออกจาก main bundle แล้ว
ถ้าทีมใช้ Supabase JS ใน React Native, SSR, Edge runtime หรือ bundler ที่แพ้ dependency แปลก ๆ ข่าวนี้เล็กแต่มีผลกับ production มาก
ใน v2.112.0 มี change สำคัญคือ move OpenTelemetry tracing ไปเป็น opt-in /tracing subpath
ก่อนหน้านี้ฟีเจอร์ tracePropagation อาจทำให้ main package แตะ @opentelemetry/api แม้บางโปรเจกต์ไม่ได้ใช้ tracing โดยตรง PR ต้นทางระบุว่าหลัง change นี้ dist/index.cjs, dist/index.mjs และ UMD build ไม่มี reference ไปที่ OpenTelemetry API แล้ว
กลไกใหม่คือถ้าต้องการ tracing ให้ import subpath แยก:
@supabase/supabase-js/tracing
แล้วค่อยตั้ง tracePropagation: true ตอน create client
ผลกระทบเชิงปฏิบัติ:
- คนที่ไม่ใช้ tracing ได้ main bundle ที่สะอาดขึ้น และลดโอกาสชน bundler compatibility ใน Hermes, Metro, SSR/Edge
- คนที่ใช้ tracing ต้อง opt-in ให้ครบทั้ง import subpath และ config
- trace headers ยังอิง active OpenTelemetry context และตาม docs จะส่งเฉพาะ Supabase domains กับ localhost dev
- ทีมที่ต่อ Log Drains หรือ observability อยู่ ควรเพิ่ม smoke test ว่า
trace_idยังไปถึง logs หลัง upgrade
นี่ไม่ใช่ฟีเจอร์ใหญ่ที่ผู้ใช้ปลายทางเห็นทันที แต่มันเป็นสัญญาณที่ดีของ SDK design: optional dependency ที่มีผลต่อ runtime ควรถูกเปิดเท่าที่ต้องใช้ ไม่ควรนั่งอยู่ใน path หลักทุกโปรเจกต์
เหมาะกับทีมที่ใช้ Supabase JS ใน mobile, edge, SSR หรือ app ที่จริงจังกับ observability
ข้อจำกัดคือถ้าโปรเจกต์ rely บน tracing อยู่ ต้องแก้ import/checklist ก่อน bump version ไม่งั้นอาจคิดว่าเปิด trace แล้ว แต่ context ไม่ถูก propagate ตามที่คาด
ลิงก์ต้นทางอยู่ในคอมเมนต์แรกครับ
คุณคิดว่า SDK ควรแยก optional feature แบบนี้เป็น default design มากขึ้นไหม?
ให้ SynapTech AI ช่วยวาง workflow upgrade SDK + observability check ให้ทีมคุณได้ครับ
#Supabase #OpenTelemetry #JavaScript #DevTools #SynapTechAI
📖 อ่านบทความเต็มบน Facebook | 🔔 ติดตาม SynapTech
รับข่าว AI และบทความใหม่ก่อนผู้อื่น ส่งตรงถึง inbox
บทความแนะนำ
ถ้าชอบเนื้อหาแบบนี้
กดติดตาม SynapTech บน Facebook