Hi John... actually this is purpose built and when this question came up for me before, my colleague Josh Richau was able to explain more detail about how our activity stream parses or does not parse unopened HTML link. Here was his reply:
Within the stream we strip all html because we don't know what kind of html it is, if we broke between html tags it could end up messing up the whole stream. When they open it up with the plus ( + ), we render the full content.
Hope this helps but Josh might be able to further explain as well.
Josh Richau can you look at the grabs and explain for this use case? How does a user know this is actually a link to possibly be explored - particularly if I had not typed "I'm answering this here..." and had just had the 'link' "Not as good as Yammer".
I'm at a bit of a loss as to why on some 'grey backgrounds' you show the link and on others you dont
I'm a bit late here to explain - but let me do so.
You've got 3 screen grabs above:
1) shows the plus, does not show the link
Here we do not know the extent of the content, we intentionally show a small snippet and we remove all html from it. We do not parse the entry to understand that it is both short and contains one simple link
2) you have hit the plus
Now we show the entire content - we don't know if it is one line or 100 because we are not parsing the entire entry - we don;t know if this will take up 3 virtual pages in your stream, but since you asked to see the whole thing, we show it
3) you have hit "show more"
Again, we did not parse the entry so we have no idea how much space it will take up, but since you said "show more" we are assuming you want to read it in its entirety (we once again do not know if it is 1 line or 100)
So essentially, we don't parse entries to see how well they would display, we instead "snippet" them by removing html tags to avoid screwing up the rendering of the rest of the stream. Once you say "plus" or "show more" we give you the whole thing, sometime it is short sometimes is takes up pages in your browser.
The solution here is to parse these entries and figure out what could be displayed safely but we have yet to tackle that technical hurdle (though I want us to especially for the degenerate case you are displaying here where it would be relatively easy to detect that what we have is some text and a link).
Hope that makes sense.