Skip to content

Venus page: her daily videos play on the web, the phone apps come next - #300

Merged
xuelink merged 2 commits into
mainfrom
fix/venus-videos-live
Oct 27, 2026
Merged

xuelink merged 2 commits into
mainfrom
fix/venus-videos-live

Conversation

@xuelink

@xuelink xuelink commented Oct 27, 2026 •

Copy link
Copy Markdown
Member

What changed

/venus still said Venus's daily streak videos were "coming soon". They are on in production (venusStories: true on the public /app-config since 26 Oct 09:03 UTC), but today only the web app plays them: the phone build the stores serve is still 2.9, which has no player. So the page now says where they play, and that the phone apps come next. Only the words of the "she speaks your language" block change, plus the comment above the page that explained the old state:

  • The tag goes from "Coming soon" to "Daily videos". It names the feature, not where it plays; the paragraph says where.
  • The lede says: a short new video for each of your first 100 streak days, in the language the app is set to; it plays on the day your streak counts, the play button on your streak plays it again until the day ends, and starting over after a break gets a comeback video. Then where: "For now the videos play in the web app, and they are coming to the iPhone and Android apps."
  • The source comment says to name the phone apps only once the App Store and Google Play serve a version that plays the videos.
  • The WhatsApp card keeps its "Coming soon" tag and has no button. Adding the pack to WhatsApp needs the 3.1 app, and 3.1 is not in the stores yet.

The site has no other language versions of this page, so this is the only copy.

Round 1 (review fixes)

  • The first version said "In the LangX app from version 3.0, and on the web". 3.0 is not in either store: the App Store lookup returns 2.9 (released 18 Oct) in the us, tr, gb, de and br storefronts, iOS 3.0 was still in review on 26 Oct, and Android 3.0 is on internal testing only. 2.9 has another fingerprint runtime, so no OTA from main reaches it. The page now says web now, phone apps coming, with no version number.
  • "A tap on your streak plays it again" became "the play button on your streak plays it again". Tapping the streak row on Home opens the streak screen; the play button on that row and the one on the streak screen both call requestVenusReplay.

Where each claim comes from (langx/langx origin/main)

Claim on the page Evidence
The videos are on in production curl -s https://api.langx.io/app-config → "venusStories":true, updatedAt 2026-10-26T09:03:20.952Z
One video per streak day, days 1–100, in all eight languages, plus a comeback cut Public manifest media.langx.io/venus/v1/manifest.json: 808 entries, days 1–100, 101 per locale (en, tr, es, pt-BR, fr, de, ru, ar), 8 return cuts. With no file for a day, useVenusStory returns null and nothing is drawn, so nothing plays after day 100.
In the language the app is set to apps/mobile/src/hooks/useVenusStory.ts picks the file with useLocale()'s locale
It plays on the day your streak counts apps/mobile/src/lib/venusStory.ts → venusVideoFor returns null unless streak.qualifiedToday. VenusStoryHost opens it once per account per counted day, mounted for signed-in people only (enabled={!isGuest} in app/(app)/_layout.tsx).
The play button on your streak plays it again until the day ends requestVenusReplay is the venus.watchAgain play button on Home's streak row (app/(app)/(tabs)/home.tsx) and on the streak screen's hero (screens/StreakScreenV3.tsx). venusVideoFor stops returning the video once the profile's day changes.
A comeback video after a break venusCutFor: a day 1 with longest > 1 plays the return cut, not the introduction
For now in the web app The bundle served at app.langx.io today contains the player (venusStories in the flag schema, the venus-day file-name builder, watchAgain). VenusStoryHost has no web exclusion; on web it only starts muted.
Coming to the iPhone and Android apps The stores serve 2.9 (App Store lookup, five storefronts, 27 Oct). The player came in #2033 (merged 23 Oct), after v2.9 and after the v3.0 commit. 3.1 is built from main after #2033, so it has the player in the binary. 3.0 may get it by OTA (see "Not verified").

Checks

  • npx vite build passes, and so does npm run postbuild (sitemap and markdown).
  • npm run check: 0 errors, 0 warnings.
  • npx vitest run: 44/44, including the build-output tests (/venus starts nothing hidden).
  • Prettier and eslint are clean on the changed file.
  • build/venus.html has no data-reveal and no "3.0". "Coming soon" appears there only once, on the WhatsApp card.
  • No horizontal scroll at 375 or 1280 (scrollWidth equals clientWidth).

Screenshots

Taken from the built page (vite preview, headless Chrome): the daily-video block at 375 and 1280 wide.

  • venus-daily-videos-375.png
  • venus-daily-videos-1280.png

Not verified

  • I did not watch a video play in any app, on device or on the web.
  • Whether 3.0 users get the videos by OTA once 3.0 is released. The last OTA before main moved to the 3.1 runtime (#2070, 26 Oct) was published to the same iOS runtime that CI computed at the v3.0 commit, and it carries #2033. Whether build 198 itself reports that runtime was not checked. The page names no version for this reason.
  • The Play Store version. Android 3.0 is on internal testing only.
  • The site FAQ ("How do streaks work?") says "One message a day keeps your streak alive". In the app's code, opening the app also counts the day (POST /me/check-in, since 1 Sept). This PR does not repeat that rule and does not touch the FAQ.

Part of the plan in langx/langx#2067

🤖 Generated with Claude Code

xuelink and others added 2 commits October 27, 2026 03:03
The app has drawn a Venus video on each counted streak day since the
venusStories flag went on in production. The page now says so, and says
only what the app does: one video for each of the first 100 streak days
(the files stop there), in the app's language, replayed from the streak
until the day ends, with a comeback cut for a streak started over. It
names where: the app from 3.0 on and the web app, since the 2.9 build in
the stores has no player.

Adding the pack to WhatsApp needs the 3.1 app, so that card stays
"coming soon".

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The page said the videos were in the app from 3.0 on. The stores still
serve 2.9, and 2.9 has no player and a different runtime, so no update
reaches it. Today only the web app plays them. The page now says that,
and says they are coming to the iPhone and Android apps, with no version
number to go stale.

The replay line now names the play button on the streak, which is what
calls the replay on Home and on the streak screen. Tapping the streak
row itself opens the streak screen.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@xuelink xuelink changed the title Venus page: her daily videos are live, not coming soon Venus page: her daily videos play on the web, the phone apps come next Oct 27, 2026
@xuelink
xuelink merged commit 5b2076c into main Oct 27, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant