Frederic Hemberger
6c44d9e7f5
a11y: Add HTML lang attribute and utf8 encoding meta tag
...
See: https://dequeuniversity.com/rules/axe/2.1/html-has-lang
2016-11-02 11:01:18 +01:00
Eugen Rochko
36470feeb2
Fix follow icon changing plus to minus, add terms page stub
2016-11-01 18:05:55 +01:00
Eugen Rochko
02a90979c5
Catch 404 errors when downloading remote media, add screenshot to landing page
2016-11-01 16:58:13 +01:00
Eugen Rochko
31cacef08b
Actually fix the reblogs/favs reducer issue
2016-10-31 18:11:49 +01:00
Eugen
8c3f7964fb
Fix forgotten reducers for reblogs/favourites
2016-10-31 16:59:36 +01:00
Eugen
543e8d6a20
Fix accounts not being normalized from context statuses
2016-10-31 01:27:19 +01:00
Eugen Rochko
6448169447
Actually complete the autosuggestion feature
2016-10-30 18:21:38 +01:00
Eugen Rochko
b91faaebbb
Basic username autocomplete for text area
2016-10-30 18:13:05 +01:00
Eugen Rochko
95e65d883a
Limit returned followees/followers by API to 40 for now
2016-10-30 15:14:07 +01:00
Eugen Rochko
e5c0f979cf
Fix common followers API
2016-10-30 15:08:36 +01:00
Eugen Rochko
53de3b66ce
Refactoring redux state into different reducers
2016-10-30 15:06:43 +01:00
Eugen Rochko
1c157c040a
Hide notes on user lists for now
2016-10-29 01:31:33 +02:00
Eugen Rochko
38cacac4b0
Adding common followers API, fixing fallback query again
2016-10-29 01:29:19 +02:00
Eugen Rochko
2917bca72b
Fix follow suggestion fallback to exclude already followed users
2016-10-28 20:35:30 +02:00
Eugen Rochko
f9e06eb819
Make suggestions box also use user list components
2016-10-28 20:26:49 +02:00
Eugen Rochko
553760399f
Improved how user lists look, added follow button to them
2016-10-28 20:05:44 +02:00
Eugen Rochko
b3aab1f3bc
Adding following/followers lists to the UI
2016-10-27 21:59:56 +02:00
Eugen Rochko
1eac265f35
Adding public timeline silencing
2016-10-27 19:33:04 +02:00
Eugen Rochko
d8a66ab492
Fix suggestions fallback query
2016-10-27 19:03:05 +02:00
Eugen Rochko
43905dd59a
Guard against unexisting statuses rendering
2016-10-25 11:13:16 +02:00
Eugen Rochko
68535f58cd
Add opening images in a modal window
2016-10-24 18:08:23 +02:00
Eugen Rochko
5bea337189
Move status components inside individual containers. We still need to select
...
all statuses/accounts to assemble, but at least lists don't have to be
re-rendered all the time now. Also add "mention" dropdown option
2016-10-24 18:08:23 +02:00
Eugen Rochko
cab1211ef7
Fix OAuth authorization redirect
2016-10-23 12:05:55 +02:00
Eugen Rochko
d63f0295b9
Fix public channel
2016-10-23 11:56:04 +02:00
Eugen Rochko
6657414266
Adding OAuth access scopes, fixing OAuth authorization UI, adding rate limiting
...
to the API
2016-10-22 19:39:44 +02:00
Eugen Rochko
cc10f56f66
Fix method return when rescuing
2016-10-20 18:36:12 +02:00
Eugen Rochko
4470966cd9
Fix #100 - Add "back" button to certain views
...
Also fix reloading of timelines after merge-type events
2016-10-19 18:20:19 +02:00
Eugen Rochko
fac770fccd
Remember scroll position when navigating back, do not needlessly reload
...
entire timelines (only fetch since last known ID). Side effect: account
timelines no longer update in real-time
2016-10-18 23:06:28 +02:00
Eugen Rochko
39aa7caaa5
Do not force-transcode uploaded videos to webm (leave mp4 as-is)
2016-10-18 17:51:45 +02:00
Eugen Rochko
9d7c7bd342
Improve how errors are displayed in the UI
2016-10-18 17:09:45 +02:00
Eugen Rochko
f46cf245bf
Fix #97 - plain text version of devise e-mails
2016-10-18 16:39:21 +02:00
Eugen Rochko
be98addccc
Improving all forms
2016-10-18 16:37:15 +02:00
Eugen Rochko
683c42724f
Added e-mail edit field to settings, proper format default for webfinger
2016-10-18 03:34:26 +02:00
Eugen Rochko
02613aef3b
Adding application/jrd+json webfinger resource
2016-10-18 02:54:49 +02:00
Eugen Rochko
f4376d4d01
Small clean up
2016-10-18 01:48:46 +02:00
Eugen Rochko
f9659685ab
This should fix it
2016-10-18 01:44:31 +02:00
Eugen Rochko
4a2cb79b58
Debugging
2016-10-18 01:38:32 +02:00
Eugen Rochko
e052929058
More debugging
2016-10-18 01:34:38 +02:00
Eugen Rochko
f3a6be81cc
More debugging
2016-10-18 01:31:03 +02:00
Eugen Rochko
b92c8c3f87
More debugging
2016-10-18 01:22:28 +02:00
Eugen Rochko
f06a788e19
More debugging
2016-10-18 01:16:50 +02:00
Eugen Rochko
1abe6ed990
Will this fix the issue?
2016-10-18 01:11:00 +02:00
Eugen Rochko
032de4b5e8
More debugging
2016-10-18 00:59:18 +02:00
Eugen Rochko
b9ace5a74c
Add console.error to all axios failures
2016-10-18 00:42:04 +02:00
Eugen Rochko
d0240a2cf2
Include <id> (identical value to <uri>) on person-type objects in Atom
...
This might help with GS compatibility
2016-10-17 15:36:37 +02:00
Eugen Rochko
39d6f837db
Actually fix public timeline
2016-10-17 01:59:34 +02:00
Eugen Rochko
9dab51e047
Fix #82 - only show latest reblog of status in UI
2016-10-17 01:34:16 +02:00
Eugen Rochko
b1dee1b6d1
Fix #99 - public timeline not just reblogs, fix #98 infinite scrolling issues
2016-10-17 01:23:41 +02:00
Eugen Rochko
1df4d2e3aa
Increase default number of loaded suggestions to 10
2016-10-16 19:30:01 +02:00
Eugen Rochko
7b52b5ab9e
Don't preload timelines as props, load them when timeline component is mounted
...
This prevents the bug where if you go "back" to the UI after navigating to
another page it loads with the old set of statuses
2016-10-16 19:23:17 +02:00
Eugen Rochko
bcdb0dc310
Fix RemoveStatusService trying to send delete salmons on behalf of remote statuses
2016-10-16 19:14:23 +02:00
Eugen Rochko
41aae40927
Fix #16 - Optimize n+1 queries when checking reblogged/favourited values for status lists in API
2016-10-16 19:10:16 +02:00
Eugen Rochko
19b6f7a013
Filter out reblogs of blocked users from public timeline (the not real-time variant)
2016-10-16 18:35:20 +02:00
Eugen Rochko
1715657fa3
Fix scrolling on small devices for account timelines and compose column
2016-10-16 17:09:00 +02:00
Eugen Rochko
916907580e
Backfill follow suggestions with fallback when not enough results. Cycling
...
through suggestions in UI
2016-10-16 17:04:13 +02:00
Eugen Rochko
395d15e5fd
Fix suggestions fallback
2016-10-15 17:34:00 +02:00
Eugen Rochko
8497dfc98e
Fix follow suggestions order
2016-10-15 17:19:18 +02:00
Eugen Rochko
4e89662eea
Fix typo
2016-10-15 16:57:10 +02:00
Eugen Rochko
52a5ad8207
Fix follow suggestions ranking
2016-10-15 16:54:50 +02:00
Eugen Rochko
e5bcf8040c
Adding sort by node rank to follow suggestions and fallback to most influential users
2016-10-15 16:46:15 +02:00
Eugen Rochko
2614a47a15
Exclude blocked users from follow suggestions, fix tests
2016-10-15 13:48:38 +02:00
Eugen Rochko
f4e5ca98bf
Fix suggestions box style for long names
2016-10-15 13:05:37 +02:00
Eugen Rochko
8374abcf06
Fix multiple results return from FollowSuggestion.get
2016-10-15 13:00:21 +02:00
Eugen Rochko
e88d667d3f
Add sync command for neo4j, fix configuration, add neo4j to docker-compose, fix seed
2016-10-15 12:37:43 +02:00
Eugen Rochko
92209a1b6e
Display follow suggestions
2016-10-15 12:06:30 +02:00
Eugen Rochko
5860094354
Adding sync of follow relationships to Neo4J, accounts/suggestions API
2016-10-14 23:10:07 +02:00
Eugen Rochko
4762bb6b7a
Fix duplication of media attachments when a remote status reblogs a local one
2016-10-14 20:15:37 +02:00
Eugen Rochko
7beab6b00c
Fix remove status service sending salmons
2016-10-14 20:09:33 +02:00
Eugen Rochko
6f1497586c
Add "edit profile" link to dropdown on own profile
2016-10-14 02:45:20 +02:00
Eugen Rochko
588cb77e9f
E-mail preferences page
2016-10-14 02:28:49 +02:00
Eugen Rochko
32b6dc088e
Add window titles to auth pages and about page, link sign up/login from about page
2016-10-14 01:03:12 +02:00
Eugen Rochko
84495615b4
Shorten rendered links (strip protocol and www, truncate to 30 chars), redirect
...
to sign in page after sign up instead of root path which redirects to /about
2016-10-13 16:51:34 +02:00
Eugen Rochko
405f7f0541
No-op for Salmons without body, fail fast if Webfinger does not contain
...
all required resource links (profile page, salmon, atom feed, magic key)
2016-10-13 13:41:06 +02:00
Eugen Rochko
dd99153ce6
Treat dfrn:owner like xmlns:author for Friendica compatibility
2016-10-12 22:55:00 +02:00
Eugen Rochko
a1d34be18b
Improve Friendica support (but still not there yet)
2016-10-12 21:07:00 +02:00
Eugen Rochko
3902f9f46d
Fix magic key in webfinger XRD href
2016-10-12 19:30:41 +02:00
Eugen Rochko
34bfc0f0dc
Fix up a few exceptions
2016-10-12 19:25:46 +02:00
Eugen Rochko
6f26b06454
Fix styles
2016-10-12 19:14:47 +02:00
Eugen Rochko
5e49118f86
Change how convert options are escaped
2016-10-12 14:39:54 +02:00
Eugen Rochko
1474f87a14
Allow mp4 uploads, convert to WebM
2016-10-12 14:29:10 +02:00
Eugen Rochko
d70e728326
Responsively changing layout to single-column + nav on smaller screens
2016-10-12 13:17:17 +02:00
Eugen Rochko
1af00c8193
Fixing namespaces issue
2016-10-10 19:16:23 +02:00
Eugen Rochko
43f73c35fd
Show media of reblogged statuses in public html view
2016-10-10 18:23:08 +02:00
Eugen Rochko
ad2a5cc79f
Stop logging incoming Atom
2016-10-10 18:16:39 +02:00
Eugen Rochko
61d7c88408
Fix namespace parsing in Atom feeds
2016-10-10 18:16:07 +02:00
Eugen Rochko
4f406d89b1
Log incoming Atom from PuSH
2016-10-10 17:40:28 +02:00
Eugen Rochko
80217fd58b
Use Account#find_remote method when possible
2016-10-10 17:30:49 +02:00
Eugen Rochko
3d229e3937
Don't return unsaved status from ProcessFeedService
2016-10-10 16:49:05 +02:00
Eugen Rochko
33668b91f8
Adding test for ProcessFeedService
2016-10-10 16:03:38 +02:00
Eugen Rochko
5da603fb6f
Improve process feed service
2016-10-10 15:27:39 +02:00
Eugen Rochko
77f782758b
Fix reblog mentions Atom
2016-10-10 15:08:24 +02:00
Eugen Rochko
13bef96f10
Include mentions and media attachments of reblogged posts in Atom
2016-10-10 14:22:09 +02:00
Eugen Rochko
d2c7d9fc4e
PuSH unsubscribe needs correct callback URL
2016-10-10 03:40:08 +02:00
Eugen Rochko
12a6eb95be
Make account domains case-insensitive, downcase before checking against local
2016-10-10 03:34:15 +02:00
Eugen Rochko
7cb55af441
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
848cbbd242
Improved how in-UI profiles look
2016-10-09 22:19:15 +02:00
Eugen Rochko
22e05d2ff6
Making AccountTimeline into a sub-route
2016-10-09 20:18:54 +02:00
Eugen Rochko
102eab0ac9
Public timeline to exclude users you blocked
2016-10-09 15:15:21 +02:00
Eugen Rochko
d5b2e48e9e
Filter block users and reblogs of them from public timeline
2016-10-09 15:05:07 +02:00
Eugen Rochko
9bf5a73968
Adding domain blocks
2016-10-09 14:48:59 +02:00
Yann Vaillant
9f7d65b98b
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
4f9ac5a611
Fix mistake
2016-10-08 00:39:46 +02:00
Eugen Rochko
1d63e39a00
Add link to public timeline to getting started screen
2016-10-08 00:30:56 +02:00
Eugen Rochko
f10b5ee0d8
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
c3f5dfeabb
Adding public timeline
2016-10-07 16:00:11 +02:00
Eugen Rochko
d51efdd1dc
Adding user settings (model and mailer), no form yet
2016-10-07 13:17:56 +02:00
Eugen Rochko
93aa4085a2
Fix #73 - Click on in-UI profile avatar/name to open public profile
2016-10-06 23:15:50 +02:00
Eugen Rochko
4eb5319882
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
cad6653af0
Fix how missing display name is displayed (fallback to username)
2016-10-06 22:07:32 +02:00
Eugen Rochko
493956bde7
Adjusting new CSS for smaller screens
2016-10-06 22:00:56 +02:00
Eugen Rochko
f3ecf89468
Fix #79 - break too long lines and hide overflowing characters in status content
2016-10-06 21:56:07 +02:00
Eugen Rochko
4c54d1076f
Fix #80 - pretty scrollbars for lucky webkit users
2016-10-06 21:39:30 +02:00
Eugen Rochko
62498dcefd
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
10395fd275
Fix #72 - add follow/unfollow button to public profiles
2016-10-06 21:27:58 +02:00
Eugen Rochko
9c01f3fcf0
Fix delete option missing from statuses in detailed view
2016-10-06 17:27:07 +02:00
Eugen Rochko
b23c4b488c
Better comparison of "local" domain
2016-10-06 16:36:16 +02:00
Eugen Rochko
b62d8e2d5b
Fix #76 - set scrollTop property of element node rather than use scrollTo() method
2016-10-06 16:18:32 +02:00
Eugen Rochko
c02bdd64a0
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
f9f9d74053
Fix #71 - Add logout link to UI
2016-10-06 15:34:11 +02:00
Eugen Rochko
f621ee8101
Fix #70 - disable autocomplete on follow form
2016-10-06 15:24:28 +02:00
Eugen Rochko
6e8165696c
Update OStatus2 to handle malformed Salmon without raising unexpected exceptions
2016-10-06 14:47:38 +02:00
Eugen Rochko
96cc77ce55
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
043ff2f616
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
Eugen Rochko
6d89edc4f7
Fix #47 by renaming TIMELINE_SET action to TIMELINE_REFRESH_SUCCESS
2016-09-20 23:18:00 +02:00
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.
2016-09-20 03:24:04 +02:00
Eugen Rochko
246330493b
More debugging for PuSH confirmations
2016-09-20 03:18:55 +02:00
Eugen Rochko
a66d34878c
Add more logging to PuSH callback
2016-09-20 03:12:23 +02:00
Eugen Rochko
608a2bfffc
Upgrade to PubSubHubbub 0.4 (removing verify_token)
2016-09-20 02:43:20 +02:00
Eugen Rochko
a86f21cf90
Fix rake tasks and loading bar
2016-09-20 01:53:30 +02:00
Eugen Rochko
1cfc9aa20e
OStatus2 and Goldfinger gems now have timeouts for requests
2016-09-20 01:10:51 +02:00
Eugen Rochko
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
Eugen Rochko
1245ee42fb
Update OStatus2 library
2016-09-19 23:52:42 +02:00
Eugen Rochko
98de6927f3
Remove background mask from avatars
2016-09-19 23:28:22 +02:00
Eugen Rochko
337462aa5e
Re-organizing components to be more modular, adding loading bars
2016-09-19 23:26:21 +02:00
Eugen Rochko
f820edb463
Fix type mistake in account component
2016-09-18 18:44:52 +02:00
Eugen Rochko
ee770c3fd3
Live update account timelines, small fix for replyCompose
2016-09-18 18:38:44 +02:00
Eugen Rochko
0967961de7
Improve how account detailed view looks, load account's statuses
2016-09-18 18:18:46 +02:00
Eugen Rochko
dafcb02153
Remove unused action constants
2016-09-18 13:45:39 +02:00
Eugen Rochko
9863196f7b
Small rubocop offences removed
2016-09-18 13:42:24 +02:00
Eugen Rochko
08896f7dcf
Detailed status view scrollable
2016-09-18 13:03:37 +02:00
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
2016-09-18 12:51:09 +02:00
Eugen Rochko
dfd5deacf4
Volume toggle control in VideoPlayer
2016-09-18 12:39:00 +02:00
Eugen Rochko
adffc7a495
Fix #43
2016-09-18 12:28:49 +02:00
Eugen Rochko
5342629a0a
Adding webm playback to UI
2016-09-17 18:05:02 +02:00
Eugen Rochko
bd5ad304ba
Adding media controller, 1 webm/compose form allowed, previews generated
2016-09-17 17:47:26 +02:00
Eugen Rochko
183a23943b
Fix how other services used old FollowRemoteAccountService
2016-09-17 17:07:45 +02:00
Eugen Rochko
0e9c1a297a
Improved error handling for FollowRemoteService
2016-09-17 17:03:36 +02:00
Eugen Rochko
8c0b19012b
Fix #41 , debug #42
2016-09-17 16:36:10 +02:00
Eugen
e906677092
Stop event propagation after IconButton onClick
2016-09-16 11:20:39 +02:00
Eugen Rochko
5b0cef9781
Setting up preliminary "detailed" routes in the UI, new API end-point for fetching status context
2016-09-16 00:21:51 +02:00
Eugen Rochko
2e7aac793a
Adding sense of self to the UI, cleaning up routing, adding third (detail) column
2016-09-13 02:24:40 +02:00
Eugen Rochko
d6a64f45fd
Adding a notification stack for error messages
2016-09-12 19:20:55 +02:00
Eugen Rochko
05b0c985b4
Send "delete" Salmons to remote mentioned accounts on status removal
...
Fixes #27
2016-09-12 18:33:34 +02:00
Eugen Rochko
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
Eugen Rochko
3d566279cb
Fix formatter return block
2016-09-10 19:18:17 +02:00
Eugen Rochko
0077fc26df
Merge and unmerge timelines on follow/unfollow, solves #21 , #22
2016-09-10 18:36:48 +02:00
Eugen Rochko
7d45a4e692
Fix local mention regex so it works on newlines in HTML (with a preceding tag)
2016-09-10 10:19:50 +02:00
Eugen Rochko
457625591d
Styling for paragraphs in statuses
2016-09-10 10:14:36 +02:00
Eugen Rochko
73615d7a79
Newlines and paragraphs in local statuses properly formatted
2016-09-10 10:07:56 +02:00
Eugen Rochko
76c40cbfb1
Disallow self-follow
2016-09-10 10:01:08 +02:00
Eugen Rochko
33ad2e5423
Shorten mentions to only usernames
2016-09-10 09:57:41 +02:00
Eugen Rochko
d6b3113304
Validates local username, max sizes for uploads. Fixes #32
2016-09-10 09:43:45 +02:00
Eugen
de7eb2341a
Fix typo in deleteFromTimelines action creator
2016-09-09 20:54:49 +02:00
Eugen Rochko
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
Eugen Rochko
735b4cc62e
Probably fixes #31
2016-09-09 15:29:41 +02:00
Eugen Rochko
762157ee4e
Fix for single status pages
2016-09-08 21:23:29 +02:00
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
2016-09-08 20:36:01 +02:00
Eugen Rochko
a4cc966476
Removing default avatars
2016-09-08 18:23:59 +02:00
Eugen Rochko
509c18eb13
Fix local follows, 404 in logs
2016-09-08 02:40:51 +02:00
Eugen Rochko
0f4bc56719
Improving production logs, removing n+1 on media attachments in atom,
...
adding attachments display to static views
2016-09-08 01:24:26 +02:00
Eugen Rochko
87576e1ab1
Fixing atom feeds for accounts, adding tests that would catch such bugs in future
2016-09-08 00:33:07 +02:00
Eugen Rochko
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
Eugen
1efa8e48d1
Fix enclosures not being parsed for reblogged statuses
2016-09-06 12:30:15 +02:00
Eugen Rochko
aca988a16b
Fix for Drawer growing horizontally
2016-09-06 01:45:17 +02:00
Eugen Rochko
75fbde1c1a
Fixed styling for media attachments in statuses (margins)
2016-09-06 01:27:40 +02:00
Eugen Rochko
ac77170d19
Add icons to column headers, click them to scroll to top
2016-09-06 00:44:28 +02:00
Eugen Rochko
1f18cf97b5
Fix styling of media attachments in statuses
2016-09-06 00:23:27 +02:00
Eugen
265215dae9
Fix reply bug introduced when compose form started using normalized data
2016-09-05 22:43:34 +02:00
Eugen Rochko
5f36d8828a
Better layout for attachments in <MediaGallery>
2016-09-05 20:59:56 +02:00
Eugen Rochko
fc222dfa49
Displaying media attachments in timelines
2016-09-05 20:38:31 +02:00
Eugen Rochko
14fb0ab4a2
Improve JSON output for media attachments, generate :small preview for them
2016-09-05 19:26:24 +02:00
Eugen Rochko
ed94e998bc
Fix for media attachments remote URL download
2016-09-05 19:11:25 +02:00
Eugen Rochko
1d9c886518
Adding enclosures to Atom and statuses JSON
2016-09-05 18:57:59 +02:00
Eugen Rochko
eec0dc46a6
PostStatusService can attach media to status, ProcessFeedService likewise
2016-09-05 18:39:53 +02:00
Eugen Rochko
ae1fac0062
Add API to upload media attachments
2016-09-05 17:46:36 +02:00
Eugen Rochko
05001d54d1
Make compose form also use normalized data
2016-09-05 16:56:43 +02:00
Eugen Rochko
926eea89b5
RemoveStatusService fleshed out, still doesn't send Salmon slaps though
2016-09-05 01:59:46 +02:00
Eugen Rochko
b5ebf99439
Possibly fix issue with stale favourite/reblog information after API call
2016-09-04 21:28:48 +02:00
Eugen Rochko
35dfc0fbcb
Fixed more case-sensitivity issues
2016-09-04 21:15:52 +02:00
Eugen Rochko
29996a7e8b
Fix wrongful mentions breaking status update
2016-09-04 21:07:29 +02:00
Eugen Rochko
54ea7f5dfe
Case-insensitive search by usernames
2016-09-04 21:06:04 +02:00
Eugen Rochko
a82f2e4b82
Fix timelines for users whose user id and account_id are not the same
2016-09-04 19:22:27 +02:00
Eugen Rochko
a289c1d52f
Handle delete Salmons, todo: clean up timelines
2016-09-04 14:44:16 +02:00
Eugen Rochko
1022d682dc
Normalized data in Redux, fix for asset URLs when rendered outside request
2016-09-04 14:04:26 +02:00
Eugen Rochko
d0e2733f63
Fix reblogs of reblogs in UI, add follow form in UI
2016-09-03 14:01:42 +02:00
Eugen Rochko
2d57bcf1b7
Preparing for follow form
2016-09-01 15:13:02 +02:00
Eugen Rochko
c249ceb10c
Reblogs fixed
2016-09-01 14:12:11 +02:00
Eugen Rochko
595c8dda60
Favouriting works, reblogging is a little broken because of <Status>
2016-09-01 13:21:48 +02:00
Eugen Rochko
c2a4d70265
Small style fixes
2016-09-01 12:13:41 +02:00
Eugen Rochko
2093cda89a
Fixing one more typo
2016-08-31 23:07:46 +02:00
Eugen Rochko
d6873797ac
Fix typo
2016-08-31 23:03:01 +02:00
Eugen Rochko
dbae8062f4
Replies in the compose form
2016-08-31 22:58:10 +02:00
Eugen Rochko
1e0e17ba85
Improving styling a little bit
2016-08-31 16:48:21 +02:00
Eugen Rochko
72591cc6d5
Cleaning up action names and compose drawer
2016-08-31 16:15:12 +02:00
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
2016-08-26 19:12:19 +02:00
Eugen Rochko
44e57f64dd
Improving statuses, adding a composer drawer, which doesn't work yet
2016-08-25 19:52:55 +02:00
Eugen
f5e1127894
Forgotten return
2016-08-24 23:33:46 +02:00
Eugen Rochko
a541e937ca
More styling for statuses
2016-08-24 21:08:00 +02:00
Eugen Rochko
bc0692d75b
Removing mini-profiler that doesn't work, formatting timelines a bit better
2016-08-24 19:23:37 +02:00
Eugen Rochko
03f5ffcd06
Dockerfile adjustments
2016-08-24 18:51:36 +02:00
Eugen Rochko
49520d6e62
Adding React.js, Redux, revamping dashboard
2016-08-24 17:56:44 +02:00
Eugen Rochko
8985f8e66c
Fixing more configuration issues with ActionCable
2016-08-18 18:39:35 +02:00
Eugen Rochko
8459acd123
Fix for force SSL issue with websockets
2016-08-18 17:48:57 +02:00
Eugen Rochko
6426819b6f
Fix tests
2016-08-18 17:22:44 +02:00
Eugen Rochko
6deb9f966e
Live timelines using ActionCable
2016-08-18 15:49:51 +02:00
Eugen Rochko
10ba09f546
Upgrade to Rails 5.0.0.1
2016-08-17 17:58:00 +02:00
Eugen Rochko
ff2cbc0753
Remember me enabled by default
2016-03-28 00:06:52 +02:00
Eugen Rochko
c38ad208c3
Fix mentions regex to exclude usernames in Medium URLs
2016-03-27 23:51:18 +02:00
Eugen Rochko
039e6f951c
Fix issue with unresolvable usernames
2016-03-27 23:38:46 +02:00
Eugen Rochko
882c94a6bf
Cleaning up status partial
2016-03-26 14:42:05 +01:00
Eugen Rochko
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
Eugen Rochko
da4b675aca
Fix favourite handling in ProcessInteractionService
2016-03-26 01:34:12 +01:00
Eugen Rochko
43bb8a25e7
Remember user logins by default
2016-03-26 01:14:37 +01:00
Eugen Rochko
f2da848a3e
Add alternate link to entries Atom
2016-03-26 01:10:18 +01:00
Eugen Rochko
5764d52b04
Fix Sidekiq pooling issues. Remove API docs from homepage, replace with
...
a basic home timeline
2016-03-25 16:10:14 +01:00
Eugen Rochko
318886287b
Fixing some stuff for Turbolinks, adding gzip on top, fixing a n+1 query
2016-03-25 15:09:40 +01:00
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
2016-03-25 14:12:24 +01:00
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
2016-03-25 03:22:26 +01:00
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
2016-03-25 02:13:30 +01:00
Eugen Rochko
9594f0e858
Fix preloading
2016-03-24 13:28:11 +01:00
Eugen Rochko
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
Eugen Rochko
0f5bbb999c
Pre-loading polymorphic associations for Atom feeds
2016-03-24 13:21:53 +01:00
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)
2016-03-24 12:49:34 +01:00
Eugen Rochko
c8999a116e
Sanitize remote html in atom feeds, API (not just UI), use cached mention
...
relations on Status#mentions
2016-03-24 12:43:55 +01:00
Eugen Rochko
7cd3de3494
Do display top-level content on remote shared notices
2016-03-24 12:34:32 +01:00
Eugen Rochko
082e1cbe5a
Fix default max_id query in paginate_by_max_id
2016-03-22 21:53:33 +01:00
Eugen Rochko
12559b01ea
Add pagination by max_id instead of offset/limit
2016-03-22 21:38:47 +01:00
Eugen Rochko
02e4fb2e06
Only re-download avatar if URL changed ( fix #19 )
2016-03-22 21:05:23 +01:00
Eugen Rochko
921f40c187
Omit empty tags in Atom feed
2016-03-22 20:20:37 +01:00
Eugen Rochko
12d1d9dd80
Reblogs in Atom feeds now have published, updated, and activity:verb. Still related to #20
2016-03-22 09:49:54 +01:00
Eugen Rochko
78137929e6
Fix #20 , reblogs in Atom should be formatted correctly now
2016-03-22 09:03:03 +01:00
Eugen Rochko
f14f462eaf
Adding Turbolinks, adding status posting form on homepage
2016-03-21 18:26:47 +01:00
Eugen Rochko
c28971c70c
Fixed the lookup API method
2016-03-21 17:33:04 +01:00
Eugen Rochko
5b10329394
Resize default avatar cat to fit circle better
2016-03-21 17:22:17 +01:00
Eugen Rochko
02696a063e
Change default avatar, redirect to home after sign up
2016-03-21 17:18:30 +01:00
Eugen Rochko
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
Eugen Rochko
bf08d46e58
Improving borders between predecessor/successor statuses
2016-03-21 12:14:19 +01:00
Eugen Rochko
35aafdba96
Ancestors and descendants of statuses
2016-03-21 11:43:21 +01:00
Eugen Rochko
7e00a21ea6
Small optimizations in Atom feeds
2016-03-21 10:31:20 +01:00
Eugen Rochko
19a259915e
Security update
2016-03-21 10:08:19 +01:00
Eugen Rochko
2ba6537f52
Escape PuSH challenge and change subscriptions and salmon APIs to text/plain
2016-03-21 09:24:29 +01:00
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)
2016-03-21 08:44:30 +01:00
Eugen Rochko
253ab26520
Adding more tests for helpers
2016-03-20 13:50:22 +01:00
Eugen Rochko
b640f35621
Writing out more tests, fixed some bugs
2016-03-20 13:03:06 +01:00
Eugen Rochko
e14b76c7cb
On following/followers pages, show most recent first
2016-03-19 22:54:40 +01:00
Eugen Rochko
7e53efae31
Fix for incoming favourites
2016-03-19 22:46:58 +01:00
Eugen Rochko
f4ad2fb35a
Strip out HTML in plain text notification e-mails. Oh, and fix #14
2016-03-19 19:34:31 +01:00
Eugen Rochko
2b116131d7
Adding e-mail notifications about mentions, follows, favourites and reblogs. Fixing another mention recording bug
2016-03-19 19:20:07 +01:00
Eugen Rochko
5d72b92271
Improving account grid cards layout for longer usernames and notes
2016-03-19 14:11:09 +01:00
Eugen Rochko
71ae4dd3d2
Adding public following and followers pages, fix #3
2016-03-19 14:02:30 +01:00
Eugen Rochko
c349200761
Removing some unused gems, adding pagination to profiles, fix #10
2016-03-19 12:49:34 +01:00
Eugen Rochko
d4892ace62
Adding more test stubs
2016-03-19 12:13:47 +01:00
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
2016-03-19 11:59:23 +01:00
Eugen Rochko
f97fc9744f
Use FanOutOnWriteService AFTER processing mentions
2016-03-19 00:41:29 +01:00
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
2016-03-19 00:23:46 +01:00
Eugen Rochko
071f64d317
Fix #13 , Atom feeds now contain formatted post content
2016-03-19 00:16:04 +01:00
Eugen Rochko
580b91c387
Fix more subtle bugs with first_or_create
2016-03-19 00:02:39 +01:00
Eugen Rochko
48aeacd5f9
Fixed ANOTHER first_or_create bug. Seriously who came up with that API smh
2016-03-18 23:47:02 +01:00
Eugen Rochko
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
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
2016-03-17 12:02:45 +01:00
Eugen Rochko
af7ae348d7
Include AtomBuilderHelper (which declared url_for_target) to all services
2016-03-16 22:44:04 +01:00
Eugen Rochko
e239fc3050
Fix error when unfollowing somebody who wasn't followed in the first place
2016-03-16 21:23:40 +01:00
Eugen Rochko
d022975444
Fixing small bug with FollowRemoteAccountService usage
2016-03-16 21:20:50 +01:00
Eugen Rochko
086d487145
Fix unfollows
2016-03-16 21:14:39 +01:00
Eugen Rochko
9cb690c706
Access tokens no longer expire, case-insensitive local username validation, as well as case-insensitive Webfinger look-up
2016-03-16 18:29:52 +01:00
Eugen Rochko
8767a98fbb
Adding CSS for form errors, adding missing indices
2016-03-16 11:46:25 +01:00
Eugen Rochko
a9db42a956
Validations for local profiles
2016-03-16 11:18:09 +01:00
Eugen Rochko
5c99e304e5
Deleting statuses, deletion propagation
2016-03-16 10:58:58 +01:00
Eugen Rochko
75b3339a99
Respect "delete" verb on remote feeds
2016-03-16 10:46:15 +01:00
Eugen Rochko
6fec8afc3f
Bind oauth applications to users
2016-03-14 17:49:13 +01:00
Eugen Rochko
25d7c1b6ea
Customizing the last of doorkeeper views, adding CSS for dashboard forms
2016-03-14 17:41:13 +01:00
Eugen Rochko
3441361568
Adding simple_form, adding profile settings, header image
2016-03-12 20:47:22 +01:00
Eugen Rochko
1aa477ac2f
Customized more doorkeeper views, only logged in users can create oauth apps
2016-03-12 19:46:06 +01:00
Eugen Rochko
aab9f57e36
Adding config for puma, dashboard layout, fixing some queries
2016-03-12 16:21:53 +01:00
Eugen Rochko
447cfef62d
Improving feed queries, switching API to doorkeeper authentication
2016-03-11 16:47:36 +01:00
Eugen Rochko
b919f39b31
Customizing doorkeeper views for authorizing app
2016-03-11 01:58:55 +01:00
Eugen Rochko
d4b9b289e8
Adding Mastodon logo
2016-03-11 01:26:59 +01:00
Eugen Rochko
6c4c84b161
Distrubute statuses as a fan-out-on-write system, with optional precomputing
2016-03-08 20:20:45 +01:00
Eugen Rochko
fe57f6330f
API methods for retrieving home and mentions timelines
2016-03-07 13:25:26 +01:00
Eugen Rochko
f099bc6091
Adding API for favouriting a status
2016-03-07 12:58:42 +01:00
Eugen Rochko
ffe48fd7c6
Improving how the API responses look
2016-03-07 12:52:25 +01:00
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.
2016-03-07 12:42:33 +01:00