Add a feature, or move a responsibility?
Adding Postiz social cross-posting looked done until a blunt question exposed a double-post bug, and a full audit of every posting path in the app found two more like it.
Notas sobre o software, os jogos e a música que saem da Imperfect Systems.
Feed RSSAdding Postiz social cross-posting looked done until a blunt question exposed a double-post bug, and a full audit of every posting path in the app found two more like it.
Cinco fatias de ~700 linhas, briefings que também perguntam o que está bem feito, e a etapa de verificação que separou bugs reais dos só plausíveis.
Roteando a publicação no Dev.to pelo Postiz e apagando o cliente nativo: o DTO que valida mais rígido que o runtime, o rascunho que não é rascunho, e uma capa perdida no storage local.
Adotando um linter em um código que nunca teve um, um hook de pre-commit sem framework, e três coisas que o runner macOS fez que a documentação não mencionava.
A API de compra é a parte fácil. As junções entre StoreKit 2, isolamento do Swift 6 e observação do SwiftUI foram onde o tempo foi.
Removendo a integração nativa com o Hashnode que nunca foi usada: 31 arquivos, +14/-1126, um grep que mentiu um pouco, e a pergunta de arquitetura que a remoção forçou.
Um spike que terminou em "não construa isso": rejeição de IP privado, um payload vazio sem autenticação, e a pull API que tinha tudo que a push API não tinha.
Um mini-player inline para quando o playback do MusicKit fica mudo no simulador: um protocolo de dois métodos, um indicador que mente de forma honesta, e um bug deixado de propósito.
Cinco testes reportando um «Crash» genérico: um helper bem-intencionado deixou o ModelContainer ser desalocado enquanto o store manteve seu context. Um context é algo emprestado.
O checker de isolamento baseado em regiões manda eu abrir um bug, e a Task não estruturada, hoje fora de moda, acaba sendo a ferramenta certa.
Página 9 de 12