Skip to content

Theme ID collisions not handled during legacy migration #219

Description

@ZhuchkaTriplesix

В методе ThemeRegistryService._migrateLegacyThemesToExtensions нет проверки на коллизии definition.id с уже существующими расширениями (в отличие от importThemeFile, где добавляется суффикс -2).

Если у пользователя в старой папке лежат две разные темы с одинаковым внутренним id, они обе попадут в разные папки (т.к. slug имени отличается), но получат одинаковый manifest.id.
Это приведет к дублированию ID в _availableThemes, и пользователь не сможет выбрать вторую тему. Это редкий edge case (т.к. миграция разовая), но логику разрешения конфликтов ID желательно переиспользовать.

Metadata

Metadata

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions