Builds

Available downloads

Stable is the recommended track for most users. Alpha gets you the newest capabilities first.

Stable 1.9.9774 Alpha 1.9.9956
Windows 10/11 x64 Administrator rights
Release Notes

Track recent changes

Every release stays linked here so you can inspect what changed before you switch versions.

Release

1.9.9956

Permalink 22 hours ago

1.9.9956 RU/EN

A small patch with a few fixes.

Fixes / improvements

  • [Window selection] Fixed an issue where windows with #1 and #2 suffixes could get mixed up or switch on their own.
  • [Overlays] Improved aspect-locked resizing: the overlay now correctly follows the side being dragged.
  • [UI] Fixed restoring windows after minimizing them. Their contents should no longer disappear or shift.
Release

1.9.9947

Permalink 4 days ago

1.9.9947 RU/EN

A small patch following 1.9.9942. This one mostly contains fixes for overlays and the UI.

Fixes / improvements

  • [Bindings] Restored bindings for overlay position, size, offsets, anchors, and other settings.
  • [Overlays] Fixed jumps and feedback loops while resizing, including aspect-locked resizing.
  • [Replica] Improved region selection, resizing, and Replica restoration after hiding an overlay.
  • [Image Search] Search frames should no longer remain on screen after an aura is unloaded.
  • [Codex] The empty page now fits correctly inside the panel.
Release

1.9.9942

Permalink 10 days ago

Большая альфа - 1.9.9942 RU/EN

Вот и пришел тот момент, о котором я писал еще в 1.9.9339 - старую WPF-оболочку отключаем.

Последние несколько месяцев WPF и Blazor интерфейсы жили параллельно. Blazor UI уже давно был доступен и для большинства пользователей включался по умолчанию. Теперь переключателя между оболочками больше нет - старую убираем окончательно, все дальнейшие изменения будут идти только в Blazor UI.

Внутри это очень большой апдейт, поэтому сначала выпускаю его только в Alpha. Баги наверняка будут :) Stable пока остается на 1.9.9774.

Оверлеи

Оверлеи были одним из последних больших кусков старого интерфейса. В этой сборке их редакторы и основная логика окончательно переехали в Blazor UI.

Больше всего изменений получил Replica Overlay: переделан выбор региона, ресайз и сам редактор. Во время выбора региона Replica теперь затемняется, а с зажатым Shift можно менять размер с сохранением пропорций.

Отдельный Web UI Overlay объединен с C# Overlay. Старые конфиги должны переехать автоматически.

Исправления / улучшения

  • [Target Window] Исправлен неприятный баг, из-за которого введенное значение вроде PathOfExile.exe#2 могло само заменяться строкой с адресом окна, процессом и заголовком.
  • [Bindings] Вернул Binding для Target Window в ML Search, Image Search, Color Search, Text Search и другие триггеры, действия и оверлеи, которые работают с окном.
  • [UI] Доработаны выбор региона и изменение размера оверлеев.
  • [UI] Доработано отображение ошибок и диагностической информации.
Release

1.9.9735

Permalink 3 months ago

1.9.9735 RU/EN

Багфиксы

Исправления и улучшения

  • [Crash] Теперь не крашимся, если на старте не хватает прав #EA-1266
  • [Scripting] Breaking change - механизм табов перенесен из EyeAuras.Blazor.Controls в PoeShared.Blazor.Controls - нужно обновить неймспейс
  • [Scripting] Исправлено зависание UI(дедлок), которое могло происходить при подгрузке больших ресурсов #EA-1294
  • [Scripting] Доработано управление Embedded Resources в Script Properties: список ресурсов, операции с файлами, отображение деревом, лимиты списка и сценарии с references/NuGet.
  • [Scripting] EmbeddedResources теперь должно быть проще подключать - добавлена поддержка частичного совпадения по пути (/res/my.png => res/my.png и my.png найдут ресурс)
  • [UI] Немного доработан редактор Send Sequence - добавил забытые ранее элементы для MouseMove
  • [UI] Доработано отображение ошибок в интерфейсе #EA-1295
  • [UI] Исправлена ошибка из-за которой некоторые окна не перетаскивались #EA-1292
  • [UI] Небольшая правка обработки NVIDIA timestamps для режима Security measures.
  • [AI] AI теперь понимает когда элементы(ауры/деревья) выгружены #EA-1265
