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

[C-4008] Fix video collectible card #7940

Merged
merged 4 commits into from
Mar 28, 2024

Conversation

dylanjeffers
Copy link
Contributor

Description

Fixes issue where video collectibles were not rendering on native collectibles list.

  • Leverages cool "react-native-create-thumbnail" package to process mp4 urls and generate a thumbnail with native performance.
  • Also fixes issue with video collectibles play button.
image

@dylanjeffers dylanjeffers requested review from a team, sliptype and sddioulde and removed request for a team March 26, 2024 00:11
Copy link

New and removed dependencies detected. Learn more about Socket for GitHub ↗︎

Package New capabilities Transitives Size Publisher
npm/@amplitude/node@1.9.2 network +4 590 kB kevinpagtakhan
npm/@amplitude/react-native@2.17.2 None 0 187 kB hao.yu
npm/@apollo/client@3.3.7 environment, network Transitive: eval +2 3.3 MB apollo-bot
npm/@audius/fetch-nft@0.1.8 network 0 532 kB audius-project
npm/@aws-sdk/client-s3@3.504.0 Transitive: environment, filesystem, shell +42 5.51 MB aws-sdk-bot
npm/@aws-sdk/s3-request-presigner@3.504.0 None +5 218 kB aws-sdk-bot
npm/@babel/cli@7.7.0 Transitive: environment, filesystem, shell, unsafe +37 8.06 MB nicolo-ribaudo
npm/@babel/plugin-proposal-class-static-block@7.21.0 Transitive: environment, filesystem, unsafe +44 8.28 MB nicolo-ribaudo
npm/@babel/plugin-transform-react-jsx@7.21.0 Transitive: environment, filesystem, unsafe +39 8.06 MB nicolo-ribaudo
npm/@babel/plugin-transform-runtime@7.18.2 unsafe Transitive: environment, filesystem +37 7.99 MB nicolo-ribaudo
npm/@babel/preset-env@7.22.15 environment Transitive: filesystem, unsafe +121 10 MB nicolo-ribaudo
npm/@babel/preset-typescript@7.22.15 Transitive: environment, filesystem, unsafe +47 8.47 MB nicolo-ribaudo
npm/@babel/register@7.7.0 environment, filesystem Transitive: unsafe +36 7.97 MB nicolo-ribaudo
npm/@cloudflare/kv-asset-handler@0.3.0 None +1 172 kB caass
npm/@coinbase/cbpay-js@1.2.0 None 0 172 kB lachiet
npm/@coinflowlabs/react-native@2.1.5 Transitive: environment, eval, network +9 13.4 MB meeder-coinflow
npm/@coinflowlabs/react@3.1.5 network 0 206 kB meeder-coinflow
npm/@coral-xyz/anchor@0.29.0 environment, filesystem, network +3 2.23 MB acheroncrypto
npm/@elastic/elasticsearch@8.1.0 Transitive: network +1 2.45 MB delvedor
npm/@emotion/babel-plugin@11.11.0 environment +9 2.84 MB emotion-release-bot
npm/@emotion/babel-preset-css-prop@11.11.0 environment Transitive: filesystem, unsafe +39 8.01 MB emotion-release-bot
npm/@emotion/css@11.11.2 environment +8 527 kB emotion-release-bot
npm/@emotion/eslint-plugin@11.11.0 environment 0 101 kB emotion-release-bot
npm/@emotion/native@11.11.0 environment +1 75.3 kB emotion-release-bot
npm/@emotion/react@11.11.1 environment +9 856 kB emotion-release-bot
npm/@emotion/server@11.11.0 environment +2 77.7 kB emotion-release-bot
npm/@emotion/styled@11.11.0 environment +7 311 kB emotion-release-bot
npm/@esbuild-plugins/node-globals-polyfill@0.2.3 None 0 105 kB xmorse
npm/@escape.tech/mookme@2.4.1 environment, filesystem, shell +4 271 kB steffthestunt
npm/@fingerprintjs/fingerprintjs-pro@3.5.6 eval, network +1 852 kB surgie
npm/@google/model-viewer@3.3.0 network 0 30.9 MB google-wombot
npm/@gorhom/portal@1.0.9 None 0 89.6 kB gorhom
npm/@hcaptcha/react-hcaptcha@0.3.6 None 0 30.8 kB brdlyptrs
npm/@juggle/resize-observer@3.3.1 None 0 73.7 kB trem
npm/@jup-ag/api@6.0.6 network 0 142 kB zhengyutay
npm/@metamask/eth-sig-util@7.0.0 None +7 1.75 MB metamaskbot
npm/@metaplex-foundation/mpl-token-metadata@2.5.2 None +3 834 kB samuelvanderwaal
npm/eslint-config-prettier@8.5.0 None 0 18.2 kB lydell
npm/typescript@5.0.4 None 0 39.2 MB typescript-bot

