Elke release van de Online Dialogue QA Widget, nieuwste eerst — 31 in totaal. De huidige versie is v1.4.13.
Download v1.4.13
De release-notities blijven Engels, zodat de historie over versies heen vergelijkbaar blijft.
v1.4.13 nieuwste
- On a webshop, clicking a link that takes you to another page now shows that click in the Events tab. The event arrives just as the page begins to unload, and the widget held it for a fraction of a second before writing it away — long enough for the navigation to throw it out. Init events survived because they arrive seconds before the first navigation, which is exactly the difference that was reported. The widget now writes out what it has captured the moment the page is leaving. Found on a Bidfood page (VWO)
- It also picks up events added to the dataLayer in ways other than a plain push — set by index, or pushed through a reference taken before the widget hooked in. The widget only re-read the array when its own hook had been removed, so those events showed in the site's console but never in the tab. It now re-reads every round
- And a full session store no longer fails without a trace: with hundreds of events each carrying a copy of the dataLayer, storage could hit its limit and quietly stop saving. It now drops the oldest events and tries again, and says so in the console once
v1.4.12
- The panel keeps its styling on sites whose security policy forbids inline CSS. There the widget still appeared, but as unstyled text somewhere in the middle of the page instead of the green button in the corner — the same picture as the LinkedIn problem in 1.4.11, with an entirely different cause
- Its stylesheet now goes to the page in a form those policies allow, and the button's position is set property by property instead of in one style attribute, which is the part that was pushing the widget into the page flow
- This was the last known way for a client's security settings to break the widget. If you do run into a site where it looks wrong, the feedback tab is the fastest way to get it looked at
v1.4.11
- The widget works again on LinkedIn, and on any other site that rewrites what scripts put on the page. There the whole panel came out as plain text at the bottom of the window — first with the stylesheet visible along with it, and no error anywhere
- The widget's page code runs in the page's own world, which is how it can read window.convert, window.VWO and window.optimizely, and that also means it has to live with whatever the site does to its own scripts. LinkedIn rewrites the HTML a script inserts; other sites — accounts.google.com, a lot of banks — block it outright, which made the widget fail to start and retry every two seconds for as long as the page was open
- The panel is now built element by element on every site, which nothing can rewrite or block. A first attempt only did that where the widget could tell the normal route was broken, and LinkedIn slipped through: it accepted the small sample the widget tested with and then threw away the real panel, because what it allows depends on what you give it
- Known limitation: on a site whose policy forbids inline CSS the panel appears unstyled — structure is fine, styling is not. LinkedIn is not one of those
v1.4.9
- Two widgets no longer end up on the same page — the real test panel plus a stale "No tests targeting this page". When the widget upgrades its empty placeholder into the real panel it removes the placeholder, but on some sites the page's own code (or a VWO variant that restores the DOM from a snapshot) put the removed element straight back, and the widget only checked for a duplicate at the moment it mounted, never afterwards. It now watches the page and removes any old host the moment it reappears
- This is also what was behind the flakiness reported earlier and the tests that seemed to "disappear": the empty placeholder landed on top of the real panel. Found on a Sunnycars page, proven with a probe that watched the page for the re-insertion
- Also hardened against the widget's page script being injected twice, which was not the cause here but would produce the same doubling
v1.4.8
- On Convert the panel shows the real test name again for tests whose ID is not "letters then digits". Convert stopped putting the names in the page data last June, so the widget falls back to reading the banner comment in the variant code — and the pattern it used only matched forms like OD86. An ID with a dot (ID13.42, 1.6), one without digits (Game-popup) or without letters (398) fell through and you got "Test #12345" instead, with nothing on screen to tell you why
- Worse, and the reason this is a fix and not a nicety: ID343-v2 produced "v2" — a wrong name rather than a missing one. The pattern now takes whatever stands between the two separators before the word Variant, instead of prescribing what an ID should look like. Test IDs are made up by people and the convention differs per client
- Found in an audit, not in a report: both current Convert clients happen to use an ID that the old pattern did match
v1.4.7
- New: a ⧉ button in the panel header copies a diagnostics report to your clipboard — the widget version, the page URL, which tool was found, the tests as the panel sees them, and the widget's recent log lines. Paste it into a bug report and there is usually no need for follow-up questions. Nothing is sent anywhere; it goes to your clipboard
- The widget now says when it leaves an event out of the Events tab, and why — a shape it does not recognise, a duplicate from a second source, or a notice the tool repeats. Until now it logged everything it did and nothing it decided not to show, which is exactly the kind of problem you cannot report
- It also says when the search filter on the Variants tab is hiding tests (that filter is remembered per site, so it survives a reload), and when Apply, Reset or switching the widget off clears the Events list
v1.4.6
- On Optimizely you now see it again when a campaign is applied on another page of a single-page app. Its "campaign decided" notice is repeated by the tool itself, so the widget showed it once — but that also hid the repeat on a new page, which is real information rather than noise
- Under the hood the two reasons for hiding a duplicate event now have separate names, because one has to let repeats through and the other has to stop them. Sharing a single name for both is what made a second click disappear in the previous version
v1.4.5
- Clicking the same button twice now shows two events in the Events tab instead of one. Some sites put the same event in two places at once, and the widget filtered the second copy out by comparing the contents — which also removed a second, genuine click, because those look identical. It now counts per source, so the list shows as many as the busiest single source reported. Noticed on a Transavia page where the console showed every click and the tab showed one
v1.4.4
- A forced Convert variant no longer disappears when you navigate inside a single-page app. Some routers strip query parameters they do not recognise, and the widget guarded against that by intercepting the navigation — but on sites where another script owns that part of the browser, the guard was never called. The widget now also checks afterwards whether the parameter has gone and puts it back, which does not depend on winning that race. If a site keeps removing it, the widget stops after three tries and says so in the console
v1.4.3
- On Convert the variant list now follows a page change inside a single-page app. It only watched Convert's own state, and that state does not change when you move to a page a test no longer targets — so the list kept showing tests that were not running there. After ten seconds it stopped watching altogether, so from then on every in-page navigation was missed. VWO and Optimizely already did this since 1.4.0
v1.4.2
- Switching the widget off now also stops it looking for tests. It already released the forced variant and stopped capturing events, but it kept detecting on every page you visited — evaluating the client's own targeting code and building a panel it then hid. Switching it back on starts the search again, and the panel now appears once the testing tool has been found rather than a moment before
- The console no longer prints another search round after saying it has stopped searching. That round had already started; only the message came first
v1.4.1
- The panel can now be used with the keyboard. The tabs, the event type filters and the event rows could only be clicked, Escape did nothing, and choosing a variant lost your place in the list because the list is rebuilt after every choice. There is now a focus outline too, which only appears when you navigate by keyboard
- On a page where the testing tool is running but no test targets that URL, the widget now stops searching after a minute instead of re-checking every two seconds for as long as the page is open. On Convert each of those rounds ran the client's own targeting code and briefly disabled six of Convert's methods, so this was repeating on most pages of most sites. It starts looking again when the URL changes or when you come back to the tab
- Event capture now stops on the testing tools' own dashboards and when you switch the widget off, and gives the site its own dataLayer.push back. It used to keep reading along in both cases
- Removed a check that was meant to stop a stored Optimizely force from being reapplied while the widget is off. It could never run, because the extension does not yet know whether it is switched off at the moment that force is restored. The stored force is now cleared as soon as that is known, so the next page load is clean
v1.4.0
- The widget now notices page changes inside single-page apps that it used to miss entirely. It was relying on hooking into the browser history, and on some sites another script gets there first — the hook stays in place but is never called, so variants were not re-checked after an in-page navigation. It now uses the browser's own navigation events, which cannot be bypassed that way
- That detection moved into the shared core instead of living twice in the adapters
v1.3.10
- The widget no longer creates a dataLayer on sites that do not have one. It was adding a global variable the site never had, and some scripts check whether it exists to decide how to initialise
- A console message said "Reset" when you had actually switched the widget off, and it came from an adapter for a tool that was not even running on the page
v1.3.9
- The widget now cleans up after itself when it replaces its own empty state. Watchers, page-navigation listeners and Optimizely's event hooks were being set up a second time, which made every in-page navigation do double work and showed Optimizely track events twice in the Events tab
- It no longer leaves a marker on the browser's own history object, and the navigation hook is installed once per page instead of once per widget
v1.3.8
- Turning the widget off now actually reloads the page on VWO and Optimizely. It was asking whether anything had been forced only after clearing it, so the answer was always no and the reload never happened — you kept looking at the forced variant with no widget left to change it
- A tracking event that refers back to itself no longer breaks the Events tab, stops events from being saved, or throws an error into the client site's own error monitoring. Payloads are now captured as text the moment they arrive
- On sites with a two-part domain ending such as .co.uk, forcing a VWO variant now writes to the domain VWO actually reads. It was creating a second cookie that hid VWO's own one, so the panel could report a variant you had not been given
- Pressing Apply on an Optimizely page with no active campaign no longer leaves the widget believing a variant is forced ever after
- Clearer wording about what turning the widget off does and does not do: it releases the widget's own force, but the testing tool's own record of your variant stays — use Reset for that
v1.3.7
- On VWO the widget now knows which variants it forced itself. Its force cookie is also the cookie VWO stores its own bucketing in, so everything that read it was answering the wrong question
- A variant you are simply bucketed into no longer shows the "forced via QA" badge — that badge was on every variant, always
- Reset on a VWO page where you forced nothing no longer throws away your bucketing and drops you in a different variant
- Turning the widget off no longer reloads every VWO page you are bucketed on, which is what it had been doing regardless of whether anything was being forced
v1.3.6
- Fixed a panel that sometimes opened with a correctly styled header above a completely unstyled variant list, most often on VWO. When the widget replaces its own empty state after a tool shows up late, it builds a fresh panel — and the variant styles were only ever written into the first one
v1.3.5
- The note after a Reset now also appears on VWO. It was tied to whether a tool needed its bucketing cleared separately, and VWO does not — its force cookie is its bucketing store — so the note stayed away even though you are re-bucketed there just the same
- Resetting a page where nothing was being forced no longer claims you were re-bucketed
v1.3.4
- Installation now covers allowing the extension in incognito. Chrome keeps extensions out of incognito windows unless you turn that on, so the widget would not appear in the very place you are told to do your QA
- The note after a Reset is down to one line about being re-bucketed at random — the point being that on a 50/50 test the variant looks unchanged half the time, which reads like a broken button
v1.3.3
- Reset now works on Optimizely too. It only cleared the widget’s own override there, so the badge stopped saying "forced" while the variant itself stayed put — Optimizely keeps its decision in its own storage, and that is now cleared as well
v1.3.2
- One press of Reset is now enough: the bucketing is cleared as the next page starts loading, before the testing tool runs. Clearing it earlier let the tool write its state straight back, so the first Reset appeared to do nothing and only a second one worked
v1.3.1
- Reset now also clears the testing tool’s own bucketing, so a forced variant no longer sticks around after resetting — the panel tells you when this happened and that you were re-bucketed at random
- Clearing a cookie now works when the tool set it on the parent domain, which is where Convert and VWO put theirs
- Turning the widget off deliberately leaves bucketing alone: it releases the force without making you a new visitor in the test data
v1.3.0
- Detection now looks for which tool has active tests, not just which tools are on the page — a site with a leftover snippet from an old tool no longer misleads it
- On a site with more than one testing tool and no active tests, the panel no longer claims which tool it is; with a single tool it still names it
- A tool that turns out to have active tests takes over from one that does not
v1.2.6
- Reset now works on links that already carried the force parameter twice
- Turning the widget off no longer reloads pages where nothing was being forced, and it now also releases VWO cookies and Optimizely overrides instead of only Convert URL parameters
- The widget no longer appears on the testing tools’ own dashboards
- The panel picks whichever side has more room instead of always flipping below the button
- The QA cookie toggle can be operated with the keyboard
v1.2.5
- The "?" button now opens this page instead of a login-protected one
- While no tool has been detected the panel says "Searching…" instead of naming a tool it has not found
- VWO traffic percentages are read correctly — a 1% split was shown as 100%
- When a targeting rule cannot be evaluated on a page, the test is listed with a warning instead of silently disappearing
v1.2.4
- A hiccup while reading variant data no longer leaves the panel silently empty — it shows what went wrong and keeps updating
- Bucketing and SPA navigation updates no longer stop after a single unexpected error
- Corrupted saved state is now ignored instead of breaking the panel
v1.2.3
- The widget now keeps looking for an A/B testing tool instead of giving up after two seconds — it picks up tools that load after a consent banner
- Turning the widget off now releases any forced variant instead of only hiding the panel, so the page goes back to normal behaviour
- The panel opens below the button when there is no room above it, and a saved position from a larger screen no longer puts the widget off-screen
v1.2.2
- Fixed Reset and Apply on URLs with a #fragment: the force parameter was not being removed, so Reset did nothing and switching variants twice showed the previous one
- Tracking events are no longer lost when a tag manager replaces dataLayer.push after the widget has started
- Dropped the unused activeTab and scripting permissions — the extension now only asks for storage
v1.2.1
- The zip now unpacks to a fixed folder name, so updating no longer changes the folder path Chrome loads the extension from
- Reinstalling on top of an older version no longer risks a duplicate entry in chrome://extensions
v1.2.0
- Rebuilt as a Chrome extension (previously a Tampermonkey userscript)
- Auto-detects the A/B testing tool — no more per-client URL list
- Popup with on/off toggle and incognito reminder
- Badge on the extension icon shows OFF when the widget is disabled
- Draggable on mobile via pointer events (mouse, touch and pen)
- Works inside React Aria modals and native fullscreen
- Detection timeout lowered to 2 seconds for faster empty-state feedback