Repository navigation
Release 3.0.50 - #89
Merged
Merged
Conversation
Bumps the version and records what landed after 3.0.49. The beacon now notices a send that did not arrive (#87), carried on the next envelope as sfail, and says which windows the sampler chose, as sr and sw, so a consumer predicting an installation's cadence reads the constants instead of hardcoding them. And it takes an audience's counts off a response the caller already asked for (#88): observeList() mirrors observeRoot(), passive, on the lists/{id} response the statistics job reads every twelve hours. getLists() gains include_total_contacts, which is the only figure the payload cannot yield by arithmetic. Carries one line from the review of #88 that was not worth its own release: the single-audience guard now cuts the query string before splitting the path, the way harvest() does immediately below it. No caller builds a path that needs it, so this changes nothing observable -- but a guard that reads a path differently from the function beside it is a trap for whoever changes either one.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Version bump and changelog, plus one line from the review of #88.
What it releases
#87 — the beacon notices a send that did not arrive.
post()discardedcurl_exec()'s return and never read the status, so three different failures were indistinguishable from delivery — from inside the library, which is the only place they can be seen at all. Carried on the next envelope assfail, a running total per process: take the maximum, never a sum.It has already earned itself. It read 5 of 10 on a box where nothing was known to be failing, which turned the web-lane fence from a suspicion into a measurement — and after the receiver-side fix that followed, the same probe reads 0 of 10.
Same PR carries
srandsw, the sampler's constants, on the lane the sampler governs. A consumer predicting which windows an installation should have reported in could previously only hardcode them, so changing either here would have made every modelled installation look like it had stopped reporting.#88 — per-audience counts, passively.
observeList()mirrorsobserveRoot()on thelists/{id}response the statistics job already reads every twelve hours. Measured: the same eight calls with the change as without, and nineteen more bytes downloaded.getLists()gainsinclude_total_contacts— the billable figure, and the one the payload cannot yield by arithmetic, sincemember_count + unsubscribe_countomits non-subscribed contacts and those are most of an ecommerce audience. Absent is left null rather than derived.The one line that is not just version and changelog
The single-audience guard now cuts the query string before splitting the path, the way
harvest()does immediately below it. Raised in review of #88 as a false negative that no current caller can reach —getLists()builds'lists/'.$idwith nothing after — so this changes nothing observable. It is here because a guard that reads a path differently from the function beside it is a trap for whoever changes either one, and the release PR was already touching the file.Verified across the path set:
tools/no-deprecated-calls.php: 64 files, 0 findings.Note for the extension side
include_total_contactsdoes nothing until a caller asks for it. That is mc-magento2, PR 2365 — one argument atGenerateStatistics.php:195, open againstdevelop-2.4. Until it lands, this ships the three counts that are not the billable figure and omits the one that is.