#@convex-dev/expo-push-notifications causing dependency issues with latest Expo SDK ~52.0.19

72 messages Β· Page 1 of 1 (latest)

upbeat quail
#

Was confused as to why i was getting this result after running expo-doctor in my project:

And after troubleshooting a bit, and having a talk with AI about it, after sending it a ton of different readouts from npm why etc it ended up saying that it seems like my @convex-dev/expo-push-notifications has mismatch in its depenedencies

I'm fairly sure this doesnt mean i cant export my eas build, as it should be fine. As the component wont ever interfeer with my app native modules.

But i'm sure this would be nice for you guys to know?

The package "expo-modules-autolinking" should not be installed directly in your project. It is a dependency of other Expo packages, which will install it automatically as needed.

Expected package expo-modules-autolinking@~2.0.0
Found invalid:
  expo-modules-autolinking@1.11.3
  (for more info, run: npm why expo-modules-autolinking)
Expected package @expo/config-plugins@~9.0.0
Found invalid:
  @expo/config-plugins@8.0.11
  @expo/config-plugins@8.0.11
  (for more info, run: npm why @expo/config-plugins)
Expected package @expo/prebuild-config@~8.0.0
Found invalid:
  @expo/prebuild-config@7.0.9
  (for more info, run: npm why @expo/prebuild-config)
Expected package @expo/metro-config@~0.19.0
Found invalid:
  @expo/metro-config@0.18.11
  (for more info, run: npm why @expo/metro-config)
Expected package metro@^0.81.0
Found invalid:
  metro@0.80.12
  (for more info, run: npm why metro)
Expected package metro-resolver@^0.81.0
Found invalid:
  metro-resolver@0.80.12
  (for more info, run: npm why metro-resolver)
Expected package metro-config@^0.81.0
Found invalid:
  metro-config@0.80.12
  (for more info, run: npm why metro-config)
#

@convex-dev/expo-push-notifications causing issues with latest Expo SDK ~52.0.19

#

@convex-dev/expo-push-notifications causing dependency issues with latest Expo SDK ~52.0.19

sleek schooner
#

I do see that the expo notifications component is at the 0.28 range, guessing expo 52 wants 0.29? But I'm not sure how this output is related

upbeat quail
#

I might be wrong then

sleek schooner
#

Well, your conclusion makes sense, I'm just saying I don't see the connection with this output if this the only error you're getting

#

This output is telling you not to install expo-modules-autolinking as a direct dependency

#

and that it doesn't like some of your versions, but you can run doctor to fix those

upbeat quail
#

Yeah, the output above is from running npx expo-doctor

I've also opened a support request with expo to see if they can help conclude something from this.

I've done following:

  • cleared npx cache
  • cleared yarn cache
  • rm -rf node_modules
  • delete yarn.lock
  • yarn expo install --fix

Nothing really seem to change the result from running npx expo-doctor

#

I just noticed something else. Seems like @convex-dev/expo-push-notifications is bringing in the whole tamagui library??

That seems like a mistake

#

Can also confirm that yarn remove @convex-dev/expo-push-notifications fixes the issue above with the dependency issues

sleek schooner
sleek schooner
upbeat quail
#

I made an issue on the github repo about the tamagui, so it's not just laying around here

upbeat quail
sleek schooner
#

@upbeat quail going to publish a test version can you see if it works for you

upbeat quail
#

Ohh thanks Shawn!

#

absolutely

sleek schooner
#
npm install @erquhart/expo-push-notifications@0.1.2-github.pr.7
#

It's on my personal for testing purposes, contains the fix in that PR

#

oh wait

#

nope

#

did not build before publishing lol

#

one sec

#
npm install @erquhart/expo-push-notifications@0.1.2-github-pr-7.1
#

That should be good to go, just swap @convex-dev/expo-push-notifications for @erquhart/expo-push-notifications to test after installing wherever you import

upbeat quail
#

Alright got it, i was about to clone it and all that haha

#

didnt know i could do yarn install @erquhart/expo-push-notifications@0.1.2-github-pr-7.1

#

u live u learn

sleek schooner
#

like specific version?

upbeat quail
#

I was just about to clone the repo and checkout ur pr and do it that way

sleek schooner
#

aah gotcha

#

that's what I did, then built and published to npm

upbeat quail
#

Ahhh i see

sleek schooner
#

but I do think you can do it from a github sha as well...actually I probably should have just done that lol

upbeat quail
#

I was about to use yarn link and stuff

#

Ive never tried this before, love it

#

πŸ˜†

sleek schooner
#

If we can get this specific build confirmed working for you then that validates the PR I linked above

upbeat quail
#

Works like a charm ✨

sleek schooner
#

Sweet

#

Can you confirm it actually does what it's supposed to do beyond just not causing errors

#

it has like no dependencies now so I'm half worried I broke something lol

#

(it would have failed ts though if that were the case, just being paranoid)

upbeat quail
#

Yes thought the same think, about to do that hahah πŸ‘€

#

classic "YUP WORKS NOW"

sleek schooner
#

Like, this component doesn't even depend on the expo notifications lib, it's just convex and convex helpers

upbeat quail
#

Yeah, so it was all just for the example?

sleek schooner
#

So I guess it's just coordinating all of the annoying backend state parts of notifications, but you still do all of the direct expo-notifications bits you normally would

sleek schooner
upbeat quail
#

Its funny when we installed it, i did not at all look at the dependencies

#

I should do that more often

#

that was like atleast 1 month ago, and the tamagui ui pkg is quite big. prob not the end of the world. But in a big project, every small bit counts i guess

sleek schooner
#

no one does and we all should lol

#

i never do

#

nonchalantly shipping tamagui for no reason lol

#

maybe tree shaken out

upbeat quail
#

Yeah hopefully HAHA

#

if not we just shipped tamagui in the shadows

sleek schooner
#

just in case

#

never know when you'll need the largest ui kit known to man

upbeat quail
#

lmao

#

I mean convex dev runs and stuff, testing if the push notifications etc works right now would take me a bit. Since the way we do our builds is that we have different identifiers for development, preview and production builds. And seems like expo push tokens dont register in our system for the environment im in right now, but thats unrelated to the convex component though

#

I can report back in the morning when im at the office, and test this on a preview deployment, but its late now and im heading to bed so out of time

sleek schooner
#

ah okay, no problem - no reason it wouldn't work, everything in the component is convex code, nothing external

upbeat quail
#

Yeah i totally agree

upbeat quail
#

Update: found out i could test in my environment, funny enough what happened was my "sleep" mode has turned on cuz of my sleep schedule on my phone. So the push notification got ignored by my phone. Saw it just now as i got in bed

#

well kudos to apple, that feature certainly works - dangerous for app developers working later than their sleep schedule though πŸ˜†

sleek schooner
#

lol that's awesome

#

Thanks for the update!

short crypt
#

fix released in @convex-dev/expo-push-notifications@0.1.3 thanks!