Commit Graph

2549 Commits (fc99d11703cda77d5aad406567e0c23e2b971f7c)
 

Author SHA1 Message Date
Eugen Rochko 4a670780f0 Fix #51 - prevent duplicate attachments for remote statuses 8 years ago
Eugen d09f3768b7 Add BTC address for donations to readme 8 years ago
Eugen Rochko 2c0261ac25 Infinite scroll for timeline columns 8 years ago
Eugen Rochko 74dfefabd3 Make in-text mentions open account detailed view when possible 8 years ago
Eugen Rochko bc98865c1a API returns mentions for statuses, compose form pre-fills all relevant usernames into the form when replying 8 years ago
Eugen Rochko 94525b596a Improve README, fix #48 8 years ago
Eugen Rochko c0e9603c92 Fix #50 - Order ancestors/descendants by tree path 8 years ago
Eugen Rochko d709151781 Fix #49 - License changed from GPL-2.0 to AGPL-3.0 8 years ago
Eugen Rochko e46abc71ca Fix notifications in UI, added new API for fetching account relationships 8 years ago
Eugen Rochko 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.
8 years ago
Eugen Rochko 6d89edc4f7 Fix #47 by renaming TIMELINE_SET action to TIMELINE_REFRESH_SUCCESS 8 years ago
Eugen Rochko 1d2856c2af Since GNU Social hubs don't seem to return a hub.lease_seconds param in the subscription confirmation request,
we'll have to default that value to the GS "minimum" (from their code) which is 24 hours.
8 years ago
Eugen Rochko 246330493b More debugging for PuSH confirmations 8 years ago
Eugen Rochko a66d34878c Add more logging to PuSH callback 8 years ago
Eugen Rochko 608a2bfffc Upgrade to PubSubHubbub 0.4 (removing verify_token) 8 years ago
Eugen Rochko a86f21cf90 Fix rake tasks and loading bar 8 years ago
Eugen Rochko 1cfc9aa20e OStatus2 and Goldfinger gems now have timeouts for requests 8 years ago
Eugen Rochko 059ebbf48d Separate PuSH subscriptions from following, add mastodon:push:refresh task,
respect hub.lease_seconds (fix #46)
8 years ago
Eugen Rochko 1245ee42fb Update OStatus2 library 8 years ago
Eugen Rochko 98de6927f3 Remove background mask from avatars 8 years ago
Eugen Rochko 337462aa5e Re-organizing components to be more modular, adding loading bars 8 years ago
Eugen Rochko f820edb463 Fix type mistake in account component 8 years ago
Eugen Rochko ee770c3fd3 Live update account timelines, small fix for replyCompose 8 years ago
Eugen Rochko 0967961de7 Improve how account detailed view looks, load account's statuses 8 years ago
Eugen Rochko dafcb02153 Remove unused action constants 8 years ago
Eugen Rochko 9863196f7b Small rubocop offences removed 8 years ago
Eugen Rochko af375b5bac Update sidekiq, remove sinatra dependency 8 years ago
Eugen Rochko 08896f7dcf Detailed status view scrollable 8 years ago
Eugen Rochko ab7291b8fe Add ancestors/descendants during normalization in timeline reducer
This way replies will appear in the detailed view live if they are from
statuses that would be delivered to the user normally
8 years ago
Eugen Rochko dfd5deacf4 Volume toggle control in VideoPlayer 8 years ago
Eugen Rochko adffc7a495 Fix #43 8 years ago
Eugen Rochko bf4ee145f9 Fix typo in dockerfile 8 years ago
Eugen Rochko 18d21f1a39 Update doorkeeper dependency and replace libav with backported ffmpeg in docker 8 years ago
Eugen Rochko 5342629a0a Adding webm playback to UI 8 years ago
Eugen Rochko bd5ad304ba Adding media controller, 1 webm/compose form allowed, previews generated 8 years ago
Eugen Rochko 183a23943b Fix how other services used old FollowRemoteAccountService 8 years ago
Eugen Rochko 0e9c1a297a Improved error handling for FollowRemoteService 8 years ago
Eugen Rochko 8c0b19012b Fix #41, debug #42 8 years ago
Eugen e906677092 Stop event propagation after IconButton onClick 8 years ago
Eugen Rochko 4f25e3d042 Test case for new api endpoint 8 years ago
Eugen Rochko 5b0cef9781 Setting up preliminary "detailed" routes in the UI, new API end-point for fetching status context 8 years ago
Eugen Rochko 2e7aac793a Adding sense of self to the UI, cleaning up routing, adding third (detail) column 8 years ago
Eugen Rochko d6a64f45fd Adding a notification stack for error messages 8 years ago
Eugen Rochko 05b0c985b4 Send "delete" Salmons to remote mentioned accounts on status removal
Fixes #27
8 years ago
Eugen Rochko 4f0e3b1b19 ffmpeg is not a package on debian, fix dockerfile 8 years ago
Eugen Rochko ce29624c6d Fixing image upload limits, allowing webm, merge/unmerge events trigger
timeline reload in UI, other small fixes
8 years ago
Eugen Rochko 3d566279cb Fix formatter return block 8 years ago
Eugen Rochko 0077fc26df Merge and unmerge timelines on follow/unfollow, solves #21, #22 8 years ago
Eugen Rochko 35b6c4b36a Improve rake tasks 8 years ago
Eugen Rochko 7d45a4e692 Fix local mention regex so it works on newlines in HTML (with a preceding tag) 8 years ago