From 48b53bbed3a21c3e06ee3367fd286570a7d6b24f Mon Sep 17 00:00:00 2001 From: Trey T Date: Sun, 7 Jun 2026 18:51:25 -0500 Subject: [PATCH] =?UTF-8?q?Bump=20app=20version=209.4.3=20=E2=86=92=209.5.?= =?UTF-8?q?3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Feeld raised its minimum supported app version (9.5.3 hit the App Store 2026-06-05) and now rejects 9.4.3 with UNSUPPORTED_APP_VERSION 400 on every GraphQL call — which broke site load entirely. Verified 9.5.3 is accepted. Updated APP_VERSION in constants.ts (drives the Apollo x-app-version header) and server/index.js, plus the UA / x-app-version strings in the vite graphql, firebase, and fldcdn proxies. Co-Authored-By: Claude Opus 4.7 --- web/server/index.js | 2 +- web/src/config/constants.ts | 2 +- web/vite.config.ts | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/web/server/index.js b/web/server/index.js index 891fdf8..e8b0d1f 100755 --- a/web/server/index.js +++ b/web/server/index.js @@ -1255,7 +1255,7 @@ app.put('/api/okcupid/token', (req, res) => { const FIREBASE_API_KEY = 'AIzaSyD9o9mzulN50-hqOwF6ww9pxUNUxwVOCXA'; const FIREBASE_REFRESH_URL = `https://securetoken.googleapis.com/v1/token?key=${FIREBASE_API_KEY}`; const GRAPHQL_ENDPOINT = 'https://core.api.fldcore.com/graphql'; -const APP_VERSION = '9.4.3'; +const APP_VERSION = '9.5.3'; const OS_VERSION = '26.2.1'; // iOS app identifiers (mirror of src/config/constants.ts) const IOS_BUNDLE_ID = 'com.3nder.threender'; diff --git a/web/src/config/constants.ts b/web/src/config/constants.ts index 854c39c..c7df878 100755 --- a/web/src/config/constants.ts +++ b/web/src/config/constants.ts @@ -1,5 +1,5 @@ // ⚠️ When updating, also update vite.config.ts proxy headers and server/index.js APP_VERSION -export const APP_VERSION = '9.4.3'; +export const APP_VERSION = '9.5.3'; export const OS_VERSION = '26.2.1'; // iOS app identifiers captured from a real iPhone — used by the proxy + server to mimic the iOS app. export const IOS_BUNDLE_ID = 'com.3nder.threender'; diff --git a/web/vite.config.ts b/web/vite.config.ts index 4c9e8eb..32d0c6e 100755 --- a/web/vite.config.ts +++ b/web/vite.config.ts @@ -44,7 +44,7 @@ export default defineConfig({ proxyReq.removeHeader('sec-ch-ua-mobile'); proxyReq.removeHeader('sec-ch-ua-platform'); // Match the real iOS app's Alamofire UA. Keep APP_VERSION in sync with constants.ts. - proxyReq.setHeader('User-Agent', 'Feeld/9.4.3 (com.3nder.threender; build:1; iOS 26.2.1) Alamofire/5.9.1'); + proxyReq.setHeader('User-Agent', 'Feeld/9.5.3 (com.3nder.threender; build:1; iOS 26.2.1) Alamofire/5.9.1'); }); }, }, @@ -65,7 +65,7 @@ export default defineConfig({ proxyReq.removeHeader('sec-ch-ua-mobile'); proxyReq.removeHeader('sec-ch-ua-platform'); // Mirror the headers a real iOS Feeld app sends on token refresh. - proxyReq.setHeader('User-Agent', 'FirebaseAuth.iOS/11.5.0 com.3nder.threender/9.4.3 iPhone/26.2.1 hw/iPhone14_4'); + proxyReq.setHeader('User-Agent', 'FirebaseAuth.iOS/11.5.0 com.3nder.threender/9.5.3 iPhone/26.2.1 hw/iPhone14_4'); proxyReq.setHeader('Accept', '*/*'); proxyReq.setHeader('Accept-Language', 'en'); proxyReq.setHeader('Accept-Encoding', 'gzip, deflate, br'); @@ -110,10 +110,10 @@ export default defineConfig({ proxyReq.removeHeader('sec-ch-ua-platform'); // Set mobile app headers to match iOS app // APP_VERSION: keep in sync with src/config/constants.ts APP_VERSION - proxyReq.setHeader('User-Agent', 'Feeld/9.4.3 (com.3nder.threender; build:1; iOS 26.2.1) Alamofire/5.9.1'); + proxyReq.setHeader('User-Agent', 'Feeld/9.5.3 (com.3nder.threender; build:1; iOS 26.2.1) Alamofire/5.9.1'); proxyReq.setHeader('Accept', '*/*'); proxyReq.setHeader('Accept-Language', 'en-US,en;q=0.9'); - proxyReq.setHeader('x-app-version', '9.4.3'); + proxyReq.setHeader('x-app-version', '9.5.3'); proxyReq.setHeader('x-device-os', 'ios'); proxyReq.setHeader('x-os-version', '26.2.1'); });