Fix Sidekiq pooling issues. Remove API docs from homepage, replace with
a basic home timelineshrike
parent
bb98ee489d
commit
5764d52b04
|
@ -124,99 +124,99 @@
|
|||
background: #d9e1e8;
|
||||
border-radius: 0 4px 4px 0;
|
||||
|
||||
.dashboard__content__content {
|
||||
padding: 20px;
|
||||
color: #282c37;
|
||||
line-height: 18px;
|
||||
|
||||
h3 {
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
samp {
|
||||
font-family: 'Roboto Mono', monospace;
|
||||
}
|
||||
|
||||
ul {
|
||||
list-style: circle;
|
||||
padding-left: 15px;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
.table {
|
||||
width: 100%;
|
||||
|
||||
th {
|
||||
font-weight: 500;
|
||||
text-align: left;
|
||||
border-bottom: 1px solid lighten(#282c37, 55%);
|
||||
}
|
||||
|
||||
th, td {
|
||||
padding: 5px 0;
|
||||
line-height: 18px;
|
||||
}
|
||||
}
|
||||
|
||||
a {
|
||||
color: #2b90d9;
|
||||
text-decoration: underline;
|
||||
|
||||
&:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
.btn {
|
||||
display: inline-block;
|
||||
border: 0;
|
||||
background: #2b90d9;
|
||||
border-radius: 16px;
|
||||
padding: 6px 16px;
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
color: #fff;
|
||||
cursor: pointer;
|
||||
font-family: 'Roboto', sans-serif;
|
||||
text-decoration: none;
|
||||
|
||||
&:hover {
|
||||
background: lighten(#2b90d9, 5%);
|
||||
}
|
||||
|
||||
&.btn-iconized {
|
||||
font-size: 16px;
|
||||
font-weight: 400;
|
||||
width: 24px;
|
||||
text-align: center;
|
||||
padding: 10px 7px;
|
||||
border-radius: 100px;
|
||||
box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
}
|
||||
|
||||
hr {
|
||||
clear: both;
|
||||
border: 0;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
height: 0;
|
||||
margin: 30px 0;
|
||||
}
|
||||
}
|
||||
|
||||
.dashboard__top-bar {
|
||||
border-radius: 0 4px 0 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.dashboard__content__content {
|
||||
padding: 20px;
|
||||
color: #282c37;
|
||||
line-height: 18px;
|
||||
|
||||
h3 {
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
samp {
|
||||
font-family: 'Roboto Mono', monospace;
|
||||
}
|
||||
|
||||
ul {
|
||||
list-style: circle;
|
||||
padding-left: 15px;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
.table {
|
||||
width: 100%;
|
||||
|
||||
th {
|
||||
font-weight: 500;
|
||||
text-align: left;
|
||||
border-bottom: 1px solid lighten(#282c37, 55%);
|
||||
}
|
||||
|
||||
th, td {
|
||||
padding: 5px 0;
|
||||
line-height: 18px;
|
||||
}
|
||||
}
|
||||
|
||||
a {
|
||||
color: #2b90d9;
|
||||
text-decoration: underline;
|
||||
|
||||
&:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
.btn {
|
||||
display: inline-block;
|
||||
border: 0;
|
||||
background: #2b90d9;
|
||||
border-radius: 16px;
|
||||
padding: 6px 16px;
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
color: #fff;
|
||||
cursor: pointer;
|
||||
font-family: 'Roboto', sans-serif;
|
||||
text-decoration: none;
|
||||
|
||||
&:hover {
|
||||
background: lighten(#2b90d9, 5%);
|
||||
}
|
||||
|
||||
&.btn-iconized {
|
||||
font-size: 16px;
|
||||
font-weight: 400;
|
||||
width: 24px;
|
||||
text-align: center;
|
||||
padding: 10px 7px;
|
||||
border-radius: 100px;
|
||||
box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
}
|
||||
|
||||
hr {
|
||||
clear: both;
|
||||
border: 0;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
height: 0;
|
||||
margin: 30px 0;
|
||||
}
|
||||
}
|
||||
|
||||
.simple_form {
|
||||
.form-actions {
|
||||
padding-top: 20px;
|
||||
|
|
|
@ -4,5 +4,6 @@ class HomeController < ApplicationController
|
|||
before_action :authenticate_user!
|
||||
|
||||
def index
|
||||
@timeline = Feed.new(:home, current_user.account).get(10, params[:max_id])
|
||||
end
|
||||
end
|
||||
|
|
|
@ -4,111 +4,7 @@
|
|||
.form-actions
|
||||
= f.button :submit, 'Post update'
|
||||
|
||||
%hr/
|
||||
|
||||
%h3 OAuth2
|
||||
%p All API methods require a valid access token.
|
||||
|
||||
%h3 Statuses
|
||||
%ul.api-descriptions
|
||||
%li
|
||||
.address
|
||||
%samp.method GET
|
||||
%samp /api/statuses/home
|
||||
.description
|
||||
Returns user's home timeline
|
||||
%li
|
||||
.address
|
||||
%samp.method GET
|
||||
%samp /api/statuses/mentions
|
||||
.description
|
||||
Returns user's mentions timeline
|
||||
%li
|
||||
.address
|
||||
%samp.method POST
|
||||
%samp /api/statuses
|
||||
.options
|
||||
Options:
|
||||
= succeed ',' do
|
||||
%samp status
|
||||
%samp in_reply_to_id
|
||||
.description
|
||||
Creates a new status, optionally as a response to another, from user's account. Returns the new status.
|
||||
%li
|
||||
.address
|
||||
%samp.method GET
|
||||
%samp /api/statuses/:id
|
||||
.description
|
||||
Returns a single status
|
||||
%li
|
||||
.address
|
||||
%samp.method POST
|
||||
%samp /api/statuses/:id/reblog
|
||||
.description
|
||||
Reblogs a status from user's account. Returns the target status.
|
||||
%li
|
||||
.address
|
||||
%samp.method POST
|
||||
%samp /api/statuses/:id/favourite
|
||||
.description
|
||||
Favourites a status from user's account. Returns the target status.
|
||||
|
||||
%h3 Accounts
|
||||
%ul.api-descriptions
|
||||
%li
|
||||
.address
|
||||
%samp.method GET
|
||||
%samp /api/accounts/:id
|
||||
.description
|
||||
Returns a single account
|
||||
%li
|
||||
.address
|
||||
%samp.method GET
|
||||
%samp /api/accounts/:id/statuses
|
||||
.description
|
||||
Returns an account's statuses
|
||||
%li
|
||||
.address
|
||||
%samp.method GET
|
||||
%samp /api/accounts/:id/followers
|
||||
.description
|
||||
Returns accounts following an account
|
||||
%li
|
||||
.address
|
||||
%samp.method GET
|
||||
%samp /api/accounts/:id/following
|
||||
.description
|
||||
Returns the accounts the target account follows
|
||||
%li
|
||||
.address
|
||||
%samp.method POST
|
||||
%samp /api/accounts/:id/follow
|
||||
.description
|
||||
Follows target account from the user's account. Returns the target account.
|
||||
%li
|
||||
.address
|
||||
%samp.method POST
|
||||
%samp /api/accounts/:id/unfollow
|
||||
.description
|
||||
Unfollows target account from the user's account. Returns the target account.
|
||||
%li
|
||||
.address
|
||||
%samp.method GET
|
||||
%samp /api/accounts/lookup
|
||||
.options
|
||||
Options:
|
||||
%samp usernames
|
||||
.description
|
||||
Returns accounts for a comma-separated list of usernames
|
||||
|
||||
%h3 Follows
|
||||
%ul.api-descriptions
|
||||
%li
|
||||
.address
|
||||
%samp.method POST
|
||||
%samp /api/follows
|
||||
.options
|
||||
Options:
|
||||
%samp uri
|
||||
.description
|
||||
Follows a user, regardless of where they are, from user's account. URI assumed to be of username@domain form. Returns the target account.
|
||||
- content_for :raw_content do
|
||||
.activity-stream.activity-stream-embedded
|
||||
- @timeline.each do |status|
|
||||
= render partial: 'stream_entries/status', locals: { status: status }
|
||||
|
|
|
@ -21,13 +21,18 @@
|
|||
= link_to settings_path do
|
||||
= fa_icon 'user'
|
||||
Edit profile
|
||||
|
||||
.dashboard__content
|
||||
.dashboard__top-bar
|
||||
= content_for?(:page_title) ? yield(:page_title) : 'Mastodon'
|
||||
%ul
|
||||
%li= link_to fa_icon('gear'), edit_registration_path(current_user), title: 'Change password'
|
||||
%li= link_to fa_icon('sign-out'), destroy_user_session_path, method: :delete, title: 'Sign out'
|
||||
|
||||
.dashboard__content__content= yield
|
||||
|
||||
= yield(:raw_content)
|
||||
|
||||
.footer
|
||||
.domain= Rails.configuration.x.local_domain
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
default: &default
|
||||
adapter: postgresql
|
||||
pool: 10
|
||||
pool: 15
|
||||
timeout: 5000
|
||||
encoding: unicode
|
||||
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
redis_conn = proc {
|
||||
$redis.dup
|
||||
}
|
||||
host = ENV['REDIS_HOST'] || 'localhost'
|
||||
port = ENV['REDIS_PORT'] || 6379
|
||||
|
||||
Sidekiq.configure_server do |config|
|
||||
config.redis = ConnectionPool.new(size: 5, &redis_conn)
|
||||
config.redis = { host: host, port: port }
|
||||
end
|
||||
|
||||
Sidekiq.configure_client do |config|
|
||||
config.redis = ConnectionPool.new(size: 5, &redis_conn)
|
||||
config.redis = { host: host, port: port }
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue