Matt Jankowski
20170cb4f3
Improve i18n chooser ( #1804 )
...
* Add locale spec with failing locale plus region check
* Use a more accurate locale when supplied by browser headers
Previously we were using a matching option which would use the first locale
available which matched the locale portion, even if a region was specified.
This changes to first try to find an exact match, and then fall back to the
region, and then fall back to the default.
* Clean up default_locale method
8 years ago
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
8 years ago
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
8 years ago
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
8 years ago
Matt Jankowski
0a6cfca260
Settings export refactor ( #1646 )
...
* Refactor Export to take an account and know about the export types
* Use Export instance in settings/exports#show
8 years ago
Matt Jankowski
d1ebb63c54
Quick best practice cleanup of views/helpers ( #1546 )
...
* Remove trailing whitespace
* Use query methods instead of explicit .blank? checks
8 years ago
Matt Jankowski
9d1d8797fd
Webfinger resource to extract username from resource string ( #1607 )
...
* Add WebfingerResource class to extract usernames
* Use WebfingerResource in xrd#webfinger
8 years ago
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
8 years ago
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
8 years ago
Matt Jankowski
c27253cbb6
Default to json type for webfinger requests ( #1583 )
8 years ago
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
8 years ago
Eugen Rochko
b440b2a9ee
Merge branch 'master' of https://github.com/blackle/mastodon into blackle-master
8 years ago
blackle
e7d77f4e13
Allow user to disable the boost confirm dialog in preferences
8 years ago
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
8 years ago
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
8 years ago
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
8 years ago
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
8 years ago
Eugen
5c57f15503
Do not store last visited URL from API controllers ( #1330 )
...
Sign-in redirects you back to last visited URL, but in case of API requests,
this sometimes redirected users to an API URL that, of course, greeted them
with an {"error":"The access token is invalid"}
8 years ago
Eugen
47a3702db4
Fix /api/v1/accounts/update_credentials tests ( #1357 )
8 years ago
David Authier
9252133084
Use HTTP Accept-Language to detect locale ( #1166 )
...
* Use HTTP Accept-Language to detect locale
* Fix gem order to comply with codeclimate
* Sort gem to comply with rubocop
* I18n.default_locale fallback when there is no accept-language header
8 years ago
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>
8 years ago
Matt Jankowski
41b79ae693
Clean up about page ( #1282 )
...
* Add InstancePresenter to expose site details
* Clean up about controller, use instance presenter
8 years ago
Eugen
3047a8da74
Make public timelines API not require user context/app credentials ( #1291 )
...
* Make /api/v1/timelines/public and /api/v1/timelines/tag/:id public
Fix #1156 - respect query params when generating pagination links in API
* Apply pagination fix to more APIs
8 years ago
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
8 years ago
Eugen Rochko
07f42f0824
Fix #1165 - before_action was called before protect_from_forgery
8 years ago
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
8 years ago
Eugen
24c77e57b2
Rewrite Atom generation from stream entries to use Ox instead of Nokogiri ( #1124 )
...
* Rewrite Atom generation from stream entries to use Ox instead of Nokogiri::Builder
StreamEntry is now limited to only statuses, which allows some optimization. Removed
extra queries on AccountsController#show. AtomSerializer instead of AtomBuilderHelper
used in AccountsController#show, StreamEntriesController#show, StreamEntryRenderer
and PubSubHubbub::DistributionWorker
PubSubHubbub::DistributionWorker moves n+1 DomainBlock query to PubSubHubbub::DeliveryWorker
instead.
All Salmon slaps that aren't based on StreamEntry still use AtomBuilderHelper and Nokogiri
* All Salmon slaps now use Ox instead of Nokogiri. No touch from status on account
8 years ago
Drew DeVault
932b0b2f1f
Remote follow improvements
...
This stores the @username@instance you provide in your session and
reuses it the next time you remote follow someone from this instance.
8 years ago
Eugen Rochko
353a30810c
New admin setting: open/close registrations, with custom message, from the admin UI
8 years ago
Eugen Rochko
7a56845060
Only call regeneration worker after first login after a 14 day break
8 years ago
Eugen Rochko
24793cdbaa
Fix ActionController::Parameters in API issue
8 years ago
Eugen Rochko
c9ffa7ab1d
Add basic logging of who resolved report
8 years ago
Eugen Rochko
ceaafb22d3
When taking action on a report (silence/suspend), it dismisses all other
...
reports for that user automatically
8 years ago
Eugen Rochko
6ebe31e716
Make default admin UI page reports. Add admin UI for creating a domain block
8 years ago
Eugen Rochko
1ee4c6415c
Catching rack timeout from rails doesn't work
8 years ago
Eugen Rochko
00e99e58db
Add proper error page for request timeouts
8 years ago
Eugen Rochko
f04816f005
Fix wording "show reblogs" -> "show boosts", order reports chronologically in
...
admin UI
8 years ago
Eugen Rochko
e407ed24a6
Fix landing page sign up form ignoring username field
8 years ago
Eugen Rochko
244da78105
Import feature for following/blocking lists (addresses #62 , #177 , #201 , #454 )
8 years ago
Eugen Rochko
96e58cf289
Add counter caches for a large performance increase on API requests
8 years ago
Eugen Rochko
a4ce8b09fb
Fix #690 - Webfinger should handle new shortform profile URLs now (nice)
8 years ago
Eugen Rochko
b3cb765a94
Prettier account and stream entry URLs
8 years ago
Eugen Rochko
3893f75a51
New API method: /api/v1/search
...
Returns accounts, statuses, hashtags arrays
8 years ago
Eugen Rochko
b339e488fe
Export follow/block lists as CSV
8 years ago
Eugen Rochko
20d91848cf
Fix wrong HTTP status codes on error pages
8 years ago
Eugen Rochko
844eda88fe
Forgot to hook up API with the latest method
8 years ago
Eugen Rochko
c97f817e40
Fix #525 - Add instance information API
8 years ago
Eugen
6599b27b2b
Merge branch 'master' into mastodon-site-api
8 years ago
Eugen Rochko
453d65e6da
Obfuscate filenames better, double rate limits
8 years ago
Eugen Rochko
250beb1971
Revert earlier fix due to new bug reports
8 years ago
Eugen Rochko
dea8e95d14
Performance improvement for profiles
8 years ago
Eugen Rochko
42b6d5aca5
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)
8 years ago
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
8 years ago
Eugen Rochko
0cb5a2a0a7
Add digest e-mails
8 years ago
Kit Redgrave
4554ccd5d0
Mute button progress so far. WIP, doesn't entirely work correctly.
8 years ago
Kibigo
b39356835b
Adds site metadata access to the API
8 years ago
Eugen Rochko
a741049a77
Fix #104 - Style OAuth authorized applications page
...
Add ability to search accounts by display name
8 years ago
Eugen Rochko
ff8a080d40
Add validation of media attachments, clean up mastodon-own exception classes
8 years ago
Eugen Rochko
128dcdf68a
Merge branch 'fix_462' of https://github.com/rmhasan/mastodon into rmhasan-fix_462
8 years ago
Eugen Rochko
5157e25aab
Add tuning documentation, add <content> tags back to most salmons,
...
make status pagination headers generation more lax about next page
existing
8 years ago
Rakib Hasan
2e10c9861e
Removed try clause from create action in status controller
...
Using catch statement in api_controller.rb to catch NotPermitted
Exception, and render error message
8 years ago
Rakib Hasan
008c95b3b9
revisted fix for #462
...
Moved validation to services/post_status_service.rb
8 years ago
Rakib Hasan
11dc0a1cbc
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.
8 years ago
Eugen Rochko
3d291bcc55
Do not display non-Status stream entries anymore
8 years ago
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
8 years ago
Eugen Rochko
0613d66df8
Add UI to view report details, remove reported statuses, quick links to resolve/silence/suspend from report
8 years ago
Eugen Rochko
6917e53fe0
Adding index overview for reports in admin UI
8 years ago
Eugen Rochko
513a78d67b
Fix admin UI for accounts somewhat
8 years ago
Eugen Rochko
2cc31b3194
Adding POST /api/v1/reports API, and a UI for submitting reports
8 years ago
Eugen Rochko
a83dc927d8
Fix #587 - Display TOTP secret next to QR code
8 years ago
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
8 years ago
Eugen Rochko
59c8c2b28a
Make follow requests federate
8 years ago
Eugen
92a90de2af
Fix #611 - Layout setting in registrations controller
8 years ago
Eugen
7037774d6e
Merge pull request #603 from evanminto/activitypub-account
...
Expose ActivityStreams 2.0 representation of accounts
8 years ago
Eugen Rochko
af82038b98
Fix preferences save
8 years ago
Eugen Rochko
b1f2683ecc
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
8 years ago
Evan Minto
db7affbf5b
Reuse existing controller and route
8 years ago
Eugen Rochko
e4a55302d2
Remove bios from blocked users list, filter out broken entries from API response
8 years ago
Eugen Rochko
2f126b1225
Removing failed push notification API, make context loads use cache
8 years ago
Evan Minto
e02bfd0aa2
Remove unnecessary leftover code
8 years ago
Evan Minto
b56d24ed71
Add an account endpoint for ActivityPub and link to it on HTML profile pages
8 years ago
Eugen Rochko
727d236fcc
Cleaning up format of broadcast real-time messages, removing
...
redis-backed "mentions" timeline as redundant (given notifications)
8 years ago
Eugen Rochko
9327d05bf7
API for apps to register for push notifications
8 years ago
Eugen Rochko
c58da52e9f
Split 2FA login into two prompts
8 years ago
Eugen Rochko
557de8e24c
Update settings to re-use admin layout, one big navigation tree, improve settings forms
8 years ago
Eugen Rochko
9b8670c939
Added optional two-factor authentication
8 years ago
Eugen Rochko
2efefb380b
Improve infinite scroll on notifications
8 years ago
Eugen Rochko
959e064186
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
8 years ago
Eugen
c7778752e3
Merge branch 'master' into master
8 years ago
Eugen Rochko
ea8b548ee9
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
8 years ago
Eugen Rochko
b4ec84067a
API now respects ?limit param as long as it's within 2x default limit
8 years ago
blackle
e25fc71c2c
Implement a click-to-view spoiler system
8 years ago
Eugen Rochko
98660a76d9
Move merging/unmerging of timelines into background. Move blocking into
...
background as well since it's a computationally expensive
8 years ago
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
8 years ago
Eugen Rochko
55d6cd41e6
Fix a couple unhandled exceptions
8 years ago
Eugen Rochko
4cbca05197
Potentially fix notifications issue
8 years ago
Eugen
20cb576da1
Fix inflection
8 years ago
Eugen Rochko
2c29cc400e
Improve error page layouting. 500 page has to stay static because it's
...
used from nginx when Rails fails.
8 years ago
Eugen Rochko
280348f1e0
Merge branch 'fix/error-pages' of https://github.com/ineffyble/mastodon into ineffyble-fix/error-pages
8 years ago
Eugen Rochko
f4836b9077
Method to fetch a single notification
8 years ago
Eugen Rochko
f748a91ec7
Fix #463 - Fetch and display previews of URLs using OpenGraph tags
8 years ago
Eugen Rochko
a88f9a5ca9
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
8 years ago
Eugen Rochko
f4d7f4c687
Fix #238 - Add "favourites" column
8 years ago
Effy Elden
80f186cdf0
Add nice error page for CSRF errors/cookie issue, and fix error page handling altogether
8 years ago
Effy Elden
8e0c1914fb
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
8 years ago
Eugen Rochko
f2667139ad
Adding about/more page with extended information that can be set up by an admin
8 years ago
Eugen Rochko
533448be42
Add extended about page stub
8 years ago
Eugen Rochko
6d98465db2
Extend rails-settings-cached to merge db-saved hash values with defaults
8 years ago
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
8 years ago
Eugen Rochko
c8bcd413e2
Home column filters
8 years ago
Eugen Rochko
4293e132d1
Persist UI settings, add missing localizations for German
8 years ago
Eugen Rochko
0df070596e
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.
8 years ago
Eugen Rochko
800f6cf6a3
Fix #390 - fix redirect after sign-up (to login page instead of homepage)
8 years ago
Eugen Rochko
6ef2b5d1c7
Fix admin UI not loading JS, make sure to strip "acct:" out of remote account's usernames when authorizing follow
8 years ago
Eugen Rochko
3e6b5d67dd
Fix uri expansion during remote follow
8 years ago
Eugen Rochko
df2f14d2dd
Adding remote follow button
8 years ago
Eugen Rochko
6a20c13009
Add API for retrieving favourites
8 years ago
Eugen Rochko
2bc6e7c96e
Add API for retrieving blocked accounts
8 years ago
Eugen Rochko
4030321d95
Support remote follow request providing URL instead of acct
8 years ago
Eugen Rochko
57f6f80838
Add ability to use remote follow function on other sites
8 years ago
Eugen Rochko
fde1917a54
Add preferences for follow request notification e-mails
8 years ago
Eugen Rochko
cef68b9b1c
Follow requests send e-mail notifications, but are excluded from notifications API
...
Better initial state for unlisted/nsfw toggles
8 years ago
Eugen Rochko
6a54df90c8
Replacing follow requests in the settings area with in-UI column
8 years ago
Eugen Rochko
ef9e827c54
Adding follow requests API
8 years ago
Eugen Rochko
d253b0dec6
Fix #86 - resolve layout breaking on zoom-out on accounts grid
8 years ago
Eugen Rochko
302051ffcb
Add page for authorizing/rejecting follow requests
8 years ago
Eugen Rochko
77cd58545d
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
8 years ago
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
8 years ago
Eugen Rochko
09a477c782
Add "locked" flag to accounts, prevent blocked users from following, force-unfollow blocked users
8 years ago
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
8 years ago
Eugen Rochko
090e3a245d
Fix #249 - use window.location hack to let people login from sandboxed iOS homescreen
8 years ago
Eugen Rochko
b2945b025f
Make unfavouriting async to prevent timeout errors from leaving orphaned records behind
8 years ago
Eugen Rochko
346aae50b0
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
8 years ago
Eugen Rochko
6d7f3be2f6
Add OEmbed iframe HTML, convert emojis on public pages, increase size of attachment thumbnails
8 years ago
Eugen Rochko
66e08d880c
Improved admin UI
8 years ago
Eugen Rochko
88218c83d5
Add suspend account functionality to admin UI
8 years ago
Eugen Rochko
7752662f97
Add filters for suspended accounts
8 years ago
Eugen Rochko
5522606989
Add single user mode
8 years ago
Eugen Rochko
ca0757a6cf
Add account suspension
8 years ago
Eugen Rochko
68586258ca
Adding more to admin accounts UI
8 years ago
Eugen Rochko
7c81e7e9c7
Fix public tags page
8 years ago
Eugen Rochko
b506010b4f
Add "next" pagination to public profiles
8 years ago
Eugen Rochko
fb61dd14c5
Admin accounts page lists accounts
8 years ago
Eugen Rochko
2d4ce8a867
Fix #248 - Reload all accounts when fetching from cache
8 years ago
Eugen Rochko
8260628fc8
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
8 years ago
Eugen Rochko
a8814a19dc
Add basic OEmbed provider API, fix #247
8 years ago
Eugen Rochko
8d4ef0b6c3
Per-status control for unlisted mode, also federation for unlisted mode
...
Fix #233 , fix #268
8 years ago
Eugen Rochko
1bb1ec3b8d
Further abstract caching for includes
8 years ago
Eugen Rochko
329b2a326d
Normalize localizations, add stub for admin/accounts
8 years ago
Eugen Rochko
015cd99f41
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
8 years ago
Eugen Rochko
bee7aeaea5
Unify collection caching code
8 years ago
Eugen Rochko
d26b8f3cce
Delete statuses asynchronously but provide instant feedback in the API
8 years ago
Eugen Rochko
02da8fdcbe
Fix setting of confirmed=true on successful confirmation
8 years ago
Eugen Rochko
f37efe8e56
Add simple admin overview of PuSH subscriptions
8 years ago
Eugen Rochko
b5ad0eb4ea
Adding embedded PuSH server
8 years ago
Eugen Rochko
abeccf6eb2
X-RateLimit-Reset formatted with iso8601
8 years ago
Eugen Rochko
666eda7256
Remove stale entries from cache results
8 years ago
Eugen Rochko
ea0846645a
Fix #65 - Options to block notifications from people you don't follow/who don't follow you
8 years ago
Eugen Rochko
30f9e9e624
Remove Neo4J
8 years ago
Eugen Rochko
8ab2fcbb2c
Mini Profiler not working well, remove it
8 years ago
Alyssa Ross
cb06801b21
Extract filename obfuscation into module
8 years ago
Andrea Faulds
66a20701b7
Rename media to avoid exposing filename ( fixes #207 )
8 years ago
Eugen Rochko
d78962c1ed
Cache accounts/:id/statuses and single statuses too
8 years ago
Eugen Rochko
65d6191147
Adding sensitive marker to statuses in API
8 years ago
Eugen Rochko
c60df460af
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
8 years ago
Eugen Rochko
dda6354c76
Implement includes caching for timelines APIs
8 years ago
Eugen Rochko
f6a975af8b
More query optimizations
8 years ago
Eugen Rochko
30010a6dbd
Moving some counter queries out of subqueries in the API
8 years ago
Eugen Rochko
f07b0dc82f
Remove unneeded indices, improve error handling in background workers, don't needlessly reload reblogged status, send Devise e-mails asynchronously
8 years ago
Eugen Rochko
74df3ba1d7
Local accounts can control "silenced" attribute which removes them from public timeline
8 years ago
Eugen Rochko
0aeae195cb
Better error message in doorkeeper json response
8 years ago
Eugen Rochko
0a68464995
Performance improvement for notifications API
8 years ago
Eugen Rochko
4d100a1b36
Remove some n+1 queries from notifications API
8 years ago
Eugen Rochko
83cdfefa7d
Remove orphaned notifications, add scopes param to app create API
8 years ago
Eugen Rochko
80d58c6c04
Desktop notifications
8 years ago
Eugen Rochko
38025dfea3
Adding unified streamable notifications
8 years ago
Eugen Rochko
fbaddca49e
Move Salmon processing to background as well as PuSH
8 years ago
Eugen Rochko
b8e6ca45e5
Add user locale setting
8 years ago
Eugen Rochko
0e956910c3
Adding some localizations
8 years ago
Eugen Rochko
c6f5eb8aa7
Fix #144 - Filter statuses from blocked users out of ancestors/descendants results
8 years ago
Eugen Rochko
e71b152d89
Fix rubocop issues, introduce usage of frozen literal to improve performance
8 years ago
Eugen Rochko
a7332acba3
Delegate processing of incoming PuSH data to background workers
8 years ago
Eugen Rochko
19ea717b3c
Fix wrong link header on followers API, wrong link in tabs component, order
...
account results
8 years ago
Eugen Rochko
6206f75837
Add limit to search results
8 years ago
Eugen Rochko
cbfa28b9cc
Use full-text search for autosuggestions
8 years ago
Eugen Rochko
6d9f8ee11e
Improve filtering of public/hashtag timelines, both in backlog and real-time
8 years ago
Eugen Rochko
a6667f7f58
Replace setting custom CORS headers with rack-cors, set it on /oauth/token endpoint
8 years ago
Eugen Rochko
beb36e24fe
API pagination for all collections using Link header
8 years ago
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
8 years ago
Eugen Rochko
814907e870
Fix linking of remote hashtags in UI, add public view of hashtags
8 years ago
Eugen Rochko
cb22dce970
Adding hashtags
8 years ago
Eugen Rochko
082e57fc13
Adding hashtag model
8 years ago
Eugen Rochko
4c3885b952
Allow @username@domain/@username in follow form, prevent duplicate accounts
...
created via remote look-up when domains differ but point to the same resource
8 years ago
Eugen Rochko
7a527c947d
Fix reblogged/favourited caching; add API endpoints for who favd/reblogged status
8 years ago
Eugen Rochko
695f62e49e
Need to disable caching again due to bug in Rabl
8 years ago
Eugen Rochko
e7035a4d39
Make cookies https-only if LOCAL_HTTPS is true, set X-Frame-Options to DENY,
...
add permissive CORS to API controllers
8 years ago
Eugen Rochko
36470feeb2
Fix follow icon changing plus to minus, add terms page stub
8 years ago
Eugen Rochko
95e65d883a
Limit returned followees/followers by API to 40 for now
8 years ago
Eugen Rochko
38cacac4b0
Adding common followers API, fixing fallback query again
8 years ago
Eugen Rochko
cab1211ef7
Fix OAuth authorization redirect
8 years ago
Eugen Rochko
6657414266
Adding OAuth access scopes, fixing OAuth authorization UI, adding rate limiting
...
to the API
8 years ago
Eugen Rochko
4470966cd9
Fix #100 - Add "back" button to certain views
...
Also fix reloading of timelines after merge-type events
8 years ago
Eugen Rochko
be98addccc
Improving all forms
8 years ago
Eugen Rochko
683c42724f
Added e-mail edit field to settings, proper format default for webfinger
8 years ago
Eugen Rochko
02613aef3b
Adding application/jrd+json webfinger resource
8 years ago
Eugen Rochko
41aae40927
Fix #16 - Optimize n+1 queries when checking reblogged/favourited values for status lists in API
8 years ago
Eugen Rochko
5860094354
Adding sync of follow relationships to Neo4J, accounts/suggestions API
8 years ago
Eugen Rochko
588cb77e9f
E-mail preferences page
8 years ago
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
8 years ago
Eugen Rochko
405f7f0541
No-op for Salmons without body, fail fast if Webfinger does not contain
...
all required resource links (profile page, salmon, atom feed, magic key)
8 years ago
Eugen Rochko
ad2a5cc79f
Stop logging incoming Atom
8 years ago
Eugen Rochko
4f406d89b1
Log incoming Atom from PuSH
8 years ago
Eugen Rochko
102eab0ac9
Public timeline to exclude users you blocked
8 years ago
Eugen Rochko
9bf5a73968
Adding domain blocks
8 years ago
Eugen Rochko
c3f5dfeabb
Adding public timeline
8 years ago
Eugen Rochko
93aa4085a2
Fix #73 - Click on in-UI profile avatar/name to open public profile
8 years ago
Eugen Rochko
10395fd275
Fix #72 - add follow/unfollow button to public profiles
8 years ago
Eugen Rochko
b23c4b488c
Better comparison of "local" domain
8 years ago
Eugen Rochko
c02bdd64a0
Fix sign-in redirecting "back" to a missing image because missing static files hit the raise_not_found method
8 years ago
Eugen Rochko
96cc77ce55
Catch Paperclip errors on /api/v1/media, return early from update profile service if XML given is nil
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
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
fc198a8b4c
Adding e-mail confirmations
8 years ago
Eugen Rochko
188c6f326b
Making public pages responsive, removing reblogs/favs counts from them
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
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
927333f4f8
Improve code style
8 years ago
Eugen Rochko
e63aebff7a
Adding landing page
8 years ago
Eugen Rochko
4f9b7432dd
Fix #52 - Add API versioning (v1)
8 years ago
Eugen Rochko
7e14eefc81
Replace logo, fix #57 - delete/unreblog/unfavourite API, fix #45 - app
...
registration API
8 years ago
Eugen Rochko
693383234c
Improved style of settings page
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
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
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
059ebbf48d
Separate PuSH subscriptions from following, add mastodon:push:refresh task,
...
respect hub.lease_seconds (fix #46 )
8 years ago
Eugen Rochko
adffc7a495
Fix #43
8 years ago
Eugen Rochko
bd5ad304ba
Adding media controller, 1 webm/compose form allowed, previews generated
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 Rochko
5b0cef9781
Setting up preliminary "detailed" routes in the UI, new API end-point for fetching status context
8 years ago
Eugen Rochko
d6a64f45fd
Adding a notification stack for error messages
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
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
eec0dc46a6
PostStatusService can attach media to status, ProcessFeedService likewise
8 years ago
Eugen Rochko
ae1fac0062
Add API to upload media attachments
8 years ago
Eugen Rochko
b5ebf99439
Possibly fix issue with stale favourite/reblog information after API call
8 years ago
Eugen Rochko
54ea7f5dfe
Case-insensitive search by usernames
8 years ago
Eugen Rochko
92afd29650
The frontend will now be an OAuth app, auto-authorized. The frontend will use an access token for API requests
...
Adding better errors for the API controllers, posting a simple status works from the frontend now
8 years ago
Eugen Rochko
bc0692d75b
Removing mini-profiler that doesn't work, formatting timelines a bit better
8 years ago
Eugen Rochko
49520d6e62
Adding React.js, Redux, revamping dashboard
8 years ago
Eugen Rochko
8985f8e66c
Fixing more configuration issues with ActionCable
8 years ago
Eugen Rochko
8459acd123
Fix for force SSL issue with websockets
8 years ago
Eugen Rochko
6426819b6f
Fix tests
8 years ago
Eugen Rochko
6deb9f966e
Live timelines using ActionCable
8 years ago
Eugen Rochko
10ba09f546
Upgrade to Rails 5.0.0.1
8 years ago
Eugen Rochko
ff2cbc0753
Remember me enabled by default
9 years ago
Eugen Rochko
85b00d19b8
Moving Salmon notifications to background processing, fixing mini-profiler
...
behaviour with Turbolinks enabled, optimizing Rabl for production
9 years ago
Eugen Rochko
da4b675aca
Fix favourite handling in ProcessInteractionService
9 years ago
Eugen Rochko
43bb8a25e7
Remember user logins by default
9 years ago
Eugen Rochko
5764d52b04
Fix Sidekiq pooling issues. Remove API docs from homepage, replace with
...
a basic home timeline
9 years ago
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
9 years ago
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
9 years ago
Eugen Rochko
9594f0e858
Fix preloading
9 years ago
Eugen Rochko
0f5bbb999c
Pre-loading polymorphic associations for Atom feeds
9 years ago
Eugen Rochko
7e58303a8d
Limit Atom feeds to 20 items by default, add pagination by max_id
...
(But there are no Atom feed pagination elements yet)
9 years ago
Eugen Rochko
082e1cbe5a
Fix default max_id query in paginate_by_max_id
9 years ago
Eugen Rochko
12559b01ea
Add pagination by max_id instead of offset/limit
9 years ago
Eugen Rochko
f14f462eaf
Adding Turbolinks, adding status posting form on homepage
9 years ago
Eugen Rochko
c28971c70c
Fixed the lookup API method
9 years ago
Eugen Rochko
02696a063e
Change default avatar, redirect to home after sign up
9 years ago
Eugen Rochko
9d55529318
Fix text color in dashboard inputs, sanitize remote status content in UI,
...
simplify FanOutOnWriteService, add /api/accounts/lookup method
9 years ago
Eugen Rochko
7e00a21ea6
Small optimizations in Atom feeds
9 years ago
Eugen Rochko
19a259915e
Security update
9 years ago
Eugen Rochko
2ba6537f52
Escape PuSH challenge and change subscriptions and salmon APIs to text/plain
9 years ago
Eugen Rochko
b640f35621
Writing out more tests, fixed some bugs
9 years ago
Eugen Rochko
e14b76c7cb
On following/followers pages, show most recent first
9 years ago
Eugen Rochko
71ae4dd3d2
Adding public following and followers pages, fix #3
9 years ago
Eugen Rochko
c349200761
Removing some unused gems, adding pagination to profiles, fix #10
9 years ago
Eugen Rochko
9a7485d034
Fix typo on /api/accounts/:id/statuses, fix potential case-sensitivity issue
...
when registering incoming status mentions, add Travis CI file
9 years ago
Eugen Rochko
323474c97e
Fix #2 , add rake task for PuSH-unsubscribing from remote users who have no
...
local followers. Remote users' usernames SHOULD be case-sensitive
9 years ago
Eugen Rochko
9cb690c706
Access tokens no longer expire, case-insensitive local username validation, as well as case-insensitive Webfinger look-up
9 years ago
Eugen Rochko
6fec8afc3f
Bind oauth applications to users
9 years ago
Eugen Rochko
3441361568
Adding simple_form, adding profile settings, header image
9 years ago
Eugen Rochko
1aa477ac2f
Customized more doorkeeper views, only logged in users can create oauth apps
9 years ago
Eugen Rochko
aab9f57e36
Adding config for puma, dashboard layout, fixing some queries
9 years ago
Eugen Rochko
447cfef62d
Improving feed queries, switching API to doorkeeper authentication
9 years ago
Eugen Rochko
6c4c84b161
Distrubute statuses as a fan-out-on-write system, with optional precomputing
9 years ago
Eugen Rochko
fe57f6330f
API methods for retrieving home and mentions timelines
9 years ago
Eugen Rochko
f099bc6091
Adding API for favouriting a status
9 years ago
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.
9 years ago
Eugen Rochko
3824c58853
Adding GNU Public license, adding home timeline, reblog/favourite counters
9 years ago
Eugen Rochko
c605b828b5
Adding routes to follow, unfollow, favourite and reblog (locally known models)
9 years ago
Eugen Rochko
aab330eb2d
Adjusting design of public pages, optimizing account page queries
9 years ago
Eugen Rochko
ab80ebdeec
Adjusting design of profile and entry pages, linkify mentions in statuses
9 years ago
Eugen Rochko
6045b6cb18
Customizing devise views and controllers
9 years ago
Eugen Rochko
3b4e04dc32
Fixing some bugs, adding pending test examples
9 years ago
Eugen Rochko
23d08c6749
Changing the use of config constants to the Rails configuration object
9 years ago
Eugen Rochko
0e8f59c16f
Refactoring Grape API methods into normal controllers & other things
9 years ago
Eugen Rochko
47d50b0e39
A lot of fixes from a live test
9 years ago
Eugen Rochko
24646d5769
Adding views for the profile and entry pages
9 years ago
Eugen Rochko
fa33750105
Adding reblogs, favourites, improving atom generation
9 years ago
Eugen Rochko
2bc48e9064
Individual atom entries
9 years ago
Eugen Rochko
1dad72bf13
Fixes and general progress
9 years ago
Eugen Rochko
709c6685a9
Made some progress
9 years ago
Eugen Rochko
9c4856bdb1
Initial commit
9 years ago