fix(desktop): slash picker alternates between two popup sizes after typing /r
#2 667 ouverte le 11 août 2026
Métriques du dépôt
- Stars
- (1 étoile)
- Métriques de merge PR
- (Aucune PR mergée en 30 j)
Description
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
- Open Maka Desktop and focus the session composer.
- Type
/r. - Stop typing and leave the query unchanged.
- 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
/rleft 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.