Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] main from Expensify:main #21

Merged
merged 316 commits into from
Sep 11, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
316 commits
Select commit Hold shift + click to select a range
86245ab
Merge branch 'Expensify:main' into fix/24336
joh42 Aug 30, 2023
eba1a8c
Moved method to StyleUtils for future use.
DanutGavrus Aug 30, 2023
ff2551d
Run prettier.
DanutGavrus Aug 30, 2023
c2f3097
add onyxupdatemanager on tests
danieldoglas Aug 30, 2023
57874c7
adding additional checks for early return
danieldoglas Aug 30, 2023
0a95938
Make sure the amount can not overlap the avatar icons.
DanutGavrus Aug 30, 2023
a013406
Replaced if conditions with a range switch.
DanutGavrus Aug 30, 2023
c87eb08
Moved condition higer in order to make it more clear.
DanutGavrus Aug 30, 2023
c56712a
Fix lint error.
DanutGavrus Aug 30, 2023
4cf1934
adding onyx update manager to Network tests
danieldoglas Aug 30, 2023
64e006c
adding space for style
danieldoglas Aug 30, 2023
62010fc
Show header in profile pages when personal details are loading
huzaifa-99 Aug 30, 2023
6ca9958
fix incorrect when inviting existing member
DylanDylann Aug 31, 2023
67e8d2e
Merge branch 'main' into fix/24321-large-amounts-cut-off
DanutGavrus Aug 31, 2023
a36465d
feat: update android notif icons
GItGudRatio Aug 31, 2023
0665ea0
Add withCurrentReportIDPropTypes and use the prop currentReportID ins…
ShogunFire Aug 31, 2023
3ed8dce
adding new method to return promise on reconnectApp
danieldoglas Sep 1, 2023
d5cc741
adding usage to new method to reconnect app
danieldoglas Sep 1, 2023
c613170
refactor the code a little bit
danieldoglas Sep 1, 2023
377cb93
adding a few more checks and refactoring
danieldoglas Sep 1, 2023
df82f2e
adding check if queue is paused before moving on with applying queued…
danieldoglas Sep 1, 2023
181c54a
prettier
danieldoglas Sep 1, 2023
97ef06e
prettier, some refactoring and adding the unpause in the right place
danieldoglas Sep 1, 2023
03da972
using the promise instead of passing variable down
danieldoglas Sep 1, 2023
d5fd7ed
linting files and adjusting checks
danieldoglas Sep 1, 2023
b8abf43
adding the right check in lastUpdateAppliedToClient
danieldoglas Sep 1, 2023
92bd9cb
Merge branch 'main' into tgolen-ordered-updates
danieldoglas Sep 1, 2023
28045d6
Merge branch 'main' into fix/24321-large-amounts-cut-off
DanutGavrus Sep 1, 2023
7ff4630
[TS migration] Migrate 'isInputAutoFilled.js' lib to TypeScript
BartoszGrajdek Sep 1, 2023
b9f452f
Emoji Suggestions Adjustments + Remove Duplicates
Thanos30 Sep 1, 2023
5f744b7
npm run prettier
Thanos30 Sep 1, 2023
9cc6747
temporary message disappears
Nodebrute Sep 2, 2023
11a6db3
remove domain name
pradeepmdk Sep 4, 2023
830aa86
lint fix
pradeepmdk Sep 4, 2023
eb2ac25
[TS migration] Migrate 'Timers.js' lib to TypeScript
BartoszGrajdek Sep 4, 2023
2cf9516
[TS migration] Migrate 'RoomNameInputUtils.js' lib to TypeScript
BartoszGrajdek Sep 4, 2023
01c3521
Merge branch 'main' into ts-migration/ROUTES
blazejkustra Sep 4, 2023
821785d
Fixed conflicts.
DanutGavrus Sep 4, 2023
850a1ca
Updated sizes calculations.
DanutGavrus Sep 4, 2023
293d073
[TS migration] Migrate 'canFocusInputOnScreenFocus' lib to TypeScript
blazejkustra Sep 4, 2023
bffb906
Merge branch 'Expensify:main' into threadHeader
Nodebrute Sep 4, 2023
39a1074
set optimistic childType
Nodebrute Sep 4, 2023
10a7e6c
fix: sort valid waypoints
allroundexperts Sep 4, 2023
1fb4677
lint errors
allroundexperts Sep 4, 2023
26ca7fa
fix: disable button on error
allroundexperts Sep 4, 2023
5005161
update reportAction for context menu
dukenv0307 Sep 5, 2023
068cc42
merge main
dukenv0307 Sep 5, 2023
2c3260a
use lodashGet
dukenv0307 Sep 5, 2023
2cb0fe8
fix: pressing enter doesn't open the selected option page
dukenv0307 Sep 5, 2023
a4aee90
Merge branch 'main' into fix/26228
dukenv0307 Sep 5, 2023
cf7220c
Remove JSDocs for isInputAutoFilled
BartoszGrajdek Sep 5, 2023
30ddb27
Merge branch 'main' into fix-followup-26583
allroundexperts Sep 5, 2023
ace6a40
fix: disable button when offline
allroundexperts Sep 5, 2023
3a5927c
name refactoring
Thanos30 Sep 5, 2023
f47d363
Add comments + Clear code
Thanos30 Sep 5, 2023
dfffb8a
rerender report actions on participants number change
Pujan92 Sep 5, 2023
0b0d30c
Fixed merge conflicts.
DanutGavrus Sep 5, 2023
fe584b8
updated to ts
DanutGavrus Sep 5, 2023
60ae4b6
migrate SettlementButton.js class to function component
teneeto Sep 5, 2023
5a506a7
fix PropType Warning for MoneyReportHeader.js
teneeto Sep 5, 2023
3dfa035
remove extra default values and refactor onPress event handler
teneeto Sep 5, 2023
eaab198
undo unrelated change
teneeto Sep 5, 2023
9cedf17
fix: create a utility function for extracting waypoint index
allroundexperts Sep 5, 2023
ee3cddf
refactoring in progress
danieldoglas Sep 5, 2023
db642eb
adding clarifying comment
danieldoglas Sep 5, 2023
bd72f2a
adding syncronous processing in case there's no need to fetch updates…
danieldoglas Sep 5, 2023
b758fd4
fixing parameters
danieldoglas Sep 5, 2023
fb9e483
removing unecessary check for APIs
danieldoglas Sep 5, 2023
06d7250
renaming redundant name
danieldoglas Sep 5, 2023
d896c7e
Add validation for rate <= 0
paultsimura Sep 2, 2023
a516500
adding check on network if we should pause after a request is done
danieldoglas Sep 5, 2023
440eaf9
adding new property on middleware response so we can block the queue …
danieldoglas Sep 5, 2023
204cfd1
working on onyx updates queue so we don't lose updates when flushing
danieldoglas Sep 5, 2023
798dde2
a little bit of refactor
danieldoglas Sep 5, 2023
4de4fb7
more refactor
danieldoglas Sep 5, 2023
b3da51b
fixing User.js calls
danieldoglas Sep 5, 2023
812253b
Merge branch 'main' into tgolen-ordered-updates
danieldoglas Sep 5, 2023
a07073b
adding property
danieldoglas Sep 5, 2023
48934f8
returning responseData on applyHTTPSOnyxUpdates
danieldoglas Sep 5, 2023
d30a4eb
adding comment for clarity
danieldoglas Sep 5, 2023
ec719bf
clearing unused method
danieldoglas Sep 5, 2023
7aab96e
prettier, fixing const reference
danieldoglas Sep 5, 2023
9ede8ad
fixing import to the right path
danieldoglas Sep 5, 2023
397bd2b
memoize getButtonOptionsFromProps
teneeto Sep 5, 2023
8a73c0a
adding back a method that is used
danieldoglas Sep 5, 2023
a8697ee
adding back the flush call when restarting the queue
danieldoglas Sep 5, 2023
2cda55b
adding sequentialqueue.unpause on promise cal
danieldoglas Sep 5, 2023
b333592
prettier and adding a check to ignore updates if they are older than …
danieldoglas Sep 5, 2023
45d3a6d
addressing comments, fixing lint issues and prettier
danieldoglas Sep 5, 2023
7e0e60a
lint
danieldoglas Sep 5, 2023
1d91a4d
fixing order hopefully for the last time for linter
danieldoglas Sep 5, 2023
30b84db
Merge branch 'Expensify:main' into threadHeader
Nodebrute Sep 6, 2023
acb86ef
improve code readability
Nodebrute Sep 6, 2023
e18e8bb
Fix money request getting paid on selecting emoji with 'enter'
huzaifa-99 Sep 6, 2023
1855968
Implement localization for ContextMenu options
ygshbht Sep 6, 2023
481cd80
Merge branch 'main' into fix/26228
dukenv0307 Sep 6, 2023
037ce5f
update for thread first chat
dukenv0307 Sep 6, 2023
c30867c
Merge branch 'main' into fix/25538
dukenv0307 Sep 6, 2023
d0d0d3f
remove bottom position
bernhardoj Sep 6, 2023
7b9d06e
move empty array and object to const, remove whitespaces
teneeto Sep 6, 2023
9a2669c
move empty array and object to CONST.ts
teneeto Sep 6, 2023
1185100
Merge branch 'Expensify:main' into threadHeader
Nodebrute Sep 6, 2023
0de1ea8
apply suggested changes
Nodebrute Sep 6, 2023
4fa87ac
Merge branch 'main' into fix/25538
dukenv0307 Sep 6, 2023
017c714
refactor logic for original reportID
dukenv0307 Sep 6, 2023
7ab2d52
fixing resolve response
danieldoglas Sep 6, 2023
93cf635
import moment for es locale
mkhutornyi Sep 6, 2023
30d8eaf
fixing check to apply updates in case lastUpdateID is 0
danieldoglas Sep 6, 2023
03c8933
Add policyRecentlyUsedCategories_ as collection key
yuwenmemon Sep 7, 2023
a7671fe
Add RecentlyUsedCategories type
yuwenmemon Sep 7, 2023
a300195
use EMPTY_ARRAY and EMPTY_OBJECT CONST in existing definitions
teneeto Sep 7, 2023
be2f1da
update comments
teneeto Sep 7, 2023
b64e557
use correct comments
teneeto Sep 7, 2023
1125ae9
fix(task-pages): Force task page editions only for task reports
daordonez11 Sep 7, 2023
60646e9
fix: avoid dismissModal when creating new task
daordonez11 Sep 7, 2023
d45118b
fix: Include report id to ensure navigation to report in mobile
daordonez11 Sep 7, 2023
24d9957
prevent auto focus for transaction thread empty chat
Pujan92 Sep 7, 2023
fd4c4a4
lint fix
Pujan92 Sep 7, 2023
e7ef9a7
fix: package.json & package-lock.json to reduce vulnerabilities
snyk-bot Sep 7, 2023
8e94e2d
remove optimistic parent report action when adding system message
dukenv0307 Sep 7, 2023
9f9f102
fix prettier diff
teneeto Sep 7, 2023
c48292b
Refactoring desktop/main.js
ygshbht Sep 7, 2023
d731639
jsDoc comment correction for createContextMenu function
ygshbht Sep 7, 2023
67ac06d
fix-margin-top-server-error-message
ishpaul777 Sep 7, 2023
a2ad4f7
fix css height not working for onfido
b4s36t4 Sep 7, 2023
69fb125
fix-lint-errors
ishpaul777 Sep 7, 2023
cad29e5
Update src/types/onyx/RecentlyUsedCategories.ts
yuwenmemon Sep 7, 2023
a652268
Add types on Onyx files
yuwenmemon Sep 7, 2023
7a04a50
Merge branch 'yuwen-policyRecentlyUsedCategories' of github.com:Expen…
yuwenmemon Sep 7, 2023
5f5cb20
Merge branch 'main' of github.com:Expensify/App into yuwen-policyRece…
yuwenmemon Sep 7, 2023
894c836
Update the paid message to use same language as the button
mountiny Sep 8, 2023
2f05a54
Update copy
mountiny Sep 8, 2023
bc0527f
Fixed conflicts.
DanutGavrus Sep 8, 2023
a850ef8
update comment
b4s36t4 Sep 8, 2023
c1388d8
Formatting
paultsimura Sep 8, 2023
aa9c074
use isCommentEmpty flag to hide expand Icon of composer
HezekielT Sep 8, 2023
a501d5e
remove indentation
HezekielT Sep 8, 2023
d2c1417
[TS migration] Migrate 'AppUpdate.js' lib to TypeScript
blazejkustra Sep 8, 2023
da5a622
[TS migration] Migrate 'Trie' lib to TypeScript
blazejkustra Sep 8, 2023
88eaa80
Update src/pages/home/report/ContextMenu/genericReportActionContextMe…
dukenv0307 Sep 8, 2023
14c6745
edit the comment
dukenv0307 Sep 8, 2023
985c5c2
Merge branch 'fix/25538' of https://github.com/dukenv0307/App into fi…
dukenv0307 Sep 8, 2023
05eae4e
Merge branch 'main' into fix/25538
dukenv0307 Sep 8, 2023
05938e2
removing comment about the circular reference
danieldoglas Sep 8, 2023
ead5186
updating signature for ts mapping
danieldoglas Sep 8, 2023
0b8a8cc
renaming responseData to response
danieldoglas Sep 8, 2023
ec61746
changing from reduce to map
danieldoglas Sep 8, 2023
c5a8eb5
linter and fixing signature again
danieldoglas Sep 8, 2023
20fead9
fixing lint
danieldoglas Sep 8, 2023
51fe5ba
Update ensure correct version of cocoapods
myrs Sep 8, 2023
1c8d4c2
only add height with media query
b4s36t4 Sep 8, 2023
730d2f2
Update caching pods in iOS workflows
myrs Sep 8, 2023
b40adb2
Fix step name
myrs Sep 8, 2023
d8adf78
reset isComposerFullSize to false in SendButton
HezekielT Sep 8, 2023
250aa17
changing object signature to simplify it
danieldoglas Sep 8, 2023
e07c47c
removing data reference
danieldoglas Sep 8, 2023
9b70014
prettier
danieldoglas Sep 9, 2023
ed1a7ec
Update src/pages/home/report/ContextMenu/BaseReportActionContextMenu.js
dukenv0307 Sep 9, 2023
50120ef
fix bug when calling show context menu for report
dukenv0307 Sep 9, 2023
1116ace
added extra check and renamed the function to make it more descriptive
HezekielT Sep 9, 2023
a17dec6
remove redundant code
HezekielT Sep 9, 2023
6232d7e
revert change
HezekielT Sep 9, 2023
584e487
fix: package.json & package-lock.json to reduce vulnerabilities
snyk-bot Sep 9, 2023
d012c54
adding previousUpdateID
danieldoglas Sep 10, 2023
fa514e4
Merge branch 'Expensify:main' into threadHeader
Nodebrute Sep 10, 2023
326010b
comments fixed
Nodebrute Sep 10, 2023
876501b
Merge pull request #26840 from huzaifa-99/23804-fix-pay-trigger-on-enter
luacmartins Sep 11, 2023
62f9a49
Merge pull request #26640 from software-mansion-labs/ts-migration/roo…
Julesssss Sep 11, 2023
a4225a7
Merge pull request #26280 from DanutGavrus/fix/24321-large-amounts-cu…
Julesssss Sep 11, 2023
1810c8e
Merge pull request #26381 from GItGudRatio/fix/26255-android-notif-logo
Julesssss Sep 11, 2023
3c8029d
Merge pull request #26920 from Expensify/yuwen-policyRecentlyUsedCate…
Sep 11, 2023
4a8fb06
Merge pull request #27015 from HezekielT/fix--Android-App---resizing-…
MariaHCD Sep 11, 2023
ea3d575
Merge pull request #26770 from Pujan92/fix/25461
Gonals Sep 11, 2023
d497e86
Merge pull request #26507 from Thanos30/thanos/emoji-suggestions-adju…
johnmlee101 Sep 11, 2023
3ca9c44
Merge pull request #25455 from Expensify/tgolen-ordered-updates
MonilBhavsar Sep 11, 2023
dfd9363
Merge pull request #26847 from bernhardoj/fix/26535-composer-invisibl…
pecanoro Sep 11, 2023
23933fd
Update version to 1.3.67-0
OSBotify Sep 11, 2023
4abaeba
Merge pull request #26548 from Nodebrute/threadHeader
Beamanator Sep 11, 2023
fadfb92
changing types to accept both number and string
danieldoglas Sep 11, 2023
96160a0
Merge pull request #26743 from dukenv0307/fix/26228
Beamanator Sep 11, 2023
f896f71
Merge pull request #27121 from Expensify/dsilva_addCheckForNumberOrSt…
MonilBhavsar Sep 11, 2023
1068380
Merge branch 'main' into Rory-FixCPChecklistUpdates
roryabraham Sep 11, 2023
f36a8cd
Rebuild GH actions
roryabraham Sep 11, 2023
5e15589
Use version from step instead of needs
roryabraham Sep 11, 2023
6488e9f
Merge pull request #26364 from DylanDylann/fix/25636-incorrect-behavi…
techievivek Sep 11, 2023
d12ff8f
Optimistically update the checklist at the top of platformDeploy.yml
roryabraham Sep 11, 2023
38c3e94
Merge pull request #26745 from paultsimura/fix-26344
marcochavezf Sep 11, 2023
46ea92c
chore: add new property to transaction object
Sep 11, 2023
73df6a6
Merge pull request #26967 from Expensify/snyk-fix-f5ab1dcc6d6524595ee…
marcochavezf Sep 11, 2023
0cf2496
Merge pull request #26295 from Expensify/Rory-FixCPChecklistUpdates
luacmartins Sep 11, 2023
38a061b
Merge pull request #27013 from software-mansion-labs/ts-migration/App…
robertjchen Sep 11, 2023
b82bc07
Update version to 1.3.67-1
OSBotify Sep 11, 2023
84f3ede
Merge pull request #26283 from ShogunFire/fixInputComposerHiddenBehin…
flodnv Sep 11, 2023
189c281
fix: make routes property optional
Sep 11, 2023
a325f58
Update version to 1.3.67-2
OSBotify Sep 11, 2023
2accd01
fix share code avatar differs from profile avatar
StevenKKC Sep 11, 2023
a7517a0
remove unnecessary comment
StevenKKC Sep 11, 2023
67df8e9
Merge pull request #27122 from Expensify/hayata-add-routes-property-o…
youssef-lr Sep 11, 2023
74e0613
Merge branch 'main' into snyk-fix-fb6cafe48636c96faed4dc15c2687b19
youssef-lr Sep 11, 2023
6cdefbe
Merge pull request #26158 from software-mansion-labs/ts-migration/sho…
youssef-lr Sep 11, 2023
ae68e74
Merge pull request #26675 from software-mansion-labs/ts-migration/can…
youssef-lr Sep 11, 2023
ae30c3c
Merge pull request #27096 from Expensify/snyk-fix-fb6cafe48636c96faed…
youssef-lr Sep 11, 2023
a9f212a
Change number to NodeJSTimer in Timers type
BartoszGrajdek Sep 11, 2023
f5b7d5c
Merge pull request #25748 from software-mansion-labs/ts-migration/ROUTES
johnmlee101 Sep 11, 2023
354abb4
prevent clearing server error on blur
hungvu193 Aug 29, 2023
f9171ab
update translation for modify expense
hungvu193 Aug 31, 2023
3db0427
update singing commit
hungvu193 Sep 11, 2023
37c056f
fix Contact methods - Login with secondary contact details link displ…
hungvu193 Sep 4, 2023
575891b
Merge pull request #26964 from Pujan92/fix/26702
srikarparsi Sep 11, 2023
7f5c14a
Merge pull request #26370 from hungvu193/feature/26369
mountiny Sep 11, 2023
88bd1b6
Merge branch 'main' into fix/25538
dukenv0307 Sep 11, 2023
a63046b
Update fix typo in verifyPodfile.sh
myrs Sep 11, 2023
29fd7eb
Merge pull request #27102 from myrs/feature/cache-pods-to-speed-up-io…
roryabraham Sep 11, 2023
1c66375
Merge pull request #26225 from hungvu193/fix-21838
techievivek Sep 11, 2023
fbea2db
Merge pull request #26639 from software-mansion-labs/ts-migration/tim…
Beamanator Sep 11, 2023
de209cf
Merge pull request #27019 from software-mansion-labs/ts-migration/Trie
cristipaval Sep 11, 2023
ef0eb33
Merge pull request #26658 from hungvu193/fix-26048
cristipaval Sep 11, 2023
9ea79d3
[TS migration] Update to ROUTES.ts
blazejkustra Sep 11, 2023
cf41264
Merge branch 'main' into fix/24263
ginsuma Sep 11, 2023
797b7d4
Merge branch 'main' into fix/26389
dukenv0307 Sep 11, 2023
f8fd140
Merge pull request #27135 from software-mansion-labs/ts-migration/ROUTES
mountiny Sep 11, 2023
ca2ee55
Merge branch 'main' into vitfixPaidMessage
mountiny Sep 11, 2023
b9dc6aa
Merge pull request #26858 from StevenKKC/fixDefaultAvatar
luacmartins Sep 11, 2023
544661b
Merge pull request #26346 from huzaifa-99/24642-fix-back-button-on-pr…
aldo-expensify Sep 11, 2023
40cb0c0
Update the getReportPreviewMessage
mountiny Sep 11, 2023
df42bd6
Run prettier
mountiny Sep 11, 2023
b179b2a
Merge branch 'Expensify:main' into fix/24336
joh42 Sep 11, 2023
adac19c
Merge pull request #26638 from pradeepmdk/fix/26121-remove-domain-name
Li357 Sep 11, 2023
1ae51cc
Merge pull request #26213 from ginsuma/fix/24263
techievivek Sep 11, 2023
494e93b
Merge pull request #26981 from ishpaul777/fix-margin-top-server-error…
tylerkaraszewski Sep 11, 2023
0ca3dcb
Merge pull request #26741 from dukenv0307/fix/25538
tgolen Sep 11, 2023
f9d4b59
Merge pull request #26983 from b4s36t4/fix/onfido-css-page
tgolen Sep 11, 2023
a2d71a3
Merge pull request #26106 from software-mansion-labs/ts-migration/has…
tylerkaraszewski Sep 11, 2023
bdceb74
Merge pull request #25835 from joh42/fix/24336
mountiny Sep 11, 2023
393475b
Merge pull request #27006 from Expensify/vitfixPaidMessage
AndrewGable Sep 11, 2023
bfc6468
Merge pull request #25744 from software-mansion-labs/ts-migration/url
danieldoglas Sep 11, 2023
00ad8cf
Merge pull request #26976 from dukenv0307/fix/26389
arosiclair Sep 11, 2023
80dd2e2
Revert "Android App Notification Logo Update"
AndrewGable Sep 11, 2023
3f0b5c3
Merge pull request #26902 from mkhutornyi/fix-26719
neil-marcellini Sep 11, 2023
b8dc1c3
Merge pull request #26841 from ygshbht/feature/context-menu-localization
neil-marcellini Sep 11, 2023
c95998d
Merge pull request #26705 from allroundexperts/fix-followup-26583
neil-marcellini Sep 11, 2023
9f425f8
Merge branch 'main' of github.com:Expensify/App into davidcardoza-pat…
jasperhuangg Sep 11, 2023
7b828c1
Merge pull request #26119 from b4s36t4/fix/clear-callbacks-on-close
jasperhuangg Sep 11, 2023
9d8518a
Merge pull request #24245 from Expensify/davidcardoza-patch-2
jasperhuangg Sep 11, 2023
95a0edc
Merge pull request #26473 from software-mansion-labs/ts-migration/is-…
jasperhuangg Sep 11, 2023
54c5c4e
Merge pull request #26192 from thiagobrez/thiagobrez/pronouns-display…
amyevans Sep 11, 2023
f4affe5
Merge pull request #26794 from teneeto/chore/16201-migrate-settlement…
amyevans Sep 11, 2023
b2f3d44
Merge pull request #26924 from daordonez11/fix/avoid-task-pages
francoisl Sep 11, 2023
b658637
Merge pull request #26269 from dukenv0307/fix/26014
bondydaa Sep 11, 2023
4605bac
Merge pull request #27177 from Expensify/revert-26381-fix/26255-andro…
amyevans Sep 11, 2023
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
Original file line number Diff line number Diff line change
Expand Up @@ -207,10 +207,7 @@ function fetchTag(tag) {
console.log(`Running command: ${command}`);
execSync(command);
} catch (e) {
// This can happen if the tag was only created locally but does not exist in the remote. In this case, we'll fetch history of the staging branch instead
const command = `git fetch origin staging --no-tags --shallow-exclude=${previousPatchVersion}`;
console.log(`Running command: ${command}`);
execSync(command);
console.error(e);
}
}

