Skip to content

Commit

Permalink
push init
Browse files Browse the repository at this point in the history
  • Loading branch information
Jared Rice committed Oct 4, 2022
0 parents commit e2b3631
Show file tree
Hide file tree
Showing 443 changed files with 31,125 additions and 0 deletions.
8 changes: 8 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
root = true

[*]
indent_style = space
indent_size = 2
charset = utf-8
trim_trailing_whitespace = false
insert_final_newline = false
21 changes: 21 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
module.exports = {
parser: '@typescript-eslint/parser',
extends: [
'plugin:react/recommended',
'plugin:@typescript-eslint/recommended',
'prettier/@typescript-eslint',
'plugin:prettier/recommended',
'prettier/react',
],
parserOptions: {
ecmaVersion: 2018,
sourceType: 'module',
},
rules: {
'@typescript-eslint/explicit-function-return-type': 'off',
'@typescript-eslint/interface-name-prefix': 'off',
'@typescript-eslint/no-var-requires': 'off',
'@typescript-eslint/no-namespace': 'off',
'@typescript-eslint/explicit-module-boundary-types': 'off',
},
};
4 changes: 4 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
github: [sentialx]
patreon: sentialx
open_collective: wexond
custom: https://paypal.me/sentialx
28 changes: 28 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''

---

**Bug description**
<!-- A clear and concise description of what the bug is. -->

**To Reproduce**
<!-- Steps to reproduce the behavior -->

**Expected behavior**
<!-- A clear and concise description of what you expected to happen. -->

**Screenshots**
<!-- If applicable, add screenshots to help explain your problem. -->

**Details:**
- Operating System:
- Wexond version:
- Last known working Wexond version:

**Additional context**
<!-- Add any other context about the problem here. -->
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
<!-- A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] -->

**Describe the solution you'd like**
<!-- A clear and concise description of what you want to happen. -->

**Describe alternatives you've considered**
<!-- A clear and concise description of any alternative solutions or features you've considered. -->

**Additional context**
<!-- Add any other context or screenshots about the feature request here. -->
18 changes: 18 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#### Description of Change

<!--
Thank you for your Pull Request. Please provide a description above and review
the requirements below.
-->

#### Checklist

<!-- Remove items that do not apply. For completed items, change [ ] to [x]. -->

- [ ] PR description included
- [ ] PR title follows semantic [commit guidelines](https://gist.github.com/joshbuchea/6f47e86d2510bce28f8e7f42ae84c716)
- [ ] PR release notes describe the change, and are capitalized, punctuated, and past tense.

#### Release Notes

Notes: <!-- Please add a one-line description for users to read in the release notes, or 'none' if no notes relevant to users.
3 changes: 3 additions & 0 deletions .github/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
authorizedUsers:
- sentialx
- xnerhu
42 changes: 42 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Build

on: [push, pull_request]

jobs:
release:
runs-on: ${{ matrix.os }}

strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]

steps:
- name: Check out Git repository
uses: actions/checkout@v2

- name: Install Node.js
uses: actions/setup-node@v1
with:
node-version: 14

# - name: Install required build toolchain
# if: matrix.os == 'ubuntu-latest'
# run: sudo apt-get install gcc-multilib g++-multilib

- name: Install dependencies
run: yarn install --frozen-lockfile
env:
ADBLOCK: true

- name: Get commit message
run: echo "::set-output name=message::$(git log --no-merges -1 --oneline)"

- name: Build the app
run: yarn ci-build
env:
GH_TOKEN: ${{ secrets.token }}

MAC_CERTS: ${{ secrets.mac_certs }}
MAC_CERTS_PASSWORD: ${{ secrets.mac_certs_password }}

RELEASE: ${{ contains(steps.log.outputs.message, 'bump version') }}
13 changes: 13 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
node_modules
*.log
*.log*
build
dist
.DS_Store
.fusebox
filters
package-lock.json
temp-electron-builder.json
temp-package.json
chunks-entries-map.json
.idea
6 changes: 6 additions & 0 deletions .prettierrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
module.exports = {
semi: true,
trailingComma: 'all',
singleQuote: true,
tabWidth: 2,
};
23 changes: 23 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"typescript.tsdk": "node_modules\\typescript\\lib",
"eslint.packageManager": "npm",
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true
},
"[javascriptreact]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true
},
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true
},
"[typescriptreact]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true
},
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
}
}
59 changes: 59 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
<p align="center">
<a href="https://dbrowser.com"><img src="static/icons/icon.png" width="256"></a>
</p>

<div align="center">
<h1>dBrowser Desktop</h1>


dBrowser is a web browser for Web3, built on top of modern web technologies such as `Electron` and `React`.

</div>

# Contributing

If you have found any bugs or just want to see some new features in Wexond, feel free to open an issue. Every suggestion is very valuable for us, as they help us improve the browsing experience. Also, please don't hesitate to open a pull request. This is really important to us and for the further development of this project.

By opening a pull request, you agree to the conditions of the [Contributor License Agreement](cla.md).

# Development

## Running

