Files
Job-Form/NOTES.md
T
aewing d4628eb9a1 feat: migrate to Bun-native, fix Planner task dates, remove hardcoded test values
- Remove dotenv dependency, implement lightweight Bun-native env loader
- Replace Node.js fs/path with Bun file APIs (Bun.file, Bun.write)
- Fix Planner task creation to use form's due date with proper UTC handling
- Make table name, Planner assignee configurable via activeConfig and env vars
- Remove all hardcoded test values for PROD readiness
- Update NOTES.md with PROD mode checklist
2026-01-07 13:40:23 +00:00

1.6 KiB

Session Notes

2026-01-07

Context

  • Picked up the Job-Form project
  • Stack: TypeScript server, HTML frontend with TailwindCSS
  • Current version: v1.0.0-beta4

Project Summary

  • Purpose: Job creation form with Excel sync and PocketBase backend
  • Features:
    • Form submission → PocketBase record → Excel sync
    • Teams channel notifications (Adaptive Cards)
    • Teams message management UI

Known Issues / Limitations

  • Teams message deletion not supported via Graph API (HTTP 405) — platform limitation
  • Workaround: Delete messages directly in Teams client

Today's Work

  • Migrate to full Bun-native stack (removed dotenv, use Bun file APIs)
  • Fix Planner task creation to use form's due date with proper UTC handling
  • Remove hardcoded test values — now uses activeConfig for all environments
  • Make assignee configurable via PLANNER_ASSIGNEE_ID env var

PROD Mode Checklist

Before switching MODE = 'PROD', ensure /home/admin/secrets/.env contains:

  • PB_COLLECTION - PocketBase collection name (e.g., Job_Info_Prod)
  • EXCEL_TABLE_NAME - Excel table name (e.g., Job_List)
  • PLANNER_GROUP_ID - Microsoft Planner group ID
  • PLANNER_PLAN_ID - Microsoft Planner plan ID
  • PLANNER_BUCKET_ID - Microsoft Planner bucket ID
  • PLANNER_ASSIGNEE_ID - User ID for Planner task assignee (e.g., 1a6e9d10-138a-43e4-a09e-1f50463148c9)
  • PLANNER_ASSIGNEE_NAME - Display name for assignee (e.g., Alex Ewing)
  • All standard Azure AD + PocketBase creds (CLIENT_ID, CLIENT_SECRET, etc.)

No hardcoded test values remain in the codebase.


Last updated: 2026-01-07