Commiting

This commit is contained in:
mgabdev
2020-11-15 12:48:32 -06:00
parent 62515bbaee
commit fb612f60c8
1011 changed files with 3507 additions and 49604 deletions

View File

@@ -271,7 +271,7 @@ Devise.setup do |config|
# Time interval you can reset your password with a reset password key.
# Don't put a too small interval or your users won't have the time to
# change their passwords.
config.reset_password_within = 24.hours
config.reset_password_within = 3.days
# When set to false, does not sign a user in automatically after their password is
# reset. Defaults to true, so a user is signed in automatically after a reset.

View File

@@ -10,6 +10,7 @@
# inflect.uncountable %w( fish sheep )
# end
# : TODO : WTF IS THIS?
ActiveSupport::Inflector.inflections(:en) do |inflect|
inflect.acronym 'StatsD'
inflect.acronym 'OEmbed'

View File

@@ -23,19 +23,13 @@ SimpleNavigation::Configuration.run do |navigation|
n.item :requests, safe_join([fa_icon('id-card-o fw'), t('verifications.requests.title')]), settings_verifications_requests_url
n.item :data, safe_join([fa_icon('cloud-download fw'), t('settings.import_and_export')]), settings_export_url do |s|
s.item :export, safe_join([fa_icon('cloud-download fw'), t('settings.export')]), settings_export_url
end
n.item :export, safe_join([fa_icon('cloud-download fw'), t('settings.export')]), settings_export_url
n.item :development, safe_join([fa_icon('code fw'), t('settings.development')]), settings_applications_url, if: -> { current_user.staff? }
n.item :moderation, safe_join([fa_icon('gavel fw'), t('moderation.title')]), admin_reports_url, if: proc { current_user.staff? } do |s|
s.item :action_logs, safe_join([fa_icon('bars fw'), t('admin.action_logs.title')]), admin_action_logs_url
s.item :reports, safe_join([fa_icon('flag fw'), t('admin.reports.title')]), admin_reports_url, highlights_on: %r{/admin/reports}
s.item :accounts, safe_join([fa_icon('users fw'), t('admin.accounts.title')]), admin_accounts_url, highlights_on: %r{/admin/accounts|/admin/pending_accounts}
s.item :invites, safe_join([fa_icon('user-plus fw'), t('admin.invites.title')]), admin_invites_path
s.item :tags, safe_join([fa_icon('tag fw'), t('admin.tags.title')]), admin_tags_path
s.item :instances, safe_join([fa_icon('cloud fw'), t('admin.instances.title')]), admin_instances_url(limited: '1'), highlights_on: %r{/admin/instances|/admin/domain_blocks}, if: -> { current_user.admin? }
s.item :email_domain_blocks, safe_join([fa_icon('envelope fw'), t('admin.email_domain_blocks.title')]), admin_email_domain_blocks_url, highlights_on: %r{/admin/email_domain_blocks}, if: -> { current_user.admin? }
end
@@ -44,8 +38,6 @@ SimpleNavigation::Configuration.run do |navigation|
s.item :settings, safe_join([fa_icon('cogs fw'), t('admin.settings.title')]), edit_admin_settings_url, if: -> { current_user.admin? }, highlights_on: %r{/admin/settings}
s.item :groups, safe_join([fa_icon('smile-o fw'), t('admin.groups.title')]), admin_groups_url, highlights_on: %r{/admin/groups}
s.item :custom_emojis, safe_join([fa_icon('smile-o fw'), t('admin.custom_emojis.title')]), admin_custom_emojis_url, highlights_on: %r{/admin/custom_emojis}
s.item :relays, safe_join([fa_icon('exchange fw'), t('admin.relays.title')]), admin_relays_url, if: -> { current_user.admin? }, highlights_on: %r{/admin/relays}
s.item :subscriptions, safe_join([fa_icon('paper-plane-o fw'), t('admin.subscriptions.title')]), admin_subscriptions_url, if: -> { current_user.admin? }
s.item :sidekiq, safe_join([fa_icon('diamond fw'), 'Sidekiq']), sidekiq_url, link_html: { target: 'sidekiq' }, if: -> { current_user.admin? }
s.item :pghero, safe_join([fa_icon('database fw'), 'PgHero']), pghero_url, link_html: { target: 'pghero' }, if: -> { current_user.admin? }
s.item :moderation, safe_join([fa_icon('id-card-o fw'), t('verifications.moderation.title')]), settings_verifications_moderation_url, if: -> { current_user.admin? }

