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
Eugen Rochko
8a6d8de60a
Fix nil#object_type error
7 years ago
Eugen Rochko
624a9a7136
Re-add forgotten <author> element on standalone <entry>
7 years ago
Eugen
1c351709bc
Force UTF8 encoding on generated XML ( #1140 )
7 years ago
Eugen
6d6a429af8
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
7 years ago
Eugen Rochko
5b95be1c42
Replace calls to FeedManager#inline_render and #broadcast
7 years ago
Eugen Rochko
8530f9413b
Replace ActionCable broadcast call with simple redis publish
7 years ago
Kurtis Rainbolt-Greene
7bed4e51db
Moved to the worker
7 years ago
Kurtis Rainbolt-Greene
dc5704b0b0
This method isn't used anymore
7 years ago
Kurtis Rainbolt-Greene
1e96ce378e
By pushing this into a worker we can reduce the amount of time the feed manager using workers eat up a connection
7 years ago
Eugen Rochko
6fd865c000
Spawn FeedInsertWorker to deliver status into personal feed
7 years ago
Kurtis Rainbolt-Greene
731e650681
Use active record shorthand
7 years ago
Pete Keen
e9a6da6bc7
[ #817 ] Add email whitelist
This adds the ability to filter user signup with a whitelist
instead of or in addition to a blacklist.
Fixes #817
7 years ago
Eugen Rochko
82aaedec46
Reduce number of items in feeds, optimize regeneration worker slightly,
make regeneration worker unique, (only schedule/execute once at a time)
7 years ago
Eugen Rochko
b1f3499c38
Optimize FeedManager#unmerge, and slightly optimize FeedManager#merge
7 years ago
Eugen Rochko
ce9df2fa82
Optimize filter methods in FeedManager a bit, use redis pipelining on merge/unmerge feed methods,
do not re-create a dynamic class on each feed push call, make sure redis-rb uses hiredis
7 years ago
Eugen Rochko
8232f76c48
Add check for visibility.nil? even though it can't ever be, to check for race conditions
7 years ago
Eugen Rochko
d6b965cf08
Fix issue with feed merge-in code as well
7 years ago
Eugen Rochko
139fc994e2
Fix #408 - link @ names in bios
7 years ago
Eugen Rochko
d6ed2eb512
Prettier account and stream entry URLs
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
6b81d10030
Add digest e-mails
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
7f0d1b8cc0
If a status is within 40 statuses from the top of a home feed, do not
reinsert it when someone boosts it
7 years ago
Eugen Rochko
5f511324b6
Add validation of media attachments, clean up mastodon-own exception classes
7 years ago
Eugen Rochko
9d4cad6307
Improve glow
7 years ago
Eugen Rochko
3202bdd744
Fix #555 - Use a better URL parser
7 years ago
Eugen Rochko
dc851c922e
Mentions in private statuses allow mentioned people to see them
7 years ago
Eugen Rochko
149887a0ff
Make follow requests federate
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
6fa4e01139
Fix showing ellipsis even when link hasn't been cut off
7 years ago
Eugen Rochko
fb6aa7ad5c
Add tracking of delay to streaming API
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
450ad43180
Do not run FetchLinkCardService on local URLs, increase file size limit to 8MB,
fix ProcessFeedService pushing status into distribution if called a second time
while the first is still running (i.e. when a PuSH comes after a Salmon slap),
fix not running escape on spoiler text before emojify
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
Eugen Rochko
80cefd5b3c
Fix #204 , fix #515 - URL truncating is now a style so copypasting is not
affected, replaced onClick handler with onMouseUp/Down to detect text
selection not trigger onClick handler then
7 years ago
blackle
bf0f6eb62d
Implement a click-to-view spoiler system
7 years ago
Eugen Rochko
cca82bf0a2
Move merging/unmerging of timelines into background. Move blocking into
background as well since it's a computationally expensive
7 years ago
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
7 years ago
Eugen Rochko
d4d56b8af0
Fix #365 , 1/2 of #408 - replace rails_autolink with URI.regexp, run link_hashtags on simplified_format
7 years ago
Eugen Rochko
f0de621e76
Fix #463 - Fetch and display previews of URLs using OpenGraph tags
7 years ago
Eugen Rochko
306eb6e9c9
Add optional StatsD performance tracking
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
Eugen Rochko
e25170f960
Add extended about page stub
7 years ago
Eugen Rochko
2939e9898b
Extend rails-settings-cached to merge db-saved hash values with defaults
7 years ago
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
7 years ago
Eugen Rochko
c04002b340
Federate blocks with the http://mastodon.social/schema/1.0 verb namespace
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
f729cfc881
Private posts mentioning non-followers should not notify them, neither locally nor via Salmon
8 years ago