<feed xmlns='http://www.w3.org/2005/Atom'>
<title>fct-drive/frontend/app/api, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.d464.sh/fct-drive/'/>
<entry>
<title>frontend: improvements</title>
<updated>2025-08-14T20:13:57+00:00</updated>
<author>
<name>diogo464</name>
<email>diogo464@d464.sh</email>
</author>
<published>2025-08-14T20:11:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/fct-drive/commit/?id=e4917874be67de24f934e069b53e1726599c6cc5'/>
<id>e4917874be67de24f934e069b53e1726599c6cc5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: move auth components to server-side rendering</title>
<updated>2025-08-13T15:49:09+00:00</updated>
<author>
<name>diogo464</name>
<email>diogo464@d464.sh</email>
</author>
<published>2025-08-13T15:49:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/fct-drive/commit/?id=0a588ec2d7417b12b53a8cc816a399a09d3a0814'/>
<id>0a588ec2d7417b12b53a8cc816a399a09d3a0814</id>
<content type='text'>
- Create server-side AuthButtons component that renders login/logout based on auth state
- Add DriveHeader component for title and auth buttons (server-side)
- Restructure DriveDirectoryClient to focus on breadcrumbs/actions/files only
- Remove client-side auth state management from DriveDirectoryClient
- Add /api/logout route handler for server-side logout flow
- Update DriveDirectoryView to compose header and directory components
- Preserve existing TinyAuth integration and dev mode bypass

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Create server-side AuthButtons component that renders login/logout based on auth state
- Add DriveHeader component for title and auth buttons (server-side)
- Restructure DriveDirectoryClient to focus on breadcrumbs/actions/files only
- Remove client-side auth state management from DriveDirectoryClient
- Add /api/logout route handler for server-side logout flow
- Update DriveDirectoryView to compose header and directory components
- Preserve existing TinyAuth integration and dev mode bypass

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: split auth module into separate files and fix imports</title>
<updated>2025-08-13T15:34:34+00:00</updated>
<author>
<name>diogo464</name>
<email>diogo464@d464.sh</email>
</author>
<published>2025-08-13T15:34:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/fct-drive/commit/?id=817d5696ec6dfe7679467f05619d58b8d741230d'/>
<id>817d5696ec6dfe7679467f05619d58b8d741230d</id>
<content type='text'>
- Created auth_types.ts for type definitions
- Created auth_shared.ts for utility functions and endpoints
- Updated auth.ts to focus on session management
- Fixed all auth import statements throughout codebase
- Updated login redirect to use Auth_tinyauth_public_endpoint properly

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Created auth_types.ts for type definitions
- Created auth_shared.ts for utility functions and endpoints
- Updated auth.ts to focus on session management
- Fixed all auth import statements throughout codebase
- Updated login redirect to use Auth_tinyauth_public_endpoint properly

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Refactor storage API to use shared utility</title>
<updated>2025-08-13T13:02:28+00:00</updated>
<author>
<name>diogo464</name>
<email>diogo464@d464.sh</email>
</author>
<published>2025-08-13T13:02:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/fct-drive/commit/?id=80b66131b793c7d3b9a5df9168906e29e296a057'/>
<id>80b66131b793c7d3b9a5df9168906e29e296a057</id>
<content type='text'>
- Import fetchStorageData from lib/storage instead of duplicating logic
- Simplify API route by removing duplicate implementation
- Maintain same API response format

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Import fetchStorageData from lib/storage instead of duplicating logic
- Simplify API route by removing duplicate implementation
- Maintain same API response format

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Implement real-time storage usage UI with two-color progress bar</title>
<updated>2025-08-13T11:07:07+00:00</updated>
<author>
<name>diogo464</name>
<email>diogo464@d464.sh</email>
</author>
<published>2025-08-13T11:07:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/fct-drive/commit/?id=634c264f26a836c2d4c371cd28ab6049d7149b54'/>
<id>634c264f26a836c2d4c371cd28ab6049d7149b54</id>
<content type='text'>
- Add /api/storage endpoint that fetches live data from fctdrive drive-size and df commands
- Implement 10-second caching to avoid excessive system calls
- Create StorageUsage component with two-color bar showing active drive usage vs total disk usage
- Update drive pages to fetch and pass storage data server-side
- Replace hardcoded storage values with real system data
- Display active drive usage (blue), other disk usage (gray), and available space

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Add /api/storage endpoint that fetches live data from fctdrive drive-size and df commands
- Implement 10-second caching to avoid excessive system calls
- Create StorageUsage component with two-color bar showing active drive usage vs total disk usage
- Update drive pages to fetch and pass storage data server-side
- Replace hardcoded storage values with real system data
- Display active drive usage (blue), other disk usage (gray), and available space

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Implement rename functionality using fctdrive CLI</title>
<updated>2025-08-13T10:08:48+00:00</updated>
<author>
<name>diogo464</name>
<email>diogo464@d464.sh</email>
</author>
<published>2025-08-13T10:08:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/fct-drive/commit/?id=74069a896a3b831a19baefc0d9487060b34760b3'/>
<id>74069a896a3b831a19baefc0d9487060b34760b3</id>
<content type='text'>
- Add Drive_rename function to drive_server.ts for backend integration
- Create /api/rename endpoint with proper authentication and error handling
- Update handleRename function to call API instead of placeholder TODO
- Test rename functionality for both files and directories
- Update CLAUDE.md to note fctdrive is available in PATH

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Add Drive_rename function to drive_server.ts for backend integration
- Create /api/rename endpoint with proper authentication and error handling
- Update handleRename function to call API instead of placeholder TODO
- Test rename functionality for both files and directories
- Update CLAUDE.md to note fctdrive is available in PATH

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Add Create Folder functionality with dialog interface</title>
<updated>2025-08-13T09:58:20+00:00</updated>
<author>
<name>diogo464</name>
<email>diogo464@d464.sh</email>
</author>
<published>2025-08-13T09:58:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/fct-drive/commit/?id=daca3c076675b43fcae8c362ddd9e922bb0f5e9d'/>
<id>daca3c076675b43fcae8c362ddd9e922bb0f5e9d</id>
<content type='text'>
- 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 &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- 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 &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix URL encoding for paths with special characters</title>
<updated>2025-08-12T15:46:31+00:00</updated>
<author>
<name>diogo464</name>
<email>diogo464@d464.sh</email>
</author>
<published>2025-08-12T15:46:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/fct-drive/commit/?id=5c48d5cc58ce5d296d770c0e16cca13204b8200f'/>
<id>5c48d5cc58ce5d296d770c0e16cca13204b8200f</id>
<content type='text'>
- 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 &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- 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 &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Implement authenticated file/directory deletion</title>
<updated>2025-08-12T15:40:00+00:00</updated>
<author>
<name>diogo464</name>
<email>diogo464@d464.sh</email>
</author>
<published>2025-08-12T15:40:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/fct-drive/commit/?id=4902a199b93fbdd9b265f9741c70e00eaf368939'/>
<id>4902a199b93fbdd9b265f9741c70e00eaf368939</id>
<content type='text'>
- 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 &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- 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 &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Replace complex /api/fs with simple /api/upload endpoint</title>
<updated>2025-08-12T15:32:00+00:00</updated>
<author>
<name>diogo464</name>
<email>diogo464@d464.sh</email>
</author>
<published>2025-08-12T15:32:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/fct-drive/commit/?id=fcd70649f43a72dbbcbc79e524fbe3fe20261021'/>
<id>fcd70649f43a72dbbcbc79e524fbe3fe20261021</id>
<content type='text'>
- 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 &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- 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 &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
