We are picking up 'Contact 1' existing contact details via 'cid1' passed to the webform in the link emailed to users. Despite the checksum timeout set to 21 days (now set to 30) the webform stops picking up the contact after what seems to be only around 7-10 days. I've looked in the database at the settings table and 'checksum_timeout' entry is set to s:2:"30"; This particular system was set up in 2013 & looking at other systems they are all set to s:1:"7"; or very similar. Is the third character important? i.e. the '2' rather than the '1'? Users can still use autoselect to set 'Contact1' but this should keep working for 21 days. To debug I added the useful 'Contact Checksum UI' extension which shows the message 'The checksum expires after days' whereas for another system it shows 'The checksum expires after 7 days'. So definitely not picking up the checksum expiry correctly. How to fix...?
The fix was to delete the entry in the table 'Settings' for 'checksum_timeout' and then update the 'Misc' settings which recreated that table entry. I did test this idea first...! Now the 'Contact Checksum UI' has picked the timeout up OK so it's looking like there was something not right about that table entry - although I can't see any difference at all in the old and new table entries.