A browser and wallet for LBRY, the decentralized, user-controlled content marketplace.
Find a file
infinite-persistence 7cbb7a54aa
Handle browsers that don't support IntersectionObserver (#1739)
* Remove ad-handling in videojs.jsx

Primary impetus is to remove unnecessary IntersectionObserver usage, but it should be removed anyway because:
- no longer relevant today with Adnimation's script.
- we also globally hide floating ads now, so no more invisible divs.
- the code is wrongly placed -- it's not the responsibility of the Videojs component.

* use-lazy-loaded: skip if IntersectionObserver is not supported

## Issue
Page not loading in older Safari (e.g. ipad air 2)

## Approach
Instead of using a polyfill (which comes with implementation caveats), just not apply the lazy-loading for those old browsers. Not lazy-loading is better than not loading at all, plus this is way easier to test (even by just reading the code) than testing out the polyfill implementation's caveats.

The cons is we would need the polyfill if we use it in other places in the future.

## Code Changes
Factor out the src-setting code, and use it directly when IntersectionObserver is not found.
2022-06-23 08:10:27 -04:00
.github update yarn version (#1654) 2022-06-08 15:48:32 +02:00
.tx make "I Understand" acknowledgement work for i18n case 2019-10-13 12:42:55 -04:00
build working 2020-12-16 10:52:22 -05:00
custom initial PR for custom homepages - take 2 2020-11-10 12:08:19 -05:00
electron Remove use-zoom 2021-11-09 15:57:12 +08:00
extras Recsys: capture and use x-uuid from search results (#1727) 2022-06-22 09:43:54 -04:00
flow-typed PublishReleaseTime widget improvements (#1740) 2022-06-23 07:27:08 -04:00
homepages Revert "Code-split homepages" 2021-10-28 01:33:46 +08:00
static PublishReleaseTime widget improvements (#1740) 2022-06-23 07:27:08 -04:00
ui Handle browsers that don't support IntersectionObserver (#1739) 2022-06-23 08:10:27 -04:00
web Revert "Undo the hardcoded ad div id (#1719)" (#1722) 2022-06-21 06:12:47 -04:00
.env.defaults Consolidate the mobile tile to use the poster size for better caching. 2022-06-17 11:58:43 -04:00
.eslintignore inline-attachment: move to local copy + handle xhr errors 2022-04-01 12:36:49 -04:00
.eslintrc bump eslint version (#1640) 2022-06-06 12:19:35 -04:00
.flowconfig Recsys: add flow and fix uncovered issues 2022-05-24 14:58:52 +08:00
.gitignore Ignore .vscode directory to allow disabling js typechecking. (#712) 2022-01-17 08:39:40 -05:00
.lintstagedrc.json Lint '/extras/*' + fixes 2021-10-19 20:40:08 +08:00
.prettierignore Use non-VHS link when "auto" matches non-VHS quality 2022-04-14 02:41:23 -04:00
.prettierrc.json redesign channel page 2019-05-06 23:29:50 -04:00
.sentryclirc update iframe type + sentry 2022-03-02 12:45:26 -05:00
babel.config.js use same code for handling open links on lbry.tv and desktop 2019-12-03 13:25:17 -05:00
config.js Consolidate the mobile tile to use the poster size for better caching. 2022-06-17 11:58:43 -04:00
CONTRIBUTING.md CONTRIBUTING.MD: remove electron and other app references 2022-06-02 14:11:09 +08:00
electron-builder.json remove 32 bit build 2021-01-25 14:24:57 -05:00
LICENSE Bump copyright year to 2021 2021-02-17 17:40:00 -05:00
package.json bump eslint version (#1640) 2022-06-06 12:19:35 -04:00
postcss.config.js redesign channel page 2019-05-06 23:29:50 -04:00
README.md README: remove obsolete items + improve formatting 2022-02-26 21:19:01 +08:00
webpack.base.config.js Enable BundleAnalyzerPlugin + remove 'yarn analyze' 2021-11-11 00:07:18 +08:00
webpack.electron.config.js Initial commit for LBRY-First 2020-07-08 14:23:43 -04:00
yarn.lock Reuse videojs instance between video reload, return mobile UI plugin for iOS (#1512) 2022-06-10 12:18:58 -04:00

Odysee Frontend - Odysee.com

This repo contains the UI and front end code that powers Odysee.com.

npm chat on Discord

Table of Contents

  1. Usage
  2. Running from Source
  3. Contributing
  4. License
  5. Security
  6. Contact

Usage

Go to the website to interact on this frontend.

Running from Source

Prerequisites

  1. Clone (or fork) this repository: git clone https://github.com/OdyseeTeam/odysee-frontend
  2. Change directory into the cloned repository: cd odysee-frontend
  3. Install the dependencies: yarn

Run the web app for development

yarn dev:web

  • This uses webpack-dev-server and includes hot-reloading. If you want to debug the web server we use in production you can run yarn dev:web-server. This starts a server at localhost:1337 and does not include hot reloading.

Customize the web app

  • In root directory, duplicate the .env.default file as .env and make customizations there.
    cp .env.defaults .env
    nano .env
    
  • To specify your own OG-IMAGE:
    • Either place a png named v2-og.png in the /custom folder or specify the OG_IMAGE_URL in .env file.
  • To specify your own channels to be followed on first run:
    • AUTO_FOLLOW_URLS=lbry://@chan#123...a lbry://@chan2#456...a
  • To customize the homepage content:
    1. Add CUSTOM_HOMEPAGE=true to the .env file.
    2. Copy /custom/homepage.example.js to /custom/homepage.js and make desired changes to homepage.js.
  • Finally, run NODE_ENV=production yarn compile:web to rebuild.
    • Note: You do not need to edit the .env file in the /web folder - that is copied during compilation.

Deploy the web app (experimental)

  1. Create a server with a domain name and a reverse proxy https to port 1337.
  2. Install pm2, node v10, yarn
  3. Clone this repo
  4. Make any customizations as above
  5. Run yarn to install
  6. Run NODE_ENV=production yarn compile:web to build
  7. Set up pm2 to start ./web/index.js

Resetting your Packages

If the app isn't building, or yarn xxx commands aren't working you may need to just reset your node_modules. To do so you can run: rm -r node_modules && yarn or del /s /q node_modules && yarn on Windows.

If you really think something might have gone wrong, you can force your repo to clear everything that doesn't match the repo with git reset --hard HEAD && git clean -fxd && git pull -r

Contributing

We ❤️ contributions from everyone and contributions to this project are encouraged, and compensated. We welcome bug reports, bug fixes and feedback is always appreciated. For more details, see CONTRIBUTING.md.

contributions welcome GitHub contributors

License

This project is MIT licensed. For the full license, see LICENSE.

Security

For security issues, please reach out to security@odysee.com