Skip to content

Commit e6d5964

Browse files
committed
Merge branch 'refs/heads/main' into remove-broken-connection-for-commercial-feed
2 parents 9914007 + 4cdf916 commit e6d5964

176 files changed

Lines changed: 4352 additions & 1127 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

README.md

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -443,15 +443,7 @@ Files should be named after the component/function/constants they export, respec
443443
- All React components should be PascalCase (a.k.a. UpperCamelCase 🐫).
444444

445445
## Platform-Specific File Extensions
446-
In most cases, the code written for this repo should be platform-independent. In such cases, each module should have a single file, `index.js`, which defines the module's exports. There are, however, some cases in which a feature is intrinsically tied to the underlying platform. In such cases, the following file extensions can be used to export platform-specific code from a module:
447-
- Mobile => `index.native.js`
448-
- iOS Native App/Android Native App => `index.ios.js`/`index.android.js`
449-
- Web => `index.website.js`
450-
- Desktop => `index.desktop.js`
451-
452-
**Note:** `index.js` should be the default and only platform-specific implementations should be done in their respective files. i.e: If you have mobile-specific implementation in `index.native.js`, then the desktop/web implementation can be contained in a shared `index.js`.
453-
454-
`index.ios.js` and `index.android.js` are used when the app is running natively on respective platforms. These files are not used when users access the app through mobile browsers, but `index.website.js` is used instead. `index.native.js` are for both iOS and Android native apps. `index.native.js` should not be included in the same module as `index.ios.js` or `index.android.js`.
446+
This section has moved [here](contributingGuides/philosophies/CROSS-PLATFORM.md).
455447

456448
## API building
457449
When adding new API commands (and preferably when starting using a new one that was not yet used in this codebase) always
@@ -659,10 +651,7 @@ This application is built with the following principles.
659651
5. UI updates with data from the server
660652

661653
1. **Cross Platform 99.9999%**
662-
1. A feature isn't done until it works on all platforms. Accordingly, don't even bother writing a platform-specific code block because you're just going to need to undo it.
663-
1. If the reason you can't write cross-platform code is because there is a bug in ReactNative that is preventing it from working, the correct action is to fix RN and submit a PR upstream -- not to hack around RN bugs with platform-specific code paths.
664-
1. If there is a feature that simply doesn't exist on all platforms and thus doesn't exist in RN, rather than doing if (platform=iOS) { }, instead write a "shim" library that is implemented with NOOPs on the other platforms. For example, rather than injecting platform-specific multi-tab code (which can only work on browsers, because it's the only platform with multiple tabs), write a TabManager class that just is NOOP for non-browser platforms. This encapsulates the platform-specific code into a platform library, rather than sprinkling through the business logic.
665-
1. Put all platform specific code in dedicated files and folders, like /platform, and reject any PR that attempts to put platform-specific code anywhere else. This maintains a strict separation between business logic and platform code.
654+
See details [here](contributingGuides/philosophies/CROSS-PLATFORM.md).
666655

667656
----
668657

android/app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,8 @@ android {
114114
minSdkVersion rootProject.ext.minSdkVersion
115115
targetSdkVersion rootProject.ext.targetSdkVersion
116116
multiDexEnabled rootProject.ext.multiDexEnabled
117-
versionCode 1009019702
118-
versionName "9.1.97-2"
117+
versionCode 1009019703
118+
versionName "9.1.97-3"
119119
// Supported language variants must be declared here to avoid from being removed during the compilation.
120120
// This also helps us to not include unnecessary language variants in the APK.
121121
resConfigs "en", "es"

config/webpack/webpack.common.ts

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -189,19 +189,12 @@ const getCommonConfiguration = ({file = '.env', platform = 'web'}: Environment):
189189
*/
190190
exclude: [new RegExp(`node_modules/(?!(${includeModules})/).*|.native.js$`)],
191191
},
192-
193192
// We are importing this worker as a string by using asset/source otherwise it will default to loading via an HTTPS request later.
194193
// This causes issues if we have gone offline before the pdfjs web worker is set up as we won't be able to load it from the server.
195194
{
196-
// eslint-disable-next-line prefer-regex-literals
197195
test: new RegExp('node_modules/pdfjs-dist/build/pdf.worker.min.mjs'),
198196
type: 'asset/source',
199197
},
200-
{
201-
// eslint-disable-next-line prefer-regex-literals
202-
test: new RegExp('node_modules/pdfjs-dist/legacy/build/pdf.worker.min.mjs'),
203-
type: 'asset/source',
204-
},
205198

206199
// Rule for react-native-web-webview
207200
{

0 commit comments

Comments
 (0)