-
1af8e395ac
fix(ui): home bottom nav matches inner screens
main
soroush.asadi
2026-06-22 15:57:23 +03:30
-
5f07a0580e
chore(build): add googleplay APK/AAB build scripts
soroush.asadi
2026-06-21 05:16:32 +03:30
-
5f43392de2
feat(billing): Google Play build shows "not implemented" for coin buys
soroush.asadi
2026-06-21 05:00:15 +03:30
-
b12a7c7813
fix(matchmaking): reset phase synchronously to stop stale-ready fast-join
soroush.asadi
2026-06-20 10:55:56 +03:30
-
856fbab701
fix(game): move all hooks above early return to fix React error #310
soroush.asadi
2026-06-20 08:35:20 +03:30
-
3875141f46
fix(game): prevent green-felt freeze — loading spinner + retry resync
soroush.asadi
2026-06-19 20:05:16 +03:30
-
4fb5a1776f
fix(matchmaking): broadcast player list so queue avatars appear for all waiting players
soroush.asadi
2026-06-19 19:46:28 +03:30
-
940e2af6d2
feat(online): live queue count — friends see each other waiting
soroush.asadi
2026-06-19 19:26:13 +03:30
-
fe3bedc631
fix(online): trump chooser only shows to the hakem, not every player
soroush.asadi
2026-06-19 14:06:39 +03:30
-
2aac6257d6
fix(online): rotate server state to viewer's seat — non-seat-0 players can play
soroush.asadi
2026-06-19 08:59:03 +03:30
-
0790ad6fe0
chore(prod): real leaderboard, prod guards, payment hardening
soroush.asadi
2026-06-17 09:03:12 +03:30
-
4739018488
feat(avatars): show the uploaded profile photo everywhere
soroush.asadi
2026-06-17 08:17:27 +03:30
-
e5b48ecb26
feat(audio): music off by default — sound effects only
soroush.asadi
2026-06-17 00:36:23 +03:30
-
23b3713b44
fix(online): green-felt freeze — replay initial state to late subscriber
soroush.asadi
2026-06-17 00:33:07 +03:30
-
f97354167d
tune(mm): cap the solo wait at 25s (was 75s)
soroush.asadi
2026-06-16 22:18:49 +03:30
-
c0e3fdb046
feat(mm): wait longer for a real opponent; add "start with bots now"
soroush.asadi
2026-06-16 22:12:48 +03:30
-
9901c5e6d4
feat(audio,site): calm santoor default music + card-fan logo site redesign
soroush.asadi
2026-06-16 21:48:59 +03:30
-
6aa4f37642
fix(mm): pro players also wait the 15s queue; compact post-match roster
soroush.asadi
2026-06-16 21:31:18 +03:30
-
60d44100a2
ui(post-match): compact the result modal so it fits mobile without scrolling
soroush.asadi
2026-06-16 20:43:36 +03:30
-
d932dbbb52
feat(game): drag a card up to the board center to play it
soroush.asadi
2026-06-16 08:52:40 +03:30
-
e1e3a716a4
ui(game): minimal, smaller scoreboard
soroush.asadi
2026-06-16 08:18:37 +03:30
-
d05cce6550
feat(payments): route coin purchases through FlatRender Pay broker
soroush.asadi
2026-06-16 00:36:12 +03:30
-
8262fa79b3
chore: trigger redeploy (long-poll hub transport)
soroush.asadi
2026-06-15 23:10:40 +03:30
-
fefa9e2e3a
fix(signalr): force Long-Polling transport so the hub connects through nginx
soroush.asadi
2026-06-15 22:37:04 +03:30
-
f059065d4b
ui(matchmaking): always show your own avatar in the first seat
soroush.asadi
2026-06-15 21:00:51 +03:30
-
99b9ee5c91
fix(game): center played cards — bake -50% into Framer transform (RTL)
soroush.asadi
2026-06-15 20:34:43 +03:30
-
7c6c9fcd90
fix(game): center the trick area in RTL (felt no longer overflows its container)
soroush.asadi
2026-06-15 20:03:57 +03:30
-
c287c7d62c
ui(game): compact trump/speed badges on mobile so the scoreboard fits
soroush.asadi
2026-06-15 18:27:27 +03:30
-
868bef0c56
revert(signalr): restore negotiate + auto-transport (CDN now bypassed)
soroush.asadi
2026-06-15 18:07:58 +03:30
-
21fd5c123e
fix(signalr): skip negotiate, connect WebSockets-only (CDN 404s the POST)
soroush.asadi
2026-06-15 17:53:16 +03:30
-
76c4b68a74
auth: store-review test login + matchmaking no-hang/watchdog
soroush.asadi
2026-06-15 16:40:01 +03:30
-
a35acea7e4
feat(rooms): real server-side private games with friend invites (no bot swap)
soroush.asadi
2026-06-15 15:59:28 +03:30
-
6530096994
music: re-enable background loop (default = playful) + profile on/off; coins 2000
soroush.asadi
2026-06-15 13:23:08 +03:30
-
6502b17356
balance(achievements): strictly-escalating milestone coin rewards
soroush.asadi
2026-06-15 11:28:08 +03:30
-
974a6bf0ae
feat: shop buy-coins CTA, pin chats (max 3), surrender cooldown, OTP hardening
soroush.asadi
2026-06-15 11:01:14 +03:30
-
97d3a02a3c
feat: new "card fan" app icon — web favicon/PWA + Android adaptive
soroush.asadi
2026-06-15 04:30:34 +03:30
-
bc695bc8e9
feat: OTP rate limit, private-room invite UX, in-game UI fixes
soroush.asadi
2026-06-14 00:30:20 +03:30
-
78878efc22
fix(auth): fully clear profile on logout (no stale name/gender after sign-out)
soroush.asadi
2026-06-13 09:17:49 +03:30
-
53759be8b7
ui: raise in-game emoji button above the hand + gender = male/female/unknown
soroush.asadi
2026-06-13 08:59:15 +03:30
-
1954992203
fix(auth): advance to OTP code step in production + clear profile on logout
soroush.asadi
2026-06-13 08:21:20 +03:30
-
fdf4235fbd
feat(auth): real SMS OTP via Kavenegar (replaces the mock 1234 code)
soroush.asadi
2026-06-12 23:50:33 +03:30
-
83d9c1c7d0
fix(iab): correct Myket purchase verification to the documented POST /verify API
soroush.asadi
2026-06-12 22:12:57 +03:30
-
9cce016b90
config: fix IAB package name + flatten Production Iab example
soroush.asadi
2026-06-12 21:33:58 +03:30
-
d1bd279eba
feat(iap): native Myket in-app billing plugin (AIDL) + wire purchase/consume
soroush.asadi
2026-06-12 20:59:56 +03:30
-
7dbadee406
release: bump to v1.1 (versionCode 2) + record store billing public keys
soroush.asadi
2026-06-12 19:57:01 +03:30
-
05945f215d
add 9:16 store-screenshot capture script (Myket)
soroush.asadi
2026-06-12 17:43:23 +03:30
-
8ffdc6a5b1
iap: per-release payment flavors (web=ZarinPal, bazaar, myket)
soroush.asadi
2026-06-12 14:56:32 +03:30
-
cd5742d623
iap: wire coin packs to Cafe Bazaar SKUs + auto-select Bazaar billing in the APK
soroush.asadi
2026-06-12 14:37:13 +03:30
-
bf5b07962d
add promo-video generator script (Playwright record → ffmpeg mp4)
soroush.asadi
2026-06-12 14:08:33 +03:30
-
66c83991d4
portrait-only: drop landscape rotate prompt + lock to portrait
soroush.asadi
2026-06-12 13:33:01 +03:30
-
7f08249fa7
fix(iab): correct package name to com.bargevasat.app + slot for Bazaar RSA key
soroush.asadi
2026-06-12 08:55:17 +03:30
-
6c431fee3e
portrait: lock orientation + portrait-optimized felt table
soroush.asadi
2026-06-12 07:51:04 +03:30
-
a7c0900c3b
ui: unified rounded navbar everywhere, vertical home actions, no bot disconnect spam
soroush.asadi
2026-06-12 01:12:26 +03:30
-
55c0407d73
build(android): release signing + mirror/JDK setup; native-feel CSS
soroush.asadi
2026-06-11 22:34:15 +03:30
-
857287fa84
mobile: fullscreen (immersive Android + PWA) + auto-hide reported nudity avatars
soroush.asadi
2026-06-11 19:32:49 +03:30
-
6641741669
feat: photo upload at level 3 + report a player (nudity avatar / chat insult)
soroush.asadi
2026-06-11 19:12:02 +03:30
-
8033023a1f
matchmaking: deterministic 15s wait before bots fill empty seats
soroush.asadi
2026-06-11 18:27:46 +03:30
-
ad5b42db06
feat(profile): "set your city" gamification box → one-time 500-coin reward
soroush.asadi
2026-06-11 18:11:45 +03:30
-
efefbcec3d
Lobby: leagues are play buttons w/ arrow; remove background music feature
soroush.asadi
2026-06-11 17:23:26 +03:30
-
deb83cf77c
UX: landscape result screen, chat emojis, unread badges, remove XP text
soroush.asadi
2026-06-11 14:58:43 +03:30
-
24a2c251ad
UX batch 2: room landscape-fit, rank vs league naming
soroush.asadi
2026-06-11 13:21:28 +03:30
-
494683b63b
UX batch: lobby trim, private stake, coin shop, minimal toast
soroush.asadi
2026-06-11 13:09:19 +03:30
-
3d3241b976
UNO polish: center nav-rail items, drop per-page XP bar, shop category tabs
soroush.asadi
2026-06-11 11:53:10 +03:30
-
34678c4e0e
Home: center the content in a max-width stage (fixes desktop right-stacking)
soroush.asadi
2026-06-11 11:17:59 +03:30
-
5e726e88ba
UNO refactor: panel-ize Auth card + Room friend-picker modal
soroush.asadi
2026-06-11 10:42:49 +03:30
-
ac05a7b679
UNO refactor (stage 2): responsive list/grid screens + chat
soroush.asadi
2026-06-11 10:35:56 +03:30
-
5c00f44fdc
UNO refactor (stage 2): Profile → tabbed 2-panel layout
soroush.asadi
2026-06-11 09:29:11 +03:30
-
5b2fddee4a
UNO home: mode cards + bottom nav bar
soroush.asadi
2026-06-11 06:59:15 +03:30
-
8efd357289
UNO refactor (stage 1): emerald felt theme + kit + full Home redesign
soroush.asadi
2026-06-11 04:21:50 +03:30
-
08d81cba65
UNO refactor (stage 1): hub shell with nav rail + internal-scroll panel
soroush.asadi
2026-06-11 01:56:52 +03:30
-
78dea770d7
Landscape: add short-height variant; fix Home column overflow on landscape phones
soroush.asadi
2026-06-11 01:21:21 +03:30
-
cc63312305
site: drop PWA manifest from marketing site (SEO site, not an app)
soroush.asadi
2026-06-11 00:44:31 +03:30
-
3e37085d18
Landscape: whole-app landscape-first + Home 2-column landscape layout
soroush.asadi
2026-06-11 00:33:21 +03:30
-
e8b3172197
Game: landscape-first table with rotate-phone prompt + orientation lock
soroush.asadi
2026-06-10 23:53:21 +03:30
-
c1ecdff729
Mobile: remove floating MusicToggle overlay (overlapped cards/tiles)
soroush.asadi
2026-06-10 23:36:19 +03:30
-
7e9d83e79a
Mobile: single-row logo+title on Home; add Sign Out to Profile
soroush.asadi
2026-06-08 23:20:37 +03:30
-
48460c6282
Mobile: redesign TopBar profile chip + trim oversized Home actions
soroush.asadi
2026-06-08 23:16:20 +03:30
-
6ed9279ac8
site: pin deps to Nexus-available versions + regenerate lockfile via Nexus
soroush.asadi
2026-06-08 10:56:43 +03:30
-
af3274ae9f
Mobile: compact Home vertical rhythm so footer fits without scroll
soroush.asadi
2026-06-08 07:59:07 +03:30
-
29b410eefc
Mobile sweep: fix matchmaking slot overflow + profile avatar picker art
soroush.asadi
2026-06-08 07:55:08 +03:30
-
c4513f7b0c
Mobile: make in-game/post-match overlays scroll-safe on short screens
soroush.asadi
2026-06-08 07:46:20 +03:30
-
5d38312ef0
Marketing site (bargevasat.ir) + admin-editable store links + subdomain split
soroush.asadi
2026-06-08 07:19:43 +03:30
-
8d0d4dc991
Notifications: deep-link on tap + swipe-to-dismiss
soroush.asadi
2026-06-07 21:38:43 +03:30
-
72efc03e2d
Shop: every item is coin-priced; level/rank/achievement only gate the purchase
soroush.asadi
2026-06-07 21:27:25 +03:30
-
ccfc9b0536
Redesign avatars as a gods/legends pantheon (custom SVG medallions)
soroush.asadi
2026-06-07 18:16:17 +03:30
-
fd7bef36d8
fix: never cache HTML shell (no more stale bundles); tidy trick offsets
soroush.asadi
2026-06-07 08:04:14 +03:30
-
3dd22aee1e
fix: post-purchase crash in CelebrationOverlay (read of null current)
soroush.asadi
2026-06-07 07:48:45 +03:30
-
b0668e6e31
fix: center trick pile; add error boundary (surface post-buy crash)
soroush.asadi
2026-06-07 07:27:34 +03:30
-
12177d2a33
fix(mobile): smaller trick cards on phones; drop duplicate XP bar on Profile
soroush.asadi
2026-06-07 07:08:12 +03:30
-
3e0c0ed876
fix(topbar): coin balance was clipped — compact large numbers + shrink bar
soroush.asadi
2026-06-07 06:57:45 +03:30
-
1fba9c2f96
fix(mobile): reward + shop-detail modals scroll on short phones
soroush.asadi
2026-06-07 04:32:14 +03:30
-
dcea0bc87c
fix: auto-recover from stale-bundle chunk errors; responsive touch-ups
soroush.asadi
2026-06-07 00:51:36 +03:30
-
0847d2c7cf
fix(deploy): don't let docker compose build require runtime JWT_KEY
soroush.asadi
2026-06-07 00:41:26 +03:30
-
ed3e11b64b
Music mute everywhere + card-draw SFX
soroush.asadi
2026-06-07 00:21:27 +03:30
-
36600fa494
docs: HANDOFF — one-game, music, prod config, 100 gated gifts
soroush.asadi
2026-06-07 00:04:03 +03:30
-
38ac8b06d1
100 gated gifts (level/rating-locked) + requirement system
soroush.asadi
2026-06-07 00:02:28 +03:30
-
e49df07c0f
Prod hardening: one-game-per-player, selectable music, bargevasat.ir config
soroush.asadi
2026-06-06 23:05:52 +03:30
-
265d878f22
docs: mark match-intro + chat/daily polish DONE in HANDOFF
soroush.asadi
2026-06-06 22:27:57 +03:30
-
82b2bc0648
Polish: daily reward via celebration overlay + premium chat to recipient
soroush.asadi
2026-06-06 22:26:28 +03:30
-
03dfbe1e67
Match intro "players joining" loading screen + i18n fix; checkpoint
soroush.asadi
2026-06-06 21:58:54 +03:30