Release

1.9.9564

Permalink 3 months ago

1.9.9564 RU/EN

A small follow-up patch after the larger 1.9.9545 update. This release mainly includes fixes for EyePad, video preview, and SDK dependencies.

EyePad

Fixed file launching through EyePad.

If EyeAuras is started with a .json or .v1.enc file, that file is now treated as an aura file and launched through the aura tab. Regularly opening a .json file inside EyePad still works as opening it as a text file.

A few related fixes were also included:

  • if the passed file cannot be launched, the application now exits with InvalidData
  • if startup fails with an error, EyeAuras should no longer additionally exit afterward as if everything succeeded
  • added E2E tests for these scenarios

Video preview

Fixed a race condition in video preview: the old frame buffer could already be freed while the UI was still trying to read a frame from it.

Now those stale frames are simply skipped or logged instead of crashing the preview.

Fixes and improvements

  • EyePad .json and .v1.enc files passed on application startup now open as aura files.
  • EyePad Regular .json opening inside EyePad remains text-based.
  • EyePad If a file cannot be launched in one-shot mode, the application now exits with InvalidData.
  • EyePad A startup error for the input file should no longer cause the application to terminate twice.
  • [Image Preview] Fixed a race condition when freeing the old video frame buffer.
  • [Notifications] Fixed EA-1258: the notification overlay could break after obfuscation.
  • [SDK] Updated ImageSharp and Unity, and removed the old direct reference to OpenAI 1.7.2 to eliminate NU1605 downgrade conflicts.
Release

1.9.9545

Permalink 3 months ago

Major update RU/EN

This update has two main focuses:

One important user-facing AI change: free limits are now available, so you can try Assistant without manually setting up an OpenAI account. This matters especially for users in Russia: OpenAI currently blocks direct access for them, and EyeAuras Gateway solves that problem. If you want full control, you can provide your own OpenAI API key or compatible endpoint; in that mode, EyeAuras connects directly and does not use Gateway.

Other major areas in this update:

  • almost all Free version restrictions have been removed; the only notable exception for now is the Network Message trigger/action. This is a leftover from the old model, and I plan to remove it in one of the next major updates
  • fully redesigned pack licenses and sublicenses for pack and mini-app authors — you can now build almost any licensing model you need from the available options, for example by tracking session count or binding access to a computer
  • EyePad as a separate workflow for code, .csx, .sln, Live Import, and external IDEs
  • stronger C# scripting: Embedded Resources, NuGet, Memory API, Script Properties, and IDE integration
  • improvements to Export / Import, pack publishing, and mini-app distribution workflows

If you're new to EyeAuras: a pack is a collection of auras/scripts, and a mini-app is a ready-to-use solution built on top of EyeAuras.

New interface and UX

Updated Main Window

The goal of this update was to bring the new and old interfaces to feature parity. Future development will continue in the new UI. The old one will be disabled in one of the next updates.

AI integration

The second main focus of this update is AI. It is now split into two usage scenarios:

  • AI Assistant — a smart reference and lightweight editing mode for settings, documentation, and small examples
  • Codex Coding Assistant — a much more powerful tool that can effectively write the program FOR you

AI Assistant

Tokens, API keys, free limits, and Gateway

EyeAuras integrates with OpenAI and OpenAI-compatible APIs: you can provide your own OpenAI API key or compatible endpoint, and requests will go there directly.

OpenAI does not provide free limits for this kind of third-party integration, but I still wanted users to be able to try the new functionality without extra setup. So EyeAuras handles this through EyeAuras Gateway — essentially a proxy server in front of OpenAI. Thanks to Gateway, free limits are available for both Assistant and Codex: you can get started without a separate OpenAI account, keys, or endpoints. That should be enough for occasional AI help.

Gateway also solves the access restriction problem for users in Russia: OpenAI currently blocks direct usage there, while EyeAuras Gateway allows AI features to work without separate routing workarounds. If you specify your own API key or endpoint, Gateway is not used. In the near future, there will also be a way to top up your EyeAuras balance so that users in Russia can use AI even then.

AI Assistant as a smart reference

AI Assistant is a smart EyeAuras reference and a lightweight mode for simple changes: which trigger to use, why an action did not fire, where the right wiki section is, what a minimal C# script looks like, or what needs to be fixed in your current setup.

