Commit Graph

189 Commits

Author SHA1 Message Date
Timothy Baldridge
d3a9cb8666 Worker queue fixes (backport) 2020-03-30 15:38:01 -06:00
Timothy Baldridge
86d5f7462a Add improved file deletion code 2020-03-19 06:13:57 -06:00
Timothy Baldridge
cbe5165d3a
Merge branch 'master' into workbase-fixes 2020-03-04 05:11:37 -07: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
186facb066 Fixes for WorkBase 2020-03-03 22:23:08 -07:00
Timothy Baldridge
44b78111a3 Server side cleanup, give authors the ability to delete their own files. Some sanity and logging checks for 2020-03-02 16:16:15 -07:00
erri120
87dc2c7773
Replaced Go to Modlist with Open Logs Folder when complation failed 2020-02-28 17:27:37 +01:00
Timothy Baldridge
27025db484 Switch from BSDiff to OctoDiff for patch generation 2020-02-24 16:18:29 -07:00
Timothy Baldridge
fe95e0e52e Fix never ending hash issue 2020-02-22 21:56:18 -07:00
erri120
70de8fae09
Delete old log files on startup 2020-02-20 12:03:49 +01:00
erri120
78ba02f277
Added LogsFolder Consts 2020-02-20 11:45:38 +01:00
Timothy Baldridge
5da39fe223 Don't store xxHash caches in binary format 2020-02-15 19:50:02 -07:00
erri120
f53e05d741
Log files will now be stored in a separate logs folder 2020-02-14 19:10:04 +01: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
b1eefa6a41 Rename old log files. Don't overwrite downloads with the same name 2020-02-11 22:31:42 -07:00
Timothy Baldridge
2b2836855d Don't overwrite logs (fixes issue #482) 2020-02-11 14:25:20 -07:00
Timothy Baldridge
2ffc20411d Merge pull request #489 from Noggog/percent
Percent Struct
2020-02-08 07:11:20 -07:00
Justin Swanson
b05c43661c Percent struct 2020-02-07 23:45:45 -06:00
Timothy Baldridge
e4d4a890f1 Move settings and other cache data to the local user folder. 2020-02-07 17:56:22 -07:00
Timothy Baldridge
d8500fd618 Improve race condition handling with Patch generation 2020-02-04 22:23:02 -07:00
Timothy Baldridge
b030dd67ca Added MatchAll support to mods 2020-02-04 22:17:12 -07:00
Timothy Baldridge
4377f430f3 Fixes for sql for unicode paths in sql tables (instead of ascitables 🤦) 2020-02-03 21:58:32 -07:00
Timothy Baldridge
aa85c0dc8c We have a CLI 2020-01-31 15:38: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
Justin Swanson
805fc47b78 Process start refactor to be compatible with .NET Core 2020-01-25 21:21:41 -06:00
Justin Swanson
638542c617 .NET Standard 2.1, .NET Core 3.1 2020-01-25 20:48:13 -06:00
Justin Swanson
ab4371e5d2 ACompiler no match printing limited to 10 in GUI.
Refactored printing and failure mechanics for nomatch to ACompiler for general reuse
2020-01-19 19:36:09 -06: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
bd87c0c719 ToHashSet optimization 2020-01-14 23:24:38 -06: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
Timothy Baldridge
7df6d06e98 WJ can now infer metas with the help of the build server 2020-01-11 22:00:41 -07:00
Justin Swanson
818d92320e Initial dynamic WorkQueue threads system 2020-01-11 00:42:25 -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
05512d1599 GraphQL support, endpoints for metrics via GraphQL 2020-01-09 16:19:07 -07:00
Timothy Baldridge
f2bb07a528 Wabbajack.Lib is now .NET Standard 2.0 2020-01-07 06:50:11 -07:00
Timothy Baldridge
38f4825099 Clone the modlist so we don't delete everything on a re-install 2020-01-05 21:35:12 -07:00
Justin Swanson
5aaf416dca Utils.CatchAndLog. Nexus/LL downloaders use in login commands 2020-01-04 19:30:42 -06:00
Timothy Baldridge
8c34066a45 Include an anonymous key with metrics 2020-01-03 19:49:08 -07:00
Timothy Baldridge
caba928d85 Upgrade only the wabbajack.common lib 2019-12-26 09:47:10 -07:00
Timothy Baldridge
878b1759b2 Make file copying parallel during compilation 2019-12-23 16:28:47 -07:00
Justin Swanson
4e7829c7c1 WorkQueue IsWorkerThread fixes. PMap unit tests 2019-12-22 22:44:33 -06: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
344c8e40d6 ProcessExt: WaitForExitAndWarn 2019-12-22 01:58:10 -06:00
Justin Swanson
a7aaac425a Added extra logging to 7z extraction completion 2019-12-22 01:58:05 -06:00
Justin Swanson
fb0bfe8e60 Added another missing PMap overload 2019-12-21 20:59:42 -06:00
Justin Swanson
b392b667cf MO2 proper install folder logic now ignores files in downloads 2019-12-21 19:30:01 -06:00
Timothy Baldridge
698a419973
Merge branch 'master' into login-manager 2019-12-20 16:17:08 -07:00
Timothy Baldridge
46b8f97bd0
Merge pull request #298 from Noggog/should-not-happen
Should not happen bug fixed
2019-12-20 16:11:13 -07:00
Timothy Baldridge
9ffdea44c5 Few bug fixes 2019-12-20 15:47:33 -07:00
Timothy Baldridge
f5eb4d1d84 WIP 2019-12-20 13:51:10 -07:00
Justin Swanson
790acec2d0 Added missing PMap overload for Func<Task> work actions 2019-12-20 14:50:02 -06:00
Justin Swanson
af6b42563d Ceras version tolerance enabled 2019-12-20 14:01:01 -06:00
Timothy Baldridge
d49c59480b Only benchmark the scratch disk, take ram size into account, support network drives 2019-12-19 09:09:31 -07:00
halgari
52b1b57e5d UI wasn't prompting for a new download when the list was updated 2019-12-17 21:30:36 -07:00
halgari
91e27fc3d7 Fixes for inis, resuming downloads and caching services 2019-12-17 16:17:44 -07:00
erri120
ed1297b71d
Added error catching for FromJSON to catch NexusAPI error responses 2019-12-16 14:00:22 +01:00
Justin Swanson
bcd7c95caf Merge branch 'master' into async-exploration 2019-12-12 19:49:40 -06:00
Timothy Baldridge
e482197479 Fix case sensitive bug with download deletion during install 2019-12-12 15:52:24 -07:00
Timothy Baldridge
cfa6855e89 Check if the directory exists first before saving data to it 2019-12-12 06:41:06 -07:00
Timothy Baldridge
f6e9d672d2 Create .metas automatically for source-from-game files. 2019-12-10 05:26:49 -07:00
Justin Swanson
86d4003398 Merge remote-tracking branch 'wabbajack-tools/master' into async-exploration 2019-12-08 01:10:51 -06:00
Justin Swanson
bc436e53c7 Fixed [ThreadStatic] systems in WorkQueue 2019-12-07 01:22:34 -06:00
Justin Swanson
367978967c GenericExceptions print more detail 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
e9deda9f44 Large swap to make WorkQueue able to take Task work items 2019-12-06 22:47:49 -06:00
Timothy Baldridge
a8a344d4be Added libCef, hooked it into a WPF window. Made NexusAPI raise a message. Implemented encrypted caching routines. 2019-12-06 17:13:16 -07: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
Justin Swanson
2c47f54752 IException, GenericException
Adds ability to wrap an existing exception and push it through the pipe
2019-12-04 22:57:05 -06:00
Timothy Baldridge
f67a235274 Logs and exceptions as classes 2019-12-04 16:17:02 -07:00
Justin Swanson
299ee0041d Removed vestigial Utils status subject 2019-12-03 17:49:59 -06:00
Justin Swanson
4945f95066 PMap return swapped to array 2019-12-03 17:49:52 -06:00
Justin Swanson
0dc0c11e9f Filepicker bugfix for it not opening to current selected file/folder 2019-12-02 23:38:14 -06:00
Justin Swanson
107527311d Resource loading fixes 2019-11-29 17:56:56 -06:00
Timothy Baldridge
3976d7e526 Macro-level progress bar updates. 2019-11-24 16:03:36 -07:00
Timothy Baldridge
2afcb83456 Switch directory deleting back to use a shell process. It's the only 100% reliable method I've found. 2019-11-23 10:37:24 -07:00
Timothy Baldridge
8a680a8f14 Several fixes for compilation and caching. 2019-11-21 22:19:42 -07:00
Timothy Baldridge
0ddcaa8241 Fix bug in time conversion, implement update endpoint for nexus cache 2019-11-21 17:41:01 -07:00
Timothy Baldridge
1ee439c7c1 Better selection of patch file sources 2019-11-21 14:32:58 -07:00
erri120
4eec277955
Fixed naming in Wabbajack.Common 2019-11-21 16:49:14 +01:00
erri120
7583703239
Simplified names in Wabbajack.Common 2019-11-21 16:04:48 +01:00
erri120
a31ea20657
Removed unused imports from Wabbajack.Common 2019-11-21 15:26:08 +01:00
Timothy Baldridge
7188a926af Cache disk speeds for better performance 2019-11-20 17:04:01 -07:00
Timothy Baldridge
27964f0348 Set the queue size during installation based on the disk performance. Abort installation if there isn't enough disk space to perform the installation. 2019-11-20 16:39:03 -07:00
Timothy Baldridge
a8d8d20a99 Several fixes that came up during testing.
* Fixed hashing progress bars
* Wired up the CPUStatus to the UI during installation
* Fixed xxHashing
* Verified modlist optimization works on a real modlist (noise)
* Added an optimizer test for extra files created by the user left in the install directory.
2019-11-19 17:15:46 -07:00
Timothy Baldridge
baab601f09 Rework Work queue to be non-static 2019-11-16 21:16:42 -07:00
Timothy Baldridge
133fa2febd
Async VFS Implementation (#171)
* New VFS implementation can load/save/analyze files. All in a immutable, lock free (mostly) async parallel manner.

* VFS indexing is complete

* Can stage files

* Can extract VirtualFiles into PortableFiles and create contexts from PortableFiles

* Code cleanup
2019-11-14 15:22:53 -07:00
Timothy Baldridge
e164d7a8bf Change exception printing, and unset read-only during move. 2019-11-10 16:03:10 -07:00
Timothy Baldridge
e518f31a71 Enable guidence for users to download manual files. 2019-11-06 16:52:48 -07:00
Timothy Baldridge
c43bcc7d89 wip 2019-11-05 15:21:07 -07:00
Justin Swanson
9051d28822 WorkQueue and Utils Rx instead of callbacks
Swapped the callback registration systems for Rx subjects exposing observables
2019-11-04 22:17:43 -06:00
Justin Swanson
d872823d7a Utils.Is(File/Directory)PathValid 2019-11-02 21:23:59 -06:00
Timothy Baldridge
51d1b32077 finish up zedit integration 2019-11-02 09:38:03 -06:00
erri120
750dd6f7aa
Fixed bad LINQ expression 2019-11-01 12:06:12 +01:00
erri120
fa51cd4d69
Moved IsMO2Running to Utils.cs, added check for MO2 inside the selected profile folder 2019-11-01 11:56:29 +01:00
Timothy Baldridge
610fea9d7f use xxHash64 hasing 2019-10-30 21:40:33 -06:00
Timothy Baldridge
0151b219bf dump stack info to disk and load it during compilation 2019-10-30 20:24:42 -06:00
Timothy Baldridge
ae011ee7e4 add some validation to the installed modlist 2019-10-29 15:30:27 -06:00
erri120
4c694eafc9
Added Compression to Ceras serialization 2019-10-27 14:55:31 +01:00
erri120
6fd9d49c9e
Added BZip2 Compression to modlist info file 2019-10-27 14:55:31 +01:00