Firesphere / silverstripe-graphql-jwt

JWT Authentication for GraphQL
GNU General Public License v3.0
19 stars 24 forks source link

WIP: GraphQL 4 compat #32

Open unclecheese opened 3 years ago

tractorcow commented 3 years ago

Assuming that graphql 4.x is the full rewrite, this course of action is correct.

master -> aliased as 3.0 can be the new upgrade. 2.0 -> old graphql 3 compat module.

@unclecheese there is another outstanding issue with the upstream jwt dependency. Can you also please upgrade this to ^4 in the same upgrade? (otherwise we will have TWO major version releases for each).

See https://github.com/Firesphere/silverstripe-graphql-jwt/pull/31 for my failed attempt to fix the deprecations for JWT 3.4. The correct fix is to release a new major version and just use JWT 4.x directly.

My other suggestion for 2.0 branch is to lock the JWT dependency to ~3.3.0

tractorcow commented 3 years ago

Oh, and I can help with this work too, since I'll need this for my next project :)

unclecheese commented 3 years ago

I have no plans to make it BC. I'll do this to the master branch and we can tag 3.0 with a strict graphql 4 dependency.

It is possible to do it BC, but it's tedious and I think it's only worth it for core modules.

Firesphere commented 3 years ago

Please ignore the CircleCI failures. This is due to an issue with upgrading MariaDB on CircleCI and not related to the module.

I haven't had time to fix it, but if you can show the tests are green on your end, I don't mind

Firesphere commented 3 years ago

Handing over to @tractorcow for this one. I don't have the time or energy :)

unclecheese commented 3 years ago

It kind of works. Seems to be an issue in the unit tests where Members are expected to come back null in the auth, but they're not.

Firesphere commented 3 years ago

I seriously have trouble keeping up with everything. I am more than happy to keep this module alive, but I need someone else to take the wheel. I have 200 hours of work on my modules a day. And sadly, a day only has 24 hours. Excluding time I need to rest.

I nominate @tractorcow to be the new primary developer/maintainer, and fully trust him to add other maintainers.

guci0 commented 3 years ago

It kind of works.

Some little example of how to implement this to make it work. I had an approach once, but I couldn't make it ... Certainly not one person would help. Thanks in advance!