A magica da arrumação das notificações do Github

A magica da arrumação das notificações do Github

Ter mais visibilidade das coisas que importam no nosso dia-a-dia pode ser um grande aliado pra melhorar nossa produtividade 👊

Recentemente tiveram atualizações que mudaram completamente a forma como lidamos com notificações no Github. Mas a maioria das pessoas que já estavam por lá antes disso, que já não davam tanta bola para notificações, hoje tem o problema de terem uma quantia desnecessária de ruído .

Trocentas notificações que sequer soubemos da onde vem.

Isso fica pior quando você tem organizações, times, tanto de empresas quanto de projetos pessoais, open source etc que são heavy users. Eu por exemplo estava com o inbox assim:

Screen Shot 2021-01-20 at 17.17.29.png

Então eu perdia o que eu realmente queria saber, como interações importantes do meu time ou PRs de projetos pessoais e via demais sobre o que eu não queria saber, tipo conversas de alguma issue aleatória de algum projeto que eu nem lembrava mais o que era.

O papel aqui é de ser similar a uma Marie Kondo em nossas notificações. Bora lá?

Inscrições

Toda vez que você conversa em alguma issue, pull request ou alguem @menciona o seu username você está participando de uma conversa e portanto fica automaticamente fica inscrito nela como participante. E por default recebemos notificações toda vez que estamos participando de algo.

Então você pode até hoje receber notificações de issues de muito tempo atrás e pra se livrar dela precisa não se esquecer de clicar para dar unsubscribe na issue em si assim que você vê-la.

Screen Shot 2021-01-20 at 22.02.57.png

Mas para ter uma visão geral de tudo que você está inscrito basta entrar no Settings > Subscriptions e selecionar as issues que você quer dar unsubscribe 🔕.

Nessa listagem dá pra filtrar por mais antigos, ou por repositório também.

Screen Shot 2021-01-20 at 22.06.48.png

Pessoalmente essa é a parte mais chata de tudo. Eu por exemplo, deixei acumular muuuita coisa e o "selecionar tudo" pegava apenas 25 das inscrições, então tive que ir de 25 em 25.

Mas posso garantir que ver essa lista limpa valeu a pena pois agora posso organizar o que estou participando de verdade ou não!

Ah! Lembrando que você também recebe notificações de gists caso você seja um autor ou alguém te mencione. Mas claro, você também pode dar subscribe ou unsubscribe no botão bem do todo de qualquer gists.

Assistindo

Bem ao lado existe a pagina de Watching 📺. Esta pagina mostra todos os repositórios do Github que você assiste.

Quando você assiste um repositório tudo que interagirem você vai ser notificado, desde comentários, issues, mudanças de estado de issues, PRs etc e você vai notar que nessa lista deve incluir repositórios que você é dono ou chegou a dar fork.

Então por exemplo, ao mesmo tempo que eu eu assistia repositórios que eu interagi anos atrás , os quais eu sequer me importava ativamente com as atividades atuais e principalmente TODAS as interações que estavam acontecendo nele, eu não assistia repositórios os quais eu era realmente responsável em organizações e que muitas vezes tinham pull requests que eram abandonados 🕸🦇.

Screen Shot 2021-01-20 at 17.30.22.png

No botão de watch podemos escolher entre receber notificações normais de participação(ex: marcações), efetivamente assistir tudo, ignorar completamente, como também pode customizar o que exatamente importa ou não no custom.

Screen Shot 2021-01-20 at 17.12.52.png

Então eu posso selecionar o que exatamente quero ser notificada, isso supre a necessidade de você só quer receber notificações de coisas importantes como PRs e issues.

Então é bom repensar o que importa e o que não importa e que tipo de notificações fazem sentido. Se você passa o olho e ignora talvez você deveria considerar para de assistir. Does this spark joy??✨

Se não, por que você precisaria estar inscrito em conversas especificas desse repositório?

É importante também não se deixar cair pelo FOMO(Fear of missing out), que é a ideia de você ter medo de estar "perdendo alguma coisa" e achar que precisa ter controle sobre tudo! 📵

Algumas perguntas boas são:

  • Se você não colabora nesse projeto há anos será que um dia você vai mesmo voltar a ser ativo por lá?
  • Será que você pode aceitar que não faz sentido cuidar do seu projeto pessoal antigo?
  • Seu projeto incompleto precisa mesmo te assombrar até hoje?

Caso você seja dono de algum projeto open source você também pode empaticamente ver se alguma issue, commit ou pull request é irrelevante e dar "Lock" na conversa. Isso evita futuras notificações não só pra você mas pra todas as pessoas.

Screen Shot 2021-01-20 at 22.48.10.png

