mpdude
Repos
105
Followers
42
Following
32

Events

delete branch
mpdude delete branch use-php-8
Created at 1 day ago
pull request closed
Run Psalm using PHP 8.0

At least the older Psalm images (4.10.0) cannot deal with deprecations raised by PHP 8.1 when tenative return types (https://php.watch/versions/8.1/internal-method-return-types) are missing. This is a problem on older code bases when e. g. a mixed return type hint cannot be used (PHP < 8.0).

On the other hand, it seems at least newer Psalm versions can deal with this (https://github.com/vimeo/psalm/pull/6732?)

Created at 1 day ago
issue comment
Run Psalm using PHP 8.0

Haven’t seen the issue for a while, and since it feels better to use the latest PHP 8, I'm closing this.

Created at 1 day ago
delete branch
mpdude delete branch doc-47496
Created at 3 days ago
issue comment
Document the `framework.router.cache_dir` setting

Code has been merged

Created at 3 days ago
delete branch
mpdude delete branch router-cache-dir-config
Created at 3 days ago
issue comment
[FrameworkBundle] Make the Router `cache_dir` configurable

Out of curiosity, (why) would a merge commit matter if you do a squash merge anyway?

Created at 3 days ago
issue comment
[FrameworkBundle] Make the Router `cache_dir` configurable

@fabpot done

Created at 3 days ago

add dedicated method for disabling instead of passing boolean flags

[FrameworkBundle] Fix a phpdoc in mailer assertions

bug #47614 [FrameworkBundle] Fix a phpdoc in mailer assertions (HeahDude)

This PR was merged into the 4.4 branch.

Discussion

[FrameworkBundle] Fix a phpdoc in mailer assertions

| Q | A | ------------- | --- | Branch? | 4.4 | Bug fix? | no | New feature? | no | Deprecations? | no | Tickets | ~ | License | MIT | Doc PR | ~

Commits

519f3a3449 [FrameworkBundle] Fix a phpdoc in mailer assertions

Run composer with --ignore-platform-req=php+

minor #47620 [FrameworkBundle] Run composer with --ignore-platform-req=php+ (nicolas-grekas)

This PR was merged into the 4.4 branch.

Discussion

[FrameworkBundle] Run composer with --ignore-platform-req=php+

| Q | A | ------------- | --- | Branch? | 4.4 | Bug fix? | no | New feature? | no | Deprecations? | no | Tickets | - | License | MIT | Doc PR | -

Commits

b53b44845b Run composer with --ignore-platform-req=php+

feature #34483 - Allow optional property accesses

Fix AbstractFormLoginAuthenticator return types (fixes #47571).

Children of AbstractFormLoginAuthenticator should be allowed to return a Response instead of being required to return a RedirectResponse. This change matches the return types in the newer AbstractLoginFormAuthenticator.

bug #47578 [Security] Fix AbstractFormLoginAuthenticator return types (AndrolGenhald)

This PR was submitted for the 5.4 branch but it was merged into the 4.4 branch instead.

Discussion

[Security] Fix AbstractFormLoginAuthenticator return types

| Q | A | ------------- | --- | Branch? | 5.4 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | Fix #47571 | License | MIT | Doc PR | NA

Children of AbstractFormLoginAuthenticator should be allowed to return a Response instead of being required to return a RedirectResponse. This change matches the return types in the newer AbstractLoginFormAuthenticator.

Not sure if tests are needed for this, but if they're desired I could use a bit of direction on how to go about it, since it's really only an issue for static analysis.

Commits

3882065ef6 Fix AbstractFormLoginAuthenticator return types (fixes #47571).

[Messenger] Deprecate MessageHandlerInterface and MessageSubscriberInterface

Bugfix: add \UnitEnum as a result of get() method

bug #47635 [DependencyInjection] EnvPlaceholderParameterBag::get() can't return UnitEnum (jack.shpartko)

This PR was submitted for the 6.1 branch but it was merged into the 6.0 branch instead.

Discussion

[DependencyInjection] EnvPlaceholderParameterBag::get() can't return UnitEnum

| Q | A | ------------- | --- | Branch? | 6.0 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | - | License | MIT | Doc PR | -

This PR allows to get enums from container in the next situation:

parameters:
    app.someEnum.yes !php/const \App\Context\SomeEnum::YES

Currently, we'll have an error:

[critical] Uncaught Error: Symfony\Component\DependencyInjection\ParameterBag\EnvPlaceholderParameterBag::get(): Return value must be of type array|string|int|float|bool|null, \App\Context\SomeEnum returned

This bugfix fixes this error.

EnvPlaceholderParameterBag::get() has a signature: array|bool|string|int|float|null ParameterBag::get() has another signature: array|bool|string|int|float|\UnitEnum|null

Why do we need this fix? To make the results of two dependent methods consistent.

EnvPlaceholderParameterBag::get() call ParameterBag::get() here: https://github.com/symfony/symfony/blob/6.1/src/Symfony/Component/DependencyInjection/ParameterBag/EnvPlaceholderParameterBag.php#L61

This PR makes it consistent and adding UnitEnum to EnvPlaceholderParameterBag::get() result.

Commits

bd865f7f68 Bugfix: add \UnitEnum as a result of get() method

[DependencyInjection] Deprecate numeric parameter names

feature #47683 [DependencyInjection] Deprecate numeric parameter names (HeahDude)

This PR was merged into the 6.2 branch.

Discussion

[DependencyInjection] Deprecate numeric parameter names

| Q | A | ------------- | --- | Branch? | 6.2 | Bug fix? | no | New feature? | no | Deprecations? | yes | Tickets | ~ | License | MIT | Doc PR | TODO

While trying to use '.' !== $key[0] instead of str_starts_with($key, '.') in #47680, I noticed some tests were failing due to the usage of numeric parameter names in the fixtures.

This leads to inconsistent behavior since the following code: $parameterBag->set(10, 10), will first cast the name 10 to string because of the method signature, but will then cast back to integer when using it as an array key in https://github.com/symfony/symfony/blob/6.2/src/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.php#L89. Because Symfony does not use strict types, it can be really tricky.

This PR propose to deprecate using such names to be able to properly throw in 7.0.

Commits

3e0050a8c4 [DependencyInjection] Deprecate numeric parameter names

[Mime] Simplify adding Parts to an Email

feature #47462 [Mime] Simplify adding Parts to an Email (fabpot)

This PR was merged into the 6.2 branch.

Discussion

[Mime] Simplify adding Parts to an Email

| Q | A | ------------- | --- | Branch? | 6.2 | Bug fix? | no | New feature? | yes | Deprecations? | no | Tickets | n/a | License | MIT | Doc PR |

While fixing some MIME bugs, I realized we have a substantial cyclomatic complexity due to the attach/attachFromPath/embed/embedFromPath/attachPart methods on the Email class.

This PR simplifies all of that and introduces a way to have a file for TextPart as well (via the new file:// notation) and it keeps the lazy-loading feature which was why those methods were introduced in the first place.

From now, I've kept all the methods, but I'm wondering if we should deprecate all of them and only keep attachPart() (which I would like to rename addPart()).

Commits

0a29d9703e [Mime] Simplify adding Parts to an Email

[VarExporter] Allow creating lazy-loading classes using constructors

bug #47627 [VarExporter] Allow creating lazy-loading classes using constructors (nicolas-grekas)

This PR was merged into the 6.2 branch.

Discussion

[VarExporter] Allow creating lazy-loading classes using constructors

| Q | A | ------------- | --- | Branch? | 6.2 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | - | License | MIT | Doc PR | -

This PR enables instantiating lazy objects using a constructor instead of the createLazy*() methods.

It also fixes:

  • setting properties via ReflectionProperty::setValue()
  • resetting typed public properties
  • calls to isLazyObjectInitialized()

Commits

758915e289 [VarExporter] Allow creating lazy-loading classes using constructors

Correct compare float data

[Ldap] Do not run ldap_set_option on failed connection

bug #47547 [Ldap] Do not run ldap_set_option on failed connection (tatankat)

This PR was squashed before being merged into the 4.4 branch.

Discussion

[Ldap] Do not run ldap_set_option on failed connection

| Q | A | ------------- | --- | Branch? | 4.4 | Bug fix? | yes | New feature? | no | Deprecations? | no | License | MIT

ldap_set_option should only be called on null (first time setOption is run) or on an LDAP\Connection instance. When ldap_connect fails, it returns a boolean. ldap_set_option fails on this, which results in an early TypeError instead of the LdapException with the real issue: 'Could not connect to Ldap server'. So, the result of ldap_connect should be checked earlier.

Commits

8f4f2b1e58 [Ldap] Do not run ldap_set_option on failed connection

Created at 3 days ago
issue comment
[Form] Missing Data Handling (checkbox edge cases)

A form that consists of unchecked checkboxes only will not be recognized as being submitted with the standard $form->handleRequest(...); if ($form->isSubmitted() ...) { ... } pattern. Does this PR intend to address this, or does it cover other edge cases I am not aware of?

Created at 5 days ago
issue comment
Comment for (public) key does not match GitHub URL pattern

@GreenG0blin you might be seeing #93 or a variant thereof.

Not all key formats and/or keys created with various flags/settings actually contain the key comments, but I haven’t fully understood the issue myself either.

Created at 6 days ago
issue comment
[FrameworkBundle] Make the Router `cache_dir` configurable

Merge conflicts resolved.

Created at 1 week ago

[Validator] Add the When constraint and validator

Use identical comparison for schema validation.

skip a transient test on AppVeyor

minor #47482 skip a transient test on AppVeyor (xabbuh)

This PR was merged into the 4.4 branch.

Discussion

skip a transient test on AppVeyor

| Q | A | ------------- | --- | Branch? | 4.4 | Bug fix? | no | New feature? | no | Deprecations? | no | Tickets | | License | MIT | Doc PR |

Commits

d5e624c339 skip a transient test on AppVeyor

Psr18Client ignore invalid HTTP headers

bug #47415 [HttpClient] Psr18Client ignore invalid HTTP headers (nuryagdym)

This PR was merged into the 4.4 branch.

Discussion

[HttpClient] Psr18Client ignore invalid HTTP headers

| Q | A | ------------- | --- | Branch? | 4.4 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | | License | MIT | Doc PR | symfony/symfony-docs

Hi, I working on a library that I am working on supports PSR-18 and PSR-7 implementations. I tried following PSR-7 libraries: nyholm/psr7 laminas/laminas-diactoros slim/psr7

and following PSR-18 clients: php-http/curl-client symfony/http-client guzzlehttp/guzzle

and when I tried combination of all these PSR-7 and PSR-18 libraries. I faced issue only on symfony/http-client Psr18Client client. Error is caused when I received response with header name containing leading space " x-xss-protection". This library does not trim response header names that is why all 3 PSR-7 libraries throwing error "Header values must be RFC 7230 compatible strings" when used in combination with symfony/http-client. The other 2 PSR-18 clients trim header names:

guzzlehttp/guzzle: GuzzleHttp\Handler\CurlFactory::createHeaderFn()

php-http/curl-client: Http\Client\Curl\Client::prepareRequestOptions()

So, I added trim line on Psr18Client, hope it does not break anything, it is working for me at least.

I guess this fix should be done on all maintained versions of this library as well.

PS I also, tried to trim using Symfony\Component\HttpClient\HttpClientTrait::normalizeHeaders() but it does not do anything about this leading space in the header name.

Commits

f6f8748b11 Psr18Client ignore invalid HTTP headers

Prevent exception if request stack is empty

Bug #42343 [Security] Fix valid remember-me token exposure to the second consequent request

Close https://github.com/symfony/symfony/issues/42343 Fix https://github.com/symfony/symfony/pull/46760

[Cache] make Redis*Proxy extend Redis*

[Cache] update readme

[Bridge] Fix mkdir() race condition in ProxyCacheWarmer

[Validator][UID] Stop to first ULID format violation

bug #47497 [Bridge] Fix mkdir() race condition in ProxyCacheWarmer (andrey-tech)

This PR was merged into the 4.4 branch.

Discussion

[Bridge] Fix mkdir() race condition in ProxyCacheWarmer

| Q | A | ------------- | --- | Branch? | 4.4 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | Fix #47489 | License | MIT | Doc PR | -

The race condition is appears when several processes are attempting to create a same Doctrine Proxy directory which does not yet exist and \RuntimeException is thrown in \Symfony\Bridge\Doctrine\CacheWarmer\ProxyCacheWarmer.

This PR adds an extra check to \Symfony\Bridge\Doctrine\CacheWarmer\ProxyCacheWarmer.

Commits

cdb6c15618 [Bridge] Fix mkdir() race condition in ProxyCacheWarmer

minor #47494 [Cache] update readme (nicolas-grekas)

This PR was merged into the 4.4 branch.

Discussion

[Cache] update readme

| Q | A | ------------- | --- | Branch? | 4.4 | Bug fix? | no | New feature? | no | Deprecations? | no | Tickets | - | License | MIT | Doc PR | -

Commits

17e5a5335d [Cache] update readme

Merge branch '4.4' into 5.4

  • 4.4: [Bridge] Fix mkdir() race condition in ProxyCacheWarmer [Cache] update readme Psr18Client ignore invalid HTTP headers skip a transient test on AppVeyor

bug #47491 [HttpKernel] Prevent exception in RequestDataCollector if request stack is empty (aschempp)

This PR was merged into the 5.4 branch.

Discussion

[HttpKernel] Prevent exception in RequestDataCollector if request stack is empty

| Q | A | ------------- | --- | Branch? | 5.4 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | Fix https://github.com/contao/contao/issues/5251 | License | MIT | Doc PR | -

Commits

89e13985f3 Prevent exception if request stack is empty

bug #47499 [Uid][Validator] Stop to first ULID format violation (ogizanagi)

This PR was merged into the 5.4 branch.

Discussion

[Uid][Validator] Stop to first ULID format violation

| Q | A | ------------- | --- | Branch? | 5.4 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | N/A | License | MIT | Doc PR | N/A

Unlike the UUID validator, the ULID validator does not stop on the first violation raised, but continues adding a violation for each ULID format infringement. Which might make sense in some situations, but the same error message is set for each. In case of a string like not-even-ulid-like, you'll get 3 violations with the same message.

IIMHO, 95% of the use-cases will consist of exposing the violation messages directly, so displaying 3 times the same message is unexpected.

(getting different messages per violation type could be added as a new feature if needed)

Commits

fdd73c7f99 [Validator][UID] Stop to first ULID format violation

minor #47474 [HttpFoundation] Use identical comparison for scheme validation (githubfromgui)

This PR was merged into the 6.2 branch.

Discussion

[HttpFoundation] Use identical comparison for scheme validation

| Q | A | ------------- | --- | Branch? | 6.2 | Bug fix? | no | New feature? | no | Deprecations? | no | License | MIT

Since the method getScheme will always return a string, an identical comparison should be used as described by the Symfony Code Standard Documentation.

Commits

bf9b5f96dc Use identical comparison for schema validation.

[Console] Terminal Color Mode refactoring: Adding a way to force color mode by user, fewer getenv() calls, simpler tests.

It can be useful for example in the case of an environment where none of the expected environment variables are available (Docker container...) , but where the support of a specific mode is imperative.

[Uid] Add interface for getDateTime() and apply to relevant UIDs

Created at 1 week ago

Zweite Zeile dazu (#3)

Merge remote-tracking branch 'origin/master' into zweite-zeile

Merge branch 'zweite-zeile' into dritte-zeile

Created at 1 week ago
mpdude delete branch zweite-zeile
Created at 1 week ago

Zweite Zeile dazu (#3)

Created at 1 week ago
pull request closed
Zweite Zeile dazu
Created at 1 week ago
pull request opened
Dritte Zeile
Created at 1 week ago
mpdude create branch dritte-zeile
Created at 1 week ago
pull request opened
Zweite Zeile dazu
Created at 1 week ago
mpdude create branch zweite-zeile
Created at 1 week ago

Eine wichtige Änderung (#1)

Merge remote-tracking branch 'origin/master' into pr-eins

Merge branch 'pr-eins' into weiter-gehts

Created at 1 week ago
mpdude delete branch pr-eins
Created at 1 week ago

Eine wichtige Änderung (#1)

Created at 1 week ago
pull request closed
Eine wichtige Änderung
Created at 1 week ago
pull request opened
Noch ein Nachtrag
Created at 1 week ago
mpdude create branch weiter-gehts
Created at 1 week ago
mpdude create branch pr-eins
Created at 1 week ago