Commit Graph
19 Commits
Author SHA1 Message Date
Dean 03cfa4c067 Merge pull request #14910 from edubox/feat/np-session-signaling-context-state
feat(libSceNpSessionSignaling): implement context properties and state queries
2026-11-06 03:36:30 +13:00
Dean Galvinandedubox b1b858d881 test(libSceNpSessionSignaling): drop the assertions that a valid custom property set throws
SetCustomProperty refuses a valid request until its store is known, and
the tests asserted that refusal. A test that pins an unimplemented path
fails as soon as the path is implemented. On Windows the refusal's
runtime_error also does not reach the test's catch and terminates
guest_np_session_signaling (0xc0000409); on Linux it is caught. Keep
the null-property and stale-context cases.

Co-authored-by: edubox <[email protected]>
2026-11-06 02:49:22 +13:00
Eduardo Ruiz Peña 6c99743c3d fix(libSceNpSessionSignaling): refuse the unverified custom property set 2026-11-05 14:15:50 +01:00
amazedturnip ebcccf2285 test(libSceNpSessionSignaling): cover session and user activation and connection info validation 2026-11-02 18:31:04 -06:00
Eduardo Ruiz 7df215ed58 feat(libSceNpSessionSignaling): implement context properties and state queries
Recover the signatures from the 11.00 module wrappers and implement InitializeWithPort, the per-context custom property, the peer-address group lookup, the internal callback registration, the memory information and the connection statistics. The host stores the pool size and the property, reports zero usage and statistics for the offline runtime, and still throws for the signaling paths that need the network. A destroyed context slot clears the property and both callback pointers before it is reused, so a new context starts from a fresh state.
2026-11-02 02:02:35 +01:00
Omar Elmahy 38cba3eb5d test(libSceNpSessionSignaling): cover post-terminate CreateContext lifecycle
In GuestNpSessionSignaling.cpp, assert that sceNpSessionSignalingCreateContext with SessionSignalingContextParam1 returns NotInitialized after termination.
2026-10-30 09:09:39 +00:00
PrivacyOnion 2cb3965b37 test(libSceNpSessionSignaling): cover context validation and invalid handles in GuestNpSessionSignaling
Signed-off-by: PrivacyOnion <[email protected]>
2026-10-27 13:24:28 +01:00
Dean 4807400cc1 Merge pull request #11541 from milescoviello/test/npsessionsignaling-activate-user-connection-info
test(libSceNpSessionSignaling): cover sceNpSessionSignalingActivateUser and sceNpSessionSignalingGetConnectionInfo without a session
2026-10-27 19:06:30 +13:00
milescovielloandClaude Opus 5.5 5dc07c8256 test(libSceNpSessionSignaling): cover sceNpSessionSignalingActivateUser and sceNpSessionSignalingGetConnectionInfo without a session
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-26 17:59:33 +00:00
milescovielloandClaude Opus 5.5 5b7d5ee506 test(libSceNpSessionSignaling): cover sceNpSessionSignalingActivateSession's argument, context and mode checks
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-26 17:56:48 +00:00
boykopovar f38d29fd08 refactor(sdk): add canonical headers for remaining libraries 2026-10-24 23:17:42 +03:00
hypermistandClaude Opus 5.5 400d333961 fix(libSceNpSessionSignaling): check initialization and the context before each lookup
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-22 16:18:02 +13:00
hypermist 4e6f90febe Merge remote-tracking branch 'upstream/main' into fix/np-session-signaling-lookups
# Conflicts:
#	core/libs/prx/libSceNpSessionSignaling/Export.cpp
#	docs/dev/debt/libSceNpSessionSignaling.md
2026-10-22 16:17:43 +13:00
boykopovar 9ff2cd1d18 fix(np): validate signaling context lifecycle and stale handles 2026-10-21 21:48:03 +03:00
boykopovar c203dbb302 fix(np): restore signaling context callbacks and session arguments 2026-10-21 21:48:02 +03:00
hypermistandClaude Opus 5.5 9b4fe13a5b fix(libSceNpSessionSignaling): return the firmware lookup results
The group and connection lookups take the firmware signatures, reject a
null pointer with 0x80553303 and, because no session ever activates,
report the group (0x8055330A) or connection (0x8055330C) as not found,
whichever lookup the firmware performs first.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-20 23:02:34 +13:00
p3nicillinandClaude Opus 5.5 3fa1fe34c9 feat(libSceNpSessionSignaling): answer connection status queries offline
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-12 22:05:23 +01:00
Adrià FranchandClaude 5784515e13 fix(libs): use the referenced NGS2 handle and session signaling argument error codes
Co-Authored-By: Claude <[email protected]>
2026-10-06 14:39:02 +02:00
Celegans12andClaude Opus 5.5 1a88fe66a8 feat(npsessionsignaling): implement offline RequestPrepare and GetLocalNetInfo
Without network a signaling context is never prepared. Like
ActivateSession, ActivateUser and GetConnectionInfo,
sceNpSessionSignalingRequestPrepare returns 0x80552D06 (UNAVAILABLE)
and writes no request id. sceNpSessionSignalingGetLocalNetInfo no
longer throws: it returns 0x80552D06 and leaves the info unchanged, as
libSceNetCtl reports neither an address nor NAT info offline. A null
request id or info returns 0x80552D02, as a null context id does in
CreateContext2. GetConnectionStatus still throws.

The new guest_np_session_signaling test checks the error codes and
that failed calls leave the request id and info unchanged; it is
registered in a new libSceNpSessionSignaling CMakeLists.txt.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-05 17:51:44 +02:00