Eugen Rochko
6be7bde243
Fix #525 - Add instance information API
2017-03-15 23:12:48 +01:00
Eugen
e245115f47
Merge branch 'master' into mastodon-site-api
2017-03-15 22:55:22 +01:00
Eugen Rochko
02349b3269
Obfuscate filenames better, double rate limits
2017-03-14 15:59:21 +01:00
Eugen Rochko
1fb3e8988b
Revert earlier fix due to new bug reports
2017-03-06 02:25:41 +01:00
Eugen Rochko
d6cb4bbe99
Performance improvement for profiles
2017-03-06 01:50:35 +01:00
Eugen Rochko
8d93f0ca56
Increase max bitrate of converted webms, slightly optimized counter queries
...
(Because postgres can tell that count(*) needs no extra checks, but
counting a specific column requires them)
2017-03-05 23:43:58 +01:00
Eugen Rochko
5f4e402204
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
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
Kibigo
620f70e42c
Adds site metadata access to the API
2017-02-27 04:06:25 -08:00
Eugen Rochko
175a9b9caa
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
5f511324b6
Add validation of media attachments, clean up mastodon-own exception classes
2017-02-26 23:23:06 +01:00
Eugen Rochko
063432d7e3
Merge branch 'fix_462' of https://github.com/rmhasan/mastodon into rmhasan-fix_462
2017-02-26 23:09:18 +01:00
Eugen Rochko
3e9d794ea5
Add tuning documentation, add <content> tags back to most salmons,
...
make status pagination headers generation more lax about next page
existing
2017-02-25 03:34:37 +01:00
Rakib Hasan
9433d03705
Removed try clause from create action in status controller
...
Using catch statement in api_controller.rb to catch NotPermitted
Exception, and render error message
2017-02-19 08:29:56 +00:00
Rakib Hasan
6f9ecd899e
revisted fix for #462
...
Moved validation to services/post_status_service.rb
2017-02-19 08:28:33 +00:00
Rakib Hasan
6d2301988f
Fix for issue #462
...
Modified uploadCompose action to send media ids of attached
media when sending a request. Modified create method in MediaController
to check if when posting a video, there are no other media attached
to the status by looking at the media ids sent from the uploadCompose
action.
2017-02-19 08:28:33 +00:00
Eugen Rochko
5ddad41245
Do not display non-Status stream entries anymore
2017-02-17 02:20:52 +01:00
Eugen Rochko
8132cf8153
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
d0f087db2d
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
24ba7c9762
Adding index overview for reports in admin UI
2017-02-16 02:28:10 +01:00
Eugen Rochko
5426f06ac2
Fix admin UI for accounts somewhat
2017-02-15 00:22:58 +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
63886bdc59
Fix #587 - Display TOTP secret next to QR code
2017-02-13 20:56:03 +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
149887a0ff
Make follow requests federate
2017-02-11 02:58:00 +01:00
Eugen
d96e031dfc
Fix #611 - Layout setting in registrations controller
2017-02-08 03:04:29 +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
Eugen Rochko
714e41d472
Fix preferences save
2017-02-07 00:23:38 +01:00
Eugen Rochko
347a153b3d
Add API modifiers to limit returned toots from public/hashtag timelines
...
to only those from local users; Add link to "extended information" to
getting started in the UI; Add defaults for posting privacy; Change
how publish button looks depending on posting privacy chosen
2017-02-06 23:16:20 +01:00
Evan Minto
94e213c6c1
Reuse existing controller and route
2017-02-06 01:19:26 -08:00
Eugen Rochko
eee8afb0b7
Remove bios from blocked users list, filter out broken entries from API response
2017-02-05 19:39:00 +01:00
Eugen Rochko
77e13c2bc9
Removing failed push notification API, make context loads use cache
2017-02-05 17:51:44 +01:00
Evan Minto
8bd8ea7c04
Remove unnecessary leftover code
2017-02-04 14:49:24 -08:00
Evan Minto
e2fbf8bc74
Add an account endpoint for ActivityPub and link to it on HTML profile pages
2017-02-04 14:46:23 -08: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
3f075c7794
API for apps to register for push notifications
2017-01-29 01:30:32 +01:00
Eugen Rochko
23b997ae55
Split 2FA login into two prompts
2017-01-28 20:43:38 +01:00
Eugen Rochko
f4bc9620a9
Update settings to re-use admin layout, one big navigation tree, improve settings forms
2017-01-28 03:56:10 +01:00
Eugen Rochko
ba192f12e3
Added optional two-factor authentication
2017-01-27 20:35:16 +01:00
Eugen Rochko
905c829179
Improve infinite scroll on notifications
2017-01-26 04:30:40 +01:00
Eugen Rochko
999cde94a6
Instead of using spoiler boolean and spoiler_text, simply check for non-blank spoiler_text
...
Federate spoiler_text using warning attribute on <content /> instead of a <category term="spoiler" />
Clean up schema file from accidental development migrations
2017-01-25 01:29:16 +01:00
Eugen
f8da0dd490
Merge branch 'master' into master
2017-01-24 21:56:06 +01:00
Eugen Rochko
8a880a3d46
Make blocks create entries and unfollows instantly, but do the clean up
...
in the background instead. Should fix delay where blocked person
can interact with blocker for a short time before background job
gets processed
2017-01-24 21:40:41 +01:00
Eugen Rochko
1f5792c834
API now respects ?limit param as long as it's within 2x default limit
2017-01-24 04:22:10 +01:00
blackle
bf0f6eb62d
Implement a click-to-view spoiler system
2017-01-23 21:07:40 -05:00
Eugen Rochko
cca82bf0a2
Move merging/unmerging of timelines into background. Move blocking into
...
background as well since it's a computationally expensive
2017-01-23 21:29:34 +01:00
Eugen Rochko
f392030ab8
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
aa9c51a34c
Fix a couple unhandled exceptions
2017-01-23 13:56:57 +01:00
Eugen Rochko
a1894786cf
Potentially fix notifications issue
2017-01-23 13:43:14 +01:00
Eugen
1953e3b6ed
Fix inflection
2017-01-22 23:08:51 +01:00
Eugen Rochko
e22a56183a
Improve error page layouting. 500 page has to stay static because it's
...
used from nginx when Rails fails.
2017-01-21 22:30:47 +01:00
Eugen Rochko
b4a4eb73ae
Merge branch 'fix/error-pages' of https://github.com/ineffyble/mastodon into ineffyble-fix/error-pages
2017-01-21 22:20:01 +01:00
Eugen Rochko
3a4b5961be
Method to fetch a single notification
2017-01-21 22:14:13 +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
98560b232a
Don't show loading bar when re-loading already loaded status. Don't even try to fetch ancestors from DB when in_reply_to_id is nil
2017-01-19 11:06:06 +01:00
Eugen Rochko
7d53ee73f3
Fix #238 - Add "favourites" column
2017-01-16 13:28:25 +01:00
Effy Elden
ed41f9f0b1
Add nice error page for CSRF errors/cookie issue, and fix error page handling altogether
2017-01-15 10:30:23 +11:00
Effy Elden
d6bc0e8db4
Add tracking of OAuth app that posted a status, extend OAuth apps to have optional website field, add application details to API, show application name and website on detailed status views. Resolves #11
2017-01-15 08:58:50 +11: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
Eugen Rochko
e25170f960
Add extended about page stub
2017-01-13 03:24:41 +01:00
Eugen Rochko
2939e9898b
Extend rails-settings-cached to merge db-saved hash values with defaults
2017-01-13 02:42:22 +01:00
Eugen Rochko
b11fdc3ae3
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
312c51b5c8
Home column filters
2017-01-10 17:25:10 +01:00
Eugen Rochko
75f80bef10
Persist UI settings, add missing localizations for German
2017-01-09 14:00:55 +01:00
Eugen Rochko
7b9f8766e8
Fix #416 - Generate random unique 14-byte (19 characters) shortcodes
...
for local attachments, use them in URLs. Check status privacy
before redirecting to actual file.
2017-01-06 00:29:12 +01: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
f79ba2de83
Fix admin UI not loading JS, make sure to strip "acct:" out of remote account's usernames when authorizing follow
2017-01-02 22:31:10 +01:00
Eugen Rochko
75122e162d
Fix uri expansion during remote follow
2017-01-02 12:19:02 +01:00
Eugen Rochko
8f47f6a7ec
Adding remote follow button
2017-01-01 19:54:34 +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
8724094ed0
Support remote follow request providing URL instead of acct
2016-12-29 17:23:27 +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
eca6110fc4
Add preferences for follow request notification e-mails
2016-12-26 22:04:16 +01:00
Eugen Rochko
2146ac91a0
Follow requests send e-mail notifications, but are excluded from notifications API
...
Better initial state for unlisted/nsfw toggles
2016-12-26 21:52:03 +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
3282448878
Fix #86 - resolve layout breaking on zoom-out on accounts grid
2016-12-26 18:48:33 +01:00
Eugen Rochko
b302b9202b
Add page for authorizing/rejecting follow requests
2016-12-23 00:04:52 +01:00
Eugen Rochko
05b13c38b5
Re-enable Webfinger for locked accounts but don't handle "follow" events
...
coming in via Salmon.
Currently no way to prevent remote follows, but they will only receive public
and unlisted posts
2016-12-22 23:17:57 +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
2d2154ba75
Add "locked" flag to accounts, prevent blocked users from following, force-unfollow blocked users
2016-12-22 21:34:19 +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
e09d3a2c66
Fix #249 - use window.location hack to let people login from sandboxed iOS homescreen
2016-12-21 00:13:13 +01:00
Eugen Rochko
0542773bca
Make unfavouriting async to prevent timeout errors from leaving orphaned records behind
2016-12-19 09:12:29 +01:00
Eugen Rochko
5ae1b39ec9
Adjusting public display of statuses to look similar to logged-in UI,
...
fix #361 with rich OEmbed display via iframe, fix #237 by hiding sensitive
content behind a spoiler on public pages
2016-12-18 19:47:11 +01:00
Eugen Rochko
aed25932b5
Add OEmbed iframe HTML, convert emojis on public pages, increase size of attachment thumbnails
2016-12-18 15:20:39 +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
f406e01fcf
Add filters for suspended accounts
2016-12-06 18:03:30 +01:00
Eugen Rochko
1357c1cb3d
Add single user mode
2016-12-06 17:19:26 +01:00
Eugen Rochko
39cc9fde8a
Add account suspension
2016-12-05 22:59:30 +01:00
Eugen Rochko
9d9f796130
Adding more to admin accounts UI
2016-12-04 18:10:40 +01:00
Eugen Rochko
d236dcded2
Fix public tags page
2016-12-04 16:56:45 +01:00
Eugen Rochko
5abf64d647
Add "next" pagination to public profiles
2016-12-03 19:30:13 +01:00
Eugen Rochko
ec44cff9a2
Admin accounts page lists accounts
2016-12-03 19:08:07 +01:00
Eugen Rochko
816284d739
Fix #248 - Reload all accounts when fetching from cache
2016-12-03 18:21:26 +01:00
Eugen Rochko
1d0321fc45
Fix pt translations, improve pre-cache queries, removing will_paginate
...
from accounts/tags because it's a terribly inefficient way to paginate
large sets of data
2016-12-01 16:26:25 +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
a21bcac9e1
Further abstract caching for includes
2016-11-30 15:57:56 +01:00
Eugen Rochko
356d3874eb
Normalize localizations, add stub for admin/accounts
2016-11-30 15:32:26 +01:00
Eugen Rochko
ff21ff1489
Make User#current_sign_in_at actually track when user was last active,
...
by updating it at least every 24h if the user visits the site
2016-11-30 15:17:03 +01:00
Eugen Rochko
7e90772c92
Unify collection caching code
2016-11-29 15:49:39 +01:00
Eugen Rochko
93a90cd9c3
Delete statuses asynchronously but provide instant feedback in the API
2016-11-29 15:32:25 +01:00
Eugen Rochko
3ba6531611
Fix setting of confirmed=true on successful confirmation
2016-11-28 19:24:49 +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
4495baf451
X-RateLimit-Reset formatted with iso8601
2016-11-25 15:21:22 +01:00
Eugen Rochko
8a3745a4df
Remove stale entries from cache results
2016-11-25 13:25:40 +01:00
Eugen Rochko
71401659b8
Fix #65 - Options to block notifications from people you don't follow/who don't follow you
2016-11-25 13:13:16 +01:00
Eugen Rochko
8efa081f21
Remove Neo4J
2016-11-24 23:46:27 +01:00
Eugen Rochko
8e34bed7cc
Mini Profiler not working well, remove it
2016-11-24 19:59:11 +01:00
Alyssa Ross
cefef2c571
Extract filename obfuscation into module
2016-11-24 00:30:58 +00:00
Andrea Faulds
7161f91313
Rename media to avoid exposing filename ( fixes #207 )
2016-11-23 21:03:03 +00:00
Eugen Rochko
79a0135869
Cache accounts/:id/statuses and single statuses too
2016-11-23 19:00:43 +01:00
Eugen Rochko
0603971894
Adding sensitive marker to statuses in API
2016-11-23 10:46:48 +01:00
Eugen Rochko
4bdb6a0eaf
Rename "publish" to "toot" in english locale, fix lightbox showing old image
...
before loading new one, cache notifications API, fix missing follow button
on public profiles
2016-11-23 09:20:34 +01:00
Eugen Rochko
cf912e01fd
Implement includes caching for timelines APIs
2016-11-23 08:34:35 +01:00
Eugen Rochko
5c78547198
More query optimizations
2016-11-22 23:18:54 +01:00
Eugen Rochko
fc90d38893
Moving some counter queries out of subqueries in the API
2016-11-22 22:59:54 +01:00
Eugen Rochko
45c7ee39b3
Remove unneeded indices, improve error handling in background workers, don't needlessly reload reblogged status, send Devise e-mails asynchronously
2016-11-22 17:32:51 +01:00
Eugen Rochko
1788164352
Local accounts can control "silenced" attribute which removes them from public timeline
2016-11-21 23:06:41 +01:00
Eugen Rochko
627a85f4e4
Better error message in doorkeeper json response
2016-11-21 16:19:35 +01:00
Eugen Rochko
f88ca4a206
Performance improvement for notifications API
2016-11-21 16:10:42 +01:00
Eugen Rochko
52119104b9
Remove some n+1 queries from notifications API
2016-11-21 15:16:04 +01:00
Eugen Rochko
e8c27767aa
Remove orphaned notifications, add scopes param to app create API
2016-11-21 14:59:13 +01:00
Eugen Rochko
fb48cc3b74
Desktop notifications
2016-11-21 10:24:50 +01:00
Eugen Rochko
da2ef4d676
Adding unified streamable notifications
2016-11-20 19:39:58 +01:00
Eugen Rochko
7dea6a23f7
Move Salmon processing to background as well as PuSH
2016-11-18 23:24:57 +01:00
Eugen Rochko
2c766bd4b4
Add user locale setting
2016-11-16 17:56:31 +01:00
Eugen Rochko
3ce6ac0ce2
Adding some localizations
2016-11-15 23:02:57 +01:00
Eugen Rochko
4f07fb1f0a
Fix #144 - Filter statuses from blocked users out of ancestors/descendants results
2016-11-15 17:33:41 +01:00
Eugen Rochko
fdc17bea58
Fix rubocop issues, introduce usage of frozen literal to improve performance
2016-11-15 16:56:29 +01:00
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
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
17903c6dae
Improve filtering of public/hashtag timelines, both in backlog and real-time
2016-11-10 00:03:33 +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
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
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
562044f36a
Need to disable caching again due to bug in Rabl
2016-11-03 13:59:31 +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