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
c38ae1bd78
Refactor video viewer to remove web-specific handling and improve error messaging
2026-01-14 11:52:28 +01:00
Leon Bösche
3757368a00
Refactor DOCX file generation to simplify path handling and enhance document styles
2026-01-14 11:48:07 +01:00
Leon Bösche
5cb86d4fde
Refactor document creation error handling to provide more informative error messages
2026-01-14 04:22:13 +01:00
Leon Bösche
94cb7bc99f
Handle personal workspace case by adjusting orgId for document creation
2026-01-14 03:56:19 +01:00
Leon Bösche
efa7e66b36
idle
2026-01-14 03:10:12 +01:00
Leon Bösche
3382e5496e
Refactor file retrieval and annotation methods to simplify path generation and improve error handling
2026-01-14 03:09:08 +01:00
Leon Bösche
95b0ff51b6
Fix package name formatting in pubspec.yaml and update import path in injection.dart
2026-01-14 00:30:38 +01:00
Leon Bösche
07304c3f73
Add web-specific video viewer and update video player initialization
2026-01-14 00:02:54 +01:00
Leon Bösche
f2cefee7e4
Add video playback feature with video viewer and file URL retrieval
2026-01-13 23:50:28 +01:00
Leon Bösche
768f61337b
Add document creation feature with snackbar notifications and file service integration
2026-01-13 23:27:04 +01:00
Leon Bösche
744fbf87f5
Refactor blob creation in file download to enhance readability
2026-01-13 23:16:25 +01:00
Leon Bösche
bc9c7a06c8
Fix download: fetch file with auth header, create blob for proper download
2026-01-13 23:10:47 +01:00
Leon Bösche
46dd299229
Refactor file download logic to improve authentication handling and code readability
2026-01-13 22:42:08 +01:00
Leon Bösche
03962d5a80
Enhance file download functionality with snackbar notifications and authentication token handling
2026-01-13 22:41:56 +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
c00c1e273d
Add context.mounted checks in file explorer for safer file and folder operations
2026-01-13 22:26:45 +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
804e994e76
Add architecture, deployment, and development documentation for b0esche.cloud
2026-01-13 19:34:46 +01:00
Leon Bösche
294b28d1a8
Add docs, scripts, and update README
...
- Added docs/AUTH.md with authentication system documentation
- Added server scripts (auto-deploy, backup, monitor, webhook-server)
- Updated README with deployment info and project structure
- Added gitignore for backup archives
2026-01-13 19:28:16 +01:00
Leon Bösche
233f1dd315
Refactor upload snackbar code for improved readability and maintainability
2026-01-13 16:50:09 +01:00
Leon Bösche
d2c26e6203
Style upload progress snackbar with accent color (nyan)
2026-01-13 16:49:17 +01:00
Leon Bösche
37e0520af0
Add file metadata display in viewer and upload progress snackbar
...
- Backend: Add modified_by column to files table
- Backend: Track who modified files via WOPI PutFile
- Backend: Return fileInfo (name, size, lastModified, modifiedByName) in view response
- Flutter: Update DocumentCapabilities model with FileInfo
- Flutter: Display actual last modified date and user in document viewer
- Flutter: Show upload progress snackbar with percentage that auto-dismisses on completion
2026-01-13 16:48:25 +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
afeb7a35ad
Replace deprecated dart:html with package:web
...
- Updated document_viewer.dart to use web.HTMLIFrameElement/HTMLDivElement
- Updated file_explorer.dart to use web.HTMLAnchorElement for downloads
- Added web and http packages to pubspec.yaml
2026-01-13 14:52:12 +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
634aa521bd
Refactor index.html: Clean up preload link formatting and improve console warning suppression
2026-01-13 14:38:59 +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
20e9ae3e4d
Suppress Flutter web deprecation warnings (v8BreakIterator, async XMLHttpRequest)
2026-01-13 14:34:18 +01:00
Leon Bösche
3738b346e3
Remove docker-compose-server.yml from .gitignore
2026-01-13 14:05:06 +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
Leon Bösche
8baaad2c08
Fix Collabora form submission: remove iframe target and use _self to bypass CSP
2026-01-13 12:59:49 +01:00
Leon Bösche
19825763ad
Fix Collabora endpoint: use /browser/dist/cool.html instead of /loleaflet/dist/loleaflet.html
2026-01-13 12:46:56 +01:00
Leon Bösche
c16cd49237
Use /loleaflet/dist/loleaflet.html - standard Collabora Online WOPI endpoint
2026-01-13 00:28:34 +01:00
Leon Bösche
57eea172a2
Revert to form POST submission to /cool/dist/cool.html (correct WOPI pattern)
...
- Collabora Online requires POST request with WOPISrc in form body
- GET requests with query parameters cause 400 Bad Request
- Using modern /cool/ endpoint with form submission to iframe
2026-01-13 00:13:21 +01:00
Leon Bösche
d255f40a8c
Try Collabora path /cool/dist/cool.html (newer naming convention)
2026-01-12 17:25:53 +01:00
Leon Bösche
d59a655f0f
Fix Collabora path from /loleaflet to /lool (correct endpoint)
2026-01-12 17:11:50 +01:00
Leon Bösche
509983b4ff
Fix: Update Collabora proxy to load editor in iframe with WOPISrc in query string
2026-01-12 16:58:39 +01:00
Leon Bösche
5fb08d8831
Improve Collabora proxy: add load event listener and relax iframe sandbox for form submission
...
- Use window load event to ensure form element exists before submission
- Add allow-popups-to-escape-sandbox for cross-origin form POSTs
- Add allow-presentation for better compatibility
- Improved error logging for debugging form submission issues
2026-01-12 16:51:16 +01:00
Leon Bösche
18f5b3f98b
Fix: Use form POST submission for Collabora (not GET query string)
...
- Collabora requires POST request to /loleaflet/dist/loleaflet.html
- WOPISrc must be in request body as form parameter
- Form targets iframe by name for proper document loading
- Matches WOPI/Collabora standard integration pattern
2026-01-12 16:46:11 +01:00
Leon Bösche
d58137716f
Fix: Collabora proxy should load iframe with WOPISrc in query string, not form submission
...
- Changed from form POST submission to direct iframe load
- WOPISrc goes in Collabora URL query string, not as form parameter
- This matches Collabora's expected request format for WOPI integration
2026-01-12 16:40:35 +01:00
Leon Bösche
18138dde01
Fix: Remove X-Frame-Options header from Collabora proxy to allow iframe loading
...
- The collaboraProxyHandler endpoint is intentionally meant to load in an iframe
- X-Frame-Options: SAMEORIGIN was blocking cross-origin iframe loads
- Removed the header to allow the Flutter web frontend to embed the proxy page
2026-01-12 16:34:05 +01:00
Leon Bösche
6db2bf077d
Fix: Clean up whitespace in document viewer and WOPI handler files
2026-01-12 16:10:40 +01:00