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

Error installing boost Verification checksum was incorrect #843

Open
wswebcreation opened this issue Dec 31, 2023 · 100 comments
Open

Error installing boost Verification checksum was incorrect #843

wswebcreation opened this issue Dec 31, 2023 · 100 comments

Comments

@wswebcreation
Copy link

I'm developing a Mobile app with React Native (0.73.1) and for building the app I need to install the pods. The pods contains installing boos, see this file.

I get the following error

Installing boost (1.83.0)

[!] Error installing boost
Verification checksum was incorrect, expected 6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e, got 5e89103d9b70bba5c91a794126b169cb67654be2051f90cf7c22ba6893ede0ff

When I check this site I see the checksum should be 6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e

When I do this on my Mac

curl -sL https://boostorg.jfrog.io/artifactory/main/release/1.83.0/source/boost_1_83_0.tar.bz2 | shasum -a 256

5e89103d9b70bba5c91a794126b169cb67654be2051f90cf7c22ba6893ede0ff  -

I get a different checksum

Please let me know what I need to provide more to debug this

@RahulSingh225
Copy link

I'm developing a Mobile app with React Native (0.73.1) and for building the app I need to install the pods. The pods contains installing boos, see this file.

I get the following error

Installing boost (1.83.0)

[!] Error installing boost
Verification checksum was incorrect, expected 6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e, got 5e89103d9b70bba5c91a794126b169cb67654be2051f90cf7c22ba6893ede0ff

When I check this site I see the checksum should be 6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e

When I do this on my Mac

curl -sL https://boostorg.jfrog.io/artifactory/main/release/1.83.0/source/boost_1_83_0.tar.bz2 | shasum -a 256

5e89103d9b70bba5c91a794126b169cb67654be2051f90cf7c22ba6893ede0ff  -

I get a different checksum

Please let me know what I need to provide more to debug this

Facing the same issue on M1 machine

@vinpro24
Copy link

move to node_modules/react-native/third-party-podspecs.
Only change line
spec.source = { :http => 'https://boostorg.jfrog.io/artifactory/main/release/1.83.0/source/boost_1_83_0.tar.bz2',
:sha256 => '6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e' }
to
spec.source = { :http => 'https://sourceforge.net/projects/boost/files/boost/1.83.0/boost_1_83_0.tar.bz2',
:sha256 => '6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e' }

Maybe jfrog close their server

@codeion
Copy link

codeion commented Dec 31, 2023

I have the same issue with React Native 0.72.7

Error installing boost
Verification checksum was incorrect, expected f0397ba6e982c4450f27bf32a2a83292aba035b827a5623a14636ea583318c41, got 5e89103d9b70bba5c91a794126b169cb67654be2051f90cf7c22ba6893ede0ff

boost version 1.76.0

@tecmusti
Copy link

Just replace 83 with 76 and 6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e with f0397ba6e982c4450f27bf32a2a83292aba035b827a5623a14636ea583318c41

#843 (comment)

I have the same issue with React Native 0.72.7

Error installing boost Verification checksum was incorrect, expected f0397ba6e982c4450f27bf32a2a83292aba035b827a5623a14636ea583318c41, got 5e89103d9b70bba5c91a794126b169cb67654be2051f90cf7c22ba6893ede0ff

boost version 1.76.0

@wswebcreation
Copy link
Author

wswebcreation commented Dec 31, 2023

Changing the checksum without knowing what happened isn’t a good solution. The checksum ensures the integrity and authenticity of your downloaded file, protecting against corrupted, incomplete, or maliciously altered files.
If you bypass the checksum verification, you risk introducing security vulnerabilities, stability issues, or subtle bugs in your application. These can be challenging to diagnose and may compromise your application or user data.

So there’s a reason why they use checksums and it's up to you all if you want to skip it 😅

@tecmusti
Copy link

Changing the checksum without knowing what happened doesn’t feel like a good solution. There’s a reason why they use checksums 😅

We are not changing the checksum. Original link is broken, just replacing it with sourceforge link.

@wswebcreation
Copy link
Author

Ok, created a simple patch for this for RN 0.73.1, but everyone could do this

  1. Install patch-package:

    npm install --save-dev patch-package postinstall-postinstall
  2. Modify boost.podspec:

change

# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.

Pod::Spec.new do |spec|
  spec.name = 'boost'
  spec.version = '1.83.0'
  spec.license = { :type => 'Boost Software License', :file => "LICENSE_1_0.txt" }
  spec.homepage = 'http://www.boost.org'
  spec.summary = 'Boost provides free peer-reviewed portable C++ source libraries.'
  spec.authors = 'Rene Rivera'
  spec.source = { :http => 'https://boostorg.jfrog.io/artifactory/main/release/1.83.0/source/boost_1_83_0.tar.bz2',
                  :sha256 => '6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e' }

  # Pinning to the same version as React.podspec.
  spec.platforms = min_supported_versions
  spec.requires_arc = false

  spec.module_name = 'boost'
  spec.header_dir = 'boost'
  spec.preserve_path = 'boost'
