mirror of
https://github.com/MrUnknownDE/VRCX.git
synced 2026-05-07 06:56:04 +02:00
Fix feed offline/online not working most of the time
This commit is contained in:
+40
-34
@@ -5149,6 +5149,38 @@ speechSynthesis.getVoices();
|
|||||||
removeFromArray(this.friendsGroup3_, ctx);
|
removeFromArray(this.friendsGroup3_, ctx);
|
||||||
removeFromArray(this.friendsGroupD_, ctx);
|
removeFromArray(this.friendsGroupD_, ctx);
|
||||||
}
|
}
|
||||||
|
if (typeof ctx.ref !== 'undefined') {
|
||||||
|
if ((ctx.ref.$offline_for === '') &&
|
||||||
|
((state === 'offline') || (state === 'active')) &&
|
||||||
|
(ctx.state === 'online')) {
|
||||||
|
ctx.ref.$online_for = '';
|
||||||
|
ctx.ref.$offline_for = Date.now();
|
||||||
|
if (ctx.state === 'online') {
|
||||||
|
var ts = Date.now();
|
||||||
|
var time = ts - ctx.ref.$location_at;
|
||||||
|
this.addFeed('Offline', ctx.ref, {
|
||||||
|
location: (ctx.ref.location === 'offline') ? '' : ctx.ref.location,
|
||||||
|
time: time
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ((state === 'online')) {
|
||||||
|
ctx.ref.$location_at = Date.now();
|
||||||
|
ctx.ref.$online_for = Date.now();
|
||||||
|
ctx.ref.$offline_for = '';
|
||||||
|
API.getUser({
|
||||||
|
userId: id
|
||||||
|
}).then((args) => {
|
||||||
|
this.addFeed('Online', args.ref, {
|
||||||
|
location: args.ref.location
|
||||||
|
});
|
||||||
|
}).catch(() => {
|
||||||
|
this.addFeed('Online', ctx.ref, {
|
||||||
|
location: ctx.ref.location
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
// changing property triggers Vue
|
// changing property triggers Vue
|
||||||
// so, we need compare and set
|
// so, we need compare and set
|
||||||
if (ctx.state !== state) {
|
if (ctx.state !== state) {
|
||||||
@@ -5184,23 +5216,6 @@ speechSynthesis.getVoices();
|
|||||||
this.friendsGroup3_.push(ctx);
|
this.friendsGroup3_.push(ctx);
|
||||||
this.friendsGroupD_.unshift(ctx);
|
this.friendsGroupD_.unshift(ctx);
|
||||||
}
|
}
|
||||||
if (typeof ctx.ref !== 'undefined') {
|
|
||||||
if ((ctx.ref.$offline_for === '') &&
|
|
||||||
((ctx.state === 'offline') && ctx.ref.state === '') ||
|
|
||||||
(((ctx.state === 'offline') || (ctx.state === 'active')) &&
|
|
||||||
((ctx.ref.state === 'online')))) {
|
|
||||||
ctx.ref.$online_for = '';
|
|
||||||
ctx.ref.$offline_for = Date.now();
|
|
||||||
}
|
|
||||||
if (ctx.state === 'online') {
|
|
||||||
ctx.ref.$location_at = Date.now();
|
|
||||||
ctx.ref.$online_for = Date.now();
|
|
||||||
ctx.ref.$offline_for = '';
|
|
||||||
API.getUser({
|
|
||||||
userId: id
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -5478,25 +5493,16 @@ speechSynthesis.getVoices();
|
|||||||
if ($app.friends.has(ref.id) === false) {
|
if ($app.friends.has(ref.id) === false) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (props.location) {
|
if ((props.location) &&
|
||||||
if (props.location[0] === 'offline') {
|
(props.location[0] !== 'offline') &&
|
||||||
$app.addFeed('Offline', ref, {
|
(props.location[1] !== 'offline')) {
|
||||||
location: props.location[1],
|
$app.addFeed('GPS', ref, {
|
||||||
time: props.location[2]
|
location: [
|
||||||
});
|
props.location[0],
|
||||||
} else if (props.location[1] === 'offline') {
|
|
||||||
$app.addFeed('Online', ref, {
|
|
||||||
location: props.location[0]
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
$app.addFeed('GPS', ref, {
|
|
||||||
location: [
|
|
||||||
props.location[0],
|
|
||||||
props.location[1]
|
props.location[1]
|
||||||
],
|
],
|
||||||
time: props.location[2]
|
time: props.location[2]
|
||||||
});
|
});
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (props.currentAvatarImageUrl ||
|
if (props.currentAvatarImageUrl ||
|
||||||
props.currentAvatarThumbnailImageUrl) {
|
props.currentAvatarThumbnailImageUrl) {
|
||||||
|
|||||||
Reference in New Issue
Block a user