Matt Jankowski
f025cc6782
Filter on allowed user language preferences ( #2361 )
...
* Naive approached to timeline filtering
* Convert allowed_languages into a db column
* Allow users to choose languages to see statuses in
* Style list items as two columns
* Add a hint to explain language filtering preference
8 years ago
Matt Jankowski
effb08edbb
More status specs ( #2564 )
...
* Add rough outline of coverage needed for public timeline
* Specs for visibility, replies, boosts
* Specs for silenced account
* Specs for local_only option
* Specs for blocks and mutes
* Add tentative spec around including other silenced account statuses
* Add with_public_visibility scope
* Add simple coverage for tag_timeline
* Tag timeline includes replies
* Replace tag.statuses with a tagged_with scope in tag timeline method
* Use with_public_visibility in tag timeline
* Extract common scope between public and tag timelines to method
* Extract local domain check to local_only scope
* Extract local_only check to starting scope method
* Move list of excluded from timeline account ids to account model
* Simplify excluded accounts list on account model
* Only join accounts when needed
* Rename method for account specific filtering
* Extract method for account exclusions
* Fix bug where silenced accounts were not including statuses from other silenced accounts
* DRY up filter application from account or no account
* timeline_scope can be private
* Add spec showing that account can find its excluded accounts ids
* Add spec which fails if local_only does not have a left outer join
* rubocop
8 years ago
Eugen Rochko
d4fedf84e0
Cache Status#ancestors recursive query results ( #2527 )
8 years ago
Tomohiro Suwa
1f805a6377
Don't need to include ActiveModel::Validations ( #2521 )
8 years ago
Evan Minto
66fd8e7821
ActivityPub: Add basic, read-only support for Outboxes, Notes, and Create/Announce Activities ( #2197 )
...
* Clean up collapsible components
* Expose user Outboxes and AS2 representations of statuses
* Save work thus far.
* Fix bad merge.
* Save my work
* Clean up pagination.
* First test working.
* Add tests.
* Add Forbidden error template.
* Revert yarn.lock changes.
* Fix code style deviations and use localized instead of hardcoded English text.
8 years ago
alpaca-tc
2c0d756ad9
Extract error messages to locale file ( #2162 )
8 years ago
839
e2a1b574ab
Avoid dynamic methods due to processing speed ( #2080 )
8 years ago
Eugen Rochko
f5cd0b4956
Rename cache key to exclude_account_ids_for:id, adjust formatting
8 years ago
Eugen Rochko
2fd0473aa1
Merge branch 'fix/cache_blocking' of git://github.com/pixiv/mastodon into pixiv-fix/cache_blocking
8 years ago
alpaca-tc
630de52fdd
Required foreign keys ( #2003 )
...
* Add `required: true` option to foreign column
* Fixes NoMethodError
```
> Favourite.new.valid?
NoMethodError: undefined method `reblog?' for nil:NilClass
```
8 years ago
Effy Elden
acd33101c5
Merge branch 'master' into fix/cache_blocking
8 years ago
Matt Jankowski
73b0af5c93
Simplify the og:image and og:description code in stream_entries/show ( #1934 )
8 years ago
Keiji Yoshimi
fd81916e86
cache blockings for reducing queries.
8 years ago
Eugen
c172919745
Fix #1339 - better Atom titles ( #1343 )
8 years ago
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.
8 years ago
Brad Urani
6a1da87cd3
Eliminate unnecessary queries and query clauses with none and all
8 years ago
Eugen Rochko
4c53af64f0
Fix ActionController::Parameters in API issue
8 years ago
Eugen Rochko
de22c202f5
Add counter caches for a large performance increase on API requests
8 years ago
Eugen Rochko
74ae158c2f
Add "direct" visibility level in the backend. Web UI is not yet
...
adjusted to allow choosing it, yet
8 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
8 years ago
Eugen Rochko
c64a1c25c4
Fix #231 - Muting
8 years ago
Kit Redgrave
442fdbfc53
Mute button progress so far. WIP, doesn't entirely work correctly.
8 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
8 years ago
Eugen Rochko
24ba7c9762
Adding index overview for reports in admin UI
8 years ago
Eugen Rochko
31c633e528
Fix Status.permitted_for scope query
8 years ago
Eugen Rochko
dc851c922e
Mentions in private statuses allow mentioned people to see them
8 years ago
Eugen Rochko
0afed995ce
Fix the fix
8 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
8 years ago
Eugen Rochko
ac035108aa
Add "clear notifications" button, exclude posts from people who have blocked *you* from public/hashtag timelines
8 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
8 years ago
Eugen Rochko
77e13c2bc9
Removing failed push notification API, make context loads use cache
8 years ago
Eugen Rochko
d9ca46b464
Cleaning up format of broadcast real-time messages, removing
...
redis-backed "mentions" timeline as redundant (given notifications)
8 years ago
Eugen Rochko
bf60f2898d
Fix #529 - Make hashtag timelines show conversations, fix hashtag loading in the UI
8 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
8 years ago
blackle
bf0f6eb62d
Implement a click-to-view spoiler system
8 years ago
Eugen Rochko
f0de621e76
Fix #463 - Fetch and display previews of URLs using OpenGraph tags
8 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
8 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
8 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
8 years ago
Eugen Rochko
7376af90f7
Don't show statuses to blocked users
8 years ago
Eugen Rochko
6e064cf715
Fix account timelines bug
8 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
8 years ago
Eugen Rochko
f91b6fa9e1
Merge branch 'master' into development
8 years ago
Eugen Rochko
3caf0cfb03
Ensure that reblogs and favs always refer to the original status rather than a reblog wrapper
8 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
8 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
Eugen Rochko
b13e7dda1f
API pagination for all collections using Link header
8 years ago
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
8 years ago
Eugen Rochko
48b9619439
Adding hashtags
8 years ago
Eugen Rochko
62292797ec
Adding hashtag model
8 years ago
Eugen Rochko
0160d1d9b5
Enable caching for some rabl views
8 years ago
Eugen Rochko
909d0d5e88
Adding public timeline silencing
8 years ago
Eugen Rochko
a782e3b39d
Actually fix public timeline
8 years ago
Eugen Rochko
b5c6d00afa
Fix #99 - public timeline not just reblogs, fix #98 infinite scrolling issues
8 years ago
Eugen Rochko
de1f3aab86
Fix #16 - Optimize n+1 queries when checking reblogged/favourited values for status lists in API
8 years ago
Eugen Rochko
1de2833f30
Filter out reblogs of blocked users from public timeline (the not real-time variant)
8 years ago
Eugen Rochko
427ba27641
Public timeline to exclude users you blocked
8 years ago
Eugen Rochko
2d4f9ecebf
Validate against multiple reblogs of same status by same account
8 years ago
Eugen Rochko
927333f4f8
Improve code style
8 years ago
Eugen Rochko
e9bc4a4a08
Limit usernames to 30 chars, statuses to 500, open account after follow form success
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
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
1d9c886518
Adding enclosures to Atom and statuses JSON
8 years ago
Eugen Rochko
ae1fac0062
Add API to upload media attachments
8 years ago
Eugen Rochko
10ba09f546
Upgrade to Rails 5.0.0.1
8 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
318886287b
Fixing some stuff for Turbolinks, adding gzip on top, fixing a n+1 query
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
0f5bbb999c
Pre-loading polymorphic associations for Atom feeds
9 years ago
Eugen Rochko
c8999a116e
Sanitize remote html in atom feeds, API (not just UI), use cached mention
...
relations on Status#mentions
9 years ago
Eugen Rochko
7cd3de3494
Do display top-level content on remote shared notices
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
35aafdba96
Ancestors and descendants of statuses
9 years ago
Eugen Rochko
7e00a21ea6
Small optimizations in Atom feeds
9 years ago
Eugen Rochko
f97fc9744f
Use FanOutOnWriteService AFTER processing mentions
9 years ago
Eugen Rochko
5c99e304e5
Deleting statuses, deletion propagation
9 years ago
Eugen Rochko
75b3339a99
Respect "delete" verb on remote feeds
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
aab330eb2d
Adjusting design of public pages, optimizing account page queries
9 years ago
Eugen Rochko
f16b31f077
Adding a bunch of tests
9 years ago
Eugen Rochko
71fe24096c
Adding a Mention model, test stubs
9 years ago
Eugen Rochko
79609d6270
Add service for posting statuses (normal and replies), mention regex to
...
fetch webfinger information of mentioned accounts
9 years ago
Eugen Rochko
fa7868675d
Send Salmon interactions
9 years ago
Eugen Rochko
fa33750105
Adding reblogs, favourites, improving atom generation
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