Skip to content

Update donation CTA with new copy and image#2139

Open
jagerman wants to merge 7 commits into
session-foundation:devfrom
jagerman:ongoing-dev-cta
Open

Update donation CTA with new copy and image#2139
jagerman wants to merge 7 commits into
session-foundation:devfrom
jagerman:ongoing-dev-cta

Conversation

@jagerman

@jagerman jagerman commented Jul 6, 2026

Copy link
Copy Markdown
Member

Refresh the donation call-to-action shown on the home screen:

  • point DonationDialog at the new ongoingAppeal / ongoingAppealDescription
    string keys (the "New hope for Session" copy) instead of finalAppeal*
  • replace the hero image (cta_hero_donation.webp)
  • bump the donation preference keys v3 -> v4 so the refreshed CTA is shown
    again to users who had already dismissed the previous one

The ongoingAppeal* keys are supplied by the Crowdin sync (#2138); this PR includes those changes (needed for successful compilation).

Also updates ARCHITECTURE.md with translation generation details, which weren't mentioned at all.

@jagerman jagerman marked this pull request as draft July 6, 2026 18:57
jagerman and others added 2 commits July 6, 2026 17:24
Add a Localization and Translations section (after UI Architecture) explaining
that strings.xml files are generated from Crowdin and must not be hand-edited,
that the sync automation lives in session-shared-scripts, the approved-only
export gate, and the ordering for shipping a text change.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Refresh the donation call-to-action shown on the home screen:

- point DonationDialog at the new ongoingAppeal / ongoingAppealDescription
  string keys (the "New hope for Session" copy) instead of finalAppeal*
- replace the hero image (cta_hero_donation.webp)
- bump the donation preference keys v3 -> v4 so the refreshed CTA is shown
  again to users who had already dismissed the previous one

The ongoingAppeal* keys are supplied by the Crowdin sync; this will not
compile until that translations PR lands them in strings.xml.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@jagerman jagerman marked this pull request as ready for review July 6, 2026 20:27
@jagerman jagerman changed the base branch from master to dev July 6, 2026 20:28
jagerman and others added 5 commits July 8, 2026 13:46
README linked to BUILDING.md, which does not exist. The build instructions
live in RELEASE.md; point the link there.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The release script never imports fdroidserver as a library — it only shells
out to the `fdroid` command. Using uv + PEP 723 inline metadata to spin up a
venv just to put that one binary on PATH was disproportionate. Run as a plain
python3 script instead and require fdroidserver to be installed on the system
(apt / brew / port), which is how everything else (gh, JDK, SDK) is already
expected. The missing-fdroid error and RELEASE.md now point at the package
managers and the official install docs.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Capture the toolchain, flavors/build types, the play build + emulator install
commands, and the Crowdin "strings.xml is generated, don't hand-edit" gotcha
(pointing at ARCHITECTURE.md §13) so future sessions can pick it up.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Two small stdlib-python helpers that automate the mechanical, decision-free
parts of cutting a release:

- prepare-release.py <version> [--from <branch>]: fork the release branch off
  master (or a chosen base), commit the versionCode/versionName bump, push, and
  create a GitHub draft release with placeholder notes. Stops there so the
  maintainer can merge/cherry-pick the release content themselves.

- update-release-notes.py <version>: (re)generate the changelog via GitHub's own
  release-notes generator for the finalized branch and overwrite the draft's
  body. Run after merges and before the PGP signing step (it overwrites the
  whole body).

The publish/merge gates (Play upload, F-Droid PR merge, draft publish) remain
deliberately manual.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signing/publishing credentials no longer sit on disk in plaintext:

- add scripts/_keyring.py: a small cross-platform helper over the `keyring`
  library (macOS Keychain, Linux Secret Service, etc.) with a set/get/del CLI.
- build-and-release.py now reads release-creds (the TOML blob) from the keyring
  instead of release-creds.toml on disk.
- add scripts/upload-to-play.py: uploads the release AAB to Google Play via the
  Play Developer API, reading the service-account JSON key from the keyring.
  Defaults to leaving the release as a draft; --submit sends it for review.
- RELEASE.md: document keyring-based credential storage, the new scripts, and
  the Play upload step; drop the "place release-creds.toml in the project root"
  instructions.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.

2 participants