Commit Graph
103 Commits
Author SHA1 Message Date
de4d255841 Analyzer to enforce classes to be either [Virtual], abstract, or sealed. (#2469)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2022-02-05 19:31:58 +01:00
Sam WeaverandGitHub 6376f7c35d Add System.Text.Json.JsonPropertyNameAttribute to sandbox allowlist (#2435) 2022-01-18 03:14:10 +01:00
Pieter-Jan Briers 6e0632ae1b Explicitly block P/Invoke methods in AssemblyTypeChecker 2021-12-31 09:35:34 +01:00
Pieter-Jan Briers 7c90da0402 Correctly load mismatching versions from Robust modules. 2021-12-31 09:35:34 +01:00
Pieter-Jan BriersandGitHub ca59cff07f WiP launcher CEF loading. (#2376) 2021-12-28 17:37:54 +01:00
Vera Aguilera PuertoandGitHub 1613f5e982 Expose IContentRoot to content. (#2338) 2021-12-14 13:49:07 +01:00
wrexbeandGitHub a59ab44199 Add IWritableDirProvider helper (#2321) 2021-12-12 16:19:51 -08:00
Javier Guardia FernándezandGitHub 60d7430fe7 Whitelist CallerArgumentExpressionAttribute, InterpolatedStringHandlerAttribute and IsByRefLikeAttribute (#2251) 2021-11-21 16:04:00 +01:00
Javier Guardia FernándezandGitHub 6554144c42 Add CollectionsMarshal.AsSpan<T>(List<T>) to the sandbox whitelist (#2241) 2021-11-17 22:37:57 +01:00
Javier Guardia FernándezandGitHub e78e7bacfe Add bool Contains(string, System.StringComparison) to the whitelist (#2230) 2021-11-14 01:37:33 +01:00
1c8ed1c5b2 Update to .NET 6 and C# 10 (#2211)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2021-11-09 14:59:19 +01:00
wixoaandGitHub fe30d974ca Add ImageSharp's Image.Load<>() to the sandbox (#2179) 2021-10-30 13:26:42 +02:00
Pieter-Jan Briers 58e7fb3a17 Work around PEReader crashes on Linux.
Fixes #2130
2021-10-18 14:11:07 +02:00
ike709andGitHub 11bc9c0fe4 Adds everything else OpenDream needs to the sandbox (#2060) 2021-10-06 22:50:37 +02:00
ike709andGitHub 3142dcbfda Adds some OpenDream things to the sandbox whitelist (#2042) 2021-09-18 22:40:22 +02:00
Vera Aguilera Puerto 4b6ceed586 Adds FileNotFoundException to the sandbox whitelist. 2021-09-08 09:52:20 +02:00
Vera Aguilera Puerto 9bf69db0ef Merge branch 'master' into robust-client-CEF 2021-07-24 10:06:54 +02:00
Pieter-Jan Briers b27304cc58 Add System.Index and System.Range to sandbox whitelist. 2021-07-17 23:51:57 +02:00
Pieter-Jan Briers af1a3d965d Actually shut down loaded modules on client 2021-07-05 10:27:21 +02:00
Pieter-Jan Briers d0b6a9b28c Replace usages of OperatingSystem.IsOSPlatform with OperatingSystem.IsXXX(). 2021-06-19 03:14:39 +02:00
Pieter-Jan BriersandGitHub fa0d4da6d1 Implement subscription ordering into EventBus. (#1823)
* Implement subscription ordering into EventBus.

* Topological helpers, rest of code uses shared topological sort, fix bugs.

* Fix tests.

Didn't realize that multi-subscriptions are allowed on input handlers like that??

* Improve and use topological sort helpers more.
2021-06-14 21:34:30 +02:00
Pieter-Jan Briers 97a2a5cfae Block loading of R2R'd .NET assemblies in sandboxing. 2021-05-25 16:57:54 +02:00
SweptWasTaken d8d9b271cc Updates sandbox.yml 2021-04-28 14:31:46 -07:00
ike709andGitHub 1884bb0067 Fixes DateTimeOffset sandbox whitelisting (#1706) 2021-04-16 01:39:18 +02:00
Pieter-Jan Briers e48f4027e5 Probably fix running Robust directly for some people. 2021-03-23 21:28:36 +01:00
Pieter-Jan Briers fc6dc6f4e1 Add/fix Rune APIs for sandbox. 2021-03-09 23:24:33 +01:00
Pieter-Jan Briers 1394a017bb Fix IL verification throwing if a verifier error does not need to be formatted. 2021-03-09 21:41:50 +01:00
Pieter-Jan Briers 31f921e4aa Use ProfileOptimization to speed up startup. 2021-03-09 12:29:59 +01:00
Pieter-Jan Briers b35568ffe5 Disable path case checks by default.
The idea was that these are Task.Run'd so don't influence performance. That was before we started threading the hell out of startup.

We're getting more stuff like YAML linting now which should hopefully be able to catch 99% of this. And louder because it was always just a warning before.
2021-03-09 12:29:59 +01:00
Pieter-Jan Briers e2675271d0 Parallelize assembly sandbox checking harder. 2021-03-03 16:02:12 +01:00
Pieter-Jan Briers d1f7edecef Use Directory.EnumerateFiles in PathHelpers.GetFiles.
Significant improvement in startup time.
2021-03-03 10:52:05 +01:00
Pieter-Jan Briers 2b4833fc4e Allow content to read assembly versions in sandbox. 2021-02-24 12:18:44 +01:00
Pieter-Jan Briers 0114bff2fc Add IFormattable to sandbox whitelist. 2021-02-23 11:27:51 +01:00
eada37378a Add YAML hot reloading (#1571)
* Implement hot reloading for entity prototypes

* Implement automatic prototype hot-reloading

* Merge fixes

* Add yaml hot reloading and a message to notify the client

* Add reloading only changed files, remove cooldown, add retries and remove IPrototype

* Remove reload command

* Make the client listen for reloads instead and only when focused

* Fix errors

* Only queue a reload when the queue has items in it

* Make fails after 10 retries log instead of throw if reloading

Co-authored-by: Jackson Lewis <inquisitivepenguin@protonmail.com>
2021-02-20 00:02:04 +01:00
Pieter-Jan Briers 864adb7445 Add DateTimeStyles to sandbox. 2021-02-17 11:52:36 +01:00
DrSmugleafandGitHub a40c4a435c Fix file not found exceptions when starting up the game with a debugger (#1562)
* Fix exceptions when starting up the game

* Remove try catches
2021-02-16 20:05:22 +01:00
Pieter-Jan Briers 1b44c1a1b8 Allow NotImplementedException in sandbox. 2021-02-15 17:57:38 +01:00
ClyybberandGitHub 5b80b33e00 Change GetFileSystemInfos to EnumerateFileSystemInfos for iteration (#1561) 2021-02-15 16:26:16 +01:00
AcruidandGitHub 2183cd7ca1 Massive Namespace Cleanup (#1544)
* Removed the Interfaces folder.
* All objects inside the GameObjects subfolders are now in the GameObjects namespace.
* Added a Resharper DotSettings file to mark the GameObjects subfolders as not providing namespaces.
* Simplified Robust.client.Graphics namespace.
* Automated remove redundant using statements.
2021-02-10 23:27:19 -08:00
Pieter-Jan Briers 9963e89c14 Sanitize ResourcePath to disallow .. shenigans. 2021-01-31 22:38:40 +01:00
Pieter-Jan Briers ffd5c120be Add PreserveBaseOverridesAttribute to sandbox whitelist.
Used by covariant returns.
2021-01-10 22:03:18 +01:00
Pieter-Jan Briers ecbb32b70b Clean up various cases of failing to dispose file streams. 2020-12-29 03:58:16 +01:00
d94f702601 Xaml UI (#1446)
Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-12-20 23:52:36 +01:00
Pieter-Jan Briers ae4c764e4f Whitelist System.Guid for sandbox. 2020-12-17 16:37:20 +01:00
Pieter-Jan Briers 7473b6dae1 Optimize assembly type checking.
It's now parallelized which cuts off ~200ms on its own for me.
Config is now shared between multiple loads which saves a lot as well.

All in all, pretty good.
2020-12-14 16:34:33 +01:00
Pieter-Jan Briers c335170fc1 Add non-generic System.Nullable to sandbox whitelist. 2020-12-13 21:33:22 +01:00
Pieter-Jan Briers 13e9fe12ce Further fixes to loader exe.
Fix ordering of loads.
Fix loads.
2020-12-13 16:12:32 +01:00
Pieter-Jan Briers f15c1c7a95 Allow engine to be loaded from a zip file itself. 2020-12-12 11:12:37 +01:00
ad8b0b3c83 Add bytes or sbytes to enum where available (#1430)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-12-08 12:46:30 +01:00
Pieter-Jan Briers d0191e063a Fix all cases of member references to array (not vector) types.
Yeah generics aren't the only one since you can do [,][,].
2020-12-07 00:12:05 +01:00