This PR was merged into the master branch.
Commits
-------
acfc750#2042 initial implementation of fatal error handler
Discussion
----------
Display traces for fatal errors
Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: looks like yes
Fixes the following tickets: #2042 (partly)
License of the code: MIT
Output looks like on screen http://easycaptures.com/fs/uploaded/737/1191436899.png . I've added one line to css to prevent displaying standard xdebug trace http://easycaptures.com/fs/uploaded/737/5939488074.png
---------------------------------------------------------------------------
by Koc at 2012-11-08T21:55:41Z
So, community please advice me, how can I trigger `KernelEvents::EXCEPTION` event in `ErrorHandler` or `ExceptionHandler`? Or should I provide other event for this?
---------------------------------------------------------------------------
by stof at 2012-11-08T22:03:23Z
@Koc Don't. the exception handler is there to be the safe guard when developing, and does not depend on the kernel (which would be required to trigger the event). If you were triggering the listener again, it would mean that any exception thrown in a listener would lead to a loop.
And if it is for the fatal error handling, you simply cannot be sure the kernel is still available (and even less in a wokring state) at this point.
---------------------------------------------------------------------------
by Koc at 2012-11-08T22:06:31Z
But how can I notify logger (which will send me mail or just log this situation)?
---------------------------------------------------------------------------
by fabpot at 2012-11-09T07:33:41Z
The error handler is only registered when in debug mode in the Kernel and can be triggered very early in the handling of a request (even before we have access to the dispatcher or anything else). So, the current PR looks fine to me (apart from the typo and the lack of unit tests).
---------------------------------------------------------------------------
by Koc at 2012-11-09T09:13:03Z
> The error handler is only registered when in debug mode
Ooh! I haven't see that before. But the goal - be notified about errors by email or log-file. Like now exceptions with traces from site emails to me.
---------------------------------------------------------------------------
by fabpot at 2012-11-09T09:20:54Z
I think there are two goals. The first one being to have nice pages in the development environment when a fatal error occurs. And this PR addresses that feature quite nicely. The second can be addressed in another PR.
---------------------------------------------------------------------------
by henrikbjorn at 2012-11-14T11:50:22Z
I have some questions about the ErrorHandler. Is there a reason for it only to be registered in an debug environment (which prod is not). Would assume that if i enable the ErrorHandler in productions aswell Monolog would log thoose instead of them just vanishing?
---------------------------------------------------------------------------
by Koc at 2012-11-14T12:01:50Z
I am thinking about it too. But as Fabien says it will another PR
---------------------------------------------------------------------------
by GromNaN at 2012-11-18T10:38:09Z
You should add a memory reserve to be able to handle "Out of memory" errors.
An example is here :
513d628966/lib/Raven/ErrorHandler.php (L91)513d628966/lib/Raven/ErrorHandler.php (L62)
---------------------------------------------------------------------------
by fabpot at 2012-11-28T11:35:21Z
@Koc can you finish this PR (probably by integrating the memory reserve as explained by @GromNaN)?
---------------------------------------------------------------------------
by Koc at 2012-11-28T11:46:12Z
of course, on this weekend
---------------------------------------------------------------------------
by Koc at 2012-12-02T17:44:44Z
@fabpot done
This PR was merged into the master branch.
Commits
-------
760aee0 Update src/Symfony/Bridge/Propel1/Form/EventListener/TranslationCollectionFormListener.php
Discussion
----------
Update src/Symfony/Bridge/Propel1/Form/EventListener/TranslationCollecti...
...onFormListener.php
Remove duplicated semicolon
---------------------------------------------------------------------------
by pborreli at 2012-12-03T22:41:12Z
👍
This PR was squashed before being merged into the master branch (closes#6100).
Commits
-------
0e3671b [WiP] Split urlmatcher for easier overriding
Discussion
----------
[WiP] Split urlmatcher for easier overriding
Based on discussion in https://github.com/symfony-cmf/Routing/pull/30, this PR splits the matchCollection() method of UrlMatcher into two methods. The reason is to allow Symfony CMF and Drupal to override just one of them, while leaving the actual meat of the class intact.
Additionally, it switches $routes from private to protected for the same reason: It makes it possible for us to extend the class cleanly.
Marking as WIP in case further discussion in CMF suggests other/different changes, but review and a conceptual go/no-go would be appreciated now.
---------------------------------------------------------------------------
by dbu at 2012-11-25T12:57:46Z
i think this variant really just extracts part of the logic into a separate method whithout changing any behaviour or concept. it would help a lot for the cmf to have it this way so we can extend and tweak the logic. is this now good or anybody has more input?
---------------------------------------------------------------------------
by dbu at 2012-11-27T19:42:04Z
sorry for being pushy about this one, but we need to know if this change is ok or not, if we need to improve something. if there is some problem we did not think of, we have to find different solutions for the cmf/drupal matchers.
---------------------------------------------------------------------------
by fabpot at 2012-11-28T14:29:10Z
`PhpMatcherDumper` should probably also be updated to call the new `getAttributes()` method; but that won't be possible as the Route is not accessible when using this dumper. Adding a feature that can only be used by the standard `UrlMatcher` and not by the other matchers does not sound good to me.
---------------------------------------------------------------------------
by dbu at 2012-11-28T17:18:09Z
in the context of the cmf, our problem is that we have too many routes to hold in memory. i think the dumper is not of interest for that use case - @Crell correct me please if i am wrong. if we need any caching we would need to write our own dumper probably. but currently we just extend the UrlMatcher
---------------------------------------------------------------------------
by Crell at 2012-11-30T05:47:39Z
Correct. In both the CMF case and Drupal case we have our own dumpers, because the current ones don't work for us anyway. (1000 routes and all that. :-) ) This isn't a new public method. It's just a small refactor of UrlMatcher itself to make it easier to extend. If you're using a dumped PhpMatcher, I don't know why you'd be using something like NestedMatcher in the first place.
This PR was merged into the master branch.
Commits
-------
918bad6 fix phpdoc in ExecutionContextInterface
Discussion
----------
fix phpdoc in ExecutionContextInterface
This PR was submitted for the 2.1 branch but it was merged into the master branch instead (closes#6179).
Commits
-------
31911c2 [Console] Allow any callable to be passed to Command::setCode
Discussion
----------
[Console] Allow any callable to be passed to Command::setCode
Bug fix: no
Feature addition: kinda
Backwards compatibility break: no
Symfony2 tests pass: yes
License of the code: MIT
This PR was merged into the master branch.
Commits
-------
3d0c70e made ExecutionContext more consistent
Discussion
----------
[Validator] made ExecutionContext more consistent
BC break: no
The default should be an empty string instead of null because
1. a string is expected according to phpdoc
2. its more consistent with `validate($value, $groups = null, $subPath = '', $traverse = false, $deep = false)` and `validateValue($value, $constraints, $groups = null, $subPath = '')` that both have `''` as default for subPath
---------------------------------------------------------------------------
by bschussek at 2012-12-03T21:14:49Z
👍
* 2.1:
[TwigBundle] Moved the registration of the app global to the environment
needs to use simpleContent in xsd to allow empty elements
bumped Symfony version to 2.1.5-DEV
bumped Symfony version to 2.0.19-DEV
removed wrong routing xsd statement `mixed="true"`
removed unused attribute from routing.xsd
[HttpFoundation] added a small comment about the meaning of Request::hasSession() as this is a recurrent question (refs #4541)
updated VERSION for 2.1.4
updated CHANGELOG for 2.1.4
updated VERSION for 2.0.19
update CONTRIBUTORS for 2.0.19
updated CHANGELOG for 2.0.19
Conflicts:
src/Symfony/Component/HttpKernel/Kernel.php
src/Symfony/Component/Routing/Loader/schema/routing/routing-1.0.xsd
* 2.0:
[TwigBundle] Moved the registration of the app global to the environment
needs to use simpleContent in xsd to allow empty elements
bumped Symfony version to 2.0.19-DEV
removed wrong routing xsd statement `mixed="true"`
removed unused attribute from routing.xsd
updated VERSION for 2.0.19
update CONTRIBUTORS for 2.0.19
updated CHANGELOG for 2.0.19
Conflicts:
CONTRIBUTORS.md
src/Symfony/Bundle/TwigBundle/Resources/config/twig.xml
src/Symfony/Bundle/TwigBundle/TwigEngine.php
src/Symfony/Component/HttpKernel/Kernel.php
This makes the app global variable available also when accessing the Twig
environment directly instead of using the TwigEngine.
Conflicts:
src/Symfony/Bridge/Twig/CHANGELOG.md
src/Symfony/Bundle/TwigBundle/Resources/config/twig.xml
src/Symfony/Bundle/TwigBundle/TwigEngine.php
This PR was merged into the master branch.
Commits
-------
109bb7b Fixed form validation
Discussion
----------
[Validator] Fixed form validation
Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: #6118
License of the code: MIT
Swapped arguments $groups and $subPath in ExecutionContext::validate so it matches its interface again. Should fix#6118
---------------------------------------------------------------------------
by bschussek at 2012-12-03T12:28:42Z
Could you please implement the same change for validateValue() and squash the commits?
---------------------------------------------------------------------------
by jankramer at 2012-12-03T12:40:41Z
@bschussek: done
---------------------------------------------------------------------------
by bschussek at 2012-12-03T12:59:16Z
Thanks.
@fabpot 👍
This PR was merged into the 2.0 branch.
Commits
-------
eec7885 needs to use simpleContent in xsd to allow empty elements
Discussion
----------
needs to use simpleContent in xsd to allow empty elements
Swapped arguments $groups and $subPath in ExecutionContext::validate and ExecutionContext::validateValue, so they match their interface signatures again.
This PR was merged into the 2.0 branch.
Commits
-------
57edf56 removed wrong routing xsd statement `mixed="true"`
Discussion
----------
removed wrong routing xsd statement `mixed="true"`
mixed="true" means that the element could contain both text and other elements, e.g.
`<requirement key="_locale">text <subelement /></requirement>`
But this wrong and such a definition would not even validate against the scheme as the xsd does not define which elements would be expected inside.
This PR was merged into the 2.0 branch.
Commits
-------
d5623b4 removed unused attribute from routing.xsd
Discussion
----------
removed unused attribute from routing.xsd
This PR was merged into the master branch.
Commits
-------
20dbe47 added annotation
c73cb8a add default for pattern for clarity
ddd8918 make id attribute required
62536e5 refactor to an xsd:group
451dcdc it should be possible to define the defaults, req. and options in any order, just like in YAML
Discussion
----------
improve routing xml scheme
bc break: no
Main points:
- the xml scheme only allowed defaults, requirements and options in this specific order. but the XmlFileLoader does not have the restriction and the YAML definions does not have such an restriction either. this is now fixed. so you can use
```
<requirement key="_locale">en</requirement>
<default key="_controller">Foo</default>
```
Before it had the be first all defaults, then all requirements, then all options.
- make id attribute required
For more changes see commits.
This PR was merged into the master branch.
Commits
-------
373be62 Bugfix for creating cookie on loginSuccess in AbstractRememberMeServices
Discussion
----------
Bugfix for creating cookie on loginSuccess in AbstractRememberMeServices
Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: #6055
Todo: -
License of the code: MIT
By a mistake setting of new cookies did not work for other RememberMe services than PersistentTokenBasedRememberMeServices
---------------------------------------------------------------------------
by TerjeBr at 2012-12-01T17:28:08Z
Ping. Any feedback on this?
mixed="true" means that the element could contain both text and other elements, e.g.
`<requirement key="_locale">text <subelement /></requirement>`
But this wrong and such a definition would not even validate against the scheme as the xsd does not define which elements would be expected inside.
This PR was merged into the master branch.
Commits
-------
bad50ac [HttpFoundation] Request::getRealMethod() now returns UPPERCASE
Discussion
----------
[HttpFoundation] Request::getRealMethod() now returns UPPERCASE
* 2.1:
replaced magic strings by proper constants
refactored tests for Request
fixed the logic in Request::isSecure() (if the information comes from a source that we trust, don't check other ones)
added a way to configure the X-Forwarded-XXX header names and a way to disable trusting them
fixed algorithm used to determine the trusted client IP
removed the non-standard Client-IP HTTP header
Conflicts:
src/Symfony/Component/HttpFoundation/Tests/RequestTest.php
* 2.0:
replaced magic strings by proper constants
refactored tests for Request
fixed the logic in Request::isSecure() (if the information comes from a source that we trust, don't check other ones)
added a way to configure the X-Forwarded-XXX header names and a way to disable trusting them
fixed algorithm used to determine the trusted client IP
removed the non-standard Client-IP HTTP header
Conflicts:
src/Symfony/Component/HttpFoundation/Request.php
src/Symfony/Component/HttpFoundation/Tests/RequestTest.php