Skip to content
Closed
Show file tree
Hide file tree
Changes from 14 commits
Commits
Show all changes
916 commits
Select commit Hold shift + click to select a range
10b41e4
add test
luacmartins Aug 26, 2025
24404dd
fix prettier
luacmartins Aug 26, 2025
59b5bb2
fix lint
luacmartins Aug 26, 2025
900f16d
fix bug in Android sign in flow due to multiple signInToOldDot calls
Julesssss Aug 26, 2025
d3d0087
Merge pull request #69283 from Expensify/francois-revert-68402
aldo-expensify Aug 26, 2025
e7dabc6
Update version to 9.1.99-1
OSBotify Aug 26, 2025
377fd51
Update Mobile-Expensify submodule version to 9.1.99-1
OSBotify Aug 26, 2025
4cfd2cf
Merge branch 'main' into Christinadobrzyn-patch-4
Julesssss Aug 26, 2025
ae8fbb1
Merge pull request #69304 from Expensify/jules-fixSigninBlocker
Julesssss Aug 26, 2025
5a2e68d
Update version to 9.1.99-2
OSBotify Aug 26, 2025
3fab85f
Update Mobile-Expensify submodule version to 9.1.99-2
OSBotify Aug 26, 2025
d07bdcc
revert changes
luacmartins Aug 26, 2025
384bcf1
Merge pull request #69120 from Expensify/Christinadobrzyn-patch-4
Julesssss Aug 26, 2025
71ab8d3
Remove stray </div> tag from travel analytics documentation
Julesssss Aug 26, 2025
be42f63
Fallback to accountID when no mentionedAccountIDs are present for TAK…
marcaaron Aug 26, 2025
01dd635
Merge branch 'main' into jules-fixTravelAnalyticsDiv
Julesssss Aug 26, 2025
9510aef
remove trailing spaces
Julesssss Aug 26, 2025
8e1e8d1
Remove redundant condition
youssef-lr Aug 26, 2025
e74232d
Revert "fix: inverted flatlist overscroll recoil"
yuwenmemon Aug 26, 2025
ac8b884
Merge branch 'main' into cmartins-addMoreBanks
luacmartins Aug 26, 2025
574a4d4
update const names
luacmartins Aug 26, 2025
1b328bb
Revert "Merge workspace.accounting.enableContinuousReconciliation tra…
roryabraham Aug 26, 2025
00879d7
Update version to 9.1.99-3
OSBotify Aug 26, 2025
25bac9d
Update Mobile-Expensify submodule version to 9.1.99-3
OSBotify Aug 26, 2025
1dcf5de
Merge pull request #69307 from Expensify/marcaaron-fixEmptyReportAction
roryabraham Aug 26, 2025
b8703e5
Merge pull request #69311 from Expensify/revert-68257-merge-translati…
thienlnam Aug 26, 2025
7098bc8
Update version to 9.1.99-4
OSBotify Aug 26, 2025
48b2536
Update Mobile-Expensify submodule version to 9.1.99-4
OSBotify Aug 26, 2025
451710b
Update version to 9.1.99-5
OSBotify Aug 26, 2025
1c79249
Update Mobile-Expensify submodule version to 9.1.99-5
OSBotify Aug 26, 2025
bf27e9b
Merge pull request #67857 from allgandalf/fixInputDisplayForWorkflows
rafecolton Aug 26, 2025
0061124
Merge pull request #68610 from Eskalifer1/fix/68139
marcaaron Aug 27, 2025
0a0c72c
add margin right to the toggle button description.
Krishna2323 Aug 27, 2025
9d76cfd
fix: app crashes when opening task share
thelullabyy Aug 27, 2025
738d1b9
Merge branch 'main' into fix/68689
thelullabyy Aug 27, 2025
5b97c06
refactor code
thelullabyy Aug 27, 2025
a4a071d
Inconsistent animation direction when navigating back from QuickBooks…
dukenv0307 Aug 27, 2025
3b77d9c
Merge branch 'main' into @Skalakid/bump-react-native-live-markdown-to…
Skalakid Aug 27, 2025
83e3549
Merge pull request #69310 from Expensify/revert-68895-fix/flatlist-ov…
yuwenmemon Aug 27, 2025
516d3be
Merge branch 'main' into fix/68735
thelullabyy Aug 27, 2025
f7770d5
Update Set-Custom-Report-Names.md
stephanieelliott Aug 27, 2025
a4db383
split heic-to to separate eager chunk
kacper-mikolajczak Aug 27, 2025
0bda7f4
Add comment
VickyStash Aug 27, 2025
2d0351d
Merge branch 'main' into VickyStash/refactor/67886-several-transactio…
VickyStash Aug 27, 2025
d3af0b4
Merge pull request #69142 from thelullabyy/fix/68689
MariaHCD Aug 27, 2025
7fdaf1d
Merge branch 'main' into @zfurtak/bump-flashlist-v2
zfurtak Aug 27, 2025
24c32eb
Merge branch 'main' of https://github.com/Expensify/App into mkzie2-i…
mkzie2 Aug 27, 2025
3f5d22a
chore: addressed new comments
mkzie2 Aug 27, 2025
9a3d0e4
Merge branch 'main' into fix/unreported-expenses-list
koko57 Aug 27, 2025
4ae23c2
chore: addressed new comments
mkzie2 Aug 27, 2025
1957994
Update DetailsReviewPage.tsx
VickyStash Aug 27, 2025
72516d9
refactor code
thelullabyy Aug 27, 2025
7acf941
fix: naming
mkzie2 Aug 27, 2025
357d0d9
Merge pull request #69308 from Expensify/jules-fixTravelAnalyticsDiv
madmax330 Aug 27, 2025
ed4c640
Merge pull request #69272 from Eskalifer1/feat/69011
Beamanator Aug 27, 2025
7616bd8
Merge branch 'main' of https://github.com/Expensify/App into feat/509…
MrMuzyk Aug 27, 2025
7517650
fix: revert one change
koko57 Aug 27, 2025
e9dd27f
Merge branch 'Expensify:main' into help-tabs
rushatgabhane Aug 27, 2025
9087e26
debug opensearchpage
JS00001 Aug 27, 2025
6301c24
Merge branch 'main' of https://github.com/Expensify/App into use-onyx…
LorenzoBloedow Aug 27, 2025
1cab2e3
update const
waterim Aug 27, 2025
79e3aae
update policy check
waterim Aug 27, 2025
fbb85d3
Merge pull request #69178 from Expensify/cmartins-addMoreBanks
JS00001 Aug 27, 2025
5df55cd
update selection
waterim Aug 27, 2025
2bd54c7
Good practices with SignInWrapper displayName
OlGierd03 Aug 27, 2025
a9a2900
Merge branch 'main' into fix/69021
allgandalf Aug 27, 2025
455c6d5
Revert "[NoQA] Revert #68429 "Integrate Group-IB FP module" "
cristipaval Aug 27, 2025
e4b6039
update invite
waterim Aug 27, 2025
fbac56c
update edit
waterim Aug 27, 2025
ff5ce10
refactor code
thelullabyy Aug 27, 2025
e428ce9
update translations
waterim Aug 27, 2025
c5d89e0
Merge pull request #69085 from allgandalf/fix/69021
tgolen Aug 27, 2025
a0d4931
Merge branch 'main' into fix/66362
allgandalf Aug 27, 2025
5b7c2ca
Merge remote-tracking branch 'upstream/main' into feat/waterim/uber/i…
waterim Aug 27, 2025
f8c6740
Merge branch 'main' into fix/66541
allgandalf Aug 27, 2025
3bffaa1
SVG experiment
mateuuszzzzz Aug 27, 2025
03dc29f
Add SignInPageBase memoization
OlGierd03 Aug 27, 2025
792e86f
Merge pull request #68957 from allgandalf/fix/66362
tgolen Aug 27, 2025
690a271
Merge branch 'main' into fix/66370
allgandalf Aug 27, 2025
38585c5
Revert "Merge pull request #69261 from software-mansion-labs/fix/andr…
arosiclair Aug 27, 2025
abb96e4
Revert "Merge pull request #69170 from software-mansion-labs/fix/redu…
arosiclair Aug 27, 2025
17c3265
Merge branch 'main' into cmartins-addWithdrawalID
luacmartins Aug 27, 2025
2629ccb
sanitize input
luacmartins Aug 27, 2025
f3a60d4
Merge pull request #69245 from Expensify/jsenyitko-types-for-transact…
luacmartins Aug 27, 2025
4895fe4
Merge pull request #68954 from allgandalf/fix/66370
tgolen Aug 27, 2025
b4442eb
Merge branch 'main' into fix/66371
allgandalf Aug 27, 2025
d7d9a01
Merge branch 'main' into refactor-onyx-47
shubham1206agra Aug 27, 2025
5462970
Change condition for uber banner
narefyev91 Aug 27, 2025
12a7859
Merge branch 'main' into fix/66372
allgandalf Aug 27, 2025
eb51618
Merge branch 'main' into fix/66282
allgandalf Aug 27, 2025
038f490
Merge branch 'main' into fix/66541
allgandalf Aug 27, 2025
5b9e374
Merge pull request #68181 from shubham1206agra/refactor-onyx-47
tgolen Aug 27, 2025
e6324c3
Merge pull request #68955 from allgandalf/fix/66371
tgolen Aug 27, 2025
dddcf31
feat: updated code based on C+ comments
Eskalifer1 Aug 27, 2025
fdd77cc
fix comment
narefyev91 Aug 27, 2025
d6076e1
Merge pull request #68859 from allgandalf/fix/66282
tgolen Aug 27, 2025
e35d87a
fix: eslint
Eskalifer1 Aug 27, 2025
4fae57f
Merge pull request #69035 from Expensify/sakluger-patch-4
sonialiap Aug 27, 2025
287be52
fix comment
narefyev91 Aug 27, 2025
4d9a36c
Merge pull request #68956 from allgandalf/fix/66372
tgolen Aug 27, 2025
f1cb285
Modify CODEOWNERS for PR review assignments
AndrewGable Aug 27, 2025
0510e65
Merge pull request #69363 from callstack-internal/fix-uber-banner-vis…
iwiznia Aug 27, 2025
6ce20f3
Merge pull request #69353 from Expensify/jsenyitko-debug-search-page
luacmartins Aug 27, 2025
6d2edfa
Modify CODEOWNERS for design review assignments
AndrewGable Aug 27, 2025
0386bdc
Merge pull request #69364 from Expensify/arosiclair-revert-69170-and-…
arosiclair Aug 27, 2025
b3a8570
Update version to 9.1.99-6
OSBotify Aug 27, 2025
efa9a7c
Update Mobile-Expensify submodule version to 9.1.99-6
OSBotify Aug 27, 2025
c9fc138
Update version to 9.1.99-7
OSBotify Aug 27, 2025
6bd3340
Update Mobile-Expensify submodule version to 9.1.99-7
OSBotify Aug 27, 2025
0f29ad6
Revise CODEOWNERS for PR review assignments
AndrewGable Aug 27, 2025
2a52ced
feat: removed validation for group-by in case of array
Eskalifer1 Aug 27, 2025
87c8b15
fix: eslint
Eskalifer1 Aug 27, 2025
6b9d74a
Merge pull request #65539 from Expensify/VictoriaExpensify-patch-1
AndrewGable Aug 27, 2025
9d266e9
update routes
JS00001 Aug 27, 2025
f113df6
Merge pull request #67172 from callstack-internal/feat/66995-usd-docu…
madmax330 Aug 27, 2025
3f34b22
rename function
luacmartins Aug 27, 2025
ffa48ac
Merge pull request #69369 from Expensify/jsenyitko-route-philospohy
luacmartins Aug 27, 2025
1553954
Merge pull request #68831 from nkdengineer/fix/68541
Julesssss Aug 27, 2025
7021be8
feat: simplified getGroupByValue function
Eskalifer1 Aug 27, 2025
4e36999
Revert useHandleBackButton deletion
OlGierd03 Aug 27, 2025
36cb78a
fix: comment
mkzie2 Aug 27, 2025
0718bfc
Merge pull request #69074 from allgandalf/fix/66541
tgolen Aug 27, 2025
f6e4d35
Revert "Revert "Merge pull request #68402 from dominictb/feat/64849""
dominictb Aug 27, 2025
6ca0e2d
fix: receipt in manual expense is not editable
dominictb Aug 27, 2025
860f3fa
fix: distance param is included in normal distance request
dominictb Aug 27, 2025
8b30e81
Merge pull request #68701 from mkzie2/mkzie2-issue/67095
tgolen Aug 27, 2025
f307c0b
Update version to 9.1.99-8
OSBotify Aug 27, 2025
29f9c20
Update Mobile-Expensify submodule version to 9.1.99-8
OSBotify Aug 27, 2025
e7a3c93
fix: updated getGroupByValue JSDoc
Eskalifer1 Aug 27, 2025
61072e4
Update Mobile-Expensify submodule to ddf2ad2
OSBotify Aug 27, 2025
2401d1c
Update version to 9.1.99-9
OSBotify Aug 27, 2025
87b35af
Update Mobile-Expensify submodule version to 9.1.99-9
OSBotify Aug 27, 2025
5f6e6ee
Merge pull request #69317 from thelullabyy/fix/69244
yuwenmemon Aug 27, 2025
807f2d7
fix saved query with status
luacmartins Aug 27, 2025
950d958
add test
luacmartins Aug 27, 2025
3ad340f
fix: default distance category is not set
dominictb Aug 27, 2025
898f867
fix: default distance category is not set
dominictb Aug 27, 2025
8f46cb0
add beta guards to getRequestType
dominictb Aug 27, 2025
668cd74
fix: confirmation step navigates back to normal iou start page
dominictb Aug 27, 2025
59c1e9e
fix: hover to view receipt triggers on manual distance request
dominictb Aug 27, 2025
332d296
Merge pull request #68561 from Expensify/youssef_auto_hide_columns_2
luacmartins Aug 27, 2025
30a4647
Merge branch 'main' of github.com-dominictb:dominictb/epsf-app into f…
dominictb Aug 27, 2025
189b876
Merge pull request #66093 from LorenzoBloedow/use-onyx-auth-migration
roryabraham Aug 27, 2025
284fb85
fix: lastDistanceExpenseType logic does not work
dominictb Aug 27, 2025
1fee87b
updates
waterim Aug 27, 2025
b44ddce
use heic-to/csp for CSP fixes
kacper-mikolajczak Aug 27, 2025
376fa28
add link with explanation to webpackMode eager
kacper-mikolajczak Aug 27, 2025
3c6e2e1
Merge branch 'main' into VickyStash/refactor/67886-several-transactio…
VickyStash Aug 27, 2025
01af311
Remove forced NO_OPTIMISTIC_TRANSACTION_THREADS beta turning off
VickyStash Aug 27, 2025
36954bc
Enhance deposit account documentation for global users
johncschuster Aug 27, 2025
8b89b82
Update bank account connection instructions
johncschuster Aug 27, 2025
84f8197
Revert "Merge pull request #67216 from bernhardoj/fix/66028-deleted-e…
AndrewGable Aug 27, 2025
5d9444f
fix flaky test
luacmartins Aug 27, 2025
9ae6858
Fix prettier
AndrewGable Aug 27, 2025
f373d0b
Merge pull request #69375 from Expensify/revert-68692-aldo_use-transa…
thienlnam Aug 27, 2025
d04b5e7
Merge pull request #69331 from Expensify/stephanieelliott-patch-11
clarajones-expensify Aug 27, 2025
2ff2242
Update version to 9.1.99-10
OSBotify Aug 27, 2025
659d7dd
Update Mobile-Expensify submodule version to 9.1.99-10
OSBotify Aug 27, 2025
5d0fd99
Merge pull request #69396 from Expensify/revert-pr-67216
AndrewGable Aug 27, 2025
8fef255
Update version to 9.1.99-11
OSBotify Aug 27, 2025
173ba16
Update Mobile-Expensify submodule version to 9.1.99-11
OSBotify Aug 27, 2025
68fab5d
Skip remote builds on cherry pick conflict PRs
roryabraham Aug 27, 2025
dd917c9
Merge pull request #69400 from Expensify/Rory-SkipTestBuildOnCherryPi…
AndrewGable Aug 27, 2025
35c3198
Update version to 9.2.0-0
OSBotify Aug 28, 2025
227c0c2
Update Mobile-Expensify submodule version to 9.2.0-0
OSBotify Aug 28, 2025
136e2fe
Merge branch 'main' into fix/68141
daledah Aug 28, 2025
f2ffe6c
Merge branch 'main' into fix/62946
daledah Aug 28, 2025
7c4a36d
fix: not shown pending hide actions on LHN
daledah Aug 28, 2025
8362436
fix empty default approver
bernhardoj Aug 28, 2025
3942d6d
fix empty default approver
bernhardoj Aug 28, 2025
73ee2b1
prettier
bernhardoj Aug 28, 2025
50cacfe
Fix - "Uncaught SyntaxError" console error when navigating to the "Fr…
dmkt9 Aug 28, 2025
f394e79
Merge branch 'main' of https://github.com/Expensify/App into feat/509…
MrMuzyk Aug 28, 2025
19befda
Merge pull request #64334 from Expensify/maddylewis-patch-4
MariaHCD Aug 28, 2025
09bde05
Merge branch 'main' into @zfurtak/bump-flashlist-v2
zfurtak Aug 28, 2025
2afea2a
Merge pull request #67299 from thelullabyy/fix/66021-below-list-curre…
cristipaval Aug 28, 2025
bdeeba5
Merge pull request #69222 from rushatgabhane/help-tabs
Gonals Aug 28, 2025
4389b97
Update version to 9.2.0-1
OSBotify Aug 28, 2025
ae5f666
Update Mobile-Expensify submodule version to 9.2.0-1
OSBotify Aug 28, 2025
7a9867c
feat: modify emails with a + on testing environments
MrMuzyk Aug 28, 2025
c502847
Change flashlist version to fixed 2.0.3
zfurtak Aug 28, 2025
0000af8
Merge branch 'main' of https://github.com/Expensify/App into feat/509…
MrMuzyk Aug 28, 2025
e86ab01
fix: drop mobile-expensify changes
MrMuzyk Aug 28, 2025
b0f4a78
Merge pull request #68409 from callstack-internal/feat/waterim/uber/i…
iwiznia Aug 28, 2025
ed5914f
Merge pull request #69260 from Eskalifer1/fix/68674
JS00001 Aug 28, 2025
12d077d
Use CSS to apply fill to Expensify wordmark
mateuuszzzzz Aug 28, 2025
936239c
Merge pull request #69383 from Expensify/cmartins-fixSavedQuery
JS00001 Aug 28, 2025
c4f49a1
Remove not related change
mateuuszzzzz Aug 28, 2025
c68e17a
Add st4 class to remaining assets
mateuuszzzzz Aug 28, 2025
84e8632
Render description as text in the reports page
youssef-lr Aug 28, 2025
10f648b
Merge pull request #68568 from Expensify/cmartins-addTotal
puneetlath Aug 28, 2025
0db6a75
Merge pull request #63020 from callstack-internal/feat/50908-GR-Phase…
madmax330 Aug 28, 2025
1f1ed5a
Merge branch 'main' into youssef_fix_description_column
youssef-lr Aug 28, 2025
312b3f0
Allow sorting description in report view
youssef-lr Aug 28, 2025
c1e5b95
Revert unneeded change
youssef-lr Aug 28, 2025
d0e1155
Merge pull request #67745 from software-mansion-labs/@zfurtak/bump-fl…
mountiny Aug 28, 2025
f1f65c8
Fix multi line description and show them in one line
youssef-lr Aug 28, 2025
c4ea2f3
Merge pull request #68937 from daledah/fix/68141
iwiznia Aug 28, 2025
4d2e7b4
Fix in progress: sort description
youssef-lr Aug 28, 2025
bdbb8dc
Merge pull request #68900 from bernhardoj/fix/67643-manual-flow-is-di…
justinpersaud Aug 28, 2025
9812d4a
Allow sorting by desription
youssef-lr Aug 28, 2025
0470bfe
Fix bad import
youssef-lr Aug 28, 2025
9d8d8ca
Merge pull request #69465 from Expensify/youssef_fix_workflow
mountiny Aug 28, 2025
0ecd567
Bump App version
cristipaval Aug 28, 2025
abf1be4
Merge pull request #69398 from Expensify/cmartins-fixtest
luacmartins Aug 28, 2025
f1046c4
Merge pull request #69214 from thelullabyy/fix/68735
lakchote Aug 28, 2025
692f4d5
Merge branch 'main' into fix/unreported-expenses-list
koko57 Aug 28, 2025
8cc22b9
Merge pull request #69476 from Expensify/cristi_bump-app-version
Julesssss Aug 28, 2025
8b02804
resolve conflicts
luacmartins Aug 28, 2025
c1208e9
Update version to 9.2.0-3
OSBotify Aug 28, 2025
09156f9
Update Mobile-Expensify submodule version to 9.2.0-3
OSBotify Aug 28, 2025
f1ebff1
Merge branch 'main' into perf/lazy-load-heic-to
kacper-mikolajczak Aug 28, 2025
f3a85a7
Merge branch 'main' into fix/unapproved-cach-does-not-update
Aug 28, 2025
c37b0d6
Merge pull request #64255 from daledah/fix/62946
aldo-expensify Aug 28, 2025
1c6e205
manually reset version
Julesssss Aug 28, 2025
e18b202
Merge pull request #68770 from nabi-ebrahimi/fix/unapproved-cach-does…
luacmartins Aug 28, 2025
b54746e
Merge pull request #69480 from Expensify/jules-fixVersioning
Julesssss Aug 28, 2025
8971f99
Merge pull request #69433 from callstack-internal/feat/66995-enable-g…
madmax330 Aug 28, 2025
c300cbf
Merge pull request #68839 from nkdengineer/fix/68408
puneetlath Aug 28, 2025
a55cb8c
Merge pull request #68536 from callstack-internal/VickyStash/refactor…
roryabraham Aug 28, 2025
40ab035
Merge pull request #68863 from callstack-internal/fix/unreported-expe…
mountiny Aug 28, 2025
2a651c1
Merge branch 'main' into youssef_fix_description_column
youssef-lr Aug 28, 2025
f14cbc3
correct the main branch versioning
Julesssss Aug 28, 2025
f574d5e
Merge pull request #69496 from Expensify/jules-reduceMainVersionAgain
Julesssss Aug 28, 2025
bb36064
fix(csp): allow Google search autocomplete script
ikevin127 Aug 28, 2025
fb90063
Update Mobile-Expensify submodule to 4008666
OSBotify Aug 28, 2025
d5e5a64
switched to http for compatibility
ikevin127 Aug 28, 2025
a9739ee
added https as well for compatibility
ikevin127 Aug 28, 2025
f99598b
Merge pull request #69451 from Expensify/youssef_fix_description_column
luacmartins Aug 28, 2025
38c5482
Merge pull request #69366 from Expensify/andrew-product-pr
srikarparsi Aug 28, 2025
c3bbd6e
Merge pull request #69225 from software-mansion-labs/nav/remove-back-…
mountiny Aug 28, 2025
12dbb71
Merge pull request #68991 from thelullabyy/fix/68286-created-invoice-…
mountiny Aug 28, 2025
600acf3
Merge pull request #69158 from software-mansion-labs/@Skalakid/bump-r…
mountiny Aug 28, 2025
e076cac
Merge pull request #69409 from bernhardoj/fix/68054-missing-approver
youssef-lr Aug 28, 2025
5130647
removed http version
ikevin127 Aug 28, 2025
f63ce2e
Merge pull request #69442 from software-mansion-labs/fix-expensify-wo…
Julesssss Aug 28, 2025
21228f6
Merge pull request #69384 from Expensify/revert-69080-francois-revert…
cristipaval Aug 28, 2025
b8f3de8
Update Mobile-Expensify submodule to 4469ab4
OSBotify Aug 28, 2025
6374b2f
Merge pull request #69410 from dmkt9/fix/68418
thienlnam Aug 28, 2025
b8b31d9
Merge pull request #69501 from ikevin127/ikevin127-cspGoogleAutocomplete
justinpersaud Aug 28, 2025
edc5658
Merge pull request #69297 from Expensify/cmartins-addWithdrawalID
luacmartins Aug 28, 2025
259b40d
[NO QA] Removing extra period
jamesdeanexpensify Aug 28, 2025
66f6f0a
Update version to 9.2.0-1
OSBotify Aug 28, 2025
7c0133a
Update Mobile-Expensify submodule version to 9.2.0-1
OSBotify Aug 28, 2025
7877ec4
Merge pull request #69372 from dominictb/feat/64849-2
neil-marcellini Aug 29, 2025
f98e433
Merge pull request #69513 from Expensify/jamesdeanexpensify-patch-5
MonilBhavsar Aug 29, 2025
dfb14fd
Merge pull request #69321 from dukenv0307/fix/68801
MonilBhavsar Aug 29, 2025
4a788e7
Merge pull request #69232 from Krishna2323/krishna2323/issue/68395
techievivek Aug 29, 2025
2028515
Merge pull request #68727 from callstack-internal/perf/lazy-load-heic-to
MariaHCD Aug 29, 2025
86f5497
Merge branch 'main' into @OlGierd03/fix-reload-on-new-sign-in-page
OlGierd03 Aug 29, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 7 additions & 6 deletions src/pages/signin/SignInModal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,23 @@ import ScreenWrapper from '@components/ScreenWrapper';
import useStyleUtils from '@hooks/useStyleUtils';
import useTheme from '@hooks/useTheme';
import {openApp} from '@libs/actions/App';
import {isMobileSafari} from '@libs/Browser';
import Navigation from '@libs/Navigation/Navigation';
import {waitForIdle} from '@libs/Network/SequentialQueue';
import CONST from '@src/CONST';
import SCREENS from '@src/SCREENS';
import SignInPage from './SignInPage';
import SignInPageWrapped, {SignInPage} from './SignInPage';
import type {SignInPageRef} from './SignInPage';

