fix(feishu): streamline menu card layout and update help card

- Move preset/model/archive controls from settings card to main menu
- Arrange 4 dropdowns in 2x2 grid with external icons
- Align steer and archive side by side
- Replace #showSettingsCard with #sendMenuCard for preset/model/archive updates
- Add #sendMenuCard after 'new' button action for consistency
- Update help card to reflect current menu layout (12 items)
- Clean up duplicate sessionlist entries in menuHelpText
- Add missing English dictionary entries
This commit is contained in:
C3H3-AI 2026-08-24 09:46:32 +08:00
parent 044ab74c28
commit 45f55f73eb
5 changed files with 300 additions and 194 deletions

View file

@ -2679,7 +2679,7 @@ test('card buttons from an allowed sender work', async () => {
await bridge.onCardAction(cardActionEvent('om_card_1', 'new', 'ou_owner'));
await bridge.waitForIdle();
assert.equal(sent.length, 2, 'allowed operator click should send a reply');
assert.equal(sent.length, 3, 'allowed operator click should send a reply + menu card update');
});
test('card buttons honor the wildcard sender allowlist', async () => {

View file

@ -48,8 +48,8 @@ test('menu exposes the increased command set and keeps repair number-only', () =
button.behaviors?.map((behavior) => behavior?.value?.action) ?? []
));
assert.deepEqual(actions, [
'new', 'sessions', 'workspaces', 'stop', 'compact',
'status', 'help', 'settings',
'presets', 'models', 'new', 'sessions', 'workspaces',
'stop', 'compact', 'archive_toggle', 'status', 'help',
]);
// 修复不占位按钮:仅通过数字兜底「5🔧」触发(见 bridge)
assert.equal(actions.includes('repair'), false);