Fix : Notion zip import flattened attachment and file renaming when case insensitively duplicates#522
Open
BisonLeo wants to merge 3 commits intoobsidianmd:masterfrom
Open
Fix : Notion zip import flattened attachment and file renaming when case insensitively duplicates#522BisonLeo wants to merge 3 commits intoobsidianmd:masterfrom
BisonLeo wants to merge 3 commits intoobsidianmd:masterfrom
Conversation
Attachments from Notion zip exports were all placed in a single folder, causing filename collisions (e.g. p1/1.png and p2/1.png). Wikilinks used bare filenames (![[1.png]]) instead of paths relative to the note. - Add getRelativePath() to compute ./relative/path from note to attachment - Preserve subfolder structure in cleanDuplicateAttachments for all attachment folder modes (not just ./ current-folder mode) - Thread noteDir through readToMarkdown → convertLinksToObsidian so attachment links render as ![[./Attachment Tests/file.jpg]] - Add standalone test script for path resolution verification - Add CLAUDE.md with architecture docs and known bug analysis Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The import UI truncated file names and error reasons to 100 chars, making "File already exists" errors impossible to act on. Now the full untruncated text is available as a tooltip on hover. Also include the target vault path in Notion import errors so users can see which output file caused the collision. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
On case-insensitive filesystems, "Getting started.md" and "Getting Started.md" collide. The dedup logic only checked case-sensitively, so both files would attempt to create the same path. For notes: detect case-insensitive collisions and rename the second file by appending _<first4ofNotionID> (e.g. "Getting Started_6ec2.md"), keeping wikilinks correct since the title is updated before link generation. For attachments: use a parallel lowercase Set for O(1) collision checks instead of case-sensitive Set.has(). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fix 1:
Notion: Fix case-insensitive filename collisions on Windows/macOS
Fix 2:
Show full paths in error/skip messages for easier debugging
Fix 3:
Notion: Fix attachment flattening and use relative paths in wikilinks