ใครผิด (วะ)?

Java Script API ที่ผม support อยู่ปัจจุบันเป็น version 5 ออกมาตอนกลางปี ส่วน version 3 และ 4 ออกเมื่อปีที่แล้วครับ

ปีที่แล้วมีลูกค้าเจ้าหนึ่งใช้ version 2 ที่ออกตอนปี 2011 แล้วเจอปัญหาร้ายแรงปัญหาหนึ่ง ขณะนั้น version 3 ออกได้ไม่นานและ dev กำลังเขียน version 4 อยู่

ผมใช้เวลาเป็นเดือนในการทำ issue นี้ (replicate ยากมากๆ) ระดม dev มาช่วยแล้วก็ยังไม่ได้ สุดท้ายก็ส่งเรื่องไป Microsoft Support ถึงได้รู้ว่า setTimeout() บน IE มันทำงานผิด MS ยอมรับว่าเป็นบั๊กของ IE 7/8 และแก้ไปใน IE 9 แล้ว แน่นอนว่าลูกค้าแม่มไม่ยอมเปลี่ยนไป IE 9 แน่ๆ ตอนนั้นผมกะ dev จึงช่วยการหาทางป้องกันและยัดมันลงไปใน patch หนึ่งของ version 2 ซึ่งลูกค้าก็เอาไปใช้ได้ดีจนถึงทุกวันนี้

ต้นเดือนที่ผ่านมา ลูกค้าจะ upgrade ไปเป็น version 5 ซึ่งเป็นอันล่าสุด ผมได้รับงานมาว่าลูกค้าจะต้องทำอะไรบ้างเพื่อที่จะ migrate page เขาได้เพราะมันมีอะไรเปลี่ยนข้างในเยอะเหมือนกัน ผมทำ list จะเสร็จแล้วรู้สึกตะหงิดๆ อะไรบางอย่างเลยลองดู code ส่วนที่เจอปัญหาคราวโน๊นดูถึงเพิ่งเห็นว่า code patch นั้นไม่ถูกใส่มาใน version 5 ด้วย…

ไล่ย้อนไปพบว่า version 3, 4, 5 code ที่เจอปัญหายังเหมือนกับ version 2 เด่ะๆ สำหรับ version 3 ผมไม่แปลกใจอะไร แต่ที่งงคือทำไม version 4 และ 5 เสือกไม่ merge patch นี้ไปด้วย ถาม dev ก็ไม่รู้ คนเขียนออกไปแล้ว ไม่มีใครตอบได้

แน่นอนว่าด้วยบาปที่ผมแม่งเป็นคนเจอไอ้ code diff เหี้ยนี่ ผมเลยได้รับคำสั่งมาว่าให้ simulate ปัญหานี้ใน version 5 ให้ได้ภายในเวลา 1 อาทิตย์…

3 วันที่ผ่านมาผมยัง replicate ปัญหาแม่มไม่ได้เลย issue อื่นๆ ที่ลูกค้าส่งเข้ามาถูกผลักไปเป็นเรื่องรองๆ ไปทั้งหมดเพื่อดูเรื่องนี้โดยเฉพาะ ผมมานั่งนึกว่าทำไมกูต้องมานั่งทำเหี้ยอะไรเสียพลัง เสียเวลาไปเปล่าๆ ปลี้ๆ อันนี้ด้วยวะ

ที่กูต้องมานั่งทำไอ้เหี้ยนี่อยู่แม่งผิดที่ใครวะ

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.