Expand Down Expand Up @@ -301,13 +298,14 @@ function getValidMergedPRs(commits) {
* @returns {Promise<Array<Number>>} – Pull request numbers
*/
function getPullRequestsMergedBetween(fromTag, toTag) {
console.log(`Looking for commits made between ${fromTag} and ${toTag}...`);
return getCommitHistoryAsJSON(fromTag, toTag).then((commitList) => {
console.log(`Commits made between ${fromTag} and ${toTag}:`, commitList);

// Find which commit messages correspond to merged PR's
const pullRequestNumbers = getValidMergedPRs(commitList);
console.log(`List of pull requests merged between ${fromTag} and ${toTag}`, pullRequestNumbers);
return pullRequestNumbers;
return _.map(pullRequestNumbers, (prNum) => Number.parseInt(prNum, 10));
});
}

Expand Down
8 changes: 3 additions & 5 deletions .github/actions/javascript/getDeployPullRequestList/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -170,10 +170,7 @@ function fetchTag(tag) {
console.log(`Running command: ${command}`);
execSync(command);
} catch (e) {
// This can happen if the tag was only created locally but does not exist in the remote. In this case, we'll fetch history of the staging branch instead
const command = `git fetch origin staging --no-tags --shallow-exclude=${previousPatchVersion}`;
console.log(`Running command: ${command}`);
execSync(command);
console.error(e);
}
}

