Repro: focus a bed → "+ Add plant" → pick a plant that has never been placed in this garden → picker stays open, nothing is armed; closing it and tapping the bed just moves the bed.
Root cause: GardenEditorPage.onPickPlant resolves the chosen plant via plantsById, which is built from full.data.plants = store.ListReferencedPlants (only plants already used in the garden). The PlantPicker offers the full catalog (usePlants()), so a not-yet-referenced plant isn't in the map → the handler returns early, before setArmedPlant and before setPicker(null).
Fix: use the full Plant object the picker already provides; splice it into the garden-full cache plants array so a placed plop renders with its icon/color before the next refetch.
Feature: Seed Tray (quick list)
A persistent, per-garden row of plant chips in the focus-mode toolbar: tap a chip to arm that plant immediately (skip the picker); picking from the catalog adds it to the tray; a small ✕ removes it. Persisted in localStorage (mirrors the existing "recent plants" mechanism). Makes repeat placement of a known set of plants fast.
From a direct request during a working session.
## Bug: selecting a plant in the picker does nothing
Repro: focus a bed → "+ Add plant" → pick a plant that has never been placed in this garden → picker stays open, nothing is armed; closing it and tapping the bed just moves the bed.
Root cause: `GardenEditorPage.onPickPlant` resolves the chosen plant via `plantsById`, which is built from `full.data.plants` = `store.ListReferencedPlants` (only plants already used in the garden). The `PlantPicker` offers the **full** catalog (`usePlants()`), so a not-yet-referenced plant isn't in the map → the handler `return`s early, before `setArmedPlant` and before `setPicker(null)`.
Fix: use the full `Plant` object the picker already provides; splice it into the `garden-full` cache `plants` array so a placed plop renders with its icon/color before the next refetch.
## Feature: Seed Tray (quick list)
A persistent, per-garden row of plant chips in the focus-mode toolbar: tap a chip to arm that plant immediately (skip the picker); picking from the catalog adds it to the tray; a small ✕ removes it. Persisted in `localStorage` (mirrors the existing "recent plants" mechanism). Makes repeat placement of a known set of plants fast.
From a direct request during a working session.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Bug: selecting a plant in the picker does nothing
Repro: focus a bed → "+ Add plant" → pick a plant that has never been placed in this garden → picker stays open, nothing is armed; closing it and tapping the bed just moves the bed.
Root cause:
GardenEditorPage.onPickPlantresolves the chosen plant viaplantsById, which is built fromfull.data.plants=store.ListReferencedPlants(only plants already used in the garden). ThePlantPickeroffers the full catalog (usePlants()), so a not-yet-referenced plant isn't in the map → the handlerreturns early, beforesetArmedPlantand beforesetPicker(null).Fix: use the full
Plantobject the picker already provides; splice it into thegarden-fullcacheplantsarray so a placed plop renders with its icon/color before the next refetch.Feature: Seed Tray (quick list)
A persistent, per-garden row of plant chips in the focus-mode toolbar: tap a chip to arm that plant immediately (skip the picker); picking from the catalog adds it to the tray; a small ✕ removes it. Persisted in
localStorage(mirrors the existing "recent plants" mechanism). Makes repeat placement of a known set of plants fast.From a direct request during a working session.