Skip to content

[PropertyInfo] Deprecate Type #9

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

Closed

Conversation

mtarld
Copy link
Owner

@mtarld mtarld commented Oct 26, 2023

No description provided.

@mtarld mtarld force-pushed the chore/type-info-component branch from bddcb4d to 5feec6a Compare October 26, 2023 09:35
@mtarld mtarld force-pushed the chore/deprecate-property-info-type branch from 567a3dd to 89e20c8 Compare October 26, 2023 09:36
@mtarld mtarld force-pushed the chore/type-info-component branch from 5feec6a to 41c48f2 Compare October 26, 2023 09:37
@mtarld mtarld force-pushed the chore/deprecate-property-info-type branch 4 times, most recently from 665e35a to 1d60a2e Compare October 27, 2023 11:40
@mtarld mtarld force-pushed the chore/deprecate-property-info-type branch from 647fe5a to 23c581f Compare November 3, 2023 11:03
@mtarld mtarld force-pushed the chore/type-info-component branch from 41c48f2 to 1e332a2 Compare November 3, 2023 11:13
@mtarld mtarld force-pushed the chore/deprecate-property-info-type branch from 23c581f to 1a5e1d2 Compare November 3, 2023 11:21
@mtarld mtarld force-pushed the chore/type-info-component branch from 1e332a2 to 2bd39f0 Compare November 6, 2023 02:34
@mtarld mtarld force-pushed the chore/deprecate-property-info-type branch from 1a5e1d2 to 42d5412 Compare November 6, 2023 02:39
@mtarld mtarld force-pushed the chore/type-info-component branch from 2bd39f0 to 2f1e0c9 Compare November 6, 2023 10:45
@mtarld mtarld force-pushed the chore/deprecate-property-info-type branch from 42d5412 to 156eafa Compare November 6, 2023 10:45
Copy link
Collaborator

@Korbeil Korbeil left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

😍

@Korbeil Korbeil force-pushed the chore/type-info-component branch from 2f1e0c9 to 1e96d87 Compare November 6, 2023 21:23
@mtarld mtarld force-pushed the chore/type-info-component branch from 1e96d87 to 1a20715 Compare November 7, 2023 02:29
@mtarld mtarld force-pushed the chore/deprecate-property-info-type branch from 156eafa to 626b53c Compare November 7, 2023 02:40
@mtarld mtarld force-pushed the chore/type-info-component branch from 1a20715 to 7fd384d Compare November 7, 2023 02:40
@mtarld mtarld force-pushed the chore/deprecate-property-info-type branch from 626b53c to 3c14904 Compare November 7, 2023 02:41
@mtarld mtarld force-pushed the chore/type-info-component branch from 7fd384d to 323b986 Compare November 7, 2023 03:26
@mtarld mtarld force-pushed the chore/deprecate-property-info-type branch from 3c14904 to 8f5de1b Compare November 7, 2023 03:37
@mtarld mtarld force-pushed the chore/type-info-component branch from 323b986 to d03e987 Compare November 8, 2023 03:26
@mtarld mtarld force-pushed the chore/deprecate-property-info-type branch from 8f5de1b to 414d69f Compare November 8, 2023 03:45
@mtarld mtarld changed the title [TypeInfo][PropertyInfo] Deprecate PropertyInfo Type [PropertyInfo] Deprecate PropertyInfo Type Nov 8, 2023
@mtarld mtarld changed the title [PropertyInfo] Deprecate PropertyInfo Type [PropertyInfo] Deprecate Type Nov 8, 2023
@mtarld mtarld force-pushed the chore/type-info-component branch from d03e987 to 5efdeb3 Compare November 8, 2023 04:05
@mtarld mtarld force-pushed the chore/deprecate-property-info-type branch from 414d69f to 6edee23 Compare November 8, 2023 04:17
fabpot and others added 26 commits February 3, 2024 22:06
…arser with quote end in a newline (maxbeckers)" (xabbuh)

This PR was merged into the 7.1 branch.

Discussion
----------

[Yaml] Revert "feature symfony#48022  Fix Yaml Parser with quote end in a newline (maxbeckers)"

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

