Improve marketplace loading performance Fix https://github.com/siyuan-note/siyuan/issues/10973

This commit is contained in:
Daniel 2024-04-12 09:15:03 +08:00
parent 541483ed29
commit da59fa2afa
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
7 changed files with 49 additions and 0 deletions

View file

@ -55,6 +55,13 @@ func Plugins(frontend string) (plugins []*Plugin) {
repo := arg.(*StageRepo)
repoURL := repo.URL
if pkg, found := packageCache.Get(repoURL); found {
lock.Lock()
plugins = append(plugins, pkg.(*Plugin))
lock.Unlock()
return
}
plugin := &Plugin{}
innerU := util.BazaarOSSServer + "/package/" + repoURL + "/plugin.json"
innerResp, innerErr := httpclient.NewBrowserRequest().SetSuccessResult(plugin).Get(innerU)
@ -97,6 +104,8 @@ func Plugins(frontend string) (plugins []*Plugin) {
lock.Lock()
plugins = append(plugins, plugin)
lock.Unlock()
packageCache.SetDefault(repoURL, plugin)
})
for _, repo := range stageIndex.Repos {
waitGroup.Add(1)