4bec613897
Fix #24 - Thread resolving for remote statuses
...
This is a big one, so let me enumerate:
Accounts as well as stream entry pages now contain Link headers that
reference the Atom feed and Webfinger URL for the former and Atom entry
for the latter. So you only need to HEAD those resources to get that
information, no need to download and parse HTML <link>s.
ProcessFeedService will now queue ThreadResolveWorker for each remote
status that it cannot find otherwise. Furthermore, entries are now
processed in reverse order (from bottom to top) in case a newer entry
references a chronologically previous one.
ThreadResolveWorker uses FetchRemoteStatusService to obtain a status
and attach the child status it was queued for to it.
FetchRemoteStatusService looks up the URL, first with a HEAD, tests
if it's an Atom feed, in which case it processes it directly. Next
for Link headers to the Atom feed, in which case that is fetched
and processed. Lastly if it's HTML, it is checked for <link>s to the Atom
feed, and if such is found, that is fetched and processed. The account for
the status is derived from author/name attribute in the XML and the hostname
in the URL (domain). FollowRemoteAccountService and ProcessFeedService
are used.
This means that potentially threads are resolved recursively until a dead-end
is encountered, however it is performed asynchronously over background jobs,
so it should be ok.
2016-09-21 01:50:31 +02:00
608a2bfffc
Upgrade to PubSubHubbub 0.4 (removing verify_token)
2016-09-20 02:43:20 +02:00
059ebbf48d
Separate PuSH subscriptions from following, add mastodon:push:refresh task,
...
respect hub.lease_seconds (fix #46 )
2016-09-20 00:43:36 +02:00
9863196f7b
Small rubocop offences removed
2016-09-18 13:42:24 +02:00
adffc7a495
Fix #43
2016-09-18 12:28:49 +02:00
183a23943b
Fix how other services used old FollowRemoteAccountService
2016-09-17 17:07:45 +02:00
0e9c1a297a
Improved error handling for FollowRemoteService
2016-09-17 17:03:36 +02:00
8c0b19012b
Fix #41 , debug #42
2016-09-17 16:36:10 +02:00
d6a64f45fd
Adding a notification stack for error messages
2016-09-12 19:20:55 +02:00
05b0c985b4
Send "delete" Salmons to remote mentioned accounts on status removal
...
Fixes #27
2016-09-12 18:33:34 +02:00
ce29624c6d
Fixing image upload limits, allowing webm, merge/unmerge events trigger
...
timeline reload in UI, other small fixes
2016-09-12 18:22:43 +02:00
0077fc26df
Merge and unmerge timelines on follow/unfollow, solves #21 , #22
2016-09-10 18:36:48 +02:00
76c40cbfb1
Disallow self-follow
2016-09-10 10:01:08 +02:00
3cc47beb6e
Refactored generation of unique tags, URIs and object URLs into own classes,
...
as well as formatting of content
2016-09-09 20:04:34 +02:00
509c18eb13
Fix local follows, 404 in logs
2016-09-08 02:40:51 +02:00
499beb4484
UI for uploading media attachments (and cancelling them)
...
Mostly resolves #8 , though attachments are still not displayed in public view
2016-09-07 18:21:57 +02:00
1efa8e48d1
Fix enclosures not being parsed for reblogged statuses
2016-09-06 12:30:15 +02:00
eec0dc46a6
PostStatusService can attach media to status, ProcessFeedService likewise
2016-09-05 18:39:53 +02:00
926eea89b5
RemoveStatusService fleshed out, still doesn't send Salmon slaps though
2016-09-05 01:59:46 +02:00
35dfc0fbcb
Fixed more case-sensitivity issues
2016-09-04 21:15:52 +02:00
29996a7e8b
Fix wrongful mentions breaking status update
2016-09-04 21:07:29 +02:00
54ea7f5dfe
Case-insensitive search by usernames
2016-09-04 21:06:04 +02:00
a289c1d52f
Handle delete Salmons, todo: clean up timelines
2016-09-04 14:44:16 +02:00
49520d6e62
Adding React.js, Redux, revamping dashboard
2016-08-24 17:56:44 +02:00
6426819b6f
Fix tests
2016-08-18 17:22:44 +02:00
6deb9f966e
Live timelines using ActionCable
2016-08-18 15:49:51 +02:00
85b00d19b8
Moving Salmon notifications to background processing, fixing mini-profiler
...
behaviour with Turbolinks enabled, optimizing Rabl for production
2016-03-26 13:42:10 +01:00
da4b675aca
Fix favourite handling in ProcessInteractionService
2016-03-26 01:34:12 +01:00
e24bfbde1a
Fixing FanOutOnWriteService, fixing Sidekiq not having enough DB connections
...
in the pool, adding a throttle of 60rpm per IP, adding mini profiler, adding
admin status to users
2016-03-25 14:12:24 +01:00
8eeec389c1
Add link to github project to footer, move FanOutOnWriteService calls to
...
DistributionWorker. That isn't the heaviest service, yet, but gotta start
somewhere
2016-03-25 03:22:26 +01:00
a08e724476
Fix subscriptions:clear task, refactor feeds, refactor streamable activites
...
and atom feed generation to some extent, as well as the way mentions are
stored
2016-03-25 02:13:30 +01:00
97d5aba1ec
Do not try to send notification e-mails for reblogs if the reblog is not of a
...
local account
2016-03-24 13:25:33 +01:00
12559b01ea
Add pagination by max_id instead of offset/limit
2016-03-22 21:38:47 +01:00
f14f462eaf
Adding Turbolinks, adding status posting form on homepage
2016-03-21 18:26:47 +01:00
9d55529318
Fix text color in dashboard inputs, sanitize remote status content in UI,
...
simplify FanOutOnWriteService, add /api/accounts/lookup method
2016-03-21 17:02:16 +01:00
46cbb9c551
Increase note truncation length on account grids, improve FanOutOnWrite a bit,
...
fix tests (the recorded Salmon fixture expects LOCAL_DOMAIN to be something
specific unfortunately)
2016-03-21 08:44:30 +01:00
b640f35621
Writing out more tests, fixed some bugs
2016-03-20 13:03:06 +01:00
7e53efae31
Fix for incoming favourites
2016-03-19 22:46:58 +01:00
2b116131d7
Adding e-mail notifications about mentions, follows, favourites and reblogs. Fixing another mention recording bug
2016-03-19 19:20:07 +01:00
d4892ace62
Adding more test stubs
2016-03-19 12:13:47 +01:00
66a2107527
Turns out that replies don't have to have the type comment. Changed handling
...
of those to depend on presence of <thr:in-reply-to /> instead
2016-03-19 11:59:23 +01:00
f97fc9744f
Use FanOutOnWriteService AFTER processing mentions
2016-03-19 00:41:29 +01:00
071f64d317
Fix #13 , Atom feeds now contain formatted post content
2016-03-19 00:16:04 +01:00
580b91c387
Fix more subtle bugs with first_or_create
2016-03-19 00:02:39 +01:00
48aeacd5f9
Fixed ANOTHER first_or_create bug. Seriously who came up with that API smh
2016-03-18 23:47:02 +01:00
9a7485d034
Fix typo on /api/accounts/:id/statuses, fix potential case-sensitivity issue
...
when registering incoming status mentions, add Travis CI file
2016-03-18 23:23:19 +01:00
af7ae348d7
Include AtomBuilderHelper (which declared url_for_target) to all services
2016-03-16 22:44:04 +01:00
d022975444
Fixing small bug with FollowRemoteAccountService usage
2016-03-16 21:20:50 +01:00
086d487145
Fix unfollows
2016-03-16 21:14:39 +01:00
75b3339a99
Respect "delete" verb on remote feeds
2016-03-16 10:46:15 +01:00