Commit Graph

51 Commits

Author SHA1 Message Date
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
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
9d3af1db5c All downloader tests pass 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
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
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
6255ec224f Allow manual Nexus downloads 2020-02-05 22:30:31 -07: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
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
Justin Swanson
36a37a04a9 Swapped calls to ObserveOnGuiThread() 2020-01-09 20:51:19 -06:00
Justin Swanson
c5dd5c05bc Merge remote-tracking branch 'wabbajack-tools/master' into settings-pane 2020-01-07 19:23:32 -06:00
Justin Swanson
98cb1ea28e More settings page styling work 2020-01-06 23:44:32 -06:00
Justin Swanson
feb3e781fc Settings page work. Some experimentation /w RxUI binding 2020-01-05 23:15:10 -06:00
erri120
cfa5717df3
ApiKey can be encrypted via CLI 2020-01-05 14:14:53 +01: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
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
f5eb4d1d84 WIP 2019-12-20 13:51:10 -07:00
halgari
0464f1b43c Integrated list validation into the caching HTTP server. 2019-12-13 22:46:20 -07: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
43dc6953c5 AbstractDownloadState download made async 2019-12-07 00:40:22 -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
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
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
2fb857a093 Unify caching to reduce the number of Nexus calls on the build server 2019-11-07 18:36:01 -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