end

to

# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.

Pod::Spec.new do |spec|
  spec.name = 'boost'
  spec.version = '1.83.0'
  spec.license = { :type => 'Boost Software License', :file => "LICENSE_1_0.txt" }
  spec.homepage = 'http://www.boost.org'
  spec.summary = 'Boost provides free peer-reviewed portable C++ source libraries.'
  spec.authors = 'Rene Rivera'
  # Patched due to issue https://github.com/boostorg/boost/issues/843
  spec.source = { :http => 'https://sourceforge.net/projects/boost/files/boost/1.83.0/boost_1_83_0.tar.bz2',
                  :sha256 => '6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e' }

  # Pinning to the same version as React.podspec.
  spec.platforms = min_supported_versions
  spec.requires_arc = false

  spec.module_name = 'boost'
  spec.header_dir = 'boost'
  spec.preserve_path = 'boost'
end
  1. Create a Patch:

    • Run npx patch-package react-native to create a patch file based on your changes. This command generates a patch file in a directory called patches/.
  2. Apply the Patch Automatically:

    • Modify your package.json to apply the patch after installation. Add the following to your scripts section:
      "scripts": {
        "postinstall": "patch-package"
      }
    • Now, whenever you run npm install, patch-package will automatically apply the patch to the boost.podspec file.

@ronenempathy
Copy link

facing the same issue with react-native 0.68.1.
any workaround for this?

@wswebcreation
Copy link
Author

facing the same issue with react-native 0.68.1. any workaround for this?

Yes:

  1. Go to node_modules/react-native/third-party-podspecs from the root of your project
  2. check the boost.podspec for the version you need to use
  3. check https://sourceforge.net/projects/boost/files/boost/ for the link of the file you need to have
  4. get the checksum
  5. Follow the steps from Error installing boost Verification checksum was incorrect #843 (comment)

@ronenempathy
Copy link

ronenempathy commented Dec 31, 2023

@wswebcreation since we are not pushing node_modules, is there any other ways to overcome this. this issue interrupts our CI as well.

@wswebcreation
Copy link
Author

@ronenempathy

You are not creating a new module, you are creating a patch in your project that will be installed when you do the npm i

The steps mentioned above create the patch, here's how it looks like in my case

image

@gregavola
Copy link

What about for build systems like AppCenter, where node_modules are created at build time?

@dafilmorais
Copy link

dafilmorais commented Dec 31, 2023

Doesn't work. It just hangs "installing boost (1.76.0)"
Using sourceforge

# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.

Pod::Spec.new do |spec|
  spec.name = 'boost'
  spec.version = '1.76.0'
  spec.license = { :type => 'Boost Software License', :file => "LICENSE_1_0.txt" }
  spec.homepage = 'http://www.boost.org'
  spec.summary = 'Boost provides free peer-reviewed portable C++ source libraries.'
  spec.authors = 'Rene Rivera'
  spec.source = { :http => 'https://sourceforge.net/projects/boost/files/boost/1.76.0/boost_1_76_0.tar.bz2',
                  :sha256 => 'f0397ba6e982c4450f27bf32a2a83292aba035b827a5623a14636ea583318c41' }

  # Pinning to the same version as React.podspec.
  spec.platforms = { :ios => '11.0' }
  spec.requires_arc = false

  spec.module_name = 'boost'
  spec.header_dir = 'boost'
  spec.preserve_path = 'boost'
end

@wswebcreation
Copy link
Author

What about for build systems like AppCenter, where node_modules are created at build time?

What do you mean?

@wswebcreation
Copy link
Author

Doesn't work. It just hangs "installing boost (1.76.0)" Using sourceforge

# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.

Pod::Spec.new do |spec|
  spec.name = 'boost'
  spec.version = '1.76.0'
  spec.license = { :type => 'Boost Software License', :file => "LICENSE_1_0.txt" }
  spec.homepage = 'http://www.boost.org'
  spec.summary = 'Boost provides free peer-reviewed portable C++ source libraries.'
  spec.authors = 'Rene Rivera'
  spec.source = { :http => 'https://sourceforge.net/projects/boost/files/boost/1.76.0/boost_1_76_0.tar.bz2',
                  :sha256 => 'f0397ba6e982c4450f27bf32a2a83292aba035b827a5623a14636ea583318c41' }

  # Pinning to the same version as React.podspec.
  spec.platforms = { :ios => '11.0' }
  spec.requires_arc = false

  spec.module_name = 'boost'
  spec.header_dir = 'boost'
  spec.preserve_path = 'boost'
end

Sorry, can't help with that

