thredded 0.12.1 → 0.12.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/app/commands/thredded/at_notification_extractor.rb +1 -0
- data/app/commands/thredded/autofollow_users.rb +1 -0
- data/app/commands/thredded/create_messageboard.rb +1 -0
- data/app/commands/thredded/mark_all_read.rb +1 -0
- data/app/commands/thredded/moderate_post.rb +1 -0
- data/app/commands/thredded/notify_following_users.rb +1 -0
- data/app/commands/thredded/notify_private_topic_users.rb +1 -0
- data/app/controllers/concerns/thredded/new_post_params.rb +1 -0
- data/app/controllers/concerns/thredded/new_private_post_params.rb +1 -0
- data/app/controllers/concerns/thredded/new_private_topic_params.rb +1 -0
- data/app/controllers/concerns/thredded/new_topic_params.rb +1 -0
- data/app/controllers/concerns/thredded/render_preview.rb +1 -0
- data/app/controllers/thredded/application_controller.rb +1 -0
- data/app/controllers/thredded/autocomplete_users_controller.rb +1 -0
- data/app/controllers/thredded/messageboards_controller.rb +4 -3
- data/app/controllers/thredded/moderation_controller.rb +1 -0
- data/app/controllers/thredded/post_permalinks_controller.rb +1 -0
- data/app/controllers/thredded/post_previews_controller.rb +1 -0
- data/app/controllers/thredded/posts_controller.rb +1 -0
- data/app/controllers/thredded/preferences_controller.rb +4 -3
- data/app/controllers/thredded/private_post_permalinks_controller.rb +1 -0
- data/app/controllers/thredded/private_post_previews_controller.rb +1 -0
- data/app/controllers/thredded/private_posts_controller.rb +1 -0
- data/app/controllers/thredded/private_topic_previews_controller.rb +1 -0
- data/app/controllers/thredded/private_topics_controller.rb +1 -0
- data/app/controllers/thredded/read_states_controller.rb +1 -0
- data/app/controllers/thredded/theme_previews_controller.rb +1 -0
- data/app/controllers/thredded/topic_previews_controller.rb +1 -0
- data/app/controllers/thredded/topics_controller.rb +5 -4
- data/app/forms/thredded/edit_topic_form.rb +1 -0
- data/app/forms/thredded/post_form.rb +2 -0
- data/app/forms/thredded/private_post_form.rb +2 -0
- data/app/forms/thredded/private_topic_form.rb +1 -0
- data/app/forms/thredded/topic_form.rb +1 -0
- data/app/forms/thredded/user_preferences_form.rb +1 -0
- data/app/helpers/thredded/application_helper.rb +1 -0
- data/app/helpers/thredded/nav_helper.rb +7 -6
- data/app/helpers/thredded/render_helper.rb +1 -0
- data/app/helpers/thredded/urls_helper.rb +1 -0
- data/app/jobs/thredded/activity_updater_job.rb +1 -0
- data/app/jobs/thredded/auto_follow_and_notify_job.rb +1 -0
- data/app/jobs/thredded/notify_private_topic_users_job.rb +1 -0
- data/app/mailer_previews/thredded/base_mailer_preview.rb +2 -1
- data/app/mailer_previews/thredded/post_mailer_preview.rb +3 -2
- data/app/mailer_previews/thredded/private_topic_mailer_preview.rb +2 -1
- data/app/mailers/thredded/base_mailer.rb +1 -0
- data/app/mailers/thredded/post_mailer.rb +1 -0
- data/app/mailers/thredded/private_topic_mailer.rb +1 -0
- data/app/models/concerns/thredded/content_moderation_state.rb +1 -0
- data/app/models/concerns/thredded/friendly_id_reserved_words_and_pagination.rb +1 -0
- data/app/models/concerns/thredded/moderation_state.rb +2 -1
- data/app/models/concerns/thredded/notifier_preference.rb +1 -0
- data/app/models/concerns/thredded/post_common.rb +1 -0
- data/app/models/concerns/thredded/search_parser.rb +3 -2
- data/app/models/concerns/thredded/topic_common.rb +2 -1
- data/app/models/concerns/thredded/topics_search.rb +1 -0
- data/app/models/concerns/thredded/user_topic_read_state_common.rb +1 -0
- data/app/models/thredded/category.rb +2 -1
- data/app/models/thredded/messageboard.rb +5 -4
- data/app/models/thredded/messageboard_group.rb +1 -0
- data/app/models/thredded/messageboard_notifications_for_followed_topics.rb +2 -1
- data/app/models/thredded/messageboard_user.rb +1 -0
- data/app/models/thredded/notifications_for_followed_topics.rb +2 -1
- data/app/models/thredded/notifications_for_private_topics.rb +2 -1
- data/app/models/thredded/null_user.rb +1 -0
- data/app/models/thredded/null_user_topic_read_state.rb +1 -0
- data/app/models/thredded/post.rb +4 -3
- data/app/models/thredded/post_moderation_record.rb +3 -2
- data/app/models/thredded/private_post.rb +3 -2
- data/app/models/thredded/private_topic.rb +4 -3
- data/app/models/thredded/private_user.rb +2 -1
- data/app/models/thredded/stats.rb +1 -0
- data/app/models/thredded/topic.rb +6 -5
- data/app/models/thredded/topic_category.rb +1 -0
- data/app/models/thredded/user_detail.rb +2 -1
- data/app/models/thredded/user_extender.rb +2 -1
- data/app/models/thredded/user_messageboard_preference.rb +2 -1
- data/app/models/thredded/user_permissions/admin/if_admin_column_true.rb +1 -0
- data/app/models/thredded/user_permissions/admin/none.rb +1 -0
- data/app/models/thredded/user_permissions/message/readers_of_writeable_boards.rb +1 -0
- data/app/models/thredded/user_permissions/moderate/if_moderator_column_true.rb +1 -0
- data/app/models/thredded/user_permissions/moderate/none.rb +1 -0
- data/app/models/thredded/user_permissions/read/all.rb +1 -0
- data/app/models/thredded/user_permissions/write/all.rb +1 -0
- data/app/models/thredded/user_permissions/write/none.rb +1 -0
- data/app/models/thredded/user_post_notification.rb +2 -1
- data/app/models/thredded/user_preference.rb +2 -1
- data/app/models/thredded/user_private_topic_read_state.rb +2 -1
- data/app/models/thredded/user_topic_follow.rb +3 -2
- data/app/models/thredded/user_topic_read_state.rb +2 -1
- data/app/notifiers/thredded/base_notifier.rb +1 -1
- data/app/notifiers/thredded/email_notifier.rb +1 -0
- data/app/policies/thredded/messageboard_group_policy.rb +1 -0
- data/app/policies/thredded/messageboard_policy.rb +1 -0
- data/app/policies/thredded/post_policy.rb +1 -0
- data/app/policies/thredded/private_post_policy.rb +1 -0
- data/app/policies/thredded/private_topic_policy.rb +1 -0
- data/app/policies/thredded/topic_policy.rb +1 -0
- data/app/view_hooks/thredded/all_view_hooks.rb +1 -0
- data/app/view_models/thredded/base_topic_view.rb +1 -0
- data/app/view_models/thredded/messageboard_group_view.rb +1 -0
- data/app/view_models/thredded/post_view.rb +1 -0
- data/app/view_models/thredded/posts_page_view.rb +1 -0
- data/app/view_models/thredded/private_topic_view.rb +1 -0
- data/app/view_models/thredded/private_topics_page_view.rb +1 -0
- data/app/view_models/thredded/topic_email_view.rb +1 -0
- data/app/view_models/thredded/topic_posts_page_view.rb +1 -0
- data/app/view_models/thredded/topic_view.rb +1 -0
- data/app/view_models/thredded/topics_page_view.rb +1 -0
- data/app/views/thredded/messageboards/index.html.erb +2 -2
- data/app/views/thredded/posts_common/actions/_edit.html.erb +2 -1
- data/app/views/thredded/private_topics/_header.html.erb +2 -1
- data/app/views/thredded/topics/_header.html.erb +2 -1
- data/app/views/thredded/topics/index.html.erb +1 -1
- data/bin/rails +1 -0
- data/bin/rubocop +1 -0
- data/config/routes.rb +13 -12
- data/db/migrate/20160329231848_create_thredded.rb +75 -66
- data/db/upgrade_migrations/20160611094616_upgrade_v0_5_to_v0_6.rb +6 -3
- data/db/upgrade_migrations/20160723012349_upgrade_v0_6_to_v0_7.rb +4 -1
- data/db/upgrade_migrations/20161019150201_upgrade_v0_7_to_v0_8.rb +4 -1
- data/db/upgrade_migrations/20161113161801_upgrade_v0_8_to_v0_9.rb +11 -8
- data/db/upgrade_migrations/20170125033319_upgrade_v0_9_to_v0_10.rb +12 -6
- data/db/upgrade_migrations/20170312131417_upgrade_thredded_v0_10_to_v0_11.rb +6 -3
- data/db/upgrade_migrations/20170420163138_upgrade_thredded_v0_11_to_v0_12.rb +4 -1
- data/lib/generators/thredded/install/install_generator.rb +1 -0
- data/lib/generators/thredded/install/templates/initializer.rb +1 -0
- data/lib/tasks/thredded_tasks.rake +1 -0
- data/lib/thredded.rb +7 -0
- data/lib/thredded/base_migration.rb +14 -0
- data/lib/thredded/collection_to_strings_with_cache_renderer.rb +1 -0
- data/lib/thredded/content_formatter.rb +7 -6
- data/lib/thredded/database_seeder.rb +1 -0
- data/lib/thredded/db_tools.rb +9 -8
- data/lib/thredded/email_transformer.rb +1 -0
- data/lib/thredded/email_transformer/onebox.rb +1 -0
- data/lib/thredded/engine.rb +3 -2
- data/lib/thredded/errors.rb +1 -0
- data/lib/thredded/formatting_demo_content.rb +1 -0
- data/lib/thredded/html_pipeline/at_mention_filter.rb +3 -2
- data/lib/thredded/html_pipeline/autolink_filter.rb +1 -0
- data/lib/thredded/html_pipeline/kramdown_filter.rb +2 -1
- data/lib/thredded/html_pipeline/onebox_filter.rb +2 -1
- data/lib/thredded/html_pipeline/wrap_iframes_filter.rb +1 -0
- data/lib/thredded/version.rb +2 -1
- data/lib/thredded/view_hooks/config.rb +1 -0
- data/lib/thredded/view_hooks/renderer.rb +1 -0
- metadata +5 -7
- data/db/upgrade_migrations/20160410111522_upgrade_v0_2_to_v0_3.rb +0 -63
- data/db/upgrade_migrations/20160429222452_upgrade_v0_3_to_v0_4.rb +0 -13
- data/db/upgrade_migrations/20160501151908_upgrade_v0_4_to_v0_5.rb +0 -56
@@ -1,10 +1,13 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
|
2
|
+
|
3
|
+
require 'thredded/base_migration'
|
4
|
+
|
5
|
+
class UpgradeV05ToV06 < Thredded::BaseMigration
|
3
6
|
def up
|
4
|
-
add_column :thredded_messageboards, :last_topic_id, :
|
7
|
+
add_column :thredded_messageboards, :last_topic_id, column_type(:thredded_topics, :id)
|
5
8
|
Thredded::Messageboard.reset_column_information
|
6
9
|
Thredded::Messageboard.all.each do |messageboard|
|
7
|
-
messageboard.
|
10
|
+
messageboard.update_column :last_topic_id, messageboard.topics.order(updated_at: :desc, id: :desc).first.try(:id)
|
8
11
|
end
|
9
12
|
change_column_null :thredded_posts, :postable_id, false
|
10
13
|
# Allow null on user_id and last_user_id because users can get deleted.
|
@@ -1,5 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
|
2
|
+
|
3
|
+
require 'thredded/base_migration'
|
4
|
+
|
5
|
+
class UpgradeV07ToV08 < Thredded::BaseMigration
|
3
6
|
def up
|
4
7
|
closed_messageboards = Thredded::Messageboard.unscoped.where(closed: true).to_a
|
5
8
|
if closed_messageboards.present?
|
@@ -1,27 +1,30 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'thredded/base_migration'
|
4
|
+
|
2
5
|
# rubocop:disable Metrics/MethodLength
|
3
|
-
class UpgradeV08ToV09 <
|
6
|
+
class UpgradeV08ToV09 < Thredded::BaseMigration
|
4
7
|
def up
|
5
8
|
create_table :thredded_notifications_for_private_topics do |t|
|
6
|
-
t.
|
9
|
+
t.references :user, null: false, index: false, type: user_id_type
|
7
10
|
t.string :notifier_key, null: false, limit: 90
|
8
11
|
t.boolean :enabled, default: true, null: false
|
9
|
-
t.index [
|
12
|
+
t.index %i[user_id notifier_key],
|
10
13
|
name: 'thredded_notifications_for_private_topics_unique', unique: true
|
11
14
|
end
|
12
15
|
create_table :thredded_notifications_for_followed_topics do |t|
|
13
|
-
t.
|
16
|
+
t.references :user, null: false, index: false, type: user_id_type
|
14
17
|
t.string :notifier_key, null: false, limit: 90
|
15
18
|
t.boolean :enabled, default: true, null: false
|
16
|
-
t.index [
|
19
|
+
t.index %i[user_id notifier_key],
|
17
20
|
name: 'thredded_notifications_for_followed_topics_unique', unique: true
|
18
21
|
end
|
19
22
|
create_table :thredded_messageboard_notifications_for_followed_topics do |t|
|
20
|
-
t.
|
21
|
-
t.
|
23
|
+
t.references :user, null: false, index: false, type: user_id_type
|
24
|
+
t.references :messageboard, null: false, index: false, type: column_type(:thredded_messageboards, :id)
|
22
25
|
t.string :notifier_key, null: false, limit: 90
|
23
26
|
t.boolean :enabled, default: true, null: false
|
24
|
-
t.index [
|
27
|
+
t.index %i[user_id messageboard_id notifier_key],
|
25
28
|
name: 'thredded_messageboard_notifications_for_followed_topics_unique', unique: true
|
26
29
|
end
|
27
30
|
|
@@ -1,5 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
|
2
|
+
|
3
|
+
require 'thredded/base_migration'
|
4
|
+
|
5
|
+
class UpgradeV09ToV010 < Thredded::BaseMigration
|
3
6
|
def up
|
4
7
|
remove_foreign_key :thredded_messageboard_users, :thredded_messageboards
|
5
8
|
add_foreign_key :thredded_messageboard_users, :thredded_messageboards, on_delete: :cascade
|
@@ -7,14 +10,17 @@ class UpgradeV09ToV010 < ActiveRecord::Migration
|
|
7
10
|
add_foreign_key :thredded_messageboard_users, :thredded_user_details, on_delete: :cascade
|
8
11
|
|
9
12
|
create_table :thredded_user_post_notifications do |t|
|
10
|
-
t.references :user, null: false
|
11
|
-
t.
|
12
|
-
t.references :post, null: false
|
13
|
-
t.foreign_key :thredded_posts, column: :post_id, on_delete: :cascade
|
13
|
+
t.references :user, null: false, index: false, type: user_id_type
|
14
|
+
t.references :post, null: false, index: false, type: column_type(:thredded_posts, :id)
|
14
15
|
t.datetime :notified_at, null: false
|
15
16
|
t.index :post_id, name: :index_thredded_user_post_notifications_on_post_id
|
16
|
-
t.index [
|
17
|
+
t.index %i[user_id post_id], name: :index_thredded_user_post_notifications_on_user_id_and_post_id, unique: true
|
17
18
|
end
|
19
|
+
|
20
|
+
add_foreign_key :thredded_user_post_notifications,
|
21
|
+
Thredded.user_class.table_name, column: :user_id, on_delete: :cascade
|
22
|
+
add_foreign_key :thredded_user_post_notifications,
|
23
|
+
:thredded_posts, column: :post_id, on_delete: :cascade
|
18
24
|
end
|
19
25
|
|
20
26
|
def down
|
@@ -1,5 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
|
2
|
+
|
3
|
+
require 'thredded/base_migration'
|
4
|
+
|
5
|
+
class UpgradeThreddedV010ToV011 < Thredded::BaseMigration
|
3
6
|
def up
|
4
7
|
drop_table :thredded_post_notifications
|
5
8
|
add_column :thredded_user_preferences, :auto_follow_topics, :boolean, default: false, null: false
|
@@ -11,10 +14,10 @@ class UpgradeThreddedV010ToV011 < ActiveRecord::Migration
|
|
11
14
|
remove_column :thredded_user_preferences, :auto_follow_topics
|
12
15
|
create_table :thredded_post_notifications do |t|
|
13
16
|
t.string :email, limit: 191, null: false
|
14
|
-
t.references :post, null: false
|
17
|
+
t.references :post, null: false, index: false
|
15
18
|
t.timestamps null: false
|
16
19
|
t.string :post_type, limit: 191
|
17
|
-
t.index [
|
20
|
+
t.index %i[post_id post_type], name: :index_thredded_post_notifications_on_post
|
18
21
|
end
|
19
22
|
end
|
20
23
|
end
|
@@ -1,5 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
|
2
|
+
|
3
|
+
require 'thredded/base_migration'
|
4
|
+
|
5
|
+
class UpgradeThreddedV011ToV012 < Thredded::BaseMigration
|
3
6
|
def up
|
4
7
|
FriendlyId::Slug.transaction do
|
5
8
|
FriendlyId::Slug.where(sluggable_type: 'Thredded::Topic').where(
|
data/lib/thredded.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
# Backend
|
3
4
|
require 'pundit'
|
4
5
|
require 'active_record_union'
|
@@ -181,4 +182,10 @@ module Thredded
|
|
181
182
|
.includes(:postable)
|
182
183
|
)
|
183
184
|
end
|
185
|
+
|
186
|
+
# @api private
|
187
|
+
def self.rails_gte_51?
|
188
|
+
@rails_gte_51 = (Rails.gem_version >= Gem::Version.new('5.1.0')) if @rails_gte_51.nil?
|
189
|
+
@rails_gte_51
|
190
|
+
end
|
184
191
|
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Thredded
|
4
|
+
class BaseMigration < (Thredded.rails_gte_51? ? ActiveRecord::Migration[5.1] : ActiveRecord::Migration)
|
5
|
+
def user_id_type
|
6
|
+
Thredded.user_class.columns.find { |c| c.name == Thredded.user_class.primary_key }.sql_type
|
7
|
+
end
|
8
|
+
|
9
|
+
def column_type(table, column_name)
|
10
|
+
column_name = column_name.to_s
|
11
|
+
columns(table).find { |c| c.name == column_name }.sql_type
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
module Thredded
|
3
4
|
# Generates HTML from content source.
|
4
5
|
class ContentFormatter
|
@@ -6,7 +7,7 @@ module Thredded
|
|
6
7
|
mattr_accessor :whitelist
|
7
8
|
|
8
9
|
self.whitelist = HTML::Pipeline::SanitizationFilter::WHITELIST.deep_merge(
|
9
|
-
elements: HTML::Pipeline::SanitizationFilter::WHITELIST[:elements] + %w
|
10
|
+
elements: HTML::Pipeline::SanitizationFilter::WHITELIST[:elements] + %w[abbr iframe span figure figcaption],
|
10
11
|
transformers: HTML::Pipeline::SanitizationFilter::WHITELIST[:transformers] + [
|
11
12
|
lambda do |env|
|
12
13
|
next unless env[:node_name] == 'a'
|
@@ -19,12 +20,12 @@ module Thredded
|
|
19
20
|
end
|
20
21
|
],
|
21
22
|
attributes: {
|
22
|
-
'a' => %w
|
23
|
-
'abbr' => %w
|
24
|
-
'span' => %w
|
25
|
-
'div' => %w
|
23
|
+
'a' => %w[href rel],
|
24
|
+
'abbr' => %w[title],
|
25
|
+
'span' => %w[class],
|
26
|
+
'div' => %w[class],
|
26
27
|
:all => HTML::Pipeline::SanitizationFilter::WHITELIST[:attributes][:all] +
|
27
|
-
%w
|
28
|
+
%w[aria-label aria-labelledby aria-hidden],
|
28
29
|
}
|
29
30
|
)
|
30
31
|
|
data/lib/thredded/db_tools.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
module Thredded
|
3
4
|
module DbTools
|
4
5
|
class << self
|
@@ -11,10 +12,10 @@ module Thredded
|
|
11
12
|
def dump(to = dump_file)
|
12
13
|
case adapter
|
13
14
|
when /sqlite/i
|
14
|
-
system
|
15
|
+
system ['sqlite3', Rails.root.join(database), '.dump', '>', to].join(' ')
|
15
16
|
when /postgres/i
|
16
|
-
cmd = "pg_dump --
|
17
|
-
"
|
17
|
+
cmd = "pg_dump --dbname=postgresql://#{username}:#{password}@#{host}:5432/#{database}" \
|
18
|
+
"--verbose --clean --no-owner --no-acl --format=c > #{to}"
|
18
19
|
system cmd
|
19
20
|
when /mysql/i
|
20
21
|
system("mysqldump --user #{username} -p#{password} #{database} > #{to}")
|
@@ -25,11 +26,11 @@ module Thredded
|
|
25
26
|
case adapter
|
26
27
|
when /postgres/i
|
27
28
|
cmd = [
|
28
|
-
|
29
|
-
"--
|
30
|
-
|
31
|
-
|
32
|
-
|
29
|
+
'pg_restore --verbose --clean --no-owner --no-acl',
|
30
|
+
"--dbname=postgresql://#{username}:#{password}@#{host}:5432/#{database}",
|
31
|
+
from,
|
32
|
+
'>',
|
33
|
+
Rails.root.join('log', 'restore.log')
|
33
34
|
].join(' ')
|
34
35
|
system cmd
|
35
36
|
when /mysql/i, /sqlite/i
|
data/lib/thredded/engine.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
module Thredded
|
3
4
|
class Engine < ::Rails::Engine
|
4
5
|
isolate_namespace Thredded
|
@@ -17,11 +18,11 @@ module Thredded
|
|
17
18
|
end
|
18
19
|
|
19
20
|
initializer 'thredded.setup_assets' do
|
20
|
-
Thredded::Engine.config.assets.precompile += %w
|
21
|
+
Thredded::Engine.config.assets.precompile += %w[
|
21
22
|
thredded.js
|
22
23
|
thredded.css
|
23
24
|
thredded/*.svg
|
24
|
-
|
25
|
+
]
|
25
26
|
end
|
26
27
|
end
|
27
28
|
end
|
data/lib/thredded/errors.rb
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
module Thredded
|
3
4
|
module HtmlPipeline
|
4
5
|
class AtMentionFilter < ::HTML::Pipeline::Filter
|
5
|
-
DEFAULT_IGNORED_ANCESTOR_TAGS = %w
|
6
|
+
DEFAULT_IGNORED_ANCESTOR_TAGS = %w[pre code tt a style].freeze
|
6
7
|
|
7
8
|
# @param context [Hash]
|
8
9
|
# @option context :users_provider [#call(usernames)] given usernames, returns a list of users.
|
@@ -42,7 +43,7 @@ module Thredded
|
|
42
43
|
|
43
44
|
def highlight!(text_node_html)
|
44
45
|
names = mentioned_names(text_node_html)
|
45
|
-
return
|
46
|
+
return if names.blank?
|
46
47
|
@users_provider.call(names).each do |user|
|
47
48
|
name = user.thredded_display_name
|
48
49
|
maybe_quoted_name = name =~ /[., ()]/ ? %("#{name}") : name
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require 'kramdown'
|
3
4
|
module Thredded
|
4
5
|
module HtmlPipeline
|
@@ -12,7 +13,7 @@ module Thredded
|
|
12
13
|
input: 'GFM',
|
13
14
|
gfm_quirks: 'paragraph_end',
|
14
15
|
# Smart quotes conflict with @"at mentions". Disable smart quotes.
|
15
|
-
smart_quotes: %w
|
16
|
+
smart_quotes: %w[apos apos quot quot],
|
16
17
|
remove_block_html_tags: false,
|
17
18
|
syntax_highlighter: nil
|
18
19
|
}
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require 'onebox'
|
3
4
|
|
4
5
|
module Thredded
|
@@ -7,7 +8,7 @@ module Thredded
|
|
7
8
|
SANITIZE_CONFIG = Sanitize::Config.merge(
|
8
9
|
Sanitize::Config::ONEBOX,
|
9
10
|
attributes: {
|
10
|
-
'a' => Sanitize::Config::ONEBOX[:attributes]['a'] + %w
|
11
|
+
'a' => Sanitize::Config::ONEBOX[:attributes]['a'] + %w[target],
|
11
12
|
},
|
12
13
|
add_attributes: {
|
13
14
|
'iframe' => {
|
data/lib/thredded/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: thredded
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.12.
|
4
|
+
version: 0.12.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joel Oliveira
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-05-
|
12
|
+
date: 2017-05-10 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: pundit
|
@@ -457,14 +457,14 @@ dependencies:
|
|
457
457
|
requirements:
|
458
458
|
- - '='
|
459
459
|
- !ruby/object:Gem::Version
|
460
|
-
version: 0.
|
460
|
+
version: 0.48.1
|
461
461
|
type: :development
|
462
462
|
prerelease: false
|
463
463
|
version_requirements: !ruby/object:Gem::Requirement
|
464
464
|
requirements:
|
465
465
|
- - '='
|
466
466
|
- !ruby/object:Gem::Version
|
467
|
-
version: 0.
|
467
|
+
version: 0.48.1
|
468
468
|
- !ruby/object:Gem::Dependency
|
469
469
|
name: rails-i18n
|
470
470
|
requirement: !ruby/object:Gem::Requirement
|
@@ -1002,9 +1002,6 @@ files:
|
|
1002
1002
|
- config/routes.rb
|
1003
1003
|
- db/migrate/20160329231848_create_thredded.rb
|
1004
1004
|
- db/seeds.rb
|
1005
|
-
- db/upgrade_migrations/20160410111522_upgrade_v0_2_to_v0_3.rb
|
1006
|
-
- db/upgrade_migrations/20160429222452_upgrade_v0_3_to_v0_4.rb
|
1007
|
-
- db/upgrade_migrations/20160501151908_upgrade_v0_4_to_v0_5.rb
|
1008
1005
|
- db/upgrade_migrations/20160611094616_upgrade_v0_5_to_v0_6.rb
|
1009
1006
|
- db/upgrade_migrations/20160723012349_upgrade_v0_6_to_v0_7.rb
|
1010
1007
|
- db/upgrade_migrations/20161019150201_upgrade_v0_7_to_v0_8.rb
|
@@ -1017,6 +1014,7 @@ files:
|
|
1017
1014
|
- lib/generators/thredded/install/templates/initializer.rb
|
1018
1015
|
- lib/tasks/thredded_tasks.rake
|
1019
1016
|
- lib/thredded.rb
|
1017
|
+
- lib/thredded/base_migration.rb
|
1020
1018
|
- lib/thredded/collection_to_strings_with_cache_renderer.rb
|
1021
1019
|
- lib/thredded/content_formatter.rb
|
1022
1020
|
- lib/thredded/database_seeder.rb
|