Fixed time offsets
This commit is contained in:
parent
fae8e2ae5a
commit
0e658af1e3
@ -160,14 +160,9 @@ angular.module('izhukov.mtproto', ['izhukov.utils'])
|
|||||||
return changed;
|
return changed;
|
||||||
};
|
};
|
||||||
|
|
||||||
function getTimeOffset () {
|
|
||||||
return timeOffset;
|
|
||||||
};
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
generateID: generateMessageID,
|
generateID: generateMessageID,
|
||||||
applyServerTime: applyServerTime,
|
applyServerTime: applyServerTime,
|
||||||
getTimeOffset: getTimeOffset
|
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -673,7 +673,7 @@ angular.module('myApp.services', [])
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
.service('AppMessagesManager', function ($q, $rootScope, $location, $filter, ApiUpdatesManager, AppUsersManager, AppChatsManager, AppPeersManager, AppPhotosManager, AppVideoManager, AppDocsManager, AppAudioManager, MtpApiManager, MtpApiFileManager, MtpTimeManager, RichTextProcessor, NotificationsManager, SearchIndexManager) {
|
.service('AppMessagesManager', function ($q, $rootScope, $location, $filter, ApiUpdatesManager, AppUsersManager, AppChatsManager, AppPeersManager, AppPhotosManager, AppVideoManager, AppDocsManager, AppAudioManager, MtpApiManager, MtpApiFileManager, RichTextProcessor, NotificationsManager, SearchIndexManager, Storage) {
|
||||||
|
|
||||||
var messagesStorage = {};
|
var messagesStorage = {};
|
||||||
var messagesForHistory = {};
|
var messagesForHistory = {};
|
||||||
@ -692,12 +692,18 @@ angular.module('myApp.services', [])
|
|||||||
var lastSearchFilter = {},
|
var lastSearchFilter = {},
|
||||||
lastSearchResults = [];
|
lastSearchResults = [];
|
||||||
|
|
||||||
var serverTimeOffset = MtpTimeManager.getTimeOffset(),
|
var serverTimeOffset = 0,
|
||||||
timestampNow = tsNow(true),
|
timestampNow = tsNow(true),
|
||||||
midnightNoOffset = timestampNow - (timestampNow % 86400),
|
midnightNoOffset = timestampNow - (timestampNow % 86400),
|
||||||
midnightOffseted = new Date(),
|
midnightOffseted = new Date(),
|
||||||
midnightOffset;
|
midnightOffset;
|
||||||
|
|
||||||
|
Storage.get('server_time_offset').then(function (to) {
|
||||||
|
if (to) {
|
||||||
|
serverTimeOffset = to;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
midnightOffseted.setHours(0);
|
midnightOffseted.setHours(0);
|
||||||
midnightOffseted.setMinutes(0);
|
midnightOffseted.setMinutes(0);
|
||||||
midnightOffseted.setSeconds(0);
|
midnightOffseted.setSeconds(0);
|
||||||
@ -1190,6 +1196,8 @@ angular.module('myApp.services', [])
|
|||||||
angular.forEach(apiMessages, function (apiMessage) {
|
angular.forEach(apiMessages, function (apiMessage) {
|
||||||
messagesStorage[apiMessage.id] = apiMessage;
|
messagesStorage[apiMessage.id] = apiMessage;
|
||||||
|
|
||||||
|
apiMessage.date -= serverTimeOffset;
|
||||||
|
|
||||||
if (apiMessage.media && apiMessage.media._ == 'messageMediaPhoto') {
|
if (apiMessage.media && apiMessage.media._ == 'messageMediaPhoto') {
|
||||||
AppPhotosManager.savePhoto(apiMessage.media.photo);
|
AppPhotosManager.savePhoto(apiMessage.media.photo);
|
||||||
}
|
}
|
||||||
@ -1228,7 +1236,7 @@ angular.module('myApp.services', [])
|
|||||||
to_id: AppPeersManager.getOutputPeer(peerID),
|
to_id: AppPeersManager.getOutputPeer(peerID),
|
||||||
out: true,
|
out: true,
|
||||||
unread: true,
|
unread: true,
|
||||||
date: tsNow() / 1000,
|
date: tsNow(true) + serverTimeOffset,
|
||||||
message: text,
|
message: text,
|
||||||
media: {_: 'messageMediaEmpty'},
|
media: {_: 'messageMediaEmpty'},
|
||||||
random_id: randomIDS,
|
random_id: randomIDS,
|
||||||
@ -1352,7 +1360,7 @@ angular.module('myApp.services', [])
|
|||||||
to_id: AppPeersManager.getOutputPeer(peerID),
|
to_id: AppPeersManager.getOutputPeer(peerID),
|
||||||
out: true,
|
out: true,
|
||||||
unread: true,
|
unread: true,
|
||||||
date: tsNow() / 1000,
|
date: tsNow(true) + serverTimeOffset,
|
||||||
message: '',
|
message: '',
|
||||||
media: media,
|
media: media,
|
||||||
random_id: randomIDS,
|
random_id: randomIDS,
|
||||||
@ -1493,7 +1501,7 @@ angular.module('myApp.services', [])
|
|||||||
to_id: AppPeersManager.getOutputPeer(peerID),
|
to_id: AppPeersManager.getOutputPeer(peerID),
|
||||||
out: true,
|
out: true,
|
||||||
unread: true,
|
unread: true,
|
||||||
date: tsNow() / 1000,
|
date: tsNow(true) + serverTimeOffset,
|
||||||
message: '',
|
message: '',
|
||||||
media: media,
|
media: media,
|
||||||
random_id: randomIDS,
|
random_id: randomIDS,
|
||||||
@ -1939,9 +1947,6 @@ angular.module('myApp.services', [])
|
|||||||
historyStorage = historiesStorage[peerID] = {count: null, history: [message.id], pending: []};
|
historyStorage = historiesStorage[peerID] = {count: null, history: [message.id], pending: []};
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fix time offset
|
|
||||||
message.date -= serverTimeOffset;
|
|
||||||
|
|
||||||
saveMessages([message]);
|
saveMessages([message]);
|
||||||
|
|
||||||
if (historyStorage.count !== null) {
|
if (historyStorage.count !== null) {
|
||||||
@ -3233,7 +3238,6 @@ angular.module('myApp.services', [])
|
|||||||
|
|
||||||
var notificationsUiSupport = 'Notification' in window;
|
var notificationsUiSupport = 'Notification' in window;
|
||||||
var notificationsShown = {};
|
var notificationsShown = {};
|
||||||
// var lastClosed = [];
|
|
||||||
var notificationIndex = 0;
|
var notificationIndex = 0;
|
||||||
var notificationsCount = 0;
|
var notificationsCount = 0;
|
||||||
var peerSettings = {};
|
var peerSettings = {};
|
||||||
@ -3428,7 +3432,6 @@ angular.module('myApp.services', [])
|
|||||||
|
|
||||||
notification.onclose = function () {
|
notification.onclose = function () {
|
||||||
delete notificationsShown[key];
|
delete notificationsShown[key];
|
||||||
// lastClosed.push(tsNow());
|
|
||||||
notificationsClear();
|
notificationsClear();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user