Enhanced settings
IMPORTANT
The configurations described in this section should only be modified by developers or those with a thorough understanding of its implications.
Advanced Options
Chunk Size Configuration
For large file transfers (files larger than the configured chunk size), the plugin automatically splits files into smaller pieces for reliable transmission.
Configuration:
- Located in: File Share Settings → Advanced Settings (collapsible section)
- Range: 64KB - 1024KB (1MB)
- Default: 256KB
How it works:
- Files larger than the chunk size are automatically split
- Each chunk is encrypted individually
- Chunks are sent sequentially
- The recipient reassembles chunks into the original file
- Progress indicators show transfer status
Choosing the right size:
- 64-128KB: Best for very slow or unstable connections
- 256KB (default): Good balance for most connections
- 512KB-1MB: Fastest for stable, high-speed connections
Technical details:
- All chunks are encrypted with AES-256-CBC
- Each chunk has its own encryption key and IV
- Metadata tracks chunk order and total count
- Failed chunks can be retried individually (future feature)
File Validation
The plugin includes comprehensive file validation to ensure security and reliability:
Supported file types:
- Markdown files (
.md,.markdown) - Images (
.png,.jpg,.jpeg,.gif,.svg,.webp,.bmp,.ico) - Audio (
.mp3,.wav,.ogg,.m4a,.flac,.aac) - Videos (
.mp4,.webm,.ogv,.mov,.avi,.mkv) - Documents (
.pdf,.txt,.rtf) - Obsidian plugin files (
.excalidraw,.canvas) - Data files (
.json,.csv,.xml,.yml,.yaml)
File size limits:
- Maximum file size: 500MB
- This limit applies to individual files, not total transfer size
- Folders can contain multiple files up to this limit each
Validation process:
- File type is checked against whitelist
- File size is validated
- File exists and is readable
- Invalid files are rejected with clear error messages
Visual Feedback System
The FileTreeDecorator provides real-time visual feedback in your file explorer:
Status indicators:
- 🔄 Spinning icon: File is currently being sent/received
- ✅ Checkmark: File was successfully transferred
- ❌ Error icon: Transfer failed
Implementation:
- Uses Obsidian's file decoration API
- Updates in real-time during transfers
- Automatically cleans up after completion
- Works for both individual files and folders
Folder Structure Preservation
Control how received files are organized with the "Preserve folder structure" setting:
Enabled (default):
Sender structure: Recipient receives:
Projects/ [Receive Folder]/
Frontend/ Projects/
src/ Frontend/
app.js src/
utils.js app.js
utils.jsDisabled:
Sender structure: Recipient receives:
Projects/ [Receive Folder]/
Frontend/ app.js
src/ utils.js
app.js
utils.jsTechnical details:
- Relative paths are stored with each file request
- Path separators are normalized across platforms
- Empty folders are not created (only folders containing files)
- Conflicts are handled by Obsidian's file creation logic