thedevstockgirl
thedevstockgirl4mo ago

As this product becomes more mature, it is important not to break things with the updates.

Updating to "convex": "^1.15.0", caused some cryptic error for me. And I spent some valuable time trying to figure it out. Rolling back and pinning to "convex": "1.14.0" took the error away. Same for "convex-helpers": "0.1.53", showing some error about no bin. Rolling back to "convex-helpers": "0.1.52", also took that error away. We ideally prefer not to pin packages, and have our CI do automatic updates and run test against them. This broke our CI. Thank you.
No description
37 Replies
jamwt
jamwt4mo ago
hi @thedevstockgirl . we agree completely. the existing commitment has been that any app built on convex 1.x will continue to work without changes on any other 1.x. aka, we've always maintained backwards compatibility. so it sounds like what you're running into is a plain old bug -- there's no value misalignment here. we'll dig in and see if we can help however unfortunately this does not apply to convex-helpers. convex helpers is an experimental library that is pre 1.0, and it has the freedom to break. ian (and the rest of us) do our best, but it does not have as much testing, and this commitment isn't firm from convex we'll be stabilizing parts of convex helpers into a supported 1.x library in convex, but there will probably ~always be new experimental things in parts of convex-helpers, since we iterate on new ideas in there but still happy to try to help figure out what's going on! might be another easy fix that we've missed somehow
thedevstockgirl
thedevstockgirlOP4mo ago
Ok. good to know. The 1.15 did break though. At least for us. Will pin the convex-helpers for now. And only update when we can test locally. Would be great to not have to pin the main convex project. Thank you
jamwt
jamwt4mo ago
you should not have to pin convex, so happy to try to figure out what went wrong there if you have more details.
thedevstockgirl
thedevstockgirlOP4mo ago
Well, did not make much progress. After having others try to debug it, I just decided to roll back. And voila, no more bug. All I did was pin to. 1.14.
thedevstockgirl
thedevstockgirlOP4mo ago
jamwt
jamwt4mo ago
gotcha. looks like perhaps there's a regression in the command line client, or something else. is this on mac?
thedevstockgirl
thedevstockgirlOP4mo ago
Yes
jamwt
jamwt4mo ago
thanks. and other developers on the same codebase also have this issue when they update to 1.15?
thedevstockgirl
thedevstockgirlOP4mo ago
Yes. We all use Mac Just tried 1.14.4. Also, same problem. But 1.14.0 works
jamwt
jamwt4mo ago
okay. hmm. sorry to hear that, yeah... that should not be happening. gonna escalate this to the eng team right now and see if we can figure something out. we'll report back
thedevstockgirl
thedevstockgirlOP4mo ago
Ok. Thanks so much 🙏
ballingt
ballingt4mo ago
Very little changed between 1.14.0 and 1.14.4, thanks for checking 1.14.4, that narrows it down a lot
Jordan22
Jordan224mo ago
can you please share a screenshot of the error you saw with convex helpers? we did a release today. i want to see if i can reproduce your error locally
ballingt
ballingt4mo ago
@thedevstockgirl sorry to ask again, but could you confirm this is also an issue with 1.14.4? There are some candidates in 1.15.0 but I don't see much in 1.14.4.
thedevstockgirl
thedevstockgirlOP4mo ago
Yes. This was after I installed 1.14.4
No description
thedevstockgirl
thedevstockgirlOP4mo ago
@Jordan22 , convex-helpers:
No description
ballingt
ballingt4mo ago
Could you share what this pnpm dev package.json script does? wondering if it's something besides the convex dev
Jordan22
Jordan224mo ago
what command were you running when you got this warn/error?
ballingt
ballingt4mo ago
@Jordan22 just heard from someone else, the bin thing could be an pnpm-specific issue is reproducible
thedevstockgirl
thedevstockgirlOP4mo ago
Just on install
pnpm with-env convex dev --tail-logs
pnpm with-env convex dev --tail-logs
@Tom, the above is run in the api folder In other folders, we use convex.json with the below: ``` "dev": "concurrently --restart-tries 3 "pnpm:dev:backend" "pnpm:dev:next" --names "backend,next" --prefix-colors green,blue", "dev:next": "pnpm with-env next dev", "dev:backend": "pnpm with-env convex dev --tail-logs", Happen in either api folder when running convex directly. or in any other folder using the convex.json to simultaneously run convex
ballingt
ballingt4mo ago
@thedevstockgirl does it happen without --tail-logs too?
thedevstockgirl
thedevstockgirlOP4mo ago
I have to install again. And check again. 😦 Let me do that now
ballingt
ballingt4mo ago
sorry about that, really appreciate the help here. I'm trying for a reproduction but I don't have one yet
thedevstockgirl
thedevstockgirlOP4mo ago
Weirdly, gone. 😦
No description
No description
No description
thedevstockgirl
thedevstockgirlOP4mo ago
Not sure how or why, after installing and re-installing several times.
ballingt
ballingt4mo ago
weird! One way that "filesystem changed during push" can occur is when there's another convex running in the background, because it keeps codegening and the other convex notices the changes a reason that the version would depend on this is that the codegened files write the version number in the files, so two convex processes running different version try to write different codgened file contents
thedevstockgirl
thedevstockgirlOP4mo ago
Ok. I've also seen that several times and been meaning to log a bug. When we control c on a running convex it keeps going in the background How can we ensure it is killed on "control c" That makes a lot of sense
ballingt
ballingt4mo ago
Sometimes this is the thing running convex (e.g. concurrently) not forwarding the ctrl-c sigint correctly, but we've also been playing with things that could conceivably be related https://github.com/get-convex/convex-js/commit/9c53aab63017ce5c4ecbc4ec4b1ac6a01fd259fa that one probably isn't the cause here, but it's the kind of thing that want to make sure we handle
thedevstockgirl
thedevstockgirlOP4mo ago
Ok. Our api folder does not have the concurrently script. And it happens there all the time.
ballingt
ballingt4mo ago
What's the command that runs this here, it's pnpm dev running pnpm with-env convex dev? conceivably it's with-env, we don't test with that — but it might be convex too oh nevermind, that's pnpm with-env
thedevstockgirl
thedevstockgirlOP4mo ago
yes. That just calls dotenv. Should have no impact
ballingt
ballingt4mo ago
Sarah is actively looking into signal handling, maybe she has ideas for this. Helpful to hear it happens all the time, I'll set up a pnpm project and try automating it if I don't get in a a few dozen tries
thedevstockgirl
thedevstockgirlOP4mo ago
Ok. Sounds good. Thanks so much for looking into this.
ballingt
ballingt4mo ago
Thanks a bunch for running the experiments We're working on the convex-helpers thing, looks like a packaging issue where the package.json says the bin is at dist/bin.cjs but it's actually at bin.cjs
thedevstockgirl
thedevstockgirlOP4mo ago
Ok. Sounds good. thank you
ballingt
ballingt4mo ago
released convex-helpers 0.1.54 with a working bin for everyone's API generation needs
thedevstockgirl
thedevstockgirlOP4mo ago
Awesomeness. Thank you