Aggregation stuff
Yeah, as opposed to heavy queries, which I did a ton of formerly, I'm now leaning toward heavier mutations so the queries are fast. Especially given how indexing and ordering work in convex, if I want to paginate on any kind of derived value, storing computed values is required.
Just checking to make sure I'm not holding it wrong....
Filtering vs indexing
hey does filter: (q) => q.eq("cuisine", "French"), in vectorSearch means it only doing search where cuisine is French
AI Response Streaming Pattern and Costs
When implementing the AI response streaming example where each chunk gets patched to a message, on a loop, the number of function calls and consequently reads basically explodes.
Do you have any plans to treat patches and reads affected as a different billing category? I think the mental model of doing it like this (via DB) is brilliant, but Iโm concern Iโll be doing bad optimizations just to be more long term cost conscious.
How are you/should I be thinking about this?
Should I architect this type of stuff with a web socket instead and only persist once the stream is done? Thanks in advance advance. p...
Sharing DB between developers
I want to share the DB with my mate so everything that we both do in solo dev environments(each one on his local host) pushes to the same base/tables
SpacetimeDB
I just wrote a post about my attempt to do some tinkering with SpacetimeDB (https://spacetimedb.com/).
Although not strictly Convex related I do refer back to convex quite a bit so it might be interesting to those here:
https://mikecann.co.uk/posts/tinkering-with-spacetime-db...
HIPAA / Project management API
Couple questions regarding roadmap (or, if these are already available and I just haven't found them, even better):
- Any plans to support HIPAA (or related) compliance?
- Any plans for a "project management" API? Specifically, a way to create and setup schemas/scheduled functions, etc via an API? Bonus points if it could just duplicate the config of an existing project...
Declarative, type safe authz pattern
I've been working on an authz framework pattern that's declarative and type enforced, and I'm about to start rolling it out across my project. Thought I'd drop some info about it in a thread. Thoughts/feedback welcome! ๐งต
Curious if theres been any thought to
Curious if theres been any thought to having a more formalized way of declaring authed queries and having the query client automatically skip those until the convex auth is fully initialized.
I find myself having to do a lot of render blocking of components with queries to authed endpoints so they don't throw while the auth is initializing during first app load. I could add
skip
param to every query behind the auth wall, but that seems less than ideal.
Any patterns or approaches here that I'm not thinking of?...Deploy convex in 2 different apps help
Hello guys! I am trying to create a web app for handling deliveries for a restaurant and my idea ( I am just starting in this world) is to build two separate apps one for customers and other for the restaurant owner, both connected to the same convex database, but when I deploy both, one of them fails. Please let me know if there is documentation about this I looked in the Docu and could not find anything.
Dashboard feature requests
1 ) I'd really really love a line number/counter next to the resultin lines.
2) And a total matching result indicator.
3) Also would be super nice if there was a download filtered result button, maybe it's only enabled if the result is less than 500 rows or something.
Not complaining, just suggesting useful features ๐...

_.template
I was trying to use the Lodash templating feature in an action, but it's erring out with
Uncaught EvalError: Code generation from strings disallowed for this context
Any known work arounds?
https://docs-lodash.com/v4/template/...Has anyone got Hono with Convex working
Has anyone got Hono with Convex working? Trying to follow this article: https://stack.convex.dev/hono-with-convex but running into errors:
The above line of the lookup method seems broken -
const mostSpecificHandler = match.handlers[match.handlers.length - 1];
const mostSpecificHandler = match.handlers[match.handlers.length - 1];
match
doesnt have a property handlers
. ...Yep, you can organize these exactly like
Yep, you can organize these exactly like this! Then on the client you'd use
api.transactions.queries.yourQueryName
to specify the query named yourQueryName
exported from convex/transactions/queries.ts
How reactivity works
Thanks for the feedback! So whenever a table is
.query
'd, we keep track of the read ranges -- what index was used and what range within that index