Before running dBrowser, please ensure you have **latest** [`Node.js`](https://nodejs.org/en/) and [`Yarn`](https://classic.yarnpkg.com/en/docs/install/#windows-stable) installed on your machine.

### Windows

Make sure you have build tools installed. You can install them by running this command as **administrator**:

```bash
$ npm i -g windows-build-tools
```

```bash
$ yarn # Install needed depedencies.
$ yarn rebuild # Rebuild native modules using Electron headers.
$ yarn dev # Run Wexond in development mode
```

### More commands

```bash
$ yarn compile-win32 # Package Wexond for Windows
$ yarn compile-linux # Package Wexond for Linux
$ yarn compile-darwin # Package Wexond for macOS
$ yarn lint # Runs linter
$ yarn lint-fix # Runs linter and automatically applies fixes
```

More commands can be found in [`package.json`](package.json).

# Documentation

Guides and the API reference are located in [`docs`](docs) directory.

# License

#### Every usage of this project resources (code, graphics etc.) must be consulted with its author (sentialx@gmail.com).

By sending a Pull Request, you agree that your code may be relicensed or sublicensed.
3 changes: 3 additions & 0 deletions dev-app-update.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
owner: dbrowser
repo: desktop
provider: github
6 changes: 6 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Documentation

## Table of contents

1. [Keyboard shortcuts](keyboard-shortcuts.md)
2. [Extensions](extensions.md)
35 changes: 35 additions & 0 deletions docs/development.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Development

## IPC

Now, the preferred way to communicate between processes is to use [`@wexond/rpc-electron`](https://github.com/wexond/rpc) package.

Example:

Handling the IPC message in the main process:

[`src/main/network/network-service-handler.ts`](../src/main/network/network-service-handler.ts)


Sending the IPC message to the main process:

```ts
const { data } = await networkMainChannel.getInvoker().request('http://localhost');
```

Common RPC interface

[`src/common/rpc/network.ts`](../src/common/rpc/network.ts)

## Remote module

As Electron will be deprecating the `remote` module, we are migrating to our RPC solution.

## Node integration

We are going to turn off `nodeIntegration`, enable `contextIsolation` and `sandbox` in the UI webContents,
therefore we prefer not having requires to node.js built-in modules in renderers.

## Project structure

Common interfaces, constants etc. should land into the `common` directory.
11 changes: 11 additions & 0 deletions docs/extensions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Extensions

Wexond has partial support for Chrome extensions (see [#110](https://github.com/wexond/desktop/issues/110)).

# Installing an extension

To install an extension, you will need to extract the `crx` file of the extension and put the extracted folder to `extensions` directory.

The `extensions` directory paths:
- On Linux and macOS: `~/.wexond/extensions`
- On Windows: `%USERPROFILE%/.wexond/extensions`
79 changes: 79 additions & 0 deletions docs/keyboard-shortcuts.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# Available keyboard shortcuts in Wexond

## Windows and Linux

### Tab and window shortcuts

| Action | Shortcut |
| --------------------------- | -------------------------------- |
| Open a new window | `Ctrl + N` |
| Open a new incognito window | `Ctrl + Shift + N` |
| Open a new tab | `Ctrl + T` |
| Select next tab | `Ctrl + Tab` |
| Select previous tab | `Ctrl + Shift + Tab` |
| Select specific tab | `Ctrl + 1` to `Ctrl + 8` |
| Select the rightmost tab | `Ctrl + 9` |
| Go back | `Alt + Left Arrow` |
| Go forward | `Alt + Right Arrow` |
| Close selected tab | `Ctrl + W` or `Ctrl + F4` |
| Close current window | `Ctrl + Shift + W` or `Alt + F4` |
| Close Wexond | `Ctrl + Shift + Q` |

### Wexond feature shortcuts

| Action | Shortcut |
| --------------------------------------- | ------------------------------- |
| Focus the address bar | `Ctrl + L` or `Alt + D` or `F6` |
| Open the menu | `Alt + F` or `Alt + E` |
| Open find in page dialog | `Ctrl + F` |
| Open the Bookmarks Manager in a new tab | `Ctrl + Shift + O` |
| Open the History page in a new tab | `Ctrl + H` |

### Webpage shortcuts

| Action | Shortcut |
| -------------------------------- | ---------------------------------- |
| Reload | `F5` or `Ctrl + R` |
| Reload ignoring cache | `Shift + F5` or `Ctrl + Shift + R` |
| Go to next clickable element | `Tab` |
| Go to previous clickable element | `Shift + Tab` |
| Add current website to bookmarks | `Ctrl + D` |

## macOS

### Tab and window shortcuts

| Action | Shortcut |
| --------------------------- | ---------------------------- |
| Open a new window | `⌘ + N` |
| Open a new incognito window | `⌘ + Shift + N` |
| Open a new tab | `⌘ + T` |
| Select next tab | `⌘ + Tab` |
| Select previous tab | `⌘ + Shift + Tab` |
| Select specific tab | `⌘ + 1` to `⌘ + 8` |
| Select the rightmost tab | `⌘ + 9` |
| Go back | `⌘ + [` or `⌘ + Left Arrow` |
| Go forward | `⌘ + ]` or `⌘ + Right Arrow` |
| Close selected tab | `⌘ + W` |
| Close current window | `⌘ + Shift + W` |
| Hide Wexond | `⌘ + H` |
| Close Wexond | `⌘ + Q` |

### Wexond feature shortcuts

| Action | Shortcut |
| --------------------------------------- | ---------------- |
| Focus the address bar | `⌘ + L` |
| Open find in page dialog | `⌘ + F` |
| Open the Bookmarks Manager in a new tab | `⌘ + Option + B` |
| Open the History page in a new tab | `⌘ + Y` |

### Webpage shortcuts

| Action | Shortcut |
| -------------------------------- | --------------- |
| Reload | `⌘ + R` |
| Reload ignoring cache | `⌘ + Shift + R` |
| Go to next clickable element | `Tab` |
| Go to previous clickable element | `Shift + Tab` |
| Add current website to bookmarks | `⌘ + D` |
Loading

0 comments on commit e2b3631

Please sign in to comment.