Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Add notes on mutable values & sessions.

Using notes in 8445f0d
  • Loading branch information...
commit 0eb75b317bd62ece31875158fb31262ce7d05e69 1 parent 71a9766
@rduplain rduplain authored
Showing with 9 additions and 1 deletion.
  1. +2 −1  CHANGES
  2. +7 −0 flask/helpers.py
View
3  CHANGES
@@ -56,7 +56,8 @@ Relase date to be decided, codename to be chosen.
max-age for `send_static_file` can be configured through a new
``SEND_FILE_MAX_AGE_DEFAULT`` configuration variable, regardless of whether
the `get_send_file_options` hook is used.
-
+- Fixed an assumption in sessions implementation which could break message
+ flashing on sessions implementations which use external storage.
Version 0.8.1
-------------
View
7 flask/helpers.py
@@ -283,6 +283,13 @@ def flash(message, category='message'):
messages and ``'warning'`` for warnings. However any
kind of string can be used as category.
"""
+ # Original implementation:
+ #
+ # session.setdefault('_flashes', []).append((category, message))
+ #
+ # This assumed that changes made to mutable structures in the session are
+ # are always in sync with the sess on object, which is not true for session
+ # implementations that use external storage for keeping their keys/values.
flashes = session.get('_flashes', [])
flashes.append((category, message))
session['_flashes'] = flashes
Please sign in to comment.
Something went wrong with that request. Please try again.