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
3e0094b11c
Fix: Remove WebView from Collabora implementation and fix font loading errors
...
- Reverted WebViewWidget approach that was causing null check errors
- Show placeholder UI for Office documents until proper WOPI support is implemented
- Fixed web/index.html to only load PixelatedElegance font that actually exists
- Removed references to non-existent fonts causing OTS parsing errors
2026-01-12 00:56:38 +01:00
Leon Bösche
f0fe439c3b
Implement Collabora Online viewer for Office documents (DOCX, XLSX, etc)
2026-01-12 00:46:45 +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
31ab3aad45
Fix Uri parsing errors in document viewer - viewUrl is already a Uri
2026-01-12 00:29:05 +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
c330381281
FIX: Handle NULL transports array with custom StringArray type
2026-01-11 22:53:24 +01:00
Leon Bösche
6a4cd8c672
FIX: Handle NULL transports in credentials using pq.StringArray
2026-01-11 22:46:49 +01:00
Leon Bösche
09d16abcd5
FIX: Sort folders before files in file explorer
2026-01-11 22:12:04 +01:00
Leon Bösche
330bd86b96
REFINE: Remove debug print statements from various blocs and services for cleaner code
2026-01-11 21:54:11 +01:00
Leon Bösche
d6277f5469
FIX: Add PDF.js library to web/index.html for SfPdfViewer web support
2026-01-11 18:13:36 +01:00
Leon Bösche
c8eb0aefe3
Add Authorization header to modal PDF viewer
2026-01-11 18:02:24 +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
Leon Bösche
3d80072e7b
Add AUTH-TOKEN logging to middleware for debugging token extraction
2026-01-11 17:31:17 +01:00
Leon Bösche
5ef5623c8d
feat: update WebDAV download handler to support range requests and improve response handling
2026-01-11 14:38:03 +01:00
Leon Bösche
b2e5eef66f
feat: enhance CORS middleware to support dynamic allowed headers and ensure uniqueness
2026-01-11 14:25:07 +01:00
Leon Bösche
68270b6906
idle
2026-01-11 05:42:00 +01:00
Leon Bösche
9d466fd63a
feat: add ownerId to Organization and update related database queries; enhance CORS middleware for origin validation
2026-01-11 05:33:16 +01:00
Leon Bösche
619b2fe23c
fix: enforce workspace isolation logging
2026-01-11 05:01:52 +01:00
Leon Bösche
ac1bd2749c
Increase top padding for responsive design on home page
2026-01-11 04:46:18 +01:00
Leon Bösche
a3a9360110
Enhance JWT token retrieval in viewer and auth middleware for improved security and flexibility
2026-01-11 04:34:14 +01:00
Leon Bösche
f0d6d0b8e1
Add NoSplash effect to TextButton styles for improved UX
2026-01-11 04:27:18 +01:00
Leon Bösche
b09cdde8d3
Reload file explorer on org change to avoid stale items\n\n- Add didUpdateWidget in FileExplorer to ResetFileBrowser and LoadDirectory when orgId changes\n- Ensures org-created folders/files don’t appear in Personal after switching
2026-01-11 04:21:33 +01:00
Leon Bösche
e5aee55dca
Increase top padding for responsive design on home page
2026-01-11 04:04:23 +01:00
Leon Bösche
615c92dc5f
Refactor context value assignment in Auth middleware for improved readability
2026-01-11 04:02:04 +01:00
Leon Bösche
bd6dd68f0b
Fix file browser state persistence and PDF viewer loading
...
- Clear file lists in ResetFileBrowser to prevent org files showing in personal workspace
- Include JWT token as query parameter in PDF download URL for viewer compatibility
- Remove Authorization header from SfPdfViewer (browser security restrictions)
- Fix mock repository EditorSession to include required token parameter
2026-01-11 03:40:44 +01:00
Leon Bösche
e9517a5a4d
Fix context key type mismatch causing org files 500 error
...
- Export ContextKey type and context keys from middleware package
- Use exported keys (UserKey, SessionKey, TokenKey, OrgKey) in handlers
- Fixes panic: interface conversion: interface {} is nil, not uuid.UUID
- The middleware was setting context with contextKey type but handlers
were retrieving with string type, causing nil value lookup failure
2026-01-11 03:30:31 +01:00
Leon Bösche
39e0eb0efd
Fix Personal button - create separate button instead of fake Organization object
2026-01-11 03:03:07 +01:00
Leon Bösche
a51c0e070c
Add Personal tab and fix org selection + API error handling
2026-01-11 03:01:58 +01:00
Leon Bösche
56526c8fc5
Fix org creation dialog - use parent context for BlocProvider access
2026-01-11 02:50:14 +01:00
Leon Bösche
1151abab28
Restore PixelatedElegance brand font and fix button callback error
2026-01-11 02:20:26 +01:00
Leon Bösche
35b2095544
Fix syntax errors from literal \n characters
2026-01-11 02:18:36 +01:00
Leon Bösche
7259aa41fd
Fix org creation dialog, document viewer colors, and font errors
2026-01-11 02:14:51 +01:00
Leon Bösche
9952323252
Refactor debug logging for organization creation and API client methods
2026-01-11 01:58:37 +01:00
Leon Bösche
d3ed7fd4f3
Add comprehensive debug logging for password flow and org creation diagnostics
2026-01-11 01:45:59 +01:00
Leon Bösche
fd4224d1da
Fix Nextcloud user creation password encoding
...
- Replace manual form encoding with url.Values.Encode() for proper URL encoding
- Fixes issue where passwords with special characters were malformed
- Ensures password sent to Nextcloud matches password stored in database
- This fixes WebDAV authentication failures for auto-provisioned users
2026-01-11 01:30:40 +01:00
Leon Bösche
ed22c5eda4
Fix file upload timeout and UX issues
...
- Increase Dio receiveTimeout from 10s to 60s to allow file uploads and org creation
to complete (Nextcloud user provisioning takes 5-7s)
- Hide 'Empty Folder' text and back button in root directory (main folder)
- Back button and empty message now only show in actual subdirectories
2026-01-11 01:19:00 +01:00
Leon Bösche
acb9b5f71c
Fix formatting issues in Nextcloud user creation and WebDAV client methods
2026-01-11 00:57:17 +01:00
Leon Bösche
e34d09f762
Remove unused encoding/json import
2026-01-11 00:48:04 +01:00
Leon Bösche
9b03695d61
Fix Nextcloud user creation and WebDAV URL construction
...
- Fix CreateNextcloudUser to use form-encoded POST (OCS API requirement)
- Fix WebDAV URL construction to avoid double slashes
- Apply fix to Upload, Download, and Delete methods
2026-01-11 00:45:58 +01:00
Leon Bösche
e36a4e5785
Refactor organization creation logic for improved readability and maintainability
2026-01-11 00:44:23 +01:00