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

fix: 🗑️ Deprecation notice for js-ipfs #1628

Merged
merged 3 commits into from
Jun 30, 2023
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
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
22 changes: 15 additions & 7 deletions docs/how-to/companion-node-types.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description: Learn about the available node types in IPFS Companion.

# Understand node types in IPFS Companion

IPFS Companion's preferences screen allows you to choose from several different node types. The available types you'll see in your Companion preferences depends on the browser you're using (i.e. Firefox, Chrome, Brave), but the full list is as follows:
IPFS Companion's preferences screen allows you to choose from different node types. The available types you'll see in your Companion preferences depends on the browser you're using (i.e. Firefox, Chrome, Brave), but the full list is as follows:

[[toc]]

Expand Down Expand Up @@ -67,6 +67,12 @@ This node type offers the same benefits as an [external](#external) node, with a

## Embedded
Copy link
Contributor

Choose a reason for hiding this comment

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

Can we just remove the full Embedded section?


::: warning DEPRECATED

js-ipfs has been deprecated in favor of [Helia](https://github.com/ipfs/helia) and will be removed in a future release of IPFS Companion. Improvements to Helia are ongoing, and we hope to have it ready for use in IPFS Companion once critical features like [webRTC Streams](https://github.com/w3c/webextensions/issues/72) are available in Chrome Manifest V3.

:::
Comment on lines +70 to +74
Copy link
Contributor

Choose a reason for hiding this comment

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

@whizzzkid : I think this just adds noise. This can be in our backlogged but this was a non-functioning feature. I think we should just strip it out.


An _embedded_ node is a js-ipfs instance running in the browser in-memory, without the need for any external software.

::: warning
Expand All @@ -75,6 +81,14 @@ This node type is only for development and experimentation. Most users should us

:::

::: warning Deprecation Notice for Chrome Manifest V3

Chrome Manifest V3 is the new version of the Chrome extension platform that IPFS Companion will support in the near future ([tracking issue](https://github.com/ipfs/ipfs-companion/issues/1152)). The embedded node type is not available in Chrome MV3 and will be removed from the extension in a future release.
ElPaisano marked this conversation as resolved.
Show resolved Hide resolved

If you're using the embedded node type in Chrome, please switch to the external node type instead.

:::

Power users can provide [custom config](https://github.com/ipfs/js-ipfs#faq) (e.g. to enable experimental pubsub) via the IPFS Companion [Preferences](https://user-images.githubusercontent.com/157609/38084660-0b97c0cc-334e-11e8-9368-823345ced67f.png)

Please note that there are some limitations when running an embedded js-ipfs instance in the browser context using Companion:
Expand All @@ -87,12 +101,6 @@ Please note that there are some limitations when running an embedded js-ipfs ins
- Missing relay discovery ([js-ipfs/v0.29.x/examples/circuit-relaying](https://github.com/ipfs/js-ipfs/tree/v0.29.3/examples/circuit-relaying))
- An embedded node _does not run_ when an external node is selected; every time you switch back to the embedded node, a new instance is created on demand, and it can take a few seconds for a newly running node to find peers.

### Embedded + `chrome.sockets` (deprecated)

::: warning
This node type has been deprecated and is no longer supported by Chromium browsers. While this option still appears in IPFS Companion preferences, users of this node type are strongly urged to migrate to a different node type.
:::

## Public

A _public_ node is used as a fallback for gateway functionality when an external node is offline or an embedded node is used. It does not expose the API port. This type of node is not included as an option in Companion's preferences.
6 changes: 2 additions & 4 deletions docs/install/ipfs-companion.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@ For its full functionality to be enabled, IPFS Companion requires a local IPFS n
- [Install IPFS Kubo for Go](../install/command-line.md)
- [Install IPFS for JavaScript](../install/js-ipfs.md)

You can still use IPFS Companion without a local node running, although you will lose some functionality, such as the ability to load websites with DNSLink via a gateway.

## Install

The easiest way to install IPFS Companion is through your browser's specific extensions and add-ons store:
Expand All @@ -34,15 +32,15 @@ IPFS Companion supercharges your browser for the DWeb with features including th

IPFS Companion detects and tests requests for IPFS-like paths, such as `/ipfs/{cid}` or `/ipns/{peerid_or_host-with-dnslink}`, on any website. If a path is a valid IPFS address, it is redirected to load from your local gateway, which converts data from one protocol to another. The gateway at `localhost` will also automatically switch to a subdomain to provide a unique origin for each website. Providing a unique origin accommodates operations that are restricted to content that shares the same protocol, domain, and port, also known as [same-origin content](https://en.wikipedia.org/wiki/Same-origin_policy#:~:text=In%20computing%2C%20the%20same%2Dorigin,pages%20have%20the%20same%20origin).

> `https://ipfs.io/ipfs/QmbWqxBEKC3P8tqsKc98xmWNzrzDtRLMiMPL8wBuTGsMnR`
> `https://ipfs.io/ipfs/QmbWqxBEKC3P8tqsKc98xmWNzrzDtRLMiMPL8wBuTGsMnR`
> → `http://localhost:8080/ipfs/QmbWqxBEKC3P8tqsKc98xmWNzrzDtRLMiMPL8wBuTGsMnR`
> → `http://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi.ipfs.localhost:8080`

### Detect DNSLink-enabled URLs

IPFS Companion detects DNSLink info in the DNS records of websites. DNSLink is a simple protocol that links content and serviceability from DNS and leverages the DNS distributed architecture. See [Glossary > DNSLink](../concepts/glossary.md#dnslink). If a site uses DNSLink, IPFS Companion redirects the HTTP request to your local gateway:

> `http://docs.ipfs.tech`
> `http://docs.ipfs.tech`
> → `http://localhost:8080/ipns/docs.ipfs.tech` → `http://docs.ipfs.tech.ipns.localhost:8080/`

### Detect pages with `x-ipfs-path` headers
Expand Down