Журнал изменений Human Emulator Studio
Актуальная линейка — Studio и RT на Chromium. Ниже хвост лога Studio. Полные файлы: Studio и исторический лог классической линейки. Скачать сборку для проверки — официальное демо.
Демо — оценка Studio на Windows. Вопросы по установке и скриптам — поддержка или контакты.
Последние записи лога
7.0.68 (13.05.2022)
- Chromium обновлен 101.0.15+gca159c5+chromium-101.0.4951.54
- Edge обновлен 103.0.1255.0 (Официальная сборка) canary
- Chrome Selenium обновлен 101.0.4951.54
- улучшена работа с почтой и почтовыми msg файлами
- улучшена работа с xlsx файлами (ускорение + оптимизация)
- в команду
raw->clear_request_arrayдобавлены параметры url и exactly - позволяющие удалять запросы заданного типа - добавлена команда
soap->call_from_xml - Chromium обновлен 101.0.18+g367b4a0+chromium-101.0.4951.67
- в метод
app->maximizeдобавлен параметр hiding_mode, при значении которого true приложение сворачивается в трей и там максимизируется - баг фикс работы функции DOM : get_by_properties
- добавлен объект ul для работы с тэгом <UL>
- в методы : send_mail_via_outlook и send_mail_via_smtp добавлен параметр replyTo - позволяющий задать один или несколько Email (через ;) для "Reply To"
- Tesseract обновлен до версии 5.1.0
- улучшение работы
excelfile->open- сделана асинхронной + добавлены параметры is_wait_busy и wait_busy_seconds, позволяющие дожидаться если файл знят другим приложением - улучшение рабоыт функции
excel->convert- поддержка форматов : dbf2, dbf3, dbf, ods, mht, mhtml, xlsm, xltm, xltx, prn, xlam - улучшение активностей (перевод и иконки)
- добавлена возможность перейти к определению функции в этом файле (для PHP) по F12
- добавлена возможность задавать Virtual Host для связи с RabbitMQ в локальный и глобальный оркестратор
- улучшение работы
excelfile->create- сразу задаем активным первый лист - добавлен объект outlook для управления MS Outlook c функциями:
- close
- delete_all_messages
- delete_message_by_number
- get_message_by_from
- get_message_by_number
- get_message_by_subject
- get_message_by_text
- get_message_count
- move_message_by_from
- move_message_by_number
- move_message_by_subject
- move_message_by_text
- save_message_attachments_by_from
- save_message_attachments_by_number
- save_message_attachments_by_subject
- save_message_attachments_by_text
- send_mail
- добавлен параметр only_used для функций excelfile: get_rows_count и get_cols_count позволяющий получить колдичество не пустых сстолбцов или строк
- улучшение работы excel - загрузка поврежденных файлов
- добавлен объект libreOffice для управления Libre Ofiice c методами:
- convert
- set_install_folder
- улучшен перевод activity
- баг фикс текущей папки для
app->run_as_php - добавлена возможность вызова контекстного меню сайта в Edge (при снятии галочки в настройках - заменять контекстное меню сайта)
- в
mouse->send_clickи dominterface->send_mouse_clickдобавлен парамтер addCtrl - добавляющий к щелчку нажатие клавиши Ctrl - добавлена функция
raw->set_next_url_for_open_in_new_tabдля открытия урла в новой вкладке (в том числе можно использовать и для перехвата jQuery) - баг фикс обновление даты запуска робота по расписанию в RT
- в активности добавлен объект RAW
- улучшен перевод и иконки активностей
- баг фикс работы команд объект telegram
- добавлена команда
windows->keep_aliveдля сброса времени простоя Windows - добавлена настройка сброса времени простоя windows по таймеру (вкладка скрипты)
- в RT добавлена возможность вызова менеджера безопасности
- Chromium обновлен 102.0.9+g1c5e658+chromium-102.0.5005.63
- улучшение работы функции
webpage->get_pos_in_webpage_pictureдля больших страниц - баг фикс запуска WF по расписанию
- добавлена команды excel:
- export_sheets - для экспорта закладок в папку в отдельные xslx файлы
- split_sheet_by_rows - для разбиения закладки на строки в папку в отдельные xslx файлы
- улучшен перевод активностей
- добавлены команды для ftp:
- is_file_exists - проверка существования файла на сервере
- is_directory_exists - проверка существования папки на сервере
- баг фикс отображения текущей строки выполнения при отладке PHP скриптов (при редактирование текста)
- улучшен менеджер безопасности
- добавлена команда browser.wait_download_and_get_file_path для ожидания загрузки и получения последнего файла
- баг фикс работы browser.get_last_download_id
- в дерево активностей добавлены иконки
- в RT добавлена панель отладки
- баг фикс пересоздания браузера
- баг фикс вывода в панель отладку в RT
- добавлены команды ожидания в UI :
- wait_for_ui_open_by_property
- wait_for_ui_close_by_property
- wait_for_ui_open_by_properties
- wait_for_ui_close_by_properties
- добавлен объект word с методами:
- kill
- create
- open
- close
- save
- get_text
- add_text
- get_paragraphs_count
- get_paragraph_text_by_number
- set_paragraph_text_by_number
- get_paragraph_number_by_text
- delete_paragraph_by_number
- delete_paragraph_by_text
- add_table
- get_tables_count
- add_image
- баг фикс смены шрифта в панели отладки
- улучшение работы
pdffile->extract_imagesдля некоторых типов pdf tesseractOCR->recognizeтеперь распознает и pdf файлы с картинками- обновлен движок MsEdge Selemium
- обновлен движок Yandex Browser Selenium
- баг фикс пропадания горизонтального скрола при работе с деревом элементов
- добавлены команды windowinterface:
- wait_for_open_child_by_number
- wait_for_open_child_by_text
- wait_for_open_child_by_class
- добавлена команда
pdffile->get_images_count - добавлена возможность задания фильтра - например для указания кодировки при конвертации в
libreoffice->convert(https://wiki.openoffice.org/wiki/Documentation/DevGuide/Spreadsheets/Filter_Options) - баг фикс работы скин версии на масштабах экрана 125% и 150%
- улучшение работы Black схем
- обновлен движок браузера 102.0.10+gf249b2e+chromium-102.0.5005.115
- обновлен движок браузера 103.0.8+g444ebe7+chromium-103.0.5060.66
- обновлен веб драйвер к MsEdge
- обновлен веб драйвер к Yandex Browser
- улучшение работы Black схем
- улучшение работы плагинов с кодом
- улучшение работы функций
excel->follow_link_by_textиexcel->follow_link_by_number - в excel добавлена функция kill для закрытия всех открытых EXCEL
- баг фикс работы ftp
- баг фикс
excelfile->get_rowпри работе с пустыми ячейками - баг фикс
excelfile->set_cellпри работе с добавление текста с ведущим нулем - по умолчанию в php.ini включено расширение fileinfo
- PHP обновлен до версии 8.1.8
- Python обновлен до версии 3.10.5
- баг фикс outlook.send_mail (корректное задание сс и bcc)
- обновлен Tesseract OCR к версии 5.2.0
- улучшение работы команд outlook
- в RT теперь сохраняются состояния панелей
- баг фикс открытия ссылки с зажатым Ctrl
- в outlook Добавлены команды
- open
- close
- баг фикс перезапуска скриптов с названиями на кириллице
- добавлена настройка - добавлять номер порта к php.exe
- Chromium обновлен - версия CEF 103.0.12+g8eb56c7+chromium-103.0.5060.134
- Chrome Web Driver обновлен - версия 103.0.5060.13400
- улучшен перевод активностей
- улучшен внешний вид дерева активностей
- добавлена команда
windowinterface->wait_for_input_idle - добавлены команды excel
- open
- save
- close
- get_cell
- ускорена работа php
- добавлена команда
excelfile->get_sheetдля получения содержимого листа в массив строк - добавлена команда
excel->get_sheetдля получения содержимого листа в массив строк - баг фикс
excel->run_macro_by_name - улучшен перевод и иконки действий Workflow
- добавлены команды excel
- set_cell
- улучшена работа follow_link_by_number и follow_link_by_text
- в функцию
wordfile->read_table_by_numberдобавлен параметр as_array - для получения таблицы как массива - добавлены команды wordfile
- get_shapes_count - получить количество фигур в файле
- get_shape_properties - получить свойства фигуры (в виде xml)
- улучшена работа команд видеозаписи содержимого встроенных браузеров и десктопа
- движок MS Edge Обновлен
- движок Chromium обновлен
- улучшена работа команд по управлению приложениями Ms Office
- баг фикс
excel->save - улучшение передачи клавиши Enter в Firefox модели браузера
- баг фикс опечаток интерфейса
- улучшение внешнего вида редактора Workflow
- улучшена производительность работы с диском
- баг фикс повторного открытия файла с уже сделанными изменениями
- улучшение работы комбобокса выбора функций в редакторе кода
- Chromium обновлен до версии 104.4.24+gdf482f6+chromium-104.0.5112.102
- добавлена настройка - добавлять номер порта к имени процесса python.exe при запуске скрипта
- баг фикс обновления списка переменных в менеджере безопасности при добавление, удалении и изменении
- улучшена работа плагинов
- улучшение подсказок по встроенным функциям в редакторе
- добавлена команда
excel->sort_sheetдля сортировки листа используя столбец в качестве ключа - добавлена команда
excel->dedupe_sheetдля удаления дубликатов в листе, используя все или заданные столбцы в качестве первичного ключа (столбцы задаются в строке, например "1" или "1;2;3" или "*" - если все) - добавлена команда
excelfile->sort_sheetдля сортировки листа используя столбец в качестве ключа - добавлена команда
excelfile->dedupe_sheetдля удаления дубликатов в листе, используя все или заданные столбцы в качестве первичного ключа (столбцы задаются в строке, например "1" или "1;2;3" или "*" - если все) - добавлена настройка : максимальное число символов у значений в контекстном меню
- баг фикс диалога выбора типа в типизированных активностях WF
7.0.69 (01.09.2022)
wordfile->convertперенесен вword->convert(для работы нужен установленный MS Word от 2013 версии)wordfile->compareперенесен вword->compare(для работы нужен установленный MS Word от 2013 версии)wordfile->get_page_countперенесен вword->get_page_count(для работы нужен установленный MS Word от 2013 версии)wordfile->export_pagesперенесен вword->export_pages(для работы нужен установленный MS Word от 2013 версии)wordfile->export_all_pagesперенесен вword->export_all_pages(для работы нужен установленный MS Word от 2013 версии)- добавлены команды в wordfile
- open
- close
- save
- create
- wordfile, word , excel, excelfile
- ускорение работы
- улучшена авто диагностика при выполнении команд
- улучшены тесты
- все команды теперь работают в асинхронном режиме
- file,textfile,pdffile,msgfile,folder,bd,libreoffice,cryptography - все команды теперь работают в асинхронном режиме
- fineReaderOCR,tesseractOCR,yandexVisionOCR - все команды теперь работают в асинхронном режиме
- добавлена подсветка встроенных объектов и функций в редакторе
- добавлена команд
excel->add_link- для вставки гиперссылок - добавлена команд
excelfile->add_link- для вставки гиперссылок - баг фикс
pdf->export_imagesдля файлов с некорректным bitsperpixel атрибутом - баг фикс
word->compareесли передан один и тот же файл для сравнения - баг фикс
word->export_pagesпри выходе за диапазон страниц - добавлена команда
excel->set_row_format - добавлена команда
excel->set_col_format - добавлена команда
excel->set_cell_format - по форматам : https://support.microsoft.com/ru-ru/office/%D0%BA%D0%BE%D0%B4%D1%8B-%D1%87%D0%B8%D1%81%D0%BB%D0%BE%D0%B2%D1%8B%D1%85-%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D0%BE%D0%B2-5026bbd6-04bc-48cd-bf33-80f18b4eae68?ui=ru-ru&rs=ru-ru&ad=ru)
- поддерживаются синонимы:
- "Number" = "0"
- "NumberDotTwoDigits" = "0.00"
- "Currency" = "$#,##0.00;[Red]$#,##0.00";
- "Accounting" = "_($* #,##0.00_);_($* (#,##0.00);_($* \" - \"??_);_(@_)"
- "Date" = "d/m/yy"
- "Time" = "hh:mm:ss"
- "Percentage" = "0.00%"
- "Fraction" = "# ?/?"
- "Scientific" = "0.00E+00"
- "Text" = "@"
- "Special" = ";;"
- "Custom" = "#,##0_);[Red](#,##0)"
- в
excelfile->set_cellдобавлен параметр type, позволяющий сразу задать тип ячейки - например:$excelfile->;set_cell($path, 0, 1, 1, "3525,12","Text") - добавлена команда
excel->add_row - Chromium обновлен 105.3.33+gd83f874+chromium-105.0.5195.102
- Edge обновлен 105.0.1343.27
- добавлена команда
app->block_inputдля блокировки/разблокировки ввода с мыши и клавиатуры (Ctrl+Alt+Del разблокирует заблокировный ввод в случае не выполнения скриптом командыapp->)block_input(false) - добавлена команда
excel->set_connection_source_data_file_by_number - добавлена команда
excel->add_rows - Chromium обновлен: 105.3.39+g2ec21f9+chromium-105.0.5195.127
- улучшена работа с плагинами
- добавлена настройка, позволяющая задавать логин и пароль для входа
- добавлены таймауты для :
pdffile->print_pagespdffile->compress_imagespdffile->splitpdffile->extract_imagespdffile->combine- добавлена возможность отладки PHP скриптов под селениум модели браузера
- добавлены таймауты для :
word->convertword->compareword->openpdffile->export_pagespdffile->export_all_pages- баг фикс модели безопасности работы с макросами
- улучшен диалог инсталляции плагинов
- Chrome Selenium Webdriver обновлен : 106.0.5249.2100
- в bd добавлена поддержка PostgreSQL
- баг фикс активностей WF для отправки почты через Outlook
- добавлена возможность использования postgresql в объекте bd
- баг фикс
excelfile->add_rowдля листов без данных - добавлен параметр командной строки clear_settings:"1" - удаляющий все настройки при старте
- в меню сервис добавлен пункт, удаляющий все настройки и перезапускающий программу
- обновлен движок Chromium 106.0.29+gc10d419+chromium-106.0.5249.119
- в настройки задач расписания скриптов добавлена возможность задавать рабочее время
- добавлена команда
excel->set_row - Edge обновлен до версии 106.0.1370.47 (official)
- в дерево быстрого старта добавлена поддежка файлов с расширениями json и ini
- баг фикс windowinterface get_x, get_y при получении неклиентских координат окна
- баг фикс
excelfile->get_sheetдля таблиц содержащих ячейки с неопределенными данными - добавлен параметр командной строки /maximize для страта студии с главным окном в максимизированом режиме
- баг фикс работы
excel->close - в настройки задач расписания скриптов добавлена возможность задавать рабочие дни месяца
- добавлена функция
word->connect_by_hwndпозволяющая присоединится к уже открытому окну word с открытым в нем документом - добавлена функция
excel->connect_by_hwndпозволяющая присоединится к уже открытому окну excel с открытым в нем документом - улучшена работа
word->kill - Chrome Selenium Driver обновлен до версии 107.0.5304.6200
- Edge Selenium Driver обнволен до версии 106.0.1370.34
- Yandex Driver обновлен до версии 22.9.1
- в менеджере безопасности добавлено скрытие вводимых значений перменных
- улучшен диалог добавления кода
- добавлены функции excel c возможностью задания поискового слова с использованием ? и * (например n?w для поиска слов с new и now или n* - для поиска всех слов начинающихся с буквы n)
- get_pos_by_text
- get_all_pos_by_text
- добавлены функции объединения и разъединения ячеек
- merge_cells
- umerge_cells
- баг фикс работы
raw->set_additional_headersпри работе с заголовками, содержащими ":" - баг фикс задания прокси с авторизацией в Firefox модель
- баг фикс команды и настройки ожидания для Windows 10 (отмена также блокировки экрана)
- баг фикс работы Workflow в Runtime
- добавлена команда
app->set_progress_text - добавлены действия задания ширины и высоты браузера по отдельности в Workflow
- добавлен редактор выражений на C# (по настройке)
- улучшен размер редактора выражений C#
- баг фикс работы шедулера для WF для режима прерывать работу текущего задания
- Chromium обновлен до версии 107.1.9+g1f0a21a+chromium-107.0.5304.110
- обновлены статические объект PHP (например DOM::anchor и т.д)
- в редактор добавлены подсказки по статическим объектам (DOM:: SYSTEM: WEB:: VISION:: WINDOW::)
- баг фикс смены локализации после вызова диалога настроек
- баг фикс перевода некоторых активностей
- добавлен сброс состояния прогресса при старте скрипта
- уточнение времени ожидания для
file_os->wait_for_exist - добавлены таймауты в команды excelfile:
- autosize_row
- autosize_col
- увеличены таймауты по умолчанию для операций : excel и excelfile
- добавлены таймауты в активности Excel и ExcelFile для Workflow
- добавлены предупреждения о не найденых и пустых переменных при работе через менеджер безопаcности
- в RT в меню сервиc добавлен пункт меню Выход
- улучшение работы
excelfile->create - улучшение работы excel (можно работать с множеством открытых экземпляров разных excel файлов)
- добавлено
excel->create - добавлено
excel->get_row - добавлено
excel->set_sheet - существенно ускорена работа
excel->set_rowиexcel->add_row - улучшены диагностические сообщения при работе с excel и excelfile
- добавлены функция
excel->autosize_rowдля автоматического задания размеров заданной строки или всех строк - добавлены функция
excel->autosize_colдля автоматического задания размеров заданного столбца или всех столбцов - баг фикс app.quit для WF
- добавлена команда
browser->get_webdriver_sessionдля Selenium моделей - Node.JS обновлен до версии 19.2.0
- Python обновлен до версии 3.11.0
- баг фикс смены порта отладки PHP в php.ini-debugger при изменении его в настройках
- поправлены найденные баги в переводе активностей
- в
excel->run_macro_by_nameдобавлена возможность передачи параметров в выполняемый макрос - PHP обновлен до версии 8.2.0 Thread Safe
- добавлена функция
keyboard->press_key_by_code- для альтернативного нажатия горячих клавиш - например для Citrix Woekspace - баг фикс
folder->get_all_itemsпри работе с папками, содержащими очень много файлов - в
app->run_powershell_scriptдобавлена возможность задания параметров для передачи в скрипт - баг фикс найденных багов в WF
- улучшен перевод активностей
- добавлены команды в pdffile
- get_links_count
- get_link_by_number
- get_all_links
- обновлен Selenium Yandex Driver до последней версии
- обновлен Chromium: 108.4.13+ga98cd4c+chromium-108.0.5359.125
- добавлены команды excelfile
- remove_rows_by_number
- remove_rows_by_text
- remove_rows_by_ranges
- добавлены команды excel
- remove_row
- remove_rows_by_number
- remove_rows_by_text
- remove_rows_by_ranges
- улучшение работы run_as_bat, при пустом параметре content запускает уже существующий bat файл
- обновлены chrome и edge selenium webdriver
- улучшение работы outlook - функции get_message_by_ могут теперь получать письма из папок (Корзина, Отправленные, Черновики)
- баг фикс некорректного COM при работе с outlook + исправлены утечки памяти
- добавлены активности anticaptcha2
- в C# добавлена работа с anticaptcha2
- баг фикс при просмотре дерева окон и outlook
- баг фикс ввода комбинированного языкового текста в оконные интерфейсы
- баг фикс set_tab_content в RT версиях
- Chromium обновлен : 109.1.11+g6d4fdb2+chromium-109.0.5414.87
- Edge обновлен: 109.0.1518.52 (official)
- баг фикс переводов активностей
- баг фикс некорректного COM при работе с Outlook + исправлены утечки памяти
- баг фикс некорректного COM при работе с Excel + исправлены утечки памяти
- баг фикс некорректного COM при работе с Word + исправлены утечки памяти
- в excelfile добавлена функция is_opened, для проверки что файл уже открыт
- добавлен параметр командной строки /check_license при запуске с которым создается текстовый файл is_licensed в котором указано активирована или нет программа
- улучшен функционал по поиску изображений
- Tesseract обновлен к версии 5.3.0
- добавлена команда
clipboard->clear - баг фикс опечаток в интерфейсе
- добавлена команда
outlook->set_default_folder - улучшение работы
app->run_as_php- добавлено возвращение результата работы скрипта + если не задан content то выполняется файл по заданному пути - добавлена команда
app->run_as_python - добавлена команда
app->run_as_js - добавлена команда
app->run_as_console - баг фикс расписания
- баг фикс перевода и недостающих параметров в редакторе действий
- добавлен параметр команднйо строки open_file: для открытия файла в закладке редактора
- улучшение работы outlook
- добавлены команды excel :
- remove_sheet_by_name
- remove_sheet_by_number
- add_sheet
- get_sheet_number_by_name
- get_sheet_name
- set_sheet_name
- get_range
- обновлен движок Chromium 110.0.25+g75b1c96+chromium-110.0.5481.78
- обновлены Selenium движки (Edge,Chrome,Yandex)
- добавлена панель дерева элементов UI
- обновлен движок Edge 110.0.1587.50
- баг фикс Менеджера Безопасности для WF
- в
excel->openдобавлен параметр password, позволяющий открывать файлы с паролем - в
excel->saveдобавлен параметр password, позволяющий сохранять файлы с паролем - добавлена команда
excel->is_row_hidden- спрятана или видима строка - добавлена команда
excel->show_row- показать / спрятать строку - в
excel->get_sheetдобавлен параметр only_visible, позволяющий получать только видимые ячейки
7.0.70 (01.03.2023)
- обновлен движок Chromium 110.0.30+g3c2b68f+chromium-110.0.5481.178
- обновлен Selenium Edge Driver до версии 110.0.1587.50
- баг фикс отладочных сообщений outlook
- баг фикс работы с роботов, защищенных паролем с smtp
- добавлено дерево UI
- добавлен инспектор UI
- улучшение работы excel: get_cell get_row get_sheet добавлен параметр use_value2, (https://learn.microsoft.com/ru-ru/office/vba/api/excel.range.value2)
- в
excel->get_rowдобавлен параметр only_visibled - оптимизация времени загрузки студии
- добавлен метод
ui->is_equalдля проверки что это один и тот же ui - улучшена работа дерева элементов, окон и ui
- улучшение вывода ошибок для Python
- PHP обновлен к версии 8.2.3 (TS)
- улучшена работа дерева элементов, окон и ui
- добавлены настройки отображения дерева окон
- добавлена обработка нового фильтра в
pdffile->extract(распознание новых типов картинок) - улучшение работы
windows->get_screen_widthи get_screen_height - движок Chromium обновлен до версии 111.2.2+g1b83ff6+chromium-111.0.5563.65
- улучшен инспектор UI
- добавлены команды для ui
- get_text
- input
- улучшена работа мыши на виртуалке
- в инспектор UI добавлены значения по поддерживаемым шаблонам
- баг фикс
textfile->sort(удален лишний перевод строки в конце) - добавлен метод
ui->get_window_interface - улучшена работа
ui->input - в меню Редактор->Операции добавлена команда "Заменить Табуляции на пробелы в выбранном тексте"
- в редактор добавлена реакция на перевод строки с учетом отступа на предыдущей строке
- в
windows->get_screen_widthи get_screen_height добавлен параметр monitor_number, позволяющий получать разрешение на разных мониторах и параметр with_scale, позволяющий учитывать масштаб - добавлен метод
windows->get_screen_zoomдля получения масштаба на заданном мониторе - добавлен метод
mail->check_smtp_authдля получения проверки smtp авторизации перед отправкой писем - баг фикс разных методов в textfile, которые создавали раньше завершающую строку с переводом строки
- в
ui->get_by_propertyдобавлена возможность искать по частичному соответствию текста (параметр exactly) - в
ui->get_by_propertiesдобавлена возможность искать по частичному соответствию текста (параметр exactly) - в дерево окон добавлена кнопка позволяющая выбрать и сделать скриншот любой части экрана
- в инспекторе окон улучшен механизм сохранения скриншота окна
- в инспекторе ui добавлен механизм сохранения скриншота ui
- по умолчанию теперь все команды ui, windowinterface,dominterface позиционируются в центр элемента представляющего из себя интерфейс (dx=-1 dy=-1)
- улучшена отработка команд
windowinterface->send_mouse_xxx - добавлены команды
ui->send_mouse_xxx - улучшен шаблон Template JS
- улучшен шаблон Template PY
- добавлена дополнительная прозрачная для кликов и полупрозрачная для десктопа панель отладки, вызвается из контекстного меню над закладкой панели отладки, после активации через панель задач можно:
- закрыть из панели задач
- осуществить перемещение клавишами стрелок и быстрое пермещение с зажатым Ctrl
- осуществить изменение размеров клавишами стрелок с зажатым Shift и быстрое с зажатыми Ctrl+Shift
- обновлен движок Chromium : 111.2.7+gebf5d6a+chromium-111.0.5563.148
- встроенный MS Edge обновлен : 111.0.1661.62
- Chrome Selenium WebDriver обновлен 111.0.5563.6400
- Firefox Selenium WebDriver обновлен 0.33.0
- MS Edge Selenium WebDriver обновлен 111.0.1661.62
- Tesseract обновлен до версии 5.3.1
- баг фикс
excelfile->add_linkпри ссылках на другие файлы - добавлен Chromium-Gost в поддерживаемые модели
- улучшена работа Selenium моделей, особенно Headless типа
- добавлена кнопка на панель инструментов браузера - транслировать скриншоты как видео ряд для селениум моделей
- в панель отладки добавлены команды:
- show_extended_debug_pane
- set_extended_debug_pane_pos
- set_extended_debug_pane_opacity
- set_extended_debug_pane_colors
- добавлена передача событий колесика мыши в Selenium модели браузера
- улучшена передача событий мыши в Selenium модели браузера
- добавлена передача двойных кликов событий мыши в Selenium модели браузера
- добавлена поддержка передачи клавиши Tab
- улучшена работа с Word документами без офиса
- Cromium обновлен 112.2.7+gef29713+chromium-112.0.5615.49
- Selenium Chrome обновлен 112.0.5615.50
- Selenium MS Edge обновлен 112.0.5615.50
- встроенный MS Edge обновлен 112.0.1722.34 (official)
- улучшена работа с ядром JS для селениум моделей
- баг фикс создания встроенной MS Edge модели браузера
- баг фикс создания Selenium MS Edge модели браузера
- баг фикс открытия панели разработчкика при
raw->enable_all_streams(true) - баг фикс открытия некоторых сайтов при
raw->enable_all_streams(true) - в метод
file_os->get_folderдобавлен параметр (level: родительский каталог данного пути на level+1 уровней вверх, при level =-1 - получить полный путь папки, при level=0 - имя последней папки, в которой находится файл) - добавлена настройка - разрешить использованеи JS в логах
- в WF добавлены забытые активности: FTP: получить список файлов и папок в удаленной папке
- добавлена возможность задания параметров командной строки робота из диалога настроек
- добавлены параметры ctrl,alt,shift в команды windowinterface: send_key_down + send_key_up
- добавлены команды для UI: send_key_down + send_key_up
- добавлена команада
windows_os->get_time_zone - селениум моденли браузера:
- сделано изменение курсора над элементами
- добавлена возможность переключения между попапами через интерфейс (кнопка с книжой вверху браузера)
- в команду
cryptograpy->hash_fileдобавлена возможность задания алгоритмов: (CNG: sha256,sha384,sha512,md5) - Chromium обновлен до версии 112.3.0+gb09c4ca+chromium-112.0.5615.165
- обновлен питон 3.10.11, добавлен модуль pip
- добавлен объект selenium для работы с селениум моделями браузера
- улучшена работа селениум моделей с клавишами и буфером обмена
- баг фикс работы с яндекс драйвером
- баг фикс загрузки и совместимости плагинов с MS Workflow
- улучшены подсистемы отвечающие за работу с графикой, фтп
- улучшена работа
keyboard->send_keyс Ctrl Alt в браузере - в селениум headless добавлена возможность Copy,Paste
- переработаны вызовы всех DOM команд селениума на асинхронную модель
- улучшение работы селениум моделей
- баг фикс excelfile.add_row на пустом листе
- добавлен диалог-заставка, показывающийся при страте студии
- окно сохранения паролей в селениуме отключено
- добавлена команда word.replace_text - замена текста в документие (в том числе в графических фигурах)
- добавлена команда outlook.send_image - отправка сообщения - картинки (с подписью)
- добавлены активности с новыми действиями для Selenium в WF дерево активностей
- баг фикс открытия (warning) Selenium Edge Headless модели браузера
7.0.71 (15.05.2023)
- обновлена встроенный Edge: 113.0.1774.35
- обновлен Selenium Chrome: 113.0.5672.93
- excel:
- баг фикс для только что созданной закладки excel
- get_rows_count
- add_row
- add_rows
- get_cols_count
- get_cols_count баг фикс вычисления количества столбцов в заданной строке
- browser.start_video_record добавлен параметр zoom + ускорен и уменьшен итоговый размер видео
- windows.start_video_record добавлен параметр zoom + ускорен и уменьшен итоговый размер видео
- улучшены команды word: get_text + repace_text (учтены фигуры содержащие текст)
- в excel добавлены команды
- get_cell_font
- set_cell_font
- set_cell_font_bold
- set_cell_font_italic
- set_cell_font_underline
- set_cell_font_striketrough
- set_cell_font_shadow
- set_cell_font_size
- set_cell_font_name
- добавлена команда :
word->add_page_break - улучшен показа стартовой сплэш-заставки
- улучшение скорости запуска
- баг фикс вызова справки по объекту в диалоге добавления кода
- баг фиксы опечаток и неправильного размещения элементов в диалогах
- в команды run_as_xxx добавлен вывод ошибок при запуске
- добавлен метод
pdffile->is_pdf_file(быстро проверить что это Pdf файл по заголовку) - Chromium обновлен 113.3.5+g0b33855+chromium-113.0.5672.129
- Edge обновлен 114.0.1823.37
- Selenium Chrome Webdrive обновлен 114.0.5735.9000
- улучшение работы
pdf->extract_images - Chromium обновлен 114.2.12+g7c09f21+chromium-114.0.5735.199
- баг фикс
word->get_text - улучшение работы
excel->convert - баг фикс
wordfile->export_all_pages+ добавлена возможность экспорта в расширение docx - баг фикс webpage.load_web_page для питона
- улучшение app.quit для питона при использовании сторонних редакторов
- добавлены итераторы в объекты интерфейсорв на питоне
- в excelfile добавлены методы:
- get_cell_color
- get_cell_background_color
- добавлен метод :
excelfile->set_cell - улучшена работа метода :
wordfile->export_all_pages - Chromium обновлен : 115.3.11+ga61da9b+chromium-115.0.5790.114
- Selenium Chrome Webdrive обновлен 115.0.5790.17000
- criptography добавлен методы для работы с токенами авторизации
- get_totr
- get_hotr
- добавлены методы в excelfile
- set_col_type
- set_range_type
- set_cell_number_format (https://learn.microsoft.com/en-us/dotnet/api/documentformat.openxml.spreadsheet.numberingformat?view=openxml-2.8.1)
- set_col_number_format
- set_range_number_format
- добавлен метод
excel->update_sheetдля обновления данных листа из внешних источников - обновлены селениум драйвера для Яндекс - браузера, Хрома и Гост - браузера
- добавлен метод
excel->get_sheets_names - добавлена настройка командной строки : /disable_splash:"1" для отключения стартового окна-заставки
- добавлена настройка для включения и отключения стартового окна-заставки
- добавлены методы в browser
- set_cli
- get_cli
- Chrome обновлен до версии 116.0.13+g557a56f+chromium-116.0.5845.97
- добавлена команда
word->remove_infoдля удаления различной вспомогательной информации из word файла - "comments"
- "revisions"
- "versions"
- "personalinformation"
- "emailheader"
- "routingslip"
- "sendforreview"
- "properties"
- "template"
- "workspace"
- "annotations"
- "serverproperties"
- "managementpolicy"
- "contenttype"
- "taskpanewebextensions"
- "all"
- Chromium обновлен до версии 116.0.13+g557a56f+chromium-116.0.5845.97
- MS Edge обновлен 116.0.1938.62
- добавлена возможность использовать тип "oracle" в объекте bd
- сделано удаление в корзину при удалении файлов и папок из панели быстрого старта
- Chromium обновлен до версии 116.0.23+g375735a+chromium-116.0.5845.189
- добавлен метод
images->get_lines - добавлен метод
excel->set_range_name - добавлен метод
excelfile->set_range_name - добавлен метод
image->create_qr_code - добавлен метод
windows->shutdown - добавлен метод
windows->restart - добавлен метод
windows->logoff
7.0.72 (15.10.2023)
- Chromium обновлен 117.2.2+ge80c977+chromium-117.0.5938.132
- баг фикс
word->replaceдля длинных текстов excelfile->insert_colдобавлена возможность вставки перед столбцом А при передаче -1 или пустого значения в параметре после какого столбца вставлятьexcelfile->set_sheetоптимизированexcelfile->set_rowоптимизирован- исправлены лишние пробелы в
pdffile->read - Chromium 117.2.4+g5053a95+chromium-117.0.5938.150
- outlook в get_message_by_xxx добавлено свойство is_readed, для получения просмотра статуса прочтения письма
- outlook добавлены методы set_message_readed_by_xxx для смены статуса прочтения письма
- оптимизация инcталла по объему
- добавлены новые плагины в инсталл по умолчанию
- Tesserat обновлен до версии 5.3.3
- баг фикс удаления лишних файлов
- добавлен парfметр readed в функции работы с письмами в outlook
- в outlook добавлены методы:
- get_message_count_by_from
- get_message_count_by_subject
- get_message_count_by_text
- Chromium обновлен 118.6.8+ge44bee1+chromium-118.0.5993.117
- улучшение работы
image->unborder - обновлен Selenium Chrome Web Driver к версии 119.0.6045.10500
- PHP обновлен к версии 8.2.12
- улучшение работы outlook
- добавлены методы в outlook
- get_accounts
- logon
- logoff
- менеджер безопасности - для каждого пользователя Windows - свои данные
excelfile->set_cellдобавлена возможность задания формул (если value начинается со знака '=')- в шедулер добавлена возможность сброса последнего запуска задачи через контекстное меню
- в шедулер добавлена возможность принудительного запуска задачи через контекстное меню
- улучшение работы дерева UI элементов
- баг фикс работы настройки создания резервных копий при сохранении файла
- баг фикс отображения точек останова
- добавлен метод
pdffile->insert_image - добавлена возможность изменения php.ini из настроек
- Chromium обновлен 119.1.2+g2677830+chromium-119.0.6045.105
- в шедулер добавлена возможность просмотра лога запуска задач
- обновлена библиотека работы компьютерной графики
- добавлен метод
excel->export_to_access - обновлен встроенный Edge браузер: 119.0.2151.44
- обновлен Selenium Web Driver Edge: 119.0.2151.44
- улучшена работа метода
pdffile->read - добавлен метод
excelfile->split_sheet_by_rows - Chromium обновлен 119.4.3+gc76a3b9+chromium-119.0.6045.159
- в RT добавлен пункт Активация в меню Сервис
- улучшение работы
excelfile->get_rows_countиexcelfile->get_сols_count - в свойства задачи по расписанию (шедулер) добавлена опция "Останавливать выполнение задачи в нерабочее время"
- баг фикс
excel->run_macro_by_name - баг фикс менеджера безопасности
- улучшение работы метода
mail->smpt_connect(возврат соединение успешно или нет) - баг фикс работы получения сообщения в объекте mail
- добавлена настройка инспектора окон - выбор окна по левой или средней кнопки мыши (по умолчанию сделана средняя)
7.0.73 (15.12.2023)
- обновлен Chromium 120.1.8+ge6b45b0+chromium-120.0.6099.109
- баг фикс запуска накладывающихся друг за другом задач по расписанию
- баг фикс get_sheet для пустых листов
- баг фикс set_sheet для пустых листов
- баг фикс опечаток и горячих в подсказкам по горячим клавишам
- обновлен Edge 120.0.2210.61 (official)
- обновлен Selenium Chrome WebDriver
- улучшена конвертация в MS Access:
excel->export_to_access - Обновлен Chromium 120.1.10+g3ce3184+chromium-120.0.6099.129
- улучшена работа команды excelfile.set_sheet
- добавлена команда :
folder->get_all_files - добавлена команда :
folder->get_all_folders - Chromium обновлен 120.2.5+g618ea46+chromium-120.0.6099.216
- FireFox WebDriver обновлен до последней версии
- в
excel->convertдобавлен параметр delimeter для указания разделителей во воходном файле (; или ,) - улучшение работы команды
files_os->un7z- поддержка 001 и z01 типов (архивов из нескольких частей) - Chromium обновлен 120.2.7+g4bc6a59+chromium-120.0.6099.234
- в
pdffile->readдобавлен параметр method, позволяющий задавать метод чтения pdf фaйла ("","docnet","pdfpig") - улучшение
textfile->add_string_to_file- новый файл создается в кодировке Utf-8 без BOM - улучшение WF ExcelFile:Get_Sheet - вместо JArray используется string[,]
- app.exitapp выполняется даже в том случае если программа занята выполнением какой либо другой задачи
- баг фикс
$windows->screenshotпри скриншоте 2го монитора - баг фикс интерфейса WF при выдаче подсказок по параметрам некоторых команд
- баг фикс недостающих параметров в некоторых команд WF
- обновлен Edge
- в
pdffile->combineдобавлен параметр method для указания библиотеки для чтения pdf (может принимать значения "" и "docnet") - в excel добавлены методы работы с авто-фильтрами
- add_autofilter
- clear_autofilters
- обновлен Chromium 121.3.7+g82c7c57+chromium-121.0.6167.160
- добавлен объект webdav для работы с облачными хранилищами по протоколу WebDav (например Яндекс.Диск и команды)
- connect
- disconnect
- disconnect_all
- list_files
- list_folders
- is_directory_exists
- create_directory
- remove_directory
- clear_directory
is_file_exists($server,$remote_file)- get_file
- put_file
- remove_file
- rename
- добавлен объект s3 для работы с облачными хранилищами по протоколу S3 (например Яндекс.Облако и команды
- connect
- disconnect
- disconnect_all
- list_files
- list_folders
- is_directory_exists
- create_directory
- remove_directory
- clear_directory
is_file_exists($server,$remote_file)- get_file
- put_file
- get_folder
- put_folder
- remove_file
- в
mail->send_mail_via_smtpдобавлена проверка валидности емейл адресов - Chromium обновлен 121.3.13+g5c4a81b+chromium-121.0.6167.184
folder->renameбаг фикс при повторяющихся путях- исправлен баг подстановки параметров в редакторе кода по всплывающей подсказке
- исправлен баг вывода русского текста в панель отладки при выполнении питон кода
- добавлен метод
file_os->wait_copyдля ожидания окончания копирования файла - улучшение работы
excelfile->set_cell_type - добавлен метод
excelfile->clear_rangeдля очистки диапазона ячеек excel->convertподдерживает теперь конвертацию в xlsb- в методы app добавлен параметр timeout, для длительных операций
- run_as_bat
- run_powershell_script
- run_as_console
- run_as_php
- run_as_js
- run_as_python
- Chromium обновлен 122.1.12+g6e69d20+chromium-122.0.6261.112
- обновление встроенных в Питон библиотек
- обновление Selenium драйверов под текущие версии браузеров
- в s3 добавлены методы:
- get_size - получить размер файла
- get_meta - полeчить прикрепленную к файлу мета информацию
- в метод
textfile->add_string_to_fileдобавлен параметр encoding для указания кодировки - Chromium обновлен 122.1.12+g6e69d20+chromium-122.0.6261.112
- Chromium обновлен 123.0.6+ge4984ab+chromium-123.0.6312.46
- улучшение выдачи подсказок по параметрам функций в редакторе
browser->set_default_downloadбаг фикс при задании путей в линукс стиле- в
pdffile->read_pageдобавлен параметр method, указывающий через какую библиотеку мы будем работать с файлом pdf (по аналогии с методом read) - в WF исправлен баг с добавлением цикла ForEach
- в объектах excel,excelfile, в методе autosize_col добавлена возможность задавать несколько столбцов используя разделитель ";" и дипазон столбцов, используя разделитель "-" , например "1-3;5;8-10;12"
- добавлена команда
excel->clear_cellдля очистки заданных ячеек - в объектах excel,excelfile, в методе clear_cell добавлена возможность задавать несколько столбцов используя разделитель ";" и дипазон столбцов, используя разделитель "-" , например "1-3;5;8-10;12"
- добавлены методы в объект excel
- copy_range_to_clipboard - копировать диапазон ячеек в буфер обмена
- cut_range_to_clipboard - вырезать диапазон ячеек в буфер обмена
- paste_range_from_clipboard - вставить из буфера обмена диапазон ячеек
- в excelfile добавлен метод move_range для копирования диапазона ячеек в другой лист
- в excelfile добавлен метод copy_range для перемещения диапазона ячеек в другой лист
- баг фикс опечаток в интерфейсе действий WF
- баг фикс
excel->dedupe_sheet - в метод
excel->merge_cellsдобавлен параметр across = false, указывающий как объединять ячейки (true для объединения ячеек в каждой строке указанного диапазона в виде отдельных объединенных ячеек) - добавлен метод
webpage->html_to_textдля перевода произвольного куска html в текст - улучшение работы
excelfile->set_col_typeпри задании числового типа для столбца с числами, содержащими запятую - улучшение работы
excelfile->set_range_typeпри задании числового типа для столбца с числами, содержащими запятую - хранение настроек путей к папке MyRobots, путей к PHP,JS,Python интерпретаторов и последних и открытых в редакторе файлов и других путей сделано относительным
- добавлен метод
excelfile->set_colдля задания данных столбца - добавлен метод
excelfile->get_colдля получения данных столбца - в метод
excelfile->dedupe_sheet, добавлен параметр header_length, позволяющий указать высоту заголовка (если он есть) - добавлен метод
pdffile->get_page_number_by_text, для поиска номера страницы с заданным текстом - добавлен метод
word->read_page, для чтения текста страницы по ее номеру - улучшено отображение JSON файлов в редакторе
- улучшено отображение HTML файлов в редакторе
- баг фикс смены браузера через настройки
- апгрейд версии встроеного браузера MS Edge
- в Python добавлен по умолчанию пакет openpyxl
- обновление Selenium Chrome драйвера
- улучшение работы функции
file_os->get_name- если путь - папка то выдает пустую строку. - баг фикс
excelfile->get_row - баг фикс сохранения скриншотов картинок без размеров
- улучшение работы метода:
word->convert(убраны лишние диалоги и ошибка конвертации xlsx) finereaderOCR->convertдобавлена обработка диалогов запроса паролей- Chromium обновлен 124.3.2+gb6e819b+chromium-124.0.6367.119
- объект telegram переведен на новый объект, обновлены все существующие методы
- telegram.authorization добавлено возможность вызывать кодом и с паролем
- telegram добавлены методы
- get_chats - получить список всех чатов (группы и каналы)
- get_members - получить список пользователей группы или канала (если у вас есть права администратора в этих каналах)
- get_dialogs - получить список всех диалогов (есть возможность получения диалогов в заданной папке)
- get_chat_messages - получить сообщения чата (есть возможность получения сообщение со смещением и до определенной даты)
- find_chat_messages - найти сообщения чата (есть возможность получения сообщение со смещением и в диапазоне дат)
- send_message_to_chat - отправить сообщение в чат
- добавлен метод
excelfile->get_name_for_new_sheet - косметические изменения интерфейса (опечатки и перевод)
- Chromium обновлен 124.3.5+gff7dcd8+chromium-124.0.6367.119
- добавлены методы для telegram:
- get_chat_id_by_name - получить ID чата по его имени
- join_chanel - присоединится к каналу
- send_media_to_chat - отправить медиафайл в чат
- добавлен методы в mail:
- get_message_by_id_via_pop3 - получить сообщение по Message-Id (POP3)
- get_message_by_id_via_imap - получить сообщение по Message-Id (IMAP)
- delete_message_by_id_via_imap - удалить сообщение по Message-Id (IMAP)
- move_message_by_id_via_imap - переместить сообщение по Message-Id в другую папку (IMAP)
- save_message_attachments_by_id_via_imap - сохранить вложения сообщения по Message-Id (IMAP)
- set_message_readed_by_id_via_imap - изменить статус прочитанности сообщения по Message-Id (IMAP)
- методы mail.get_message_by_xxx_via_imap - теперь возвращают также Message-Id и IsReaded
- добавлены методы excel
- set_sheet_zoom
- set_row_height
- set_col_width
- добавлены методы excelfile
- set_sheet_zoom
- set_row_height
- set_col_width
- Chromium обновлен 124.3.8+gc712fb4+chromium-124.0.6367.207
- добавлены методы excelfile
- add_autofilter
- conditional1 может быть cледующим: "Top", "Bottom", "AboveAverage", "BelowAverage", "EqualTo", "NotEqualTo", "GreaterThan", "LessThan", "EqualOrGreaterThan","EqualOrLessThan", "BeginsWith", "NotBeginsWith", "EndsWith", "NotEndsWith", "Contains", "NotContains"
- conditional2 может быть cледующим: "EqualTo", "NotEqualTo", "GreaterThan", "LessThan", "EqualOrGreaterThan","EqualOrLessThan", "BeginsWith", "NotBeginsWith", "EndsWith", "NotEndsWith", "Contains", "NotContains"
- operation1 может быть cледующим: "and", "or", "&&", "||"
- clear_autofilters
- добавлен парметры в
excelfile->remove_col: shift_to_left, указывающий сдвигать ячейки вправо или влево при удалении столбца - добавлен метод
excelfile->add_rows- для добавления нескольких столбцов - добавлен метод
excelfile->removet_sheets_by_name- для удаления нескольких листов по имени - обновлен Chrome Selenium Driver
- обновлен Gost Selenium Driver
- добавлены методы для telegram:
- get_last_messages - получить последние сообщения
- send_media_to_chatget_messages_count - получить количество сообщений
- repost_message - сделать репост сообщения
7.0.74 (27.05.2024)
- в excelfile, excel-> set_sheet добавлены параметры row,col для указания начального места встаки массива данных + добавлена возможность вставлять массивы переменной длинны
- excelfile.get_sheets_count: результат возвращает как int
- улучшение работы
browser->close_all_tabs- Перед закрытием останавливает все процессы в закрываемых бразуерах - telegram добавлен параметр schedule_date, позволяющий задавать дату отправки сообщения в методы:
- send_media_to_chat
- send_message_to_chat
- send_message_to_contact
- баг фикс работы:
telegram->send_message_to_contact - обновлен движок MS Edge : 125.0.2535.67 (official)
- баг фикс редактирвоания задачи расписания раз в N минут
- Edge Selenium обновлен 125.0.2535.85 (Официальная сборка) (64-разрядная версия)
- Chromium обновлен 125.0.21+gc8b1a8c+chromium-125.0.6422.142
- баг фикс работы
excel->add_rows - обновлен Chrome Selemium драйвер: 126.0.6478.6100
- улучшенн вывод в лог команд : добавлена дата
- баг фикс редактирования задачи расписания
- баг фикс работы парметра mask в
folder->get_all_folders excelfile->копировать указанный лист документа и вставлял его как новый лист в тот же документ;copy_sheet(path, sheet, newSheetName)excel->баг фикс при указании в качестве парметра delimeter запятую (,) для исходного файла в CSV;convert()- libreOffice.convert добавлен параметра timeout для WF;
excelfile->в редакторе всплывает подсказка "разбить закладку по строкам" заменена на "лист".split_sheet_by_rows()- добавлена возможноcть показа мультистрочных комментарие по всплывающей подсказке
- обновлен Chrome Selemium драйвер: 127.0.6533.7200
- Chromium обновлен 126.2.18+g3647d39+chromium-126.0.6478.183
- баг фикс
excel->dedupe_rangeпри сложных диапазонах и условиях - добавлен параметр в функцию
wordfile->read - добавлен объект libreOfficeCalc и WF
- в
textfile->sortи dedupe добавлен параметр encoding, позволяющий явно задавать кодировку текстового файла, например "windows-1251","utf-8" - переименован метод
excelfile->set_col_number_formatна set_col_format (старый вызов тоже работает) - переименован метод
excelfile->set_cell_number_formatна set_cell_format (старый вызов тоже работает) - переименован метод
excelfile->set_range_number_formatна set_range_format (старый вызов тоже работает) - методы
excelfile->set_xxx_typeобъявлены устаревшими, вместо них надо использовать set_xxx_format - убран лишний параметр в функции textfile/get_all_files_in_folder
- баг фикс ввода точки при вводе с клавиатуры для селениум моделей браузера
word->open, второй параметр по умолчанию read_only = true- обновлен Chromium 127.3.5+g114ea2a+chromium-127.0.6533.120
- добавлена команда
textfile->get_encoding, позволяющая получить текущую кодировку текстового файла - обновлен Chrome Selenium Driver : 128.0.6613.8600
- обновлен Edge Selenium Driver : 128.0.2739.56
- добавлен функциональный объект excelDataReader чтение xls, xlsx файлов Excel;
- исправлена команда
excelfile->не передавался аргумент add_rows.add_rows() - баг фикс работы
word->convert(корректная очистка после работы) - небольшие исправление интерфейса
- в WF Word.Convert добавлен таймаут
- добавлен элемент WF: Word.Kill
- добавлено больше плагинов в базовую установку
- добавлена папка Plugin Sample со всем необходимым, чтобы создавать собственные плагины
- добавлена команда
app->, позволяющая создавать REST сервис на заданном host:port,start_rest_service(pathy,port,host) - по обращению к которому запускается скрипт path, которому передаются argv из PUT/GET запроса (например http://localhost:4000/Run?param=1¶m2=2)
- добавлена команда
selenium->set_model_binary_path(укажем где брать бинарники для селениум моделей браузера) - добавлена команда
selenium->(переместить окно селениума на передний план)foreground() - обновлен драйвер Chrome Selenium к версии 128.0.6613.13700
- добавлена команда
selenium->(максимизировать окно селениума)maximize() - добавлена команда
selenium->(минимизировать окно селениума)minimize() - добавлена команда
selenium->(перевести в полноэкранный режим окно селениума)fullscreen() - добавлена команда
selenium->(передвинуть окно селениума в заданные координаты)set_pos() - добавлена команда
selenium->(изменить размер окна селениума)set_size() - улучшение передачи аргументов CLI Chrome Selenium (сделано рабочим load-extension в том числе для загрузки плагинов из папок)
- улучшение работы
selenium->add_plugins- сделана возможность передачи плагина не только через crx файл, но и через папку с плагином - при работе функций get_message_by_xxx дополнительно теперь получаются поля:
- To - Cc - Bcc - Priority
- улучшена работа input функций в Selenium
- Chromium обновлен
- Chrome Selenium WebDriver обновлен
- улучшение перевода WF
- обновлен Node.js
- улучшен инсталл (можно сразу выбирать php,python,js конфигурации)
- баг фикс работы browser.clear_local_storage для селениум моделей
- обновлен Chromium : 130.1.9+gfc42567+chromium-130.0.6723.70
7.0.75 (22.11.2024)
- улучшен инсталл
- добавлена поддержка sqlite для объкта bd
- расширена всплывающая подсказка для Templates типов с PHPDoc;
- исправлена авто-подстановка типов аргументов функции в редакторе полей при вводе имени функции и символа скобки;
- ФО excel команда
get_row()обработка случая если строка пустая, обработка случая если только одна ячейка (ошибка), корректная обработка итоговой строки, добавлен параметр only_visible = false (только не скрытые ячейки), в итогеget_row(path, sheet, row, use_value2 = true, only_visible = false); - ФО excel
excel->тип возврата при плохом исходе -1 (было false);get_sheet_number_by_name() - ФО excel Templates (PHP) добавлены PHPDoc для всех команд;
- ФО excelfile Templates (PHP) корректировка PHPDoc для некоторых команд;
- ФО excel Templates (PHP) добавлены PHPDoc для всех команд;
- XHEExcel дял команд
set_sheet(),set_row(),create()исправлена ошибка: если в одной из ячеек данных для вставки в файл значение содержит двойные кавычки, то команда не выполняется; - Обновлен CEF 131.2.7+g9a14dc9+chromium-131.0.6778.86;
- Обновлен ChromeDriver EdgeDriver;
- в команду
excelfile->clear_rangeдобавлен парметр option для указания что очищать в регионе (строка - комбинацией значений Contents, DataType, NormalFormats, ConditionalFormats, Comments, - DataValidation, MergedRanges, Sparklines, AllFormats, AllContents, All через |, например "Comments|MergedRanges", по умолчанию "All");
- улучшение стабильности выполнения JS в Chromium;
- папкка, задаваемая командой
browser->set_dafault_download_folderтеперь хранится в настройках, и команда работает для селениум моделей (полсе нее надо выполнитьbrowser->recreate); - ФО excel новая команда
copy_range_and_paste_to_range()- копировать значения ячеек из диапазона и вставить значения в другой диапазон; - ФО excel новая команда
cut_range_and_paste_to_range()- вырезать значения ячеек из диапазона и вставить значения в другой диапазон; - ФО новая команда excelfile
get_range()- получить содержимое диапазона как массив; - ФО новая команда excelfile
get_and_clear_range()- получить содержимое диапазона как массив и очистить; - ФО excel баг фикс для
set_sheet()- ошибка для значений с двойными кавычками; - ФО excel баг фикс для
set_row()- ошибка для значений с двойными кавычками; - ФО excel баг фикс для
create()- ошибка для значений с двойными кавычками; - добавлена команды
excelfile->set_range_border - баг фикс очистки куков под селениум
- баг фикс работы сабмитера - первод на FB3
- добавлен метод : app.get_plugin_status - получающий статус плагина ("plugin not found","plugin not enabled","plugins not enabled","installed")
- баг фикс деструктора dominterface и windowinterface
7.0.76 (21.07.2026)
- обновление библиотек Selenium
- добавлены команды ftp:
- put_directory - залить папку на сервер
- get_directory - скачать папку с сервера
- добавлена команда
app->get_settings_folderдля получения текущей папки с настройками программы (актуально для случая изменения папки через CLI /settings_folder:) - ФО ftp коррекция названий параметров для методов: put_directory, get_directory, get_file, put_file. Коррекция:
local_file->local_folder,remote_file->remote_folder,flag_fail_exist->flag_file; - ФО ftp для
connect()добавлен параметр 'ecnoding'; - ФО ftp для методов
command(),get_file(),put_file()удалены параметры file_attributes, transfer_attributes, context (не были реализованы); - ФО ftp Добавлен метод
command_texts(); - ФО ftp обновлены тесты для PHP, CS, JS, PY;
- добавление TimeStamp в логи коннектов smpt,imap,pop3
- Tesseract OCR обновлен до 5.5.0
- ФО ftp перведен в асинхронный режим исполнения команд;
- ФО ftp исправлена ошибка некорректной работы с кодировкой отличной от UTF-8;
- добавлена команда
debug->get_editor_textдля получения всего или выбранного текста в редакторе; - ФО excelfile добавлена команда
get_sheet_page()для чтения Листа Excel файла постранично. Команда внесена в WF; - ФО excelfile баг фикс критический сбой в библиотеке при чтении значения из ячейки типа формула. Если ячейка типа формула, то получем ее кэшированное значение. Фикс внесен для команд
get_sheet(),read_sheet(),get_row(),copy_row(),get_col(),get_cell(); - добавлена команда
debug->get_cur_tab_pathдля получения путь к файлу в текущей закладке редактора - обновлены библиотеки и селениум драйвера
- обновлен встроенный Ms Edge
- баг фикс задвоения объектов в редакторе при подсказках
- баг фикс задвоения объектов в диалоге добавления кода
- обновлены библиотеки и селениум драйвера до последних версий
- обновлен встроеный Chromium 133.4.2+g0852ba6+chromium-133.0.6943.12
- добавлен метод
mail->add_message_via_imapдля добавления сообщения в заданную папку через IMAP - улучшено отображение плагинов - окон (немодальные плагины показываются в таскбаре)
- добавлены методы:
$bd->query_dictsи$bd->query_resultsдля получения результатов запроса в виде словаря и массива - баг фикс работы bd для sqlite
- по умочланию добавлены плагины
- AnythingLLM
- Docker
- CodeAssistant
- LMStudio
- Ollama
- обновлен плагин паспорт робота
- добавлена переменная с типом String[,] при создании нового WF
- добавлены Http активности в панель WF
- добавлено много новых активностей в раздел Базовые
- Словари
- Дата и время
- Динамические переменные
- Значения
- Guid
- Операции
- Сравнения
- добавлено несколько новых активностей в раздел работы со строками
- добавлены методы для mail
- get_message_by_attachment_name_via_pop3
- get_message_by_attachment_name_via_imap
- при получении письма mail (pop3,imap) теперь получаем имена вложений
- добавлено в команде
browser->send_post_queryвозможность добавления двух и более дополтьельных заголовков, разделенных \n - добавлен парметр timeout к
pdffile->get_pages_count - увеличен таймаут по умолчанию для WF команд
- баг фикс mail.get_massage_by_xxx
- баг фикс mail.get_message_by_attachment_name
- баг фикс bd с типом sqlite
- мелкие улучшение инсталятора и интерфйеса платформы
- обновление селениум драйверов
- улучшена справочная информация о методах шаблона
- существенное ускорение и улучшение работы функции
pdffile->combineдля method="docnet" - баг фикс таймаута ожидания при выполнении внешних команд
app->run_as_batapp->shell_execute - ФО window исправлена ошибка при вызове команды
get_by_hwnd() - WindowInterface исправлена ошибка замена типа возврата int[] на string с разделитлем точка с запятой для
get_all_child_by_text()andget_all_child_by_class()замена типа возврата int[] на строку с разделитлем точка с запятой - добавлены новые методы в объект outlook
- get_message_by_category
- get_message_by_attachment_name
- get_message_by_id
- get_message_categories_by_id
- add_message_categories_by_id
- remove_message_categories_by_id
- добавлен новый метод в объект mail
- add_message_flag_by_id_via_imap
- добавлен новый объект msexchange
- clipboard добавлены новые методы
- Работа с изображениями
get_image()- получение изображения в формате base64put_image(base64Image)- установка изображения из base64 строкиhas_image()- проверка наличия изображения в буфере- Работа с файлами
get_files()- получение списка файлов в формате JSONput_files(files)- установка списка файловhas_files()- проверка наличия файлов в буфере- Работа с форматами данных
get_data(format)- получение данных в указанном форматеput_data(format, data)- установка данных в указанном форматеhas_format(format)- проверка наличия данных в форматеget_formats()- получение списка доступных форматов- Работа с RTF
get_rtf()- получение RTF-текста из буфераput_rtf(rtfText)- установка RTF-текста в буфер- Работа с аудио
get_audio()- получение аудио-данных в формате base64put_audio(base64Audio)- установка аудио из base64 строки- Утилитарные методы
get_size()- получение размера данных в буфереis_empty()- проверка, пуст ли буфер обменаget_info()- получение информации о содержимом буфера- Работа с метаданными
get_source_url()- получение URL источника из буфераput_source_url(url)- установка URL источника в буфер- Обновлены шаблоны clipboard для всех языков (PHP, JavaScript, Python, C#)
- Добавлены тесты для всех новых методов clipboard
- telegram добавлены новые методы
- Работа с каналами
create_channel()- создание нового каналаcreate_supergroup()- создание супергруппы (мегагруппы)change_channel_title()- изменение названия каналаchange_channel_description()- изменение описания каналаset_channel_username()- установка username для каналаinvite_users_to_channel()- приглашение пользователей в каналget_channel_subscribers()- получение списка подписчиков каналаget_channel_admins()- получение списка администраторов каналаpromote_to_channel_admin()- назначение администратора каналаpublish_to_channel()- публикация сообщений в каналpublish_media_to_channel()- публикация медиа файлов в каналcreate_channel_invite_link()- создание ссылки-приглашения в каналget_channel_info()- получение информации о канале- Работа с группами
create_group()- создание обычной группыcreate_megagroup()- создание супергруппы (мегагруппы)change_group_title()- изменение названия группыinvite_users_to_group()- приглашение пользователей в группуget_group_members()- получение списка участников группыget_group_info()- получение информации о группеcreate_group_invite_link()- создание ссылки-приглашения в группу- Получение информации из чужих групп
get_group_info_by_link()- получение информации о группе по ссылкеget_group_statistics_by_link()- получение статистики группы по ссылкеget_group_messages_by_link()- получение сообщений из группы по ссылкеsearch_group_messages_by_link()- поиск сообщений в группе по текстуget_group_members_by_link()- получение участников группы по ссылкеget_group_members_count()- получение количества участников группыget_group_media_messages_by_link()- получение медиа сообщений из группыget_group_messages_by_hashtag()- получение сообщений с хештегамиget_group_id_from_link()- получение ID группы из ссылкиcheck_group_exists()- проверка существования группыget_group_messages_by_date()- получение сообщений за определенный период- ФО excelfile новая типизация. Если параметр set_all_cell_values_as_string = true, то все значения для ячейки будут строковые. \nЕсли set_all_cell_values_as_string = false (по умолчанию) для изменения ячеек тип данных для значения ячейки по JSON типизации, если в словарь типов колонок содержит данные о типах для этого файла иЛиста, то типы определяются по словарю. Для команд: add_row, add_rows, ser_col, set_cell, set_row, set_sheet. Добавлены команды для упралвения словарем колонок: remove_column_types_dict, set_column_types_dict.
- ФО mail улучшена работа с протоколом IMAP. Добавлена команда
set_limit()для установки значения лимита глубины прохода при поиске писем (по умолчанию Limit = 5000); - XHEInterfaces, XHEWindowInterfaces, XHEUIS исправлено: не добавлять в коллекцию элемент с пустым номером или с номером -1;
- XHEInterfaces, XHEUIS для PHP исправлена ошибка приведения типов для конструктора;
- XHEInterfaces Python исправлен сбой для вызова методов типичных для XHEInterface на объекте коллекции XHEInterfaces (для ограниченного набора команд)
- XHEInterfaces JS исправлен сбой не хвататет ссылок на модули классов;
- xhe_table Добавлены команды add get_rows_count_by_number, add get_cols_count_by_number
- Для всех ФО добавлены PHPDoc для всех команд;
- Для всех ФО удалены устаревшие классы Compatable;
- добавлены функции в объект sound для работы с нейросетями (TTS/STT):
- text_to_speech - преобразование текста в звук через OpenAI API или локальные инструменты (piper-tts)
- параметры:
- method - метод преобразования ("api" по умолчанию или "local")
- text - текст для преобразования (обязательный)
- output_path - путь к выходному аудиофайлу (обязательный)
- voice - голос для синтеза (для api: "alloy", "echo", "fable", "onyx", "nova", "shimmer", по умолчанию "alloy"; для local: имя модели голоса, по умолчанию "ru_RU-denis-medium")
- model - модель для api ("tts-1" или "tts-1-hd", по умолчанию "tts-1")
- api_key - ключ OpenAI API (если не указан, берется из настроек)
- timeout - таймаут выполнения в секундах (по умолчанию 60)
- для method="api": поддерживаются форматы .mp3, .opus, .aac, .flac
- для method="local": поддерживается формат .wav
- speech_to_text - распознавание речи из аудиофайла через OpenAI Whisper API или локальные инструменты (whisper.cpp)
- параметры:
- method - метод распознавания ("api" по умолчанию или "local")
- audio_path - путь к аудиофайлу для распознавания (обязательный)
- language - код языка (2 символа, например "ru", "en"; для api опциональный, для local по умолчанию "ru")
- timeout - таймаут выполнения в секундах (по умолчанию 60)
- model - модель для local (по умолчанию "ggml-base.bin")
- api_key - ключ OpenAI API (если не указан, берется из настроек)
- для method="api": поддерживаются форматы .mp3, .mp4, .mpeg, .mpga, .m4a, .wav, .webm (максимальный размер файла 25MB)
- для method="local": поддерживаются различные форматы, поддерживаемые whisper.cpp
- ФО LibreOffce добавлены методы чтения файлов ODT как текстовые блоки;
- ФО Keyboard обновлены методы для ввода символов в Браузере 'send_key', 'send_key_down', 'send_key_up' исправлен ввод сочетаний клавиш и определение клавиш по alt коду;
- ФО Keyboard в методы для ввода символов в Браузере 'send_key_down', 'send_key_up' добавлены параметры 'ctrl', 'alt', 'shift' по аналогии с 'send_key';
- Добавлена турецкая локализация для классов пользовательского интерфейса и API;
- Обновлены тесты в пвпке TestSamples";
- Добавлен ФО Logger для записи логов в файлы, панель отладки или базу данных SQLite;
- Добавлен AI чат;
- автоматического назначения значения глобальной переменной xhe_host из Environment процесса исполнения для скриптов PHP, PY, CS, C#. Позволит избегать ошибок при смене порта приложения. Образец: $xhe_host =
getenv("RPABOT_HOST_URL"); - обновлены файлы шаблонов создания файлов из меню Файл и создание времменого файла из выделенного кода, для всех языков с учетом новых методов и параметров;
- обновлены библиотеки CefSharp для Браузеров версия 147.0.100;
7.0.78 (24.09.2026)
- ИИ Ассистент: генерация PHP-проектов робота:
- пустая папка проекта получает каркас сама (init, tools/core, слайсы, AGENTS.md), ассистент запускает робота только через среду - из консоли API недоступен;
- исправлено: выгрузка в CSV падала с "Class CsvHelper not found" во всех новых проектах робота;
- исправлено: за один запрос агент делал не больше 25 шагов и обрывался на чтении проекта - лимит поднят до 60 и настраивается;
- исправлено: разные команды в терминале считались повтором и обрывали ход как «зацикливание»;
- исправлено: вложенный субагент мог держать ход «молча» десятки минут - тулз task выключен во всех режимах.
- Браузеры: движки обновлены до последних версий (151, CefSharp / CEF 151.3.240);
- ИИ Ассистент (панель ИИ чата):
- волна новых возможностей: пикер элемента (кнопка-прицел дает локатор-сниппет), скриншот при любой ошибке верификации, офлайн-каталог частотных методов при выключенном MCP, бриф перед написанием скрипта, тосты и звук при завершении задачи и запросе к пользователю;
- применение правок до записи файла: диалог с диффом - Отклонить / Применить / Применить все для задачи;
- /replay - повторный прогон без агента со сверкой живого запуска (заголовок, URL, артефакт);
- честный линт скрипта при отсутствии интерпретатора;
- вкладка нового чата, очередь сообщений во время работы агента, статусная панель агента с деталями;
- композер: @-упоминания (файл, браузер, лог, вкладка и др.), слеш-команды, меню «еще» (копия и экспорт чата), кнопки действий сообщения;
- откат правок: Отклонить карточку, Откатить шаг (все файлы шага агента);
- справка в панели: обновлен список «Что получается» по подтвержденным сценариям;
- ИИ Ассистент (панель ИИ чата): исправления:
- тултип кнопки сворачивания панели инструментов теперь меняется «Свернуть»/«Развернуть» по состоянию;
- вкладка «Новый чат» появляется сразу при создании черновика;
- выравнивание кнопок и комбинации режимов композера, добавлены недостающие иконки;
- локализация тултипов и подписей панели (англ/рус/тур);
- ИИ Ассистент:
- поддержка прокси HTTP/HTTPS/SOCKS5: общая настройка и отдельно на провайдера;
- настройки скорости ответа: отключение thinking, сокращённый набор инструментов, уменьшенный контекст;
- стартеры с вкладками для быстрого запуска типовых задач;
- закреплённый статус-бар с прогрессом по этапам выполнения;
- короткие имена моделей в списке выбора;
- офлайн-каталог документации API (PHPDoc) для подсказок без интернета;
- ИИ Ассистент: исправления:
- настройки приложения сохраняются атомарно — защита файла настроек от повреждения при сбое;
- исправлен сбой в load_web_page при коротких URL;
- убраны зашитые сетевые учётные данные из impersonate_user;
- ИИ Ассистент: настройка «Свернуть карточки инструментов» сворачивает и одиночные карточки (раньше оставались развёрнутыми);
- ИИ Ассистент: стрим с thinking больше не обрывается через 30 с паузы и не запускает второй запрос без потока — простой считается по таймауту запроса, сломанный SSE по-прежнему повторяется без стрима;
- ИИ Ассистент: методы API модель берёт через `search_api` из Templates (и при MCP off); неизвестный метод в записи указывает на этот тул, а не «включи MCP»;
- ИИ Ассистент: PHP DOM — только `->`, не `::`; `get_by_*` даёт XHEInterface (`
$el->set_value`), не аргумент для `set_value_by_name`; `WINDOW::$window` — окно ОС, не поле страницы; - ИИ Ассистент: нет `WEB::$keyboard` (это `SYSTEM::$keyboard` / `
$el->send_key`); нет CSS-селекторов в API; `search_api` без `__` в имени тула всё равно находится; - ИИ Ассистент: пустые SSE-строки и keepalive не сбрасывают таймаут стрима — зависшая модель обрывается по лимиту запроса;
- ИИ Ассистент: сумма токенов — кольцо заполнения контекста (вызов / окно) с подсветкой на 70 % и 90 %, клик по ней даёт разбивку расхода и кнопку «Сжать контекст»; в панели чата считается сумма всего хода, а не одного сообщения;
- ИИ Ассистент: повторный XML-вызов тула больше не падает в базе чата (уникальный id, не xml_1);
- ИИ Ассистент: карточки чата компактнее — шапки «Пользователь», «Размышления», «Система» и инструмента показаны иконкой с подсказкой на языке интерфейса, тело результата развёрнуто сразу, у блока «Система» — оценка токенов в шапке и прокрутка;
- ИИ Ассистент: PHP Deprecated в логе запуска больше не считается ошибкой скрипта;
- ИИ Ассистент: XML-вызов тула в тексте/размышлении (Qwen `<tool_call>`) исполняется как обычный tool_call — без пустого хода;
- ИИ Ассистент: пустой ход модели — «Модель завершила ход без текста» вместо «Call: stop»; служебный nudge скрыт;
- ИИ Ассистент: `init.php` робот берёт только из Studio `Templates` (для далёкой папки — абсолютный require), копия в папку робота не нужна и не создаётся; без слэша в `__DIR__ . "init.php"` запись отклоняется;
- ИИ Ассистент: search_replace учитывает CRLF и trim строк; короткие имена tools; компакт логов с хвоста; стоп doom-loop и битого JSON аргументов;
- ИИ Ассистент: панель плана над полем ввода — раскрываемый чеклист шагов агента (счётчик 2/6, перечёркивание выполненных, текущий шаг выделен);
- ИИ Ассистент: сброс настроек не очищает папку проекта; на стартовом экране кнопки показывают локализованный текст, а не ID ресурса;
- ИИ Ассистент: проверка MCP с индикатором «Checking…» по адресу из формы (таймаут 3 с);
- ИИ Ассистент: экспорт и сохранение настроек работают без предварительного Save;
- ИИ Ассистент: ввод температуры в настройках не сбрасывается при наборе десятичной дроби;
- ИИ Ассистент: при приближении к лимиту контекста история сжимается сама (саммари Objective / Work State), не дожидаясь ошибки модели;
- ИИ Ассистент: запись PHP-робота без `<?php` отклоняется (Studio иначе не исполняет файл); `TEST_POLYGON_URL` без `constForTestSamples.php` тоже;
- ИИ Ассистент: в узкой панели кнопка «ещё» не уезжает за край — лишние иконки уходят в меню;
- ИИ Ассистент: запись PHP с `escapeshellarg`/`escapeshellcmd` или `LOG::$app` отклоняется — на Windows ломают пути, лог через `SYSTEM::$textfile`;
- ИИ Ассистент: A−/A+ в меню «ещё» сохраняют ChatFontPx в ai_settings (как Ctrl+/−), не только zoom в localStorage;
- ИИ Ассистент: стрим ответа не подвешивает окно — текст обновляется плавно; если сервер модели перестал отвечать, платформа выходит из состояния «занято» примерно за 30 с, а не ждёт полный таймаут запроса;
- ИИ Ассистент: провайдер Anthropic Claude — убран нерабочий адрес по умолчанию api.anthropic.com (нативный API /v1/messages не реализован), добавлена подсказка указать OpenAI-совместимый эндпоинт/прокси (напр. OpenRouter);
- Установка: инсталлятор теперь при необходимости доустанавливает Microsoft Edge WebView2 Runtime — без него на чистой машине не работал браузерный движок Edge;
- ИИ Ассистент: NVIDIA NIM — отдельный провайдер с собственными настройками (модель, ключ, адрес); сохранённые ранее ключ и модель переносятся автоматически;
- ИИ Ассистент: блоки в чате сворачиваются в одну строку — системный промпт, «Thinking» и карточки инструментов по умолчанию свёрнуты, клик по заголовку раскрывает;
- ИИ Ассистент: диалог настроек разбит на страницы по закладкам (General, Model, Agent, …) и переключается; открывается в теме чата и без белой вспышки при загрузке;
- ИИ Ассистент: интерфейс чата и настроек пересобран без DevExtreme — открывается заметно быстрее и выглядит как прежний диалог; исправлен выбор провайдера (раньше список не раскрывался);
- ИИ Ассистент: полировка диалога настроек — иконочные кнопки, карточки режимов в одну строку, кнопки «Открыть»/«Выбрать папку» справа от полей, тёмная тема без пробелов, подтверждение при закрытии с несохранёнными изменениями, вкладка «Инструменты» теперь показывает и семейство PowerShell;
- ИИ Ассистент: «Компактный набор инструментов» и «Быстрый локальный контекст» по умолчанию выключены — модель получает полный набор инструментов и полный контекст;
- ИИ Ассистент: LLM-судья артефактов отвечает на языке интерфейса — карточка в чате объясняет причину отклонения или недоступности судьи по-русски;
- ИИ Ассистент: на вкладке «Правила» можно создать файл правила и редактировать содержимое существующих — без ручного похода в папку .agents/rules;
- ИИ Ассистент: вкладка «Инструменты» полностью на русском — понятные названия сервисов и категорий, человеческие описания «что это и зачем» у каждого инструмента, поиск тоже по русскому тексту;
- ИИ Ассистент: на вкладке «Агент» блок настроек прокси сворачивается кликом по заголовку и по умолчанию свёрнут;
- ИИ Ассистент: «Проверить соединение» работает с адресами без http:// и порта (например, 192.168.1.109 для LM Studio — схема и порт достраиваются автоматически) и показывает причину сбоя вместо голого «Ошибка соединения»;
- ИИ Ассистент: диалог настроек всегда в теме ИИ-чата — кнопка смены темы и блок «Тема чата» из настроек убраны (тема переключается в самом чате), при незаданной теме учитывается скин приложения;
- ИИ Ассистент (Windows): исправлена маршрутизация запросов с параметрами в мосту WebView2 — «Проверить соединение» и сохранение настроек ИИ молча не срабатывали;
- ИИ Ассистент: бейдж «thinking» у провайдера в настройках заменён иконкой с подсказкой на языке интерфейса;
- ИИ Ассистент (Windows): окна настроек и справки закрываются сами после сохранения/закрытия — раньше на экране оставалось пустое белое окно;
- ИИ Ассистент: понятные сообщения об ошибках модели — если модель недоступна для аккаунта провайдера, снята с поддержки или не найдена (например, NVIDIA NIM), чат объясняет это человеческим языком и предлагает выбрать другую модель в настройках ИИ вместо сырого HTTP-ответа;
- ИИ Ассистент: локализация чата — роли сообщений (Пользователь/Ассистент/Система/Инструмент), режимы (Вопросы/План/Код) и их подсказки, «Авто» в выборе языка, кнопка копирования у блоков кода и прочие мелкие строки теперь на языке интерфейса;
- ИИ Ассистент: кнопка «Очистить всю историю» действительно удаляет все чаты — раньше она чистила только архив и список истории оставался на экране;
- ИИ Ассистент: поля настроек не теряют фокус при вводе текста — раньше диалог перехватывал фокус после каждого символа;
- ИИ Ассистент (Windows): сохранённые настройки (размер шрифта чата, скрытие/свёртывание блоков и др.) сразу применяются в панели чата — раньше шрифт обновлялся только после перезапуска;
- ИИ Ассистент: на странице «Модель» блок выбора провайдера свёрнут по умолчанию — выбранный провайдер и модель видны прямо в заголовке секции;
- ИИ Ассистент: настройки открываются на той вкладке, которая использовалась в прошлый раз;
- ИИ Ассистент: поле «Базовый системный промпт» на вкладке «Контекст» стало высоким и растягивается по вертикали — раньше оно было в одну строку;
- ИИ Ассистент: на каждой странице настроек появилась кнопка «Справка» — открывает справку ассистента на разделе об этой странице с описанием каждой настройки простым языком (русский, английский, турецкий);
- ИИ Ассистент: подсказка «Сессия» в шапке чата (провайдер, модель, режим, MCP) обновляется сразу после сохранения настроек — раньше оставалась со старыми значениями;
- ИИ Ассистент: размер шрифта чата настраивается в диапазоне 8–40 px (раньше 11–20);
- ИИ Ассистент: незавершённый ответ (закрытие Studio, обрыв связи) больше не остаётся в чате пустым пузырём «…» — при следующем запуске он помечается как прерванный с подсказкой продолжить;
- ИИ Ассистент: пузыри ответов в разных диалогах больше не склеиваются — текст одного ответа не перезаписывает соседний (раньше одинаковое содержимое хранилось одной записью на несколько сообщений);
- ИИ Ассистент: новый инструмент «открыть файл в редакторе» — на просьбу «открой в редакторе то, что создал» ассистент сам показывает файл во вкладке редактора, ничего в нём не меняя;
- ИИ Ассистент: если ход прерван (кнопка «Стоп», ошибка модели, лимит итераций или времени), в чате появляется блок [TURN STATE] — сколько итераций пройдено, какой скрипт записан, класс ошибки и какое действие ждёт вашего подтверждения;
- ИИ Ассистент: действие, не подтверждённое вовремя в диалоге подтверждения, больше не считается отказом — ассистент сообщает, что действие ждёт подтверждения, вместо того чтобы молча бросать задачу;
- ИИ Ассистент: сообщение, отправленное во время работы агента, не теряется — Enter ставит его в очередь (виден статус и полоска «подхвачу на следующем шаге»), ассистент подхватывает его на следующем шаге; раньше такое сообщение уходило незамеченным, а в чате стартовал второй параллельный ход, из-за которого «Стоп» переставал действовать на первый;
- ИИ Ассистент: в стриминге у провайдера теперь запрашивается статистика токенов — в истории хода появляются реальные значения вместо нулей; провайдеры, которые не поддерживают это поле, определяются автоматически и продолжают работать как раньше;
- ИИ Ассистент: в первом сообщении диалога до модели теперь доходят @-упоминания файлов и состояние рабочей папки (раньше этот блок на первом ходу терялся), а в повторных ходах он больше не дублируется в системном промпте;
- ИИ Ассистент: длинный диалог больше не обрывается ошибкой шаблона модели после сжатия истории — запрос всегда начинается с пользовательского сообщения, как того требуют локальные модели qwen (раньше ход падал с «No user query found in messages»);
- ИИ Ассистент (Windows): панель ИИ-чата скрывается по крестику (HideOnClose), как остальные док-панели;
- Редактор: контекстное меню закладок — закрыть / остальные / все, сохранить, переименовать, перечитать, проводник, путь, удалить; у пунктов иконки;
- ИИ Ассистент: пункты панели и настроек вынесены из «Вид»/«Сервис» в отдельное меню «ИИ» после «Плагины»;
- Панель браузера: адрес в комбобоксе не затирается во время набора;
- Браузер: в списке моделей появились Brave и Opera и переключение на них (Selenium) в панели браузера;
- ИИ Ассистент: вкладка модели не проверяет подключение сама — только по кнопке «Проверить соединение»; ошибка недоступности не сыплется в панель отладки;
- ИИ Ассистент: числа и bool в вызовах тулов принимаются и строкой ("5"/"true"); повтор той же ошибки даёт подсказку; после первого тула в Code размышление отключается; правки search_replace линтятся по целому файлу, а не по фрагменту;
- ИИ Ассистент: вызов метода на чужом объекте (
webpage->get_by_inner_text) отклоняется до запуска — подсказка с правильным DOM/WEB фасадом; - ИИ Ассистент: поиск в Google агент пишет по рабочему сценарию — `set_inner_text_by_name` / `send_input`, Enter через `
send_key(VK_ENTER)`, после Enter только `sleep(3)` без `wait_js` (иначе зависание), заголовки `get_by_number` без «Почта/Картинки» и футера, `data/` через `mkdir` и `__DIR__`; - ИИ Ассистент: `harvest_locators` и snapshot — тулы чата, не методы PHP; карточки MCP/search не краснеют из-за JSON `null`; `*_by_name` только на фасаде, не на `$el`;
- ИИ Ассистент: пустой STOP с thinking — хвост reasoning в чат; после лимита empty_stop — краткое резюме хода;
- заставка при старте показывается на том же мониторе, что и главное окно;
- ИИ Ассистент: XHE MCP ставится со Studio (готовый индекс в `{app}\MCP`) и поднимается только при первой проверке или включении MCP, не при старте программы;
- ИИ Ассистент: после ответа вкладка остаётся «ИИ Ассистент», а не «Готово»; окончание работы — всплывающее уведомление;
- ИИ Ассистент: llama.cpp больше не падает HTTP 500 на втором ходе с тулами — в сообщениях не уходит JSON null вместо строки (content, id вызова, tool_call_id);
- Справка: онлайн-справка и справки по PHP / JS / Python / C# открываются во внешнем браузере по умолчанию;
- Скриншот: выбор области — контрастная пульсирующая рамка и кнопка камеры в стиле ИИ-чата; диалог сохранения — меню «Сохранить / Открыть / Инструменты» (копирование, размер, вписать в окно, перевыбор);
- Скриншот: рамка выбора области снова ресайзится; в диалоге сохранения — масштаб изображения (− / % / +, вписать) и изменение размера самого окна;
- диалог установки плагинов: запоминает последний путь и по умолчанию открывается в папке Plugins рядом с программой;
- Редактор: на панели кнопка включения/выключения режима отладчика PHP;
- отладка: панель стека вызовов — имя функции и тип кадра, локали выбранного кадра в Watch, текущий кадр, копирование, скрытие Templates/vendor, пустое состояние, клавиатура;
- Outlook: несколько экземпляров Studio и роботов больше не мешают друг другу — межпроцессный lock, attach к уже запущенному Outlook, one-shot не делает Quit,
close()не убивает процесс; COM на выделенном STA-потоке с повтором при CALL_REJECTED, плагин outlook2 не гасит чужой Outlook; - ИИ Ассистент: в классической Studio `run_script` идёт через встроенный запуск (F5 / панель отладки), а не отдельным консольным окном;
- ИИ Ассистент: кнопка «Новый проект» в чате — папка в «Мои роботы» с правилами/скилами; главный скрипт только из этой папки, не leftover с прошлого прогона;
- ИИ Ассистент: после doom loop (один и тот же tool 3 раза) в ленту пишется итог хода, а не только карточка тула;
- Мои роботы: в тулбаре и контекстном меню папки — «Показать только эту папку», «Показать все папки» (выход из режима) и «Открыть как проект в ИИ-чате»;
- Мои роботы: дерево само обновляется при создании/удалении проекта, если папка развёрнута и видна;
- Мои роботы: «Очистить папку» — удаляет все файлы и подпапки, сама папка остаётся;
- Мои роботы: JSON и Markdown — и в фильтре дерева рядом с PHP/JS/Python, и в меню «Создать»;
- Мои роботы: «Недавние» и «Избранное» — поиск открывается кнопкой (поле скрыто до нажатия), контекстное меню «Удалить из недавних» и «Очистить», в подсказке дата и время открытия и родительская папка (различать одноимённые файлы), иконки того же цвета, что в дереве;
- Мои роботы: в тултипе дерева — дата изменения файла, чип «Служ.» скрывает .ai, log, temp и .git;
- Мои роботы: у папки-робота точка последнего запуска (OK / ошибка / не запускали) по хвосту лога;
- Мои роботы: файлы и папки перетаскиваются по дереву; горячие клавиши F2 / Del / Ctrl+D / Ctrl+Enter (открыть папку как проект в ИИ-чате);
- Мои роботы: в контекстном меню папки — «Открыть AGENTS.md» и паспорт;
- Мои роботы: «Недавние» и «Избранное» скрываются, фильтр типов — выпадающий список, тулбар в одну строку с «…», контекстное меню с подменю, полоска «Папка: …» цветом папки и бледнее, иконки MD/docs бирюзовые;
- Редактор: после правок ИИ Ассистента скрипт сохраняется перед запуском;
- Редактор: подсветка синтаксиса для Markdown, JSON, HTML, XML/SVG, CSS, INI, YAML, SQL и BAT/CMD;
- ИИ Ассистент: движок агента выбирается в настройках — «Встроенное» или «Сервер» (`{app}\Tools\AI\RPAloop1\RPAloop1.exe`, кладётся в установщик); без бренда OpenCode в UI;
- ИИ Ассистент: движок «Сервер» больше не подвешивает чат — после записи файла возвращается в ожидание, ответ не дублирует вопрос и не теряется в размышлениях (короткие ответы врод «4» тоже попадают в ответ), в чат не пишутся служебные system/скрипт, а зависший на порту процесс снимается перед запуском и порт при первом старте подбирается свободный;
- ИИ Ассистент: карточки тулов — имя в шапке и итог ok/error без спама pending/running, строка ответа не дублируется; ход «Сервер» не рвётся, пока тул выполняется, финальный ответ отдельно от рассуждений;
- ИИ Ассистент: в движке «Сервер» робот пишет файлы и запускает их инструментами Studio (после записи файл открывается в редакторе), подтверждение правок — Deny / Approve / Approve all, в движок уходят режим Спросить/План/Код и AGENTS.md;
- ИИ Ассистент: режимы движка «Сервер» разграничены — «Спросить» не пишет файлы, «План» сохраняет PLAN.md и не оставляет .php, в «Код» открыт нативный набор инструментов;
- ИИ Ассистент: локальный мост инструментов движка «Сервер» отклоняет запросы без авторизации и действия, запрещённые режимом; системный промпт передаётся одним каналом;
- ИИ Ассистент: на вкладке «Инструменты» — реальные тулзы текущего движка, каждый с чекбоксом вкл/выкл; выключенный тулз не уходит модели и не выполняется (в «Сервере» его файл не пишется в tools-папку и мост отвечает отказом);
- ИИ Ассистент: у движка «Сервер» свои правила вместо встроенных подсказок OpenCode — ответы полные и на языке пользователя, проверка робота — его запуск в эмуляторе; аргументы инструментов описаны в самих инструментах и не дублируются в системном промпте;
- ИИ Ассистент: удаление первого сообщения в диалоге больше не делает историю нечитаемой (раньше чат не открывался, панель крутила «занято»);
- ИИ Ассистент: движок «Сервер» получил те же инструменты, что и «Встроенное» — адрес страницы, список и переключение вкладок, снимок экрана, проверка текста на странице, а также лог робота, проверка что он завершился и его остановка;
- ИИ Ассистент: второй и каждый следующий запрос в открытом чате снова дожидаются ответа (раньше панель показывала только ваш вопрос и больше не обращалась к движку);
- ИИ Ассистент: честная проверка результата робота — файлы, обещанные внутри подключённых файлов проекта (slices/adapters), и выгрузка в xlsx/xls теперь тоже проверяются; пустой или мусорный файл больше не выдаётся за выполненную задачу.
- ИИ Ассистент: справка по API XHE («поиск методов») отдаёт вызовы, которые действительно запускаются: раньше готовая строка выводилась с объявлением параметров — `
send_key(bool $is_key, …)` — и скопированный в робота код падал; теперь остаётся только имя переменной. - ИИ Ассистент: карточка запуска робота в движке «Сервер» показывает красный статус, когда проверка не пройдена (раньше за «успех» выдавался завершившийся с ошибкой скрипт); csv с одной строкой заголовков и ноль строк данных больше не считается выполненной задачей;
- ИИ Ассистент: подсказки после падения робота и справочный каталог больше не советуют несуществующих объектов (`WEB::$textfile`, `DOM::$heading`) и вызовов — все имена берутся из живых Templates/Objects;
- ИИ Ассистент: уточнение, отправленное посреди хода, доходит до движка «Сервер» — сообщение встаёт в очередь, виден его статус, а ответ разбивается на раунды (раньше такое сообщение молча терялось);
- ИИ Ассистент: движок «Сервер» называет причину пустого хода — отказ модели или стенда (например, «не хватает контекста») и превышение лимита времени больше не прячутся за «сервер завершил ход без текста», при таймауте показывается сделанное;
- ИИ Ассистент: длинная задача в движке «Сервер» больше не встаёт на уточняющем вопросе модели и не обрывается на обходе страниц;
- ИИ Ассистент: застрявшая на повторе одного и того же вызова модель получает подсказку сменить тактику и доводит задачу до конца (раньше ход обрывался на третьем повторе, в том числе на безобидном обращении к справочнику API);
- ИИ Ассистент: робот, созданный в чате, пишет файлы по относительным путям в свою папку проекта (раньше `data/…` уходило в папку программы, а проверка результата его там не находила);
- ИИ Ассистент: в движке «Сервер» о выдуманном методе XHE модель узнаёт из результата этого же запуска робота и чинит скрипт в том же ходе (раньше замечание о правде API доходило только во встроенном движке, и «Сервер» переписывал выдуманный метод другим выдуманным);
- ИИ Ассистент: перед запуском ловятся молча ломающиеся скрипты — однострочник, где `//` отрезает весь остаток (ни кликов, ни сохранения файла), и скалярная работа со списком из `get_all_by_…` (раньше `
trim()` и сравнение со строкой давали пусто вместо найденных элементов); - Классический рантайм (отдельная RT-версия): скрипт с действиями из категории «Строки» больше не вылетает при запуске — раньше такие роботы работали только в Студии, а в рантайме программа завершалась сразу;
- ИИ Ассистент: карточка инструмента показывает вывод целиком — раньше он обрывался на 500 символах, и остаток нельзя было посмотреть; запуск робота теперь несёт расширенный хвост лога, а в движке «Сервер» — и начало, и конец длинного вывода;
- Excel: `
excelfile->` — новый лист создаётся сразу с заголовками в первой строке, одним вызовом (раньше заголовки требовали второго обращения к файлу и лишнего пересохранения книги); доступно в PHP, JS, Python и C#;add_sheet(файл, лист, заголовки) - ИИ Ассистент: справка по API XHE («поиск методов») показывает примеры реального вызова не только для объектов страницы, но и для работы с экраном и изображением (XHETesseractOCR, XHEFineReaderOCR), окнами (XHEWindow, XHEUI, XHEScheduler), системой (XHEClipboard, XHEBd, XHEExcel) и браузером (XHEBrowser, XHERest, сервисы капчи);
- Справка по API XHE: список параметров метода больше не обрезается - сигнатуры с необязательным типом (?array), выбором типов (string|array), типом из пространства имён и передачей по ссылке (&$var) теряли параметры (у XHERest::request доходило 2 из 5); теперь параметров ровно столько, сколько в объявлении метода;
- Локализация: подписи, которые показывались оператору сырым ключом, переведены — 24 в турецком (группы настроек ИИ Ассистента, провайдеры, диалог несохранённых изменений, каталог MCP), 2 в русском (шкала планировщика: «сейчас» и пустой график) и 1 в английском («Обновить» в контекстном меню); впредь расхождение наборов ключей между ru, en и tr ловит тест;
- Визуальные роботы в Electron: файл .wf открывается структурным видом — шаги деревом, свойства в панели, палитра доступных действий и список непереносённых мест; правка свойства сохраняется в сам файл (с отменой и .bak), а не в текст XAML, и если сохранение отвергнуто — файл остаётся прежним; XAML виден только по явному «Показать как текст» и только для чтения.
- Визуальные роботы в Electron: нового робота можно собрать, не открывая XAML — файл создаётся из дерева сценариев («Визуальный робот»), шаг добавляется в выбранный контейнер из палитры или контекстного меню, переносится между шагами, удаляется (с подтверждением, если внутри есть непереносимые места) и отменяется вместе с возвратом назад/вперёд, а собранный робот запускается и показывает результат; условие вставленного «если» правится на месте, а в ветку «иначе» шаг кладётся тем же контекстным меню. `TryCatch` и развилку по значению (`Switch`) добавить пока нечем.
- Визуальные роботы в Electron: у робота появились переменные — в свойствах блока шагов их можно объявить (имя, тип, значение по умолчанию) и снять, а шаг «Присвоить» вставляется из палитры или контекстного меню с уже выбранной переменной и приводит значение к её типу. Снять переменную, которую где-то используют, нельзя: сохранение отвергается целиком с названием узла-потребителя — как и одноимённое объявление в том же блоке, где второе молча потеряло бы первое. Объявить переменную массивного типа и переименовать существующую пока нечем.
- Визуальные роботы в Electron: открыв робота, панель проверки сразу говорит, что с ним можно делать здесь — «исполняется здесь», «исполняет только Windows Studio с плагином», «здесь не исполняется: в файле есть узлы вне подмножества net8», «формат не распознан» или «воркер не разобрал документ»; там же видно, сколько свойств и шагов доступно правке, сколько неизвестных мест и скрытых Activity за ними и под какими сборками они лежат, а для файла, который правкой здесь не покрывается, в панели есть кнопка «Показать файл в проводнике». Число мест считается по всему разбору, а не по показанному списку первых 50: ничего не теряется молча и не исправляется самовольно.
- Визуальные роботы в Electron: цикл «Для каждого» доведён до конца — у вставленного цикла его коллекция показана в панели свойств незаполненным полем, заполняется выражением (набор элементов или ссылка на переменную) и при запуске обходит элементы ровно по одному разу; тем же полем чинится пропущенное условие у «если». Пока обязательное свойство не задано, робот помечен как неисполняемый, а место названо в списке непереносённого — раньше и то, и другое лечилось только ручной правкой XAML в Windows Studio. Цикл по переменной-массиву, TryCatch и развилку по значению (Switch) добавить пока нечем.
- Визуальные роботы в Electron: зашифрованный робот (файл вида «имя.wf.encoded_wf») больше не молчит и не притворяется битым — редактор и запуск одним словом говорят, что это зашифрованный визуальный робот, который здесь не расшифровывается, и что нужно открыть исходный .wf или Windows Studio с паролем дешифрования. Раньше воркер называл целый файл «битым XML», вкладка предлагала править его как текст, а кнопка запуска молчала; сам контейнер при этом не меняется ни байтом, и расшифрованное содержимое нигде не появляется — ни в логе, ни в аргументах запущенного процесса.
- Визуальные роботы в Electron: режим «Показать как текст» перестал быть ходом в одну сторону — пока робот открыт текстом, к его структуре возвращает кнопка в тулбаре редактора, и этот ход ничего не стоит: очередь несохранённых правок, отмены/повторы, счётчик несохранённых правок и значение в поле свойств остаются теми же, а сохранение после возврата записывает правку тем же точечным механизмом. Раньше панель структуры размонтировалась вместе со своей кнопкой переключения, и вернуться можно было только закрытием и повторным открытием вкладки.
- Визуальные роботы в Electron: подсветка исполнения доведена до каждого шага — во время запуска светятся не только отдельные действия, но и контейнеры (последовательность, «если», «для каждого»), у шага внутри цикла видно который это проход («×3») и сколько он длился, у упавшего — причина, и она остаётся на строке до конца запуска, а не стирается следующими шагами; шаг, который не дождались на конце рана, назван «не завершён», а не «исполняется». Подсветка относится к тому роботу, который запущен: вкладки двух файлов с одинаковым именем из разных папок больше не светятся разом. Строка лога теперь говорит, каким шагом она напечатана.
- Визуальные роботы в Electron: шагу можно поставить точку останова — контекстное меню шага говорит «поставить точку останова» / «снять точку», а при запуске робот встаёт на этом шаге ДО его действия и ждёт команды: в контуре видно, какой шаг держит паузу, панель лога за это время не получает ни одной строчки от него, а в тулбаре появляется «Продолжить». Действие шаг сделает только после этой команды, поэтому побочный клик или запрос, который иначе ушёл бы в боевой сайт, можно остановить до того, как он случился; из паузы доступен и ■ (запуск завершается отменой, а не «ошибкой шага»). Раньше любую нежелательную ветку можно было только убить вместе с роботом. Точка относится к открытому сеансу: рестарт продукта её не переживает, ставится она на шаг целиком (не на строку XAML внутри него).
- Визуальные роботы в Electron: на паузе роботом можно идти по шагам — пока запуск стоит, в тулбаре документа появляются «В узел», «Следующий узел» и «Наружу». «В узел» спускает в шаги контейнера, а если спускаться некуда, переводит на следующий шаг; «Следующий узел» перескакивает содержимое контейнера, дав ему отработать целиком, и внутри цикла переходит по его проходам, оставаясь на том же шаге; «Наружу» поднимает на уровень выше, а с шага верхнего уровня доводит запуск до итога. Одна команда — одна остановка: робот встаёт ровно на том шаге, куда его обещали привести, и действия этого шага к моменту остановки не совершил; стоящая точка останова важнее шага и названа причиной паузы, а шаг, отданный вне паузы, отвергается с объяснением. Раньше из паузы была одна команда — снять её или убить запуск целиком. Значения переменных на паузе показывает отдельная панель — см. следующий пункт; не хватает шага внутри перехвата исключения: штатную запись TryCatch редактор пока не понимает.
- Визуальные роботы в Electron: пауза показывает значения — пока робот стоит на точке останова или на шаге, в правой колонке редактора появляется панель «Значения на паузе» с числом строк в снимке: переменные робота и их значения ровно в тот момент, когда робот встал, и «продолжить» двигает робота дальше именно с ними. Показываются только те значения, которым продукт доверяет: текст, число, дата, логическое, перечисление, Guid; у значения, которое показывать нечем, на его месте стоит «не показывается» с настоящим именем типа в подсказке строки. Ни для одного значения не вызывается чужой код, который мог бы напечатать секрет или уронить запуск. Защищённое значение (пароль) отдаётся словами «скрыто: защищённое значение», и его тела нет ни в панели, ни в логе. Длинные строки обрезаются с честной отметкой «обрезано, всего N симв.», переменная без значения названа «не присваивалось», пустая строка — «пустая строка», а если переменных больше 64, лишние не теряются молча: панель говорит «ещё N не вошло в снимок». Раньше пауза говорила только, на каком шаге робот встал, а куда он пойдёт с этими значениями, приходилось угадывать. Значения видны только на паузе: истории изменений нет, идущему без паузы роботу смотреть нечего, переменной массивного типа в редакторе пока нечем объявить, поэтому коллекции в этой панели ещё не видно, и нет снимка внутри перехвата исключения — штатную запись TryCatch редактор пока не понимает.
- Визуальные роботы в Electron: робот на паузе отвечает на команды по существу, а не молча делает вид. Кнопки «Продолжить», «В узел», «Следующий узел», «Наружу» и ■ работают тогда, когда команду действительно есть кому принять: процесс робота жив, и установленный исполнитель эту команду объявил. Иначе панель говорит почему — «процесса воркера нет: ран завершился или был остановлен, слушать команду некому», «Исполнитель такой-то сборки не умеет “шаг по узлам”; он объявил: …» — и нажатие не выдаётся за выполненное. Раньше ответ команды был четырьмя независимыми «да» без адреса: по нему было нельзя узнать, жив ли робот и принята ли команда, а отказ был неотличим от успеха. Пока робот стоит на паузе, редактор жив: шаг можно выбрать, посмотреть его свойства, уйти «как текст» и вернуться к структуре, а контур перечитать прямо с диска (самое медленное из этих действий — 0,12 с при пределе 4 с), и всё это время робот действия не совершает. Закрытие вкладки документа робота не останавливает — снять его можно только кнопкой ■, и она даёт «отменён», а не «ошибка шага»; если окно перезагрузить, та же пауза вместе с командами и снимком значений возвращается на тот же шаг. Ответа команды робот ждёт две секунды и, если вердикта не было, честно об этом говорит — сам робот при этом остаётся там, где стоял. Истории значений, точки внутри штатного перехвата исключения (TryCatch) и отладки роботов, собранных исполнителем, объявившим не все команды, в этом релизе нет.
- Визуальные роботы в Electron: гибель процесса исполнителя больше не выглядит как «робот ещё идёт» — если процесс, который ведёт визуального робота, упал или был снят снаружи, панель лога тут же получает ровно одну строку итога: «итог: lost · … · воркер вышел с кодом N без терминального события». Пауза и значок запущенного рана снимаются, кнопки «Продолжить», «В узел», «Следующий узел» и «Наружу» исчезают, ■ гаснет, а «продолжить», отданное мёртвому запуску, отвечает тем же названным отказом, а не молчаливым «да». Потеря видна и после перезагрузки окна — её больше не нужно угадывать по молчанию панели; следующий запуск того же файла работает как обычно, потеря одного запуска не заражает другой. Раньше об этом знало только внутреннее состояние рана: панель обрывалась на строке паузы, и убитый робот был неотличим от долгого. Не мерялось: гибель процесса посреди исполняющегося шага (вне паузы) и гибель самого бэкенда.
- Визуальные роботы в Electron: набор команд, который робот разрешено требовать от исполнителя, стал настраиваемым и видимым. Запуск продукта принимает список разрешённых возможностей (переменная окружения XHE_WF_CAPS): исполнитель объявляет ровно их, и всё остальное для редактора недоступно по-настоящему — кнопки «В узел», «Следующий узел» и «Наружу» (или «Продолжить», или панель значений — каждая по своей возможности) выключены, в подсказке названо, чего именно исполнитель не объявил, рядом лежит понятный без мыши чип отказа, а вместо молчаливого «да» панель говорит, что команде некому отозваться. Пустой список снимает объявление целиком: робот при этом собирается и выполняется как обычно, ■ на паузе по-прежнему даёт «отменён», и действие шага за это время не совершается; неизвестные имена и повторы в списке отбрасываются. Попутно закрыта утечка: исполнитель, которому снимок значений не разрешён, больше не выносит его наружу — раньше значения уезжали в поток всегда, а редактор их просто не показывал. Прежняя оговорка «отладки роботов, собранных исполнителем, объявившим не все команды, в этом релизе нет» этим снята. Границы: объявление — это право, а не умение (необъявленную команду исполнитель всё равно исполнит, если послать её ему напрямую), точкой останова объявление не ограничивается, проверка сделана на сборке, которой нужная команда запрещена списком, а не на сборке, где её физически нет; повторный запуск и остановка во время загрузки робота, а также гибель самого бэкенда в этом релизе не проверялись.
- Визуальные роботы в Electron: остановка, нажатая сразу после «Запустить», теперь действительно останавливает запуск. Раньше у кнопки ■ в тот момент, когда редактор уже назвал запуск, но процесс исполнителя ещё не родился, не было адресата: нажатие терялось, робот шёл дальше и успевал совершить действие, а ответ был «остановлено» — то есть ложь. Теперь отмена резервируется за запуском и передаётся исполнителю с самой первой его секунды: робот в таком случае получает итог «отменён» (в проверке — за 0,6 с) и не совершает ни одного действия, ни в одном из восьми прогонов. Тем же слоем остановка уже завершившегося робота перестала отвечать «успешно»: она говорит, что останавливать нечего, и это слово видно в панели лога. Границы: остановка по-прежнему работает на границе шага — начатое действие шага не прерывается на середине; повторный запуск во время идущего, запуск робота, стоящего на паузе, и гибель самого бэкенда в этом релизе не проверялись.
- Визуальные роботы в Electron: «Запустить», нажатое на роботе, который стоит на точке останова, больше не отменяет его молча и не выдаёт это за успех. Раньше у этого действия было две нечестные стороны: кнопка была выключена и подписана общим «Выполнить» — ни слова о том, почему робота нельзя запустить; а тот же запрос, пришедший снаружи (планировщик или прямой вызов), останавливал стоящий запуск, начинал новый и отвечал «успешно» — в проверке за 0,7 с робот, стоявший на паузе, был отменён и перезапущен, и в панели появился второй процесс. Теперь кнопка и запрос называют одно и то же: робот стоит перед шагом «имя (шага)», запуск того же файла паузу не снимает, для стоящего робота есть «Продолжить» и шаги. Подсказка выключенной кнопки говорит эти же слова, нажатие с клавиатуры показывает их всплывающей строкой, а запрос снаружи получает отказ вместо ложного «успешно» (в проверке — за 0,009 с). Отказ при этом не трогает стоящий запуск: робот остаётся на том же шаге, и «Продолжить» после отказа доводит его до конца ровно с одним действием шага. Границы: повторный запуск робота, который идёт и при этом не стоит на паузе, этим слоем не менялся; остановка по-прежнему работает на границе шага, а не посреди начатого действия.
- Визуальные роботы в Electron: «Запустить», посланное роботу, который идёт и при этом не стоит на паузе, больше не поднимает второй запуск того же файла. Раньше кнопка была выключена без объяснения, а тот же запрос снаружи отвечал «успешно» и не отменял идущий запуск — в проверке первый дошёл до конца сам, после чего стартовал второй: робот исполнялся дважды и делал свои побочные действия дважды, а не один раз, как ожидает тот, кто нажал кнопку. Теперь кнопка и запрос называют одно и то же: робот идёт на шаге «имя (шага)», остановите его кнопкой ■ и дождитесь итога; отказ приходит за 0,01 с и идущий запуск не трогает — в проверке робот с 180 000 итераций шёл 14 с, экран выключил кнопку и назвал её идущим шагом через 0,5 с, нажатие настоящей мышью за 1,5 с не породило ни запроса, ни отмены, ни второго итога, а сам запуск дошёл до конца с ровно одним итогом. Случай, когда ■ уже нажата и робот останавливается, назван теми же словами и тоже не выдаётся за успех. Границы: гибель самого бэкенда и отладка роботов под Linux в этом релизе не проверялись, остановка по-прежнему работает на границе шага, а не посреди начатого действия.
- Визуальные роботы в Electron: структурный контур робота стал проходимым с клавиатуры и понятным программам чтения с экрана. Раньше его строки были для клавиатуры недоступны: на WF-поверхностях было 32 клавиатурные остановки, а стрелки по шагам ничего не двигали — робота правили только мышью. Теперь весь контур — одна клавиатурная остановка (на WF-поверхностях их стало 12): стрелки вверх/вниз водят выбор по шагам, вправо раскрывает контейнер и ведёт в него, влево возвращает к родителю, Home/End ведут к первому и последнему шагу, буква — к следующему шагу с этим именем, Enter открывает меню выбранного шага, а закрытое меню возвращает фокус тому же шагу, Delete снимает правку этого шага из очереди; мышь по-прежнему делает то, что делала. Меню шага и палитра конструкций тоже проходятся с клавиатуры — из поля поиска палитры в список ведёт стрелка вниз, а у конструкции названо её место в общем списке. Выбранный шаг, раскрытый контейнер и шаг, на котором робот встал, помечены так, что их различает программа чтения с экрана, а вердикт панели проверки и отказ произносятся вслух (живая область), а не только показаны цветом. Границы: как именно эти метки озвучивает конкретная программа чтения с экрана, не проверялось — проверены сами роли, состояния и путь клавиатуры в работающем продукте; имя строки пока называет тип дважды («DebugMessageDebugMessage…»), это правит следующий слой того же трека; обратный путь Shift+Tab от контура до кнопки сохранения в первой проверке не дошёл (45 шагов), и этим же слоем выяснено, что 45 было границей самой пробы, а не экрана: на чистом экране обратный ход доходит до кнопки сохранения за 12 шагов; клавиатурная семантика панелей свойств и проверки сделана частично.
- Визуальные роботы в Electron: состояние шага в контуре стало читаться без наведения мыши и без различения цветом. Раньше о том, что шаг исполняется, упал, стоит на точке, не дошёл до конца или скрыт, говорили цвет, тонкая полоска и значок, а настоящее объяснение пряталось в подсказке: его было видно только наведя курсор, и программа чтения с экрана его не произносила. Теперь строка шага несёт своё состояние словами — «исполняется», «на паузе», «отказ», «не завершён», «точка останова», «скрыт», «не сохранён», — и эти слова лежат на самой строке: их видно без наведения и их читает программа чтения с экрана. У отказа тем же текстом показана причина, а не только в подсказке, и точка останова остаётся на строке, пока робот идёт, не перекрывая его состояние. Пока робот читается с диска, вместо пустой панели показывается заготовка строк; пустой контур больше не молчит — в нём одна кнопка «Прочитать заново». Имя шага перестало называть свой тип дважды: было «DebugMessageDebugMessage», стало «DebugMessage». Проверено в работающем продукте на роботе с отказом: из 15 шагов состоянием названы 7, и все 7 читаются без текста значка; на собранном прямо в окне роботе с точкой останова и падением — 3 полосатых строки, и все 3 названы словами, плюс 2 пойманных по ходу запуска исполняемых шага, тоже названных; подсказок, остающихся единственным источником смысла, — 0, имён с удвоенным типом — 0; соседние проверки отладки (подсветка исполнения, пауза по точке, жизнь рана на паузе) зелёные. Границы: как именно эти метки озвучивает конкретная программа чтения с экрана, не проверялось — проверена разметка в работающем продукте, а не дерево доступности; состояния «скрыт» и «не сохранён» полосой в живом прогоне не пойманы (первое требует робота с непонятым исполнителем шагом, второе видно в прогоне как счётчик несохранённых правок), заготовка строк и пустой контур покрыты тестами оболочки, а не живым прогоном; переходы между состояниями и поведение при «уменьшенном движении» — следующий слой того же трека.
- Визуальные роботы в Electron: подсветка шагов в контуре теперь движется только вместе со сменой состояния, а системная просьба «уменьшить количество движения» гасит её целиком. Раньше состояние шага переключалось мгновенно, и «исполняется» было неотличимо от «только что было» (на роботе с циклом в 300 проходов — ни одного анимированного перехода), а настройка ОС над контуром не властвовала: по ней продолжали шевелиться элементы, пришедшие из общего интерфейса. Теперь смена состояния шага (исполняется, пауза, отказ, отработал, точка останова) ведётся коротким переходом цвета той же полосы и глифа — той же длительностью, что наведение и фокус, а при уменьшенном движении на поверхностях визуальных роботов не остаётся ни одного анимированного элемента. Проверено живьём: за прогон робота с циклом в 300 проходов начинается 30 переходов, и все 30 заканчиваются (ни одного оборванного), состояние строки переписывается не чаще одного раза на событие (343 записи на 302 прохода), ни одна строка контура при этом не пересоздаётся, а число движущихся элементов на экране робота меняется с 3 на 41 и на 0 под системной просьбой — и обратно на 41, как только просьбу снять.
- Визуальные роботы в Electron: экран робота стал приспосабливаться к собственной ширине, а его текст и кнопки — быть читаемыми. Раньше ширины панелей были заданы на все случаи: если месту робота доставало тесно, подпись строки уезжала за край с горизонтальной прокруткой и без всякого предупреждения, часть подписей была нарисована серым, который не отличался от фона (самый плохой контраст текста — 1,84 при пороге доступности 4,5), а кое-какие цели клика были меньше 24×24 точки. Теперь уровень раскладки считается от ширины самого экрана робота, а не от размера окна (окну в 1024 точки соответствует поверхность 418 точки — по ширине окна раскладка осталась бы полной, хотя места там хватает только на рельсы); боковые панели на узком месте сворачиваются в узкие рельсы с кнопкой возврата и, пока свёрнуты, не перехватывают переключение Tab, так что клавиатура не бродит по невидимому; словесные подписи перешли на цвета, которые держат контраст в обеих темах, а цели клика и строк выросли до порога. Проверено живьём в работающем продукте на четырёх ширинах окна (1920 / 1440 / 1280 / 1024) и в обеих темах: горизонтальной прокрутки контура не осталось (было 166 точек на узкой ширине), подписей с контрастом ниже порога — 0 (было 37 на худшем замере, сам худший скор 1,84 → 5,23), целей клика меньше 24×24 точки — 0 (было 35 и 41), обрезанных подписей без пояснения в подсказке — 0; экран того же робота дополнительно снят в трёх языках интерфейса и обеих темах (шесть кадров). Границы: панель свойств на длинных выражениях по-прежнему прокручивается сама — это следующий слой того же трека; названия шагов печатает исполнитель, поэтому в английском и турецком окнах строки контура остаются русскими, а страница не сообщает программам чтения с экрана свой язык (везде «en») — обе вещи найдены этой сеткой и тоже переданы следующему слою; экран робота в две тысячи шагов этим срезом не проверялся, и как именно раскладку ведут разрешения 768 и ниже на других ОС, не мерялось.
- Визуальные роботы в Electron: поля палитры и панели свойств получили настоящие подписи, а длинные значения — перенос вместо горизонтальной прокрутки. Раньше имя поля держалось только внутри самого поля как подсказка при вводе: программа чтения с экрана произносила вместо «Url» всё, что стояло в строке, обязательный аргумент, которого нет в файле, ничем не отличался от заполненного, группы конструкций не говорили, сколько в них элементов, а панель свойств на длинном выражении уезжала за край с горизонтальной прокруткой (24 точки на широком экране и 64 на узком). Теперь у каждого поля есть подпись, которая не исчезает при вводе; чем записано значение — выражением, переменной или литералом — видно в самой строке поля, а не только под курсором; незаполненный обязательный аргумент назван словом и помечен на самой строке; группы палитры несут число своих элементов, найденные поиском совпадения подсвечены, а описание конструкции показывается, когда она в фокусе клавиатуры, и не только под мышью; панель свойств переносит длинные значения вместо прокрутки; рамка поля стала достаточно контрастной, чтобы её было видно (1,47 → 3,62 при пороге 3) — в обеих темах; страница робота теперь сообщает программам чтения с экрана язык интерфейса, а не английский всегда. Проверено живьём в работающем продукте: полей, живущих одной подсказкой, — 0; доступное имя без терминов значка читают 4 поля контура из 4, 1 поле палитры из 1 и 3 поля панели свойств из 3 — и на исполняемом, и на блокированном роботе; горизонтальной прокрутки панели свойств — 0 точек (было 24 и 64); подписей и рамок с контрастом ниже порога — 0 из двадцати замеренных сочетаний «элемент × тема × область», самый плохой контраст текста — 5,23 в светлой теме и 5,90 в тёмной; целей клика меньше 24×24 точки — 0; под системной просьбой «уменьшить количество движения» не остаётся ни одного движущегося элемента (из 51 и из 74); групп палитры со счётчиком — 2 из 2, а фильтр по слову «Web» даёт 2 строки и 2 подсвеченных совпадения; язык страницы в русском интерфейсе прочитан «ru» (раньше на всех трёх языках было «en»). Границы: язык страницы переснят живьём только в русском интерфейсе — в английском и турецком правка идёт тем же значением, но числом не покрыта; на разрешениях 1024 и 1280 панель свойств свёрнута, и «все поля названы» там не мерялось; названия шагов и событий отладки печатает исполнитель, поэтому в турецком окне они остаются русскими — это не правка экрана; область проверки на блокированном роботе по-прежнему прокручивается сама (156 точек), и значок сохранённой ревизии объясняет себя только на наведении — обе вещи переданы следующему слою того же трека.
- Визуальные роботы в Electron: список замечаний в панели проверки перестал быть лентой строк — замечания одного шага стоят теперь под одним заголовком, заголовок говорит словами, что с этим шагом («блокирует» или «правится здесь»), и печатает число замечаний; блокирующие шаги показываются выше исправляемых; строка замечания стала путём в робот — щелчок или Enter раскрывает свёрнутые блоки и ставит выделение на нужный шаг, а если показать нечего, панель говорит это словами и держит ответ на экране; весь список обходится с клавиатуры (одна остановка Tab и стрелки), длинное замечание переносится, а не уезжает за край; значок сохранённой ревизии теперь печатает слово «ревизия», а не только восемь незнакомых символов. Проверено живьём в работающем продукте: групп замечаний стало 3 вместо 0, заголовков 7 вместо 4, строк, достижимых без мыши, 1 вместо 0 (все три адресованные строки ходятся стрелками), прокрутка области по горизонтали сократилась с 230 до 27 точек; на роботе, подобранном так, что порядок разбора спорит с порядком чтения, замечаний, стоящих ниже исправляемых, — 0 вместо 2; значок, объясняющий себя только наведением, в контуре — 0 вместо 1. Границы: 27 точек горизонтальной прокрутки области проверки на узких разрешениях остались и переданы следующему слою того же трека; случай «показать нечего» живьём не мерялся (у всех замечаний подобранного робота есть адрес шага) и доказан тестом, как и группировка двух замечаний одного шага (в корпусе такого шага нет); кнопка «Сохранить» общего тулбара по-прежнему объясняет себя только наведением — она вне экрана робота.
- Визуальные роботы в Electron: снимок значений на паузе стал таблицей, а слова о паузе, итоге и отказе — видимыми на экране, а не только под курсором. Раньше переменные робота на паузе печатались лентой: у строк не было ни колонок, ни ролей, программа чтения с экрана не могла сказать, где имя, где тип, где значение, а чем записано значение (текст, число, «скрыто», «не показывается»), у одних строк было напечатано прямо внутри значения и путалось с ним, а у других не было видно вовсе; команды паузы и отказ «запустить нельзя» существовали только в подсказке кнопки. Теперь снимок — таблица с колонками «имя», «тип», «значение», «состояние»: у строки есть своё имя, каждая ячейка адресована своей колонке, род значения несёт отдельный знак и в самом значении больше не повторяется, длинное значение по-прежнему обрезается с честным числом, но уже в своей колонке. Экран паузы и конец запуска произносятся вслух программам чтения с экрана: «Пауза рана на шаге …», «Итог рана: … · N мс», а отказ запустить робота, который уже стоит на паузе или идёт, напечатан на экране теми же словами, что и в подсказке. Клавиатуре больше не нужно обходить весь робот, чтобы дотянуться до «продолжить»: от выбранного шага до неё один ход Tab (раньше тридцать шагов, и экран по пути покидался). Колонка свойств робота на паузе перестала уезжать за своё место — было 4050 точек горизонтальной прокрутки при колонке в 350. Этим же замером нашлись и закрыты три мелочи, не видимые по отдельности: список замечаний в панели проверки больше не прокручивается сам (27 → 0), подписи, разобранные на отдельные куски, собраны в одну строку (4 → 0), а кнопка «Сохранить» вне экрана робота получила имя, которого у неё раньше не было. Проверено живьём в работающем продукте: строк таблицы с ролью было 0 — стало 5, ячеек, привязанных к своей колонке, 0 — 15, строк с родом на своём знаке 0 — 5 из 5, живых областей, называющих паузу и итог, 0 — по одной на каждое; текстов с контрастом ниже порога читаемости — 0 и в светлой, и в тёмной теме, целей клика меньше 24 × 24 точек — 0. Границы: замер снят на светлой теме и полном уровне раскладки — узкие уровни, снимок внутри штатного перехвата исключения (TryCatch) и значения-коллекции (массив, список) этим слоем не проверялись, обратный ход Shift+Tab от строки шага до команд по-прежнему идёт через весь документ, а цена кадра на паузе (медиана 31,2 мс) больше предела, который поставит следующий слой этого трека.
- Визуальные роботы в Electron: большой робот назван числом, а не обещанием. Экран собирает и держит две тысячи шагов без расплывчатой «виртуализации»: на модели в 2000 шагов (5997 свойств, файл в 22 000 строк) смонтировано 32 185 узлов страницы при 25 видимых в кадре — в восемьдесят раз больше видимого, прокрутка проходит 55 320 из 56 051 точки, а кадр остаётся на частоте экрана (медиана 17,4…17,5 мс при том, что сам экран отдаёт 17,4…17,6 мс), то есть виртуализация контуру не нужна, и это сказано числом. Заодно закрыто поведение при холодном открытии файла: раньше первый кадр успевал показаться на старой ширине, список палитры растягивался, а его подпись перепрыгивала на другую строку, кнопки возврата панелей и значок числа шагов доезжали справа уже после отрисовки и сдвигали соседей — теперь всё это собрано до первого кадра, и смещение вёрстки при холодном открытии большого файла стало 0 (было 0,0028 и 0,00366 в двух прогонах). Названо честное нарушение: время до первой отрисовки на двух тысячах шагов — 542,8 мс при пороге 400 мс, и 427 мс из них занимает отчёт исполнителя о структуре файла, а не страница (на фронте остаётся 115,8 мс); ниже перелома порог держится — 601 шаг 212,8 мс, 1000 шагов 281,4 мс, — значит перелом лежит между 1000 и 2000, и судьба самого порога на таком объёме оставлена решением финального слоя трека, а не объявлена выполненной. Границы: плотность палитры и панели свойств на двух тысячах шагов, тёмная тема и переключение вкладки без перезапуска окна этим слоем не мерялись; порог «16 мс на кадр» на экране 60 Гц неизмерим в принципе, поэтому проверка меряет «не больше пола стенда плюс 3 мс».
- Визуальные роботы в Electron: переменные робота стало можно объявлять массивом. Раньше редактор позволял только шесть скалярных типов; теперь к каждому из них добавлены одномерный массив и двумерная матрица — восемнадцать типов, и список в панели переменных печатается ровно тем же порядком, каким их разрешает исполнитель. Одномерному массиву можно задать значение списком элементов, и по нему работает цикл «для каждого элемента»: робот, собранный прямо в редакторе (объявление → цикл → шаг тела), исполняется до итога «готово» и обращается к текущему элементу в теле как к обычной переменной. Матрице значение присвоить нельзя — это ограничение читателя старой Studio, измеренное на ней, а не выдумка редактора: попытка ввести значение не портит файл, редактор словами называет, что многомерному объявлению значение не присваивается, начатая правка остаётся в очереди и чип «не сохранено» на месте, а робот на диске не переписывается.
- Визуальные роботы в Electron: правка, приехавшая на перечитываемый или не показанный сейчас робота, больше не исчезает молча. Раньше экран продолжал держать введённое в поле значение там, где бэкенд его уже не принимал (сразу после любого сохранения файл перечитывается, и всё, что успели ввести в это окно, терялось, никак об этом не сказав). Теперь такое поле отвечает словом — «документ перечитывается — правка не принята, дождитесь конца перечитывания» или «документ не показан — правка не принята» — и говорит это до того, как правка попала в очередь, а не вместо неё. Назван и остаток: текст, введённый в это окно, не возвращается — правка отказана, а не отложена.
- Визуальные роботы в Electron: развилка «если» перестала делать вид, что она заполнена, и научилась говорить, по какой ветке она прошла. Раньше новый блок «если» приезжал в робот уже с вписанным условием «ложь»: робот из одного шага внутри «тогда» заканчивался статусом «готово», не выполнив ни одного действия, а запуск рапортовал, что выбрана ветка «иначе», — той ветки в файле не было вовсе. Теперь незаполненное условие названо: собранный прямо в редакторе робот со «если» и двумя шагами показывает «не понято: 1» и словами говорит, что обязательный аргумент «Condition» у «If» в файле не задан или записан пустым, а запуск такого робота заканчивается статусом «не поддержано» без единого побочного действия и без единой подсвеченной строки. Заполненное условие возвращает роботу право запускаться, и запуск называет взятую ветвь: на строке отработавшего шага видно «шаг отработал, взята ветвь тогда» или «взята ветвь иначе», а шаги проигнорированной ветки помечены «ветвь не взята» — то есть не взятая ветка отличается от той, до которой запуск просто не дошёл. Заодно экран перестал держать собственное мнение о файле после сохранения: знак «не понято» снимается по перечитанному к тому моменту роботу, а не по тому, что экран нарисовал сам (было «не понято: 3» до правки и то же число после сохранения — стало 1 и пусто). Проверено живьём в работающем продукте: обе ветки собраны и прогнаны в редакторе, при «[1 = 1]» — «готово · 192 мс», ветвь «тогда», 4 события узла и 4 подсветки, маркеров «взята/чужая» 1 и 0; при «[1 = 2]» — «готово · 168 мс», ветвь «иначе», те же 4 и 4 и те же 1 и 0. Границы: развилка внутри развилки живьём не собиралась; слово «ветвь не взята» мерялось на широком экране и в тёмной теме — на узких уровнях, в светлой теме и в английском и турецком интерфейсах правка идёт общим правилом, но числом не покрыта; установленного продукта с этой правкой пока нет — сборка инсталлятора на этом прогоне упала на своей внутренней ошибке, а замер снят на собранной, но не установленной версии.
- MCP: справка API в установленном продукте снова отдаёт примеры вызовов — в конфигурации пакуемого сервера осталась настройка, вырезавшая их из выдачи;
- pdffile.get_page_count (WF): параметр ожидания теперь «Таймаут операции» в секундах, а не «Интервал ввода» (эта подпись досталась от клавиатурных блоков); 0 и отрицательное значение больше не означают «ждать вечно» — берётся таймаут по умолчанию;
- pdffile.get_page_count: когда файла нет по указанному пути или PDF не читается, в лог пишется причина, а не молча возвращается -1;
$connection->: возвращает IPv4-адрес машины, а не последний адрес из DNS-записи её имени (на машинах с IPv6 отдавался IPv6-адрес);get_local_ip()$connection->: новая команда — все локальные IP адреса машины (IPv4 и IPv6) в виде массива;get_all_local_ip()- pdffile: одна нечитаемая аннотация в PDF больше не обнуляла весь список — get_all_links, get_links_count и get_link_by_number отдают все читаемые ссылки, а ошибка по битой пишется в лог;
- WF: у блоков запуска BAT/Console/JS/PHP/Python/PowerShell, «Запрос к БД» и «Вставить картинку в PDF» параметр ожидания подписан «Таймаут операции» в секундах — раньше он нёс клавиатурную подпись «Интервал ввода»; у «Запуска JS» заданный таймаут наконец доходит до команды;
- PHP- и C#-клиенты: таймаут 0 или меньше в команде больше не означает «ждать ответа вечно» — берётся таймаут по умолчанию, робот не зависает;
Показаны последние 10 записей (в логе их 120). Полный лог Studio — change_log_studio.txt, исторический лог классической линейки — changelog.txt.
Готовы автоматизировать браузер?
Актуальная линейка — Human Emulator Studio и RT. Посмотрите примеры задач, скачайте демо или сразу купите лицензию. Вопросы — в Telegram или на странице поддержки.
Купить → | Что нового → | О Studio → | FAQ →