🚮 Removed packages: npm/@audius/sdk@3.0.8-beta.10, npm/@babel/runtime@7.24.1, npm/@coral-xyz/anchor@0.28.0, npm/@coral-xyz/borsh@0.28.0, npm/@noble/curves@1.4.0, npm/@noble/hashes@1.4.0, npm/@npmcli/fs@3.1.0, npm/@pkgjs/parseargs@0.11.0, npm/@solana/buffer-layout-utils@0.2.0, npm/@solana/buffer-layout@4.0.1, npm/@solana/spl-token@0.3.8, npm/@solana/web3.js@1.78.4, npm/@types/bn.js@5.1.0, npm/@types/chai@4.3.0, npm/@types/connect@3.4.38, npm/@types/json5@0.0.29, npm/@types/mocha@9.0.0, npm/@types/node@20.11.30, npm/@types/ws@7.4.7, npm/@ungap/promise-all-settled@1.1.2, npm/abbrev@2.0.0, npm/agent-base@7.1.0, npm/agentkeepalive@4.5.0, npm/aggregate-error@3.1.0, npm/ansi-colors@4.1.1, npm/ansi-regex@5.0.1, npm/arrify@1.0.1, npm/assertion-error@1.1.0, npm/balanced-match@1.0.2, npm/base-x@3.0.9, npm/base64-js@1.5.1, npm/bigint-buffer@1.1.5, npm/bignumber.js@9.1.2, npm/binary-extensions@2.3.0, npm/bindings@1.5.0, npm/bn.js@5.2.1, npm/brace-expansion@1.1.11, npm/braces@3.0.2, npm/browser-stdout@1.3.1, npm/buffer-from@1.1.2, npm/buffer-layout@1.2.2, npm/buffer@6.0.3, npm/bufferutil@4.0.8, npm/cacache@18.0.1, npm/chai@4.3.4, npm/check-error@1.0.3, npm/chokidar@3.5.2, npm/chownr@2.0.0, npm/clean-stack@2.2.0, npm/cliui@7.0.4, npm/color-convert@2.0.1, npm/color-name@1.1.4, npm/concat-map@0.0.1, npm/cross-fetch@3.1.8, npm/crypto-hash@1.3.0, npm/debug@4.3.1, npm/decamelize@4.0.0, npm/deep-eql@3.0.1, npm/delay@5.0.0, npm/diff@5.0.0, npm/dot-case@3.0.4, npm/eastasianwidth@0.2.0, npm/emoji-regex@8.0.0, npm/encoding@0.1.13, npm/env-paths@2.2.1, npm/err-code@2.0.3, npm/es6-promise@4.2.8, npm/es6-promisify@5.0.0, npm/escalade@3.1.2, npm/escape-string-regexp@4.0.0, npm/eventemitter3@4.0.7, npm/exponential-backoff@3.1.1, npm/eyes@0.1.8, npm/fast-stable-stringify@1.0.0, npm/file-uri-to-path@1.0.0, npm/fill-range@7.0.1, npm/flat@5.0.2, npm/foreground-child@3.1.1, npm/fs-minipass@3.0.3, npm/fs.realpath@1.0.0, npm/get-caller-file@2.0.5, npm/get-func-name@2.0.2, npm/glob-parent@5.1.2, npm/graceful-fs@4.2.11, npm/growl@1.10.5, npm/has-flag@4.0.0, npm/he@1.2.0, npm/http-cache-semantics@4.1.1, npm/http-proxy-agent@7.0.0, npm/https-proxy-agent@7.0.2, npm/humanize-ms@1.2.1, npm/iconv-lite@0.6.3, npm/ieee754@1.2.1, npm/imurmurhash@0.1.4, npm/indent-string@4.0.0, npm/inflight@1.0.6, npm/inherits@2.0.4, npm/ip@2.0.0, npm/is-binary-path@2.1.0, npm/is-extglob@2.1.1, npm/is-fullwidth-code-point@3.0.0, npm/is-glob@4.0.3, npm/is-lambda@1.0.1, npm/is-number@7.0.0, npm/is-plain-obj@2.1.0, npm/is-unicode-supported@0.1.0, npm/isexe@2.0.0, npm/isomorphic-ws@4.0.1, npm/jackspeak@2.3.6, npm/jayson@4.1.0, npm/js-sha256@0.9.0, npm/json-stringify-safe@5.0.1, npm/jsonparse@1.3.1, npm/jsonstream@1.3.5, npm/log-symbols@4.1.0, npm/lower-case@2.0.2, npm/make-error@1.3.6, npm/make-fetch-happen@13.0.0, npm/minimatch@3.0.4, npm/minimist@1.2.8, npm/minipass-collect@2.0.1, npm/minipass-fetch@3.0.4, npm/minipass-flush@1.0.5, npm/minipass-pipeline@1.2.4, npm/minipass-sized@1.0.3, npm/minipass@7.0.4, npm/minizlib@2.1.2, npm/mkdirp@1.0.4, npm/mocha@9.0.3, npm/nanoid@3.1.23, npm/negotiator@0.6.3, npm/no-case@3.0.4, npm/node-gyp-build@4.8.0, npm/node-gyp@10.0.1, npm/nodemon@2.0.19, npm/nopt@7.2.0, npm/normalize-path@3.0.0, npm/once@1.4.0, npm/p-limit@3.1.0, npm/p-map@4.0.0, npm/pako@2.1.0, npm/path-exists@4.0.0, npm/path-is-absolute@1.0.1, npm/path-scurry@1.10.1, npm/pathval@1.1.1, npm/picomatch@2.3.1, npm/prettier@2.6.2, npm/proc-log@3.0.0, npm/prom-client@14.0.1, npm/promise-retry@2.0.1, npm/randombytes@2.1.0, npm/readdirp@3.6.0, npm/require-directory@2.1.1, npm/retry@0.12.0, npm/rpc-websockets@7.9.0, npm/safe-buffer@5.2.1, npm/safer-buffer@2.1.2, npm/semver@7.6.0, npm/serialize-javascript@6.0.0, npm/signal-exit@4.1.0, npm/snake-case@3.0.4, npm/socks-proxy-agent@8.0.2, npm/source-map-support@0.5.21, npm/ssri@10.0.5, npm/string-width@4.2.3, npm/strip-ansi@6.0.1, npm/strip-json-comments@3.1.1, npm/tar@6.2.1, npm/text-encoding-utf-8@1.0.2, npm/through@2.3.8, npm/to-regex-range@5.0.1, npm/toml@3.0.0, npm/ts-node@7.0.1, npm/tsconfig-paths@3.14.2, npm/type-detect@4.0.8, npm/typescript@4.3.5, npm/unique-filename@3.0.0, npm/unique-slug@4.0.0, npm/utf-8-validate@5.0.10, npm/which@2.0.2, npm/wrap-ansi@7.0.0, npm/wrappy@1.0.2, npm/ws@7.5.9, npm/y18n@5.0.8, npm/yargs-parser@20.2.4, npm/yargs@16.2.0, npm/yn@2.0.0, npm/yocto-queue@0.1.0

