Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
    • Help
    • Submit feedback
    • Contribute to GitLab
  • Sign in
F
finwise-miniapp-fe
  • Project
    • Project
    • Details
    • Activity
    • Releases
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 0
    • Issues 0
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • ThinhNC
  • finwise-miniapp-fe
  • Merge Requests
  • !21

Merged
Opened Aug 19, 2026 by ThinhNC@ThinhNC
  • Report abuse
Report abuse

fix(fe/client): sync auth tokens with localStorage and configure dynamic VITE_API_URL

Summary of Changes - Frontend

This PR resolves authentication token persistence issues in mobile WebView environments, dynamic base URL configuration, and error message standardization.

Authentication & Token Management (P0)

  • Token Synchronization: Updated LoginPage to receive and store actual accessToken and refreshToken in Zustand authStore and localStorage.
  • Bearer Token Header Injection: Ensured apiClient request interceptor reliably attaches Authorization: Bearer <token> on all authenticated API calls.
  • Robust Token Refresh Loop: Enhanced response interceptor on 401 errors to provide refreshToken fallback in POST /auth/refresh body, ensuring seamless session refreshes in Zalo Mini App WebViews where cookies may be restricted.

Configuration & Portability (P2)

  • Dynamic API Base URL: Replaced hardcoded http://localhost:7777/api/v1 in apiClient and refreshClient with import.meta.env.VITE_API_URL || "http://localhost:7777/api/v1".

i18n & Error Handling (P3)

  • Standardized Service Fallbacks: Normalized ensureSuccess fallback error strings across all service modules (transaction.service.ts, wallet.service.ts, etc.) to cleanly delegate UI localization to getErrorMessage(error, t(...)).

Check out, review, and merge locally

Step 1. Fetch and check out the branch for this merge request

git fetch origin
git checkout -b fix/fe-auth-token-sync-api-client origin/fix/fe-auth-token-sync-api-client

Step 2. Review the changes locally

Step 3. Merge the branch and fix any conflicts that come up

git fetch origin
git checkout origin/develop
git merge --no-ff fix/fe-auth-token-sync-api-client

Step 4. Push the result of the merge to GitLab

git push origin develop

Note that pushing to GitLab requires write access to this repository.

Tip: You can also checkout merge requests locally by following these guidelines.

  • Discussion 0
  • Commits 1
  • Changes 5
Assignee
No assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
0
Labels
None
Assign labels
  • View project labels
Reference: ThinhNC/finwise-miniapp-fe!21

Revert this merge request

This will create a new commit in order to revert the existing changes.

Switch branch
Cancel
A new branch will be created in your fork and a new merge request will be started.

Cherry-pick this merge request

Switch branch
Cancel
A new branch will be created in your fork and a new merge request will be started.