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
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
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
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
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
350eb27e30
Clarify Collabora proxy token handling for iframe cross-origin requests
2026-01-12 16:08:35 +01:00
Leon Bösche
1b20fe8b7f
Implement WOPI integration for Collabora Online
...
- Add WOPI models (CheckFileInfoResponse, PutFileResponse, LockInfo)
- Implement WOPI handlers: CheckFileInfo, GetFile, PutFile, Lock operations
- Add file locking mechanism to prevent concurrent editing conflicts
- Add WOPI session endpoint for generating access tokens
- Add UpdateFileSize method to database
- Add WOPI routes (/wopi/files/* endpoints)
- Update Flutter document viewer to load Collabora via WOPI WOPISrc URL
- Implement WebView integration for Collabora Online viewer
- Add comprehensive logging for WOPI operations [WOPI-TOKEN], [WOPI-REQUEST], [WOPI-STORAGE], [WOPI-LOCK]
2026-01-12 01:08:22 +01:00
Leon Bösche
d9c8c1e1f3
STYLE: Refactor code for improved readability and consistency
2026-01-12 00:39:36 +01:00
Leon Bösche
923b0ede86
Multi-format document viewer: add image/text/office file type support
2026-01-12 00:22:12 +01:00
Leon Bösche
80411d9231
FIX: Properly detect if target path is a folder when moving files
2026-01-12 00:09:39 +01:00
Leon Bösche
675c2bf95d
FEATURE: Add user file move endpoint and support both personal and org workspace moves
2026-01-12 00:01:47 +01:00
Leon Bösche
6ffe9aa4df
FIX: Create new file record at destination when moving file
2026-01-11 23:47:14 +01:00
Leon Bösche
1680914017
FIX: Simplify move handler and fix API call
2026-01-11 23:39:15 +01:00
Leon Bösche
60df1a38ff
FIX: Remove unused variables in move handler
2026-01-11 23:32:26 +01:00
Leon Bösche
af5c8f0e72
FIX: Implement WebDAV Move and simplified move file handler
2026-01-11 23:14:45 +01:00
Leon Bösche
0378a0748a
FEATURE: Implement file drag-and-drop move functionality
2026-01-11 23:10:14 +01:00
Leon Bösche
17d10e5815
Remove invalid custom HTTP client - use query parameter token for SfPdfViewer
2026-01-11 17:54:01 +01:00
Leon Bösche
ef737429d6
FIX: Use Authorization header for PDF viewer instead of query parameter token
2026-01-11 17:52:08 +01:00
Leon Bösche
2129d72a1f
FIX: Extend JWT token expiration to 24 hours for document viewer sessions
...
- Add GenerateWithDuration method to JWT manager to support custom expiration times
- Update viewerHandler and userViewerHandler to generate viewer-specific tokens with 24-hour expiration
- This fixes the issue where PDF viewer fails due to token expiration within 15 minutes
- Add [VIEWER-SESSION] logging to track viewer session creation
- Tokens now remain valid long enough for users to view, navigate, and interact with PDFs
2026-01-11 17:39:12 +01:00