Browse Source

dotfiles

master
gled 4 months ago
parent
commit
16215a679a

+ 0
- 4
.buildpacks View File

@@ -1,4 +0,0 @@
1
-https://github.com/heroku/heroku-buildpack-apt
2
-https://github.com/Scalingo/ffmpeg-buildpack
3
-https://github.com/Scalingo/nodejs-buildpack
4
-https://github.com/Scalingo/ruby-buildpack

+ 0
- 245
.circleci/config.yml View File

@@ -1,245 +0,0 @@
1
-version: 2
2
-
3
-aliases:
4
-  - &defaults
5
-    docker:
6
-      - image: circleci/ruby:2.7-buster-node
7
-        environment: &ruby_environment
8
-          BUNDLE_APP_CONFIG: ./.bundle/
9
-          DB_HOST: localhost
10
-          DB_USER: root
11
-          RAILS_ENV: test
12
-          PARALLEL_TEST_PROCESSORS: 4
13
-          ALLOW_NOPAM: true
14
-          CONTINUOUS_INTEGRATION: true
15
-          DISABLE_SIMPLECOV: true
16
-          PAM_ENABLED: true
17
-          PAM_DEFAULT_SERVICE: pam_test
18
-          PAM_CONTROLLED_SERVICE: pam_test_controlled
19
-    working_directory: ~/projects/mastodon/
20
-
21
-  - &attach_workspace
22
-    attach_workspace:
23
-      at: ~/projects/
24
-
25
-  - &persist_to_workspace
26
-    persist_to_workspace:
27
-      root: ~/projects/
28
-      paths:
29
-        - ./mastodon/
30
-
31
-  - &restore_ruby_dependencies
32
-    restore_cache:
33
-      keys:
34
-        - v2-ruby-dependencies-{{ checksum "/tmp/.ruby-version" }}-{{ checksum "Gemfile.lock" }}
35
-        - v2-ruby-dependencies-{{ checksum "/tmp/.ruby-version" }}-
36
-        - v2-ruby-dependencies-
37
-
38
-  - &install_steps
39
-    steps:
40
-      - checkout
41
-      - *attach_workspace
42
-      - restore_cache:
43
-          keys:
44
-            - v1-node-dependencies-{{ checksum "yarn.lock" }}
45
-            - v1-node-dependencies-
46
-      - run: yarn install --frozen-lockfile
47
-      - save_cache:
48
-          key: v1-node-dependencies-{{ checksum "yarn.lock" }}
49
-          paths:
50
-            - ./node_modules/
51
-      - *persist_to_workspace
52
-
53
-  - &install_system_dependencies
54
-      run:
55
-        name: Install system dependencies
56
-        command: |
57
-          sudo apt-get update
58
-          sudo apt-get install -y libicu-dev libidn11-dev libprotobuf-dev protobuf-compiler
59
-          
60
-          ## TODO: FIX THESE BUSTER DEPENDANCES
61
-          sudo wget http://ftp.au.debian.org/debian/pool/main/i/icu/libicu57_57.1-6+deb9u3_amd64.deb
62
-          sudo dpkg -i libicu57_57.1-6+deb9u3_amd64.deb
63
-          sudo wget http://ftp.au.debian.org/debian/pool/main/p/protobuf/libprotobuf10_3.0.0-9_amd64.deb
64
-          sudo dpkg -i libprotobuf10_3.0.0-9_amd64.deb
65
-
66
-  - &install_ruby_dependencies
67
-      steps:
68
-        - *attach_workspace
69
-        - *install_system_dependencies
70
-        - run: ruby -e 'puts RUBY_VERSION' | tee /tmp/.ruby-version
71
-        - *restore_ruby_dependencies
72
-        - run: bundle config set clean 'true'
73
-        - run: bundle config set deployment 'true'
74
-        - run: bundle config set with 'pam_authentication'
75
-        - run: bundle config set without 'development production'
76
-        - run: bundle config set frozen 'true'
77
-        - run: bundle install --jobs 16 --retry 3 && bundle clean
78
-        - save_cache:
79
-            key: v2-ruby-dependencies-{{ checksum "/tmp/.ruby-version" }}-{{ checksum "Gemfile.lock" }}
80
-            paths:
81
-              - ./.bundle/
82
-              - ./vendor/bundle/
83
-        - persist_to_workspace:
84
-            root: ~/projects/
85
-            paths:
86
-                - ./mastodon/.bundle/
87
-                - ./mastodon/vendor/bundle/
88
-
89
-  - &test_steps
90
-      steps:
91
-        - *attach_workspace
92
-        - *install_system_dependencies
93
-        - run: sudo apt-get install -y ffmpeg
94
-        - run:
95
-            name: Prepare Tests
96
-            command: ./bin/rails parallel:create parallel:load_schema parallel:prepare
97
-        - run:
98
-            name: Run Tests
99
-            command: ./bin/retry bundle exec parallel_test ./spec/ --group-by filesize --type rspec
100
-
101
-jobs:
102
-  install:
103
-    <<: *defaults
104
-    <<: *install_steps
105
-
106
-  install-ruby2.7:
107
-    <<: *defaults
108
-    <<: *install_ruby_dependencies
109
-
110
-  install-ruby2.6:
111
-    <<: *defaults
112
-    docker:
113
-      - image: circleci/ruby:2.6-buster-node
114
-        environment: *ruby_environment
115
-    <<: *install_ruby_dependencies
116
-
117
-  install-ruby2.5:
118
-    <<: *defaults
119
-    docker:
120
-      - image: circleci/ruby:2.5-buster-node
121
-        environment: *ruby_environment
122
-    <<: *install_ruby_dependencies
123
-
124
-  build:
125
-    <<: *defaults
126
-    steps:
127
-      - *attach_workspace
128
-      - *install_system_dependencies
129
-      - run: ./bin/rails assets:precompile
130
-      - persist_to_workspace:
131
-          root: ~/projects/
132
-          paths:
133
-              - ./mastodon/public/assets
134
-              - ./mastodon/public/packs-test/
135
-
136
-  test-migrations:
137
-    <<: *defaults
138
-    docker:
139
-      - image: circleci/ruby:2.7-buster-node
140
-        environment: *ruby_environment
141
-      - image: circleci/postgres:10.6-alpine
142
-        environment:
143
-          POSTGRES_USER: root
144
-      - image: circleci/redis:5-alpine
145
-    steps:
146
-      - *attach_workspace
147
-      - *install_system_dependencies
148
-      - run:
149
-          name: Create database
150
-          command: ./bin/rails parallel:create
151
-      - run:
152
-          name: Run migrations
153
-          command: ./bin/rails parallel:migrate
154
-
155
-  test-ruby2.7:
156
-    <<: *defaults
157
-    docker:
158
-      - image: circleci/ruby:2.7-buster-node
159
-        environment: *ruby_environment
160
-      - image: circleci/postgres:10.6-alpine
161
-        environment:
162
-          POSTGRES_USER: root
163
-      - image: circleci/redis:5-alpine
164
-    <<: *test_steps
165
-
166
-  test-ruby2.6:
167
-    <<: *defaults
168
-    docker:
169
-      - image: circleci/ruby:2.6-buster-node
170
-        environment: *ruby_environment
171
-      - image: circleci/postgres:10.6-alpine
172
-        environment:
173
-          POSTGRES_USER: root
174
-      - image: circleci/redis:5-alpine
175
-    <<: *test_steps
176
-
177
-  test-ruby2.5:
178
-    <<: *defaults
179
-    docker:
180
-      - image: circleci/ruby:2.5-buster-node
181
-        environment: *ruby_environment
182
-      - image: circleci/postgres:10.6-alpine
183
-        environment:
184
-          POSTGRES_USER: root
185
-      - image: circleci/redis:5-alpine
186
-    <<: *test_steps
187
-
188
-  test-webui:
189
-    <<: *defaults
190
-    docker:
191
-      - image: circleci/node:12-buster
192
-    steps:
193
-      - *attach_workspace
194
-      - run: ./bin/retry yarn test:jest
195
-
196
-  check-i18n:
197
-    <<: *defaults
198
-    steps:
199
-      - *attach_workspace
200
-      - *install_system_dependencies
201
-      - run: bundle exec i18n-tasks check-normalized
202
-      - run: bundle exec i18n-tasks unused -l en
203
-      - run: bundle exec i18n-tasks check-consistent-interpolations
204
-      - run: bundle exec rake repo:check_locales_files
205
-
206
-workflows:
207
-  version: 2
208
-  build-and-test:
209
-    jobs:
210
-      - install
211
-      - install-ruby2.7:
212
-          requires:
213
-            - install
214
-      - install-ruby2.6:
215
-          requires:
216
-            - install
217
-            - install-ruby2.7
218
-      - install-ruby2.5:
219
-          requires:
220
-            - install
221
-            - install-ruby2.7
222
-      - build:
223
-          requires:
224
-            - install-ruby2.7
225
-      - test-migrations:
226
-          requires:
227
-            - install-ruby2.7
228
-      - test-ruby2.7:
229
-          requires:
230
-            - install-ruby2.7
231
-            - build
232
-      - test-ruby2.6:
233
-          requires:
234
-            - install-ruby2.6
235
-            - build
236
-      - test-ruby2.5:
237
-          requires:
238
-            - install-ruby2.5
239
-            - build
240
-      - test-webui:
241
-          requires:
242
-            - install
243
-      - check-i18n:
244
-          requires:
245
-            - install-ruby2.7