Expand Down Expand Up @@ -264,13 +261,14 @@ function getValidMergedPRs(commits) {
* @returns {Promise<Array<Number>>} – Pull request numbers
*/
function getPullRequestsMergedBetween(fromTag, toTag) {
console.log(`Looking for commits made between ${fromTag} and ${toTag}...`);
return getCommitHistoryAsJSON(fromTag, toTag).then((commitList) => {
console.log(`Commits made between ${fromTag} and ${toTag}:`, commitList);

// Find which commit messages correspond to merged PR's
const pullRequestNumbers = getValidMergedPRs(commitList);
console.log(`List of pull requests merged between ${fromTag} and ${toTag}`, pullRequestNumbers);
return pullRequestNumbers;
return _.map(pullRequestNumbers, (prNum) => Number.parseInt(prNum, 10));
});
}

Expand Down
8 changes: 3 additions & 5 deletions .github/libs/GitUtils.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,7 @@ function fetchTag(tag) {
console.log(`Running command: ${command}`);
execSync(command);
} catch (e) {
// This can happen if the tag was only created locally but does not exist in the remote. In this case, we'll fetch history of the staging branch instead
const command = `git fetch origin staging --no-tags --shallow-exclude=${previousPatchVersion}`;
console.log(`Running command: ${command}`);
execSync(command);
console.error(e);
}
}

