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
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
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
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
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
7d45a4e692
Fix local mention regex so it works on newlines in HTML (with a preceding tag)
8 years ago
Eugen Rochko
457625591d
Styling for paragraphs in statuses
8 years ago
Eugen Rochko
73615d7a79
Newlines and paragraphs in local statuses properly formatted
8 years ago
Eugen Rochko
76c40cbfb1
Disallow self-follow
8 years ago
Eugen Rochko
33ad2e5423
Shorten mentions to only usernames
8 years ago
Eugen Rochko
d6b3113304
Validates local username, max sizes for uploads. Fixes #32
8 years ago
Eugen
de7eb2341a
Fix typo in deleteFromTimelines action creator
8 years ago
Eugen Rochko
3cc47beb6e
Refactored generation of unique tags, URIs and object URLs into own classes,
...
as well as formatting of content
8 years ago
Eugen Rochko
735b4cc62e
Probably fixes #31
8 years ago
Eugen Rochko
762157ee4e
Fix for single status pages
8 years ago
Eugen Rochko
85d89b472d
Optimized n+1 queries in accounts Atom and HTML views
...
Added stack trace for SQL queries in development
Removed badly thought out accounts/lookup API
8 years ago
Eugen Rochko
a4cc966476
Removing default avatars
8 years ago
Eugen Rochko
509c18eb13
Fix local follows, 404 in logs
8 years ago
Eugen Rochko
0f4bc56719
Improving production logs, removing n+1 on media attachments in atom,
...
adding attachments display to static views
8 years ago
Eugen Rochko
87576e1ab1
Fixing atom feeds for accounts, adding tests that would catch such bugs in future
8 years ago
Eugen Rochko
499beb4484
UI for uploading media attachments (and cancelling them)
...
Mostly resolves #8 , though attachments are still not displayed in public view
8 years ago
Eugen
1efa8e48d1
Fix enclosures not being parsed for reblogged statuses
8 years ago
Eugen Rochko
aca988a16b
Fix for Drawer growing horizontally
8 years ago
Eugen Rochko
75fbde1c1a
Fixed styling for media attachments in statuses (margins)
8 years ago
Eugen Rochko
ac77170d19
Add icons to column headers, click them to scroll to top
8 years ago
Eugen Rochko
1f18cf97b5
Fix styling of media attachments in statuses
8 years ago
Eugen
265215dae9
Fix reply bug introduced when compose form started using normalized data
8 years ago
Eugen Rochko
5f36d8828a
Better layout for attachments in <MediaGallery>
8 years ago
Eugen Rochko
fc222dfa49
Displaying media attachments in timelines
8 years ago
Eugen Rochko
14fb0ab4a2
Improve JSON output for media attachments, generate :small preview for them
8 years ago
Eugen Rochko
ed94e998bc
Fix for media attachments remote URL download
8 years ago
Eugen Rochko
1d9c886518
Adding enclosures to Atom and statuses JSON
8 years ago
Eugen Rochko
eec0dc46a6
PostStatusService can attach media to status, ProcessFeedService likewise
8 years ago
Eugen Rochko
ae1fac0062
Add API to upload media attachments
8 years ago
Eugen Rochko
05001d54d1
Make compose form also use normalized data
8 years ago
Eugen Rochko
926eea89b5
RemoveStatusService fleshed out, still doesn't send Salmon slaps though
8 years ago
Eugen Rochko
b5ebf99439
Possibly fix issue with stale favourite/reblog information after API call
8 years ago
Eugen Rochko
35dfc0fbcb
Fixed more case-sensitivity issues
8 years ago
Eugen Rochko
29996a7e8b
Fix wrongful mentions breaking status update
8 years ago
Eugen Rochko
54ea7f5dfe
Case-insensitive search by usernames
8 years ago
Eugen Rochko
a82f2e4b82
Fix timelines for users whose user id and account_id are not the same
8 years ago
Eugen Rochko
a289c1d52f
Handle delete Salmons, todo: clean up timelines
8 years ago
Eugen Rochko
1022d682dc
Normalized data in Redux, fix for asset URLs when rendered outside request
8 years ago
Eugen Rochko
d0e2733f63
Fix reblogs of reblogs in UI, add follow form in UI
8 years ago
Eugen Rochko
2d57bcf1b7
Preparing for follow form
8 years ago
Eugen Rochko
c249ceb10c
Reblogs fixed
8 years ago
Eugen Rochko
595c8dda60
Favouriting works, reblogging is a little broken because of <Status>
8 years ago
Eugen Rochko
c2a4d70265
Small style fixes
8 years ago
Eugen Rochko
2093cda89a
Fixing one more typo
8 years ago
Eugen Rochko
d6873797ac
Fix typo
8 years ago
Eugen Rochko
dbae8062f4
Replies in the compose form
8 years ago
Eugen Rochko
1e0e17ba85
Improving styling a little bit
8 years ago
Eugen Rochko
72591cc6d5
Cleaning up action names and compose drawer
8 years ago
Eugen Rochko
92afd29650
The frontend will now be an OAuth app, auto-authorized. The frontend will use an access token for API requests
...
Adding better errors for the API controllers, posting a simple status works from the frontend now
8 years ago
Eugen Rochko
44e57f64dd
Improving statuses, adding a composer drawer, which doesn't work yet
8 years ago
Eugen
f5e1127894
Forgotten return
8 years ago
Eugen Rochko
a541e937ca
More styling for statuses
8 years ago
Eugen Rochko
bc0692d75b
Removing mini-profiler that doesn't work, formatting timelines a bit better
8 years ago
Eugen Rochko
03f5ffcd06
Dockerfile adjustments
8 years ago
Eugen Rochko
49520d6e62
Adding React.js, Redux, revamping dashboard
8 years ago
Eugen Rochko
8985f8e66c
Fixing more configuration issues with ActionCable
8 years ago
Eugen Rochko
8459acd123
Fix for force SSL issue with websockets
8 years ago
Eugen Rochko
6426819b6f
Fix tests
8 years ago
Eugen Rochko
6deb9f966e
Live timelines using ActionCable
8 years ago
Eugen Rochko
10ba09f546
Upgrade to Rails 5.0.0.1
8 years ago
Eugen Rochko
ff2cbc0753
Remember me enabled by default
9 years ago
Eugen Rochko
c38ad208c3
Fix mentions regex to exclude usernames in Medium URLs
9 years ago
Eugen Rochko
039e6f951c
Fix issue with unresolvable usernames
9 years ago
Eugen Rochko
882c94a6bf
Cleaning up status partial
9 years ago
Eugen Rochko
85b00d19b8
Moving Salmon notifications to background processing, fixing mini-profiler
...
behaviour with Turbolinks enabled, optimizing Rabl for production
9 years ago
Eugen Rochko
da4b675aca
Fix favourite handling in ProcessInteractionService
9 years ago
Eugen Rochko
43bb8a25e7
Remember user logins by default
9 years ago
Eugen Rochko
f2da848a3e
Add alternate link to entries Atom
9 years ago
Eugen Rochko
5764d52b04
Fix Sidekiq pooling issues. Remove API docs from homepage, replace with
...
a basic home timeline
9 years ago
Eugen Rochko
318886287b
Fixing some stuff for Turbolinks, adding gzip on top, fixing a n+1 query
9 years ago
Eugen Rochko
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
9 years ago
Eugen Rochko
8eeec389c1
Add link to github project to footer, move FanOutOnWriteService calls to
...
DistributionWorker. That isn't the heaviest service, yet, but gotta start
somewhere
9 years ago
Eugen Rochko
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
9 years ago
Eugen Rochko
9594f0e858
Fix preloading
9 years ago
Eugen Rochko
97d5aba1ec
Do not try to send notification e-mails for reblogs if the reblog is not of a
...
local account
9 years ago
Eugen Rochko
0f5bbb999c
Pre-loading polymorphic associations for Atom feeds
9 years ago
Eugen Rochko
7e58303a8d
Limit Atom feeds to 20 items by default, add pagination by max_id
...
(But there are no Atom feed pagination elements yet)
9 years ago
Eugen Rochko
c8999a116e
Sanitize remote html in atom feeds, API (not just UI), use cached mention
...
relations on Status#mentions
9 years ago
Eugen Rochko
7cd3de3494
Do display top-level content on remote shared notices
9 years ago
Eugen Rochko
082e1cbe5a
Fix default max_id query in paginate_by_max_id
9 years ago
Eugen Rochko
12559b01ea
Add pagination by max_id instead of offset/limit
9 years ago
Eugen Rochko
02e4fb2e06
Only re-download avatar if URL changed ( fix #19 )
9 years ago
Eugen Rochko
921f40c187
Omit empty tags in Atom feed
9 years ago
Eugen Rochko
12d1d9dd80
Reblogs in Atom feeds now have published, updated, and activity:verb. Still related to #20
9 years ago
Eugen Rochko
78137929e6
Fix #20 , reblogs in Atom should be formatted correctly now
9 years ago
Eugen Rochko
f14f462eaf
Adding Turbolinks, adding status posting form on homepage
9 years ago
Eugen Rochko
c28971c70c
Fixed the lookup API method
9 years ago
Eugen Rochko
5b10329394
Resize default avatar cat to fit circle better
9 years ago
Eugen Rochko
02696a063e
Change default avatar, redirect to home after sign up
9 years ago
Eugen Rochko
9d55529318
Fix text color in dashboard inputs, sanitize remote status content in UI,
...
simplify FanOutOnWriteService, add /api/accounts/lookup method
9 years ago
Eugen Rochko
bf08d46e58
Improving borders between predecessor/successor statuses
9 years ago
Eugen Rochko
35aafdba96
Ancestors and descendants of statuses
9 years ago
Eugen Rochko
7e00a21ea6
Small optimizations in Atom feeds
9 years ago
Eugen Rochko
19a259915e
Security update
9 years ago
Eugen Rochko
2ba6537f52
Escape PuSH challenge and change subscriptions and salmon APIs to text/plain
9 years ago
Eugen Rochko
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)
9 years ago
Eugen Rochko
253ab26520
Adding more tests for helpers
9 years ago
Eugen Rochko
b640f35621
Writing out more tests, fixed some bugs
9 years ago
Eugen Rochko
e14b76c7cb
On following/followers pages, show most recent first
9 years ago
Eugen Rochko
7e53efae31
Fix for incoming favourites
9 years ago
Eugen Rochko
f4ad2fb35a
Strip out HTML in plain text notification e-mails. Oh, and fix #14
9 years ago
Eugen Rochko
2b116131d7
Adding e-mail notifications about mentions, follows, favourites and reblogs. Fixing another mention recording bug
9 years ago
Eugen Rochko
5d72b92271
Improving account grid cards layout for longer usernames and notes
9 years ago
Eugen Rochko
71ae4dd3d2
Adding public following and followers pages, fix #3
9 years ago
Eugen Rochko
c349200761
Removing some unused gems, adding pagination to profiles, fix #10
9 years ago
Eugen Rochko
d4892ace62
Adding more test stubs
9 years ago
Eugen Rochko
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
9 years ago
Eugen Rochko
f97fc9744f
Use FanOutOnWriteService AFTER processing mentions
9 years ago
Eugen Rochko
47d1cb4e21
TIL a return from a block seems to return from the whole method rather than
...
the block, even though the last line of a block is an implicit return. I am
confused to say the least
9 years ago
Eugen Rochko
071f64d317
Fix #13 , Atom feeds now contain formatted post content
9 years ago
Eugen Rochko
580b91c387
Fix more subtle bugs with first_or_create
9 years ago
Eugen Rochko
48aeacd5f9
Fixed ANOTHER first_or_create bug. Seriously who came up with that API smh
9 years ago
Eugen Rochko
9a7485d034
Fix typo on /api/accounts/:id/statuses, fix potential case-sensitivity issue
...
when registering incoming status mentions, add Travis CI file
9 years ago
Eugen Rochko
323474c97e
Fix #2 , add rake task for PuSH-unsubscribing from remote users who have no
...
local followers. Remote users' usernames SHOULD be case-sensitive
9 years ago
Eugen Rochko
af7ae348d7
Include AtomBuilderHelper (which declared url_for_target) to all services
9 years ago
Eugen Rochko
e239fc3050
Fix error when unfollowing somebody who wasn't followed in the first place
9 years ago
Eugen Rochko
d022975444
Fixing small bug with FollowRemoteAccountService usage
9 years ago
Eugen Rochko
086d487145
Fix unfollows
9 years ago
Eugen Rochko
9cb690c706
Access tokens no longer expire, case-insensitive local username validation, as well as case-insensitive Webfinger look-up
9 years ago
Eugen Rochko
8767a98fbb
Adding CSS for form errors, adding missing indices
9 years ago
Eugen Rochko
a9db42a956
Validations for local profiles
9 years ago
Eugen Rochko
5c99e304e5
Deleting statuses, deletion propagation
9 years ago
Eugen Rochko
75b3339a99
Respect "delete" verb on remote feeds
9 years ago
Eugen Rochko
6fec8afc3f
Bind oauth applications to users
9 years ago
Eugen Rochko
25d7c1b6ea
Customizing the last of doorkeeper views, adding CSS for dashboard forms
9 years ago
Eugen Rochko
3441361568
Adding simple_form, adding profile settings, header image
9 years ago
Eugen Rochko
1aa477ac2f
Customized more doorkeeper views, only logged in users can create oauth apps
9 years ago
Eugen Rochko
aab9f57e36
Adding config for puma, dashboard layout, fixing some queries
9 years ago
Eugen Rochko
447cfef62d
Improving feed queries, switching API to doorkeeper authentication
9 years ago
Eugen Rochko
b919f39b31
Customizing doorkeeper views for authorizing app
9 years ago
Eugen Rochko
d4b9b289e8
Adding Mastodon logo
9 years ago
Eugen Rochko
6c4c84b161
Distrubute statuses as a fan-out-on-write system, with optional precomputing
9 years ago
Eugen Rochko
fe57f6330f
API methods for retrieving home and mentions timelines
9 years ago
Eugen Rochko
f099bc6091
Adding API for favouriting a status
9 years ago
Eugen Rochko
ffe48fd7c6
Improving how the API responses look
9 years ago
Eugen Rochko
ab6696e855
Adding doorkeeper, adding a REST API
...
POST /api/statuses Params: status (text contents), in_reply_to_id (optional)
GET /api/statuses/:id
POST /api/statuses/:id/reblog
GET /api/accounts/:id
GET /api/accounts/:id/following
GET /api/accounts/:id/followers
POST /api/accounts/:id/follow
POST /api/accounts/:id/unfollow
POST /api/follows Params: uri (e.g. user@domain)
OAuth authentication is currently disabled, but the API can be used with HTTP Auth.
9 years ago
Eugen Rochko
3824c58853
Adding GNU Public license, adding home timeline, reblog/favourite counters
9 years ago
Eugen Rochko
c605b828b5
Adding routes to follow, unfollow, favourite and reblog (locally known models)
9 years ago
Eugen Rochko
aab330eb2d
Adjusting design of public pages, optimizing account page queries
9 years ago
Eugen Rochko
ab80ebdeec
Adjusting design of profile and entry pages, linkify mentions in statuses
9 years ago
Eugen Rochko
6045b6cb18
Customizing devise views and controllers
9 years ago
Eugen Rochko
7e93da3f8d
Removing grape and adding devise
9 years ago
Eugen Rochko
3b4e04dc32
Fixing some bugs, adding pending test examples
9 years ago
Eugen Rochko
23d08c6749
Changing the use of config constants to the Rails configuration object
9 years ago
Eugen Rochko
0e8f59c16f
Refactoring Grape API methods into normal controllers & other things
9 years ago
Eugen Rochko
11ff92c9d7
Adding a test for ReblogService, fixing mentions for remote statuses
9 years ago
Eugen Rochko
47d50b0e39
A lot of fixes from a live test
9 years ago
Eugen Rochko
f1654da7ad
Added <link> tags to profiles and entries
9 years ago
Eugen Rochko
9ec03ab5f5
Ping hubs when following somebody, too
9 years ago
Eugen Rochko
8fada4fae2
When posting a status or reblogging one, ping hubs about the feed update
9 years ago
Eugen Rochko
ad5ae3f60e
Update profile information and download avatar of remote accounts
9 years ago
Eugen Rochko
2825991e09
Improving status display design, including replies and threads
9 years ago
Eugen Rochko
5ae54f9e36
Adding avatars to profile page and statuses
9 years ago
Eugen Rochko
2c70f0ecaa
Adding paperclip for avatars, fixing design of the public pages
9 years ago
Eugen Rochko
fa29ef3a41
Improving design
9 years ago
Eugen Rochko
24646d5769
Adding views for the profile and entry pages
9 years ago
Eugen Rochko
f16b31f077
Adding a bunch of tests
9 years ago
Eugen Rochko
44c5958203
Fixed small bugs and code style offences
9 years ago
Eugen Rochko
71fe24096c
Adding a Mention model, test stubs
9 years ago
Eugen Rochko
42eeecba3f
Service to reblog statuses
9 years ago
Eugen Rochko
c967802c43
Notify remote users about mentions
9 years ago
Eugen Rochko
79609d6270
Add service for posting statuses (normal and replies), mention regex to
...
fetch webfinger information of mentioned accounts
9 years ago
Eugen Rochko
8da8387afe
Add shared statuses to the database
9 years ago
Eugen Rochko
fa7868675d
Send Salmon interactions
9 years ago
Eugen Rochko
10eb47a33e
Do not PuSH-subscribe to remote accounts when creating them for salmon
9 years ago
Eugen Rochko
784b9cca6a
Forgotten argument fix
9 years ago
Eugen Rochko
9411e8c35a
Feed processing except fetching remote statuses
9 years ago
Eugen Rochko
79baf2fd99
Process favourites, reblogs and replies from Salmon
9 years ago
Eugen Rochko
ee73d35eea
Incoming Salmon requests can be turned into follows and unfollows
9 years ago
Eugen Rochko
fa33750105
Adding reblogs, favourites, improving atom generation
9 years ago
Eugen Rochko
3b0bc18db9
Improved Atom rendering templates, added README
9 years ago
Eugen Rochko
2bc48e9064
Individual atom entries
9 years ago
Eugen Rochko
1dad72bf13
Fixes and general progress
9 years ago
Eugen Rochko
709c6685a9
Made some progress
9 years ago
Eugen Rochko
9c4856bdb1
Initial commit
9 years ago