User email lookup component + architecture decision: Vite frontend + Bun backend
This commit is contained in:
@@ -3,8 +3,69 @@ PRISM NOTES - SESSION LOG
|
||||
Project history, decisions, and architectural milestones
|
||||
================================================================================
|
||||
|
||||
[2026-01-14 16:30] ARCHITECTURE DECISION: Migrate to Vite Frontend + Bun Backend
|
||||
- Decision: Adopt Vite as frontend bundler to enforce TypeScript everywhere
|
||||
- Reasoning: Current .js tool deviation and CDN Tailwind are pragmatically expensive
|
||||
Triggers met: >5 tools, tools interact with PocketBase (type safety needed)
|
||||
- Architecture (FINAL):
|
||||
* Backend: Bun + Hono (server.ts remains unchanged)
|
||||
* Frontend: TypeScript + Vite + PostCSS Tailwind
|
||||
* Tools: Convert to .ts, compiled by Vite bundler
|
||||
* Package Manager: Bun exclusively (one bun.lock, no npm/pnpm conflicts)
|
||||
- Benefits:
|
||||
* Type safety everywhere (no vanilla JS)
|
||||
* HMR in dev (fast reloads <100ms)
|
||||
* Optimized bundles (minified, tree-shaken)
|
||||
* Tools scale cleanly as .ts modules
|
||||
* Removes CDN Tailwind and .js tool deviations
|
||||
- Implementation Plan (Next Session):
|
||||
1. Setup Vite config + package.json scripts (~15 mins)
|
||||
2. Convert index.html to Vite entry point (~30 mins)
|
||||
3. Extract inline scripts to .ts modules (~1 hour)
|
||||
4. Convert all tools to .ts: screen-capture, screen-record, user-alert, user-email-lookup (~2 hours)
|
||||
5. Configure Tailwind with PostCSS for Vite (~15 mins)
|
||||
6. Update Monica persona (Bun backend + Vite frontend standard) (~20 mins)
|
||||
7. Clean DEVIATIONS.txt (remove CDN Tailwind, .js tools entries) (~10 mins)
|
||||
8. Test build pipeline and dev experience (~30 mins)
|
||||
Total: ~4-5 hours
|
||||
- Current State:
|
||||
* User email lookup component created and integrated (NOT committed yet)
|
||||
* All other work committed and synced
|
||||
* Ready for Vite migration on next session
|
||||
- Notes for Next Session:
|
||||
* Start with: `git status` to see uncommitted email-lookup work
|
||||
* Decide: Include email-lookup work in Vite migration OR commit first
|
||||
* Vite setup: Use `npm init vite@latest` as template, adapt to Bun
|
||||
* Key files to create: vite.config.ts, tailwind.config.js, postcss.config.js
|
||||
* Key files to convert: index.html → src/main.ts, all tools to .ts
|
||||
* Build commands: "build": "vite build", "dev": "bun run build && PORT=3030 bun run --watch server.ts"
|
||||
|
||||
[2026-01-14 16:00] MONICA SESSION: User Email Lookup Feature - New Standalone Component
|
||||
- Feature Request: Add hover tooltips showing email addresses when hovering over names in sharing UI
|
||||
- Architecture Decision: Created as standalone component in /tools/user-email-lookup/
|
||||
Reasoning: Self-contained, reusable utility with single responsibility (email lookup)
|
||||
- Implementation:
|
||||
* Created /tools/user-email-lookup/index.js (window.setupUserEmailLookup API)
|
||||
* Created /tools/user-email-lookup/README.md (complete documentation)
|
||||
* Integrated into index.html noteForm and conversationForm
|
||||
* Uses existing Associations collection for first_name → email lookups
|
||||
* Implements email caching to minimize PocketBase queries
|
||||
* Uses MutationObserver for dynamic capsule detection
|
||||
* Shows email in native browser tooltip on hover
|
||||
- Features:
|
||||
* On note creation, user types names (e.g., "John, Sarah, Mike")
|
||||
* Each name creates a capsule in selectedUsersContainer
|
||||
* Hovering over capsule shows email (first hover queries DB, subsequent cached)
|
||||
* Cache persists for page session, can be cleared via window.clearEmailLookupCache()
|
||||
- Integration Points:
|
||||
* Script loaded: <script src="tools/user-email-lookup/index.js"></script>
|
||||
* Initialized: showNoteForm() and showConversationForm()
|
||||
* Container: #selectedUsersContainer (for both notes and conversations)
|
||||
- Status: Implemented and integrated, NOT YET COMMITTED
|
||||
- Note: Will be converted to .ts as part of Vite migration (next session)
|
||||
|
||||
[2026-01-14 15:45] MONICA SESSION: Standards Alignment Fixes
|
||||
- Feature Request: Add hover tooltips showing email addresses when hovering over names in sharing UI
|
||||
- Architecture Decision: Created as standalone component in /tools/user-email-lookup/
|
||||
Reasoning: Self-contained, reusable utility with single responsibility (email lookup)
|
||||
- Implementation:
|
||||
|
||||
Reference in New Issue
Block a user