+ 0
- 38
.codeclimate.yml View File

@@ -1,38 +0,0 @@
1
-version: "2"
2
-checks:
3
-  argument-count:
4
-    enabled: false
5
-  complex-logic:
6
-    enabled: false
7
-  file-lines:
8
-    enabled: false
9
-  method-complexity:
10
-    enabled: false
11
-  method-count:
12
-    enabled: false
13
-  method-lines:
14
-    enabled: false
15
-  nested-control-flow:
16
-    enabled: false
17
-  return-statements:
18
-    enabled: false
19
-  similar-code:
20
-    enabled: false
21
-  identical-code:
22
-    enabled: false
23
-plugins:
24
-  brakeman:
25
-    enabled: true
26
-  bundler-audit:
27
-    enabled: true
28
-  eslint:
29
-    enabled: true
30
-    channel: eslint-6
31
-  rubocop:
32
-    enabled: true
33
-    channel: rubocop-0-76
34
-  sass-lint:
35
-    enabled: true
36
-exclude_patterns:
37
-- spec/
38
-- vendor/asset

+ 0
- 10
.dependabot/config.yml View File

@@ -1,10 +0,0 @@
1
-version: 1
2
-
3
-update_configs:
4
-  - package_manager: "ruby:bundler"
5
-    directory: "/"
6
-    update_schedule: "weekly"
7
-
8
-  - package_manager: "javascript"
9
-    directory: "/"
10
-    update_schedule: "weekly"

+ 0
- 15
.dockerignore View File

@@ -1,15 +0,0 @@
1
-.bundle
2
-.env
3
-.env.*
4
-public/system
5
-public/assets
6
-public/packs
7
-node_modules
8
-neo4j
9
-vendor/bundle
10
-.DS_Store
11
-*.swp
12
-*~
13
-postgres
14
-redis
15
-elasticsearch

+ 0
- 12
.editorconfig View File

@@ -1,12 +0,0 @@
1
-# EditorConfig is awesome: http://EditorConfig.org
2
-
3
-# top-most EditorConfig file
4
-root = true
5
-
6
-# Unix-style newlines with a newline ending every file
7
-[*]
8
-end_of_line = lf
9
-insert_final_newline = true
10
-charset = utf-8
11
-indent_style = space
12
-indent_size = 2

+ 0
- 257
.env.nanobox View File

