NC12 breaking changes?

Hey guys,

i am struggling with some errors while upgrading my chat up to nc 12. Is there somewhere a list with breaking changes yet?

The concrete error message is “Could not resolve appName! Class appName does not exist”. Any idea?

I don’t know of any specifics but if that fails it should be a bug (because $appName without type annotation needs to be resovled to a value).

That seems to be caused because of some IDb usages. I’ve opened a PR at https://github.com/nextcloud/jsxc.nextcloud/pull/12 which should make it work again. Proper testing welcome :slight_smile:

1 Like

having the same issue in Audio Player

as we are much more DB based, its quite some rework required (e.g. all the ->prepareQuery) :frowning:

@Rello the API was deprecated and alternatives were available before you even started working on your app :wink:

Basically the API is the same, you just need to rename the method :wink:

for the complete background:
https://docs.nextcloud.com/server/12/developer_manual/app/changelog.html

hmmmm. but blaming it on someone else does not reduce my tasks :slight_smile:
…working on it already…

@Rello are you using phpstorm or intellij? Both should warn you about deprecated code (to prevent future issues :slight_smile: )

Hello,
no. Don´t know about them. We are still struggling to get transifex setup.
AP is only a parttime project of 1 amateur-dev (me) and 1 testing-pro (@anon99252149) :slight_smile:

but is this not what .occ app:code-check is also supposed to do?

I don’t know the internals of that thing

Hello,

I did the cleanup. did anything change in relation to fetchRow?

I am getting these wherever used:
Call to a member function fetchRow() on boolean

for example here:
https://github.com/Rello/audioplayer/blob/depreciate-OCP_IDb/lib/controller/musiccontroller.php#L355

Yes that should be fetch() instead https://github.com/nextcloud/server/blob/master/lib/public/AppFramework/Db/Mapper.php#L277

Seriously, try PHPStorm :slight_smile:

Those are all questions that autocomplete could have answered ;D

Are we talking about the tool from jetbrains for 200€ per year?
Not really an option then.

…keeping it with what NC is advertising: the community :wink:

Hello,
still not giving up on NC12 support :slight_smile:

So I need ->fetch() for a row-select and ->fetchAll() for multiple rows, correct?

I searched for references and found this:

I adapted my code
https://github.com/Rello/audioplayer/blob/depreciate-OCP_IDb/lib/controller/musiccontroller.php#L351-L359
the issue is in debugging (logging), that

  • $this->db->prepare($SQL1) returns “”
  • $stmt5->execute(array($this->userId)) returns a bool 1 and I could not find anything on that returncode?!

what am I doing wrong? is something with the prepare not correct?
IDbConnection seems correct to me in the construct.
thank you for your help

I would take a look at the interfaces that are used since their docs are pretty good:

I saw this one already - but can not relate it to the ->execute->fetch/fetchAll issue.

Any hands on advice how to get my select working?

As for PHPStorm, check: https://www.jetbrains.com/buy/opensource/?product=phpstorm

Apart fromt that: simply read the source code

If you want exact return types you need to check the doctrine docs. Also make sure that $this->db is an instance of IDBConnection

@BernhardPosselt would you mind looking at my GIT code and give me an advice?
https://github.com/Rello/audioplayer/blob/depreciate-OCP_IDb/lib/controller/musiccontroller.php#L351-L359

because I thought I did all this

fetchAll does not exist anymore, use fetch

which then leads to

Call to a member function fetch() on boolean