DEV Community

Tue
Tue

Posted on

First time being Sheriff

Oh, not that Sheriff guys, this Sheriff. On the side note, I seriously need to add things I've learned to a list to remind myself.

Being sheriff

I was a lot of work for sure, I had to manage the repo, move issues/PRs forward, assign them to the right people, reorganize milestones, and I went even further reviewing most of the PRs submitted this week. Here's what I've learnt:

  • React Context through Diana's PR, and a chance to look at Abdul's PR on React custom hooks that I didn't look
  • How does Telescope use JWT to authenticate
  • How does auto deployment server inject variables that are only determined during run time
  • How do we use turbo repo in telescope, and plan to transform and manage Telescope as a monorepo

And of course, gained more knowledge on how Telescope works as a whole.

The hardest part wasn't reviewing work from other contributors (though it was hard reading and understanding them), it was organizing issues and PRs into correct milestones, there were a lot of them :D.

Breaking production

We can't seem to just have a zero in our version number 😃. There were a number of bugs but one of them was critical. We're changing the way both Satellite and Telescope use JWT because we've introduced Supabase to our project. Basically, we changed Satellite to use JWT_SECRET instead of SECRET but Joel's PR forgot to change the variables in env.staging and env.production which resulted in this error

  if (!options || !options.secret) throw new Error('secret should be set');
                                   ^

Error: secret should be set
    at module.exports (/home/node/app/node_modules/express-jwt/lib/index.js:20:42)
    at isAuthenticated (/home/node/app/node_modules/@senecacdot/satellite/src/middleware.js:8:10)
    at Object.<anonymous> (/home/node/app/src/routes/register.js:17:3)
    at Module._compile (node:internal/modules/cjs/loader:1103:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1155:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/home/node/app/src/routes/index.js:8:25)
Enter fullscreen mode Exit fullscreen mode

My contribution:

I wrote a simple test for the dependency-discovery service which required me to refactor an export of the module to mock one
of the functions so that we wouldn't rely on the deps.txt file.

I managed to fix renovate bot issues and my parser service is very close to be merged. Oh, please Tue, remember to remove unnecessary dependencies next time you work on something similar 🙃.

Top comments (0)