Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 427696

Summary: Cached theme data gets out of sync
Product: [ECD] Orion Reporter: Mark Macdonald <mamacdon>
Component: ClientAssignee: Mark Macdonald <mamacdon>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: ken_walker, mamacdon, Silenio_Quarti
Version: 5.0Flags: ken_walker: review+
Silenio_Quarti: review+
Target Milestone: 5.0 RC3   
Hardware: PC   
OS: Windows 7   
Whiteboard:
Attachments:
Description Flags
bad banner bg none

Description Mark Macdonald CLA 2014-02-07 12:58:01 EST
Created attachment 239749 [details]
bad banner bg

For users that used an Orion website (like orion.eclipse.org) prior to Orion 5.0, they will have theme choice saved in their browser localStorage that does not match the Orion 5.0 styles. The theme they probably have stored is named "Orion" but the current theme is "Orion2014".

Once you get in this state, the top banner's bgcolor can appear grey (see pic). This happened to Mike.

Need to fix the Orion theme to have the correct banner color. Also, the banner color in theme.css is wrong too. We're relying on the theme engine to dynamically inject the correct color from the Orion2014 and override the wrong color.
Comment 1 Mark Macdonald CLA 2014-02-07 15:45:17 EST
Well I fixed the Orion theme and the CSS file so they're consistent with the Orion2014 theme. And I made the banner in the old (Orion) theme look reasonable.
http://git.eclipse.org/c/orion/org.eclipse.orion.client.git/commit/?id=9eb080a

But I'm keeping this bug open because the general problem still exists. I'll try to describe the problem more clearly: 
* Mike is an Orion 4.0 user
* Mike's browser has Orion-4.0 theme data cached in localStorage
* Mike loads Orion 5.0, which has major UI/style changes
* Orion 5.0 displays using his cached, stale theme data
* Orion 5.0 looks like trash.

We need to version the cached theme data. At page load time, a version mismatch 
must download fresh theme data (should be equivalent to visiting Orion with an empty localStorage). 

When an Orion developer makes style changes to any themeable elements, they must increment the version number.
Comment 2 Mark Macdonald CLA 2014-02-14 12:46:42 EST
For testing: here's a reproducible way to get into the bad state I described in Comment 1:

1. Load an Orion page, then open your browser's JavaScript console.
2. Copy/paste the following chunk of code into the console and press enter:


localStorage['/orion/preferences/local/themes'] = JSON.parse(atob("IntcInN0eWxlc1wiOlwiW3tcXFwibmFtZVxcXCI6XFxcIk9yaW9uXFxcIixcXFwibmF2YmFyXFxcIjpcXFwiIzQwNDY0OFxcXCIsXFxcImJ1dHRvblxcXCI6XFxcIiNFRkVGRUZcXFwiLFxcXCJsb2NhdGlvblxcXCI6XFxcIiNlZmVmZWZcXFwiLFxcXCJzZWxlY3Rpb25cXFwiOlxcXCJGRUNcXFwiLFxcXCJzaWRlcGFuZWxcXFwiOlxcXCIjRkJGQkZCXFxcIixcXFwibWFpbnBhbmVsXFxcIjpcXFwid2hpdGVcXFwiLFxcXCJ0b29scGFuZWxcXFwiOlxcXCJ3aGl0ZVxcXCIsXFxcIm5hdnRleHRcXFwiOlxcXCIjYmZiZmJmXFxcIixcXFwiY29udGVudFxcXCI6XFxcIiMzMDg3QjNcXFwiLFxcXCJzZWFyY2hcXFwiOlxcXCIjNDQ0XFxcIixcXFwiYnJlYWRjcnVtYlxcXCI6XFxcIiMzMDg3QjNcXFwiLFxcXCJzZXBhcmF0b3JcXFwiOlxcXCIjMzMzXFxcIn0se1xcXCJuYW1lXFxcIjpcXFwiR3JlZW4gWm9uZVxcXCIsXFxcIm5hdmJhclxcXCI6XFxcInNlYWdyZWVuXFxcIixcXFwiYnV0dG9uXFxcIjpcXFwibGF2ZW5kZXJcXFwiLFxcXCJsb2NhdGlvblxcXCI6XFxcImRhcmtzZWFncmVlblxcXCIsXFxcInNlbGVjdGlvblxcXCI6XFxcIm1vY2Nhc2luXFxcIixcXFwic2lkZXBhbmVsXFxcIjpcXFwiYWxpY2VibHVlXFxcIixcXFwibWFpbnBhbmVsXFxcIjpcXFwid2hpdGVcXFwiLFxcXCJ0b29scGFuZWxcXFwiOlxcXCJ3aGl0ZVxcXCIsXFxcIm5hdnRleHRcXFwiOlxcXCIjRkJGQkZCXFxcIixcXFwiY29udGVudFxcXCI6XFxcImRhcmtncmVlblxcXCIsXFxcInNlYXJjaFxcXCI6XFxcImRhcmtncmVlblxcXCIsXFxcImJyZWFkY3J1bWJcXFwiOlxcXCIjMzA4N0IzXFxcIixcXFwic2VwYXJhdG9yXFxcIjpcXFwic2VhZ3JlZW5cXFwifSx7XFxcIm5hbWVcXFwiOlxcXCJQcmV0dHkgSW4gUGlua1xcXCIsXFxcIm5hdmJhclxcXCI6XFxcInBsdW1cXFwiLFxcXCJidXR0b25cXFwiOlxcXCJsYXZlbmRlclxcXCIsXFxcImxvY2F0aW9uXFxcIjpcXFwicGlua1xcXCIsXFxcInNlbGVjdGlvblxcXCI6XFxcImxhdmVuZGVyXFxcIixcXFwic2lkZXBhbmVsXFxcIjpcXFwic2Vhc2hlbGxcXFwiLFxcXCJtYWlucGFuZWxcXFwiOlxcXCJ3aGl0ZVxcXCIsXFxcInRvb2xwYW5lbFxcXCI6XFxcIndoaXRlXFxcIixcXFwibmF2dGV4dFxcXCI6XFxcIiNGQkZCRkJcXFwiLFxcXCJjb250ZW50XFxcIjpcXFwibWVkaXVtb3JjaGlkXFxcIixcXFwic2VhcmNoXFxcIjpcXFwidmlvbGV0XFxcIixcXFwiYnJlYWRjcnVtYlxcXCI6XFxcIiMzMDg3QjNcXFwiLFxcXCJzZXBhcmF0b3JcXFwiOlxcXCJwbHVtXFxcIn0se1xcXCJuYW1lXFxcIjpcXFwiQmx1ZSBNb25kYXlcXFwiLFxcXCJuYXZiYXJcXFwiOlxcXCJjb3JuZmxvd2VyYmx1ZVxcXCIsXFxcImJ1dHRvblxcXCI6XFxcImxhdmVuZGVyXFxcIixcXFwibG9jYXRpb25cXFwiOlxcXCJza3libHVlXFxcIixcXFwic2VsZWN0aW9uXFxcIjpcXFwibGF2ZW5kZXJcXFwiLFxcXCJzaWRlcGFuZWxcXFwiOlxcXCJhbGljZWJsdWVcXFwiLFxcXCJtYWlucGFuZWxcXFwiOlxcXCJ3aGl0ZVxcXCIsXFxcInRvb2xwYW5lbFxcXCI6XFxcIndoaXRlXFxcIixcXFwibmF2dGV4dFxcXCI6XFxcIiNGQkZCRkJcXFwiLFxcXCJjb250ZW50XFxcIjpcXFwicm95YWxibHVlXFxcIixcXFwic2VhcmNoXFxcIjpcXFwicm95YWxibHVlXFxcIixcXFwiYnJlYWRjcnVtYlxcXCI6XFxcIiMzMDg3QjNcXFwiLFxcXCJzZXBhcmF0b3JcXFwiOlxcXCJjb3JuZmxvd2VyYmx1ZVxcXCJ9LHtcXFwibmFtZVxcXCI6XFxcIlZhbmlsbGEgU2tpZXNcXFwiLFxcXCJuYXZiYXJcXFwiOlxcXCJzYW5keWJyb3duXFxcIixcXFwiYnV0dG9uXFxcIjpcXFwibGVtbW9uY2hpZmZvblxcXCIsXFxcImxvY2F0aW9uXFxcIjpcXFwiY29ybnNpbGtcXFwiLFxcXCJzZWxlY3Rpb25cXFwiOlxcXCJsZW1vbmNoaWZmb25cXFwiLFxcXCJzaWRlcGFuZWxcXFwiOlxcXCJ3aGl0ZVxcXCIsXFxcIm1haW5wYW5lbFxcXCI6XFxcIndoaXRlXFxcIixcXFwidG9vbHBhbmVsXFxcIjpcXFwid2hpdGVcXFwiLFxcXCJuYXZ0ZXh0XFxcIjpcXFwibGVtb25jaGlmZm9uXFxcIixcXFwiY29udGVudFxcXCI6XFxcImNob2NvbGF0ZVxcXCIsXFxcInNlYXJjaFxcXCI6XFxcIm1vY2Nhc2luXFxcIixcXFwiYnJlYWRjcnVtYlxcXCI6XFxcIiMzMDg3QjNcXFwiLFxcXCJzZXBhcmF0b3JcXFwiOlxcXCJzYW5keWJyb3duXFxcIn0se1xcXCJuYW1lXFxcIjpcXFwiQmVldGxlanVpY2VcXFwiLFxcXCJuYXZiYXJcXFwiOlxcXCJpbmRpZ29cXFwiLFxcXCJidXR0b25cXFwiOlxcXCJzbGF0ZWJsdWVcXFwiLFxcXCJsb2NhdGlvblxcXCI6XFxcImRhcmtzbGF0ZWJsdWVcXFwiLFxcXCJzZWxlY3Rpb25cXFwiOlxcXCJzaWx2ZXJcXFwiLFxcXCJzaWRlcGFuZWxcXFwiOlxcXCJsYXZlbmRlclxcXCIsXFxcIm1haW5wYW5lbFxcXCI6XFxcIndoaXRlXFxcIixcXFwidG9vbHBhbmVsXFxcIjpcXFwid2hpdGVcXFwiLFxcXCJuYXZ0ZXh0XFxcIjpcXFwiI0ZCRkJGQlxcXCIsXFxcImNvbnRlbnRcXFwiOlxcXCJtZWRpdW1zbGF0ZWJsdWVcXFwiLFxcXCJzZWFyY2hcXFwiOlxcXCIjNDQ0XFxcIixcXFwiYnJlYWRjcnVtYlxcXCI6XFxcIiMzMDg3QjNcXFwiLFxcXCJzZXBhcmF0b3JcXFwiOlxcXCJpbmRpZ29cXFwifSx7XFxcIm5hbWVcXFwiOlxcXCJSZWRcXFwiLFxcXCJuYXZiYXJcXFwiOlxcXCIjQ0QyMTI3XFxcIixcXFwiYnV0dG9uXFxcIjpcXFwiIzc3Nzc3N1xcXCIsXFxcImxvY2F0aW9uXFxcIjpcXFwiI0Q4NUY1NlxcXCIsXFxcInNlbGVjdGlvblxcXCI6XFxcImxpZ2h0Y29yYWxcXFwiLFxcXCJzaWRlcGFuZWxcXFwiOlxcXCIjRUZEQUIyXFxcIixcXFwibWFpbnBhbmVsXFxcIjpcXFwiI0ZERkFERFxcXCIsXFxcInRvb2xwYW5lbFxcXCI6XFxcIiNGREZBRERcXFwiLFxcXCJuYXZ0ZXh0XFxcIjpcXFwiI0ZCRkJGQlxcXCIsXFxcImNvbnRlbnRcXFwiOlxcXCJkYXJrcmVkXFxcIixcXFwic2VhcmNoXFxcIjpcXFwiI0Q4NUY1NlxcXCIsXFxcImJyZWFkY3J1bWJcXFwiOlxcXCJkYXJrcmVkXFxcIixcXFwic2VwYXJhdG9yXFxcIjpcXFwiI0NEMjEyN1xcXCJ9XVwiLFwic2VsZWN0ZWRcIjpcIntcXFwic2VsZWN0ZWRcXFwiOlxcXCJPcmlvblxcXCIsXFxcImVkaXRvclNlbGVjdGVkXFxcIjpcXFwiUHJvc3BlY3RvXFxcIn1cIixcImVkaXRvcnN0eWxlc1wiOlwiW3tcXFwibmFtZVxcXCI6XFxcIkVjbGlwc2VcXFwiLFxcXCJhbm5vdGF0aW9uUnVsZXJcXFwiOlxcXCJ3aGl0ZVxcXCIsXFxcImJhY2tncm91bmRcXFwiOlxcXCJ3aGl0ZVxcXCIsXFxcImNvbW1lbnRcXFwiOlxcXCJncmVlblxcXCIsXFxcImtleXdvcmRcXFwiOlxcXCIjN2YwMDU1XFxcIixcXFwidGV4dFxcXCI6XFxcImRhcmtTbGF0ZUdyYXlcXFwiLFxcXCJzdHJpbmdcXFwiOlxcXCJibHVlXFxcIixcXFwib3ZlcnZpZXdSdWxlclxcXCI6XFxcIndoaXRlXFxcIixcXFwibGluZU51bWJlck9kZFxcXCI6XFxcIiM0NDRcXFwiLFxcXCJsaW5lTnVtYmVyRXZlblxcXCI6XFxcIiM0NDRcXFwiLFxcXCJsaW5lTnVtYmVyXFxcIjpcXFwiIzQ0NFxcXCIsXFxcImN1cnJlbnRMaW5lXFxcIjpcXFwiI0VBRjJGRVxcXCIsXFxcInRhZ1xcXCI6XFxcImRhcmtvcmFuZ2VcXFwiLFxcXCJhdHRyaWJ1dGVcXFwiOlxcXCJjYWRldEJsdWVcXFwiLFxcXCJmb250RmFtaWx5XFxcIjpcXFwiXFxcXFxcXCJDb25zb2xhc1xcXFxcXFwiLCBcXFxcXFxcIk1vbmFjb1xcXFxcXFwiLCBcXFxcXFxcIlZlcmEgTW9ub1xcXFxcXFwiLCBcXFxcXFxcIm1vbm9zcGFjZVxcXFxcXFwiXFxcIixcXFwiZm9udFNpemVcXFwiOlxcXCIxMHB0XFxcIn0se1xcXCJuYW1lXFxcIjpcXFwiUHJvc3BlY3RvXFxcIixcXFwiYW5ub3RhdGlvblJ1bGVyXFxcIjpcXFwid2hpdGVcXFwiLFxcXCJiYWNrZ3JvdW5kXFxcIjpcXFwid2hpdGVcXFwiLFxcXCJjb21tZW50XFxcIjpcXFwiIzNDODAyQ1xcXCIsXFxcImtleXdvcmRcXFwiOlxcXCIjQ0M0QzA3XFxcIixcXFwidGV4dFxcXCI6XFxcIiMzMzNcXFwiLFxcXCJzdHJpbmdcXFwiOlxcXCIjNDQ2RkJEXFxcIixcXFwib3ZlcnZpZXdSdWxlclxcXCI6XFxcIndoaXRlXFxcIixcXFwibGluZU51bWJlck9kZFxcXCI6XFxcInNpbHZlclxcXCIsXFxcImxpbmVOdW1iZXJFdmVuXFxcIjpcXFwic2lsdmVyXFxcIixcXFwibGluZU51bWJlclxcXCI6XFxcInNpbHZlclxcXCIsXFxcImN1cnJlbnRMaW5lXFxcIjpcXFwiI0VBRjJGRVxcXCIsXFxcInRhZ1xcXCI6XFxcIiNDQzRDMDdcXFwiLFxcXCJhdHRyaWJ1dGVcXFwiOlxcXCJjYWRldEJsdWVcXFwiLFxcXCJmb250RmFtaWx5XFxcIjpcXFwiXFxcXFxcXCJDb25zb2xhc1xcXFxcXFwiLCBcXFxcXFxcIk1vbmFjb1xcXFxcXFwiLCBcXFxcXFxcIlZlcmEgTW9ub1xcXFxcXFwiLCBcXFxcXFxcIm1vbm9zcGFjZVxcXFxcXFwiXFxcIixcXFwiZm9udFNpemVcXFwiOlxcXCIxMHB0XFxcIn0se1xcXCJuYW1lXFxcIjpcXFwiQmx1ZVxcXCIsXFxcImFubm90YXRpb25SdWxlclxcXCI6XFxcImxhdmVuZGVyXFxcIixcXFwiYmFja2dyb3VuZFxcXCI6XFxcImFsaWNlQmx1ZVxcXCIsXFxcImNvbW1lbnRcXFwiOlxcXCJpbmRpZ29cXFwiLFxcXCJrZXl3b3JkXFxcIjpcXFwiY29ybkZsb3dlckJsdWVcXFwiLFxcXCJ0ZXh0XFxcIjpcXFwibmF2eVxcXCIsXFxcInN0cmluZ1xcXCI6XFxcImNvcm5GbG93ZXJCbHVlXFxcIixcXFwib3ZlcnZpZXdSdWxlclxcXCI6XFxcImxhdmVuZGVyXFxcIixcXFwibGluZU51bWJlck9kZFxcXCI6XFxcImRhcmtTbGF0ZUdyYXlcXFwiLFxcXCJsaW5lTnVtYmVyRXZlblxcXCI6XFxcImRhcmtTbGF0ZUdyYXlcXFwiLFxcXCJsaW5lTnVtYmVyXFxcIjpcXFwiZGFya1NsYXRlR3JheVxcXCIsXFxcImN1cnJlbnRMaW5lXFxcIjpcXFwid2hpdGVcXFwiLFxcXCJ0YWdcXFwiOlxcXCJjb3JuRmxvd2VyQmx1ZVxcXCIsXFxcImF0dHJpYnV0ZVxcXCI6XFxcImNhZGV0Qmx1ZVxcXCIsXFxcImZvbnRGYW1pbHlcXFwiOlxcXCJcXFxcXFxcIkNvbnNvbGFzXFxcXFxcXCIsIFxcXFxcXFwiTW9uYWNvXFxcXFxcXCIsIFxcXFxcXFwiVmVyYSBNb25vXFxcXFxcXCIsIFxcXFxcXFwibW9ub3NwYWNlXFxcXFxcXCJcXFwiLFxcXCJmb250U2l6ZVxcXCI6XFxcIjEwcHRcXFwifSx7XFxcIm5hbWVcXFwiOlxcXCJBbWJpZW5jZVxcXCIsXFxcImFubm90YXRpb25SdWxlclxcXCI6XFxcIiMzRDNEM0RcXFwiLFxcXCJiYWNrZ3JvdW5kXFxcIjpcXFwiIzIwMjAyMFxcXCIsXFxcImNvbW1lbnRcXFwiOlxcXCJtZWRpdW1zbGF0ZWJsdWVcXFwiLFxcXCJrZXl3b3JkXFxcIjpcXFwiY29ybkZsb3dlckJsdWVcXFwiLFxcXCJ0ZXh0XFxcIjpcXFwiZGFya3NlYWdyZWVuXFxcIixcXFwic3RyaW5nXFxcIjpcXFwibGlnaHRjb3JhbFxcXCIsXFxcIm92ZXJ2aWV3UnVsZXJcXFwiOlxcXCJ3aGl0ZVxcXCIsXFxcImxpbmVOdW1iZXJPZGRcXFwiOlxcXCJibGFja1xcXCIsXFxcImxpbmVOdW1iZXJFdmVuXFxcIjpcXFwiYmxhY2tcXFwiLFxcXCJsaW5lTnVtYmVyXFxcIjpcXFwiYmxhY2tcXFwiLFxcXCJjdXJyZW50TGluZVxcXCI6XFxcImxpZ2h0Y3lhblxcXCIsXFxcInRhZ1xcXCI6XFxcImNvcm5GbG93ZXJCbHVlXFxcIixcXFwiYXR0cmlidXRlXFxcIjpcXFwiY2FkZXRCbHVlXFxcIixcXFwiZm9udEZhbWlseVxcXCI6XFxcIlxcXFxcXFwiQ29uc29sYXNcXFxcXFxcIiwgXFxcXFxcXCJNb25hY29cXFxcXFxcIiwgXFxcXFxcXCJWZXJhIE1vbm9cXFxcXFxcIiwgXFxcXFxcXCJtb25vc3BhY2VcXFxcXFxcIlxcXCIsXFxcImZvbnRTaXplXFxcIjpcXFwiMTBwdFxcXCJ9LHtcXFwibmFtZVxcXCI6XFxcIlRpZXJyYVxcXCIsXFxcImFubm90YXRpb25SdWxlclxcXCI6XFxcIm1vY2Nhc2luXFxcIixcXFwiYmFja2dyb3VuZFxcXCI6XFxcImxlbW9uY2hpZmZvblxcXCIsXFxcImNvbW1lbnRcXFwiOlxcXCJkYXJrc2VhZ3JlZW5cXFwiLFxcXCJrZXl3b3JkXFxcIjpcXFwiZGFya3JlZFxcXCIsXFxcInRleHRcXFwiOlxcXCIjNTU1NTU1XFxcIixcXFwic3RyaW5nXFxcIjpcXFwib3JhbmdlcmVkXFxcIixcXFwib3ZlcnZpZXdSdWxlclxcXCI6XFxcIm1vY2Nhc2luXFxcIixcXFwibGluZU51bWJlck9kZFxcXCI6XFxcImNob2NvbGF0ZVxcXCIsXFxcImxpbmVOdW1iZXJFdmVuXFxcIjpcXFwiY2hvY29sYXRlXFxcIixcXFwibGluZU51bWJlclxcXCI6XFxcImNob2NvbGF0ZVxcXCIsXFxcImN1cnJlbnRMaW5lXFxcIjpcXFwiI2JhYTI4OVxcXCIsXFxcInRhZ1xcXCI6XFxcImRhcmtyZWRcXFwiLFxcXCJhdHRyaWJ1dGVcXFwiOlxcXCJjYWRldEJsdWVcXFwiLFxcXCJmb250RmFtaWx5XFxcIjpcXFwiXFxcXFxcXCJDb25zb2xhc1xcXFxcXFwiLCBcXFxcXFxcIk1vbmFjb1xcXFxcXFwiLCBcXFxcXFxcIlZlcmEgTW9ub1xcXFxcXFwiLCBcXFxcXFxcIm1vbm9zcGFjZVxcXFxcXFwiXFxcIixcXFwiZm9udFNpemVcXFwiOlxcXCIxMHB0XFxcIn0se1xcXCJuYW1lXFxcIjpcXFwiTmltYnVzXFxcIixcXFwiYW5ub3RhdGlvblJ1bGVyXFxcIjpcXFwiIzQ0NFxcXCIsXFxcImJhY2tncm91bmRcXFwiOlxcXCJkaW1ncmF5XFxcIixcXFwiY29tbWVudFxcXCI6XFxcImRhcmtzZWFncmVlblxcXCIsXFxcImtleXdvcmRcXFwiOlxcXCJkYXJrb3JhbmdlXFxcIixcXFwidGV4dFxcXCI6XFxcIndoaXRlXFxcIixcXFwic3RyaW5nXFxcIjpcXFwiY29ybmZsb3dlcmJsdWVcXFwiLFxcXCJvdmVydmlld1J1bGVyXFxcIjpcXFwiIzQ0NFxcXCIsXFxcImxpbmVOdW1iZXJPZGRcXFwiOlxcXCIjYWFhXFxcIixcXFwibGluZU51bWJlckV2ZW5cXFwiOlxcXCIjYWFhXFxcIixcXFwibGluZU51bWJlclxcXCI6XFxcIiNhYWFcXFwiLFxcXCJjdXJyZW50TGluZVxcXCI6XFxcIiNhYWJmYmJcXFwiLFxcXCJ0YWdcXFwiOlxcXCJkYXJrb3JhbmdlXFxcIixcXFwiYXR0cmlidXRlXFxcIjpcXFwiY2FkZXRCbHVlXFxcIixcXFwiZm9udEZhbWlseVxcXCI6XFxcIlxcXFxcXFwiQ29uc29sYXNcXFxcXFxcIiwgXFxcXFxcXCJNb25hY29cXFxcXFxcIiwgXFxcXFxcXCJWZXJhIE1vbm9cXFxcXFxcIiwgXFxcXFxcXCJtb25vc3BhY2VcXFxcXFxcIlxcXCIsXFxcImZvbnRTaXplXFxcIjpcXFwiMTBwdFxcXCJ9LHtcXFwibmFtZVxcXCI6XFxcIkFkZWxhbnRlXFxcIixcXFwiYW5ub3RhdGlvblJ1bGVyXFxcIjpcXFwiI0UyRDJCMlxcXCIsXFxcImJhY2tncm91bmRcXFwiOlxcXCIjRjFFN0M4XFxcIixcXFwiY29tbWVudFxcXCI6XFxcIiM1RDc3NEVcXFwiLFxcXCJrZXl3b3JkXFxcIjpcXFwiI0FGNDczQlxcXCIsXFxcInRleHRcXFwiOlxcXCJkaW1ncmF5XFxcIixcXFwic3RyaW5nXFxcIjpcXFwiI0RFNUQzQlxcXCIsXFxcIm92ZXJ2aWV3UnVsZXJcXFwiOlxcXCIjRTJEMkIyXFxcIixcXFwibGluZU51bWJlck9kZFxcXCI6XFxcIiNBRjQ3M0JcXFwiLFxcXCJsaW5lTnVtYmVyRXZlblxcXCI6XFxcIiNBRjQ3M0JcXFwiLFxcXCJsaW5lTnVtYmVyXFxcIjpcXFwiI0FGNDczQlxcXCIsXFxcImN1cnJlbnRMaW5lXFxcIjpcXFwiIzllOTM3YlxcXCIsXFxcInRhZ1xcXCI6XFxcIiNBRjQ3M0JcXFwiLFxcXCJhdHRyaWJ1dGVcXFwiOlxcXCJjYWRldEJsdWVcXFwiLFxcXCJmb250RmFtaWx5XFxcIjpcXFwiXFxcXFxcXCJDb25zb2xhc1xcXFxcXFwiLCBcXFxcXFxcIk1vbmFjb1xcXFxcXFwiLCBcXFxcXFxcIlZlcmEgTW9ub1xcXFxcXFwiLCBcXFxcXFxcIm1vbm9zcGFjZVxcXFxcXFwiXFxcIixcXFwiZm9udFNpemVcXFwiOlxcXCIxMHB0XFxcIn0se1xcXCJuYW1lXFxcIjpcXFwiUmFzcGJlcnJ5IFBpXFxcIixcXFwiYW5ub3RhdGlvblJ1bGVyXFxcIjpcXFwic2Vhc2hlbGxcXFwiLFxcXCJiYWNrZ3JvdW5kXFxcIjpcXFwic2Vhc2hlbGxcXFwiLFxcXCJjb21tZW50XFxcIjpcXFwiIzY2QjMyRlxcXCIsXFxcImtleXdvcmRcXFwiOlxcXCIjRTczRTM2XFxcIixcXFwidGV4dFxcXCI6XFxcImRpbWdyYXlcXFwiLFxcXCJzdHJpbmdcXFwiOlxcXCJkYXJrb3JhbmdlXFxcIixcXFwib3ZlcnZpZXdSdWxlclxcXCI6XFxcInNlYXNoZWxsXFxcIixcXFwibGluZU51bWJlck9kZFxcXCI6XFxcIiNFNzNFMzZcXFwiLFxcXCJsaW5lTnVtYmVyRXZlblxcXCI6XFxcIiNFNzNFMzZcXFwiLFxcXCJsaW5lTnVtYmVyXFxcIjpcXFwiI0U3M0UzNlxcXCIsXFxcImN1cnJlbnRMaW5lXFxcIjpcXFwiI0Y1QjFBRVxcXCIsXFxcInRhZ1xcXCI6XFxcIiNFNzNFMzZcXFwiLFxcXCJhdHRyaWJ1dGVcXFwiOlxcXCJjYWRldEJsdWVcXFwiLFxcXCJmb250RmFtaWx5XFxcIjpcXFwiXFxcXFxcXCJDb25zb2xhc1xcXFxcXFwiLCBcXFxcXFxcIk1vbmFjb1xcXFxcXFwiLCBcXFxcXFxcIlZlcmEgTW9ub1xcXFxcXFwiLCBcXFxcXFxcIm1vbm9zcGFjZVxcXFxcXFwiXFxcIixcXFwiZm9udFNpemVcXFwiOlxcXCIxMHB0XFxcIn1dXCJ9Ig=="));

^ This sets your cached theme data to Orion 4.0 styles.
5. Reload the Orion page
6. You'll see a grey banner. This is the bug.
Comment 3 Mark Macdonald CLA 2014-02-14 16:51:44 EST
I added a version field to ThemeData. Just before the cached theme is applied, we check its version. If it does not match the current version, we overwrite the cached data with the current theme data. 

It seems to work fine. However, in the case where you do have stale theme info, there's a noticeable flicker that happens a moment after the page loads, as the styling corrects itself. It's not ideal.

See Comment 2 for instructions on how to test the patch. The expected behavior after the fix is that you get the white banner.

http://git.eclipse.org/c/orion/org.eclipse.orion.client.git/commit/?id=c1e0ea9
Comment 4 Mark Macdonald CLA 2014-02-18 18:04:53 EST
Adding reviewers. Silenio, let me know if you're too busy and I'll find an alternate.
Comment 5 Silenio Quarti CLA 2014-02-19 10:23:00 EST
Looks fine.
Comment 6 Mark Macdonald CLA 2014-02-19 17:08:02 EST
pushed to master

http://git.eclipse.org/c/orion/org.eclipse.orion.client.git/commit/?id=83fe546