View File

@@ -25,62 +25,24 @@ Rails.application.routes.draw do
get '.well-known/change-password', to: redirect('/auth/edit')
get 'manifest', to: 'manifests#show', defaults: { format: 'json' }
get 'intent', to: 'intents#show'
devise_scope :user do
get '/invite/:invite_code', to: 'auth/registrations#new', as: :public_invite
match '/auth/finish_signup' => 'auth/confirmations#finish_signup', via: [:get, :patch], as: :finish_signup
end
devise_for :users, path: 'auth', controllers: {
# omniauth_callbacks: 'auth/omniauth_callbacks',
sessions: 'auth/sessions',
registrations: 'auth/registrations',
passwords: 'auth/passwords',
confirmations: 'auth/confirmations',
}
get '/users/:username', to: redirect('/%{username}'), constraints: html_only, username: username_regex
get '/users/:username/followers', to: redirect('/%{username}/followers'), constraints: html_only, username: username_regex
get '/users/:username/following', to: redirect('/%{username}/following'), constraints: html_only, username: username_regex
get '/users/:username/statuses/:id', to: redirect('/%{username}/posts/%{id}'), constraints: html_only, username: username_regex
get '/authorize_follow', to: redirect { |_, request| "/authorize_interaction?#{request.params.to_query}" }
resources :accounts, path: 'users', only: [:show], param: :username do
resources :stream_entries, path: 'updates', only: [:show] do
member do
get :embed
end
end
# get :remote_follow, to: 'remote_follow#new'
# post :remote_follow, to: 'remote_follow#create'
resources :statuses, only: [:show] do
member do
get :activity
get :embed
get :replies
end
end
resources :followers, only: [:index], controller: :follower_accounts
resources :following, only: [:index], controller: :following_accounts
resource :follow, only: [:create], controller: :account_follow
resource :unfollow, only: [:create], controller: :account_unfollow
end
# resource :inbox, only: [:create], module: :activitypub
get '/interact/:id', to: 'remote_interaction#new', as: :remote_interaction
post '/interact/:id', to: 'remote_interaction#create'
namespace :settings do
resource :profile, only: [:show, :update]
resource :preferences, only: [:show, :update]
resource :notifications, only: [:show, :update]
# resource :import, only: [:show, :create]
namespace :billing do
get :upgrade, to: 'upgrade#index', as: :upgrade
@@ -106,7 +68,6 @@ Rails.application.routes.draw do
resources :blocks, only: :index, controller: :blocked_accounts
resources :mutes, only: :index, controller: :muted_accounts
resources :lists, only: :index, controller: :lists
resources :domain_blocks, only: :index, controller: :blocked_domains
end
resource :two_factor_authentication, only: [:show, :create, :destroy]
@@ -115,8 +76,6 @@ Rails.application.routes.draw do
resource :confirmation, only: [:new, :create]
end
resources :identity_proofs, only: [:index, :show, :new, :create, :update]
resources :applications, except: [:edit] do
member do
post :regenerate
@@ -124,7 +83,6 @@ Rails.application.routes.draw do
end
resource :delete, only: [:show, :destroy]
# resource :migration, only: [:show, :update]
resources :sessions, only: [:destroy]
resources :scheduled_statuses, only: [:index, :destroy]
@@ -134,44 +92,18 @@ Rails.application.routes.draw do
get :player
end
resources :emojis, only: [:show]
# resources :invites, only: [:index, :create, :destroy]
resources :filters, except: [:show]
# resource :relationships, only: [:show, :update]
get '/public', to: redirect('/home'), as: :public_timeline # homehack
get '/media_proxy/:id/(*any)', to: 'media_proxy#show', as: :media_proxy
# Remote follow
# resource :remote_unfollow, only: [:create]
# resource :authorize_interaction, only: [:show, :create]
# resource :share, only: [:show, :create]
namespace :admin do
get '/dashboard', to: 'dashboard#index'
resources :subscriptions, only: [:index]
resources :domain_blocks, only: [:new, :create, :show, :destroy]
resources :email_domain_blocks, only: [:index, :new, :create, :destroy]
resources :action_logs, only: [:index]
resources :warning_presets, except: [:new]
resource :settings, only: [:edit, :update]
resources :invites, only: [:index, :create, :destroy] do
collection do
post :deactivate_all
end
end
resources :relays, only: [:index, :new, :create, :destroy] do
member do
post :enable
post :disable
end
end
resources :instances, only: [:index, :show], constraints: { id: /[^\/]+/ }
resources :reports, only: [:index, :show] do
member do
post :assign_to_self
@@ -187,8 +119,6 @@ Rails.application.routes.draw do
resources :accounts, only: [:index, :show, :edit, :update] do
member do
post :subscribe
post :unsubscribe
post :enable
post :unsilence
post :unsuspend
@@ -228,25 +158,11 @@ Rails.application.routes.draw do
end
end
resources :pending_accounts, only: [:index] do
collection do
post :approve_all
post :reject_all
post :batch
end
end
resources :users, only: [] do
resource :two_factor_authentication, only: [:destroy]
end
resources :custom_emojis, only: [:index, :new, :create, :update, :destroy] do
member do
post :copy
post :enable
post :disable
end
end
resources :custom_emojis, only: [:index, :new, :create, :update, :destroy]
resources :groups, only: [:index, :destroy] do
member do
@@ -256,28 +172,9 @@ Rails.application.routes.draw do
end
resources :account_moderation_notes, only: [:create, :destroy]
resources :tags, only: [:index] do
member do
post :hide
post :unhide
end
end
end
get '/admin', to: redirect('/admin/dashboard', status: 302)
namespace :api do
# PubSubHubbub outgoing subscriptions
resources :subscriptions, only: [:show]
post '/subscriptions/:id', to: 'subscriptions#update'
# PubSubHubbub incoming subscriptions
post '/push', to: 'push#update', as: :push
# Salmon
post '/salmon/:id', to: 'salmon#update', as: :salmon
# OEmbed
get '/oembed', to: 'oembed#show', as: :oembed
@@ -296,13 +193,10 @@ Rails.application.routes.draw do
resource :favourite, only: :create
post :unfavourite, to: 'favourites#destroy'
resource :bookmark, only: :create
resource :bookmark, only: [:show, :create]
post :unbookmark, to: 'bookmarks#destroy'
resource :mute, only: :create
post :unmute, to: 'mutes#destroy'
resource :pin, only: :create
resource :pin, only: [:show, :create]
post :unpin, to: 'pins#destroy'
end
@@ -327,10 +221,8 @@ Rails.application.routes.draw do
resource :explore, only: :show, controller: :explore
end
resources :gab_trends, only: [:index]
resources :links, only: :show
resource :popular_links, only: :show
resources :shop, only: [:index]
resources :streaming, only: [:index]
resources :custom_emojis, only: [:index]
resources :suggestions, only: [:index, :destroy]
@@ -338,17 +230,10 @@ Rails.application.routes.draw do
resources :preferences, only: [:index]
resources :group_categories, only: [:index]
resources :conversations, only: [:index, :destroy] do
member do
post :read
end
end
get '/search', to: 'search#index', as: :search
resources :promotions, only: [:index]
get '/account_by_username/:username', to: 'account_by_username#show', username: username_regex
resources :promotions, only: [:index]
resources :follows, only: [:create]
resources :media, only: [:create, :update]
resources :blocks, only: [:index]
@@ -356,7 +241,6 @@ Rails.application.routes.draw do
resources :favourites, only: [:index]
resources :reports, only: [:create]
resources :filters, only: [:index, :create, :show, :update, :destroy]
resources :endorsements, only: [:index]
resources :shortcuts, only: [:index, :create, :show, :destroy]
resources :bookmarks, only: [:index]
@@ -366,9 +250,6 @@ Rails.application.routes.draw do
resources :apps, only: [:create]
resource :domain_blocks, only: [:show, :create, :destroy]
resources :follow_requests, only: [:index] do
member do
post :authorize
@@ -379,13 +260,8 @@ Rails.application.routes.draw do
resources :notifications, only: [:index, :show] do
collection do
post :clear
post :dismiss # Deprecated
post :mark_read
end
member do
post :dismiss
end
end
namespace :accounts do
@@ -410,9 +286,6 @@ Rails.application.routes.draw do
post :mute
post :unmute
end
resource :pin, only: :create, controller: 'accounts/pins'
post :unpin, to: 'accounts/pins#destroy'
end
resources :lists, only: [:index, :create, :show, :update, :destroy] do
@@ -436,7 +309,7 @@ Rails.application.routes.draw do
post '/join_requests/respond', to: 'groups/requests#respond_to_request'
resource :pin, only: :create, controller: 'groups/pins'
resource :pin, only: [:show, :create], controller: 'groups/pins'
post :unpin, to: 'groups/pins#destroy'
end
@@ -466,34 +339,11 @@ Rails.application.routes.draw do
end
get '/g/:groupSlug', to: 'react#groupBySlug'
get '/:username/with_replies', to: 'accounts#show', username: username_regex, as: :short_account_with_replies
get '/:username/comments_only', to: 'accounts#show', username: username_regex, as: :short_account_comments_only
get '/:username/media', to: 'accounts#show', username: username_regex, as: :short_account_media
get '/:username/tagged/:tag', to: 'accounts#show', username: username_regex, as: :short_account_tag
get '/:username/posts/:statusId/reblogs', to: 'statuses#show', username: username_regex
get '/:account_username/posts/:id', to: 'statuses#show', account_username: username_regex, as: :short_account_status
get '/:account_username/posts/:id/embed', to: 'statuses#embed', account_username: username_regex, as: :embed_short_account_status
get '/(*any)', to: 'react#react', as: :web
get '/:username', to: 'accounts#show', username: username_regex, as: :short_account
root 'react#react'
get '/', to: 'react#react', as: :homepage
# Routes that are now to be used within webapp, but still referenced within application
# TODO : Consolidate
get '/explore', to: 'directories#index', as: :explore
get '/explore/:id', to: 'directories#show', as: :explore_hashtag
get '/about', to: 'about#more'
get '/about/tos', to: 'about#terms'
get '/about/privacy', to: 'about#privacy'
get '/about/investors', to: 'about#investors'
get '/about/dmca', to: 'about#dmca'
get '/about/sales', to: 'about#sales'
resources :tags, only: [:show]
match '*unmatched_route',
via: :all,
to: 'application#raise_not_found',

