YunoHost-Apps / outline_ynh

An open, extensible, wiki for your team built using React and Node.js
GNU Affero General Public License v3.0
19 stars 9 forks source link

autoupdate.strategy = "latest_github_release" #102

Open OniriCorpe opened 9 months ago

OniriCorpe commented 9 months ago

@Limezy can we add autoupdating to your package? ^w^

Limezy commented 9 months ago

I would be glad to do so, but it will be more complicated than what you propose here. Indeed, the source code needs to be patched for emails to work correctly. https://github.com/YunoHost-Apps/outline_ynh/blob/175c42c0929bfd1fbe78a7ac6c089620ff6c9d6f/sources/patches/main-01-email.patch#L1-L11 I'm not 100% clear about how are patch logics working, but the index f53e44b6b..bcf56efca 100644 line will change every time there is a change either in the server/emails/mailer.tsx file either if it is moved somewhere else.

You can have a look at the history at this patch that has to be changed roughly at each new outline version. https://github.com/YunoHost-Apps/outline_ynh/commits/c55b27e8a4ad15f600b95294f6179d64e3a22e41/sources/patches/app-01-email.patch?browsing_rename_history=true&new_path=sources/patches/main-01-email.patch&original_branch=master

Right now I do it manually :

Moreover, this app is very complex, it relies on another app, Dex, it is very long to build and very hard to be 100% that it works even though it runs well in the CI. That is why I never merge a new version to this repo before having testing it on my own server. Automating would be nice but I would still have all the testing work to do, and that is the longest as of now. The Outline updates are released every 30 or 45 days so I don't mind the manual work every now and then.

Lastly, but this shouldn't be a blocker to that proposal, I use a more heavily modified version of Outline on my own server (for theological studies) that has a few features I have developped myself (visitor button, special "bible quote" kind of paragraph etc...) so that's also why I don't mind the manual work.

With all that being said, if you find a way to automate the patching process I would be really glad !

OniriCorpe commented 9 months ago

The autoupgrade system could at least upgrade the app source links (wich is boring to do by hand) and notify you And after that you can patch the app?

fflorent commented 9 months ago

Silly question:

With all that being said, if you find a way to automate the patching process I would be really glad !

How hard would it be to patch the upstream project (with a env variable to toggle ignoreTLS)? I can try that if that would make your lihe easier

Limezy commented 9 months ago

@fflorent It's not a silly question, on the contrary ! And thanks for your help proposal. However, the Outline owner is quite serious about safety (for instance, Outline doesn't work without SSL etc...) and I highly doubt he would accept a PR proposing to drop email safety ! Moreover, the patches I use for my own instance would be rejected for sure, so anyway I need to go through a bit of patching work at every new release. That's 100% OK and usually it takes me only 10 minutes, much less than the testing time required. I'm OK to continue that way.

@OniriCorpe yes why not ! That's always a few minutes saved ! In that case, your current PR is working as is ? How can we test it ?

OniriCorpe commented 9 months ago

The bot will open a new PR using a dedicated branch, like this :

https://github.com/YunoHost-Apps/gotosocial_ynh/pull/124

For now there is no manual trigger possible to test it You have to accept the PR and wait one day (the script runs at 9 PM UTC+1 on the yunohost infrastructure) And if you don't like it, you can revert, of course

Limezy commented 6 months ago

Forgot about this. @OniriCorpe I'll try it after merging v0.76.1