@sarunmrzn
Copy link

Doesn't work. It just hangs "installing boost (1.76.0)" Using sourceforge

# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.

Pod::Spec.new do |spec|
  spec.name = 'boost'
  spec.version = '1.76.0'
  spec.license = { :type => 'Boost Software License', :file => "LICENSE_1_0.txt" }
  spec.homepage = 'http://www.boost.org'
  spec.summary = 'Boost provides free peer-reviewed portable C++ source libraries.'
  spec.authors = 'Rene Rivera'
  spec.source = { :http => 'https://sourceforge.net/projects/boost/files/boost/1.76.0/boost_1_76_0.tar.bz2',
                  :sha256 => 'f0397ba6e982c4450f27bf32a2a83292aba035b827a5623a14636ea583318c41' }

  # Pinning to the same version as React.podspec.
  spec.platforms = { :ios => '11.0' }
  spec.requires_arc = false

  spec.module_name = 'boost'
  spec.header_dir = 'boost'
  spec.preserve_path = 'boost'
end

Try running with verbose, pod install --verbose. Boost is 100+ MB ish depending on your connection.

@gregavola
Copy link

What about for build systems like AppCenter, where node_modules are created at build time?

What do you mean?

When AppCenter does a build, it generates does an yarn install to pull in everything in node_modules so editing these files locally, won't help the build process. Is there a way to override this on yarn install it pulls the correct url?

@dafilmorais
Copy link

Doesn't work. It just hangs "installing boost (1.76.0)" Using sourceforge

# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.

Pod::Spec.new do |spec|
  spec.name = 'boost'
  spec.version = '1.76.0'
  spec.license = { :type => 'Boost Software License', :file => "LICENSE_1_0.txt" }
  spec.homepage = 'http://www.boost.org'
  spec.summary = 'Boost provides free peer-reviewed portable C++ source libraries.'
  spec.authors = 'Rene Rivera'
  spec.source = { :http => 'https://sourceforge.net/projects/boost/files/boost/1.76.0/boost_1_76_0.tar.bz2',
                  :sha256 => 'f0397ba6e982c4450f27bf32a2a83292aba035b827a5623a14636ea583318c41' }

  # Pinning to the same version as React.podspec.
  spec.platforms = { :ios => '11.0' }
  spec.requires_arc = false

  spec.module_name = 'boost'
  spec.header_dir = 'boost'
  spec.preserve_path = 'boost'
end

Try running with verbose, pod install --verbose. Boost is 100+ MB ish depending on your connection.

Huh, looks like it is downloading. Just really slow. Thanks for the tip.
Jfrog links are dead, should be up again later sometime hopefully.

@twercedev
Copy link

@wswebcreation

Ok, created a simple patch for this for RN 0.73.1, but everyone could do this

  1. Install patch-package:
    npm install --save-dev patch-package postinstall-postinstall
  2. Modify boost.podspec:

change

# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.

Pod::Spec.new do |spec|
  spec.name = 'boost'
  spec.version = '1.83.0'
  spec.license = { :type => 'Boost Software License', :file => "LICENSE_1_0.txt" }
  spec.homepage = 'http://www.boost.org'
  spec.summary = 'Boost provides free peer-reviewed portable C++ source libraries.'
  spec.authors = 'Rene Rivera'
  spec.source = { :http => 'https://boostorg.jfrog.io/artifactory/main/release/1.83.0/source/boost_1_83_0.tar.bz2',
                  :sha256 => '6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e' }

  # Pinning to the same version as React.podspec.
  spec.platforms = min_supported_versions
  spec.requires_arc = false

  spec.module_name = 'boost'
  spec.header_dir = 'boost'
  spec.preserve_path = 'boost'
end

to

# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.

Pod::Spec.new do |spec|
  spec.name = 'boost'
  spec.version = '1.83.0'
  spec.license = { :type => 'Boost Software License', :file => "LICENSE_1_0.txt" }
  spec.homepage = 'http://www.boost.org'
  spec.summary = 'Boost provides free peer-reviewed portable C++ source libraries.'
  spec.authors = 'Rene Rivera'
  # Patched due to issue https://github.com/boostorg/boost/issues/843
  spec.source = { :http => 'https://sourceforge.net/projects/boost/files/boost/1.83.0/boost_1_83_0.tar.bz2',
                  :sha256 => '6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e' }

  # Pinning to the same version as React.podspec.
  spec.platforms = min_supported_versions
  spec.requires_arc = false

  spec.module_name = 'boost'
  spec.header_dir = 'boost'
  spec.preserve_path = 'boost'
end
  1. Create a Patch:

    • Run npx patch-package react-native to create a patch file based on your changes. This command generates a patch file in a directory called patches/.
  2. Apply the Patch Automatically:

    • Modify your package.json to apply the patch after installation. Add the following to your scripts section:
      "scripts": {
        "postinstall": "patch-package"
      }
    • Now, whenever you run npm install, patch-package will automatically apply the patch to the boost.podspec file.

