Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions packages/app/cypress/e2e/landing-performance.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,8 @@ describe('Landing page performance', () => {

cy.visit('/', {
onBeforeLoad(win) {
win.localStorage.removeItem('inferencex-minimax-m3-modal-dismissed');
win.localStorage.removeItem('inferencex-minimax-m3-banner-dismissed');
win.localStorage.removeItem('inferencex-kimi-k3-modal-dismissed');
win.localStorage.removeItem('inferencex-kimi-k3-banner-dismissed');
observeLayoutShifts(win);
},
});
Expand All @@ -77,7 +77,7 @@ describe('Landing page performance', () => {
cy.viewport(412, 823);
cy.visit('/', {
onBeforeLoad(win) {
win.localStorage.setItem('inferencex-minimax-m3-banner-dismissed', '1');
win.localStorage.setItem('inferencex-kimi-k3-banner-dismissed', '1');
observeLayoutShifts(win);
},
});
Expand Down
4 changes: 2 additions & 2 deletions packages/app/cypress/e2e/navigation.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,8 @@ describe('First-load navigation', () => {
onBeforeLoad(win) {
win.localStorage.removeItem('inferencex-starred');
win.localStorage.removeItem('inferencex-star-modal-dismissed');
win.localStorage.removeItem('inferencex-minimax-m3-modal-dismissed');
win.localStorage.removeItem('inferencex-minimax-m3-banner-dismissed');
win.localStorage.removeItem('inferencex-kimi-k3-modal-dismissed');
win.localStorage.removeItem('inferencex-kimi-k3-banner-dismissed');
},
});

Expand Down
20 changes: 10 additions & 10 deletions packages/app/cypress/e2e/nudge-system.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ function clearAllNudgeStorage(win: Cypress.AUTWindow) {
const keys = [
'inferencex-starred',
'inferencex-star-modal-dismissed',
'inferencex-minimax-m3-modal-dismissed',
'inferencex-minimax-m3-banner-dismissed',
'inferencex-kimi-k3-modal-dismissed',
'inferencex-kimi-k3-banner-dismissed',
'inferencex-reproducibility-nudge-shown',
'inferencex-star-nudge-shown',
'inferencex-export-nudge-shown',
Expand Down Expand Up @@ -80,15 +80,15 @@ describe('Landing nudges — modals', () => {
// path without needing to stub window.location.
cy.get('[data-testid="launch-modal-action"]').click();
cy.window().then((win) => {
expect(win.localStorage.getItem('inferencex-minimax-m3-modal-dismissed')).to.eq('1');
expect(win.localStorage.getItem('inferencex-kimi-k3-modal-dismissed')).to.eq('1');
});
});

it('shows star modal when launch modal was previously dismissed', () => {
cy.visit('/', {
onBeforeLoad(win) {
clearAllNudgeStorage(win);
win.localStorage.setItem('inferencex-minimax-m3-modal-dismissed', '1');
win.localStorage.setItem('inferencex-kimi-k3-modal-dismissed', '1');
},
});
cy.get('[data-testid="launch-modal"]').should('not.exist');
Expand All @@ -99,7 +99,7 @@ describe('Landing nudges — modals', () => {
cy.visit('/', {
onBeforeLoad(win) {
clearAllNudgeStorage(win);
win.localStorage.setItem('inferencex-minimax-m3-modal-dismissed', '1');
win.localStorage.setItem('inferencex-kimi-k3-modal-dismissed', '1');
},
});
cy.get('[data-testid="github-star-modal"]').should('be.visible');
Expand All @@ -117,7 +117,7 @@ describe('Landing nudges — modals', () => {
cy.visit('/', {
onBeforeLoad(win) {
clearAllNudgeStorage(win);
win.localStorage.setItem('inferencex-minimax-m3-modal-dismissed', '1');
win.localStorage.setItem('inferencex-kimi-k3-modal-dismissed', '1');
},
});
cy.get('[data-testid="github-star-modal"]').should('be.visible');
Expand Down Expand Up @@ -178,7 +178,7 @@ describe('Landing nudges — banner', () => {
cy.get('[data-testid="launch-banner"]').should('be.visible');
cy.window().then((win) => {
// Only the X button should persist a dismissal — show alone must not.
expect(win.localStorage.getItem('inferencex-minimax-m3-banner-dismissed')).to.eq(null);
expect(win.localStorage.getItem('inferencex-kimi-k3-banner-dismissed')).to.eq(null);
});
});

Expand All @@ -193,7 +193,7 @@ describe('Landing nudges — banner', () => {
// Body click must not write the dismissal key — the banner should still
// render on a fresh visit to landing.
cy.window().then((win) => {
expect(win.localStorage.getItem('inferencex-minimax-m3-banner-dismissed')).to.eq(null);
expect(win.localStorage.getItem('inferencex-kimi-k3-banner-dismissed')).to.eq(null);
});

cy.visit('/');
Expand Down Expand Up @@ -354,8 +354,8 @@ describe('Nudge scope isolation', () => {
onBeforeLoad(win) {
clearAllNudgeStorage(win);
// Dismiss all landing nudges so nothing blocks visibility checks
win.localStorage.setItem('inferencex-minimax-m3-modal-dismissed', '1');
win.localStorage.setItem('inferencex-minimax-m3-banner-dismissed', '1');
win.localStorage.setItem('inferencex-kimi-k3-modal-dismissed', '1');
win.localStorage.setItem('inferencex-kimi-k3-banner-dismissed', '1');
win.localStorage.setItem('inferencex-starred', '1');
},
});
Expand Down
24 changes: 23 additions & 1 deletion packages/app/src/components/favorites/favorite-presets.ts
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,28 @@ export function findConfigChangeDates(
}

export const FAVORITE_PRESETS: FavoritePreset[] = [
// 0 — MiniMax M3 launch (all configs) — current day-0 featured model
// 0 — Kimi K3 launch (all configs) — current day-0 featured model
{
id: 'kimi-k3-launch',
title: 'Kimi K3 — First Look',
titleZh: 'Kimi K3 — 首发基准测试',
description:
'First benchmarks of Kimi K3 across every available GPU. New configurations appear here as they come online.',
descriptionZh: '涵盖所有可用 GPU 的 Kimi K3 首批基准测试结果。新配置上线后将在此同步更新。',
tags: ['Kimi', 'K3', 'New'],
category: 'comparison',
wide: true,
config: {
model: Model.Kimi_K3,
sequence: Sequence.EightK_OneK,
precisions: ['fp4', 'fp8'],
yAxisMetric: 'y_tpPerGpu',
hwFilter: ['h100', 'h200', 'b200', 'b300', 'gb200', 'gb300', 'mi300x', 'mi325x', 'mi355x'],
},
},
// Hidden — previous MiniMax M3 launch preset (all configs), retired when Kimi K3 became
// the day-0 model. Retained so prior ?preset=minimax-m3-launch links (banner, modal,
// external shares) keep working.
{
id: 'minimax-m3-launch',
title: 'MiniMax M3 — First Look',
Expand All @@ -153,6 +174,7 @@ export const FAVORITE_PRESETS: FavoritePreset[] = [
tags: ['MiniMax', 'M3', 'New'],
category: 'comparison',
wide: true,
hidden: true,
config: {
model: Model.MiniMax_M3,
sequence: Sequence.EightK_OneK,
Expand Down
2 changes: 1 addition & 1 deletion packages/app/src/lib/nudges/landing-banner.ts
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
export const LANDING_BANNER_STORAGE_KEY = 'inferencex-minimax-m3-banner-dismissed';
export const LANDING_BANNER_STORAGE_KEY = 'inferencex-kimi-k3-banner-dismissed';
export const LANDING_BANNER_DISMISSED_ATTRIBUTE = 'data-landing-banner-dismissed';
4 changes: 2 additions & 2 deletions packages/app/src/lib/nudges/registry.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,8 @@ describe('NUDGE_REGISTRY integrity', () => {
'filter-hint',
'github-star-modal',
'gradient-label',
'minimax-m3-launch-banner',
'minimax-m3-launch-modal',
'kimi-k3-launch-banner',
'kimi-k3-launch-modal',
'reproducibility',
'star-nudge',
]);
Expand Down
32 changes: 16 additions & 16 deletions packages/app/src/lib/nudges/registry.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -284,22 +284,22 @@ export const NUDGE_REGISTRY: NudgeDefinition[] = [
// Landing modals
// -------------------------------------------------------------------------
{
id: 'minimax-m3-launch-modal',
id: 'kimi-k3-launch-modal',
type: 'modal',
trigger: { type: 'immediate' },
dismissal: { type: 'permanent' },
storageKey: 'inferencex-minimax-m3-modal-dismissed',
storageKey: 'inferencex-kimi-k3-modal-dismissed',
priority: 50,
scope: 'landing',
content: {
icon: Sparkles,
iconClassName: 'text-brand',
title: 'MiniMax M3 is live',
titleZh: 'MiniMax M3 已上线',
title: 'Kimi K3 is live',
titleZh: 'Kimi K3 已上线',
description:
'Day-zero benchmarks for MiniMax M3 are now available across the latest NVIDIA and AMD GPUs. Results are experimental — see how the new model performs across hardware.',
'Day-zero benchmarks for Kimi K3 are now available across the latest NVIDIA and AMD GPUs. Results are experimental — see how the new model performs across hardware.',
descriptionZh:
'MiniMax M3 的首日基准测试数据现已覆盖最新的 NVIDIA 和 AMD GPU。结果为实验性数据——来看看新模型在不同硬件上的表现。',
'Kimi K3 的首日基准测试数据现已覆盖最新的 NVIDIA 和 AMD GPU。结果为实验性数据——来看看新模型在不同硬件上的表现。',
testId: 'launch-modal',
containerClassName: 'border-brand/40',
badge: 'New',
Expand All @@ -311,14 +311,14 @@ export const NUDGE_REGISTRY: NudgeDefinition[] = [
labelZh: '开始探索',
icon: <ArrowRight className="size-4" />,
onClick: () => {
window.location.href = '/inference?preset=minimax-m3-launch';
window.location.href = '/inference?preset=kimi-k3-launch';
},
},
},
analytics: {
shown: 'minimax_m3_modal_shown',
dismissed: 'minimax_m3_modal_dismissed',
action: 'minimax_m3_modal_explored',
shown: 'kimi_k3_modal_shown',
dismissed: 'kimi_k3_modal_dismissed',
action: 'kimi_k3_modal_explored',
},
},
{
Expand Down Expand Up @@ -365,7 +365,7 @@ export const NUDGE_REGISTRY: NudgeDefinition[] = [
// Landing banner
// -------------------------------------------------------------------------
{
id: 'minimax-m3-launch-banner',
id: 'kimi-k3-launch-banner',
type: 'banner',
trigger: { type: 'immediate' },
dismissal: { type: 'permanent' },
Expand All @@ -376,23 +376,23 @@ export const NUDGE_REGISTRY: NudgeDefinition[] = [
content: {
icon: Sparkles,
iconClassName: 'text-brand',
title: 'MiniMax M3 benchmarks are live',
titleZh: 'MiniMax M3 基准测试已上线',
title: 'Kimi K3 benchmarks are live',
titleZh: 'Kimi K3 基准测试已上线',
description: 'First inference numbers across NVIDIA and AMD GPUs, click to explore.',
descriptionZh: 'NVIDIA 和 AMD GPU 的首批推理数据,点击探索。',
testId: 'launch-banner',
badge: 'New',
badgeZh: '最新',
href: '/inference?preset=minimax-m3-launch',
href: '/inference?preset=kimi-k3-launch',
onLinkClick: () => {
window.location.href = '/inference?preset=minimax-m3-launch';
window.location.href = '/inference?preset=kimi-k3-launch';
},
},
analytics: {
shown: 'launch_banner_shown',
dismissed: 'launch_banner_dismissed',
action: 'launch_banner_clicked',
properties: { banner_id: 'minimax-m3-launch', preset_id: 'minimax-m3-launch' },
properties: { banner_id: 'kimi-k3-launch', preset_id: 'kimi-k3-launch' },
},
},
];