Unfortunately, the features as implemented breaks tests in other bundles (see https://github.com/symfony/symfony/actions/runs/7768721075/job/21186968515?pr=53745#step:8:3092).

Commits
-------

d709af0 Revert "feature symfony#48022 [Yaml] Fix Yaml Parser with quote end in a new line (maxbeckers)"
This PR was merged into the 6.4 branch.

Discussion
----------

[VarDumper] fix DoctrineCaster tests

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

The order in which the properties are handled has changed with the usage of CPP for the entity manager in doctrine/orm#11205.

Commits
-------

e7e41b0 fix DoctrineCaster tests
…e handled (xabbuh)

This PR was merged into the 7.1 branch.

Discussion
----------

[TwigBridge] rework the way excluded directories are handled

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

This change ensures that we not break BC by reverting the signature change made to the protected findFiles() method.

Commits
-------

3074fe8 rework the way excluded directories are handled
… the schema definition (xabbuh)

This PR was merged into the 6.4 branch.

Discussion
----------

[SecurityBundle] add missing partition attribute to the schema definition

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

Commits
-------

867eb07 add missing partition attribute to the schema definition
This PR was merged into the 7.1 branch.

Discussion
----------

[DependencyInjection] fix tests

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

Commits
-------

3883a07 fix tests
* 6.4:
  fix DoctrineCaster tests
  add missing partition attribute to the schema definition
* 7.0:
  fix DoctrineCaster tests
  add missing partition attribute to the schema definition
…entication (bytestream)

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

Discussion
----------

Fix client side connection timeout breaks mail authentication

| Q             | A
| ------------- | ---
| Branch?       | 6.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Issues        | Fix symfony#53647
| License       | MIT

The authentication loop should only continue when an unexpected response has been received. Any other exception, for example,  `throw new TransportException('Connection to "localhost" timed out.'));` should be treated as fatal and thrown.

As demonstrated in symfony#53647, when anything other than a server response is skipped it results in later commands not matching their expected response codes.

Commits
-------

bb2e7fd Fix client side connection timeout breaks mail authentication
* 6.4:
  Fix client side connection timeout breaks mail authentication
* 7.0:
  Fix client side connection timeout breaks mail authentication
Using constructor property promotion for the $metaFile property does not
make much sense for two reasons:

* We need to declare it nullable just for the sake of the constructor
  accepting null while the property itself will always receive a string.
* The initially set value is immediately overwritten in the constructor.
…xabbuh)

This PR was merged into the 7.1 branch.

Discussion
----------

[Config] replace CPP with non-nullable property

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

Using constructor property promotion for the `$metaFile` property does not make much sense for two reasons:

* We need to declare it nullable just for the sake of the constructor accepting `null` while the property itself will always receive a string.
* The initially set value is immediately overwritten in the constructor.

Commits
-------

9c19bfe replace CPP with non-nullable property
… error (smnandre)

This PR was merged into the 6.4 branch.

Discussion
----------

[AssetMapper] Improve import_polyfill configuration error

| Q             | A
| ------------- | ---
| Branch?       | 6.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Issues        | Fix symfony#53725
| License       | MIT

Add missing error when 'asset_mapper.importmap_polyfill' is set to true
(only false and string are allowed)

Commits
-------

050fe20 [AssetMapper] Improve import_polyfill configuration error
* 6.4:
  [AssetMapper] Improve import_polyfill configuration error
* 7.0:
  [AssetMapper] Improve import_polyfill configuration error
…tream)

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

Discussion
----------

[Mailer] Add timestamp to SMTP debug log

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

When debugging symfony#53647, the lack of a timestamp made it difficult to understand why the `RSET` was happening before a response had been received. The timestamps gave a clue towards the problem. The timestamps also help show slow connections which you're otherwise not aware of.

Commits
-------

53a637c [Mailer] Add timestamp to SMTP debug log
…appings in Doctrine ORM 4 (xabbuh)

This PR was merged into the 5.4 branch.

Discussion
----------

[DoctrineBridge] forward-compatibility with field mappings in Doctrine ORM 4

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

see doctrine/orm#11211

Commits
-------

264f7fc forward-compatibility with field mappings in Doctrine ORM 4
* 5.4:
  forward-compatibility with field mappings in Doctrine ORM 4
* 6.4:
  forward-compatibility with field mappings in Doctrine ORM 4
* 7.0:
  forward-compatibility with field mappings in Doctrine ORM 4
@mtarld mtarld force-pushed the chore/deprecate-property-info-type branch from f0db5ae to 8604fb7 Compare February 5, 2024 09:26
@mtarld mtarld closed this Feb 5, 2024
mtarld pushed a commit that referenced this pull request Mar 17, 2024
…hen publishing a message. (jwage)

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

Discussion
----------

[Messenger] [Amqp] Handle AMQPConnectionException when publishing a message.

| Q             | A
| ------------- | ---
| Branch?       | 6.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Issues        | Fix symfony#36538 Fix symfony#48241
| License       | MIT

If you have a message handler that dispatches messages to another queue, you can encounter `AMQPConnectionException` with the message "Library error: a SSL error occurred" or "a socket error occurred"  depending on if you are using tls or not or if you are running behind a load balancer or not.

You can manually reproduce this issue by dispatching a message where the handler then dispatches another message to a different queue, then go to rabbitmq admin and close the connection manually, then dispatch another message and when the message handler goes to dispatch the other message, you will get this exception:

```
a socket error occurred
#0 /vagrant/vendor/symfony/amqp-messenger/Transport/AmqpTransport.php(60): Symfony\Component\Messenger\Bridge\Amqp\Transport\AmqpSender->send()
#1 /vagrant/vendor/symfony/messenger/Middleware/SendMessageMiddleware.php(62): Symfony\Component\Messenger\Bridge\Amqp\Transport\AmqpTransport->send()
#2 /vagrant/vendor/symfony/messenger/Middleware/FailedMessageProcessingMiddleware.php(34): Symfony\Component\Messenger\Middleware\SendMessageMiddleware->handle()
#3 /vagrant/vendor/symfony/messenger/Middleware/DispatchAfterCurrentBusMiddleware.php(61): Symfony\Component\Messenger\Middleware\FailedMessageProcessingMiddleware->handle()
#4 /vagrant/vendor/symfony/messenger/Middleware/RejectRedeliveredMessageMiddleware.php(41): Symfony\Component\Messenger\Middleware\DispatchAfterCurrentBusMiddleware->handle()
#5 /vagrant/vendor/symfony/messenger/Middleware/AddBusNameStampMiddleware.php(37): Symfony\Component\Messenger\Middleware\RejectRedeliveredMessageMiddleware->handle()
#6 /vagrant/vendor/symfony/messenger/Middleware/TraceableMiddleware.php(40): Symfony\Component\Messenger\Middleware\AddBusNameStampMiddleware->handle()
#7 /vagrant/vendor/symfony/messenger/MessageBus.php(70): Symfony\Component\Messenger\Middleware\TraceableMiddleware->handle()
#8 /vagrant/vendor/symfony/messenger/TraceableMessageBus.php(38): Symfony\Component\Messenger\MessageBus->dispatch()
#9 /vagrant/src/Messenger/MessageBus.php(37): Symfony\Component\Messenger\TraceableMessageBus->dispatch()
#10 /vagrant/vendor/symfony/mailer/Mailer.php(66): App\Messenger\MessageBus->dispatch()
symfony#11 /vagrant/src/Mailer/Mailer.php(83): Symfony\Component\Mailer\Mailer->send()
symfony#12 /vagrant/src/Mailer/Mailer.php(96): App\Mailer\Mailer->send()
symfony#13 /vagrant/src/MessageHandler/Trading/StrategySubscriptionMessageHandler.php(118): App\Mailer\Mailer->sendEmail()
symfony#14 /vagrant/src/MessageHandler/Trading/StrategySubscriptionMessageHandler.php(72): App\MessageHandler\Trading\StrategySubscriptionMessageHandler->handle()
symfony#15 /vagrant/vendor/symfony/messenger/Middleware/HandleMessageMiddleware.php(152): App\MessageHandler\Trading\StrategySubscriptionMessageHandler->__invoke()
symfony#16 /vagrant/vendor/symfony/messenger/Middleware/HandleMessageMiddleware.php(91): Symfony\Component\Messenger\Middleware\HandleMessageMiddleware->callHandler()
symfony#17 /vagrant/vendor/symfony/messenger/Middleware/SendMessageMiddleware.php(71): Symfony\Component\Messenger\Middleware\HandleMessageMiddleware->handle()
symfony#18 /vagrant/vendor/symfony/messenger/Middleware/FailedMessageProcessingMiddleware.php(34): Symfony\Component\Messenger\Middleware\SendMessageMiddleware->handle()
symfony#19 /vagrant/vendor/symfony/messenger/Middleware/DispatchAfterCurrentBusMiddleware.php(68): Symfony\Component\Messenger\Middleware\FailedMessageProcessingMiddleware->handle()
symfony#20 /vagrant/vendor/symfony/messenger/Middleware/RejectRedeliveredMessageMiddleware.php(41): Symfony\Component\Messenger\Middleware\DispatchAfterCurrentBusMiddleware->handle()
symfony#21 /vagrant/vendor/symfony/messenger/Middleware/AddBusNameStampMiddleware.php(37): Symfony\Component\Messenger\Middleware\RejectRedeliveredMessageMiddleware->handle()
symfony#22 /vagrant/vendor/symfony/messenger/Middleware/TraceableMiddleware.php(40): Symfony\Component\Messenger\Middleware\AddBusNameStampMiddleware->handle()
symfony#23 /vagrant/vendor/symfony/messenger/MessageBus.php(70): Symfony\Component\Messenger\Middleware\TraceableMiddleware->handle()
symfony#24 /vagrant/vendor/symfony/messenger/TraceableMessageBus.php(38): Symfony\Component\Messenger\MessageBus->dispatch()
symfony#25 /vagrant/vendor/symfony/messenger/RoutableMessageBus.php(54): Symfony\Component\Messenger\TraceableMessageBus->dispatch()
symfony#26 /vagrant/vendor/symfony/messenger/Worker.php(162): Symfony\Component\Messenger\RoutableMessageBus->dispatch()
symfony#27 /vagrant/vendor/symfony/messenger/Worker.php(109): Symfony\Component\Messenger\Worker->handleMessage()
symfony#28 /vagrant/vendor/symfony/messenger/Command/ConsumeMessagesCommand.php(238): Symfony\Component\Messenger\Worker->run()
symfony#29 /vagrant/vendor/symfony/console/Command/Command.php(326): Symfony\Component\Messenger\Command\ConsumeMessagesCommand->execute()
symfony#30 /vagrant/vendor/symfony/console/Application.php(1096): Symfony\Component\Console\Command\Command->run()
symfony#31 /vagrant/vendor/symfony/framework-bundle/Console/Application.php(126): Symfony\Component\Console\Application->doRunCommand()
symfony#32 /vagrant/vendor/symfony/console/Application.php(324): Symfony\Bundle\FrameworkBundle\Console\Application->doRunCommand()
symfony#33 /vagrant/vendor/symfony/framework-bundle/Console/Application.php(80): Symfony\Component\Console\Application->doRun()
symfony#34 /vagrant/vendor/symfony/console/Application.php(175): Symfony\Bundle\FrameworkBundle\Console\Application->doRun()
symfony#35 /vagrant/vendor/symfony/runtime/Runner/Symfony/ConsoleApplicationRunner.php(49): Symfony\Component\Console\Application->run()
symfony#36 /vagrant/vendor/autoload_runtime.php(29): Symfony\Component\Runtime\Runner\Symfony\ConsoleApplicationRunner->run()
symfony#37 /vagrant/bin/console(11): require_once('...')
symfony#38 {main}
```

