Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
98 commits
Select commit Hold shift + click to select a range
418ccd7
chore: use react-native-launch-arguments new architecture supported v…
MounirDhahri Aug 20, 2025
ab45748
enable new arch
brainbicycle Aug 22, 2025
3b74b81
fix: unleash error
gkartalis Aug 27, 2025
397efc5
yarn install:all
brainbicycle Oct 7, 2025
26fb4a7
convert photopicker to c++ module to fix new arch compilation error
brainbicycle Oct 7, 2025
65d1022
convert helper to C++ and add needed imports to fix compilation issue
brainbicycle Oct 7, 2025
fd576ec
point to fixed version of context menu
brainbicycle Oct 7, 2025
9924ef6
chore: upgrade flashlist to v2
MounirDhahri Nov 14, 2025
ac5c5ab
chore: upgrade reanimated to v4
MounirDhahri Nov 14, 2025
50327a8
fix: artworks laayout on masonry
MounirDhahri Nov 14, 2025
40679e4
chore: upgrade gorhom
MounirDhahri Nov 14, 2025
1b11ad8
fix: infinite scroll issues
MounirDhahri Nov 14, 2025
644b94a
fix: temporarily disable launch-arguments
MounirDhahri Nov 14, 2025
f8f4438
Revert "chore: use date as android version code"
MounirDhahri Nov 17, 2025
a2f89a1
chore: use zeego menu instead of react-native-context-menu-view
MounirDhahri Nov 19, 2025
696228b
fix: issues with flashlist performance
MounirDhahri Nov 20, 2025
dde82ae
fix: issues with menu item
MounirDhahri Nov 21, 2025
e849db4
fix: issues with animations transform
MounirDhahri Nov 21, 2025
3e31393
chore: remove unnecessary blurhash from setupjest
MounirDhahri Nov 21, 2025
a811fe4
chore: add missing package
MounirDhahri Nov 21, 2025
2cef231
chore: run yarn install again
MounirDhahri Nov 21, 2025
5af97db
fix: broken test
MounirDhahri Nov 21, 2025
9528a92
fix: silence temporarily
MounirDhahri Nov 21, 2025
1fea9b6
fix: infinite discovery issues
MounirDhahri Nov 21, 2025
932cf11
fix: cleanup
MounirDhahri Nov 21, 2025
9cb2799
fix: skip building react-native-context
MounirDhahri Nov 21, 2025
4058e9a
chore: address pairing review comments
MounirDhahri Dec 3, 2025
e20b553
fix: share modal broken snap points
MounirDhahri Dec 3, 2025
ae5480a
fix: broken centering on create alert inside artwork screen
MounirDhahri Dec 3, 2025
b4543d2
fix: iOS 26 liquid glass issues
MounirDhahri Dec 3, 2025
81ea0d4
fix: sort and filter unstable padding
MounirDhahri Dec 3, 2025
a7dae57
chore: downgrade bottom sheet
MounirDhahri Dec 3, 2025
cc855ec
chore: upgrade react-native-pager-view
MounirDhahri Dec 3, 2025
1d09027
fix: issues with fullScreen modals
MounirDhahri Dec 8, 2025
baa9b59
feat: bring back react-native-launch-arguments
MounirDhahri Dec 8, 2025
20f0f82
fix: no space left on disk issues
MounirDhahri Dec 8, 2025
95afaa0
fix: broken test
MounirDhahri Dec 8, 2025
72f3719
fix: artwork rail card padding issue on android
MounirDhahri Dec 9, 2025
81ee466
fix: bring back old spacings for bottom sheet badges
MounirDhahri Dec 9, 2025
490fceb
chore: remove disableVirtualization
MounirDhahri Dec 9, 2025
6d93fdb
chore: upgrade palette-mobile to latest
MounirDhahri Dec 9, 2025
5f7931a
chore: improve performance of artist insights tab
MounirDhahri Dec 9, 2025
7c21689
fix: rn patch-package
MounirDhahri Dec 10, 2025
35c01c3
fix: revert auction results changes
MounirDhahri Dec 10, 2025
4def6b8
chore: bring back prefetching
MounirDhahri Dec 10, 2025
b719b1c
chore: self review
MounirDhahri Dec 10, 2025
45bbd56
fix: do not show dev menu on android on mouse scroll
MounirDhahri Dec 10, 2025
6dda2d3
fix: prevent dev menu from showing multiple times
MounirDhahri Dec 10, 2025
8ac5a53
fix: increase duration between taps
MounirDhahri Dec 10, 2025
fb8b4c4
chore: run android and ios maestro tests on the PR
gkartalis Dec 11, 2025
6f438ea
chore: add cleanup container step and increase timeout
gkartalis Dec 11, 2025
ca0bc4a
feat: add cleaninstall script
gkartalis Dec 11, 2025
81bc43f
remove clean from maestro ios build
gkartalis Dec 11, 2025
9ce73a1
chore: comment build failures
MounirDhahri Dec 15, 2025
9ff7911
fix(PBRW-1409): social account icons vertical centering (#13093)
MounirDhahri Dec 15, 2025
3f7bb52
chore: disable tab switch animation
MounirDhahri Dec 15, 2025
8faff58
fix: broken padding inside artist modals
MounirDhahri Dec 15, 2025
21bb5f5
fix: broken padding inside artist modals
MounirDhahri Dec 15, 2025
408565a
fix: broken padding inside create alert modal
MounirDhahri Dec 15, 2025
bfa22ad
fix: berghain mode create alert button
MounirDhahri Dec 15, 2025
346688a
fix: fair artworks grid paddings
MounirDhahri Dec 15, 2025
a7b1f7d
fix(PBRW-1413): infinite discovery onboarding issues (#13095)
MounirDhahri Dec 16, 2025
d350ebe
fix: artwork grid issues (#13096)
MounirDhahri Dec 16, 2025
800c192
fix(PBRW-1411): create alert modal info button (#13094)
MounirDhahri Dec 16, 2025
6827833
fix: webview bugs on new arch (#13097)
brainbicycle Dec 16, 2025
19feaa2
fix: broken generic grid padding (#13102)
MounirDhahri Dec 16, 2025
c8ae3ce
chore: bump palette-mobile again
MounirDhahri Dec 16, 2025
5c44d54
chore: do not delete global android caches
MounirDhahri Dec 16, 2025
2c37816
chore: increase memory on android
MounirDhahri Dec 16, 2025
bce3cdd
chore: add mise install to install
MounirDhahri Dec 16, 2025
39a6ad8
fix: duplicate key
MounirDhahri Dec 16, 2025
4bad1e6
fix: attempt to fix android build
MounirDhahri Dec 16, 2025
d1084bc
chore: bump android cache
MounirDhahri Dec 17, 2025
7603ef4
run build with --info and store build log
MrSltun Dec 17, 2025
c454cf0
fix: broken android build (#13106)
MounirDhahri Dec 17, 2025
99bdd95
fix: padding issues on new arch (#13105)
brainbicycle Dec 17, 2025
142ce67
fix: fair screen artworks tab issues (#13109)
MounirDhahri Dec 19, 2025
6752901
fix: artwork grid padding issues
MounirDhahri Dec 29, 2025
82b1c78
chore: bump palette-mobile version
MounirDhahri Dec 29, 2025
4cf33ad
chore: bump palette-mobile again
MounirDhahri Dec 29, 2025
d6c0644
chore: use PagerView instead of horizontal Flatlist for artist insights
MounirDhahri Dec 29, 2025
2acaef0
fix: nested scrollview warning
MounirDhahri Dec 29, 2025
42e108f
chore: enable freeze for performance
MounirDhahri Dec 29, 2025
852460c
fix: blank screen on sign out
MounirDhahri Jan 5, 2026
ea2133c
chore: do not freeze
MounirDhahri Jan 5, 2026
ef19f55
chore: update launch arguments version
MounirDhahri Jan 5, 2026
af5383b
fix: broken career highlights year test
MounirDhahri Jan 5, 2026
59bc54a
free up disk space
gkartalis Jan 5, 2026
2319d27
increase timeout for ios build
gkartalis Jan 5, 2026
105675f
free disk space
gkartalis Jan 6, 2026
91d36bc
free disk space
gkartalis Jan 6, 2026
462652f
retry ios
gkartalis Jan 6, 2026
4f57032
fix dev menu
gkartalis Jan 6, 2026
58d6314
revert branch specific e2e run logic
gkartalis Jan 6, 2026
0727bb4
chore: bring back slack alert for beta failures
gkartalis Jan 6, 2026
19c6db5
chore: enhance hacks.md adding info about rn patch
gkartalis Jan 6, 2026
94a621b
fix: update setSliderPage event type to use NativeSyntheticEvent
gkartalis Jan 6, 2026
bef3a6a
Update src/app/Components/WorksForYou/__tests__/Notification.tests.tsx
gkartalis Jan 6, 2026
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
9 changes: 6 additions & 3 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -491,6 +491,9 @@ jobs:
- store_artifacts:
path: android/app/build/reports

- store_artifacts:
path: .gradle/daemon/

- save_cache:
key: << pipeline.parameters.android_native_cache_key >>
paths:
Expand Down Expand Up @@ -518,7 +521,7 @@ parameters:
# Update Manually these versions below in order to hard overwrite the caches
node_modules_cache_key:
type: string
default: v28-node_modules-{{ checksum ".manifests/node_modules" }}
default: v29-node_modules-{{ checksum ".manifests/node_modules" }}
gems_cache_key:
type: string
default: v13-gems-{{ checksum "Gemfile.lock" }}-{{ arch }}
Expand All @@ -530,14 +533,14 @@ parameters:
default: v30-app_build_ios-{{ checksum ".manifests/app_build" }}
app_build_android_cache_key:
type: string
default: v15-app_build_android-{{ checksum "../workspace/.manifests/app_build" }}
default: v16-app_build_android-{{ checksum "../workspace/.manifests/app_build" }}
ios_native_code_cache_prefix:
type: string
# this one is not including the checksum due to path differences in the checksum
default: v19-test-success
android_native_cache_key:
type: string
default: v18-test-success-{{ checksum "../workspace/.manifests/android_native" }}
default: v19-test-success-{{ checksum "../workspace/.manifests/android_native" }}

workflows:
nightly:
Expand Down
13 changes: 12 additions & 1 deletion .github/workflows/android-e2e-maestro.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,17 @@ jobs:
- name: Add Maestro to PATH
run: echo "$HOME/.maestro/bin" >> $GITHUB_PATH

- name: Free Disk Space
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be
with:
tool-cache: false
android: false
dotnet: true
haskell: true
large-packages: true
docker-images: true
swap-storage: true

- name: Run tests with Android emulator
uses: reactivecircus/android-emulator-runner@v2
with:
Expand All @@ -73,7 +84,7 @@ jobs:
arch: x86_64
ram-size: "8192M"
heap-size: "4096M"
disk-size: "10G"
disk-size: "8G"
cores: 4
disable-animations: false
disable-spellchecker: true
Expand Down
11 changes: 11 additions & 0 deletions .github/workflows/build-deploy-android-firebase.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,17 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4

- name: Free Disk Space
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We had multiple multiple OOM issues on android. I am solving that by using this action that removes some tools we don't use to free up some memory.
I am intentionally here using the commit hash instead of main or a tag to make sure it doesn't get tampered

with:
tool-cache: false
android: false
dotnet: true
haskell: true
large-packages: true
docker-images: true
swap-storage: true

- uses: webfactory/ssh-agent@v0.9.1
with:
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
Expand Down
11 changes: 11 additions & 0 deletions .github/workflows/build-deploy-android-playstore.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,17 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4

- name: Free Disk Space
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be
with:
tool-cache: false
android: false
dotnet: true
haskell: true
large-packages: true
docker-images: true
swap-storage: true

- uses: webfactory/ssh-agent@v0.9.1
with:
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
Expand Down
21 changes: 16 additions & 5 deletions .github/workflows/build-maestro-android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,23 @@ jobs:
build-android-qa:
if: github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
timeout-minutes: 60
timeout-minutes: 90

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Free Disk Space
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be
with:
tool-cache: false
android: false
dotnet: true
haskell: true
large-packages: true
docker-images: true
swap-storage: true

- name: Set up Java 17
uses: actions/setup-java@v4
with:
Expand Down Expand Up @@ -54,9 +65,9 @@ jobs:
uses: actions/cache@v4
with:
path: .yarn/cache
key: yarn-v4-${{ runner.os }}-${{ hashFiles('yarn.lock') }}
key: yarn-v5-${{ runner.os }}-${{ hashFiles('yarn.lock') }}
restore-keys: |
yarn-v4-${{ runner.os }}-
yarn-v5-${{ runner.os }}-
- name: Install Node.js dependencies
run: yarn install --immutable
Expand All @@ -68,9 +79,9 @@ jobs:
~/.gradle/caches
~/.gradle/wrapper
android/.gradle
key: gradle-v2-${{ runner.os }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
key: gradle-v3-${{ runner.os }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
gradle-v2-${{ runner.os }}-
gradle-v3-${{ runner.os }}-
- name: Download fonts from s3
run: ./scripts/setup/download-fonts
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/build-maestro-ios.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
build-ios-qa:
if: github.ref == 'refs/heads/main'
runs-on: macos-15
timeout-minutes: 60
timeout-minutes: 120

steps:
- name: Checkout repository
Expand Down Expand Up @@ -48,9 +48,9 @@ jobs:
uses: actions/cache@v4
with:
path: .yarn/cache
key: yarn-v4-${{ runner.os }}-${{ hashFiles('yarn.lock') }}
key: yarn-v5-${{ runner.os }}-${{ hashFiles('yarn.lock') }}
restore-keys: |
yarn-v4-${{ runner.os }}-
yarn-v5-${{ runner.os }}-

- name: Install Node.js dependencies
run: yarn install --immutable
Expand All @@ -62,9 +62,9 @@ jobs:
path: |
ios/Pods
~/Library/Caches/CocoaPods
key: pods-v2-${{ runner.os }}-${{ hashFiles('**/Podfile.lock') }}
key: pods-v3-${{ runner.os }}-${{ hashFiles('**/Podfile.lock') }}
restore-keys: |
pods-v2-${{ runner.os }}-
pods-v3-${{ runner.os }}-

- name: Download fonts from s3
run: ./scripts/setup/download-fonts
Expand Down
2 changes: 0 additions & 2 deletions EXAMPLES.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,5 +114,3 @@ Links:

- [OnboardingWelcome.tsx](src/app/Scenes/Onboarding/OnboardingWelcome.tsx)
- [Search.tsx](src/app/Scenes/Search/Search.tsx)
- [AnimatableHeaderLargeTitle.tsx](src/app/Components/AnimatableHeader/AnimatableHeaderLargeTitle.tsx)
- [AnimatableHeader.tsx](src/app/Components/AnimatableHeader/AnimatableHeader.tsx)
25 changes: 25 additions & 0 deletions HACKS.md
Original file line number Diff line number Diff line change
Expand Up @@ -283,3 +283,28 @@ not reset. This causes the module to never start listening again causing events
#### When can we remove this:

It can be removed once if we stop using the singleton pattern or get rid of ARNotificationsManagerModule, or it is fixed upstream.

## react-native-reanimated package.json flags and react-native patch

### USE_COMMIT_HOOK_ONLY_FOR_REACT_COMMITS

#### Explanation/Context:

This feature flag was added to fix performance issues with scrolling. See https://docs.swmansion.com/react-native-reanimated/docs/guides/performance/#%EF%B8%8F-lower-fps-while-scrolling

We also added a patch to react-native to support this flag and temporarily enabled preventShadowTreeCommitExhaustion and enableCppPropsIteratorSetter flags to fix performance issues.

#### When can we remove this:

When reanimated adopts this by default.

## react-native-webview passing constant for decelerationRate prop

#### Explanation/Context:

This is a bug on the new architecture on Android with this prop and react-native-webview.

#### When can we remove this:

When this is merged and we update react-native-webview to a version that contains it:
https://github.com/react-native-webview/react-native-webview/pull/3885
2 changes: 1 addition & 1 deletion android/gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64
# your application. You should enable this flag either if you want
# to write custom TurboModules/Fabric components OR use libraries that
# are providing them.
newArchEnabled=false
newArchEnabled=true
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎉

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🥳


# Use this property to enable or disable the Hermes JS engine.
# If set to false, you will be using JSC instead.
Expand Down
2 changes: 1 addition & 1 deletion babel.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ module.exports = (api) => {
"relay",

["module-resolver", { alias: moduleResolverAlias }],
"react-native-reanimated/plugin", // has to be listed last according to the documentation. https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/installation/#babel-plugin
"react-native-worklets/plugin", // has to be listed last according to the documentation. https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/installation/#babel-plugin
]

const prodPlugins = [["transform-remove-console", { exclude: ["error"] }], ...plugins]
Expand Down
1 change: 0 additions & 1 deletion docs/best_practices.md
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,6 @@ const App = () => {
return (
<FlashList
renderItem={renderItem}
estimatedItemSize={ESTIMATED_ITEM_SIZE}
keyExtractor={keyExtractor}
>
)
Expand Down
16 changes: 8 additions & 8 deletions ios/Artsy.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
1A4B97C1283CDD5A00878EAE /* ARTemporaryAPIModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A4B979D283CDD5900878EAE /* ARTemporaryAPIModule.m */; };
1A4B97C3283CDD5A00878EAE /* ARMediaPreviewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A4B97A1283CDD5900878EAE /* ARMediaPreviewController.m */; };
1A4B97C6283CDD5A00878EAE /* ARComponentViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A4B97A9283CDD5900878EAE /* ARComponentViewController.m */; };
1A4B97C8283CDD5A00878EAE /* ARPHPhotoPickerModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A4B97AF283CDD5900878EAE /* ARPHPhotoPickerModule.m */; };
1A4B97C8283CDD5A00878EAE /* ARPHPhotoPickerModule.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1A4B97AF283CDD5900878EAE /* ARPHPhotoPickerModule.mm */; };
1A4B97C9283CDD5A00878EAE /* ARNotificationsManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A4B97B0283CDD5900878EAE /* ARNotificationsManager.m */; };
1A4E5119283F91BA0008EF35 /* Artsy+UILabels.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A4E50FB283F91B90008EF35 /* Artsy+UILabels.m */; };
1A4E511A283F91BA0008EF35 /* UIView+ARDrawing.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A4E50FC283F91B90008EF35 /* UIView+ARDrawing.m */; };
Expand Down Expand Up @@ -216,7 +216,7 @@
CB762B3E2911A5E100881194 /* ar_vir_opening_frame.jpg in Resources */ = {isa = PBXBuildFile; fileRef = CB762B362911A5E100881194 /* ar_vir_opening_frame.jpg */; };
CBA500F32C654F8400DDBCC0 /* AppDelegate+DeeplinkTimeout.m in Sources */ = {isa = PBXBuildFile; fileRef = CBA500F22C654F8400DDBCC0 /* AppDelegate+DeeplinkTimeout.m */; };
CBA500F62C6553FF00DDBCC0 /* ARTDeeplinkTimeoutModule.m in Sources */ = {isa = PBXBuildFile; fileRef = CBA500F52C6553FF00DDBCC0 /* ARTDeeplinkTimeoutModule.m */; };
CBC1F3F12E68CF11008CCF48 /* ARAppDelegateHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = CBC1F3F02E68CF11008CCF48 /* ARAppDelegateHelper.m */; };
CBC1F3F12E68CF11008CCF48 /* ARAppDelegateHelper.mm in Sources */ = {isa = PBXBuildFile; fileRef = CBC1F3F02E68CF11008CCF48 /* ARAppDelegateHelper.mm */; };
CBC1F3F42E68D0D7008CCF48 /* ARWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = CBC1F3F32E68D0D4008CCF48 /* ARWindow.m */; };
CBD794D72BBB5622003B3CB5 /* StarscreamExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBD794D62BBB5622003B3CB5 /* StarscreamExtensions.swift */; };
CBD794DB2BBC40A4003B3CB5 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = CBD794DA2BBC40A4003B3CB5 /* PrivacyInfo.xcprivacy */; };
Expand Down Expand Up @@ -555,7 +555,7 @@
1A4B97A9283CDD5900878EAE /* ARComponentViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARComponentViewController.m; sourceTree = "<group>"; };
1A4B97AC283CDD5900878EAE /* ARPHPhotoPickerModule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARPHPhotoPickerModule.h; sourceTree = "<group>"; };
1A4B97AD283CDD5900878EAE /* ARNotificationsManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARNotificationsManager.h; sourceTree = "<group>"; };
1A4B97AF283CDD5900878EAE /* ARPHPhotoPickerModule.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARPHPhotoPickerModule.m; sourceTree = "<group>"; };
1A4B97AF283CDD5900878EAE /* ARPHPhotoPickerModule.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ARPHPhotoPickerModule.mm; sourceTree = "<group>"; };
1A4B97B0283CDD5900878EAE /* ARNotificationsManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARNotificationsManager.m; sourceTree = "<group>"; };
1A4E50FB283F91B90008EF35 /* Artsy+UILabels.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "Artsy+UILabels.m"; sourceTree = "<group>"; };
1A4E50FC283F91B90008EF35 /* UIView+ARDrawing.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+ARDrawing.m"; sourceTree = "<group>"; };
Expand Down Expand Up @@ -916,7 +916,7 @@
CBA500F52C6553FF00DDBCC0 /* ARTDeeplinkTimeoutModule.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ARTDeeplinkTimeoutModule.m; sourceTree = "<group>"; };
CBA7CF22282BF6310025AEA5 /* Artsy_Tests-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Artsy_Tests-Info.plist"; sourceTree = "<group>"; };
CBC1F3EF2E68CF11008CCF48 /* ARAppDelegateHelper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ARAppDelegateHelper.h; sourceTree = "<group>"; };
CBC1F3F02E68CF11008CCF48 /* ARAppDelegateHelper.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ARAppDelegateHelper.m; sourceTree = "<group>"; };
CBC1F3F02E68CF11008CCF48 /* ARAppDelegateHelper.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = ARAppDelegateHelper.mm; sourceTree = "<group>"; };
CBC1F3F22E68D0CC008CCF48 /* ARWindow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ARWindow.h; sourceTree = "<group>"; };
CBC1F3F32E68D0D4008CCF48 /* ARWindow.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ARWindow.m; sourceTree = "<group>"; };
CBD794D62BBB5622003B3CB5 /* StarscreamExtensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StarscreamExtensions.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -1429,7 +1429,7 @@
children = (
1A4B97AC283CDD5900878EAE /* ARPHPhotoPickerModule.h */,
1A4B97AD283CDD5900878EAE /* ARNotificationsManager.h */,
1A4B97AF283CDD5900878EAE /* ARPHPhotoPickerModule.m */,
1A4B97AF283CDD5900878EAE /* ARPHPhotoPickerModule.mm */,
1A4B97B0283CDD5900878EAE /* ARNotificationsManager.m */,
);
path = EigenCommunications;
Expand Down Expand Up @@ -2543,7 +2543,7 @@
CBC1F3F22E68D0CC008CCF48 /* ARWindow.h */,
CBC1F3F32E68D0D4008CCF48 /* ARWindow.m */,
CBC1F3EF2E68CF11008CCF48 /* ARAppDelegateHelper.h */,
CBC1F3F02E68CF11008CCF48 /* ARAppDelegateHelper.m */,
CBC1F3F02E68CF11008CCF48 /* ARAppDelegateHelper.mm */,
CB2033332E56593700A06281 /* main.swift */,
CB51280D2DB2EBCE00C6A884 /* AppDelegateCategories */,
CBE3249927E275A100395A93 /* ARTArtsyNativeModule.h */,
Expand Down Expand Up @@ -3892,7 +3892,7 @@
CBD794D72BBB5622003B3CB5 /* StarscreamExtensions.swift in Sources */,
CBE326AF27E275A300395A93 /* LiveAuctionLoadingView.swift in Sources */,
CBE326E127E275A300395A93 /* ARFileUtils.m in Sources */,
1A4B97C8283CDD5A00878EAE /* ARPHPhotoPickerModule.m in Sources */,
1A4B97C8283CDD5A00878EAE /* ARPHPhotoPickerModule.mm in Sources */,
CBE3269727E275A300395A93 /* AppDelegate+ShortcutItems.m in Sources */,
CBE326E627E275A300395A93 /* UIApplicationStateEnum.m in Sources */,
CBE3270E27E275A300395A93 /* AuctionTitleView.swift in Sources */,
Expand Down Expand Up @@ -3944,7 +3944,7 @@
CBE3267727E275A300395A93 /* UIImageView+AsyncImageLoading.m in Sources */,
CB18284829DF3F75006A0805 /* Utilities.swift in Sources */,
CBE3271D27E275A300395A93 /* ARNotificationView.m in Sources */,
CBC1F3F12E68CF11008CCF48 /* ARAppDelegateHelper.m in Sources */,
CBC1F3F12E68CF11008CCF48 /* ARAppDelegateHelper.mm in Sources */,
CBE3276C27E275A400395A93 /* MTLModel+Dictionary.m in Sources */,
CBE326E427E275A300395A93 /* ARNetworkErrorManager.m in Sources */,
CBE326A027E275A300395A93 /* ARUserActivity.m in Sources */,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,19 @@
#import "ARUserManager.h"
#import "Keys.h"
#import "ARAppStatus.h"
#import <FBSDKCoreKit/FBSDKCoreKit-Swift.h>


