Commit Graph

8817 Commits

Author SHA1 Message Date
Eugen Rochko
a91c3ef6ce Delegate processing of incoming PuSH data to background workers 2016-11-15 15:43:33 +01:00
Eugen Rochko
cea28e0c1d Fix wrong link header on followers API, wrong link in tabs component, order
account results
2016-11-14 01:19:25 +01:00
Eugen Rochko
f8f15e5697 Fix #63 - Filter mentions that reply to blocked users 2016-11-13 21:11:45 +01:00
Eugen Rochko
bcfa49aea7 Fix another mistake with infinite user list for following 2016-11-13 21:02:10 +01:00
Eugen Rochko
4286d49ade Fix another mistake 2016-11-13 20:55:24 +01:00
Eugen Rochko
44f236e889 Fix infinite scrolling mistake 2016-11-13 20:52:11 +01:00
Eugen Rochko
dbfe1e4be6 Infinite scroll for followers/following lists 2016-11-13 20:42:54 +01:00
Eugen Rochko
49b7896953 Fix stale reference 2016-11-13 19:44:19 +01:00
Eugen Rochko
3f54fba0d3 Use privacy policy from Discourse 2016-11-13 19:35:45 +01:00
Eugen Rochko
7ce4670164 Force utf-8 encoding when processing XML 2016-11-13 19:12:40 +01:00
Eugen Rochko
50d3083cbd Making upload button into a smaller icon button 2016-11-13 19:08:52 +01:00
Eugen Rochko
d42ed78aa4 Fix #110 - Make web UI use browser history, change links in e-mails to link to that 2016-11-13 14:02:34 +01:00
Eugen Rochko
c4eb63c1d4 Debounce autosuggestions requests 2016-11-13 13:13:36 +01:00
Eugen Rochko
f0bdfadab7 Search component 2016-11-13 13:04:18 +01:00
Eugen Rochko
8152584cf5 Fix #142 - Escape ILIKE special characters from Account.find_remote 2016-11-13 11:27:13 +01:00
Eugen Rochko
20aa777c58 Weigh username matches higher than domain matches in account search 2016-11-12 14:56:40 +01:00
Eugen Rochko
afded319d2 Add limit to search results 2016-11-12 14:49:28 +01:00
Eugen Rochko
09218d4c01 Use full-text search for autosuggestions 2016-11-12 14:36:10 +01:00
Eugen Rochko
1c17b932fe Enable emojis in reply indicator as well 2016-11-10 23:30:42 +01:00
Eugen Rochko
82fd74d101 Fix modals sizing and add animation to it, fix #140 by only making the text of
status clickable (this also fixes multiple dropdown being openable at the same
time)
2016-11-10 23:21:24 +01:00
Eugen Rochko
0320ea4b85 Fix public timeline query 2016-11-10 21:58:22 +01:00
Eugen Rochko
36921be9aa Fix #131 - Make active favourite buttons yellow 2016-11-10 01:32:32 +01:00
Eugen Rochko
ca3b364aea Fix #122 - Add microformats-2 classes to mention links 2016-11-10 01:19:33 +01:00
Eugen Rochko
bf5f55a6bb Fix live status removal from public/hashtag channels 2016-11-10 00:47:47 +01:00
Eugen Rochko
aabf884c5f Discard misattributed remote statuses, improve timelines filter 2016-11-10 00:15:49 +01:00
Eugen Rochko
17903c6dae Improve filtering of public/hashtag timelines, both in backlog and real-time 2016-11-10 00:03:33 +01:00
Eugen Rochko
c5e03a2e0d Status removal is broadcast to public/hashtag timelines too 2016-11-09 19:16:27 +01:00
Eugen Rochko
448ab18a20 Replace setting custom CORS headers with rack-cors, set it on /oauth/token endpoint 2016-11-09 18:06:01 +01:00
Eugen Rochko
b13e7dda1f API pagination for all collections using Link header 2016-11-09 17:48:44 +01:00
Eugen Rochko
9aecc0f48a Move timelines API from statuses to its own controller, add a check for
resources that require a user context vs those that don't (such as public timeline)

