Revert "feat(chat): add composer action menu"

This reverts commit 7789673fff.
This commit is contained in:
2026-07-21 11:04:39 +08:00
parent 7789673fff
commit e512a42483
11 changed files with 62 additions and 632 deletions
@@ -5,10 +5,7 @@ import memoryDriver from "unstorage/drivers/memory";
import { StorageKeys } from "@/data/storage/storage_keys";
import { SessionAsyncUtil } from "@/utils/session-storage";
import {
createPendingChatPromotion,
NavigationStorage,
} from "../navigation_storage";
import { NavigationStorage } from "../navigation_storage";
const CHARACTER_ID = "elio";
const OTHER_CHARACTER_ID = "maya-tan";
@@ -108,28 +105,6 @@ describe("NavigationStorage", () => {
});
});
it("creates manual promotions without persisting them", async () => {
const image = createPendingChatPromotion("image", CHARACTER_ID);
const voice = createPendingChatPromotion("voice", CHARACTER_ID);
expect(image).toMatchObject({
characterId: CHARACTER_ID,
promotionType: "image",
lockType: "image_paywall",
});
expect(voice).toMatchObject({
characterId: CHARACTER_ID,
promotionType: "voice",
lockType: "voice_message",
});
expect(image.clientLockId).toMatch(/^promotion_/);
expect(voice.clientLockId).toMatch(/^promotion_/);
expect(voice.clientLockId).not.toBe(image.clientLockId);
await expect(
NavigationStorage.consumePendingChatPromotion(CHARACTER_ID),
).resolves.toBeNull();
});
it("saves and consumes pending chat image return sessions", async () => {
await NavigationStorage.savePendingChatImageReturn({
characterId: CHARACTER_ID,
@@ -69,19 +69,6 @@ export type PendingChatImageReturn = z.output<
typeof PendingChatImageReturnSchema
>;
export function createPendingChatPromotion(
promotionType: PendingChatPromotionType,
characterId: string,
): PendingChatPromotion {
return PendingChatPromotionSchema.parse({
characterId,
promotionType,
lockType: toPromotionLockType(promotionType),
clientLockId: `promotion_${createUuidV4()}`,
createdAt: Date.now(),
});
}
/**
* NavigationStorage owns short-lived cross-route sessions.
*
@@ -193,10 +180,13 @@ export class NavigationStorage {
promotionType: PendingChatPromotionType,
characterId: string,
): Promise<PendingChatPromotion> {
const promotion = createPendingChatPromotion(
promotionType,
const promotion: PendingChatPromotion = {
characterId,
);
promotionType,
lockType: toPromotionLockType(promotionType),
clientLockId: `promotion_${createUuidV4()}`,
createdAt: Date.now(),
};
await SessionAsyncUtil.setJson(
StorageKeys.pendingChatPromotion,
promotion,