Expand Down Expand Up @@ -116,13 +113,14 @@ function getValidMergedPRs(commits) {
* @returns {Promise<Array<Number>>} – Pull request numbers
*/
function getPullRequestsMergedBetween(fromTag, toTag) {
console.log(`Looking for commits made between ${fromTag} and ${toTag}...`);
return getCommitHistoryAsJSON(fromTag, toTag).then((commitList) => {
console.log(`Commits made between ${fromTag} and ${toTag}:`, commitList);

// Find which commit messages correspond to merged PR's
const pullRequestNumbers = getValidMergedPRs(commitList);
console.log(`List of pull requests merged between ${fromTag} and ${toTag}`, pullRequestNumbers);
return pullRequestNumbers;
return _.map(pullRequestNumbers, (prNum) => Number.parseInt(prNum, 10));
});
}

Expand Down
28 changes: 22 additions & 6 deletions .github/scripts/verifyPodfile.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ declare EXIT_CODE=0
# Check Provisioning Style. If automatic signing is enabled, iOS builds will fail, so ensure we always have the proper profile specified
info "Verifying that automatic signing is not enabled"
if grep -q 'PROVISIONING_PROFILE_SPECIFIER = chat_expensify_appstore' ios/NewExpensify.xcodeproj/project.pbxproj; then
success "Automatic signing not enabled"
success "Automatic signing not enabled"
else
error "Error: Automatic provisioning style is not allowed!"
EXIT_CODE=1
error "Error: Automatic provisioning style is not allowed!"
EXIT_CODE=1
fi

PODFILE_SHA=$(openssl sha1 ios/Podfile | awk '{print $2}')
Expand All @@ -26,10 +26,26 @@ echo "Podfile: $PODFILE_SHA"
echo "Podfile.lock: $PODFILE_LOCK_SHA"

if [[ "$PODFILE_SHA" == "$PODFILE_LOCK_SHA" ]]; then
success "Podfile checksum verified!"
success "Podfile checksum verified!"
else
error "Podfile.lock checksum mismatch. Did you forget to run \`npx pod-install\`?"
EXIT_CODE=1
error "Podfile.lock checksum mismatch. Did you forget to run \`npx pod-install\`?"
EXIT_CODE=1
fi

info "Ensuring correct version of cocoapods is used..."

POD_VERSION_REGEX='([[:digit:]]+\.[[:digit:]]+)(\.[[:digit:]]+)?';
POD_VERSION_FROM_GEMFILE="$(sed -nr "s/gem \"cocoapods\", \"~> $POD_VERSION_REGEX\"/\1/p" Gemfile)"
info "Pod version from Gemfile: $POD_VERSION_FROM_GEMFILE"

