Conversation
…tus bar to start using edge to edge
| Review the following changes in direct dependencies. Learn more about Socket for GitHub.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| For posteristy, as discussed during the meeting, we should attempt to upgrade our node environment to the lts node release (v24). |
|
| Status | Count |
|---|---|
| 25 |
Click to toggle table visibility
| Name | Status | Previous | Current |
|---|---|---|---|
@esbuild/aix-ppc64 | - | 0.25.5 | |
@esbuild/android-arm | - | 0.25.5 | |
@esbuild/android-arm64 | - | 0.25.5 | |
@esbuild/android-x64 | - | 0.25.5 | |
@esbuild/darwin-arm64 | - | 0.25.5 | |
@esbuild/darwin-x64 | - | 0.25.5 | |
@esbuild/freebsd-arm64 | - | 0.25.5 | |
@esbuild/freebsd-x64 | - | 0.25.5 | |
@esbuild/linux-arm | - | 0.25.5 | |
@esbuild/linux-arm64 | - | 0.25.5 | |
@esbuild/linux-ia32 | - | 0.25.5 | |
@esbuild/linux-loong64 | - | 0.25.5 | |
@esbuild/linux-mips64el | - | 0.25.5 | |
@esbuild/linux-ppc64 | - | 0.25.5 | |
@esbuild/linux-riscv64 | - | 0.25.5 | |
@esbuild/linux-s390x | - | 0.25.5 | |
@esbuild/linux-x64 | - | 0.25.5 | |
@esbuild/netbsd-arm64 | - | 0.25.5 | |
@esbuild/netbsd-x64 | - | 0.25.5 | |
@esbuild/openbsd-arm64 | - | 0.25.5 | |
@esbuild/openbsd-x64 | - | 0.25.5 | |
@esbuild/sunos-x64 | - | 0.25.5 | |
@esbuild/win32-arm64 | - | 0.25.5 | |
@esbuild/win32-ia32 | - | 0.25.5 | |
@esbuild/win32-x64 | - | 0.25.5 |
| Warning Review the following alerts detected in dependencies. According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.
|
| Also Upgraded to Node 24 |
Im pleasantly surprised that went without a hitch. I was expecting all the CI to break! |
ErikSin left a comment
There was a problem hiding this comment.
Looks really good. the edge to edge is really nice. It also inadvertently fixes the aspect ratio on the camera!
Remote archive is being sketchy, but I think that isn't related to this upgrade. Just mentioning it for posterity.
I went through the entire manual testing guide. I did notice a weird error where if you switched the exchange settings the whole app crashed, but I CANNOT recreate it. So not a blocker, but if you don't mind trying it just to confirm.
2 blocking comment, which are pretty small
- the track screen is a little off. Im not sure why this PR touched that, but it does not look like this in develop
- I think we should pin the node version to the highest node version in the nvmrc. Im hoping this is small thing....but i see that tests are breaking now and my (uneducated) guess is that it is due to the node version.
| @@ -1,6 +1,6 @@ | |||
| import * as React from 'react'; | |||
| import {StyleSheet, View} from 'react-native'; | |||
| import {Ionicons} from '@expo/vector-icons'; | |||
There was a problem hiding this comment.
What was@expo/vector-icons? It was never in our package.json so how were we using it?
There was a problem hiding this comment.
https://docs.expo.dev/guides/icons/#expovector-icons
The @expo/vector-icons library is installed by default on the template project using npx create-expo-app and is part of the expo package. It is built on top of react-native-vector-icons and uses a similar API. It includes popular icon sets you can browse at icons.expo.fyi.
| "@babel/core": "7.28.5", | ||
| "@babel/preset-env": "7.28.5", | ||
| "@babel/runtime": "7.28.4", | ||
| "babel-preset-expo": "54.0.9", |
There was a problem hiding this comment.
What is this being added for?
There was a problem hiding this comment.
It is necessary now for Expo 54. I didn't run the automatic upgrade and I missed adding it, thinking it was just for the compiler. So when I tried to run the code I got this error:
"Cannot find module 'babel-preset-expo'"
README.md Outdated
| 1. Install [Node](https://nodejs.org), ideally through a proper node version manager such as [nvm](https://github.com/nvm-sh/nvm), [fnm](https://github.com/Schniz/fnm), [asdf](https://asdf-vm.com/), or [mise](https://mise.jdx.dev/) | ||
| | ||
| - This project uses **Node v20** with **npm v10** | ||
| - This project uses **Node v24+** with **npm v10** (LTS) |
There was a problem hiding this comment.
I think we should be using the npm version that corresponds with node version, which you can find here - if you click "details".
based on that we should be using npm 11
.nvmrc Outdated
| @@ -1 +1 @@ | |||
| 20.19.5 | |||
| 24 | |||
There was a problem hiding this comment.
I think we should be more specfic and set it to 24.13.0 (the latest)
| Ok I think I fixed the track screen. It no longer seems to need the safe area context since we are dealing with that in the app as a whole. It was just doing extra unneeded spacing in here, I think, which we must have needed before. Also, I tried switching the exchange settings and all was fine. Back and forth and back and forth again. |
ErikSin left a comment
There was a problem hiding this comment.
Looks Good, especially the edge to edge on the map screen!

closes #1647
closes #1497
Upgrades to Expo 54, the last Expo upgrade that does not force the new architecture.
The biggest differences are related to
The navigation bar is now colored medium grey, which matches what it used to be and is more noticeable and useful on my Samsung (that has a navigation bar) than the Pixel 8 in most of the photos.
I also had to adjust the status bar content color depending on if the screen was dark or light. For the default, since our app has mostly a white background, I used the dark content. For some others with dark backgrounds (see photos) I used light content. For the Camera screen, I had to use the StatusBar since the options couldn't be set in the tabs.
Small Changes
.nvmrcfile