Matt Jankowski
be1ecde300
Clean up settings/preferences controller ( #2237 )
...
* Add missing fields group on preferences page
* Clean up settings/preferences controller
* Extract a UserSettingsDecorator
8 years ago
abcang
815462feff
Fix html escape characters in the URL ( #2138 )
...
* fix character escaping in URL
* add tests
* put a comma after the last item
* add HTML escape test
8 years ago
Matt Jankowski
4591c7dbdb
Language detection refactor ( #2099 )
...
* Extract detect_language to separate class
* Use default locale, not just en
* Add spec to confirm that whatlanguage cant identify empty string
* Allow account locale to override default in language detector
* PostStatusService supplies an account to detect language
8 years ago
Eugen
7e230fc786
Fix #1972 , fix #1870 - Fix special characters in XML, add tests ( #1988 )
...
Also improve efficiency of the mastodon:maintenance:add_static_avatars task
8 years ago
Eugen
4921bf4b20
Fix #1870 - Strip control characters out of strings in AtomSerializer ( #1876 )
...
* Fix #1870 - Strip control characters out of strings in AtomSerializer
* Adjust according to comment by @alpaca-tc
8 years ago
Eugen
b9b9edd4c8
Add language detection ( #1772 )
...
* Add language detection via WhatLanguage and (de)serialization of it through Atom
* Fix default language in ProcessFeedService
* Re-add newline before 'react-rails' Gem to fix groupings
Fixes Code Climate issue
8 years ago
Eugen
86e2b25355
Fix #1852 - Ensure feeds have valid <title> tags ( #1875 )
8 years ago
ThibG
c45c67c2ac
Allow running mastodon on a different domain as the one used for identifying users ( #1267 )
...
* Allow running mastodon on a different domain as the one used for identifying users
* Alter documentation of WEB_DOMAIN to make clear it shouldn't be used unless the admin knows what they are doing
* Compare to web_domain instead of local_domain when dealing with feeds/API
* Correctly identify mentions to local accounts
Mentions URLs point to the person's web profile, i.e., the user page served on WEB_DOMAIN.
8 years ago
Effy Elden
089c5a76ba
Change usage of gsub to delete, as per Code Climate/Rubocop recommendation ( #1753 )
8 years ago
Eugen
5c414c98e2
Fix #1220 , fix #1671 - Hook up comment box to the Redux comment value ( #1699 )
...
Fix username styling regression introduced in #1063
Fix report screen background regression introduced in #1415
8 years ago
Eugen
5f9cd9b246
Fix #1609 , fix #1628 - Revert #1397 ( #1700 )
...
When transmitting data in a HTML-encoded element like <content type="html" />,
relying on newlines being preserved is not wise, since HTML by itself
does not care for newlines - it cares for <p> and <br>
Additional fix: reset NSFW toggle after sending toot
8 years ago
Matt Jankowski
49c3000d62
Organize coverage dirs ( #1695 )
...
* Add `Presenters` group to SimpleCov configuration
* Move validators to app/validators, add to simplecov config
8 years ago
Ben Roberts
462e956164
significant improvement in microformats markup ( #1063 )
...
* significant improvement in microformats markup
This is a huge improvement and I believe will close #965 .
Had these microformats reviewed by others in the community to help
ensure they are at least correct, if not complete.
I did not want to change the structure of the page, and so there it does
not fully mark up the entire ancestry chain, or reply chain, only the
direct decendants and direct ancestors are correctly associated, but
this is likely fine as the most important bit is to have access to the
urls for those toots which are now correctly fetchable.
* improve code climate
* trying to pass code climate tests
* code climate
* fix p-summary for content warning posts
* fix error introduced when merging via github
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
43143fb22e
Remove order prior to .find_in_batches ( #1470 )
...
The `Status` class has a default order on it, so when this query gets built and
gets all the way to `find_in_batches` there is an order already there.
When `find_in_batches` is run it discards any existing order on the query, and
emits a warning to the logs if there is one there.
This change removes the order prior calling `find_in_batches`, which will stop
the logged warning from occurring as well.
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
Rachel H
b07990c94f
Keep newlines in xml ( #1397 )
8 years ago
Eugen
d30a82a22f
Fix #1339 - better Atom titles ( #1343 )
8 years ago
Joël Quenneville
8a67fb5eca
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
Eugen Rochko
eaa0b8e669
Fix nil#object_type error
8 years ago
Eugen Rochko
a1c63cb01d
Re-add forgotten <author> element on standalone <entry>
8 years ago
Eugen
1781fcaea4
Force UTF8 encoding on generated XML ( #1140 )
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
Eugen Rochko
5189ce9cd1
Replace calls to FeedManager#inline_render and #broadcast
8 years ago
Kurtis Rainbolt-Greene
9b8f587c8d
Moved to the worker
8 years ago
Kurtis Rainbolt-Greene
9e58c2b0e3
This method isn't used anymore
8 years ago
Kurtis Rainbolt-Greene
de1bb4bd56
By pushing this into a worker we can reduce the amount of time the feed manager using workers eat up a connection
8 years ago
Eugen
4751381a24
Merge pull request #852 from peterkeen/email-whitelist-817
...
[#817 ] Add email whitelist
8 years ago
Eugen
6a8bb89f80
Merge pull request #858 from krainboltgreene/patch-6
...
Use active record shorthand
8 years ago
Eugen Rochko
fa2a1af90a
Spawn FeedInsertWorker to deliver status into personal feed
8 years ago
Kurtis Rainbolt-Greene
8dace45447
Use active record shorthand
8 years ago
Pete Keen
f28fcf9080
[ #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
8 years ago
Eugen Rochko
e60c473917
Reduce number of items in feeds, optimize regeneration worker slightly,
...
make regeneration worker unique, (only schedule/execute once at a time)
8 years ago
Eugen Rochko
9123aca6df
Optimize FeedManager#unmerge, and slightly optimize FeedManager#merge
8 years ago
Eugen Rochko
fbf64105a5
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
8 years ago
Eugen Rochko
8796f7a125
Add check for visibility.nil? even though it can't ever be, to check for race conditions
8 years ago
Eugen Rochko
4db2e2f4eb
Fix issue with feed merge-in code as well
8 years ago
Eugen Rochko
4ef48bcc42
Fix #408 - link @ names in bios
8 years ago
Eugen Rochko
b3cb765a94
Prettier account and stream entry URLs
8 years ago
Eugen Rochko
f1b9644cfd
Add "direct" visibility level in the backend. Web UI is not yet
...
adjusted to allow choosing it, yet
8 years ago
Eugen Rochko
0cb5a2a0a7
Add digest e-mails
8 years ago
Eugen Rochko
9989890e2e
Fix #231 - Muting
8 years ago
Kit Redgrave
4554ccd5d0
Mute button progress so far. WIP, doesn't entirely work correctly.
8 years ago
Eugen Rochko
cb17a23483
If a status is within 40 statuses from the top of a home feed, do not
...
reinsert it when someone boosts it
8 years ago
Eugen Rochko
ff8a080d40
Add validation of media attachments, clean up mastodon-own exception classes
8 years ago
Eugen Rochko
75d5dc1df8
Improve glow
8 years ago
Eugen Rochko
7413dcb28a
Fix #555 - Use a better URL parser
8 years ago
Eugen Rochko
ce193afa4f
Mentions in private statuses allow mentioned people to see them
8 years ago
Eugen Rochko
59c8c2b28a
Make follow requests federate
8 years ago
Eugen Rochko
81be690f95
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
9c736975bd
Fix showing ellipsis even when link hasn't been cut off
8 years ago
Eugen Rochko
728817fba2
Add tracking of delay to streaming API
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
27ad4ce9e8
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
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
cb33960e0e
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
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
28e65027b2
Fix #365 , 1/2 of #408 - replace rails_autolink with URI.regexp, run link_hashtags on simplified_format
8 years ago
Eugen Rochko
f748a91ec7
Fix #463 - Fetch and display previews of URLs using OpenGraph tags
8 years ago
Eugen Rochko
86264a950c
Add optional StatsD performance tracking
8 years ago
Eugen Rochko
5d88ef90c9
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
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
043d9114bf
Federate blocks with the http://mastodon.social/schema/1.0 verb namespace
8 years ago
Eugen Rochko
d7bc0d8a33
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
337c3d0ed8
Private posts mentioning non-followers should not notify them, neither locally nor via Salmon
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
47921a626c
Fixed AS delete verb
8 years ago
Eugen Rochko
a2fee40e8f
Fix whitespace preservation in status text
8 years ago
Eugen Rochko
e5e702a976
Adding configurable e-mail blacklist
8 years ago
Eugen Rochko
42b065d3d7
Automatically block outgoing notifications from silenced accounts to users
...
who don't follow them
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
ea0846645a
Fix #65 - Options to block notifications from people you don't follow/who don't follow you
8 years ago
Eugen Rochko
3b3bf2dd59
Filter statuses that mention blocked users
8 years ago
Eugen Rochko
38025dfea3
Adding unified streamable notifications
8 years ago
Eugen Rochko
e71b152d89
Fix rubocop issues, introduce usage of frozen literal to improve performance
8 years ago
Eugen Rochko
7a55e3c409
Fix #63 - Filter mentions that reply to blocked users
8 years ago
Eugen Rochko
ebe726f774
Fix #122 - Add microformats-2 classes to mention links
8 years ago
Eugen Rochko
6d9f8ee11e
Improve filtering of public/hashtag timelines, both in backlog and real-time
8 years ago
Eugen Rochko
f1d2c46ded
Improve feed regeneration
8 years ago
Eugen Rochko
8f0869876b
Improved configuration from ENV, cleaned up timeline filter methods
...
to be more readable, add extra logging to process feed service
8 years ago
Eugen Rochko
6d948a809e
Account notes (bios) can now contain links. Character limit upped to 160
8 years ago
Eugen Rochko
cb22dce970
Adding hashtags
8 years ago
Eugen Rochko
082e57fc13
Adding hashtag model
8 years ago
Eugen Rochko
72565e9e61
Fix subtle bugs, new icon button
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
12a6eb95be
Make account domains case-insensitive, downcase before checking against local
8 years ago
Eugen Rochko
c3f5dfeabb
Adding public timeline
8 years ago
Eugen Rochko
b23c4b488c
Better comparison of "local" domain
8 years ago
Eugen Rochko
9d59d7b463
Adding a block model and filter mentions from blocked users ( fix #60 )
8 years ago
Eugen Rochko
be86d4e0a3
Preparing feeds for better filtering
8 years ago
Eugen Rochko
a4f7eca5fa
Fix #25 - Only latest reblog of status kept on feed as zset value is set to "true" status ID
8 years ago
Eugen Rochko
927333f4f8
Improve code style
8 years ago
Eugen Rochko
4f9b7432dd
Fix #52 - Add API versioning (v1)
8 years ago
Eugen
3f75f52285
Fix subtle home feed filtering bug
8 years ago
Eugen Rochko
ce29624c6d
Fixing image upload limits, allowing webm, merge/unmerge events trigger
...
timeline reload in UI, other small fixes
8 years ago
Eugen Rochko
3d566279cb
Fix formatter return block
8 years ago
Eugen Rochko
0077fc26df
Merge and unmerge timelines on follow/unfollow, solves #21 , #22
8 years ago
Eugen Rochko
73615d7a79
Newlines and paragraphs in local statuses properly formatted
8 years ago
Eugen Rochko
33ad2e5423
Shorten mentions to only usernames
8 years ago
Eugen Rochko
3cc47beb6e
Refactored generation of unique tags, URIs and object URLs into own classes,
...
as well as formatting of content
8 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