Releases: yunkhngn/fptu-schedule
Releases · yunkhngn/fptu-schedule
Release list
Release v3.6.6: Chrome Web Store Compliance & Schedule Card Anti-Overflow Fix
Release Overview
Version 3.6.6 addresses Google Chrome Web Store review compliance requirements and resolves a layout overflow bug in the Class Schedule card grid.
Fixed
- Chrome Web Store Compliance (Red Potassium): Completely removed obsolete
study-suggestions.jsandstudy-sources.jsonassets and purged all corresponding script tags and references acrosspopup.html,popup.js, andpopup.css. This permanently resolves runtimeERR_FILE_NOT_FOUNDconsole errors during automated and manual extension reviews. - Schedule Card Grid Anti-Overflow Layout: Fixed a layout blowout issue where courses with multiple status chips (such as the 100% absence risk warning) caused cards in the 2-column schedule grid to exceed container bounds. Enforced strict grid track limits via
repeat(2, minmax(0, 1fr)), enabled responsive badge wrapping (flex-wrap: wrap), and optimized attendance metrics spacing inpopup.css. - Attendance Metrics Text Formatting: Refined
.class-meta .meta-rowlayout to use auto-fitting label widths and word-wrapping, preventing text truncation across both Light and Dark themes.
Packaging & Integrity
- Clean Package Verification: Validated packaged extension bundle with zero dangling script references or missing dependencies.
- Automated Test Suite: 100% test pass rate maintained across all 123 unit tests (
npm test). - Policy Compliance: Zero character emojis throughout UI, documentation, and metadata.
Release v3.6.5: Week Timetable Matrix, Attendance Guard & FAP Survival Kit
What's New in Version 3.6.5
Week Timetable Matrix View
- Interactive 7-day (Monday to Sunday) x 6 FPT slots visual grid timetable.
- Seamless one-click toggle between List View and Week Matrix View directly from the Daily Agenda Card header.
- Sticky navigation and daily agenda banner pinned at the top while scrolling through subject schedules.
Real-Time Slot Status Highlighting
- In-Progress Class: Subtle pulsing border (
pulse-border), animated live indicator dot, andIN CLASS(ĐANG HỌC) badge. - Past Slots: Automatically dimmed and grayscale-filtered (
opacity: 0.42) to keep focus on upcoming classes, brightening upon hover.
Attendance Tracker & 20% Ban Guard
- Accurate per-subject attendance statistics on every class card: attended count, absent count, absence rate, and remaining allowed absences before reaching the FPT University 20% exam disqualification threshold.
RFC 5545 Compliant QR Calendar Export
- Added unique
UIDandDTSTAMPproperties to everyVEVENT, resolving the mobile calendar issue where Apple Calendar and Google Calendar only imported a single event or overwrote previous events upon scanning. - Expanded export scopes with new 2-Week and All Upcoming options.
FAP Survival Kit
- Auto Keep-Alive Heartbeat: Sends a lightweight periodic ping to
/HomePage.aspxevery 7 minutes while at least one FAP tab is open to maintain theASP.NET_SessionIdcookie, completely eliminating unwanted session timeouts and lost form data. Configurable via a toggle in Settings. - 1-Click Lecturer Feedback Auto-Fill: Injects an elegant Dark Glassmorphism floating toolbar on FAP survey pages (
/Feedback/*), enabling students to auto-select top 5-star ratings for all criteria and insert a genuine, polite appreciation comment in one click (with student-controlled manual submission for safety).
Installation
- Download
fptu-schedule.zipfrom the release assets below. - Extract the ZIP file to a folder on your computer.
- Open Chrome/Brave/Edge and navigate to
chrome://extensions. - Enable Developer mode in the top-right corner.
- Click Load unpacked and select the extracted folder.
Release v3.6.0: QR Phone Sync, Dark Mode, Today's Agenda and Grades Predictor
FPTU Schedule v3.6.0
Release v3.6.0 introduces a major feature update for FPT University students, including offline phone calendar synchronization via QR codes, a unified export modal, dark mode theme support, a real-time today's agenda banner, and a comprehensive student grade tracker with an interactive target pass predictor.
New Features
Phone Calendar Synchronization via QR Code and Unified Export Modal
- Direct Phone QR Scanning: Generates standard ISO/IEC 18004 QR codes completely offline using pure JavaScript vector SVG. Students can scan the code using the default Camera app on iOS or Android to import class and exam events directly into Apple Calendar or Google Calendar.
- Unified Export Modal: Replaces separate download and QR buttons with a single "Export Schedule" button on the action toolbar. The unified modal provides:
- QR code generation scoped by time range (Today, This Week, Next Week for classes; upcoming scheduled exams).
- Direct
.icscalendar file download for desktop computers (lich-hoc.icsorlich-thi.ics). - Copy raw iCalendar payload to clipboard as an alternative import option.
- Optimized Window Layout: Increased popup window height to 580px (within Chrome extension limits) and resized QR cards to eliminate bottom edge overflow.
Dark Mode Theme Support
- Three-State Theme Switcher: Supports System/Auto, explicit Light, and explicit Dark themes.
- WCAG AA Compliant Tokens: Refined color palettes, surfaces, and contrast ratios with zero flash of unstyled content (FOUC) upon popup launch.
- Dedicated Dark Hover States: Contextual hover feedback and subtle border treatments tailored for dark backgrounds.
Real-Time Today's Agenda Banner
- Persistent Hero Card: Placed at the top of the Class Schedule tab to display current daily status:
- In Progress: Displays slot, room/online modality, and minute countdown to session completion.
- Upcoming: Shows countdown to the next class start time.
- Completed: Confirms all daily sessions are completed and previews the next scheduled day.
- Free Day: Indicates no classes are scheduled for the day.
- Same-Day Exam Alerts: Automatically pins a high-priority warning if an exam is scheduled for today.
- Refined Visual Design: Clean, chip-based layout without emojis.
Student Grades Tracker and Pass Predictor
- Grades Tab: Scrapes and synchronizes grade reports across all enrolled courses in the semester directly from FAP.
- Component Breakdown: Displays categorized weightings, scores, and syllabus items.
- Target Pass Predictor: Features an interactive target score slider (5.0 to 10.0) calculating the exact minimum final exam score required to pass or achieve target GPA.
- Fail Risk Warnings: Flags component scores below 4.0 to prevent course failure due to minimum threshold rules.
Desktop Schedule and Exam Reminders
- Configurable advance alerts: 15 or 30 minutes before classes; 1 hour or 1 day before exams.
- Scheduled and delivered locally using Chrome Alarms and Notifications APIs.
Attendance Risk Badging
- Automatically calculates cumulative absence rates per course.
- Visual warning badges for 15% to 20% absence, and critical alert badges for rates exceeding 20% (exam ban threshold).
- Direct card click navigation to activity details on FAP.
Security and Chrome Web Store Compliance
- 100% Offline and Zero External CDNs: All modules are self-contained and run locally without remote script dependencies.
- No Remote Code Execution: Compliant with Manifest V3 restrictions (no
eval, nonew Function). - Zero Telemetry and Tracking: No analytics or external network requests; student data stays strictly on the local machine.
- Automated Verification: 95 of 95 tests passing via
node --test.
Release Assets
fptu-schedule.zip: Complete Chrome extension package ready for Chrome Web Store submission or unpacked developer loading.
Release v3.2.0
FPTU Schedule v3.2.0
Phiên bản 3.2.0 tập trung hoàn thiện tab Lịch học, đồng bộ nhiều tuần, gợi ý ôn tập trên thẻ kỳ thi, và chỉnh giao diện cho dễ đọc hơn trên Chrome Web Store.
Tính năng & luồng dùng
- Lịch học: xem lịch theo tuần, tải/xuất lịch, đồng bộ dữ liệu từ FAP.
- Đồng bộ khoảng tuần: chạy nền qua service worker; popup nhớ trạng thái khi mở lại.
- Gợi ý ôn tập: theo mã môn, cấu hình trong
study-sources.json, kèm fallback Quizlet / Google (chỉ mở tab khi bạn bấm). - Kỳ thi: tab sắp diễn ra / đã xong, lọc loại kỳ thi, đếm ngược, xuất
.ics.
Giao diện (bản 3.2.0)
- Nút hành động chính (Tải lịch, v.v.) dùng lại màu xanh accent của extension.
- Khối Ôn tập trên thẻ kỳ thi: nút Quizlet / Google nền trắng, chữ tối, dễ tách khỏi nền splash.
Bảo mật & Store
- Thu hẹp quyền truy cập tài nguyên; chỉ cho phép URL
https:cho liên kết gợi ý học. manifest3.2.0 — gói zip:fptu-schedule.zip.
Cài đặt
- Chrome: tải zip từ phần Assets hoặc clone repo rồi Load unpacked tại
chrome://extensions/.
Full changelog: v2.0.2...v3.2.0
V2.0.2
V2.0.3 Hotfix
V2.0.3 Hotfix
- Sửa lỗi một số cơ sở fap để định dạng giờ khác nên không lấy được