POD_VERSION_FROM_PODFILE_LOCK="$(sed -nr "s/COCOAPODS: $POD_VERSION_REGEX/\1/p" ios/Podfile.lock)"
info "Pod version from Podfile.lock: $POD_VERSION_FROM_PODFILE_LOCK"

if [[ "$POD_VERSION_FROM_GEMFILE" == "$POD_VERSION_FROM_PODFILE_LOCK" ]]; then
success "Cocoapods version from Podfile.lock matches cocoapods version from Gemfile"
else
error "Cocoapods version from Podfile.lock does not match cocoapods version from Gemfile. Please use \`npm run pod-install\` or \`bundle exec pod install\` instead of \`pod install\` to install pods."
EXIT_CODE=1
fi

info "Comparing Podfile.lock with node packages..."
Expand Down
28 changes: 0 additions & 28 deletions .github/workflows/finishReleaseCycle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -119,31 +119,3 @@ jobs:
uses: Expensify/App/.github/actions/composite/announceFailedWorkflowInSlack@main
with:
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}

# Create a new StagingDeployCash for the next release cycle.
createNewStagingDeployCash:
runs-on: ubuntu-latest
needs: [updateStaging, createNewPatchVersion]
steps:
- uses: actions/checkout@v3
with:
ref: staging
token: ${{ secrets.OS_BOTIFY_TOKEN }}