View full report↗︎

Copy link

🚨 Potential security issues detected. Learn more about Socket for GitHub ↗︎

To accept the risk, merge this PR and you will not be notified again.

Alert Package NoteSource
Install scripts npm/@nestjs/core@8.2.6
  • Install script: postinstall
  • Source: opencollective || exit 0
  • orphan: npm/@nestjs/core@8.2.6
Install scripts npm/@apollo/protobufjs@1.2.7
  • Install script: postinstall
  • Source: node scripts/postinstall
  • orphan: npm/@apollo/protobufjs@1.2.7

View full report↗︎

Next steps

What is an install script?

Install scripts are run when the package is installed. The majority of malware in npm is hidden in install scripts.

Packages should not be running non-essential scripts during install and there are often solutions to problems people solve with install scripts that can be run at publish time instead.

Take a deeper look at the dependency

Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support [AT] socket [DOT] dev.

Remove the package

If you happen to install a dependency that Socket reports as Known Malware you should immediately remove it and select a different dependency. For other alert types, you may may wish to investigate alternative packages or consider if there are other ways to mitigate the specific risk posed by the dependency.

Mark a package as acceptable risk

To ignore an alert, reply with a comment starting with @SocketSecurity ignore followed by a space separated list of ecosystem/package-name@version specifiers. e.g. @SocketSecurity ignore npm/foo@1.0.0 or ignore all packages with @SocketSecurity ignore-all

  • @SocketSecurity ignore npm/@nestjs/core@8.2.6
  • @SocketSecurity ignore npm/@apollo/protobufjs@1.2.7