@@ -1,257 +0,0 @@
1
-# Service dependencies
2
-# You may set REDIS_URL instead for more advanced options
3
-REDIS_HOST=$DATA_REDIS_HOST
4
-REDIS_PORT=6379
5
-# REDIS_DB=0
6
-
7
-# You may set DATABASE_URL instead for more advanced options
8
-DB_HOST=$DATA_DB_HOST
9
-DB_USER=$DATA_DB_USER
10
-DB_NAME=gonano
11
-DB_PASS=$DATA_DB_PASS
12
-DB_PORT=5432
13
-
14
-# DATABASE_URL=postgresql://$DATA_DB_USER:$DATA_DB_PASS@$DATA_DB_HOST/gonano
15
-
16
-# Optional ElasticSearch configuration
17
-ES_ENABLED=true
18
-ES_HOST=$DATA_ELASTIC_HOST
19
-ES_PORT=9200
20
-
21
-BIND=0.0.0.0
22
-
23
-# Federation
24
-# Note: Changing LOCAL_DOMAIN at a later time will cause unwanted side effects, including breaking all existing federation.
25
-# LOCAL_DOMAIN should *NOT* contain the protocol part of the domain e.g https://example.com.
26
-LOCAL_DOMAIN=${APP_NAME}.nanoapp.io
27
-
28
-# Changing LOCAL_HTTPS in production is no longer supported. (Mastodon will always serve https:// links)
29
-
30
-# Use this only if you need to run mastodon on a different domain than the one used for federation.
31
-# You can read more about this option on https://github.com/tootsuite/documentation/blob/master/Running-Mastodon/Serving_a_different_domain.md
32
-# DO *NOT* USE THIS UNLESS YOU KNOW *EXACTLY* WHAT YOU ARE DOING.
33
-# WEB_DOMAIN=mastodon.example.com
34
-
35
-# Use this if you want to have several aliases handler@example1.com
36
-# handler@example2.com etc. for the same user. LOCAL_DOMAIN should not
37
-# be added. Comma separated values
38
-# ALTERNATE_DOMAINS=example1.com,example2.com
39
-
40
-# Application secrets
41
-# Generate each with the `rake secret` task (`nanobox run bundle exec rake secret`)
42
-SECRET_KEY_BASE=$SECRET_KEY_BASE
43
-OTP_SECRET=$OTP_SECRET
44
-
45
-# VAPID keys (used for push notifications)
46
-# You can generate the keys using the following command (first is the private key, second is the public one)
47
-# You should only generate this once per instance. If you later decide to change it, all push subscription will
48
-# be invalidated, requiring the users to access the website again to resubscribe.
49
-#
50
-# Generate with `rake mastodon:webpush:generate_vapid_key` task (`nanobox run bundle exec rake mastodon:webpush:generate_vapid_key`)
51
-#
52
-# For more information visit https://rossta.net/blog/using-the-web-push-api-with-vapid.html
53
-VAPID_PRIVATE_KEY=$VAPID_PRIVATE_KEY
54
-VAPID_PUBLIC_KEY=$VAPID_PUBLIC_KEY
55
-
56
-# Registrations
57
-# Single user mode will disable registrations and redirect frontpage to the first profile
58
-# SINGLE_USER_MODE=true
59
-# Prevent registrations with following e-mail domains
60
-# EMAIL_DOMAIN_BLACKLIST=example1.com|example2.de|etc
61
-# Only allow registrations with the following e-mail domains
62
-# EMAIL_DOMAIN_WHITELIST=example1.com|example2.de|etc
63
-
64
-# Optionally change default language
65
-# DEFAULT_LOCALE=de
66
-
67
-# E-mail configuration
68
-# Note: Mailgun and SparkPost (https://sparkpo.st/smtp) each have good free tiers
69
-# If you want to use an SMTP server without authentication (e.g local Postfix relay)
70
-# then set SMTP_AUTH_METHOD and SMTP_OPENSSL_VERIFY_MODE to 'none' and
71
-# *comment* SMTP_LOGIN and SMTP_PASSWORD (leaving them blank is not enough).
72
-SMTP_SERVER=$SMTP_SERVER
73
-SMTP_PORT=587
74
-SMTP_LOGIN=$SMTP_LOGIN
75
-SMTP_PASSWORD=$SMTP_PASSWORD
76
-SMTP_FROM_ADDRESS=notifications@${APP_NAME}.nanoapp.io
77
-#SMTP_REPLY_TO=
78
-#SMTP_DOMAIN= # defaults to LOCAL_DOMAIN
79
-#SMTP_DELIVERY_METHOD=smtp # delivery method can also be sendmail
80
-#SMTP_AUTH_METHOD=plain
81
-#SMTP_CA_FILE=/etc/ssl/certs/ca-certificates.crt
82
-#SMTP_OPENSSL_VERIFY_MODE=peer
83
-#SMTP_ENABLE_STARTTLS_AUTO=true
84
-#SMTP_TLS=true
85
-
86
-# Optional user upload path and URL (images, avatars). Default is :rails_root/public/system. If you set this variable, you are responsible for making your HTTP server (eg. nginx) serve these files.
87
-# PAPERCLIP_ROOT_PATH=/var/lib/mastodon/public-system
88
-# PAPERCLIP_ROOT_URL=/system
89
-
90
-# Optional asset host for multi-server setups
91
-# The asset host must allow cross origin request from WEB_DOMAIN or LOCAL_DOMAIN
92
-# if WEB_DOMAIN is not set. For example, the server may have the
93
-# following header field:
94
-# Access-Control-Allow-Origin: https://example.com/
95
-# CDN_HOST=https://assets.example.com
96
-
97
-# S3 (optional)
98
-# The attachment host must allow cross origin request from WEB_DOMAIN or
99
-# LOCAL_DOMAIN if WEB_DOMAIN is not set. For example, the server may have the
100
-# following header field:
101
-# Access-Control-Allow-Origin: https://192.168.1.123:9000/
102
-# S3_ENABLED=true
103
-# S3_BUCKET=
104
-# AWS_ACCESS_KEY_ID=
105
-# AWS_SECRET_ACCESS_KEY=
106
-# S3_REGION=
107
-# S3_PROTOCOL=http
108
-# S3_HOSTNAME=192.168.1.123:9000
109
-
110
-# S3 (Minio Config (optional) Please check Minio instance for details)
111
-# The attachment host must allow cross origin request - see the description
112
-# above.
113
-# S3_ENABLED=true
114
-# S3_BUCKET=
115
-# AWS_ACCESS_KEY_ID=
116
-# AWS_SECRET_ACCESS_KEY=
117
-# S3_REGION=
118
-# S3_PROTOCOL=https
119
-# S3_HOSTNAME=
120
-# S3_ENDPOINT=
121
-# S3_SIGNATURE_VERSION=
122
-
123
-# Google Cloud Storage (optional)
124
-# Use S3 compatible API. Since GCS does not support Multipart Upload,
125
-# increase the value of S3_MULTIPART_THRESHOLD to disable Multipart Upload.
126
-# The attachment host must allow cross origin request - see the description
127
-# above.
128
-# S3_ENABLED=true
129
-# AWS_ACCESS_KEY_ID=
130
-# AWS_SECRET_ACCESS_KEY=
131
-# S3_REGION=
132
-# S3_PROTOCOL=https
133
-# S3_HOSTNAME=storage.googleapis.com
134
-# S3_ENDPOINT=https://storage.googleapis.com
135
-# S3_MULTIPART_THRESHOLD=52428801 # 50.megabytes
136
-
137
-# Swift (optional)
138
-# The attachment host must allow cross origin request - see the description
139
-# above.
140
-# SWIFT_ENABLED=true
141
-# SWIFT_USERNAME=
142
-# For Keystone V3, the value for SWIFT_TENANT should be the project name
143
-# SWIFT_TENANT=
144
-# SWIFT_PASSWORD=
145
-# Some OpenStack V3 providers require PROJECT_ID (optional)
146
-# SWIFT_PROJECT_ID=
147
-# Keystone V2 and V3 URLs are supported. Use a V3 URL if possible to avoid
148
-# issues with token rate-limiting during high load.
149
-# SWIFT_AUTH_URL=
150
-# SWIFT_CONTAINER=
151
-# SWIFT_OBJECT_URL=
152
-# SWIFT_REGION=
153
-# Defaults to 'default'
154
-# SWIFT_DOMAIN_NAME=
155
-# Defaults to 60 seconds. Set to 0 to disable
156
-# SWIFT_CACHE_TTL=
157
-
158
-# Optional alias for S3 (e.g. to serve files on a custom domain, possibly using Cloudfront or Cloudflare)
159
-# S3_ALIAS_HOST=
160
-
161
-# Streaming API integration
162
-# STREAMING_API_BASE_URL=
163
-
164
-# Advanced settings
165
-# If you need to use pgBouncer, you need to disable prepared statements:
166
-# PREPARED_STATEMENTS=false
167
-
168
-# Cluster number setting for streaming API server.
169
-# If you comment out following line, cluster number will be `numOfCpuCores - 1`.
170
-# STREAMING_CLUSTER_NUM=1
171
-
172
-# Docker mastodon user
173
-# If you use Docker, you may want to assign UID/GID manually.
174
-# UID=1000
175
-# GID=1000
176
-
177
-# LDAP authentication (optional)
178
-# LDAP_ENABLED=true
179
-# LDAP_HOST=localhost
180
-# LDAP_PORT=389
181
-# LDAP_METHOD=simple_tls
182
-# LDAP_BASE=
183
-# LDAP_BIND_DN=
184
-# LDAP_PASSWORD=
185
-# LDAP_UID=cn
186
-# LDAP_MAIL=mail
187
-# LDAP_SEARCH_FILTER=(|(%{uid}=%{email})(%{mail}=%{email}))
188
-# LDAP_UID_CONVERSION_ENABLED=true
189
-# LDAP_UID_CONVERSION_SEARCH=., -
190
-# LDAP_UID_CONVERSION_REPLACE=_
191
-
192
-# PAM authentication (optional)
193
-# PAM authentication uses for the email generation the "email" pam variable
194
-# and optional as fallback PAM_DEFAULT_SUFFIX
195
-# The pam environment variable "email" is provided by:
196
-# https://github.com/devkral/pam_email_extractor
197
-# PAM_ENABLED=true
198
-# Fallback email domain for email address generation (LOCAL_DOMAIN by default)
199
-# PAM_EMAIL_DOMAIN=example.com
200
-# Name of the pam service (pam "auth" section is evaluated)
201
-# PAM_DEFAULT_SERVICE=rpam
202
-# Name of the pam service used for checking if an user can register (pam "account" section is evaluated) (nil (disabled) by default)
203
-# PAM_CONTROLLED_SERVICE=rpam
204
-
205
-# Global OAuth settings (optional) :
206
-# If you have only one strategy, you may want to enable this
207
-# OAUTH_REDIRECT_AT_SIGN_IN=true
208
-
209
-# Optional CAS authentication (cf. omniauth-cas) :
210
-# CAS_ENABLED=true
211
-# CAS_URL=https://sso.myserver.com/
212
-# CAS_HOST=sso.myserver.com/
213
-# CAS_PORT=443
214
-# CAS_SSL=true
215
-# CAS_VALIDATE_URL=
216
-# CAS_CALLBACK_URL=
217
-# CAS_LOGOUT_URL=
218
-# CAS_LOGIN_URL=
219
-# CAS_UID_FIELD='user'
220
-# CAS_CA_PATH=
221
-# CAS_DISABLE_SSL_VERIFICATION=false
222
-# CAS_UID_KEY='user'
223
-# CAS_NAME_KEY='name'
224
-# CAS_EMAIL_KEY='email'
225
-# CAS_NICKNAME_KEY='nickname'
226
-# CAS_FIRST_NAME_KEY='firstname'
227
-# CAS_LAST_NAME_KEY='lastname'
228
-# CAS_LOCATION_KEY='location'
229
-# CAS_IMAGE_KEY='image'
230
-# CAS_PHONE_KEY='phone'
231
-
232
-# Optional SAML authentication (cf. omniauth-saml)
233
-# SAML_ENABLED=true
234
-# SAML_ACS_URL=http://localhost:3000/auth/auth/saml/callback
235
-# SAML_ISSUER=https://example.com
236
-# SAML_IDP_SSO_TARGET_URL=https://idp.testshib.org/idp/profile/SAML2/Redirect/SSO
237
-# SAML_IDP_CERT=
238
-# SAML_IDP_CERT_FINGERPRINT=
239
-# SAML_NAME_IDENTIFIER_FORMAT=
240
-# SAML_CERT=
241
-# SAML_PRIVATE_KEY=
242
-# SAML_SECURITY_WANT_ASSERTION_SIGNED=true
243
-# SAML_SECURITY_WANT_ASSERTION_ENCRYPTED=true
244
-# SAML_SECURITY_ASSUME_EMAIL_IS_VERIFIED=true
245
-# SAML_ATTRIBUTES_STATEMENTS_UID="urn:oid:0.9.2342.19200300.100.1.1"
246
-# SAML_ATTRIBUTES_STATEMENTS_EMAIL="urn:oid:1.3.6.1.4.1.5923.1.1.1.6"
247
-# SAML_ATTRIBUTES_STATEMENTS_FULL_NAME="urn:oid:2.16.840.1.113730.3.1.241"
248
-# SAML_ATTRIBUTES_STATEMENTS_FIRST_NAME="urn:oid:2.5.4.42"
249
-# SAML_ATTRIBUTES_STATEMENTS_LAST_NAME="urn:oid:2.5.4.4"
250
-# SAML_UID_ATTRIBUTE="urn:oid:0.9.2342.19200300.100.1.1"
251
-# SAML_ATTRIBUTES_STATEMENTS_VERIFIED=
252
-# SAML_ATTRIBUTES_STATEMENTS_VERIFIED_EMAIL=
253
-
254
-# Use HTTP proxy for outgoing request (optional)
255
-# http_proxy=http://gateway.local:8118
256
-# Access control for hidden service.
257
-# ALLOW_ACCESS_TO_HIDDEN_SERVICE=true

