Refactor flash messages
1. Two places creating flash messages
There is a Ruby place and a Coffee place to create flash messages. They almost work the same and if something changes in the structure of flash messages (like in !4755 (closed)) both places have to be adjusted.
My suggestion: Use only the Coffee method by adding JavaScript blocks to the relevant Ruby locations.
.flash-container
is pushed around (!4854 (merged))
2. The flash container is detached and reattached to make context specific messages possible.
My suggestion: Add flash containers at any place where flash messages can appear and then insert the flash messages into the right container.
3. Mimicry flash messages
Some messages look like flash messages but are different things, like those:
My suggestion: Turn them into real flash messages with new type (like alert and notice).
4. There can be only one
All previous messages are cleared when a flash message is displayed.
My suggestion: Only clear messages of same context—or even better of same type. That is, Failed to check if a new branch can be created
can not clear Your comment could not be submitted!
.
This one might be fixed automatically by 2.—at least partially.
cc @jschatz1
~"technical debt"