Commit Graph

41 Commits

Author SHA1 Message Date
JustArchi
92bb7d0927 Humanize TimeSpans, get rid of dirty manual TimeSpan translations 2017-04-08 05:05:09 +02:00
JustArchi
ae1d71f5af Packages update 2017-04-05 14:18:44 +02:00
JustArchi
16509b9958 Packages update #514 2017-03-30 20:44:03 +02:00
JustArchi
8a54f1b355 Revert "EXPERIMENTAL: Packages update [1/2] #514"
This reverts commit 588af12d0b.

Not ready yet.
2017-03-29 13:01:36 +02:00
JustArchi
588af12d0b EXPERIMENTAL: Packages update [1/2] #514 2017-03-29 12:57:19 +02:00
JustArchi
f6317b9eae Packages update
Closes #508
2017-03-23 21:45:10 +01:00
JustArchi
39e7f5e60e Packages update 2017-03-21 14:28:05 +01:00
JustArchi
39a8d9c8a2 SteamUserPermissions revolution
This is needed for defining multiple operators and/or masters, as well as eventual further enhancements
2017-03-15 11:56:20 +01:00
JustArchi
df8fdcca56 Packages update 2017-03-01 22:46:02 +01:00
JustArchi
aeae5a1c9b Packages update 2017-02-23 17:08:40 +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
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
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
8fa2795323 Packages update 2017-01-24 02:58:43 +01:00
JustArchi
ac78a0ab39 Packages update 2017-01-19 16:38:28 +01:00
JustArchi
653b910d2e Start embedding localizations 2017-01-07 02:39:29 +01:00
JustArchi
cf21c2a815 Remove dependency on Humanizer 2016-12-26 23:08:27 +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
c6843b8347 Packages update 2016-11-05 08:03:42 +01:00
JustArchi
5c686397dd Packages update 2016-10-05 08:53:20 +02:00
JustArchi
612abef327 Work on GUI
There is still a long way till it's done...
2016-08-02 08:50:31 +02:00
JustArchi
08c41fe80b Packages update 2016-07-17 01:41:08 +02:00
JustArchi
4059a2cd11 Bring SK2 1.8.0
Finally... :)
2016-07-08 07:08:07 +02:00
JustArchi
6ada40fc2f Implement NLog for ASF logging, closes #274, #279 2016-07-04 19:22:46 +02:00
JustArchi
0e699eb95b Commit missing files 2016-07-03 00:52:45 +02:00
JustArchi
cd462f607e Move to Fody.Costura for repacking
This should be the best way for both Windows and Mono, plus is much more cleaner, get rid of those crappy tools
2016-07-03 00:46:16 +02:00
JustArchi
bd028ba459 Packages update 2016-06-29 21:33:38 +02:00
JustArchi
2b5b38aa07 Packages update 2016-06-01 14:37:50 +02:00
JustArchi
2ef99461d6 Packages update 2016-05-28 13:10:32 +02:00
JustArchi
ca4fa4ac27 Packages update 2016-03-15 05:03:50 +01:00
JustArchi
d7b21ded96 Packages update 2016-01-09 19:55:32 +01:00
JustArchi
356df9098e Update packages 2016-01-02 17:05:39 +01:00
JustArchi
40b1e8f4c2 Update packages 2015-12-28 11:35:14 +01:00
JustArchi
4cd2444a1a SK2 1.7.0 2015-12-21 10:00:29 +01:00
JustArchi
cf2473a3d5 Revert "Get rid of ILMerge, use more friendly ILBundle"
This reverts commit 43264e77b2.

Doesn't work on Mono, sigh...
2015-12-19 08:58:31 +01:00
JustArchi
43264e77b2 Get rid of ILMerge, use more friendly ILBundle 2015-12-19 08:22:17 +01:00
JustArchi
6454e3ee12 Packages update 2015-11-25 05:35:14 +01:00
JustArchi
f873da7236 Packages update 2015-11-18 14:49:31 +01:00
JustArchi
a0ba148005 Implement update check on startup 2015-10-29 17:36:16 +01:00
JustArchi
aa1c1962de Initial source drop 2015-10-25 06:16:50 +01:00