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.
7 years ago
Brad Urani
6a1da87cd3
Eliminate unnecessary queries and query clauses with none and all
7 years ago
Eugen Rochko
4c53af64f0
Fix ActionController::Parameters in API issue
7 years ago
Eugen Rochko
de22c202f5
Add counter caches for a large performance increase on API requests
7 years ago
Eugen Rochko
35933167c0
Add counter caches for a large performance increase on API requests
7 years ago
Eugen Rochko
74ae158c2f
Add "direct" visibility level in the backend. Web UI is not yet
adjusted to allow choosing it, yet
7 years ago
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
7 years ago
Eugen Rochko
c64a1c25c4
Fix #231 - Muting
7 years ago
Kit Redgrave
442fdbfc53
Mute button progress so far. WIP, doesn't entirely work correctly.
7 years ago
Eugen Rochko
4aa5ebe591
Split public timeline into "public timeline" which is local, and
"whole known network" which is what public timeline used to be
Only domain blocks with suspend severity will block PuSH subscriptions
Silenced accounts should not appear in conversations unless followed
7 years ago
Eugen Rochko
24ba7c9762
Adding index overview for reports in admin UI
7 years ago
Eugen Rochko
31c633e528
Fix Status.permitted_for scope query
7 years ago
Eugen Rochko
dc851c922e
Mentions in private statuses allow mentioned people to see them
7 years ago
Eugen Rochko
0afed995ce
Fix the fix
7 years ago
Eugen Rochko
6331ed16e5
Fix #614 - extra reply-boolean on statuses to account for cases when replied-to
status is not in the system at time of distribution; fix #607 - reset privacy
settings to defaults when cancelling replies
7 years ago
Eugen Rochko
ac035108aa
Add "clear notifications" button, exclude posts from people who have blocked *you* from public/hashtag timelines
7 years ago
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
7 years ago
Eugen Rochko
77e13c2bc9
Removing failed push notification API, make context loads use cache
7 years ago
Eugen Rochko
d9ca46b464
Cleaning up format of broadcast real-time messages, removing
redis-backed "mentions" timeline as redundant (given notifications)
7 years ago
Eugen Rochko
bf60f2898d
Fix #529 - Make hashtag timelines show conversations, fix hashtag loading in the UI
7 years ago
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
7 years ago
blackle
bf0f6eb62d
Implement a click-to-view spoiler system
7 years ago
Eugen Rochko
f0de621e76
Fix #463 - Fetch and display previews of URLs using OpenGraph tags
7 years ago
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
7 years ago
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
7 years ago
Eugen Rochko
8d44281677
Set in_reply_to_account on statuses to non-self value when possible, thus
resolving the confusion from self-chain replies ultimately linking to a
non-self status. Adjust filters
7 years ago
Eugen Rochko
7376af90f7
Don't show statuses to blocked users
7 years ago
Eugen Rochko
6e064cf715
Fix account timelines bug
7 years ago
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
7 years ago
Eugen Rochko
3caf0cfb03
Ensure that reblogs and favs always refer to the original status rather than a reblog wrapper
7 years ago
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
7 years ago
Eugen Rochko
84d2371d6a
Fix
8 years ago
Eugen Rochko
39cc9fde8a
Add account suspension
8 years ago
Eugen Rochko
b14b5e3b44
Improve notification model
8 years ago
Eugen Rochko
816284d739
Fix #248 - Reload all accounts when fetching from cache
8 years ago
Eugen Rochko
3114e55c7a
Fix #323 - self-replies to appear in public timelines again
8 years ago
Eugen Rochko
58b3f4fd67
Fix #329 - avatar errors no longer prevent remote accounts from being saved
(without avatar). Also improved search position of exact matches
8 years ago
Eugen Rochko
14bd46946d
Per-status control for unlisted mode, also federation for unlisted mode
Fix #233 , fix #268
8 years ago
Eugen Rochko
a21bcac9e1
Further abstract caching for includes
8 years ago
Eugen Rochko
8a4913fde0
Public and hashtag timelines now exclude reblogs and replies
Fix #289 - don't download avatar unless the URL is http/https
Fix #293 - reblog/reblogged is now boost/boosted
8 years ago
Eugen Rochko
cf912e01fd
Implement includes caching for timelines APIs
8 years ago
Eugen Rochko
5c78547198
More query optimizations
8 years ago
Eugen Rochko
fc90d38893
Moving some counter queries out of subqueries in the API
8 years ago
Eugen Rochko
e8c27767aa
Remove orphaned notifications, add scopes param to app create API
8 years ago
Eugen Rochko
882de42bab
Validate presence of text even for remote statuses
8 years ago
Eugen Rochko
4f07fb1f0a
Fix #144 - Filter statuses from blocked users out of ancestors/descendants results
8 years ago
Eugen Rochko
fdc17bea58
Fix rubocop issues, introduce usage of frozen literal to improve performance
8 years ago
Eugen Rochko
0320ea4b85
Fix public timeline query
8 years ago
Eugen Rochko
aabf884c5f
Discard misattributed remote statuses, improve timelines filter
8 years ago
Eugen Rochko
17903c6dae
Improve filtering of public/hashtag timelines, both in backlog and real-time
8 years ago