serenity/Userland/Services
Sam Atkins 5bcb3e2f16 LibConfig+ConfigServer: Add permissive mode
When in permissive mode, the ConfigServer will not treat reads and
writes to non-pledged domains as errors, but instead turns them into
no-ops: Reads will act as if the key was not found, and writes will do
nothing. Permissive mode must be enabled before pledging any domains.

This is needed to make GUI Widgets nicer to work with in GML Playground:
a few Widgets include reads and writes to LibConfig in order to load
system settings (eg, GUI::Calendar) or to save and restore state
(eg, GUI::DynamicWidgetContainer). Without this change, editing a
layout that includes one of these Widgets will cause GML Playground to
crash when they try to access config domains that are not pledged.

The solution used previously is to make Playground pledge more domains,
but not only does this mean Playground has to know about these cases,
but also that working on a layout file can alter the user's settings in
other arbitrary apps, which is not something we want.

By simply ignoring these config accesses, we avoid those downsides, and
Widgets will simply use the fallback values they already have to provide
to Config::read_foo_value().
2024-03-07 17:49:01 -05:00
..
AudioServer AudioServer: Clean up ClientAudioStream APIs 2023-08-12 12:22:16 -06:00
ChessEngine AK: Make "foo"_string infallible 2023-08-07 16:03:27 +02:00
Clipboard Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
ConfigServer LibConfig+ConfigServer: Add permissive mode 2024-03-07 17:49:01 -05:00
CrashDaemon Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
DeviceMapper Everywhere: Avoid calling from_utf8 on FlyString or String 2023-12-10 09:45:03 +01:00
DHCPClient Kernel: Properly support the SO_BROADCAST socket option 2023-12-24 22:22:58 +01:00
EchoServer Everywhere: Remove unintentional partial stream reads and writes 2023-03-13 15:16:20 +00:00
FileOperation Everywhere: Use to_number<T> instead of to_{int,uint,float,double} 2023-12-23 20:41:07 +01:00
FileSystemAccessServer LibFileSystem+Userland: Return ByteString from real_path() 2024-01-16 08:42:34 +00:00
ImageDecoder LibGfx+Fallout: Make ImageDecoder return ErrorOr 2024-03-07 11:20:06 -05:00
KeyboardPreferenceLoader KeyboardPreferenceLoader: Remove usage of DeprecatedFile 2023-04-27 07:29:49 +02:00
LaunchServer LibFileSystem+Everywhere: Return ByteString from read_link() 2024-01-16 08:42:34 +00:00
LoginServer LoginServer: Use new GML compiler 2024-01-19 10:50:15 +00:00
LookupServer Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
NetworkServer Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
NotificationServer NotificationServer: Manually calculate the text label height 2024-01-21 09:32:10 -05:00
RequestServer Everywhere: Merge the WebSocket service into RequestServer 2024-03-06 10:07:27 +01:00
SpiceAgent LibGfx+Fallout: Make ImageDecoder return ErrorOr 2024-03-07 11:20:06 -05:00
SQLServer LibSQL+SQLServer: Inform SQLServer when the client has processed results 2024-01-10 23:26:40 +01:00
SystemServer SystemServer: Use Core::Environment instead of Core::System::*env() 2024-02-27 08:33:48 +00:00
Taskbar Taskbar: Use AppFile::spawn_with_escalation 2024-02-23 09:47:27 +01:00
TelnetServer Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
WebContent WebContent: Update mouse event data when coalescing consecutive events 2024-03-06 11:20:44 -05:00
WebDriver WebDriver: Mark current window handle as invalid after close_window() 2024-02-13 19:46:10 +01:00
WebServer LibFileSystem+Userland: Rename size() to size_from_stat() 2024-02-24 15:54:52 -07:00
WebWorker Everywhere: Merge the WebSocket service into RequestServer 2024-03-06 10:07:27 +01:00
WindowServer WindowServer: Prefer structured bindings when iterating over HashMaps 2024-03-01 14:05:53 -07:00
CMakeLists.txt Everywhere: Merge the WebSocket service into RequestServer 2024-03-06 10:07:27 +01:00