jackwener/maka-agent

fix(desktop): slash picker alternates between two popup sizes after typing /r

开放

#2,667 创建于 2026年8月11日

 (1 条评论) (0 个反应) (0 位负责人)TypeScript (0 个派生)github user discovery
bughelp wanted

仓库指标

星标
 (1 个星标)
PR 合并指标
 (30 天内没有已合并 PR)

描述

What happened

After typing /r in the session composer, the slash command/Skill picker does not remain in one stable state. It repeatedly alternates between two different popup windows with different sizes.

The two windows appear in turn with a visible animated transition, creating a continuous flickering/pulsing effect even when the user is no longer typing. This is not simply the expected resizing that occurs when the query changes: the query remains /r, but the UI keeps switching between the two popup geometries on its own.

The attached screenshots capture the two alternating visual states, but a static screenshot cannot show the repeated switching animation.

How to reproduce

  1. Open Maka Desktop and focus the session composer.
  2. Type /r.
  3. Stop typing and leave the query unchanged.
  4. Observe the slash command/Skill picker for several seconds.

Actual result: While the input remains /r, two popup windows with different sizes repeatedly replace each other, accompanied by an animated transition. The picker appears to flicker or pulse continuously.

Expected result: For an unchanged /r query, the picker should settle into one stable results state. It should remain anchored to the composer with stable geometry and must not alternate between multiple popup containers or repeatedly replay a transition animation.

Environment

  • Maka version or commit: unknown
  • OS and version: macOS (exact version unknown)
  • Surface: Desktop
  • UI language: Simplified Chinese

Additional context

Two screenshots were captured during the same unchanged /r interaction. They represent the two popup sizes that alternate repeatedly. The screenshots alone do not show the animated switching behavior.

Suggested areas to verify:

  • Whether command results and Skill results are racing between separate render states.
  • Whether asynchronous Skill loading or filtering repeatedly changes the empty/populated state.
  • Whether a popup transition is remounted or replayed because its container identity changes.

Suggested acceptance scenarios:

  • With /r left unchanged, the picker settles and remains visually stable.
  • Command and Skill result updates render inside one stable container rather than alternating between containers.
  • Loading, populated, and empty states do not enter a render loop.
  • The popup does not repeatedly replay its enter/resize animation without additional input or data changes.
  • Width and anchoring remain stable across result updates and near viewport boundaries.

Related: #1912 previously moved the composer Skill surface onto the shared Astryx popover primitives; this issue concerns repeated state/geometry switching after entering /r, rather than surface styling.

贡献者指南