At the same time, EyeAuras Bot is now available in Discord. It provides the same fast help format, but outside the app: the bot knows the wiki, changelog, and scripting best practices.

EyeAuras Bot In Discord

The wiki is now available in both Russian and English. This matters both for users and for AI: the better the documentation, the more accurate Assistant, Discord Bot, Codex, and external coding agents become.

Codex Coding Assistant and which one to choose

Codex Coding Assistant is the stronger mode for tasks where a simple answer or a small edit is not enough. It works alongside EyePad and external IDEs: it can see workspace files and folders, keep task context, make a plan, apply edits, account for editor diagnostics, and explain what changed.

EyeAuras Codex

Typical Codex use cases: writing or fixing a C# script, understanding Behavior Trees, building a pack, preparing a mini-app, using Live Import, connecting the Memory API, or explaining an error directly in the context of your current project.

Codex is the future main AI mode in EyeAuras for tasks where it needs to see the whole project.

In short: Assistant is cheaper and faster for reference, ideas, or a simple edit. Codex is smarter and better for tasks like “help me do this in my project.”

Monetization

The old Free version restrictions have been almost completely removed: limits on aura count, script size, integrations, and core features should no longer be held back by the old Free/Pro model.

Free becomes Pro

The only notable exception for now is around network messages: using the Network Message trigger and Send Network Message action still requires a license. This is a technical leftover from the old model, and I plan to remove it in one of the next major updates.

Overall, EyeAuras is moving toward a free core application. Monetization should shift away from restrictions inside the app itself and toward finished products built on top of it: packs, mini-apps, and author-made solutions.

Sublicenses for pack and mini-app authors

Sublicenses are no longer about restricting EyeAuras as a platform. They are about how authors can distribute their own solutions.

If you build a pack, a mini-app, or private automation for a team or client, you can now assemble a more suitable access model from the available options. For example:

  • a personal license for one computer
  • a license for multiple concurrent sessions
  • separate access for a team or client
  • limited demo/trial access before purchase
  • different access levels for the basic and advanced versions of a pack

The idea is simple: EyeAuras stays as open as possible as a platform, while authors can cleanly monetize what they build on top of it.

C# Scripting

Script Properties NuGet

Major changes:

Memory API

The Memory API now has its own documentation section. It is a way to read state directly from a process. Its main use case is C# scripts, but you can also pass read values through variables.

For example, you can read coordinates, HP, the current target, object lists, and more.

What this gives you in practice compared to using WinAPI directly:

  • the same script can be attached to different memory sources: a normal process, MemProcFS / LeechCore, your own driver, a dedicated device, or an external bridge such as DLL inject. In other words, you can start with something basic like LocalProcess, then change a single line and use the exact same code with a DMA device, driver, or your own ultra-secret reading method
  • if you already have your own reading method, you can integrate it through a custom process or custom memory backend, while keeping the same API and all the surrounding functionality
  • when you need to execute code inside the target process, there are code caves, allocation/protection/free memory, DLL inject, APC, remote thread, and manual mapping — basically everything needed for comfortable work
  • EA ReProcess pack is an open-source example of how to build a full RE tool on top of Memory API using ImGui; the ReProcess API documentation describes its workspace, tabs, actions, address inspectors, and findings storage
  • ReToolsPlugin can be plugged directly into your own Memory API scripts to give an AI agent reverse-engineering tools for the selected process: read memory, search data, disassemble, inspect RTTI, save findings, and continue from discovered facts

EyePad

EyePad continues to evolve into a separate working mode for users who write code, run scripts, import packs, and work with .sln.

EyePad Live Import

The important shift here is that EyePad is now closer to a real work environment, not just an embedded editor. You can open individual .csx and text files, work with .sln, run Live Import, import a pack, and gradually turn an experiment into a proper project.

File handling reliability has also been improved. Drafts, saved files, external file changes on disk, and recovery after restart should now behave more predictably. This is especially important for AI scenarios: if Codex or an external agent works with a project, it needs real file context, not “magic” text living only in editor memory.

This is still not the final Explorer/workspace model, but the direction is already clear: EyePad should become a proper shell for the workflow of “write code, run it immediately, then turn it into a pack or mini-app.”

Export, Import, and mini-apps

Export / Import has been noticeably improved both visually and functionally.

Export Improvements