# Create a local git tag so that GitUtils.getPullRequestsMergedBetween can use `git log` to generate a
# list of pull requests that were merged between this version tag and another.
# NOTE: This tag is only used locally and shouldn't be pushed to the remote.
# If it was pushed, that would trigger the staging deploy which is handled in a separate workflow (deploy.yml)
- name: Tag version
run: git tag ${{ needs.createNewPatchVersion.outputs.NEW_VERSION }}

- name: Create new StagingDeployCash
uses: Expensify/App/.github/actions/javascript/createOrUpdateStagingDeploy@main
with:
GITHUB_TOKEN: ${{ secrets.OS_BOTIFY_TOKEN }}
NPM_VERSION: ${{ needs.createNewPatchVersion.outputs.NEW_VERSION }}

- if: ${{ failure() }}
uses: Expensify/App/.github/actions/composite/announceFailedWorkflowInSlack@main
with:
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
32 changes: 32 additions & 0 deletions .github/workflows/platformDeploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,25 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.OS_BOTIFY_TOKEN }}

# Note: we're updating the checklist before running the deploys and assuming that it will succeed on at least one platform
deployChecklist:
name: Create or update deploy checklist
runs-on: ubuntu-latest
needs: validateActor
steps:
- uses: actions/checkout@v3
- uses: Expensify/App/.github/actions/composite/setupNode@main

