diff --git a/app/main.py b/app/main.py index f75af35..9d39c9a 100644 --- a/app/main.py +++ b/app/main.py @@ -128,7 +128,7 @@ def version() -> dict[str, str | None]: # aktualizacji stary APK raportuje nową wersję i sam siebie uznaje za aktualny. # Runtime siedzi w AndroidManifest, OTA go nie rusza. Podbijaj RAZEM z `version`, # ale tylko przy wydaniu APK (zmiana natywna). - return {"version": "0.3.0", "runtime_version": "1.3", "apk_url": apk_url} + return {"version": "0.4.0", "runtime_version": "1.4", "apk_url": apk_url} @app.get("/readyz") diff --git a/mobile/src/changelog.ts b/mobile/src/changelog.ts index d7848fd..ea8f9a3 100644 --- a/mobile/src/changelog.ts +++ b/mobile/src/changelog.ts @@ -39,7 +39,7 @@ export const CHANGELOG: ChangelogEntry[] = [ id: '2026-09-15b', date: 'September 2026', items: [ - 'New Swipe tab: a vertical feed of short clips from verified creators, one per screen, playing as soon as you land on it. Double-tap to save a clip, tap to turn sound on, hold for double speed, swipe left to say what you want less of. The feed learns from what you watch and never shows the same clip twice; the refresh button deals a new hand.', + 'New Edge tab: a vertical feed of short clips from verified creators, one per screen, playing as soon as you land on it. Double-tap to save a clip, tap to turn sound on, hold for double speed, swipe left to say what you want less of. The feed learns from what you watch and never shows the same clip twice; the refresh button deals a new hand.', ], minRuntime: '1.4', }, @@ -47,7 +47,7 @@ export const CHANGELOG: ChangelogEntry[] = [ id: '2026-09-15a', date: 'September 2026', items: [ - 'A new Swipe section (a TikTok-style feed of short clips) is ready, but it needs version 0.4.0, which you have to download and install yourself: it uses a part of the app that cannot arrive as a silent update. Get it from goon-foss.org; it installs over the version you have and keeps your settings.', + 'A new Edge section (a TikTok-style feed of short clips) is ready, but it needs version 0.4.0, which you have to download and install yourself: it uses a part of the app that cannot arrive as a silent update. Get it from goon-foss.org; it installs over the version you have and keeps your settings.', ], onlyBelowRuntime: '1.4', }, diff --git a/mobile/src/navigation.tsx b/mobile/src/navigation.tsx index 865dc80..ce809be 100644 --- a/mobile/src/navigation.tsx +++ b/mobile/src/navigation.tsx @@ -118,7 +118,7 @@ export type RootStackParamList = { const Stack = createNativeStackNavigator(); -type TopTab = 'Scenes' | 'Swipe' | 'Movies' | 'Sites' | 'JAV' | 'Anime'; +type TopTab = 'Scenes' | 'Edge' | 'Movies' | 'Sites' | 'JAV' | 'Anime'; /** * Jeden ekran-gospodarz dla pięciu zakładek. Zakładka to STAN LOKALNY, nie trasa. @@ -135,10 +135,10 @@ type TopTab = 'Scenes' | 'Swipe' | 'Movies' | 'Sites' | 'JAV' | 'Anime'; */ function HomeScreen({ navigation }: { navigation: { setParams: (p: { tab?: string }) => void } }) { const insets = useSafeAreaInsets(); - // Swipe wymaga natywnego pagera (APK od runtime 1.4). Na starszym APK zakladki nie ma, + // Edge (feed klipow, kod: Swipe) wymaga natywnego pagera (APK od runtime 1.4). Na starszym APK zakladki nie ma, // zamiast pokazywac ekran, ktory i tak tylko odsyla do pobrania nowej wersji. const tabs: TopTab[] = swipeAvailable - ? ['Scenes', 'Swipe', 'Movies', 'Sites', 'JAV', 'Anime'] + ? ['Scenes', 'Edge', 'Movies', 'Sites', 'JAV', 'Anime'] : ['Scenes', 'Movies', 'Sites', 'JAV', 'Anime']; const [tab, setTab] = React.useState('Scenes'); @@ -161,7 +161,7 @@ function HomeScreen({ navigation }: { navigation: { setParams: (p: { tab?: strin siedzi w wierszu narzedzi, darowizna i zmiana backendu w ustawieniach. Zostaje tylko odstep na pasek statusu. */} - {tab === 'Swipe' ? ( + {tab === 'Edge' ? ( ) : tab === 'Movies' ? ( @@ -184,7 +184,7 @@ function HomeScreen({ navigation }: { navigation: { setParams: (p: { tab?: strin const TAB_ICONS = { Scenes: 'view-grid-outline', - Swipe: 'gesture-swipe-vertical', + Edge: 'gesture-swipe-vertical', Movies: 'movie-open-outline', Sites: 'web', JAV: 'star-four-points-outline', diff --git a/mobile/src/screens/SwipeScreen.tsx b/mobile/src/screens/SwipeScreen.tsx index 60e7f9a..67a39ee 100644 --- a/mobile/src/screens/SwipeScreen.tsx +++ b/mobile/src/screens/SwipeScreen.tsx @@ -1,5 +1,6 @@ /** - * Zakladka Swipe: pionowy feed klipow bez konca, w stylu TikToka. + * Zakladka Edge (w kodzie: Swipe): pionowy feed klipow bez konca, w stylu TikToka. + * Nazwa od „edging": feed krotkich klipow, ktory nie ma konca. Wybor Jana 2026-09-15. * * Dane: `GET /clips/feed` przez useInfiniteQuery, kursor z serwera (seed + pozycja po * kluczu glownym), doladowanie przy 4 stronach od konca. Serwer pamieta kazdy podany @@ -298,7 +299,7 @@ export function SwipeScreen() { return ( - Swipe needs the 0.4.0 app + Edge needs the 0.4.0 app This section uses a part of the app that cannot arrive as a silent update. Download 0.4.0 from goon-foss.org, it installs over this one. ); diff --git a/site/index.html b/site/index.html index 188adfc..dc4f792 100644 --- a/site/index.html +++ b/site/index.html @@ -242,7 +242,7 @@
September 2026 · 0.4.0
-

Swipe

+

Edge

A new tab with a vertical feed of short clips from verified creators, one per screen, playing the moment you land on it. Double-tap to save, tap for sound,