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

chore: automate releases with release-please #2664

Merged
merged 25 commits into from
Oct 13, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
c1bbebd
chore: bootstrap releases for path: .
SgtPooki Oct 12, 2023
fd42cb3
ci(release-please): config update
SgtPooki Oct 12, 2023
a163d4f
feat: new fake file
SgtPooki Oct 12, 2023
3a05b24
fix: release-please config
SgtPooki Oct 12, 2023
aa22cc6
feat: add release-please package config
SgtPooki Oct 12, 2023
6756b1d
feat: annotate README.md so release-please updates the version
SgtPooki Oct 12, 2023
9dea6f7
fix: release-please version annotation block
SgtPooki Oct 12, 2023
5fed4fe
chore: test use of custom plugin
SgtPooki Oct 12, 2023
dd16b21
feat: attempting custom release-please plugin
SgtPooki Oct 12, 2023
7451b0a
fix: custom release-please plugin for updating versions in readme.md
SgtPooki Oct 12, 2023
5d6daaa
fix: getting old version from readme
SgtPooki Oct 12, 2023
cf4337a
fix: release-please custom plugin
SgtPooki Oct 12, 2023
8df6091
fix: use @ipfs-shipyard/release-please-ipfs-plugin
SgtPooki Oct 12, 2023
0c77858
chore: remove release-please-plugin from this codebase
SgtPooki Oct 12, 2023
114351b
fix: release-please bootstrap-sha
SgtPooki Oct 12, 2023
ef06884
chore: try to remove packages entry in release please config
SgtPooki Oct 12, 2023
0e2b1a5
Revert "chore: try to remove packages entry in release please config"
SgtPooki Oct 12, 2023
5404417
fix: release-please changelog sections
SgtPooki Oct 12, 2023
a5357e5
chore(release-please/bootstrap/default): release 0.31.1 (#2672)
SgtPooki Oct 12, 2023
37a5173
Revert "chore(release-please/bootstrap/default): release 0.31.1 (#2672)"
SgtPooki Oct 13, 2023
a556d48
chore: add release-please to CI
SgtPooki Oct 13, 2023
94f51f9
docs: update developer-notes and scripts
SgtPooki Oct 13, 2023
46c8eee
chore: remove the fake file
SgtPooki Oct 13, 2023
5de4fef
chore: update release-please config to create drafts
SgtPooki Oct 13, 2023
454daac
chore: update release-please ci steps
SgtPooki Oct 13, 2023
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
26 changes: 26 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,17 @@ jobs:
shell: bash
continue-on-error: true # empty steps.tag.outputs.tag will inform the next step

# This step will only handle the creation of the release draft, the "Build binaries with electron-builder" step
# will attach binaries to that release draft
- name: Run release-please github-release
if: contains(github.ref, 'refs/tags/') && (github.event_name == 'push' || github.event_name == 'workflow_dispatch')
SgtPooki marked this conversation as resolved.
Show resolved Hide resolved
uses: google-github-actions/release-please-action@v3.7.3
with:
command: github-release
release-type: node
changelog-notes-type: github
draft: true

- name: Build binaries with electron-builder
uses: paneron/action-electron-builder@14b133702d1b2e9749912051c43ed62b4afe56c8 # v1.8.1
with:
Expand Down Expand Up @@ -242,3 +253,18 @@ jobs:

- name: Show Cache
run: du -sh ${{ github.workspace }}/.cache/ && ls -l ${{ github.workspace }}/.cache/

# This Job will handle the creation of the "release-please" PR
create-release-please-pr:
runs-on: ubuntu-latest
needs: [test, build]
if: github.ref == 'refs/heads/main' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch')
steps:
- uses: google-github-actions/release-please-action@v3.7.3
Copy link
Contributor

Choose a reason for hiding this comment

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

the release please action can run both of these steps based on different context.

i.e. it'll run the release-pr step when a release PR does not exist and then it'll create a release in the next step.

One obv. question will be how will plugin work, you can have a check in the plugin to validate if it's in the PR creation phase or release creation.

Copy link
Member Author

Choose a reason for hiding this comment

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

the plugin is in the PR creation phase and already validated in #2672

Copy link
Member Author

Choose a reason for hiding this comment

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

i'm not sure if the other issues you brought up need looked at.. we could just call npm run release-pr or npm run release-gh appropriately where we need to?

Copy link
Contributor

Choose a reason for hiding this comment

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

does that also handle the tag-creation? combining steps simplifies maintainence.

with:
command: release-pr
changelog-notes-type: github
release-type: node
plugins: |
@ipfs-shipyard/release-please-ipfs-plugin@v1.0.0
draft-pull-request: true
3 changes: 3 additions & 0 deletions .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
".": "0.31.0"
}
40 changes: 40 additions & 0 deletions DEVELOPER-NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,45 @@ Manually test a few things that don't transfer well to automated testing:
5. **Mac & Windows (both must to be checked):** Confirm that OS-wide protocol handler was registered by opening <a href="ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi">`ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi`</a> in a stock web browser (Edge, Safari, Google Chrome) _without_ IPFS Companion