Você pode encontrar o cadeadinho no canto inferior direito do que você quer bloquear 🔓.

Times

Outra fonte de notificações desnecessárias são times 👯‍♀️. Caso seu time seja marcado em alguma discussão você recebera notificações para todas as respostas. Além disso sendo code owner de algum projeto ou parte do código você fica como participando de tudo envolvido.

Em alguns casos isso é razoável mas em times grandes ou que tem muitas marcações de reviews, discussões etc vale a pena dar unfollow no time inteiro e manter o watch apenas em repositórios ou conversas que fazem sentido acompanhar.

Para ver os times que você é membro entre na organização do Github que você participa, clique na aba "Teams" dentro dos "Membros" da organização. Seria esse link: https://github.com/orgs/<nome da organizacao>/teams e dentro do time aperte no botão de dar unwatch.

Talvez o seu grupo da faculdade, ou organização de que você não é ativo mais não são relevantes pro desenvolvedor que você é hoje!

Não hesite em agradecer mentalmente pela oportunidade 🙏 e sair dele.

Inbox

Agora que já temos uma ideia sensata de como lidar com suas notificações falta saber lidar com elas.

Screen Shot 2021-01-20 at 22.49.38.png

Essa é a tela de notificações, você pode acessa-la pelo sininho no lado superior direito do seu github. Nela temos um inbox similar a seu email com todas as notificações.

Ainda bem que clicando em selecionar tudo você pode de fato selecionar todas as notificações do inbox.

Screen Shot 2021-01-20 at 17.29.24.png

Doi um pouco o coração mas recomendo simplesmente deletar tudo e aceitar uma nova vida de notificações ao seu Github 🌈 yay.

Triagem e filtros

Ao entrar no inbox não se esqueça de clicar nesse botão

Screen Shot 2021-01-20 at 17.18.02.png

Ele agrupa tudo do inbox por repositórios e isso deixa tudo muito mais claro.

O procedimento de triagem padrão é:

  • Você vê a notificação no seu inbox
  • Caso você tenha visto você marca como DONE, o que tira ela do inbox.
  • Caso você saiba que essa notificação tem alguma relevancia e quer salvar para ver depois existe a ação de SAVE.
  • Caso não faça sentido a notificação pra você pode ver A RAZÃO e em seguida dar unsubscribe naquilo que não faz sentido pra você.

Filtrando pela razão você pode facilmente saber sobre o que foi essa notificação, se foi marcação, mudança de status etc. Sabendo a razão para estar recebendo pode ser bom para saber o que vc precisa dar unwatch ou não.

Screen Shot 2021-01-20 at 23.46.49.png

Na pagina de notificações temos alguns filtros automáticos, que são:

  • 🎯 Assigned: Notificações de PRs que você fez ou issues que você é responsável.
  • 🗣 Participating: Notificações daquilo que você já comentou, foi marcado ou faz parte.
  • 🖐 Mentioned: Notificações de pessoas especificamente te marcando.
  • 🙌 Team Mentioned: Notificações de pessoas especificamente marcando o time marcando.
  • 👀 Review requested: Tudo que precisaria do seu review seja pessoal ou do seu time.

Eu também criei alguns filtros personalizados por exemplo:

Um para minha organização

org: Um para o repositório especifico repo:/ Para menções me um repositório especifico repo:/ reason:mention

Vi que futuramente vai sair o filtro por type e o state Sendo type o tipo como PR ou issue e state se está fechado, mergeado ou aberto.

Então por exemplo, para filtrar todos os PRs abertos de repositórios

type:pr state:open repo:anabastos.

Estou ansiosa para essa feature! 💕

Configuração

Por default, sempre que você tiver acesso a um novo repositório você automaticamente vai assistir esse repositório, e sempre que você entrar em um time novo você vai automaticamente ser inscrito todas as atualizações relativas ao time.

Mas dentro dos seus Settings -> Notifications você tem a opção de desmarcar essa configuração de assistir automaticamente.

https://docs.github.com/assets/images/help/notifications-v2/automatic-watching-options.png

Desmarcar essas opções é altamente recomendado porque você passa ter muito mais controle sobre o que quer ver ou não.

Nesta página de configurações você também pode configurar os seus emails, eu no caso não gosto de receber emails com esse tipo de notificação mas vi que existem pessoas que gostam de separar as notificações que recebem no Github e no Email, e na verdade até preferem via email porque ele tem a informação no próprio header, portanto pelo próprio Gmail por exemplo, você pode configurar as filtragens das notificações similar a este Gist) que eu achei.

Você pode ver mais sobre isso também na própria documentação do Github).

Espero que tenha sido útil pra você esse post e que ajude na sua produtividade no geral no Github ✨🐙