TODO:

- [x] Add test for retry logic when publishing messages

Commits
-------

f123370 [Messenger] [Amqp] Handle AMQPConnectionException when publishing a message.
mtarld pushed a commit that referenced this pull request Oct 3, 2024
…nal::readFromProcess` (fritzmg)

This PR was merged into the 5.4 branch.

Discussion
----------

[Console] Suppress `proc_open` errors within `Terminal::readFromProcess`

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

When instantiating `SymfonyStyle` in a command it will try to determine the maximum width of the current console interface.

https://github.com/symfony/symfony/blob/6687e4ea35f45ebd73fb0315938103628cfb13a0/src/Symfony/Component/Console/Style/SymfonyStyle.php#L53

This will execute `stty -a | grep columns` down the line. Access to `stty` might be disallowed however, resulting in the following error:

```
ErrorException: Warning: proc_open(): Exec failed: Permission denied
symfony#16 /vendor/symfony/console/Terminal.php(220): Symfony\Component\Console\Terminal::readFromProcess
symfony#15 /vendor/symfony/console/Terminal.php(204): Symfony\Component\Console\Terminal::getSttyColumns
symfony#14 /vendor/symfony/console/Terminal.php(170): Symfony\Component\Console\Terminal::initDimensionsUsingStty
symfony#13 /vendor/symfony/console/Terminal.php(153): Symfony\Component\Console\Terminal::initDimensions
symfony#12 /vendor/symfony/console/Terminal.php(94): Symfony\Component\Console\Terminal::getWidth
symfony#11 /vendor/symfony/console/Style/SymfonyStyle.php(55): Symfony\Component\Console\Style\SymfonyStyle::__construct
#10 /vendor/symfony/messenger/Command/ConsumeMessagesCommand.php(136): Symfony\Component\Messenger\Command\ConsumeMessagesCommand::interact
#9 /vendor/symfony/console/Command/Command.php(311): Symfony\Component\Console\Command\Command::run
```

(Stack Trace actually from Symfony 6)

The phpDoc of `Terminal::getSttyColumns` states

> Runs and parses stty -a if it's available, _suppressing any error output_.

The latter might refer to `['suppress_errors' => true]` (though I am not sure) - which is a Windows only functionality. In any case, since `Terminal::readFromProcess` already checks for

```php
if (!$process = proc_open(…)) {
    return null;
}
```

and

```php
if (!\is_resource($process)) {
    return null;
}
```

upstream in Symfony 6/7, indicating that `proc_open` might fail - this error can additionally be suppressed using `@`. Besides, `Process::start` also uses ``@proc_open`` (added in symfony@099481f "Prevent warning in proc_open()").

Commits
-------

575249a suppress proc_open errors
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.