The getVisible callback has no effect on Tabs with idMso when startFromScratch=true. Bug?

This is another issue that I bumped into when startFromScratch is set to true. What I wanted to do was to show/hide tabs based on Message Class. If my Message Class was IPM.Note.Custom then I wanted to just show the “My Tab” otherwise I wanted to show the “TabReadMessage”.

Why did I set the startFromScratch to true? I had to customize the Quick Access Toolbar(QAT) also. Below is what my Ribbon XML looks like:

 <?xml version="1.0" encoding="utf-8" ?>
<customUI xmlns="https://schemas.microsoft.com/office/2006/01/customui">
  <ribbon startFromScratch="true">
    <tabs>
      <tab id="MyTab" label="My Tab" getVisible="MyTab_OnGetVisible">
      </tab>
      <tab idMso="TabReadMessage" getVisible="TabReadMessage_OnGetVisible">
      </tab>
    </tabs>
  </ribbon>
</customUI>

When I opened a message with the IPM.Note.Custom message class, my callbacks(MyTab_OnGetVisible,TabReadMessage_OnGetVisible) fire and I return True from the MyTab_OnGetVisible callback and False from the TabReadMessage_OnGetVisible callback. Things are good this point.

 

Now I open a message with the IPM.Note(regular mail message) message class, my callbacks fire and I return False from the MyTab_OnGetVisible callback and True from the TabReadMessage_OnGetVisible callback and expect to the “My Tab” hidden and the “TabReadMessage” visible.. Right?

 

To my surprise, the callbacks fires just fine but the “True” that I return from the TabReadMessage_OnGetVisible callback has no effect on the visibility of the tab and I am left with no tabs on the screen. Bug?

From what I know this bug has been fixed in Office 14 and a fix for Office 12 has been requested for.