diff --git a/Signal/Signal-Info.plist b/Signal/Signal-Info.plist
index 6e3258591..fa3e63b11 100644
--- a/Signal/Signal-Info.plist
+++ b/Signal/Signal-Info.plist
@@ -38,7 +38,7 @@
CFBundleVersion
- 2.5.0.17
+ 2.5.0.18
ITSAppUsesNonExemptEncryption
LOGS_EMAIL
diff --git a/Signal/src/views/OWSDeviceTableViewCell.m b/Signal/src/views/OWSDeviceTableViewCell.m
index 350cbe71a..b1daa05c3 100644
--- a/Signal/src/views/OWSDeviceTableViewCell.m
+++ b/Signal/src/views/OWSDeviceTableViewCell.m
@@ -18,8 +18,19 @@ NS_ASSUME_NONNULL_BEGIN
NSString *lastSeenFormatString = NSLocalizedString(
@"DEVICE_LAST_ACTIVE_AT_LABEL", @"{{Short Date}} when device last communicated with Signal Server.");
+
+ NSDate *displayedLastSeenAt;
+ // lastSeenAt is stored at day granularity. At midnight UTC.
+ // Making it likely that when you first link a device it will
+ // be "last seen" the day before it was created, which looks broken.
+ if ([device.lastSeenAt compare:device.createdAt] == NSOrderedDescending) {
+ displayedLastSeenAt = device.lastSeenAt;
+ } else {
+ displayedLastSeenAt = device.createdAt;
+ }
+
self.lastSeenLabel.text =
- [NSString stringWithFormat:lastSeenFormatString, [DateUtil.dateFormatter stringFromDate:device.createdAt]];
+ [NSString stringWithFormat:lastSeenFormatString, [DateUtil.dateFormatter stringFromDate:displayedLastSeenAt]];
}
@end