Mobile / OTA: - Enable Expo Updates (app.json + AndroidManifest) → api.goon-foss.org - Bump 0.1.6 → 0.1.9 (build.gradle, app.json, appVersion.ts, main.py /version) - backend.ts: default public backend auto-connect (no manual login) WebView fallback fix (PlayerScreen INJECTED_JS): - Auto-dismiss cookie/consent gates (hqporner et al. blocked kt_player init) - Context-scoped: only clicks consent buttons inside cookie/gdpr containers - Retry window for <source>.src polling raised 5→15 ticks (post-dismiss init) Resolver: - Series-position + modifier mismatch detector (Episode 2≠4, BTS/unedited) → composite_score hard-reject / cap; wired into scene_score + bulk_dedup - aggregator-mode candidate query: LIMIT 500 + title-match ordering Connectors: - porndoe.com browse scraper (JSON-LD VideoObject) — theporndude audit pilot landing: APK links → goon-v0.1.9.apk Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
20 lines
1 KiB
TypeScript
20 lines
1 KiB
TypeScript
import Constants from 'expo-constants';
|
|
|
|
/**
|
|
* Aktualna wersja appki — używana do display'u (BugReportFAB, Update dialog)
|
|
* i porównań z `/version` z serwera.
|
|
*
|
|
* Źródła w kolejności preferencji:
|
|
* 1. `Constants.expoConfig?.version` — działa gdy OTA manifest ma `extra.expoClient`
|
|
* (publish_update.py embeduje tam app.json). W release APK przed pierwszym OTA
|
|
* bierze się to z app.json bundled w build.
|
|
* 2. Hardcoded fallback — chroni przed OTA-z-pustego-extra (bug 2026-05-12, gdzie
|
|
* stara wersja publish_update.py wysyłała `extra: {}` → expoConfig=null po
|
|
* reload-zie → version='0.0.0' → fałszywy "Update available" dialog).
|
|
*
|
|
* **Bump przy każdym APK release** żeby APK fallback pasował do realnej wersji.
|
|
* OTA-only releases (silent JS update) NIE bumpują tego — wtedy version w app.json
|
|
* też nie idzie do góry, więc consistency jest zachowana.
|
|
*/
|
|
export const APP_VERSION: string =
|
|
(Constants.expoConfig?.version as string | undefined) || '0.1.9';
|