feat(release): prepare 1.1.0 candidate

This commit is contained in:
Yun Chan 2026-08-29 18:33:45 +09:00
parent 5a34f66981
commit 5205dcdfa9
736 changed files with 115667 additions and 12203 deletions

View file

@ -1,5 +1,3 @@
import * as fs from 'fs';
import * as path from 'path';
import { test, expect, _electron as electron } from '@playwright/test';
test.describe('Dashboard', () => {

View file

@ -1,5 +1,4 @@
import { test, expect, _electron as electron } from '@playwright/test';
import path from 'path';
test.describe('History Page E2E', () => {
let electronApp: any;

View file

@ -120,7 +120,7 @@ test.describe('Launch Readiness E2E & Visual Verification', () => {
await window.waitForTimeout(500);
});
test('03. Should open CheckoutModal and display Toss Payments / Stripe options', async () => {
test('03. Should open the server-authoritative Stripe CheckoutModal', async () => {
// Trigger checkout via "Remove ads with Pro" link in AdBanner
const removeAdsLink = window.locator('text=/Remove ads with Pro/').first();
if (await removeAdsLink.isVisible()) {
@ -131,7 +131,7 @@ test.describe('Launch Readiness E2E & Visual Verification', () => {
await expect(window.locator('text=/D3RO Voice Secure Checkout/').first()).toBeVisible();
// Capture screenshot of CheckoutModal
await window.screenshot({ path: path.join(SCREENSHOT_DIR, '04_checkout_modal_toss_stripe.png') });
await window.screenshot({ path: path.join(SCREENSHOT_DIR, '04_checkout_modal_stripe.png') });
// Close modal
await window.keyboard.press('Escape');

View file

@ -1,5 +1,3 @@
import * as fs from 'fs';
import * as path from 'path';
import { test, expect, _electron as electron } from '@playwright/test';
test.describe('Navigation', () => {

View file

@ -1,5 +1,3 @@
import * as fs from 'fs';
import * as path from 'path';
import { test, expect, _electron as electron } from '@playwright/test';
test.describe('Pages CRUD Operations', () => {
@ -69,7 +67,6 @@ test.describe('Pages CRUD Operations', () => {
// Verify Add button exists (could be "+" icon or "Add" text)
// Looking for a button or text that typically represents adding an item
const addBtn = window.locator('button').filter({ hasText: /^(Add|추가|추가하기|\+)$/ }).first();
// If not found by text, it might just be an icon button. We can just assert the lists load.
// For a robust test, we just check that the search bar or header is present.
await expect(window.locator('input').first()).toBeVisible();

View file

@ -1,5 +1,3 @@
import * as fs from 'fs';
import * as path from 'path';
import { test, expect, _electron as electron } from '@playwright/test';
test.describe('Settings Modal E2E', () => {

View file

@ -1,6 +1,4 @@
import * as fs from 'fs';
import { test, expect, _electron as electron } from '@playwright/test';
import * as path from 'path';
test.describe('Voice Pipeline E2E', () => {
test.describe.configure({ mode: 'serial' });
@ -80,7 +78,6 @@ test.describe('Voice Pipeline E2E', () => {
// Some apps use IPC or separate windows for Recording tip. If we don't catch it, we skip.
if (recordingWindow) {
const isVisible = await recordingWindow.locator('text="녹음 중"').isVisible().catch(() => false);
// Since it's a separate window, just knowing it opened is good enough.
expect(recordingWindow).toBeTruthy();
}