+ 0
- 262
.env.production.sample View File

@@ -1,262 +0,0 @@
1
-# Service dependencies
2
-# You may set REDIS_URL instead for more advanced options
3
-# You may also set REDIS_NAMESPACE to share Redis between multiple Mastodon servers
4
-REDIS_HOST=redis
5
-REDIS_PORT=6379
6
-# You may set DATABASE_URL instead for more advanced options
7
-DB_HOST=db
8
-DB_USER=postgres
9
-DB_NAME=postgres
10
-DB_PASS=
11
-DB_PORT=5432
12
-# Optional ElasticSearch configuration
13
-# You may also set ES_PREFIX to share the same cluster between multiple Mastodon servers (falls back to REDIS_NAMESPACE if not set)
14
-# ES_ENABLED=true
15
-# ES_HOST=es
16
-# ES_PORT=9200
17
-
18
-# Federation
19
-# Note: Changing LOCAL_DOMAIN at a later time will cause unwanted side effects, including breaking all existing federation.
20
-# LOCAL_DOMAIN should *NOT* contain the protocol part of the domain e.g https://example.com.
21
-LOCAL_DOMAIN=example.com
22
-
23
-# Changing LOCAL_HTTPS in production is no longer supported. (Mastodon will always serve https:// links)
24
-
25
-# Use this only if you need to run mastodon on a different domain than the one used for federation.
26
-# You can read more about this option on https://github.com/tootsuite/documentation/blob/master/Running-Mastodon/Serving_a_different_domain.md
27
-# DO *NOT* USE THIS UNLESS YOU KNOW *EXACTLY* WHAT YOU ARE DOING.
28
-# WEB_DOMAIN=mastodon.example.com
29
-
30
-# Use this if you want to have several aliases handler@example1.com
31
-# handler@example2.com etc. for the same user. LOCAL_DOMAIN should not
32
-# be added. Comma separated values
33
-# ALTERNATE_DOMAINS=example1.com,example2.com
34
-
35
-# Application secrets
36
-# Generate each with the `RAILS_ENV=production bundle exec rake secret` task (`docker-compose run --rm web rake secret` if you use docker compose)
37
-SECRET_KEY_BASE=
38
-OTP_SECRET=
39
-
40
-# VAPID keys (used for push notifications
41
-# You can generate the keys using the following command (first is the private key, second is the public one)
42
-# You should only generate this once per instance. If you later decide to change it, all push subscription will
43
-# be invalidated, requiring the users to access the website again to resubscribe.
44
-#
45
-# Generate with `RAILS_ENV=production bundle exec rake mastodon:webpush:generate_vapid_key` task (`docker-compose run --rm web rake mastodon:webpush:generate_vapid_key` if you use docker compose)
46
-#
47
-# For more information visit https://rossta.net/blog/using-the-web-push-api-with-vapid.html
48
-VAPID_PRIVATE_KEY=
49
-VAPID_PUBLIC_KEY=
50
-
51
-# Registrations
52
-# Single user mode will disable registrations and redirect frontpage to the first profile
53
-# SINGLE_USER_MODE=true
54
-# Prevent registrations with following e-mail domains
55
-# EMAIL_DOMAIN_BLACKLIST=example1.com|example2.de|etc
56
-# Only allow registrations with the following e-mail domains
57
-# EMAIL_DOMAIN_WHITELIST=example1.com|example2.de|etc
58
-
59
-# Optionally change default language
60
-# DEFAULT_LOCALE=de
61
-
62
-# E-mail configuration
63
-# Note: Mailgun and SparkPost (https://sparkpo.st/smtp) each have good free tiers
64
-# If you want to use an SMTP server without authentication (e.g local Postfix relay)
65
-# then set SMTP_AUTH_METHOD and SMTP_OPENSSL_VERIFY_MODE to 'none' and
66
-# *comment* SMTP_LOGIN and SMTP_PASSWORD (leaving them blank is not enough).
67
-SMTP_SERVER=smtp.mailgun.org
68
-SMTP_PORT=587
69
-SMTP_LOGIN=
70
-SMTP_PASSWORD=
71
-SMTP_FROM_ADDRESS=notifications@example.com
72
-#SMTP_REPLY_TO=
73
-#SMTP_DOMAIN= # defaults to LOCAL_DOMAIN
74
-#SMTP_DELIVERY_METHOD=smtp # delivery method can also be sendmail
75
-#SMTP_AUTH_METHOD=plain
76
-#SMTP_CA_FILE=/etc/ssl/certs/ca-certificates.crt
77
-#SMTP_OPENSSL_VERIFY_MODE=peer
78
-#SMTP_ENABLE_STARTTLS_AUTO=true
79
-#SMTP_TLS=true
80
-
81
-# Optional user upload path and URL (images, avatars). Default is :rails_root/public/system. If you set this variable, you are responsible for making your HTTP server (eg. nginx) serve these files.
82
-# PAPERCLIP_ROOT_PATH=/var/lib/mastodon/public-system
83
-# PAPERCLIP_ROOT_URL=/system
84
-
85
-# Optional asset host for multi-server setups
86
-# The asset host must allow cross origin request from WEB_DOMAIN or LOCAL_DOMAIN
87
-# if WEB_DOMAIN is not set. For example, the server may have the
88
-# following header field:
89
-# Access-Control-Allow-Origin: https://example.com/
90
-# CDN_HOST=https://assets.example.com
91
-
92
-# S3 (optional)
93
-# The attachment host must allow cross origin request from WEB_DOMAIN or
94
-# LOCAL_DOMAIN if WEB_DOMAIN is not set. For example, the server may have the
95
-# following header field:
96
-# Access-Control-Allow-Origin: https://192.168.1.123:9000/
97
-# S3_ENABLED=true
98
-# S3_BUCKET=
99
-# AWS_ACCESS_KEY_ID=
100
-# AWS_SECRET_ACCESS_KEY=
101
-# S3_REGION=
102
-# S3_PROTOCOL=http
103
-# S3_HOSTNAME=192.168.1.123:9000
104
-
105
-# S3 (Minio Config (optional) Please check Minio instance for details)
106
-# The attachment host must allow cross origin request - see the description
107
-# above.
108
-# S3_ENABLED=true
109
-# S3_BUCKET=
110
-# AWS_ACCESS_KEY_ID=
111
-# AWS_SECRET_ACCESS_KEY=
112
-# S3_REGION=
113
-# S3_PROTOCOL=https
114
-# S3_HOSTNAME=
115
-# S3_ENDPOINT=
116
-# S3_SIGNATURE_VERSION=
117
-
118
-# Google Cloud Storage (optional)
119
-# Use S3 compatible API. Since GCS does not support Multipart Upload,
120
-# increase the value of S3_MULTIPART_THRESHOLD to disable Multipart Upload.
121
-# The attachment host must allow cross origin request - see the description
122
-# above.
123
-# S3_ENABLED=true
124
-# AWS_ACCESS_KEY_ID=
125
-# AWS_SECRET_ACCESS_KEY=
126
-# S3_REGION=
127
-# S3_PROTOCOL=https
128
-# S3_HOSTNAME=storage.googleapis.com
129
-# S3_ENDPOINT=https://storage.googleapis.com
130
-# S3_MULTIPART_THRESHOLD=52428801 # 50.megabytes
131
-
132
-# Swift (optional)
133
-# The attachment host must allow cross origin request - see the description
134
-# above.
135
-# SWIFT_ENABLED=true
136
-# SWIFT_USERNAME=
137
-# For Keystone V3, the value for SWIFT_TENANT should be the project name
138
-# SWIFT_TENANT=
139
-# SWIFT_PASSWORD=
140
-# Some OpenStack V3 providers require PROJECT_ID (optional)
141
-# SWIFT_PROJECT_ID=
142
-# Keystone V2 and V3 URLs are supported. Use a V3 URL if possible to avoid
143
-# issues with token rate-limiting during high load.
144
-# SWIFT_AUTH_URL=
145
-# SWIFT_CONTAINER=
146
-# SWIFT_OBJECT_URL=
147
-# SWIFT_REGION=
148
-# Defaults to 'default'
149
-# SWIFT_DOMAIN_NAME=
150
-# Defaults to 60 seconds. Set to 0 to disable
151
-# SWIFT_CACHE_TTL=
152
-
153
-# Optional alias for S3 (e.g. to serve files on a custom domain, possibly using Cloudfront or Cloudflare)
154
-# S3_ALIAS_HOST=
155
-
156
-# Streaming API integration
157
-# STREAMING_API_BASE_URL=
158
-
159
-# Advanced settings
160
-# If you need to use pgBouncer, you need to disable prepared statements:
161
-# PREPARED_STATEMENTS=false
162
-
163
-# Cluster number setting for streaming API server.
164
-# If you comment out following line, cluster number will be `numOfCpuCores - 1`.
165
-STREAMING_CLUSTER_NUM=1
166
-
167
-# Docker mastodon user
168
-# If you use Docker, you may want to assign UID/GID manually.
169
-# UID=1000
170
-# GID=1000
171
-
172
-# LDAP authentication (optional)
173
-# LDAP_ENABLED=true
174
-# LDAP_HOST=localhost
175
-# LDAP_PORT=389
176
-# LDAP_METHOD=simple_tls
177
-# LDAP_BASE=
178
-# LDAP_BIND_DN=
179
-# LDAP_PASSWORD=
180
-# LDAP_UID=cn
181
-# LDAP_MAIL=mail
182
-# LDAP_SEARCH_FILTER=(|(%{uid}=%{email})(%{mail}=%{email}))
183
-# LDAP_UID_CONVERSION_ENABLED=true
184
-# LDAP_UID_CONVERSION_SEARCH=., -
185
-# LDAP_UID_CONVERSION_REPLACE=_
186
-
187
-# PAM authentication (optional)
188
-# PAM authentication uses for the email generation the "email" pam variable
189
-# and optional as fallback PAM_DEFAULT_SUFFIX
190
-# The pam environment variable "email" is provided by:
191
-# https://github.com/devkral/pam_email_extractor
192
-# PAM_ENABLED=true
193
-# Fallback email domain for email address generation (LOCAL_DOMAIN by default)
194
-# PAM_EMAIL_DOMAIN=example.com
195
-# Name of the pam service (pam "auth" section is evaluated)
196
-# PAM_DEFAULT_SERVICE=rpam
197
-# Name of the pam service used for checking if an user can register (pam "account" section is evaluated) (nil (disabled) by default)
198
-# PAM_CONTROLLED_SERVICE=rpam
199
-
200
-# Global OAuth settings (optional) :
201
-# If you have only one strategy, you may want to enable this
202
-# OAUTH_REDIRECT_AT_SIGN_IN=true
203
-
204
-# Optional CAS authentication (cf. omniauth-cas) :
205
-# CAS_ENABLED=true
206
-# CAS_URL=https://sso.myserver.com/
207
-# CAS_HOST=sso.myserver.com/
208
-# CAS_PORT=443
209
-# CAS_SSL=true
210
-# CAS_VALIDATE_URL=
211
-# CAS_CALLBACK_URL=
212
-# CAS_LOGOUT_URL=
213
-# CAS_LOGIN_URL=
214
-# CAS_UID_FIELD='user'
215
-# CAS_CA_PATH=
216
-# CAS_DISABLE_SSL_VERIFICATION=false
217
-# CAS_UID_KEY='user'
218
-# CAS_NAME_KEY='name'
219
-# CAS_EMAIL_KEY='email'
220
-# CAS_NICKNAME_KEY='nickname'
221
-# CAS_FIRST_NAME_KEY='firstname'
222
-# CAS_LAST_NAME_KEY='lastname'
223
-# CAS_LOCATION_KEY='location'
224
-# CAS_IMAGE_KEY='image'
225
-# CAS_PHONE_KEY='phone'
226
-
227
-# Optional SAML authentication (cf. omniauth-saml)
228
-# SAML_ENABLED=true
229
-# SAML_ACS_URL=http://localhost:3000/auth/auth/saml/callback
230
-# SAML_ISSUER=https://example.com
231
-# SAML_IDP_SSO_TARGET_URL=https://idp.testshib.org/idp/profile/SAML2/Redirect/SSO
232
-# SAML_IDP_CERT=
233
-# SAML_IDP_CERT_FINGERPRINT=
234
-# SAML_NAME_IDENTIFIER_FORMAT=
235
-# SAML_CERT=
236
-# SAML_PRIVATE_KEY=
237
-# SAML_SECURITY_WANT_ASSERTION_SIGNED=true
238
-# SAML_SECURITY_WANT_ASSERTION_ENCRYPTED=true
239
-# SAML_SECURITY_ASSUME_EMAIL_IS_VERIFIED=true
240
-# SAML_ATTRIBUTES_STATEMENTS_UID="urn:oid:0.9.2342.19200300.100.1.1"
241
-# SAML_ATTRIBUTES_STATEMENTS_EMAIL="urn:oid:1.3.6.1.4.1.5923.1.1.1.6"
242
-# SAML_ATTRIBUTES_STATEMENTS_FULL_NAME="urn:oid:2.16.840.1.113730.3.1.241"
243
-# SAML_ATTRIBUTES_STATEMENTS_FIRST_NAME="urn:oid:2.5.4.42"
244
-# SAML_ATTRIBUTES_STATEMENTS_LAST_NAME="urn:oid:2.5.4.4"
245
-# SAML_UID_ATTRIBUTE="urn:oid:0.9.2342.19200300.100.1.1"
246
-# SAML_ATTRIBUTES_STATEMENTS_VERIFIED=
247
-# SAML_ATTRIBUTES_STATEMENTS_VERIFIED_EMAIL=
248
-
249
-# Use HTTP proxy for outgoing request (optional)
250
-# http_proxy=http://gateway.local:8118
251
-# Access control for hidden service.
252
-# ALLOW_ACCESS_TO_HIDDEN_SERVICE=true
253
-
254
-# Authorized fetch mode (optional)
255
-# Require remote servers to authentify when fetching toots, see
256
-# https://docs.joinmastodon.org/admin/config/#authorized_fetch
257
-# AUTHORIZED_FETCH=true
258
-
259
-# Whitelist mode (optional)
260
-# Only allow federation with whitelisted domains, see
261
-# https://docs.joinmastodon.org/admin/config/#whitelist_mode
262
-# WHITELIST_MODE=true