@audius-infra
Copy link
Collaborator

It looks like there may be some changes to native mobile code, which requires triggering a full app release. Please follow the instructions here: https://www.notion.so/audiusproject/When-to-bump-app-version-2644a8f772364a4d91f44abcba44ce0b?pvs=4. cc @nicoback2 @sliptype

Copy link
Contributor

@sliptype sliptype left a comment

Choose a reason for hiding this comment

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

Very nice! I was wondering if we could remove any of this logic here but I think probably not: https://github.com/AudiusProject/audius-protocol/blob/main/packages/common/src/services/opensea-client/ethCollectibleHelpers.ts#L237

@dylanjeffers
Copy link
Contributor Author

Very nice! I was wondering if we could remove any of this logic here but I think probably not: https://github.com/AudiusProject/audius-protocol/blob/main/packages/common/src/services/opensea-client/ethCollectibleHelpers.ts#L237

oh interesting... maybe i update my code to check for frameUrl in object first, and if not there we do the thumbnail stuff?

@dylanjeffers
Copy link
Contributor Author

@sliptype just followed up on this, and basically there are cases wher the ethcollectibleHelpers do not have a "frameUrl". In web we render a paused video element, and on mobile im using the thumbnail approach to avoid having to load the entire video! going to roll forward with this

@dylanjeffers dylanjeffers merged commit 8ccc5e1 into main Mar 28, 2024
2 of 4 checks passed
@dylanjeffers dylanjeffers deleted the dj-c-4008-fix-video-collectibles branch March 28, 2024 00:44
audius-infra pushed a commit that referenced this pull request Mar 30, 2024
[d0f02bd] [PAY-2648] Improve state of collectibles and their collections (#7979) Saliou Diallo
[712f589] [PAY-2595] Access checker handles albums (#7973) Reed
[e45a0ef] [C-3996] Add Privacy manifest with privacy api reasons (#7966) Sebastian Klingler
[5978ffe] [C-4079] Add rewards cooldown to web (#7967) Isaac Solo
[592e664] Bump version to 0.6.70 audius-infra
[3600a6a] Remove spammy log from transaction handler (#7978) Reed
[76fcd36] [C-4069, C-4072] Render basic collection page info and image on the server side (#7974) Kyle Shanks
[a7f45be] [C-4211] Add non SSR paths to makePageRoute function (#7976) Kyle Shanks
[e246619] Make secondary buy $AUDIO button full-width (#7977) Reed
[cbcecb5] Disable sign up referral e2e test till it can be refactored (#7975) JD Francis
[361d87e] [ONC-65] Fix search auto suggest (#7972) Sebastian Klingler
[f79e98b] [PAY-2625, PAY-2618] Show dog ear on collection page (#7968) Andrew Mendelsohn
[55b0e8e] Bump version to 0.6.69 audius-infra
[de02017] [PROTO-1742] Crawl ddex folders and improve polling+schema (#7960) Theo Ilie
[d60a2be] Disable buy button on track screen on ios (#7971) Reed
[8ccc5e1] [C-4008] Fix video collectible card (#7940) Dylan Jeffers
[ae77ce8] [PAY-2576] Solana relay retries if initial send fails (#7910) Reed
[6e71ce2] Fix challenge info decimal (#7965) Isaac Solo
[20fea34] [PAY-2554, PAY-2555] Purchase album via purchase modal (#7941) Andrew Mendelsohn
[197c0a0] Playwright auth tests (#7948) JD Francis
[5633bf0] Fix pause button pt 2 (#7964) Sebastian Klingler
[46cb255] [C-4071] Set up the collection page for SSR (#7963) Kyle Shanks
[370d127] ONC-54: indexer concurrency (#7933) alecsavvy
[722f122] Whitespace lint fix for identity (#7962) Andrew Mendelsohn
[7dcd1ff] Bump version to 0.6.68 audius-infra
[3889398] Update Tooltip component to render children on server-side (#7945) Kyle Shanks
[08969e6] [PAY-2581] Add support for Helius DAS API for Solana NFTs (#7932) Saliou Diallo
[fe77d63] [ONC-62] Fix pause on track screen (#7959) Sebastian Klingler
[09756a5] [C-4076] Fix search results profile images (#7958) Dylan Jeffers
[4382ab9] Remove priority fee from track listens (#7957) Marcus Pasell
[b2a70a1] [C-4015] Fix hotkeys with modifiers (#7952) Dylan Jeffers
[ea11599] Fix upload body text (#7956) Dylan Jeffers
[85c6efd] Add junit web-test results to CI (#7954) Marcus Pasell
[e33d709] [C-4074] Add Dancehall genre (#7947) Dylan Jeffers
[417516f] [PAY-2566] Check playlists_previously_containing_track in access checker (#7953) Reed
[e751480] [PAY-2565] playlists_previously_containing_track column in tracks table (#7853) Reed
[3e8ebc9] Disable failing web-tests (#7949) Marcus Pasell
[fb22032] [C-4075] Harmony qa round 2 (#7951) Dylan Jeffers
[93b06c7] [ONC-60] Don't delete tracks when deleting album (#7950) Sebastian Klingler
[a38544c] [C-4062] Fix supporter tiles gradient (#7939) Dylan Jeffers
[d7a59b4] [C-2938] Fix robots.txt (#7943) Sebastian Klingler
[147a4f7] [PAY-2564] Remove old track download code (#7942) Reed
[0ae0170] Add playwright report task (#7946) Marcus Pasell
[6aa730b] [PROTO-1717] Clean up DDEX e2e with table tests (#7935) Theo Ilie
[2222c9d] Fix sign up toasts not going away (#7944) JD Francis
[8ef5ec1] Bump version to 0.6.67 audius-infra
[d03df66] Remove Probers project and Cypress (#7923) Marcus Pasell
[b8f638f] [C-4017] Small fixes for ssr profile page rendering (#7937) Kyle Shanks
[1598562] [C-4065, C-4067] Update sdk instances in ssr files to avoid http provider errors (#7930) Kyle Shanks
[cc18be2] [C-4070] Improve sign-up page for various screen sizes (#7938) Dylan Jeffers
[b313b4f]  [ONC-58] Add next param to opensea requests (#7936) Sebastian Klingler
[7ab8ed3] [INF-594] Add e2e tests for sdk example app (#7917) Sebastian Klingler
[5d93bf7] [C-4019] Fix web track menu options (#7934) Dylan Jeffers
[35e4091] [C-4066] Fix edit-collectibles modal spacing (#7925) Dylan Jeffers
[ec6c7a6] Add Playwright for Web E2E Testing (#7922) Marcus Pasell
[f340cd5] add child logger to relay (#7927) alecsavvy
[17ccd74] Update mobile app versions for release .73 (#7931) Dylan Jeffers
[d7a3e81] Fix prepare transfer copy (#7929) Isaac Solo
[b497af7] Expire cached Solana transactions (#7926) Marcus Pasell
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants