Skip to content

Fix conv list refresh#12

Open
leidaozi wants to merge 2 commits into
PsycherosAI:mainfrom
leidaozi:fix-conv-list-refresh
Open

Fix conv list refresh#12
leidaozi wants to merge 2 commits into
PsycherosAI:mainfrom
leidaozi:fix-conv-list-refresh

Conversation

@leidaozi

@leidaozi leidaozi commented Jun 17, 2026

Copy link
Copy Markdown

Summary

Fixes new conversations not appearing in the sidebar until a full app restart. The #conv-list element used hx-trigger="load", which fires once on initial render and cannot be re-triggered. The existing code called htmx.trigger('#conv-list', 'load') after creating a conversation, which was a silent no-op since 'load' has no persistent listener. Added a second trigger name (refresh-conv-list) that can actually be fired manually, and updated both call sites to use it.

Affected packages

  • packages/psycheros
  • packages/entity-core
  • packages/entity-loom
  • packages/launcher
  • Workspace root / CI / docs

Checklist

  • deno check passes for the affected entry points
  • deno lint passes (templates.ts checked clean; web/js/ is excluded from lint by this repo's own deno.json)
  • deno fmt --check passes (templates.ts checked clean; web/js/ is excluded from fmt by this repo's own deno.json)
  • First-person convention preserved in any new prompts / comments / docs (no new prompts or comments were added)
  • If a behavior changed, the relevant docs/ or CLAUDE.md is updated
  • If a new external dependency was added, it's justified in the description (none was added)

deno check could not be verified locally. It attempted to resolve type definitions from jsr.io and download a native binary, and neither was reachable in my environment. The change itself is limited to a string literal in an HTML template and two function-call arguments, so it's unlikely to affect type checking, but this was not confirmed directly.

Related issues

N/A — found while debugging locally, not filed as a separate issue first.

leidaozi added 2 commits June 17, 2026 00:44
Fire refresh-conv-list instead of broken load retrigger

htmx.trigger('#conv-list', 'load') in newConversation() and
sendMessage() never actually refreshed the sidebar, since 'load'
only fires once and has no listener to catch a manual re-trigger.
Switching both calls to refresh-conv-list uses the new trigger
added in the previous commit, so the sidebar now updates
immediately when a conversation is created.
Add refresh-conv-list trigger to #conv-list

hx-trigger="load" only fires once and can't be re-triggered later,
so the existing code calling htmx.trigger(elt, 'load') after creating
a conversation was a no-op. Adding a second trigger name fixes that.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant