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
2017-04-19 14:52:18 +02:00
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
2017-04-18 22:20:12 +02:00
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
2017-04-17 19:58:54 +02:00
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
2017-04-16 20:32:27 +02:00
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
2017-04-16 20:32:17 +02:00
Eugen
95bcbaa434
Fix #1852 - Ensure feeds have valid <title> tags ( #1875 )
2017-04-16 02:40:36 +02:00
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.
2017-04-15 02:15:46 +02:00
Effy Elden
8321884eef
Change usage of gsub to delete, as per Code Climate/Rubocop recommendation ( #1753 )
2017-04-14 12:50:00 +02:00
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
2017-04-13 19:36:41 +02:00
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
2017-04-13 19:23:36 +02:00
Matt Jankowski
b330d1f000
Organize coverage dirs ( #1695 )
...
* Add `Presenters` group to SimpleCov configuration
* Move validators to app/validators, add to simplecov config
2017-04-13 16:00:31 +02:00
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
2017-04-12 20:04:33 +02:00
Matt Jankowski
c44a700252
Quick best practice cleanup of views/helpers ( #1546 )
...
* Remove trailing whitespace
* Use query methods instead of explicit .blank? checks
2017-04-12 18:24:18 +02:00
Matt Jankowski
aa90798386
Webfinger resource to extract username from resource string ( #1607 )
...
* Add WebfingerResource class to extract usernames
* Use WebfingerResource in xrd#webfinger
2017-04-12 18:22:38 +02:00
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.
2017-04-11 00:38:34 +02:00
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
2017-04-10 22:58:06 +02:00
Rachel H
f690320fb9
Keep newlines in xml ( #1397 )
2017-04-10 21:32:45 +02:00
Eugen
c172919745
Fix #1339 - better Atom titles ( #1343 )
2017-04-09 20:55:54 +02:00
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.
2017-04-07 14:18:30 -04:00
Eugen Rochko
8a6d8de60a
Fix nil#object_type error
2017-04-07 13:05:34 +02:00
Eugen Rochko
624a9a7136
Re-add forgotten <author> element on standalone <entry>
2017-04-07 12:21:00 +02:00
Eugen
1c351709bc
Force UTF8 encoding on generated XML ( #1140 )
2017-04-07 11:09:14 +02:00
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
2017-04-07 05:56:56 +02:00
Eugen Rochko
5b95be1c42
Replace calls to FeedManager#inline_render and #broadcast
2017-04-05 19:45:18 +02:00
Kurtis Rainbolt-Greene
7bed4e51db
Moved to the worker
2017-04-04 20:51:44 -07:00
Kurtis Rainbolt-Greene
dc5704b0b0
This method isn't used anymore
2017-04-04 20:38:07 -07:00
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
2017-04-04 20:23:40 -07:00
Eugen
117b22e905
Merge pull request #852 from peterkeen/email-whitelist-817
...
[#817 ] Add email whitelist
2017-04-05 03:04:58 +02:00
Eugen
2edeb3fe1c
Merge pull request #858 from krainboltgreene/patch-6
...
Use active record shorthand
2017-04-05 02:53:39 +02:00
Eugen Rochko
6fd865c000
Spawn FeedInsertWorker to deliver status into personal feed
2017-04-04 19:21:37 +02:00
Kurtis Rainbolt-Greene
731e650681
Use active record shorthand
2017-04-04 09:04:07 -07:00
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
2017-04-04 11:20:15 -04:00
Eugen Rochko
82aaedec46
Reduce number of items in feeds, optimize regeneration worker slightly,
...
make regeneration worker unique, (only schedule/execute once at a time)
2017-04-04 13:58:34 +02:00
Eugen Rochko
b1f3499c38
Optimize FeedManager#unmerge, and slightly optimize FeedManager#merge
2017-04-04 13:43:36 +02:00
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
2017-04-04 13:01:14 +02:00
Eugen Rochko
8232f76c48
Add check for visibility.nil? even though it can't ever be, to check for race conditions
2017-04-03 22:54:46 +02:00
Eugen Rochko
d6b965cf08
Fix issue with feed merge-in code as well
2017-04-02 15:58:25 +02:00
Eugen Rochko
139fc994e2
Fix #408 - link @ names in bios
2017-03-28 14:16:08 +02:00
Eugen Rochko
d6ed2eb512
Prettier account and stream entry URLs
2017-03-22 19:55:14 +01:00
Eugen Rochko
74ae158c2f
Add "direct" visibility level in the backend. Web UI is not yet
...
adjusted to allow choosing it, yet
2017-03-15 22:55:45 +01:00
Eugen Rochko
6b81d10030
Add digest e-mails
2017-03-04 00:00:48 +01:00
Eugen Rochko
c64a1c25c4
Fix #231 - Muting
2017-03-02 18:49:32 +01:00
Kit Redgrave
442fdbfc53
Mute button progress so far. WIP, doesn't entirely work correctly.
2017-03-01 22:31:21 -06:00
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
2017-03-01 01:07:11 +01:00
Eugen Rochko
5f511324b6
Add validation of media attachments, clean up mastodon-own exception classes
2017-02-26 23:23:06 +01:00
Eugen Rochko
9d4cad6307
Improve glow
2017-02-23 02:14:35 +01:00
Eugen Rochko
3202bdd744
Fix #555 - Use a better URL parser
2017-02-22 19:35:11 +01:00
Eugen Rochko
dc851c922e
Mentions in private statuses allow mentioned people to see them
2017-02-11 15:10:22 +01:00
Eugen Rochko
149887a0ff
Make follow requests federate
2017-02-11 02:58:00 +01:00
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
2017-02-09 20:25:39 +01:00
Eugen Rochko
6fa4e01139
Fix showing ellipsis even when link hasn't been cut off
2017-02-05 15:29:16 +01:00
Eugen Rochko
fb6aa7ad5c
Add tracking of delay to streaming API
2017-02-05 03:19:04 +01:00
Eugen Rochko
d9ca46b464
Cleaning up format of broadcast real-time messages, removing
...
redis-backed "mentions" timeline as redundant (given notifications)
2017-02-02 00:03:31 +01:00
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
2017-01-27 16:57:23 +01:00
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
2017-01-25 01:29:16 +01:00
Eugen
f8da0dd490
Merge branch 'master' into master
2017-01-24 21:56:06 +01:00
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
2017-01-24 17:05:44 +01:00
blackle
bf0f6eb62d
Implement a click-to-view spoiler system
2017-01-23 21:07:40 -05:00
Eugen Rochko
cca82bf0a2
Move merging/unmerging of timelines into background. Move blocking into
...
background as well since it's a computationally expensive
2017-01-23 21:29:34 +01:00
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
2017-01-23 21:09:27 +01:00
Eugen Rochko
d4d56b8af0
Fix #365 , 1/2 of #408 - replace rails_autolink with URI.regexp, run link_hashtags on simplified_format
2017-01-23 14:45:09 +01:00
Eugen Rochko
f0de621e76
Fix #463 - Fetch and display previews of URLs using OpenGraph tags
2017-01-20 01:00:14 +01:00
Eugen Rochko
306eb6e9c9
Add optional StatsD performance tracking
2017-01-18 23:44:29 +01:00
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
2017-01-15 14:01:33 +01:00
Eugen Rochko
e25170f960
Add extended about page stub
2017-01-13 03:24:41 +01:00
Eugen Rochko
2939e9898b
Extend rails-settings-cached to merge db-saved hash values with defaults
2017-01-13 02:42:22 +01:00
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
2017-01-12 20:46:24 +01:00
Eugen Rochko
c04002b340
Federate blocks with the http://mastodon.social/schema/1.0 verb namespace
2017-01-02 12:17:51 +01:00
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
2016-12-31 14:36:25 +01:00
Eugen Rochko
f729cfc881
Private posts mentioning non-followers should not notify them, neither locally nor via Salmon
2016-12-22 23:14:24 +01:00
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
2016-12-22 23:03:57 +01:00
Eugen Rochko
2d2154ba75
Add "locked" flag to accounts, prevent blocked users from following, force-unfollow blocked users
2016-12-22 21:34:19 +01:00
Eugen Rochko
4284093aa3
Fixed AS delete verb
2016-12-14 15:13:39 +01:00
Eugen Rochko
6a5036ab19
Fix whitespace preservation in status text
2016-12-11 23:08:46 +01:00
Eugen Rochko
b362de2232
Adding configurable e-mail blacklist
2016-12-04 19:07:02 +01:00
Eugen Rochko
00e9dac1d3
Automatically block outgoing notifications from silenced accounts to users
...
who don't follow them
2016-12-04 16:51:49 +01:00
Eugen Rochko
14bd46946d
Per-status control for unlisted mode, also federation for unlisted mode
...
Fix #233 , fix #268
2016-11-30 21:34:59 +01:00
Eugen Rochko
71401659b8
Fix #65 - Options to block notifications from people you don't follow/who don't follow you
2016-11-25 13:13:16 +01:00
Eugen Rochko
e3ed212b85
Filter statuses that mention blocked users
2016-11-25 12:35:52 +01:00
Eugen Rochko
da2ef4d676
Adding unified streamable notifications
2016-11-20 19:39:58 +01:00
Eugen Rochko
fdc17bea58
Fix rubocop issues, introduce usage of frozen literal to improve performance
2016-11-15 16:56:29 +01:00
Eugen Rochko
f8f15e5697
Fix #63 - Filter mentions that reply to blocked users
2016-11-13 21:11:45 +01:00
Eugen Rochko
ca3b364aea
Fix #122 - Add microformats-2 classes to mention links
2016-11-10 01:19:33 +01:00
Eugen Rochko
17903c6dae
Improve filtering of public/hashtag timelines, both in backlog and real-time
2016-11-10 00:03:33 +01:00
Eugen Rochko
bb4d1eb2e8
Improve feed regeneration
2016-11-08 02:08:32 +01:00
Eugen Rochko
dbe00a4156
Improved configuration from ENV, cleaned up timeline filter methods
...
to be more readable, add extra logging to process feed service
2016-11-07 23:20:52 +01:00
Eugen Rochko
23fc424b7a
Account notes (bios) can now contain links. Character limit upped to 160
2016-11-07 01:14:12 +01:00
Eugen Rochko
48b9619439
Adding hashtags
2016-11-05 17:13:14 +01:00
Eugen Rochko
62292797ec
Adding hashtag model
2016-11-04 19:12:59 +01:00
Eugen Rochko
4b357ecf98
Fix subtle bugs, new icon button
2016-11-02 22:29:19 +01:00
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
2016-10-13 16:51:34 +02:00
Eugen Rochko
aec51e40ee
Make account domains case-insensitive, downcase before checking against local
2016-10-10 03:34:15 +02:00
Eugen Rochko
1f650d327d
Adding public timeline
2016-10-07 16:00:11 +02:00
Eugen Rochko
15d01a5e08
Better comparison of "local" domain
2016-10-06 16:36:16 +02:00
Eugen Rochko
9d59d7b463
Adding a block model and filter mentions from blocked users ( fix #60 )
2016-10-03 17:12:13 +02:00
Eugen Rochko
be86d4e0a3
Preparing feeds for better filtering
2016-10-02 15:28:47 +02:00
Eugen Rochko
a4f7eca5fa
Fix #25 - Only latest reblog of status kept on feed as zset value is set to "true" status ID
2016-09-29 21:40:37 +02:00
Eugen Rochko
927333f4f8
Improve code style
2016-09-29 21:28:21 +02:00
Eugen Rochko
4f9b7432dd
Fix #52 - Add API versioning (v1)
2016-09-27 16:59:08 +02:00
Eugen
3f75f52285
Fix subtle home feed filtering bug
2016-09-27 10:52:37 +02:00