Errors on Update to 1.7.1
-
@pitaj said in Errors on Update to 1.7.1:
I repeat: there is a new, rewritten from scratch version of nodebb-plugin-emoji which implements the features of emoji-extended. Please try using it.
YOu can see that the v2 was discussed some time ago.
https://mangolassi.it/topic/15719/nodebb-1-7-1-update-issues/
-
Did you install nodebb-plugin-emoji-one v2? The old version doesn't work with nodebb-plugin-emoji.
-
@pitaj said in Errors on Update to 1.7.1:
Did you install nodebb-plugin-emoji-one v2? The old version doesn't work with nodebb-plugin-emoji.
This is getting silly. Obviously we are talking about the new ones.
Is there some secret "can't be found in the plugins system" link to totally different plugins actually called V2 somewhere? Because these are just the current releases of the existing emoji plugins that were constantly being updated, and remained broken, for most of the last year.
-
I don't know what kind of issues you're having. I don't know your setup. I don't visit Mongolassi, I listen and help with issues here. By default, a NodeBB upgrade will not upgrade the emoji-one pack to the new version. It will leave emoji-extended activated as to not break new installs.
That is why I asked. Do you want my help in fixing this or not?
-
@pitaj said in Errors on Update to 1.7.1:
I don't know what kind of issues you're having. I don't know your setup. I don't visit Mongolassi, I listen and help with issues here. By default, a NodeBB upgrade will not upgrade the emoji-one pack to the new version.
The upgrade process we use, the only one that we know works, does upgrade it to the latest version during the upgrade process. If we don't do that, things aren't compatible and it breaks. It's "always" been part of a basic upgrade AFAIK. I've been on NodeBB since 0.3, I think. We've never had an upgrade process that didn't keep all plugins at the latest.
I had already posted that this was the latest on GitHub as requested.
-
Sorry if I sounded gruff, I've been asked this same thing like four times as if I'm an idiot. I had just been assuming that emoji were not really being addressed and had been ignoring it. But people kept prodding me saying that the latest update was significant and it was expected to maybe work again.
I can't uninstall it because of the "undefined" problem that NodeBB appears to have without it (also on GitHub). Maybe that's the underlying issue, that NodeBB has a syntax error in the core install and some quotes or something are getting consumed from the emoji code that compete it but leave something broken in the emoji plugin as a result?
-
So during the upgrade, you were prompted to upgrade nodebb-plugin-emoji-one to the lastest version and did. Got it. I was referring to that not being done automatically by the upgrade utility.
-
@pitaj said in Errors on Update to 1.7.1:
So during the upgrade, you were prompted to upgrade nodebb-plugin-emoji-one to the lastest version and did. Got it. I was referring to that not being done automatically by the upgrade utility.
Not prompted, per se. AFAIK, and I know people use different processes, the upgrades are only reliable if a full npm update is run during the process. If we try to start NodeBB without doing that, we often get breaks and it can't start. We always update automatically as it is all scripted, so if this changed at some point, we'd not know. We've used the same upgrade script for a few years and, like I said, all I know is that it was required when it was first made and I was unaware of any changes to that requirement.
-
Meaning our upgrade script runs nodebb upgrade and then npm i, all as part of the script. We can't restart nodebb till that is done. So it is part of the upgrade process not part of the upgrade command.
-
@scottalanmiller all that should be necessary to upgrade NodeBB these days:
- For major upgrades (1.6.x -> 1.7.x)
git fetch git checkout v1.7.x git pull ./nodebb upgrade
- For minor upgrades (1.7.0 -> 1.7.1)
git pull ./nodebb upgrade
Would you mind sharing your script? If there are other steps they might be causing these issues.
Edit: this doesn't include restarting nodebb
-
Not much of a script but here it is...
git fetch; git pull; ./nodebb stop; npm i; ./nodebb upgrade; npm i; ./nodebb start; ./nodebb log
And for the 1.7.0 to 1.7.1 release we had to switch to this...
git fetch; git pull; ./nodebb stop; npm i; rm -rf ./node_modules/eslint* ; npm i commander; ./nodebb upgrade; npm i; ./nodebb start; ./nodebb log
Obviously our backups are not in that script, we do that manually (not sure why, actually.) Probably because we backup up to ten minutes ahead of doing the actual update as we can do that without impact and ensure we are at a lull before going down for a few seconds. So we keep it manual. We don't have a copy of the main database that we use for testing, but we have a series of separate sites that run the same code that range from pure test (their own data, but no live users) to insanely low use (users less than once a week) to moderate use but non-business before getting to the big main site. So we use that as our testing profile.
-
And like you pointed out, we do are git checkout independently rather than in the script. So that we have control and don't jump versions without realizing that we didn't mean to do it.
-
I don't know why the eslint issue occurred, it seems to have happened for a couple people. There are a few issues I can see with your script:
git fetch; git pull
is redundant,git pull
is just shorthand forgit fetch && git merge origin/[current branch]
- Using semicolons instead of
&&
will ignore errors in previous steps - The first
npm i
may have errored out when you upgraded tov1.7.0
where we changed how plugins get installed
In that release we deleted thepackage.json
in our repository, instead using a defaultpackage.json
which is used to update the locally heldpackage.json
. This allows fornpm@5
andyarn
default install behaviors to be compatible - You shouldn't need the eslint removal or commander install in there
./nodebb upgrade
runsnpm i
anyways, so you don't neednpm i
anymore- You can use
./nodebb start -l
or./nodebb slog
instead of start then log