49 Commits
Author SHA1 Message Date
aydencharles ef90f9430f feat(notify): add a startup thanks toast 2026-10-02 18:24:10 +08:00
aydencharles dee1c1d523 feat(log): share the file sink and cap rotation from config 2026-10-02 16:40:23 +08:00
aydencharles 92b346566e feat(i18n): add remaining PS5 system language catalogs 2026-09-14 09:28:42 +08:00
aydencharles 3fedbf4a03 feat(rest-mode): restore resume delay after trophy SPRX 2026-09-11 22:12:41 +08:00
aydencharles 813e4c19b8 feat(overlay): add per-metric pages, order, and font size 2026-09-09 15:28:18 +08:00
aydencharles a25a0bf600 chore(settings): drop unused cheats.memory_backend 2026-09-04 16:15:56 +08:00
Hexwell e1cd1e6d3a refactor(dpi): move installer to external plugin 2026-09-03 14:41:00 +08:00
Hexwell c9a24f148b refactor: migrate ShadowMount+ to external plugin 2026-09-03 14:02:37 +08:00
Hexwell 33da7e3709 refactor(ftp): remove built-in FTP server 2026-09-02 22:38:47 +08:00
kvnhrt a534adcd60 feat: add ShadowMount+, DPI pkg-server + WebUI, fix PS4 FPS
- fix(fps): measure PS4 BC frame rate with a remote GNM detour
  and hide the pkg install result code in the finish notification
- feat(utils): integrate ShadowMount+ alongside the FTPSRV service
  for game scanning, mounting and installation
- feat(DPI): add the packet package server (pkgserver) with its
  Web UI and full REST/SSE API surface
- feat(tests): add new host test suites (multipart, builtin
  services, pkg XML, FPS formula, toolbox i18n/route, language)
- build: add Docker support for building and running the tests
- docs: update credits, README, architecture, util-arch, api and
  third-party documentation; add contributor credit and i18n keys
