6 Commits
Author SHA1 Message Date
phantomptrandClaude Opus 5.5 8b9b1b42b9 #480 review: safer tile removal order, indexed app.db lookup, Back at Home
- Tile removal runs as webui_tile_remove_with(ops), host-tested with a
  scripted console: after a restage, only a successful unregister lets
  anything be hidden or deleted; WEBUI_TILE_DIR is never deleted while a
  nullfs is bound on it; the marker goes last.
- Every successful ensure forgets the icon keeper's entry and sets the
  tile visible, so a registered tile is never left hidden.
- The outside-removal check runs before webui_start.
- register_appdb_has_title uses content_db_has_title: one bound WHERE
  titleId = ? lookup per title table instead of reading 2048 rows.
- backHistory: Escape/Backspace/gamepad ○ on a fresh first screen (no
  guard) call onRoot once, as ○ does.
- removed_outside tests list each scenario explicitly.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JoFXdUvVCDAG8xRjtp52qt
2026-10-21 22:29:27 -07:00
phantomptrandClaude Opus 5.5 eb7a89a3fa Fix the ghost PS5Upload tile and ○ not leaving the console page (#480)
Tile removal (payload):
- Judge removal by app.db, which the home screen draws, not by the PC
  installed list. 7.1.9 deleted the tile's files even when Sony's uninstall
  failed, leaving a greyed-out row; 7.1.10 could still delete them while a
  row stayed (one uninstall removes one of two install records).
- While a row remains: ask Sony again; a row whose staged files are gone is
  restaged and registered so the uninstall has an app to remove; a row Sony
  keeps is hidden (tbl_iconinfo visible = 0, kept hidden by the icon keeper).
  Files are deleted only when the icon is gone or hidden; otherwise the tile
  stays working instead of greyed out.
- Turning the tile on again shows a hidden icon again.
- A marker records that the helper registered the tile; at helper start a
  tile app.db no longer has (deleted on the PS5 itself) is not registered
  again and the setting turns off.

Console page: WebKit closes a page it did not open by script only while its
back/forward list has one entry; the PS5 guard pushed at load made both ○ and
window.close() unable to leave from Home. No guard on the first screen while
history is a single entry; after a level, the old close attempt remains.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JoFXdUvVCDAG8xRjtp52qt
2026-10-21 22:21:25 -07:00
PhantomPtr e83a09a7e4 Fix compressed Game files, tile feedback and PS5Upload batch intake (#483)
* test: cover nested package intake and duplicate Back requests

* test: reproduce missing compressed images and paginated library entries

* fix: address PS5Upload triage and include compressed library images

* fix: preserve queued copy recovery and validate compressed image actions

* fix: remove retired single-package picker import

* fix: keep skipped-source feedback accurate across conversion modes

* test: correct scan mock lifecycle and package picker assertion

* fix: label compressed image folder navigation clearly
2026-10-20 12:09:11 -07:00
phantomptrandClaude Opus 5.5 284d22c6e5 helper web UI: free seen jobs, hide the tile from the PC library, games-only Close
- /api/jobs releases the page's finished jobs after replying
  (ava1_jobs_release_seen), so batches cannot fill the shared table.
- list_registered_titles_json leaves out WEBUI_TILE_TITLE_ID; a PC's
  APP_UNREGISTER of the tile is Settings -> tile off (saved tile:false,
  tile thread removes it) so the next start does not re-register it.
- Now running: the focused app is never the tile; the fallback names
  only a game title id (PPSA/CUSA/... prefixes), never the browser, the
  tile or homebrew. Codec selftest covers it.
- /api/settings carries tile_busy/tile_failed (webui_tile_state); the
  tile request is made before the reply.
- put_str/r_status clamp `at` after every escape/printf; send_error and
  r_fs_delete clamp too.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RxCGb8Asp1A1AQYiv1kbgS
2026-10-17 07:35:02 -07:00
phantomptrandClaude Opus 5.5 87880bf0db payload: webui tile re-mounts only after a reboot and removes its staged /user/app copy
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RxCGb8Asp1A1AQYiv1kbgS
2026-10-17 05:01:25 -07:00
phantomptrandClaude Opus 5.5 7a12127b67 payload: webui settings and ps5upload home-screen tile
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RxCGb8Asp1A1AQYiv1kbgS
2026-10-17 04:55:15 -07:00