@wswebcreation Thanks this works for me.

@tecmusti
Copy link

What about for build systems like AppCenter, where node_modules are created at build time?

What do you mean?

When AppCenter does a build, it generates does an yarn install to pull in everything in node_modules so editing these files locally, won't help the build process. Is there a way to override this on yarn install it pulls the correct url?

Try creating patch on your local computer and upload generated patch then modify package.json file to apply patches. This should work.

mbunkus added a commit to mbunkus/org.bunkus.mkvtoolnix-gui that referenced this issue Dec 31, 2023
The jfrog.io account is currently disabled; see
boostorg/boost#843
@ali-sao
Copy link

ali-sao commented Dec 31, 2023

Who else is facing incredible slowness in jFrog? it took almost 45 minutes to install boost

@Harisene
Copy link

Harisene commented Jan 1, 2024

Who else is facing incredible slowness in jFrog? it took almost 45 minutes to install boost

same here

@Harisene
Copy link

Harisene commented Jan 1, 2024

What about for build systems like AppCenter, where node_modules are created at build time?

What do you mean?

When AppCenter does a build, it generates does an yarn install to pull in everything in node_modules so editing these files locally, won't help the build process. Is there a way to override this on yarn install it pulls the correct url?

Follow these steps to create a patch. #843 (comment)

Now when running yarn install the patch will be applied in the App Center.

@agrittiwari
Copy link

Implemented the changes suggested as Suggested above, but it really didn't solve the problem. Made a patch of it, it doesn't solve the upstream problem, but crashes the pod install, somehow.

