Skip to content

Prepare Hiss-Tastic for Play Store release#18

Merged
sparshsam merged 10 commits into
mainfrom
playstore-production-release
Jun 18, 2026
Merged

Prepare Hiss-Tastic for Play Store release#18
sparshsam merged 10 commits into
mainfrom
playstore-production-release

Conversation

@sparshsam

Copy link
Copy Markdown
Owner

Summary

Prepares Hiss-Tastic v1.0.0 for Google Play production release.

  • Normalizes version metadata to v1.0.0 across package, web UI, docs, changelog, manifest, and Android build config
  • Tracks the generated Capacitor Android project and adds release AAB build support
  • Targets/compiles Android SDK 36 and limits packaged permissions to INTERNET
  • Adds release signing support using local ignored keystore properties
  • Updates privacy, store listing, and Data Safety notes for optional anonymous Supabase cloud leaderboard behavior
  • Adds Play Store asset checklist, Play Store release runbook, and final release report
  • Adds Android CI for Capacitor sync, debug APK build, and release AAB build

Validation

Local validation completed before push:

  • npm ci
  • npm run cap:sync
  • Python syntax/import checks
  • python -m unittest discover -s tests -v
  • bash scripts/check-local.sh
  • python validation.py
  • JAVA_HOME=/home/linuxbrew/.linuxbrew/opt/openjdk@21 ./gradlew :app:assembleDebug :app:bundleRelease
  • Browser smoke test in headless Google Chrome

Notes

Do not merge yet. Android emulator/device smoke is pending because no emulator binary, AVD, or connected device was available locally.

@vercel

vercel Bot commented Jun 18, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
hiss-tastic Ready Ready Preview, Comment Jun 18, 2026 10:59pm

Add get_my_leaderboard_entry() Supabase RPC that reads x-player-id
server-side and returns username, best_score, rank, and updated_at
without exposing player_id publicly.

Replace stubbed getPlayerRank() with getMyLeaderboardEntry() in
supabase.js.  In app.js, fetch the player's own entry on the Global
tab and display it as a highlighted 'Your global best' row with exact
rank.  Remove the confusing stub-only message.

Closes the blocker where the global leaderboard screen showed no
player entry despite successful sync.
Replace PostgREST on_conflict upsert with upsert_my_leaderboard_score()
RPC that reads player_id from x-player-id server-side.  Avoids the
SELECT-on-conflict-column requirement that blocked anonymous writes
to leaderboard_scores when player_id is intentionally excluded from
public column grants.

Add .supabase/.temp to gitignore.
…failures

Replace players?on_conflict=id with upsert_my_player() RPC that reads
player_id from x-player-id header server-side. Eliminates intermittent
GRANT SELECT permission errors from PostgREST's internal conflict
resolution on the players table.
Replace all web and Android launcher icons with new icon from
App Icons/4.png (1024x1024 PNG, #00BF63 green).

Web: icon-192, icon-512, favicon-16x16, favicon-32x32, apple-touch-icon-180
Android: all mipmap densities (ic_launcher, ic_launcher_foreground, ic_launcher_round)
Config: theme-color, manifest colors, adaptive icon background updated to #00BF63
@sparshsam sparshsam marked this pull request as ready for review June 18, 2026 22:57
…rving all app code)

Conflict resolution: kept playstore-production-release for all
app/runtime/build/CI/migration files.  Cherry-picked ecosystem
docs templates (issue templates, PR template) from main commit
afbc705 after merge.
@sparshsam sparshsam merged commit 511c8e8 into main Jun 18, 2026
6 checks 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