Skip to content

Commit 092e2d9

Browse files
committed
fix(console): grade the key revoke site, keep the truncated note count-free
The write-site census enters the key list's Revoke as a write of the caller's own sys_api_key row. The truncated note no longer carries a count (the list answers no total), and the de quote-pairing pin counts the new revoke title. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01L9qibz28PqZhuQmVQEvmY2
1 parent e903d94 commit 092e2d9

15 files changed

Lines changed: 23 additions & 16 deletions

File tree

‎ui/packages/app-shell/src/console/connect/AuthorizedAccessList.test.tsx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ describe('§1 authorized assistants', () => {
185185
it('says when the server answered only the newest grants', async () => {
186186
listMock.mockResolvedValueOnce({ clients: CLIENTS, truncated: true });
187187
await renderSettled();
188-
expect(screen.getByText('«connectAgent.access.truncated|3»')).toBeInTheDocument();
188+
expect(screen.getByText('«connectAgent.access.truncated»')).toBeInTheDocument();
189189
});
190190
});
191191

‎ui/packages/app-shell/src/console/connect/AuthorizedAccessList.tsx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ function AssistantRows({
168168
</ul>
169169
{truncated ? (
170170
<p className="text-xs text-muted-foreground">
171-
{t('connectAgent.access.truncated', { count: clients.length })}
171+
{t('connectAgent.access.truncated')}
172172
</p>
173173
) : null}
174174
<p className="text-xs text-muted-foreground">{t('connectAgent.access.withdrawLater')}</p>

‎ui/packages/i18n/src/__tests__/de-quote-pairing-3876.test.ts‎

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -398,7 +398,10 @@ describe('objectui#3876 — de pack closes „ with “ and not with a straight
398398
// organization still carries („{{name}}“) — one interpolated span, runtime
399399
// data — and `.timezone.todo` quotes the word formulas read („heute“) —
400400
// one literal span.
401-
expect(okSpans, 'correctly paired spans').toBe(107);
401+
// 108 once objectstack-ai/objectstack#30894 added
402+
// `connectAgent.access.revokeTitle`, the confirm that names the API key
403+
// being revoked („{{name}}“) — one interpolated span, runtime data.
404+
expect(okSpans, 'correctly paired spans').toBe(108);
402405
});
403406

404407
it('keeps the count identity that replaces the card’s count(„) === count(“)', () => {
@@ -486,8 +489,9 @@ describe('objectui#3876 — de pack closes „ with “ and not with a straight
486489
// `marketplace.detail.sampleDataBannerTitle`, one more matched pair.
487490
// 107 / 107 / 0 after objectstack-ai/objectstack#30206 added
488491
// `console.firstRunChecklist.organizationName.todo` and `.timezone.todo`,
489-
// one matched pair each.
490-
expect({ open, close, rdq }).toEqual({ open: 107, close: 107, rdq: 0 });
492+
// one matched pair each. 108 / 108 / 0 after objectstack-ai/objectstack#30894
493+
// added `connectAgent.access.revokeTitle`, one more matched pair.
494+
expect({ open, close, rdq }).toEqual({ open: 108, close: 108, rdq: 0 });
491495
// The durable shape: every „ closed by a “, every surplus “ an English
492496
// opener answered by a ”. Survived translating the two English values.
493497
expect(close).toBe(open + rdq);

‎ui/packages/i18n/src/locales/ar.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4170,7 +4170,7 @@ const ar = {
41704170
authorized: 'صُرّح له في {{date}}',
41714171
lastUsedHour: 'آخر استخدام خلال الساعة التي تبدأ في {{time}}',
41724172
notRecorded: 'لم يُسجَّل أي استخدام',
4173-
truncated: 'يُعرض أحدث {{count}}.',
4173+
truncated: 'تُعرض الأحدث فقط؛ لقد منحت الإذن لمساعدين آخرين أيضًا.',
41744174
withdrawLater: 'سحب إذن مساعد من هذه الصفحة غير متاح بعد.',
41754175
keys: 'مفاتيح API الخاصة بك',
41764176
keysEmpty: 'ليست لديك مفاتيح API.',

‎ui/packages/i18n/src/locales/de.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3865,7 +3865,7 @@ const de = {
38653865
authorized: 'Autorisiert am {{date}}',
38663866
lastUsedHour: 'Zuletzt verwendet in der Stunde ab {{time}}',
38673867
notRecorded: 'Keine Nutzung erfasst',
3868-
truncated: 'Die neuesten {{count}} werden angezeigt.',
3868+
truncated: 'Nur die neuesten werden angezeigt; Sie haben weitere autorisiert.',
38693869
withdrawLater: 'Einen Assistenten auf dieser Seite zu entziehen ist noch nicht möglich.',
38703870
keys: 'Ihre API-Schlüssel',
38713871
keysEmpty: 'Sie haben keine API-Schlüssel.',

‎ui/packages/i18n/src/locales/en.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4676,7 +4676,7 @@ const en = {
46764676
authorized: 'Authorized {{date}}',
46774677
lastUsedHour: 'Last used in the hour from {{time}}',
46784678
notRecorded: 'Last use not recorded',
4679-
truncated: 'Showing the newest {{count}}.',
4679+
truncated: 'Only the newest are shown; you have authorized more.',
46804680
withdrawLater: 'Withdrawing an assistant from this page is not available yet.',
46814681
keys: 'Your API keys',
46824682
keysEmpty: 'You have no API keys.',

‎ui/packages/i18n/src/locales/es.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3942,7 +3942,7 @@ const es = {
39423942
authorized: 'Autorizado el {{date}}',
39433943
lastUsedHour: 'Último uso en la hora que empieza a las {{time}}',
39443944
notRecorded: 'Uso no registrado',
3945-
truncated: 'Se muestran los {{count}} más recientes.',
3945+
truncated: 'Solo se muestran los más recientes; ha autorizado más.',
39463946
withdrawLater: 'Todavía no es posible retirar un asistente desde esta página.',
39473947
keys: 'Sus claves API',
39483948
keysEmpty: 'No tiene claves API.',

‎ui/packages/i18n/src/locales/fr.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3938,7 +3938,7 @@ const fr = {
39383938
authorized: 'Autorisé le {{date}}',
39393939
lastUsedHour: 'Dernière utilisation dans l’heure commençant à {{time}}',
39403940
notRecorded: 'Aucune utilisation enregistrée',
3941-
truncated: 'Affichage des {{count}} plus récents.',
3941+
truncated: 'Seuls les plus récents sont affichés ; vous en avez autorisé d’autres.',
39423942
withdrawLater: 'Retirer un assistant depuis cette page n’est pas encore disponible.',
39433943
keys: 'Vos clés API',
39443944
keysEmpty: 'Vous n’avez aucune clé API.',

‎ui/packages/i18n/src/locales/ja.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3867,7 +3867,7 @@ const ja = {
38673867
authorized: '{{date}} に認可',
38683868
lastUsedHour: '最終使用:{{time}} からの 1 時間以内',
38693869
notRecorded: '使用記録なし',
3870-
truncated: '新しい順に {{count}} 件を表示しています。',
3870+
truncated: '新しいものだけを表示しています。認可済みのアシスタントはほかにもあります。',
38713871
withdrawLater: 'このページからアシスタントの認可を取り消す機能はまだありません。',
38723872
keys: 'あなたの API キー',
38733873
keysEmpty: 'API キーはありません。',

‎ui/packages/i18n/src/locales/ko.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3864,7 +3864,7 @@ const ko = {
38643864
authorized: '{{date}}에 승인',
38653865
lastUsedHour: '마지막 사용: {{time}}부터 1시간 이내',
38663866
notRecorded: '사용 기록 없음',
3867-
truncated: '최신 {{count}}개만 표시합니다.',
3867+
truncated: '최신 항목만 표시합니다. 승인한 어시스턴트가 더 있습니다.',
38683868
withdrawLater: '이 페이지에서 어시스턴트 승인을 철회하는 기능은 아직 없습니다.',
38693869
keys: '내 API 키',
38703870
keysEmpty: 'API 키가 없습니다.',

0 commit comments

Comments
 (0)