Skip to content

Release v1.4.1 (JS-only — About screen, heart Like icon, one-round-trip startup) - #118

Merged
Muawiya-contact merged 19 commits into
mainfrom
develop
Sep 5, 2026
Merged

Release v1.4.1 (JS-only — About screen, heart Like icon, one-round-trip startup)#118
Muawiya-contact merged 19 commits into
mainfrom
develop

Conversation

@Muawiya-contact

Copy link
Copy Markdown
Member

Release v1.4.1 — promotes develop to main. JS-only (no runtimeVersion change) → ships over the air, no reinstall.

New feature

  • About screen — tap About on your profile to see the app version, what One Concept is, and how it works. (This is what the What's New card announces.)

Improvements & fixes

What happens on merge (the workflow test)

  1. release.yml → publishes production + preview OTA and cuts the v1.4.1 tag + Release.
  2. release.yml dispatches release-apk.ymlruntimeVersion is unchanged (1.3.0) → it skips the APK build and leaves the stable apk-latest link as-is.

Result on your phone

  • Auto-updates over the air — no reinstall.
  • Shows the one-time "What's New" → About card.
  • The install link/APK is untouched (correctly, since nothing native changed).

This is the end-to-end test of the JS-only release path + the APK native-gating.

The production-apk profile already sets environment/channel; passing
--environment to eas build diverged from the working eas-build.yml. Also capture
both output streams so a build failure is printed instead of hidden by --json.
release-apk.yml can't listen for the release event (GitHub suppresses events
raised by GITHUB_TOKEN), which is why the APK didn't build automatically. Have
release.yml dispatch it via 'gh workflow run' (workflow_dispatch is exempt from
that rule), so a native release builds and publishes the stable APK link with no
manual step. Grants actions:write for the dispatch.
Auto-build the production APK on release (zero manual steps)
GET /v1/me/state now also returns today's concept (via get_or_create_daily),
so the app fetches everything in one request at startup. Null 'daily' means the
catalog is exhausted. Same create-on-first-call behaviour as GET /v1/daily.
DailyPayload/DailyOutcome move to types/ (so ProgressState can reference them
without an import cycle). dailyApi keeps only toConcept + clearDailyCache; the
standalone /v1/daily fetch and its cache are gone now that the concept rides on
the server state.
…ly (#102)

Parse the folded 'daily' into ProgressState.serverDaily and expose it from
ProgressContext; TodayScreen reads it instead of a second /v1/daily fetch. On an
offline load-fallback the daily is flagged stale (the offline banner), while the
cache-first preview stays not-stale (#92 preserved). One startup round trip.
Fold today's concept into /v1/me/state — one startup round trip (#102)
The Like button and like-count badge used the same flame icon as the streak,
which was confusing. Give Like a heart (heart/heart-outline) in the rose 'like'
colour; the streak keeps its orange flame.
A tappable 'About' row (info icon) under Personalize opens the new modal.
Features-only per #97: the About screen is the new feature; the 1.4.1 card leads
with it. Entry is dormant until the release bumps expo.version to 1.4.1.
Use a heart for Like, distinct from the streak flame (#114)
Add an About screen (reachable from Profile)

@Muawiya-contact Muawiya-contact left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed

@Muawiya-contact
Muawiya-contact merged commit 6f289d0 into main Sep 5, 2026
1 check passed
Muawiya-contact added a commit that referenced this pull request Sep 5, 2026
Merge pull request #118 from Coding-Moves/develop
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