/api/v1/statuses/public   -> /api/v1/timelines/public
/api/v1/statuses/home     -> /api/v1/timelines/home
/api/v1/statuses/mentions -> /api/v1/timelines/mentions
/api/v1/statuses/tag/:tag -> /api/v1/timelines/tag/:tag
2016-11-08 23:29:08 +01:00
Eugen Rochko
86574ea524 Adding Emoji One 2016-11-08 21:46:29 +01:00
Eugen Rochko
b6832553ff Adding more logging 2016-11-08 19:37:08 +01:00
Eugen Rochko
cff0b03cbb Fix for thread resolve service and process feed service url method 2016-11-08 19:09:22 +01:00
Eugen Rochko
2f21f4cc01 Fix region setting for AWS gem 2016-11-08 18:55:46 +01:00
Eugen Rochko
bb4d1eb2e8 Improve feed regeneration 2016-11-08 02:08:32 +01:00
Eugen Rochko
096bfbad96 Fix typo 2016-11-08 01:48:17 +01:00
Eugen Rochko
11cbe49ffc ProcessFeedService refactor 2016-11-08 01:44:51 +01:00
Eugen Rochko
dbe00a4156 Improved configuration from ENV, cleaned up timeline filter methods
to be more readable, add extra logging to process feed service
2016-11-07 23:20:52 +01:00
Eugen Rochko
0400734df7 Click video player to toggle playback 2016-11-07 19:05:32 +01:00
Eugen Rochko
a39a92bd22 Fix #135 - More prominent focus style for inputs 2016-11-07 18:45:44 +01:00
Eugen Rochko
bec47e40f5 Better look/behaviours for video player/lightbox 2016-11-07 18:42:39 +01:00
Eugen Rochko
d0d799f911 Replace react-skylight with own solution that centers images better 2016-11-07 18:23:36 +01:00
Eugen Rochko
f5c6baf29d Fix account and hashtag regex 2016-11-07 17:35:25 +01:00
Eugen Rochko
c3559d18a3 Do not modify scroll position unless content has been added to the top, not bottom 2016-11-07 02:11:38 +01:00
Eugen Rochko
4a6cc46e81 Keep scroll position when scrolled down and new content is added 2016-11-07 02:02:55 +01:00
Eugen Rochko
23fc424b7a Account notes (bios) can now contain links. Character limit upped to 160 2016-11-07 01:14:12 +01:00
Eugen Rochko
d14967e1c8 Fix URL configuration when S3 is enabled 2016-11-06 20:43:16 +01:00
Eugen Rochko
93212bc2c4 Add test for FanOutOnWriteService 2016-11-06 15:56:34 +01:00
Eugen Rochko
7bb28bf780 Improve @mention regex 2016-11-05 22:09:51 +01:00
Eugen Rochko
262adb9791 Fix remote hashtag linking 2016-11-05 17:54:19 +01:00
Eugen Rochko
eb47409036 Fix mistake 2016-11-05 17:48:53 +01:00
Eugen Rochko
a698b767c1 Fix linking of remote hashtags in UI, add public view of hashtags 2016-11-05 17:44:14 +01:00
Eugen Rochko
48b9619439 Adding hashtags 2016-11-05 17:13:14 +01:00
Eugen Rochko
62292797ec Adding hashtag model 2016-11-04 19:12:59 +01:00
Eugen Rochko
4ea13d8dc9 Fix web app manifests 2016-11-04 14:19:58 +01:00
Eugen Rochko
2463c72006 Add forgotten reducer for FAVOURITES_FETCH_SUCCESS 2016-11-04 14:15:25 +01:00
Eugen Rochko
087b993892 Adding list of who favourited status 2016-11-04 13:39:24 +01:00
Eugen Rochko
6d5ef89356 Reduce code duplication, add touch scrolling behaviour for webkit browsers
on scrollable areas
2016-11-04 13:32:14 +01:00
Eugen Rochko
98c3a5e9c3 Optimize how statuses are re-rendered and relative time intervals 2016-11-04 12:48:53 +01:00
Eugen Rochko
6d26bfd147 Add list of who reblogged status 2016-11-03 20:16:14 +01:00
Eugen Rochko
0405ef977a Aria-labels actually didn't work in React, so removing. Fixing some bugs 2016-11-03 19:52:09 +01:00
Eugen Rochko
159203a7bc Fix #136: Add aria-labels 2016-11-03 19:19:39 +01:00
Eugen Rochko
1828df9bc0 Disable accounts caching too 2016-11-03 19:06:11 +01:00
Eugen Rochko
abf664b560 Disable caching of statuses (maybe this will help with the weird bug) 2016-11-03 18:55:55 +01:00
Eugen Rochko
3731230c6d Allow @username@domain/@username in follow form, prevent duplicate accounts
created via remote look-up when domains differ but point to the same resource
2016-11-03 16:57:44 +01:00
Eugen Rochko
e4671adc25 Fix reblogged/favourited caching; add API endpoints for who favd/reblogged status 2016-11-03 14:50:22 +01:00
Eugen Rochko
c003e70758 Caching should work correctly now (fingers crossed) 2016-11-03 14:12:45 +01:00
Eugen Rochko
562044f36a Need to disable caching again due to bug in Rabl 2016-11-03 13:59:31 +01:00
Eugen Rochko
0160d1d9b5 Enable caching for some rabl views 2016-11-03 13:28:36 +01:00
Eugen Rochko
aff22bfdb5 Add own composed status to home without waiting for websocket event
This makes the UI appear less laggy. After all, the status *is* created
right there and then, it's the distribution to home timelines that can take
a while
2016-11-03 11:06:55 +01:00
Eugen Rochko
4b357ecf98 Fix subtle bugs, new icon button 2016-11-02 22:29:19 +01:00
Eugen
d427df4a8a Merge pull request #132 from marcus-herrmann/master
a11y: Improve icon button component regarding semantics, screen reader usage
2016-11-02 21:53:05 +01:00
Eugen
76a717d549 Merge pull request #129 from fhemberger/fix/a11y-labels
a11y: Add labels to input fields for screenreader
2016-11-02 21:53:00 +01:00
mhe
87aabeb7af a11y: Improve icon button component regarding semantics and screen reader usage 2016-11-02 20:18:39 +01:00
Eugen
bc1dba22c5 Fix syntax errors 2016-11-02 17:13:47 +01:00
Frederic Hemberger
e7cd6da938 Add touch icons for Chrome, iOS and Windows 10 2016-11-02 16:05:08 +01:00
Frederic Hemberger
5ff2762fcf a11y: Add labels to input fields for screenreader
See: https://dequeuniversity.com/rules/axe/2.1/label
2016-11-02 14:53:39 +01:00
Eugen Rochko
9467b900a2 Make cookies https-only if LOCAL_HTTPS is true, set X-Frame-Options to DENY,
add permissive CORS to API controllers
2016-11-02 12:58:15 +01:00
Frederic Hemberger
d991869498 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
dd03118098 Fix follow icon changing plus to minus, add terms page stub 2016-11-01 18:05:55 +01:00
Eugen Rochko
57304ac375 Catch 404 errors when downloading remote media, add screenshot to landing page 2016-11-01 16:58:13 +01:00
Eugen Rochko
bab4904492 Actually fix the reblogs/favs reducer issue 2016-10-31 18:11:49 +01:00
Eugen
d88d148d89 Fix forgotten reducers for reblogs/favourites 2016-10-31 16:59:36 +01:00
Eugen
50aaf4667f Fix accounts not being normalized from context statuses 2016-10-31 01:27:19 +01:00
Eugen Rochko
7e35650398 Actually complete the autosuggestion feature 2016-10-30 18:21:38 +01:00
Eugen Rochko
c49f6290eb Basic username autocomplete for text area 2016-10-30 18:13:05 +01:00
Eugen Rochko
fa1cc2d05a Limit returned followees/followers by API to 40 for now 2016-10-30 15:14:07 +01:00
Eugen Rochko
f10feb2e70 Fix common followers API 2016-10-30 15:08:36 +01:00
Eugen Rochko
e8ff4c8e56 Refactoring redux state into different reducers 2016-10-30 15:06:43 +01:00
Eugen Rochko
7060bdf04b Hide notes on user lists for now 2016-10-29 01:31:33 +02:00
Eugen Rochko
e0a197650a Adding common followers API, fixing fallback query again 2016-10-29 01:29:19 +02:00
Eugen Rochko
c913bdfc98 Fix follow suggestion fallback to exclude already followed users 2016-10-28 20:35:30 +02:00
Eugen Rochko
bfb6cc5f2c Make suggestions box also use user list components 2016-10-28 20:26:49 +02:00
Eugen Rochko
ac4f53a3a2 Improved how user lists look, added follow button to them 2016-10-28 20:05:44 +02:00
Eugen Rochko
1c84d505c8 Adding following/followers lists to the UI 2016-10-27 21:59:56 +02:00
Eugen Rochko
909d0d5e88 Adding public timeline silencing 2016-10-27 19:33:04 +02:00
Eugen Rochko
e5565a7e4a Fix suggestions fallback query 2016-10-27 19:03:05 +02:00
Eugen Rochko
c1a0633a12 Guard against unexisting statuses rendering 2016-10-25 11:13:16 +02:00
Eugen Rochko
de50eff6ac Add opening images in a modal window 2016-10-24 18:08:23 +02:00
Eugen Rochko
f8f40f15da 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
b746a931a5 Fix OAuth authorization redirect 2016-10-23 12:05:55 +02:00
Eugen Rochko
abb8f5837e Fix public channel 2016-10-23 11:56:04 +02:00
Eugen Rochko
a9e40a3d80 Adding OAuth access scopes, fixing OAuth authorization UI, adding rate limiting
to the API
2016-10-22 19:39:44 +02:00
Eugen Rochko
852c82435d Fix method return when rescuing 2016-10-20 18:36:12 +02:00
Eugen Rochko
04bbc57690 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
8698cd3281 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
1d2175f73c Do not force-transcode uploaded videos to webm (leave mp4 as-is) 2016-10-18 17:51:45 +02:00
Eugen Rochko
f88b8ce757 Improve how errors are displayed in the UI 2016-10-18 17:09:45 +02:00
Eugen Rochko
aea151a0de Fix #97 - plain text version of devise e-mails 2016-10-18 16:39:21 +02:00
Eugen Rochko
43df35213e Improving all forms 2016-10-18 16:37:15 +02:00
Eugen Rochko
2e0a38d07c Added e-mail edit field to settings, proper format default for webfinger 2016-10-18 03:34:26 +02:00
Eugen Rochko
d5e086a47b Adding application/jrd+json webfinger resource 2016-10-18 02:54:49 +02:00
Eugen Rochko
7bb72ff198 Small clean up 2016-10-18 01:48:46 +02:00
Eugen Rochko
b62c31306e This should fix it 2016-10-18 01:44:31 +02:00
Eugen Rochko
f8b9b0810d Debugging 2016-10-18 01:38:32 +02:00
Eugen Rochko
225ce8cfce More debugging 2016-10-18 01:34:38 +02:00
Eugen Rochko
ea44d89383 More debugging 2016-10-18 01:31:03 +02:00
Eugen Rochko
dd02fc0ec4 More debugging 2016-10-18 01:22:28 +02:00
Eugen Rochko
f3e5625d2d More debugging 2016-10-18 01:16:50 +02:00
Eugen Rochko
fdd30af595 Will this fix the issue? 2016-10-18 01:11:00 +02:00
Eugen Rochko
6611e3a2ef More debugging 2016-10-18 00:59:18 +02:00
Eugen Rochko
564e01eaf6 Add console.error to all axios failures 2016-10-18 00:42:04 +02:00
Eugen Rochko
6c05e3063a 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
a782e3b39d Actually fix public timeline 2016-10-17 01:59:34 +02:00
Eugen Rochko
e865673175 Fix #82 - only show latest reblog of status in UI 2016-10-17 01:34:16 +02:00
Eugen Rochko
b5c6d00afa Fix #99 - public timeline not just reblogs, fix #98 infinite scrolling issues 2016-10-17 01:23:41 +02:00
Eugen Rochko
13ee88926d Increase default number of loaded suggestions to 10 2016-10-16 19:30:01 +02:00
Eugen Rochko
f0f791bb76 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
0895ff414e Fix RemoveStatusService trying to send delete salmons on behalf of remote statuses 2016-10-16 19:14:23 +02:00
Eugen Rochko
de1f3aab86 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
1de2833f30 Filter out reblogs of blocked users from public timeline (the not real-time variant) 2016-10-16 18:35:20 +02:00
Eugen Rochko
b8eda3026f Fix scrolling on small devices for account timelines and compose column 2016-10-16 17:09:00 +02:00
Eugen Rochko
4470330385 Backfill follow suggestions with fallback when not enough results. Cycling
through suggestions in UI
2016-10-16 17:04:13 +02:00
Eugen Rochko
db4671fd3f Fix suggestions fallback 2016-10-15 17:34:00 +02:00
Eugen Rochko
6e0b3ddb0d Fix follow suggestions order 2016-10-15 17:19:18 +02:00
Eugen Rochko
df2c0b8dad Fix typo 2016-10-15 16:57:10 +02:00
Eugen Rochko
04bfd4262f Fix follow suggestions ranking 2016-10-15 16:54:50 +02:00
Eugen Rochko
7075cef8f9 Adding sort by node rank to follow suggestions and fallback to most influential users 2016-10-15 16:46:15 +02:00
Eugen Rochko
67b35a601a Exclude blocked users from follow suggestions, fix tests 2016-10-15 13:48:38 +02:00
Eugen Rochko
aa9d48343d Fix suggestions box style for long names 2016-10-15 13:05:37 +02:00
Eugen Rochko
edefd87adf Fix multiple results return from FollowSuggestion.get 2016-10-15 13:00:21 +02:00
Eugen Rochko
4d336cefac Add sync command for neo4j, fix configuration, add neo4j to docker-compose, fix seed 2016-10-15 12:37:43 +02:00
Eugen Rochko
20f581f796 Display follow suggestions 2016-10-15 12:06:30 +02:00
Eugen Rochko
e21a3fe0cd Adding sync of follow relationships to Neo4J, accounts/suggestions API 2016-10-14 23:10:07 +02:00
Eugen Rochko
91144d46ec Fix duplication of media attachments when a remote status reblogs a local one 2016-10-14 20:15:37 +02:00
Eugen Rochko
244d1307a3 Fix remove status service sending salmons 2016-10-14 20:09:33 +02:00
Eugen Rochko
a3384b6ea6 Add "edit profile" link to dropdown on own profile 2016-10-14 02:45:20 +02:00
Eugen Rochko
7a6d95f70c E-mail preferences page 2016-10-14 02:28:49 +02:00
Eugen Rochko
9b195f5dd3 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
33f7e1cf99 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
157f03f8bd 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
36e7eeb6b9 Treat dfrn:owner like xmlns:author for Friendica compatibility 2016-10-12 22:55:00 +02:00
Eugen Rochko
64302b3c99 Improve Friendica support (but still not there yet) 2016-10-12 21:07:00 +02:00
Eugen Rochko
160b5148ec Fix magic key in webfinger XRD href 2016-10-12 19:30:41 +02:00
Eugen Rochko
c257b29d86 Fix up a few exceptions 2016-10-12 19:25:46 +02:00
Eugen Rochko
f7f3e6e3be Fix styles 2016-10-12 19:14:47 +02:00
Eugen Rochko
2ddf4e09f9 Change how convert options are escaped 2016-10-12 14:39:54 +02:00
Eugen Rochko
cdc49c6b4b Allow mp4 uploads, convert to WebM 2016-10-12 14:29:10 +02:00
Eugen Rochko
45776b55b0 Responsively changing layout to single-column + nav on smaller screens 2016-10-12 13:17:17 +02:00
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
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
Eugen Rochko
3824c58853 Adding GNU Public license, adding home timeline, reblog/favourite counters 2016-03-06 17:52:23 +01:00
Eugen Rochko
c605b828b5 Adding routes to follow, unfollow, favourite and reblog (locally known models) 2016-03-06 12:51:55 +01:00
Eugen Rochko
aab330eb2d Adjusting design of public pages, optimizing account page queries 2016-03-06 12:34:39 +01:00
Eugen Rochko
ab80ebdeec Adjusting design of profile and entry pages, linkify mentions in statuses 2016-03-05 23:42:40 +01:00
Eugen Rochko
6045b6cb18 Customizing devise views and controllers 2016-03-05 22:43:05 +01:00
Eugen Rochko
7e93da3f8d Removing grape and adding devise 2016-03-05 13:12:24 +01:00
Eugen Rochko
3b4e04dc32 Fixing some bugs, adding pending test examples 2016-03-05 12:50:59 +01:00
Eugen Rochko
23d08c6749 Changing the use of config constants to the Rails configuration object 2016-02-29 20:06:39 +01:00
Eugen Rochko
0e8f59c16f Refactoring Grape API methods into normal controllers & other things 2016-02-29 19:42:08 +01:00
Eugen Rochko
11ff92c9d7 Adding a test for ReblogService, fixing mentions for remote statuses 2016-02-28 21:22:56 +01:00
Eugen Rochko
47d50b0e39 A lot of fixes from a live test 2016-02-28 15:46:29 +01:00
Eugen Rochko
f1654da7ad Added <link> tags to profiles and entries 2016-02-28 14:41:01 +01:00
Eugen Rochko
9ec03ab5f5 Ping hubs when following somebody, too 2016-02-28 14:34:25 +01:00
Eugen Rochko
8fada4fae2 When posting a status or reblogging one, ping hubs about the feed update 2016-02-28 14:33:13 +01:00
Eugen Rochko
ad5ae3f60e Update profile information and download avatar of remote accounts 2016-02-28 14:26:26 +01:00
Eugen Rochko
2825991e09 Improving status display design, including replies and threads 2016-02-28 14:02:53 +01:00
Eugen Rochko
5ae54f9e36 Adding avatars to profile page and statuses 2016-02-28 00:51:05 +01:00
Eugen Rochko
2c70f0ecaa Adding paperclip for avatars, fixing design of the public pages 2016-02-28 00:02:59 +01:00
Eugen Rochko
fa29ef3a41 Improving design 2016-02-26 21:11:52 +01:00
Eugen Rochko
24646d5769 Adding views for the profile and entry pages 2016-02-26 20:48:20 +01:00
Eugen Rochko
f16b31f077 Adding a bunch of tests 2016-02-26 15:28:08 +01:00
Eugen Rochko
44c5958203 Fixed small bugs and code style offences 2016-02-25 00:22:46 +01:00
Eugen Rochko
71fe24096c Adding a Mention model, test stubs 2016-02-25 00:17:01 +01:00
Eugen Rochko
42eeecba3f Service to reblog statuses 2016-02-24 18:50:16 +01:00
Eugen Rochko
c967802c43 Notify remote users about mentions 2016-02-24 18:44:03 +01:00
Eugen Rochko
79609d6270 Add service for posting statuses (normal and replies), mention regex to
fetch webfinger information of mentioned accounts
2016-02-24 18:25:04 +01:00
Eugen Rochko
8da8387afe Add shared statuses to the database 2016-02-24 17:23:59 +01:00
Eugen Rochko
fa7868675d Send Salmon interactions 2016-02-24 12:57:29 +01:00
Eugen Rochko
10eb47a33e Do not PuSH-subscribe to remote accounts when creating them for salmon 2016-02-24 03:05:40 +01:00
Eugen Rochko
784b9cca6a Forgotten argument fix 2016-02-24 02:15:58 +01:00
Eugen Rochko
9411e8c35a Feed processing except fetching remote statuses 2016-02-24 01:28:53 +01:00
Eugen Rochko
79baf2fd99 Process favourites, reblogs and replies from Salmon 2016-02-24 00:57:47 +01:00
Eugen Rochko
ee73d35eea Incoming Salmon requests can be turned into follows and unfollows 2016-02-23 22:17:07 +01:00
Eugen Rochko
fa33750105 Adding reblogs, favourites, improving atom generation 2016-02-23 19:17:37 +01:00
Eugen Rochko
3b0bc18db9 Improved Atom rendering templates, added README 2016-02-23 13:08:01 +01:00
Eugen Rochko
2bc48e9064 Individual atom entries 2016-02-22 19:11:07 +01:00
Eugen Rochko
1dad72bf13 Fixes and general progress 2016-02-22 18:10:30 +01:00
Eugen Rochko
709c6685a9 Made some progress 2016-02-22 16:00:20 +01:00
Eugen Rochko
9c4856bdb1 Initial commit 2016-02-20 22:53:20 +01:00