+ 0
- 5
.env.test View File

@@ -1,5 +0,0 @@
1
-# Node.js
2
-NODE_ENV=tests
3
-# Federation
4
-LOCAL_DOMAIN=cb6e6126.ngrok.io
5
-LOCAL_HTTPS=true

+ 0
- 3
.env.vagrant View File

@@ -1,3 +0,0 @@
1
-VAGRANT=true
2
-LOCAL_DOMAIN=mastodon.local
3
-BIND=0.0.0.0

+ 0
- 13
.eslintignore View File

@@ -1,13 +0,0 @@
1
-/build/**
2
-/coverage/**
3
-/db/**
4
-/lib/**
5
-/log/**
6
-/node_modules/**
7
-/nonobox/**
8
-/public/**
9
-!/public/embed.js
10
-/spec/**
11
-/tmp/**
12
-/vendor/**
13
-!.eslintrc.js

+ 0
- 204
.eslintrc.js View File

@@ -1,204 +0,0 @@
1
-module.exports = {
2
-  root: true,
3
-
4
-  env: {
5
-    browser: true,
6
-    node: true,
7
-    es6: true,
8
-    jest: true,
9
-  },
10
-
11
-  globals: {
12
-    ATTACHMENT_HOST: false,
13
-  },
14
-
15
-  parser: 'babel-eslint',
16
-
17
-  plugins: [
18
-    'react',
19
-    'jsx-a11y',
20
-    'import',
21
-    'promise',
22
-  ],
23
-
24
-  parserOptions: {
25
-    sourceType: 'module',
26
-    ecmaFeatures: {
27
-      experimentalObjectRestSpread: true,
28
-      jsx: true,
29
-    },
30
-    ecmaVersion: 2018,
31
-  },
32
-
33
-  settings: {
34
-    react: {
35
-      version: 'detect',
36
-    },
37
-    'import/extensions': [
38
-      '.js',
39
-    ],
40
-    'import/ignore': [
41
-      'node_modules',
42
-      '\\.(css|scss|json)$',
43
-    ],
44
-    'import/resolver': {
45
-      node: {
46
-        paths: ['app/javascript'],
47
-      },
48
-    },
49
-  },
50
-
51
-  rules: {
52
-    'brace-style': 'warn',
53
-    'comma-dangle': ['error', 'always-multiline'],
54
-    'comma-spacing': [
55
-      'warn',
56
-      {
57
-        before: false,
58
-        after: true,
59
-      },
60
-    ],
61
-    'comma-style': ['warn', 'last'],
62
-    'consistent-return': 'error',
63
-    'dot-notation': 'error',
64
-    eqeqeq: 'error',
65
-    indent: ['warn', 2],
66
-    'jsx-quotes': ['error', 'prefer-single'],
67
-    'no-catch-shadow': 'error',
68
-    'no-cond-assign': 'error',
69
-    'no-console': [
70
-      'warn',
71
-      {
72
-        allow: [
73
-          'error',
74
-          'warn',
75
-        ],
76
-      },
77
-    ],
78
-    'no-fallthrough': 'error',
79
-    'no-irregular-whitespace': 'error',
80
-    'no-mixed-spaces-and-tabs': 'warn',
81
-    'no-nested-ternary': 'warn',
82
-    'no-trailing-spaces': 'warn',
83
-    'no-undef': 'error',
84
-    'no-unreachable': 'error',
85
-    'no-unused-expressions': 'error',
86
-    'no-unused-vars': [
87
-      'error',
88
-      {
89
-        vars: 'all',
90
-        args: 'after-used',
91
-        ignoreRestSiblings: true,
92
-      },
93
-    ],
94
-    'object-curly-spacing': ['error', 'always'],
95
-    'padded-blocks': [
96
-      'error',
97
-      {
98
-        classes: 'always',
99
-      },
100
-    ],
101
-    quotes: ['error', 'single'],
102
-    semi: 'error',
103
-    strict: 'off',
104
-    'valid-typeof': 'error',
105
-
106
-    'react/jsx-boolean-value': 'error',
107
-    'react/jsx-closing-bracket-location': ['error', 'line-aligned'],
108
-    'react/jsx-curly-spacing': 'error',
109
-    'react/jsx-equals-spacing': 'error',
110
-    'react/jsx-first-prop-new-line': ['error', 'multiline-multiprop'],
111
-    'react/jsx-indent': ['error', 2],
112
-    'react/jsx-no-bind': 'error',
113
-    'react/jsx-no-duplicate-props': 'error',
114
-    'react/jsx-no-undef': 'error',
115
-    'react/jsx-tag-spacing': 'error',
116
-    'react/jsx-uses-react': 'error',
117
-    'react/jsx-uses-vars': 'error',
118
-    'react/jsx-wrap-multilines': 'error',
119
-    'react/no-multi-comp': 'off',
120
-    'react/no-string-refs': 'error',
121
-    'react/prop-types': 'error',
122
-    'react/self-closing-comp': 'error',
123
-
124
-    'jsx-a11y/accessible-emoji': 'warn',
125
-    'jsx-a11y/alt-text': 'warn',
126
-    'jsx-a11y/anchor-has-content': 'warn',
127
-    'jsx-a11y/anchor-is-valid': [
128
-      'warn',
129
-      {
130
-        components: [
131
-          'Link',
132
-          'NavLink',
133
-        ],
134
-        specialLink: [
135
-          'to',
136
-        ],
137
-        aspect: [
138
-          'noHref',
139
-          'invalidHref',
140
-          'preferButton',
141
-        ],
142
-      },
143
-    ],
144
-    'jsx-a11y/aria-activedescendant-has-tabindex': 'warn',
145
-    'jsx-a11y/aria-props': 'warn',
146
-    'jsx-a11y/aria-proptypes': 'warn',
147
-    'jsx-a11y/aria-role': 'warn',
148
-    'jsx-a11y/aria-unsupported-elements': 'warn',
149
-    'jsx-a11y/heading-has-content': 'warn',
150
-    'jsx-a11y/html-has-lang': 'warn',
151
-    'jsx-a11y/iframe-has-title': 'warn',
152
-    'jsx-a11y/img-redundant-alt': 'warn',
153
-    'jsx-a11y/interactive-supports-focus': 'warn',
154
-    'jsx-a11y/label-has-for': 'off',
155
-    'jsx-a11y/mouse-events-have-key-events': 'warn',
156
-    'jsx-a11y/no-access-key': 'warn',
157
-    'jsx-a11y/no-distracting-elements': 'warn',
158
-    'jsx-a11y/no-noninteractive-element-interactions': [
159
-      'warn',
160
-      {
161
-        handlers: [
162
-          'onClick',
163
-        ],
164
-      },
165
-    ],
166
-    'jsx-a11y/no-onchange': 'warn',
167
-    'jsx-a11y/no-redundant-roles': 'warn',
168
-    'jsx-a11y/no-static-element-interactions': [
169
-      'warn',
170
-      {
171
-        handlers: [
172
-          'onClick',
173
-        ],
174
-      },
175
-    ],
176
-    'jsx-a11y/role-has-required-aria-props': 'warn',
177
-    'jsx-a11y/role-supports-aria-props': 'off',
178
-    'jsx-a11y/scope': 'warn',
179
-    'jsx-a11y/tabindex-no-positive': 'warn',
180
-
181
-    'import/extensions': [
182
-      'error',
183
-      'always',
184
-      {
185
-        js: 'never',
186
-      },
187
-    ],
188
-    'import/newline-after-import': 'error',
189
-    'import/no-extraneous-dependencies': [
190
-      'error',
191
-      {
192
-        devDependencies: [
193
-          'config/webpack/**',
194
-          'app/javascript/mastodon/test_setup.js',
195
-          'app/javascript/**/__tests__/**',
196
-        ],
197
-      },
198
-    ],
199
-    'import/no-unresolved': 'error',
200
-    'import/no-webpack-loader-syntax': 'error',
201
-
202
-    'promise/catch-or-return': 'error',
203
-  },
204
-};

+ 0
- 1
.foreman View File

@@ -1 +0,0 @@
1
-procfile: Procfile.dev

+ 0
- 14
.gitattributes View File

@@ -1,14 +0,0 @@
1
-*                             text=auto eol=lf
2
-*.eot                         -text
3
-*.gif                         -text
4
-*.gz                          -text
5
-*.ico                         -text
6
-*.jpg                         -text
7
-*.mp3                         -text
8
-*.ogg                         -text
9
-*.png                         -text
10
-*.ttf                         -text
11
-*.webm                        -text
12
-*.woff                        -text
13
-*.woff2                       -text
14
-spec/fixtures/requests/**     -text !eol

+ 0
- 32
.github/CODEOWNERS View File

@@ -1,32 +0,0 @@
1
-# CODEOWNERS for tootsuite/mastodon
2
-
3
-# Translators
4
-# To add translator, copy these lines, replace `fr` with appropriate language code and replace `@żelipapą` with user's GitHub nickname preceded by `@` sign or e-mail address.
5
-# /app/javascript/mastodon/locales/fr.json @żelipapą
6
-# /app/views/user_mailer/*.fr.html.erb @żelipapą
7
-# /app/views/user_mailer/*.fr.text.erb @żelipapą
8
-# /config/locales/*.fr.yml @żelipapą
9
-# /config/locales/fr.yml @żelipapą
10
-
11
-# Polish
12
-/app/javascript/mastodon/locales/pl.json @m4sk1n
13
-/app/views/user_mailer/*.pl.html.erb @m4sk1n
14
-/app/views/user_mailer/*.pl.text.erb @m4sk1n
15
-/config/locales/*.pl.yml @m4sk1n
16
-/config/locales/pl.yml @m4sk1n
17
-
18
-# French
19
-/app/javascript/mastodon/locales/fr.json @aldarone
20
-/app/javascript/mastodon/locales/whitelist_fr.json @aldarone
21
-/app/views/user_mailer/*.fr.html.erb @aldarone
22
-/app/views/user_mailer/*.fr.text.erb @aldarone
23
-/config/locales/*.fr.yml @aldarone
24
-/config/locales/fr.yml @aldarone
25
-
26
-# Dutch
27
-/app/javascript/mastodon/locales/nl.json @jeroenpraat
28
-/app/javascript/mastodon/locales/whitelist_nl.json @jeroenpraat
29
-/app/views/user_mailer/*.nl.html.erb @jeroenpraat
30
-/app/views/user_mailer/*.nl.text.erb @jeroenpraat
31
-/config/locales/*.nl.yml @jeroenpraat
32
-/config/locales/nl.yml @jeroenpraat

+ 0
- 2
.github/FUNDING.yml View File

@@ -1,2 +0,0 @@
1
-patreon: mastodon
2
-open_collective: mastodon

+ 0
- 27
.github/ISSUE_TEMPLATE/bug_report.md View File

@@ -1,27 +0,0 @@
1
----
2
-name: Bug Report
3
-about: If something isn't working as expected
4
-
5
----
6
-
7
-<!-- Make sure that you are submitting a new bug that was not previously reported or already fixed -->
8
-
9
-<!-- Please use a concise and distinct title for the issue -->
10
-
11
-### Expected behaviour
12
-
13
-<!-- What should have happened? -->
14
-
15
-### Actual behaviour
16
-
17
-<!-- What happened? -->
18
-
19
-### Steps to reproduce the problem
20
-
21
-<!-- What were you trying to do? -->
22
-
23
-### Specifications
24
-
25
-<!-- What version or commit hash of Mastodon did you find this bug in? -->
26
-
27
-<!-- If a front-end issue, what browser and operating systems were you using? -->

+ 0
- 5
.github/ISSUE_TEMPLATE/config.yml View File

@@ -1,5 +0,0 @@
1
-blank_issues_enabled: false
2
-contact_links:
3
-  - name: Mastodon Meta Discussion Board
4
-    url: https://discourse.joinmastodon.org/
5
-    about: Please ask and answer questions here.

+ 0
- 17
.github/ISSUE_TEMPLATE/feature_request.md View File

@@ -1,17 +0,0 @@
1
----
2
-name: Feature Request
3
-about: I have a suggestion
4
-
5
----
6
-
7
-<!-- Please use a concise and distinct title for the issue -->
8
-
9
-<!-- Consider: Could it be implemented as a 3rd party app using the REST API instead? -->
10
-
11
-### Pitch
12
-
13
-<!-- Describe your idea for a feature. Make sure it has not already been suggested/implemented/turned down before -->
14
-
15
-### Motivation
16
-
17
-<!-- Why do you think this feature is needed? Who would benefit from it? -->

+ 0
- 10
.github/ISSUE_TEMPLATE/support.md View File

@@ -1,10 +0,0 @@
1
----
2
-name: Support
3
-about: Ask for help with your deployment
4
-
5
----
6
-
7
-We primarily use GitHub as a bug and feature tracker. For usage questions, troubleshooting of deployments and other individual technical assistance, please use one of the resources below:
8
-
9
-- https://discourse.joinmastodon.org
10
-- #mastodon on irc.freenode.net

+ 0
- 10
.github/stale.yml View File

@@ -1,10 +0,0 @@
1
-daysUntilStale: 120
2
-daysUntilClose: 7
3
-exemptLabels:
4
-  - security
5
-staleLabel: wontfix
6
-markComment: >
7
-  This issue has been automatically marked as stale because it has not had
8
-  recent activity. It will be closed if no further activity occurs. Thank you
9
-  for your contributions.
10
-only: pulls

+ 0
- 108
.haml-lint.yml View File

@@ -1,108 +0,0 @@
1
-# Whether to ignore frontmatter at the beginning of HAML documents for
2
-# frameworks such as Jekyll/Middleman
3
-skip_frontmatter: false
4
-
5
-exclude:
6
-  - 'vendor/**/*'
7
-  - 'spec/**/*'
8
-  - 'lib/templates/**/*'
9
-  - 'app/views/kaminari/**/*'
10
-
11
-linters:
12
-  AltText:
13
-    enabled: false
14
-
15
-  ClassAttributeWithStaticValue:
16
-    enabled: true
17
-
18
-  ClassesBeforeIds:
19
-    enabled: true
20
-
21
-  ConsecutiveComments:
22
-    enabled: true
23
-
24
-  ConsecutiveSilentScripts:
25
-    enabled: true
26
-    max_consecutive: 2
27
-
28
-  EmptyObjectReference:
29
-    enabled: true
30
-
31
-  EmptyScript:
32
-    enabled: true
33
-
34
-  FinalNewline:
35
-    enabled: true
36
-    present: true
37
-
38
-  HtmlAttributes:
39
-    enabled: true
40
-
41
-  ImplicitDiv:
42
-    enabled: true
43
-
44
-  LeadingCommentSpace:
45
-    enabled: true
46
-
47
-  LineLength:
48
-    enabled: false
49
-    max: 80
50
-
51
-  MultilinePipe:
52
-    enabled: true
53
-
54
-  MultilineScript:
55
-    enabled: true
56
-
57
-  ObjectReferenceAttributes:
58
-    enabled: true
59
-
60
-  RuboCop:
61
-    enabled: true
62
-    # These cops are incredibly noisy when it comes to HAML templates, so we
63
-    # ignore them.
64
-    ignored_cops:
65
-      - Lint/BlockAlignment
66
-      - Lint/EndAlignment
67
-      - Lint/Void
68
-      - Metrics/BlockLength
69
-      - Metrics/LineLength
70
-      - Style/AlignParameters
71
-      - Style/BlockNesting
72
-      - Style/ElseAlignment
73
-      - Style/EndOfLine
74
-      - Style/FileName
75
-      - Style/FinalNewline
76
-      - Style/FrozenStringLiteralComment
77
-      - Style/IfUnlessModifier
78
-      - Style/IndentationWidth
79
-      - Style/Next
80
-      - Style/TrailingBlankLines
81
-      - Style/TrailingWhitespace
82
-      - Style/WhileUntilModifier
83
-
84
-  RubyComments:
85
-    enabled: true
86
-
87
-  SpaceBeforeScript:
88
-    enabled: true
89
-
90
-  SpaceInsideHashAttributes:
91
-    enabled: true
92
-    style: space
93
-
94
-  Indentation:
95
-    enabled: true
96
-    character: space # or tab
97
-
98
-  TagName:
99
-    enabled: true
100
-
101
-  TrailingWhitespace:
102
-    enabled: true
103
-
104
-  UnnecessaryInterpolation:
105
-    enabled: true
106
-
107
-  UnnecessaryStringOutput:
108
-    enabled: true

