Open erri120 opened 2 months ago
Replace AdvancedHttpDownloader and SimpleHttpDownloader with an implementation that users Downloader for simplicity.
I have a question with respect to this.
I actually suggested using Downloader
library all the way back in I think February-ish 2023, during standup.
I don't quite remember the exact reason why we didn't go with that. Original Ticket:
I remember two of the talking points for running a custom solution were:
Crash Tolerance
Alternative Source/Failover
In any case, I don't remember the exact reasons, but maybe @halgari remembers.
Downloader AFAIK does not periodically save state, so killing the App process would lose the download.
State would be handled by the job. Downloads will be persistent jobs, so we wouldn't lose the download on crash.
So say you're a premium user and you have access to 5+ servers. If one server dies, the App would pick up downloading that same chunk from another server, rather than restarting the whole download.
The library supports mirrors, haven't tested how well this works:
Then at this point I'm not even sure why we've never used it. Unless those are more recent features. I wasn't making the call on that.
Loadout Items
IModInfoViewModel
withILoadoutItemViewModel
forLoadoutItem
instead ofMod
(#1810)IModFilesViewModel
andModFileTreeViewModel
to work withLoadoutFile
. (#1810)IFileTreeViewModel
for loadout items (#1810)LoadoutFileId
instead ofFileId
(#1810)IFileOriginsPage
useILibraryService
directly (#1828)IFileOriginEntryViewModel
useLibraryItem
instead ofDownloadAnalysis
(#1828)LoadoutCardViewModel
to not useLoadout.Mods.Count
for the mod count (#1830)LoadoutGrid
(#1810)Category
andVersion
column for nowLoadoutItem
instead ofMod
Mod
toLoadoutItem
for nowstress-test
: usesIHttpDownloader
,IFileOriginRegistry
, andIArchiveInstaller
download-and-install-mod
: usesIHttpDownloader
,IFileOriginRegistry
, andIArchiveInstaller
analyze-archive
: usesIFileOriginRegistry
install-mod
: usesIFileOriginRegistry
andIArchiveInstaller
hash-folder
(#1843)Library
IFileStore
is going to be used with the new library items. We also want new, or at least updated, trees.IArchiveInstaller
integrate its functionality intoILibraryService
IFileHashCache
(#1843)IFileOriginRegistry
withILibraryService
.AddLocalFile
requires jobsAddDownload
requires working downloads with jobs (#1835)Downloads
AdvancedHttpDownloader
andSimpleHttpDownloader
with an implementation that users Downloader for simplicity. (#1832)IFileOriginRegistry
withILibraryService
ILibraryService
and jobs)Jobs