diff --git a/src/plugins/start/settings.plugins/screens/RevengePluginsBrowseSettingScreen.tsx b/src/plugins/start/settings.plugins/screens/RevengePluginsBrowseSettingScreen.tsx index 4782432..b935106 100644 --- a/src/plugins/start/settings.plugins/screens/RevengePluginsBrowseSettingScreen.tsx +++ b/src/plugins/start/settings.plugins/screens/RevengePluginsBrowseSettingScreen.tsx @@ -70,6 +70,7 @@ const Sorts: Record number> = function Screen() { const [entries, setEntries] = useState([]) + const [internalRepos, setInternalRepos] = useState([]) const [search, setSearch] = useState('') const debouncedSetSearch = useCallback( @@ -86,6 +87,10 @@ function Screen() { const repos = await listRepos() const all: BrowseEntry[] = [] + setInternalRepos( + repos.filter(repo => repo.internal).map(repo => repo.url), + ) + await Promise.all( repos .filter(repo => !repo.internal && repo.enabled) @@ -158,11 +163,12 @@ function Screen() { entry.listing.id, entry.version || undefined, entry.channel, - [entry.repoUrl], + // Internal repos so external plugins can link against internal plugins as well + [...internalRepos, entry.repoUrl], ) load() }, - [load], + [internalRepos, load], ) // Repositories that currently have entries, for the filter sheet