Commit Graph
14 Commits
Author SHA1 Message Date
zaryabzip 6ca3d01f3e feat(libSceNpWebApi): throw on internal request arguments with a field set
sceNpWebApiIntCreateRequest's internal arguments are three pointers.
shadPS4 accepts them only when all three are null, so a set field now
throws after the user context check instead of creating a request.
2026-10-31 04:04:45 +05:00
zaryabzip 41fd24dcca feat(libSceNpWebApi): create internal requests like sceNpWebApiCreateRequest
shadPS4's sceNpWebApiIntCreateRequest checks the group, path and a method
up to PATCH, then the content parameter, before creating the request.
2026-10-31 03:51:30 +05:00
zaryabzip b31e7f1b35 feat(libSceNpWebApi): create presence, VSH and internal contexts and accept notification callbacks offline
shadPS4 creates the same library context from sceNpWebApiInitializeForPresence,
sceNpWebApiVshInitialize and sceNpWebApiIntInitialize, and checks the
notification callback and its user context before storing it.
2026-10-31 03:51:30 +05:00
Adrià 0261ca3e01 Merge pull request #13221 from kyon-eth/feat/np-web-api-additional-320-exports
feat(libSceNpWebApi): declare 38 additional callable exports
2026-10-30 23:50:17 +01:00
KernelPanicNT 7a0fe8bde1 feat(libSceNpWebApi): implement handle aborts, request options and timeouts
Give sceNpWebApiAbortHandle, sceNpWebApiAddHttpRequestHeader,
sceNpWebApiCheckTimeout, sceNpWebApiCreateMultipartRequest,
sceNpWebApiSendRequest2, sceNpWebApiSetHandleTimeout,
sceNpWebApiSetMultipartContentType and sceNpWebApiSetRequestTimeout
their prototypes and the offline behaviour of the existing model.

Requests keep a multipart flag and a timeout whose timer starts on the
first send; CheckTimeout aborts expired requests at most once per
millisecond. The timeout unit is unverified: shadPS4 logs it as
milliseconds but adds it to microsecond process time, which is what
is done here. Handles created from SDK 3.00 get a timer slot. Headers
and multipart content types are validated and dropped, since nothing
is sent. Multipart parts and UtilityParseNpId still throw.
2026-10-30 15:29:17 +00:00
Adrià b0f691071d Merge pull request #13055 from Celegans12/feat/npwebapi-inventory-exports-20261029
feat(npwebapi): add missing firmware inventory exports
2026-10-30 11:20:36 +01:00
Kyon 61e8a49fbc feat(libSceNpWebApi): declare additional callable exports 2026-10-30 06:55:03 +00:00
Codex 378bf4306c feat(npwebapi): add missing firmware inventory exports 2026-10-30 01:02:57 +02:00
ntamas94andClaude Opus 5.5 51a08caab8 test(libSceNpWebApi): pin method 99 at SDK 5.05 and name the 2.50 source
Adds the measured row to guest_np_web_api (method 99 at SDK version
0x05050001 is INVALID_ARGUMENT and leaves the request id alone), as
rooklz suggested in review, and says in the debt entry that the 2.50
threshold comes from shadPS4.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 16:12:10 +01:00
ntamas94andClaude Opus 5.5 dd490e0c7a docs(libSceNpWebApi): record the method-after-DELETE check as measured at SDK 5.05
The offline PS4 probe from #9797, built with SDK version 0x05050001, answers
sceNpWebApiCreateRequest with method 99 with INVALID_ARGUMENT (0x80552902) on
firmware 10.71, where the earlier build with a non-retail SDK version
accepted it. The debt entry now says the SDK 2.50 rule holds at that
version and that the version where it starts is not measured.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 13:00:48 +01:00
MarcZX10 bbb2e618d0 docs(libSceNpWebApi): record the single-source shadPS4 signatures of the declared stubs 2026-10-26 23:17:33 +00:00
AlexandreandClaude Opus 5.5 0435d0b254 test(libSceNpWebApi): pin the results measured on a PS4 Pro
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RoucYS7mQpV23WDUEwXLuU
2026-10-25 17:40:59 +01:00
AlexandreandClaude Opus 5.5 c889c1c742 feat(libSceNpWebApi): add user contexts, requests and push event callbacks offline
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RoucYS7mQpV23WDUEwXLuU
2026-10-25 17:40:59 +01:00
Get-fix f04d16d702 feat: PS4 NpTrophy, save data v1, NpWebApi offline and Limbo's other imports
NpTrophy reads the trophy count and icons from the title's trophy
package (names are encrypted and stay not implemented), PS4 v1 save data
calls wrap the native v2/v3 ones, and NpWebApi library contexts, handles
and push event filters work offline (service filters fail without a
signed-in user). libSceAjm is built from the libSceAjm.native sources
for PS4 titles. Limbo's (CUSA01664) remaining PS4 imports, including the
synchronous PS4 TUS calls and the Facebook dialog calls next to the
existing libraries, are exported as not implemented.
2026-10-22 00:35:09 +03:00