Skip to content

Conversation

@andrictham
Copy link
Owner

Summary

  • add dialog UI component
  • allow setting a personal OpenRouter API key
  • encrypt/decrypt API keys in Convex
  • use per-user API key when sending messages
  • test encryption helpers
  • fix JSX fragment in nav menu

Testing

  • pnpm lint
  • pnpm test:once

https://chatgpt.com/codex/tasks/task_e_684ef1f473ec8322a226925798d2fb73

@netlify
Copy link

netlify bot commented Jun 15, 2025

Deploy Preview for hyperwavechat failed. Why did it fail? →

Name Link
🔨 Latest commit 5eac5d3
🔍 Latest deploy log https://app.netlify.com/projects/hyperwavechat/deploys/6851083cd82263000822c48e

- Pass selected model through in new implementation
- Added TODOs for missing logic causing sending a message in a new chat to fail
There is a backend mutation that creates a thread and another that streams a message asynchronously.

But the create thread is not yet implemented. This commit implements it.

# Flow for new chat:
1. The user is on the homepage (meaning this is a new chat)
2. They type some message in the input box
3. They press send
4. At this point we should flip on a loading state (call it isCreatingThread) and then do the mutation to create a thread
5. When that mutation succeeds we should immediately call the async stream message mutation optimistically, after which navigate to that page with the thread ID. And turn off that loading state and reset the message input box

While isCreatingThread is true the app should grey out the input box first (with the user's message inside) and show an animated loading spinner icon in place of the arrow icon in the send button.
- Auto scroll to bottom
- If user interrupts scroll, it doesn’t auto-scroll
- If user is not at bottom, show scroll to bottom button
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants