Skip to content

Releases: the-codeSentinels/core

Day 7: snapshot upload, remote relay, signed DMG

Choose a tag to compare

@mann-uofg mann-uofg released this 06 May 06:48
v1.2.0

Merge remote-tracking branch 'origin/main'

v1.1.0 – Day 6: Exam Timer & Auto-Submit

Choose a tag to compare

@mann-uofg mann-uofg released this 01 May 06:21

v1.1.0 – Day 6: Exam Timer & Relay Hardening

🚀 Key Features

Feature Details
Configurable Exam Timer - Inline panel lets the interviewer pick any duration (10–180 min) before the test starts.
                                   - In production kiosk mode a hard-coded `durationMs` prop auto-starts the timer and hides the picker.                     |

| Grace-Period Auto-Submit | - When the countdown hits 00:00, the IDE switches to read-only, broadcasts an examEnd event, and shows a full-screen overlay
- Overlay reads “Time is up! Closing in 5 seconds…” then the app exits automatically. |
| IPC-Based Safe Quit | - Renderer sends a quitAfterTimer IPC message; main process calls app.quit() for a clean exit on macOS & Windows. |
| Relay Auto-Detect / No Double-Bind | - startRelay() checks ports 9000/9001 before binding.
- If a relay is already running, it logs “🟡 relay already running” instead of crashing with EADDRINUSE. |
| Heartbeat Endpoint | - HTTP /heartbeat on port 9001 returns the latest timestamp for external monitoring. |
| Focus-Loss Telemetry | - On window blur, the app immediately refocuses and sends a blur event to the interviewer console. |
| CI Packaging Job | - GitHub Actions now runs npm run dist on every push, producing ready-to-download macOS DMG & Windows EXE artifacts. |


🛠 Upgrade Notes

  1. Terminal workflows

    • Single-terminal: npm run dev:all spins up Vite, relay, heartbeat & Electron together.
    • Multi-terminal:
      npm run relay    # starts WS & HTTP relay
      npm run dev      # starts Vite
      npm run electron # launches kiosk
  2. Exam length

    • To lock in a duration on the kiosk, pass durationMs={examLength} into <Timer> in main.jsx.
    • To let the interviewer choose at runtime, omit the prop (the setup panel appears).
  3. Release artifacts

    • macOS DMG attached below.
    • Gatekeeper codesign prompt expected (no custom cert yet).

Enjoy your locked-down, telemetry-powered coding kiosk! 🎉

v1.0.0 Day 5 – Full Kiosk Lockdown

Choose a tag to compare

@mann-uofg mann-uofg released this 30 Apr 07:36
  • Monaco‐based secure coding IDE

  • Overlay & recorder detection

  • Live blur/focus telemetry

  • Fully locked-down kiosk mode