+ 0
- 19
.nanoignore View File

@@ -1,19 +0,0 @@
1
-.DS_Store
2
-.git/
3
-.gitignore
4
-
5
-.bundle/
6
-.cache/
7
-config/deploy/*
8
-coverage
9
-docs/
10
-.env
11
-log/*.log
12
-neo4j/
13
-node_modules/
14
-public/assets/
15
-public/system/
16
-spec/
17
-tmp/
18
-.vagrant/
19
-vendor/bundle/

+ 0
- 1
.nvmrc View File

@@ -1 +0,0 @@
1
-12

+ 0
- 1
.profile View File

@@ -1 +0,0 @@
1
-LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/app/.apt/lib/x86_64-linux-gnu:/app/.apt/usr/lib/x86_64-linux-gnu/mesa:/app/.apt/usr/lib/x86_64-linux-gnu/pulseaudio

+ 0
- 3
.rspec View File

@@ -1,3 +0,0 @@
1
---color
2
---require spec_helper
3
---format Fuubar

+ 0
- 138
.rubocop.yml View File

@@ -1,138 +0,0 @@
1
-require:
2
-  - rubocop-rails
3
-
4
-AllCops:
5
-  TargetRubyVersion: 2.3
6
-  Exclude:
7
-  - 'spec/**/*'
8
-  - 'db/**/*'
9
-  - 'app/views/**/*'
10
-  - 'config/**/*'
11
-  - 'bin/*'
12
-  - 'Rakefile'
13
-  - 'node_modules/**/*'
14
-  - 'Vagrantfile'
15
-  - 'vendor/**/*'
16
-  - 'lib/json_ld/*'
17
-  - 'lib/templates/**/*'
18
-
19
-Bundler/OrderedGems:
20
-  Enabled: false
21
-
22
-Layout/AccessModifierIndentation:
23
-  EnforcedStyle: indent
24
-
25
-Layout/EmptyLineAfterMagicComment:
26
-  Enabled: false
27
-
28
-Layout/SpaceInsideHashLiteralBraces:
29
-  EnforcedStyle: space
30
-
31
-Metrics/AbcSize:
32
-  Max: 100
33
-
34
-Metrics/BlockLength:
35
-  Max: 35
36
-  Exclude:
37
-    - 'lib/tasks/**/*'
38
-
39
-Metrics/BlockNesting:
40
-  Max: 3
41
-
42
-Metrics/ClassLength:
43
-  CountComments: false
44
-  Max: 300
45
-
46
-Metrics/CyclomaticComplexity:
47
-  Max: 25
48
-
49
-Metrics/LineLength:
50
-  AllowURI: true
51
-  Enabled: false
52
-
53
-Metrics/MethodLength:
54
-  CountComments: false
55
-  Max: 55
56
-
57
-Metrics/ModuleLength:
58
-  CountComments: false
59
-  Max: 200
60
-
61
-Metrics/ParameterLists:
62
-  Max: 5
63
-  CountKeywordArgs: true
64
-
65
-Metrics/PerceivedComplexity:
66
-  Max: 20
67
-
68
-Naming/MemoizedInstanceVariableName:
69
-  Enabled: false
70
-
71
-Rails:
72
-  Enabled: true
73
-
74
-Rails/EnumHash:
75
-  Enabled: false
76
-
77
-Rails/HasAndBelongsToMany:
78
-  Enabled: false
79
-
80
-Rails/SkipsModelValidations:
81
-  Enabled: false
82
-
83
-Rails/HttpStatus:
84
-  Enabled: false
85
-
86
-Rails/Exit:
87
-  Exclude:
88
-    - 'lib/mastodon/*'
89
-    - 'lib/cli.rb'
90
-
91
-Rails/HelperInstanceVariable:
92
-  Enabled: false
93
-
94
-Style/ClassAndModuleChildren:
95
-  Enabled: false
96
-
97
-Style/CollectionMethods:
98
-  Enabled: true
99
-  PreferredMethods:
100
-    find_all: 'select'
101
-
102
-Style/Documentation:
103
-  Enabled: false
104
-
105
-Style/DoubleNegation:
106
-  Enabled: true
107
-
108
-Style/FormatStringToken:
109
-  Enabled: false
110
-
111
-Style/FrozenStringLiteralComment:
112
-  Enabled: true
113
-
114
-Style/GuardClause:
115
-  Enabled: false
116
-
117
-Style/Lambda:
118
-  Enabled: false
119
-
120
-Style/PercentLiteralDelimiters:
121
-  PreferredDelimiters:
122
-    '%i': '()'
123
-    '%w': '()'
124
-
125
-Style/PerlBackrefs:
126
-  AutoCorrect: false
127
-
128
-Style/RegexpLiteral:
129
-  Enabled: false
130
-
131
-Style/SymbolArray:
132
-  Enabled: false
133
-
134
-Style/TrailingCommaInArrayLiteral:
135
-  EnforcedStyleForMultiline: 'comma'
136
-
137
-Style/TrailingCommaInHashLiteral:
138
-  EnforcedStyleForMultiline: 'comma'

