-
Notifications
You must be signed in to change notification settings - Fork 237
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Promises v3 Checklist #1149
Comments
All this should be in https://github.com/discord-php/DiscordPHP/tree/promise-v3 now |
ExtendedPromiseInterface extends PromiseInterface, and Promise v2 implements ExtendedPromiseInterface, so instead of replacing the existing typehinting to PromiseInterface we could just use React\Promise\Promise, which would overcome the hurdle and be better for futureproofing code. This seems to be the ReactPHP developers' intent as well, given they have made all classes final to encourage composition. |
It's painful to read this @valzargaming :) Code-ify more please. |
This is already coded in the promises v3 branch as of today. |
What's the state of this issue? |
We will not be updating to promises v3 until our dependencies can support
it. The only alternative would be to rewrite all of those dependencies
ourselves, going through the composer requirements one at a time to find
them, manually recreate them with the changes, and then maintain them going
forward, which is not something we are willing to commit to at this time.
|
What are the dependencies in question? I was very much under the impression that it's all DiscordPHP stuff. If there are such external dependencies at all, it would make sense to open issues for them at least for tracking. |
I couldn't resist going through the "bottleneck" dependencies:
That's all I can see with UPDATE: |
wyrihaximus/react-cache-redis still relies on react/promise ^2.8 and is the biggest change to the v10 release. |
@2colours, thanks for checking and confirming this! I announced on 9/25/2024 in our Discord that we have officially discontinued v7 support specifically for reasons like this along with Discord having marked the v7 gateway as deprecated. We will not take into consideration any issues with that older version when working on this future update. The HTTP library has an active PR that is undergoing review. Once we've confirmed functionality we will add ^3.0 to composer.json. |
The two most recent versions of that package do support v3 Promises (the latest version, 4.5.0 at this moment, only supports that). But anyway, most importantly, this is just a dev dependency. A dev dependency really shouldn't poison downstream users; I don't know how Composer works under the hood but it rather sounds like their issue if this can happen at all.
You mean, the server I was banned from while trying to clarify #1208, why it's a library issue and not a "you problem" to swallow promise rejections, for mere ego reasons in my opinion? That's too bad, especially that this is a general purpose PHP Discord, not just a Discord for your library. Give people power to see their true nature... |
You seem to have misunderstood the context here. The inclusion of the experimental interface is intentional and serves to notify developers of its experimental nature. This is why it’s currently restricted to dev usage, it’s not yet considered stable. While we originally planned to launch the stable version with v10, we chose to delay it to ensure its readiness.
This issue appears to be more about individual circumstances than the library itself. If you’d like to revisit the situation, you’re welcome to submit an unban request to maintainers@discordphp.org for review and explain why you were banned and why it should be lifted. Be sure to include your discord username or id. Regarding your concerns, the purpose of the Discord server is to facilitate constructive discussions about this library and related topics. While it is a general-purpose PHP Discord, specific communities (like ours) often set their own guidelines and moderation standards. The decision to enforce a ban was not personal but based on the observed tone and interactions. Constructive dialogue is always encouraged, but communication should remain respectful and collaborative. GitHub's issue tracker remains open for technical discussions about the library itself, provided the conversation stays professional and focused on solutions. However, I will warn you that you should adjust your tone going forward. In this thread alone you have made ad hominem attacks and made statements that escalate conflict rather than facilitate resolution (e.g. |
All necessary changes have been completed and have been tested in a production environment. React/Promise ^3 is now live on dev-master for testing. Closing this issue for now, please open a new issue report if any problems are found. |
Per https://github.com/reactphp/promise/releases/tag/v3.0.0
Irrelevant:
Breaking changes:
resolve(T $value): PromiseInterface<T>
andreject(Throwable $reason): PromiseInterface<never>
#1151 - Instances of existing code need to call resolve or reject and handle errors appropriately.Non-breaking changes:
The text was updated successfully, but these errors were encountered: