nextcloud / cookbook

🍲 A library for all your recipes
https://apps.nextcloud.com/apps/cookbook
GNU Affero General Public License v3.0
524 stars 89 forks source link

Prepare for NC version 25 #1208

Closed christianlupus closed 1 year ago

christianlupus commented 2 years ago

The new release of NC version 25 is coming soon. I just found that there is a breaking change coming as well with the Vue library: The new version 7.x.x will only support NC version 25, nothing before that. The change of code is quite significant as all library components get prefixed by Nc. Thus our complete Vue frontend will need a rework, once this version hits stable.

The problem we are facing is how we can support two different versions of this library to support both NC pre-25 and 25. I am open to your suggestions. We need a way to cope with this in the near future to manage two different variants of our framework and will have this situation at least until NC24 is EOL.

I already tried to reach out for help and suggestions but I am unsure how much useful return will be there. This issue is only a reminder to keep an eye on the problem.

MarcelRobitaille commented 1 year ago

I am not sure I understand completely. Which kind of support is needed for NC 24 once NC 25 is out? New features? Bug fixes? Only security fixes?

Is the problem more related to how to manage this in Git or in the app store?

I propose we create a branch for NC 24 that only gets important bug fixes and security fixes. It's not a perfect solution, but I don't think people who don't update NC should expect new features from this app. However, I do see the problem this creates about needed to publish 2 different versions for the app to the app store.

christianlupus commented 1 year ago

We have to do a few things. First, the frontend needs an update to use @nextcloud/vue>=7 for NC25. For NC <=24 it must be @nextcloud/vue<6. With that change, many of the vue components provided by Nextcloud are renamed (prefixed with Nc). So, any significant overhaul of the UI should be done before that.

We will have to provide two version lanes, one for NC<25 and one for NC>=25. Typically that would mean having a new major version. We are still below 1.0, so I'd rather avoid making the jump right now just to support NC25. Instead, I favor of defining v 0.10.0 as the first one compatible with NC25.

We will then have to support the 0.9.x and the 0.10.x (and successors) lane that need to be kept separate for compatibility reasons. Then, we need tp either manually or semi-automatically install a backport feature of certain PRs. So either one of the admins needs to manually use git to do a backport or we can write a GH action for that.

As a side effect, the complete CI tests will fail. Currently, they are organized such that each commit and each PR is checked with all possible versions of NC supported. This will no longer work. We have to decide on which development lane we are in and depending on that select the tests to run. So an overhaul of the test infrastructure is also needed.

Next, the deployment of new versions will no longer work. There were some assumptions made that are no longer valid: The stable branch must be renamed and the corresponding GitHub actions need also an overhaul to continue to work.

christianlupus commented 1 year ago

See also https://github.com/nextcloud/nextcloud-vue/issues/3243

christianlupus commented 1 year ago

Today, NC25 was released. So, this gets important now. I will try to get the actions corrected very soon.

MarcelRobitaille commented 1 year ago

I'm happy to help how I can. Let me know what I can do.

alkanex-xyz commented 1 year ago

i have activated cookbook on NC25 (did a fresh install).

Display recipes is fine. A few errors, mostly warnings on importing. While entering new recipes, there is no scrollbar. So all fields below "nutritional information" aren't accessible.

terencedesu commented 1 year ago

Upgraded to NC25. Recipes load but the main page doesn't scroll (the side bar does scroll). Data appears to be fully loaded because searching in the browser for a word on the page, such as chicken, shows all results but as you step to each instance it doesn't show the results that are below the bottom of the screen (if that makes sense).

christianlupus commented 1 year ago

Yesterday, i started to work on #1285 to update the GitHub scripts. Just as a reference i cross-post here.

Jolopu commented 1 year ago

Same issue here: No scrolling in recipes on NC25. I upgraded to 0.9.16 and tried Chrome, Brave and Safari.

christianlupus commented 1 year ago

I just performed the actual split of the branched. There are still a few wrinkles that need to be ironed out. This is mainly the GitHub actions are not yet running 100% smoothly. I also would be careful with the auto-deployment of releases. This is disabled for not to prevent issues generating by going it wild again.

terencedesu commented 1 year ago

Update looks great. Thank you. Still ranks as one of my favorite apps.

Jolopu commented 1 year ago

Thanks for the update! Looks great and scrolling works again.