soapbox-pub/soapbox-fe --> soapbox-pub/soapbox
This commit is contained in:
parent
4c6b2ab2f0
commit
d9d9c4521f
22 changed files with 43 additions and 44 deletions
2
.vscode/soapbox.code-snippets
vendored
2
.vscode/soapbox.code-snippets
vendored
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
// Place your soapbox-fe workspace snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and
|
||||
// Place your Soapbox workspace snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and
|
||||
// description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope
|
||||
// is left empty or omitted, the snippet gets applied to all languages. The prefix is what is
|
||||
// used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
|
||||
|
|
|
@ -211,7 +211,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||
### Added
|
||||
- Initial beta release.
|
||||
|
||||
[Unreleased]: https://gitlab.com/soapbox-pub/soapbox-fe/-/compare/v1.0.0...develop
|
||||
[Unreleased patch]: https://gitlab.com/soapbox-pub/soapbox-fe/-/compare/v1.0.0...stable/1.0.x
|
||||
[1.0.0]: https://gitlab.com/soapbox-pub/soapbox-fe/-/compare/v0.9.0...v1.0.0
|
||||
[0.9.0]: https://gitlab.com/soapbox-pub/soapbox-fe/-/tags/v0.9.0
|
||||
[Unreleased]: https://gitlab.com/soapbox-pub/soapbox/-/compare/v1.0.0...develop
|
||||
[Unreleased patch]: https://gitlab.com/soapbox-pub/soapbox/-/compare/v1.0.0...stable/1.0.x
|
||||
[1.0.0]: https://gitlab.com/soapbox-pub/soapbox/-/compare/v0.9.0...v1.0.0
|
||||
[0.9.0]: https://gitlab.com/soapbox-pub/soapbox/-/tags/v0.9.0
|
||||
|
|
12
README.md
12
README.md
|
@ -14,13 +14,13 @@ Installing Soapbox on an existing Pleroma server is extremely easy.
|
|||
Just ssh into the server and download a .zip of the latest build:
|
||||
|
||||
```sh
|
||||
curl -L https://gitlab.com/soapbox-pub/soapbox-fe/-/jobs/artifacts/develop/download?job=build-production -o soapbox-fe.zip
|
||||
curl -L https://gitlab.com/soapbox-pub/soapbox/-/jobs/artifacts/develop/download?job=build-production -o soapbox.zip
|
||||
```
|
||||
|
||||
Then unpack it into Pleroma's `instance` directory:
|
||||
|
||||
```sh
|
||||
busybox unzip soapbox-fe.zip -o -d /opt/pleroma/instance
|
||||
busybox unzip soapbox.zip -o -d /opt/pleroma/instance
|
||||
```
|
||||
|
||||
**That's it!** :tada:
|
||||
|
@ -54,7 +54,7 @@ location / {
|
|||
}
|
||||
```
|
||||
|
||||
(See [`mastodon.conf`](https://gitlab.com/soapbox-pub/soapbox-fe/-/blob/develop/installation/mastodon.conf) for a full example.)
|
||||
(See [`mastodon.conf`](https://gitlab.com/soapbox-pub/soapbox/-/blob/develop/installation/mastodon.conf) for a full example.)
|
||||
|
||||
Soapbox incorporates much of the [Mastodon API](https://docs.joinmastodon.org/methods/), [Pleroma API](https://api.pleroma.social/), and more.
|
||||
It detects features supported by the backend to provide the right experience for the backend.
|
||||
|
@ -64,8 +64,8 @@ It detects features supported by the backend to provide the right experience for
|
|||
To get it running, just clone the repo:
|
||||
|
||||
```sh
|
||||
git clone https://gitlab.com/soapbox-pub/soapbox-fe.git
|
||||
cd soapbox-fe
|
||||
git clone https://gitlab.com/soapbox-pub/soapbox.git
|
||||
cd soapbox
|
||||
```
|
||||
|
||||
Ensure that Node.js and Yarn are installed, then install dependencies:
|
||||
|
@ -101,7 +101,7 @@ Try again.
|
|||
|
||||
### Troubleshooting: it's not working!
|
||||
|
||||
Run `node -V` and compare your Node.js version with the version in [`.tool-versions`](https://gitlab.com/soapbox-pub/soapbox-fe/-/blob/develop/.tool-versions).
|
||||
Run `node -V` and compare your Node.js version with the version in [`.tool-versions`](https://gitlab.com/soapbox-pub/soapbox/-/blob/develop/.tool-versions).
|
||||
If they don't match, try installing [asdf](https://asdf-vm.com/).
|
||||
|
||||
## Local Dev Configuration
|
||||
|
|
|
@ -23,6 +23,5 @@
|
|||
</ol>
|
||||
|
||||
<h1 id="opensource">Open Source Software</h1>
|
||||
<p>Soapbox is free and open source (FOSS) software that runs atop a Pleroma server</p>
|
||||
<p>The Soapbox repository can be found at <a href="https://gitlab.com/soapbox-pub/soapbox-fe">Soapbox-fe</a></p>
|
||||
<p>The Pleroma server repository can be found at <a href="https://git.pleroma.social/pleroma/pleroma">Pleroma-be</a></p>
|
||||
<p>Soapbox is free and open source (FOSS) software.</p>
|
||||
<p>The Soapbox repository can be found at <a href="https://gitlab.com/soapbox-pub/soapbox">Soapbox</a></p>
|
||||
|
|
|
@ -106,10 +106,10 @@ export function importFetchedStatus(status: APIEntity, idempotencyKey?: string)
|
|||
const isBroken = (status: APIEntity) => {
|
||||
try {
|
||||
// Skip empty accounts
|
||||
// https://gitlab.com/soapbox-pub/soapbox-fe/-/issues/424
|
||||
// https://gitlab.com/soapbox-pub/soapbox/-/issues/424
|
||||
if (!status.account.id) return true;
|
||||
// Skip broken reposts
|
||||
// https://gitlab.com/soapbox-pub/soapbox/-/issues/28
|
||||
// https://gitlab.com/soapbox-pub/rebased/-/issues/28
|
||||
if (status.reblog && !status.reblog.account.id) return true;
|
||||
return false;
|
||||
} catch (e) {
|
||||
|
|
|
@ -78,7 +78,7 @@ export const FieldRecord = ImmutableRecord({
|
|||
value_plain: '',
|
||||
});
|
||||
|
||||
// https://gitlab.com/soapbox-pub/soapbox-fe/-/issues/549
|
||||
// https://gitlab.com/soapbox-pub/soapbox/-/issues/549
|
||||
const normalizePleromaLegacyFields = (account: ImmutableMap<string, any>) => {
|
||||
return account.update('pleroma', ImmutableMap(), (pleroma: ImmutableMap<string, any>) => {
|
||||
return pleroma.withMutations(pleroma => {
|
||||
|
|
|
@ -20,7 +20,7 @@ const importEmojis = (customEmojis: APIEntity[]) => {
|
|||
const emojis = (fromJS(customEmojis) as ImmutableList<ImmutableMap<string, string>>).filter((emoji) => {
|
||||
// If a custom emoji has the shortcode of a Unicode emoji, skip it.
|
||||
// Otherwise it breaks EmojiMart.
|
||||
// https://gitlab.com/soapbox-pub/soapbox-fe/-/issues/610
|
||||
// https://gitlab.com/soapbox-pub/soapbox/-/issues/610
|
||||
const shortcode = emoji.get('shortcode', '').toLowerCase();
|
||||
return !emojiData[shortcode];
|
||||
});
|
||||
|
|
|
@ -67,7 +67,7 @@ const fixNotification = notification => {
|
|||
|
||||
const isValid = notification => {
|
||||
try {
|
||||
// https://gitlab.com/soapbox-pub/soapbox-fe/-/issues/424
|
||||
// https://gitlab.com/soapbox-pub/soapbox/-/issues/424
|
||||
if (!notification.account.id) {
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -242,7 +242,7 @@ const timelineDisconnect = (state: State, timelineId: string) => {
|
|||
if (items.isEmpty()) return;
|
||||
|
||||
// This is causing problems. Disable for now.
|
||||
// https://gitlab.com/soapbox-pub/soapbox-fe/-/issues/716
|
||||
// https://gitlab.com/soapbox-pub/soapbox/-/issues/716
|
||||
// timeline.set('items', addStatusId(items, null));
|
||||
}));
|
||||
};
|
||||
|
|
|
@ -46,8 +46,8 @@ export const PIXELFED = 'Pixelfed';
|
|||
export const TRUTHSOCIAL = 'TruthSocial';
|
||||
|
||||
/**
|
||||
* Soapbox BE, the recommended Pleroma fork for Soapbox.
|
||||
* @see {@link https://gitlab.com/soapbox-pub/soapbox-be}
|
||||
* Rebased, the recommended backend for Soapbox.
|
||||
* @see {@link https://gitlab.com/soapbox-pub/rebased}
|
||||
*/
|
||||
export const SOAPBOX = 'soapbox';
|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@ export const shouldHaveCard = (status: StatusEntity): boolean => {
|
|||
};
|
||||
|
||||
/** Whether the media IDs on this status have integer IDs (opposed to FlakeIds). */
|
||||
// https://gitlab.com/soapbox-pub/soapbox-fe/-/merge_requests/1087
|
||||
// https://gitlab.com/soapbox-pub/soapbox/-/merge_requests/1087
|
||||
export const hasIntegerMediaIds = (status: StatusEntity): boolean => {
|
||||
return status.media_attachments.some(({ id }) => isIntegerId(id));
|
||||
};
|
||||
|
|
|
@ -11,7 +11,7 @@ The best way to get Soapbox builds is from a GitLab CI job.
|
|||
The official build URL is here:
|
||||
|
||||
```
|
||||
https://gitlab.com/soapbox-pub/soapbox-fe/-/jobs/artifacts/develop/download?job=build-production
|
||||
https://gitlab.com/soapbox-pub/soapbox/-/jobs/artifacts/develop/download?job=build-production
|
||||
```
|
||||
|
||||
(Note that `develop` in that URL can be replaced with any git ref, eg `v2.0.0`, and thus will be updated with the latest zip whenever a new commit is pushed to `develop`.)
|
||||
|
@ -44,7 +44,7 @@ location ~ ^/(api|oauth|admin) {
|
|||
}
|
||||
```
|
||||
|
||||
We recommend trying [`mastodon.conf`](https://gitlab.com/soapbox-pub/soapbox-fe/-/blob/develop/installation/mastodon.conf) as a starting point.
|
||||
We recommend trying [`mastodon.conf`](https://gitlab.com/soapbox-pub/soapbox/-/blob/develop/installation/mastodon.conf) as a starting point.
|
||||
It is fine-tuned, includes support for federation, and should work with any backend.
|
||||
|
||||
## The ServiceWorker
|
||||
|
|
|
@ -13,7 +13,7 @@ mkdir -p /opt/soapbox
|
|||
Fetch the build.
|
||||
|
||||
```sh
|
||||
curl -L https://gitlab.com/soapbox-pub/soapbox-fe/-/jobs/artifacts/v1.3.0/download?job=build-production -o /tmp/soapbox-fe.zip
|
||||
curl -L https://gitlab.com/soapbox-pub/soapbox/-/jobs/artifacts/v1.3.0/download?job=build-production -o /tmp/soapbox-fe.zip
|
||||
```
|
||||
|
||||
Unzip the build.
|
||||
|
|
|
@ -7,7 +7,7 @@ If you want to install Soapbox to a Pleroma instance installed using [YunoHost](
|
|||
First, download the latest build of Soapbox from GitLab.
|
||||
|
||||
```sh
|
||||
curl -L https://gitlab.com/soapbox-pub/soapbox-fe/-/jobs/artifacts/v1.3.0/download?job=build-production -o soapbox-fe.zip
|
||||
curl -L https://gitlab.com/soapbox-pub/soapbox/-/jobs/artifacts/v1.3.0/download?job=build-production -o soapbox-fe.zip
|
||||
```
|
||||
|
||||
## 2. Unzip the build
|
||||
|
|
|
@ -8,7 +8,7 @@ To do so, shell into your server and unpack Soapbox:
|
|||
```sh
|
||||
mkdir -p /opt/soapbox
|
||||
|
||||
curl -L https://gitlab.com/soapbox-pub/soapbox-fe/-/jobs/artifacts/develop/download?job=build-production -o soapbox-fe.zip
|
||||
curl -L https://gitlab.com/soapbox-pub/soapbox/-/jobs/artifacts/develop/download?job=build-production -o soapbox-fe.zip
|
||||
|
||||
busybox unzip soapbox-fe.zip -o -d /opt/soapbox
|
||||
```
|
||||
|
@ -17,7 +17,7 @@ Now create an Nginx file for Soapbox with Mastodon.
|
|||
If you already have one, replace it:
|
||||
|
||||
```sh
|
||||
curl https://gitlab.com/soapbox-pub/soapbox-fe/-/raw/develop/installation/mastodon.conf > /etc/nginx/sites-available/mastodon
|
||||
curl https://gitlab.com/soapbox-pub/soapbox/-/raw/develop/installation/mastodon.conf > /etc/nginx/sites-available/mastodon
|
||||
```
|
||||
|
||||
Edit this file and replace all occurrences of `example.com` with your domain name.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Updating Soapbox
|
||||
|
||||
You should always check the [release notes/changelog](https://gitlab.com/soapbox-pub/soapbox-fe/-/blob/develop/CHANGELOG.md) in case there are deprecations, special update changes, etc.
|
||||
You should always check the [release notes/changelog](https://gitlab.com/soapbox-pub/soapbox/-/blob/develop/CHANGELOG.md) in case there are deprecations, special update changes, etc.
|
||||
|
||||
Besides that, it's relatively pretty easy to update Soapbox. There's two ways to go about it: with the command line or with an unofficial script.
|
||||
|
||||
|
@ -10,7 +10,7 @@ To update Soapbox via the command line, do the following:
|
|||
|
||||
```
|
||||
# Download the build.
|
||||
curl -L https://gitlab.com/soapbox-pub/soapbox-fe/-/jobs/artifacts/develop/download?job=build-production -o soapbox-fe.zip
|
||||
curl -L https://gitlab.com/soapbox-pub/soapbox/-/jobs/artifacts/develop/download?job=build-production -o soapbox-fe.zip
|
||||
|
||||
# Remove all the current Soapbox build in Pleroma's instance directory.
|
||||
rm -R /opt/pleroma/instance/static/packs
|
||||
|
|
|
@ -2,20 +2,20 @@
|
|||
|
||||
Thank you for your interest in Soapbox!
|
||||
|
||||
When contributing to Soapbox, please first discuss the change you wish to make by [opening an issue](https://gitlab.com/soapbox-pub/soapbox-fe/-/issues).
|
||||
When contributing to Soapbox, please first discuss the change you wish to make by [opening an issue](https://gitlab.com/soapbox-pub/soapbox/-/issues).
|
||||
|
||||
## Opening an MR (merge request)
|
||||
|
||||
1. Smash that "fork" button on GitLab to make a copy of the repo.
|
||||
2. Clone the repo locally, then begin work on a new branch (eg not `develop`).
|
||||
3. Push your branch to your fork.
|
||||
4. Once pushed, GitLab should provide you with a URL to open a new merge request right in your terminal. If not, do it [manually](https://gitlab.com/soapbox-pub/soapbox-fe/-/merge_requests/new).
|
||||
4. Once pushed, GitLab should provide you with a URL to open a new merge request right in your terminal. If not, do it [manually](https://gitlab.com/soapbox-pub/soapbox/-/merge_requests/new).
|
||||
|
||||
### Ensuring the CI pipeline succeeds
|
||||
|
||||
When you push to a branch, the CI pipeline will run.
|
||||
|
||||
[Soapbox uses GitLab CI](https://gitlab.com/soapbox-pub/soapbox-fe/-/blob/develop/.gitlab-ci.yml) to lint, run tests, and verify changes.
|
||||
[Soapbox uses GitLab CI](https://gitlab.com/soapbox-pub/soapbox/-/blob/develop/.gitlab-ci.yml) to lint, run tests, and verify changes.
|
||||
It's important this pipeline passes, otherwise we cannot merge the change.
|
||||
|
||||
New users of gitlab.com may see a "detatched pipeline" error.
|
||||
|
@ -31,4 +31,4 @@ We recommend developing Soapbox with [VSCodium](https://vscodium.com/) (or its p
|
|||
This will help give you feedback about your changes _in the editor itself_ before GitLab CI performs linting, etc.
|
||||
|
||||
When this project is opened in Code it will automatically recommend extensions.
|
||||
See [`.vscode/extensions.json`](https://gitlab.com/soapbox-pub/soapbox-fe/-/blob/develop/.vscode/extensions.json) for the full list.
|
||||
See [`.vscode/extensions.json`](https://gitlab.com/soapbox-pub/soapbox/-/blob/develop/.vscode/extensions.json) for the full list.
|
||||
|
|
|
@ -48,7 +48,7 @@ Typically checks are done against `BACKEND_NAME` and `VERSION`.
|
|||
The version string is similar in purpose to a [User-Agent](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent) string.
|
||||
The format was first invented by Pleroma, but is now widely used, including by Pixelfed, Mitra, and Soapbox BE.
|
||||
|
||||
See [`features.ts`](https://gitlab.com/soapbox-pub/soapbox-fe/-/blob/develop/app/soapbox/utils/features.ts) for the complete list of features.
|
||||
See [`features.ts`](https://gitlab.com/soapbox-pub/soapbox/-/blob/develop/app/soapbox/utils/features.ts) for the complete list of features.
|
||||
|
||||
## Forks of other software
|
||||
|
||||
|
@ -73,4 +73,4 @@ For Pleroma forks, the fork name should be in the compat section (eg Soapbox BE)
|
|||
|
||||
## Adding support for a new backend
|
||||
|
||||
If the backend conforms to the above format, please modify [`features.ts`](https://gitlab.com/soapbox-pub/soapbox-fe/-/blob/develop/app/soapbox/utils/features.ts) and submit a merge request to enable features for your backend!
|
||||
If the backend conforms to the above format, please modify [`features.ts`](https://gitlab.com/soapbox-pub/soapbox/-/blob/develop/app/soapbox/utils/features.ts) and submit a merge request to enable features for your backend!
|
||||
|
|
|
@ -18,7 +18,7 @@ location / {
|
|||
}
|
||||
```
|
||||
|
||||
(See [`mastodon.conf`](https://gitlab.com/soapbox-pub/soapbox-fe/-/blob/develop/installation/mastodon.conf) for a full example.)
|
||||
(See [`mastodon.conf`](https://gitlab.com/soapbox-pub/soapbox/-/blob/develop/installation/mastodon.conf) for a full example.)
|
||||
|
||||
Soapbox incorporates much of the [Mastodon API](https://docs.joinmastodon.org/methods/), [Pleroma API](https://api.pleroma.social/), and more.
|
||||
It detects features supported by the backend to provide the right experience for the backend.
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
To get it running, just clone the repo:
|
||||
|
||||
```
|
||||
git clone https://gitlab.com/soapbox-pub/soapbox-fe.git
|
||||
git clone https://gitlab.com/soapbox-pub/soapbox.git
|
||||
cd soapbox-fe
|
||||
```
|
||||
|
||||
|
@ -40,5 +40,5 @@ Try again.
|
|||
|
||||
## Troubleshooting: it's not working!
|
||||
|
||||
Run `node -V` and compare your Node.js version with the version in [`.tool-versions`](https://gitlab.com/soapbox-pub/soapbox-fe/-/blob/develop/.tool-versions).
|
||||
Run `node -V` and compare your Node.js version with the version in [`.tool-versions`](https://gitlab.com/soapbox-pub/soapbox/-/blob/develop/.tool-versions).
|
||||
If they don't match, try installing [asdf](https://asdf-vm.com/).
|
||||
|
|
|
@ -10,7 +10,7 @@ First, follow the instructions to [install Pleroma](https://docs-develop.pleroma
|
|||
|
||||
The Soapbox frontend is the main component of Soapbox. Once you've installed Pleroma, installing Soapbox is a breeze.
|
||||
|
||||
First, ssh into the server and download a .zip of the latest build: ``curl -L https://gitlab.com/soapbox-pub/soapbox-fe/-/jobs/artifacts/develop/download?job=build-production -o soapbox-fe.zip``
|
||||
First, ssh into the server and download a .zip of the latest build: ``curl -L https://gitlab.com/soapbox-pub/soapbox/-/jobs/artifacts/develop/download?job=build-production -o soapbox-fe.zip``
|
||||
|
||||
Then unpack it into Pleroma's ``instance`` directory: ``busybox unzip soapbox-fe.zip -o -d /opt/pleroma/instance``
|
||||
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
{
|
||||
"name": "soapbox-fe",
|
||||
"name": "soapbox",
|
||||
"displayName": "Soapbox",
|
||||
"version": "3.0.0",
|
||||
"description": "Soapbox frontend for the Fediverse.",
|
||||
"homepage": "https://soapbox.pub/",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://gitlab.com/soapbox-pub/soapbox-fe"
|
||||
"url": "https://gitlab.com/soapbox-pub/soapbox"
|
||||
},
|
||||
"keywords": [
|
||||
"fediverse",
|
||||
"pleroma"
|
||||
],
|
||||
"bugs": {
|
||||
"url": "https://gitlab.com/soapbox-pub/soapbox-fe/-/issues"
|
||||
"url": "https://gitlab.com/soapbox-pub/soapbox/-/issues"
|
||||
},
|
||||
"scripts": {
|
||||
"start": "npx webpack-dev-server",
|
||||
|
|
Loading…
Reference in a new issue