Eugen Rochko
6a54df90c8
Replacing follow requests in the settings area with in-UI column
2016-12-26 21:33:51 +01:00
Eugen Rochko
ef9e827c54
Adding follow requests API
2016-12-26 19:30:45 +01:00
Eugen Rochko
d253b0dec6
Fix #86 - resolve layout breaking on zoom-out on accounts grid
2016-12-26 18:48:33 +01:00
Eugen Rochko
302051ffcb
Add page for authorizing/rejecting follow requests
2016-12-23 00:04:52 +01:00
Eugen Rochko
77cd58545d
Re-enable Webfinger for locked accounts but don't handle "follow" events
...
coming in via Salmon.
Currently no way to prevent remote follows, but they will only receive public
and unlisted posts
2016-12-22 23:17:57 +01:00
Eugen Rochko
238233440f
Follow call on locked account creates follow request instead
...
Reflect "requested" relationship in API and UI
Reflect inability of private posts to be reblogged in the UI
Disable Webfinger for locked accounts
2016-12-22 23:03:57 +01:00
Eugen Rochko
09a477c782
Add "locked" flag to accounts, prevent blocked users from following, force-unfollow blocked users
2016-12-22 21:34:19 +01:00
Eugen Rochko
d417da7d3a
Private visibility on statuses prevents non-followers from seeing those
...
Filters out hidden stream entries from Atom feed
Blocks now generate hidden stream entries, can be used to federate blocks
Private statuses cannot be reblogged (generates generic 422 error for now)
POST /api/v1/statuses now takes visibility=(public|unlisted|private) param instead of unlisted boolean
Statuses JSON now contains visibility=(public|unlisted|private) field
2016-12-21 20:04:13 +01:00
Eugen Rochko
090e3a245d
Fix #249 - use window.location hack to let people login from sandboxed iOS homescreen
2016-12-21 00:13:13 +01:00
Eugen Rochko
b2945b025f
Make unfavouriting async to prevent timeout errors from leaving orphaned records behind
2016-12-19 09:12:29 +01:00
Eugen Rochko
346aae50b0
Adjusting public display of statuses to look similar to logged-in UI,
...
fix #361 with rich OEmbed display via iframe, fix #237 by hiding sensitive
content behind a spoiler on public pages
2016-12-18 19:47:11 +01:00
Eugen Rochko
6d7f3be2f6
Add OEmbed iframe HTML, convert emojis on public pages, increase size of attachment thumbnails
2016-12-18 15:20:39 +01:00
Eugen Rochko
66e08d880c
Improved admin UI
2016-12-13 13:42:10 +01:00
Eugen Rochko
88218c83d5
Add suspend account functionality to admin UI
2016-12-06 18:22:59 +01:00
Eugen Rochko
7752662f97
Add filters for suspended accounts
2016-12-06 18:03:30 +01:00
Eugen Rochko
5522606989
Add single user mode
2016-12-06 17:19:26 +01:00
Eugen Rochko
ca0757a6cf
Add account suspension
2016-12-05 22:59:30 +01:00
Eugen Rochko
68586258ca
Adding more to admin accounts UI
2016-12-04 18:10:40 +01:00
Eugen Rochko
7c81e7e9c7
Fix public tags page
2016-12-04 16:56:45 +01:00
Eugen Rochko
b506010b4f
Add "next" pagination to public profiles
2016-12-03 19:30:13 +01:00
Eugen Rochko
fb61dd14c5
Admin accounts page lists accounts
2016-12-03 19:08:07 +01:00
Eugen Rochko
2d4ce8a867
Fix #248 - Reload all accounts when fetching from cache
2016-12-03 18:21:26 +01:00
Eugen Rochko
8260628fc8
Fix pt translations, improve pre-cache queries, removing will_paginate
...
from accounts/tags because it's a terribly inefficient way to paginate
large sets of data
2016-12-01 16:26:25 +01:00
Eugen Rochko
a8814a19dc
Add basic OEmbed provider API, fix #247
2016-11-30 23:01:03 +01:00
Eugen Rochko
8d4ef0b6c3
Per-status control for unlisted mode, also federation for unlisted mode
...
Fix #233 , fix #268
2016-11-30 21:34:59 +01:00
Eugen Rochko
1bb1ec3b8d
Further abstract caching for includes
2016-11-30 15:57:56 +01:00
Eugen Rochko
329b2a326d
Normalize localizations, add stub for admin/accounts
2016-11-30 15:32:26 +01:00
Eugen Rochko
015cd99f41
Make User#current_sign_in_at actually track when user was last active,
...
by updating it at least every 24h if the user visits the site
2016-11-30 15:17:03 +01:00
Eugen Rochko
bee7aeaea5
Unify collection caching code
2016-11-29 15:49:39 +01:00
Eugen Rochko
d26b8f3cce
Delete statuses asynchronously but provide instant feedback in the API
2016-11-29 15:32:25 +01:00
Eugen Rochko
02da8fdcbe
Fix setting of confirmed=true on successful confirmation
2016-11-28 19:24:49 +01:00
Eugen Rochko
f37efe8e56
Add simple admin overview of PuSH subscriptions
2016-11-28 18:45:13 +01:00
Eugen Rochko
b5ad0eb4ea
Adding embedded PuSH server
2016-11-28 13:36:47 +01:00
Eugen Rochko
abeccf6eb2
X-RateLimit-Reset formatted with iso8601
2016-11-25 15:21:22 +01:00
Eugen Rochko
666eda7256
Remove stale entries from cache results
2016-11-25 13:25:40 +01:00
Eugen Rochko
ea0846645a
Fix #65 - Options to block notifications from people you don't follow/who don't follow you
2016-11-25 13:13:16 +01:00
Eugen Rochko
30f9e9e624
Remove Neo4J
2016-11-24 23:46:27 +01:00
Eugen Rochko
8ab2fcbb2c
Mini Profiler not working well, remove it
2016-11-24 19:59:11 +01:00
Alyssa Ross
cb06801b21
Extract filename obfuscation into module
2016-11-24 00:30:58 +00:00
Andrea Faulds
66a20701b7
Rename media to avoid exposing filename ( fixes #207 )
2016-11-23 21:03:03 +00:00
Eugen Rochko
d78962c1ed
Cache accounts/:id/statuses and single statuses too
2016-11-23 19:00:43 +01:00
Eugen Rochko
65d6191147
Adding sensitive marker to statuses in API
2016-11-23 10:46:48 +01:00
Eugen Rochko
c60df460af
Rename "publish" to "toot" in english locale, fix lightbox showing old image
...
before loading new one, cache notifications API, fix missing follow button
on public profiles
2016-11-23 09:20:34 +01:00
Eugen Rochko
dda6354c76
Implement includes caching for timelines APIs
2016-11-23 08:34:35 +01:00
Eugen Rochko
f6a975af8b
More query optimizations
2016-11-22 23:18:54 +01:00
Eugen Rochko
30010a6dbd
Moving some counter queries out of subqueries in the API
2016-11-22 22:59:54 +01:00
Eugen Rochko
f07b0dc82f
Remove unneeded indices, improve error handling in background workers, don't needlessly reload reblogged status, send Devise e-mails asynchronously
2016-11-22 17:32:51 +01:00
Eugen Rochko
74df3ba1d7
Local accounts can control "silenced" attribute which removes them from public timeline
2016-11-21 23:06:41 +01:00
Eugen Rochko
0aeae195cb
Better error message in doorkeeper json response
2016-11-21 16:19:35 +01:00
Eugen Rochko
0a68464995
Performance improvement for notifications API
2016-11-21 16:10:42 +01:00
Eugen Rochko
4d100a1b36
Remove some n+1 queries from notifications API
2016-11-21 15:16:04 +01:00
Eugen Rochko
83cdfefa7d
Remove orphaned notifications, add scopes param to app create API
2016-11-21 14:59:13 +01:00
Eugen Rochko
80d58c6c04
Desktop notifications
2016-11-21 10:24:50 +01:00
Eugen Rochko
38025dfea3
Adding unified streamable notifications
2016-11-20 19:39:58 +01:00
Eugen Rochko
fbaddca49e
Move Salmon processing to background as well as PuSH
2016-11-18 23:24:57 +01:00
Eugen Rochko
b8e6ca45e5
Add user locale setting
2016-11-16 17:56:31 +01:00
Eugen Rochko
0e956910c3
Adding some localizations
2016-11-15 23:02:57 +01:00
Eugen Rochko
c6f5eb8aa7
Fix #144 - Filter statuses from blocked users out of ancestors/descendants results
2016-11-15 17:33:41 +01:00
Eugen Rochko
e71b152d89
Fix rubocop issues, introduce usage of frozen literal to improve performance
2016-11-15 16:56:29 +01:00
Eugen Rochko
a7332acba3
Delegate processing of incoming PuSH data to background workers
2016-11-15 15:43:33 +01:00
Eugen Rochko
19ea717b3c
Fix wrong link header on followers API, wrong link in tabs component, order
...
account results
2016-11-14 01:19:25 +01:00
Eugen Rochko
6206f75837
Add limit to search results
2016-11-12 14:49:28 +01:00
Eugen Rochko
cbfa28b9cc
Use full-text search for autosuggestions
2016-11-12 14:36:10 +01:00
Eugen Rochko
6d9f8ee11e
Improve filtering of public/hashtag timelines, both in backlog and real-time
2016-11-10 00:03:33 +01:00
Eugen Rochko
a6667f7f58
Replace setting custom CORS headers with rack-cors, set it on /oauth/token endpoint
2016-11-09 18:06:01 +01:00
Eugen Rochko
beb36e24fe
API pagination for all collections using Link header
2016-11-09 17:48:44 +01:00
Eugen Rochko
d98b43cf56
Move timelines API from statuses to its own controller, add a check for
...
resources that require a user context vs those that don't (such as public timeline)
/api/v1/statuses/public -> /api/v1/timelines/public
/api/v1/statuses/home -> /api/v1/timelines/home
/api/v1/statuses/mentions -> /api/v1/timelines/mentions
/api/v1/statuses/tag/:tag -> /api/v1/timelines/tag/:tag
2016-11-08 23:29:08 +01:00
Eugen Rochko
814907e870
Fix linking of remote hashtags in UI, add public view of hashtags
2016-11-05 17:44:14 +01:00
Eugen Rochko
cb22dce970
Adding hashtags
2016-11-05 17:13:14 +01:00
Eugen Rochko
082e57fc13
Adding hashtag model
2016-11-04 19:12:59 +01:00
Eugen Rochko
4c3885b952
Allow @username@domain/@username in follow form, prevent duplicate accounts
...
created via remote look-up when domains differ but point to the same resource
2016-11-03 16:57:44 +01:00
Eugen Rochko
7a527c947d
Fix reblogged/favourited caching; add API endpoints for who favd/reblogged status
2016-11-03 14:50:22 +01:00
Eugen Rochko
695f62e49e
Need to disable caching again due to bug in Rabl
2016-11-03 13:59:31 +01:00
Eugen Rochko
e7035a4d39
Make cookies https-only if LOCAL_HTTPS is true, set X-Frame-Options to DENY,
...
add permissive CORS to API controllers
2016-11-02 12:58:15 +01:00
Eugen Rochko
36470feeb2
Fix follow icon changing plus to minus, add terms page stub
2016-11-01 18:05:55 +01:00
Eugen Rochko
95e65d883a
Limit returned followees/followers by API to 40 for now
2016-10-30 15:14:07 +01:00
Eugen Rochko
38cacac4b0
Adding common followers API, fixing fallback query again
2016-10-29 01:29:19 +02:00
Eugen Rochko
cab1211ef7
Fix OAuth authorization redirect
2016-10-23 12:05:55 +02:00
Eugen Rochko
6657414266
Adding OAuth access scopes, fixing OAuth authorization UI, adding rate limiting
...
to the API
2016-10-22 19:39:44 +02:00
Eugen Rochko
4470966cd9
Fix #100 - Add "back" button to certain views
...
Also fix reloading of timelines after merge-type events
2016-10-19 18:20:19 +02:00
Eugen Rochko
be98addccc
Improving all forms
2016-10-18 16:37:15 +02:00
Eugen Rochko
683c42724f
Added e-mail edit field to settings, proper format default for webfinger
2016-10-18 03:34:26 +02:00
Eugen Rochko
02613aef3b
Adding application/jrd+json webfinger resource
2016-10-18 02:54:49 +02:00
Eugen Rochko
41aae40927
Fix #16 - Optimize n+1 queries when checking reblogged/favourited values for status lists in API
2016-10-16 19:10:16 +02:00
Eugen Rochko
5860094354
Adding sync of follow relationships to Neo4J, accounts/suggestions API
2016-10-14 23:10:07 +02:00
Eugen Rochko
588cb77e9f
E-mail preferences page
2016-10-14 02:28:49 +02:00
Eugen Rochko
84495615b4
Shorten rendered links (strip protocol and www, truncate to 30 chars), redirect
...
to sign in page after sign up instead of root path which redirects to /about
2016-10-13 16:51:34 +02:00
Eugen Rochko
405f7f0541
No-op for Salmons without body, fail fast if Webfinger does not contain
...
all required resource links (profile page, salmon, atom feed, magic key)
2016-10-13 13:41:06 +02:00
Eugen Rochko
ad2a5cc79f
Stop logging incoming Atom
2016-10-10 18:16:39 +02:00
Eugen Rochko
4f406d89b1
Log incoming Atom from PuSH
2016-10-10 17:40:28 +02:00
Eugen Rochko
102eab0ac9
Public timeline to exclude users you blocked
2016-10-09 15:15:21 +02:00
Eugen Rochko
9bf5a73968
Adding domain blocks
2016-10-09 14:48:59 +02:00
Eugen Rochko
c3f5dfeabb
Adding public timeline
2016-10-07 16:00:11 +02:00
Eugen Rochko
93aa4085a2
Fix #73 - Click on in-UI profile avatar/name to open public profile
2016-10-06 23:15:50 +02:00
Eugen Rochko
10395fd275
Fix #72 - add follow/unfollow button to public profiles
2016-10-06 21:27:58 +02:00
Eugen Rochko
b23c4b488c
Better comparison of "local" domain
2016-10-06 16:36:16 +02:00
Eugen Rochko
c02bdd64a0
Fix sign-in redirecting "back" to a missing image because missing static files hit the raise_not_found method
2016-10-06 15:42:00 +02:00
Eugen Rochko
96cc77ce55
Catch Paperclip errors on /api/v1/media, return early from update profile service if XML given is nil
2016-10-06 14:40:15 +02:00
Eugen Rochko
fe77921e47
Catching more exceptions that slipped through, removing AR logging from
...
production as it's very verbose and not very useful
2016-10-05 13:26:44 +02:00
Eugen Rochko
7b9a4af311
API for blocking and unblocking
2016-10-03 18:17:06 +02:00