Commit Graph

196 Commits

Author SHA1 Message Date
Leon Bösche
4d1e83e9e7 Fix public file download timeout
- Increase timeout for WebDAV downloads from default to 5 minutes
- Prevents 504 Gateway Timeout errors when downloading large files
- Uses context.WithTimeout for better control over download duration
2026-01-25 15:26:09 +01:00
Leon Bösche
93bc0e582a Change API base URL to www.b0esche.cloud and revert host to www for public URLs 2026-01-25 03:34:17 +01:00
Leon Bösche
d3c174f623 Fix public share URLs to use request host instead of hardcoded www.b0esche.cloud 2026-01-25 03:33:28 +01:00
Leon Bösche
08fc0906c0 Add range request support to publicFileViewHandler for video/audio seeking 2026-01-25 03:23:59 +01:00
Leon Bösche
e7b222bc7d Force correct Content-Type for public files and add OPTIONS handlers for CORS 2026-01-25 03:22:39 +01:00
Leon Bösche
1f3b70ba74 Fix shared audio/video viewer: add CORS and Content-Type headers to public endpoints 2026-01-25 02:47:39 +01:00
Leon Bösche
aec4fd0272 Fix public file share handler: include audio MIME types for inline viewing 2026-01-25 02:29:53 +01:00
Leon Bösche
8fd0ded519 Reorder PublicFileViewer header: download button left, close button right, add 4px top padding 2026-01-25 00:57:55 +01:00
Leon Bösche
db331ef4ca Fix share link routing: add initialLocation to GoRouter and fix download URL host 2026-01-25 00:34:16 +01:00
Leon Bösche
f44d64b7ad Fix share URL host to always use www.b0esche.cloud instead of r.Host 2026-01-25 00:27:58 +01:00
Leon Bösche
7ed915555b Update file share link host to use 'www' for consistency 2026-01-25 00:20:32 +01:00
Leon Bösche
a321104b4c Update file share link URLs to remove 'public' segment for consistency 2026-01-25 00:02:59 +01:00
Leon Bösche
ea5c297641 Implement automatic share link creation and logging for file sharing; make org_id nullable in file_share_links 2026-01-24 23:45:08 +01:00
Leon Bösche
82eba17a82 Enhance file sharing functionality: infer org_id when not provided, update share link responses to include shareUrl 2026-01-24 23:16:51 +01:00
Leon Bösche
421e95d83b Fix nullable org_id handling in public share handlers 2026-01-24 22:56:10 +01:00
Leon Bösche
cca21c09d5 Allow NULL org_id in file_share_links for personal file sharing, update model and handlers 2026-01-24 22:54:50 +01:00
Leon Bösche
c7aab0b026 Fix file sharing: add backend routes for /orgs/files/{fileId}/share, update frontend ShareFileDialog to use correct paths and improve UI 2026-01-24 22:47:27 +01:00
Leon Bösche
228a5c9644 Implement user-specific share link management for files 2026-01-24 22:32:58 +01:00
Leon Bösche
acfd882bba Refactor ShareFileDialog header to improve layout and ensure text overflow handling 2026-01-24 22:21:50 +01:00
Leon Bösche
1cf778366f Enhance file sharing handlers to support user ownership checks and improve error handling 2026-01-24 22:13:23 +01:00
Leon Bösche
49c578cef2 Remove backup of file_share_links table migration 2026-01-24 21:22:39 +01:00
Leon Bösche
44081099c4 Update migration steps to include file share links in the migration process 2026-01-24 21:20:06 +01:00
Leon Bösche
828b63c8c8 Refactor file download handling to simplify browser download process and ensure proper content disposition for file downloads 2026-01-24 21:11:25 +01:00
Leon Bösche
6bbdc157cb Implement file sharing functionality with public share links and associated API endpoints 2026-01-24 21:06:18 +01:00
Leon Bösche
d7ae944aee Fix backend to return empty slices instead of null for JSON encoding
- Initialize slices as empty in database query functions to prevent json.Encode(nil) returning 'null'
- This fixes Flutter Dio parsing 'null' as null, causing cast to List to fail
2026-01-24 03:21:30 +01:00
Leon Bösche
c3e3356574 Refactor user struct and user info handling for improved readability 2026-01-24 02:30:34 +01:00
Leon Bösche
c7e740e732 Fix Organization Management dialog type errors
- Fix JSON key mismatch in Flutter models: change 'User' to 'user' in Member and JoinRequest fromJson
- Update backend userInfo to send displayName as *string (null when empty)
- Add json tags to database User struct for consistent lowercase keys
- Handle displayName nullability in backend handlers
2026-01-24 02:30:15 +01:00
Leon Bösche
e10e499b6c Backend: Fix organization API endpoints and RBAC
- Fix member list API response format to match frontend expectations
- Fix join requests API response format
- Add proper JSON tags to Invitation struct
- Grant OrgManage permission to admin role for proper RBAC

