Commit Graph

103 Commits

Author SHA1 Message Date
Łukasz Domeradzki
0a2ce30c82 Misc 2025-01-27 20:24:43 +01:00
Łukasz Domeradzki
dd37914703 Apply feedback 2025-01-27 20:12:35 +01:00
Łukasz Domeradzki
67c2e9c6d3 Record input from the user in the logs as well 2025-01-27 19:57:42 +01:00
Łukasz Domeradzki
ec151c383b Ensure rare console writes leave trace in the log as of what is happening 2025-01-27 19:44:47 +01:00
Łukasz Domeradzki
9e207025c5 Happy new year 2025-01-05 02:40:56 +01:00
Łukasz Domeradzki
773698a0d4 Closes #3264
THANKS @ezhevita
2024-08-05 02:37:50 +02:00
Łukasz Domeradzki
ae9dfca3b3 Closes #3156 (#3182)
* Closes #3156

* Misc

* Misc

* Rewrite update mechanism ONCE AGAIN, this time to eradicate FSW

* Make creating debug directory non-fatal again, like it used to be

* Deduplicate code

* Remove dead code

* Print update cleanup just once

* Address remaining feedback, go back to _old and _new

* One more nice improvement
2024-04-04 21:21:58 +02:00
Archi
48a14136a9 Update all file headers, again 2024-03-17 02:35:40 +01:00
Archi
f98a159799 File header update 2024-03-17 00:06:13 +01:00
Vita Chumakova
8642b0775e Flash console window on input request on Windows (#3158)
* Flash console window on input request

* Use BELL character instead of Beep, fix flash struct, add support for minimizing and flashing with Windows Terminal

* cross-platform minimization, use alert char instead of number, fix struct again

* remove console window

* formatting

* use MainWindowHandle if it's set (fix flashing winterm if ASF is launched in conhost)

* fix build

* remove support for flashing winterm
2024-03-14 01:08:00 +01:00
Archi
1fd6c8a477 Minimize dependencies for starting IPC server
Previously WebApplication didn't offer any advantages over generic Host, but with release of .NET 8 there is now slim and empty builders, which limit amount of initialized dependencies and allow us to skip some unnecessary features in default pipeline.
2024-03-09 18:24:15 +01:00
Archi
f0ef4c6ba6 Implement basic crash protection
- On start, we create/load crash file, if previous startup was less than 5 minutes ago, we also increase the counter
- If counter reaches 5, we abort the process, that is, freeze the process by not loading anything other than auto-updates
- In order for user to recover from above, he needs to manually remove ASF.crash file
- If process exits normally without reaching counter of 5 yet, we remove crash file (reset the counter), normal exit includes SIGTERM, SIGINT, clicking [X], !exit, !restart, and anything else that allows ASF to gracefully quit
- If process exits abnormally, that includes SIGKILL, unhandled exceptions, as well as power outages and anything that prevents ASF from graceful quit, we keep crash file around
- Update procedure, as an exception, allows crash file removal even with counter of 5. This should allow crash file recovery for people that crashed before, without a need of manual removal.
2024-02-03 21:18:47 +01:00
Sebastian Göls
dbf7148fbe Happy new year! (#3121)
Co-authored-by: Sebastian Göls <sebastian.goels@salvagninigroup.com>
2024-01-08 11:33:28 +01:00
Archi
40ab1d848c .NET 8 code enhancements 2023-12-11 23:55:13 +01:00
Archi
120f7e36d6 Further enhancements for #3075 and #3051 2023-11-19 02:41:22 +01:00
Archi
2e9791faa3 Closes #3075 2023-11-19 02:25:47 +01:00
Archi
f2ff2f4929 Closes #3060 2023-11-14 20:01:29 +01:00
Łukasz Domeradzki
b34f18497d .NET 8 (#3005)
* Initial .NET 8

* Make it compile in release mode ignoring warnings for now

* First round of improvements

* Second round of improvements

* Third round of improvements

* Use new throws

* Fix .NET Framework, YAY, thanks madness!

Madness devs are awesome

* Misc

* Misc

* AF_NETLINK might be required for some http calls

No clue why

* Fix service files

Doesn't do what it should

* Update CardsFarmer.cs

* New improvements

* Address feedback

* Misc

* Misc

* Misc refactor

* Misc
2023-11-14 19:12:33 +01:00
Archi
fc13f2c488 Handle further linux terminal edge case
We handled a situation where linux terminal is closing STDIN durng interactive console. This handles even further edge case where linux terminal is closing STDIN during user masked input.
2023-11-11 14:37:08 +01:00
Archi
502af043df Closes #3051 2023-10-21 22:42:11 +02:00
Łukasz Domeradzki
5d467aca9a Add default bot implementation (#3038)
* Add default bot implementation

* Thought so

* Brain damage for netf
2023-10-18 22:57:58 +02:00
Archi
258ea5df3b Shut up netf 2023-04-02 22:29:46 +02:00
Archi
731b5909d1 Closes #2854 2023-04-02 21:26:56 +02:00
Sebastian Göls
0c125db118 Happy new year! (#2809) 2023-01-25 15:43:12 +01:00
Sebastian Göls
5a182b7522 Add --input-cryptkey argument (#2714)
* Add --input-cryptkey argument

* Improve readability of argument parsing

* Make the compiler shut up

* Remove German translation again

* Revert switch expression

* Fix unused cryptkey

It seems to be late
2022-10-07 19:32:58 +02:00
JustArchi
c4a46fbdde Misc 2022-07-03 01:22:02 +02:00
Łukasz Domeradzki
d899dbc18c Add NLog/File endpoint (#2639)
* Add log endpoint

* Update LogController.cs

* Address netf breaking

* Fixes & feedback

* THIS IS MADNESS

* Revert "THIS IS MADNESS"

This reverts commit 8359960314.

* Solve netf madness differently
2022-07-03 01:20:43 +02:00
JustArchi
917df358e8 Fix logging module corruption on IPC startup failure
Failure of IPC startup currently corrupts ASF logging mechanism, and since ASF expects that logging mechanism to be operative afterwards, it crashes in internal code the moment it requires user input.

Fix that, and add additional safety safeguards in case we have a legit lack of logging configuration.

https://steamcommunity.com/groups/archiasf/discussions/1/3422187248450123255/
2022-06-15 16:08:03 +02:00
JustArchi
55421bb29f Throw on lack of previousMethodName
I don't believe we should support those calls for anything that doesn't supply it. Actually add another layer of safeguards.
2022-05-20 21:36:22 +02:00
JustArchi
a08c85e40b Increase interactive console responsiveness, misc
Previously we were sleeping always, also after execution of the command and after wrong keys being pressed, which resulted in excessive delay if user mashed his keyboard like a madman before hitting c to enter the console, entirely unnecessarily.
2022-05-18 11:30:46 +02:00
JustArchi
055af32219 Address missed NLog breaking change 2022-05-18 11:20:35 +02:00
JustArchi
2e987ccee6 Address NLog changes 2022-05-17 20:12:57 +02:00
Sebastian Göls
b8bfcd5df3 Simplify LogNullError calls (#2554)
* Remove necessity of nameof(...) in calls to ArchiLogger.LogNullError(...)

* Upgrade Madness

* Upgrade Madness

* Split up compound null log statements
2022-04-13 23:16:36 +02:00
Archi
dae6f9d328 Use newer syntax for Enum.IsDefined() 2022-01-23 01:37:43 +01:00
Łukasz Domeradzki
4258fed873 Closes #2500 (#2501)
* Start work on #2500

* Update Bot.cs

* Misc refactor

* Update Bot.cs

* Add fallback for older plugins

* Misc

* Apply feedback
2022-01-23 00:14:14 +01:00
Archi
1809028c77 Rider cleanup 2022-01-06 20:22:38 +01:00
Archi
81a92d6781 Misc 2021-12-20 18:27:54 +01:00
Archi
4f598d5c8f Latest Rider cleanups 2021-12-12 01:12:54 +01:00
Archi
94c214af96 Init emergency loggers to notify user about very early failures
"Very early failures" include exclusively lack of being able to navigate to given --path, as everything else is postponed until we get core loggers up and running. We should print the information to the user and abort the program at the minimum in this case.

Until now ASF silently ignored those errors and proceeded like usual, this is unwanted, if --path is wrong then it's on user to fix it.
2021-12-04 02:33:23 +01:00
Archi
d1fc7ebb74 Use C# 10 string interpolation wherever possible 2021-11-11 01:53:34 +01:00
Archi
d1e8794fe3 I won 2021-11-10 22:05:08 +01:00
Archi
258ad17930 Apply Rider inspections
Want to bet at least one will break netf?
2021-11-10 21:54:15 +01:00
Archi
1e6ab11d9f Use file-scoped namespaces 2021-11-10 21:23:24 +01:00
Sebastian Göls
fb4eb0b03a Use Madness via global usings (#2447)
* Use Madness via global usings

* Apply feedback

* Disable false positive null warning
2021-11-09 16:33:09 +01:00
Łukasz Domeradzki
0eee21360d .NET 6.0 (#2388)
* Bump non-source files to net6.0

* Correct .NET 6.0 warnings

* Correct CI

* Correct linking errors

Not much I can do about them ATM

* Remove TrimmerRoots

At least runtime is no longer needed for our STD plugin, not sure about the dictionary

* Correct cc.sh

* Revert "Remove TrimmerRoots"

This reverts commit 11f603d3d6.

* First round of cat & mice game

* Update Directory.Build.props

* Update Startup.cs

* Update Startup.cs

* Update Startup.cs

* Fix new warnings

* Update SDK

* Address netf error

* Update Directory.Packages.props
2021-11-08 23:41:02 +01:00
Archi
7e9e90764b Use static lambdas wherever possible
Thanks Rider
2021-09-27 21:33:52 +02:00
Archi
f2d3a2a894 Use string interpolation wherever possible
Majority of cases still need to go through string.Format() due to localization requirements
2021-09-27 19:59:00 +02:00
Archi
1bfedbe5e8 Implement --service cmd-line arg 2021-09-26 01:05:38 +02:00
Łukasz Domeradzki
9f281c6055 Embrace madness (#2394)
* Embrace madness

* Remove unused code

* Misc

* Address Abry's note

* Update for Madness 0.3.0
2021-08-07 14:03:46 +02:00
Archi
a92c212a69 Misc 2021-07-20 14:43:16 +02:00