diff --git a/html/src/app.js b/html/src/app.js
index ba46c8f7..565b10cc 100644
--- a/html/src/app.js
+++ b/html/src/app.js
@@ -881,8 +881,11 @@ speechSynthesis.getVoices();
var L = API.parseLocation(instanceId);
var groupAccessType = '';
if (L.groupAccessType) {
- if (L.groupAccessType === 'public')
+ if (L.groupAccessType === 'public') {
groupAccessType = 'Public';
+ } else if (L.groupAccessType === 'plus') {
+ groupAccessType = 'Plus';
+ }
}
if (L.isOffline) {
this.text = 'Offline';
@@ -1019,6 +1022,8 @@ speechSynthesis.getVoices();
if (this.locationobject.groupAccessType) {
if (this.locationobject.groupAccessType === 'public') {
this.groupAccessType = 'Public';
+ } else if (this.locationobject.groupAccessType === 'plus') {
+ this.groupAccessType = 'Plus';
}
}
@@ -4671,7 +4676,27 @@ speechSynthesis.getVoices();
$app.onGroupLeft(groupId);
break;
+ case 'group-role-updated':
+ var groupId = content.role.groupId;
+ console.log('group-role-updated', content);
+ // content {
+ // role: {
+ // createdAt: string,
+ // description: string,
+ // groupId: string,
+ // id: string,
+ // isManagementRole: boolean,
+ // isSelfAssignable: boolean,
+ // name: string,
+ // order: number,
+ // permissions: string[],
+ // requiresPurchase: boolean,
+ // requiresTwoFactor: boolean
+ break;
+
case 'group-member-updated':
+ var groupId = content.groupId;
+ console.log('group-member-updated', content);
// content {
// groupId: string,
// id: string,
@@ -11799,6 +11824,8 @@ speechSynthesis.getVoices();
if (L.groupAccessType) {
if (L.groupAccessType === 'public') {
groupAccessType = 'Public';
+ } else if (L.groupAccessType === 'plus') {
+ groupAccessType = 'Plus';
}
}
switch (L.accessType) {
@@ -15751,6 +15778,7 @@ speechSynthesis.getVoices();
ref: {},
isPC: false,
isQuest: false,
+ isIos: false,
inCache: false,
cacheSize: '',
fileCreatedAt: '',
@@ -15768,6 +15796,7 @@ speechSynthesis.getVoices();
ref: {},
isPC: false,
isQuest: false,
+ isIos: false,
inCache: false,
cacheSize: '',
fileCreatedAt: '',
@@ -15779,6 +15808,7 @@ speechSynthesis.getVoices();
ref: {},
isPC: false,
isQuest: false,
+ isIos: false,
inCache: false,
cacheSize: '',
fileCreatedAt: '',
@@ -15790,11 +15820,12 @@ speechSynthesis.getVoices();
worldId: L.worldId
}).then((args) => {
this.currentInstanceWorld.ref = args.ref;
- var { isPC, isQuest } = this.getAvailablePlatforms(
+ var { isPC, isQuest, isIos } = this.getAvailablePlatforms(
args.ref.unityPackages
);
this.currentInstanceWorld.isPC = isPC;
this.currentInstanceWorld.isQuest = isQuest;
+ this.currentInstanceWorld.isIos = isIos;
this.checkVRChatCache(args.ref).then((cacheInfo) => {
if (cacheInfo[0] > 0) {
this.currentInstanceWorld.inCache = true;
@@ -15816,11 +15847,12 @@ speechSynthesis.getVoices();
worldId: this.currentInstanceLocation.worldId
}).then((args) => {
this.currentInstanceWorld.ref = args.ref;
- var { isPC, isQuest } = this.getAvailablePlatforms(
+ var { isPC, isQuest, isIos } = this.getAvailablePlatforms(
args.ref.unityPackages
);
this.currentInstanceWorld.isPC = isPC;
this.currentInstanceWorld.isQuest = isQuest;
+ this.currentInstanceWorld.isIos = isIos;
this.checkVRChatCache(args.ref).then((cacheInfo) => {
if (cacheInfo[0] > 0) {
this.currentInstanceWorld.inCache = true;
@@ -15836,16 +15868,19 @@ speechSynthesis.getVoices();
$app.methods.getAvailablePlatforms = function (unityPackages) {
var isPC = false;
var isQuest = false;
+ var isIos = false;
if (typeof unityPackages === 'object') {
for (var unityPackage of unityPackages) {
if (unityPackage.platform === 'standalonewindows') {
isPC = true;
} else if (unityPackage.platform === 'android') {
isQuest = true;
+ } else if (unityPackage.platform === 'ios') {
+ isIos = true;
}
}
}
- return { isPC, isQuest };
+ return { isPC, isQuest, isIos };
};
$app.methods.selectCurrentInstanceRow = function (val) {
@@ -16409,7 +16444,8 @@ speechSynthesis.getVoices();
visitCount: 0,
timeSpent: 0,
isPC: false,
- isQuest: false
+ isQuest: false,
+ isIos: false
};
API.$on('LOGOUT', function () {
@@ -16534,6 +16570,7 @@ speechSynthesis.getVoices();
D.timeSpent = 0;
D.isPC = false;
D.isQuest = false;
+ D.isIos = false;
var LL = API.parseLocation(this.lastLocation.location);
var currentWorldMatch = false;
if (LL.worldId === D.id) {
@@ -16576,11 +16613,12 @@ speechSynthesis.getVoices();
D.id
);
}
- var { isPC, isQuest } = this.getAvailablePlatforms(
+ var { isPC, isQuest, isIos } = this.getAvailablePlatforms(
args.ref.unityPackages
);
D.isPC = isPC;
D.isQuest = isQuest;
+ D.isIos = isIos;
this.updateVRChatWorldCache();
if (args.cache) {
API.getWorld(args.params)
@@ -25201,6 +25239,7 @@ speechSynthesis.getVoices();
D.ownerDisplayName = args1.ref.displayName;
return args1;
});
+ this.applyGroupDialogInstances();
this.getGroupDialogGroup(groupId);
}
});
diff --git a/html/src/app.scss b/html/src/app.scss
index 2a41aa55..67a10e65 100644
--- a/html/src/app.scss
+++ b/html/src/app.scss
@@ -524,6 +524,16 @@ i.x-user-status.busy {
border-color: #67c23a !important;
}
+.x-tag-platform-ios {
+ color: #c7c7ce !important;
+ border-color: #c7c7ce !important;
+}
+
+.x-tag-platform-other {
+ color: #ff4177 !important;
+ border-color: #ff4177 !important;
+}
+
.el-tree-node {
white-space: normal;
}
diff --git a/html/src/index.pug b/html/src/index.pug
index bd3f028b..1f538c79 100644
--- a/html/src/index.pug
+++ b/html/src/index.pug
@@ -234,6 +234,8 @@ html
el-tag.x-tag-vrcplus(v-if="userDialog.ref.$isVRCPlus" type="info" effect="plain" size="mini" style="margin-right:5px;margin-top:5px") VRC+
el-tag.x-tag-platform-pc(v-if="userDialog.ref.last_platform === 'standalonewindows'" type="info" effect="plain" size="mini" style="margin-right:5px;margin-top:5px") PC
el-tag.x-tag-platform-quest(v-else-if="userDialog.ref.last_platform === 'android'" type="info" effect="plain" size="mini" style="margin-right:5px;margin-top:5px") Quest
+ el-tag.x-tag-platform-ios(v-else-if="userDialog.ref.last_platform === 'ios'" type="info" effect="plain" size="mini" style="margin-right:5px;margin-top:5px") iOS
+ el-tag.x-tag-platform-other(v-else-if="userDialog.ref.last_platform" type="info" effect="plain" size="mini" style="margin-right:5px;margin-top:5px") {{ userDialog.ref.last_platform }}
el-tag.name(v-if="userDialog.ref.$customTag" type="info" effect="plain" size="mini" v-text="userDialog.ref.$customTag" :style="{'color':userDialog.ref.$customTagColour, 'border-color':userDialog.ref.$customTagColour}" style="margin-right:5px;margin-top:5px")
div(style="margin-top:5px")
span(v-text="userDialog.ref.statusDescription" style="font-size:12px")
@@ -552,6 +554,7 @@ html
el-tag(v-else type="danger" effect="plain" size="mini" style="margin-right:5px;margin-top:5px") {{ $t('dialog.world.tags.private') }}
el-tag.x-tag-platform-pc(v-if="worldDialog.isPC" type="info" effect="plain" size="mini" style="margin-right:5px;margin-top:5px") PC
el-tag.x-tag-platform-quest(v-if="worldDialog.isQuest" type="info" effect="plain" size="mini" style="margin-right:5px;margin-top:5px") Quest
+ el-tag.x-tag-platform-ios(v-if="worldDialog.isIos" type="info" effect="plain" size="mini" style="margin-right:5px;margin-top:5px") iOS
el-tag(type="info" effect="plain" size="mini" v-text="worldDialog.fileSize" style="margin-right:5px;margin-top:5px")
el-tag(v-if="worldDialog.inCache" type="info" effect="plain" size="mini" style="margin-right:5px;margin-top:5px")
span(v-text="worldDialog.cacheSize")
@@ -1161,6 +1164,7 @@ html
el-form-item(:label="$t('dialog.new_instance.group_access_type')" v-if="newInstanceDialog.accessType === 'group'")
el-radio-group(v-model="newInstanceDialog.groupAccessType" size="mini" @change="buildInstance")
el-radio-button(label="members") {{ $t('dialog.new_instance.group_access_type_members') }}
+ el-radio-button(label="plus") {{ $t('dialog.new_instance.group_access_type_plus') }}
el-radio-button(label="public") {{ $t('dialog.new_instance.group_access_type_public') }}
//- el-form-item(label="Strict" v-if="newInstanceDialog.accessType === 'friends' || newInstanceDialog.accessType === 'invite'")
//- el-checkbox(v-model="newInstanceDialog.strict") Prevent non friends joining via URL/Instance ID
diff --git a/html/src/localization/strings/en.json b/html/src/localization/strings/en.json
index e0912486..dce1f25d 100644
--- a/html/src/localization/strings/en.json
+++ b/html/src/localization/strings/en.json
@@ -819,6 +819,7 @@
"access_type_invite": "Invite",
"group_access_type": "Group Access",
"group_access_type_members": "Members",
+ "group_access_type_plus": "Plus",
"group_access_type_public": "Public",
"region": "Region",
"region_usw": "US West",