⚠️  Something went wrong running `pod install` in the `ios` directory.
Command `pod install` failed.
└─ Cause: Failed to load 'boost' podspec: 
[!] Invalid `boost.podspec` file: undefined local variable or method `min_supported_versions' for Pod:Module.

 #  from /Users/agrittiwari/wishup/client-app/node_modules/react-native/third-party-podspecs/boost.podspec:17
 #  -------------------------------------------
 #    # Pinning to the same version as React.podspec.
 >    spec.platforms = min_supported_versions
 #    spec.requires_arc = false
 #  -------------------------------------------


pod install --repo-update --ansi exited with non-zero code: 1

@mclow
Copy link
Contributor

mclow commented Jan 9, 2024

Folly is not part of Boost; it comes from Facebook. See https://github.com/facebook/folly

@riseworld27
Copy link

jfrog started working again. We can download boost file from jfrog without error now.

@arnoldc
Copy link

arnoldc commented Jan 9, 2024

how it was fixed? do we have official comment from the team?
im wondering if this issue would happen again

@userdocs
Copy link

userdocs commented Jan 9, 2024

how it was fixed? do we have official comment from the team? I'm wondering if this issue would happen again

At this point you wonder if the maintainers only knew it was working again from comments in issue. They have really done an absurdly impressive job of ignoring this issue and all requests for guidance or clarification on how to proceed. Full head in the sand mode.

I mean, how many time does a dev with a significant project have to professionally and politely ask this question, almost daily, without being ignored?
#845 (comment)

This will happen again as it's been an ongoing problem for this project for too long while they insist of using these vanity projects to host the source code people need.

Your only option at this point is to factor in your own redundancy because the most realisable takeaway from this repeat issue is that

  • they will ignore you when it does happen letting you figure out your own emergency solution
  • they will refuse to implement any sane solutions prevent the issue being this wide. Just as it was 2-3 years ago.
  • it will keep happening and they never seem to know why
  • they will blame end users for downloading as the reason it's unavailable.

Another defining moment in opensource software development of how to not do something.

ochalet-wp pushed a commit to Worldpay/access-checkout-react-native that referenced this issue Jan 10, 2024
- See Boost issue - boostorg/boost#843
- See temporary workaround proposed by Facebook - facebook/react-native#42180
abaeza-wp pushed a commit to Worldpay/access-checkout-react-native that referenced this issue Jan 22, 2024
- See Boost issue - boostorg/boost#843
- See temporary workaround proposed by Facebook - facebook/react-native#42180
abaeza-wp pushed a commit to Worldpay/access-checkout-react-native that referenced this issue Jan 23, 2024
- See Boost issue - boostorg/boost#843
- See temporary workaround proposed by Facebook - facebook/react-native#42180
abaeza-wp added a commit to Worldpay/access-checkout-react-native that referenced this issue Feb 8, 2024
* Us1762585 - iOS Refactor Native components (#81)

* US1762570: create view manager to native AccessCheckoutEditText component; override onTextChange to support the react native onChangeText event; implement component in react native

* US1762550: update card details field to use new component; update RN module to use reference to AccessCheckoutEditText and not the text value

* US1762550: move AccessCheckoutEditTextManager to correct file path; update local android sdk files to most up-to-date version of master; update AccessCheckoutReactPackageTest

* US1782181: add unit tests for AccessCheckoutEditTextManagerTest; add mockito to build.gradle for unit tests

* US1762551: Expose AccessCheckoutUITextField to be able to use native components via the ios Bridge
Simplify ReactNativeViewLocator and implement/expose specific POC methods to avoid disruptions with previous implementation
Add POC toggle to demo app to be able to switch implementations
Expose new POC validation and sessionGeneration methods to avoid diruptions with previous implementations

* US1762551: Point client to npe environment

* US1762585: Refactor ios Bridge and demo application
Avoids having to handle inputs in states
Uses native components
Only a input field id is needed in order to configure validation and session generation for a field
Integrate the latest AccessCheckoutUITextField changes
Updates and renames cvcValue to cvcId
Updates and renames panValue to panId
Updates and renames expiryDateValue to expiryDateId

* US1762585: Rebuild lib and clean up files

* US1762585: Minor cleanup

* US1762585: Rebuild lib files
Rename AccessCheckoutEditText to AccessCheckoutInputText as EditText was specific to Android
Minor renaming of fields like panUITextField to panACUITextField to improve readability and make it known that we are dealing with AccessCheckoutUITextField in the iOS bridge

* US1762585:
Rename AccessCheckoutEditText to AccessCheckoutInputText in Android bridge

* US1762585:
Rename AccessCheckoutInputText to AccessCheckoutTextInput
Rebuild lib files

* US1762585: Update bitrise-step to use xcode-test v5 and update e2e tests (#82)

* US1762585: Update bitrise-step to use xcode-test v5

* US1762585: Use Optionals to mantain compatibility in both Xcode 13 and Xcode 15

* US1762585: Update e2e tests

* US1762585: Improve matcher based on platform using type

* US1762585: Remove TextInputPO as it is no longer used

---------

Co-authored-by: e5661323 <[email protected]>

* US1782181: change Android bridge GenerateSessionsConfig to use panId, expiryDateId, cvcId instead of panValue, expiryDateValue, cvcValue. Change all instrumented tests to use AccessCheckoutEditText and refactor them for easier maintenance

* US1782181: update Android emulator boot timeout to cater for longer boot times

* US1782181: patch Boost pod.spec while issue is being fixed
- See Boost issue - boostorg/boost#843
- See temporary workaround proposed by Facebook - facebook/react-native#42180

* US1762588 - [iOS] React Native Demo Components Refactor and Props (#86)

* Us1762585 - iOS Refactor Native components (#81)

* US1762570: create view manager to native AccessCheckoutEditText component; override onTextChange to support the react native onChangeText event; implement component in react native

* US1762550: update card details field to use new component; update RN module to use reference to AccessCheckoutEditText and not the text value

* US1762550: move AccessCheckoutEditTextManager to correct file path; update local android sdk files to most up-to-date version of master; update AccessCheckoutReactPackageTest

* US1782181: add unit tests for AccessCheckoutEditTextManagerTest; add mockito to build.gradle for unit tests

* US1762551: Expose AccessCheckoutUITextField to be able to use native components via the ios Bridge
Simplify ReactNativeViewLocator and implement/expose specific POC methods to avoid disruptions with previous implementation
Add POC toggle to demo app to be able to switch implementations
Expose new POC validation and sessionGeneration methods to avoid diruptions with previous implementations

* US1762551: Point client to npe environment

* US1762585: Refactor ios Bridge and demo application
Avoids having to handle inputs in states
Uses native components
Only a input field id is needed in order to configure validation and session generation for a field
Integrate the latest AccessCheckoutUITextField changes
Updates and renames cvcValue to cvcId
Updates and renames panValue to panId
Updates and renames expiryDateValue to expiryDateId

* US1762585: Rebuild lib and clean up files

* US1762585: Minor cleanup

* US1762585: Rebuild lib files
Rename AccessCheckoutEditText to AccessCheckoutInputText as EditText was specific to Android
Minor renaming of fields like panUITextField to panACUITextField to improve readability and make it known that we are dealing with AccessCheckoutUITextField in the iOS bridge

* US1762585:
Rename AccessCheckoutEditText to AccessCheckoutInputText in Android bridge

* US1762585:
Rename AccessCheckoutInputText to AccessCheckoutTextInput
Rebuild lib files

* US1762585: Update bitrise-step to use xcode-test v5 and update e2e tests (#82)

* US1762585: Update bitrise-step to use xcode-test v5

* US1762585: Use Optionals to mantain compatibility in both Xcode 13 and Xcode 15

* US1762585: Update e2e tests

* US1762585: Improve matcher based on platform using type

* US1762585: Remove TextInputPO as it is no longer used

---------

Co-authored-by: e5661323 <[email protected]>

* US1762588: Clean and Refactor CVC Expiry and Pan React Native Demo components
Define Props and types to ReactNative component and Native component props

* US1762588: Use paddingHorizontal in demo components

* US1762588: Add Android AccessCheckoutEditText defaults when initialising the component

* US1762588: Add Support for fonts via styling, minor refactorings

* US1762588: Remove Comment and support for keyboartType in iOS Bridge

* US1762588: Revert pod local version

* US1762588: rebuild pod files to point to remote AccessCheckoutSDK

* US1762588: rebuild pod files to point to remote AccessCheckoutSDK

* US1762588: Remove support for fontStyle and fontWeight

* US1762588: Add correct colours to text when input is not editable, remove inverted expression

* US1762588: Fixx import after rebase

* US1762588: Clean imports

* US1762588: Remove unnecessary comments

* US1762588: Rename fontColor to color, and remap in iOS Bridge
Reset defaults provided by AccessCheckoutUITextfield
Reset insets using horizontalPadding in AccessCheckoutUITextfield

* US1762588: point to correct tag instad of branch

* US1762588: Update pod deps

* US1762588: change BitRise flow for iOS Bridge and iOS e2e tests to update and install Pods rather than just install

---------

Co-authored-by: e5661323 <[email protected]>
Co-authored-by: Olivier Chalet <[email protected]>

* US1762599 - [Android] React Native Demo Components Refactor and Props (#87)

* US1762588: Add Support for fonts via styling, minor refactorings

* US1762588: Revert pod local version

* US1762588: rebuild pod files to point to remote AccessCheckoutSDK

* US1782181: change app to display error in a div rather as an alert

* US1762599: add support for fontSize, placeholderColor & borderColor

* US1762599: update textColor support; add support for font; update unit tests

* US1762599: run format task

* US1762599: update access-checkout-android 3.0.0 to latest jar

* US1762599: add customType to AccessCheckoutTextInputManager to allow color to be parsed correctly from demo-app

Co-authored-by: abaeza-wp <[email protected]>
Co-authored-by: Olivier Chalet <[email protected]>

* Us1762585 - iOS Refactor Native components (#81)

* US1762570: create view manager to native AccessCheckoutEditText component; override onTextChange to support the react native onChangeText event; implement component in react native

* US1762550: update card details field to use new component; update RN module to use reference to AccessCheckoutEditText and not the text value

* US1762550: move AccessCheckoutEditTextManager to correct file path; update local android sdk files to most up-to-date version of master; update AccessCheckoutReactPackageTest

* US1782181: add unit tests for AccessCheckoutEditTextManagerTest; add mockito to build.gradle for unit tests

* US1762551: Expose AccessCheckoutUITextField to be able to use native components via the ios Bridge
Simplify ReactNativeViewLocator and implement/expose specific POC methods to avoid disruptions with previous implementation
Add POC toggle to demo app to be able to switch implementations
Expose new POC validation and sessionGeneration methods to avoid diruptions with previous implementations

* US1762551: Point client to npe environment

* US1762585: Refactor ios Bridge and demo application
Avoids having to handle inputs in states
Uses native components
Only a input field id is needed in order to configure validation and session generation for a field
Integrate the latest AccessCheckoutUITextField changes
Updates and renames cvcValue to cvcId
Updates and renames panValue to panId
Updates and renames expiryDateValue to expiryDateId

* US1762585: Rebuild lib and clean up files

* US1762585: Minor cleanup

* US1762585: Rebuild lib files
Rename AccessCheckoutEditText to AccessCheckoutInputText as EditText was specific to Android
Minor renaming of fields like panUITextField to panACUITextField to improve readability and make it known that we are dealing with AccessCheckoutUITextField in the iOS bridge

* US1762585:
Rename AccessCheckoutEditText to AccessCheckoutInputText in Android bridge

* US1762585:
Rename AccessCheckoutInputText to AccessCheckoutTextInput
Rebuild lib files

* US1762585: Update bitrise-step to use xcode-test v5 and update e2e tests (#82)

* US1762585: Update bitrise-step to use xcode-test v5

* US1762585: Use Optionals to mantain compatibility in both Xcode 13 and Xcode 15

* US1762585: Update e2e tests

* US1762585: Improve matcher based on platform using type

* US1762585: Remove TextInputPO as it is no longer used

---------

Co-authored-by: e5661323 <[email protected]>

* US1782181: change app to display error in a div rather as an alert

* US1762599: add support for fontSize, placeholderColor & borderColor

* US1762599: update textColor support; add support for font; update unit tests

* US1762599: run format task

* US1762588: Use paddingHorizontal in demo components

* US1762588: rebuild pod files to point to remote AccessCheckoutSDK

* US1762588: Clean imports

* US1764971: Create useAccessCheckout Custom hook
Refactor application and model to take in CardConfiguration and CvcOnlyCardConfiguration
Refactor application to make useCardValidation and useCvcOnlyValidation internal hooks
Rebuild libraries with bob
Update tests and add @testing-library/react-native renderHook

* US1764971: Clean up

* US1764971: Re-build lib files

* US1764971: Re-build dependency files to fix an error caused when installing dependencies

* US1764971: expose useCvcOnlyConfig and useCardConfig to provide better experience when initialising configuration for useAccessCheckout
Added ValidationListenerException to ensure an error is raised when attempting to use initialiseValidation when no validationConfig is provided, This provides the developers with a clear readable error message and enhances their debugging experience.

* US1764971: Fix prettier

* US1764971: rebuild lib files

* US1764971: Differentiate between props interface and config classes as it was creating confusion by renaming CardConfig and CvconlyConfig classes and validation classes to be prefixed with Merchant

* US1764971: Differentiate between props interface and config classes as it was creating confusion by renaming CardConfig and CvconlyConfig classes and validation classes to be prefixed with Merchant

* Us1833001: [Android]  Add font support (#96)

* US1833001: Add Android support for font customization including font weight and font style

* US1833001: Add Android support for font customization including font weight and font style and checks for support of font weight in android api >28

* US1833001: Better comment to explain why the use of font.getInt() was not used

* US1764780 - Within the README under the access-checkout-react-native-sdk folder, write a section on SAQ-A compliance and a section on AccessCheckoutTextInput which has a link to the documentation (#99)

* F253333: Export AccessCheckoutTextInput and props (#104)

* F253333: Export AccessCheckoutTextInput and props

* F253333: Add mock for requireNativeComponent

---------

Co-authored-by: e5661323 <[email protected]>
Co-authored-by: Olivier Chalet <[email protected]>
Co-authored-by: Jason <[email protected]>
Co-authored-by: ochalet-wp <[email protected]>
@gregoripolak
Copy link

gregoripolak commented Jan 1, 2025

Hi this issue is currently appearing again for us, looks like jfrog is having a hard time with the new years.

React-Native 0.68.1

Installing boost 1.76.0

[!] Error installing boost
Verification checksum was incorrect, expected
Couldn't install Pods. Updating the Pods project and trying again...
Command pod install failed.
└─ Cause: Error installing boost
Verification checksum was incorrect, expected

@sdarwin
Copy link
Contributor

sdarwin commented Jan 1, 2025

Hi @gregoripolak ,

The url is now:

https://archives.boost.io/
https://archives.boost.io/release/1.87.0/source/boost_1_87_0.tar.bz2

JFrog was donating bandwidth. After years, they have requested we switch to another service, to mitigate costs.

@userdocs
Copy link

userdocs commented Jan 1, 2025

The official URL is still jfrog here: https://www.boost.org/users/download/

The URL that was changed to https://archives.boost.io/ the last time this happened, now changed back to jfrog

edited for clarity:

@sdarwin
Copy link
Contributor

sdarwin commented Jan 1, 2025

@userdocs very interesting! Previous versions (1.86.0 etc) switched to the new download link. This needs to be fixed.

@userdocs
Copy link

userdocs commented Jan 1, 2025

@sdarwin yeah, I rephrased my comment The download page itself does not link to https://archives.boost.io/ nor the newer github latest assets.

That info could avoid non packaged boost related issues when jfrog shutdown last night.

@Akifcan
Copy link

Akifcan commented Jan 1, 2025

@sdarwin yeah, I rephrased my comment The download page itself does not link to https://archives.boost.io/ nor the newer github latest assets.

That info could avoid non packaged boost related issues when jfrog shutdown last night.

Thank you this is work for me:

[root]/node_modules/react-native/third-party-podspecs/boost.podspec
spec.source = { :http => 'https://archives.boost.io/release/1.76.0/source/boost_1_76_0.tar.bz2',

line: 13
react native version: 0.71.11

@jpieper
Copy link

jpieper commented Jan 4, 2025

Hi @gregoripolak ,

The url is now:

https://archives.boost.io/ https://archives.boost.io/release/1.87.0/source/boost_1_87_0.tar.bz2

JFrog was donating bandwidth. After years, they have requested we switch to another service, to mitigate costs.

Any chance you could get JFrog to do a DNS forward to the new location? That should be pretty cheap and would keep many things working.

@jtvargas
Copy link

jtvargas commented Jan 6, 2025

ok, so why on local pod install works without issues and then in my CI is not working ? I don't understand that 🤔

@genesiscz
Copy link

ok, so why on local pod install works without issues and then in my CI is not working ? I don't understand that 🤔

Because you have the package cached and is not required to re-download. CI is probably uncached

@genesiscz
Copy link

My patch file loosk like:

diff --git a/third-party-podspecs/boost.podspec b/third-party-podspecs/boost.podspec
index 3d9331c95d1217682a0b820a0d9440fdff074ae0..bbbb7380e51a12d1b2994c8ab8e8f682c5e6d83d 100644
--- a/third-party-podspecs/boost.podspec
+++ b/third-party-podspecs/boost.podspec
@@ -10,7 +10,7 @@ Pod::Spec.new do |spec|
   spec.homepage = 'http://www.boost.org'
   spec.summary = 'Boost provides free peer-reviewed portable C++ source libraries.'
   spec.authors = 'Rene Rivera'
-  spec.source = { :http => 'https://boostorg.jfrog.io/artifactory/main/release/1.76.0/source/boost_1_76_0.tar.bz2',
+  spec.source = { :http => 'https://archives.boost.io/release/1.76.0/source/boost_1_76_0.tar.bz2',
                   :sha256 => 'f0397ba6e982c4450f27bf32a2a83292aba035b827a5623a14636ea583318c41' }
 
   # Pinning to the same version as React.podspec.

into patches/[email protected] (or your own version)

@jtvargas
Copy link

jtvargas commented Jan 6, 2025

is there another solution instead of the patch-package ? 👀 I would not like to do the patch-package

@EnginKoyuncu
Copy link

Ok, created a simple patch for this for RN 0.73.1, but everyone could do this

  1. Install patch-package:
    npm install --save-dev patch-package postinstall-postinstall
  2. Modify boost.podspec:

change

Copyright (c) Meta Platforms, Inc. and affiliates.

This source code is licensed under the MIT license found in the

LICENSE file in the root directory of this source tree.

Pod::Spec.new do |spec|
spec.name = 'boost'
spec.version = '1.83.0'
spec.license = { :type => 'Boost Software License', :file => "LICENSE_1_0.txt" }
spec.homepage = 'http://www.boost.org'
spec.summary = 'Boost provides free peer-reviewed portable C++ source libraries.'
spec.authors = 'Rene Rivera'
spec.source = { :http => 'https://boostorg.jfrog.io/artifactory/main/release/1.83.0/source/boost_1_83_0.tar.bz2',
:sha256 => '6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e' }

Pinning to the same version as React.podspec.

spec.platforms = min_supported_versions
spec.requires_arc = false

spec.module_name = 'boost'
spec.header_dir = 'boost'
spec.preserve_path = 'boost'
end
to

Copyright (c) Meta Platforms, Inc. and affiliates.

This source code is licensed under the MIT license found in the

LICENSE file in the root directory of this source tree.

Pod::Spec.new do |spec|
spec.name = 'boost'
spec.version = '1.83.0'
spec.license = { :type => 'Boost Software License', :file => "LICENSE_1_0.txt" }
spec.homepage = 'http://www.boost.org'
spec.summary = 'Boost provides free peer-reviewed portable C++ source libraries.'
spec.authors = 'Rene Rivera'

Patched due to issue #843

spec.source = { :http => 'https://sourceforge.net/projects/boost/files/boost/1.83.0/boost_1_83_0.tar.bz2',
:sha256 => '6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e' }

Pinning to the same version as React.podspec.

spec.platforms = min_supported_versions
spec.requires_arc = false

spec.module_name = 'boost'
spec.header_dir = 'boost'
spec.preserve_path = 'boost'
end
3. Create a Patch:

  • Run npx patch-package react-native to create a patch file based on your changes. This command generates a patch file in a directory called patches/.
  1. Apply the Patch Automatically:

    • Modify your package.json to apply the patch after installation. Add the following to your scripts section:
      "scripts": {
      "postinstall": "patch-package"
      }
    • Now, whenever you run npm install, patch-package will automatically apply the patch to the boost.podspec file.

Thanks for the fix! Anyone using 'App Center', follow these steps: Commit the file 'patches/react-native+0.72.6.patch' to your branch and let 'App Center' do the work. Just to be sure, after running 'yarn install' or 'npm i' locally, verify that you’ve got this applied.
Image

@Lazar4o
Copy link

Lazar4o commented Jan 7, 2025

Could someone explain to me how this error appears out of nowhere? It seems that no one on my team is experiencing this issue.

@sdarwin
Copy link
Contributor

sdarwin commented Jan 7, 2025

@Lazar4o

It seems that no one on my team is experiencing this issue.

Great.

Could someone explain to me how this error appears out of nowhere?

The boost download was hosted on JFrog until December 31, 2024 when the service ended. Therefore the problem "appeared out of nowhere" on Jan 1, 2025.

Although not completely out of nowhere. the switch was announced in the mailing list, in github issues, and boost.org has pointed to the new download links for 6 months.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests