Commit Graph

698 Commits

Author SHA1 Message Date
rishikanthc
f7972c66d8 fix: PWA icon bg color 2025-12-14 19:05:18 -08:00
rishikanthc
063468c7ef feat: update pwa icons and favicon 2025-12-14 18:55:28 -08:00
rishikanthc
1a56370460 feat: redesign icon logo and implement independent dev workflow 2025-12-14 18:44:48 -08:00
rishikanthc
768bd73f67 fix: change logo.. fix chat 2025-12-14 18:26:30 -08:00
rishikanthc
e789053330 feat: implement infinite scroll in audio files table
replaced load more button with intersection observer and added skeleton loaders
2025-12-14 13:34:12 -08:00
rishikanthc
f7cbdf2d06 feat: enhance queue status visibility
- Implemented strict separation between 'pending' (queued) and 'uploaded' (waiting) states
- Added queue position indicator (Queue #N) for pending jobs
- Fixed React hook dependency bug that caused queue positions to display as #-
2025-12-14 13:03:29 -08:00
rishikanthc
c707f89233 fix: remove timer-based job scanner that caused duplicate transcriptions
The jobScanner was running every 10 seconds and re-enqueueing jobs that
were already in the queue but hadn't started processing yet. This caused
completed files to be re-transcribed when auto-transcribe was enabled.

Changes:
- Removed jobScanner goroutine (10-second polling loop)
- Removed scanPendingJobs function
- Added recoverPendingJobs that runs ONCE at startup to recover
  any pending jobs left from previous server runs
- Jobs are now only enqueued when explicitly requested:
  - Upload with auto-transcribe enabled
  - Manual transcription start
  - Server restart recovery (one-time)
2025-12-14 12:55:56 -08:00
rishikanthc
be9ea95dab feat: replace advanced transcribe icon with WandAdvancedIcon
- Created WandAdvancedIcon component (Wand2 with + badge)
- Updated AudioFilesTable to use new icon for 'Transcribe (Advanced)'
- Updated SwipeableItem to use new icon in mobile swipe actions
- Makes it clear advanced transcribe is related to regular transcribe
2025-12-14 12:49:43 -08:00
rishikanthc
79800e2320 feat: enable global audio upload from any page and add dialog blur
- Created GlobalUploadContext for global upload functionality
- Header now uses context when props not provided
- Upload from Settings/AudioDetail shows toast notifications
- Upload from Dashboard shows progress bar
- All add button options (Quick Transcribe, YouTube, Record, etc.) work everywhere
- Added backdrop-blur-sm to Dialog and AlertDialog overlays
- Fixed dialog flash bug by setting modal default to true
2025-12-14 12:44:09 -08:00
rishikanthc
ffeaf766cd fix(api): return graceful empty responses instead of 400/404
- GetTranscript returns 200 with available=false when transcript not ready
- GetJobExecutionData returns 200 with available=false when no execution
- GetJobLogs returns JSON with available=false when no logs exist
- Updated frontend hooks to handle new response format with available field
- Added .gitignore entries for prompt.txt and .agent folder
2025-12-14 12:10:37 -08:00
rishikanthc
c5143a0893 fix(streaming): add proper headers for real-time chunk delivery
- Add Transfer-Encoding chunked and X-Accel-Buffering headers to chat and summarize handlers
- Start response immediately with c.Status(http.StatusOK)
- Fix SummaryDialog: wider desktop, reading font, no inner border, darker text
- Add generating animation while waiting for first LLM chunk
2025-12-14 11:15:17 -08:00
rishikanthc
71b9cb1c69 feat(chat): real-time streaming, thinking display, and card redesign
- Add real-time thinking message parsing with streaming cursor
- Implement ThinkingBlock component with auto-expand during generation
- Redesign chat cards following Scriberr design system (dual-shadow, micro-borders)
- Add intelligent context trimming with auto-removal of old messages
- Display context usage badge with warning at 80%+
- Add context headers (X-Context-Used, X-Context-Limit, X-Messages-Trimmed)
- Fix Ollama system message handling by embedding in first user message
- Add transcript loading fallback mechanism
2025-12-14 10:50:55 -08:00
rishikanthc
0fedf29ac5 feat: show context length, thinking messages separately, automatic context management 2025-12-14 10:45:50 -08:00
rishikanthc
71538d16cb fix: testing fix for long transcript chat sessions 2025-12-14 10:15:42 -08:00
rishikanthc
6a27a1f91c fix: testing fix for long transcript chat sessions 2025-12-14 10:07:13 -08:00
rishikanthc
15a9067826 fix: elements moving around on popup or interactions 2025-12-13 19:02:51 -08:00
rishikanthc
6f4d1b99c2 fix: redesign summary template dialogue 2025-12-13 18:40:47 -08:00
rishikanthc
ee40ffcd46 fix: redesign transcription config dialogue 2025-12-13 18:27:22 -08:00
rishikanthc
55bbfcb903 fix(ui): Fix selected card translucency and redesign login page
- Fix action button bleed-through on selected cards by using solid bg-orange-50
  instead of transparent bg-orange-50/50
- Redesign login page with Scriberr design system:
  - Brand gradient button (orange to red)
  - CSS variable tokens for theming
  - Floating card with shadow
  - Rounded inputs with focus states
  - Fluid UI principles (generous spacing, micro-animations)
2025-12-13 17:49:45 -08:00
rishikanthc
f672ead462 feat(mobile): Add swipe-to-reveal actions for audio cards
- Add SwipeableItem component with framer-motion physics animations
- Implement iOS-style swipe gesture to reveal Transcribe/Delete actions
- Add first-visit discovery nudge animation (localStorage)
- Integrate with AudioFilesTable, replace mobile kebab menu
- Add robust gesture coordination: swipe vs long-press vs click
  - Cancel long-press on finger movement (10px threshold)
  - Suppress clicks for 150ms after swipe ends
  - Track swipe state via onSwipeStateChange callback
2025-12-13 17:45:33 -08:00
rishikanthc
6de10a49a5 consolidate code to define design system into reusable building blocks - chat 2025-12-13 15:04:41 -08:00
rishikanthc
7f18a522de consolidate code to define design system into reusable building blocks 2025-12-13 15:04:00 -08:00
rishikanthc
94509e3f4e fix: errors on empty 2025-12-13 14:50:30 -08:00
rishikanthc
bfebaf78eb fix: make text selecton on mobile devices robust - position floating pill menu 2025-12-13 14:40:35 -08:00
rishikanthc
5b1384dace fix: overlapping text selection pill - notes editor dialogue redesign 2025-12-13 14:22:09 -08:00
rishikanthc
6c0abfaf52 fix: text selection on mobile devices - actions on selection ranges 2025-12-13 13:33:18 -08:00
rishikanthc
1bf228470f fix: text selection in mobile 2025-12-12 17:50:40 -08:00
rishikanthc
1011be2e22 feat: ui refinements and settings reactivity
- Replace status pills with icons in Audio Detail view
- Make settings changes (summary profiles) reactive
- Update karaoke highlight to use text accent color
- Remove transcription card styling on mobile
- Remove Scriberr logo from chat panel
2025-12-12 15:22:22 -08:00
rishikanthc
14720475e3 fix: disable click-to-seek handlers on mobile devices
- Prevent interference with native text selection on touch devices
- Remove click listeners for timestamps/words when isMobile is true
2025-12-12 14:57:03 -08:00
rishikanthc
bdd2fbcbf9 fix: enable granular text selection on mobile devices
- Add 'select-text' utility to transcript containers
- Override default touch selection behavior
2025-12-12 14:37:52 -08:00
rishikanthc
b2f1c84520 feat: persist audio visualizer state on pause
- Initialize visualizer with static wave pattern to avoid blank canvas
- Persist frequency data on pause instead of clearing canvas
- Ensure animation loop handles static state rendering
2025-12-12 14:33:53 -08:00
rishikanthc
f948857d60 feat: update UI fonts and implement karaoke highlight
- Switch transcript font to Literata with improved typography
- Fix audio icon hover visibility in file list
- Implement CSS Highlight API for high-performance karaoke word highlighting
- Update text colors for better contrast
2025-12-12 14:26:50 -08:00
rishikanthc
13f3bee1f5 feat: refactor bulk selection UX
- Remove checkbox column from audio files table
- Implement Shift+Click range selection logic for desktop
- Implement Long-Press selection logic for mobile
- Add 'Clear Selection' button to floating action bar
- Add useLongPress hook
2025-12-12 14:02:33 -08:00
rishikanthc
7065a6df1b feat: implement per-job SSE for real-time status updates
- Implement SSE Broadcaster with job-based subscription support
- Add /api/v1/events endpoint for SSE streaming
- Update transcription service and handlers to broadcast job events
- Implement frontend per-job SSE connection logic
- Remove legacy polling from audio list hooks
- Fix server shutdown deadlock issue
2025-12-12 13:37:44 -08:00
rishikanthc
bba3e102b2 make bulk actions selection more accessible 2025-12-12 12:53:59 -08:00
rishikanthc
abc97c003a because i was dumb enough to not look at code 2025-12-12 12:07:58 -08:00
rishikanthc
74a428e7fa fix: search on homepage - change fonts - fix minor details in dashbaord 2025-12-12 12:04:24 -08:00
rishikanthc
36cad7fa08 fix button consistency and reorder card status and actions 2025-12-12 11:24:13 -08:00
rishikanthc
b957f32026 feat(ui): visual polish and layout refinements
- AudioFilesTable: Implemented 'Right-Side Cluster' layout (Status + Actions)
- AudioFilesTable: Updated audio icons to rounded-xl with pastel tint
- AudioFilesTable: Replaced text status pills with minimal icons
- AudioFilesTable: Removed duration display as requested
- Header: Updated 'Jewel' Add Button to rounded-xl
- Global: Applied 'rounded square' aesthetic to match design system
2025-12-12 11:19:00 -08:00
rishikanthc
54d477f9a8 Standardize Layout: Introduce MainLayout & Apply to Core Views
- **MainLayout**: New component enforcing 960px centered column & consistent header spacing.
- **Header**: Moved Border logic to allow cleaner template usage (removed bottom border from layout container manually).
- **Refactors**:
    - **Dashboard**: Adopted `MainLayout`.
    - **Settings**: Adopted `MainLayout`.
    - **AudioDetails**: Aligned Left Pane to `MainLayout` specs.
2025-12-12 10:03:33 -08:00
rishikanthc
9d40978892 Sidebar Polish: Overlay Actions, Custom Delete Dialog & Improved Search
- **Session Cards**: Actions are now hover-only overlays; removed message count.
- **Delete Dialog**: Replaced browser confirm with custom AlertDialog.
- **Search**: Improved input visibility and focus styles.
2025-12-12 09:43:39 -08:00
rishikanthc
547a5c174a UI Polish: Improve Split-View Resizer & consolidate Chat Button
- **Resizer**: Increased hit area for easier grabbing; added visual hover state.
- **Split View**: Removed shadow causing visual gap; reduced to single pixel border.
- **Chat Button**: Consolidated into single responsive button (hidden text on mobile).
2025-12-12 09:33:53 -08:00
rishikanthc
144ea7465f Fix Mobile Layout & Revamp New Chat Dialog
- **Mobile UX**:
  - Added dedicated Chat button to mobile toolbar.
  - Implemented full-screen overlay for mobile chat.
  - Added safe-area padding for mobile inputs.
- **New Chat Dialog**:
  - applied 'Raised White' glassmorphism style.
  - Updated inputs with Orange branding.
  - Used Orange Gradient for primary creation action.
2025-12-11 22:06:47 -08:00
rishikanthc
17b58f869b Polish Chat UI: Refined Styles, Icons & Interactions
- Updated ChatInterface:
  - Replaced 'Bot' icon with 'Sparkles' to better represent AI service.
  - Removed 'Scriberr AI' text label for cleaner look.
  - Applied 'lifted' style (shadow-sm) to message bubbles.
  - Refined input area and Send button with brand colors.
- Updated ChatSessionsSidebar:
  - Implemented 'lifted' card style as default state.
  - Simplified hover effects to maintain position (no translation).
  - Enhanced active state visibility.
2025-12-11 21:50:47 -08:00
rishikanthc
1c95c05d7c Revamp Chat Interface: Split-Screen Integration & UI Refinements
- Integrated chat into AudioDetailView as a resizable split-screen side panel.
- Added ChatSidePanel for managing chat sessions and mobile overlay.
- Removed standalone ChatPage and associated routes.
- Removed 'Open Chat' action from Dashboard; added 'Chat' button to Audio Detail header.
- Refactored ScriberrLogo to export ScriberrIcon for use in the chat header.
- Adjusted global Header to align with main content in split view.
- Updated AudioDetailView layout validation and cleanup.
2025-12-11 21:03:23 -08:00
rishikanthc
ff84ab8417 feat(ui): switch interface to Outfit and refine typography
- Switch primary interface font to 'Outfit' for a premium aesthetic
- Increase font sizes in AudioFilesTable (headers text-sm, cells text-base) to compensate for Outfit's x-height
- Restore bold font weights globally for clearer visual hierarchy
- Update index.html and index.css for optimal font loading and variable definitions
- Fix checkbox padding in audio files table
- Improve bulk actions toolbar responsiveness on mobile
- Update tooltip font sizes for better readability
2025-12-11 19:50:56 -08:00
rishikanthc
2599bac947 more mods 2025-12-11 16:25:12 -08:00
rishikanthc
376ccfe723 fix(ui): resolve dialog sizing and dashboard spacing
- Dashboard: restored spacing between header and table, updated margins

- ExecutionDialog: implemented curated parameter display based on model

- ExecutionDialog: optimized metric cards and timestamp layout for mobile
2025-12-11 16:24:52 -08:00
rishikanthc
f26fbab0f3 because i'm a fkin idiot 2025-12-11 15:10:29 -08:00
rishikanthc
7b3514bc02 fix(transcript): repair active segment detection in Expanded View
- implemented backwards search to find the LATEST started segment

- prevents highlighter from getting stuck on the first segment's last word

- ensures robust highlighting when switching views or seeking
2025-12-11 15:09:23 -08:00