What changed:

  • the Export window now lets you set pack parameters, name, and description
  • packaging of compiled scripts and dependencies has been improved

The goal is still the same: to bring the workflow to a point where a working mini-app can be built as quickly as possible, literally in a couple of clicks. We are already 90% there.

Image Search, Preview, and Computer Vision

Image Search now includes a built-in template editor.

Image template editor

You can now do all of this directly inside the trigger:

  • crop the image
  • erase pixels
  • remove a color
  • resize the template

Image preview rendering in the new UI has also been improved, template rendering issues have been fixed, and the missing SDK availability of IComputerVisionExperimentalScriptingApi has been added.

Fixes and improvements

Below is a combined list of Bugfixes / Improvements items from all changelogs included in this large update. The list is sorted by importance: crash/freeze first, then Licensing/Auth, UI, Scripting, and the remaining groups.

Crash / Freeze

  • [Crash] Fixed an issue where the license window could crash on startup
  • [Freeze] Fixed an issue where the BT editor could freeze when switching between auras and BT in some scenarios
  • [SendInput] Fixed a rare deadlock in SendInputController that could appear in Ctrl+V scenarios
  • [Share] Fixed a rare SharePreview crash
  • [AI] Fixed a crash in AiChatSession related to SetInputSink

Licensing / Auth

  • UI Fixed a bug where authors can once again download their own packages regardless of the configured download policy
  • [Licensing] Added signed metadata and explicit limits for sublicense in the internal licensing APIs
  • [Auth] Fixed a bug where a cached token could be treated as valid even though it already needed refresh, which caused unexpected logouts

UI

  • [ImGui] There have been a lot of changes over the last 2 months. I recommend checking the current version — EyeAuras.ImGuiSdk, 0.1.42: markdown editor, animations, compound buttons, font integration, images, caching, and more.
  • UI Fixed an issue in WindowListProvider: when a window title updated, EA could lose the window for 1 frame
  • UI Improved popover window rendering performance
  • [Bindings] Fixed an issue where the Bindings editor might not open as a popup
  • UI Fixed an issue where deleting SubTree in behavior trees did not work
  • UI Fixed an issue where the error list did not appear when clicking the icon
  • UI Fixed panel resizing issues where the mouse could appear to “stick” while dragging
  • UI Fixed jerks while dragging Blazor windows, where the window could suddenly jump sideways
  • UI Significantly improved resize and drag behavior for BlazorWindow, so it should behave better under load
  • UI Fixed border clipping in BlazorWindow
  • UI Fixed IWindowSelector.FindWindow: a missing window should no longer throw an exception

Scripting

  • Scripting Added the new Open in IDE button, which lets you edit a script in Rider/Visual Studio and see changes in EyeAuras in real time — [read more here...](/scripting/ide-integration)
  • Scripting Embedded Resources fixes — made Script FileProvider more flexible so it now understands more path formats
  • Scripting Improved script resource cleanup — even if user scripts leave behind dangling references, EyeAuras will try to clean them up once the script is no longer running
  • Scripting Improved Blazor API — added RegisterViewType(Type viewType, Type dataContextType, object key = default). This allows registering custom UI widgets.
  • Scripting Memory API — a huge number of performance and internal changes. At this point, Memory API can be considered stable and performant enough for almost any development scenario. Several inject mechanisms were also added (CreateRemoteThread, APC, and others). Please note: inject and memory reading depend on the protection of the specific process; games and anti-cheat-protected applications may require separate approaches, compatible access methods, or additional setup.
  • Scripting Fixed an issue where ScriptContainerExtensions was being registered repeatedly by BT nodes. Because of that, singleton objects stopped being... singleton objects.
  • Scripting NuGet — added DefaultNuGetPackageBlacklist, which improves compatibility with older netstandard1.3 and netstandard2 packages
  • Scripting Fixed an issue where IComputerVisionExperimentalScriptingApi was unavailable in the SDK
  • Scripting Reworked the script loading process — this should fix the error Could not build the proper workspace state, please report this error
  • Scripting NuGet — improved package resolution and added more detailed TFM filtering
  • Scripting Fixed a virtualization issue where some script files could appear in the list twice
  • Scripting Improved Embedded Resources and StaticWebAssets support in NuGet packages — especially useful for UI components and packages that bring their own web resources

