Skip to content

Commit

Permalink
fix conflicts
Browse files Browse the repository at this point in the history
  • Loading branch information
marcaaron committed Feb 17, 2023
2 parents 30b2297 + 3c11ba5 commit bd7e964
Show file tree
Hide file tree
Showing 83 changed files with 799 additions and 330 deletions.
1 change: 1 addition & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@ This is a checklist for PR authors. Please make sure to complete all tasks and c
- [ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like `Avatar` is modified, I verified that `Avatar` is working as expected in all cases)
- [ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
- [ ] If a new page is added, I verified it's using the `ScrollView` component to make it scrollable when more elements are added to the page.
- [ ] If the `main` branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the `Test` steps.
- [ ] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

### Screenshots/Videos
Expand Down
3 changes: 3 additions & 0 deletions __mocks__/react-native-device-info.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import MockDeviceInfo from 'react-native-device-info/jest/react-native-device-info-mock';

export default MockDeviceInfo;
1 change: 1 addition & 0 deletions __mocks__/urbanairship-react-native.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ const UrbanAirship = {
removeAllListeners: jest.fn(),
setBadgeNumber: jest.fn(),
setForegroundPresentationOptions: jest.fn(),
getNotificationStatus: () => Promise.resolve({airshipOptIn: false, systemEnabled: false}),
};

export default UrbanAirship;
Expand Down
4 changes: 2 additions & 2 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -156,8 +156,8 @@ android {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
multiDexEnabled rootProject.ext.multiDexEnabled
versionCode 1001027200
versionName "1.2.72-0"
versionCode 1001027400
versionName "1.2.74-0"
buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString()

if (isNewArchitectureEnabled()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,6 @@
import java.util.concurrent.TimeUnit;

public class CustomNotificationProvider extends ReactNotificationProvider {

// Resize icons to 100 dp x 100 dp
private static final int MAX_ICON_SIZE_DPS = 100;

Expand Down
1 change: 1 addition & 0 deletions contributingGuides/REVIEWER_CHECKLIST.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@
- [ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like `Avatar` is modified, I verified that `Avatar` is working as expected in all cases)
- [ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
- [ ] If a new page is added, I verified it's using the `ScrollView` component to make it scrollable when more elements are added to the page.
- [ ] If the `main` branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the `Test` steps.
- [ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

### Screenshots/Videos
Expand Down
9 changes: 5 additions & 4 deletions desktop/ELECTRON_EVENTS.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
const ELECTRON_EVENTS = {
BLUR: 'blur',
FOCUS: 'focus',
LOCALE_UPDATED: 'locale-updated',
REQUEST_DEVICE_ID: 'requestDeviceID',
REQUEST_FOCUS_APP: 'requestFocusApp',
REQUEST_UPDATE_BADGE_COUNT: 'requestUpdateBadgeCount',
REQUEST_VISIBILITY: 'requestVisibility',
REQUEST_FOCUS_APP: 'requestFocusApp',
SHOW_KEYBOARD_SHORTCUTS_MODAL: 'show-keyboard-shortcuts-modal',
START_UPDATE: 'start-update',
UPDATE_DOWNLOADED: 'update-downloaded',
FOCUS: 'focus',
BLUR: 'blur',
LOCALE_UPDATED: 'locale-updated',
};

module.exports = ELECTRON_EVENTS;
16 changes: 16 additions & 0 deletions desktop/contextBridge.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ const {
const ELECTRON_EVENTS = require('./ELECTRON_EVENTS');

const WHITELIST_CHANNELS_RENDERER_TO_MAIN = [
ELECTRON_EVENTS.REQUEST_DEVICE_ID,
ELECTRON_EVENTS.REQUEST_FOCUS_APP,
ELECTRON_EVENTS.REQUEST_UPDATE_BADGE_COUNT,
ELECTRON_EVENTS.REQUEST_VISIBILITY,
Expand Down Expand Up @@ -59,6 +60,21 @@ contextBridge.exposeInMainWorld('electron', {
return ipcRenderer.sendSync(channel, data);
},

/**
* Execute a function in the main process and return a promise that resolves with its response.
*
* @param {String} channel
* @param {*} args
* @returns {Promise}
*/
invoke: (channel, ...args) => {
if (!_.contains(WHITELIST_CHANNELS_RENDERER_TO_MAIN, channel)) {
throw new Error(getErrorMessage(channel));
}

return ipcRenderer.invoke(channel, ...args);
},

/**
* Set up a listener for events emitted from the main process and sent to the renderer process.
*
Expand Down
3 changes: 3 additions & 0 deletions desktop/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ const serve = require('electron-serve');
const contextMenu = require('electron-context-menu');
const {autoUpdater} = require('electron-updater');
const log = require('electron-log');
const {machineId} = require('node-machine-id');
const ELECTRON_EVENTS = require('./ELECTRON_EVENTS');
const checkForUpdates = require('../src/libs/checkForUpdates');
const CONFIG = require('../src/CONFIG').default;
Expand Down Expand Up @@ -282,6 +283,8 @@ const mainWindow = (() => {
titleBarStyle: 'hidden',
});

ipcMain.handle(ELECTRON_EVENTS.REQUEST_DEVICE_ID, () => machineId());

/*
* The default origin of our Electron app is app://- instead of https://new.expensify.com or https://staging.new.expensify.com
* This causes CORS errors because the referer and origin headers are wrong and the API responds with an Access-Control-Allow-Origin that doesn't match app://-
Expand Down
13 changes: 12 additions & 1 deletion desktop/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion desktop/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@
"electron-context-menu": "^2.3.0",
"electron-log": "^4.4.7",
"electron-serve": "^1.0.0",
"electron-updater": "^4.3.4"
"electron-updater": "^4.3.4",
"node-machine-id": "^1.1.12"
},
"author": "Expensify, Inc.",
"license": "MIT",
Expand Down
2 changes: 2 additions & 0 deletions docs/_data/routes.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,5 +44,7 @@ hubs:
articles:
- href: Your-Expensify-Account-Manager
title: Your Expensify Account Manager
- href: Your-Expensify-Partner-Manager
title: Your Expensify Partner Manager
- href: Everything-About-Chat
title: Everything About Chat
34 changes: 34 additions & 0 deletions docs/articles/other/Your-Expensify-Partner-Manager.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
title: Your Expensify Partner Manager
description: Everything you need to know about your Expensify Partner Manager
---
<!-- The lines above are required by Jekyll to process the .md file -->

# What is a Partner Manager?
A Partner Manager is a dedicated point of contact to support our ExpensifyApproved! Accountants with questions about their Expensify account. Partner Managers support our accounting partners by providing recommendations for client's accounts, assisting with firm-wide training, and ensuring partners receive the full benefits of our partnership program. They will actively monitor open technical issues and be proactive with recommendations to increase efficiency and minimize time spent on expense management.

Unlike Concierge, a Partner Manager’s support will not be real-time, 24 hours a day. A benefit of Concierge is that you get real-time support every day. Your partner manager will be super responsive when online, but anything sent when they’re offline will not be responded to until they’re online again.

For real-time responses and simple troubleshooting issues, you can always message our general support by writing to Concierge via the in-product chat or by emailing concierge@expensify.com.

# How do I know if I have a Partner Manager?
For your firm to be assigned a Partner Manager, you must complete the [ExpensifyApproved! University](https://use.expensify.com/accountants) training course. Every external accountant or bookkeeper who completes the training is automatically enrolled in our program and receives all the benefits, including access to the Partner Manager. So everyone at your firm must complete the training to receive the maximum benefit.

You can check to see if you’ve completed the course and enrolled in the ExpensifyApproved! Accountants program simply by logging into your Expensify account. In the bottom left-hand corner of the website, you will see the ExpensifyApproved! logo.

# How do I contact my Partner Manager?
You can contact your Partner Manager by:
- Signing in to new.expensify.com and searching for your Partner Manager
- Replying to or clicking the chat link on any email you get from your Partner Manager

# FAQs
## How do I know if my Partner Manager is online?
You will be able to see if they are online via their status in new.expensify.com, which will either say “online” or have their working hours.

## What if I’m unable to reach my Partner Manager?
If you’re unable to contact your Partner Manager (i.e., they're out of office for the day) you can reach out to Concierge for assistance. Your Partner Manager will get back to you when they’re online again.

## Can I get on a call with my Partner Manager?
Of course! You can ask your Partner Manager to schedule a call whenever you think one might be helpful. Partner Managers can discuss client onboarding strategies, firm wide training, and client setups.

We recommend continuing to work with Concierge for **general support questions**, as this team is always online and available to help immediately.
4 changes: 2 additions & 2 deletions ios/NewExpensify/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.2.72</string>
<string>1.2.74</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleURLTypes</key>
Expand All @@ -30,7 +30,7 @@
</dict>
</array>
<key>CFBundleVersion</key>
<string>1.2.72.0</string>
<string>1.2.74.0</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.2.72</string>
<string>1.2.74</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.2.72.0</string>
<string>1.2.74.0</string>
</dict>
</plist>
36 changes: 21 additions & 15 deletions ios/Podfile.lock
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
PODS:
- Airship (16.8.0):
- Airship/Automation (= 16.8.0)
- Airship/Basement (= 16.8.0)
- Airship/Core (= 16.8.0)
- Airship/ExtendedActions (= 16.8.0)
- Airship/MessageCenter (= 16.8.0)
- Airship/Automation (16.8.0):
- Airship (16.10.7):
- Airship/Automation (= 16.10.7)
- Airship/Basement (= 16.10.7)
- Airship/Core (= 16.10.7)
- Airship/ExtendedActions (= 16.10.7)
- Airship/MessageCenter (= 16.10.7)
- Airship/Automation (16.10.7):
- Airship/Core
- Airship/Basement (16.8.0)
- Airship/Core (16.8.0):
- Airship/Basement (16.10.7)
- Airship/Core (16.10.7):
- Airship/Basement
- Airship/ExtendedActions (16.8.0):
- Airship/ExtendedActions (16.10.7):
- Airship/Core
- Airship/MessageCenter (16.8.0):
- Airship/MessageCenter (16.10.7):
- Airship/Core
- boost (1.76.0)
- CocoaAsyncSocket (7.6.5)
Expand Down Expand Up @@ -575,6 +575,8 @@ PODS:
- React-Core
- RNDateTimePicker (3.5.2):
- React-Core
- RNDeviceInfo (10.3.0):
- React-Core
- RNFastImage (8.6.3):
- React-Core
- SDWebImage (~> 5.11.1)
Expand Down Expand Up @@ -639,8 +641,8 @@ PODS:
- libwebp (~> 1.0)
- SDWebImage/Core (~> 5.10)
- SocketRocket (0.6.0)
- urbanairship-react-native (14.4.1):
- Airship (= 16.8.0)
- urbanairship-react-native (14.6.1):
- Airship (= 16.10.7)
- React-Core
- Yoga (1.14.0)
- YogaKit (1.18.1):
Expand Down Expand Up @@ -730,6 +732,7 @@ DEPENDENCIES:
- "RNCClipboard (from `../node_modules/@react-native-community/clipboard`)"
- "RNCPicker (from `../node_modules/@react-native-picker/picker`)"
- "RNDateTimePicker (from `../node_modules/@react-native-community/datetimepicker`)"
- RNDeviceInfo (from `../node_modules/react-native-device-info`)
- RNFastImage (from `../node_modules/react-native-fast-image`)
- "RNFBAnalytics (from `../node_modules/@react-native-firebase/analytics`)"
- "RNFBApp (from `../node_modules/@react-native-firebase/app`)"
Expand Down Expand Up @@ -901,6 +904,8 @@ EXTERNAL SOURCES:
:path: "../node_modules/@react-native-picker/picker"
RNDateTimePicker:
:path: "../node_modules/@react-native-community/datetimepicker"
RNDeviceInfo:
:path: "../node_modules/react-native-device-info"
RNFastImage:
:path: "../node_modules/react-native-fast-image"
RNFBAnalytics:
Expand Down Expand Up @@ -929,7 +934,7 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native/ReactCommon/yoga"

SPEC CHECKSUMS:
Airship: 4657c3d5118441240e04674d9445cbd6e363c956
Airship: fbff646723323c58e3871cd30488612ca373f597
boost: a7c83b31436843459a1961bfd74b96033dc77234
CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99
DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54
Expand Down Expand Up @@ -1019,6 +1024,7 @@ SPEC CHECKSUMS:
RNCClipboard: 41d8d918092ae8e676f18adada19104fa3e68495
RNCPicker: 0b65be85fe7954fbb2062ef079e3d1cde252d888
RNDateTimePicker: 7658208086d86d09e1627b5c34ba0cf237c60140
RNDeviceInfo: 4701f0bf2a06b34654745053db0ce4cb0c53ada7
RNFastImage: 5c9c9fed9c076e521b3f509fe79e790418a544e8
RNFBAnalytics: f76bfa164ac235b00505deb9fc1776634056898c
RNFBApp: 729c0666395b1953198dc4a1ec6deb8fbe1c302e
Expand All @@ -1033,7 +1039,7 @@ SPEC CHECKSUMS:
SDWebImage: a7f831e1a65eb5e285e3fb046a23fcfbf08e696d
SDWebImageWebPCoder: 908b83b6adda48effe7667cd2b7f78c897e5111d
SocketRocket: fccef3f9c5cedea1353a9ef6ada904fde10d6608
urbanairship-react-native: 7e2e9a84c541b1d04798e51f7f390a2d5806eac0
urbanairship-react-native: fe4d169332546a0efd348a009aa490dc36ff815e
Yoga: f77f6497bccebdcbc8efb03dbf83eadfdec6d104
YogaKit: f782866e155069a2cca2517aafea43200b01fd5a

Expand Down
Loading

0 comments on commit bd7e964

Please sign in to comment.