mirror of
https://github.com/MrUnknownDE/VRCX.git
synced 2026-04-11 19:03:51 +02:00
Woah, another user state bug
This commit is contained in:
@@ -329,8 +329,13 @@ speechSynthesis.getVoices();
|
||||
console.error('API.$on(USER) invalid args', args);
|
||||
return;
|
||||
}
|
||||
$app.updateFriend({ id: args.json.id, state: args.json.state }); // online/offline
|
||||
args.ref = this.applyUser(args.json); // GPS
|
||||
if (args.json.state === 'online') {
|
||||
args.ref = this.applyUser(args.json); // GPS
|
||||
$app.updateFriend({ id: args.json.id, state: args.json.state }); // online/offline
|
||||
} else {
|
||||
$app.updateFriend({ id: args.json.id, state: args.json.state }); // online/offline
|
||||
args.ref = this.applyUser(args.json); // GPS
|
||||
}
|
||||
});
|
||||
|
||||
API.$on('USER:LIST', function (args) {
|
||||
@@ -487,6 +492,7 @@ speechSynthesis.getVoices();
|
||||
}
|
||||
if (typeof ref === 'undefined') {
|
||||
ref = {
|
||||
ageVerificationStatus: '',
|
||||
allowAvatarCopying: false,
|
||||
badges: [],
|
||||
bio: '',
|
||||
|
||||
@@ -195,6 +195,8 @@ export default class extends baseClass {
|
||||
accountDeletionDate: null,
|
||||
accountDeletionLog: null,
|
||||
activeFriends: [],
|
||||
ageVerificationStatus: '',
|
||||
ageVerified: false,
|
||||
allowAvatarCopying: false,
|
||||
badges: [],
|
||||
bio: '',
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import * as workerTimers from 'worker-timers';
|
||||
import Noty from 'noty';
|
||||
import { baseClass, $app, API, $t } from './baseClass.js';
|
||||
import { baseClass, $app, API, $t, $utils } from './baseClass.js';
|
||||
|
||||
export default class extends baseClass {
|
||||
constructor(_app, _API, _t) {
|
||||
@@ -262,12 +262,28 @@ export default class extends baseClass {
|
||||
break;
|
||||
|
||||
case 'friend-online':
|
||||
// Where is instanceId, travelingToWorld, travelingToInstance?
|
||||
// More JANK, what a mess
|
||||
var $location = $utils.parseLocation(content.location);
|
||||
var $travelingToLocation = $utils.parseLocation(
|
||||
content.travelingToLocation
|
||||
);
|
||||
if (content?.user?.id) {
|
||||
this.$emit('USER', {
|
||||
json: {
|
||||
id: content.userId,
|
||||
platform: content.platform,
|
||||
state: 'online',
|
||||
|
||||
location: content.location,
|
||||
worldId: content.worldId,
|
||||
instanceId: $location.instanceId,
|
||||
travelingToLocation:
|
||||
content.travelingToLocation,
|
||||
travelingToWorld: $travelingToLocation.worldId,
|
||||
travelingToInstance:
|
||||
$travelingToLocation.instanceId,
|
||||
|
||||
...content.user
|
||||
},
|
||||
params: {
|
||||
@@ -288,13 +304,6 @@ export default class extends baseClass {
|
||||
|
||||
case 'friend-active':
|
||||
if (content?.user?.id) {
|
||||
this.$emit('USER', {
|
||||
json: content.user,
|
||||
params: {
|
||||
userId: content.userId
|
||||
}
|
||||
});
|
||||
} else {
|
||||
this.$emit('USER', {
|
||||
json: {
|
||||
id: content.userId,
|
||||
@@ -306,7 +315,18 @@ export default class extends baseClass {
|
||||
instanceId: 'offline',
|
||||
travelingToLocation: 'offline',
|
||||
travelingToWorld: 'offline',
|
||||
travelingToInstance: 'offline'
|
||||
travelingToInstance: 'offline',
|
||||
|
||||
...content.user
|
||||
},
|
||||
params: {
|
||||
userId: content.userId
|
||||
}
|
||||
});
|
||||
} else {
|
||||
this.$emit('FRIEND:STATE', {
|
||||
json: {
|
||||
state: 'active'
|
||||
},
|
||||
params: {
|
||||
userId: content.userId
|
||||
@@ -346,6 +366,10 @@ export default class extends baseClass {
|
||||
break;
|
||||
|
||||
case 'friend-location':
|
||||
var $location = $utils.parseLocation(content.location);
|
||||
var $travelingToLocation = $utils.parseLocation(
|
||||
content.travelingToLocation
|
||||
);
|
||||
if (!content?.user?.id) {
|
||||
var ref = this.cachedUsers.get(content.userId);
|
||||
if (typeof ref !== 'undefined') {
|
||||
@@ -353,8 +377,14 @@ export default class extends baseClass {
|
||||
json: {
|
||||
...ref,
|
||||
location: content.location,
|
||||
worldId: content.worldId,
|
||||
instanceId: $location.instanceId,
|
||||
travelingToLocation:
|
||||
content.travelingToLocation
|
||||
content.travelingToLocation,
|
||||
travelingToWorld:
|
||||
$travelingToLocation.worldId,
|
||||
travelingToInstance:
|
||||
$travelingToLocation.instanceId
|
||||
},
|
||||
params: {
|
||||
userId: content.userId
|
||||
@@ -366,7 +396,12 @@ export default class extends baseClass {
|
||||
this.$emit('USER', {
|
||||
json: {
|
||||
location: content.location,
|
||||
worldId: content.worldId,
|
||||
instanceId: $location.instanceId,
|
||||
travelingToLocation: content.travelingToLocation,
|
||||
travelingToWorld: $travelingToLocation.worldId,
|
||||
travelingToInstance:
|
||||
$travelingToLocation.instanceId,
|
||||
...content.user,
|
||||
state: 'online' // JANK
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user