Vercel.json being ignored? (React app redirects no longer working)

2 projects that we use vercel to deploy are experiencing the same bug.
The index works on new deploys but the redirect does not. e.g. refreshing /dashboard in our app 404s but index is ok.

We did not tinker with our vercel.info file, the last working build was on 18th december.
Today (22nd december) we deployed 2 applications and both had the issue. (They share similar configuration)

A day later, I managed to get something working by putting vercel.json in our /public folder.

This however feels weird because it is nowhere documented that it should be used like this.
Anyone who knows what can be improved?

our CI does the vercel deploy step as such

- name: Deploy to vercel staging
    image: harbor.internal.azure.wegroup.be/dockercache/library/node:lts-alpine
    environment:
      VITE_SENTRY_DSN:
        from_secret: VITE_SENTRY_DSN
      NOW_TOKEN:
        from_secret: NOW_TOKEN
      NOW_SCOPE: wegroupwolves
      ALIASES: |
        customers.staging.wegroup.be
        customers.staging.wegroup.nl
    volumes:
      - name: cache
        path: /tmp/drone/cache
    commands:
      - npm i -g vercel@28.12.8
      - |
        NOW_DEPLOYMENT_URL=$(vercel -t $NOW_TOKEN \
        -S $NOW_SCOPE \
        -c \
        ./dist)

Hi, @it-9851!

I saw that you replied with a solution but it looks like it was deleted, does that work for you now?

Correct, I rephrased the entire question to be more concise and to the point. (And added the solution to the original post)

Our solution was to move the vercel.json file to the public folder which gets copied over to vercel.

Before:

src
    /public
    /featureA
package.json
vercel.json // does not move to deployment

After:

src
    /public
        vercel.json // gets copied over to deployment
    /featureA
package.json

Note that the before just worked fine until ~22nd december. As far as we know, we didn’t change anything on our side. Everyone on our team looked at this issue.

Now everything is OK but we would like some clarity as this behavior is not documented anywhere.
In other words, we want to avoid this breaking in the near future.