Commit Graph

73 Commits

Author SHA1 Message Date
aewing 5834bd1e60 Load env from Secrets path with fallback 2026-06-11 18:56:45 -05:00
aewing a5408ba8da Keep new note form cleared after create 2026-03-29 03:36:01 +00:00
aewing 602c275644 Use exact-case TasGrid task collection 2026-03-29 03:32:26 +00:00
aewing d70a8b64c6 Mirror Job-Info-Test PB token validation flow 2026-03-29 03:29:19 +00:00
aewing a045a1fbd8 Add PocketBase token context diagnostics 2026-03-29 03:22:51 +00:00
aewing a34b362683 Broaden Tasgird task lookup fallbacks 2026-03-29 03:19:52 +00:00
aewing 69c8d80ef2 Harden Tasgird user task lookup 2026-03-29 03:16:07 +00:00
aewing e6b727b345 Resolve tasks by Users.name to Tasgird user relation 2026-03-29 03:12:26 +00:00
aewing b3b2a2e2f0 Return real task lookup failures instead of false rules warnings 2026-03-29 03:08:05 +00:00
aewing 006f976f57 Use request-scoped PocketBase auth for task endpoints 2026-03-29 03:05:41 +00:00
aewing 49824ea3c6 Use exact Users.name for current task lookup and auto-load tasks 2026-03-29 03:00:32 +00:00
aewing 6abaf6c778 Use user name for tasks lookup with robust fallbacks 2026-03-29 02:51:14 +00:00
aewing d042f00230 Enforce job note number at toggle level and tighten save UX 2026-03-29 02:36:07 +00:00
aewing 9a6da32504 Use job note toggle and require job number for job_note 2026-03-29 02:19:13 +00:00
aewing 21c8b4b4c7 Prevent accidental duplicate notes in workspace actions 2026-03-28 21:31:02 +00:00
aewing c4c5906daf Add audio recording workflow to notes workspace 2026-03-28 19:59:07 +00:00
aewing e9d520fd5e Add attachments workflow to notes workspace 2026-03-28 19:43:30 +00:00
aewing 744adc8645 Auto-load notes on notes workspace startup for existing sessions 2026-03-28 19:36:37 +00:00
aewing 7ecb7256de Align notes workspace filter/load behavior with legacy records 2026-03-28 19:33:31 +00:00
aewing da1a97b8fd Fix notes workspace filters for string-based boolean fields 2026-03-28 19:29:15 +00:00
aewing 94d6840ef7 Add modern notes workspace with core legacy note functions 2026-03-28 19:26:35 +00:00
aewing 17904cff3a Promote legacy notes UI to native notes.html route 2026-03-28 19:22:11 +00:00
aewing d6b0e3192a Add isolated legacy notes route and tasks view with resilient task APIs 2026-03-28 19:17:56 +00:00
aewing 8ca2c97e37 Upgrade OneNote sync with section/page targeting and edit mode
- Add GET /api/onenote/section-pages endpoint for listing pages in a section
- Extend /api/onenote/append with syncMode add/edit support
- Support editing an existing note block by noteId on a selected page
- Keep add mode for appending to selected page or creating new page in section
- Add Note + Sync UI controls for sync mode, section/page target, existing noteId,
  and optional new page title
- Wire frontend flow to load sync targets and pages, then sync with selected mode
2026-03-24 18:45:27 +00:00
aewing 513e975530 Fix PocketBase auth and note submission
- Replace popup OAuth with SDK authWithOAuth2 realtime channel (urlCallback)
  so login works in Edge app mode without navigating the main window
- Remove manual redirect/sessionStorage OAuth flow that broke in Edge app mode
- Serve PocketBase config (URL, collection, provider) from server endpoint
  backed by env vars instead of hardcoded localhost
- Fix /api/submit: target Notes collection with correct field mapping
  (body_plain, body_html, title, type, email, Username, userId, job_note,
  Job_Number) instead of Job_Info_Prod with wrong field names