+ 0
- 1
.ruby-version View File

@@ -1 +0,0 @@
1
-2.6.5

+ 0
- 37
.sass-lint.yml View File

@@ -1,37 +0,0 @@
1
-# Linter Documentation:
2
-# https://github.com/sasstools/sass-lint/tree/v1.13.1/docs/options
3
-
4
-files:
5
-  include: app/javascript/styles/**/*.scss
6
-  ignore:
7
-    - app/javascript/styles/mastodon/reset.scss
8
-
9
-rules:
10
-  # Disallows
11
-  no-color-literals: 0
12
-  no-css-comments: 0
13
-  no-duplicate-properties: 0
14
-  no-ids: 0
15
-  no-important: 0
16
-  no-mergeable-selectors: 0
17
-  no-misspelled-properties: 0
18
-  no-qualifying-elements: 0
19
-  no-transition-all: 0
20
-  no-vendor-prefixes: 0
21
-
22
-  # Nesting
23
-  force-element-nesting: 0
24
-  force-attribute-nesting: 0
25
-  force-pseudo-nesting: 0
26
-
27
-  # Name Formats
28
-  class-name-format: 0
29
-  leading-zero: 0
30
-
31
-  # Style Guide
32
-  attribute-quotes: 0
33
-  hex-length: 0
34
-  indentation: 0
35
-  nesting-depth: 0
36
-  property-sort-order: 0
37
-  quotes: 0

+ 0
- 4
.slugignore View File

@@ -1,4 +0,0 @@
1
-node_modules/
2
-.cache/
3
-docs/
4
-spec/

+ 0
- 46
.yarnclean View File

@@ -1,46 +0,0 @@
1
-# test directories
2
-__tests__
3
-test
4
-tests
5
-powered-test
6
-
7
-# asset directories
8
-docs
9
-doc
10
-website
11
-images
12
-# assets
13
-
14
-# examples
15
-example
16
-examples
17
-
18
-# code coverage directories
19
-coverage
20
-.nyc_output
21
-
22
-# build scripts
23
-Makefile
24
-Gulpfile.js
25
-Gruntfile.js
26
-
27
-# configs
28
-.tern-project
29
-.gitattributes
30
-.editorconfig
31
-.*ignore
32
-.eslintrc
33
-.jshintrc
34
-.flowconfig
35
-.documentup.json
36
-.yarn-metadata.json
37
-.*.yml
38
-*.yml
39
-
40
-# misc
41
-*.gz
42
-*.md
43
-
44
-# for specific ignore
45
-!.svgo.yml
46
-!sass-lint/**/*.yml

Loading…
Cancel
Save