[GH-ISSUE #8148] [Bug] Notion importer multiple zips and broken links #3598

Open
opened 2026-03-23 21:31:40 +00:00 by mirror · 0 comments
Owner

Originally created by @annieappflowy on GitHub (Jul 30, 2025).
Original GitHub issue: https://github.com/AppFlowy-IO/AppFlowy/issues/8148

Bug Description

Hi, I think I might have run into another bug while trying to import my 12.2GB Notion export into AppFlowy. I successfully got a file this large to upload, and the AppFlowy worker successfully processed it, and I received the success notification by email.

However, after some days of testing the resulting workspace, team members have reported that some links appear "broken" in both AppFlowy Web and Desktop - instead of linking to functioning pages in the AppFlowy workspace, the link appears in a blue colour, and links to text like Biofarming%20team%20-%20Operations%20and%20maintenance%201b03f7c565474ba180230b78abd07a44/Alerts%20warnings%20to%20be%20changed%20to%20create%20c5006330011b4ccb87abe6a6fd94a376.md instead of an AppFlowy page, and clicking the link does nothing (see screenshot). I inspected the .zip file exported from Notion and it actually contains 4 separate zip files with a suffix like ...-Part-1.zip, ...-Part-2.zip etc. up to ...-Part-4.zip (see screenshot).

The content in the parts 2-4 was not imported, only ...-Part-1.zip was actually imported into Notion. Is this a scenario that came up in your testing of the import feature? It seems that Notion internally splits content into parts for large exports, so another loop may be necessary in your importer to handle exports like this, does that sound possible? I've included a screenshot of the zip file structure, and I can unzip each of these files and see the content that should be linked to, but the links do not work, because it seems like the content outside of ...-Part-1.zip was not processed. Can anyone point me to where the code to process these files is located? I'd be happy to attempt another PR.
https://discord.com/channels/903549834160635914/1171707854701461565/1397593932950667267

How to Reproduce

Image Image

Sure, please see my message above for the content of the hyperlink - it is an incomplete link to a .md file, without the https://... prefix. It looks like this when I hover over it. Clicking on it has no effect, nothing happens and nothing opens. The HTML code looks like this:

Alerts / warnings to be changed / to create
Image

Contrast this to one of the properly imported links, where the target .md file was included in the -Part-1.zip file and therefore successfully imported:


$














Operations reviews



Notice that the SVG element is created, as well as the data-mention-id which is missing in the link to the failed import file, as well as the mention or mention-inline classes. I suspect there is some JS I don't yet understand at work here creating the link action that opens the frame containing the mention link content.

Expected Behavior

Inner links work properly

Operating System

Windows

AppFlowy Version(s)

latest

Screenshots

No response

Additional Context

No response

Originally created by @annieappflowy on GitHub (Jul 30, 2025). Original GitHub issue: https://github.com/AppFlowy-IO/AppFlowy/issues/8148 ### Bug Description Hi, I think I might have run into another bug while trying to import my 12.2GB Notion export into AppFlowy. I successfully got a file this large to upload, and the AppFlowy worker successfully processed it, and I received the success notification by email. However, after some days of testing the resulting workspace, team members have reported that some links appear "broken" in both AppFlowy Web and Desktop - instead of linking to functioning pages in the AppFlowy workspace, the link appears in a blue colour, and links to text like Biofarming%20team%20-%20Operations%20and%20maintenance%201b03f7c565474ba180230b78abd07a44/Alerts%20warnings%20to%20be%20changed%20to%20create%20c5006330011b4ccb87abe6a6fd94a376.md instead of an AppFlowy page, and clicking the link does nothing (see screenshot). I inspected the .zip file exported from Notion and it actually contains 4 separate zip files with a suffix like ...-Part-1.zip, ...-Part-2.zip etc. up to ...-Part-4.zip (see screenshot). The content in the parts 2-4 was not imported, only ...-Part-1.zip was actually imported into Notion. Is this a scenario that came up in your testing of the import feature? It seems that Notion internally splits content into parts for large exports, so another loop may be necessary in your importer to handle exports like this, does that sound possible? I've included a screenshot of the zip file structure, and I can unzip each of these files and see the content that should be linked to, but the links do not work, because it seems like the content outside of ...-Part-1.zip was not processed. Can anyone point me to where the code to process these files is located? I'd be happy to attempt another PR. https://discord.com/channels/903549834160635914/1171707854701461565/1397593932950667267 ### How to Reproduce <img width="630" height="378" alt="Image" src="https://github.com/user-attachments/assets/11d500a1-1c79-4b79-81eb-f2220e931a4c" /> <img width="2472" height="1204" alt="Image" src="https://github.com/user-attachments/assets/6294e61f-2c2b-43d3-95e2-9a58347ca1aa" /> Sure, please see my message above for the content of the hyperlink - it is an incomplete link to a .md file, without the https://... prefix. It looks like this when I hover over it. Clicking on it has no effect, nothing happens and nothing opens. The HTML code looks like this: <div class="flex w-full flex-col"> <span data-slate-node="element" class="text-element relative flex w-full whitespace-pre-wrap break-word"> <span class="relative text-content leading-[1.5em] "> <span data-slate-node="text"> <span data-slate-leaf="true" class=""> <span class="cursor-pointer select-auto py-0.5 text-fill-default underline"> <span data-slate-string="true">Alerts / warnings to be changed / to create</span> </span> </span> </span> </span> </span> </div> <img width="765" height="355" alt="Image" src="https://github.com/user-attachments/assets/cc73a789-6387-463c-86f3-bbd0a4d9764c" /> Contrast this to one of the properly imported links, where the target .md file was included in the -Part-1.zip file and therefore successfully imported: <span data-slate-leaf="true" style="position: relative; display: inline-block;" class=""> <span style="inset: auto 0px 0px auto;" class="absolute right-0 bottom-0 !text-transparent overflow-hidden"> <span data-slate-string="true">$</span> </span> <span contenteditable="false" class="w-fit mention relative rounded-[2px] py-0.5 px-1 cursor-pointer"> <span class="mention-inline cursor-pointer pr-1 underline" contenteditable="false" data-mention-id="66c8e1a3-bc96-46f5-bb4f-60901c9ba6bb"> <span class="mention-icon"> <svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="none" viewBox="0 0 20 20" role="img" class="ml-0.5 flex h-[1em] w-[1em] items-center text-text-title"> <path stroke="currentColor" stroke-linejoin="round" d="M16 9.062h-3.031c-1.624 0-2.165-.65-2.165-2.598V3M16 12.1V9.34a2 2 0 0 0-.482-1.302l-3.72-4.34A2 2 0 0 0 10.28 3H8.2C5.2 3 4 4.4 4 7.9v4.2C4 15.6 5.2 17 8.2 17h3.6c3 0 4.2-1.4 4.2-4.9Z"></path> </svg> <span class="absolute top-0 left-0 ml-0.5"> <svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="none" viewBox="0 0 20 20" role="img" class="link-arrow-overlay"> <path stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="4" d="M8 14h10m0 0-4.375-4M18 14l-4.375 4" class="link_arrow-__outline"></path> <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M8 14h10m0 0-4.375-4M18 14l-4.375 4"></path> </svg> </span> </span> <span class="mention-content max-w-[330px] truncate opacity-80">Operations reviews</span> </span> </span> </span> Notice that the SVG element is created, as well as the data-mention-id which is missing in the link to the failed import file, as well as the mention or mention-inline classes. I suspect there is some JS I don't yet understand at work here creating the link action that opens the frame containing the mention link content. ### Expected Behavior Inner links work properly ### Operating System Windows ### AppFlowy Version(s) latest ### Screenshots _No response_ ### Additional Context _No response_
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
AppFlowy-IO/AppFlowy#3598
No description provided.