Skip to content

provider package installs silently corrupt when zip root folder matches inner folder names #969

Description

@klass-723

found a bug in Seren's zip extractor (resources/lib/modules/zip_manager.py). _extract_zip_member strips the zip's root directory with a global member.replace(root_dir, "") - so if a provider zip's root folder has the same name as its inner folders (like a4kScrapers/providers/a4kScrapers/...), every matching segment gets stripped and the package extracts flat. Install says completed but scrapers are dead with ModuleNotFoundError: No module named 'providerModules.a4kScrapers'.

The official a4k zip doesn't trigger it because github's zip root name is unique - but any repacked or community provider zip with a matching root name silently breaks. Affects 3.0.1 through 3.0.62 and most forks.

fix is one line - strip only the leading prefix instead of global replace: commit (shipped in the maintained fork's 3.0.69). Prism fixed the same thing independently, so it's confirmed twice.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions