|
Some checks are pending
Backend tests / test (push) Waiting to run
Addresses the ultra-review findings on this branch:
Player (PlayerScreen.tsx): the new recoveryPending mirrored the fallback-chain guards
by hand and could deadlock into a permanent "Reconnecting" spinner with no way to Mark
broken — for gone (410) sources on IP-bound tubes (re-resolve bails before setting
reResolveDone) and for any post-load error on those tubes (re-resolve is initial-load
only). Derive one reResolveApplicable flag (IP-bound AND initial-load AND not-gone) and
use it for both the chain gate and the spinner, so gone/post-load errors fall through to
proxy/WebView or the terminal error card. Seek-recovery now falls through to the chain
when player.replace() throws instead of returning.
Quick-play (SceneDetail): the autoplay route param persisted and autoPlay={i===0} re-fired
when the source list reordered (e.g. after Mark broken drops the dead source), bouncing the
user into the player. Consume it once via onAutoPlayConsumed -> nav.setParams({autoplay:false}).
Backfill semantics: performer-driven direct-scraper "backward fill" now tags scenes
backfill=True (search-by-name pulls the whole old catalog); merge coalesces backfill
(keep AND drop) so a fresh scene merged into a dead dup keeps NEW; deep-crawl only tags
backfill on a tube's FIRST sweep (swept_once) so re-sweep catalog growth stays genuine;
pilot script tags backfill.
Perf/migration: migration 0026 is now idempotent (IF NOT EXISTS; prod got the column via
manual ALTER) and adds ix_scene_performers_performer_id (favorites count filtered
performer_id with no index); index also created on prod.
Cleanup: deleted dead FavoriteSceneRow (unused import in two screens, stale isNew without
the backfill guard); removed em-dashes from all lines this branch added (user CLAUDE.md
rule), including the user-facing changelog / Settings / player-overlay strings.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| sql | ||
| _extract_apk_sig_hash.py | ||
| _patch_manifest.py | ||
| _tube_survey.py | ||
| add_performer_tpdb_ref.py | ||
| audit_false_merges.py | ||
| audit_teaser_only.py | ||
| auto_merge_freshporno_to_canonical.py | ||
| backfill_durations.py | ||
| backfill_freshporno_dates.py | ||
| backfill_freshporno_titles.py | ||
| backfill_inferred_tags.py | ||
| backfill_paradisehill_movies.py | ||
| backfill_paradisehill_tags.py | ||
| backfill_phash_tube.py | ||
| backfill_scene_duration_from_playback.py | ||
| backfill_scene_thumbnails.py | ||
| backfill_xvideos_performers.py | ||
| bulk_auto_merge.py | ||
| bulk_rescrape_hqporner.py | ||
| bulk_resolve_merges.py | ||
| check_all_hosters.py | ||
| check_hetzner_traffic.py | ||
| check_series_detector.py | ||
| compare_performer_canon.py | ||
| debug_pornxp_listing.py | ||
| debug_tpdb_performer.py | ||
| dedup_favorite_performers.py | ||
| dedup_n2_canonical.py | ||
| dump_pornapp_sites.ps1 | ||
| fill_tpdb_refs_batch.py | ||
| find_underfilled_performers.py | ||
| generate_icons.py | ||
| goon_debug_proxy.py | ||
| killall_bulk_rescrape.py | ||
| merge_dup2_tags.py | ||
| merge_dupe_thumb_asset.py | ||
| merge_exact_title_duration.py | ||
| merge_phash_exact_dupes.py | ||
| merge_tags.py | ||
| migrate_paradisehill_to_movies.py | ||
| phash_benchmark.py | ||
| phash_dedup_scenes.py | ||
| pilot_browse_scrapers.py | ||
| pilot_porndoe_deepcrawl.py | ||
| probe_all_extract.py | ||
| probe_browse_scraper.py | ||
| probe_lpv_extract.py | ||
| probe_mangoporn_hosters.py | ||
| probe_perverzija.py | ||
| probe_pv_extract.py | ||
| probe_scene.py | ||
| publish_update.py | ||
| refresh_sxyprn_thumbs.py | ||
| reingest_pandamovies_hosts.py | ||
| repair_dooplay_movies.py | ||
| repair_truncated_titles.py | ||
| reresolve_freshporno_orphans.py | ||
| restore_canonical_titles.py | ||
| smoke_test.py | ||
| stashdb_studio_backfill.py | ||
| status_tubes.py | ||
| studio_retrofix.py | ||
| test_cross_ip.py | ||
| test_porndoe_scraper.py | ||
| test_resolve_endpoint.py | ||
| theporndude_coverage_check.py | ||
| theporndude_coverage_match.py | ||
| theporndude_curl_triage.py | ||
| theporndude_movies_pipeline.py | ||
| theporndude_resolve_domains.py | ||
| theporndude_scorecard.py | ||
| title_levenshtein_benchmark.py | ||
| tpdb_backfill.py | ||
| tpdb_backfill_status.py | ||
| tpdb_studio_backfill.py | ||