Repository navigation
Releases
Releases · pramchanok/git-req-manager
1.15.3
การแก้ไขข้อบกพร่อง (Bug Fixes)
- แก้ไขขั้นตอนการติดตั้ง Auto-Update บน Windows ให้ปิดโปรเซสและไม่ลบ Cache ระหว่างอัปเดต:
- ปรับ
customUnInstallใน NSIS (assets/installer.nsh) ให้ลบโฟลเดอร์gitlab-req-manager-updaterเฉพาะตอนถอนการติดตั้งจริง (${ifNot} ${isUpdated}) เพื่อไม่ให้ Uninstaller ตัวเก่าเผลอลบupdate-info.jsonและไฟล์ cache สำหรับ differential update ทิ้งกลางคันระหว่างอัปเดตเวอร์ชัน - เพิ่ม Pre-install Shutdown Hook ก่อนเรียก
autoUpdater.quitAndInstallให้ครอบคลุมทุกช่องทาง (รวมถึงการกดติดตั้งจากเมนูคลิกขวาที่ System Tray) เพื่อตั้งสถานะisQuitting, หยุด Background Services / Tunnel / Single-Instance Pipe และปิดหน้าต่างทั้งหมดทันทีเมื่อเริ่มติดตั้งอัปเดต
- ปรับ
1.15.2
ความปลอดภัยและการแก้ไขข้อบกพร่อง (Security & Bug Fixes)
- อัปเกรด Electron และ Dependencies ปิดช่องโหว่ความปลอดภัย: อัปเกรด
electronเป็น43.8.4(แพตช์ช่องโหว่ BrotliCVE-2026-111497, eMudhra TLSCVE-2026-115570,CVE-2026-114121และCVE-2026-114124), อัปเดตdompurifyเป็น3.4.17(CVE-2026-116802) และอัปเดตชุดไลบรารีที่เกี่ยวข้องจนไม่เหลือช่องโหว่ในnpm audit - ป้องกันหน้าต่าง Electron หลุดไปยังเว็บภายนอกและตรวจสอบผู้เรียก IPC: เพิ่ม
hardenWebContentsบล็อกการเปิด popup และการ navigate ออกจากหน้าแอปในทุกBrowserWindow, เปิดsandbox: trueทุกหน้าต่าง, ตรวจสอบ origin ของ top-level frame ก่อนอนุญาตให้เรียก IPC ทุกช่องทาง และกรองให้openSafeExternalUrlเปิดเฉพาะลิงก์http(s)ในทุกจุด (รวมถึง Tray และ Notification) - ปรับความปลอดภัยของลิงก์ Markdown, HTML Sanitization และ CSP: ดักคลิกลิงก์ทั้งหมดใน
<ReactMarkdown>และบล็อก HTML ที่ผ่านDOMPurifyให้เปิดผ่านเบราว์เซอร์ภายนอกเสมอ ตัดแท็กเสี่ยง UI-redressing (<style>,<form>,<iframe>,<base>) และเพิ่ม Content-Security-Policy (CSP) สำหรับ production build - ป้องกัน CSV Formula Injection และจำกัดสิทธิ์ Named Pipe: ป้องกันอักขระขึ้นต้นสูตรคำนวณ (
=,+,-,@) และการแทรกบรรทัดใหม่เมื่อ Export รายงานเป็นไฟล์ CSV สำหรับ Excel พร้อมจำกัดสิทธิ์ Single-Instance Named Pipe / Unix Socket ให้เฉพาะเจ้าของบัญชีผู้ใช้บนเครื่อง
1.15.1
การแก้ไขข้อบกพร่อง (Bug Fixes)
- ปรับ Emoji Picker ในช่องคอมเมนต์: ย้ายปุ่ม Emoji เข้า Markdown toolbar จัดแนวไอคอนให้ตรงกับเครื่องมืออื่น ลดขนาด picker และวางขึ้นหรือลงอัตโนมัติตามพื้นที่หน้าจอ พร้อมแก้ให้ปิดโดยไม่เลือกแล้วเปิดใหม่ได้ และแทรก Emoji ตรงตำแหน่งเคอร์เซอร์
1.15.0
การปรับปรุง (Improvements)
- กู้คืนงานรีวิวต่อเนื่อง: บันทึกร่างคอมเมนต์ ไฟล์ที่ดูแล้ว และตำแหน่งการรีวิวบนเครื่อง โดยแยกตาม GitLab บัญชี และ MR พร้อมล้างสถานะไฟล์ที่ดูแล้วเมื่อ head SHA เปลี่ยน
- ปรับช่องเขียนคอมเมนต์: เปิด Markdown toolbar เป็นค่าเริ่มต้น เปลี่ยนปุ่ม Emoji เป็นไอคอนหน้ายิ้ม และแยกโหลด editor กับ emoji picker เพื่อลดงานโหลดในหน้าที่ไม่ใช้งาน
- ลดงาน sync และ pipeline API ที่ซ้ำซ้อน: รวมคำขอ sync ที่เข้าระหว่างรอบไว้รอบถัดไป ล้าง pipeline cache เฉพาะ MR ที่เกี่ยวข้องกับ webhook และไม่ล้าง cache เมื่อมีคอมเมนต์ พร้อมป้องกันผลลัพธ์ที่กำลังโหลดกลับมาเติม cache ที่ถูกล้างแล้ว
- ปรับการรีเฟรชหน้า MR: รวมคำขอรีเฟรชที่เข้าติดกัน พักการรีเฟรชตามรอบเมื่อซ่อนหน้าต่าง และอัปเดตข้อมูลอีกครั้งเมื่อกลับมาเปิด
- เพิ่มการควบคุมการแจ้งเตือน: รองรับช่วงเวลางดแจ้งเตือน ประวัติแจ้งเตือนแยกบัญชี และการปิดแจ้งเตือนราย MR ชั่วคราว โดยหน้า Notification Inbox และ Review Queue พร้อมชุดตัวกรองยังซ่อนไว้เป็นค่าเริ่มต้น
- เพิ่ม Sync Health: แสดงสถานะความสำเร็จของแต่ละส่วน เวลาที่พยายาม sync และ webhook ล่าสุด เพื่อแยกข้อมูลที่อัปเดตสำเร็จออกจากข้อมูลเดิม
การแก้ไขข้อบกพร่องและความปลอดภัย (Bug Fixes & Security)
- เพิ่มความถูกต้องของ GitLab API: โหลด MR สำหรับรีวิวและ MR ที่สร้างเองครบทุกหน้า รองรับ Retry-After และรายงานความล้มเหลวของโปรเจกต์แทนการแสดงรายการ All Open ที่ไม่ครบว่า sync สำเร็จ
- รักษาข้อมูลเมื่อ API ล้มเหลวบางส่วน: เก็บข้อมูลและเวลาสำเร็จครั้งก่อนของส่วนที่ล้มเหลว พร้อมรักษาฐานการตรวจแจ้งเตือนของกลุ่ม
- ป้องกันข้อมูลข้ามบัญชี: ทิ้งผลลัพธ์จากบัญชีเดิมเมื่อเปลี่ยนบัญชี ปิดหน้าต่างรายละเอียดที่เกี่ยวข้อง และแยกการตรวจแจ้งเตือนซ้ำตามบัญชี
- ป้องกันการเก็บ token แบบไม่เข้ารหัส: หาก OS secure storage ใช้งานไม่ได้ เก็บ token เฉพาะในหน่วยความจำจนปิดแอป พร้อมย้าย token รูปแบบเดิมไปยังการจัดเก็บที่เหมาะสม
การตรวจสอบและเครื่องมือพัฒนา (Validation & Tooling)
- เพิ่ม TypeScript checks ทั้ง main และ renderer ในคำสั่ง build พร้อม regression tests สำหรับ API, sync, cache, notifications, token storage และสถานะงานรีวิว
- เพิ่มเครื่องมือวัดประสิทธิภาพบน Electron ด้วยโปรไฟล์และข้อมูลจำลองแยก พร้อมรายงาน baseline ของเวลาเปิดแอป/หน้า MR, CPU และหน่วยความจำ โดยไม่อ้างเป็นผลวัด GitLab จริง
1.14.4
การแก้ไขข้อบกพร่อง (Bug Fixes)
- กู้คืนการทำงานของปุ่ม Team Lead Overview: เพิ่ม IPC Handler
open-lead-overview-windowใน Main Process เพื่อให้สามารถกดปุ่ม "Lead ↗" ในหน้า Team Report และเปิดหน้าต่างสรุปผลรวมสำหรับ Team Lead ได้ตามปกติ
1.14.3
การปรับปรุง (Improvements)
- รองรับ Collapsed Diff และ Generated Files สไตล์ GitHub: เพิ่มการตรวจจับไฟล์ที่ถูกยุบ (Collapsed Diffs) และไฟล์ประเภท Generated Code/Lockfiles (เช่น
package-lock.json,yarn.lock,pnpm-lock.yaml,go.sum,composer.lockฯลฯ) พร้อมแสดงข้อความและดีไซน์แบบ GitHub Box - โหลด Diff แบบ On-Demand (Load diff): เพิ่มปุ่ม "Load diff" พร้อมสถานะกำลังโหลด เพื่อดึง Patch ตัวเต็มผ่าน API
GET /projects/:id/merge_requests/:iid/raw_diffsและสกัดเฉพาะ Diff ของไฟล์นั้นมาแสดงผลได้ทันที
การแก้ไขข้อบกพร่อง (Bug Fixes)
- แก้ไข GitLab Raw Diff Endpoint และ Fetch Text Parsing: แก้ไข path การเรียก Raw Diff endpoint ให้ถูกต้องตาม GitLab API v4 (
/raw_diffs) พร้อมปรับปรุงFetchWrapperให้รองรับการอ่าน response แบบtext/plain
1.14.2
การแก้ไขข้อบกพร่อง (Bug Fixes)
- คืนค่าไอคอน Tray App ดั้งเดิม: คืนค่าภาพไอคอน Tray App กรอบสี่เหลี่ยมสีส้ม/เทา/ฟ้า (Squircle) ดั้งเดิมของแอป พร้อมยกเลิกการปรับ Template Image บน macOS เพื่อให้แสดงผลภาพไอคอนดั้งเดิมได้สมบูรณ์ทั้งบน Windows และ macOS
1.14.1
การแก้ไขข้อบกพร่อง (Bug Fixes)
- แก้ไขภาพไอคอน Tray App บน macOS: ปรับปรุงการเลือกไฟล์ไอคอนใน Tray (
tray-icon,tray-icon-active,tray-icon-update) ให้ใช้ภาพ Alpha Mask ที่ถูกต้องร่วมกับsetTemplateImage(true)แก้ปัญหาไอคอนขึ้นเป็นกล่องสี่เหลี่ยมสีดำ/ขาวทึบบน Menu Bar ของ macOS
1.14.0
การปรับปรุง (Improvements)
- Redesign หน้า Lead Overview: ปรับปรุงหน้าจอสรุปภาพรวมสำหรับ Team Lead ให้มีโครงสร้างการอ่านเป็นลำดับขั้น (Visual Hierarchy) ระดับพรีเมียม พร้อมการ์ด KPI สรุปผล 5 หมวดหลัก
- ระบบเปรียบเทียบสมาชิกทีม (Executive Member Comparison Modal): เพิ่มหน้าต่าง Modal เปรียบเทียบผลงานของสมาชิกในทีม 2-3 คนแบบข้างต่อข้าง (Side-by-Side) พร้อมกราฟแท่งเปรียบเทียบกิจกรรม อัตรา Merge Success Rate (%) และเวลาเฉลี่ย (Avg Lead Time)
- เพิ่มช่วงเวลารายปี (Yearly Timeframe): รองรับการเลือกดูรายงานและสถิติกิจกรรมแบบรายปี (Yearly) ทั้งในหน้า Dashboard หลัก รายงานสมาชิก และหน้าต่าง Compare
- การเลือกสมาชิกในเปรียบเทียบแบบยืดหยุ่น: ปรับให้เริ่มต้นแบบไม่ฟิกซ์ตัวเลือก และสามารถเลือก/สลับรายชื่อสมาชิกจากหน้าต่างกลางจอได้อย่างอิสระ
- เพิ่มกราฟและตัวชี้วัดประสิทธิภาพ: แสดงสัดส่วนผลงานในทีม (Team Workload Share %), สรุปโปรเจกต์ที่มีความเคลื่อนไหวสูงสุด (Top Active Projects) และรางวัลเกียรติยศสมาชิกประจำช่วงเวลา (Team Period Highlights)
- ปรับปรุงการตรวจจับ Merge Conflict และ GitLab API: เพิ่ม
detailed_merge_statusและwith_merge_status_recheck: trueใน GitLab REST API client เพื่อให้ตรวจจับ Merge Conflict และสถานะ Mergeability ได้แม่นยำยิ่งขึ้น - เพิ่ม API สำหรับ MR Analytics แบบเจาะลึก: เพิ่ม
getGroupMRAnalyticsSinceและgetMyMRAnalyticsSinceรองรับการดึงข้อมูล MRs ที่ถูกสร้างหรืออัปเดตย้อนหลังเพื่อวิเคราะห์ผลงานทีมและบุคคล - ปรับปรุง UI ของ MR Details และ Card: ตกแต่งป้ายสถานะ MR (
Merged,Closed,Opened) ด้วยไอคอน Lucide (GitMerge,XCircle,Clock) พร้อมจัดรูปแบบการแสดงผลวันที่และโปรเจกต์ให้อ่านง่ายยิ่งขึ้น - ปรับมาตรฐานรูปแบบวันที่ของแอป (DD/MM/YYYY): เพิ่ม
dateFormat.ts(formatDateและformatDateTime) เพื่อปรับรูปแบบการแสดงผลวันที่ให้เป็นมาตรฐานเดียวกันทั้งแอปในฟอร์แมต วัน/เดือน/ปี (เช่น10/08/2026) - ปรับปรุง Window Focus Behavior: ปรับการทำงานของหน้าต่าง Electron ไม่ให้ซ่อนตัวอัตโนมัติเมื่อกดเปิดลิงก์ภายนอกไปยัง IDE หรือเบราว์เซอร์ ช่วยให้ใช้งานร่วมกับเครื่องมืออื่นได้อย่างต่อเนื่อง
การแก้ไขข้อบกพร่อง (Bug Fixes)
- ป้องกันปัญหาหน้าจอขาว (Blank Screen Crash Prevention): ครอบด้วย React
ModalErrorBoundaryและเพิ่ม Defensive Null Guarding สำหรับชื่อและรูปโปรไฟล์สมาชิก ป้องกันแอพล่มเมื่อพบข้อมูลผู้ใช้ไม่สมบูรณ์ - แก้ไข Tooltip และ Native Popup: ปรับปรุง Tooltip กราฟกิจกรรมให้จัดตำแหน่งตามดัชนีวัน (index-aware alignment) ไม่หลุดขอบ พร้อมลบ title attribute ซ้ำซ้อนของเบราว์เซอร์
1.13.0
การปรับปรุง (Improvements)
- แสดงผู้รับผิดชอบ Review และผู้ Merge อย่างชัดเจน: หน้า MR แสดง avatar ของผู้ที่ถูก request ให้ review และคงข้อมูลนั้นไว้หลัง MR ถูก merge พร้อมแสดงผู้ที่ merge จริงแยกต่างหาก
- เพิ่มรายงานประวัติส่วนตัว: ผู้ที่ไม่มีสิทธิ์ดู Team Report สามารถเปิดดูประวัติ contribution ของตนเองได้ โดยไม่เห็นรายชื่อหรือ activity ของสมาชิกคนอื่น