Servo v0.0.1 🔥 Горячее 💬 Длинная дискуссия
Servo - это проект с открытым исходным кодом, нацеленный на предоставление разработчикам легковесной и высокопроизводительной альтернативы для встраивания веб-технологий в приложения. Проект разрабатывается сообществом и размещен на платформе GitHub, что позволяет открытому сотрудничеству и прозрачности разработки.
Основная цель Servo - создание современного веб-движка, который может быть легко интегрирован в различные приложения, обеспечивая при этом высокую производительность и безопасность. Проект использует современные подходы к разработке и стремится стать стандартом де-факто для встраивания веб-технологий в программное обеспечение.
Комментарии (164)
- Servo выпустил первый релиз 0.0.1 после 50 000 коммитов, но это всё ещё экспериментальный движок, а не полноценный браузер.
- Сообщество обсуждает, что единственный релиз не делает проект готовым к продакшн-использованию, но модульная архитектура Servo позволяет использовать его компоненты в других проектах.
- Несколько участников высказали надежду, что Servo может стать альтернативой Electron-ноде в будущем, но пока что это не более чем надежда.
- Участники также обсуждали, что разработка ведется в рамках Linux Foundation, и что Mozilla, начавший проект, не имеет к нему отношения.
Tauri binding for Python through Pyo3
Разработчики выпустили PyTauri — это привязка Python к фреймворку Tauri, который позволяет создавать настольные приложения с помощью веб-технологий. Теперь разработчики могут использовать Python для создания приложений, которые компилируются в нативные исполняемые файлы, сохраняя при этом все преимущества веб-разработки, такие как HTML, CSS и JavaScript. Это открывает возможности для создания кроссплатформенных приложений с меньшим весом и более высокой производительностью по сравнению с традиционными Electron-приложениями. Проект примечателен тем, что объединяет простоту Python с мощью современных веб-технологий.
Комментарии (47)
- Обсуждение показало, что Tauri не является просто обёрткой над системным WebView, а скорее фреймворком, который может использовать различные движки, включая экспериментальный Servo.
- Участники обсудили, что Tauri позволяет использовать веб-технологии для создания десктоп-приложений, но при этом не требует включения полной копии Chromium в каждом приложении, как это делает Electron.
- Были упомянуты преимущества Tauri в контексте лицензий Qt и сложности использования Qt, а также вопросы производительности и размера дистрибутива.
- Участники также обсудили, что Tauri позволяет использовать Python в качестве бэкенда, что может быть полезно для веб-разработчиков, желающих использовать веб-технологии для создания десктоп-приложений.
1Password CLI Vulnerability (2023)
Исследователь обнаружил уязвимость в CLI-клиенте 1Password (op), позволяющую злоумышленникам получать доступ к хранилищу паролей после однократного ввода мастер-пароля пользователем. Уязвимость была ответственно раскрыта через BugCrowd в октябре 2023 года, а публикация разрешена в январе 2024. Основная проблема — CLI остаётся авторизованным до перезагрузки системы, что создаёт риски в supply-chain атаках.
Два основных вектора атаки: через IDE-расширения и через инструменты разработчика. Например, вредоносное расширение темы или плагина может использовать авторизованный сеанс op для перечисления и эксфильтрации всех доступных хранилищ. Уязвимость подтверждена на последних версиях macOS с оболочками zsh и bash, подчеркивая важность осторожности при установке стороннего ПО.
Комментарии (38)
- Пользователи выражают обеспокоенность тем, что CLI 1Password предоставляет полный доступ ко всем хранилищам после однократной аутентификации, что создает риск при выполнении недоверенных скриптов.
- Обсуждается, является ли это уязвимостью или ожидаемым поведением, так как при выполнении произвольного кода на машине пользователя злоумышленник может получить доступ к данным и другими способами.
- Отмечается, что ответственное раскрытие уязвимости было проведено через BugCrowd в октябре 2023 года, а публикация была авторизована только в январе 2024 года.
- В качестве меры защиты предлагается использовать отдельные сервисные аккаунты для CLI с ограниченным доступом только к необходимым секретам.
- Некоторые пользователи критикуют 1Password за использование устаревших версий Electron, что может вызывать проблемы с производительностью и безопасностью.
Track which Electron apps slow down macOS 26 Tahoe
Проект Shamelectron отслеживает проблемы с производительностью GPU в Electron-приложениях на macOS Tahoe. Основная проблема связана с ошибкой в macOS 26, которая вызывает значительное падение производительности графического процессора. Решение уже найдено — необходимо обновить Electron до версий v38.2.0, v37.6.0 или v36.9.2.
Из 21 отслеживаемого приложения только шесть исправлены, а 15 всё ещё имеют проблемы. Среди популярных приложений с неисправленными версиями — 1Password, Discord, Figma, Notion и Obsidian. Пользователям предлагается напомнить разработчикам через Twitter о необходимости обновления, чтобы решить проблему с производительностью.
Комментарии (97)
- Electron использовал приватный API Apple для косметических улучшений окон, что привело к проблемам производительности в macOS Tahoe.
- Проблема затрагивает не только Electron-приложения (например, Zoom), но и вызывает системные сбои в различных приложениях и интерфейсах.
- Баг уже исправлен в последних версиях Electron, но многим приложениям требуется обновление для устранения проблемы.
- Пользователи критикуют переход некоторых приложений (например, 1Password) с нативных технологий на Electron, отмечая ухудшение качества и высокое потребление ресурсов.
- Обсуждаются альтернативы Electron (например, Tauri) и предлагаются способы выявления проблемных приложений.
Detect Electron apps on Mac that hasn't been updated to fix the system wide lag
Некоторые версии Electron на macOS вызывают системные лаги, особенно на Tahoe. Проблема решена в версиях 36.9.2, 37.6.0, 38.2.0, 39.0.0 и выше. Для обнаружения уязвимых приложений используется скрипт, который сканирует установленные программы и проверяет версии Electron Framework.
Временное решение — установка переменной окружения CHROME_HEADLESS=1 при запуске системы, что отключает тени окон Electron, устраняя лаги, но ухудшая визуальный вид. Среди популярных приложений с проблемными версиями: Visual Studio Code (37.3.1), Slack (38.1.2), DaVinci Resolve (36.3.2) и другие.
Комментарии (87)
- Обсуждаются способы выявления Electron-приложений на Mac с устаревшими версиями фреймворка, вызывающими лаги системы, включая скрипты и инструменты для анализа.
- Участники отмечают, что многие популярные приложения (VS Code, Slack, Discord, Docker Desktop и др.) используют устаревшие версии Electron, что приводит к проблемам с производительностью после обновления macOS.
- Высказывается критика в адрес Apple за недостаточное тестирование ОС и в адрес Electron за отсутствие разделения рантайма и приложений, что затрудняет массовые обновления.
- Приводятся примеры конкретных приложений и их версий Electron, а также личный опыт удаления или отказа от обновления проблемного ПО.
- Обсуждаются технические детали бага Electron (проблема с перерисовкой тени) и тот факт, что команда Electron выпустила патч для предыдущих версий.
Electron-based apps cause system-wide lag on macOS 26 Tahoe 💬 Длинная дискуссия
Приложения на Electron вызывают серьёзные задержки в работе всей системы на macOS 26. Пользователи сообщают о замедлении интерфейса, лагах при вводе текста и проблемах с отзывчивостью даже при минимальной нагрузке. Это связано с тем, что фреймворк использует общие ресурсы системы неэффективно, особенно в многозадачных сценариях.
Проблема проявляется при одновременной работе нескольких Electron-приложений, таких как Slack, Discord или VS Code. Система начинает проседать по производительности, что негативно сказывается на пользовательском опыте. Разработчики Electron признают проблему и изучают её, но пока не предложили конкретного решения.
Комментарии (153)
- Проблема с производительностью в macOS 26 вызвана использованием приложениями (включая Electron) приватных API Apple, что приводит к утечкам ресурсов и лагам.
- Некоторые пользователи не сталкиваются с проблемами, возможно, из-за высокой производительности железа (например, чипов M4), которое маскирует недочеты.
- Обсуждается, кто виноват: разработчики приложений за использование приватных методов или Apple за отсутствие регрессионного тестирования и обратной совместимости.
- Для части приложений (Chrome/Chromium) уже выпущен фикс, а также известны временные решения через терминал.
- Спектр мнений варьируется от критики Electron до защиты его как кросс-платформенного решения с хорошим DX.
Did you read the quarter-million-line license for your Slack app?
Slack, будучи Electron-приложением, использует библиотеки с лицензией MIT, что требует включения соответствующего файла лицензии в дистрибутив. Однако в некоторых версиях Slack этот файл отсутствует, что нарушает условия лицензирования и может вызвать юридические вопросы. Это подчёркивает важность соблюдения лицензионных соглашений даже в крупных коммерческих продуктах.
Пользователи Mastodon сталкиваются с необходимостью включения JavaScript для работы веб-приложения, что может быть неудобно для тех, кто предпочитает отключать скрипты из соображений безопасности или производительности. В качестве альтернативы предлагается использовать нативные приложения, доступные для различных платформ, что улучшает опыт и обеспечивает большую гибкость.
Комментарии (38)
- Участники обсуждают чрезмерную сложность и раздутость лицензий и условий Slack, а также его зависимость от множества сторонних библиотек.
- Высказывается критика в адрес современного ПО за расточительное использование ресурсов в сравнении с программным обеспечением прошлого.
- Поднимается тема необходимости владения программным обеспечением, а не его аренды (подписки), и возможности самоличного хостинга.
- Предлагаются альтернативы Slack для командного чата, такие как Zulip и Campfire, с возможностью самостоятельного хостинга.
- Обсуждаются причины популярности Slack в корпоративной среде, главные из которых — готовые решения и техническая поддержка для бизнеса.
Less is safer: How Obsidian reduces the risk of supply chain attacks 🔥 Горячее 💬 Длинная дискуссия
Obsidian минимизирует риски цепочек поставок, сознательно сокращая зависимости от стороннего кода. Приложение переиспользует или форкает небольшие модули, а для крупных библиотек вроде pdf.js или Mermaid использует версионно зафиксированные файлы с редкими обновлениями после тщательного тестирования. Это создаёт мелкую и контролируемую структуру зависимостей.
Все зависимости жёстко закреплены через lock-файлы, исключены пост-установочные скрипты, а обновления проводятся медленно и вручную — с изучением изменений, проверкой подзависимостей и тестами. Такой подход снижает вероятность попадания вредоносных обновлений и даёт время на обнаружение проблем до релиза.
Комментарии (224)
- Пользователи выражают обеспокоенность уязвимой моделью безопасности плагинов Obsidian, которые имеют полный доступ к файлам.
- Обсуждается компромисс между использованием зависимостей и безопасностью: одни выступают за минимализм, другие — за осторожное обновление.
- Многие отмечают, что пост Obsidian игнорирует риски, связанные с плагинами, которые являются ключевой особенностью продукта.
- Высказывается критика в адрес Electron-архитектуры приложения из-за её ресурсоёмкости и потенциальных уязвимостей.
- Предлагаются альтернативы с меньшим количеством зависимостей и более нативными решениями, такие как Zim или Emacs.
Nyxt: The Emacs-like web browser
Nyxt — браузер в духе Emacs, написанный на Common Lisp под BSD-лицензией. Цель — клавиатурное управление и полная расширяемость для разработчиков; Linux — приоритетная платформа.
Проект запущен в 2017 г. Джоном Меркурисом, спонсируется двухчеловечной Atlas. Идея — дать «хороший Emacs-опыт в интернете», но без самого Emacs: технический долг и ограничения плагинов не позволили реализовать задумку иначе. Поддерживаются vi- и CUA-схемы клавиш.
Стабильная ветка 3.12.0 (октябрь 2024) использует WebKitGTK, экспериментально Blink. Обновления безопасности только для последней стабильной версии.
Разрабатывается 4.0: рендер-агностик, WebKitGTK + Electron (из-за производительности и поддержки macOS/Windows). Пока доступен превью-AppImage на Electron; WebKitGTK требует сборки из исходников. Основные изменения — рефакторинг, багфиксы, улучшения UI.
Установка стабильной версии в Linux — Flatpak.
Комментарии (35)
- Пользователи восторжены идеей «Emacs для браузера», но ждут стабильной 4.0 и полной совместимости с сайтами.
- Основные тормозы: отсутствие uBlock Origin/umatrix, странный поиск в модальном окне, проблемы с Electron и сборкой под Guix/Mac.
- Движок — Chromium через Electron, поэтому sandbox-защита сопоставима с Chrome, но «взлом» вне песочницы пугает.
- Критики считают проект хакерским, а не продуктовым: мало внимания UX и «обычным» пользователям.
- Сторонники отвечают: целевая аудитория — энтузиасты Emacs/Luakit, а не массовый рынок.