Matt Jankowski
9d1d8797fd
Webfinger resource to extract username from resource string ( #1607 )
...
* Add WebfingerResource class to extract usernames
* Use WebfingerResource in xrd#webfinger
2017-04-12 18:22:38 +02:00
Matt Jankowski
bf7306636e
Allow import/export of mutes list ( #1541 )
...
* Allow export of mutes list
* Allow importing of mutes list
* Refactor to use Settings::Exports::BaseController and DRY up exports code
2017-04-12 18:20:44 +02:00
Henry Smith
23d4232961
Add unit tests for https://github.com/tootsuite/mastodon/pull/1574 ( #1584 )
2017-04-12 17:16:59 +02:00
Matt Jankowski
ca70fe5ae7
Simplify the way the embed view is created ( #1590 )
...
* Add coverage for embedded status view
* Refactor embed view to eliminate @external_links variable
2017-04-12 16:12:42 +02:00
Matt Jankowski
c27253cbb6
Default to json type for webfinger requests ( #1583 )
2017-04-12 16:03:37 +02:00
Matt Jankowski
9e940ae9a9
Fix issue with intermittent api/v1/notifications failure ( #1606 )
...
The spec was checking the activity_id of the activities held in notifications
within the controller.
Because the activities are different models, it is possible that they are
created with the same database IDs, and when they are this spec fails because an
activity which should not count as a match is counted as one.
2017-04-12 15:53:54 +02:00
Matt Jankowski
63e46e27f0
Refactor exports controller ( #1567 )
...
* Add basic coverage for settings/exports controller
* Remove unused @account variable from settings/exports controller
* Add coverage for download export actions
* Remove deprecated `render :text` in favor of `send_data` for csv downloads
* Add model to handle exports
* Use Export class in settings/exports controller
* Simplify settings/exports controller methods
* Move settings/export to more restful routes
2017-04-11 22:00:43 +02:00
Matt Jankowski
db979ebcee
Imports controller errors ( #1553 )
...
* Add spec for settings/imports controller
* Add failing spec for settings/imports#create
* Fix broken imports
* Refactor ImportWorker
2017-04-11 21:40:14 +02:00
Matt Jankowski
a9886524d9
Remove unused methods from StreamEntriesHelper ( #1365 )
...
Removes:
- avatar_for_status_url
- relative_time
- reblogged_by_me_class
- favourited_by_me_class
2017-04-11 19:32:02 +02:00
Matt Jankowski
9a30c564b6
Remove unused AtomBuilderHelper ( #1364 )
...
This was used in the views/atom/user_stream.xml.ruby file, which no longer is
used.
2017-04-11 19:31:22 +02:00
Matt Jankowski
fcec9fcd99
Pagination improvements ( #1445 )
...
* Replace will_paginate with kaminari
* Use #page instead of #paginate in controllers
* Replace will_paginate.page_gap with pagination.truncate in i18n
* Customize kaminari views to match prior styles
* Set kaminari options to match prior behavior
* Replace will_paginate with paginate in views
2017-04-11 01:11:41 +02:00
Eugen
e0977567e7
When avatar/header are GIF, generate static versions ( #1428 )
...
* When avatar/header are GIF, generate static versions.
Account API returns "avatar"/"avatar_static", "header"/"header_static"
Static version is the same as original for other cases
Web UI de-animates avatars in toots, lists of users
Fix #441 , fix #596 , prerequisite for #1064
* Fix JS test
* Add rake task to generate static avatars/headers from GIF ones, add test
2017-04-11 00:38:58 +02:00
Eugen
68f3ce7d0c
API param to exclude notification types from response ( #1341 )
...
* Add exclude_types param to /api/v1/notifications
* Exclude notification types in web UI through exclude_types in the API
2017-04-10 23:45:29 +02:00
Matt Jankowski
874a240a58
Clean up generation of account webfinger string ( #1477 )
...
* Consolidate webfinger string creation under Account#to_webfinger_s
* Introduce Account#local_username_and_domain for consolidation
2017-04-10 22:58:06 +02:00
Matt Jankowski
8d0a4b7200
Admin base controller ( #1465 )
...
* Add Admin::BaseController to wrap admin area
Extracts the setting of the `admin` layout and verifying that users are admins
to a common base class for the admin/ controllers.
* Add basic coverage for admin/reports and admin/settings controllers
2017-04-10 21:27:03 +02:00
Eugen
47a3702db4
Fix /api/v1/accounts/update_credentials tests ( #1357 )
2017-04-09 20:23:14 +02:00
David Celis
6e0b4032b3
Allow users to update their Account in the API ( #1179 )
...
* Allow users to update their Account in the API
It would be nice for API clients to be able to allow users to update
their accounts without having to wrap Mastodon in a web view. This patch
adds an API endpoint to let users submit a PATCH for their account.
Signed-off-by: David Celis <me@davidcel.is>
* Add /api/v1/accounts/update_credentials to the API docs
Signed-off-by: David Celis <me@davidcel.is>
2017-04-09 18:33:40 +02:00
Matt Jankowski
3b3671c797
Helper cleanup ( #1348 )
...
* Remove unused helper files
* Add coverage for application helper
* Add coverage for StreamEntriesHelper #display_name
2017-04-09 17:11:37 +02:00
Matt Jankowski
41b79ae693
Clean up about page ( #1282 )
...
* Add InstancePresenter to expose site details
* Clean up about controller, use instance presenter
2017-04-09 14:47:25 +02:00
Matt Jankowski
641e809eaf
Search cleanup ( #1333 )
...
* Clean up SQL output in Tag and Account search methods
* Add basic coverage for Tag.search_for
* Add coverage for Account.search_for
* Add coverage for Account.advanced_search_for
2017-04-09 14:45:01 +02:00
Matt Jankowski
27ab3d3d36
Ignore implied formats for catch all route requests ( #1340 )
...
A request to `/test` would show the custom 404 page, but a request to
`/test.test` would return a 404 with an empty body.
This change ignores the format on incoming catch all route requests, so that the
html 404 page is returned on these requests.
2017-04-09 14:39:41 +02:00
Eugen
697e4da6cb
Fix #1141 , fix #1126 - Avatar/profile info fetching ( #1215 )
...
* Fix #1141 , fix #1126 - Work through UpdateRemoteProfileService for both <feed> and <entry> top-level tags
* Improve code quality, remove line unrelated to fix
2017-04-08 13:26:03 +02:00
Matt Jankowski
0d9a420c1a
Use Setting.site_title value for `og:site_name` occurrences ( #1194 )
...
* Add helper method to return Setting.site_title
* Use site_title helper in application layout
* Use site_title value for og:site_name
2017-04-08 12:15:40 +02:00
Eugen
c3f2975fa4
Merge pull request #1183 from thoughtbot/cp-post-status-service-specs
...
Add specs for PostStatusService
2017-04-07 22:30:28 +02:00
Eugen
29a092d6c4
Merge pull request #1184 from thoughtbot/extract-proper-status
...
DRY up reblog vs original status check
2017-04-07 22:28:15 +02:00
Joël Quenneville
9fda277193
Implement pending specs on Status
...
Implement the two pending specs on `Status`: `reblogs_count` and
`favourites_count`.
2017-04-07 15:36:06 -04:00
Chad Pytel
1a82d2bde6
Use I18n for media attachment validation errors
...
These are currently user facing errors, but are not localized. This adds the
ability for these messages to be localized.
2017-04-07 14:23:18 -04:00
Chad Pytel
6a69f9ac65
Add specs for PostStatusService
...
This implements all pending specs, and adds additional coverage for the
following functionality:
* Normal status creation
* Creating a reply status
* Creating a sensitive status
* Creating a status with spoiler text
* A status with no spoiler text gets an empty string for spoiler text
* Creating a status with custom visibility
* Creating a status for an application
* Processing mentions
* Processing Hashtags
* Pinging PuSH hubs
* Crawling links
* Attaching media
2017-04-07 14:21:16 -04:00
Joël Quenneville
8a67fb5eca
DRY up reblog vs original status check
...
Checking reblog vs original status was happening in multiple places
across the app. For views, this logic was encapsulated in a helper
method named `proper_status` but in the other layers of the app, the
logic was duplicated.
Because the logic is used at all layers of the app, we extracted it into
a `Status#proper` method on the model and changed all uses of the logic
to use this method. There is now a single source of truth for this
condition.
We added test coverage to untested methods that got refactored.
2017-04-07 14:18:30 -04:00
Chad Pytel
31f01ad592
Add specs for media attachment validations
...
There are currently not specs for the two media validations that are performed
by `PostStatusService`. This adds specs for the validations that ensure that you
cannot attach more than four files, and that a status cannot have both image and
video attachments.
2017-04-07 12:50:43 -04:00
Eugen Rochko
cd68e54a7d
Split SalmonWorker into smaller parts, move profile updating into another job
2017-04-05 21:43:10 +02:00
Eugen Rochko
d9f1e07c6c
Fix spec
2017-04-05 03:31:26 +02:00
Eugen
744456cb55
Merge branch 'master' into add_more_tests_to_models
2017-04-05 03:27:38 +02:00
Eugen
4751381a24
Merge pull request #852 from peterkeen/email-whitelist-817
...
[#817 ] Add email whitelist
2017-04-05 03:04:58 +02:00
Samy KACIMI
3c5248ca20
Merge branch 'master' into add_more_tests_to_models
2017-04-05 00:43:10 +02:00
Samy KACIMI
630ba25d44
update account_spec
2017-04-05 00:37:23 +02:00
Samy KACIMI
9f80b2dd4e
add more tests to models
2017-04-05 00:29:56 +02:00
Kurtis Rainbolt-Greene
d6c7d89053
Quick attempt to get pull requests passing
2017-04-04 12:14:44 -07:00
Pete Keen
f28fcf9080
[ #817 ] Add email whitelist
...
This adds the ability to filter user signup with a whitelist
instead of or in addition to a blacklist.
Fixes #817
2017-04-04 11:20:15 -04:00
Eugen Rochko
c9ffa7ab1d
Add basic logging of who resolved report
2017-04-03 19:35:00 +02:00
Eugen Rochko
244da78105
Import feature for following/blocking lists (addresses #62 , #177 , #201 , #454 )
2017-03-30 19:42:33 +02:00
Eugen Rochko
a4ce8b09fb
Fix #690 - Webfinger should handle new shortform profile URLs now (nice)
2017-03-28 11:25:43 +02:00
Eugen Rochko
b3cb765a94
Prettier account and stream entry URLs
2017-03-22 19:55:14 +01:00
Eugen Rochko
9adf6e8736
Fix wrongful matching of last period in extended usernames
...
Fix anchor tags in some wikipedia URLs being matches as a hashtag
2017-03-05 18:08:19 +01:00
Eugen Rochko
0cb5a2a0a7
Add digest e-mails
2017-03-04 00:00:48 +01:00
Kit Redgrave
4554ccd5d0
Mute button progress so far. WIP, doesn't entirely work correctly.
2017-03-01 22:31:21 -06:00
Eugen Rochko
7413dcb28a
Fix #555 - Use a better URL parser
2017-02-22 19:35:11 +01:00
Eugen Rochko
2cc31b3194
Adding POST /api/v1/reports API, and a UI for submitting reports
2017-02-14 20:59:26 +01:00
Eugen Rochko
8550d32165
Adding more unit tests. Fixing Salmon slaps XML
2017-02-12 17:30:15 +01:00
Eugen Rochko
f9f8f52fe9
Stop trying to shoehorn all Salmon updates into the poor database-connected
...
StreamEntry model. Simply render Salmon slaps as they are needed
2017-02-12 01:19:14 +01:00
Eugen Rochko
db53bfd30e
Fix semantics of follow requests another slaps
2017-02-11 17:13:11 +01:00
Eugen Rochko
f05f545a58
Improve docs
2017-02-11 16:21:07 +01:00
Eugen Rochko
1e66536797
After FollowService, re-fetch remote account asynchronously, do nothing
...
if account lock info was up to date, otherwise re-do the FollowService
with now updated information
2017-02-11 14:25:01 +01:00
Eugen Rochko
59c8c2b28a
Make follow requests federate
2017-02-11 02:58:00 +01:00
Eugen
7037774d6e
Merge pull request #603 from evanminto/activitypub-account
...
Expose ActivityStreams 2.0 representation of accounts
2017-02-07 02:08:40 +01:00
Evan Minto
8dfcb02bde
Add test
2017-02-06 12:14:02 -08:00
Eugen Rochko
d384845469
Fix #61 - Add list of blocked users to the UI; clean up failed push notifications API
...
Try to fix Travis CI setup
2017-02-05 19:18:11 +01:00
Eugen Rochko
2f126b1225
Removing failed push notification API, make context loads use cache
2017-02-05 17:51:44 +01:00
Eugen Rochko
727d236fcc
Cleaning up format of broadcast real-time messages, removing
...
redis-backed "mentions" timeline as redundant (given notifications)
2017-02-02 00:03:31 +01:00
Eugen Rochko
546423df0f
Add tests for new API
2017-01-29 12:35:55 +01:00
Eugen Rochko
d5a3d0aca2
Fix tests
2017-01-29 12:25:10 +01:00
Eugen Rochko
9327d05bf7
API for apps to register for push notifications
2017-01-29 01:30:32 +01:00
Eugen Rochko
cb33960e0e
Fix #204 , fix #515 - URL truncating is now a style so copypasting is not
...
affected, replaced onClick handler with onMouseUp/Down to detect text
selection not trigger onClick handler then
2017-01-24 17:05:44 +01:00
Eugen Rochko
77a76d5171
Domain blocks now have varying severity - auto-suspend vs auto-silence
2017-01-23 17:38:38 +01:00
Eugen Rochko
a75cada495
Fix oembed controller test
2017-01-23 13:36:17 +01:00
Eugen Rochko
f748a91ec7
Fix #463 - Fetch and display previews of URLs using OpenGraph tags
2017-01-20 01:00:14 +01:00
Eugen Rochko
5d88ef90c9
Fix tests, add applications to eager loading/cache for statuses, fix
...
application website validation, don't link to app website if website isn't set,
also comment out animated boost icon from #464 until it's consistent with non-animated version
2017-01-15 14:01:33 +01:00
Eugen Rochko
f2667139ad
Adding about/more page with extended information that can be set up by an admin
2017-01-13 20:16:38 +01:00
Effy Elden
ad61a21752
Update the Mastodon repository URL from Gargron/ to tootsuite/ in various places
2017-01-11 13:24:14 +11:00
Eugen Rochko
4293e132d1
Persist UI settings, add missing localizations for German
2017-01-09 14:00:55 +01:00
Jessica Stokes
b115602bb7
"Reblog" -> "boost" in more places
...
A couple of places were using "reblog" rather than "boost" - this updates them to match the web UI
2017-01-04 18:00:50 -08:00
Eugen Rochko
800f6cf6a3
Fix #390 - fix redirect after sign-up (to login page instead of homepage)
2017-01-04 15:31:25 +01:00
Eugen Rochko
6a20c13009
Add API for retrieving favourites
2016-12-29 20:33:26 +01:00
Eugen Rochko
2bc6e7c96e
Add API for retrieving blocked accounts
2016-12-29 20:12:32 +01:00
Eugen Rochko
57f6f80838
Add ability to use remote follow function on other sites
2016-12-29 16:54:54 +01:00
Eugen Rochko
6a54df90c8
Replacing follow requests in the settings area with in-UI column
2016-12-26 21:33:51 +01:00
Eugen Rochko
ef9e827c54
Adding follow requests API
2016-12-26 19:30:45 +01:00
Eugen Rochko
1ed3bb3a02
Don't show statuses to blocked users
2016-12-26 19:13:56 +01:00
Eugen Rochko
302051ffcb
Add page for authorizing/rejecting follow requests
2016-12-23 00:04:52 +01:00
Eugen Rochko
238233440f
Follow call on locked account creates follow request instead
...
Reflect "requested" relationship in API and UI
Reflect inability of private posts to be reblogged in the UI
Disable Webfinger for locked accounts
2016-12-22 23:03:57 +01:00
Eugen Rochko
d417da7d3a
Private visibility on statuses prevents non-followers from seeing those
...
Filters out hidden stream entries from Atom feed
Blocks now generate hidden stream entries, can be used to federate blocks
Private statuses cannot be reblogged (generates generic 422 error for now)
POST /api/v1/statuses now takes visibility=(public|unlisted|private) param instead of unlisted boolean
Statuses JSON now contains visibility=(public|unlisted|private) field
2016-12-21 20:04:13 +01:00
Eugen Rochko
9d4f96f440
Removing external hub completely, fix #333 fixing digit-only hashtags,
...
removing web app capability from non-webapp pages
2016-12-18 12:24:37 +01:00
Eugen Rochko
66e08d880c
Improved admin UI
2016-12-13 13:42:10 +01:00
Eugen Rochko
88218c83d5
Add suspend account functionality to admin UI
2016-12-06 18:22:59 +01:00
Eugen Rochko
595f592304
Do not autoplay videos, display play button instead. Use expiring links when using S3. Do not keep originals
...
for avatars/headers, resize avatars down to 120x120 instead of 300x300. Set cache headers on S3 stuff, also
make it private (aka only accessible via expiring links to prevent hotlinking)
2016-12-04 12:28:10 +01:00
Eugen Rochko
047bdf6fe0
Improve notification model
2016-12-03 20:04:19 +01:00
Eugen Rochko
a8814a19dc
Add basic OEmbed provider API, fix #247
2016-11-30 23:01:03 +01:00
Eugen Rochko
8d4ef0b6c3
Per-status control for unlisted mode, also federation for unlisted mode
...
Fix #233 , fix #268
2016-11-30 21:34:59 +01:00
Eugen Rochko
329b2a326d
Normalize localizations, add stub for admin/accounts
2016-11-30 15:32:26 +01:00
Eugen Rochko
bee7aeaea5
Unify collection caching code
2016-11-29 15:49:39 +01:00
Eugen Rochko
f37efe8e56
Add simple admin overview of PuSH subscriptions
2016-11-28 18:45:13 +01:00
Eugen Rochko
b5ad0eb4ea
Adding embedded PuSH server
2016-11-28 13:36:47 +01:00
Eugen Rochko
23162b2893
Update hub URL and re-subscribe if hub URL changes
2016-11-26 15:18:21 +01:00
Eugen Rochko
30f9e9e624
Remove Neo4J
2016-11-24 23:46:27 +01:00
Eugen Rochko
38025dfea3
Adding unified streamable notifications
2016-11-20 19:39:58 +01:00
Eugen Rochko
c282e5be19
Fix OAuth authorization page and add a spec for it
2016-11-18 23:10:44 +01:00
Eugen Rochko
08ed85b3cf
Fix #148 - Devise mailer fixed, test spec added so it won't slip past again
2016-11-17 12:29:11 +01:00
Eugen Rochko
f06907eadd
Remove broken test
2016-11-16 19:11:30 +01:00
Eugen Rochko
1b61e404b4
Localizations for most server-side strings
2016-11-16 00:55:33 +01:00
Eugen Rochko
733b5415be
Fix #142 - Escape ILIKE special characters from Account.find_remote
2016-11-13 11:27:13 +01:00
Eugen Rochko
a6cd0711b0
Upgrade ruby to 2.3.1
2016-11-12 01:55:33 +01:00
Eugen Rochko
0b03bbad67
Discard misattributed remote statuses, improve timelines filter
2016-11-10 00:15:49 +01:00
Eugen Rochko
d98b43cf56
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
5ad6611101
Add test for FanOutOnWriteService
2016-11-06 15:56:34 +01:00
Eugen Rochko
f0956d434c
Improve @mention regex
2016-11-05 22:09:51 +01:00
Eugen Rochko
cb22dce970
Adding hashtags
2016-11-05 17:13:14 +01:00
Eugen Rochko
082e57fc13
Adding hashtag model
2016-11-04 19:12:59 +01:00
Eugen Rochko
834f3c4388
Add tests for recently added API end points
2016-11-03 18:53:37 +01:00
Kai Schaper
c8cab8f1c9
add/update specs for Button, DisplayName, DropdownMenu
2016-10-20 17:34:44 +02:00
Eugen Rochko
02613aef3b
Adding application/jrd+json webfinger resource
2016-10-18 02:54:49 +02:00
Eugen Rochko
2614a47a15
Exclude blocked users from follow suggestions, fix tests
2016-10-15 13:48:38 +02:00
Eugen Rochko
2f130a59ba
Merge branch 'kschaper-avatar-component-testing' into development
2016-10-14 02:30:08 +02:00
Eugen Rochko
f74201faf0
Merge branch 'avatar-component-testing' of https://github.com/kschaper/mastodon into kschaper-avatar-component-testing
2016-10-14 02:29:51 +02:00
Eugen Rochko
588cb77e9f
E-mail preferences page
2016-10-14 02:28:49 +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
Kai Schaper
89ccac4522
actually use const
2016-10-12 18:18:55 +02:00
Kai Schaper
ec8754f22e
add chai-enzyme; add/improve Avatar component specs
2016-10-12 18:06:18 +02:00
Kai Schaper
4a1e0dbfde
use ES6 arrow functions
2016-10-10 22:48:58 +02:00
Kai Schaper
7698f1e833
add sinon; add basic Button component test
2016-10-10 22:48:58 +02:00
Kai Schaper
56f381d45c
add jsdom; add basic Avatar component test
2016-10-10 22:48:58 +02:00
Kai Schaper
7d3382f755
set up Mocha/Chai/Enzyme for React component unit testing
2016-10-10 22:48:58 +02:00
Eugen Rochko
33668b91f8
Adding test for ProcessFeedService
2016-10-10 16:03:38 +02:00
Eugen Rochko
9bf5a73968
Adding domain blocks
2016-10-09 14:48:59 +02:00
Eugen Rochko
c3f5dfeabb
Adding public timeline
2016-10-07 16:00:11 +02:00
Eugen Rochko
7b9a4af311
API for blocking and unblocking
2016-10-03 18:17:06 +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
fc198a8b4c
Adding e-mail confirmations
2016-10-03 16:51:00 +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
be86d4e0a3
Preparing feeds for better filtering
2016-10-02 15:28:47 +02:00
Eugen Rochko
b36197c307
Fix tests, update goldfinger to catch XML errors
2016-09-30 23:08:29 +02:00
Eugen Rochko
2603c7e69f
Fix tests
2016-09-27 23:23:23 +02:00
Eugen Rochko
e63aebff7a
Adding landing page
2016-09-27 23:12:33 +02:00
Eugen Rochko
4f9b7432dd
Fix #52 - Add API versioning (v1)
2016-09-27 16:59:08 +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
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
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
608a2bfffc
Upgrade to PubSubHubbub 0.4 (removing verify_token)
2016-09-20 02:43:20 +02:00
Eugen Rochko
9863196f7b
Small rubocop offences removed
2016-09-18 13:42:24 +02:00
Eugen Rochko
adffc7a495
Fix #43
2016-09-18 12:28:49 +02:00
Eugen Rochko
4f25e3d042
Test case for new api endpoint
2016-09-16 00:27:09 +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
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
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
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
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
413e700fe0
Enhancing test suite but I think the problem might have been caching setting
2016-09-05 01:26:08 +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
8985f8e66c
Fixing more configuration issues with ActionCable
2016-08-18 18:39:35 +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
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
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
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
02e4fb2e06
Only re-download avatar if URL changed ( fix #19 )
2016-03-22 21:05:23 +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
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
35aafdba96
Ancestors and descendants of statuses
2016-03-21 11:43:21 +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
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
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
071f64d317
Fix #13 , Atom feeds now contain formatted post content
2016-03-19 00:16:04 +01:00
Eugen Rochko
7837afbb5f
Removing autogenerated test stubs that were not needed
2016-03-18 23:36:54 +01:00
Eugen Rochko
6fec8afc3f
Bind oauth applications to users
2016-03-14 17:49:13 +01:00
Eugen Rochko
3441361568
Adding simple_form, adding profile settings, header image
2016-03-12 20:47:22 +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
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
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
f16b31f077
Adding a bunch of tests
2016-02-26 15:28:08 +01:00
Eugen Rochko
71fe24096c
Adding a Mention model, test stubs
2016-02-25 00:17:01 +01:00
Eugen Rochko
fa33750105
Adding reblogs, favourites, improving atom generation
2016-02-23 19:17:37 +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