AI, Codex, and Discord Bot

  • [AI] Two AI profiles are now created by default: OpenAI and EyeAuras Gateway (a proxy for OpenAI)
  • [Discord Bot] Message edits and deletions now update the bot’s memory and history more accurately, reducing stale context
  • [Discord Bot] Bot replies and service messages are now sent without accidental @everyone, role, or user pings
  • [Discord Bot] Long markdown replies and code are now split into Discord messages more cleanly; artifacts can now be sent as files
  • [AI] Improved Responses API: added response streaming
  • [MCP] MCP in desktop AI is no longer hidden behind alpha access only
  • [AI] IEyeAurasAiGuidanceService was moved out so scripts can programmatically access a guidance pack — you can load a docs pack and feed it directly to AI from inside your script, giving AI more context about your pack/app

Behavior Trees

  • [BehaviorTree] Fixed an issue with cyclic references that caused the UI to show connections that did not actually exist
  • [BehaviorTree] Added a new node — SetVariable. It is still at a very early stage, but I decided to ship it early just to test it
  • [BehaviorTree] Improved BT performance

Input / SendInput

  • [SendInput] Fixed an issue with the TetherScript driver — on some resolutions/DPI settings, mouse clicks could also shift the cursor slightly (+-1px). Also, please make sure you are using a compatible driver version so everything works as expected — HVDK 2.1, with more details on this page

Image Search / Preview

  • [Image Search] Added a new built-in template editor. It lets you crop images, erase pixels, remove a color, and resize directly inside the trigger. Read more...
  • [Image Preview] Improved image rendering in the new UI — previews should now look sharper, without unnecessary smoothing

EyePad

  • EyePad “Recent” is now sorted by date in descending order
  • EyePad AI/Codex now has a better understanding of which files and folders you are currently working with

Export / Import / Packing

  • [Packing] Improved compiled script packaging — dependencies from NuGet and package references should now make it into packed builds more reliably
  • [Export] Fixed an issue with aura pre-compilation during Export when Binaries Only mode is enabled
  • [Export] Fixed .gitignore preservation during project export

Web / Share / SEO

  • [Web] Worked on SEO (search engine optimization) — your packs should now be detected faster by search engines and appear in results more often
Release

1.9.9516

Permalink 3 months ago

1.9.9516 RU/EN

AI - Agent Guidance

A new Agent Guidance page has been added to the AI settings.

In short, EyeAuras can now prepare a portable guidance-pack folder for external AI coding agents. It contains up-to-date docs, examples, SDK notes, metadata, and MCP status.

This is useful when you open an EyeAuras project, an exported workspace, or a C# project in an external agent such as Codex, Claude Code, Cursor, and similar tools. You no longer need to manually explain what EyeAuras is or where the correct context lives every time.

Important: EyeAuras now works at the folder level. Your project AGENTS.md is not changed or overwritten. The guidance pack itself includes its own AGENTS.md, which the agent can use as a starting point.

Agent Guidance

From this window, you can:

  • rebuild the guidance pack
  • open the folder with the generated AI-facing files
  • save the pack as a zip archive
  • copy the entire pack into generated/ai through the selected .csproj or .sln

Guidance Pack Actions

The pack contains AGENTS.md, README.md, docs/, manifest.json, and, if MCP status was recorded, mcp-status.json.

Guidance Pack Folder

The generated/ai folder is managed by EyeAuras and is fully replaced when copied again.

Read more:

AI - MCP helper

The same window now also includes a more convenient MCP helper.

MCP is a local bridge that lets an AI agent request targeted context from EyeAuras. The docs remain the primary source, and MCP is best enabled when the agent needs to ask EyeAuras about the current application state, windows, or available objects and symbols.

For normal wiki questions, you can safely ignore it. For external coding agents and more advanced scripting tasks, it can be very useful.

Fixes and improvements

  • [AI] Fixed an issue with compacting tool calls in history (EA-1236 by S1lver)
  • [Auth] Added extra protection for the refresh token flow when credentials are empty
Release

1.9.9511

Permalink 3 months ago

1.9.9511 RU/EN

AI - Deeper IDE Context / Introspection

Доработан режим IDE Context во встроенном AI и Codex. Теперь ассистент лучше понимает, с каким именно скриптом, аурой или проектом вы сейчас работаете.

Если же проект уже экспортирован на диск, AI теперь увереннее использует реальные диагностики, поиск символов и документацию. Проще говоря, в сложных задачах он должен чаще смотреть на реальный проект и меньше угадывать.

