Skip to content

Commit f3ef18b

Browse files
committed
making master the webextension again.
1 parent f77309f commit f3ef18b

File tree

405 files changed

+277298
-21249
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

405 files changed

+277298
-21249
lines changed

.eslintrc.json

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
"env": {
33
"browser": true,
44
"commonjs": true,
5-
"es6": true
5+
"es6": true,
6+
"webextensions": true
67
},
78
"globals": {
89
"hermiebox": true,
@@ -13,15 +14,20 @@
1314
"process": true,
1415
"history": true,
1516
"location": true,
16-
"setServerType": true,
17-
"__dirname": true
17+
"setServerType": true
1818
},
1919
"extends": "eslint:recommended",
2020
"parserOptions": {
2121
"ecmaVersion": 2020,
2222
"sourceType": "module"
2323
},
24-
"plugins": [],
24+
"plugins": ["svelte3"],
25+
"overrides": [
26+
{
27+
"files": ["*.svelte"],
28+
"processor": "svelte3/svelte3"
29+
}
30+
],
2531
"rules": {
2632
"indent": ["error", 2],
2733
"linebreak-style": ["error", "unix"],

.gitignore

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,13 @@ node_modules
55
web-ext-artifacts
66
*.zip
77
old-src
8-
build
98

109
\#*
1110
.vscode
1211
test/
1312
old/
14-
desktop-old/
1513

1614
*.sublime-workspace
1715
.vscode
18-
reference-*
1916

20-
*.tgz
21-
22-
TODO.md
17+
reference-material*

.jshintrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"quotmark": "double",
44
"camelcase": true,
55
"browser": true,
6-
"semi": false,
6+
"asi": true,
77
"globals": {
88
"Dexie": true,
99
"_": true

README.md

Lines changed: 30 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,48 @@
11
# Patchfox
2+
This is a new client for [Secure Scuttlebutt](http://scuttlebutt.nz) packaged as a Web Extension. This is a new client for [Secure Scuttlebutt](http://scuttlebutt.nz) packaged as a Web Extension for Firefox. It is available on:
23

3-
[![Build/release](https://github.com/soapdog/patchfox/actions/workflows/build.yml/badge.svg?branch=master)](https://github.com/soapdog/patchfox/actions/workflows/build.yml)
4+
* [Firefox Add-ons Portal](https://addons.mozilla.org/en-US/firefox/addon/patchfox/)
5+
* [Chrome Web Store](https://chrome.google.com/webstore/detail/patchfox/ocanekmedfooidiahhelofknmpobdmdp?hl=en-GB&authuser=0)
46

5-
This is a client for [Secure Scuttlebutt](http://scuttlebutt.nz). It is available on:
7+
So if you just want to run it, that's the easiest way. Read on if you want to develop with it. Read on if you want to develop with it.
68

7-
* [Patchfox website](https://patchfox.org)
8-
* [Github release pages](https://github.com/soapdog/patchfox/releases)
9+
## Requirements
910

10-
## Patchfox has a rich set of documentation
11+
* [Firefox Developer Edition](https://www.mozilla.org/en-US/firefox/developer/) or [Firefox Nightly](https://www.mozilla.org/en-US/firefox/nightly/) (needed so that you can sideload unsigned add-ons)
12+
* [Scuttle Shell](https://github.com/ssbc/scuttle-shell). This is a soft requirement. You can use your own _sbot_ or even have another client such as [Patchwork](http://github.com/ssbc/patchwork) or [Patchbay](http://github.com/ssbc/patchbay) running and providing a running _sbot_.
1113

12-
Head over to the [Patchfox website](https://patchfox.org) for the documentation.
13-
14-
## Requirements for development
15-
16-
* [NodeJS](https://nodejs.org)
1714

1815
## Setup & Building
1916

20-
Patchfox uses [Mithril](https://mithril.js.org), [Electron](https://electronjs.org) and requires [NodeJS](https://nodejs.org) for development. After you have NodeJS installed, you can install the dependencies with:
17+
Patchfox uses [Svelte](https://svelte.technology) and requires [NodeJS](https://nodejs.org) for development. After you have NodeJS installed, you can install the dependencies with:
2118

2219
```
2320
$ npm install
2421
```
2522

26-
And run a development version of the app using:
23+
And build the add-on with:
2724

2825
```
29-
$ npm run start
26+
$ npm run clean-build
3027
```
3128

32-
To build use:
29+
If you use:
3330

3431
```
35-
$ npm run build
32+
$ npm run clean-dev
3633
```
3734

35+
It will build the add-on using sourcemaps which makes debugging easier but can't be submit to AMO because they limit bundles to 4mb.
36+
37+
## Running
38+
39+
Go to [about:debugging](about:debugging) on Firefox, select `this firefox` and click to add a temporary add-on. Select the `manifest.json` file from the `dist/` folder from this repository.
3840

3941
## Setup inside Patchfox
4042

41-
Patchfox will use your default SSB data folder if available (the `.ssb` folder inside your home folder). If this is your first time using SSB, Patchfox will create that folder for you and place new keys inside.
43+
Once patchfox is running, it needs to learn your _remote_ and _secret_, you can just click the "browse" button on the setup screen and select your `.ssb/secret` file. Patchfox will use the data inside your secret file to derive your remote address. Remember to click save.
44+
45+
After saving Patchfox will then try loading your public feed. You need to have a running _sbot_ for it to work.
4246

4347
# Testing the protocol schemas
4448

@@ -50,6 +54,9 @@ After installing and configuring patchfox, try browsing to:
5054

5155
If you're interested in learning more about the technologies behind this add-on, check out:
5256

57+
* [MDN Web Docs - WebExtensions](https://developer.mozilla.org/en-US/Add-ons/WebExtensions/).
58+
* [Native Messaging API](https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Native_messaging)
59+
* [Native Messaging setup](https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Native_messaging#Setup)
5360
* [Secure Scuttlebutt Protocol Guide](https://ssbc.github.io/scuttlebutt-protocol-guide/)
5461

5562
Don't hesitate to reach out to me at:
@@ -62,9 +69,9 @@ Don't hesitate to reach out to me at:
6269

6370
Do you want a decentralized internet too? Are you worried about the loss of net neutrality and realized that radical decentralization is the way to fight back? If you want to make a financial contribution to help me fund development of this and other dex focused software, I would love to receive contributions through these channels:
6471

65-
* [Buy Me A Coffee (preferred)](https://ko-fi.com/andreshouldbewriting)
6672
* [Patchfox Open Collective](https://opencollective.com/patchfox)
6773

74+
6875
# Artwork attribution
6976

7077
Patchfox is using artwork by many artists including:
@@ -75,6 +82,12 @@ Patchfox is using artwork by many artists including:
7582

7683
* Artwork for the 2020.2.1 release poster was done by: Photo by Krista Stucchio on Unsplash
7784

85+
# Third party vendored libraries
86+
87+
* Keymage 1.1.3: http://github.com/piranha/keymage
88+
* ssb-custom-uri: https://git.sr.ht/~soapdog/ssb-custom-uri
89+
* browser-polyfill: https://github.com/mozilla/webextension-polyfill
90+
7891
# Dependencies Licenses
7992

8093
Check [licenses.html](licenses.html)

ROADMAP.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# ROADMAP
2+
3+
More like _small trail guide_ than an actual _roadmap_. This document is used to hold stuff that I want to check out for the next version. I have ideas for Patchfox during my daily life, and if I don't write it down, I forget them and they're never implemented or fixed.
4+
5+
- Books
6+
- Bug: `images` might be an `Object` instead of an `Array`. The _details view_ already take that into account but the _list view_ doesn't.
7+
- Feature: add support for comments to books and reviews.
8+
- Feature: check if importer from goodreads and the storygraph is possible.
9+
- Calendar
10+
- Bug: missing gatherings on _future events_ feature. I guess it is a bug with the validator.
11+
- Chess
12+
- Investigate if it is possible to use ssb-chess or even that mithril based client, without using ssb-chess-db.
13+
- Inbox
14+
- Create new inbox app to deal with private messages.
15+
- Documentation
16+
- Document keyboard shortcuts.
17+
- Add small user guide.
18+
- Settings
19+
- Refactor the _filtering by message type_. Remove the reliance on _core message types_ and instead reuse the info from the package system to extrapolate messages. This is a major refactors, it affects both `ssb.js` and the settings package.
20+
- General
21+
- History management has a quirk where going to a package sometimes enter the data twice into history, or going back doesn't actually go back but reloads the same package. This has been a tricky bug since the start of Patchfox. Symptom is requiring you to click back multiple times before you're actually on the previous package/view combo. Might need a major refactoring.
22+
- Add support for the new `ssb-uri` from Staltz.
23+
- Licenses report
24+
- Decide between "license-checker" and "license-report".
25+
- Use one of them to generate a license report for all direct dependencies, and add them to the documentation.

0 commit comments

Comments
 (0)