Skip to main content

v1.3.0 – v1.3.1

· 2 min read
Konstantin Brazhnik
Senior Full Stack Engineer @ Yoko Co

Adds a trace that records what happens during an AMS sign-in or a profile form submission, so a member who ends up somewhere unexpected leaves something to look at. Also stops a paged read that a misbehaving tenant could keep going forever.

Covers 1.3.0 and 1.3.1.

Adds​

  • A trace of AMS sign-ins and profile submissions. Start it from AMS Connect → SSO Trace, from wp amsc trace arm, or by adding define( 'AMSC_TRACE', true ); to wp-config.php on a host with no command line. The screen updates itself while a recording is running.
  • [RE:MEMBERS] Every call the plugin makes to re:Members is recorded while a trace is running, with the response status, how long it took and how much came back — so "was it us, was it them, and was it slow" has an answer.
  • Gravity Forms profile submissions are recorded too: the form, feed and entry, every field that was sent and its value, and what each individual write came back with.

Fixes​

  • [RE:MEMBERS] The country list is no longer requested over and over. On a tenant that answers every page of a list with the same results, the code reading it had no way to tell it had reached the end, and kept asking — one site was seen past page 540, spending its API allowance on a list of about 250 countries. Committee and custom field lists were read the same way and had the same fault.
  • [RE:MEMBERS] A country list that cannot be retrieved is remembered as unavailable for a few minutes. Only a successful read used to be remembered, so a tenant that could not answer was asked again by every single page view.

Changes​

  • Nothing is recorded unless somebody switches the trace on, and a recording started from the screen or the command line stops on its own. Sign-in tokens are never written down, in a URL or anywhere else, and a successful response body — which is the member's own record — is never stored.
  • On the SSO Trace screen, one control is offered at a time: start a recording, stop the one that is running, or discard what a finished one left behind.