Commit Graph

88 Commits

Author SHA1 Message Date
JustArchi
807ef2d83a Prevent Windows from going to sleep only in headless mode 2017-03-07 03:47:56 +01:00
JustArchi
63df2ba4aa Translations update 2017-03-06 21:07:10 +01:00
JustArchi
df8fdcca56 Packages update 2017-03-01 22:46:02 +01:00
JustArchi
2c15a4f5c5 Code cleanup 2017-03-01 22:38:57 +01:00
JustArchi
2f81206a10 Improvements mentioned in #478
@il-marc
2017-02-25 18:11:03 +01:00
Ilia
d3c3bcec8f SetUserInput for GUI 2017-02-25 18:06:15 +02:00
JustArchi
a32a5b1968 Unlink en-GB
Until now it was 1:1 copy of en-US for silencing warning fixed in previous commit, remove it until we have a reason to add it back (with actually different translations from en-US)
2017-02-25 10:57:03 +01:00
JustArchi
b68b695150 Misc 2017-02-25 10:53:35 +01:00
JustArchi
833774aafc Don't complain about missing en dialects 2017-02-25 10:52:10 +01:00
JustArchi
aeae5a1c9b Packages update 2017-02-23 17:08:40 +01:00
JustArchi
701cb9d327 Optimize unused references 2017-02-18 22:20:00 +01:00
JustArchi
643fd4b4ac Build fix
I wonder why this wasn't bundled with previous commit
2017-02-18 22:18:52 +01:00
JustArchi
2aadc41847 Packages update
With important fix for https://github.com/NLog/NLog/issues/1965
2017-02-18 22:13:13 +01:00
JustArchi
56983c0470 Handle system clock updates
In very rare scenario of starting from time X, calculating SteamTimeDifference of Y, then changing time from X to Z, old Y difference might no longer be accurate, which could lead to temporary failure of generating tokens/confirmations for given time.
Steam accepts tokens for quite a while (15 minutes from their time IIRC), so this would only hit us if we started from really huge time gap X, and not just normal typical small max 1-2 minutes updates.
2017-02-13 20:53:06 +01:00
JustArchi
0625e57333 Switch from self-compiled SK2 back to original SK2
It got updated so I no longer need my own version for bugfixes
2017-02-12 15:29:50 +01:00
JustArchi
befc71f358 Code cleanup 2017-02-11 17:09:15 +01:00
JustArchi
21156a6c79 Link new translations 2017-02-09 13:45:31 +01:00
JustArchi
92b9aeae31 Fix Mono compilation 2017-02-07 21:09:08 +01:00
JustArchi
a8045ac50b Fix async/await with ConcurrentHashSet
Now this is a nice bug that was found accidentally by ArchiBoT...
ReaderWriterLockSlim() is very decent solution, but it's thread-based, and we're using our ConcurrentHashSet in mixed async/sync context. This means that if we use something like:
foreach (var item in concHashSet) {
    await AnythingAsync().ConfigureAwait(false);
}
It's totally possible that we'll request read lock as thread 1, and release the read lock as thread 2, which will lead to RWLock exception => System.Threading.SynchronizationLockException: The read lock is being released without being held.
Fortunately it looks like we didn't have any scenario like this in ASF, as this was possible only when we async/await while enumerating over ConcurrentHashSet, so that specific bug didn't affect ASF codebase (yet). Still, I must fix this as current implementation is not thread-safe, so our HashSet is in fact not concurrent in the first place.
I analyzed possible solutions and there are basically 3: either using ConcurrentDictionary and wrapping around it, replacing lock with SemaphoreSlim, or using third-party AsyncReaderWriterLock from StephenCleary. SemaphoreSlim entirely kills the concept of multiple readers one writer, and could affect performance negatively, moreover - it doesn't support upgreadable lock scenario we have with ReplaceIfNeededWith(). Concurrent dictionary would be nice if I didn't have that awful memory hit from storing mandatory pointless value, plus I don't really like concept of wrapping around conc dictionary if I can simply use it right away and drop my conc hashset entirely. AsyncReaderWriterLock seem to be really well written, and works on Mono + should be compatible with .NET core in the future, so we should go for it as it's the best bet both performance-wise and memory-wise.
This brings another package dependency and changes a bit backend of ConcurrentHashSet
2017-02-07 20:14:51 +01:00
JustArchi
b4483057b9 Fix build 2017-02-05 14:35:55 +01:00
JustArchi
f72c51a2f8 Misc 2017-02-05 14:35:27 +01:00
JustArchi
c887dc102e Unify ASF/GUI startup 2017-02-05 14:32:38 +01:00
JustArchi
2af76f746d Closes #457 2017-02-05 13:52:00 +01:00
JustArchi
bd9fde0799 Misc 2017-02-02 19:04:31 +01:00
JustArchi
3de44af605 Misc 2017-02-02 18:02:02 +01:00
JustArchi
d5e865dff3 Misc 2017-02-01 00:49:49 +01:00
JustArchi
fb4cda513b Don't wait for bot being stopped too long 2017-02-01 00:44:52 +01:00
JustArchi
372e71dcfd Closes #339
We should finally start using latest SK2 enhancements, some of which I added myself to official SK2 repo.
I hope this solves various network quirks that suddenly arrived either with Steam network, or ASF code changes regarding HeartBeats.
The .dll bin is self-compiled from latest SK2 repo, I hope I can drop it when SK2 arrives on nuget, but when it happens - not sure, while I want to test if this fixes particular issues that are happening lately.
2017-01-31 03:12:02 +01:00
JustArchi
fc4574d143 Closes #445
Review https://github.com/JustArchi/ArchiSteamFarm/wiki/Logging for examples once I'm done updating the wiki
2017-01-31 01:10:01 +01:00
JustArchi
b5e33ec38e Misc 2017-01-28 05:11:38 +01:00
JustArchi
d93a276926 Optimize unused references 2017-01-24 03:01:04 +01:00
JustArchi
8fa2795323 Packages update 2017-01-24 02:58:43 +01:00
JustArchi
79913e1e11 Misc 2017-01-21 18:28:33 +01:00
JustArchi
7b11c34d40 Link new translations 2017-01-21 18:28:02 +01:00
JustArchi
ac78a0ab39 Packages update 2017-01-19 16:38:28 +01:00
JustArchi
856c7d1f9d Revert "Link new translations"
This reverts commit da9323a46e.
2017-01-18 07:01:16 +01:00
JustArchi
da9323a46e Link new translations 2017-01-18 05:57:20 +01:00
JustArchi
03cc5e983b Link new translations 2017-01-16 01:28:44 +01:00
JustArchi
d0307c6161 Bring translations to ASF-GUI 2017-01-13 23:47:12 +01:00
JustArchi
c348686441 Don't embed on Linux 2017-01-07 02:42:37 +01:00
JustArchi
653b910d2e Start embedding localizations 2017-01-07 02:39:29 +01:00
JustArchi
b2f27d9aba Convert pl translation into crowdin format 2017-01-06 19:51:09 +01:00
JustArchi
c51061f0fb Start working on translations 2017-01-06 12:11:11 +01:00
JustArchi
ba8d70aebb Copyright update 2017-01-02 20:05:21 +01:00
JustArchi
19d15f09ff Optimize references 2016-12-26 23:15:01 +01:00
JustArchi
cf21c2a815 Remove dependency on Humanizer 2016-12-26 23:08:27 +01:00
JustArchi
8639275ed8 Fix 2016-12-26 22:41:50 +01:00
JustArchi
ba3461b58f Packages update 2016-12-26 22:10:56 +01:00
JustArchi
33edc81116 Add farming time approximation
Because @MaduRUDE asked nicely
2016-12-26 22:07:49 +01:00
JustArchi
9d882784ee Implement workaround for #380 2016-12-24 19:27:36 +01:00