STM32F103, Having trouble nesting interrupts
Since you have not assigned NVIC priority group, it is left with a default value of 2. This means that you have 2  bits for preemption priority and 2 bits for sub-priority. That allows you to use priority levels from 0 to 3 (2^n). Allowed priority levels for each group are illustrated in the following table:



As you can see, Group 4 has to be used in order to set preemption priority levels 0-15. 

You may leave the group unassigned for UART interrupt (since it will be assigned to group 2 by default).

For more information and examples you can refer to this article.