Eugen
12f72e1740
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
2810013b93
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
0687ab8ae3
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
dbe9f33fdc
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
15d442cf9d
Fix /api/v1/accounts/update_credentials tests ( #1357 )
2017-04-09 20:23:14 +02:00
David Celis
d4fe6cd2bf
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
ea6c930c04
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
e5282e4ec0
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
388ec0d5b6
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
71706f21c2
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
982fef811e
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
ca44c13455
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
1961825ff9
Merge pull request #1183 from thoughtbot/cp-post-status-service-specs
...
Add specs for PostStatusService
2017-04-07 22:30:28 +02:00
Eugen
32748c0f71
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
4fdeac21f4
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
ad5ddd5e95
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
13c0077003
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
d4c94fa004
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
38bec79811
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
5442083b3c
Split SalmonWorker into smaller parts, move profile updating into another job
2017-04-05 21:43:10 +02:00
Eugen Rochko
667ffafef8
Fix spec
2017-04-05 03:31:26 +02:00
Eugen
4c92f15664
Merge branch 'master' into add_more_tests_to_models
2017-04-05 03:27:38 +02:00
Eugen
117b22e905
Merge pull request #852 from peterkeen/email-whitelist-817
...
[#817 ] Add email whitelist
2017-04-05 03:04:58 +02:00
Samy KACIMI
073f92fc76
Merge branch 'master' into add_more_tests_to_models
2017-04-05 00:43:10 +02:00
Samy KACIMI
46c0e8b0e7
update account_spec
2017-04-05 00:37:23 +02:00
Samy KACIMI
81c76fe375
add more tests to models
2017-04-05 00:29:56 +02:00
Kurtis Rainbolt-Greene
9ae9ecdebe
Quick attempt to get pull requests passing
2017-04-04 12:14:44 -07:00
Pete Keen
e9a6da6bc7
[ #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
68f829e11c
Add basic logging of who resolved report
2017-04-03 19:35:00 +02:00
Eugen Rochko
e8875c6046
Import feature for following/blocking lists (addresses #62 , #177 , #201 , #454 )
2017-03-30 19:42:33 +02:00
Eugen Rochko
1c6b02f936
Fix #690 - Webfinger should handle new shortform profile URLs now (nice)
2017-03-28 11:25:43 +02:00
Eugen Rochko
d6ed2eb512
Prettier account and stream entry URLs
2017-03-22 19:55:14 +01:00
Eugen Rochko
4fb95c91fb
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
6b81d10030
Add digest e-mails
2017-03-04 00:00:48 +01:00
Kit Redgrave
442fdbfc53
Mute button progress so far. WIP, doesn't entirely work correctly.
2017-03-01 22:31:21 -06:00
Eugen Rochko
3202bdd744
Fix #555 - Use a better URL parser
2017-02-22 19:35:11 +01:00
Eugen Rochko
3b81baaaaf
Adding POST /api/v1/reports API, and a UI for submitting reports
2017-02-14 20:59:26 +01:00
Eugen Rochko
720ff55262
Adding more unit tests. Fixing Salmon slaps XML
2017-02-12 17:30:15 +01:00
Eugen Rochko
0518492158
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
50660d54e8
Fix semantics of follow requests another slaps
2017-02-11 17:13:11 +01:00
Eugen Rochko
0b95eb3612
Improve docs
2017-02-11 16:21:07 +01:00
Eugen Rochko
00b5731ecb
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
149887a0ff
Make follow requests federate
2017-02-11 02:58:00 +01:00
Eugen
9d5fb49cd8
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
da7f24c238
Add test
2017-02-06 12:14:02 -08:00
Eugen Rochko
920ba5fc4e
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
77e13c2bc9
Removing failed push notification API, make context loads use cache
2017-02-05 17:51:44 +01:00
Eugen Rochko
d9ca46b464
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
e70e721a0d
Add tests for new API
2017-01-29 12:35:55 +01:00
Eugen Rochko
83ccdeb87a
Fix tests
2017-01-29 12:25:10 +01:00
Eugen Rochko
3f075c7794
API for apps to register for push notifications
2017-01-29 01:30:32 +01:00
Eugen Rochko
80cefd5b3c
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
6d98a73180
Domain blocks now have varying severity - auto-suspend vs auto-silence
2017-01-23 17:38:38 +01:00
Eugen Rochko
7c015ece45
Fix oembed controller test
2017-01-23 13:36:17 +01:00
Eugen Rochko
f0de621e76
Fix #463 - Fetch and display previews of URLs using OpenGraph tags
2017-01-20 01:00:14 +01:00
Eugen Rochko
e9737c2235
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
c01dd089ff
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
f876a8681d
Update the Mastodon repository URL from Gargron/ to tootsuite/ in various places
2017-01-11 13:24:14 +11:00
Eugen Rochko
75f80bef10
Persist UI settings, add missing localizations for German
2017-01-09 14:00:55 +01:00
Jessica Stokes
bb033c1d37
"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
1bbcd71cd4
Fix #390 - fix redirect after sign-up (to login page instead of homepage)
2017-01-04 15:31:25 +01:00
Eugen Rochko
a302e56f9a
Add API for retrieving favourites
2016-12-29 20:33:26 +01:00
Eugen Rochko
49834a6e7f
Add API for retrieving blocked accounts
2016-12-29 20:12:32 +01:00
Eugen Rochko
d7dc84439c
Add ability to use remote follow function on other sites
2016-12-29 16:54:54 +01:00
Eugen Rochko
3689c119f0
Replacing follow requests in the settings area with in-UI column
2016-12-26 21:33:51 +01:00
Eugen Rochko
004382e4d0
Adding follow requests API
2016-12-26 19:30:45 +01:00
Eugen Rochko
7376af90f7
Don't show statuses to blocked users
2016-12-26 19:13:56 +01:00
Eugen Rochko
b302b9202b
Add page for authorizing/rejecting follow requests
2016-12-23 00:04:52 +01:00
Eugen Rochko
b891a81008
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
80e02b90e4
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
6de079a5af
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
76ec907993
Improved admin UI
2016-12-13 13:42:10 +01:00
Eugen Rochko
f978b06dd1
Add suspend account functionality to admin UI
2016-12-06 18:22:59 +01:00
Eugen Rochko
80c44ed9c1
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
b14b5e3b44
Improve notification model
2016-12-03 20:04:19 +01:00
Eugen Rochko
6ff93845d5
Add basic OEmbed provider API, fix #247
2016-11-30 23:01:03 +01:00
Eugen Rochko
14bd46946d
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
356d3874eb
Normalize localizations, add stub for admin/accounts
2016-11-30 15:32:26 +01:00
Eugen Rochko
7e90772c92
Unify collection caching code
2016-11-29 15:49:39 +01:00
Eugen Rochko
27fc49d745
Add simple admin overview of PuSH subscriptions
2016-11-28 18:45:13 +01:00
Eugen Rochko
2d2c81765b
Adding embedded PuSH server
2016-11-28 13:36:47 +01:00
Eugen Rochko
2cb3dc5e5a
Update hub URL and re-subscribe if hub URL changes
2016-11-26 15:18:21 +01:00
Eugen Rochko
8efa081f21
Remove Neo4J
2016-11-24 23:46:27 +01:00
Eugen Rochko
da2ef4d676
Adding unified streamable notifications
2016-11-20 19:39:58 +01:00
Eugen Rochko
7b7bf834e9
Fix OAuth authorization page and add a spec for it
2016-11-18 23:10:44 +01:00
Eugen Rochko
7ac574d9a9
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
b2e504616a
Remove broken test
2016-11-16 19:11:30 +01:00
Eugen Rochko
546c4718e7
Localizations for most server-side strings
2016-11-16 00:55:33 +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
cd765f26a9
Upgrade ruby to 2.3.1
2016-11-12 01:55:33 +01:00
Eugen Rochko
aabf884c5f
Discard misattributed remote statuses, improve timelines filter
2016-11-10 00:15:49 +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
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
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
829d189f44
Add tests for recently added API end points
2016-11-03 18:53:37 +01:00
Kai Schaper
19cfe64455
add/update specs for Button, DisplayName, DropdownMenu
2016-10-20 17:34:44 +02:00
Eugen Rochko
d5e086a47b
Adding application/jrd+json webfinger resource
2016-10-18 02:54:49 +02:00
Eugen Rochko
67b35a601a
Exclude blocked users from follow suggestions, fix tests
2016-10-15 13:48:38 +02:00