Skip to content

feat(npwebapi2): implement sceNpWebApi2SetRequestTimeout - #1950

Closed
abhishekwebdevv wants to merge 1 commit into
boykopovar:mainfrom
abhishekwebdevv:feat/npwebapi2-set-request-timeout
Closed

abhishekwebdevv wants to merge 1 commit into
boykopovar:mainfrom
abhishekwebdevv:feat/npwebapi2-set-request-timeout

Conversation

@abhishekwebdevv

Copy link
Copy Markdown

What

  • Implements the last missing libSceNpWebApi2 export, sceNpWebApi2SetRequestTimeout (int64_t request_id, uint32_t timeout), replacing the untyped stub. In the offline PSN web API mode it returns SCE_NP_WEBAPI2_ERROR_INVALID_ARGUMENT (0x80553402) when request_id <= 0, and accepts the timeout with success for positive request ids, matching sceNpWebApi2AbortRequest and sceNpWebApi2DeleteRequest.
  • Removes NpWebApi2 from the PPSA14632 "declared without parameters" entry in TechnicalDebt; libSceNpWebApi2 is now 25/25 (100%).
  • Adds a guest test guest_npwebapi2 (tests/GuestNpWebApi2.cpp, registered in core/libs/CMakeLists.txt) covering request creation, timeouts for a valid id (0) and invalid ids 0 and -1 (0x80553402), and request deletion.

Tested

  • macOS (arm64 host build host checks): tools/check_conventions.py --base upstream/main passes; tools/progress.py reports libSceNpWebApi2 25/25 (100%); the new test compiled together with core/libs/prx/libSceNpWebApi2/Export.cpp and ran to completion with all assertions passing locally.
  • Windows/Linux ctest suite not run locally; the branch CI run covers it (cmake --build build --target libs --parallel, ctest).

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 (NotImplemented_nid_no_patch); silent stubs are listed in TechnicalDebt
  • No notes, investigation .md files or images added to the repository (attach them to this PR)
  • New third-party code is a submodule built from source
  • Generic behaviour, not specific to one title
  • Depends on: none
  • AI-assisted: yes

@MarcZX10

MarcZX10 commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

Reviewed the full diff against current main. The API signature and offline behavior are consistent with the existing module model, and the added guest test exercises both a created request and invalid IDs. I configured a clean Linux worktree, built guest_npwebapi2_tests, and ran ctest -R ^guest_npwebapi2$ (1/1 passed); the Conventions check and git diff --check also pass. I found no source issue in this diff. The upstream Build, Conventions, and Progress workflows are currently action_required, so the required CI evidence is still missing; an authorized maintainer needs to approve those runs before this PR is ready for approval.

@oneandonlydean

Copy link
Copy Markdown
Collaborator

Closing: same as #1527 and #1207, no title is shown calling sceNpWebApi2SetRequestTimeout on main.

@popcoder565

Copy link
Copy Markdown
Contributor

First local Windows run. Setup: Windows 10 (19045), MinGW-w64 GCC 15.2.0 (WinLibs r7), Release. Merged onto main 745b775 together with #1926, #1950, #1260 and #1988. Full ctest: 507/507.

guest_npwebapi2 passes.

🤖 Addressed by Claude Code

@abhishekwebdevv

Copy link
Copy Markdown
Author

Understood the closure — if no title calls sceNpWebApi2SetRequestTimeout on main, the scope concern is fair, and I won't argue it.

Since PR intake is now limited to authors with at least 10 merged PRs, I can't open a follow-up PR yet. In case it's useful before then, I have a branch based on current main that types and implements the remaining PPSA14632-imported libSceWebBrowserDialog exports (sceWebBrowserDialogSetCookie, sceWebBrowserDialogOpenForPredeterminedContent, sceWebBrowserDialogResetCookie) — mirroring the sibling sceWebBrowserDialogOpen behavior, extending guest_web_browser_dialog, and dropping WebBrowserDialog from the PPSA14632 bullet in TechnicalDebt. Validated locally (conventions pass) and on Windows (WinLibs GCC 15.2.0, Windows 11 25H2): full suite 709/709 passed, including the extended guest_web_browser_dialog.

Branch: https://github.com/abhishekwebdevv/AnyPS5/tree/feat/webbrowserdialog-ppsa14632-exports (single commit 8f31109c).

No action expected — happy to hold until intake reopens, or send it in whatever form you prefer.

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.

4 participants