
Cuối tuần hí hửng tắt Slack đi nhậu, thứ Hai mở máy lên thấy cái PR từ chiều thứ Sáu vẫn mốc meo, làm thằng em đồng nghiệp nghẽn cổ chai (blocked) suốt 3 ngày trời. Nghe quen không các đạo hữu? Chắc chắn ông dev nào cũng từng ít nhất một lần đóng vai 'kẻ phản diện' vô tri như thế, không phải cố ý mà đơn giản là vì... quên.
Để giải quyết cái nỗi đau thầm kín này, một lão quái đã âm thầm code ra StaleMate PR - chiếc app menu bar nhỏ nhưng có võ, hoạt động như một hệ thống đèn giao thông cảnh báo độ 'thối' của các Pull Request.
Chuyện là một dev tay to vì quá cay cú cảnh mỗi sáng thứ Hai lên công ty lại phát hiện mình quên review PR của đồng nghiệp, quyết định tự tay dẹp nạn. Anh chàng đã build ra StaleMate PR - một ứng dụng siêu nhỏ nằm gọn trên thanh menu bar của macOS.
Cơ chế hoạt động của nó siêu thực dụng và trực quan:
Điểm ăn tiền của con app này là nó được viết 100% bằng SwiftUI native, chạy sandboxed hoàn toàn, tuyệt đối không xài Electron cắn RAM như mấy con app hybrid nặng nề. Nó hỗ trợ cả GitHub, GitHub Enterprise, GitLab và tất nhiên là cả self-hosted GitLab cho anh em nào tự dựng trên cloud vps riêng.
Ngay khi vừa lên sóng Product Hunt, các thần dân công nghệ đã lập tức bu vào soi code và đặt ra hàng loạt câu hỏi hóc búa.
Có đạo hữu đặt câu hỏi khá thực tế: "App có phân biệt được PR nào đang block mình hay đang đợi người khác review không?". Tác giả cũng thẳng thắn trả lời là hiện tại app chưa có tính năng tự động phân tích state sâu đến vậy, nhưng bạn có thể lách luật bằng cách set 2 monitor độc lập: một cái là "PR giao cho tôi" (Assigned to me) và một cái là "PR của tôi" để dễ dàng quản lý.
Một lão quái khác lại thắc mắc: "Chạy 5 monitor cùng lúc thì cái chấm tròn trên menu bar biết đổi theo màu của thằng nào?". Hóa ra, mỗi monitor sẽ hiển thị như một instance riêng biệt với icon và số lượng PR cụ thể hiển thị kèm theo, chứ không chung chạ nên không sợ bị loạn màu.
Phần kịch tính nhất đến từ một pháp sư nghi ngờ về mặt hiệu năng: "Không có server trung gian mà chạy sandboxed thì app phải polling (gọi API liên tục) đúng không? Gặp repo to mà chạy 5 monitor là dễ cắn vào giới hạn 5000 requests/giờ của GitHub API lắm đấy!"
Tác giả liền quay xe phản đòn cực khét: "Tôi xài GraphQL các ông ạ! Gom hết thông tin của một monitor vào đúng một fetch duy nhất là xong, mượt mà vô cùng. Đã thế anh em còn tự chỉnh được polling rate và lọc query theo ý muốn thì sợ gì limit!"
Tóm cái váy lại, StaleMate PR là một minh chứng hùng hồn cho tư duy làm sản phẩm thực dụng: Giải quyết đúng một nỗi đau cụ thể, làm thật tốt và không vẽ vời.
Nhiều ông cứ thích vẽ ra những dự án AI ảo ma làm tốn tài nguyên, trong khi cái dev thực sự cần hàng ngày chỉ là một cái chấm đỏ ngay trước mắt để nhắc nhở: "Ê, vô review PR giùm cái kìa!". Việc tối ưu bằng SwiftUI native thay vì quăng một cục Electron nặng nề cũng cho thấy tác giả cực kỳ có tâm với tài nguyên máy của người dùng.
Anh em nào dùng Mac mà suốt ngày bị đồng nghiệp réo tên vì ngâm PR thì tải về dùng thử xem sao, biết đâu lại cứu rỗi được mối quan hệ đồng nghiệp đang trên đà đổ vỡ đấy!
Nguồn tham khảo: Product Hunt
Quên review PR khiến đồng nghiệp nghẽn cổ chai suốt 3 ngày? StaleMate PR - chiếc app menu bar siêu nhẹ sẽ nhuộm đỏ màn hình để cảnh cáo bạn.