07.08.2026 * [JAM] Исправлен баг, из-за которого после строк кладжей появлялись пустые кладжи jamUnknown вместо переводов строк. 03.05.2025 * В эхоконференциях и локальных областях собственный адрес больше не подставляется в качестве адреса получателя. * Пустые адреса больше не добавляются в заголовок сообщения JAM. 28.10.2024 * Научились переходить на предыдущий/следующий ответ в треде. Для этого нужно добавить в Msg_Keys на 11 и 12 позиции нужные горячие клавиши. У меня значение вот такое: "ADNLRPBESC<>". 18.09.2024 * При создании базы Squish явно инициализируются параметры MaxMsg и KeepDays. 24.05.2024 * При поиске личных сообщений ищем начиная с первого непрочитанного сообщения, а не по всей базе. 13.02.2024 * MSGID теперь генерируется с точностью 1/14 секунды и гарантией уникальности за последние 4 года. 22.01.2024 * Подсветка Tearline и Origin теперь выполняется только в нижней части сообщения. 21.01.2024 * Для гостевых аккаунтов при входе пропускается поиск личных сообщений и новых файлов, а так же не отображаются новости с последнего входа. * Глобальные настройки поиска новых файлов и личных сообщений при входе теперь учитываются при использовании IEMSI. То есть если в конфиге написано No, то вне зависимости от предпочтения юзера действие будет пропущено. 19.01.2024 * Загрузка подготовленного сообщения теперь работает и при использовании внешних протоколов. 17.01.2024 * В режиме просмотра почтовой области чужие приватные сообщения автоматически пропускаются. 15.01.2024 * Клавиши PgUp и PgDn теперь распознаются. Можно использовать в меню и скриптах. * Хоткей для ManualSend изменён с PgUp на Alt-U. 14.01.2024 * Появилось отображение номера предыдущего и следующего сообщений в треде. * При ответе на сообщение, пишем его номер в заголовок "reply to" нового сообщения. * Если у сообщения, на которое ответили, ничего не записано в заголовке "first reply", пишем туда номер нового сообщения. * При работе сообщениями, все специальные символы заменяются на пробел. В основном для того, чтобы сообщения с 0x07 (ANSI Bell) не ломали редактор. 12.01.2024 * Исправлена ошибка анализа префикса автора при цитировании сообщений, из-за которой пустые префиксы могли некорректно обрабатываться. 11.01.2024 * Пользователи теперь могут редактировать свои сообщения, если они ещё не отправлены, не прочитаны, и без ответа. Сисоп может редактировать любые сообщения. Важно: MSGID, Tearline и Origin будут переписаны. Потребуются изменения в LNG-файле: 1. В Msg_Keys последним символом нужно добавить хоткей для редактирования. 2. В MsgString нужно добавить подсказку. Тут ещё важно, чтобы строка с этим параметром не оказалась длиннее 255 символов, иначе парсер не сможет её обработать. Пример: MsgString "\09──\11[\15A\11]\07Повт\09─\11[\15N\11]\07Сл\09─\11[\15L\11]\07Пр\09─\11[\15C\11]\07Ред\09─\11[\15D\11]\07Удал\09─\11[\15R\11]\07Отв\09─\11[\15P\11]\07Нов\09─\11[\15B\11]\07Начало\09─\11[\15E\11]\07Конец\09─\11[\15S\11]\07Стоп\09──" Msg_Keys "ADNLRPBESC" * Встроенный редактор больше не вставляет пустую линию после обработки шаблона. 09.01.2024 * При подтверждении удаления сообщения выбор по умолчанию теперь - Нет. 05.01.2024 * Кладж @PID больше не устанавливается, если он совпадает с Tearline. * Длинные цитаты теперь правильно переносятся на новую строку. 04.01.2024 * Строки SEEN-BY в сообщениях больше не отображаются. 02.01.2024 * Удалять сообщения, которые были отправлены (флаг Sent) или получены (флаг Received), или на которые уже кто-то ответил, теперь может только сисоп. * Исправлено отображение сообщений, в тексте которых встречаются длинные строки с символами табуляции. * Появилось отображение флага Sent. * Для компактности, флаги теперь трёхбуквенные и без скобок. 01.01.2024 * Если в базе Squish или Fido было более 16380 сообщений, /DOS и /DPMI версии падали. Это вызвано ограничением компилятора. Теперь /DOS версия "видит" только последние 1000 сообщений в базе (в том числе и JAM), а /DPMI - последние 16280. 31.12.2023 * Если в базе JAM были удалённые письма, при открытии такой базы автоматически пересобирался индекс, при этом не было перенумерации сообщений, что приводило к несоответствию номера сообщения его физическому расположению в индексе. То же самое происходило при удалении сообщений. Теперь индекс мы не пересобираем вообще. 30.12.2023 * Ластриды неправильно читались и устанавливались для баз Squish. 28.12.2023 * Если у пользователя выбран русский язык, в письма вставляется кладж @CHRS с нужной кодировкой. * Версии /W32, /DOS и /DPMI научились получать таймзону из системы и вставлять кладж @TZUTC в письма. Последние две делают это только если запущены в Windows 2000 или выше и подгрузилась библиотека ntvdmclp.dll. 25.12.2023 * Исправлены проблемы с навигацией по JAM базам с BaseMsgNum > 1. 22.12.2023 * Обновляем LastRead только в процессе просмотра сообщений в области, а не при любом отображении сообщения, например, из списка или поиска. * После удаления сообщения показываем следующее за ним (или последнее в области). * В режиме интерактивного просмотра сообщений в области, после ответа или написания нового сообщения, во-первых, показываем подтверждение, что сообщение сохранено, во-вторых, снова показываем текущее сообщение, а не прыгаем в конец области. 27.11.2023 * Адрес отправителя (и получателя в нетмейле) используется для определения статуса автора (и адреата в нетмейле) сообщения, до этого использовалось только имя. 22.11.2023 * Корректно обрабатываем кривые MSGID. 21.11.2023 * Научились вытаскивать адрес отправителя из Origin. 19.11.2023 * Не модифицируем MSGID при чтении сообщения из JAM-базы. 17.11.2023 * Допилена работа с fido<->email гейтами. Если такой задан для нетмейл-области, то мы теперь вытаскиваем email-адрес отправителя из кладжа @REPLYADDR и автоматически подставляем его в строчку To: при ответе на сообщение. 03.11.2023 * Исправлено отображение адреса получателя в нетмейл-областях. * Не спрашиваем адрес получателя при ответе в нетмейл-области. 18.09.2023 * Никто не просил, а я всё равно добавил новую фичу: теперь при ответе на сообщение добавляется кладж @REPLY, что позволяет линковать сообщения. 17.02.2023 * Ускорено сканирование личной почты в почтовых областях с большим количеством сообщений. 15.02.2023 * Решена проблема 2038 года в JAM. 13.12.2021 * Исправлены ошибки в библиотеке skMHL: корректная запись поля sz_sqhdr для баз Squish, устранение зависания EndOfMessage и увеличение лимита максимальной длины строки при чтении/записи сообщений. 26.08.2018 * Для почтовых областей можно указывать тип Local, при написании писем в такие области не будет создаваться/обновляться Echo_Log. 09.08.2018 ! Исправлена неправильная реакция на ушедшее назад время в результате синхронизации. * Что-то ещё исправлялось по мелочам за последние почти 11 лет. :) 29.12.2007 ! [DOS] Исправлена недоработка, из-за которой ntvdm.exe падал с ошибкой доступа под Windows Server 2003. - Убран так называемый "Эмyлятоp глюк ;)", давно хотел это сделать... 01.08.2007 * Один гостевой аккаунт может использоваться на нескольких линиях одновременно. 17.07.2007 ! [DPMI] Исправлена критическая ошибка, вызванная некорректной установкой директив компилятора. Для страховки, везде, где DOS версия использует "far calls", DPMI вресия тоже теперь их использует. Это немного увеличило размер исполняемого файла, и теоретически уменьшило скорость работы, хотя заметить это можно будет разве что на каком-нибудь музейном экспонате. ! Окончательно исправлена ошибка, из-за которой пользователя могло выбросить во время релогина с сообщением "ваше время истекло". + [DOS] В 16-битные версии добавлена поддержка NTVDM API. Благодаря этому значительно улучшилась работа этих версий в NT-образных ОС. Загрузка процессора практически всегда нулевая, правильные задержки, изменение заголовка окна, реакция на закрытие программы крестиком, Logoff и Shutdown события. Для того, чтобы все это работало, библиотека "ntvdmclp.dll" должна быть в одной из директорий, прописанных в PATH. Если библиотеку найти не удастся, Tornado будет работать в обычном режиме. К сожалению, в 32-битную версию эти изменения не попали, т.к. возникли некоторые сложности с реализацией. Над этим ведутся работы. 29.06.2007 ! Как следствие исправления задержек, починилась фича передачи команд модему при запуске (-M). Теперь ответ модема не будет "попадать в эфир". * Во всех DOS версиях теперь правильные задержки. Но с небольшим ограничением - задержка не может быть менее 55 мс. К сожалению, других вариантов решения проблемы задержек я не нашел. 28.06.2007 * Win32 версия теперь тоже может закрывать порт перед запуском внешних приложений, но только в том случае, если порт был предварительно открыт. То есть при работе через хендл порт закрыть не получится. + Произошли небольшие изменения по части запуска внешних приложений. Теперь для того, чтобы запустить что-либо, предварительно закрыв порт, необходимо перед именем запускаемой программы поставить знак "!". Например: Exec "!c:\games\dm\start.bat c:\temp\door.sys" 19.10.2006 * Версия от 08.07.2006 выпущена как 1.71.1/Release. 08.07.2006 ! [W32] Изменен алгоритм обработки событий завершения приложения системой (например, закрытие программы крестиком, перезагрузка, и т.п.). Теперь не должно быть проблем с Access Violation. ! [386] Обновлен экстендер DOS/32A до версии 9.1.2. 09.03.2006 * Доведена до ума нижеописанная фича. Теперь с масками сверяется весь текст, а не отдельно взятая строка. * Изменено поведение поиска по маске, если указано более одной маски. Теперь поиск считается удачным в случае совпадения со всеми масками, а не с любой из них. Попросил Alexander Kalganov (2:5007/20.23) 26.01.2006 * Русская Н больше не заменяется на латинский эквивалент ни во время редактирования сообщения, ни при сохранении в базу. ! Оказывается, попытка прочитать сообщение в базе MSG вообще приводила к падению. Модуль работы с MSG сильно переделан и теперь полностью функционален. ! [MsgArea]->Type читался некорректно. Netmail воспринимался как Echomail, а Echomail как Local. При обновлении необходимо удалить старые msgarea.bi? файлы. 25.01.2006 * Изменен формат строчки BirthDate в *.lng. Теперь она выглядит так: BirthDate "\09Ваш день рождения (@DateMask): " Шаблон @DateMask заменяется на Date_Mask из tornado.ctl. Раньше маска всегда принудительно добавлялась в конец строки. Фичу попросил Dmitriy Kulikov. * Очередная серия маневров с модулем работы с базами Squish. 24.01.2006 ! Исправлена ошибка в модуле работы с Jam базами. После написания нового письма или ответа на последнее сообщение в базе, текущим считалось сообщение с номером на 1 больше максимального номера сообщения в базе. ! Подправлена функция возвращения максимального номера сообщения в базе в модуле работы с базами Squish. Теперь возвращается максимальный номер существующего сообщения. Раньше всегда возвращался номер максимального сообщения физически присутствующего в базе, даже если оно было удалено. 13.12.2005 * Обновлен экстендер DOS/32A до версии 9.1.1. * Небольшое количетсво незначительных изменений. 26.11.2005 ! Исправлено нарушение цепочки ExitProc. Версия /W32 теперь нормально сообщает обо всех ошибках во время запуска. * Версия /W32 завершает работу, если закрыть окошко программы крестиком. Также, работа завершается при получении событий Logoff и Shutdown. Работает только в NT/2000/XP/etc. 22.11.2005 * В очередной раз изменено поведение при поиске файлов по маске. Теперь, если введенная пользователем маска не содержит знаков '*' или '?', к маске с обоих сторон добавляется '*'. Например, если пользователь ввел маску "tor", будет произведен поиск по маске "*tor*". 20.11.2005 * Исправлены RTL функции получения/установки параметров курсора. ! С недавних пор вместо модифицированного vpsysw32.pas использовался стандартный. Исправлено. * Немного изменена работа функций HiddenCursor/NormalCursor в 32-битных версиях. Последняя теперь восстанавливает размер курсора, который был установлен во время запуска программы. 18.11.2005 ! Версия /386 собиралась с неправильной версией RTL библиотеки (objects.pas). 14.11.2005 * Теперь 32-битные версии собираются с отладочной информацией. 09.11.2005 * В очередной раз обновлен экстендер DOS/32A. На этот раз до версии 9.1.0. 08.11.2005 * Версии /DOS и /DPMI собираются с новой RTL: Borland-Pascal 7.01 Runtime Library Update - Release 2.0 * Обновлен экстендер DOS/32A, с которым собирается Tornado/386. 07.11.2005 * Версия /386 снова собирается. 06.11.2005 ! Исправлено поведение при выборе QWK области. Нажатие N или ESC теперь прекращает листинг областей. 02.11.2005 ! При смене суток, а так же при релогине, не обнулялась переменная, в которой хранится время, проведенное пользователем в чате. ! Процедура обновления лимита после изменения уровня доступа не учитывала время, проведенное пользователем в чате. 24.10.2005 ! Процедура Delay и все, что с ней связано, полностью вырезано из модуля OpCrt. Это должно окончательно излечить досовые сборки от проблемы Runtime Error 200. 22.10.2005 ! Во время завершения работы порт больше не закрывается, если работали через хендл открытого порта. ! Команда "положить трубку" теперь выполняет только то, что задано через параметр HangupString. В случае отсутствия сигнала CD, выполняется такая команда: "v~~^'". ! При поиске личной почты учитывался регистр имен. Теперь не учивывается. 21.10.2005 ! Исправлена проблема Runtime Error 200 в DOS-версии. 18.10.2005 * Немного косметики. 32-битные версии теперь рисуют объем используемой памяти там где /DOS рисует количество свободной памяти. /DPMI пока что ничего не рисует. 17.10.2005 ! Поддержка относительной адресации для баз Squish. Благодаря этому исправлен баг с невозможностью перехода на последнее существующее сообщение в базе, в которой последнее сообщение было удалено. 16.10.2005 * Для всех баз, кроме Jam, используются абсолютные номера сообщений. Для Jam - относительные. ! В парсере конфигов были перепутаны форматы баз Squish и Msg, а также типы Netmail и Echomail. ! /DOS и /DPMI версии падали при попытке разобрать длинные строки. Заметил Alexey Kljatow (2:5020/2788.12) 15.10.2005 ! Если длина строки в сообщении превышала 255 символов, строка обрезалась. Теперь максимальная длина строки для /DOS - 4096 символов, для всех остальных - 16384 символа. * Функции UpCase, LoCase, UpString, LoString и PrString снова работают как раньше. Изменения отложены "до лучших времен". :) * Немного подкорректирована функция показа сообщения. Максимальная длина строки, при разбивании длинных строк, уменьшена с 80 до 79 символов. ! Подкорректирована логика работы функции просмотра сообщений. Переход на последнее сообщение в базах MSG теперь будет работать правильно. :) * Для работы с базами сообщений теперь используется библиотека skMHL (q) by sergey korowkin [sk], 1998-2001. Базы Hudson более не поддерживаются. 11.10.2005 * Переписаны функции UpCase, LoCase, UpString, LoString и PrString. Теперь они работают правильно с любой кодировкой. Изменения касаются только /W32. Все остальные версии работают как раньше. 08.10.2005 ! Исправлена функция DefaultName, которая некорректно работала, если в имени директории присутствовала точка. * Увеличено количество символов, отображаемых в заголовке окна при пересылке файлов. 04.10.2005 * Команда System_Info теперь показывает версию Windows. 03.10.2005 * Маска '*.*' заменена на платформо-зависимую переменную AllFilesMask. ! В дурвее могли не находиться директории с флагом Archive. 27.09.2005 ! Проблема с буквой Н не до конца была исправлена в модуле работы с базами Hudson. 26.09.2005 ! Не добавлялись описания файлов в files.bbs. Заметил Alexander Fedorov (2:5057/60). ! В связи с изменением режима открытия файлов по умолчанию, вылезло очень много багов, включая вышеописанный.. Вроде бы все теперь исправлены. :) 23.09.2005 * Проект восстановлен. :) ! Проблема русской Н была не до конца исправлена в модуле работы с Jam базами. * Файлы по умолчанию открываются в режиме ReadOnly. * База пользователей открывается в режиме запрета записи. 07.04.2005 ! Внутренняя переменная ChatStartTime не инициализировалась вообще. Это могло привести к неправильному восстановлению времени после чата с сисопом. Также во время чата с сисопом у юзера было отрицательное время. Баг заметила Ulia Sivridi. 28.03.2005 ! Торнада вела себя очень нехорошо, если в конфиге не был задан TRC_Log. Заметила Ulia Sivridi. :) 25.03.2005 * Функции FindFirst/FindNext теперь возвращают короткое имя файла, если это возможно. Это должно исправить целый ряд неприятностей, связанныых с длинными именами. ! Теперь буква Н в сообщениях обрабатывается как обычный символ, а не игнорируется. ! Торнада падала, если при локальном download'е не удавалось скопировать файл. 23.03.2005 ! Не работал "повод для увеличения security" BirthDay в апгрейдере. Заметила Ulia Sivridi (2:5030/1997.12). 09.03.2005 ! При переходе с 23:59 на 00:00 если юзер был на линии, его выбрасывало с отрицательным временем. То же самое могло произойти, если юзер чатился с сисопом, после выхода из чата. Возможно, подобное поведение было где-то еще, исправлено много моментов, где не учитывался переход суток. 07.03.2005 * Добавил Open_Share_* константы открытия файлов. Должно избавить от некоторых неожиданных глюков, как с "!llist.tor", например. 05.03.2005 ! Торнада зависала, если не могла удалить (или открыть) файл !llist.tor при завершении работы. 03.03.2005 * После просмотра списка сообщений, сохраняется LastRead. Удобно, когда в эхе с большим количеством сообщений нужно перейти на какое-то определенное и читать дальше. 27.02.2005 * При локальном аплоаде пишем в files.bbs короткое имя файла. Короткое имя определяется средствами ОС. 26.02.2005 * Изменился номер версии.. Так красивше.. :) 21.02.2005 + Хэндл порта передается запускаемым программам через макрос *H. 19.02.2005 * По просьбе трудящихся, /W32 версия теперь пищит через спикер. :) Поскольку задержки в /W32 правильные, в отличие от /DOS, page.tor придется немного подредактировать.. ;) 17.02.2005 * Программа компилируется при помощи Virtual Pascal 2.1 Build 279. Устранена проблема с буквой "р" в локальном режиме. + Добавлена поддержка работы с хэндлом порта. * Обновлена библиотека elecom, которая используется в /W32 версии для взаимодействия с модемом. Теперь работает Hardware_Flow.