Rewrite old template variable names once

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
bluandClaude Fable 5.1 committed 2026-09-27 11:44:41 +02:00
1 parent 166cedd972
commit 8832e29552
2 files changed
+13 -1

No files matched your search

+4 -1
View File
@@ -15,7 +15,7 @@ import { FactCollector, type Joiner } from './src/collector.js';
import { filterFrom, instanceMatches } from './src/filters.js'; import { filterFrom, instanceMatches } from './src/filters.js';
import { notifyAll, type Report } from './src/notify.js'; import { notifyAll, type Report } from './src/notify.js';
import { ReportPanel } from './src/panel.js'; import { ReportPanel } from './src/panel.js';
import { settings } from './src/settings.js'; import { migrateTemplate, settings } from './src/settings.js';
import { toSelf, type Self } from './src/vrcnext-data.js'; import { toSelf, type Self } from './src/vrcnext-data.js';
type Ctx = PluginContext<typeof settings>; type Ctx = PluginContext<typeof settings>;
@@ -138,6 +138,9 @@ export default definePlugin({
settings, settings,
activate(ctx) { activate(ctx) {
const template = ctx.settings.get('template');
const migrated = migrateTemplate(template);
if (migrated !== template) void ctx.settings.set('template', migrated);
new ClubSecurity(ctx).start(); new ClubSecurity(ctx).start();
}, },
+9
View File
@@ -29,6 +29,15 @@ export const DEFAULT_TEMPLATE = [
'Rejoin?: {rejoinText}', 'Rejoin?: {rejoinText}',
].join('\n'); ].join('\n');
/**
* The first version's variables were text; they are booleans now, with the wording under
* `…Text`. A stored template written against the old names is rewritten once on activation, so
* an edited format keeps rendering words rather than `true`.
*/
export function migrateTemplate(template: string): string {
return template.replace(/\{(ageVerified|pcRank|questRank|inGroup|rejoin)\}/g, '{$1Text}');
}
export const settings = { export const settings = {
enabled: { enabled: {
kind: 'boolean', kind: 'boolean',