Skip to main content

Priority Action List — App Pre-Launch Issues

Last Updated: 14/07/2026
Type: Priority Checklist — Pre-Launch Issues
Reporter: Product Owner


[!IMPORTANT] This is a list of high priority issues that must be resolved before the App launches to real users. Ordered by impact level.


1. 🔐 Login — Complete Authentication Flow

Issue: The login flow is incomplete — especially the OTP input screen and the PIN setup/entry screen.

Requirements:

  • The "Login" / "Submit" button must be positioned above the numeric keyboard (so it is not blocked by the keyboard when typing OTP or PIN) — see login-button-relocation.md
  • Correctly handle error states: incorrect OTP, expired OTP (60s countdown), and incorrect PIN entered more than X times.
  • Ensure a smooth continuous flow: Enter Phone Number → Receive OTP → Verify → Create PIN (first time) / Enter PIN (subsequent times).
  • Thoroughly test on both iOS and Android.

Assignee: Mobile Dev + Backend Dev
Priority: 🔴 P0 — Mandatory before launch


2. 📐 Layout & Aspect Ratio — Prevent Visual Breakage & Scale Issues

Issue: Several screens have broken layouts or scale inconsistently across different screen sizes.

Requirements:

  • Check all screens on at least 4 representative device sizes:
    • Small iOS: iPhone SE (375×667)
    • Regular iOS: iPhone 14 (390×844)
    • Small Android: ~360×800
    • Large Android: ~412×915
  • Do NOT use absolute hardcoded pixel values for layout widths — use flex, percentage %, or Dimensions.get('window').
  • Header, navigation bar, and bottom tab bar: align correctly using SafeAreaView / useSafeAreaInsets() — avoid overlapping with notches or the Dynamic Island.
  • Specific recorded layout issues:

Assignee: Mobile Dev
Priority: 🔴 P0 — Direct impact on user experience


3. 🖼️ Avatar & Article / Event Layout

Issue: Images in news articles and the event page do not display in the correct ratio, and the article layout is unorganized.

Requirements:

  • Article Avatar (thumbnail):
    • Display with the correct aspect ratio — no stretching, distorting, or bad cropping.
    • Recommended: Use resizeMode="cover" on a container with a fixed ratio (e.g., 16:9 or 4:3).
  • News Card Layout:
    • Standardize the card layout: image on top, title + short summary below, publish date + tags in the footer.
    • Titles should not be truncated past 2 lines (numberOfLines={2}).
    • Summaries should not exceed 3 lines.
  • Article/Event Detail Page Layout:
    • The banner image at the top should maintain its original aspect ratio.
    • Render CMS rich text content correctly: headings, paragraphs, bullet lists, and inline images.
  • CMS: Verify that the Admin can upload and update the avatar image for articles and events.

Assignee: Mobile Dev + CMS Admin
Priority: 🟠 P1 — Direct impact on content quality


4. 🎠 Activity Slider Images — Aspect Ratio & Customization

Issue: Images in the homepage banner slider (or event slider) do not display in the correct aspect ratio and cannot be easily updated from the CMS.

Requirements:

  • Correct Aspect Ratio:
    • The slider should use a fixed aspect ratio (recommended: 16:9 or 2:1).
    • Images uploaded to the CMS must be cropped/resized to match this ratio before displaying on the app — or the app must use resizeMode="cover" with a fixed aspect ratio container.
  • Easy Updates via CMS:
    • The Admin must be able to add, delete, and reorder slides from the CMS without needing to release a new app version.
    • Each slide should support: an image and a redirect link (deeplinking to a specific event or news article).
  • Standard Image Dimensions: Provide Admin instructions for standard image dimensions (e.g., 1200×600px, max file size 500KB).

Assignee: Mobile Dev + CMS Admin
Priority: 🟠 P1 — High impact on user's first impression


5. 🎁 Welcome Bonus of 10k Points — Is it CMS-configurable?

Issue: The policy to grant a 10,000 GPoint Welcome Bonus to newly registered accounts — currently unclear if active and if it can be configured in the CMS.

Questions:

❓ Has the CMS implemented the setting for the Welcome Bonus amount?
❓ If we want to change from 10,000 Points to 15,000 Points, where does the Admin configure it?

Requirements:

  • Backend: Confirm that the registration API (POST /register) triggers the welcome bonus event.
  • CMS: Implement the following configuration fields:
    New Member Welcome Settings:
    ├── Welcome GPoints: [10000] ← Changeable by Admin
    ├── Welcome Point Validity: [365 days]
    └── Enable Program: [✅ Active]
  • If not yet implemented in the CMS: Dev must add this settings module. Do NOT hardcode 10000 in the backend code.
  • Testing: Create a new account → verify that the wallet receives +10,000 GPoints and the transaction history shows the "Welcome Bonus" transaction.

Assignee: Backend Dev + CMS Dev
Priority: 🟠 P1 — Direct impact on new user onboarding value


6. 🎡 Daily Popup (Daily Lucky Spin Popup) — Not showing up & Configuration mystery

Issue: The Lucky Spin Popup does not show up when opening the App. It is unclear where to configure the daily popup frequency limit during the minigame event.

Questions:

❓ Is the spin popup disabled or is there a trigger logic error?
❓ Where is the maximum daily popup limit configured in the CMS?

6.1 Check why the popup is not showing

  • Confirm if the luckySpinEnabled flag in CMS/bootstrap config is set to true.
  • Check the trigger logic on the Mobile App: the popup must show exactly once per day when the user opens the App for the first time in a calendar day (after 00:00).
  • Check if the hasSeenPopupToday local state has a bug (e.g., permanently saving true instead of resetting at midnight).

6.2 CMS Requirements — Minigame Popup Config

The CMS needs to support the following settings for the Lucky Spin module:

CMS SettingDefault ValueDescription
luckySpinEnabledfalseEnable/Disable the entire spin wheel module
dailyPopupEnabledtrueEnable/Disable automatic popup when opening the App
maxPopupPerDay1Max times the popup shows to a user per day
popupStartDateStart date of the Minigame campaign
popupEndDateEnd date of the Minigame campaign
extraSpinsPerCampaign0Extra marketing spins granted (outside the daily free spins)
extraSpinsExpireDays3Validity of extra marketing spins (see lucky-spin-mechanics-and-widget.md)
  • If not yet available: Add these fields under the CMS settings.
  • Recommended path: Settings > Minigames > Lucky Spin.

Assignee: Backend Dev + CMS Dev + Mobile Dev
Priority: 🟡 P2 — Critical for minigame launch, cannot launch without active popups


Summary of Status

#ItemAssigneePriorityStatus
1Complete Login flowMobile + BE🔴 P0⏳ In Progress
2Responsive layout (no scale issues)Mobile🔴 P0⏳ In Progress
3News/Event images & layoutsMobile + CMS🟠 P1❓ Unconfirmed
4Active banner aspect ratioMobile + CMS🟠 P1❓ Unconfirmed
5Welcome bonus 10K PointsBE + CMS🟠 P1❓ CMS Pending
6Daily Spin PopupBE + CMS + Mobile🟡 P2❌ Not Working