Commit Graph
150 Commits
Author SHA1 Message Date
Humza b0c8f84a9c fix(ci): link system sqlite3 on host builds (bundled amalgamation fails open_v2 on runner) 2026-09-25 19:06:25 +02:00
Humza 2b277065ec fix(ci): call sqlite3_initialize() before open_v2 on the ubuntu runner 2026-09-25 19:00:57 +02:00
Humza be4da6b4ce fix(ci): compile sqlite3.c with -O2 (default flags) 2026-09-25 18:58:12 +02:00
Humza e7ad0914ab fix(ci): use SQLITE_THREADSAFE=1 (default) on host builds; 0 breaks sqlite3_open_v2 on runner 2026-09-25 18:53:35 +02:00
Humza deb558309d fix(ci): drop SQLITE_OPEN_NOMUTEX (unsupported by bundled sqlite on ubuntu runner) 2026-09-25 18:50:50 +02:00
Humza 92947f4031 fix(ci): _DEFAULT_SOURCE for usleep under glibc strict c11 2026-09-25 18:44:59 +02:00
Humza 1bf56acc41 fix(ci): POSIX 2008 feature macro for host test builds (glibc hides fileno/strdup under -std=c11) 2026-09-25 18:41:37 +02:00
Humza 047ce7b95a fix(ci): gcc -std=c11 fixes for ubuntu runners: POSIX macro for strdup, brace split misleading if-guards in jsonlite 2026-09-25 18:38:02 +02:00
Humza 1acc6ada7c fix(ci): widen pj buffer for gcc -Werror=format-truncation on ubuntu runners 2026-09-25 18:32:50 +02:00
Humza 29617192e6 v1.0.0 hardening: signed-only updates, heap fix, plugin name fallback, dead code purge, release keys, secret guard, docs accuracy 2026-09-25 18:28:58 +02:00
SirHumza 9ba212d859 fix: critical path bugs and build errors
- daemon.c/updater.c: fix /data/GoldHEN/payloads -> /data/payloads
  (Payload Guest reads /data/payloads/, not /data/GoldHEN/payloads/)
- daemon.c: fix strncmp(..., sizeof buffer) -> strcmp for title ID
  comparison (strncmp pastes past null terminator, giving false diffs)
- tmdb.c: fix fd scoping — TLS code was outside #ifdef block where fd
  was declared, causing compile error; move tls_start/connect/close
  inside #ifdef ORBISRPC_SDK_PAYLOAD block
- detect.c: comment out appdb_title calls — sqlite3.h unavailable
  in toolchain; appdb.c cannot compile without it
- All: build verified, all tests pass
2026-09-25 17:39:37 +02:00
SirHumza 5d98cd8a45 clean: descriptive comments, remove dead code, fix build errors
- Remove dead step_status() function (never called)
- Add reap_stale() forward declaration, call from ui_init()
- Add descriptive comments throughout installer.c and ui.c
- Add PAD module unload to ui_shutdown()
- Add config.json to Makefile clean target
- Fix step_token missing closing brace
- Update docs/INSTALLER.md to reflect LoadStartModule eviction
- All tests green, EBOOT matches, SHA-256 match after FTP upload
2026-09-25 17:28:55 +02:00
SirHumza eb095314c9 fix: use sceKernelLoadStartModule for eviction (kill blocked by sandbox)
- kill() returns EPERM in sandbox, so replaced with sceKernelLoadStartModule
  to launch evict.elf as a module — it reads daemon.lock and kills the daemon
- Copy evict.elf first, then load+start it via LoadStartModule
- Wait 500ms for evict.elf to run, then continue to copy orbisrpc.bin
- Removed dead kill() SIGTERM/SIGKILL code
- Verified: no kill references in binary, all tests pass, EBOOT matches
2026-09-25 17:24:22 +02:00
SirHumza 7f0153c7a9 installer: clean branding, just show the logo
- Removed all 'orbisRPC Setup' / 'Setup' branding from dialogs
- Welcome: just 'orbisRPC\n\nInstall daemon payload.'
- Status dialog: just 'status:' with daemon/evict/lock/token lines
- Done dialog: just 'Done.\n\nPayloads in /data/payloads...'
- Removed duplicate ui_ok(report) bug
- Cleaned up step_status (was broken by earlier edit)
- Removed 'Setup PKG' reference from missing-payload message