#import <AuthenticationServices/AuthenticationServices.h>
#import <SafariServices/SafariServices.h>
#import <FBSDKCoreKit/FBSDKCoreKit-swift.h>


#import <Firebase.h>
#import "BrazeReactBridge.h"
#import "BrazeReactUtils.h"
#import <BrazeUI/BrazeUI-Swift.h>
Comment on lines +14 to 23
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

style: added imports for AuthenticationServices and SafariServices when converting to C++, but these frameworks don't appear to be used - consider removing unused imports



@interface ARAppDelegateHelper ()
@property (strong, nonatomic, readwrite) NSString *referralURLRepresentation;
@property (strong, nonatomic, readwrite) NSString *landingURLRepresentation;
Expand Down
4 changes: 3 additions & 1 deletion ios/Artsy/App_Resources/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,8 @@
</array>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UIDesignRequiresCompatibility</key>
<true />
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For iOS under 26, it's not necessary. But for iOS 26 and above, I needed it to disable liquid glass until we discuss things together with design (planning on doing this on Q1 2025).
Without this, the back button arrow isn't centered, the right button isn't centered properly vertically and is taking too much space. The dev menu also breaks.

  • I started initially to fix things but it became quite a big task because apple has some guidelines that do not match our design system and it made the experience weird (liquid glass back button sometimes, and sometimes our own back button)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

