Eugen
9d3be5579a
Improve bio compatibility ( #2278 )
...
* Fix #1057 (close #1819 ) - Move HTML-formatted bio from <poco:note /> to <summary type="html" />
* Ensure <poco:note /> is plaintext for remote accounts, also, by stripping out HTML
8 years ago
Mingye Wang
5c9aa2b732
Fix mangling of ##tag matches ( #2194 ) ( #2247 )
...
This commit fixes hashtag_html so it correctly handles matches with multiple hash-signs.
Bug located by @over9001, initial fix suggested by @nightpool.
8 years ago
Matt Jankowski
2dda356e3f
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
70891a99a9
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
297c11dba2
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
15ec4ae07b
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
f902a335f9
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
e4af4898de
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
95bcbaa434
Fix #1852 - Ensure feeds have valid <title> tags ( #1875 )
8 years ago
ThibG
a9529d3b4b
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
8321884eef
Change usage of gsub to delete, as per Code Climate/Rubocop recommendation ( #1753 )
8 years ago
Eugen
ac54da9394
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
043862f411
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
b330d1f000
Organize coverage dirs ( #1695 )
...
* Add `Presenters` group to SimpleCov configuration
* Move validators to app/validators, add to simplecov config
8 years ago
Ben Roberts
0254ee9795
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
c44a700252
Quick best practice cleanup of views/helpers ( #1546 )
...
* Remove trailing whitespace
* Use query methods instead of explicit .blank? checks
8 years ago
Matt Jankowski
aa90798386
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
b57eed4584
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
0687ab8ae3
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
f690320fb9
Keep newlines in xml ( #1397 )
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
Eugen Rochko
8a6d8de60a
Fix nil#object_type error
8 years ago
Eugen Rochko
624a9a7136
Re-add forgotten <author> element on standalone <entry>
8 years ago
Eugen
1c351709bc
Force UTF8 encoding on generated XML ( #1140 )
8 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
8 years ago
Eugen Rochko
5b95be1c42
Replace calls to FeedManager#inline_render and #broadcast
8 years ago
Kurtis Rainbolt-Greene
7bed4e51db
Moved to the worker
8 years ago
Kurtis Rainbolt-Greene
dc5704b0b0
This method isn't used anymore
8 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
8 years ago
Eugen
117b22e905
Merge pull request #852 from peterkeen/email-whitelist-817
...
[#817 ] Add email whitelist
8 years ago
Eugen
2edeb3fe1c
Merge pull request #858 from krainboltgreene/patch-6
...
Use active record shorthand
8 years ago
Eugen Rochko
6fd865c000
Spawn FeedInsertWorker to deliver status into personal feed
8 years ago
Kurtis Rainbolt-Greene
731e650681
Use active record shorthand
8 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
8 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)
8 years ago
Eugen Rochko
b1f3499c38
Optimize FeedManager#unmerge, and slightly optimize FeedManager#merge
8 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
8 years ago
Eugen Rochko
8232f76c48
Add check for visibility.nil? even though it can't ever be, to check for race conditions
8 years ago
Eugen Rochko
d6b965cf08
Fix issue with feed merge-in code as well
8 years ago
Eugen Rochko
139fc994e2
Fix #408 - link @ names in bios
8 years ago
Eugen Rochko
d6ed2eb512
Prettier account and stream entry URLs
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
6b81d10030
Add digest e-mails
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
7f0d1b8cc0
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
5f511324b6
Add validation of media attachments, clean up mastodon-own exception classes
8 years ago
Eugen Rochko
9d4cad6307
Improve glow
8 years ago
Eugen Rochko
3202bdd744
Fix #555 - Use a better URL parser
8 years ago
Eugen Rochko
dc851c922e
Mentions in private statuses allow mentioned people to see them
8 years ago
Eugen Rochko
149887a0ff
Make follow requests federate
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
6fa4e01139
Fix showing ellipsis even when link hasn't been cut off
8 years ago
Eugen Rochko
fb6aa7ad5c
Add tracking of delay to streaming API
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
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
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
Eugen
f8da0dd490
Merge branch 'master' into master
8 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
8 years ago
blackle
bf0f6eb62d
Implement a click-to-view spoiler system
8 years ago
Eugen Rochko
cca82bf0a2
Move merging/unmerging of timelines into background. Move blocking into
...
background as well since it's a computationally expensive
8 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
8 years ago
Eugen Rochko
d4d56b8af0
Fix #365 , 1/2 of #408 - replace rails_autolink with URI.regexp, run link_hashtags on simplified_format
8 years ago
Eugen Rochko
f0de621e76
Fix #463 - Fetch and display previews of URLs using OpenGraph tags
8 years ago
Eugen Rochko
306eb6e9c9
Add optional StatsD performance tracking
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
Eugen Rochko
e25170f960
Add extended about page stub
8 years ago
Eugen Rochko
2939e9898b
Extend rails-settings-cached to merge db-saved hash values with defaults
8 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
8 years ago
Eugen Rochko
c04002b340
Federate blocks with the http://mastodon.social/schema/1.0 verb namespace
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
f729cfc881
Private posts mentioning non-followers should not notify them, neither locally nor via Salmon
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
2d2154ba75
Add "locked" flag to accounts, prevent blocked users from following, force-unfollow blocked users
8 years ago
Eugen Rochko
4284093aa3
Fixed AS delete verb
8 years ago
Eugen Rochko
6a5036ab19
Fix whitespace preservation in status text
8 years ago
Eugen Rochko
b362de2232
Adding configurable e-mail blacklist
8 years ago
Eugen Rochko
00e9dac1d3
Automatically block outgoing notifications from silenced accounts to users
...
who don't follow them
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
71401659b8
Fix #65 - Options to block notifications from people you don't follow/who don't follow you
8 years ago
Eugen Rochko
e3ed212b85
Filter statuses that mention blocked users
8 years ago
Eugen Rochko
da2ef4d676
Adding unified streamable notifications
8 years ago
Eugen Rochko
fdc17bea58
Fix rubocop issues, introduce usage of frozen literal to improve performance
8 years ago
Eugen Rochko
f8f15e5697
Fix #63 - Filter mentions that reply to blocked users
8 years ago
Eugen Rochko
ca3b364aea
Fix #122 - Add microformats-2 classes to mention links
8 years ago
Eugen Rochko
17903c6dae
Improve filtering of public/hashtag timelines, both in backlog and real-time
8 years ago
Eugen Rochko
bb4d1eb2e8
Improve feed regeneration
8 years ago
Eugen Rochko
dbe00a4156
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
23fc424b7a
Account notes (bios) can now contain links. Character limit upped to 160
8 years ago
Eugen Rochko
48b9619439
Adding hashtags
8 years ago
Eugen Rochko
62292797ec
Adding hashtag model
8 years ago
Eugen Rochko
4b357ecf98
Fix subtle bugs, new icon button
8 years ago
Eugen Rochko
33f7e1cf99
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
aec51e40ee
Make account domains case-insensitive, downcase before checking against local
8 years ago
Eugen Rochko
1f650d327d
Adding public timeline
8 years ago
Eugen Rochko
15d01a5e08
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