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
trawzified
877989ba16
Fix typos + inconsistencies in logs
2020-01-13 22:11:07 +01:00
Timothy Baldridge
955924fdac
Merge pull request #377 from wabbajack-tools/asp-net-core-rewrite
...
Asp net core rewrite
2020-01-12 14:27:34 -08:00
Justin Swanson
75c48e5fe2
Merge branch 'master' into settings-pane
2020-01-11 00:42:51 -06:00
Timothy Baldridge
5393ed4a84
Can now get meta.ini data from a download state
2020-01-10 21:15:53 -07:00
Timothy Baldridge
bac5e958bf
Primary key string
2020-01-10 06:25:01 -07:00
Justin Swanson
36a37a04a9
Swapped calls to ObserveOnGuiThread()
2020-01-09 20:51:19 -06:00
Justin Swanson
b3a61a00a7
Merge fixes
2020-01-07 19:30:22 -06:00
Justin Swanson
c5dd5c05bc
Merge remote-tracking branch 'wabbajack-tools/master' into settings-pane
2020-01-07 19:23:32 -06:00
Timothy Baldridge
f2bb07a528
Wabbajack.Lib is now .NET Standard 2.0
2020-01-07 06:50:11 -07:00
Justin Swanson
98cb1ea28e
More settings page styling work
2020-01-06 23:44:32 -06:00
erri120
837fca2580
Added DeadlyStream and VectorPlexus to Ceras, KnownSubTypes and Downloaders
2020-01-06 16:08:54 +01:00
erri120
91cfe359a8
Created DeadlyStreamDownloader
2020-01-06 16:08:21 +01:00
Justin Swanson
feb3e781fc
Settings page work. Some experimentation /w RxUI binding
2020-01-05 23:15:10 -06:00
Timothy Baldridge
3e39ab8dba
Implement VectorPlexus support as a downloader, abstracted common IPS4 data behind an abstract class.
2020-01-05 17:21:05 -07:00
Timothy Baldridge
27f0f98671
Merge pull request #353 from wabbajack-tools/abstract-login-downloader
...
Reworked the LL downloader
2020-01-05 14:24:08 -08:00
erri120
cfa5717df3
ApiKey can be encrypted via CLI
2020-01-05 14:14:53 +01:00
Timothy Baldridge
5f969a00df
Reworked the LL downloader to abstract commonly used items in an abstract class
2020-01-04 22:38:08 -07:00
Justin Swanson
553a3123bd
TCS cancellations in downloaders now call TrySetCancelled
...
Multiple Cancel calls threw unnecessary exception otherwise. Would rather be able to cancel multiple times without worrying about throwing
2020-01-04 19:33:00 -06:00
Justin Swanson
c9f3fabd69
Removed ViewModel/Notifying concepts from INeedsLogin
...
No properties are actually making use of the ViewModel/[Reactive] concepts, where normal properties might change after the fact, and users might want to construct an Rx observable from a property and its changes, or a GUI might want to watch (via notifypropertychange) changes.
All concepts that are mutable and want to be followed are already able to do so without the ViewModel concepts, as the implement IObservable (IsLoggedIn, for ex)
ViewModel ideally should only be used in a GUI, as it's the weird marriage of Rx + real properties that XAML can bind to. The ViewModel is the hybrid glue to bring those two worlds together. In a situation with no GUI, it's unnecessary
2020-01-04 19:30:53 -06:00
Justin Swanson
5aaf416dca
Utils.CatchAndLog. Nexus/LL downloaders use in login commands
2020-01-04 19:30:42 -06:00
Timothy Baldridge
eacf8985d7
Throw error on non 200 response in GDrive download
2020-01-03 20:37:36 -07:00
Timothy Baldridge
eb16865330
Merge pull request #334 from wabbajack-tools/moddb-rewrite
...
Rewrite ModDB downloader to support mirrors.
2020-01-03 14:27:14 -08:00
Timothy Baldridge
9e2d05fa40
Rewrite ModDB downloader to support mirrors.
2020-01-03 15:15:55 -07:00
Timothy Baldridge
980fd96c56
Merge pull request #332 from wabbajack-tools/soft-error-inis
...
Soft error inis & Game version info
2020-01-03 12:42:17 -08:00
Timothy Baldridge
0cb4e61150
Fix broken state
2020-01-03 12:39:36 -07:00
Timothy Baldridge
5e8e2c33b5
Use Windows FileVersion utils instead to get file versions, use that info when saving Game Downloader states.
2020-01-03 12:21:27 -07:00
erri120
2643c499c2
Replaced old Steam/GOG Handlers with the new StoreHandler system
2020-01-03 18:22:50 +01:00
Timothy Baldridge
408ade8a38
Use Windows FileVersion utils instead to get file versions, use that info when saving Game Downloader states.
2020-01-03 10:00:57 -07:00
Timothy Baldridge
fefc804759
Remove unused bson settings
2020-01-02 18:08:24 -07:00
Timothy Baldridge
f57897c539
merge master
2020-01-02 17:07:13 -07:00
Timothy Baldridge
936fee5d0c
Bugfixes to get the code to work on the server box
2020-01-01 17:11:13 -07:00
Timothy Baldridge
717ad8c70a
Rework WJ caching, move cache server routines to MongoDB
2020-01-01 09:19:06 -07:00
Timothy Baldridge
5a0e19f4b1
Metrics and status are now in MongoDB
2019-12-29 15:57:01 -07:00
Timothy Baldridge
9a6d93524c
Use CefSharp instead of CefGlue. Abstracted the Cef bits so we can make future changes easier
2019-12-26 16:26:53 -07:00
Timothy Baldridge
3c9743ec1e
Fix bug in verify with HTTPdownloader
2019-12-22 21:24:40 -07:00
Timothy Baldridge
00f702f1f8
Merge pull request #303 from Noggog/bugs-n-features
...
Bugs n features
2019-12-22 13:57:43 -08:00
Justin Swanson
cf73a2af2f
Removed extra HTTPDownloader folder creation call
2019-12-21 19:30:56 -06:00
Justin Swanson
eed71e1c24
Purged a few more Task.Wait() calls
2019-12-21 18:26:51 -06:00
Timothy Baldridge
f5eb4d1d84
WIP
2019-12-20 13:51:10 -07:00
trawzified
1092345e2d
Fix error on HTTPDownloader trying to download to non-existing destinations
...
Remove debug log call
Modify HTTPDownloader - put if into a twoliner
Add download into if statement
2019-12-18 14:46:38 +01:00
halgari
f0c803215e
fix test
2019-12-17 16:43:12 -07:00
halgari
91e27fc3d7
Fixes for inis, resuming downloads and caching services
2019-12-17 16:17:44 -07:00
Justin Swanson
3f7d68b4a1
Reverted HTTPDownloader to be sync, until side effects can be researched
...
Was causing download failures, for some unknown reasons
2019-12-15 18:48:12 -06:00
Timothy Baldridge
1058a5a3c4
Revert "Vortex Redone"
2019-12-14 10:30:52 -07:00
Timothy Baldridge
ab44492152
Merge pull request #267 from erri120/vortex-redone
...
Vortex Redone
2019-12-14 10:11:20 -07:00
erri120
04584720a7
Re-added manual files
2019-12-14 12:10:22 +01:00
erri120
dcf0113c17
Disabled manual game files
2019-12-14 11:57:47 +01:00
halgari
0464f1b43c
Integrated list validation into the caching HTTP server.
2019-12-13 22:46:20 -07:00
Justin Swanson
bcd7c95caf
Merge branch 'master' into async-exploration
2019-12-12 19:49:40 -06:00
Justin Swanson
96c1fe6bff
Merge branch 'master' into intervention-frontend
2019-12-10 21:49:20 -06:00
Timothy Baldridge
f6e9d672d2
Create .metas automatically for source-from-game files.
2019-12-10 05:26:49 -07:00
Timothy Baldridge
ed41308f12
Can now "download" archives from the game folder. This is useful if installers need to repack game files, they can source the files from the main game archive and then build a new BSA modifying/adding files as needed
2019-12-09 16:52:17 -07:00
Justin Swanson
7f695a4a9e
Install/Compile views display ConfirmationInterventions in CPU area
2019-12-08 18:19:36 -06:00
Justin Swanson
f8f0490047
UserInterventionHandlers cancellation tokens. Removed dispatcher
2019-12-08 13:46:30 -06:00
Timothy Baldridge
6ad8baefb3
Fixe broken LL url detecting
2019-12-08 11:38:49 -07:00
Timothy Baldridge
638838d7a5
Fix LL ad selector
2019-12-08 10:05:52 -07:00
Timothy Baldridge
3bbbfb3ea2
Finish up LL support.
2019-12-08 10:00:22 -07:00
Justin Swanson
bc436e53c7
Fixed [ThreadStatic] systems in WorkQueue
2019-12-07 01:22:34 -06:00
Justin Swanson
63afc2dc9e
Remaining NexusAPI made async
2019-12-07 00:40:29 -06:00
Justin Swanson
a25fc9d1a9
Lots of NexusAPI refactored to async
2019-12-07 00:40:29 -06:00
Justin Swanson
5bd856a7c6
Utils async -> sync methods removed
2019-12-07 00:40:29 -06:00
Justin Swanson
43dc6953c5
AbstractDownloadState download made async
2019-12-07 00:40:22 -06:00
Justin Swanson
e946fc7ea4
Made Utils.LogToFile private. Removed ExceptionToString
2019-12-04 23:07:44 -06:00
Justin Swanson
bf87746e69
Utils.ErrorThrow added for when wanting to throw the exception
2019-12-04 22:58:02 -06:00
Timothy Baldridge
f67a235274
Logs and exceptions as classes
2019-12-04 16:17:02 -07:00
Justin Swanson
7926870fab
Fix for HTTP download directory creation
2019-12-03 00:05:20 -06:00
Justin Swanson
4965f78c07
HTTPDownloader creates directory for its destination
2019-12-02 23:28:06 -06:00
erri120
7a38d3fb24
Created new SteamWorkshopDownloader and IncludeSteamWorkshopItems compilation step
2019-12-02 17:44:24 +01:00
erri120
8fd65da191
Fixed NexusDownloader.Verify to work with non MO2 games
2019-12-01 15:54:21 +01:00
Timothy Baldridge
8a680a8f14
Several fixes for compilation and caching.
2019-11-21 22:19:42 -07:00
erri120
b930724560
Fixed naming in Wabbajack.Lib
2019-11-21 16:51:57 +01:00
erri120
e4f17a81b8
Removed unused imports from Wabbajack.Lib
2019-11-21 15:25:56 +01:00
Timothy Baldridge
e10112bff9
Nexus has dirty caches, so we have to work around it
2019-11-20 22:57:48 -07:00
tr4wzified
7b20b40ce0
Change KnownFoldersType to Downloads instead of DownloadsLocalized, fixes Windows 7 crash
2019-11-18 18:53:11 +01:00
erri120
5b1ea3d448
Added null check to NexusDownloader:GetDownloaderState
2019-11-14 15:34:11 -07:00
Timothy Baldridge
9617ca4982
Fix how we clean the download cache ( #170 )
2019-11-14 14:53:29 -07:00
Timothy Baldridge
6996556642
Feed archive info into the HTTP downloader so we get proper downloader progress bars.
2019-11-07 22:19:39 -07:00
Timothy Baldridge
2fb857a093
Unify caching to reduce the number of Nexus calls on the build server
2019-11-07 18:36:01 -07:00
Timothy Baldridge
040289f16c
Fix bug with file moving in manual mode
2019-11-06 21:23:43 -07:00
Timothy Baldridge
cb667ed4f8
Fix broken interaction with http-downloader
2019-11-06 17:29:53 -07:00
Timothy Baldridge
e518f31a71
Enable guidence for users to download manual files.
2019-11-06 16:52:48 -07:00
Timothy Baldridge
3d9cf4cc65
Rework Nexus API caching logic to use build server cache
2019-11-05 15:21:07 -07:00
Timothy Baldridge
c43bcc7d89
wip
2019-11-05 15:21:07 -07:00
Timothy Baldridge
6ab49e380c
Add modlist validation tests.
2019-11-05 15:21:07 -07:00
Timothy Baldridge
ae011ee7e4
add some validation to the installed modlist
2019-10-29 15:30:27 -06:00
erri120
843228c09e
Using new Ceras options instead of JSON
2019-10-27 14:55:30 +01:00
Timothy Baldridge
35f5730737
add files I forgot
2019-10-23 19:22:11 -06:00
Timothy Baldridge
49d49887a8
fixes tests and adds support for media fire via web remoting
2019-10-23 19:19:11 -06:00
Timothy Baldridge
1882b9227b
fixup some google download links so they properly download
2019-10-21 13:05:03 -06:00
Timothy Baldridge
7bc08df9bb
add logo downloader for modlist metadata
2019-10-16 17:05:51 -06:00
Timothy Baldridge
65af535487
code cleanup
2019-10-16 15:36:14 -06:00
Timothy Baldridge
e4e307c4fd
download dispatcher now also accepts urls as input
2019-10-16 05:44:45 -06:00
Timothy Baldridge
518de4dacc
pull the core of Wabbajack into Wabbajack.Lib so we can reuse it in other exes
2019-10-15 21:10:34 -06:00