- name: Set version
id: getVersion
run: echo "VERSION=$(npm run print-version --silent)" >> "$GITHUB_ENV"

- name: Create or update staging deploy
uses: Expensify/App/.github/actions/javascript/createOrUpdateStagingDeploy@main
with:
GITHUB_TOKEN: ${{ secrets.OS_BOTIFY_TOKEN }}
NPM_VERSION: ${{ steps.getVersion.outputs.VERSION }}

android:
name: Build and deploy Android
needs: validateActor
Expand Down Expand Up @@ -157,8 +176,21 @@ jobs:
ruby-version: '2.7'
bundler-cache: true

- name: Cache Pod dependencies
uses: actions/cache@v3
id: pods-cache
with:
path: ios/Pods
key: ${{ runner.os }}-pods-cache-${{ hashFiles('ios/Podfile.lock') }}
restore-keys: ${{ runner.os }}-pods-cache-

- name: Compare Podfile.lock and Manifest.lock
id: compare-podfile-and-manifest
run: echo "IS_PODFILE_SAME_AS_MANIFEST=${{ hashFiles('ios/Podfile.lock') == hashFiles('ios/Pods/Manifest.lock') }}" >> "$GITHUB_OUTPUT"

- name: Install cocoapods
uses: nick-invision/retry@0711ba3d7808574133d713a0d92d2941be03a350
if: steps.pods-cache.outputs.cache-hit != 'true' || steps.compare-podfile-and-manifest.outputs.IS_PODFILE_SAME_AS_MANIFEST != 'true'
with:
timeout_minutes: 10
max_attempts: 5
Expand Down
19 changes: 0 additions & 19 deletions .github/workflows/preDeploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -98,25 +98,6 @@ jobs:
# Force-update the remote staging branch
git push --force origin staging

# Create a local git tag on staging so that GitUtils.getPullRequestsMergedBetween can use `git log` to generate a
# list of pull requests that were merged between this version tag and another.
# NOTE: This tag is only used locally and shouldn't be pushed to the remote.
# If it was pushed, that would trigger the staging deploy which is handled in a separate workflow (deploy.yml)
- name: Tag staging
run: git tag ${{ needs.createNewVersion.outputs.NEW_VERSION }}

- name: Update StagingDeployCash
uses: Expensify/App/.github/actions/javascript/createOrUpdateStagingDeploy@main
with:
GITHUB_TOKEN: ${{ secrets.OS_BOTIFY_TOKEN }}
NPM_VERSION: ${{ needs.createNewVersion.outputs.NEW_VERSION }}

- name: Find open StagingDeployCash
id: getStagingDeployCash
run: echo "STAGING_DEPLOY_CASH=$(gh issue list --label StagingDeployCash --json number --jq '.[0].number')" >> "$GITHUB_OUTPUT"
env:
GITHUB_TOKEN: ${{ secrets.OS_BOTIFY_TOKEN }}

- if: ${{ failure() }}
uses: Expensify/App/.github/actions/composite/announceFailedWorkflowInSlack@main
with:
Expand Down
13 changes: 13 additions & 0 deletions .github/workflows/testBuild.yml
Original file line number Diff line number Diff line change
Expand Up @@ -154,8 +154,21 @@ jobs:
ruby-version: '2.7'
bundler-cache: true

- name: Cache Pod dependencies
uses: actions/cache@v3
id: pods-cache
with:
path: ios/Pods
key: ${{ runner.os }}-pods-cache-${{ hashFiles('ios/Podfile.lock') }}
restore-keys: ${{ runner.os }}-pods-cache-

