diff --git a/plugins/discourse-narrative-bot/config/locales/server.en.yml b/plugins/discourse-narrative-bot/config/locales/server.en.yml
index a5b6057a7f6..e4313c386e4 100644
--- a/plugins/discourse-narrative-bot/config/locales/server.en.yml
+++ b/plugins/discourse-narrative-bot/config/locales/server.en.yml
@@ -168,7 +168,7 @@ en:
- https://en.wikipedia.org/wiki/Death_by_coconut
- https://en.wikipedia.org/wiki/Calculator_spelling
reply: |-
- Cool! This will work for most links. Remember, it must be on a line _all by itself_, with nothing else in front, or behind.
+ Cool! This will work for most links. Remember, it must be on a line _all by itself_, with nothing else in front, or behind.
not_found: |-
Sorry, I couldn’t find the link in your reply! :cry:
@@ -180,7 +180,7 @@ en:
instructions: |-
Here’s a picture of a unicorn:
-
+
If you like it (and who wouldn’t!) go ahead and press the like :heart: button below this post to let me know.
@@ -233,11 +233,11 @@ en:
bookmark:
instructions: |-
- If you’d like to learn more, select below and **bookmark this private message**. If you do, there may be a :gift: in your future!
+ If you’d like to learn more, select below and **bookmark this private message**. If you do, there may be a :gift: in your future!
reply: |-
Excellent! Now you can easily find your way back to our private conversation any time, right from [the bookmarks tab on your profile](%{profile_page_url}/activity/bookmarks). Just select your profile picture at the upper right ↗
not_found: |-
- Uh oh, I don’t see any bookmarks in this topic. Did you find the bookmark under each post? Use the show more to reveal additional actions if needed.
+ Uh oh, I don’t see any bookmarks in this topic. Did you find the bookmark under each post? Use the show more to reveal additional actions if needed.
emoji:
instructions: |-
@@ -247,7 +247,7 @@ en:
- Type colon : then complete the emoji name `:tada:`
- - Press the emoji button in the editor, or on your mobile keyboard
+ - Press the emoji button in the editor, or on your mobile keyboard
reply: |-
That’s :sparkles: _emojitastic!_ :sparkles:
not_found: |-
@@ -255,7 +255,7 @@ en:
Try typing a colon : to bring up the emoji picker, then type the first few letters of what you want, such as `:bird:`
- Or, press the emoji button in the editor.
+ Or, press the emoji button in the editor.
(If you are on a mobile device, you can also enter Emoji directly from your keyboard, too.)
@@ -277,21 +277,21 @@ en:
> :imp: I wrote something nasty here
- I guess you know what to do. Go ahead and **flag this post** as inappropriate!
+ I guess you know what to do. Go ahead and **flag this post** as inappropriate!
reply: |-
[Our staff](/groups/staff) will be privately notified about your flag. If enough community members flag a post, it will also be automatically hidden as a precaution. (Since I didn’t actually write a nasty post :angel:, I’ve gone ahead and removed the flag for now.)
not_found: |-
- Oh no, my nasty post hasn’t been flagged yet. :worried: Can you flag it as inappropriate using the **flag** ? Don’t forget to use the show more button to reveal more actions for each post.
+ Oh no, my nasty post hasn’t been flagged yet. :worried: Can you flag it as inappropriate using the **flag** ? Don’t forget to use the show more button to reveal more actions for each post.
search:
instructions: |-
- _psst_ … I’ve hidden a surprise in this topic. If you’re up for the challenge, **select the search icon** at the top right ↗ to search for it.
+ _psst_ … I’ve hidden a surprise in this topic. If you’re up for the challenge, **select the search icon** at the top right ↗ to search for it.
Try searching for the term "capybara" in this topic
hidden_message: |-
How did you miss this capybara? :wink:
-
+
Did you notice you’re now back at the beginning? Feed this poor hungry capybara by **replying with the `:herb:` emoji** and you’ll be automatically taken to the end.
reply: |-
@@ -303,7 +303,7 @@ en:
- If you have a physical :keyboard:, press ? to view our handy keyboard shortcuts.
not_found: |-
- Hmm… looks like you might be having trouble. Sorry about that. Did you search for the term **capybara**?
+ Hmm… looks like you might be having trouble. Sorry about that. Did you search for the term **capybara**?
end:
message: |-
@@ -336,7 +336,7 @@ en:
not_found: |-
It looks like you’ve yet to edit the [post](%{url}) I created for you. Can you try again?
- Use the icon to bring up the editor.
+ Use the icon to bring up the editor.
reply: |-
Great work!
@@ -346,9 +346,9 @@ en:
instructions: |-
If you’d like to withdraw a post you made, you can delete it.
- Go ahead and **delete** any of your posts above by using the **delete** action. Don’t delete the first post, though!
+ Go ahead and **delete** any of your posts above by using the **delete** action. Don’t delete the first post, though!
not_found: |-
- I don’t see any deleted posts yet? Remember show more will reveal delete.
+ I don’t see any deleted posts yet? Remember show more will reveal delete.
reply: |-
Whoa! :boom:
@@ -359,9 +359,9 @@ en:
instructions: |-
Oh no! It looks like I accidentally deleted a new post that I just created for you.
- Can you do me a favor and **undelete** it?
+ Can you do me a favor and **undelete** it?
not_found: |-
- Having trouble? Remember show more will reveal undelete.
+ Having trouble? Remember show more will reveal undelete.
reply: |-
Phew, that was a close one! Thanks for fixing that :wink:
@@ -397,11 +397,11 @@ en:
poll:
instructions: |-
- Did you know you can add a poll to any post? Try using the gear in the editor to **build a poll**.
+ Did you know you can add a poll to any post? Try using the gear in the editor to **build a poll**.
not_found: |-
Whoops! There wasn’t any poll in your reply.
- Use the gear icon in the editor, or copy and paste this poll in your next reply:
+ Use the gear icon in the editor, or copy and paste this poll in your next reply:
```text
[poll]
@@ -425,12 +425,12 @@ en:
- When your post needs lots of optional details that may be overwhelming when read all at once.
[details=Select this to see how it works!]
- 1. Select the gear in the editor.
+ 1. Select the gear in the editor.
2. Select "Hide Details".
3. Edit the details summary and add your content.
[/details]
- Can you use the gear in the editor to add a details section to your next reply?
+ Can you use the gear in the editor to add a details section to your next reply?
not_found: |-
Having trouble creating a details widget? Try including the following in your next reply:
diff --git a/plugins/discourse-narrative-bot/lib/discourse_narrative_bot/advanced_user_narrative.rb b/plugins/discourse-narrative-bot/lib/discourse_narrative_bot/advanced_user_narrative.rb
index 1c3b67f520c..2139a175cda 100644
--- a/plugins/discourse-narrative-bot/lib/discourse_narrative_bot/advanced_user_narrative.rb
+++ b/plugins/discourse-narrative-bot/lib/discourse_narrative_bot/advanced_user_narrative.rb
@@ -6,7 +6,7 @@ module DiscourseNarrativeBot
TRANSITION_TABLE = {
begin: {
next_state: :tutorial_edit,
- next_instructions: Proc.new { I18n.t("#{I18N_KEY}.edit.instructions") },
+ next_instructions: Proc.new { I18n.t("#{I18N_KEY}.edit.instructions", i18n_post_args) },
init: {
action: :start_advanced_track
}
@@ -14,7 +14,7 @@ module DiscourseNarrativeBot
tutorial_edit: {
next_state: :tutorial_delete,
- next_instructions: Proc.new { I18n.t("#{I18N_KEY}.delete.instructions") },
+ next_instructions: Proc.new { I18n.t("#{I18N_KEY}.delete.instructions", i18n_post_args) },
edit: {
action: :reply_to_edit
},
@@ -26,7 +26,7 @@ module DiscourseNarrativeBot
tutorial_delete: {
next_state: :tutorial_recover,
- next_instructions: Proc.new { I18n.t("#{I18N_KEY}.recover.instructions") },
+ next_instructions: Proc.new { I18n.t("#{I18N_KEY}.recover.instructions", i18n_post_args) },
delete: {
action: :reply_to_delete
},
@@ -47,7 +47,7 @@ module DiscourseNarrativeBot
end
I18n.t("#{I18N_KEY}.category_hashtag.instructions",
- category: "##{slug}"
+ i18n_post_args(category: "##{slug}")
)
end,
recover: {
@@ -61,7 +61,7 @@ module DiscourseNarrativeBot
tutorial_category_hashtag: {
next_state: :tutorial_change_topic_notification_level,
- next_instructions: Proc.new { I18n.t("#{I18N_KEY}.change_topic_notification_level.instructions") },
+ next_instructions: Proc.new { I18n.t("#{I18N_KEY}.change_topic_notification_level.instructions", i18n_post_args) },
reply: {
action: :reply_to_category_hashtag
}
@@ -69,7 +69,7 @@ module DiscourseNarrativeBot
tutorial_change_topic_notification_level: {
next_state: :tutorial_poll,
- next_instructions: Proc.new { I18n.t("#{I18N_KEY}.poll.instructions") },
+ next_instructions: Proc.new { I18n.t("#{I18N_KEY}.poll.instructions", i18n_post_args) },
topic_notification_level_changed: {
action: :reply_to_topic_notification_level_changed
},
@@ -81,7 +81,7 @@ module DiscourseNarrativeBot
tutorial_poll: {
next_state: :tutorial_details,
- next_instructions: Proc.new { I18n.t("#{I18N_KEY}.details.instructions") },
+ next_instructions: Proc.new { I18n.t("#{I18N_KEY}.details.instructions", i18n_post_args) },
reply: {
action: :reply_to_poll
}
@@ -119,7 +119,7 @@ module DiscourseNarrativeBot
post = PostCreator.create!(@user, {
raw: I18n.t(
"#{I18N_KEY}.edit.bot_created_post_raw",
- discobot_username: self.discobot_user.username
+ i18n_post_args(discobot_username: self.discobot_user.username)
),
topic_id: data[:topic_id],
skip_bot: true
@@ -135,7 +135,7 @@ module DiscourseNarrativeBot
post = PostCreator.create!(@user, {
raw: I18n.t(
"#{I18N_KEY}.recover.deleted_post_raw",
- discobot_username: self.discobot_user.username
+ i18n_post_args(discobot_username: self.discobot_user.username)
),
topic_id: data[:topic_id],
skip_bot: true
@@ -146,7 +146,7 @@ module DiscourseNarrativeBot
end
def start_advanced_track
- raw = I18n.t("#{I18N_KEY}.start_message", username: @user.username)
+ raw = I18n.t("#{I18N_KEY}.start_message", i18n_post_args(username: @user.username))
raw = <<~RAW
#{raw}
@@ -183,7 +183,7 @@ module DiscourseNarrativeBot
fake_delay
raw = <<~RAW
- #{I18n.t("#{I18N_KEY}.edit.reply")}
+ #{I18n.t("#{I18N_KEY}.edit.reply", i18n_post_args)}
#{instance_eval(&@next_instructions)}
RAW
@@ -199,7 +199,7 @@ module DiscourseNarrativeBot
unless @data[:attempted]
reply_to(@post, I18n.t("#{I18N_KEY}.edit.not_found",
- url: Post.find_by(id: post_id).url
+ i18n_post_args(url: Post.find_by(id: post_id).url)
))
end
@@ -213,7 +213,7 @@ module DiscourseNarrativeBot
fake_delay
raw = <<~RAW
- #{I18n.t("#{I18N_KEY}.delete.reply")}
+ #{I18n.t("#{I18N_KEY}.delete.reply", i18n_post_args)}
#{instance_eval(&@next_instructions)}
RAW
@@ -227,7 +227,7 @@ module DiscourseNarrativeBot
def missing_delete
return unless valid_topic?(@post.topic_id)
fake_delay
- reply_to(@post, I18n.t("#{I18N_KEY}.delete.not_found")) unless @data[:attempted]
+ reply_to(@post, I18n.t("#{I18N_KEY}.delete.not_found", i18n_post_args)) unless @data[:attempted]
enqueue_timeout_job(@user)
false
end
@@ -238,7 +238,7 @@ module DiscourseNarrativeBot
fake_delay
raw = <<~RAW
- #{I18n.t("#{I18N_KEY}.recover.reply")}
+ #{I18n.t("#{I18N_KEY}.recover.reply", i18n_post_args)}
#{instance_eval(&@next_instructions)}
RAW
@@ -254,7 +254,7 @@ module DiscourseNarrativeBot
post_id = get_state_data(:post_id) && @post.id != post_id
fake_delay
- reply_to(@post, I18n.t("#{I18N_KEY}.recover.not_found")) unless @data[:attempted]
+ reply_to(@post, I18n.t("#{I18N_KEY}.recover.not_found", i18n_post_args)) unless @data[:attempted]
enqueue_timeout_job(@user)
false
end
@@ -265,7 +265,7 @@ module DiscourseNarrativeBot
if Nokogiri::HTML.fragment(@post.cooked).css('.hashtag').size > 0
raw = <<~RAW
- #{I18n.t("#{I18N_KEY}.category_hashtag.reply")}
+ #{I18n.t("#{I18N_KEY}.category_hashtag.reply", i18n_post_args)}
#{instance_eval(&@next_instructions)}
RAW
@@ -274,7 +274,7 @@ module DiscourseNarrativeBot
reply_to(@post, raw)
else
fake_delay
- reply_to(@post, I18n.t("#{I18N_KEY}.category_hashtag.not_found")) unless @data[:attempted]
+ reply_to(@post, I18n.t("#{I18N_KEY}.category_hashtag.not_found", i18n_post_args)) unless @data[:attempted]
enqueue_timeout_job(@user)
false
end
@@ -284,7 +284,7 @@ module DiscourseNarrativeBot
return unless valid_topic?(@post.topic_id)
fake_delay
- reply_to(@post, I18n.t("#{I18N_KEY}.change_topic_notification_level.not_found")) unless @data[:attempted]
+ reply_to(@post, I18n.t("#{I18N_KEY}.change_topic_notification_level.not_found", i18n_post_args)) unless @data[:attempted]
enqueue_timeout_job(@user)
false
end
@@ -294,7 +294,7 @@ module DiscourseNarrativeBot
fake_delay
raw = <<~RAW
- #{I18n.t("#{I18N_KEY}.change_topic_notification_level.reply")}
+ #{I18n.t("#{I18N_KEY}.change_topic_notification_level.reply", i18n_post_args)}
#{instance_eval(&@next_instructions)}
RAW
@@ -315,7 +315,7 @@ module DiscourseNarrativeBot
if Nokogiri::HTML.fragment(@post.cooked).css(".poll").size > 0
raw = <<~RAW
- #{I18n.t("#{I18N_KEY}.poll.reply")}
+ #{I18n.t("#{I18N_KEY}.poll.reply", i18n_post_args)}
#{instance_eval(&@next_instructions)}
RAW
@@ -324,7 +324,7 @@ module DiscourseNarrativeBot
reply_to(@post, raw)
else
fake_delay
- reply_to(@post, I18n.t("#{I18N_KEY}.poll.not_found")) unless @data[:attempted]
+ reply_to(@post, I18n.t("#{I18N_KEY}.poll.not_found", i18n_post_args)) unless @data[:attempted]
enqueue_timeout_job(@user)
false
end
@@ -337,9 +337,9 @@ module DiscourseNarrativeBot
fake_delay
if Nokogiri::HTML.fragment(@post.cooked).css("details").size > 0
- reply_to(@post, I18n.t("#{I18N_KEY}.details.reply"))
+ reply_to(@post, I18n.t("#{I18N_KEY}.details.reply", i18n_post_args))
else
- reply_to(@post, I18n.t("#{I18N_KEY}.details.not_found")) unless @data[:attempted]
+ reply_to(@post, I18n.t("#{I18N_KEY}.details.not_found", i18n_post_args)) unless @data[:attempted]
enqueue_timeout_job(@user)
false
end
@@ -352,9 +352,9 @@ module DiscourseNarrativeBot
fake_delay
if @post.wiki
- reply_to(@post, I18n.t("#{I18N_KEY}.wiki.reply"))
+ reply_to(@post, I18n.t("#{I18N_KEY}.wiki.reply", i18n_post_args))
else
- reply_to(@post, I18n.t("#{I18N_KEY}.wiki.not_found")) unless @data[:attempted]
+ reply_to(@post, I18n.t("#{I18N_KEY}.wiki.not_found", i18n_post_args)) unless @data[:attempted]
enqueue_timeout_job(@user)
false
end
@@ -364,7 +364,7 @@ module DiscourseNarrativeBot
fake_delay
reply_to(@post, I18n.t("#{I18N_KEY}.end.message",
- certificate: certificate('advanced')
+ i18n_post_args(certificate: certificate('advanced'))
))
end
diff --git a/plugins/discourse-narrative-bot/lib/discourse_narrative_bot/base.rb b/plugins/discourse-narrative-bot/lib/discourse_narrative_bot/base.rb
index b454e826ccb..c3af709b200 100644
--- a/plugins/discourse-narrative-bot/lib/discourse_narrative_bot/base.rb
+++ b/plugins/discourse-narrative-bot/lib/discourse_narrative_bot/base.rb
@@ -91,9 +91,11 @@ module DiscourseNarrativeBot
if post = Post.find_by(id: @data[:last_post_id])
reply_to(post, I18n.t("discourse_narrative_bot.timeout.message",
- username: user.username,
- skip_trigger: TrackSelector.skip_trigger,
- reset_trigger: "#{TrackSelector.reset_trigger} #{self.class.reset_trigger}",
+ i18n_post_args(
+ username: user.username,
+ skip_trigger: TrackSelector.skip_trigger,
+ reset_trigger: "#{TrackSelector.reset_trigger} #{self.class.reset_trigger}"
+ )
))
end
end
@@ -102,12 +104,11 @@ module DiscourseNarrativeBot
options = {
user_id: @user.id,
date: Time.zone.now.strftime('%b %d %Y'),
- host: Discourse.base_url,
format: :svg
}
options.merge!(type: type) if type
- src = DiscourseNarrativeBot::Engine.routes.url_helpers.certificate_url(options)
+ src = Discourse.base_url + DiscourseNarrativeBot::Engine.routes.url_helpers.certificate_path(options)
""
end
@@ -154,6 +155,10 @@ module DiscourseNarrativeBot
end
end
+ def i18n_post_args(extra={})
+ {base_uri: Discourse.base_uri}.merge(extra)
+ end
+
def valid_topic?(topic_id)
topic_id == @data[:topic_id]
end
diff --git a/plugins/discourse-narrative-bot/lib/discourse_narrative_bot/certificate_generator.rb b/plugins/discourse-narrative-bot/lib/discourse_narrative_bot/certificate_generator.rb
index 57bef91255f..03034915904 100644
--- a/plugins/discourse-narrative-bot/lib/discourse_narrative_bot/certificate_generator.rb
+++ b/plugins/discourse-narrative-bot/lib/discourse_narrative_bot/certificate_generator.rb
@@ -577,7 +577,7 @@ module DiscourseNarrativeBot
end
def avatar_url
- UrlHelper.absolute(@user.avatar_template.gsub('{size}', '250'))
+ UrlHelper.absolute(Discourse.base_uri + @user.avatar_template.gsub('{size}', '250'))
end
end
end
diff --git a/plugins/discourse-narrative-bot/lib/discourse_narrative_bot/new_user_narrative.rb b/plugins/discourse-narrative-bot/lib/discourse_narrative_bot/new_user_narrative.rb
index 202f0c50586..f39377d0766 100644
--- a/plugins/discourse-narrative-bot/lib/discourse_narrative_bot/new_user_narrative.rb
+++ b/plugins/discourse-narrative-bot/lib/discourse_narrative_bot/new_user_narrative.rb
@@ -9,14 +9,14 @@ module DiscourseNarrativeBot
begin: {
init: {
next_state: :tutorial_bookmark,
- next_instructions: Proc.new { I18n.t("#{I18N_KEY}.bookmark.instructions") },
+ next_instructions: Proc.new { I18n.t("#{I18N_KEY}.bookmark.instructions", base_uri: Discourse.base_uri) },
action: :say_hello
}
},
tutorial_bookmark: {
next_state: :tutorial_onebox,
- next_instructions: Proc.new { I18n.t("#{I18N_KEY}.onebox.instructions") },
+ next_instructions: Proc.new { I18n.t("#{I18N_KEY}.onebox.instructions", base_uri: Discourse.base_uri) },
bookmark: {
action: :reply_to_bookmark
@@ -30,7 +30,7 @@ module DiscourseNarrativeBot
tutorial_onebox: {
next_state: :tutorial_emoji,
- next_instructions: Proc.new { I18n.t("#{I18N_KEY}.emoji.instructions") },
+ next_instructions: Proc.new { I18n.t("#{I18N_KEY}.emoji.instructions", base_uri: Discourse.base_uri) },
reply: {
action: :reply_to_onebox
@@ -40,7 +40,9 @@ module DiscourseNarrativeBot
tutorial_emoji: {
next_state: :tutorial_mention,
next_instructions: Proc.new {
- I18n.t("#{I18N_KEY}.mention.instructions", discobot_username: self.discobot_user.username)
+ I18n.t("#{I18N_KEY}.mention.instructions",
+ discobot_username: self.discobot_user.username,
+ base_uri: Discourse.base_uri)
},
reply: {
action: :reply_to_emoji
@@ -49,7 +51,7 @@ module DiscourseNarrativeBot
tutorial_mention: {
next_state: :tutorial_formatting,
- next_instructions: Proc.new { I18n.t("#{I18N_KEY}.formatting.instructions") },
+ next_instructions: Proc.new { I18n.t("#{I18N_KEY}.formatting.instructions", base_uri: Discourse.base_uri) },
reply: {
action: :reply_to_mention
@@ -58,7 +60,7 @@ module DiscourseNarrativeBot
tutorial_formatting: {
next_state: :tutorial_quote,
- next_instructions: Proc.new { I18n.t("#{I18N_KEY}.quoting.instructions") },
+ next_instructions: Proc.new { I18n.t("#{I18N_KEY}.quoting.instructions", base_uri: Discourse.base_uri) },
reply: {
action: :reply_to_formatting
@@ -67,7 +69,7 @@ module DiscourseNarrativeBot
tutorial_quote: {
next_state: :tutorial_images,
- next_instructions: Proc.new { I18n.t("#{I18N_KEY}.images.instructions") },
+ next_instructions: Proc.new { I18n.t("#{I18N_KEY}.images.instructions", base_uri: Discourse.base_uri) },
reply: {
action: :reply_to_quote
@@ -79,7 +81,8 @@ module DiscourseNarrativeBot
next_instructions: Proc.new {
I18n.t("#{I18N_KEY}.flag.instructions",
guidelines_url: url_helpers(:guidelines_url),
- about_url: url_helpers(:about_index_url))
+ about_url: url_helpers(:about_index_url),
+ base_uri: Discourse.base_uri)
},
reply: {
action: :reply_to_image
@@ -91,7 +94,7 @@ module DiscourseNarrativeBot
tutorial_flag: {
next_state: :tutorial_search,
- next_instructions: Proc.new { I18n.t("#{I18N_KEY}.search.instructions") },
+ next_instructions: Proc.new { I18n.t("#{I18N_KEY}.search.instructions", base_uri: Discourse.base_uri) },
flag: {
action: :reply_to_flag
},
@@ -144,7 +147,7 @@ module DiscourseNarrativeBot
raw = <<~RAW
#{post.raw}
- #{I18n.t("#{I18N_KEY}.search.hidden_message")}
+ #{I18n.t("#{I18N_KEY}.search.hidden_message", i18n_post_args)}
RAW
PostRevisor.new(post, topic).revise!(
@@ -166,8 +169,10 @@ module DiscourseNarrativeBot
def say_hello
raw = I18n.t(
"#{I18N_KEY}.hello.message",
- username: @user.username,
- title: SiteSetting.title
+ i18n_post_args(
+ username: @user.username,
+ title: SiteSetting.title
+ )
)
raw = <<~RAW
@@ -205,7 +210,7 @@ module DiscourseNarrativeBot
fake_delay
enqueue_timeout_job(@user)
- reply_to(@post, I18n.t("#{I18N_KEY}.bookmark.not_found")) unless @data[:attempted]
+ reply_to(@post, I18n.t("#{I18N_KEY}.bookmark.not_found", i18n_post_args)) unless @data[:attempted]
false
end
@@ -214,7 +219,7 @@ module DiscourseNarrativeBot
return unless @post.user_id == self.discobot_user.id
raw = <<~RAW
- #{I18n.t("#{I18N_KEY}.bookmark.reply", profile_page_url: url_helpers(:user_url, username: @user.username))}
+ #{I18n.t("#{I18N_KEY}.bookmark.reply", i18n_post_args(profile_page_url: url_helpers(:user_url, username: @user.username)))}
#{instance_eval(&@next_instructions)}
RAW
@@ -234,7 +239,7 @@ module DiscourseNarrativeBot
if @post.post_analyzer.found_oneboxes?
raw = <<~RAW
- #{I18n.t("#{I18N_KEY}.onebox.reply")}
+ #{I18n.t("#{I18N_KEY}.onebox.reply", i18n_post_args)}
#{instance_eval(&@next_instructions)}
RAW
@@ -246,7 +251,7 @@ module DiscourseNarrativeBot
reply
else
fake_delay
- reply_to(@post, I18n.t("#{I18N_KEY}.onebox.not_found")) unless @data[:attempted]
+ reply_to(@post, I18n.t("#{I18N_KEY}.onebox.not_found", i18n_post_args)) unless @data[:attempted]
enqueue_timeout_job(@user)
false
end
@@ -270,7 +275,7 @@ module DiscourseNarrativeBot
like_post(post)
raw = <<~RAW
- #{I18n.t("#{I18N_KEY}.images.reply")}
+ #{I18n.t("#{I18N_KEY}.images.reply", i18n_post_args)}
#{instance_eval(&@next_instructions)}
RAW
@@ -304,7 +309,7 @@ module DiscourseNarrativeBot
if get_state_data(:liked)
raw = <<~RAW
- #{I18n.t("#{I18N_KEY}.images.reply")}
+ #{I18n.t("#{I18N_KEY}.images.reply", i18n_post_args)}
#{instance_eval(&@next_instructions)}
RAW
@@ -313,7 +318,7 @@ module DiscourseNarrativeBot
else
raw = I18n.t(
"#{I18N_KEY}.images.like_not_found",
- url: Post.find_by(id: @data[:last_post_id]).url
+ i18n_post_args(url: Post.find_by(id: @data[:last_post_id]).url)
)
transition = false
@@ -321,7 +326,7 @@ module DiscourseNarrativeBot
else
raw = I18n.t(
"#{I18N_KEY}.images.not_found",
- image_url: "#{Discourse.base_url}/images/dog-walk.gif"
+ i18n_post_args(image_url: "#{Discourse.base_url}/images/dog-walk.gif")
)
transition = false
@@ -341,7 +346,7 @@ module DiscourseNarrativeBot
if Nokogiri::HTML.fragment(@post.cooked).css("b", "strong", "em", "i", ".bbcode-i", ".bbcode-b").size > 0
raw = <<~RAW
- #{I18n.t("#{I18N_KEY}.formatting.reply")}
+ #{I18n.t("#{I18N_KEY}.formatting.reply", i18n_post_args)}
#{instance_eval(&@next_instructions)}
RAW
@@ -353,7 +358,7 @@ module DiscourseNarrativeBot
reply
else
fake_delay
- reply_to(@post, I18n.t("#{I18N_KEY}.formatting.not_found")) unless @data[:attempted]
+ reply_to(@post, I18n.t("#{I18N_KEY}.formatting.not_found", i18n_post_args)) unless @data[:attempted]
enqueue_timeout_job(@user)
false
end
@@ -367,7 +372,7 @@ module DiscourseNarrativeBot
if doc.css(".quote").size > 0
raw = <<~RAW
- #{I18n.t("#{I18N_KEY}.quoting.reply")}
+ #{I18n.t("#{I18N_KEY}.quoting.reply", i18n_post_args)}
#{instance_eval(&@next_instructions)}
RAW
@@ -379,7 +384,7 @@ module DiscourseNarrativeBot
reply
else
fake_delay
- reply_to(@post, I18n.t("#{I18N_KEY}.quoting.not_found")) unless @data[:attempted]
+ reply_to(@post, I18n.t("#{I18N_KEY}.quoting.not_found", i18n_post_args)) unless @data[:attempted]
enqueue_timeout_job(@user)
false
end
@@ -393,7 +398,7 @@ module DiscourseNarrativeBot
if doc.css(".emoji").size > 0
raw = <<~RAW
- #{I18n.t("#{I18N_KEY}.emoji.reply")}
+ #{I18n.t("#{I18N_KEY}.emoji.reply", i18n_post_args)}
#{instance_eval(&@next_instructions)}
RAW
@@ -405,7 +410,7 @@ module DiscourseNarrativeBot
reply
else
fake_delay
- reply_to(@post, I18n.t("#{I18N_KEY}.emoji.not_found")) unless @data[:attempted]
+ reply_to(@post, I18n.t("#{I18N_KEY}.emoji.not_found", i18n_post_args)) unless @data[:attempted]
enqueue_timeout_job(@user)
false
end
@@ -417,7 +422,7 @@ module DiscourseNarrativeBot
if bot_mentioned?(@post)
raw = <<~RAW
- #{I18n.t("#{I18N_KEY}.mention.reply")}
+ #{I18n.t("#{I18N_KEY}.mention.reply", i18n_post_args)}
#{instance_eval(&@next_instructions)}
RAW
@@ -433,8 +438,10 @@ module DiscourseNarrativeBot
unless @data[:attempted]
reply_to(@post, I18n.t(
"#{I18N_KEY}.mention.not_found",
- username: @user.username,
- discobot_username: self.discobot_user.username
+ i18n_post_args(
+ username: @user.username,
+ discobot_username: self.discobot_user.username
+ )
))
end
@@ -448,7 +455,7 @@ module DiscourseNarrativeBot
return if @post.user_id == -2
fake_delay
- reply_to(@post, I18n.t("#{I18N_KEY}.flag.not_found")) unless @data[:attempted]
+ reply_to(@post, I18n.t("#{I18N_KEY}.flag.not_found", i18n_post_args)) unless @data[:attempted]
false
end
@@ -458,7 +465,7 @@ module DiscourseNarrativeBot
return unless @post.user.id == -2
raw = <<~RAW
- #{I18n.t("#{I18N_KEY}.flag.reply")}
+ #{I18n.t("#{I18N_KEY}.flag.reply", i18n_post_args)}
#{instance_eval(&@next_instructions)}
RAW
@@ -478,10 +485,10 @@ module DiscourseNarrativeBot
if @post.raw.match(/#{SEARCH_ANSWER}/)
fake_delay
- reply_to(@post, I18n.t("#{I18N_KEY}.search.reply", search_url: url_helpers(:search_url)))
+ reply_to(@post, I18n.t("#{I18N_KEY}.search.reply", i18n_post_args(search_url: url_helpers(:search_url))))
else
fake_delay
- reply_to(@post, I18n.t("#{I18N_KEY}.search.not_found")) unless @data[:attempted]
+ reply_to(@post, I18n.t("#{I18N_KEY}.search.not_found", i18n_post_args)) unless @data[:attempted]
enqueue_timeout_job(@user)
false
end
@@ -493,11 +500,13 @@ module DiscourseNarrativeBot
reply_to(
@post,
I18n.t("#{I18N_KEY}.end.message",
- username: @user.username,
- base_url: Discourse.base_url,
- certificate: certificate,
- discobot_username: self.discobot_user.username,
- advanced_trigger: AdvancedUserNarrative.reset_trigger
+ i18n_post_args(
+ username: @user.username,
+ base_url: Discourse.base_url,
+ certificate: certificate,
+ discobot_username: self.discobot_user.username,
+ advanced_trigger: AdvancedUserNarrative.reset_trigger
+ )
),
topic_id: @data[:topic_id]
)
diff --git a/plugins/discourse-narrative-bot/spec/discourse_narrative_bot/advanced_user_narrative_spec.rb b/plugins/discourse-narrative-bot/spec/discourse_narrative_bot/advanced_user_narrative_spec.rb
index 9eb72486364..eff130184a7 100644
--- a/plugins/discourse-narrative-bot/spec/discourse_narrative_bot/advanced_user_narrative_spec.rb
+++ b/plugins/discourse-narrative-bot/spec/discourse_narrative_bot/advanced_user_narrative_spec.rb
@@ -42,6 +42,7 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
username: user.username,
skip_trigger: skip_trigger,
reset_trigger: "#{reset_trigger} #{described_class.reset_trigger}",
+ base_uri: ''
))
end
end
@@ -67,13 +68,13 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
expected_raw = I18n.t(
'discourse_narrative_bot.advanced_user_narrative.start_message',
- username: user.username
+ username: user.username, base_uri: ''
)
expected_raw = <<~RAW
#{expected_raw}
- #{I18n.t('discourse_narrative_bot.advanced_user_narrative.edit.instructions')}
+ #{I18n.t('discourse_narrative_bot.advanced_user_narrative.edit.instructions', base_uri: '')}
RAW
new_post = Post.offset(1).last
@@ -99,13 +100,13 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
expected_raw = I18n.t(
'discourse_narrative_bot.advanced_user_narrative.start_message',
- username: user.username
+ username: user.username, base_uri: ''
)
expected_raw = <<~RAW
#{expected_raw}
- #{I18n.t('discourse_narrative_bot.advanced_user_narrative.edit.instructions')}
+ #{I18n.t('discourse_narrative_bot.advanced_user_narrative.edit.instructions', base_uri: '')}
RAW
new_post = Post.offset(1).last
@@ -159,7 +160,7 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
expect(Post.last.raw).to eq(I18n.t(
'discourse_narrative_bot.advanced_user_narrative.edit.not_found',
- url: first_post.url
+ url: first_post.url, base_uri: ''
))
end
@@ -173,7 +174,7 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
new_post = Post.last
expect(new_post.raw).to eq(I18n.t(
- 'discourse_narrative_bot.advanced_user_narrative.delete.instructions')
+ 'discourse_narrative_bot.advanced_user_narrative.delete.instructions', base_uri: '')
)
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_delete)
@@ -192,9 +193,9 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
end.to change { Post.count }.by(1)
expected_raw = <<~RAW
- #{I18n.t('discourse_narrative_bot.advanced_user_narrative.edit.reply')}
+ #{I18n.t('discourse_narrative_bot.advanced_user_narrative.edit.reply', base_uri: '')}
- #{I18n.t('discourse_narrative_bot.advanced_user_narrative.delete.instructions')}
+ #{I18n.t('discourse_narrative_bot.advanced_user_narrative.delete.instructions', base_uri: '')}
RAW
expect(Post.last.raw).to eq(expected_raw.chomp)
@@ -220,7 +221,7 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
new_post = Post.last
expect(new_post.raw).to eq(I18n.t(
- 'discourse_narrative_bot.advanced_user_narrative.delete.not_found'
+ 'discourse_narrative_bot.advanced_user_narrative.delete.not_found', base_uri: ''
))
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_delete)
@@ -236,7 +237,7 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
new_post = Post.offset(1).last
expect(new_post.raw).to eq(I18n.t(
- 'discourse_narrative_bot.advanced_user_narrative.recover.instructions')
+ 'discourse_narrative_bot.advanced_user_narrative.recover.instructions', base_uri: '')
)
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_recover)
@@ -263,9 +264,9 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
.to change { Post.count }.by(2)
expected_raw = <<~RAW
- #{I18n.t('discourse_narrative_bot.advanced_user_narrative.delete.reply')}
+ #{I18n.t('discourse_narrative_bot.advanced_user_narrative.delete.reply', base_uri: '')}
- #{I18n.t('discourse_narrative_bot.advanced_user_narrative.recover.instructions')}
+ #{I18n.t('discourse_narrative_bot.advanced_user_narrative.recover.instructions', base_uri: '')}
RAW
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_recover)
@@ -281,9 +282,9 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
.to_not change { Post.count }
expected_raw = <<~RAW
- #{I18n.t('discourse_narrative_bot.advanced_user_narrative.delete.reply')}
+ #{I18n.t('discourse_narrative_bot.advanced_user_narrative.delete.reply', base_uri: '')}
- #{I18n.t('discourse_narrative_bot.advanced_user_narrative.recover.instructions')}
+ #{I18n.t('discourse_narrative_bot.advanced_user_narrative.recover.instructions', base_uri: '')}
RAW
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_recover)
@@ -314,7 +315,7 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
new_post = Post.last
expect(new_post.raw).to eq(I18n.t(
- 'discourse_narrative_bot.advanced_user_narrative.recover.not_found'
+ 'discourse_narrative_bot.advanced_user_narrative.recover.not_found', base_uri: ''
))
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_recover)
@@ -334,7 +335,7 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
expect(new_post.raw).to eq(I18n.t(
'discourse_narrative_bot.advanced_user_narrative.category_hashtag.instructions',
- category: "#a:b"
+ category: "#a:b", base_uri: ''
))
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_category_hashtag)
@@ -366,9 +367,9 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
.to change { Post.count }.by(1)
expected_raw = <<~RAW
- #{I18n.t('discourse_narrative_bot.advanced_user_narrative.recover.reply')}
+ #{I18n.t('discourse_narrative_bot.advanced_user_narrative.recover.reply', base_uri: '')}
- #{I18n.t('discourse_narrative_bot.advanced_user_narrative.category_hashtag.instructions', category: "#a:b")}
+ #{I18n.t('discourse_narrative_bot.advanced_user_narrative.category_hashtag.instructions', category: "#a:b", base_uri: '')}
RAW
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_category_hashtag)
@@ -405,7 +406,7 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
new_post = Post.last
expect(new_post.raw).to eq(I18n.t(
- 'discourse_narrative_bot.advanced_user_narrative.category_hashtag.not_found'
+ 'discourse_narrative_bot.advanced_user_narrative.category_hashtag.not_found', base_uri: ''
))
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_category_hashtag)
@@ -421,7 +422,7 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
new_post = Post.last
expect(new_post.raw).to eq(I18n.t(
- 'discourse_narrative_bot.advanced_user_narrative.change_topic_notification_level.instructions'
+ 'discourse_narrative_bot.advanced_user_narrative.change_topic_notification_level.instructions', base_uri: ''
))
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_change_topic_notification_level)
@@ -436,9 +437,9 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
narrative.input(:reply, user, post: post)
expected_raw = <<~RAW
- #{I18n.t('discourse_narrative_bot.advanced_user_narrative.category_hashtag.reply')}
+ #{I18n.t('discourse_narrative_bot.advanced_user_narrative.category_hashtag.reply', base_uri: '')}
- #{I18n.t('discourse_narrative_bot.advanced_user_narrative.change_topic_notification_level.instructions')}
+ #{I18n.t('discourse_narrative_bot.advanced_user_narrative.change_topic_notification_level.instructions', base_uri: '')}
RAW
expect(Post.last.raw).to eq(expected_raw.chomp)
@@ -479,7 +480,7 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
new_post = Post.last
expect(new_post.raw).to eq(I18n.t(
- 'discourse_narrative_bot.advanced_user_narrative.change_topic_notification_level.not_found'
+ 'discourse_narrative_bot.advanced_user_narrative.change_topic_notification_level.not_found', base_uri: ''
))
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_change_topic_notification_level)
@@ -495,7 +496,7 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
new_post = Post.last
expect(new_post.raw).to eq(I18n.t(
- 'discourse_narrative_bot.advanced_user_narrative.poll.instructions')
+ 'discourse_narrative_bot.advanced_user_narrative.poll.instructions', base_uri: '')
)
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_poll)
@@ -512,9 +513,9 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
)
expected_raw = <<~RAW
- #{I18n.t('discourse_narrative_bot.advanced_user_narrative.change_topic_notification_level.reply')}
+ #{I18n.t('discourse_narrative_bot.advanced_user_narrative.change_topic_notification_level.reply', base_uri: '')}
- #{I18n.t('discourse_narrative_bot.advanced_user_narrative.poll.instructions')}
+ #{I18n.t('discourse_narrative_bot.advanced_user_narrative.poll.instructions', base_uri: '')}
RAW
expect(Post.last.raw).to eq(expected_raw.chomp)
@@ -547,7 +548,7 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
narrative.input(:reply, user, post: post)
new_post = Post.last
- expect(new_post.raw).to eq(I18n.t('discourse_narrative_bot.advanced_user_narrative.poll.not_found'))
+ expect(new_post.raw).to eq(I18n.t('discourse_narrative_bot.advanced_user_narrative.poll.not_found', base_uri: ''))
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_poll)
end
@@ -561,7 +562,7 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
new_post = Post.last
expect(new_post.raw).to eq(I18n.t(
- 'discourse_narrative_bot.advanced_user_narrative.details.instructions')
+ 'discourse_narrative_bot.advanced_user_narrative.details.instructions', base_uri: '')
)
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_details)
@@ -574,9 +575,9 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
narrative.input(:reply, user, post: post)
expected_raw = <<~RAW
- #{I18n.t('discourse_narrative_bot.advanced_user_narrative.poll.reply')}
+ #{I18n.t('discourse_narrative_bot.advanced_user_narrative.poll.reply', base_uri: '')}
- #{I18n.t('discourse_narrative_bot.advanced_user_narrative.details.instructions')}
+ #{I18n.t('discourse_narrative_bot.advanced_user_narrative.details.instructions', base_uri: '')}
RAW
expect(Post.last.raw).to eq(expected_raw.chomp)
@@ -607,7 +608,7 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
it 'should create the right reply' do
narrative.input(:reply, user, post: post)
- expect(Post.last.raw).to eq(I18n.t('discourse_narrative_bot.advanced_user_narrative.details.not_found'))
+ expect(Post.last.raw).to eq(I18n.t('discourse_narrative_bot.advanced_user_narrative.details.not_found', base_uri: ''))
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_details)
end
@@ -631,7 +632,7 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
narrative.input(:reply, user, post: post)
expect(Post.offset(1).last.raw).to eq(I18n.t(
- 'discourse_narrative_bot.advanced_user_narrative.details.reply'
+ 'discourse_narrative_bot.advanced_user_narrative.details.reply', base_uri: ''
))
expect(narrative.get_data(user)).to eq({
diff --git a/plugins/discourse-narrative-bot/spec/discourse_narrative_bot/new_user_narrative_spec.rb b/plugins/discourse-narrative-bot/spec/discourse_narrative_bot/new_user_narrative_spec.rb
index f484b27556e..8b82c367d8a 100644
--- a/plugins/discourse-narrative-bot/spec/discourse_narrative_bot/new_user_narrative_spec.rb
+++ b/plugins/discourse-narrative-bot/spec/discourse_narrative_bot/new_user_narrative_spec.rb
@@ -44,6 +44,7 @@ describe DiscourseNarrativeBot::NewUserNarrative do
username: user.username,
skip_trigger: skip_trigger,
reset_trigger: "#{reset_trigger} #{described_class.reset_trigger}",
+ base_uri: ''
))
end
end
@@ -68,13 +69,13 @@ describe DiscourseNarrativeBot::NewUserNarrative do
narrative.reset_bot(user, post)
expected_raw = I18n.t('discourse_narrative_bot.new_user_narrative.hello.message',
- username: user.username, title: SiteSetting.title
+ username: user.username, title: SiteSetting.title, base_uri: ''
)
expected_raw = <<~RAW
#{expected_raw}
- #{I18n.t('discourse_narrative_bot.new_user_narrative.bookmark.instructions', profile_page_url: profile_page_url)}
+ #{I18n.t('discourse_narrative_bot.new_user_narrative.bookmark.instructions', profile_page_url: profile_page_url, base_uri: '')}
RAW
new_post = Post.last
@@ -96,13 +97,13 @@ describe DiscourseNarrativeBot::NewUserNarrative do
narrative.reset_bot(user, other_post)
expected_raw = I18n.t('discourse_narrative_bot.new_user_narrative.hello.message',
- username: user.username, title: SiteSetting.title
+ username: user.username, title: SiteSetting.title, base_uri: ''
)
expected_raw = <<~RAW
#{expected_raw}
- #{I18n.t('discourse_narrative_bot.new_user_narrative.bookmark.instructions', profile_page_url: profile_page_url)}
+ #{I18n.t('discourse_narrative_bot.new_user_narrative.bookmark.instructions', profile_page_url: profile_page_url, base_uri: '')}
RAW
new_post = Post.last
@@ -159,13 +160,13 @@ describe DiscourseNarrativeBot::NewUserNarrative do
new_post = Post.last
expected_raw = I18n.t('discourse_narrative_bot.new_user_narrative.hello.message',
- username: user.username, title: SiteSetting.title
+ username: user.username, title: SiteSetting.title, base_uri: ''
)
expected_raw = <<~RAW
#{expected_raw}
- #{I18n.t('discourse_narrative_bot.new_user_narrative.bookmark.instructions', profile_page_url: profile_page_url)}
+ #{I18n.t('discourse_narrative_bot.new_user_narrative.bookmark.instructions', profile_page_url: profile_page_url, base_uri: '')}
RAW
expect(new_post.raw).to eq(expected_raw.chomp)
@@ -207,7 +208,7 @@ describe DiscourseNarrativeBot::NewUserNarrative do
narrative.input(:reply, user, post: post)
new_post = Post.last
- expect(new_post.raw).to eq(I18n.t('discourse_narrative_bot.new_user_narrative.bookmark.not_found'))
+ expect(new_post.raw).to eq(I18n.t('discourse_narrative_bot.new_user_narrative.bookmark.not_found', base_uri: ''))
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_bookmark)
end
@@ -220,9 +221,7 @@ describe DiscourseNarrativeBot::NewUserNarrative do
new_post = Post.last
- expect(new_post.raw).to eq(I18n.t(
- 'discourse_narrative_bot.new_user_narrative.onebox.instructions')
- )
+ expect(new_post.raw).to eq(I18n.t('discourse_narrative_bot.new_user_narrative.onebox.instructions', base_uri: ''))
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_onebox)
end
@@ -238,9 +237,9 @@ describe DiscourseNarrativeBot::NewUserNarrative do
profile_page_url = "#{Discourse.base_url}/u/#{user.username}"
expected_raw = <<~RAW
- #{I18n.t('discourse_narrative_bot.new_user_narrative.bookmark.reply', profile_page_url: profile_page_url)}
+ #{I18n.t('discourse_narrative_bot.new_user_narrative.bookmark.reply', profile_page_url: profile_page_url, base_uri: '')}
- #{I18n.t('discourse_narrative_bot.new_user_narrative.onebox.instructions')}
+ #{I18n.t('discourse_narrative_bot.new_user_narrative.onebox.instructions', base_uri: '')}
RAW
expect(new_post.raw).to eq(expected_raw.chomp)
@@ -269,7 +268,7 @@ describe DiscourseNarrativeBot::NewUserNarrative do
narrative.input(:reply, user, post: post)
new_post = Post.last
- expect(new_post.raw).to eq(I18n.t('discourse_narrative_bot.new_user_narrative.onebox.not_found'))
+ expect(new_post.raw).to eq(I18n.t('discourse_narrative_bot.new_user_narrative.onebox.not_found', base_uri: ''))
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_onebox)
end
end
@@ -280,7 +279,7 @@ describe DiscourseNarrativeBot::NewUserNarrative do
narrative.input(:reply, user, post: post)
new_post = Post.last
- expect(new_post.raw).to eq(I18n.t('discourse_narrative_bot.new_user_narrative.onebox.not_found'))
+ expect(new_post.raw).to eq(I18n.t('discourse_narrative_bot.new_user_narrative.onebox.not_found', base_uri: ''))
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_onebox)
end
end
@@ -295,9 +294,7 @@ describe DiscourseNarrativeBot::NewUserNarrative do
new_post = Post.last
- expect(new_post.raw).to eq(I18n.t(
- 'discourse_narrative_bot.new_user_narrative.emoji.instructions')
- )
+ expect(new_post.raw).to eq(I18n.t('discourse_narrative_bot.new_user_narrative.emoji.instructions', base_uri: ''))
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_emoji)
end
@@ -312,9 +309,9 @@ describe DiscourseNarrativeBot::NewUserNarrative do
new_post = Post.last
expected_raw = <<~RAW
- #{I18n.t('discourse_narrative_bot.new_user_narrative.onebox.reply')}
+ #{I18n.t('discourse_narrative_bot.new_user_narrative.onebox.reply', base_uri: '')}
- #{I18n.t('discourse_narrative_bot.new_user_narrative.emoji.instructions')}
+ #{I18n.t('discourse_narrative_bot.new_user_narrative.emoji.instructions', base_uri: '')}
RAW
expect(new_post.raw).to eq(expected_raw.chomp)
@@ -357,7 +354,8 @@ describe DiscourseNarrativeBot::NewUserNarrative do
expect(new_post.raw).to eq(I18n.t(
'discourse_narrative_bot.new_user_narrative.flag.instructions',
guidelines_url: Discourse.base_url + '/guidelines',
- about_url: Discourse.base_url + '/about'
+ about_url: Discourse.base_url + '/about',
+ base_uri: ''
))
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_flag)
@@ -374,7 +372,7 @@ describe DiscourseNarrativeBot::NewUserNarrative do
expect(Post.last.raw).to eq(I18n.t(
'discourse_narrative_bot.new_user_narrative.images.not_found',
- image_url: "#{Discourse.base_url}/images/dog-walk.gif"
+ image_url: "#{Discourse.base_url}/images/dog-walk.gif", base_uri: ''
))
described_class.any_instance.expects(:enqueue_timeout_job).with(user)
@@ -388,12 +386,13 @@ describe DiscourseNarrativeBot::NewUserNarrative do
DiscourseNarrativeBot::TrackSelector.new(:reply, user, post_id: new_post.id).select
expected_raw = <<~RAW
- #{I18n.t('discourse_narrative_bot.new_user_narrative.images.reply')}
+ #{I18n.t('discourse_narrative_bot.new_user_narrative.images.reply', base_uri: '')}
#{I18n.t(
'discourse_narrative_bot.new_user_narrative.flag.instructions',
guidelines_url: "#{Discourse.base_url}/guidelines",
- about_url: "#{Discourse.base_url}/about"
+ about_url: "#{Discourse.base_url}/about",
+ base_uri: ''
)}
RAW
@@ -414,7 +413,8 @@ describe DiscourseNarrativeBot::NewUserNarrative do
expect(Post.last.raw).to eq(I18n.t(
'discourse_narrative_bot.new_user_narrative.images.not_found',
- image_url: "#{Discourse.base_url}/images/dog-walk.gif"
+ image_url: "#{Discourse.base_url}/images/dog-walk.gif",
+ base_uri: ''
))
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_images)
@@ -430,7 +430,7 @@ describe DiscourseNarrativeBot::NewUserNarrative do
expect(Post.last.raw).to eq(I18n.t(
'discourse_narrative_bot.new_user_narrative.images.like_not_found',
- url: post_2.url
+ url: post_2.url, base_uri: ''
))
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_images)
@@ -447,7 +447,8 @@ describe DiscourseNarrativeBot::NewUserNarrative do
#{I18n.t(
'discourse_narrative_bot.new_user_narrative.flag.instructions',
guidelines_url: "#{Discourse.base_url}/guidelines",
- about_url: "#{Discourse.base_url}/about"
+ about_url: "#{Discourse.base_url}/about",
+ base_uri: ''
)}
RAW
@@ -482,7 +483,7 @@ describe DiscourseNarrativeBot::NewUserNarrative do
narrative.expects(:enqueue_timeout_job).with(user)
narrative.input(:reply, user, post: post)
- expect(Post.last.raw).to eq(I18n.t('discourse_narrative_bot.new_user_narrative.formatting.not_found'))
+ expect(Post.last.raw).to eq(I18n.t('discourse_narrative_bot.new_user_narrative.formatting.not_found', base_uri: ''))
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_formatting)
end
end
@@ -498,7 +499,7 @@ describe DiscourseNarrativeBot::NewUserNarrative do
new_post = Post.last
expect(new_post.raw).to eq(I18n.t(
- 'discourse_narrative_bot.new_user_narrative.quoting.instructions',
+ 'discourse_narrative_bot.new_user_narrative.quoting.instructions', base_uri: ''
))
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_quote)
@@ -515,9 +516,9 @@ describe DiscourseNarrativeBot::NewUserNarrative do
new_post = Post.last
expected_raw = <<~RAW
- #{I18n.t('discourse_narrative_bot.new_user_narrative.formatting.reply')}
+ #{I18n.t('discourse_narrative_bot.new_user_narrative.formatting.reply', base_uri: '')}
- #{I18n.t('discourse_narrative_bot.new_user_narrative.quoting.instructions')}
+ #{I18n.t('discourse_narrative_bot.new_user_narrative.quoting.instructions', base_uri: '')}
RAW
expect(new_post.raw).to eq(expected_raw.chomp)
@@ -546,7 +547,7 @@ describe DiscourseNarrativeBot::NewUserNarrative do
narrative.expects(:enqueue_timeout_job).with(user)
narrative.input(:reply, user, post: post)
- expect(Post.last.raw).to eq(I18n.t('discourse_narrative_bot.new_user_narrative.quoting.not_found'))
+ expect(Post.last.raw).to eq(I18n.t('discourse_narrative_bot.new_user_narrative.quoting.not_found', base_uri: ''))
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_quote)
end
end
@@ -562,11 +563,24 @@ describe DiscourseNarrativeBot::NewUserNarrative do
new_post = Post.last
expect(new_post.raw).to eq(I18n.t(
- 'discourse_narrative_bot.new_user_narrative.images.instructions',
+ 'discourse_narrative_bot.new_user_narrative.images.instructions', base_uri: ''
))
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_images)
end
+
+ it "should use correct path to images on subfolder installs" do
+ GlobalSetting.stubs(:relative_url_root).returns('/forum')
+ Discourse.stubs(:base_uri).returns("/forum")
+
+ post.update!(raw: skip_trigger)
+
+ DiscourseNarrativeBot::TrackSelector.new(:reply, user, post_id: post.id).select
+
+ new_post = Post.last
+
+ expect(new_post.raw).to include("/forum/images")
+ end
end
end
@@ -580,9 +594,9 @@ describe DiscourseNarrativeBot::NewUserNarrative do
new_post = Post.last
expected_raw = <<~RAW
- #{I18n.t('discourse_narrative_bot.new_user_narrative.quoting.reply')}
+ #{I18n.t('discourse_narrative_bot.new_user_narrative.quoting.reply', base_uri: '')}
- #{I18n.t('discourse_narrative_bot.new_user_narrative.images.instructions')}
+ #{I18n.t('discourse_narrative_bot.new_user_narrative.images.instructions', base_uri: '')}
RAW
expect(new_post.raw).to eq(expected_raw.chomp)
@@ -610,7 +624,7 @@ describe DiscourseNarrativeBot::NewUserNarrative do
narrative.expects(:enqueue_timeout_job).with(user)
narrative.input(:reply, user, post: post)
- expect(Post.last.raw).to eq(I18n.t('discourse_narrative_bot.new_user_narrative.emoji.not_found'))
+ expect(Post.last.raw).to eq(I18n.t('discourse_narrative_bot.new_user_narrative.emoji.not_found', base_uri: ''))
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_emoji)
end
end
@@ -627,7 +641,7 @@ describe DiscourseNarrativeBot::NewUserNarrative do
expect(new_post.raw).to eq(I18n.t(
'discourse_narrative_bot.new_user_narrative.mention.instructions',
- discobot_username: discobot_user.username
+ discobot_username: discobot_user.username, base_uri: ''
))
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_mention)
@@ -645,10 +659,10 @@ describe DiscourseNarrativeBot::NewUserNarrative do
new_post = Post.last
expected_raw = <<~RAW
- #{I18n.t('discourse_narrative_bot.new_user_narrative.emoji.reply')}
+ #{I18n.t('discourse_narrative_bot.new_user_narrative.emoji.reply', base_uri: '')}
#{I18n.t('discourse_narrative_bot.new_user_narrative.mention.instructions',
- discobot_username: discobot_user.username
+ discobot_username: discobot_user.username, base_uri: ''
)}
RAW
@@ -680,7 +694,8 @@ describe DiscourseNarrativeBot::NewUserNarrative do
expect(Post.last.raw).to eq(I18n.t(
'discourse_narrative_bot.new_user_narrative.mention.not_found',
username: user.username,
- discobot_username: discobot_user.username
+ discobot_username: discobot_user.username,
+ base_uri: ''
))
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_mention)
@@ -698,7 +713,7 @@ describe DiscourseNarrativeBot::NewUserNarrative do
expect(new_post.raw).to eq(I18n.t(
'discourse_narrative_bot.new_user_narrative.formatting.instructions',
- discobot_username: discobot_user.username
+ discobot_username: discobot_user.username, base_uri: ''
))
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_formatting)
@@ -715,10 +730,10 @@ describe DiscourseNarrativeBot::NewUserNarrative do
new_post = Post.last
expected_raw = <<~RAW
- #{I18n.t('discourse_narrative_bot.new_user_narrative.mention.reply')}
+ #{I18n.t('discourse_narrative_bot.new_user_narrative.mention.reply', base_uri: '')}
#{I18n.t(
- 'discourse_narrative_bot.new_user_narrative.formatting.instructions'
+ 'discourse_narrative_bot.new_user_narrative.formatting.instructions', base_uri: ''
)}
RAW
@@ -762,7 +777,7 @@ describe DiscourseNarrativeBot::NewUserNarrative do
narrative.input(:reply, user, post: other_post)
new_post = Post.last
- expect(new_post.raw).to eq(I18n.t('discourse_narrative_bot.new_user_narrative.flag.not_found'))
+ expect(new_post.raw).to eq(I18n.t('discourse_narrative_bot.new_user_narrative.flag.not_found', base_uri: ''))
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_flag)
end
@@ -776,7 +791,7 @@ describe DiscourseNarrativeBot::NewUserNarrative do
new_post = Post.last
expect(new_post.raw).to eq(I18n.t(
- 'discourse_narrative_bot.new_user_narrative.search.instructions'
+ 'discourse_narrative_bot.new_user_narrative.search.instructions', base_uri: ''
))
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_search)
@@ -792,10 +807,10 @@ describe DiscourseNarrativeBot::NewUserNarrative do
new_post = Post.last
expected_raw = <<~RAW
- #{I18n.t('discourse_narrative_bot.new_user_narrative.flag.reply')}
+ #{I18n.t('discourse_narrative_bot.new_user_narrative.flag.reply', base_uri: '')}
#{I18n.t(
- 'discourse_narrative_bot.new_user_narrative.search.instructions'
+ 'discourse_narrative_bot.new_user_narrative.search.instructions', base_uri: ''
)}
RAW
@@ -825,7 +840,7 @@ describe DiscourseNarrativeBot::NewUserNarrative do
narrative.input(:reply, user, post: post)
expect(Post.last.raw).to eq(I18n.t(
- 'discourse_narrative_bot.new_user_narrative.search.not_found'
+ 'discourse_narrative_bot.new_user_narrative.search.not_found', base_uri: ''
))
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_search)
@@ -847,7 +862,7 @@ describe DiscourseNarrativeBot::NewUserNarrative do
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_search)
expect(post.reload.topic.first_post.raw).to include(I18n.t(
- "discourse_narrative_bot.new_user_narrative.search.hidden_message"
+ "discourse_narrative_bot.new_user_narrative.search.hidden_message", base_uri: ''
))
end
@@ -875,7 +890,7 @@ describe DiscourseNarrativeBot::NewUserNarrative do
expect(new_post.raw).to eq(I18n.t(
'discourse_narrative_bot.new_user_narrative.search.reply',
- search_url: "#{Discourse.base_url}/search"
+ search_url: "#{Discourse.base_url}/search", base_uri: ''
).chomp)
expect(first_post.reload.raw).to eq('Hello world')