Commit Graph

402 Commits (e4671adc25081161268c885b3427fd84cbecb249)

Author SHA1 Message Date
Eugen Rochko cfba03bd27 Don't return unsaved status from ProcessFeedService 8 years ago
Eugen Rochko 81065bc06c Adding test for ProcessFeedService 8 years ago
Eugen Rochko 3306a5d524 Improve process feed service 8 years ago
Eugen Rochko dd5e724c3f Fix reblog mentions Atom 8 years ago
Eugen Rochko f249a8c187 Include mentions and media attachments of reblogged posts in Atom 8 years ago
Eugen Rochko 65ae9637d6 PuSH unsubscribe needs correct callback URL 8 years ago
Eugen Rochko aec51e40ee Make account domains case-insensitive, downcase before checking against local 8 years ago
Eugen Rochko 5f737c7228 Fix default assumed object type (note->activity), make stream entry threaded? check aware of orphaned replies 8 years ago
Eugen Rochko 0634e8dee5 Improved how in-UI profiles look 8 years ago
Eugen Rochko 29e79f770f Making AccountTimeline into a sub-route 8 years ago
Eugen Rochko 427ba27641 Public timeline to exclude users you blocked 8 years ago
Eugen Rochko 769b1ebbe0 Filter block users and reblogs of them from public timeline 8 years ago
Eugen Rochko 22a8801dbc Adding domain blocks 8 years ago
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
8 years ago
Eugen Rochko d85df27053 Fix mistake 8 years ago
Eugen Rochko bef4d8dab8 Add link to public timeline to getting started screen 8 years ago
Eugen Rochko ef9d4f4e06 Use reselect to memoize denormalization in UI state
Also upgrade react-redux to latest version. This is a performance update
8 years ago
Eugen Rochko 1f650d327d Adding public timeline 8 years ago
Eugen Rochko 06016453bd Adding user settings (model and mailer), no form yet 8 years ago
Eugen Rochko 943c69c65d Fix #73 - Click on in-UI profile avatar/name to open public profile 8 years ago
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
8 years ago
Eugen Rochko e8a8703a4b Fix how missing display name is displayed (fallback to username) 8 years ago
Eugen Rochko 296ce2d45a Adjusting new CSS for smaller screens 8 years ago
Eugen Rochko 2af3abd279 Fix #79 - break too long lines and hide overflowing characters in status content 8 years ago
Eugen Rochko 05af66d6b9 Fix #80 - pretty scrollbars for lucky webkit users 8 years ago
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
8 years ago
Eugen Rochko 3554d638b3 Fix #72 - add follow/unfollow button to public profiles 8 years ago
Eugen Rochko 87ba52ad3f Fix delete option missing from statuses in detailed view 8 years ago
Eugen Rochko 15d01a5e08 Better comparison of "local" domain 8 years ago
Eugen Rochko b304cc07d5 Fix #76 - set scrollTop property of element node rather than use scrollTo() method 8 years ago
Eugen Rochko b60430fe8f Fix sign-in redirecting "back" to a missing image because missing static files hit the raise_not_found method 8 years ago
Eugen Rochko 8bdbe99d69 Fix #71 - Add logout link to UI 8 years ago
Eugen Rochko 68402228f3 Fix #70 - disable autocomplete on follow form 8 years ago
Eugen Rochko 5cfc9efad3 Update OStatus2 to handle malformed Salmon without raising unexpected exceptions 8 years ago
Eugen Rochko 2f5b205916 Catch Paperclip errors on /api/v1/media, return early from update profile service if XML given is nil 8 years ago
Yann Vaillant 038a407b9e
Update default devise wording to include reference to Mastodon
Fix #68
8 years ago
Eugen Rochko 3319473b2c Move PubSubHubbub pinging to a background worker
It can take as much as 0.5s if not longer to complete
8 years ago
Eugen Rochko 2febc6ed65 Fix typo 8 years ago
Eugen Rochko fe77921e47 Catching more exceptions that slipped through, removing AR logging from
production as it's very verbose and not very useful
8 years ago
Eugen Rochko b078885414 Catch :warden correctly 8 years ago
Eugen Rochko feda1e6554 Catch warden throw in actioncable 8 years ago
Eugen Rochko 70e9dd0b5b Blocking will prevent e-mail notifications from blocked user, blocks in UI 8 years ago
Eugen Rochko 7b9a4af311 API for blocking and unblocking 8 years ago
Eugen Rochko 2c9e672ee2 Integrating block relationships into the API (read-only for now) 8 years ago
Eugen Rochko 9d59d7b463 Adding a block model and filter mentions from blocked users (fix #60) 8 years ago
Eugen Rochko a488b05726 Cleaning up unused views 8 years ago
Eugen Rochko fc198a8b4c Adding e-mail confirmations 8 years ago
Eugen Rochko b3c7c8700d Fix most pages on small screens 8 years ago
Eugen Rochko 188c6f326b Making public pages responsive, removing reblogs/favs counts from them 8 years ago
Eugen Rochko d74da1a89a Small fixes 8 years ago
Eugen Rochko 9fd3d7b6cd Add since_id param to feeds 8 years ago
Eugen Rochko a0f85774c4 Redirect after sign in to previous page (unless it's a sign in/up/etc page) 8 years ago
Eugen Rochko 6d7290f47c Add API for getting info about authenticated user: /api/v1/accounts/verify_credentials 8 years ago
Eugen Rochko 31a0202546 Slightly improved e-mail notifications 8 years ago
Eugen Rochko 2d4f9ecebf Validate against multiple reblogs of same status by same account 8 years ago
Eugen Rochko be86d4e0a3 Preparing feeds for better filtering 8 years ago
Eugen Rochko 1fce687f8e Unreblogging and unfavouriting from the UI 8 years ago
Eugen Rochko 4909bbf415 Add logging for outgoing http requests 8 years ago
Eugen Rochko 96ad9b0db1 Meaningful validation errors in API response 8 years ago
Eugen Rochko 62b057b085 Adjust client registration API 8 years ago
Eugen Rochko ef2b50c9ac Deleting statuses from UI 8 years ago
Eugen Rochko a4f7eca5fa Fix #25 - Only latest reblog of status kept on feed as zset value is set to "true" status ID 8 years ago
Eugen Rochko 927333f4f8 Improve code style 8 years ago
Eugen Rochko e4aebad35a Fix handling of multiple Link headers (that should not be a thing though) 8 years ago
Eugen Rochko e63aebff7a Adding landing page 8 years ago
Eugen Rochko 45a96e899e Fix #58 - disable compose form while image is uploading 8 years ago
Eugen Rochko 4f9b7432dd Fix #52 - Add API versioning (v1) 8 years ago
Eugen 3f75f52285 Fix subtle home feed filtering bug 8 years ago
Eugen Rochko 7e14eefc81 Replace logo, fix #57 - delete/unreblog/unfavourite API, fix #45 - app
registration API
8 years ago
Eugen Rochko 210362e665 Improve redirect handling in FetchAtomService 8 years ago
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.
8 years ago
Eugen Rochko 0bd4608ad1 Fix #55 - Filter self from pre-filled mentions 8 years ago
Eugen Rochko 693383234c Improved style of settings page 8 years ago
Eugen Rochko e9bc4a4a08 Limit usernames to 30 chars, statuses to 500, open account after follow form success 8 years ago
Eugen Rochko 62b384824d Improved styling for media/videos in detailed status view 8 years ago
Eugen Rochko 15f51dbf8c Better styling for selected status in detailed view 8 years ago
Eugen Rochko 1215ab57ff Some extra scopes for user sorting 8 years ago
Eugen Rochko a706f1af04 Don't generate stream entries for streamables of remote accounts 8 years ago
Eugen Rochko fb94013796 Improved partial rendering for threads 8 years ago
Eugen Rochko db6df6ddb3 Only load JS on homepage, no other page uses it 8 years ago
Eugen Rochko 57583f3fb8 Improve partial rendering and Haml performance (Haml->Hamlit) 8 years ago
Eugen Rochko 95d72b2249 Temporarily link "settings" to the static version of the form 8 years ago
Eugen Rochko 0c75ce1122 Improved ColumnsArea on smaller windows, improved how ActionBar looks 8 years ago
Eugen Rochko 3f9708edc4 Change output of api/accounts/:id/follow and unfollow to return relationship
Track relationship in redux state. Display follow/unfollow and following-back
information on account view (unstyled)
8 years ago
Eugen Rochko c6d893a71d Uploading/undoing media modifies status text. Also: status text trimmed before validation 8 years ago
Eugen Rochko b1a670af8d Handle remote account mentions a little better by trying a URL lookup in the db 8 years ago
Eugen Rochko 2a84271e85 Infinite scroll for account timelines 8 years ago
Eugen Rochko 4a670780f0 Fix #51 - prevent duplicate attachments for remote statuses 8 years ago
Eugen Rochko 2c0261ac25 Infinite scroll for timeline columns 8 years ago
Eugen Rochko 74dfefabd3 Make in-text mentions open account detailed view when possible 8 years ago
Eugen Rochko bc98865c1a API returns mentions for statuses, compose form pre-fills all relevant usernames into the form when replying 8 years ago
Eugen Rochko c0e9603c92 Fix #50 - Order ancestors/descendants by tree path 8 years ago
Eugen Rochko e46abc71ca Fix notifications in UI, added new API for fetching account relationships 8 years ago
Eugen Rochko 4bec613897 Fix #24 - Thread resolving for remote statuses
This is a big one, so let me enumerate:

Accounts as well as stream entry pages now contain Link headers that
reference the Atom feed and Webfinger URL for the former and Atom entry
for the latter. So you only need to HEAD those resources to get that
information, no need to download and parse HTML <link>s.

ProcessFeedService will now queue ThreadResolveWorker for each remote
status that it cannot find otherwise. Furthermore, entries are now
processed in reverse order (from bottom to top) in case a newer entry
references a chronologically previous one.

ThreadResolveWorker uses FetchRemoteStatusService to obtain a status
and attach the child status it was queued for to it.

FetchRemoteStatusService looks up the URL, first with a HEAD, tests
if it's an Atom feed, in which case it processes it directly. Next
for Link headers to the Atom feed, in which case that is fetched
and processed. Lastly if it's HTML, it is checked for <link>s to the Atom
feed, and if such is found, that is fetched and processed. The account for
the status is derived from author/name attribute in the XML and the hostname
in the URL (domain). FollowRemoteAccountService and ProcessFeedService
are used.

This means that potentially threads are resolved recursively until a dead-end
is encountered, however it is performed asynchronously over background jobs,
so it should be ok.
8 years ago
Eugen Rochko 6d89edc4f7 Fix #47 by renaming TIMELINE_SET action to TIMELINE_REFRESH_SUCCESS 8 years ago
Eugen Rochko 1d2856c2af Since GNU Social hubs don't seem to return a hub.lease_seconds param in the subscription confirmation request,
we'll have to default that value to the GS "minimum" (from their code) which is 24 hours.
8 years ago
Eugen Rochko 246330493b More debugging for PuSH confirmations 8 years ago
Eugen Rochko a66d34878c Add more logging to PuSH callback 8 years ago
Eugen Rochko 608a2bfffc Upgrade to PubSubHubbub 0.4 (removing verify_token) 8 years ago
Eugen Rochko a86f21cf90 Fix rake tasks and loading bar 8 years ago
Eugen Rochko 1cfc9aa20e OStatus2 and Goldfinger gems now have timeouts for requests 8 years ago
Eugen Rochko 059ebbf48d Separate PuSH subscriptions from following, add mastodon:push:refresh task,
respect hub.lease_seconds (fix #46)
8 years ago
Eugen Rochko 1245ee42fb Update OStatus2 library 8 years ago
Eugen Rochko 98de6927f3 Remove background mask from avatars 8 years ago
Eugen Rochko 337462aa5e Re-organizing components to be more modular, adding loading bars 8 years ago
Eugen Rochko f820edb463 Fix type mistake in account component 8 years ago
Eugen Rochko ee770c3fd3 Live update account timelines, small fix for replyCompose 8 years ago
Eugen Rochko 0967961de7 Improve how account detailed view looks, load account's statuses 8 years ago
Eugen Rochko dafcb02153 Remove unused action constants 8 years ago
Eugen Rochko 9863196f7b Small rubocop offences removed 8 years ago
Eugen Rochko 08896f7dcf Detailed status view scrollable 8 years ago
Eugen Rochko ab7291b8fe Add ancestors/descendants during normalization in timeline reducer
This way replies will appear in the detailed view live if they are from
statuses that would be delivered to the user normally
8 years ago
Eugen Rochko dfd5deacf4 Volume toggle control in VideoPlayer 8 years ago
Eugen Rochko adffc7a495 Fix #43 8 years ago
Eugen Rochko 5342629a0a Adding webm playback to UI 8 years ago
Eugen Rochko bd5ad304ba Adding media controller, 1 webm/compose form allowed, previews generated 8 years ago
Eugen Rochko 183a23943b Fix how other services used old FollowRemoteAccountService 8 years ago
Eugen Rochko 0e9c1a297a Improved error handling for FollowRemoteService 8 years ago
Eugen Rochko 8c0b19012b Fix #41, debug #42 8 years ago
Eugen e906677092 Stop event propagation after IconButton onClick 8 years ago
Eugen Rochko 5b0cef9781 Setting up preliminary "detailed" routes in the UI, new API end-point for fetching status context 8 years ago
Eugen Rochko 2e7aac793a Adding sense of self to the UI, cleaning up routing, adding third (detail) column 8 years ago
Eugen Rochko d6a64f45fd Adding a notification stack for error messages 8 years ago
Eugen Rochko 05b0c985b4 Send "delete" Salmons to remote mentioned accounts on status removal
Fixes #27
8 years ago
Eugen Rochko ce29624c6d Fixing image upload limits, allowing webm, merge/unmerge events trigger
timeline reload in UI, other small fixes
8 years ago
Eugen Rochko 3d566279cb Fix formatter return block 8 years ago
Eugen Rochko 0077fc26df Merge and unmerge timelines on follow/unfollow, solves #21, #22 8 years ago
Eugen Rochko 7d45a4e692 Fix local mention regex so it works on newlines in HTML (with a preceding tag) 8 years ago
Eugen Rochko 457625591d Styling for paragraphs in statuses 8 years ago
Eugen Rochko 73615d7a79 Newlines and paragraphs in local statuses properly formatted 8 years ago
Eugen Rochko 76c40cbfb1 Disallow self-follow 8 years ago
Eugen Rochko 33ad2e5423 Shorten mentions to only usernames 8 years ago
Eugen Rochko d6b3113304 Validates local username, max sizes for uploads. Fixes #32 8 years ago
Eugen de7eb2341a Fix typo in deleteFromTimelines action creator 8 years ago
Eugen Rochko 3cc47beb6e Refactored generation of unique tags, URIs and object URLs into own classes,
as well as formatting of content
8 years ago
Eugen Rochko 735b4cc62e Probably fixes #31 8 years ago
Eugen Rochko 762157ee4e Fix for single status pages 8 years ago
Eugen Rochko 85d89b472d Optimized n+1 queries in accounts Atom and HTML views
Added stack trace for SQL queries in development
Removed badly thought out accounts/lookup API
8 years ago
Eugen Rochko a4cc966476 Removing default avatars 8 years ago
Eugen Rochko 509c18eb13 Fix local follows, 404 in logs 8 years ago
Eugen Rochko 0f4bc56719 Improving production logs, removing n+1 on media attachments in atom,
adding attachments display to static views
8 years ago
Eugen Rochko 87576e1ab1 Fixing atom feeds for accounts, adding tests that would catch such bugs in future 8 years ago
Eugen Rochko 499beb4484 UI for uploading media attachments (and cancelling them)
Mostly resolves #8, though attachments are still not displayed in public view
8 years ago
Eugen 1efa8e48d1 Fix enclosures not being parsed for reblogged statuses 8 years ago
Eugen Rochko aca988a16b Fix for Drawer growing horizontally 8 years ago
Eugen Rochko 75fbde1c1a Fixed styling for media attachments in statuses (margins) 8 years ago
Eugen Rochko ac77170d19 Add icons to column headers, click them to scroll to top 8 years ago
Eugen Rochko 1f18cf97b5 Fix styling of media attachments in statuses 8 years ago
Eugen 265215dae9 Fix reply bug introduced when compose form started using normalized data 8 years ago
Eugen Rochko 5f36d8828a Better layout for attachments in <MediaGallery> 8 years ago