You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
description: Check whether a GitHub user is a member of the Expensify/contributor-plus team. Sets IS_CPLUS=true when the user is a member, IS_CPLUS=false otherwise.
3
+
4
+
inputs:
5
+
USERNAME:
6
+
description: The GitHub login of the user to check.
7
+
required: true
8
+
OS_BOTIFY_TOKEN:
9
+
description: OSBotify token. Needed to read team memberships (the default GITHUB_TOKEN lacks the read:org scope).
10
+
required: true
11
+
12
+
outputs:
13
+
IS_CPLUS:
14
+
description: "'true' if the user is a member of Expensify/contributor-plus, 'false' otherwise."
15
+
value: ${{ steps.check.outputs.IS_CPLUS }}
16
+
17
+
runs:
18
+
using: composite
19
+
steps:
20
+
- name: Check Contributor+ membership
21
+
id: check
22
+
shell: bash
23
+
env:
24
+
GH_TOKEN: ${{ inputs.OS_BOTIFY_TOKEN }}
25
+
USERNAME: ${{ inputs.USERNAME }}
26
+
run: |
27
+
if gh api "/orgs/Expensify/teams/contributor-plus/memberships/$USERNAME" --silent; then
28
+
echo "::notice::✅ $USERNAME is a Contributor+ member"
29
+
echo "IS_CPLUS=true" >> "$GITHUB_OUTPUT"
30
+
else
31
+
echo "::notice::$USERNAME is not a Contributor+ member"
Copy file name to clipboardExpand all lines: contributingGuides/PERFORMANCE.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -282,7 +282,7 @@ Since our codebase is very complex, it results in a large DOM tree rendered for
282
282
283
283
One of the most common issues is related to modals, popovers, and tooltips — elements that may appear on the screen. The problem is that they are usually present in the DOM tree even when initially invisible. Because of this, the initial render time of a screen may increase, ultimately slowing down the app.
284
284
285
-
The solution is better control of invisible elements, making sure they are not included in the first render. This can be done, e.g., by a simple `return null`, smart usage of `lazy loading`, the `useTransition` hook, or the `<Deferred />` component.
285
+
The solution is better control of invisible elements, making sure they are not included in the first render. This can be done, e.g., by a simple `return null`, smart usage of `lazy loading`, the `useTransition` hook, or the [`<NavigationDeferredMount />`](/src/components/NavigationDeferredMount.tsx) component. `<NavigationDeferredMount />` gates a heavy subtree behind navigation transition completion via `TransitionTracker`, rendering a cheap `placeholder` until the nav animation has finished, then mounting its `children` inside `startTransition` — ideal for heavy subtrees (e.g. report headers, page-level secondary actions) mounted during navigation transitions that pull many `useOnyx` subscriptions or heavy hooks but don't need to be interactive on first render.
286
286
287
287
Another issue worth mentioning is unnecessary code execution, especially for elements that are never shown on a specific platform. In theory, we separate the logic between platforms by using index.tsx/index.native.tsx files, but sometimes platform-specific logic may slip in, causing unnecessary execution. For example, this may happen when logic specific to a wide layout (applicable only for web) is included.
288
288
@@ -294,6 +294,7 @@ Examples:
294
294
-[PopoverWithMeasuredContent optimization for mobile](https://github.com/Expensify/App/pull/68223) - returns early to avoid unnecessary calculations
295
295
-[Reduce confirm modal initial render count](https://github.com/Expensify/App/pull/67518) - returns early to reduce first load cost
296
296
-[Do not render PopoverMenu until it gets opened](https://github.com/Expensify/App/pull/67877) - adds a wrapper to control if `PopoverMenu` should be rendered
297
+
-[Defer mount of MoneyReportHeaderSecondaryActions](https://github.com/Expensify/App/pull/88522) - introduces `NavigationDeferredMount` and uses it to defer the "More" dropdown subtree (20+ `useOnyx` subscriptions) until the navigation transition completes
Copy file name to clipboardExpand all lines: docs/Hidden/UK-and-EU-Expensify-Card.md
+21-28Lines changed: 21 additions & 28 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,7 +13,7 @@ REMOVE noindex: true AND sitemap: false FROM YAML HEADER BEFORE PUBLISHING!
13
13
14
14
# Set up the Expensify Card in the UK and EU
15
15
16
-
The Expensify Card is available for companies in the United Kingdom and select European countries. This guide walks you through eligibility and how to set up and start using the card in GBP or EUR.
16
+
The Expensify Card is available for companies in the United Kingdom and select European countries. This guide walks you through eligibility and how to set up and start using the card in GBP or EUR.
17
17
18
18
Workspace Admins can issue virtual Expensify Cards to members and manage spending in GBP or EUR. Physical cards will be available soon.
19
19
@@ -33,34 +33,27 @@ If your company hasn’t yet connected a GBP or EUR business bank account, [foll
33
33
34
34
The Expensify Card can be used **anywhere Visa is accepted**.
35
35
36
-
However, only companies registered in the following 20 UK and EU countries can enable the Expensify Card for their Workspace:
37
-
38
-
- Belgium
39
-
- Denmark
40
-
- Estonia
41
-
- Finland
42
-
- Gibraltar
43
-
- Greece
44
-
- Ireland
45
-
- Latvia
46
-
- Liechtenstein
47
-
- Lithuania
48
-
- Luxembourg
49
-
- Malta
50
-
- Netherlands
51
-
- Poland
52
-
- Romania
53
-
- Slovakia
54
-
- Slovenia
55
-
- Spain
56
-
- Sweden
36
+
Companies registered in the following countries can enable the Expensify Card for their Workspaces:
37
+
38
+
- Belgium
39
+
- Denmark
40
+
- Finland
41
+
- Gibraltar
42
+
- Ireland
43
+
- Latvia
44
+
- Lithuania
45
+
- Luxembourg
46
+
- Netherlands
47
+
- Poland
48
+
- Spain
49
+
- Sweden
57
50
- United Kingdom
58
51
59
52
## What are the pre-requisites to set up the Expensify Card in the UK and EU
60
53
61
-
To set up the Expensify Card in the UK and EU, you must:
54
+
To set up the Expensify Card in the UK and EU, you must:
62
55
63
-
1. Have a GBP or EUR bank account connected. To connect one, [Enable Global Reimbursement](https://help.expensify.com/articles/new-expensify/wallet-and-payments/Enable-Global-Reimbursement).
56
+
1. Have a GBP or EUR bank account connected. To connect one, [Enable Global Reimbursement](https://help.expensify.com/articles/new-expensify/wallet-and-payments/Enable-Global-Reimbursement).
64
57
2. Complete the **[Know Your Customer (KYC)](https://launch-workflow.trulioo.com/68223577c5dae52a6ec9347f)** and **[Know Your Business (KYB)](https://launch-workflow.trulioo.com/681a7cc4e65d2e48f19de9c3)** forms.
65
58
3. Share the last 90 days of statements from your connected GBP or EUR bank account with Concierge so they can assess your eligible limit
66
59
@@ -70,9 +63,9 @@ To set up the Expensify Card in the UK and EU, you must:
70
63
71
64
1. From navigation tabs (on the left on Web, on the bottom on Mobile), choose **Workspaces > [Workspace Name] > More features**.
72
65
2. In the **Spend** section, enable **Expensify Card**.
73
-
3. So that we can assess your request, reach out to Concierge and provide the last 90 days of statements from the connected UK or EU bank account
66
+
3. So that we can assess your request, reach out to Concierge and provide the last 90 days of statements from the connected UK or EU bank account
74
67
75
-
Once enabled, **Expensify Card** will appear in the navigation tabs.
68
+
Once enabled, **Expensify Card** will appear in the navigation tabs.
76
69
77
70
---
78
71
@@ -88,7 +81,7 @@ Once enabled, **Expensify Card** will appear in the navigation tabs.
88
81
89
82
1. From navigation tabs (on the left on Web, on the bottom on Mobile), choose **Workspaces > [Workspace Name] > Expensify Card**
90
83
2. Click **Issue new card**.
91
-
3. Select the employee the card should be issued to.
84
+
3. Select the employee the card should be issued to.
92
85
4. Choose **Virtual**.
93
86
5. Pick a limit type:
94
87
-**Smart limit** – Spend up to a threshold before needing approval
@@ -110,7 +103,7 @@ We use the [Visa FX calculator](https://www.visa.co.uk/support/consumer/travel-s
110
103
111
104
## Does the Expensify Card support Visa Secure for online transactions?
112
105
113
-
Yes, the Expensify Card protects online transactions with Visa Secure. Please review the [Visa Secure FAQs]({{site.url}}/assets/Files/Visa-secure-faq-expensify.pdf) for more information.
106
+
Yes, the Expensify Card protects online transactions with Visa Secure. Please review the [Visa Secure FAQs]({{site.url}}/assets/Files/Visa-secure-faq-expensify.pdf) for more information.
114
107
115
108
## How do I get help with the Expensify Card in the UK and EU?
0 commit comments