mirror of
https://github.com/discourse/discourse.git
synced 2025-02-08 12:24:55 +00:00
FIX: Paths used by PrettyText were not always initialized
This commit is contained in:
parent
db91d71bf1
commit
ea7ffac17e
@ -142,25 +142,13 @@ module PrettyText
|
|||||||
protect do
|
protect do
|
||||||
context = v8
|
context = v8
|
||||||
|
|
||||||
paths = {
|
|
||||||
baseUri: Discourse::base_uri,
|
|
||||||
CDN: Rails.configuration.action_controller.asset_host,
|
|
||||||
}
|
|
||||||
|
|
||||||
if SiteSetting.Upload.enable_s3_uploads
|
|
||||||
if SiteSetting.Upload.s3_cdn_url.present?
|
|
||||||
paths[:S3CDN] = SiteSetting.Upload.s3_cdn_url
|
|
||||||
end
|
|
||||||
paths[:S3BaseUrl] = Discourse.store.absolute_base_url
|
|
||||||
end
|
|
||||||
|
|
||||||
custom_emoji = {}
|
custom_emoji = {}
|
||||||
Emoji.custom.map { |e| custom_emoji[e.name] = e.url }
|
Emoji.custom.map { |e| custom_emoji[e.name] = e.url }
|
||||||
|
|
||||||
buffer = <<~JS
|
buffer = <<~JS
|
||||||
__optInput = {};
|
__optInput = {};
|
||||||
__optInput.siteSettings = #{SiteSetting.client_settings_json};
|
__optInput.siteSettings = #{SiteSetting.client_settings_json};
|
||||||
__paths = #{paths.to_json};
|
__paths = #{paths_json};
|
||||||
__optInput.getURL = __getURL;
|
__optInput.getURL = __getURL;
|
||||||
__optInput.getCurrentUser = __getCurrentUser;
|
__optInput.getCurrentUser = __getCurrentUser;
|
||||||
__optInput.lookupAvatar = __lookupAvatar;
|
__optInput.lookupAvatar = __lookupAvatar;
|
||||||
@ -215,10 +203,29 @@ module PrettyText
|
|||||||
baked
|
baked
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def self.paths_json
|
||||||
|
paths = {
|
||||||
|
baseUri: Discourse::base_uri,
|
||||||
|
CDN: Rails.configuration.action_controller.asset_host,
|
||||||
|
}
|
||||||
|
|
||||||
|
if SiteSetting.Upload.enable_s3_uploads
|
||||||
|
if SiteSetting.Upload.s3_cdn_url.present?
|
||||||
|
paths[:S3CDN] = SiteSetting.Upload.s3_cdn_url
|
||||||
|
end
|
||||||
|
paths[:S3BaseUrl] = Discourse.store.absolute_base_url
|
||||||
|
end
|
||||||
|
|
||||||
|
paths.to_json
|
||||||
|
end
|
||||||
|
|
||||||
# leaving this here, cause it invokes v8, don't want to implement twice
|
# leaving this here, cause it invokes v8, don't want to implement twice
|
||||||
def self.avatar_img(avatar_template, size)
|
def self.avatar_img(avatar_template, size)
|
||||||
protect do
|
protect do
|
||||||
v8.eval("__utils.avatarImg({size: #{size.inspect}, avatarTemplate: #{avatar_template.inspect}}, __getURL);")
|
v8.eval(<<~JS)
|
||||||
|
__paths = #{paths_json};
|
||||||
|
__utils.avatarImg({size: #{size.inspect}, avatarTemplate: #{avatar_template.inspect}}, __getURL);
|
||||||
|
JS
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -227,7 +234,10 @@ module PrettyText
|
|||||||
|
|
||||||
set = SiteSetting.emoji_set.inspect
|
set = SiteSetting.emoji_set.inspect
|
||||||
protect do
|
protect do
|
||||||
v8.eval("__performEmojiUnescape(#{title.inspect}, { getURL: __getURL, emojiSet: #{set} })")
|
v8.eval(<<~JS)
|
||||||
|
__paths = #{paths_json};
|
||||||
|
__performEmojiUnescape(#{title.inspect}, { getURL: __getURL, emojiSet: #{set} });
|
||||||
|
JS
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user