explanation makes sense and fair to enable but should it be part of this PR? I think liquid glass is automatically opted in new arch or not

<key>LSSupportsOpeningDocumentsInPlace</key>
<true/>
<key>MGLGlyphsRasterizationMode</key>
Expand Down Expand Up @@ -144,7 +146,7 @@
<key>NSPhotoLibraryUsageDescription</key>
<string>Photos will be used to gauge the quality of the work you are submitting.</string>
<key>RCTNewArchEnabled</key>
<false/>
<true/>
<key>UIAppFonts</key>
<array>
<string>Unica77LL-Italic.otf</string>
Expand Down
2 changes: 1 addition & 1 deletion ios/ArtsyStickers/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,6 @@
<string>StickerBrowserViewController</string>
</dict>
<key>RCTNewArchEnabled</key>
<false/>
<true/>
</dict>
</plist>
2 changes: 1 addition & 1 deletion ios/ArtsyWidget/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,6 @@
<string>com.apple.widgetkit-extension</string>
</dict>
<key>RCTNewArchEnabled</key>
<false/>
<true/>
</dict>
</plist>
2 changes: 1 addition & 1 deletion ios/BrazePushServiceExtension/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,6 @@
<string>$(PRODUCT_MODULE_NAME).NotificationService</string>
</dict>
<key>RCTNewArchEnabled</key>
<false/>
<true/>
</dict>
</plist>
2 changes: 1 addition & 1 deletion ios/Podfile
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ target 'Artsy' do
:production => ENV['CIRCLE_BUILD_NUM'],
# An absolute path to your application root.
:app_path => "#{Pod::Config.instance.installation_root}/..",
new_arch_enabled: false
new_arch_enabled: true
)

# Networking
Expand Down
Loading