[FR] Allow linking to external files without copying them into AppFlowy
Description
When inserting a file using /file, AppFlowy always creates a copy of the selected file inside its internal files directory. This means the file cannot be edited in its original location — any edits affect only the copied version inside AppFlowy.
For example, selecting a file from:
/home/user/projects/my_file.txt
creates a duplicate inside:
AppFlowy/…/files/...
and edits only that copy.
I also tried creating a shortcut (symbolic link) inside the AppFlowy files folder pointing to the original file, hoping AppFlowy would open the original version. However, even in this case, AppFlowy still creates a new copy of the file instead of using the linked one.
Proposed solution: Add an option to link external files instead of copying them. For example: • When adding a file with /file, include a checkbox like “Link to file (don’t copy)”. • If selected, AppFlowy should open and edit the file directly from its original path (absolute or relative). • The file block would store the external path reference instead of importing the file.
Optional improvements: • Display a small tag or icon (e.g. “linked file”) for clarity. • Show a “File not found” warning if the linked file is moved or deleted.
Impact
• Enables users to edit and manage files directly in their native folders (e.g. project directories).
• Prevents duplicate files and confusion between original and copied versions.
• Keeps AppFlowy more suitable for developers, makers, and note-takers who organize files externally.
• Maintains compatibility with workflows that rely on Git, cloud sync, or shared directories.
• Saves storage space by avoiding redundant file copies
Additional Context
This feature would make AppFlowy significantly more flexible for users who work with existing project files (e.g. .txt, .md, .py, .ino). Currently, the /file command is limited to attaching copies, which restricts its usefulness for direct editing workflows.
Inserting a file via a file block is actually uploading your file to the cloud.
There are two reasons for duplication:
- To ensure the file will be uploaded successfully even if you delete the original file.
- You don't have to download it again to view it if you're the uploader; you can read it directly from the cache.
I guess you may want to have a feature to link to an external file without uploading it, which means it's a symbolic link to your local file.
I understand the symbolic link idea, but for a self-hosted setup, my goal would be different.
It would be great if AppFlowy could allow adding a local path like:
D:\testfolder\testfile.docx
and when clicking on it, the desktop client would open that file (or folder) on the user’s PC using the local file explorer.
In this case, each client PC would have the same Synology network drive mounted as D:, so the path is identical for everyone. This way, AppFlowy would not need to copy or download the file — it would just open the original one directly from the shared drive.