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:
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.
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.
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 🕸🦇.
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.
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.
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.
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.
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
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.
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.
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 ✨🐙