Eugen Rochko
77efdfa110
Fixing namespaces issue
2016-10-10 19:16:23 +02:00
Eugen Rochko
451733961b
Show media of reblogged statuses in public html view
2016-10-10 18:23:08 +02:00
Eugen Rochko
68eed8c61f
Stop logging incoming Atom
2016-10-10 18:16:39 +02:00
Eugen Rochko
87b618ab02
Fix namespace parsing in Atom feeds
2016-10-10 18:16:07 +02:00
Eugen Rochko
f49ed8c819
Log incoming Atom from PuSH
2016-10-10 17:40:28 +02:00
Eugen Rochko
38ce960ff9
Use Account#find_remote method when possible
2016-10-10 17:30:49 +02:00
Eugen Rochko
cfba03bd27
Don't return unsaved status from ProcessFeedService
2016-10-10 16:49:05 +02:00
Eugen Rochko
81065bc06c
Adding test for ProcessFeedService
2016-10-10 16:03:38 +02:00
Eugen Rochko
3306a5d524
Improve process feed service
2016-10-10 15:27:39 +02:00
Eugen Rochko
dd5e724c3f
Fix reblog mentions Atom
2016-10-10 15:08:24 +02:00
Eugen Rochko
f249a8c187
Include mentions and media attachments of reblogged posts in Atom
2016-10-10 14:22:09 +02:00
Eugen Rochko
65ae9637d6
PuSH unsubscribe needs correct callback URL
2016-10-10 03:40:08 +02:00
Eugen Rochko
aec51e40ee
Make account domains case-insensitive, downcase before checking against local
2016-10-10 03:34:15 +02:00
Eugen Rochko
5f737c7228
Fix default assumed object type (note->activity), make stream entry threaded? check aware of orphaned replies
2016-10-10 02:55:30 +02:00
Eugen Rochko
0634e8dee5
Improved how in-UI profiles look
2016-10-09 22:19:15 +02:00
Eugen Rochko
29e79f770f
Making AccountTimeline into a sub-route
2016-10-09 20:18:54 +02:00
Eugen Rochko
427ba27641
Public timeline to exclude users you blocked
2016-10-09 15:15:21 +02:00
Eugen Rochko
769b1ebbe0
Filter block users and reblogs of them from public timeline
2016-10-09 15:05:07 +02:00
Eugen Rochko
22a8801dbc
Adding domain blocks
2016-10-09 14:48:59 +02:00
Yann Vaillant
35de03fbe3
Strip exif data from uploaded images
...
Using `-strip` cli options from ImageMagick
http://www.imagemagick.org/script/command-line-options.php#strip
fix #85
2016-10-08 15:18:20 +02:00
Eugen Rochko
d85df27053
Fix mistake
2016-10-08 00:39:46 +02:00
Eugen Rochko
bef4d8dab8
Add link to public timeline to getting started screen
2016-10-08 00:30:56 +02:00
Eugen Rochko
ef9d4f4e06
Use reselect to memoize denormalization in UI state
...
Also upgrade react-redux to latest version. This is a performance update
2016-10-08 00:01:22 +02:00
Eugen Rochko
1f650d327d
Adding public timeline
2016-10-07 16:00:11 +02:00
Eugen Rochko
06016453bd
Adding user settings (model and mailer), no form yet
2016-10-07 13:17:56 +02:00
Eugen Rochko
943c69c65d
Fix #73 - Click on in-UI profile avatar/name to open public profile
2016-10-06 23:15:50 +02:00
Eugen Rochko
a4b8069cf5
Styling loading indicator, removing unused routes, adding "getting started" explanation
...
Also, only update relative time every minute instead of 6 seconds. My bad
2016-10-06 22:47:35 +02:00
Eugen Rochko
e8a8703a4b
Fix how missing display name is displayed (fallback to username)
2016-10-06 22:07:32 +02:00
Eugen Rochko
296ce2d45a
Adjusting new CSS for smaller screens
2016-10-06 22:00:56 +02:00
Eugen Rochko
2af3abd279
Fix #79 - break too long lines and hide overflowing characters in status content
2016-10-06 21:56:07 +02:00
Eugen Rochko
05af66d6b9
Fix #80 - pretty scrollbars for lucky webkit users
2016-10-06 21:39:30 +02:00
Eugen Rochko
d772db4344
Fix #83 - if user cannot be found (or is self) throw error, don't return empty 200
...
This prevents the undefined profile from being opened in the first place on such an error
2016-10-06 21:33:33 +02:00
Eugen Rochko
3554d638b3
Fix #72 - add follow/unfollow button to public profiles
2016-10-06 21:27:58 +02:00
Eugen Rochko
87ba52ad3f
Fix delete option missing from statuses in detailed view
2016-10-06 17:27:07 +02:00
Eugen Rochko
15d01a5e08
Better comparison of "local" domain
2016-10-06 16:36:16 +02:00
Eugen Rochko
b304cc07d5
Fix #76 - set scrollTop property of element node rather than use scrollTo() method
2016-10-06 16:18:32 +02:00
Eugen Rochko
b60430fe8f
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
8bdbe99d69
Fix #71 - Add logout link to UI
2016-10-06 15:34:11 +02:00
Eugen Rochko
68402228f3
Fix #70 - disable autocomplete on follow form
2016-10-06 15:24:28 +02:00
Eugen Rochko
5cfc9efad3
Update OStatus2 to handle malformed Salmon without raising unexpected exceptions
2016-10-06 14:47:38 +02:00
Eugen Rochko
2f5b205916
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
Yann Vaillant
038a407b9e
Update default devise wording to include reference to Mastodon
...
Fix #68
2016-10-06 07:45:07 +02:00
Eugen Rochko
3319473b2c
Move PubSubHubbub pinging to a background worker
...
It can take as much as 0.5s if not longer to complete
2016-10-05 13:50:21 +02:00
Eugen Rochko
2febc6ed65
Fix typo
2016-10-05 13:40:14 +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
b078885414
Catch :warden correctly
2016-10-03 19:19:03 +02:00
Eugen Rochko
feda1e6554
Catch warden throw in actioncable
2016-10-03 19:10:56 +02:00
Eugen Rochko
70e9dd0b5b
Blocking will prevent e-mail notifications from blocked user, blocks in UI
2016-10-03 18:49:52 +02:00
Eugen Rochko
7b9a4af311
API for blocking and unblocking
2016-10-03 18:17:06 +02:00
Eugen Rochko
2c9e672ee2
Integrating block relationships into the API (read-only for now)
2016-10-03 17:16:58 +02:00
Eugen Rochko
9d59d7b463
Adding a block model and filter mentions from blocked users ( fix #60 )
2016-10-03 17:12:13 +02:00
Eugen Rochko
a488b05726
Cleaning up unused views
2016-10-03 16:52:45 +02:00
Eugen Rochko
fc198a8b4c
Adding e-mail confirmations
2016-10-03 16:51:00 +02:00
Eugen Rochko
b3c7c8700d
Fix most pages on small screens
2016-10-03 16:17:28 +02:00
Eugen Rochko
188c6f326b
Making public pages responsive, removing reblogs/favs counts from them
2016-10-03 00:26:00 +02:00
Eugen Rochko
d74da1a89a
Small fixes
2016-10-02 23:46:25 +02:00
Eugen Rochko
9fd3d7b6cd
Add since_id param to feeds
2016-10-02 22:35:27 +02:00
Eugen Rochko
a0f85774c4
Redirect after sign in to previous page (unless it's a sign in/up/etc page)
2016-10-02 17:11:08 +02:00
Eugen Rochko
6d7290f47c
Add API for getting info about authenticated user: /api/v1/accounts/verify_credentials
2016-10-02 16:14:21 +02:00
Eugen Rochko
31a0202546
Slightly improved e-mail notifications
2016-10-02 15:37:35 +02:00
Eugen Rochko
2d4f9ecebf
Validate against multiple reblogs of same status by same account
2016-10-02 15:33:24 +02:00
Eugen Rochko
be86d4e0a3
Preparing feeds for better filtering
2016-10-02 15:28:47 +02:00
Eugen Rochko
1fce687f8e
Unreblogging and unfavouriting from the UI
2016-10-02 15:14:26 +02:00
Eugen Rochko
4909bbf415
Add logging for outgoing http requests
2016-10-02 14:58:06 +02:00
Eugen Rochko
96ad9b0db1
Meaningful validation errors in API response
2016-09-30 22:31:16 +02:00
Eugen Rochko
62b057b085
Adjust client registration API
2016-09-30 00:03:08 +02:00
Eugen Rochko
ef2b50c9ac
Deleting statuses from UI
2016-09-30 00:00:45 +02:00
Eugen Rochko
a4f7eca5fa
Fix #25 - Only latest reblog of status kept on feed as zset value is set to "true" status ID
2016-09-29 21:40:37 +02:00
Eugen Rochko
927333f4f8
Improve code style
2016-09-29 21:28:21 +02:00
Eugen Rochko
e4aebad35a
Fix handling of multiple Link headers (that should not be a thing though)
2016-09-27 23:49:12 +02:00
Eugen Rochko
e63aebff7a
Adding landing page
2016-09-27 23:12:33 +02:00
Eugen Rochko
45a96e899e
Fix #58 - disable compose form while image is uploading
2016-09-27 17:02:30 +02:00
Eugen Rochko
4f9b7432dd
Fix #52 - Add API versioning (v1)
2016-09-27 16:59:08 +02:00
Eugen
3f75f52285
Fix subtle home feed filtering bug
2016-09-27 10:52:37 +02:00
Eugen Rochko
7e14eefc81
Replace logo, fix #57 - delete/unreblog/unfavourite API, fix #45 - app
...
registration API
2016-09-26 23:56:53 +02:00
Eugen Rochko
210362e665
Improve redirect handling in FetchAtomService
2016-09-26 17:04:05 +02:00
Eugen Rochko
c6b0311b86
Fix #54 - Fetch remote accounts by URL from mentions
...
Fetching atom extracted from FetchRemoteAccountService and FetchRemoteStatusService
into FetchAtomService. Mentions of the constant "http://activityschema.org/collection/public "
skipped as it's not a real URL/user.
2016-09-26 16:44:40 +02:00
Eugen Rochko
0bd4608ad1
Fix #55 - Filter self from pre-filled mentions
2016-09-26 15:49:28 +02:00
Eugen Rochko
693383234c
Improved style of settings page
2016-09-25 15:48:20 +02:00
Eugen Rochko
e9bc4a4a08
Limit usernames to 30 chars, statuses to 500, open account after follow form success
2016-09-25 15:26:56 +02:00
Eugen Rochko
62b384824d
Improved styling for media/videos in detailed status view
2016-09-25 14:58:07 +02:00
Eugen Rochko
15f51dbf8c
Better styling for selected status in detailed view
2016-09-25 14:20:29 +02:00
Eugen Rochko
1215ab57ff
Some extra scopes for user sorting
2016-09-24 14:59:52 +02:00
Eugen Rochko
a706f1af04
Don't generate stream entries for streamables of remote accounts
2016-09-24 14:42:29 +02:00
Eugen Rochko
fb94013796
Improved partial rendering for threads
2016-09-24 14:34:44 +02:00
Eugen Rochko
db6df6ddb3
Only load JS on homepage, no other page uses it
2016-09-24 13:47:51 +02:00
Eugen Rochko
57583f3fb8
Improve partial rendering and Haml performance (Haml->Hamlit)
2016-09-24 13:40:42 +02:00
Eugen Rochko
95d72b2249
Temporarily link "settings" to the static version of the form
2016-09-23 21:59:21 +02:00
Eugen Rochko
0c75ce1122
Improved ColumnsArea on smaller windows, improved how ActionBar looks
2016-09-23 21:52:28 +02:00
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)
2016-09-23 20:23:26 +02:00
Eugen Rochko
c6d893a71d
Uploading/undoing media modifies status text. Also: status text trimmed before validation
2016-09-22 21:39:53 +02:00
Eugen Rochko
b1a670af8d
Handle remote account mentions a little better by trying a URL lookup in the db
2016-09-22 21:10:36 +02:00
Eugen Rochko
2a84271e85
Infinite scroll for account timelines
2016-09-22 20:58:35 +02:00
Eugen Rochko
4a670780f0
Fix #51 - prevent duplicate attachments for remote statuses
2016-09-22 20:42:20 +02:00
Eugen Rochko
2c0261ac25
Infinite scroll for timeline columns
2016-09-22 01:08:35 +02:00
Eugen Rochko
74dfefabd3
Make in-text mentions open account detailed view when possible
2016-09-22 00:32:27 +02:00
Eugen Rochko
bc98865c1a
API returns mentions for statuses, compose form pre-fills all relevant usernames into the form when replying
2016-09-22 00:09:21 +02:00
Eugen Rochko
c0e9603c92
Fix #50 - Order ancestors/descendants by tree path
2016-09-21 23:18:28 +02:00
Eugen Rochko
e46abc71ca
Fix notifications in UI, added new API for fetching account relationships
2016-09-21 22:07:18 +02:00
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.
2016-09-21 01:50:31 +02:00