Commit Graph

27392 Commits

Author SHA1 Message Date
Fabien Potencier
61fea5a3f1 Merge branch '2.8' into 3.1
* 2.8:
  [TwigBridge] fix tests
  Tag the FormFieldRegistry as being internal
  [Form] Fix Date\TimeType marked as invalid on request with single_text and zero seconds
  [Validator] Added missing swedish translation
  [TranslationDebug] workaround for getFallbackLocales.
  [Translation] fixed nested fallback catalogue  using multiple locales.
  fixed phpdoc
  [Command] Fixed method comments as phpDoc syntax
  Added single quotes for upgrade guides.
2016-11-14 08:20:02 -08:00
Fabien Potencier
2cf474e2eb Merge branch '2.7' into 2.8
* 2.7:
  [TwigBridge] fix tests
  Tag the FormFieldRegistry as being internal
  [Form] Fix Date\TimeType marked as invalid on request with single_text and zero seconds
  [Validator] Added missing swedish translation
  [TranslationDebug] workaround for getFallbackLocales.
  [Translation] fixed nested fallback catalogue  using multiple locales.
  fixed phpdoc
  [Command] Fixed method comments as phpDoc syntax
2016-11-14 08:15:57 -08:00
Fabien Potencier
9a66470116 minor #20511 [TwigBridge] fix tests (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[TwigBridge] fix tests

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a

Adapt tests for null coalescing support from twigphp/Twig#2238.

Commits
-------

1f15395 [TwigBridge] fix tests
2016-11-14 08:14:22 -08:00
Christian Flothmann
1f1539579c [TwigBridge] fix tests
Adapt tests for null coalescing support from twigphp/Twig#2238.
2016-11-14 09:34:35 +01:00
Fabien Potencier
6648615081 minor #20500 Tag the FormFieldRegistry as being internal (stof)
This PR was merged into the 2.7 branch.

Discussion
----------

Tag the FormFieldRegistry as being internal

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a

The phpdoc already describes it as being internal (since it was introduced). This adds the proper tag to mark it as internal in our standard way.

Commits
-------