These changes ensure frontend-backend API contracts are aligned and admins can manage organizations.
2026-01-23 23:48:10 +01:00
Leon Bösche
26cbe83d66 Add JoinPage feature with invite token handling and update routing 2026-01-23 23:39:59 +01:00
Leon Bösche
98e7bbdb9e Refactor code for improved readability and consistency in multiple files 2026-01-23 23:21:46 +01:00
Leon Bösche
20bc0ac757 Implement complete Organizations feature with RBAC
- Add owner/admin/member roles with proper permissions
- Implement invite links and join requests system
- Add organization settings dialog with member management
- Create database migrations for invitations and invite links
- Update backend API with org management endpoints
- Fix compilation errors and audit logging
- Update frontend models and API integration
2026-01-23 23:21:23 +01:00
Leon Bösche
d9a651b375 Enhance audio file handling with improved error logging and UI adjustments for audio player bar positioning 2026-01-17 02:31:33 +01:00
Leon Bösche
9614c0e950 Refactor moveUserFileHandler to simplify source and target file retrieval; improve error handling for missing files. 2026-01-15 13:39:47 +01:00
Leon Bösche
453b60032c Implement folder move restrictions in file explorer and backend; prevent moving a folder into itself or its own subfolder. 2026-01-14 18:26:02 +01:00
Leon Bösche
70b5b1a4f3 Refactor file download handlers to utilize getMimeType function for content type determination, enhancing support for various file formats. 2026-01-14 17:47:28 +01:00
Leon Bösche
a5dd8d8f39 Refactor video viewer to use HTML5 video element and remove legacy web implementation; enhance content type handling for various video formats in download handlers. 2026-01-14 12:41:56 +01:00
Leon Bösche
5434a9b39d Enhance WOPI file info handler to include user-friendly name and ensure last modified time is set correctly 2026-01-14 12:29:24 +01:00
Leon Bösche
fc06f5e36a Enhance editor logging for file sessions in routes and update video URL handling in file explorer 2026-01-14 12:23:31 +01:00
Leon Bösche
40f7eeee09 Ensure folderPath ends with / for proper relative path calculation in ZIP downloads 2026-01-14 12:11:25 +01:00
Leon Bösche
de720cbdcb Add user file editor endpoint and enhance WOPI handlers with logging 2026-01-14 12:09:25 +01:00
Leon Bösche
aea5ba9e58 Add functionality to download folders as ZIP archives for both org and user files 2026-01-14 12:02:20 +01:00
Leon Bösche
847a8de414 Refactor moveUserFileHandler to store user files directly in WebDAV root, removing unnecessary path prefix 2026-01-13 22:31:58 +01:00
Leon Bösche
47e94995b5 Refactor viewmodels and enhance security documentation; remove unused viewmodels, add path sanitization, and implement rate limiting 2026-01-13 22:11:02 +01:00
Leon Bösche
6ce43a3c9b Add last modified tracking: show 'Last modified: date by username' in document viewer
- Added modified_by column to files table
- Updated WOPI PutFile to track who modified the file
- Updated view handlers to return file metadata (name, size, lastModified, modifiedByName)
- Updated Flutter models and UI to display last modified info
2026-01-13 16:45:57 +01:00
Leon Bösche
6943e95479 Fix WOPI: Use correct WebDAV path for org files (/orgs/{orgId}/ prefix) 2026-01-13 16:10:57 +01:00
Leon Bösche
2e1096a9ad Add id attribute to form field to fix autofill warning 2026-01-13 15:48:20 +01:00
Leon Bösche
8d9db29db2 Fix WOPI: Use config for Nextcloud URL instead of hardcoded nc.b0esche.cloud 2026-01-13 15:25:04 +01:00
Leon Bösche
70039a8288 Fix Collabora WOPI: Put WOPISrc in URL query param, not form body 2026-01-13 14:50:24 +01:00
Leon Bösche
749672509b Fix Collabora: Fetch versioned editor URL from discovery endpoint
- Added getCollaboraEditorURL() to fetch correct /browser/{version}/cool.html path
- Cache discovery response for 5 minutes to avoid repeated requests
- Fixed 'Invalid URI' error caused by version mismatch
2026-01-13 14:38:08 +01:00
Leon Bösche
0aa281ac09 Add .gitignore for docker-compose-server.yml and update WOPISrc URL handling in collaboraProxyHandler 2026-01-13 14:01:02 +01:00