Verified: no 'Setup' in binary, EBOOT matches, tests green
2026-09-25 17:22:56 +02:00
SirHumza cd293856b9 fix: payload path back to /data/payloads, remove GoldHEN/bin refs
- PAYLOAD_BIN and EVICT_BIN both go to /data/payloads/ (Payload Guest)
- Removed all /data/GoldHEN/bin/elf/ references from code + docs
- Installer auto-evicts old daemon via SIGTERM/SIGKILL from daemon.lock
- Copies evict.elf + orbisrpc.bin to /data/payloads/
- Pre-saves config.json with Discord token
- Splash hidden before ui_init() for zero delay

Verified: EBOOT matches, SHA-256 match, tests green
2026-09-25 17:17:59 +02:00
SirHumza ddefb0db50 installer: in-app eviction, pre-saved token, docs update
- Installer sends SIGTERM then SIGKILL to daemon PID from
  daemon.lock before copying new payload (no user needs to
  manually launch evict.elf)
- Copy evict.elf to payload folder for future manual use
- Pre-save config.json with Discord token so step_token() skips entry
- Fix fallback config template to use real token (was SET_ME)
- Move sceSystemServiceHideSplashScreen() to top of main() for
  zero visible delay between splash hide and first dialog
- Update INSTALLER.md to reflect evict flow, no-sleep fact

Verified: PKG has all 3 assets, EBOOT matches, SHA-256 match, tests green
2026-09-25 17:16:23 +02:00
SirHumza d44537e2bd installer: add evict payload, pre-saved token config, fix delay
- Restore evict.elf to PKG (staged assets: daemon.elf + evict.elf + config.json)
- step_files copies both evict.elf and orbisrpc.bin to /data/GoldHEN/bin/elf/
- Pre-save config.json with Discord token so step_token() skips entry
- Move sceSystemServiceHideSplashScreen() to top of main() — eliminates
  visible delay between splash hide and first dialog (ui_init() now
  runs with splash already gone)
- Add installer/assets/config.json as PKG asset
- Explicitly list evict.elf and config.json in create-gp4 --files
- Update INSTALLER.md to reflect evict flow and no-sleep fact

Verified: PKG has all 3 assets, EBOOT matches, SHA-256 match, tests green
2026-09-25 17:12:51 +02:00
SirHumza a263b95109 installer: fix payload path, copy bug, init order, black screen
- Payload path: /data/GoldHEN/bin/elf/orbisrpc.bin (GoldHEN native launcher)
- Fix step_files copy bug: removed 'if(mk==0)' guard that skipped copy
  when directory already existed (second install failed)
- Pad module for IME keyboard: ORBIS_SYSMODULE_INTERNAL_PAD + scePadInit()
- Restructure ui_init() to match apollo-ps4's initInternal()/initPad():
  internal modules -> sceCommonDialogInitialize() -> PAD + scePadInit()
  -> external modules. sceCommonDialogInitialize() before external loads.
- Remove sceKernelSleep(3) from main() (3-5s black screen at startup)
- Remove unused evict.elf from PKG build and Makefile stage rules
- Remove all /data/payloads references from code + docs

Verified: eboot matches, SHA-256 match after FTP, tests+asan green
2026-09-25 17:07:46 +02:00
SirHumza 5e8ef1bae3 installer: add PAD module for IME keyboard, remove splash sleep
- Load ORBIS_SYSMODULE_INTERNAL_PAD + scePadInit() in ui_init()
  (apollo-ps4 pattern: IME needs PAD module for correct user context)
- Link -lScePad in Makefile
- Remove sceKernelSleep(3) from main() — was causing 3-5s black screen
  sceSystemServiceHideSplashScreen() alone is sufficient
