[fix] resolve @ symbol parsing errors in extension tooltips (#4100)

This commit is contained in:
Christian Byrne
2025-06-08 01:02:36 -07:00
committed by GitHub
parent f251af25cc
commit 83af274339
2 changed files with 19 additions and 1 deletions

View File

@@ -54,4 +54,21 @@ describe('SettingItem', () => {
{ text: 'Correctly Translated', value: 'Correctly Translated' } { text: 'Correctly Translated', value: 'Correctly Translated' }
]) ])
}) })
it('handles tooltips with @ symbols without errors', () => {
const wrapper = mountComponent({
setting: {
id: 'TestSetting',
name: 'Test Setting',
type: 'boolean',
tooltip:
'This will load a larger version of @mtb/markdown-parser that bundles shiki'
}
})
// Should not throw an error and tooltip should be preserved as-is
expect(wrapper.vm.formItem.tooltip).toBe(
'This will load a larger version of @mtb/markdown-parser that bundles shiki'
)
})
}) })

View File

@@ -28,6 +28,7 @@ import { computed } from 'vue'
import { useI18n } from 'vue-i18n' import { useI18n } from 'vue-i18n'
import FormItem from '@/components/common/FormItem.vue' import FormItem from '@/components/common/FormItem.vue'
import { st } from '@/i18n'
import { useSettingStore } from '@/stores/settingStore' import { useSettingStore } from '@/stores/settingStore'
import type { SettingOption, SettingParams } from '@/types/settingTypes' import type { SettingOption, SettingParams } from '@/types/settingTypes'
import { normalizeI18nKey } from '@/utils/formatUtil' import { normalizeI18nKey } from '@/utils/formatUtil'
@@ -64,7 +65,7 @@ const formItem = computed(() => {
...props.setting, ...props.setting,
name: t(`settings.${normalizedId}.name`, props.setting.name), name: t(`settings.${normalizedId}.name`, props.setting.name),
tooltip: props.setting.tooltip tooltip: props.setting.tooltip
? t(`settings.${normalizedId}.tooltip`, props.setting.tooltip) ? st(`settings.${normalizedId}.tooltip`, props.setting.tooltip)
: undefined, : undefined,
options: props.setting.options options: props.setting.options
? translateOptions(props.setting.options) ? translateOptions(props.setting.options)