166 Commits
Author SHA1 Message Date
ssbg04 f6765887f1 fix(converter): set default long bond paper and fit-to-page, remove MS Excel COM 2026-09-18 02:04:06 +08:00
ssbg04 4d0ea25506 feat(docs): upload modal requirements strip with accurate status, collapsible list, and JHS/SHS tags
- Fix requirements strip to use missingRequirementsProvider (per-student) instead
  of global documentRequirementsProvider, so Completed/Archived/Needed states
  are accurately reflected for each student
- Fix dropdown 'Select Document Type' status labels (was always [Completed]);
  now correctly shows [Needed], [Archived], or [Completed] using ID-based lookup
  from missingRequirementsProvider
- Add collapsible/expandable requirements strip with AnimatedCrossFade and
  chevron toggle; shows mandatory-needed badge count in collapsed header
- Split needed chips into Mandatory (red) and Optional (orange) sections;
  add Archived (blueGrey) section distinct from Completed (green)
- Add JHS/SHS category tag on each chip (muted grey badge)
- Simplify chip styling to neutral background/border; color only on status icon
- Remove tap-to-assign chip interaction; chips are now display-only
- Clean up unused _isRequirementMissing, _isRequirementArchived, and
  _assignRequirementToEntry methods
- Update AGENTS.md: move completed Document Screen tasks into commented section
2026-09-18 01:02:57 +08:00
ssbg04 42cec52e21 fix(documents): fix thumbnail generation by selecting doc id and clean cache on delete 2026-09-17 22:28:17 +08:00
ssbg04 6fa533d530 feat(ui): redesign student cards, responsive pagination, and fix doc status sheet button 2026-09-17 20:19:06 +08:00
ssbg04 b737aede64 fix(auth): parse urlencoded form and query fallback for account deletion confirmation 2026-09-17 18:38:08 +08:00
ssbg04 05e11068f4 feat: add account self-deletion, hidden super admin, and selection morph animations 2026-09-17 09:26:56 +08:00
ssbg04 78717e76fe added ms excel COM 2026-09-16 04:59:02 +08:00
ssbg04 d0164c0db3 fix(notif): fix Android background push notification delivery and deduplicate alerts 2026-09-11 19:42:58 +08:00
ssbg04 0f8cf0a5f9 feat(users): add status email alerts and update management UI 2026-09-11 06:06:49 +08:00
ssbg04 d8dd86ba04 feat: dynamic file upload limit per document requirement (frontend & backend) 2026-09-10 17:29:01 +08:00
ssbg04 01d636ea19 feat: implement roadmap updates, archive purge removal, and backend notifications/email resilience 2026-09-10 17:09:13 +08:00
ssbg04 fa0df9ed40 feat(dashboard): show document status distribution count over total requirements 2026-09-08 20:36:17 +08:00
ssbg04 e3452099cd fix(tunnel): separate health states, remove fake inferred-connected logic, add origin polling
- Remove INFERRED_CONNECT_MS: tunnelConnected is now only set true when
  cloudflared logs 'Registered tunnel connection' — never inferred from
  process uptime.

- Add four independent health dimensions:
    cloudflaredRunning  — child process alive/exited
    tunnelConnected     — actual cloudflared connection registered
    originHealthy       — http://127.0.0.1:18484/ reachable (polled every 20s)
    publicEndpointStatus — diagnostic only, never triggers restart

- Add checkOriginHealth(): polls 127.0.0.1:18484 with explicit IPv4
  (family:4) to avoid Windows localhost/IPv6 ambiguity.

- Restart cloudflared ONLY on process exit. A public 502/503/504/530
  is never a restart trigger.

- Add 90s startup connection timeout: logs 'degraded' warning with full
  diagnostics if no connection registered, but does NOT kill the process.

- Improve structured [Tunnel] logging: clearly distinguishes origin,
  process, connection, and public endpoint health in every log line.

- Token: never log the full value; log first 6 chars only as proof of
  configuration. Fail fast with clear error if token is missing.

- Duplicate process guard: explicit log when skipping a second spawn.

- start_tunnel.bat: add prominent warning not to run while backend is
  active; suppress token echo; add --no-autoupdate flag.