IDE Context

C# Overlay - Clone as Action

В редактор C# Overlay добавлена кнопка Clone as Action.

Она клонирует текущий overlay как OnEnter C# Script action, после чего сам overlay автоматически сворачивается и отключается. Это удобно в сценарии, когда overlay сначала использовался как быстрый прототип, а потом его нужно превратить в обычный action без ручного копирования проекта.

Заодно исправлен баг с прозрачностью у C# Overlay, из-за которого overlay мог вести себя некорректно.

Clone As Action

Исправления / улучшения

  • [Auth] Исправлен баг, из-за которого cached token мог считаться валидным, хотя его уже нужно было обновить
  • [UI] Исправлен border clipping у BlazorWindow
  • [UI] Элементы web aura tree во время rename теперь корректно реагируют на mouse clicks
Release

1.9.9472

Permalink 4 months ago

1.9.9472 RU/EN

Небольшой патч, который должен улучшить отзывчивость окон под нагрузкой и помочь вашим пакам быстрее попадать в поисковую выдачу.

C# Scripting - Memory API Docs

Добавлена новая документация по Memory API для C#-скриптов. В ней постепенно раскладывается базовая модель работы с памятью в EyeAuras: какие есть backend'ы, с чего лучше начинать, как искать code cave, как подключать свой IProcess и как строить собственные memory backend'ы.

Полезные точки входа:

C# Scripting - UserLicense improvements

Во внутренние API лицензий добавлены новые подписанные поля у UserLicense, а у саблицензий появился явный MaximumSessions.

var license = GetService<ILicenseAccessor>();

Log.Info($"UserId: {license.UserId}");
Log.Info($"Roles: {string.Join(", ", license.Roles)}");
Log.Info($"AppVersion: {license.AppVersion}");

if (license.ShareSublicenses.Length > 0)
{
    Log.Info($"MaximumSessions: {license.ShareSublicenses[0].MaximumSessions}");
}

Подробнее: Лицензии на паки

C# Scripting - Memory API - added Free Memory

В IProcessControlApi появились явные FreeMemory(...) и ProtectMemory(...). Теперь выделенный регион можно не только получить через AllocateMemory(...), но и нормально довести до конца: поменять protection, выполнить нужные действия и затем корректно освободить.

using System.Diagnostics;
using EyeAuras.Memory;

using var process = LocalProcess.ByProcessId(Process.GetCurrentProcess().Id);
var control = (IProcessControlApi) process;

var region = control.AllocateMemory(
    IntPtr.Zero,
    4096,
    MemoryAllocationType.Commit | MemoryAllocationType.Reserve,
    MemoryProtectionType.ReadWrite);

var oldProtection = control.ProtectMemory(region.Address, region.Size, MemoryProtectionType.ExecuteRead);
control.ProtectMemory(region.Address, region.Size, oldProtection);
control.FreeMemory(region);

Подробнее: Memory API - С чего начать

Исправления / улучшения

  • [UI] Значительно доработаны механизмы ресайза и перетаскивания BlazorWindow, из-за чего окно должно вести себя лучше под нагрузкой
  • [Web] Поработал с SEO (search engine optimization) - ваши паки теперь должны быстрее детектиться поисковыми движками и чаще попадать в выдачу
  • [Web / Share] Исправлена гонка при подключении code highlighting во время перезагрузки share-страниц
  • [Licensing] Во внутренние API лицензий добавлены подписанные metadata и явные лимиты для sublicense
  • [Loader / Remote] Улучшено определение Scryde
Release

1.9.9467

Permalink 4 months ago

1.9.9467 RU/EN

C# Scripting - Script Properties / NuGet

C# scripts now have a Properties button that opens a separate script properties window. It brings the main settings and dependencies together in one place: Overview, NuGet package management, References for internal and external assemblies, and Embedded Resources for files that should be distributed together with the script.

Script Properties NuGet

Learn more:

Fixes and improvements

  • [AI] Codex now understands EyeAuras-specific details better, so it should be more useful for complex technical tasks
  • [UI] Improved the Export and Import dialogs to make them more convenient to use
  • [UI] Fixed jerky dragging for Blazor windows, where the window could suddenly jump to the side
  • [UI] Fixed the ICodeHighlightService error