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

added support for various border radius in hover effect #75

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
8cd9837
feat: add visionos support
okwasniewski Sep 12, 2023
9fea1db
add warning when using InputAccessoryView
TMisiukiewicz Nov 3, 2023
9a93660
do not render component if visionos
TMisiukiewicz Nov 3, 2023
c3d42b0
update platform naming
TMisiukiewicz Nov 3, 2023
d7eb596
use warnOnce and add mark comments as TODOs
TMisiukiewicz Nov 3, 2023
36834db
fix: remove keyboard listerners and mark as unsupported (#25)
thiagobrez Nov 6, 2023
2948f88
feat: support building visionOS with dynamic frameworks enabled (#28)
okwasniewski Nov 9, 2023
602d637
feat: make hermes build for visionOS (#26)
okwasniewski Nov 13, 2023
4141039
chore: sync Podfile.lock with upstream, remove unnecessary #endif
okwasniewski Nov 23, 2023
d7da73d
feat: add visionOS as separate target to fix iOS tests (#31)
okwasniewski Nov 24, 2023
b1bf713
chore: disable some of upstream pipelines (#33)
okwasniewski Nov 24, 2023
3e0ba0f
Update README.md (#36)
okwasniewski Nov 29, 2023
a718e55
Add platform guidelines to README (#37)
okwasniewski Nov 29, 2023
255cd92
Rename react-native package to @callstack/react-native-visionos (#35)
thymikee Nov 30, 2023
863661b
Create custom resolver and utils package for out-of-tree platforms (#32)
thymikee Nov 30, 2023
55b1cc4
chore: disable android tests (#39)
okwasniewski Nov 30, 2023
687d3b1
Fix codegen issues for RNTester after renaming package (#40)
okwasniewski Nov 30, 2023
c042e8e
fix: prevent from running the testAll.yml on main (#41)
okwasniewski Dec 1, 2023
928504b
feat: implement OOT release script (#43)
okwasniewski Dec 1, 2023
bb374f2
fix: ci on main (#44)
okwasniewski Dec 1, 2023
f59d2f3
Fix build step for `@callstack/out-of-tree-platforms` (#46)
okwasniewski Dec 4, 2023
8315c48
feat: add visionOS template (#34)
okwasniewski Dec 5, 2023
9f0dc82
task(StatusBar component): show warn when using StatusBar (#49)
Marcoo09 Dec 7, 2023
a198344
feat: align unnecessary compiler conditionals (#51)
okwasniewski Dec 7, 2023
87e7857
chore: sync Podfile.lock
okwasniewski Dec 11, 2023
f4a1071
fix(#48) local build of @callstack/out-of-tree-platforms (#50)
okwasniewski Dec 11, 2023
9cdc1e9
docs: update CMake instructions (#55)
okwasniewski Dec 11, 2023
a8e110b
Fix iOS native tests (#58)
okwasniewski Dec 12, 2023
cd1a28d
feat: implement visionOS CI (#54)
okwasniewski Dec 14, 2023
02c85a4
fix: run visionos CI on every PR (#62)
okwasniewski Dec 15, 2023
0873b6b
fix: remove unnecessary YogaKit pod (#61)
okwasniewski Dec 15, 2023
9299f39
feat: add warning while building Hermes that at least CMake 3.28.0 is…
okwasniewski Dec 20, 2023
f1c7ac9
remove: GlassViewController is no longer needed (#67)
okwasniewski Jan 3, 2024
fb02870
fix: RCTAlertController transparent background override
okwasniewski Jan 8, 2024
ce745c1
added cornerRadius for hover style (#66)
gokul1099 Jan 11, 2024
916494b
chore: sync Podfile.lock
okwasniewski Jan 11, 2024
e5583a2
feat: implement visionos cli commands (#64)
okwasniewski Jan 15, 2024
ec248df
fix: don't warn users about the Keyboard API (#71)
okwasniewski Jan 15, 2024
7184a3f
fix: use isVision instead of isVisionOS (#76)
okwasniewski Jan 19, 2024
e7b62c8
fix: release build bundle (#74)
okwasniewski Jan 19, 2024
ada28e7
feat: add visionos support
okwasniewski Jan 23, 2024
a86828f
fix: address issues with scale, ScrollView prop
okwasniewski Jan 23, 2024
c2775c3
feat: implement Platform.isVisionOS
okwasniewski Jan 23, 2024
b3ad619
feat: move min_visionos_version_supported to Helpers
okwasniewski Jan 23, 2024
3cfd301
feat: implement `visionos_hoverStyle` prop
okwasniewski Jan 23, 2024
3e5e587
chore: update README.MD
okwasniewski Jan 23, 2024
c0a5298
fix: refactor visionos_hoverStyle to take a string and new arch support
okwasniewski Jan 23, 2024
c167dcc
docs: add link to rn-tester's README.md (#5)
thymikee Jan 23, 2024
8476fe5
chore: change VisionOS to visionOS (#13)
krozniata Jan 23, 2024
ab7a0fb
chore: use `min_supported_versions` for third-party-podspecs (#18)
okwasniewski Jan 23, 2024
77163d0
chore: remove not necessary ifs TARGET_OS_VISION, minimise code diff …
okwasniewski Jan 23, 2024
9fcec2e
feat: add visionos support
okwasniewski Jan 23, 2024
97ebf72
update platform naming
TMisiukiewicz Jan 23, 2024
c65f31e
added support for various border radius in hover effect
gokul1099 Jan 23, 2024
c627777
fix radius not applying on initial render
gokul1099 Jan 23, 2024
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
2 changes: 1 addition & 1 deletion .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ jobs:
name: "[Main or Stable] Create input for config to test everything"
command: |
mkdir -p /tmp/circleci/
echo '{ "run_all": true }' > /tmp/circleci/pipeline_config.json
node ./scripts/circleci/pipeline_selection.js filter-jobs
- when:
condition:
not:
Expand Down
7 changes: 7 additions & 0 deletions .circleci/configurations/executors.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,3 +43,10 @@ executors:
resource_class: macos.x86.medium.gen2
environment:
- BUILD_FROM_SOURCE: true
reactnative-visionos:
<<: *defaults
resource_class: macos.m1.medium.gen1
macos:
xcode: '15.2'
environment:
- BUILD_FROM_SOURCE: true
72 changes: 70 additions & 2 deletions .circleci/configurations/jobs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -96,8 +96,8 @@ jobs:
- run:
name: "Run Tests: JavaScript Tests"
command: node ./scripts/run-ci-javascript-tests.js --maxWorkers 2
- run_e2e:
platform: js
# - run_e2e:
# platform: js

# Optionally, run disabled tests
- when:
Expand Down Expand Up @@ -588,6 +588,74 @@ jobs:
steps:
- run_ios_tests

# -------------------------
# JOBS: Test visionOS RNTester
# -------------------------
test_visionos_rntester:

parameters:
jsengine:
default: "JSC"
description: Which JavaScript engine to use. Must be one of "Hermes", "JSC".
type: enum
enum: ["Hermes", "JSC"]
architecture:
default: "OldArch"
description: Which React Native architecture to use. Must be one of "OldArch", "NewArch".
type: enum
enum: ["NewArch", "OldArch"]
use_frameworks:
default: "StaticLibraries"
description: The dependency building and linking strategy to use. Must be one of "StaticLibraries", "DynamicFrameworks"
type: enum
enum: ["StaticLibraries", "DynamicFrameworks"]
ruby_version:
default: "2.6.10"
description: The version of ruby that must be used
type: string
run_unit_tests:
description: whether unit tests should run or not.
default: false
type: boolean
executor:
description: The executor to use
default: reactnative-visionos
type: string
executor: << parameters.executor >>
steps:
- checkout_code_with_cache
- run_yarn
- setup_ruby:
ruby_version: << parameters.ruby_version >>
- with_xcodebuild_cache:
steps:
- run:
name: "Install pods"
command: |
if [[ << parameters.architecture >> == "NewArch" ]]; then
export RCT_NEW_ARCH_ENABLED=1
fi

if [[ << parameters.jsengine >> == "JSC" ]]; then
export USE_HERMES=0
fi

if [[ << parameters.use_frameworks >> == "DynamicFrameworks" ]]; then
export USE_FRAMEWORKS=dynamic
fi

cd packages/rn-tester

bundle install
bundle exec pod install
- run:
name: "Build rn-tester"
command: |
xcodebuild build \
-workspace packages/rn-tester/RNTesterPods.xcworkspace \
-scheme RNTester-visionOS \
-sdk xrsimulator

# -------------------------
# JOBS: Windows
# -------------------------
Expand Down
28 changes: 14 additions & 14 deletions .circleci/configurations/test_workflows/testAll.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
latest : false
dryrun: true
- prepare_hermes_workspace
- build_android:
release_type: "dry-run"
# - build_android:
# release_type: "dry-run"
- build_hermesc_linux:
requires:
- prepare_hermes_workspace
Expand All @@ -38,21 +38,21 @@
# Build a release package on every untagged commit, but do not publish to npm.
release_type: "dry-run"
requires:
- build_android
# - build_android
- build_hermesc_linux
- build_hermes_macos
- build_hermesc_windows
- test_android:
requires:
- build_android
- test_android_template:
requires:
- build_npm_package
matrix:
parameters:
architecture: ["NewArch", "OldArch"]
jsengine: ["Hermes", "JSC"]
flavor: ["Debug", "Release"]
# - test_android:
# requires:
# - build_android
# - test_android_template:
# requires:
# - build_npm_package
# matrix:
# parameters:
# architecture: ["NewArch", "OldArch"]
# jsengine: ["Hermes", "JSC"]
# flavor: ["Debug", "Release"]
- test_ios_template:
requires:
- build_npm_package
Expand Down
1 change: 1 addition & 0 deletions .circleci/configurations/test_workflows/testAndroid.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
tests_android:
when:
and:
- equal: [ true, false ] # Disable for visionOS
- equal: [ false, << pipeline.parameters.run_release_workflow >> ]
- equal: [ false, << pipeline.parameters.run_nightly_workflow >> ]
jobs:
Expand Down
1 change: 1 addition & 0 deletions .circleci/configurations/test_workflows/testE2E.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
tests_e2e:
when:
and:
- equal: [ true, false ] # Disable for visionOS
- equal: [ false, << pipeline.parameters.run_release_workflow >> ]
- equal: [ false, << pipeline.parameters.run_nightly_workflow >> ]
jobs:
Expand Down
1 change: 1 addition & 0 deletions .circleci/configurations/test_workflows/testIOS.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
test_ios:
when:
and:
- equal: [ true, false ] # Disable for visionOS
- equal: [ false, << pipeline.parameters.run_release_workflow >> ]
- equal: [ false, << pipeline.parameters.run_nightly_workflow >> ]
jobs:
Expand Down
3 changes: 2 additions & 1 deletion .circleci/configurations/test_workflows/testJS.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,5 @@
- test_js:
name: test_js_prev_lts
executor: nodeprevlts
- test_windows
# Not needed for visionOS
# - test_windows
6 changes: 6 additions & 0 deletions .circleci/configurations/test_workflows/testVisionOS.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
test_visionos:
jobs:
- test_visionos_rntester:
matrix:
parameters:
architecture: ["OldArch", "NewArch"]
36 changes: 18 additions & 18 deletions .circleci/configurations/top_level.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ references:
# Dependency Anchors
# -------------------------
dependency_versions:
xcode_version: &xcode_version "15.0.1"
xcode_version: &xcode_version "15.2"
nodelts_image: &nodelts_image "cimg/node:20.2.0"
nodeprevlts_image: &nodeprevlts_image "cimg/node:18.12.1"
nodelts_browser_image: &nodelts_browser_image "cimg/node:20.2.0-browsers"
Expand All @@ -74,25 +74,25 @@ references:
gems_cache_key: &gems_cache_key v1-gems-{{ checksum "Gemfile.lock" }}
gradle_cache_key: &gradle_cache_key v3-gradle-{{ .Environment.CIRCLE_JOB }}-{{ checksum "gradle/wrapper/gradle-wrapper.properties" }}-{{ checksum "packages/react-native/ReactAndroid/gradle.properties" }}
yarn_cache_key: &yarn_cache_key v6-yarn-cache-{{ .Environment.CIRCLE_JOB }}
rbenv_cache_key: &rbenv_cache_key v1-rbenv-{{ checksum "/tmp/required_ruby" }}
hermes_workspace_cache_key: &hermes_workspace_cache_key v5-hermes-{{ .Environment.CIRCLE_JOB }}-{{ checksum "/tmp/hermes/hermesversion" }}
hermes_workspace_debug_cache_key: &hermes_workspace_debug_cache_key v2-hermes-{{ .Environment.CIRCLE_JOB }}-debug-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}-{{ checksum "packages/react-native/sdks/hermes-engine/utils/build-apple-framework.sh" }}
hermes_workspace_release_cache_key: &hermes_workspace_release_cache_key v2-hermes-{{ .Environment.CIRCLE_JOB }}-release-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}-{{ checksum "packages/react-native/sdks/hermes-engine/utils/build-apple-framework.sh" }}
hermes_linux_cache_key: &hermes_linux_cache_key v1-hermes-{{ .Environment.CIRCLE_JOB }}-linux-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}
hermes_windows_cache_key: &hermes_windows_cache_key v2-hermes-{{ .Environment.CIRCLE_JOB }}-windows-{{ checksum "/Users/circleci/project/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}
rbenv_cache_key: &rbenv_cache_key v2-rbenv-{{ checksum "/tmp/required_ruby" }}
hermes_workspace_cache_key: &hermes_workspace_cache_key v7-visionos-hermes-{{ .Environment.CIRCLE_JOB }}-{{ checksum "/tmp/hermes/hermesversion" }}
hermes_workspace_debug_cache_key: &hermes_workspace_debug_cache_key v2-visionos-hermes-{{ .Environment.CIRCLE_JOB }}-debug-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}-{{ checksum "packages/react-native/sdks/hermes-engine/utils/build-apple-framework.sh" }}
hermes_workspace_release_cache_key: &hermes_workspace_release_cache_key v2-visionos-hermes-{{ .Environment.CIRCLE_JOB }}-release-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}-{{ checksum "packages/react-native/sdks/hermes-engine/utils/build-apple-framework.sh" }}
hermes_linux_cache_key: &hermes_linux_cache_key v1-visionos-hermes-{{ .Environment.CIRCLE_JOB }}-linux-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}
hermes_windows_cache_key: &hermes_windows_cache_key v2-visionos-hermes-{{ .Environment.CIRCLE_JOB }}-windows-{{ checksum "/Users/circleci/project/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}
# Hermes iOS
hermesc_apple_cache_key: &hermesc_apple_cache_key v3-hermesc-apple-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}
hermes_apple_slices_cache_key: &hermes_apple_slices_cache_key v4-hermes-apple-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}-{{ checksum "packages/react-native/sdks/hermes-engine/utils/build-apple-framework.sh" }}
hermes_tarball_debug_cache_key: &hermes_tarball_debug_cache_key v5-hermes-tarball-debug-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}-{{ checksum "packages/react-native/sdks/hermes-engine/utils/build-apple-framework.sh" }}
hermes_tarball_release_cache_key: &hermes_tarball_release_cache_key v4-hermes-tarball-release-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}-{{ checksum "packages/react-native/sdks/hermes-engine/utils/build-apple-framework.sh" }}
hermes_macosx_bin_release_cache_key: &hermes_macosx_bin_release_cache_key v2-hermes-release-macosx-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}
hermes_macosx_bin_debug_cache_key: &hermes_macosx_bin_debug_cache_key v2-hermes-debug-macosx-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}
hermes_dsym_debug_cache_key: &hermes_dsym_debug_cache_key v2-hermes-debug-dsym-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}
hermes_dsym_release_cache_key: &hermes_dsym_release_cache_key v2-hermes-release-dsym-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}
hermesc_apple_cache_key: &hermesc_apple_cache_key v4-visionos-hermesc-apple-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}
hermes_apple_slices_cache_key: &hermes_apple_slices_cache_key v4-visionos-hermes-apple-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}-{{ checksum "packages/react-native/sdks/hermes-engine/utils/build-apple-framework.sh" }}
hermes_tarball_debug_cache_key: &hermes_tarball_debug_cache_key v7-visionos-hermes-tarball-debug-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}-{{ checksum "packages/react-native/sdks/hermes-engine/utils/build-apple-framework.sh" }}
hermes_tarball_release_cache_key: &hermes_tarball_release_cache_key v4-visionos-hermes-tarball-release-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}-{{ checksum "packages/react-native/sdks/hermes-engine/utils/build-apple-framework.sh" }}
hermes_macosx_bin_release_cache_key: &hermes_macosx_bin_release_cache_key v2-visionos-hermes-release-macosx-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}
hermes_macosx_bin_debug_cache_key: &hermes_macosx_bin_debug_cache_key v2-visionos-hermes-debug-macosx-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}
hermes_dsym_debug_cache_key: &hermes_dsym_debug_cache_key v2-visionos-hermes-debug-dsym-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}
hermes_dsym_release_cache_key: &hermes_dsym_release_cache_key v2-visionos-hermes-release-dsym-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}
# Cocoapods - RNTester
pods_cache_key: &pods_cache_key v11-pods-{{ .Environment.CIRCLE_JOB }}-{{ checksum "packages/rn-tester/Podfile.lock.bak" }}-{{ checksum "packages/rn-tester/Podfile" }}
cocoapods_cache_key: &cocoapods_cache_key v11-cocoapods-{{ .Environment.CIRCLE_JOB }}-{{ checksum "packages/rn-tester/Podfile.lock" }}-{{ checksum "packages/rn-tester/Podfile" }}-{{ checksum "/tmp/hermes/hermesversion" }}
rntester_podfile_lock_cache_key: &rntester_podfile_lock_cache_key v9-podfilelock-{{ .Environment.CIRCLE_JOB }}-{{ checksum "packages/rn-tester/Podfile" }}-{{ checksum "/tmp/week_year" }}-{{ checksum "/tmp/hermes/hermesversion" }}
pods_cache_key: &pods_cache_key v11-visionos-pods-{{ .Environment.CIRCLE_JOB }}-{{ checksum "packages/rn-tester/Podfile.lock.bak" }}-{{ checksum "packages/rn-tester/Podfile" }}
cocoapods_cache_key: &cocoapods_cache_key v11-visionos-cocoapods-{{ .Environment.CIRCLE_JOB }}-{{ checksum "packages/rn-tester/Podfile.lock" }}-{{ checksum "packages/rn-tester/Podfile" }}
rntester_podfile_lock_cache_key: &rntester_podfile_lock_cache_key v9-visionos-podfilelock-{{ .Environment.CIRCLE_JOB }}-{{ checksum "packages/rn-tester/Podfile" }}-{{ checksum "/tmp/week_year" }}

# Cocoapods - Template
template_cocoapods_cache_key: &template_cocoapods_cache_key v6-cocoapods-{{ .Environment.CIRCLE_JOB }}-{{ checksum "/tmp/iOSTemplateProject/ios/Podfile.lock" }}-{{ checksum "/tmp/iOSTemplateProject/ios/Podfile" }}-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "packages/rn-tester/Podfile.lock" }}
Expand Down
1 change: 1 addition & 0 deletions .circleci/configurations/workflows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,7 @@ workflows:
publish_bumped_packages:
when:
and:
- equal: [ 'https://github.com/facebook/react-native', << pipeline.project.git_url >> ]
- equal: [ false, << pipeline.parameters.run_release_workflow >> ]
- equal: [ false, << pipeline.parameters.run_nightly_workflow >> ]
jobs:
Expand Down
4 changes: 4 additions & 0 deletions .circleci/verdaccio.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@ packages:
'@react-native/*':
access: $all
publish: $all
proxy: npmjs
'@callstack/*':
access: $all
publish: $all
'@*/*':
access: $all
publish: $authenticated
Expand Down
18 changes: 12 additions & 6 deletions .github/workflows/ios-tests.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,18 @@
name: ios-tests


# on:
# push:
# branches:
# - main
# pull_request:
# branches:
# - "*"

# For visionOS we run iOS tests every night
on:
push:
branches:
- main
pull_request:
branches:
- "*"
schedule:
- cron: '0 0 * * *'

jobs:
test_ios_rntester-Hermes:
Expand Down
Loading