2026-09-01 16:49:10 +08:00
ssbg04 fb99ed0fb8 refactor(backend): clean cloudflare tunnel service and sanitize batch runner 2026-09-01 06:14:43 +08:00
ssbg04 7ffd5e2ae0 fix: embed email logo as CID attachment to fix broken icons in Gmail/Outlook 2026-09-01 01:26:51 +08:00
ssbg04 8fa366a61d feat: auto-detect 502 Bad Gateway on tunnel URL and self-heal 2026-09-01 01:18:07 +08:00
ssbg04 91a6383da7 fix: nodemon restart causes zombie cloudflared processes on Windows 2026-09-01 01:07:23 +08:00
ssbg04 e6a0a69271 feat: redesign email templates with school logo, digit OTP boxes, table layout 2026-09-01 00:58:35 +08:00
ssbg04 3dcad8878b fix: tunnel stability, NSSM service installer, cleanup old service scripts 2026-09-01 00:49:23 +08:00
ssbg04 906df823b5 fix(tunnel): add fix_conflicting_tunnel_service.bat to remove conflicting background service 2026-09-01 00:15:29 +08:00
ssbg04 c4bd6b0f4e feat(users): prioritize public domain and tunnel for email reset links over LAN IP 2026-09-01 00:12:13 +08:00
ssbg04 02645de474 fix(tunnel): synchronize valid tunnel token in start_tunnel.bat 2026-09-01 00:07:07 +08:00
ssbg04 0f0c73f8f4 fix(tunnel): ensure immediate tunnel activation and restore connected status log 2026-08-31 23:59:14 +08:00
ssbg04 7c4bff2191 fix(tunnel): stabilize cloudflared on Windows with QUIC protocol, non-blocking process management, and resilient connectivity checks 2026-08-31 23:54:57 +08:00
ssbg04 8c82db71e7 fix(tunnel): resolve Windows tunnel protocol delay and sync start_tunnel token 2026-08-31 23:48:22 +08:00
ssbg04 76a3bc6916 fix(tunnel): fix tunneling stalling/failing when connected to LAN 2026-08-31 23:44:41 +08:00
ssbg04 4f28947ca2 feat(users): prioritize public tunnel URL for reset email links 2026-08-31 23:34:35 +08:00
ssbg04 351b50f3cf feat(users): auto-detect Cloudflare Tunnel vs LAN IP for password reset link 2026-08-31 23:28:55 +08:00
ssbg04 661ba275c2 feat(users): implement admin email password reset with expiration, web reset form, and push notifications 2026-08-31 23:25:46 +08:00
ssbg04 c41ecb0a40 feat(filters): sort academic year filters descending with latest year first 2026-08-31 21:49:43 +08:00
ssbg04 7eb02e3044 feat(filters): sort academic year filters ascending chronologically 2026-08-31 21:45:53 +08:00
ssbg04 4236986d4e feat(reports): convert 4Ps beneficiaries to comparative previous vs active year table with JHS/SHS separation and remarks 2026-08-31 21:38:47 +08:00
ssbg04 5430dbcb63 feat: resolve highest grade level, prevent enrollment downgrades, format academic year XXXX-XXXX, and add Windows form margins 2026-08-31 20:35:09 +08:00
ssbg04 707082c6dd feat(reports): add inactive status to yearly comparison, fix Windows layout overflow, and remove storage chip 2026-08-30 20:45:33 +08:00
ssbg04 3dc10845e0 feat: add academic year filter to DepEd transparency board and update dialog title 2026-08-30 20:16:47 +08:00
ssbg04 a0ae156733 feat(reports): make horizontal graph scrollbars permanently visible, hide vertical scrollbar, and allow teacher document uploads 2026-08-30 15:21:01 +08:00
ssbg04 175b959eac fix(system): enhance student folders scoping, modal responsive sizing, reports scrollbar and clean password reset requests 2026-08-30 15:06:18 +08:00
ssbg04 f2c259891d feat: show missing requirements on dashboard student hover, fix student grade/sec resolution, and scope teacher stats to assigned sections 2026-08-30 14:05:10 +08:00
ssbg04 42d97dd32a feat: add animated LRN copy button, restore teacher upload, single-word dialog titles, and system-wide admin stats 2026-08-30 13:45:22 +08:00
ssbg04 a012bda370 feat: align dashboard metrics and scope student roster to active academic year 2026-08-30 13:21:53 +08:00
ssbg04 3d0708dc7a feat: improve activity logs readability, hide deactivated teachers in setup, fix modal sizing and tabs 2026-08-30 11:26:47 +08:00
ssbg04 b04433019c feat: make document breakdown responsive with sequential auto-rotation and add student rankings modal 2026-08-30 10:58:46 +08:00
ssbg04 472714aa2b fix(dashboard): calculate digitalization progress based on all mandatory requirements completed 2026-08-30 10:01:50 +08:00
ssbg04 cedf7f3d00 feat(dashboard): active academic year KPI overhaul, document duplicate prevention, suffix cleanup, and JHS/SHS filter separation 2026-08-30 02:18:43 +08:00
ssbg04 95671e39b7 fix(auth): revoke JWT on user deactivation, unregister FCM token on logout, and purge tokens on password reset 2026-08-30 00:49:08 +08:00
ssbg04 ee47158e74 feat(auth): add self-service email OTP password reset with Nodemailer and Gmail SMTP 2026-08-30 00:29:36 +08:00
ssbg04 3da79ec92f feat(reports): enhance compliance table tooltips, yearly comparison filtering, and horizontal scrolling 2026-08-29 22:44:04 +08:00
ssbg04 ae2cfe1495 feat: hide archived documents from active lists and exclude from requirement counts 2026-08-29 10:42:06 +08:00
ssbg04 4d585f3a6d feat: student profile FAB, recycle bin requirements count fix, and persistent sticky table header 2026-08-27 22:28:16 +08:00
ssbg04 b3290b43a0 fix bug enrollment in bulk add 2026-08-24 03:33:24 +08:00