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
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
619b2fe23c
fix: enforce workspace isolation logging
2026-01-11 05:01:52 +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
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
d3ed7fd4f3
Add comprehensive debug logging for password flow and org creation diagnostics
2026-01-11 01:45:59 +01:00
Leon Bösche
4a4e03e041
Fix getUserWebDAVClient to use actual username and COALESCE for NULL handling
2026-01-10 23:16:02 +01:00
Leon Bösche
18600a6bc1
Implement user provisioning for Nextcloud accounts and enhance WebDAV client handling
2026-01-10 22:58:35 +01:00
Leon Bösche
185cbc83b9
Remove unused os import and enforce exclusive use of Nextcloud WebDAV storage in file handlers
2026-01-10 21:46:16 +01:00
Leon Bösche
e64925b438
Refactor file handling to exclusively use Nextcloud WebDAV storage, removing local fallback logic
2026-01-10 21:46:12 +01:00
Leon Bösche
6c864612db
Add comprehensive upload/download debugging to fix file storage issues
2026-01-10 21:11:53 +01:00
Leon Bösche
0f13b6c01d
Fix HTTPS scheme detection using X-Forwarded-Proto header
2026-01-10 15:58:14 +01:00
Leon Bösche
f372172898
Fix document viewer: add dynamic base URL and debug logging for file downloads
2026-01-10 05:21:43 +01:00
Leon Bösche
22868b2958
Enhance EditorSession state to include token in active and read-only states; update editor handler to use new Collabora URL
2026-01-10 05:05:04 +01:00
Leon Bösche
84c7ed0815
Refactor EditorSession model to include token in props and update JSON parsing; simplify route handlers by removing JWT manager parameter
2026-01-10 05:02:07 +01:00
Leon Bösche
941d8bf736
Add JWT token handling to document viewer and related components
2026-01-10 05:00:18 +01:00
Leon Bösche
b381a46483
Refactor authentication handling in HTTP routes to utilize middleware for user ID extraction and improve download URL encoding
2026-01-10 04:48:28 +01:00
Leon Bösche
0797b407a5
Refactor file download handlers to implement local storage fallback and enhance organization creation with slug generation
2026-01-10 03:47:35 +01:00
Leon Bösche
687c7a5a61
Update download URLs in viewer handlers to use the correct domain
2026-01-10 03:04:29 +01:00
Leon Bösche
7f6e7f7a10
Add GetFileByID method and enhance viewer handlers for file metadata retrieval
2026-01-10 02:06:03 +01:00
Leon Bösche
cadf504643
Enhance session restoration and add user file viewer endpoint
2026-01-10 01:39:15 +01:00
Leon Bösche
11436e93c5
Implement CORS middleware with configurable allowed origins and update config structure
2026-01-10 01:06:37 +01:00
Leon Bösche
ca39b3dee4
Add file ID support to FileItem and update related components for consistency
2026-01-10 00:26:34 +01:00
Leon Bösche
4f67ead22d
Add detailed logging for file uploads and handle upload errors in UI
2026-01-09 23:57:28 +01:00
Leon Bösche
aac6d2eb46
Refactor file download URL construction to use ApiClient's base URL and ensure consistent remote path for user files
2026-01-09 23:01:11 +01:00
Leon Bösche
8114a3746b
Fix context key mismatch - use typed contextKey consistently
2026-01-09 20:26:55 +01:00
Leon Bösche
9daccbae82
Fix auth for 1.0.0: add logout endpoint, fix JWT claims consistency, add session revocation
2026-01-09 19:53:09 +01:00
Leon Bösche
f18e779375
work
2026-01-09 18:58:09 +01:00
Leon Bösche
e16b1bb083
personal workspace backend flush
2026-01-09 17:32:16 +01:00
Leon Bösche
ebb97f4f39
idle
2026-01-09 17:01:41 +01:00
Leon Bösche
e9df8f7d9f
idle
2026-01-09 17:01:41 +01:00
Leon Bösche
1eb8781550
Add CORS middleware to handle browser preflight requests
2026-01-08 21:32:34 +01:00