Skip to content

Add Nextcloud 30 & 31 support#40

Open
JonathanTreffler wants to merge 5 commits intoLibreCodeCoop:mainfrom
verdigado:main
Open

Add Nextcloud 30 & 31 support#40
JonathanTreffler wants to merge 5 commits intoLibreCodeCoop:mainfrom
verdigado:main

Conversation

@JonathanTreffler
Copy link
Copy Markdown

@JonathanTreffler JonathanTreffler commented Aug 26, 2025

☑️ Resolves

This replaces the old removed NC systems (old event system) with their modern equivalents.
I also refactored any code that uses exec() as this command is forbidden and disabled in the environment I want this app to run it and not needed, this can all be done with easy native PHP.

🚧 Tasks

  • migrate to new event system
  • mark as compatible in info.xml
  • test simple operations like l10n-override:list and l10n-override:add and if changes actually show up in frontend
  • test more complex operations (disabling, enabling apps, ... ?)

🏁 Checklist

Signed-off-by: Jonathan Treffler <jonathan.treffler@verdigado.com>
Signed-off-by: Jonathan Treffler <jonathan.treffler@verdigado.com>
@JonathanTreffler
Copy link
Copy Markdown
Author

(Added DCO in force-push)

@JonathanTreffler
Copy link
Copy Markdown
Author

I have so far tested on NC 31 with no reason to doubt it would run on NC 30, but I will also test that later.

Signed-off-by: Jonathan Treffler <jonathan.treffler@verdigado.com>
@vitormattos
Copy link
Copy Markdown
Member

Look the failed checks.

Signed-off-by: Jonathan Treffler <jonathan.treffler@verdigado.com>
<repository type="git">https://github.com/librecodecoop/l10n_override</repository>
<dependencies>
<nextcloud min-version="28" max-version="28"/>
<nextcloud min-version="30" max-version="31"/>
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also will be necessary bump the version:

<version>2.0.0</version>

Considering that is to be compatible with a newest version of Nextcloud server and considering the Nextcloud server as a framework, we can talk that it's should be a major increment.

What's you think about this? Maybe could be 3.0.0

Copy link
Copy Markdown
Author

@JonathanTreffler JonathanTreffler Aug 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As there are no breaking changes to public interfaces per Semantic Versioning the correct version would be 2.1.0, but I personally would also be OK with 3.0.0, if you prefer that

@vitormattos vitormattos mentioned this pull request Aug 26, 2025
<repository type="git">https://github.com/librecodecoop/l10n_override</repository>
<dependencies>
<nextcloud min-version="28" max-version="28"/>
<nextcloud min-version="30" max-version="31"/>
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another point....

I know that could be a bit complex to make backports but we can set the min and max versionto 32 and after this, send the backport to a branch stable31.

We also can drop Nextcloud 30 because the official support by server will finish into September as we can see here: https://github.com/nextcloud/server/wiki/Maintenance-and-Release-Schedule

Copy link
Copy Markdown
Author

@JonathanTreffler JonathanTreffler Aug 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, I just realized I got the PR title wrong. NC 32 is not even out yet, i meant 30 and 31. And AFAIK apps should not mark themselves compatible with a version until that version is at least very close to a release.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there any upside to going the backport way ?
I think normally this would be done when code changes to the app are needed between the two versions, so features can be backported to the old branch too.
Since this is only compatibility changes, no feature changes and no code changes between the versions are needed I think this approach would be simpler:
Releasing one version which covers both 30 and 31 and just drop NC 30 with any next release after September, when it is no longer supported.

@JonathanTreffler JonathanTreffler changed the title Add Nextcloud 31 & 32 support Add Nextcloud 30 & 31 support Aug 26, 2025
Signed-off-by: Jonathan Treffler <jonathan.treffler@verdigado.com>
@JonathanTreffler
Copy link
Copy Markdown
Author

JonathanTreffler commented Aug 26, 2025

@vitormattos Could you please take a look at the updateAllLanguages function ? Before I changed it that function called $this->update() with 3 parameters, even though it only takes two. So I removed the parameter, whose name did not match by name.
But that was still not working as listLanguages does not return a list of languages as the name might imply, but a list of rows from l10n_override_text, so I assume the parameter that should actually be passed to update is the new_language column of that row ? I change that, now it does not throw errors anymore, but you probably know better what it was supposed to do and if this actually does that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Nextcloud 28 compatibility

2 participants