Skip to content

Commit 90c60ac

Browse files
committed
Merge branch 'main' into feat/644758-add-concierge-disclaimer
2 parents 5d9aaa6 + e59f1d0 commit 90c60ac

495 files changed

Lines changed: 13727 additions & 8487 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Mobile-Expensify

android/app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,8 +111,8 @@ android {
111111
minSdkVersion rootProject.ext.minSdkVersion
112112
targetSdkVersion rootProject.ext.targetSdkVersion
113113
multiDexEnabled rootProject.ext.multiDexEnabled
114-
versionCode 1009040105
115-
versionName "9.4.1-5"
114+
versionCode 1009040501
115+
versionName "9.4.5-1"
116116
// Supported language variants must be declared here to avoid from being removed during the compilation.
117117
// This also helps us to not include unnecessary language variants in the APK.
118118
resConfigs "en", "es"

assets/images/coins.svg

Lines changed: 1 addition & 1 deletion
Loading
Lines changed: 1 addition & 0 deletions
Loading
Lines changed: 1 addition & 1 deletion
Loading

assets/images/paycheck.svg

Lines changed: 1 addition & 0 deletions
Loading

assets/images/user-arrow-left.svg

Lines changed: 1 addition & 0 deletions
Loading

config/eslint/eslint.config.mjs

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,26 @@ const restrictedReportNameImportPatterns = [
188188
},
189189
];
190190

191+
// `isPaidGroupPolicy` is BILLING/paid-only (Collect/Control). Existing usages are grandfathered via
192+
// eslint-seatbelt; this only flags NEW imports so they make a conscious choice: for workspace feature
193+
// gating (violations, report fields, workspace chat, report creation, expense-workspace usability) use
194+
// `isGroupPolicy` / `isReportInGroupPolicy` instead, otherwise free group plans like Submit (submit2026)
195+
// are wrongly excluded and access bugs return.
196+
const restrictedPaidGroupPolicyImportPatterns = [
197+
{
198+
group: ['**/PolicyUtils', '**/libs/PolicyUtils'],
199+
importNames: ['isPaidGroupPolicy'],
200+
message:
201+
'isPaidGroupPolicy is billing/paid-only (Collect/Control). For workspace feature gating use isGroupPolicy so free group plans like Submit are not excluded. If this is genuinely a billing/paid-only check, keep it and disable this line with a reason.',
202+
},
203+
{
204+
group: ['**/ReportUtils', '**/libs/ReportUtils'],
205+
importNames: ['isPaidGroupPolicy', 'isPaidGroupPolicyExpenseReport'],
206+
message:
207+
'isPaidGroupPolicy / isPaidGroupPolicyExpenseReport are billing/paid-only. For feature gating use isReportInGroupPolicy / isGroupPolicyExpenseReport so Submit workspaces are not excluded. If this is genuinely billing/paid-only, keep it and disable this line with a reason.',
208+
},
209+
];
210+
191211
const config = defineConfig([
192212
expensifyConfig,
193213
typescriptEslint.configs.recommendedTypeChecked,
@@ -715,7 +735,7 @@ const config = defineConfig([
715735
'error',
716736
{
717737
paths: restrictedImportPaths,
718-
patterns: [...restrictedImportPatterns, ...restrictedReportNameImportPatterns],
738+
patterns: [...restrictedImportPatterns, ...restrictedReportNameImportPatterns, ...restrictedPaidGroupPolicyImportPatterns],
719739
},
720740
],
721741
},

0 commit comments

Comments
 (0)