0801f97 Tag the FormFieldRegistry as being internal
2016-11-12 07:52:13 -08:00
Christophe Coevoet
0801f9723b Tag the FormFieldRegistry as being internal 2016-11-12 16:48:22 +01:00
Fabien Potencier
edf5d715e3 bug #20307 [Form] Fix Date\TimeType marked as invalid on request with single_text and zero seconds (LuisDeimos)
This PR was squashed before being merged into the 2.7 branch (closes #20307).

Discussion
----------

[Form] Fix Date\TimeType marked as invalid on request with single_text and zero seconds

| Q | A |
| --- | --- |
| Branch? | 2.7 |
| Bug fix? | yes |
| New feature? | no |
| BC breaks? | no |
| Deprecations? | no |
| Tests pass? | yes |
| Fixed tickets | 20304 |
| License | MIT |
| Doc PR |  |

Fix: When using a form with an Time type with option 'widget' => 'single_text', and 0 is selected in the seconds, we obtain an TransformationFailedException "Unable to reverse value for property path "[time]": Data missing". Check ticket #20304

Commits
-------

bcb03e0 [Form] Fix Date\TimeType marked as invalid on request with single_text and zero seconds
2016-11-12 07:33:13 -08:00
Luis Ramírez +Deimos+
bcb03e0a39 [Form] Fix Date\TimeType marked as invalid on request with single_text and zero seconds 2016-11-12 07:33:12 -08:00
Fabien Potencier
c4989c5605 bug #20480 [FrameworkBundle] Register the ArrayDenormalizer (dunglas)
This PR was squashed before being merged into the 3.1 branch (closes #20480).

Discussion
----------

[FrameworkBundle] Register the ArrayDenormalizer

| Q             | A
| ------------- | ---
| Branch?       | 3.1
| Bug fix?      | yes
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a

Registers the `ArrayDenormalizer` class in FrameworkBundle.

**Why it's a bug fix?**

Because since 3.1, most normalizers are able to deserialize complex types (e.g.: an object embedded in an object). They use the `Class\Name[]` notation to handle collections.

However, this only works when the `ArrayDenormalizer` has been registered (it is responsible of handling the `[]` notation).
We do it manually in unit tests, but `ArrayDenormalizer` has never been integrated in FrameworkBundle.

See the test case for further details.

Commits
-------

2eedafc [FrameworkBundle] Register the ArrayDenormalizer
2016-11-11 07:48:10 -08:00
Kévin Dunglas
2eedafc231 [FrameworkBundle] Register the ArrayDenormalizer 2016-11-11 07:48:09 -08:00
Fabien Potencier
75e0046234 bug #20286 [Serializer] Fix DataUriNormalizer's regex (dunglas)
This PR was squashed before being merged into the 3.1 branch (closes #20286).

Discussion
----------

[Serializer] Fix DataUriNormalizer's regex

| Q | A |
| --- | --- |
| Branch? | 3.1 |
| Bug fix? | yes |
| New feature? | no |
| BC breaks? | no |
| Deprecations? | no |
| Tests pass? | yes |
| Fixed tickets | #20225 |
| License | MIT |
| Doc PR | n/a |

Commits
-------

5dc5dc8 [Serializer] Fix DataUriNormalizer's regex
2016-11-11 07:47:19 -08:00
Kévin Dunglas
5dc5dc8475 [Serializer] Fix DataUriNormalizer's regex 2016-11-11 07:47:17 -08:00
Fabien Potencier
4967ad4b90 minor #20481 [Validator] Added missing swedish translation (Nyholm)
This PR was submitted for the master branch but it was merged into the 2.7 branch instead (closes #20481).

Discussion
----------

[Validator] Added missing swedish translation

| Q             | A
| ------------- | ---
| Branch?       | "master"
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a

I've checked our major banks websites and we have no better word for "Business Identifier Code" than "BIC". Some banks used "BIC-code" so that is what I wrote here.

Commits
-------

f3fede2 [Validator] Added missing swedish translation
2016-11-10 13:05:13 -08:00
Tobias Nyholm
f3fede2e83 [Validator] Added missing swedish translation 2016-11-10 13:05:13 -08:00
Fabien Potencier
3594877f75 bug #20466 [Translation] fixed nested fallback catalogue using multiple locales. (aitboudad)
This PR was merged into the 2.7 branch.

Discussion
----------

[Translation] fixed nested fallback catalogue  using multiple locales.

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #17786
| License       | MIT
| Doc PR        | ~

Commits
-------

bac217d [Translation] fixed nested fallback catalogue  using multiple locales.
2016-11-09 14:55:02 -08:00
Fabien Potencier
6953f4f779 minor #20444 [YAML] PHPDoc fixes for inline parser/dumper (ro0NL)
This PR was merged into the 2.7 branch.

Discussion
----------

[YAML] PHPDoc fixes for inline parser/dumper

| Q             | A
| ------------- | ---
| Branch?       | "master"
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | comma-separated list of tickets fixed by the PR, if any
| License       | MIT
| Doc PR        | reference to the documentation PR, if any

Commits
-------

dd47295 fixed phpdoc
2016-11-09 14:52:56 -08:00
Fabien Potencier
d6e928734c bug #20465 [#18637][TranslationDebug] workaround for getFallbackLocales. (aitboudad)
This PR was merged into the 2.7 branch.

Discussion
----------

[#18637][TranslationDebug] workaround for getFallbackLocales.

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #18637
| License       | MIT
| Doc PR        | ~

Commits
-------

31deea1 [TranslationDebug] workaround for getFallbackLocales.
2016-11-09 14:18:25 -08:00
Abdellatif Ait boudad
31deea1d3d [TranslationDebug] workaround for getFallbackLocales. 2016-11-09 20:23:10 +00:00
Abdellatif Ait boudad
bac217dd83 [Translation] fixed nested fallback catalogue using multiple locales. 2016-11-09 19:27:17 +00:00
Fabien Potencier
a524ba5e77 bug #20453 [Cache] Make directory hashing case insensitive (nicolas-grekas)
This PR was merged into the 3.1 branch.

Discussion
----------

[Cache] Make directory hashing case insensitive

| Q             | A
| ------------- | ---
| Branch?       | 3.1
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #20450
| License       | MIT
| Doc PR        | -

Fixes this situation: a Windows OS, running a Debian via VirtualBox and Vagrant. So the cache folder is on a Windows partition while the PHP command is running inside Debian...

Not testable without this specific setup...

Commits
-------

6d4a658 [Cache] Make directory hashing case insensitive
2016-11-09 09:59:43 -08:00
Roland Franssen
dd47295c15 fixed phpdoc 2016-11-09 17:27:48 +00:00
Fabien Potencier
7e53eab232 minor #20446 [Command] remove exception annotation from run method (Karim Miladi)
This PR was submitted for the master branch but it was merged into the 2.7 branch instead (closes #20446).

Discussion
----------

[Command] remove exception annotation from run method

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a

Commits
-------

5a1bf6a [Command] Fixed method comments as phpDoc syntax
2016-11-09 08:10:25 -08:00
Karim Miladi
5a1bf6aa6e [Command] Fixed method comments as phpDoc syntax 2016-11-09 08:10:25 -08:00
Nicolas Grekas
6d4a658ab7 [Cache] Make directory hashing case insensitive 2016-11-09 15:09:05 +01:00
Fabien Potencier
4bd6206d2e minor #20448 Added single quotes for upgrade guides. (Aliance)
This PR was merged into the 2.8 branch.

Discussion
----------

Added single quotes for upgrade guides.

| Q             | A
| ------------- | ---
| Branch?       | 2.8
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | –
| License       | MIT
| Doc PR        | –

Commits
-------

2016031 Added single quotes for upgrade guides.
2016-11-08 06:54:55 -08:00
Lesnykh Ilia
201603137c
Added single quotes for upgrade guides. 2016-11-08 16:51:01 +03:00
Fabien Potencier
790e7dd74d Merge branch '2.8' into 3.1
* 2.8:
  prefer getSourceContext() over getSource()
  [HttpFoundation] Avoid implicit null to array conversion in request matcher
  Revert "bug #20184 [FrameworkBundle] Convert null prefix to an empty string in translation:update (chalasr)"
  Update UPGRADE-2.7.md
2016-11-07 11:34:53 -08:00
Fabien Potencier
570bebdcb3 Merge branch '2.7' into 2.8
* 2.7:
  prefer getSourceContext() over getSource()
  [HttpFoundation] Avoid implicit null to array conversion in request matcher
  Revert "bug #20184 [FrameworkBundle] Convert null prefix to an empty string in translation:update (chalasr)"
  Update UPGRADE-2.7.md
2016-11-07 11:34:39 -08:00
Fabien Potencier
40dc73aa28 bug #20440 [TwigBridge][TwigBundle][HttpKernel] prefer getSourceContext() over getSource() (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[TwigBridge][TwigBundle][HttpKernel] prefer getSourceContext() over getSource()

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #20435
| License       | MIT
| Doc PR        | n/a

Commits
-------

adbc529 prefer getSourceContext() over getSource()
2016-11-07 11:32:26 -08:00
Christian Flothmann
adbc529b7b prefer getSourceContext() over getSource() 2016-11-07 19:42:43 +01:00
Fabien Potencier
589d019f2e minor #20433 Revert "bug #20184 [FrameworkBundle] Convert null prefix to an empty string in translation:update (chalasr)" (chalasr)
This PR was merged into the 2.7 branch.

Discussion
----------

Revert "bug #20184 [FrameworkBundle] Convert null prefix to an empty string in translation:update (chalasr)"

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | https://github.com/symfony/symfony/pull/20184#discussion_r85265689
| License       | MIT
| Doc PR        | n/a

This reverts commit 3f650f8 because the fix is not valid.
It is actually not possible to have an option with value optional given empty to be `empty` if this one has a default value. The default value will always be the one returned, see https://github.com/symfony/symfony/pull/20184#discussion_r85265689 for details.

Commits
-------

b2fa7c4 Revert "bug #20184 [FrameworkBundle] Convert null prefix to an empty string in translation:update (chalasr)"
2016-11-07 07:14:01 -08:00
Fabien Potencier
fd1ee25ebd minor #20275 [HttpFoundation] Avoid implicit null to array conversion in request matcher (ro0NL)
This PR was squashed before being merged into the 2.7 branch (closes #20275).

Discussion
----------

[HttpFoundation] Avoid implicit null to array conversion in request matcher

| Q | A |
| --- | --- |
| Branch? | 2.7 |
| Bug fix? | yes |
| New feature? | no |
| BC breaks? | no |
| Deprecations? | no |
| Tests pass? | yes |
| Fixed tickets | comma-separated list of tickets fixed by the PR, if any |
| License | MIT |
| Doc PR | reference to the documentation PR, if any |

`null` is allowed _and_ passed as default value from the constructor. Lets be explicit.

Commits
-------

a2c0a78 [HttpFoundation] Avoid implicit null to array conversion in request matcher
2016-11-07 07:11:09 -08:00
Roland Franssen
a2c0a785c2 [HttpFoundation] Avoid implicit null to array conversion in request matcher 2016-11-07 07:11:08 -08:00
Fabien Potencier
2b0c863f6c minor #20431 Update UPGRADE-2.7.md (Aliance)
This PR was merged into the 2.7 branch.

Discussion
----------

Update UPGRADE-2.7.md

See [Symfony/Component/Form/AbstractTypeExtension.php](https://github.com/symfony/symfony/blob/2.7/src/Symfony/Component/Form/AbstractTypeExtension.php)

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | –
| License       | MIT
| Doc PR        | –

Commits
-------

1c0f572 Update UPGRADE-2.7.md
2016-11-07 07:09:26 -08:00
Robin Chalas
b2fa7c4f07 Revert "bug #20184 [FrameworkBundle] Convert null prefix to an empty string in translation:update (chalasr)"
This reverts commit 3f650f864c, reversing
changes made to 962248dbd9.
2016-11-07 13:32:19 +01:00
Lesnykh Ilia
1c0f572d2e Update UPGRADE-2.7.md 2016-11-07 10:23:54 +03:00
Fabien Potencier
0255cb143f Merge branch '2.8' into 3.1
* 2.8:
  [Translation][fallback] add missing resources in parent catalogues.
  removed a deprecation notice
  [Form] Fix show float values as choices values in ChoiceType
  Remove double use Statement
  Improved the design of the metrics in the profiler
  [Console] Fix infinite loop on missing input
  [HttpFoundation][Session] memcached connection should not be closed
2016-11-06 08:23:47 -08:00
Fabien Potencier
a66e9ff77e Merge branch '2.7' into 2.8
* 2.7:
  [Translation][fallback] add missing resources in parent catalogues.
  removed a deprecation notice
  [Form] Fix show float values as choices values in ChoiceType
  [HttpFoundation][Session] memcached connection should not be closed
2016-11-06 08:21:30 -08:00
Fabien Potencier
ba8a12a898 fixed CS 2016-11-06 08:20:57 -08:00
Fabien Potencier
a42973ee36 bug #20287 Properly format value in UniqueEntityValidator (alcaeus)
This PR was merged into the 3.1 branch.

Discussion
----------

Properly format value in UniqueEntityValidator

| Q | A |
| --- | --- |
| Branch? | 3.1 |
| Bug fix? | yes |
| New feature? | no |
| BC breaks? | no |
| Deprecations? | no |
| Tests pass? | yes |
| Fixed tickets | / |
| License | MIT |

This PR fixes a small issue introduced in #15279. Having an array in a field considered for a unique check causes an array to string conversion error in the translator. This can be avoided by formatting the value parameter with `formatValue`.

Commits
-------

9043a55 Properly format value in UniqueEntityValidator
2016-11-06 08:15:28 -08:00
Fabien Potencier
8668aec34e minor #20421 Twig deprecation removal (fabpot)
This PR was merged into the 2.7 branch.

Discussion
----------

Twig deprecation removal

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a

Commits
-------

eb0d6c9 removed a deprecation notice
2016-11-06 08:13:45 -08:00
Fabien Potencier
b06c00edcd bug #20422 [Translation][fallback] add missing resources in parent catalogues. (aitboudad)
This PR was merged into the 2.7 branch.

Discussion
----------

[Translation][fallback] add missing resources in parent catalogues.

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #20420
| License       | MIT
| Doc PR        | ~

Commits
-------

27c91e5 [Translation][fallback] add missing resources in parent catalogues.
2016-11-06 08:10:50 -08:00
Fabien Potencier
94d9bfbc1d bug #20378 [Form] Fixed show float values as choice value in ChoiceType (yceruto)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] Fixed show float values as choice value in ChoiceType

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #13817
| License       | MIT
| Doc PR        | -

There is a closed [issue][1] related to this before Symfony 2.7 (when choice value still was the key from the `array`). This issue already happened in 2.7+ but now inside Symfony core.

Information
-----------

[This method][3] checks whether the given choices can be cast to strings without generating duplicates (3ab8189080 in #16705):

```php
private function castableToString(array $choices, array &$cache = array())
{
    foreach ($choices as $choice) {
        if (is_array($choice)) {
            if (!$this->castableToString($choice, $cache)) {
                return false;
            }

            continue;
        } elseif (!is_scalar($choice)) {
            return false;
        } elseif (isset($cache[$choice])) {  // <---- red breakpoint
            return false;
        }

        $cache[$choice] = true; // <---- red breakpoint
    }

    return true;
}
```

So it should to keep [scalar values (integer, float, string or boolean)][2] as choice values always (unless have duplicates values).

The Problem
-----------

But in this situation it doesn't happen:

```php
$form = $this->createFormBuilder()
    ->add('foo', ChoiceType::class, [
        'choices' => [
            'Min' => 0.5,
            'Mid' => 1.0,
            'Max' => 1.5,
        ]
    ])
    ->getForm();
```

**Output:**

```html
<select id="form_foo" name="form[foo]">
  <option value="0">Min</option>
  <option value="1">Mid</option>
  <option value="2">Max</option>
</select>
```

[**Why?**][5]

If the key of the array is a float number, it's interpreted as integer automatically:

```php
// ...

$cache[$choice] = true;

// when $choice = 0.5: $cache = [0 => true]
// when $choice = 1.0: $cache = [0 => true, 1 => true]
```

Then, when `$choice = 1.5` [this sentence][4] `isset($cache[1.5])` returns `true` because really checks `isset($cache[1])` and this key already exists, so `castableToString()` returns `false` (detected as duplicate) and the choices values are generated incrementing integers as values.

The PR's Effect
-------------

**Before:**

```html
<select id="form_foo" name="form[foo]">
  <option value="0">Min</option>
  <option value="1">Mid</option>
  <option value="2">Max</option>
</select>
```

**After:**

```html
<select id="form_foo" name="form[foo]">
  <option value="0.5">Min</option>
  <option value="1">Mid</option>
  <option value="1.5">Max</option>
</select>
```

  [1]: https://github.com/symfony/symfony/issues/13817
  [2]: http://php.net/manual/en/function.is-scalar.php
  [3]: https://github.com/symfony/symfony/blob/2.7/src/Symfony/Component/Form/ChoiceList/ArrayChoiceList.php#L228
  [4]: https://github.com/symfony/symfony/blob/2.7/src/Symfony/Component/Form/ChoiceList/ArrayChoiceList.php#L239
  [5]: https://github.com/symfony/symfony/blob/2.7/src/Symfony/Component/Form/ChoiceList/ArrayChoiceList.php#L243

Commits
-------

3564228 [Form] Fix show float values as choices values in ChoiceType
2016-11-06 08:03:54 -08:00
Andreas Braun
9043a551b2
Properly format value in UniqueEntityValidator 2016-11-06 10:18:09 +01:00
Abdellatif Ait boudad
27c91e514e [Translation][fallback] add missing resources in parent catalogues. 2016-11-06 08:07:39 +00:00
Fabien Potencier
eb0d6c94ca removed a deprecation notice 2016-11-05 23:09:07 -07:00
Yonel Ceruto
35642288fa [Form] Fix show float values as choices values in ChoiceType 2016-11-05 14:02:34 -04:00
Fabien Potencier
3dcbdfdd39 minor #20414 [Console] Fix double use Statement (Jan Emrich)
This PR was merged into the 2.8 branch.

Discussion
----------

[Console] Fix double use Statement

| Q             | A
| ------------- | ---
| Branch?       | 2.8
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT

Commits
-------

c3dacbb Remove double use Statement
2016-11-04 11:59:40 -07:00
Jan Emrich
c3dacbb9a1 Remove double use Statement
Syntax Error in Helper/QuestionHelper.php
2016-11-04 18:49:05 +01:00
Fabien Potencier
8fd97217e7 bug #20294 Improved the design of the metrics in the profiler (javiereguiluz)
This PR was squashed before being merged into the 2.8 branch (closes #20294).

Discussion
----------

Improved the design of the metrics in the profiler

| Q | A |
| --- | --- |
| Branch? | 2.8 |
| Bug fix? | yes |
| New feature? | no |
| BC breaks? | no |
| Deprecations? | no |
| Tests pass? | yes |
| Fixed tickets | - |
| License | MIT |
| Doc PR |  |
- Performance panel now displays Sub-Requests a bit separated from the normal metrics
- Singular/plural: when there is 1 sub-request, we don't display "sub-request**s**" anymore
### Before

![before_subrequests](https://cloud.githubusercontent.com/assets/73419/19680261/5289fd26-9aa5-11e6-8702-1ac50997da78.png)
### After

![after_subrequests](https://cloud.githubusercontent.com/assets/73419/19680272/57324b44-9aa5-11e6-8d85-44cc089bd9f4.png)
- Add bottom margin to metrics so they are correctly displayed when the screen is very small.
### Before & After

![metrics-small-screens](https://cloud.githubusercontent.com/assets/73419/19680259/4f826654-9aa5-11e6-9ed8-1ffe9a3db8bf.png)

Commits
-------

d030a9d Improved the design of the metrics in the profiler
2016-11-04 08:17:22 -07:00