O projeto mnm está construindo um substituto legítimo para o email: um cliente (veja abaixo), um servidor e um protocolo simples entre eles.
Saiba mais em mnmnotmail.org.
Baixe o aplicativo cliente mnm
09 de março de 2021 – a demonstração online é lançada. Foi testado no Chrome e Firefox.
03 de janeiro de 2021 – v0.9 é lançada. Ele corrige o pânico e algumas falhas, mas é idêntico à v0.8.
15 de novembro de 2020 – v0.8 é lançado para Windows 7+, MacOS e Linux. Sua IU foi testada no Chrome e Firefox.
Novo: painel de referência Markdown, tag "Todo" em novos tópicos, menu de tabelas preenchidas e dezenas de outras melhorias e correções.
20 de abril de 2020 – v0.7 é lançado para Windows 7+, MacOS e Linux. Foi testado com Chrome e Firefox.
Novidade: layouts de apresentação de slides, replicação para vários PCs, inicialização simplificada.
20 de outubro de 2019 – v0.6 é lançado para Windows 7+, MacOS e Linux. Foi testado com Chrome e Firefox.
Novo: pesquisa, tags de mensagens, visualizador de arquivos, cores da interface do usuário, logotipo e muito mais. Corrige muitas falhas de interface do usuário.
29 de maio de 2019 – v0.5 é lançada. Ele corrige o pânico no Windows, mas é idêntico à v0.4.
25 de maio de 2019 – v0.4 é lançada. Foi testado em Windows 7 e MacOS e Linux, com Firefox.
Novo: suporte para Windows. Corrige uma falha de recuperação de falhas e um erro de manipulação de TMTP.
13 de maio de 2019 – v0.3 é lançada. Foi testado em Linux e MacOS, com Firefox.
Novo: dicas de ferramentas nos ícones do menu. Corrige um pânico e algumas falhas de interface do usuário.
07 de maio de 2019 – v0.2 é lançada. Foi testado em Linux e MacOS, com Firefox.
Novidade: um tour com desenhos que cobrem características essenciais.
19 de abril de 2019 – v0.1 é lançada. Foi testado em Linux e MacOS, com Firefox.
Lançamentos de produção: 1+ . 0. 0+
Versões prévias: pp . 1+ . pp (primeiro e último do lançamento de produção anterior)
O segundo número é usado apenas para visualizações. A maioria (espero que todos) dos recursos e alterações de visualização aparecerão na versão de produção seguinte.
Requer Go 1.13.3+
a) go get github.com/networkimprov/mnm-hammer
b) cd $GOPATH/src/github.com/networkimprov/mnm-hammer
# diretório do projeto pode ser movido para fora de $GOPATH
c) ./webdeps.sh
# baixa módulos do navegador
d) Edite kVersionDate em main.go
e) ./pkg.sh
# faz downloads de lançamento para todas as plataformas
A compilação para Windows requer patches para a fonte Go (que não afetam outros programas):
correções go-winfsd.patch #32088
correções go-winstat.patch #9611
Aplique patches com: cp go*.patch /.../go && (cd /.../go && git apply go*.patch)
Uma sequência de teste automatizado é definida em test-in.json. Ele cria contas Azul e Ouro, que então trocam mensagens. Ele produz falsos positivos ocasionais devido à falta de sincronização entre as duas contas. Após a conclusão de um teste, o aplicativo fornece http na porta 8123 (a menos que --http seja fornecido):
./mnm-hammer --test server:port
# server:port é um serviço TMTP
Para acessar uma passagem de teste anterior:
(cd test-run/TPD/ && ../../mnm-hammer --http :8123)
# TPD é um nome de diretório
Se o site TMTP em server:port
não estiver configurado para autenticação opcional de terceiros, a sequência de teste produzirá uma mensagem expect/got de "local1 local" re "cs" (que pode ser ignorada). A sequência de teste não pode ser executada em um site TMTP que exija autenticação de terceiros.
Teste de colisão
a) ./mnm-hammer --test server:port --crash init
# cria diretório de teste
b) ./mnm-hammer --test server:port --crash dir:service:order:op[:sender:order]
# falha aqui na sequência de teste
c) ./mnm-hammer --test server:port --verify dir:service:order:count
# recupera e verifica o resultado
./test-crash.sh server:port [ item_index ]
# coleção de falhas/verificações executadas em um único diretório
a) go test -c -covermode=count -coverpkg ./...
b) go build
c) ./mnm-hammer.test --test localhost:443 -test.coverprofile mnm-hammer.cov
. . . # este diretório de aprovação de teste está TPD abaixo
d) go tool cover -html=test-run/TPD/mnm-hammer.cov -o web/coverage.html
e) (cd test-run/TPD/ && ../../mnm-hammer --http :8123)
f) Abra uma guia do navegador, vá para localhost:8123/w/coverage.html
Ref: https://www.elastic.co/blog/code-coverage-for-your-golang-system-tests
Para gerar os arquivos de demonstração:
a) cp web/{gui.vue,service-demo.html}
b) cp web/docs{,-demo}.html
c) git apply web/*demo.patch
Para recriar os arquivos web/...-demo.patch
após alterar os arquivos de demonstração:
a) git diff --no-index web/gui.vue web/service-demo.html > web/service-demo.patch
b) git diff --no-index web/docs.html web/docs-demo.html > web/docs-demo.patch
c) Edite os patches para usar a/web/...-demo.html
como caminho de origem.
Para criar um objeto JSON para uso em web/data-demo.js
a partir de uma instância do cliente mnm:
a) Edite web/gui.vue
para inserir <script src="/w/demodata.js"></script>
depois de todos os outros scripts <head>
.
b) Saia e reinicie o aplicativo e, em seguida, pressione Shift e recarregue a página em http://localhost:8123
.
c) Invoque http://localhost:8123/#demodata
e aguarde enquanto ele percorre cada conta.
d) Abra o console web e copie o resultado JSON.
Direitos autorais 2018, 2020 Liam Breck
Publicado em https://github.com/networkimprov/mnm-hammer
Este formulário de código-fonte está sujeito aos termos do Mozilla Public
Licença, v. Se uma cópia do MPL não foi distribuída com este
arquivo, você pode obter um em http://mozilla.org/MPL/2.0/