Rebuilds fail for anyone with discourse-narrative-bot in app.yml

Since discourse-narrative-bot is now a core plugin, and contained within the core repository, there is now no need for the

git clone https://github.com/discourse/discourse-narrative-bot.git

line in app.yml.

Anyone who tries to rebuild with that line in their config will get an error message

exec failed with the params {"cd"=>"$home/plugins", "cmd"=>["git clone https://github.com/discourse/docker_manager.git", "git clone https://github.com/discourse/discourse-narrative-bot.git"]}

This will affect

  • Those who installed discourse-narrative-bot deliberately on their forums
  • Anyone who installed discourse fresh between 19th May and 24th May

This is a repeat of

I guess the only solution on the discourse end would be to rename the plugin in core (maybe just to narrative-bot, in line with the polls and lazyYT plugins), and then empty the discourse-narrative-bot repo (but don’t delete it cos that’ll cause errors as well).

Alternatively, everyone should remove discourse-narrative-bot from their app.yml.

10 Likes

I’ll prefer this approach. Otherwise, people would leave lines that are no longer used in their config file forever.

5 Likes

I agree about removing vestigial entries.

On the other hand, now that it is in core, why is the config still presented as a plugin? Is this an artefact of my having had it included in my config while it was still a “proper” plugin?

1 Like

I think we can live with supporting this, its a pretty small window.

5 Likes

Aha! When I checked /admin/upgrade today and saw that the latest change in the bot plugin was that it has been deleted and moved to core I did not dare to upgrade. Looks like my fears were not totally unwarranted. (Though I’m not sure what you mean by

Can you install a plugin non-deliberately?)

Could someone explain what people who have the bot installed need to watch out for? More precisely: in what order to I do things when removing the bot from app.yml? Or do I just remove it and that’s it?

1 Like

Well I guess that’s what just happened to everyone who updated core, the narrative bot plugin is being installed auto-magically :wink:

Yep, as far as I know you just remove it from app.yml, rebuild, and all will be well. That worked for my install with no problems.

5 Likes

It’s pretty small set of people who did a new install and got a plugin installed unbeknownst to them. If it’s easy to make the plugin just disable itself rather than make the build fail, that seems preferable.

I understand correctly, it also means that people who installed the plugin will have their rebuilds fail. I’m less worried about them, though, as if they installed the plugin, they presumably also know how to uninstall it. Even for them, though, some deprecation warning seems more gentle.

I just edited app.yml and removed the narrative-bot line then did a ./launcher rebuild app.

That was after I did a rebuild with the line still in (I wanted to add a different plugin in), and watched the rebuild barf all over itself. Then I raised both eyebrows, then I removed discobot manually and rebuilt.

3 Likes

I can confirm that this worked for me too.

2 Likes