Skip to content

feat(signindialog): implement the libSceSigninDialog state machine - #2346

Closed
Darkeox34 wants to merge 1 commit into
boykopovar:mainfrom
Darkeox34:feat/signindialog
Closed

Darkeox34 wants to merge 1 commit into
boykopovar:mainfrom
Darkeox34:feat/signindialog

Conversation

@Darkeox34

Copy link
Copy Markdown

What

Completes 100% export coverage for libSceSigninDialog (7/7 functions):

  • Implements sceSigninDialogGetStatus, sceSigninDialogClose, and sceSigninDialogGetResult following the common-dialog state machine (NONE -> INITIALIZED -> RUNNING -> FINISHED), mirroring
    libSceLoginDialog.
  • sceSigninDialogGetResult reports COMMON_DIALOG_RESULT_USER_CANCELED (1) once finished, validating null pointer and uninitialized / unfinished states.
  • sceSigninDialogClose succeeds when initialized and validates COMMON_DIALOG_ERROR_NOT_INITIALIZED.
  • Adds core/libs/prx/libSceSigninDialog/CMakeLists.txt and a complete guest unit test suite in core/libs/tests/GuestSigninDialog.cpp.
  • Records libSceSigninDialog in the silent stubs section in docs/dev/TechnicalDebt.md.

Tested

  • Validated with python tools/check_conventions.py --base upstream/main.
  • Verified 100% export coverage with python tools/progress.py.
  • Covered by guest unit test suite GuestSigninDialog.cpp driving initialization, open, update/get status, get result, close, terminate, and argument errors.

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

@Kikoarl

Kikoarl commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

Tested on Linux (CachyOS x86_64, Intel RPL-S iGPU / Mesa 26.3.0-devel / Vulkan 1.4.363, GCC 16.2.1) at bafdd521:

  • Build: Built cleanly in RAM (/tmp/anyps5_build) with zero warnings/errors.
  • Conventions: python3 tools/check_conventions.py --base origin/main --head HEAD -> PASS (0 errors).
  • Verification: Verified GuestSigninDialog.cpp state machine tests. All transition states cleanly handled following SCE PRX specifications without silent hangs.

LGTM!

@popcoder565

Copy link
Copy Markdown
Contributor

Native Windows run, since no Windows results were posted. Setup: Windows 10 (19045), MinGW-w64 GCC 15.2.0 (WinLibs r7), Release. Head bafdd521, merged onto main f8c2f07 in one build with 9 other PRs that had no Windows run.

No title was run.

🤖 Addressed by Claude Code

@oneandonlydean

Copy link
Copy Markdown
Collaborator

Closing for the same reason as #2309: no title is shown reaching sceSigninDialogGetResult, GetStatus or Close on main, and a silent dialog stub needs a title it unblocks. Please reopen with the title ID and the log line if you find one.

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