From f840dabe43504446a118065e9aa2564c13d21f9a Mon Sep 17 00:00:00 2001 From: Natsumi Date: Sun, 25 Jan 2026 02:21:21 +1300 Subject: [PATCH] Clean up treeData --- Dotnet/LogWatcher.cs | 5 +++-- .../dialogs/GroupDialog/GroupDialog.vue | 11 ++++------- .../dialogs/UserDialog/UserDialog.vue | 19 ++++++++++++++++--- src/stores/group.js | 2 -- src/stores/user.js | 17 ----------------- 5 files changed, 23 insertions(+), 31 deletions(-) diff --git a/Dotnet/LogWatcher.cs b/Dotnet/LogWatcher.cs index 6b6e5eda..8b5d2d4a 100644 --- a/Dotnet/LogWatcher.cs +++ b/Dotnet/LogWatcher.cs @@ -34,6 +34,7 @@ namespace VRCX public bool VrcClosedGracefully; private readonly ConcurrentQueue m_LogQueue = new ConcurrentQueue(); // for electron private static readonly Regex CleanId = new("[^a-zA-Z0-9_\\-~:()]", RegexOptions.Compiled); + private static readonly Regex CleanLocation = new("[/]", RegexOptions.Compiled); // NOTE // FileSystemWatcher() is unreliable @@ -373,7 +374,7 @@ namespace VRCX return true; var location = line.Substring(lineOffset); - location = CleanId.Replace(location, string.Empty); + location = CleanLocation.Replace(location, string.Empty); AppendLog(new[] { @@ -451,7 +452,7 @@ namespace VRCX return true; var locationDestination = line.Substring(lineOffset); - logContext.LocationDestination = CleanId.Replace(locationDestination, string.Empty); + logContext.LocationDestination = CleanLocation.Replace(locationDestination, string.Empty); return true; } diff --git a/src/components/dialogs/GroupDialog/GroupDialog.vue b/src/components/dialogs/GroupDialog/GroupDialog.vue index c9bcb670..68e142a6 100644 --- a/src/components/dialogs/GroupDialog/GroupDialog.vue +++ b/src/components/dialogs/GroupDialog/GroupDialog.vue @@ -1106,8 +1106,8 @@ @@ -1242,6 +1242,7 @@ const groupDialogGalleryCurrentName = ref('0'); const groupDialogTabCurrentName = ref('0'); const isGroupGalleryLoading = ref(false); + const treeData = ref({}); const groupDialogMemberSortValue = computed({ get() { @@ -1817,17 +1818,13 @@ function refreshGroupDialogTreeData() { const D = groupDialog.value; - const treeData = { + treeData.value = { group: formatJsonVars(D.ref), posts: D.posts, instances: D.instances, members: D.members, galleries: D.galleries }; - updateGroupDialogData({ - ...groupDialog.value, - treeData - }); } async function loadAllGroupMembers() { diff --git a/src/components/dialogs/UserDialog/UserDialog.vue b/src/components/dialogs/UserDialog/UserDialog.vue index 6ebb2334..f42c14c4 100644 --- a/src/components/dialogs/UserDialog/UserDialog.vue +++ b/src/components/dialogs/UserDialog/UserDialog.vue @@ -1191,8 +1191,8 @@ @@ -1313,6 +1313,7 @@ import InstanceActionBar from '../../InstanceActionBar.vue'; import SendInviteDialog from '../InviteDialog/SendInviteDialog.vue'; import UserSummaryHeader from './UserSummaryHeader.vue'; + import { formatJsonVars } from '../../../shared/utils/base/ui'; const BioDialog = defineAsyncComponent(() => import('./BioDialog.vue')); const LanguageDialog = defineAsyncComponent(() => import('./LanguageDialog.vue')); @@ -1357,7 +1358,6 @@ showUserDialog, sortUserDialogAvatars, refreshUserDialogAvatars, - refreshUserDialogTreeData, showSendBoopDialog, toggleSharedConnectionsOptOut } = useUserStore(); @@ -1466,6 +1466,7 @@ const isEditNoteAndMemoDialogVisible = ref(false); const vrchatCredit = ref(null); const mutualFriendsError = ref(false); + const treeData = ref({}); const userDialogAvatars = computed(() => { const { avatars, avatarReleaseStatus } = userDialog.value; @@ -1518,6 +1519,18 @@ return t('dialog.user.status.offline'); } + function refreshUserDialogTreeData() { + const D = userDialog.value; + if (D.id === currentUser.value.id) { + treeData.value = formatJsonVars({ + ...currentUser.value, + ...D.ref + }); + return; + } + treeData.value = formatJsonVars(D.ref); + } + function handleUserDialogTab(tabName) { userDialog.value.lastActiveTab = tabName; const userId = userDialog.value.id; diff --git a/src/stores/group.js b/src/stores/group.js index 4a12404c..89c1528e 100644 --- a/src/stores/group.js +++ b/src/stores/group.js @@ -49,7 +49,6 @@ export const useGroupStore = defineStore('Group', () => { activeTab: 'Info', lastActiveTab: 'Info', isGetGroupDialogGroupLoading: false, - treeData: {}, id: '', inGroup: false, ownerDisplayName: '', @@ -147,7 +146,6 @@ export const useGroupStore = defineStore('Group', () => { D.id = groupId; D.inGroup = false; D.ownerDisplayName = ''; - D.treeData = {}; D.announcement = {}; D.posts = []; D.postsFiltered = []; diff --git a/src/stores/user.js b/src/stores/user.js index baeb0351..382592d6 100644 --- a/src/stores/user.js +++ b/src/stores/user.js @@ -31,7 +31,6 @@ import { import { processBulk, request } from '../service/request'; import { AppDebug } from '../service/appConfig'; import { database } from '../service/database'; -import { formatJsonVars } from '../shared/utils/base/ui'; import { useAppearanceSettingsStore } from './settings/appearance'; import { useAuthStore } from './auth'; import { useAvatarStore } from './avatar'; @@ -236,7 +235,6 @@ export const useUserStore = defineStore('User', () => { }, avatarSorting: 'update', avatarReleaseStatus: 'all', - treeData: {}, memo: '', $avatarInfo: { ownerId: '', @@ -732,8 +730,6 @@ export const useUserStore = defineStore('User', () => { } else if (D.ref.friendRequestStatus === 'outgoing') { D.outgoingRequest = true; } - // refresh user dialog JSON tab - refreshUserDialogTreeData(); } if (hasPropChanged) { if ( @@ -1239,18 +1235,6 @@ export const useUserStore = defineStore('User', () => { }); } - function refreshUserDialogTreeData() { - const D = userDialog.value; - if (D.id === currentUser.value.id) { - D.treeData = formatJsonVars({ - ...currentUser.value, - ...D.ref - }); - return; - } - D.treeData = formatJsonVars(D.ref); - } - async function lookupUser(ref) { let ctx; if (ref.userId) { @@ -2064,7 +2048,6 @@ export const useUserStore = defineStore('User', () => { applyUserDialogLocation, sortUserDialogAvatars, refreshUserDialogAvatars, - refreshUserDialogTreeData, lookupUser, updateAutoStateChange, addCustomTag,