Simon Willison's Weblog 32 วันที่แล้ว general AI Generated

datasette-auth-github 1.0

เกี่ยวกับ GitHub
Simon Willison's Weblog 20 Sep 2026
67
0
100
11 9m



อัปเดต
PLUGINS


บั๊กคุกกี้หมดอายุไว ทำปลั๊กอินล็อกอิน GitHub ของ Datasette กระโดดขึ้นเวอร์ชัน 1.0



ปัญหาที่ดูเล็กจนแทบไม่มีใครสังเกต กลับกลายเป็นเหตุผลให้โปรเจกต์ที่นิ่งมานานได้ฤกษ์ติดป้าย stable ซะที




ทีมข่าว เอไอไทย.com
⏱ อ่าน 3 นาที



บางทีการตัดสินใจปล่อยเวอร์ชัน 1.0 ก็ไม่ได้มาจากฟีเจอร์ใหม่หรูๆ แต่มาจากการยอมรับว่าของเดิมมันนิ่งพอแล้วจริงๆ




ประกาศออกมาสั้นๆ แต่บอกอะไรได้เยอะสำหรับคนที่ตามงานของ Simon Willison อยู่แล้ว — ปลั๊กอิน datasette-auth-github ถูกดันขึ้นเป็นเวอร์ชัน 1.0 อย่างเป็นทางการ หลังจากที่มันวนอยู่ในสถานะ pre-1.0 มาเป็นเวลานานพอสมควร



จุดเริ่มต้นของดีลนี้ไม่ได้มาจากการเพิ่มฟีเจอร์ใหม่หรือรีไรต์โค้ดครั้งใหญ่เลย แต่มาจากปัญหาที่ Willison ไปเจอเองตอนรันปลั๊กอินตัวนี้บนเว็บเดโม agent.datasette.io แล้วรู้สึกว่า session ที่ล็อกอินไว้มันอยู่ได้ไม่นานเท่าที่ควรจะเป็น



ต้นตอของปัญหา


สืบไปสืบมาก็เจอว่าปลั๊กอินตั้งคุกกี้โดยไม่ใส่พารามิเตอร์ Max-Age เลย ผลก็คือคุกกี้พวกนั้นหมดอายุทันทีที่ปิดเบราว์เซอร์ ซึ่งฟังดูไม่น่าจะเป็นปัญหาใหญ่ แต่ถ้าใครเคยใช้ Mobile Safari จะรู้ว่ามันปิด session บ่อยกว่าที่คิดมาก บางทีก็ไม่เกี่ยวกับว่าเราใช้งานแอปอยู่หรือเปล่าด้วยซ้ำ



Willison แก้เรื่องนี้ใน issue หมายเลข #80 แล้วก็เลยถือโอกาสนี้ตัดสินใจ bump เวอร์ชันขึ้นเป็น 1.0 ไปเลย เพราะปลั๊กอินตัวนี้อยู่มานานพอควรแล้ว แถมยังผ่านการทดสอบกับทั้ง Datasette 0.65.x และ Datasette 1.0ax มาก่อนหน้านี้อยู่แล้ว



“
I'm trying to get better at promoting stable plugins to 1.0.


ประโยคนี้แหละที่น่าสนใจที่สุดในโพสต์ทั้งหมด เพราะมันสะท้อนนิสัยของนักพัฒนาโปรเจกต์โอเพนซอร์สหลายคนที่มักปล่อยให้ปลั๊กอินของตัวเองค้างอยู่ที่ 0.x ไปเรื่อยๆ ทั้งที่จริงๆ มันเสถียรพอจะขึ้น 1.0 ได้ตั้งนานแล้ว อาจเพราะกลัวว่าจะมี breaking change ทีหลัง หรือแค่ไม่คิดว่ามันสำคัญ



สำหรับคนที่ใช้งาน Datasette อยู่แล้วและพึ่งพาปลั๊กอินตัวนี้ในการล็อกอินผ่าน GitHub การขึ้น 1.0 แบบนี้ถือเป็นสัญญาณที่ดีว่าจุดเชื่อมต่อนี้จะไม่ถูกแตะแบบพลิกฝั่งอีกในเร็วๆ นี้ และการที่มันเทสต์ผ่านทั้ง Datasette 0.65.x และ 1.0ax ก็หมายความว่าทีมที่กำลังจะอัปเกรดไปใช้ Datasette 1.0 alpha ก็ยังใช้ปลั๊กอินตัวนี้ได้ต่อโดยไม่ต้องรอกันใหม่



💡

เรื่องนี้สอนง่ายๆ ว่า บั๊กที่ดูเล็กอย่างการลืมใส่ Max-Age ในคุกกี้ ก็ทำให้ประสบการณ์ผู้ใช้พังได้แบบไม่รู้ตัว และการกล้าติดป้าย 1.0 ให้ปลั๊กอินที่นิ่งแล้วก็เป็นวินัยอย่างหนึ่งของนักพัฒนา ไม่ใช่แค่เรื่องของตัวเลขเวอร์ชันเท่านั้น



ที่มา: Simon Willison's Weblog — อ่านต้นฉบับ


#datasette #opensource #webdev

🔗 อ่านต่อ · สินค้าและคำถามที่เกี่ยวข้อง

สินค้ามาแรงตอนนี้

คนขายของถามบ่อย

ความคิดเห็น 6

กำลังโหลดความคิดเห็น...