- i18n: remove the pkg finish result code from every locale
2026-08-31 05:26:42 -06:00
Hexwell 374013160b feat(overlay): add fan duty display to the game monitor bar 2026-08-31 10:25:30 +08:00
Hexwell b344e2d992 feat(overlay): add left/center/right metric align 2026-08-31 07:38:32 +08:00
Hexwell e049af1ce4 refactor(services): remove ShadowMountPlus and integrate ftpsrv source 2026-08-22 21:13:16 +08:00
Hexwell e22013992d fix(rest-mode): recover toolbox from SysCore EXEC not SIGCONT 2026-08-21 22:26:32 +08:00
Hexwell fddc9d4e3e feat(overlay): FPS on the monitor bar (#13) 2026-08-21 17:14:55 +08:00
Hexwell 40e2fab9b1 feat(plugins): split run/autoload and embed ShadowMountPlus 1.6beta16 2026-08-21 16:22:58 +08:00
Hexwell da2073578b feat: add control facade for ftpsrv and ShadowMountPlus 2026-08-21 15:57:07 +08:00
Hexwell 2ab1ee50e8 fix(startup): default bundled payload autoloads off
Keep ftpsrv and ShadowMountPlus disabled when configuration is missing or predates these options. This avoids duplicate launches and conflicts with payloads users already autoload themselves, while preserving an explicit autoload=true opt-in.
2026-08-20 10:28:44 +08:00
Kevin Huerta b7fa1bd238 feat: add FTP, Docker, Remote Play, and ShadowMountPlus support (#23)
* feat: move FTP server to third_party and keep Docker

* docs: add ftpsrv to project credits

* feat: add FTP, Docker, and Remote Play support

* docs: document FTP and Remote Play

* feat: improve dependency scripts and add ShadowMountPlus

* docs: update ShadowMountPlus credits

* docs: add ShadowMountPlus config example

* i18n: normalize locale terminology and validation

* fix: launch ShadowMountPlus from memory
2026-08-20 10:10:32 +08:00
Hexwell 456c834f00 feat(cheats): add git catalog sync with host mirrors
Bring back DOWNLOAD_CHEATS as a background git clone/fetch of
cheat catalogs, then reuse flatten to install flat files.
Catalog identity and GitHub/cnb.cool mirrors stay in separate
modules so a new source does not rewrite the download pipeline.

auto mirror uses cnb.cool for zh-Hans and GitHub otherwise;
explicit github/cnb skips fallback. libgit2 is an optional
submodule (v1.8.4); without it the client stays a stub.
2026-08-18 12:00:16 +08:00
ModmyconandModmycon 2ac2793ab4 feat(i18n): add Thai (th-TH) locale
Add a key-complete th-TH catalog and wire it through settings, Toolbox, and notifications. Follow PS5 system language 27 when toolbox.language is system.

Co-authored-by: Modmycon <monmycod@gmail.com>
2026-08-17 22:22:14 +08:00
Hexwell c19d560d5e feat(i18n): add Italian, Russian, and Polish
Add key-complete catalogs and wire them through settings, Toolbox,
and notifications. Follow PS5 system languages 5, 8, and 16 when
toolbox.language is system. Existing locale ids stay unchanged.
2026-08-17 13:18:07 +08:00
Hexwell cd0c0450f0 feat(i18n): add Korean, Spanish, and Brazilian Portuguese
Add key-complete catalogs and wire them through settings, Toolbox,
and notifications. Follow PS5 system languages 9, 3/20, and 7/17
when toolbox.language is system. Existing locale ids stay unchanged.
2026-08-17 13:02:05 +08:00
Hexwell 58d6c4d5bb feat(i18n): add zh-Hant, Japanese, French, and German
Add key-complete catalogs and wire them through settings, Toolbox,
and notifications. Follow PS5 system languages 10, 0, 2/22, and 4
when toolbox.language is system. Existing zh-Hans, en, and ar ids
stay unchanged.
2026-08-17 12:46:48 +08:00
Hexwell 5c07eee777 feat(i18n): add a trial Arabic locale
Scan every locale JSON into N-column catalogs and wire ar through
settings, Toolbox, and PS5 system language 21. The Settings page
stays LTR; XOR trial banners stay bilingual.
2026-08-17 10:32:55 +08:00
Hexwell 550302fddc fix(daemon): hold fan threshold on a dedicated thread
Firmware reasserts its own curve after a one-shot /dev/icc_fan
ioctl. Rewrite the configured threshold every 2s independently of
the app-jailbreak listener, and reuse the shared cooling constants.
2026-08-17 09:25:11 +08:00
Hexwell 3088689377 feat(shellui): add monitor bar background toggle 2026-08-17 09:12:34 +08:00
Hexwell a604646495 fix(kstuff): default autoload on in config
Read the Toolbox toggle from config.ini (default true) instead of the
no_kstuff sentinel so a fresh install loads kstuff. USB no_kstuff still
skips launch.
2026-08-16 20:59:55 +08:00
Hexwell 3275a4e244 feat(daemon): restore Home Menu startup option 2026-08-15 15:47:00 +08:00
Hexwell 07ed6d2339 feat(daemon): add event-driven app jailbreak listener 2026-08-06 19:30:48 +08:00
Hexwell 8207087b61 feat(shellui): add monitor bar visibility toggle 2026-08-06 16:15:48 +08:00
Hexwell d09a6dc9ac refactor(rest-mode): preserve services and games on entry 2026-07-30 23:20:32 +08:00
HexwellandClaude Fable 5 510106f2de feat(log): make the log level configurable from config.ini
Adds [logging] level to the shared config schema, applied on every settings
load — so BREW_RELOAD_SETTINGS re-applies it and a user can raise verbosity
for a bug report without a debug payload or a reboot.

libonion_settings stays independent of libonion_platform, so the level
constants exist in both. onion/log_settings.hpp is the single place that sees
both headers and static_asserts that they still agree; it also clamps a
request to what the build actually compiled in and reports the effective
level back, so asking for trace in a release build logs why it stayed at
info rather than silently ignoring the setting.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-26 20:44:37 +08:00
Hexwell 4c1dd66566 feat: make app jailbreak allowlist configurable
Move exact Title IDs and prefix matching into the shared config schema while retaining safe defaults for existing or invalid configurations.

Validate and deduplicate allowlist entries, support explicit none values, and update host tests and configuration documentation.
2026-07-22 16:12:02 +08:00
Hexwell 2582795f2a feat: add semantic config schema 2026-07-19 01:25:03 +08:00
Hexwell e8103a9731 fix: persist all_cpu_usage overlay toggle in config.ini
Move the per-core CPU overlay option from session-only g_ui into the
shared Settings schema so toolbox toggles survive reinject and reboot.
2026-07-16 23:32:05 +08:00
Hexwell 56a4530a02 remove: drop legacy TCP 9028 jailbreak command server
Delete the util hijacker Command protocol, config toggle, and Toolbox
UI. Homebrew jailbreak remains on the daemon sandbox FIFO path only.
2026-07-16 23:16:55 +08:00
Hexwell 4412785bf7 remove: drop FPS overlay inject and fps_elf embed
Remove FPS calculation from the shellui monitor bar while keeping CPU,
GPU, RAM, and IP metrics, and delete the full game-process inject path
(fps_elf, fps.prx, SHM) so titles are no longer soft-injected.

Clear any legacy fps_overlay ready marker on daemon/shellui start, and
bound CPU sampling retries so a stuck probe cannot block other metrics.
2026-07-16 22:22:29 +08:00
Hexwell 072361c53f refactor: remove online kstuff and cheats downloads
Drop GitHub-based download UI, IPC, and the util HTTP/curl stack. Keep
local cheats under /data/OnionHEN/cheats and optional external kstuff.elf.
2026-07-15 18:42:54 +08:00
Hexwell 0a5e0500fd refactor: remove auto-eject disc on OnionHEN start
Drop Settings.auto_eject_disc, toolbox toggle/handlers, and the daemon
boot call to sceShellCoreUtilRequestEjectDevice.
2026-07-15 18:36:50 +08:00
Hexwell b99e084a25 feat(shellui): add zh-Hans/en i18n for dynamic toolbox XML
Introduce toolbox_i18n string tables and Settings.ui_lang (0=zh, 1=en).
Build all dynamic toolbox pages through tr(), add a language list under
shortcuts, and notify the user to re-open the toolbox after switching.
2026-07-15 18:31:29 +08:00
Hexwell aad2cdaabc refactor: rebrand OrionHEN to OnionHEN
Rename product, namespaces, libraries, paths, and assets from Orion/orion
to Onion/onion across the tree. TCP stack-shutdown magic is now ONIO
(0x4F4E494F) to match the corrected branding.
2026-07-15 18:23:16 +08:00
Hexwell ba297744af refactor: remove post-boot toolbox/settings auto-open
Drop StartOption and toolbox_auto_start (UI, settings, rest-mode disable,
USB override, and startup URI launch). Always inject the toolbox into
ShellUI without navigating to debug settings or any auto-open page.
2026-07-15 17:59:14 +08:00
Hexwell ece77ea433 fix: harden IPC transport and process-local settings store
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.
2026-07-10 17:56:21 +08:00
Hexwell ff40042d84 chore: keep only system PkgInstaller; remove DPI and custom PKG UI
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.
2026-07-10 16:03:27 +08:00
Hexwell 0d40692219 chore: remove Direct PKG Installer v2 (WebUI :12800)
Drop the microhttpd-based DPIv2 server and settings/UI/IPC knobs. Keep
TCP DPI on port 9090 only; custom package install no longer routes through
127.0.0.1:12800. Unlink libmicrohttpd from util.
2026-07-10 16:00:23 +08:00
Hexwell dc9430377c chore: remove dead ShellCore patch and PS5Debug stubs
Delete util_shellcore and the disabled Allow_data_in_sandbox feature
(settings field, toolbox toggle, onpress/onprecreate handlers). Drop the
no-op load_ps5debug_thr and id_sistro_ps5debug handler; keep credits label
only. Strip firmware pattern tables and hex_lut that only served the
historical ShellCore /data sandbox patch.
2026-07-10 15:57:33 +08:00
Hexwell 2c455c1eb6 test: expand host unit coverage for platform, ready flags, and IPC
Add suites for liborion_platform (fs/log/notify), richer settings and ready
flag cases, and msg.hpp protocol ordinals. Link real platform sources under
ORION_HOST_TEST; fix DaemonCommands to unsigned so high-bit opcodes are
well-formed. Rename host binary to orion-host-tests.
2026-07-10 15:42:32 +08:00
Hexwell 30a02e9f59 test(settings): host unit tests for schema serialize and round-trip
Expose settings_load_file/save_file/serialize for tooling and lock the INI
schema with host tests. Also cover orion_ready signal/wait on the host.
2026-07-10 14:48:16 +08:00