- name: Compare Podfile.lock and Manifest.lock
id: compare-podfile-and-manifest
run: echo "IS_PODFILE_SAME_AS_MANIFEST=${{ hashFiles('ios/Podfile.lock') == hashFiles('ios/Pods/Manifest.lock') }}" >> "$GITHUB_OUTPUT"

- name: Install cocoapods
uses: nick-invision/retry@0711ba3d7808574133d713a0d92d2941be03a350
if: steps.pods-cache.outputs.cache-hit != 'true' || steps.compare-podfile-and-manifest.outputs.IS_PODFILE_SAME_AS_MANIFEST != 'true'
with:
timeout_minutes: 10
max_attempts: 5
Expand Down
4 changes: 2 additions & 2 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -90,8 +90,8 @@ android {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
multiDexEnabled rootProject.ext.multiDexEnabled
versionCode 1001036603
versionName "1.3.66-3"
versionCode 1001036702
versionName "1.3.67-2"
}

flavorDimensions "default"
Expand Down
57 changes: 37 additions & 20 deletions desktop/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ const CONST = require('../src/CONST').default;
const Localize = require('../src/libs/Localize');

const port = process.env.PORT || 8082;
const {DESKTOP_SHORTCUT_ACCELERATOR} = CONST;
const {DESKTOP_SHORTCUT_ACCELERATOR, LOCALES} = CONST;

app.setName('New Expensify');

Expand All @@ -36,25 +36,40 @@ function pasteAsPlainText(browserWindow) {
browserWindow.webContents.insertText(text);
}

// Initialize the right click menu
// See https://github.com/sindresorhus/electron-context-menu
// Add the Paste and Match Style command to the context menu
contextMenu({
append: (defaultActions, parameters, browserWindow) => [
new MenuItem({
// Only enable the menu item for Editable context which supports paste
visible: parameters.isEditable && parameters.editFlags.canPaste,
role: 'pasteAndMatchStyle',
accelerator: DESKTOP_SHORTCUT_ACCELERATOR.PASTE_AND_MATCH_STYLE,
}),
new MenuItem({
label: Localize.translate(CONST.LOCALES.DEFAULT, 'desktopApplicationMenu.pasteAsPlainText'),
visible: parameters.isEditable && parameters.editFlags.canPaste && clipboard.readText().length > 0,
accelerator: DESKTOP_SHORTCUT_ACCELERATOR.PASTE_AS_PLAIN_TEXT,
click: () => pasteAsPlainText(browserWindow),
}),
],
});
/**
* Initialize the right-click menu
* See https://github.com/sindresorhus/electron-context-menu
*
* @param {String} preferredLocale - The current user language to be used for translating menu labels.
* @returns {Function} A dispose function to clean up the created context menu.
*/

function createContextMenu(preferredLocale = LOCALES.DEFAULT) {
return contextMenu({
labels: {
cut: Localize.translate(preferredLocale, 'desktopApplicationMenu.cut'),
paste: Localize.translate(preferredLocale, 'desktopApplicationMenu.paste'),
copy: Localize.translate(preferredLocale, 'desktopApplicationMenu.copy'),
},
append: (defaultActions, parameters, browserWindow) => [
new MenuItem({
// Only enable the menu item for Editable context which supports paste
visible: parameters.isEditable && parameters.editFlags.canPaste,
role: 'pasteAndMatchStyle',
accelerator: DESKTOP_SHORTCUT_ACCELERATOR.PASTE_AND_MATCH_STYLE,
label: Localize.translate(preferredLocale, 'desktopApplicationMenu.pasteAndMatchStyle'),
}),
new MenuItem({
label: Localize.translate(preferredLocale, 'desktopApplicationMenu.pasteAsPlainText'),
visible: parameters.isEditable && parameters.editFlags.canPaste && clipboard.readText().length > 0,
accelerator: DESKTOP_SHORTCUT_ACCELERATOR.PASTE_AS_PLAIN_TEXT,
click: () => pasteAsPlainText(browserWindow),
}),
],
});
}

let disposeContextMenu = createContextMenu();

// Send all autoUpdater logs to a log file: ~/Library/Logs/new.expensify.desktop/main.log
// See https://www.npmjs.com/package/electron-log
Expand Down Expand Up @@ -522,6 +537,8 @@ const mainWindow = () => {

ipcMain.on(ELECTRON_EVENTS.LOCALE_UPDATED, (event, updatedLocale) => {
Menu.setApplicationMenu(Menu.buildFromTemplate(localizeMenuItems(initialMenuTemplate, updatedLocale)));
disposeContextMenu();
disposeContextMenu = createContextMenu(updatedLocale);
});

ipcMain.on(ELECTRON_EVENTS.REQUEST_VISIBILITY, (event) => {
Expand Down
4 changes: 2 additions & 2 deletions ios/NewExpensify/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.3.66</string>
<string>1.3.67</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleURLTypes</key>
Expand All @@ -40,7 +40,7 @@
</dict>
</array>
<key>CFBundleVersion</key>
<string>1.3.66.3</string>
<string>1.3.67.2</string>
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
<key>LSApplicationQueriesSchemes</key>
Expand Down
4 changes: 2 additions & 2 deletions ios/NewExpensifyTests/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>1.3.66</string>
<string>1.3.67</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.3.66.3</string>
<string>1.3.67.2</string>
</dict>
</plist>
Loading
Loading