Easy Steem Editor update to v3.7.3

in Steem Dev2 days ago

editor.jpeg

Ultra Steem Editor

ultra-steem-visual.ultralux.wo...

https://ultra-steem-visual.ultralux.workers.dev/
Тимчасовий лінк для ознайомлення


Мобільний вигляд
ПовноекраннийЗвичайний
samsung_galaxy_a51_71.pngsamsung_galaxy_a51_71_1.png

У нативному застосунку на базі WebKit із застосування оболнки НейроліноJS, також і Tauri v2, було помічено особливість поведінки введення. При величенькій кількості тексту, хоча й не дуже. Всього десь 1000-1500 слів, введення починало підглючувати, тобто літери набору з'являлись не в режимі реального часу, а із відставання від реального натиснення на клавіатуру. Слова відповідно теж не з'являлись як звично.

Це було в режимі постійного превью результату. А також навантажувало воно й відеоядро, що критично для старіших пристроїв. Бо це постійне використання важики візуальних елементів, які постійно пеермальовуються й режим реального відображення, що накладає при наборі кожного символа, постійни перерендеринг. З цієї причини, редактор не дуже ефективний для великих текстів. В чистому режимі у браузері результат кращий, бо дозволяв більше слів із превью у реальному часі, чого для середньостатистичного варіанту створення дописів на STEEM блокчейні цілком би вистачало. Проте впровадження візульного режиму, коли все на одному екрані таки покращує досвід. Бо можна оптимізувати відображення й застосуання зміни, лише до редагованого елемента й оброляти лише видиму частину тексту на екрані, що значно знижує навантаження на процес.

Тож введено деякі оптимізації, які зменшують деякі навантаження, щоб в першу чергу був комфортний набір тексту, тобто створення допису на більшості Пк, навіть 15 рісної давності (хоча це могло залежати в різних мірах від процесора чи відеокарти).

Основний сценарій використання редактора

Тепер основний сценарій використання редактора, це візуальний, а синхронізація відбувається фоново, через декілька секунд після припинення набору тексту, як і резервне копіювання активної сесії. В такому режимі, все й так уже видно під час набору. А пряма синхронізація буде у декількох випадках, як-то експорт, перемиканні між візуальним і чистим кодод введення та ще деякі, коли це може потрібно, щоб запобігти втраті набраного тексту, якщо це не настала подія синхронізації по таймеру, там десь 5 секунд.

Перевірено, що скомпільований проєкт цілком комфортно дозволяє набирати текст при розмірі в 20000 слів. При цьому набір навіть більш-менш нормально доступний при кільсості 100000 слів. У режимі чистого коду, це буде ще зручніше, якщо вимкнено постійне превью, бо інакше інтерфейсь просто зависає, хоча навантаження на систему мінімальне. Тільки навігація по таким великим текста буде не зручною, тому звичайні сценарії на декілька сотень слів тексту, цілком задовольняють потребу.

Щоб синхронізація відбувалась миттево між візуальним та чистим кодом, є опція на панелі. Але вона споживає більше ресурсу, тож підійде для сучасніших і потужніших пристроїв. Щоб забезпечить дещо кращий досвід, але більше енергоспоживання й використання ресурсу.

Також додано:

  • Повноекранни режим редагування (хоча там не всі функції працють).
  • Налаштування відступів міє елементами для візуального режиму, щоб було зручніше сприйняття відповідно до відступів в режимі чистого коду (хоча останній, буде корисний хіба для точнішого й складнішго форматування, чого більшості не треба буде).

Логи оновлень та змін (згенеровані автоматично)

v3.7.3
2026-07-15

  • Direct Layout Popover: Added a high-accessibility inline Spacing and Icon Size controller right next to the sync toggles in the editor header, eliminating the need to dig into the global settings menu.
  • Perfect Theme Adaptation: Refactored the synchronization headers, status badges, and tabs to completely support dynamic light and dark theme colors, resolving light-theme visual consistency issues.
  • Intelligent Breakpoint Visibility: Enhanced responsive layout constraints from sm to md for editor status labels to completely prevent text overlaps and crowded toolbar layouts on medium-sized screens.

v3.7.2
2026-07-15

  • Custom Sizing and Spacing Engine: Added user-configurable controls for toolbar icon sizes and WYSIWYG paragraph spacing, with local storage persistence and presets (Compact, Balanced, Normal, Spacious) to minimize visual discrepancy between Code and Visual modes.
  • Light Theme Compatibility Optimization: Upgraded the synchronization header overlays, status badges, and tabs to dynamically adapt colors in Light and Dark modes, preventing dark-theme-only visual artifacts.
  • Responsive Layout Overlap Prevention: Improved breakpoints for real-time status indicators and editor pane controls to prevent content squeezing and visual overlap on smaller screens.
  • Zero-Transparency Floating UI: Eliminated transparency and alpha blending from the primary floating tools widget and its sub-dropdown settings, improving readability and significantly easing browser composting workloads.
  • No-Blur Performance Layout: Removed backdrop blurs, transition delays, and nested box-shadow effects from main overlays, side menus, and table controls to minimize GPU paint times.
  • Optimized Solid Containers: Reconfigured the preview panel background and toolbars as completely solid opaque surfaces to optimize sub-pixel layout rendering and eliminate flickering pixels on rapid text input.

v3.7.1
2026-07-15

  • State Preservation Across Reloads: Persisted the active editor mode in localStorage, so users who prefer typing in Markdown Code mode stay in that mode upon reloading or returning to the page.
  • Visual Stale-Flag Protocol: Introduced an intelligent stale-flag (steem_visual_html_is_stale) mechanism that invalidates cached raw HTML whenever the user modifies raw Markdown content in Code mode. This ensures that switching back to Visual mode or refreshing the page correctly translates and loads the fresh edits, completely preventing data loss.
  • Zustand-Cascading Synchronization: Optimized the reactive state pipeline, ensuring that any asynchronous content changes gracefully cascade through the debounced save engine regardless of the active view pane.

v3.7.0
2026-07-14

  • Visual-to-Code Sync Controller: Replaced the complex Settings gear dropdown menu with a single, highly intuitive Real-Time Sync Toggle (RefreshCw icon) on the WYSIWYG toolbar.
  • Two-Tier Synchronization: Real-Time Sync (Active/Immediate HTML-to-Markdown) and Background Sync (Default/Lag-Free debounced background sync engine on idle or switch) to guarantee maximum writing performance.
  • O(1) Spacer Optimization: Replaced expensive DOM queries (querySelectorAll) with high-performance O(1) direct relative traversal under the cursor (via .closest() and lastElementChild checks).
  • CSS Containment Geometry: Added 'contain: layout style' to all block elements in the WYSIWYG editor to isolate element geometry and prevent full-document browser reflows during typing.

Сс:
@hungry-griffin
@steemcurator01

Дякую за підтримку))