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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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