Ensure that Node.js and Yarn are installed, then install dependencies:
Ensure that Node.js and Yarn are installed, then install dependencies:
@ -101,7 +101,7 @@ Try again.
### Troubleshooting: it's not working!
### 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/).
If they don't match, try installing [asdf](https://asdf-vm.com/).
"alert.unexpected.body":"Przepraszamy za niedogodności. Jeżeli problem nie ustanie, skontaktuj się z naszym wsparciem technicznym. Możesz też spróbować {clearCookies} (zostaniesz wylogowany(-a)).",
"alert.unexpected.body":"Przepraszamy za niedogodności. Jeżeli problem nie ustanie, skontaktuj się z naszym wsparciem technicznym. Możesz też spróbować {clearCookies} (zostaniesz wylogowany(-a)).",
"alert.unexpected.browser":"Przeglądarka",
"alert.unexpected.browser":"Przeglądarka",
"alert.unexpected.clear_cookies":"wyczyścić pliki cookies i dane przeglądarki",
"alert.unexpected.clear_cookies":"wyczyścić pliki cookies i dane przeglądarki",
"birthdays_modal.empty":"Żaden z Twoich znajomych nie ma dziś urodzin.",
"birthday_panel.title":"Urodziny",
"birthday_panel.title":"Urodziny",
"birthdays_modal.empty":"Żaden z Twoich znajomych nie ma dziś urodzin.",
"boost_modal.combo":"Naciśnij {combo}, aby pominąć to następnym razem",
"boost_modal.combo":"Naciśnij {combo}, aby pominąć to następnym razem",
"bundle_column_error.body":"Coś poszło nie tak podczas ładowania tego składnika.",
"bundle_column_error.body":"Coś poszło nie tak podczas ładowania tego składnika.",
"bundle_column_error.retry":"Spróbuj ponownie",
"bundle_column_error.retry":"Spróbuj ponownie",
@ -283,8 +285,8 @@
"community.column_settings.title":"Ustawienia lokalnej osi czasu",
"community.column_settings.title":"Ustawienia lokalnej osi czasu",
"compare_history_modal.header":"Historia edycji",
"compare_history_modal.header":"Historia edycji",
"compose.character_counter.title":"Wykorzystano {chars} z {maxChars} znaków",
"compose.character_counter.title":"Wykorzystano {chars} z {maxChars} znaków",
"compose.invalid_schedule":"Musisz zaplanować wpis przynajmniej 5 minut wcześniej.",
"compose.edit_success":"Twój wpis został zedytowany",
"compose.edit_success":"Twój wpis został zedytowany",
"compose.invalid_schedule":"Musisz zaplanować wpis przynajmniej 5 minut wcześniej.",
"compose.submit_success":"Twój wpis został wysłany",
"compose.submit_success":"Twój wpis został wysłany",
"compose_form.direct_message_warning":"Ten wpis będzie widoczny tylko dla wszystkich wspomnianych użytkowników.",
"compose_form.direct_message_warning":"Ten wpis będzie widoczny tylko dla wszystkich wspomnianych użytkowników.",
"compose_form.hashtag_warning":"Ten wpis nie będzie widoczny pod podanymi hashtagami, ponieważ jest oznaczony jako niewidoczny. Tylko publiczne wpisy mogą zostać znalezione z użyciem hashtagów.",
"compose_form.hashtag_warning":"Ten wpis nie będzie widoczny pod podanymi hashtagami, ponieważ jest oznaczony jako niewidoczny. Tylko publiczne wpisy mogą zostać znalezione z użyciem hashtagów.",
@ -342,6 +344,7 @@
"confirmations.block.confirm":"Zablokuj",
"confirmations.block.confirm":"Zablokuj",
"confirmations.block.heading":"Zablokuj @{name}",
"confirmations.block.heading":"Zablokuj @{name}",
"confirmations.block.message":"Czy na pewno chcesz zablokować {name}?",
"confirmations.block.message":"Czy na pewno chcesz zablokować {name}?",
"edit_profile.hints.meta_fields":"Możesz ustawić {count, plural, one {# niestandardowe pole} few {# niestandardowe pola} many {# niestandardowych pól} wyświetlanych na Twoim profilu.",
"edit_profile.hints.meta_fields":"Możesz ustawić {count, plural, one {# niestandardowe pole wyświetlane} few {# niestandardowe pola wyświetlane} many {# niestandardowych pól wyświetlanych}} na Twoim profilu.",
"edit_profile.hints.stranger_notifications":"Wyświetlaj tylko powiadomienia od osób, które obserwujesz",
"edit_profile.hints.stranger_notifications":"Wyświetlaj tylko powiadomienia od osób, które obserwujesz",
"edit_profile.save":"Zapisz",
"edit_profile.save":"Zapisz",
"edit_profile.success":"Zapisano profil!",
"edit_profile.success":"Zapisano profil!",
@ -564,10 +567,11 @@
"forms.copy":"Kopiuj",
"forms.copy":"Kopiuj",
"forms.hide_password":"Ukryj hasło",
"forms.hide_password":"Ukryj hasło",
"forms.show_password":"Pokaż hasło",
"forms.show_password":"Pokaż hasło",
"gdpr.accept":"Aceptuj",
"gdpr.accept":"Akceptuj",
"gdpr.learn_more":"Dowiedz się więcej",
"gdpr.learn_more":"Dowiedz się więcej",
"gdpr.message":"{siteTitle} korzysta z ciasteczek sesji, które są niezbędne dla działania strony.",
"gdpr.message":"{siteTitle} korzysta z ciasteczek sesji, które są niezbędne dla działania strony.",
"gdpr.title":"{siteTitle} korzysta z ciasteczek",
"gdpr.title":"{siteTitle} korzysta z ciasteczek",
"generic.saved":"Zapisano",
"getting_started.open_source_notice":"{code_name} jest oprogramowaniem o otwartym źródle. Możesz pomóc w rozwoju lub zgłaszać błędy na GitLabie tutaj: {code_link} (v{code_version}).",
"getting_started.open_source_notice":"{code_name} jest oprogramowaniem o otwartym źródle. Możesz pomóc w rozwoju lub zgłaszać błędy na GitLabie tutaj: {code_link} (v{code_version}).",
"group.detail.archived_group":"Archived group",
"group.detail.archived_group":"Archived group",
"group.members.empty":"Ta grupa nie ma żadnych członków.",
"group.members.empty":"Ta grupa nie ma żadnych członków.",
"intervals.full.days":"{number, plural, one {# dzień} few {# dni} many {# dni} other {# dni}}",
"intervals.full.days":"{number, plural, one {# dzień} few {# dni} many {# dni} other {# dni}}",
@ -831,8 +836,8 @@
"notifications.filter.statuses":"Nowe wpisy osób, które subskrybujesz",
"notifications.filter.statuses":"Nowe wpisy osób, które subskrybujesz",
"notifications.group":"{count, number} {count, plural, one {powiadomienie} few {powiadomienia} many {powiadomień} more {powiadomień}}",
"notifications.group":"{count, number} {count, plural, one {powiadomienie} few {powiadomienia} many {powiadomień} more {powiadomień}}",
"notifications.queue_label":"Naciśnij aby zobaczyć {count} {count, plural, one {nowe powiadomienie} few {nowe powiadomienia} many {nowych powiadomień} other {nowe powiadomienia}}",
"notifications.queue_label":"Naciśnij aby zobaczyć {count} {count, plural, one {nowe powiadomienie} few {nowe powiadomienia} many {nowych powiadomień} other {nowe powiadomienia}}",
"oauth_consumers.title":"Inne opcje logowania",
"oauth_consumer.tooltip":"Zaloguj się używając {provider}",
"oauth_consumer.tooltip":"Zaloguj się używając {provider}",
"oauth_consumers.title":"Inne opcje logowania",
"onboarding.avatar.subtitle":"Just have fun with it.",
"onboarding.avatar.subtitle":"Just have fun with it.",
(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`.)
(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.
It is fine-tuned, includes support for federation, and should work with any backend.
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.
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:
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)
## Opening an MR (merge request)
1. Smash that "fork" button on GitLab to make a copy of the repo.
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`).
2. Clone the repo locally, then begin work on a new branch (eg not `develop`).
3. Push your branch to your fork.
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
### Ensuring the CI pipeline succeeds
When you push to a branch, the CI pipeline will run.
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.
It's important this pipeline passes, otherwise we cannot merge the change.
New users of gitlab.com may see a "detatched pipeline" error.
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.
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.
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 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.
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
## 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
## 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!
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/).
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.
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``
Then unpack it into Pleroma's ``instance`` directory: ``busybox unzip soapbox-fe.zip -o -d /opt/pleroma/instance``