Skip to content

Commit

Permalink
chore: new app shell 🐚 (#6086)
Browse files Browse the repository at this point in the history
* base deps

* some new deps and patches

* types

* android still works!

* tiny

* wip

* boom

* more

* old ios works!!

* remove asdf patch section for now, causing build issues

* move ios folder to main directory

* upgrade cli tools

* bring some small things from 67

* bring back asdf

* merge android

* pods

* temp

* docs

* good

* nice

* mapbox set up

* new flag

* SWEEEEEEET

* start updating entry, return placeholder native modules for now

* try returning AndroidApp entry

* add placeholder native module, flag check for launch count

* segment setup call in app delegate, env not working

* placeholder constants from native module

* only initialize google sign in on android

* load the config in podfile, patch the patch to get correct directory

* update todos

* common

* fonts

* fix mainQueue warning for native module

* put native tabs behind flag, move flag to function

* fix types in echo tests

* move icon

* secrets

* cool

* cool

* aha

* wip

* aha

* boom

* test

* cool

* aha

* ok

* try

* changes

* more

* some more

* back to bash

* rename

* fix

* remove unused script

* Add all native ios code to project, test native view components

* Check platform for temporary push crash fix

* Add a doc for platform deltas

* Add emission and dependencies to podfile

* Add all pods + postinstall scripts necessary to compile new project

* Remove duplicate and test symbols, specify bridging header

* Conditionally import swift header file for app shell

* use old project plist and app delegate, google plist

* don't use wrapper native view controller when using app shell

* use the native modules again on iOS

* add prebuild script for setting metro host

* tab switching works!

* tab switching works, for real this time

* update baseline

* fix type errors

* using the typescript screen presenter module, nav works!

* expose city guide as a native view

* fix tab access error when presenting cityGuide, scrollView issue with react-native-scrollable-tab-view

* update secrets baseline

* register new live auction native module with placeholder view

* native view manager for live auctions, passing slug down

* add guard to prevent crash in live auctions

* match more versions in podfile, deployment target

* handle modal dismiss in live auctions

* New native module for independent native screens, view in room working

* move email composer to new module

* make media previews work, update platform deltas

* add placeholder view module for old admin

* navigate to admin menu rather than global component, modals appearing underneath

* add the real old admin vc to the component

* add a dismiss button to old admin

* fix android app registration

* remove native webview flag and ts code

* fix ios app registration

* remove native webview code

* update async storage imports after merge

* re-add native code references for some reason broke after merge

* rename the project to be consistent with old project

* some changes to enable shipping betas

* point to commit hash to insure no unintended updates

* git mv App dir to new ios directory

* update paths in scripts, update project settings, compiling again

* fix warnings in build phases, remove duplicate proj

* main merge

* add stickers target to new project

* add braze push extension to new project

* add widget target to the new project, update baseline

* cleanup

* cool

* add test target to project, dependencies and hacks, tests passing

* update the react native config patch to fix var loading

* point to correct entitlements file to fix deeplinks

* match artsy parent proj settings

match artsy parent proj settings

add c compiler flags in proj settings

* match artsy target general settings, remove unused launch screen

* match artsy target custom build settings

* match artsy test target build settings

* match artsy stickers target build settings

* match widget target build settings

* match rich push target build settings

* match artsy scheme settings

* add release build scheme

* get rid of app shell checks in the entry point

* add live auctions to platform deltas

* default to the new app shell way in ts

* default to the new app shell way in native

* delete old screen presenter and native tabs

* remove now unsupported method call from sign out

* mark a couple todos done

* default to new scripts

* move flags todos to done

* delete the old project and workspace

* prevent landscape mode on phones

* add note about admin issue

* configure google sign in on iOS, fixes sign out issue

* rename AndroidApp -> App, remove now unused main component

* call sync native state hook to fix token registration

* fix bottom toast spacing

* simplify

* python and platform-specific

* ok

* fix(MOPLAT-213): partial revert of #6386, add back auction web view (#6602)

* partial revert of #6386, add back auction web view

* update auction registration url
# Conflicts:
#	Artsy.xcodeproj/project.pbxproj
#	Artsy/App/ARScreenPresenterModule.m
#	ios/Artsy_Tests/View_Controller_Tests/Web_Browsing/ARAuctionWebViewControllerTests.m
#	ios/Podfile.lock

* delete now unused native module func

* remove redundant update echo step

* update pod install path

* update pod cache paths

* update paths and vars for ios build

* gem updates

* fix native test plist path

* fix native test plist path

* fix plist paths in beta build, add missing keys

* cool

* fix tab navigator tests

* delete now unused native tabs component

* rename unsafe_switchtab now that it can be used on both platforms

* fix bottom tabs tests

* fix artist tests

* fix commercial info tests

* more consistent switchTab function

* fix navigate tests

* fix bottom tabs button tests

* fix most artwork link tests

* fix artwork tests

* fix most artist consign button tests

* fix artist about tests

* update tab mocking in artwork link test

* update tab mocking in artist consignment button tests

* update native module mocking in hidebackbutton tests

* fix import and pod install after merge

* update native module mocking in setupJest

* fix updated commercial info tests

* fix update ArtworkExtraLinks tests

* fix bottom tabs nav tests

* fix artwork action tests

* fix auth model tests

* fix casing in store mock

* remove unused switch tab global store action

* add mapbox creds functions to podfile

* fix commercial info tests again

* fix stickers plist path

* try busting cache for ios build

* fix path for test bridging header

* fix other test paths

* update closed auction snapshot

* update mocking in nav tests

* remove repeated line in editor config

* undo unnecessary ARComponentViewController change

* remove workspace file that should be ignored

* fix codesigning path

* react-native-config

* remove outdated TODO

* pass path to ios build

* mock logOperation so it is not dependent on metaflags

* LOL

* remove mock, read metaflags in test env

* main diffs

* rename scheme store, explicit separate signing configs

* add missing sticker app icon

* add missing sticker device capabilities key

* use one index.js file

* update lockfile and scheme names

* delete todo.txt

* Revert "use one index.js file"

This reverts commit 48a4ecb.

* update rn config again, bad merge

* update patch version number

* Revert "update patch version number"

This reverts commit 15f656c.

* update patch version number take 2

Co-authored-by: brainbicycle <[email protected]>
Co-authored-by: Brian Beckerle <[email protected]>
  • Loading branch information
3 people authored Jun 9, 2022
1 parent c81029a commit 2c4480b
Show file tree
Hide file tree
Showing 1,049 changed files with 7,802 additions and 8,396 deletions.
37 changes: 17 additions & 20 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -135,35 +135,32 @@ commands:
- save_cache:
key: v4-gems-{{ checksum "Gemfile.lock" }}-{{ arch }}
paths:
- vendor/bundle
- .vendor
install-cocoapods:
steps:
- restore_cache:
keys:
- v9-pods-{{ checksum ".manifests/cocoapods" }}
- run:
name: Install Pods
command: bundle exec pod check --ignore-dev-pods || bundle exec pod install
- run:
name: Update echo
command: ls Artsy/App/EchoNew.json || ./scripts/update-echo
command: cd ios; bundle exec pod check --ignore-dev-pods || bundle exec pod install; cd ..;
- save_cache:
key: v9-pods-{{ checksum ".manifests/cocoapods" }}
paths:
- Pods
# this changes after pod install because we don't instal dev tools on CI
- ios/Pods
# this changes after pod install because we don't install dev tools on CI
# so we save it to the cache to avoid comparison errors with Pods/Manifest.lock
- Podfile.lock
- ios/Podfile.lock
build-app-ios:
steps:
- restore_cache:
keys:
- v5-app_build_ios-{{ checksum ".manifests/app_build" }}
- v6-app_build_ios-{{ checksum ".manifests/app_build" }}
- run:
name: Build App
command: ./scripts/ci-ios
- save_cache:
key: v5-app_build_ios-{{ checksum ".manifests/app_build" }}
key: v6-app_build_ios-{{ checksum ".manifests/app_build" }}
paths:
- derived_data
- node_modules/react-native-config
Expand Down Expand Up @@ -225,7 +222,7 @@ jobs:

deploy-nightly-beta:
environment:
BUNDLE_PATH: vendor/bundle # path to install gems and use for caching
BUNDLE_PATH: .vendor # path to install gems and use for caching

macos:
xcode: 13.2.1
Expand Down Expand Up @@ -269,7 +266,7 @@ jobs:

check-flags:
environment:
BUNDLE_PATH: vendor/bundle # path to install gems and use for caching
BUNDLE_PATH: .vendor # path to install gems and use for caching

macos:
xcode: 13.2.1
Expand All @@ -285,7 +282,7 @@ jobs:

check-if-app-has-been-approved-for-release:
environment:
BUNDLE_PATH: vendor/bundle # path to install gems and use for caching
BUNDLE_PATH: .vendor # path to install gems and use for caching

macos:
xcode: 13.2.1
Expand Down Expand Up @@ -366,7 +363,7 @@ jobs:

build-test-app-ios:
environment:
BUNDLE_PATH: vendor/bundle # path to install gems and use for caching
BUNDLE_PATH: .vendor # path to install gems and use for caching

macos:
xcode: 13.2.1
Expand All @@ -376,7 +373,7 @@ jobs:
at: ../workspace
- restore_cache:
keys:
- v6-test-success-{{ checksum "../workspace/.manifests/native_code" }}
- v7-test-success-{{ checksum "../workspace/.manifests/native_code" }}
# we can quit the macos build early if there were no native code changes
# and we're not on the beta branch
- run:
Expand Down Expand Up @@ -413,7 +410,7 @@ jobs:
name: Run tests if native code has changed
command: ls xcode_test_raw.log || ./scripts/ci-test-ios
- save_cache:
key: v6-test-success-{{ checksum ".manifests/native_code" }}
key: v7-test-success-{{ checksum ".manifests/native_code" }}
paths:
- xcode_test_raw.log

Expand All @@ -438,7 +435,7 @@ jobs:

build-test-app-android:
environment:
BUNDLE_PATH: vendor/bundle # path to install gems and use for caching
BUNDLE_PATH: .vendor # path to install gems and use for caching
docker:
- image: circleci/android:api-29-node
resource_class: large
Expand All @@ -465,7 +462,7 @@ jobs:

promote-beta-to-app-store:
environment:
BUNDLE_PATH: vendor/bundle # path to install gems and use for caching
BUNDLE_PATH: .vendor # path to install gems and use for caching
macos:
xcode: 13.2.1
steps:
Expand All @@ -479,7 +476,7 @@ jobs:

promote-beta-to-play-store:
environment:
BUNDLE_PATH: vendor/bundle # path to install gems and use for caching
BUNDLE_PATH: .vendor # path to install gems and use for caching

docker:
- image: circleci/android:api-29-node
Expand Down Expand Up @@ -512,7 +509,7 @@ jobs:
path: .manifests
release-ios-app:
environment:
BUNDLE_PATH: vendor/bundle # path to install gems and use for caching
BUNDLE_PATH: .vendor # path to install gems and use for caching
macos:
xcode: 13.2.1
steps:
Expand Down
14 changes: 9 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,7 @@ tmtags
tmtagsHistory
config/releasenotes.txt
Podfile.local
chairs/
Artsy.xcodeproj/project.xcworkspace/xcshareddata/
ios/Artsy.xcodeproj/project.xcworkspace/xcshareddata/
.vendor/
compiler_commands.json
.swiftpm
Expand All @@ -33,15 +32,19 @@ net.artsy.artsy.dev.pem
.clang-format

# See note in Podfile
Artsy/App/Echo.json
Artsy/App/EchoNew.json
ios/Artsy/App/Echo.json
ios/Artsy/App/EchoNew.json

# Fastlane
Preview.html
fastlane/report.xml
fastlane/Preview.html

.vscode/.browse.VC.db
<<<<<<< HEAD
ios/Artsy.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
=======
>>>>>>> origin/main

.vendor

Expand All @@ -50,7 +53,7 @@ Pods

# build artefacts
derived_data
Artsy/Networking/ARReactPackagerHost.m
ios/Artsy/Networking/ARReactPackagerHost.m

# COPIED FROM EMISSION

Expand Down Expand Up @@ -132,6 +135,7 @@ android-secret.json

# Fonts
android/app/src/main/assets/fonts/*
ios/eigen/fonts/*


# Firebase files
Expand Down
Loading

0 comments on commit 2c4480b

Please sign in to comment.