Matt Jankowski
ce5cb2b81c
Instances list in admin ( #2095 )
...
* Add admin/instances index action
* Add link to instances admin page
* View lists instances
* Instances, grouped by domain, ordered by count
* Use Account.remote scope
* Extract method: Account.by_domain_accounts
2017-04-18 21:09:07 +02:00
Matt Jankowski
fd9d43b6e2
Improve handling of HTTP_ACCEPT for webfinger ( #2008 )
...
This change includes:
- Improve the spec coverage for incoming request to the webfinger action
- For requests without an accept header (ie, what a browser might look like),
return a JSON response.
- For requests with an explicit format of xml or json, return that format.
- For requests using an accept header, return that format.
Also adds failing spec showing webfinger does not return xml, which covers the
issue described in: https://github.com/tootsuite/mastodon/issues/1983
2017-04-17 19:58:03 +02:00
Eugen
ba6b4c6e62
Make file attachment on MediaAttachment optional ( #1865 )
...
Create MediaAttachment but without actual file download when domain is blocked with reject_media set to true
Clean up old media files when creating a new domain block with reject_media set to true
Return remote_url in media attachments API if local file is not present
Undo domain block action in admin UI
Ability to enable reject_media from admin UI
2017-04-16 12:51:30 +02:00
Matt Jankowski
c0f0bcf17d
Add password reset for users from admin accounts area ( #1841 )
2017-04-15 16:44:59 +02:00
Patrick Figel
15b393201e
Add recovery code support for two-factor auth ( #1773 )
...
* Add recovery code support for two-factor auth
When users enable two-factor auth, the app now generates ten
single-use recovery codes. Users are encouraged to print the codes
and store them in a safe place.
The two-factor prompt during login now accepts both OTP codes and
recovery codes.
The two-factor settings UI allows users to regenerated lost
recovery codes. Users who have set up two-factor auth prior to
this feature being added can use it to generate recovery codes
for the first time.
Fixes #563 and fixes #987
* Set OTP_SECRET in test enviroment
* add missing .html to view file names
2017-04-15 13:26:03 +02:00
Matt Jankowski
22f1d9099a
Admin reports controller improvements ( #1714 )
...
* Simplify admin/reports controller filtering for index
* Rename parameter to resolved
* Fix issue where reports view could not access filter_link_to
* Add coverage for admin/reports controller
* DRY up resolution of related reports for target account
* Clean up admin/reports routes
* Add Report#statuses method
* DRY up current account action taken params
* Rubocop styles
2017-04-14 11:10:28 +02:00
Matt Jankowski
d8789124ae
Clean up well-known routes/controllers ( #1649 )
...
* Add request spec for host meta route returning xml
* Add routing spec for xrd routes
* Update well-known routes
* Move webfinger and host-meta actions to their own controllers
2017-04-13 13:09:07 +02:00
Matt Jankowski
26ea2f70bd
Admin accounts controller cleanup ( #1664 )
...
* Remove unused account_params method in admin/accounts controller
* Introduce AccountFilter to find accounts
* Use AccountFilter in admin/accounts controller
* Use more restful routes admin silence and suspension area
* Add admin/silences and admin/suspensions controllers
2017-04-13 13:04:23 +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
Matt Jankowski
c27253cbb6
Default to json type for webfinger requests ( #1583 )
2017-04-12 16:03:37 +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
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
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
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
b532134503
Fix #795 , fix #704 , fix #835 - 2FA requires confirmation to be enabled ( #1278 )
...
* Fix #795 , fix #704 , fix #835 - 2FA requires confirmation to be enabled
TOTP secret is not shown again after 2FA is enabled
* Clean up
2017-04-08 22:20:08 +02:00
Eugen Rochko
9bb84337a7
Allow setting of default language through config
...
Setting of locale in controller extracted to Localized concern,
the doorkeeper authorized applications controller moved under
custom namespace with inclusion of Localized, which resolves the
"it sometimes appears in a different random language" bug
2017-04-07 12:40:26 +02:00
Eugen Rochko
6ebe31e716
Make default admin UI page reports. Add admin UI for creating a domain block
2017-04-03 18:55:06 +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
b3cb765a94
Prettier account and stream entry URLs
2017-03-22 19:55:14 +01:00
Eugen Rochko
3893f75a51
New API method: /api/v1/search
...
Returns accounts, statuses, hashtags arrays
2017-03-22 02:32:27 +01:00
Eugen Rochko
b339e488fe
Export follow/block lists as CSV
2017-03-19 20:29:41 +01:00
Eugen Rochko
c97f817e40
Fix #525 - Add instance information API
2017-03-15 23:12:48 +01:00
Eugen
6599b27b2b
Merge branch 'master' into mastodon-site-api
2017-03-15 22:55:22 +01:00
Eugen Rochko
d1e1f26878
Improved /api/v1/accounts/:id/statuses with new params: only_media, exclude_replies
...
Redirect /:username to /users/:username
Redirect /:username/:id to /users/:username/updates/:id
Updated API documentation and sponsors
2017-03-05 17:27:17 +01:00
Kit Redgrave
4554ccd5d0
Mute button progress so far. WIP, doesn't entirely work correctly.
2017-03-01 22:31:21 -06:00
Kibigo
b39356835b
Adds site metadata access to the API
2017-02-27 04:06:25 -08:00
Eugen Rochko
a741049a77
Fix #104 - Style OAuth authorized applications page
...
Add ability to search accounts by display name
2017-02-27 00:15:00 +01:00
Eugen Rochko
7f9d6d0160
Add GET /api/v1/accounts/:id/statuses/media that returns only statuses with media attachments
...
Make replies default to privacy settings of the status being replied to
2017-02-17 01:30:24 +01:00
Eugen Rochko
0613d66df8
Add UI to view report details, remove reported statuses, quick links to resolve/silence/suspend from report
2017-02-17 00:42:52 +01:00
Eugen Rochko
6917e53fe0
Adding index overview for reports in admin UI
2017-02-16 02:28:10 +01:00
Eugen Rochko
513a78d67b
Fix admin UI for accounts somewhat
2017-02-15 00:22:58 +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
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
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
9327d05bf7
API for apps to register for push notifications
2017-01-29 01:30:32 +01:00
Eugen Rochko
9b8670c939
Added optional two-factor authentication
2017-01-27 20:35:16 +01:00
Effy Elden
72514a07b9
Add redirect for /admin => /admin/settings
2017-01-26 18:59:35 +11:00
Eugen Rochko
4d39cc7bf9
Add /api/v1/notifications/clear, non-existing link cards for statuses will
...
now return empty hash instead of throwing a 404 error. When following,
merge into timeline will filter statuses
2017-01-23 21:09:27 +01:00
Eugen Rochko
7344c75a27
Fix code style
2017-01-21 22:19:13 +01:00
Eugen Rochko
3916a753d2
Merge branch 'master' of https://github.com/ineffyble/mastodon into ineffyble-master
2017-01-21 22:15:22 +01:00
Eugen Rochko
f4836b9077
Method to fetch a single notification
2017-01-21 22:14:13 +01:00
Effy Elden
432cc1d3c1
Set remote dev environments to use letter_opener_web, add default .env.vagrant variables
2017-01-21 20:22:49 +11: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
533448be42
Add extended about page stub
2017-01-13 03:24:41 +01:00
Eugen Rochko
7e7c2bbb0f
Migrate from ledermann/rails-settings to rails-settings-cached which allows global settings
...
with YAML-defined defaults. Add admin page for editing global settings. Add "site_description"
setting that would show as a paragraph on the frontpage
2017-01-12 20:46:24 +01:00
Eugen Rochko
4293e132d1
Persist UI settings, add missing localizations for German
2017-01-09 14:00:55 +01:00
Eugen Rochko
335914abd9
Fix #385 - /web now loads a page
2017-01-04 15:35:36 +01:00
Eugen Rochko
df2f14d2dd
Adding remote follow button
2017-01-01 19:54:34 +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
302051ffcb
Add page for authorizing/rejecting follow requests
2016-12-23 00:04:52 +01:00
Eugen Rochko
6d7f3be2f6
Add OEmbed iframe HTML, convert emojis on public pages, increase size of attachment thumbnails
2016-12-18 15:20:39 +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
68586258ca
Adding more to admin accounts UI
2016-12-04 18:10:40 +01:00
Eugen Rochko
a8814a19dc
Add basic OEmbed provider API, fix #247
2016-11-30 23:01:03 +01:00
Eugen Rochko
329b2a326d
Normalize localizations, add stub for admin/accounts
2016-11-30 15:32:26 +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
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
0f7a388de6
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
cbfa28b9cc
Use full-text search for autosuggestions
2016-11-12 14:36:10 +01:00
Eugen Rochko
beb36e24fe
API pagination for all collections using Link header
2016-11-09 17:48:44 +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
cb22dce970
Adding hashtags
2016-11-05 17:13:14 +01:00
Eugen Rochko
8ae3306bd3
Add pghero for analyzing postgres performance in production
2016-11-04 18:35:04 +01:00
Eugen Rochko
7a527c947d
Fix reblogged/favourited caching; add API endpoints for who favd/reblogged status
2016-11-03 14:50:22 +01:00
Eugen Rochko
36470feeb2
Fix follow icon changing plus to minus, add terms page stub
2016-11-01 18:05:55 +01:00
Eugen Rochko
38cacac4b0
Adding common followers API, fixing fallback query again
2016-10-29 01:29:19 +02:00
Eugen Rochko
6657414266
Adding OAuth access scopes, fixing OAuth authorization UI, adding rate limiting
...
to the API
2016-10-22 19:39:44 +02:00
Eugen Rochko
5860094354
Adding sync of follow relationships to Neo4J, accounts/suggestions API
2016-10-14 23:10:07 +02:00
Eugen Rochko
588cb77e9f
E-mail preferences page
2016-10-14 02:28:49 +02:00
Eugen Rochko
c3f5dfeabb
Adding public timeline
2016-10-07 16:00:11 +02:00
Eugen Rochko
10395fd275
Fix #72 - add follow/unfollow button to public profiles
2016-10-06 21:27:58 +02:00
Eugen Rochko
7b9a4af311
API for blocking and unblocking
2016-10-03 18:17:06 +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
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
e46abc71ca
Fix notifications in UI, added new API for fetching account relationships
2016-09-21 22:07:18 +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
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
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
509c18eb13
Fix local follows, 404 in logs
2016-09-08 02:40:51 +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
6deb9f966e
Live timelines using ActionCable
2016-08-18 15:49:51 +02: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
42dcb0d4cb
Adding Sidekiq for background processing (firstly just of mailers)
2016-03-25 02:50:48 +01:00
Eugen Rochko
f14f462eaf
Adding Turbolinks, adding status posting form on homepage
2016-03-21 18:26:47 +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
71ae4dd3d2
Adding public following and followers pages, fix #3
2016-03-19 14:02:30 +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