~Profile parsing did cross my mind, but what made me feel okay about it was that I noticed in the SMF code that non-datetime text was already possible for that field before this patch (the text "Never" can be displayed there, too), so I guessed that you must already have made your parser(s) robust against non-datetimes.
All good man, no apology necessary!
Should be an easy workaround (once I get my development machine in order), although with potentially ~3 days of inaccuracy. I'm not sure what you would consider a more robust way to process that field but we basically have specific conditions to deal with Never & Today, to convert them to datetime.. just not (Recently),
yet..
So if I monitor a profile that was last active more than 3 days ago, and it's status switches to "(Recently)", I know it's became active right at that moment.
Well, you know it's become active at some point between
that moment, and the last time you scraped the profile.
I never took the "show online status" as being directly related to the last active date, so 72 hours feels extreme when the default session time is 1 hour for a logged in "online" user. Maybe 8-12 hours for (Recently)?
I feel like 'Last Active' should
at least be accurate to the
day they were last active to prevent someone disappearing for 3 days while victims think they are active.
And then what is displayed
after 3 days of inactivity?.. the day/time they were
actually last active, or 72 hours after the actual last active point?