Memnarch / Delphinus

An alternative Packagemanager for the Delphi-IDE
Mozilla Public License 2.0
235 stars 64 forks source link

Delphinus does not store the online package list, We need to refresh each time we load Delphi #59

Open amjadtbssm opened 6 years ago

amjadtbssm commented 6 years ago

Delphinus does not store the online package list, We need to refresh each time we load Delphi. It should store this information and update it when the refresh button is clicked.

Memnarch commented 6 years ago

actually it does store it. The internal HTTP-Client has a cache. But the packagelist isn't worth anything if it has'nt been checked against the current online state. But i agree that the whole thing feels/is kind of slow. It might load a bit to much at the moment. I wanted to check that again, anyway.

amjadtbssm commented 6 years ago

The cached data is not displayed @Memnarch i've been looking for it anyway. How does GetIt Package Manager works then?? Does it cache info too?? I've checked that it does not need to refresh time and again.

Memnarch commented 6 years ago

That's correct. Delphinus does not display online-packages until you hit refresh. GetIt instead does an auto-refresh when you open it up first. But since refreshing in Delphinus takes a bit longer atm, i decided to keep it manually(in case you just want to uninstall some packages). An idea for the future is to write a service that prepares the packageindex, so clients do not need to search on github themself. That should speedup everything. That would require to write one for Linux(FPC seems to be a choice here) and renting a cheap VServer(the prepared Packageindex is then stored on Github again, but in a single file for all repos). Another thing i could do is load it async the first time, so you can uninstall while it refreshes.

Pawe1 commented 6 years ago

I think that it will be much easier to create simple Python script that would re-generate index than creating any executable. Also finding a cloud hosting will be easier because of script portability.

Memnarch commented 6 years ago

Actually, creating executables is simpler, because i have to write my githubprovider only once(loaded packages are then dumped into a json-file). Implementing a HTTClient that uses a FPC one, putting it into my Provider and the fetching is already done :P