Eugen Rochko
427ba27641
Public timeline to exclude users you blocked
8 years ago
Eugen Rochko
22a8801dbc
Adding domain blocks
8 years ago
Eugen Rochko
1f650d327d
Adding public timeline
8 years ago
Eugen Rochko
943c69c65d
Fix #73 - Click on in-UI profile avatar/name to open public profile
8 years ago
Eugen Rochko
3554d638b3
Fix #72 - add follow/unfollow button to public profiles
8 years ago
Eugen Rochko
15d01a5e08
Better comparison of "local" domain
8 years ago
Eugen Rochko
b60430fe8f
Fix sign-in redirecting "back" to a missing image because missing static files hit the raise_not_found method
8 years ago
Eugen Rochko
2f5b205916
Catch Paperclip errors on /api/v1/media, return early from update profile service if XML given is nil
8 years ago
Eugen Rochko
fe77921e47
Catching more exceptions that slipped through, removing AR logging from
...
production as it's very verbose and not very useful
8 years ago
Eugen Rochko
7b9a4af311
API for blocking and unblocking
8 years ago
Eugen Rochko
2c9e672ee2
Integrating block relationships into the API (read-only for now)
8 years ago
Eugen Rochko
9d59d7b463
Adding a block model and filter mentions from blocked users ( fix #60 )
8 years ago
Eugen Rochko
fc198a8b4c
Adding e-mail confirmations
8 years ago
Eugen Rochko
188c6f326b
Making public pages responsive, removing reblogs/favs counts from them
8 years ago
Eugen Rochko
9fd3d7b6cd
Add since_id param to feeds
8 years ago
Eugen Rochko
a0f85774c4
Redirect after sign in to previous page (unless it's a sign in/up/etc page)
8 years ago
Eugen Rochko
6d7290f47c
Add API for getting info about authenticated user: /api/v1/accounts/verify_credentials
8 years ago
Eugen Rochko
96ad9b0db1
Meaningful validation errors in API response
8 years ago
Eugen Rochko
62b057b085
Adjust client registration API
8 years ago
Eugen Rochko
ef2b50c9ac
Deleting statuses from UI
8 years ago
Eugen Rochko
927333f4f8
Improve code style
8 years ago
Eugen Rochko
e63aebff7a
Adding landing page
8 years ago
Eugen Rochko
4f9b7432dd
Fix #52 - Add API versioning (v1)
8 years ago
Eugen Rochko
7e14eefc81
Replace logo, fix #57 - delete/unreblog/unfavourite API, fix #45 - app
...
registration API
8 years ago
Eugen Rochko
693383234c
Improved style of settings page
8 years ago
Eugen Rochko
3f9708edc4
Change output of api/accounts/:id/follow and unfollow to return relationship
...
Track relationship in redux state. Display follow/unfollow and following-back
information on account view (unstyled)
8 years ago
Eugen Rochko
c6d893a71d
Uploading/undoing media modifies status text. Also: status text trimmed before validation
8 years ago
Eugen Rochko
c0e9603c92
Fix #50 - Order ancestors/descendants by tree path
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
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
059ebbf48d
Separate PuSH subscriptions from following, add mastodon:push:refresh task,
...
respect hub.lease_seconds (fix #46 )
8 years ago
Eugen Rochko
adffc7a495
Fix #43
8 years ago
Eugen Rochko
bd5ad304ba
Adding media controller, 1 webm/compose form allowed, previews generated
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 Rochko
5b0cef9781
Setting up preliminary "detailed" routes in the UI, new API end-point for fetching status context
8 years ago
Eugen Rochko
d6a64f45fd
Adding a notification stack for error messages
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
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
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
b5ebf99439
Possibly fix issue with stale favourite/reblog information after API call
8 years ago
Eugen Rochko
54ea7f5dfe
Case-insensitive search by usernames
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