- Verify: eboot matches, SHA-256 match after FTP, tests+asan green
2026-09-25 17:04:25 +02:00
SirHumza 782d8c0a00 installer: always-invert X=confirm O=back, reap stale dialogs 2026-09-25 16:32:47 +02:00
SirHumza 612e7bf844 installer: normalize X=confirm O=back via EnterButtonAssignment 2026-09-25 16:27:33 +02:00
SirHumza 2da941a711 installer: crash guard, yielding dialog waits, clean _exit 2026-09-25 16:15:11 +02:00
SirHumza 0f8f4cc1b0 installer: center the on-screen keyboard, foreground user id 2026-09-25 16:05:10 +02:00
SirHumza fc21933a30 installer: X to enter, O to back (YESNO focused on Yes) 2026-09-25 15:58:52 +02:00
SirHumza be276b00a3 installer: drop the wifi check entirely 2026-09-25 15:54:46 +02:00
SirHumza ef291c2990 installer: stage markers through wifi/token/exit to locate the crash 2026-09-25 15:51:31 +02:00
SirHumza 391b45f12c installer: verify copy by byte count + hash, stat lies in sandbox 2026-09-25 15:44:18 +02:00
SirHumza ed30a008ce installer: log copy-stage errno so a false denied is diagnosable 2026-09-25 15:38:43 +02:00
SirHumza 181a16221f docs: installer places payload only, startup belongs to GoldHEN 2026-09-25 15:29:38 +02:00
SirHumza 3a88839f07 installer: place orbisrpc.bin in bin/elf only, drop inject/boot 2026-09-25 15:28:03 +02:00
SirHumza e82df136ba installer: preflight asset check with precise reinstall message 2026-09-25 11:23:40 +02:00
SirHumza 51c87ebcc7 track brand logo for README hero 2026-09-25 10:36:09 +02:00
SirHumza 4518894553 pretty README with hero art and badges 2026-09-25 10:35:11 +02:00
SirHumza a24eef3199 chore: trigger contributor graph refresh 2026-09-25 10:32:16 +02:00
SirHumza 8734f5bcb4 single identity: drop mailmap 2026-09-25 10:26:14 +02:00
SirHumza 06c540bbd3 mailmap: all commits belong to SirHumza 2026-09-25 10:20:44 +02:00
SirHumza cbcdad7061 remove mailmap (single identity after rewrite) 2026-09-25 10:18:45 +02:00
SirHumza 0a61b60015 mailmap: consolidate contributors to SirHumza 2026-09-25 10:17:09 +02:00
SirHumza b0dd1bb89c docs: rewritten README, daemon/installer/troubleshooting guides 2026-09-25 10:15:58 +02:00
SirHumza b3ba9d2ac7 v1.0.0: version stamp, installer status screen 2026-09-24 23:04:44 +02:00
SirHumza 2d6c0df9b2 installer: version display + autorun guidance finish screen 2026-09-24 22:54:59 +02:00
SirHumza d43218a6ee triage fixes: health order, static send buf, v4-only probes 2026-09-24 22:45:16 +02:00
SirHumza e44c5da290 installer: internal service modules at boot (pguest pattern) 2026-09-24 22:30:01 +02:00
SirHumza 91bf00d5e7 installer: hide splash before dialogs (fixes flash-dismiss) 2026-09-24 20:44:39 +02:00
SirHumza fcfa3f9040 installer: settle delay before first dialog (fixes flash-dismiss) 2026-09-24 20:40:53 +02:00
SirHumza 80587d44d3 self-audit: icfg proofs, exact payload match, entropy EINTR, toolchain default, CI readelf 2026-09-24 20:33:40 +02:00
SirHumza cf34bc4436 subagent audit fixes: unload-on-fail, progress reclaim, send timeout, gp4 prereqs 2026-09-24 20:18:58 +02:00
SirHumza b305eeac62 audit: rollback atomicity, NTP source+window, retire table scripts 2026-09-24 19:57:05 +02:00
SirHumza 08bc9b7026 clean-room rebuild verified, installer clean target fixed 2026-09-24 18:56:45 +02:00
SirHumza caa54da524 installer audit: deadline connects, boot verify, orbis branding 2026-09-24 18:50:48 +02:00