function SignInModal() {
const theme = useTheme();
const StyleUtils = useStyleUtils();
const signinPageRef = useRef<SignInPageRef | null>(null);
const session = useSession();
// Use of SignInPageWrapped (with shouldEnableMaxHeight prop in SignInPageWrapper) is a workaround for Safari not supporting interactive-widget=resizes-content.
// This allows better scrolling experience after keyboard shows for modals with input, that are larger than remaining screen height.
// More info https://github.com/Expensify/App/pull/62799#issuecomment-2943136220.
const SignInPageBase = isMobileSafari() ? SignInPageWrapped : SignInPage;

useEffect(() => {
const isAnonymousUser = session?.authTokenType === CONST.AUTH_TOKEN_TYPES.ANONYMOUS;
Expand All @@ -39,7 +44,6 @@ function SignInModal() {
<ScreenWrapper
style={[StyleUtils.getBackgroundColorStyle(theme.PAGE_THEMES[SCREENS.RIGHT_MODAL.SIGN_IN].backgroundColor)]}
includeSafeAreaPaddingBottom={false}
shouldEnableMaxHeight
shouldShowOfflineIndicator={false}
testID={SignInModal.displayName}
>
Expand All @@ -52,10 +56,7 @@ function SignInModal() {
signinPageRef.current?.navigateBack();
}}
/>
<SignInPage
shouldEnableMaxHeight={false}
ref={signinPageRef}
/>
<SignInPageBase ref={signinPageRef} />
</ScreenWrapper>
);
}
Expand Down
131 changes: 66 additions & 65 deletions src/pages/signin/SignInPage.tsx
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
import {Str} from 'expensify-common';
import type {Ref} from 'react';
import React, {useEffect, useImperativeHandle, useRef, useState} from 'react';
import type {ForwardedRef} from 'react';
import type {OnyxEntry} from 'react-native-onyx';
import ColorSchemeWrapper from '@components/ColorSchemeWrapper';
import CustomStatusBarAndBackground from '@components/CustomStatusBarAndBackground';
import ScreenWrapper from '@components/ScreenWrapper';
import ThemeProvider from '@components/ThemeProvider';
import ThemeStylesProvider from '@components/ThemeStylesProvider';
import useHandleBackButton from '@hooks/useHandleBackButton';
import useLocalize from '@hooks/useLocalize';
import useOnyx from '@hooks/useOnyx';
import useResponsiveLayout from '@hooks/useResponsiveLayout';
Expand Down Expand Up @@ -39,9 +38,8 @@ import UnlinkLoginForm from './UnlinkLoginForm';
import ValidateCodeForm from './ValidateCodeForm';
import type {BaseValidateCodeFormRef} from './ValidateCodeForm/BaseValidateCodeForm';

type SignInPageInnerProps = {
shouldEnableMaxHeight?: boolean;
ref?: ForwardedRef<SignInPageRef>;
type SignInPageProps = {
ref?: Ref<SignInPageRef>;
};

type SignInPageRef = {
Expand Down Expand Up @@ -144,12 +142,9 @@ function getRenderOptions({
};
}

function SignInPage({shouldEnableMaxHeight = true, ref}: SignInPageInnerProps) {
const styles = useThemeStyles();
const StyleUtils = useStyleUtils();
function SignInPage({ref}: SignInPageProps) {
const {translate, formatPhoneNumber} = useLocalize();
const {shouldUseNarrowLayout, isInNarrowPaneModal} = useResponsiveLayout();
const safeAreaInsets = useSafeAreaInsets();
const {shouldUseNarrowLayout} = useResponsiveLayout();
const signInPageLayoutRef = useRef<SignInPageLayoutRef>(null);
const loginFormRef = useRef<InputHandle>(null);
const validateCodeFormRef = useRef<BaseValidateCodeFormRef>(null);
Expand Down Expand Up @@ -296,80 +291,86 @@ function SignInPage({shouldEnableMaxHeight = true, ref}: SignInPageInnerProps) {
useImperativeHandle(ref, () => ({
navigateBack,
}));
useHandleBackButton(navigateBack);

return (
<ColorSchemeWrapper>
<CustomStatusBarAndBackground isNested />
<LoginProvider>
<SignInPageLayout
welcomeHeader={welcomeHeader}
welcomeText={welcomeText}
shouldShowWelcomeHeader={shouldShowWelcomeHeader || !shouldUseNarrowLayout}
shouldShowWelcomeText={shouldShowWelcomeText}
ref={signInPageLayoutRef}
navigateFocus={navigateFocus}
>
{/* LoginForm must use the isVisible prop. This keeps it mounted, but visually hidden
so that password managers can access the values. Conditionally rendering this component will break this feature. */}
<LoginForm
ref={loginFormRef}
isVisible={shouldShowLoginForm}
blurOnSubmit={isAccountValidated === false}
// eslint-disable-next-line react-compiler/react-compiler
scrollPageToTop={signInPageLayoutRef.current?.scrollPageToTop}
/>
{shouldShouldSignUpWelcomeForm && <SignUpWelcomeForm />}
{shouldShowValidateCodeForm && (
<ValidateCodeForm
isVisible={!shouldShowAnotherLoginPageOpenedMessage}
isUsingRecoveryCode={isUsingRecoveryCode}
setIsUsingRecoveryCode={setIsUsingRecoveryCode}
ref={validateCodeFormRef}
/>
)}
{!shouldShowAnotherLoginPageOpenedMessage && (
<>
{shouldShowUnlinkLoginForm && <UnlinkLoginForm />}
{shouldShowChooseSSOOrMagicCode && <ChooseSSOOrMagicCode setIsUsingMagicCode={setIsUsingMagicCode} />}
{shouldShowEmailDeliveryFailurePage && <EmailDeliveryFailurePage />}
{shouldShowSMSDeliveryFailurePage && <SMSDeliveryFailurePage />}
</>
)}
</SignInPageLayout>
</LoginProvider>
</ColorSchemeWrapper>
);
}

function SignInPageWrapper({ref}: SignInPageProps) {
const styles = useThemeStyles();
const StyleUtils = useStyleUtils();
const safeAreaInsets = useSafeAreaInsets();
const {isInNarrowPaneModal} = useResponsiveLayout();

return (
// Bottom SafeAreaView is removed so that login screen svg displays correctly on mobile.
// The SVG should flow under the Home Indicator on iOS.
<ScreenWrapper
shouldShowOfflineIndicator={false}
shouldEnableMaxHeight={shouldEnableMaxHeight}
shouldEnableMaxHeight
style={[styles.signInPage, StyleUtils.getPlatformSafeAreaPadding({...safeAreaInsets, bottom: 0, top: isInNarrowPaneModal ? 0 : safeAreaInsets.top}, 1)]}
testID={SignInPageWrapper.displayName}
testID="SignInPageWrapper"
>
<SignInPageLayout
welcomeHeader={welcomeHeader}
welcomeText={welcomeText}
shouldShowWelcomeHeader={shouldShowWelcomeHeader || !shouldUseNarrowLayout}
shouldShowWelcomeText={shouldShowWelcomeText}
ref={signInPageLayoutRef}
navigateFocus={navigateFocus}
>
{/* LoginForm must use the isVisible prop. This keeps it mounted, but visually hidden
so that password managers can access the values. Conditionally rendering this component will break this feature. */}
<LoginForm
ref={loginFormRef}
isVisible={shouldShowLoginForm}
blurOnSubmit={isAccountValidated === false}
// eslint-disable-next-line react-compiler/react-compiler
scrollPageToTop={signInPageLayoutRef.current?.scrollPageToTop}
/>
{shouldShouldSignUpWelcomeForm && <SignUpWelcomeForm />}
{shouldShowValidateCodeForm && (
<ValidateCodeForm
isVisible={!shouldShowAnotherLoginPageOpenedMessage}
isUsingRecoveryCode={isUsingRecoveryCode}
setIsUsingRecoveryCode={setIsUsingRecoveryCode}
ref={validateCodeFormRef}
/>
)}
{!shouldShowAnotherLoginPageOpenedMessage && (
<>
{shouldShowUnlinkLoginForm && <UnlinkLoginForm />}
{shouldShowChooseSSOOrMagicCode && <ChooseSSOOrMagicCode setIsUsingMagicCode={setIsUsingMagicCode} />}
{shouldShowEmailDeliveryFailurePage && <EmailDeliveryFailurePage />}
{shouldShowSMSDeliveryFailurePage && <SMSDeliveryFailurePage />}
</>
)}
</SignInPageLayout>
<SignInPage ref={ref} />
</ScreenWrapper>
);
}

type SignInPageProps = SignInPageInnerProps;
const SignInPageWithRef = SignInPage;

function SignInPageWrapper({ref, ...props}: SignInPageProps) {
return (
// WithTheme is a HOC that provides theme-related contexts (e.g. to the SignInPageWrapper component since these contexts are required for variable declarations).
function WithTheme(Component: React.ComponentType<SignInPageProps>) {
return ({ref}: SignInPageProps) => (
<ThemeProvider theme={CONST.THEME.DARK}>
<ThemeStylesProvider>
<ColorSchemeWrapper>
<CustomStatusBarAndBackground isNested />
<LoginProvider>
<SignInPageWithRef
ref={ref}
// eslint-disable-next-line react/jsx-props-no-spreading
{...props}
/>
</LoginProvider>
</ColorSchemeWrapper>
<Component ref={ref} />
</ThemeStylesProvider>
</ThemeProvider>
);
}

SignInPageWrapper.displayName = 'SignInPage';
const SignInPageThemed = WithTheme(SignInPage);

export {SignInPageThemed as SignInPage};

export default SignInPageWrapper;
export default WithTheme(SignInPageWrapper);

export type {SignInPageRef};
Loading