- Remove localhost fallbacks from auth-module backend and frontend
2026-03-24 18:29:51 +00:00
aewing c76739d0d7 Update Prism Notes branding and OneNote sync UI 2026-03-24 17:15:19 +00:00
aewing 04ae0c0c82 UI improvements: filter buttons, note detail styling
- Color-code filter buttons to match note types: grey (all), green (my shared), blue (shared with me), pink (job), orange (manager), amber (personal)
- Decrease note detail container width: max-w-4xl → max-w-2xl
- Increase body text area height to 224px with min-height on display
- Hide Audio/Attachments labels when no content present
- Remove placeholder text for empty audio/attachments sections
2026-01-16 12:06:06 +00:00
aewing 4c6058c656 Extract auth module: standalone PocketBase OAuth2 + Graph token management
- Create reusable auth-module/ with frontend and backend components
- Frontend: PocketBaseAuth class for OAuth2 login and token management
- Backend: GraphTokenManager and PocketBaseValidator for token operations
- Includes TypeScript types and comprehensive README
- No project-specific dependencies - ready to use in other projects
2026-01-16 03:49:52 +00:00
aewing 864fcab1ce Fix voice search for notes list
- Fix 'already started' error in speech recognition
- Add toggle behavior for voice button (start/stop)
- Improve transcript handling for single words
- Show interim results in real-time as user speaks
- Add detailed console logging for debugging
- Ensure search triggers on final results
- Search already covers both title and body fields
2026-01-16 02:42:04 +00:00
aewing 1b751742dc Add hidden notes feature, note filters, detail view edit/delete, and dynamic styling
- Hidden notes feature: hide/unhide notes with dedicated view, matching main list styling
- Filter buttons: All Notes, My Shared, Shared With Me, Job Notes, Manager Notes, Personal Notes
- Note detail view: dynamic background colors matching note card styling
- Edit functionality: double-click title/body to edit, inline save/cancel
- Soft delete: delete button with confirmation, sets delete=true in database
- Icon updates: magnifying glass for hide/unhide actions (14px)
- Session log: documented all feature changes
2026-01-16 02:28:48 +00:00
aewing 95888562a0 Add alert sound on note share - plays for recipients only, fix favicon 404 2026-01-16 01:44:57 +00:00
aewing 7c4459fd47 Add alert creation on note sharing - triggers alerts for shared_with users 2026-01-16 01:29:48 +00:00
aewing 9ced9fd4ed User email lookup component + architecture decision: Vite frontend + Bun backend 2026-01-14 13:25:47 +00:00
aewing efbe5d6573 Add user email lookup component for sharing UI tooltips 2026-01-14 12:59:28 +00:00
aewing 534016e9d5 Standards alignment: Document .js tools deviation, fix port 3030, enhance tool documentation 2026-01-14 12:47:22 +00:00
aewing 2c384eb734 Standards audit: Remove npm lock file, establish audit process & deviations tracking 2026-01-14 12:38:03 +00:00
aewing acf188b708 Fix alert system initialization - clean up testAlertSound function scope 2026-01-12 13:24:28 +00:00
aewing 8d99d77e7a Redesign note card layout for shared notes
- Type bubble (colored dot) appears inline with body text, far right, only on shared notes
- Shared with capsules displayed in bottom right with consistent person-based colors
- Attachment icons in bottom left
- Body text truncated to single line to maintain consistent card heights
- Added color palette for person names (8 distinct colors) with hash-based consistency
- Removed metadata display from card footer
- Cleaner visual hierarchy with all key info visible at a glance
2026-01-11 22:23:40 +00:00
aewing 9d3e176773 Restructure note card layout for shared notes
- Type bubble (colored dot) now appears only on shared notes below timestamp
- Type bubble positioned on far right, below the timestamp
- Shared with capsules display below type bubble on the right side
- Non-shared notes show meta info and attachment icons as before
- Cleaner visual hierarchy: timestamp/type on top, content in middle, details at bottom
2026-01-11 21:28:41 +00:00
aewing 77312dfdad Add share note functionality with multiselect field support and adjust layout spacing
- Added share note input field with comma-separated name parsing
- Integrated shared_with and shared boolean fields to note payload
- Reduced form spacing (space-y-4 to space-y-2.5) to accommodate new field
- Adjusted container positioning: noteContainer translateY(-33px), notesListContainer translateY(-24px)
- Share functionality now working with PocketBase multiselect field validation
- Note cards will display green background when shared=true
2026-01-11 06:30:21 +00:00
aewing 8a0bf92da4 Add note sharing feature: user selection, shared status, green card styling, and type badges 2026-01-11 05:38:07 +00:00
aewing 54d262b97d Restore three-button capture interface: Share Entire Screen, Snip, Cancel 2026-01-11 05:14:15 +00:00
aewing ccb239c84b Restructure attachment menu with submenus and adjust container sizing/positioning
- Reorganize attachment menu: main menu shows Attach Image, Attach Video, Attach File
- Clicking Attach Image/Video opens submenus with take photo/video and select file options
- Move menu to open to the right of attach button instead of below
- Apply same submenu structure to both note and conversation containers
- Decrease height of notesListContainer and noteContainer for compact layout
- Center containers vertically on page
- Move attachments section and submit button up 30px within noteContainer
- Adjust vertical padding and margins for optimal spacing
- Reduce noteContainer height by 15px and move down 4px
- Increase notesListContainer height by 2px and move down 4px
- Fine-tune noteContainer height and positioning (py-[8px], mt-4)
2026-01-11 03:30:40 +00:00
aewing 8a70038b64 Add camera vs file picker options for image and video attachments
- Add separate buttons: 'Attach Image' and 'Take Photo'
- Add separate buttons: 'Attach Video' and 'Record Video'
- Create separate file inputs: imageInput/imageCameraInput, videoInput/videoCameraInput
- imageCameraInput and videoCameraInput have capture="environment" attribute
- imageInput and videoInput are for file picker (no capture attribute)
- Both note and conversation menus updated with same structure
- Update all event listeners and clear handlers for new inputs
2026-01-11 03:03:12 +00:00
aewing d7c42de0d7 Add capture attribute to image and video inputs for camera access
- Add capture="environment" to imageInput and videoInput
- Add capture="environment" to conversationImageInput and conversationVideoInput
- Enables camera/video capture on mobile and desktop devices
- Falls back to file picker on devices without camera capability
2026-01-11 02:44:48 +00:00
aewing af0fef4f08 Simplify attachment menu: keep only image, video, file options
- Remove Record Video option and related MediaRecorder implementation
- Remove Take Picture option and camera input handling
- Update both note and conversation attachment menus
- Remove unused event listeners and variable declarations
- Simplify file input arrays to 3 inputs instead of 4
2026-01-11 02:41:51 +00:00
aewing 8009ad1eb3 recording working righ, but menu is not correct yet 2026-01-11 02:38:28 +00:00
aewing a19a4495f4 Add zoom in/out controls to attachment preview
- Add zoom in (+), zoom out (−), reset, and close buttons to preview panel
- Zoom buttons only show for images (other media types don't need zoom)
- Zoom level indicator shows current zoom percentage
- Support zoom levels: 100% to 400% in 25% increments
- Image zoom uses CSS transform scale for smooth performance
- Click on image to toggle between 100% and 150% zoom (quick toggle)
- Reset button appears when zoomed in, allows quick return to original
- Zoom out button only appears when zoomed in
- Preview panel has scrollable content area (max-height 600px)
- Maintains aspect ratio and smooth transitions during zoom
2026-01-11 02:32:11 +00:00
aewing 649d9652b6 Fix container overflow: constrain height and reduce bottom padding
- Add max-h-[calc(100vh-120px)] and overflow-y-auto to note and conversation containers
- Reduce bottom padding from pb-32 (128px) to pb-16 (64px)
- Prevents form containers from expanding beyond viewport bounds
- Keeps header buttons (New Note, Conversations) visible at all times
- Allows scrolling within form when content exceeds viewport height
2026-01-10 23:07:02 +00:00
aewing 26092b314b Add video recording UI and preview functionality
- Show visible 'Recording Video...' indicator with pulsing red dot when recording starts
- Add 'Stop Recording' button for easy access (not just text feedback)
- Display video preview player after recording completes
- Add 'Use Video' button to attach recorded video to form
- Add 'Remove Video' button to discard recording without attaching
- Implement separate video recording for note and conversation containers
- Store video blob in window.noteVideoBlob and window.conversationVideoBlob
- Video player shows up to 300px height with full controls
- Red/green color scheme for visual feedback (recording = red, actions = green)
2026-01-10 23:02:34 +00:00