Skip to content

Release 3.0.51

Choose a tag to compare

@gonzaloebiz gonzaloebiz released this 14 Sep 20:48
a9041c9

Implemented enhancements

  • Observe the audience collection, not just one audience (#91) — observeList() kept only the first audience a process saw. An installation with several store views described one of them, and nothing said how many existed. Coverage was a tautology — audiences we hold over audiences we hold — so the question that matters, whether an audience nobody looked at has changed, could not be asked.

    The audience collection answers both halves in one response: it carries the account-wide count and each audience's own counts. Nothing new is requested — the collection is already fetched when the admin offers the audience dropdown.

    The roster is keyed by audience id, so a later reading completes an earlier one rather than replacing it, and a repeated id is impossible by construction. Envelope keys: la (the roster, each entry carrying mem/uns/cln/tot) and lac (the account-wide count).

    lac is never capped. A truncated roster beside an intact count still answers the coverage question; losing the count loses the only figure nothing else can supply. The roster itself is bounded twice — at 12 entries and at 4096 serialised bytes — and trimmed one entry at a time, so the bound costs the fewest audiences that satisfy it.

  • Observe the account's billing arrangement (#90) — pricing_plan_type sits on the account root response beside the four fields already read there, and separates an account that pays for a plan from one that pays nothing. Kept as the string the API returns rather than mapped to a fixed set, so a value not seen before arrives intact instead of collapsing into a default.

    It is not the plan tier. Nothing on that response distinguishes the tiers, and the docblock says so, because that is the misreading the field invites.

Both are passive: no additional Mailchimp API call, no quota spent, and nothing added to any request.

Note for extension authors

lac arrives from the collection read only. An extension that never lists audiences reports the roster it built from single-audience reads and no account-wide count — which is the state this release exists to make visible, not a failure.