Skip to content

feat(libSceNpWebApi2): implement push-event handle abort - #5085

Closed
MarcZX10 wants to merge 1 commit into
boykopovar:mainfrom
MarcZX10:codex/npwebapi2-push-event-abort-4174
Closed

MarcZX10 wants to merge 1 commit into
boykopovar:mainfrom
MarcZX10:codex/npwebapi2-push-event-abort-4174

Conversation

@MarcZX10

Copy link
Copy Markdown
Contributor

What

Carries screamm’s offered fix for #4174. Push-event handles are tracked by library context, sceNpWebApi2PushEventAbortHandle marks a handle aborted, and later filter creation reports ABORTED. Unknown contexts and handles return the corresponding errors; delete and terminate clear handle state.

The implementation commit keeps screamm as its author. The cherry-pick reconciles the test declarations and moves the technical-debt entry into the current component file; no Codex co-author is added. The PS4-derived behavior and result codes remain unverified on PS5.

Tested

  • Linux: configured with CMake and Ninja, built guest_np_web_api2_tests, and ran ctest -R '^guest_np_web_api2$': passed (1/1).
  • tools/check_conventions.py --base upstream/main: passed.
  • git diff --check: passed.
  • Live overlap scan against 522 open PRs: no overlap.
  • No title run; Planet Coaster imports this function, but execution has not been observed.

Checklist

  • Based on current main; no other open PR implements the same functions
  • One topic per PR; follow-ups go in a new PR
  • No comments in code except technical debt
  • Unimplemented paths throw; behavior limitations are recorded in library technical debt
  • No notes, investigation files or images added
  • New third-party code is a submodule built from source
  • Generic behavior, not title-specific
  • Depends on: none
  • Unblocks: Planet Coaster PPSA01736 (libSceNpWebApi2: sceNpWebApi2PushEventAbortHandle throws (Planet Coaster); fix branch ready #4174)
  • AI-assisted: yes

Planet Coaster (PPSA01736) imports sceNpWebApi2PushEventAbortHandle
(NID 1OLgvahaSco, confirmed with tools/nid_names.py and aerolib); the
import audit in boykopovar#3399 resolves the NID to the throwing stub. No title
execution was captured.

Push event handles are now kept per library context: CreateHandle
registers them, DeleteHandle and Terminate drop them, AbortHandle marks
one as aborted and CreateFilter on an aborted handle returns ABORTED.
An unknown context returns LIB_CONTEXT_NOT_FOUND and an unknown handle
HANDLE_NOT_FOUND. Semantics and codes follow shadPS4
e0a466753a1aacbc8db8253be685bf7ab4d9daae (np_web_api2_internal.cpp
abortPushEventHandle, np_web_api2_context.cpp, np_web_api2_push_event.cpp,
np_error.h), PS4 and unverified on the PS5.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit 2d9c2e4)
@github-actions

Copy link
Copy Markdown

Progress report (3ee394e → cd666ae)

📈 System libraries: 87.88% (+0.02%, +1 implemented functions)

✅ 1 implemented
Library Name
libSceNpWebApi2 sceNpWebApi2PushEventAbortHandle

@adriadam10

Copy link
Copy Markdown
Collaborator

Closing, for the same reasons as #4375 and #4188 (same commit, closed by @oneandonlydean):

  • No title is seen calling sceNpWebApi2PushEventAbortHandle (libSceNpWebApi2: sceNpWebApi2PushEventAbortHandle throws (Planet Coaster); fix branch ready #4174 says the call has not been observed executing; this PR says so too), so there is no evidence a title stops at it on main.
  • The change also alters what sceNpWebApi2PushEventCreateHandle, DeleteHandle and CreateFilter return for every title (LIB_CONTEXT_NOT_FOUND / HANDLE_NOT_FOUND / ABORTED), and those codes come from PS4 (shadPS4) and are unverified on PS5.

Welcome to reopen with the log line where a title stops at this export on main.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants