@goodandready/dsh-subscriptions 0.5.24 → 0.5.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/client.js +20 -14
- package/lib/index.js +6 -1
- package/package.json +1 -1
package/lib/client.js
CHANGED
|
@@ -1365,20 +1365,26 @@ const cssId = 'dsh-subscriptions/settings.module.css'
|
|
|
1365
1365
|
))
|
|
1366
1366
|
} catch { moved = false }
|
|
1367
1367
|
if (moved) return
|
|
1368
|
-
//
|
|
1369
|
-
//
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1368
|
+
// #244: Fallback for harness cores before settings.plugin.item slot was
|
|
1369
|
+
// introduced (< 0.1.2-rc.1). Once all production profiles run a core
|
|
1370
|
+
// that has settings.plugin.item, this block can be safely removed.
|
|
1371
|
+
// Tracked in Gitea #244 — do not remove without verifying minimum core.
|
|
1372
|
+
try {
|
|
1373
|
+
ctx.slots.inject('settings.section', () => ctx.slots.register(
|
|
1374
|
+
{
|
|
1375
|
+
name: 'settings.section',
|
|
1376
|
+
id: '@goodandready/dsh-subscriptions',
|
|
1377
|
+
order: 28,
|
|
1378
|
+
locale: NS,
|
|
1379
|
+
label: () => t('title'),
|
|
1380
|
+
inject: () => ({ ctx: ctx }),
|
|
1381
|
+
},
|
|
1382
|
+
SubsSection,
|
|
1383
|
+
))
|
|
1384
|
+
} catch (e) {
|
|
1385
|
+
// Neither slot system available — settings panel will not render.
|
|
1386
|
+
// This is expected on headless / non-web profiles.
|
|
1387
|
+
}
|
|
1382
1388
|
}
|
|
1383
1389
|
|
|
1384
1390
|
// Горячий переключатель провайдера в строке композера: клик циклично
|
package/lib/index.js
CHANGED
|
@@ -29,7 +29,7 @@ import {
|
|
|
29
29
|
antigravityIdentityHeaders,
|
|
30
30
|
} from './code-assist.js'
|
|
31
31
|
|
|
32
|
-
export const name = 'dsh-subscriptions'
|
|
32
|
+
export const name = '@goodandready/dsh-subscriptions'
|
|
33
33
|
export const inject = ['llm', 'credentials', 'webServer', 'settings']
|
|
34
34
|
|
|
35
35
|
const NS = 'dsh-subscriptions'
|
|
@@ -110,6 +110,11 @@ export const Config = z.object({
|
|
|
110
110
|
|
|
111
111
|
function publicConfig(cfg) {
|
|
112
112
|
const clone = structuredClone(cfg)
|
|
113
|
+
// #242: redact all *ClientSecret fields before exposing config via GET /config.
|
|
114
|
+
// Secrets must never leave the server; the UI does not need them.
|
|
115
|
+
for (const key of Object.keys(clone)) {
|
|
116
|
+
if (key.endsWith('ClientSecret')) clone[key] = clone[key] ? '••••••' : ''
|
|
117
|
+
}
|
|
113
118
|
return clone
|
|
114
119
|
}
|
|
115
120
|
|
package/package.json
CHANGED