Merge pull request #3456 from vedantbhavsar26/feat-1

fix: decode location fields in user detection
This commit is contained in:
Mike Cao 2025-06-18 14:30:24 -07:00 committed by GitHub
commit f41c9a635f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -5,12 +5,13 @@ import ipaddr from 'ipaddr.js';
import maxmind from 'maxmind'; import maxmind from 'maxmind';
import { import {
DESKTOP_OS, DESKTOP_OS,
MOBILE_OS,
DESKTOP_SCREEN_WIDTH, DESKTOP_SCREEN_WIDTH,
LAPTOP_SCREEN_WIDTH,
MOBILE_SCREEN_WIDTH,
IP_ADDRESS_HEADERS, IP_ADDRESS_HEADERS,
LAPTOP_SCREEN_WIDTH,
MOBILE_OS,
MOBILE_SCREEN_WIDTH,
} from './constants'; } from './constants';
import { safeDecodeURIComponent } from '@/lib/url';
const MAXMIND = 'maxmind'; const MAXMIND = 'maxmind';
@ -146,9 +147,9 @@ export async function getClientInfo(request: Request, payload: Record<string, an
const userAgent = payload?.userAgent || request.headers.get('user-agent'); const userAgent = payload?.userAgent || request.headers.get('user-agent');
const ip = payload?.ip || getIpAddress(request.headers); const ip = payload?.ip || getIpAddress(request.headers);
const location = await getLocation(ip, request.headers, !!payload?.ip); const location = await getLocation(ip, request.headers, !!payload?.ip);
const country = location?.country; const country = safeDecodeURIComponent(location?.country);
const region = location?.region; const region = safeDecodeURIComponent(location?.region);
const city = location?.city; const city = safeDecodeURIComponent(location?.city);
const browser = browserName(userAgent); const browser = browserName(userAgent);
const os = detectOS(userAgent) as string; const os = detectOS(userAgent) as string;
const device = getDevice(payload?.screen, os); const device = getDevice(payload?.screen, os);