Serialize IPC_Client with a per-target mutex and full-frame send/recv plus
NUL-terminated payloads. Escape reply JSON vars, null-check daemon FS paths,
handle BREW_UTIL_TEST_CONNECTION, and track BREW_LAST_RET from the last reply.
Introduce SettingsStore (mutex snapshot/update), dual-path config mtime gating,
and fan IPC persistence to twin config files. Stop cold-start toolbox delay on
util_booted; fix jailbreak hijack retry to stop only when dead or maxed.
Add host tests for IPC wire helpers, toolbox timing policy, and hijack retry.
Break daemon/commands.cpp into playtime, jailbreak, and utils TUs. Introduce
ToolboxUiState with compatibility aliases, extract pure toolbox resource
routing for host unit tests, and fix superuser empty-XML pass-through.
Delete error_translator.hpp, microhttpd.h, and libmicrohttpd.a left after
removing DirectPKGInstaller. Strip unused AppInst types from util/daemon,
drop SceAppInstUtil link where no longer needed, remove dead dpi/kernelrw
thread stubs, drop the toolbox microhttpd credit, and refresh README.
Delete DirectPKGInstaller and the toolbox DPI toggle. Remove the custom
background package installer (custompkginstaller XML generation and
id_pkg_ handlers). Package install remains the stock PkgInstaller link
in OrionHEN_toolbox.xml. Leave BREW_UTIL_UNUSED_DPI ordinal for IPC
compatibility.
Keep IPC_loop as the only transport entry in msg.cpp. Move toolbox/fps
injection, LoadSettings, and remount/chmod/reply helpers into dedicated
TUs behind daemon_ops.hpp so inject changes no longer touch the IPC ring.
Wire daemon/util/shellui/bootstrapper to liborion_platform and
liborion_proc (orion_notify, OrionHEN_log configure, find_pid, if_exists).
Split MonoUtils into mono_runtime/toolbox_xml/settings_ui/shellui_* and
replace the OnPress id bus with table-driven domain handlers.
Wire daemon/util/shellui Load/Save through liborion_settings. Daemon and util
use g_settings directly; util keeps atomic legacy CMD flags for the hot path.
Slim daemon globalconf.hpp to StartOpts + g_settings and move UserService ABI
locals into commands.cpp.
Point shellui/fps clients at liborion_ipc dual-singleton client. Move daemon
and util Unix listen/accept loops onto shared ipc_server. Extract handleIPC
into ipc_handle.cpp so transport stays in msg.cpp and command tables can
evolve independently.
Drop the Toolbox TestKit menu and kit Mono hooks, sceKernelIsTestKit
probes in util/daemon/bootstrapper, and client IsTestKit helpers.
BREW_TESTKIT_CHECK remains an unused IPC ordinal for compatibility.
Drop decrypt_self/decrypt_dir and related SELF header types from the
critical daemon. Keep BREW_DECRYPT_DIR as an unused ordinal for
compatibility; callers receive a hard failure.
Drop the util FTP (1337) and Klog (9081) servers, Toolbox UI toggles, and
config keys. Keep former IPC command ordinals as UNUSED_* for compatibility.
Add docs/arch.md covering modules, IPC, features, and dependencies.
Rename remaining etaHEN symbols, log prefixes, on-disk paths, plugin
magic, process names, and copyright headers across bootstrapper, daemons,
shellui, and util without keeping legacy aliases.
Serialize kstuff before daemon toolbox inject, wait for mprotect, avoid
ForceKill on ShellUI timeout, and disable Allow_data_in_sandbox ShellCore patch.