### Main release process

Release PRs are created automatically by release-please whenever new changes are merged into the `main` branch. A release is created automatically by CI when that release PR is merged. See the changes made in https://github.com/ipfs/ipfs-desktop/pull/2664 for more information on that process.

So the first step is to merge the release PR. Once that is merged, the release will be created automatically by CI. Once the release is created, the following steps need to be done manually:

#### Mark the latest release as `latest` and publish it.

1. Check out the [releases page](https://github.com/ipfs/ipfs-desktop/releases) and find the latest release.
1. Click the `Edit` button for the version we want to release
1. Ensure the release notes are correct and the binaries and other artifacts are attached. (there should be 17 attached assets total)
* The `latest.yml, latest-mac.yml, latest-linux.yml` files on the release are used by the app to determine when an app update is available.
1. Check the `Set as the latest release` box.
1. Then click `Publish release`.

#### When the above PR is merged and github release is created, bump the brew cask version

All it takes for this is [a simple command which will open a PR for you](https://github.com/Homebrew/homebrew-cask/blob/master/CONTRIBUTING.md#updating-a-cask):

```bash
brew bump --open-pr homebrew/cask/ipfs
```

### Manual release process

Be sure you have an environment variable `GH_TOKEN` set to a valid GitHub token with `repo` scope.

```bash
### Create release PR
npm run release-pr

### create github release
npm run release-gh

### When the above PR is merged and github release is created, bump the brew cask version:
brew bump --open-pr homebrew/cask/ipfs
# see https://github.com/Homebrew/homebrew-cask/blob/master/CONTRIBUTING.md#updating-a-cask if you run into issues.
```

<!-- OLD RELEASE PROCESS (keep for now, until we're sure the new one works)
1. Update the version using `npm version [major|minor|patch]` (it will create a new tag `vA.B.C`, note it down)
1. Update all links and badges in `README.md` to point to the new version (`A.B.C`).
- You may use `ts-node scripts/release/updateReadme.ts <oldVersion> <newVersion>` to update the readme. e.g. `ts-node scripts/release/updateReadme.ts 0.26.0 0.26.1`
Expand All @@ -42,6 +81,7 @@ Manually test a few things that don't transfer well to automated testing:
1. Update selected package managers:
- Wait for CI to finish and confirm that it updated [Snap](https://snapcraft.io/ipfs-desktop), and is at least pending review on [Chocolatey](https://chocolatey.org/packages/ipfs-desktop#versionhistory).
- Update the [Homebrew cask](https://github.com/Homebrew/homebrew-cask/blob/master/CONTRIBUTING.md#updating-a-cask).
-->

### Manually notarize `.dmg` with Apple

Expand Down
50 changes: 25 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

Copy link
Member Author

Choose a reason for hiding this comment

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

the changes in this file are just changing repo strings from old ipfs-shipyard ones: s/ipfs-shipyard\/ipfs-desktop/ipfs\/ipfs-desktop/

[![](https://img.shields.io/badge/made%20by-Protocol%20Labs-blue.svg?style=flat-square)](https://protocol.ai/)
[![](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](https://ipfs.tech/)
[![total download count](https://img.shields.io/github/downloads/ipfs-shipyard/ipfs-desktop/total.svg?style=flat-square&label=all%20downloads)](https://github.com/ipfs-shipyard/ipfs-desktop/releases)
[![latest release download count](https://img.shields.io/github/downloads/ipfs-shipyard/ipfs-desktop/v0.31.0/total.svg?style=flat-square)](https://github.com/ipfs-shipyard/ipfs-desktop/releases/tag/v0.31.0)
[![total download count](https://img.shields.io/github/downloads/ipfs/ipfs-desktop/total.svg?style=flat-square&label=all%20downloads)](https://github.com/ipfs/ipfs-desktop/releases)
[![latest release download count](https://img.shields.io/github/downloads/ipfs/ipfs-desktop/v0.31.0/total.svg?style=flat-square)](https://github.com/ipfs/ipfs-desktop/releases/tag/v0.31.0)

**IPFS Desktop gives you all the power of [IPFS](https://ipfs.io) in a convenient desktop app: a complete IPFS node, plus handy OS menubar/taskbar shortcuts and an all-in-one file manager, peer map, and content explorer.**

Expand All @@ -19,9 +19,9 @@ Use IPFS Desktop to get acquainted with IPFS without needing to touch the termin

When in doubt, pick one of package formats with built-in automatic update mechanism:

- **Mac:** [ipfs-desktop-0.31.0-mac.dmg](https://github.com/ipfs-shipyard/ipfs-desktop/releases/download/v0.31.0/ipfs-desktop-0.31.0-mac.dmg)
- **Windows:** [IPFS-Desktop-Setup-0.31.0.exe](https://github.com/ipfs-shipyard/ipfs-desktop/releases/download/v0.31.0/IPFS-Desktop-Setup-0.31.0.exe)
- **Linux:** [ipfs-desktop-0.31.0-linux-x86_64.AppImage](https://github.com/ipfs-shipyard/ipfs-desktop/releases/download/v0.31.0/ipfs-desktop-0.31.0-linux-x86_64.AppImage)
- **Mac:** [ipfs-desktop-0.31.0-mac.dmg](https://github.com/ipfs/ipfs-desktop/releases/download/v0.31.0/ipfs-desktop-0.31.0-mac.dmg)
- **Windows:** [IPFS-Desktop-Setup-0.31.0.exe](https://github.com/ipfs/ipfs-desktop/releases/download/v0.31.0/IPFS-Desktop-Setup-0.31.0.exe)
- **Linux:** [ipfs-desktop-0.31.0-linux-x86_64.AppImage](https://github.com/ipfs/ipfs-desktop/releases/download/v0.31.0/ipfs-desktop-0.31.0-linux-x86_64.AppImage)
- If you prefer to manage updates on your own, see [other package formats](#install) below.

### Table of Contents
Expand Down Expand Up @@ -106,33 +106,33 @@ If you're interested in learning how to use IPFS from the command line, IPFS Des

## Install

Release notes and older versions of IPFS Desktop can be found on the [releases page](https://github.com/ipfs-shipyard/ipfs-desktop/releases).
Release notes and older versions of IPFS Desktop can be found on the [releases page](https://github.com/ipfs/ipfs-desktop/releases).

Don't see your favorite package manager? Visit our [package managers page](https://github.com/ipfs-shipyard/ipfs-desktop/issues/691) and help us add support for it!
Don't see your favorite package manager? Visit our [package managers page](https://github.com/ipfs/ipfs-desktop/issues/691) and help us add support for it!

### Mac
- **Installer:** [ipfs-desktop-0.31.0-mac.dmg](https://github.com/ipfs-shipyard/ipfs-desktop/releases/download/v0.31.0/ipfs-desktop-0.31.0-mac.dmg)\
[![](https://img.shields.io/github/downloads/ipfs-shipyard/ipfs-desktop/v0.31.0/ipfs-desktop-0.31.0-mac.dmg.svg?style=flat-square&label=downloads)](https://github.com/ipfs-shipyard/ipfs-desktop/releases/download/v0.31.0/ipfs-desktop-0.31.0-mac.dmg)
- **Installer:** [ipfs-desktop-0.31.0-mac.dmg](https://github.com/ipfs/ipfs-desktop/releases/download/v0.31.0/ipfs-desktop-0.31.0-mac.dmg)\
[![](https://img.shields.io/github/downloads/ipfs/ipfs-desktop/v0.31.0/ipfs-desktop-0.31.0-mac.dmg.svg?style=flat-square&label=downloads)](https://github.com/ipfs/ipfs-desktop/releases/download/v0.31.0/ipfs-desktop-0.31.0-mac.dmg)
- **Homebrew** (community-maintained): `brew install --cask ipfs`

### Windows
- **Installer:** [IPFS-Desktop-Setup-0.31.0.exe](https://github.com/ipfs-shipyard/ipfs-desktop/releases/download/v0.31.0/IPFS-Desktop-Setup-0.31.0.exe)\
[![](https://img.shields.io/github/downloads/ipfs-shipyard/ipfs-desktop/v0.31.0/IPFS-Desktop-Setup-0.31.0.exe.svg?style=flat-square&label=downloads)](https://github.com/ipfs-shipyard/ipfs-desktop/releases/download/v0.31.0/IPFS-Desktop-Setup-0.31.0.exe)
- **Installer:** [IPFS-Desktop-Setup-0.31.0.exe](https://github.com/ipfs/ipfs-desktop/releases/download/v0.31.0/IPFS-Desktop-Setup-0.31.0.exe)\
[![](https://img.shields.io/github/downloads/ipfs/ipfs-desktop/v0.31.0/IPFS-Desktop-Setup-0.31.0.exe.svg?style=flat-square&label=downloads)](https://github.com/ipfs/ipfs-desktop/releases/download/v0.31.0/IPFS-Desktop-Setup-0.31.0.exe)
- **Chocolatey** (community-maintained): `choco install ipfs-desktop`
- **Scoop** (community-maintained): `scoop bucket add extras; scoop install extras/ipfs-desktop`
- **WinGet** (community-maintained): `winget install IPFS.IPFS-Desktop`

### Linux/FreeBSD
- **AppImage**: [ipfs-desktop-0.31.0-linux-x86_64.AppImage](https://github.com/ipfs-shipyard/ipfs-desktop/releases/download/v0.31.0/ipfs-desktop-0.31.0-linux-x86_64.AppImage)\
[![](https://img.shields.io/github/downloads/ipfs-shipyard/ipfs-desktop/v0.31.0/ipfs-desktop-0.31.0-linux-x86_64.AppImage.svg?style=flat-square&label=downloads)](https://github.com/ipfs-shipyard/ipfs-desktop/releases/download/v0.31.0/ipfs-desktop-0.31.0-linux-x86_64.AppImage)
- **Tarball** (use this for building packages for distros): [ipfs-desktop-0.31.0-linux-x64.tar.xz](https://github.com/ipfs-shipyard/ipfs-desktop/releases/download/v0.31.0/ipfs-desktop-0.31.0-linux-x64.tar.xz)\
[![](https://img.shields.io/github/downloads/ipfs-shipyard/ipfs-desktop/v0.31.0/ipfs-desktop-0.31.0-linux-x64.tar.xz.svg?style=flat-square&label=downloads)](https://github.com/ipfs-shipyard/ipfs-desktop/releases/download/v0.31.0/ipfs-desktop-0.31.0-linux-x64.tar.xz)
- **Debian** (experimental): [ipfs-desktop-0.31.0-linux-amd64.deb](https://github.com/ipfs-shipyard/ipfs-desktop/releases/download/v0.31.0/ipfs-desktop-0.31.0-linux-amd64.deb)\
[![](https://img.shields.io/github/downloads/ipfs-shipyard/ipfs-desktop/v0.31.0/ipfs-desktop-0.31.0-linux-amd64.deb.svg?style=flat-square&label=downloads)](https://github.com/ipfs-shipyard/ipfs-desktop/releases/download/v0.31.0/ipfs-desktop-0.31.0-linux-amd64.deb)
- **Red Hat** (experimental): [ipfs-desktop-0.31.0-linux-x86_64.rpm](https://github.com/ipfs-shipyard/ipfs-desktop/releases/download/v0.31.0/ipfs-desktop-0.31.0-linux-x86_64.rpm)\
[![](https://img.shields.io/github/downloads/ipfs-shipyard/ipfs-desktop/v0.31.0/ipfs-desktop-0.31.0-linux-x86_64.rpm.svg?style=flat-square&label=downloads)](https://github.com/ipfs-shipyard/ipfs-desktop/releases/download/v0.31.0/ipfs-desktop-0.31.0-linux-x86_64.rpm)
- **FreeBSD** (experimental): [ipfs-desktop-0.31.0-linux-x64.freebsd](https://github.com/ipfs-shipyard/ipfs-desktop/releases/download/v0.31.0/ipfs-desktop-0.31.0-linux-x64.freebsd) (requires [Linux Binary Compatibility to be enabled](https://docs.freebsd.org/en/books/handbook/linuxemu/))\
[![](https://img.shields.io/github/downloads/ipfs-shipyard/ipfs-desktop/v0.31.0/ipfs-desktop-0.31.0-linux-x64.freebsd.svg?style=flat-square&label=downloads)](https://github.com/ipfs-shipyard/ipfs-desktop/releases/download/v0.31.0/ipfs-desktop-0.31.0-linux-x64.freebsd)
- **AppImage**: [ipfs-desktop-0.31.0-linux-x86_64.AppImage](https://github.com/ipfs/ipfs-desktop/releases/download/v0.31.0/ipfs-desktop-0.31.0-linux-x86_64.AppImage)\
[![](https://img.shields.io/github/downloads/ipfs/ipfs-desktop/v0.31.0/ipfs-desktop-0.31.0-linux-x86_64.AppImage.svg?style=flat-square&label=downloads)](https://github.com/ipfs/ipfs-desktop/releases/download/v0.31.0/ipfs-desktop-0.31.0-linux-x86_64.AppImage)
- **Tarball** (use this for building packages for distros): [ipfs-desktop-0.31.0-linux-x64.tar.xz](https://github.com/ipfs/ipfs-desktop/releases/download/v0.31.0/ipfs-desktop-0.31.0-linux-x64.tar.xz)\
[![](https://img.shields.io/github/downloads/ipfs/ipfs-desktop/v0.31.0/ipfs-desktop-0.31.0-linux-x64.tar.xz.svg?style=flat-square&label=downloads)](https://github.com/ipfs/ipfs-desktop/releases/download/v0.31.0/ipfs-desktop-0.31.0-linux-x64.tar.xz)
- **Debian** (experimental): [ipfs-desktop-0.31.0-linux-amd64.deb](https://github.com/ipfs/ipfs-desktop/releases/download/v0.31.0/ipfs-desktop-0.31.0-linux-amd64.deb)\
[![](https://img.shields.io/github/downloads/ipfs/ipfs-desktop/v0.31.0/ipfs-desktop-0.31.0-linux-amd64.deb.svg?style=flat-square&label=downloads)](https://github.com/ipfs/ipfs-desktop/releases/download/v0.31.0/ipfs-desktop-0.31.0-linux-amd64.deb)
- **Red Hat** (experimental): [ipfs-desktop-0.31.0-linux-x86_64.rpm](https://github.com/ipfs/ipfs-desktop/releases/download/v0.31.0/ipfs-desktop-0.31.0-linux-x86_64.rpm)\
[![](https://img.shields.io/github/downloads/ipfs/ipfs-desktop/v0.31.0/ipfs-desktop-0.31.0-linux-x86_64.rpm.svg?style=flat-square&label=downloads)](https://github.com/ipfs/ipfs-desktop/releases/download/v0.31.0/ipfs-desktop-0.31.0-linux-x86_64.rpm)
- **FreeBSD** (experimental): [ipfs-desktop-0.31.0-linux-x64.freebsd](https://github.com/ipfs/ipfs-desktop/releases/download/v0.31.0/ipfs-desktop-0.31.0-linux-x64.freebsd) (requires [Linux Binary Compatibility to be enabled](https://docs.freebsd.org/en/books/handbook/linuxemu/))\
[![](https://img.shields.io/github/downloads/ipfs/ipfs-desktop/v0.31.0/ipfs-desktop-0.31.0-linux-x64.freebsd.svg?style=flat-square&label=downloads)](https://github.com/ipfs/ipfs-desktop/releases/download/v0.31.0/ipfs-desktop-0.31.0-linux-x64.freebsd)
- **Snapcraft** support is deprecated and discouraged due to [confinement issues](https://github.com/ipfs/ipfs-desktop/issues/2031), use `.AppImage` instead

Additional third-party packages exist, but have the built-in auto-update mechanism disabled.
Expand Down Expand Up @@ -160,7 +160,7 @@ npm start

IPFS Desktop in itself is a simple container that makes sure Kubo and IPFS Webui can work together in a standalone fashion and has access to other os-specfic features like tray and contextual integrations.
There are multiple ways to access IPFS Webui:

- https://webui.ipfs.io/#/welcome
- http://127.0.0.1:5001/webui (shipped with kubo)
- IPFS Desktop itself
Expand All @@ -169,7 +169,7 @@ All of these instances of IPFS Webui are the same but shipped slightly different

## Contribute

We welcome all contributions to IPFS Desktop! The best way to get started is to check the current [open issues](https://github.com/ipfs-shipyard/ipfs-desktop/issues) (or drill down specifically for [issues labeled "help wanted"](https://github.com/ipfs-shipyard/ipfs-desktop/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22)) and find something interesting. All issues are categorized by the [standard label taxonomy](https://github.com/ipfs/community/blob/master/ISSUE_LABELS.md) used across the IPFS project, so you can also drill by topic (for example, [UX-related issues](https://github.com/ipfs-shipyard/ipfs-desktop/issues?q=is%3Aissue+is%3Aopen+label%3Atopic%2Fdesign-ux)).
We welcome all contributions to IPFS Desktop! The best way to get started is to check the current [open issues](https://github.com/ipfs/ipfs-desktop/issues) (or drill down specifically for [issues labeled "help wanted"](https://github.com/ipfs/ipfs-desktop/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22)) and find something interesting. All issues are categorized by the [standard label taxonomy](https://github.com/ipfs/community/blob/master/ISSUE_LABELS.md) used across the IPFS project, so you can also drill by topic (for example, [UX-related issues](https://github.com/ipfs/ipfs-desktop/issues?q=is%3Aissue+is%3Aopen+label%3Atopic%2Fdesign-ux)).

No matter how you contribute, please be sure you read and follow the [IPFS Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md) and the [IPFS Community Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).

Expand Down Expand Up @@ -222,7 +222,7 @@ $ ipfs-desktop
$Trace/breakpoint trap
```

This is a known issue with Electron/Chrome and some hardened kernels. More details can be found [here](https://github.com/ipfs-shipyard/ipfs-desktop/issues/1362#issuecomment-596857282), but a fix is to start IPFS Desktop from the terminal with the following additional parameter:
This is a known issue with Electron/Chrome and some hardened kernels. More details can be found [here](https://github.com/ipfs/ipfs-desktop/issues/1362#issuecomment-596857282), but a fix is to start IPFS Desktop from the terminal with the following additional parameter:
```console
$ ipfs-desktop --no-sandbox
```
Expand Down Expand Up @@ -326,7 +326,7 @@ You can also edit the config file (`~/.ipfs/config` or `C:\Users\Username\.ipfs\

If you need help with using IPFS Desktop, the quickest way to get answers is to post them in the [official IPFS forums](https://discuss.ipfs.tech).

If you think you've found a bug or other issue with IPFS Desktop itself, please [open an issue](https://github.com/ipfs-shipyard/ipfs-desktop/issues/new/choose).
If you think you've found a bug or other issue with IPFS Desktop itself, please [open an issue](https://github.com/ipfs/ipfs-desktop/issues/new/choose).

## License

Expand Down
Loading