Commit Graph
211 Commits
Author SHA1 Message Date
aydencharles b1d8a61cd1 chore(injector): optimize injector 2026-09-05 00:20:37 +08:00
aydencharles df2622cd67 feat(sprx): add catalog management controls 2026-09-04 14:40:11 +08:00
kvnhrt 2eee3bad3d fix(shellui): inject dynamic plugin toggle value on page creation
OnionHEN's generated pages bind toggle values during SettingPage.OnCreating
(OnPreCreate_Hook -> resolve_toolbox_control_value -> set_Value) because the
legacy PS5 settings framework does not honor the XML 'value' attribute.

Dynamic plugin config pages and external plugin list toggles had no such
resolver, so a toggle reverted to its default OFF state on page re-entry even
when the plugin/setting was actually active.

Add a resolver that reads the live node value from the dynamic UI runtime
snapshot and injects it through the existing OnPreCreate binding path.
2026-09-03 06:55:59 -06:00
aydencharles 127748afc6 feat(plugins): embed settings links and manage autostart per plugin 2026-09-03 16:55:39 +08:00
aydencharles d4fb854789 fix(shellui): co-locate external plugin settings links 2026-09-03 16:25:30 +08:00
aydencharles 75ab94f408 refactor(cheats): unify game version resolution in the daemon 2026-09-03 15:07:19 +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
Hexwell 0e276281fd feat(plugin): add external ELF plugin management 2026-09-02 21:32:44 +08:00
Hexwell bb6ccd7803 feat(plugin): add dynamic UI event bridge 2026-09-02 20:42:01 +08:00
Hexwell e415d0b75e feat(plugin): add ELF discovery and lifecycle management 2026-09-01 18:15:35 +08:00
Hexwell d67f6c7f8b perf(build): optimize release binaries 2026-09-01 16:27:42 +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 10779c1b05 fix(cheats): unescape titles and localize toasts 2026-08-31 06:25:04 +08:00
Hexwell 7092dd6b85 feat(cheats): load all compatible sources together 2026-08-24 14:06:14 +08:00
Hexwell 8ab584db24 fix(rest-mode): recover built-in FTP listener after standby 2026-08-22 22:33:27 +08:00
Hexwell e049af1ce4 refactor(services): remove ShadowMountPlus and integrate ftpsrv source 2026-08-22 21:13:16 +08:00
Hexwell 0ef74eb9cb refactor(shellui): merge account into Remote Play group 2026-08-21 23:10:33 +08:00
Hexwell e58d1f3438 refactor(shellui): reorder toolbox preference items 2026-08-21 22:57:36 +08:00
Hexwell 36e5c6236c refactor(shellui): coalesce display TID and nav Home reload 2026-08-21 22:49:33 +08:00
Hexwell 395e2d55f4 refactor(shellui): drop unused AppInst and dead hooks 2026-08-21 22:38:16 +08:00
Hexwell e22013992d fix(rest-mode): recover toolbox from SysCore EXEC not SIGCONT 2026-08-21 22:26:32 +08:00
Hexwell 988cf124f9 fix(rest-mode): recover toolbox and IPC listeners on SIGCONT 2026-08-21 18:15:50 +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 d33f3d2fec feat(shellui): add built-in plugin manager with per-plugin config pages 2026-08-21 14:05:43 +08:00
Hexwell 78f227140f fix(shellui): normalize Remote Play page lifecycle 2026-08-21 11:53:58 +08:00
Hexwell 1dc7451f65 feat(shellui): regroup ShadowMountPlus/FTP and add cheats icons 2026-08-21 10:42:54 +08:00
Hexwell 3bce004d4d fix(shellui): add Drakmor icon for ShadowMountPlus 2026-08-20 10:31:54 +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 91b154cec5 fix(cheats): restore page state after sync 2026-08-19 16:55:31 +08:00
Hexwell 440c867974 fix(cheats): cancel sync when progress page closes 2026-08-19 15:52:13 +08:00
Hexwell 6a5582d768 chore(cJSON): unify JSON parsing and serialization with cJSON 2026-08-19 15:01:49 +08:00
Hexwell aa604655a5 fix(cheats): improve download status feedback 2026-08-19 14:28:18 +08:00
Hexwell 005b9f18d0 fix(cheats): restore download confirmation 2026-08-18 23:53:44 +08:00
Hexwell c36641d3b4 fix(cheats): show downloaded file size progress 2026-08-18 23:48:10 +08:00
Hexwell 5472f64c1b fix(i18n): localize TeeKay87 credit in cheat download entry 2026-08-18 23:19:22 +08:00
Hexwell e3456c8f75 fix(shellui): use RootWidget dimensions for overlay layout (#6) 2026-08-18 23:12:13 +08:00
Hexwell 994944a43f chore(cheats): cheats download page UI 2026-08-18 22:42:38 +08:00
Hexwell 7ea2ba30c5 feat(cheats): sync cheat catalogs over HTTPS zip download
Replace the git clone/fetch pipeline with a curl + miniz HTTPS
ZIP download. The engine streams one archive, extracts only the
catalog roots, and reuses flatten to install flat files, so the
libgit2 submodule and its build integration are gone.

Drop the pre-download reachability probe and the commit-SHA
parser; reachability is implied by the download itself and the
SHA only fed the old git flow. Mirror selection stays in
CheatMirrorFactory (auto: cnb.cool for zh-Hans, GitHub otherwise;
explicit github/cnb skips fallback).

curl verifies peer+host against the embedded CA bundle and now
distinguishes certificate time-skew from other verification
failures, surfacing a dedicated clock notification. Revert the
util CMake target back to "util" now that libgit2 no longer
claims that name.
2026-08-18 15:41:08 +08:00
Hexwell c5e30c4fd0 feat(cheats): add toolbox download UI and HTTP probe
Expose catalog download on the Game Tools page and put the
mirror picker in Preferences. Probe gstatic/miui generate_204
before clone so auto can pick GitHub or cnb.cool by reachability.

Also fix the CNB slug, rename the util CMake target so it no
longer clashes with libgit2, and keep last-error text off the
download button.
2026-08-18 12:38:27 +08:00
Hexwell 42e7dc8c8e Merge branch 'main' into dev 2026-08-17 22:23:31 +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 0b556297de chore(shellui): drop unused account_id_b64 leftover
Remove the PIN-page account-id encoder and empty Activator
stubs that no longer have callers.
2026-08-17 19:23:51 +08:00
Hexwell 295590203c chore(shellui): replace Remote Play with account activation
Drop the pairing page and the OnActivated / OnDeactivating
lifecycle hooks. Keep the Toolbox entry for offline account
activation, with a localized save-loss warning before writing
an account ID.
2026-08-17 19:18:02 +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