Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
ac14781
update documentation and README for Linux support
shiftkey Nov 20, 2018
62805a6
improvements to electron-builder config
shiftkey Nov 1, 2018
35d776b
redirect in-app menu for reporting an issue to the fork (#141)
shiftkey Apr 19, 2019
edc9b5d
workaround for Linux users of the app to use it on very low resolutio…
shiftkey May 30, 2019
fa88f4e
add CLI support to Debian package, add Elementary OS shell and editor…
jfgordon2 Mar 29, 2020
9c36df8
polish About modal for Linux build (#241)
jfgordon2 Mar 30, 2020
de9d94c
Detach CLI process from terminal (#239)
jfgordon2 Mar 30, 2020
c2bf1a8
restore mixins to enable Linux-specific stylings (#247)
shiftkey Apr 6, 2020
f7c3fa3
improve scrollbars when using dark theme (#240)
jfgordon2 Apr 2, 2020
9fb2df9
Added test for symlinks
jfgordon2 Apr 14, 2020
dc73aba
set filemode for chrome-sandbox to reflect the permissions it needs (…
shiftkey Apr 16, 2020
542bcdd
move debian packaging out to dedicated step (#263)
shiftkey Apr 23, 2020
ae614ea
move redhat packaging out to own step (#273)
shiftkey May 17, 2020
43696db
readme: add language property to code blocks (#287)
serkonda7 May 30, 2020
8c91a47
wire up sponsorship details for the repository
shiftkey May 31, 2020
9358c3c
drop unnecessary libappindicator dependency for RPM package (#300)
shiftkey Jun 24, 2020
1512070
run codeql on linux branch (#302)
shiftkey Jun 24, 2020
0c85520
add in libcurl4 as optional dependency for RPM (#315)
shiftkey Jul 27, 2020
d6f2b63
allow tilde character when specifying a local repository (#316)
Daniel-McCarthy Aug 4, 2020
322fc51
remove deprecated apt-key from installation setup (#354)
KrisAphalon Oct 24, 2020
11209a6
add optional x11 dependency for SUSE-based distributions (#369)
shiftkey Nov 6, 2020
2426ada
align CI with the upstream settings for Actions (#393)
shiftkey Dec 17, 2020
bb10822
opt out of custom title bar on Linux
shiftkey Dec 18, 2020
06879b6
Add smaller icons (#395)
ghost-458 Dec 27, 2020
cb1e433
update tooling dependencies (#424)
shiftkey Jan 25, 2021
65c27cf
run packaging step on Linux builds if all other CI steps pass (#435)
shiftkey Feb 15, 2021
a4af13f
enable dependabot monitoring for specific dependencies in project (#440)
shiftkey Feb 15, 2021
cb578d8
bump electron-installer-redhat to latest version (#438)
shiftkey Feb 15, 2021
df48d60
add missing MIME type to AppImage package (#496)
Mrlinkwii May 8, 2021
ab3ef4d
add section about known issues and add to Linux section (#537)
shiftkey Jun 22, 2021
26b1d4a
drop prerelease: true from release step in workflow (#551)
shiftkey Jul 6, 2021
b573541
refresh smaller icons to use new theme (#530)
shiftkey Jul 6, 2021
1142a11
[docs] add new section for org repos (#552)
shiftkey Jul 6, 2021
fc71f4b
introduce abstractions to make Flatpak integration easier (#555)
shiftkey Jul 14, 2021
2d7c561
escape paths with regex over quotes in flatpaks (#558)
Lunarequest Jul 19, 2021
3fbc2b1
point window icon to new version (#561)
shiftkey Jul 19, 2021
06621d6
detect and support running post-install script with offline yarn (#567)
shiftkey Jul 22, 2021
080d218
assorted lint fixes not caught by CI
shiftkey Aug 13, 2021
1b58ec4
submodules should be updated if OFFLINE=1 is not set (#587)
shiftkey Aug 30, 2021
edc7a78
Add instructions for opensuse dist in README.md (#592)
gaganyadav80 Sep 5, 2021
0a48816
Flatpak: locate and launch flatpaked code editors (#602)
Lunarequest Sep 30, 2021
1d199f2
fixed a typo in the README (#605)
foxler2010 Sep 30, 2021
1a8bb11
move icons to correct location, update usages in tooling (#606)
shiftkey Oct 3, 2021
992e1d0
enable release job to access contents
shiftkey Oct 22, 2021
feeed82
drop removed test:integration step in CI
shiftkey Feb 5, 2022
3cbd1b3
Changed apt-get to apt in the debian installation section of the read…
reyespinosa1996 Feb 13, 2022
56debfa
opt-in Linux builds to theme changes too (#663)
shiftkey Feb 23, 2022
0b51330
Add mirror to README (#667)
mwt Mar 12, 2022
190fa38
reformat helper file related to spawning flatpak
shiftkey Apr 3, 2022
3492b9b
Add additional validation to find the app-specific argument we requir…
shiftkey Apr 3, 2022
26c0fd8
update Actions CI status in README
shiftkey Apr 3, 2022
ec9ce53
move electron-winstaller to optional dependency to not block arm32 usage
shiftkey Apr 15, 2022
eb448ce
Add support for GNOME console and newer GNOME editors (#700)
Etaash-mathamsetty Apr 21, 2022
851adf9
Adds LXTerminal to terminals and Geany and Mousepad to supported edit…
theofficialgman May 7, 2022
637250a
add armv7l support to scripts (#712)
theofficialgman May 7, 2022
37ba346
Add support for detecting PhpStorm editor (#717)
PadowYT2 May 20, 2022
38325d5
Bump electron-packager from 15.2.0 to 15.5.1 (#560 #598 #706)
dependabot[bot] Jul 19, 2021
43fdb96
Linux build does not have the equivalent of beta channel
shiftkey Jul 7, 2022
83683e2
Bump electron-packager from 15.5.1 to 16.0.0 (#755)
dependabot[bot] Aug 31, 2022
27e26e0
allow for packaging parameters to be derived from process.arch (#774)
shiftkey Oct 15, 2022
17a7b76
Fix args processing on first launch on linux (#793)
sarim Feb 17, 2023
0b6ef56
refresh docs to move away from PackageCloud (#836)
shiftkey Feb 20, 2023
20a92ac
Update readme to use new mirror origin (#838)
mwt Feb 20, 2023
aefa4fd
doc: rename GPG public key file to use .gpg extension (#839)
phanect Feb 22, 2023
e6b466f
patch `electron-installer-redhat` to disable `.build-id` links in dir…
shiftkey Feb 26, 2023
a88017c
Delete FUNDING.yml
shiftkey Feb 26, 2023
84aeb5d
change keyring path to more predictable directory (#843)
shiftkey Mar 1, 2023
be4e059
Bump peter-evans/create-pull-request from 4.2.3 to 4.2.4 (#853)
dependabot[bot] Mar 22, 2023
6c3324d
Update Installation for OpenSUSE
BeardedTek Mar 30, 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
21 changes: 21 additions & 0 deletions .github/ISSUE_TEMPLATE/installation-issue.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
name: "\U0001F4BB Installation issue"
about: Report a problem when installing the application
title: ''
labels: ''
assignees: ''

---

### Operating System/Distribution

Which distribution of Linux are you using?

### Installer

Which version of the app?
Which installer type?

### What happened?

Provide as much detail as possible. Error messages or output are extremely useful.
10 changes: 10 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,13 @@ updates:
directory: /
schedule:
interval: weekly

- package-ecosystem: 'npm'
directory: '/'
open-pull-requests-limit: 5
schedule:
interval: 'weekly'
allow:
- dependency-name: 'electron-builder'
- dependency-name: 'electron-packager'
- dependency-name: 'electron-installer-*'
52 changes: 31 additions & 21 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,25 +4,37 @@ on:
push:
branches:
- development
- __release-*
- linux
- 'linux-release-*'
tags:
- 'release-*.*.*-linux*'
pull_request:
branches:
- linux
- 'linux-release-*'

jobs:
build:
name: ${{ matrix.friendlyName }} ${{ matrix.arch }}
runs-on: ${{ matrix.os }}
permissions: read-all
permissions:
contents: write
strategy:
fail-fast: false
matrix:
node: [16.17.1]
os: [macos-11, windows-2019]
os: [macos-11, windows-2019, ubuntu-18.04]
arch: [x64, arm64]
include:
- os: macos-11
friendlyName: macOS
- os: windows-2019
friendlyName: Windows
- os: ubuntu-18.04
friendlyName: Ubuntu
exclude:
- os: ubuntu-18.04
arch: arm64
timeout-minutes: 60
steps:
- uses: actions/checkout@v3
Expand Down Expand Up @@ -56,13 +68,6 @@ jobs:
- name: Build production app
run: yarn build:prod
env:
DESKTOP_OAUTH_CLIENT_ID: ${{ secrets.DESKTOP_OAUTH_CLIENT_ID }}
DESKTOP_OAUTH_CLIENT_SECRET:
${{ secrets.DESKTOP_OAUTH_CLIENT_SECRET }}
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }}
DESKTOPBOT_TOKEN: ${{ secrets.DESKTOPBOT_TOKEN }}
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
npm_config_arch: ${{ matrix.arch }}
TARGET_ARCH: ${{ matrix.arch }}
- name: Prepare testing environment
Expand All @@ -74,15 +79,20 @@ jobs:
- name: Run script tests
if: matrix.arch == 'x64'
run: yarn test:script
- name: Publish production app
run: yarn run publish
- name: Package application
run: yarn run package
if: ${{ matrix.os == 'ubuntu-18.04' && matrix.arch == 'x64' }}
- name: Create Release
uses: softprops/action-gh-release@v1
if:
${{ matrix.os == 'ubuntu-18.04' && startsWith(github.ref,
'refs/tags/') }}
with:
files: |
dist/*.AppImage
dist/*.deb
dist/*.rpm
dist/*.txt
draft: true
env:
npm_config_arch: ${{ matrix.arch }}
DESKTOPBOT_TOKEN: ${{ secrets.DESKTOPBOT_TOKEN }}
WINDOWS_CERT_PASSWORD: ${{ secrets.WINDOWS_CERT_PASSWORD }}
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
DEPLOYMENT_SECRET: ${{ secrets.DEPLOYMENT_SECRET }}
AZURE_STORAGE_ACCOUNT: ${{ secrets.AZURE_STORAGE_ACCOUNT }}
AZURE_STORAGE_ACCESS_KEY: ${{ secrets.AZURE_STORAGE_ACCESS_KEY }}
AZURE_BLOB_CONTAINER: ${{ secrets.AZURE_BLOB_CONTAINER }}
AZURE_STORAGE_URL: ${{ secrets.AZURE_STORAGE_URL }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2 changes: 1 addition & 1 deletion .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: 'Code scanning - action'

on:
push:
branches: ['development']
branches: ['development', 'linux']
pull_request:
branches: ['development']
schedule:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
private_key: ${{ secrets.DESKTOP_RELEASES_APP_PRIVATE_KEY }}

- name: Create Release Pull Request
uses: peter-evans/create-pull-request@v4.2.3
uses: peter-evans/create-pull-request@v4.2.4
if: |
startsWith(github.ref, 'refs/heads/releases/') && !contains(github.ref, 'test')
with:
Expand Down
160 changes: 104 additions & 56 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# [GitHub Desktop](https://desktop.github.com)
# [GitHub Desktop](https://desktop.github.com) - The Linux Fork

[![CI](https://github.com/shiftkey/desktop/actions/workflows/ci.yml/badge.svg)](https://github.com/shiftkey/desktop/actions/workflows/ci.yml)

[GitHub Desktop](https://desktop.github.com/) is an open source [Electron](https://www.electronjs.org/)-based
GitHub app. It is written in [TypeScript](https://www.typescriptlang.org) and
Expand All @@ -16,93 +18,139 @@ uses [React](https://reactjs.org/).
/>
</picture>

## Where can I get it?
## What is this repository for?

Download the official installer for your operating system:
This repository contains specific patches on top of the upstream
`desktop/desktop` repository to support Linux usage.

- [macOS](https://central.github.com/deployments/desktop/desktop/latest/darwin)
- [macOS (Apple silicon)](https://central.github.com/deployments/desktop/desktop/latest/darwin-arm64)
- [Windows](https://central.github.com/deployments/desktop/desktop/latest/win32)
- [Windows machine-wide install](https://central.github.com/deployments/desktop/desktop/latest/win32?format=msi)
It also publishes [releases](https://github.com/shiftkey/desktop/releases) for various Linux distributions:

You can install this alongside your existing GitHub Desktop for Mac or GitHub
Desktop for Windows application.
- AppImage (`.AppImage`)
- Debian (`.deb`)
- RPM (`.rpm`)

Linux is not officially supported; however, you can find installers created for Linux from a fork of GitHub Desktop in the [Community Releases](https://github.com/desktop/desktop#community-releases) section.
## Installation via package manager

**NOTE**: There is no current migration path to import your existing
repositories into the new application - you can drag-and-drop your repositories
from disk onto the application to get started.
You can use your operating system's package manager to install `github-desktop` and
keep it up to date on Debian and RPM-based distributions.

### Debian/Ubuntu

### Beta Channel
There are two APT package feeds available, both hosted in the US. You only need
to add one or the other here, as both of these are generated based on the
releases from this repository.

Want to test out new features and get fixes before everyone else? Install the
beta channel to get access to early builds of Desktop:
#### [@shiftkey](https://github.com/shiftkey) package feed

- [macOS](https://central.github.com/deployments/desktop/desktop/latest/darwin?env=beta)
- [macOS (Apple silicon)](https://central.github.com/deployments/desktop/desktop/latest/darwin-arm64?env=beta)
- [Windows](https://central.github.com/deployments/desktop/desktop/latest/win32?env=beta)
- [Windows (ARM64)](https://central.github.com/deployments/desktop/desktop/latest/win32-arm64?env=beta)
```
wget -qO - https://apt.packages.shiftkey.dev/gpg.key | gpg --dearmor | sudo tee /usr/share/keyrings/shiftkey-packages.gpg > /dev/null
sudo sh -c 'echo "deb [arch=amd64 signed-by=/usr/share/keyrings/shiftkey-packages.gpg] https://apt.packages.shiftkey.dev/ubuntu/ any main" > /etc/apt/sources.list.d/shiftkey-packages.list'
```

The release notes for the latest beta versions are available [here](https://desktop.github.com/release-notes/?env=beta).
#### [@mwt](https://github.com/mwt) package feed

### Community Releases
```sh
wget -qO - https://mirror.mwt.me/shiftkey-desktop/gpgkey | gpg --dearmor | sudo tee /usr/share/keyrings/mwt-desktop.gpg > /dev/null
sudo sh -c 'echo "deb [arch=amd64 signed-by=/usr/share/keyrings/mwt-desktop.gpg] https://mirror.mwt.me/shiftkey-desktop/deb/ any main" > /etc/apt/sources.list.d/mwt-desktop.list'
```

There are several community-supported package managers that can be used to
install GitHub Desktop:
- Windows users can install using [winget](https://docs.microsoft.com/en-us/windows/package-manager/winget/) `c:\> winget install github-desktop` or [Chocolatey](https://chocolatey.org/) `c:\> choco install github-desktop`
- macOS users can install using [Homebrew](https://brew.sh/) package manager:
`$ brew install --cask github`
#### Installation

Installers for various Linux distributions can be found on the
[`shiftkey/desktop`](https://github.com/shiftkey/desktop) fork.
Once you have a feed configured, run this command to install the application:

Arch Linux users can install the latest version from the
[AUR](https://aur.archlinux.org/packages/github-desktop-bin/).
```sh
sudo apt update && sudo apt install github-desktop
```

## Is GitHub Desktop right for me? What are the primary areas of focus?
### Red Hat/CentOS/Fedora

[This document](https://github.com/desktop/desktop/blob/development/docs/process/what-is-desktop.md) describes the focus of GitHub Desktop and who the product is most useful for.
There are two RPM package feeds available, both hosted in the US. You only need
to add one or the other here, as both of these are generated based on the
releases from this repository.

And to see what the team is working on currently and in the near future, check out the [GitHub Desktop roadmap](https://github.com/desktop/desktop/blob/development/docs/process/roadmap.md).
#### [@shiftkey](https://github.com/shiftkey) package feed

## I have a problem with GitHub Desktop
```
sudo rpm --import https://rpm.packages.shiftkey.dev/gpg.key
sudo sh -c 'echo -e "[shiftkey-packages]\nname=GitHub Desktop\nbaseurl=https://rpm.packages.shiftkey.dev/rpm/\nenabled=1\ngpgcheck=1\nrepo_gpgcheck=1\ngpgkey=https://rpm.packages.shiftkey.dev/gpg.key" > /etc/yum.repos.d/shiftkey-packages.repo'
```

Note: The [GitHub Desktop Code of Conduct](https://github.com/desktop/desktop/blob/development/CODE_OF_CONDUCT.md) applies in all interactions relating to the GitHub Desktop project.
#### [@mwt](https://github.com/mwt) package feed

First, please search the [open issues](https://github.com/desktop/desktop/issues?q=is%3Aopen)
and [closed issues](https://github.com/desktop/desktop/issues?q=is%3Aclosed)
to see if your issue hasn't already been reported (it may also be fixed).
```sh
sudo rpm --import https://mirror.mwt.me/shiftkey-desktop/gpgkey
sudo sh -c 'echo -e "[mwt-packages]\nname=GitHub Desktop\nbaseurl=https://mirror.mwt.me/shiftkey-desktop/rpm\nenabled=1\ngpgcheck=1\nrepo_gpgcheck=1\ngpgkey=https://mirror.mwt.me/shiftkey-desktop/gpgkey" > /etc/yum.repos.d/mwt-packages.repo'
```

There is also a list of [known issues](https://github.com/desktop/desktop/blob/development/docs/known-issues.md)
that are being tracked against Desktop, and some of these issues have workarounds.

If you can't find an issue that matches what you're seeing, open a [new issue](https://github.com/desktop/desktop/issues/new/choose),
choose the right template and provide us with enough information to investigate
further.
#### Installation

## The issue I reported isn't fixed yet. What can I do?
Once you have a feed configured, run this command to install the application:

If nobody has responded to your issue in a few days, you're welcome to respond to it with a friendly ping in the issue. Please do not respond more than a second time if nobody has responded. The GitHub Desktop maintainers are constrained in time and resources, and diagnosing individual configurations can be difficult and time consuming. While we'll try to at least get you pointed in the right direction, we can't guarantee we'll be able to dig too deeply into any one person's issue.
```sh
# if yum is your package manager
sudo yum install github-desktop

## How can I contribute to GitHub Desktop?
# if dnf is your package manager
sudo dnf install github-desktop

The [CONTRIBUTING.md](./.github/CONTRIBUTING.md) document will help you get setup and
familiar with the source. The [documentation](docs/) folder also contains more
resources relevant to the project.
# if zypper is your package manager
sudo zypper ref && sudo zypper in github-desktop
```

If you're looking for something to work on, check out the [help wanted](https://github.com/desktop/desktop/issues?q=is%3Aissue+is%3Aopen+label%3A%22help%20wanted%22) label.
#### OpenSUSE

## Building Desktop
#### [@shiftkey](https://github.com/shiftkey) package feed

To get your development environment set up for building Desktop, see [setup.md](./docs/contributing/setup.md).
```
sudo rpm --import https://rpm.packages.shiftkey.dev/gpg.key
sudo sh -c 'echo -e "[shiftkey-packages]\nname=GitHub Desktop\nbaseurl=https://rpm.packages.shiftkey.dev/rpm/\nenabled=1\ngpgcheck=1\nrepo_gpgcheck=1\ngpgkey=https://rpm.packages.shiftkey.dev/gpg.key" > /etc/zypp/repos.d/shiftkey-packages.repo'
```

## More Resources
#### [@mwt](https://github.com/mwt) package feed

See [desktop.github.com](https://desktop.github.com) for more product-oriented
information about GitHub Desktop.
```sh
sudo rpm --import https://mirror.mwt.me/shiftkey-desktop/gpgkey
sudo sh -c 'echo -e "[mwt-packages]\nname=GitHub Desktop\nbaseurl=https://mirror.mwt.me/shiftkey-desktop/rpm\nenabled=1\ngpgcheck=1\nrepo_gpgcheck=1\ngpgkey=https://mirror.mwt.me/shiftkey-desktop/gpgkey" > /etc/zypprepos.d/mwt-packages.repo'
```

#### Installation

```sh
sudo zypper ref && sudo zypper in github-desktop
```

## Other Distributions

### Arch Linux

Arch Linux users can install GitHub Desktop from the [AUR](https://aur.archlinux.org/packages/github-desktop-bin/).

`gnome-keyring` is required and the daemon must be launched either at login or when the X server is started. Normally this is handled by a display manager, but in other cases following the instructions found on the [Arch Wiki](https://wiki.archlinux.org/index.php/GNOME/Keyring#Using_the_keyring_outside_GNOME) will fix the issue of not being able to save login credentials.

### Cross-Distribution Packages

GitHub Desktop is also available cross-platform as a [Flatpak](https://github.com/flathub/io.github.shiftey.Desktop) and [AppImage](https://appimage.github.io/GitHubDesktop/).

### deb-get

Debian/Ubuntu users can also install directly from this repository using [`deb-get`](https://github.com/wimpysworld/deb-get): `deb-get install github-desktop`.

## Known issues

If you're having troubles with Desktop, please refer to the [Known issues](docs/known-issues.md#linux)
document for guidance and workarounds for common limitations.

If your package manager is still trying to reach PackageCloud, refer to the
[cleanup instructions](docs/known-issues.md#the-packagecloud-package-feed-is-no-longer-working)
for details about migrating away.

## More information

Please check out the [README](https://github.com/desktop/desktop#github-desktop)
on the upstream [GitHub Desktop project](https://github.com/desktop/desktop) and
[desktop.github.com](https://desktop.github.com) for more product-oriented
information about GitHub Desktop.

See our [getting started documentation](https://docs.github.com/en/desktop/installing-and-configuring-github-desktop/overview/getting-started-with-github-desktop) for more information on how to set up, authenticate, and configure GitHub Desktop.

Expand Down
2 changes: 1 addition & 1 deletion app/package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"name": "desktop",
"name": "github-desktop",
"productName": "GitHub Desktop",
"bundleID": "com.github.GitHubClient",
"companyName": "GitHub, Inc.",
Expand Down
2 changes: 2 additions & 0 deletions app/src/cli/open-desktop.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ export function openDesktop(url: string = '') {
// https://github.com/nodejs/node/blob/b39dabefe6d/lib/child_process.js#L565-L577
const shell = process.env.comspec || 'cmd.exe'
return ChildProcess.spawn(shell, ['/d', '/c', 'start', url], { env })
} else if (__LINUX__) {
return ChildProcess.spawn('xdg-open', [url], { env })
} else {
throw new Error(
`Desktop command line interface not currently supported on platform ${process.platform}`
Expand Down
6 changes: 6 additions & 0 deletions app/src/lib/editors/found-editor.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
export interface IFoundEditor<T> {
readonly editor: T
readonly path: string
/**
* Indicate to Desktop to launch the editor with the `shell: true` option included.
*
* This is available to all platforms, but is only currently used by some Windows
* editors as their launch programs end in `.cmd`
*/
readonly usesShell?: boolean
}
Loading