Sponsoring The Perl Toolchain Summit 2025: Help make this important event another success Learn more

The Trouble with Datetimes in Synergy
When Synergy reports datetimes it is supposed to format them according
to the setting of the environment variable CCM_DATETIME_FMT. But sometimes
it doesn't work. The reason is that for some datetime items, Synergy
transmits them in internal representation from the engine to the client
where they are correctly formatted according to CCM_DATETIME_FMT.
Other items are already formatted by the engine and only this
external string represenation is transmitted to the client. Actually,
the difference in datetime handling is not dependent on what the item is,
but how you ask for it: e.g.
ccm query -f %create_time ...
Here create_time is formatted by the engine while for
ccm attr -s create_time ...
it's formatted by the client Both methods will only yield identical results
if the setting of CCM_DATETIME_FMT is propagated from the client to
the engine at the start of the session. Unfortunately this depends
on your method to start the engine. It works correctly for an engine
started locally (i.e. client and engine on the same (Unix) host) as
well for remote engines started in the "classical" way (i.e. using
rsh for Unix to Unix and rexec for Windows to Unix). It fails when
using the Engine Startup Daemon (ESD) introduced in Synergy 6.2.
This is a known bug that Telelogic is unwilling to fix.
Here is an incomplete list of ccm commands and whether they print timestamps
formatted by the engine or the client:
query engine
properties engine
history engine
ls engine
attribute -show client
In addition, there's a problem with timezones. Synergy reports all
datetimes as local times. Depending on whether the client or the engine
converts datetimes from internal represenation it may come out differently
if client and engine are in different timezones.