Several days ago to a week or two ago, I began experiencing the odd issue of seeing my posts being duplicated on LinkedIn.
Even more bizarre, was that my Twitter posts were being duplicated as well, and since I linked my Twitter account to my Facebook account, these duplicated posts were appearing on Facebook. The LinkedIn postings were being duplicated, like so:
Since my LinkedIn updates were being sent to Twitter, the first thing I did was to disable sharing of my LinkedIn updates to Twitter, and that stopped the Twitter and Facebook duplicates.
After several days of having the duplication problem, I started thinking that LinkedIn had a problem, and I created a support case with LinkedIn
.
LinkedIn Support was professional, however, they couldn't reproduce the issue.
At LinkedIn Support's suggestion, I switched browsers to Chrome and an older version of Firefox, and the duplicate postings didn't occur. This made me suspect that the Firefox Nightly I was using had a problem.
It's time to call in the tools! I used Fiddler, the HTTP Debugging Proxy, written by Eric Lawrence. Fiddler2 is a tool that can monitor all HTTP traffic sent by any browser, or any process.
One of the things I looked for was the HTTP traffic generated, when I posted.
Fiddler shows that the older Firefox browser sent a HTTP POST. When I used the Nightly version, Firefox sent 2 HTTP POSTs. So, the bug was definitely caused by Firefox Nightly.
Shortly after I discovered this issue, the Mozilla team fixed the Firefox Nightly browser, and I'm back to using it again.
In 2017, with the release of Delphi 10.2 Tokyo, Embarcadero introduced a specialized implementation of the Observer pattern into the System.Classes unit. While it has been in the wild for 9 years, it remains a "hidden" architecture for many, primarily because it serves as the invisible engine behind LiveBindings. Other than live bindings, you can also use the Observer pattern as a way to update component settings to the Windows registry, an .ini file, or persist it elsewhere.
System.Classes