Pleroma's Mastodon Frontend
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Haelwenn (lanodan) Monnier 323cd38083
fixup 6425cb5ed: remove @connect(mapStateToProps)
2 months ago
.circleci Fix CircleCI 5 months ago
.github Merge branch 'master' into glitch-soc/merge-upstream 8 months ago
app fixup 6425cb5ed: remove @connect(mapStateToProps) 2 months ago
bin Bump webpacker from 3.5.5 to 4.0.2 (#10277) 3 months ago
config config/webpack: Make the filename static again 2 months ago
db Merge branch 'master' into glitch-soc/merge-upstream 3 months ago
dist Cache error 410 responses in recommended nginx configuration (#10425) 2 months ago
lib Merge branch 'master' into glitch-soc/merge-upstream 2 months ago
log Initial commit 3 years ago
nanobox Update Nginx config for Nanobox apps (#9310) 7 months ago
public Merge branch 'master' into glitch-soc/merge-upstream 4 months ago
spec Fix failing keybase-related test 2 months ago
streaming Merge branch 'master' into glitch-soc/merge-upstream 3 months ago
vendor Increase files checked by ESLint (#9705) 5 months ago
.buildpacks Add ffmpeg buildpack for scalingo (#8500) 10 months ago
.codeclimate.yml Upgrade ESLint to v5.x (#9694) 5 months ago
.dockerignore Add .bundle to .dockerignore (#7895) 1 year ago
.editorconfig Add final newline to locale files (#2890) 2 years ago
.env.nanobox Rename S3_CLOUDFRONT_HOST to S3_ALIAS_HOST. (#8423) 10 months ago
.env.production.sample Merge branch 'master' into glitch-soc/merge-upstream 10 months ago
.env.test Do not test PAM authentication by default (#9027) 8 months ago
.env.vagrant update vagrant configs (#8706) 9 months ago
.eslintignore Increase files checked by ESLint (#9705) 5 months ago
.eslintrc.js Refactor icons in web UI to use Icon component (#9951) 4 months ago
.foreman Replace sprockets/browserify with Webpack (#2617) 2 years ago
.gitattributes Add .gitattributes file to avoid unwanted CRLF (#3954) 2 years ago
.gitignore Ignore elasticsearch directory (#7070) 1 year ago
.gitlab-ci.yml Add GitLab CI config 2 months ago
.gitmodules Rename themes -> flavours ? ? 1 year ago
.haml-lint.yml Added haml-lint and fix warnings (#2773) 2 years ago
.nanoignore Remove Storybook (#4397) 1 year ago
.nvmrc Upgrade Node.js to v8.x on nvmrc (#8023) 11 months ago
.profile Add ffmpeg and dependent packages as well as LD_LIBRARY_PATHs (#3276) 2 years ago
.rspec Adding a Mention model, test stubs 3 years ago
.rubocop.yml Add `tootctl self-destruct` (#10367) 3 months ago
.ruby-version Upgrade Ruby to 2.6.1 (#9956) 4 months ago
.scss-lint.yml Enable CodeClimate SCSS Lint checks (#2886) 2 years ago
.slugignore Remove Storybook (#4397) 1 year ago
.yarnclean Reduce container size with clean yarn (#3506) 1 year ago
AUTHORS.md Bump version to 2.8.0rc1 (#10340) 2 months ago
Aptfile Adjust Aptfile for Heroku-18 stack (#8588) 9 months ago
CHANGELOG.md Bump version to 2.8.0rc1 (#10340) 2 months ago
CODE_OF_CONDUCT.md update code of conduct email address 1 year ago
CONTRIBUTING.md Merge branch 'master' into glitch-soc/merge-upstream 4 months ago
Capfile remove capistrano/faster_assets from Capfile (#2737) 2 years ago
Dockerfile Re-organize Dockerfile to improve incremental builds. (#10212) 3 months ago
Gemfile Merge branch 'master' into glitch-soc/merge-upstream 2 months ago
Gemfile.lock Merge branch 'master' into glitch-soc/merge-upstream 2 months ago
LICENSE Fix #49 - License changed from GPL-2.0 to AGPL-3.0 2 years ago
Procfile More robust PuSH subscription refreshes (#2799) 2 years ago
Procfile.dev Fix Procfile on OS X (#6748) 1 year ago
README.md README.md: Add notes on branches 2 months ago
Rakefile Initial commit 3 years ago
Vagrantfile Merge branch 'master' into glitch-soc/merge-upstream 3 months ago
app.json Change logo URL for Heroku and Scalingo (#4476) 1 year ago
babel.config.js Upgrade Babel to version 7.0.0 (#5925) 9 months ago
boxfile.yml [Nanobox] Enable ElasticSearch support by default (#6977) 1 year ago
build.sh remove bundle analyzer, remove chunk hashes from css 2 months ago
config.ru Fix rubocop issues, introduce usage of frozen literal to improve performance 2 years ago
docker-compose.yml Remove uneeded command and switch to images for TOR (#9438) 5 months ago
package.json package.json: Add description field 2 months ago
postcss.config.js Increase files checked by ESLint (#9705) 5 months ago
priv-config TOR federation (#7875) 1 year ago
scalingo.json Add ffmpeg buildpack for scalingo (#8500) 10 months ago
yarn.lock remove bundle analyzer, remove chunk hashes from css 2 months ago

README.md

Mastodon Frontend, Glitch-soc + Pleroma Edition

Here is a distribution of the glitch-soc frontend for pleroma. Everything from the upstream repository is kept and rebased on for easy updates, this does screws up on Merge Requests so they’ll be treated as a patchset if done here.

Deployement

This is what you want to do to update the mastofe bundled with pleroma.

  • Run build.sh at the root of this repo, you can set the TARGET environment variable if pleroma isn’t at ../pleroma (default value of TARGET)
  • Go to pleroma repo:
    • git add priv/static/sw.js priv/static/packs
    • git commit -m "update mastofe"

Development

Branches

  • pleroma branch which merges from rebase/glitch-soc once it is stable
  • master: Same branch as upstream repository
  • rebase/glitch-soc: branch which rebases from upstream, used for testing

For developement/Merge Requests I would suggest to use master when you are introducing new modifications that cannot be in the upstream, and when you are changing current modifications prefer rebase/glitch-soc.

Never use pleroma as a base for Merge Requests, it is not meant to be modified directly.

Tools

  • Node.js
  • yarn (preferred) or npm
  • HTTP proxy (such as nginx)

nginx setup

I’ll assume that you have already fired up pleroma using the installation guide. To work on the frontend while still having the backend up, use this nginx config.

server {
    listen 80;
    server_name pleroma.testing;

    location /packs {
        add_header 'Access-Control-Allow-Origin' '*';
        proxy_http_version 1.1;
        proxy_set_header Host $http_host;

        proxy_pass http://localhost:3035;
    }

    location / {
        add_header 'Access-Control-Allow-Origin' '*';
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $http_host;

        proxy_pass http://localhost:4000;
    }
}

Change the server_name if you like. I personally like to create a new entry in /etc/hosts and add 127.0.0.1 pleroma.testing, but you do what suits you.

Running

  • Getting the node dependencies is done with yarn install -D (or npm install if you don’t have yarn)
  • Launching the frontend is done with npm run dev. It should be reachable once it finnishes compiling.