View File

@@ -5,17 +5,10 @@ defaults: &defaults
site_title: Gab Social
site_short_description: ''
site_description: ''
site_extended_description: ''
site_terms: ''
site_contact_username: ''
site_contact_email: ''
registrations_mode: 'open'
profile_directory: true
closed_registrations_message: ''
open_deletion: true
min_invite_role: 'admin'
timeline_preview: true
show_staff_badge: true
default_sensitive: false
hide_network: false
unfollow_modal: false
@@ -25,8 +18,6 @@ defaults: &defaults
display_media: 'default'
expand_spoilers: false
preview_sensitive_media: false
reduce_motion: false
show_application: true
group_in_home_feed: true
noindex: false
theme: 'default'
@@ -39,7 +30,6 @@ defaults: &defaults
follow_request: true
digest: true
report: true
pending_account: true
emails_from_gabcom: true
interactions:
must_be_follower: false
@@ -92,11 +82,7 @@ defaults: &defaults
- links
- messages
- message
disallowed_hashtags: # space separated string or list of hashtags without the hash
bootstrap_timeline_accounts: ''
activity_api_enabled: true
peers_api_enabled: true
show_known_fediverse_at_about_page: true
development:
<<: *defaults

View File

@@ -30,12 +30,6 @@
doorkeeper_cleanup_scheduler:
cron: '<%= Random.rand(0..59) %> <%= Random.rand(0..2) %> * * 0'
class: Scheduler::DoorkeeperCleanupScheduler
user_cleanup_scheduler:
cron: '<%= Random.rand(0..59) %> <%= Random.rand(4..6) %> * * *'
class: Scheduler::UserCleanupScheduler
subscriptions_cleanup_scheduler:
cron: '<%= Random.rand(0..59) %> <%= Random.rand(1..3) %> * * 0'
class: Scheduler::SubscriptionsCleanupScheduler
ip_cleanup_scheduler:
cron: '<%= Random.rand(0..59) %> <%= Random.rand(3..5) %> * * *'
class: Scheduler::IpCleanupScheduler