Commit Graph

243 Commits

Author SHA1 Message Date
Timothy Baldridge
f639c4abff Fix enderal Game ids, fixes for game file indexing, fixes for bad metrics reporting (lagged by a day). 2020-05-05 14:59:47 -06:00
erri120
5c20d7c2e0
Added MFA support for INeedsLoginCredentials 2020-05-05 16:17:55 +02:00
Timothy Baldridge
daf7eba26a Merge remote-tracking branch 'origin/master' into game-sourced-downloads 2020-05-04 15:45:45 -06:00
Timothy Baldridge
391354e241 No longer use cef for mediafire (to avoid popups) 2020-05-04 15:02:26 -06:00
Timothy Baldridge
059f2ec96f Can source game downloads from the game folder 2020-05-02 15:09:29 -06:00
erri120
0703747702
Added manual validation for nexus files if cache fails 2020-05-02 15:39:07 +02:00
Timothy Baldridge
d0f5e7acb4
Merge branch 'master' into mega-json-fix 2020-04-29 10:40:06 -06:00
erri120
ba6925c536
Fixed JSON serialization failing for MEGA.AuthInfos 2020-04-29 17:39:27 +02:00
Timothy Baldridge
64540e2cab Bunch of small server-side fixes, LZ4 compression speed, and better list validation 2020-04-29 06:26:44 -06:00
Justin Swanson
2b0866b4f3 Adjusted TempFolder init concepts
Wasn't being awaited in the App ctor.  Swapped for a static factory that can be awaited to ensure initialization is complete
2020-04-27 22:17:06 -05:00
erri120
514d2f70fc
Fixed new mega links not being resolved 2020-04-27 20:49:22 +02:00
erri120
a5843e12fa
Fixed mediafire downloader never resolving the url 2020-04-27 20:46:47 +02:00
erri120
663b82f5a7
Multiple MEGA login fixes 2020-04-26 11:31:00 +02:00
Timothy Baldridge
8f08ac8003 Fix IPS4 Verification 2020-04-23 19:58:18 -06:00
erri120
2d27f398cc
Fixed NullException for AuthedClient 2020-04-23 12:38:43 +02:00
Timothy Baldridge
ebf9a686bf Fix misc tests 2020-04-22 17:11:06 -06:00
erri120
82d8939198
Implemented new Path classes in SteamHandler 2020-04-22 14:36:32 +02:00
Timothy Baldridge
a9ea0421be Bump all the deps in the project 2020-04-20 16:54:32 -06:00
Timothy Baldridge
bb9ef89dee BSA archives are now lazily extracted.
7Zip extracted archives now only extract the fewest files required.
Audited the uses of .Wait
Lazily init the VFS cleaning
2020-04-16 21:52:19 -06:00
Timothy Baldridge
470992cc4a Merge Master 2020-04-15 06:05:05 -06:00
Justin Swanson
cf765942e1 TryGet variants /w out parameter 2020-04-12 14:47:28 -05:00
Justin Swanson
c4cce47399 Swapped calls to intended TryGet variants 2020-04-12 14:37:42 -05:00
Justin Swanson
01588dbcc9 Merge branch 'master' into wabbajack-lib-nullability 2020-04-12 00:40:49 -05:00
Timothy Baldridge
f9f2c349c0 WIP List Validation code 2020-04-11 22:18:21 -06:00
Timothy Baldridge
ff2397b48b
Merge pull request #702 from Noggog/missing-prepare-awaits
Missing IDownloader.Prepare awaits
2020-04-10 22:04:57 -06:00
Timothy Baldridge
90c2bf6901
Don't prepare inside GetInstance 2020-04-10 21:26:05 -06:00
Timothy Baldridge
0830480821 Fixes for broken bethesda tests. 2020-04-10 15:52:31 -06:00
Justin Swanson
482b7f9c9e Missing IDownloader.Prepare awaits 2020-04-10 14:06:32 -05:00
Justin Swanson
806ff74893 Wabbajack.Lib nullability finished up 2020-04-10 13:32:35 -05:00
Justin Swanson
a30bba2c0b Inferencer nullability enabled 2020-04-10 13:23:23 -05:00
Justin Swanson
a29eb93caf Wabbajack.Lib downloaders enable nullable 2020-04-10 13:23:23 -05:00
Justin Swanson
5a38f40a66 GameMetaData.TryGetGameLocation()
Added choice of nullable return or not
2020-04-10 13:23:23 -05:00
Timothy Baldridge
712438c6a6 Several ProcessStartInfo -> ProcessHelper conversions 2020-04-10 06:58:55 -06:00
erri120
d25915c4f5
Using new Enum value for MEGA ApiResultCode 2020-04-10 12:47:29 +02:00
Timothy Baldridge
d4e7311115 Merge master 2020-04-09 16:36:07 -06:00
Timothy Baldridge
d6e4ca6b1a
Merge pull request #695 from erri120/loverslab-meta-fixes
Better data scrapping for loverslab
2020-04-09 14:24:21 -06:00
erri120
eb1d596711
Better data scrapping for loverslab 2020-04-09 14:10:46 +02:00
erri120
59ca6d94ad
Fixed MEGADownloader not initializing 2020-04-07 19:56:16 +02:00
Timothy Baldridge
45254b0055 No more MessagePack, Json is love, Json is life 2020-04-06 14:48:54 -06:00
Timothy Baldridge
3d16b1e838 Purge all remaining references to MongoDB and BJSON 2020-04-05 15:15:01 -06:00
Timothy Baldridge
653c840323 Fix Mega integration support 2020-04-04 16:55:17 -06:00
Timothy Baldridge
27417b2a4b Merge Master 2020-04-04 16:34:49 -06:00
Timothy Baldridge
895a555802 Merge Master 2020-04-04 16:15:55 -06:00
Timothy Baldridge
9454bcaa5f
Merge pull request #669 from erri120/issue-664
PR: Add MEGA Login
2020-04-04 16:07:05 -06:00
Timothy Baldridge
35f99b7100 Merge Master 2020-04-04 16:06:14 -06:00
erri120
d58fcab92e
Fixed ManifestURL 2020-04-04 19:53:05 +02:00
erri120
05399c4632
Attachments from IPS4 sites can now be downloaded 2020-04-04 19:41:27 +02:00
erri120
77a5cb4f25
Fixed trying to login while being logged in 2020-04-04 16:43:42 +02:00
erri120
e3ed9bf4fd
Switched TextBox to PasswordBox for the Password 2020-04-04 16:33:58 +02:00
erri120
21b78931a8
Created INeedsLoginCredentials and implemented in MEGADownloader 2020-04-04 15:55:33 +02:00
erri120
9eac8d7641
Implemented INeedsLogin in MegaDownloader 2020-04-04 15:55:33 +02:00
Timothy Baldridge
8af841f3d6 Fix several more tests 2020-04-03 16:41:42 -06:00
Timothy Baldridge
aaba7267bd Fix a few tests 2020-04-03 16:41:42 -06:00
Timothy Baldridge
8946389da4 Fix upgrading test broken by Nexus JSON property name change 2020-04-03 16:41:17 -06:00
Timothy Baldridge
a6e3ef5f72 Game type is now an enum for Nexus downloads 2020-04-03 16:41:17 -06:00
Timothy Baldridge
85b39d5dcc Fix some more race conditions in tests 2020-04-03 16:41:17 -06:00
Timothy Baldridge
b5006a0737 Everything compiles 2020-04-03 16:40:52 -06:00
Timothy Baldridge
129f6b4fc2 Cleaned up a bunch of warnings and errors 2020-04-03 16:40:52 -06:00
Timothy Baldridge
9d3af1db5c All downloader tests pass 2020-04-03 16:40:51 -06:00
Timothy Baldridge
723f624d7a Half of the downloaders pass tests 2020-04-03 16:40:51 -06:00
Timothy Baldridge
defbc15593 Only 149 errors left in Wabbajack.Lib 2020-04-03 16:38:48 -06:00
Timothy Baldridge
d6123a7fb2 MessagePack, and basic sanity test passes 2020-04-03 16:37:27 -06:00
Timothy Baldridge
3b895f4dbb WIP, converted Hashes to a Hash struct 2020-04-03 16:37:27 -06:00
Timothy Baldridge
7978cd098c Fixes for strange edge cases on the server, we now log metrics about list healing 2020-03-10 14:41:45 -06:00
erri120
1ce640ba2b
Add non-Nexus mods to the Slideshow (#574)
* Created AbstractMetaState

* Added IAbstractMetaState to NexusDownloader.State

Slideshow is fully working with this setup and nothing changed
functionally.

* Renamed IAbstractMetaState to IMetaState

* Changed modVMs in SlideShow from type NexusDownloader.State to IMetaState

* Simplified IMetaState and ModVM

* Removed Setter from IMetaState and added to LoversLabDownloader

* Throw exception when the modlist could not be loaded

* Created AbstractMetaState

AbstractMetaState implements AbstractDownloadState and indicates that a
State from a specific Download contains meta information. This is used
for the Slideshow and can also be used for the Manifest.

* Created GatherMetaData function

* Implemented new AbstractMetaState for LoversLab

* Implemented new AbstractMetaState for NexusMods

* Replaced Utils.Log with Utils.Error

* Slideshow fixes

* Replaced AbstractMetaState with IMetaState

* Updated CHANGELOG

Co-authored-by: Timothy Baldridge <tbaldridge@gmail.com>
2020-03-04 05:10:49 -07:00
Timothy Baldridge
a1e911669a
Youtube Downloader (#596)
* Can download audio tracks from Youtube, re-encoding to XWM in the process
2020-03-03 14:53:29 -07:00
Timothy Baldridge
356adf7d0e Fix broken progress bar in gallery 2020-02-28 17:00:23 -07:00
Timothy Baldridge
f30da8a27a Support self-healing lists, and a lot of server fixes 2020-02-27 06:46:34 -07:00
Timothy Baldridge
1a02adc43b Fix error not being thrown in IPS4 code 2020-02-26 06:06:02 -07:00
Timothy Baldridge
6491a1c3f4 Purge uses of HttpClient, fix a bug that caused Nexus's verify endpoint to be spammed. 2020-02-25 22:05:33 -07:00
Timothy Baldridge
076b060afd Bump version 2020-02-25 21:00:28 -07:00
Timothy Baldridge
8d13a4c455 Swap HttpClient over to SocketsHttpHandler 2020-02-14 15:23:27 -07:00
Timothy Baldridge
f036420b42 * Disable server-side indexing of all mods from the Nexus
* Accept download states from clients and index the mods we haven't seen
* Fixes for Skyrin VR USSEP patch
* Remember the download states that we index on the server
* Only print remaining nexus quotas when they change
2020-02-13 05:29:59 -07:00
Timothy Baldridge
9316819dd3 Fix AFKMods.com integration and implement test 2020-02-11 15:14:59 -07:00
Timothy Baldridge
608b8c77a7 Manual download improvements 2020-02-10 17:30:38 -07:00
Timothy Baldridge
bf19ad959a Command line options for downloading files from the CLI, fixes for Bethesda.NET integration. 2020-02-08 16:53:11 -07:00
Justin Swanson
b05c43661c Percent struct 2020-02-07 23:45:45 -06:00
Timothy Baldridge
a9224a084a Added support for logging in via Fallout 4, added better early-exit support for the Beth.NET login 2020-02-07 06:26:58 -07:00
Timothy Baldridge
5782bac4a9 Better termination logic for early game exiting 2020-02-07 05:38:20 -07:00
Timothy Baldridge
6255ec224f Allow manual Nexus downloads 2020-02-05 22:30:31 -07:00
Justin Swanson
d789e5a26d Added error message to print URL for failed Dropbox download 2020-02-03 20:30:45 -06:00
Justin Swanson
e830ffc540 Added null check for Dropbox download logic 2020-02-03 20:30:28 -06:00
Justin Swanson
7dc5b4c9d3 Added log message for failed ModInfo get in NexusDownloader 2020-02-03 20:06:35 -06:00
erri120
853ab81bbf
Renamed GetReportEntry to GetManifestURL 2020-02-02 13:52:53 +01:00
erri120
fda325eecf
Revert "Changed Url to URL and removed GetReportEntry"
This reverts commit d62d40add41e7c7e37c2b6bae677bcc6c1d1f356.
2020-02-02 13:52:53 +01:00
erri120
cc0577b0d8
Changed Url to URL and removed GetReportEntry 2020-02-02 13:52:53 +01:00
Timothy Baldridge
7998d1add4 Fix from URL support 2020-01-28 21:30:56 -07:00
Timothy Baldridge
61c841f053 Basic workings of BNet downloadings. Can download and convert a mod into a .zip 2020-01-28 21:17:24 -07:00
Timothy Baldridge
6bcbb98d0f Port old BNet code 2020-01-28 17:09:09 -07:00
erri120
1bf2eca57c
Adjusted IPS4Downloader to work with tesalliance 2020-01-27 18:16:44 +01:00
erri120
089322129b
Fixed AFK Mods and TESAlliance URLs 2020-01-22 21:00:32 +01:00
erri120
99ba9e18e5
Updated AFK Mods URL 2020-01-22 20:58:05 +01:00
erri120
06b2bfaac4
Added support for non https website 2020-01-22 20:57:48 +01:00
erri120
fe377085dd
Fixed SiteName for TESAlliance 2020-01-22 14:13:05 +01:00
erri120
02827ddc5b
Added TESAlliance Support 2020-01-22 14:13:05 +01:00
erri120
1e854df650
Added AFK Mods support 2020-01-22 10:41:28 +01:00
Justin Swanson
5db84a6ee6 Replaced all File.OpenWrite calls /w .Open(FileMode.Create)
File.OpenWrite is equivalent to FileMode.OpenOrCreate, which caused errors when replacing a file that was larger previously
2020-01-18 14:52:09 -06:00
Justin Swanson
3bac5d2f00 AbstractDownloadState.Download returns bool
There's sort of a theoretical disagreement, still.  Should a failed download throw an exception, or return false?  Users of this function still need to handle/prep for either/or.

Still, this is better than before, where some failures were being swallowed completely
2020-01-18 14:07:27 -06:00
Timothy Baldridge
853c6ad29a
Merge pull request #384 from wabbajack-tools/enqueue-recent-files
Enqueue recent files
2020-01-14 15:21:09 -07:00
Timothy Baldridge
14f7f45a77 Add size validation to HTTPDownloader, to catch stealth updates. Check whitelist during list validation. 2020-01-13 15:55:55 -07:00