ether / etherpad-lite

Etherpad: A modern really-real-time collaborative document editor.
http://docs.etherpad.org/
Apache License 2.0
16.76k stars 2.85k forks source link

`updatePlugin.sh` doesn't update plugins #6670

Open brunob opened 2 months ago

brunob commented 2 months ago

Running bin/updatePlugin.sh script doesn't update plugins. My test instance was using 0.174 of ep_markdown plugins and the script didn't detect it.

The only way i've found to update a plugin was to desinstall/reinstall it from admin page.

Is there another way to know if plugins update are available and to perform upgrades ?

SamTV12345 commented 1 month ago

Thanks for the issue. For now you can remove and reinstall a plugin that should suffice. The updatePlugin.sh did the same just in one step.

brunob commented 1 month ago

Thx for the feedback, so maybe we should fix the script here https://github.com/ether/etherpad-lite/blob/develop/bin/updatePlugins.sh#L11 to do exec pnpm remove "$@" && pnpm install "$@" instead of exec pnpm install "$@" ?

SamTV12345 commented 3 weeks ago

Thx for the feedback, so maybe we should fix the script here https://github.com/ether/etherpad-lite/blob/develop/bin/updatePlugins.sh#L11 to do exec exec pnpm remove "$@" && pnpm install "$@" instead of exec pnpm install "$@" ?

Or maybe we should use the new command. pnpm plugins rm <plugin> and pnpm plugins install <plugin> ? Feel free to create a pr.

brunob commented 1 week ago

@SamTV12345 i was going to test these changes and some questions rise.

What is the difference between pnpm run plugins install ref https://github.com/ether/etherpad-lite/wiki/Available-Plugins and pnpm plugins install ?

FTR, on a freh install with node v20.18.0 + npm 10.8.2 + pnpm 9.6.0, i've tried pnpm run plugins install ep_markdown and pnpm plugins install ep_markdown and it doesn't install the plugin at all.

pnpm run plugins install ep_markdown

> etherpad@2.2.6 plugins /home/bb/Bureau/etherpad-lite
> pnpm --filter bin run plugins "install" "ep_markdown"

> bin@2.2.6 plugins /home/bb/Bureau/etherpad-lite/bin
> node --import tsx ./plugins.ts "install" "ep_markdown"

[2024-11-15T15:47:11.325] [INFO] settings - All relative paths will be interpreted relative to the identified Etherpad base dir: /home/bb/Bureau/etherpad-lite
[2024-11-15T15:47:11.342] [INFO] settings - settings loaded from: /home/bb/Bureau/etherpad-lite/settings.json
[2024-11-15T15:47:11.344] [INFO] settings - No credentials file found in /home/bb/Bureau/etherpad-lite/credentials.json. Ignoring.
[2024-11-15T15:47:11.344] [WARN] settings - loglevel: INFO
[2024-11-15T15:47:11.344] [WARN] settings - logLayoutType: colored
[2024-11-15T15:47:11.345] [INFO] settings - Using skin "colibris" in dir: /home/bb/Bureau/etherpad-lite/src/static/skins/colibris
[2024-11-15T15:47:11.345] [WARN] settings - DirtyDB is used. This is not recommended for production. File location: /home/bb/Bureau/etherpad-lite/var/dirty.db
[2024-11-15T15:47:11.345] [INFO] settings - Random string used for versioning assets: 8aa65fae
[2024-11-15T15:47:11.362] [INFO] plugins - check installed plugins for migration
[2024-11-15T15:47:11.565] [INFO] plugins - pnpm --version: 9.6.0
...
pnpm run plugins ls

> etherpad@2.2.6 plugins /home/bb/Bureau/etherpad-lite
> pnpm --filter bin run plugins "ls"

> bin@2.2.6 plugins /home/bb/Bureau/etherpad-lite/bin
> node --import tsx ./plugins.ts "ls"

[2024-11-15T15:47:19.239] [INFO] settings - All relative paths will be interpreted relative to the identified Etherpad base dir: /home/bb/Bureau/etherpad-lite
[2024-11-15T15:47:19.257] [INFO] settings - settings loaded from: /home/bb/Bureau/etherpad-lite/settings.json
[2024-11-15T15:47:19.258] [INFO] settings - No credentials file found in /home/bb/Bureau/etherpad-lite/credentials.json. Ignoring.
[2024-11-15T15:47:19.259] [WARN] settings - loglevel: INFO
[2024-11-15T15:47:19.259] [WARN] settings - logLayoutType: colored
[2024-11-15T15:47:19.260] [INFO] settings - Using skin "colibris" in dir: /home/bb/Bureau/etherpad-lite/src/static/skins/colibris
[2024-11-15T15:47:19.260] [WARN] settings - DirtyDB is used. This is not recommended for production. File location: /home/bb/Bureau/etherpad-lite/var/dirty.db
[2024-11-15T15:47:19.260] [INFO] settings - Random string used for versioning assets: 7131fa07
[2024-11-15T15:47:19.277] [INFO] settings - Installed plugins are: ep_etherpad-lite
[2024-11-15T15:47:19.481] [INFO] plugins - pnpm --version: 9.6.0

Did i missed something ?