-
Notifications
You must be signed in to change notification settings - Fork 176
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
use Symfony HttpClient as client #290
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm sorry but I can't approve this; as the CI shows, this would break support for Symfony < 4.3, so it's a no-go at this level, it should be done by the end user. When we will drop 3.4 we could do this.
CI is wrong, HttpClient is fine with Symfony 3.4 too. |
a80e037
to
8b82268
Compare
No, it won't work with any project that requires Also, you're forcing this choice on the end user, cutting him off from the possibility to replace the client, or at least without the possibility of dropping that dependency. |
I can't see any conflict between |
You're right, |
Latest version of |
Then you should lock against it ( |
I fear that CI failures are not unrelated... It's halting on Symfony Request signature, which is NOT coming from 3.4, but 4.4: https://travis-ci.org/getsentry/sentry-symfony/jobs/632285363#L776
|
Can you try to run tests on a local environment? On mine, all tests are green 🤔 |
I see "changes requested" but without any note. Is there something left to do? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I still don't like this change very much. You're forcing an opinionated client on the users, without a way to opt out. With sentry/sdk
instead you can always replace that, and avoid installing the suggested package.
But you can replace this client too, I can't see any difference. The only difference is that this client is a Symfony component, so it's likely already required in a Symfony project. |
No, you can't replace it as a dependency, in this way it will be always installed, you can only leave it unused; that is a problem if it creates a conflict with a third package, for example. And, since Flex, you can no longer give that for granted as installed. |
I don't get you, what is the reason that keeps you from replacing? |
With |
And can't you just replace |
Technically you would be lying, because you would be telling to Composer that you have something that works like |
But that exactly what you're doing by replacing anything. But, again, since we're in a Symfony bundle, I don't see a reason to exclude a Symfony component, that you'll likely need for something else, since you're using Symfony after all. So, in the end, if you want to force an implementation, at least force a Symfony one (given that not forcing anything would be always the best option) |
I'm also in favor of taking advantage of a Symfony component if we must choose between Symfony HTTP client vs Guzzle :) |
That's only half of what you do with Instead, |
So I guess that Sentry organisation should offer other meta packages, one for each possible client. |
Sentry offers an opinionated metapackage, creating others is not so useful and complicates maintenance; you can do it yourself, with another metapackage that replaces the original one and suggests the Symfony client. |
Of course I could do that way, but then I'm afraid that it would be hard to get accepted as a replacement, being in a situation of "official vs unofficial" |
@Jean85 on the subject of putting Using composer's replace mechanism for this does feel kinda hacky to me, but my main concern is that usually bumped versions of a package's own dependencies aren't included in the definition of semver compatibility so [edited initial message] |
@dvdoug that is a fair question. I'll have to investigate that issue. |
Closing as solved by #327 |
This should solve issue #246