Проект mnm создает законную замену электронной почты: клиент (см. ниже), сервер и простой протокол между ними.
Узнайте больше на сайте mnmnotmail.org.
Загрузите клиентское приложение MNM
09 марта 2021 г. — выпущена онлайн-демо-версия. Он был протестирован на Chrome и Firefox.
3 января 2021 г. — выпущена версия 0.9. Он исправляет панику и несколько недостатков, но в остальном идентичен версии 0.8.
15 ноября 2020 г. — выпущена версия 0.8 для Windows 7+, MacOS и Linux. Его пользовательский интерфейс был протестирован на Chrome и Firefox.
Новое: справочная панель Markdown, тег «Todo» в новых темах, меню заполненных таблиц и десятки других улучшений и исправлений.
20 апреля 2020 г. — выпущена версия 0.7 для Windows 7+, MacOS и Linux. Он был протестирован с Chrome и Firefox.
Новое: макеты слайдов, репликация на несколько компьютеров, упрощенный запуск.
20 октября 2019 г. — выпущена версия 0.6 для Windows 7+, MacOS и Linux. Он был протестирован с Chrome и Firefox.
Новое: поиск, теги сообщений, средство просмотра файлов, цвета пользовательского интерфейса, логотип и многое другое. Исправлены многие недостатки пользовательского интерфейса.
29 мая 2019 г. — выпущена версия v0.5. Он исправляет панику в Windows, но в остальном идентичен версии 0.4.
25 мая 2019 г. — выпущена версия v0.4. Он был протестирован на Windows 7, MacOS и Linux с Firefox.
Новое: поддержка Windows. Исправлена ошибка восстановления после сбоя и ошибка обработки TMTP.
13 мая 2019 г. — выпущена версия 0.3. Он был протестирован на Linux и MacOS с Firefox.
Новое: всплывающие подсказки на значках меню. Исправляет панику и несколько недостатков пользовательского интерфейса.
07 мая 2019 г. — выпущена версия v0.2. Он был протестирован на Linux и MacOS с Firefox.
Новинка: экскурсия с мультфильмами, раскрывающими основные моменты.
19 апреля 2019 г. — выпущена версия v0.1. Он был протестирован на Linux и MacOS с Firefox.
Релизы производства: 1+. 0 . 0+
Предварительные выпуски: стр . 1+ . pp (первый и последний из предыдущего производственного выпуска)
Второе число используется только для предварительного просмотра. Большинство (надеюсь, все) функций и изменений предварительной версии появятся в следующем выпуске.
Требуется Go 1.13.3+
а) go get github.com/networkimprov/mnm-hammer
б) cd $GOPATH/src/github.com/networkimprov/mnm-hammer
# каталог проекта можно переместить из $GOPATH
в) ./webdeps.sh
# загрузка модулей браузера
г) Отредактируйте kVersionDate в main.go.
д) ./pkg.sh
# выполнить загрузку релизов для всех платформ
Сборка для Windows требует исправлений исходного кода Go (которые не влияют на другие программы):
исправления go-winfsd.patch #32088
go-winstat.patch исправляет #9611
Примените исправления с помощью: cp go*.patch /.../go && (cd /.../go && git apply go*.patch)
Последовательность автоматизированного тестирования определена в test-in.json. Он создает учетные записи Blue и Gold, которые затем обмениваются сообщениями. Время от времени он дает ложные срабатывания из-за слабой синхронизации между двумя учетными записями. После завершения прохождения теста приложение предоставляет http через порт 8123 (если не указан параметр --http):
./mnm-hammer --test server:port
# сервер:порт — это служба TMTP
Чтобы получить доступ к предыдущему проходу теста:
(cd test-run/TPD/ && ../../mnm-hammer --http :8123)
# TPD — это имя каталога
Если сайт TMTP на server:port
не настроен для дополнительной аутентификации третьей стороны, тестовая последовательность выдаст сообщение «ожидание/получено» от «local1 local» re «cs» (которое можно игнорировать). Тестовую последовательность нельзя запустить на сайте TMTP, требующем аутентификации третьей стороны.
Краш-тестирование
а) ./mnm-hammer --test server:port --crash init
# создать тестовый каталог
б) ./mnm-hammer --test server:port --crash dir:service:order:op[:sender:order]
# сбой здесь в тестовой последовательности
в) ./mnm-hammer --test server:port --verify dir:service:order:count
# восстановить и проверить результат
./test-crash.sh server:port [ item_index ]
# коллекция сбоев/проверочных запусков в одном каталоге
а) go test -c -covermode=count -coverpkg ./...
б) go build
в) ./mnm-hammer.test --test localhost:443 -test.coverprofile mnm-hammer.cov
. . . # этот каталог прохождения теста находится в TPD ниже
d) go tool cover -html=test-run/TPD/mnm-hammer.cov -o web/coverage.html
д) (cd test-run/TPD/ && ../../mnm-hammer --http :8123)
е) Откройте вкладку браузера, перейдите по адресу localhost:8123/w/coverage.html
Ссылка: https://www.elastic.co/blog/code-coverage-for-your-golang-system-tests.
Чтобы создать демонстрационные файлы:
а) cp web/{gui.vue,service-demo.html}
б) cp web/docs{,-demo}.html
в) git apply web/*demo.patch
Чтобы воссоздать файлы web/...-demo.patch
после изменения демонстрационных файлов:
а) git diff --no-index web/gui.vue web/service-demo.html > web/service-demo.patch
б) git diff --no-index web/docs.html web/docs-demo.html > web/docs-demo.patch
в) Отредактируйте патчи, чтобы использовать в качестве исходного пути a/web/...-demo.html
.
Чтобы создать объект JSON для использования в web/data-demo.js
из экземпляра клиента mnm:
а) Отредактируйте web/gui.vue
, вставив <script src="/w/demodata.js"></script>
после всех остальных сценариев <head>
.
б) Закройте и перезапустите приложение, затем удерживая клавишу Shift, перезагрузите страницу по адресу http://localhost:8123
.
в) Вызовите http://localhost:8123/#demodata
и подождите, пока он пройдет через каждую учетную запись.
г) Откройте веб-консоль и скопируйте результат JSON.
Copyright 2018, 2020 Лиам Брек
Опубликовано по адресу https://github.com/networkimprov/mnm-hammer.
Данная форма исходного кода регулируется условиями публичной лицензии Mozilla.
Лицензия, версия 2.0. Если копия MPL не распространялась вместе с этим
файл, вы можете получить его по адресу http://mozilla.org/MPL/2.0/.