| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
|
|
|
| |
- New /api/mkdir endpoint for authenticated folder creation
- Create Folder button positioned left of Upload Files button
- Modal dialog with input validation and keyboard shortcuts
- Proper error handling and success notifications
- Uses existing CLI Drive_mkdir function for backend operations
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
|
| |
|
|
|
|
|
|
|
|
| |
- Add URL decoding in upload endpoint for path parameter
- Add URL decoding for path segments in drive page navigation
- Ensures proper handling of directories/files with spaces and unicode chars
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
| |
- Add /api/delete endpoint with authentication checks
- Update DriveDirectoryClient to use actual delete API
- Replace placeholder TODO with working delete functionality
- Include proper error handling and user feedback
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Create new /api/upload endpoint for file uploads with path query parameter
- Simplify DriveDirectoryClient upload logic to use POST instead of PUT
- Remove complex path encoding and AUTH header handling from client
- Remove unused /api/fs endpoint entirely - no longer needed
- Maintain all existing upload functionality (file size limits, auth, etc.)
- Test uploads to root directory and subdirectories - both working perfectly
Benefits:
- Cleaner API surface with single-purpose endpoints
- Simpler client code with less complexity
- Better separation of concerns
- Maintained backward compatibility for user experience
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Remove old UI components: file-drive.tsx, history-view.tsx
- Remove unused API endpoints: /api/tree, /api/log, /api/fs/route.ts
- Rename /v2 routes to /drive routes for cleaner URLs
- Rename V2* components to Drive* components (V2DirectoryView -> DriveDirectoryView, etc.)
- Update all breadcrumb and navigation references from /v2 to /drive
- Redirect root path to /drive instead of old UI
- Keep /api/fs/[...path] and /api/directories for uploads and move functionality
- Preserve Drive_* server functions for potential future use
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- Convert page components to async server components using Drive_ls()
- Split V2DirectoryView into server component (data processing) and V2DirectoryClient (interactivity)
- Remove client-side useEffect + fetch API calls for directory listing
- Data now loaded server-side and passed as props for better static rendering
- Mutations still use page refresh to show updated data
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Add /v2 route structure with dynamic nested directory pages
- Create V2DirectoryView component with breadcrumb navigation
- Add V2MoveDialog with directory search and flat list display
- Implement single upload button for current directory context
- Add /api/directories endpoint for move dialog directory picker
- Fix breadcrumb decoding to show readable names instead of URL encoding
- Add file sorting: directories first, then files, all alphabetically
- Improve performance by loading only current directory contents
- Add ScrollArea component and @radix-ui/react-scroll-area dependency
- Ensure proper URL encoding/decoding flow to prevent malformed paths
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Replace dummy upload functions with real API calls to /api/fs endpoint
- Add file validation (size limits, file count) with user-friendly error messages
- Support both root directory uploads and folder-specific uploads
- Add loading states and progress indication during uploads
- Implement auto-refresh of file tree after successful uploads
- Handle errors gracefully with toast notifications showing success/failure counts
- Update file size limit to 4GB and maintain 10 file upload limit
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Enhanced directory interaction by making the entire table row clickable
to expand/collapse folders, improving user experience and efficiency.
- Added row-level click handlers for directories with cursor feedback
- Prevented event bubbling on checkbox and actions dropdown cells
- Simplified arrow buttons to show state only (no individual clicks)
- Preserved file download links and all existing functionality
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Files with blob IDs now appear as clickable links that download directly.
- Added conditional rendering for files with valid blobs
- Files display as blue links with hover effects
- Downloads open in new tab to preserve current view
- Proper URL encoding for special characters in filenames
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Added pagination with 100 entries per page
- Implemented pagination controls with Previous/Next buttons and page numbers
- Added smart pagination display showing current page, first/last pages, and nearby pages with ellipsis
- Removed redundant Action icon column from history table
- Reorganized table columns: Type, File/Directory Name, Time, User, Size
- Added entry count display showing current range and total entries
- Pagination only shows when there are multiple pages
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Removed v0 generated HistoryEntry type and mock data
- Updated HistoryView to use DriveLogEntry from our Drive_log API
- Added proper loading and error states
- Reversed log output to show latest entries first (as requested)
- Added formatFileSize utility function to utils.ts and used it for file sizes
- Updated action types and badges to match actual drive log actions
- Convert Unix timestamps to proper date formatting
- Show real user emails, file paths, and file sizes from actual drive log
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
|
| |
|
|
|
|
|
|
|
|
| |
- Added DriveLogEntry type for log entries with timestamp, log_id, email, action, path, blob_id, size
- Implemented Drive_log function that executes fctdrive log and parses tab-separated output
- Created /api/log GET endpoint that returns JSON array of all log entries
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- Add recursive directory size calculation to Drive_tree
- Directory sizes now represent total size of all nested contents
- Rename sortNodes to calculateSizesAndSort for clarity
- Process children first (bottom-up) then calculate parent sizes
- Maintain existing sorting functionality
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
|
| |
|
|
|
|
|
|
|
|
| |
- Add formatDateTime function to show full timestamp
- Display modification time as "YYYY-MM-DD at HH:MM:SS"
- Keep formatDate for table display (date only)
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
|
| |
|
|
|
|
|
|
|
|
| |
- Keep individual row checkboxes for file selection
- Remove complex select all logic from table header
- Maintain column alignment with empty header cell
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
| |
- Sort directories first, then files
- Both categories sorted alphabetically (case-insensitive)
- Recursive sorting applied to all tree levels
- Server-side sorting for better performance
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
- Remove FileItem interface and 300+ lines of mock data
- Eliminate transformTreeNodes() conversion function
- Update component to use DriveTreeNode[] directly
- Rename /api/list to /api/tree with server-side tree building
- Add Drive_tree() function and DriveTreeNode types
- Significantly reduce code complexity and memory usage
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
| |
- Renamed CreateDir to MkDir in operation types
- Updated subcommand from create-dir to mkdir for consistency
- Updated all related structs, functions, and command handling
- Maintains backward compatibility in operation log format
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Created unified /api/fs/[...path] endpoint with full REST methods:
- GET: List directory contents or file info
- POST: Create directories using Drive_mkdir()
- PUT: Upload files with multipart form data
- DELETE: Remove files/directories using Drive_remove()
- Added /api/fs route for root directory listing
- Added Drive_mkdir() function to drive_server.ts using fctdrive mkdir command
- Removed legacy /api/delete and /api/upload endpoints
- Updated CLAUDE.md with comprehensive API documentation and examples
- All endpoints support authentication with AUTH: 1 header in development
- Proper error handling, file size validation, and cache revalidation
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
- Added Drive_remove() function to drive_server.ts using fctdrive remove command
- Created /api/delete route with POST method, JSON body input, and authentication
- Added development mode AUTH header bypass for testing authenticated endpoints
- Updated CLAUDE.md with API testing instructions using AUTH: 1 header
- Endpoint validates user authentication and upload permissions before deletion
- Returns success response even for non-existent files (CLI ignores them)
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
|
| |
|
|
|
|
|
|
|
|
| |
- Added /api/list route that returns all files/directories recursively from root
- Increased maxBuffer to 50MB in Drive_ls to handle large directory listings
- Fixes ENOBUFS error when listing entire drive contents
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
it is unecessary to run destructures since the OS will cleanup
everything for us and it saved a bit of time.
Benchmark 1: ./fctdrive-noexit view
Time (mean ± σ): 37.0 ms ± 1.2 ms [User: 29.4 ms, System: 7.4 ms]
Range (min … max): 35.7 ms … 40.8 ms 81 runs
Benchmark 2: ./fctdrive-exit view
Time (mean ± σ): 34.7 ms ± 1.3 ms [User: 26.9 ms, System: 7.6 ms]
Range (min … max): 33.0 ms … 38.5 ms 83 runs
Summary
./fctdrive-exit view ran
1.07 ± 0.05 times faster than ./fctdrive-noexit view
|
| | |
|
| | |
|
| | |
|
| |
|