Hydro — это эффективная система онлайн-оценки информатики. Простота установки, кроссплатформенность, многофункциональность, масштабируемость и наличие банка вопросов.
Для учителей, которые незнакомы с Linux или слишком ленивы, чтобы работать и обслуживать, мы также предоставляем бесплатную, готовую к использованию онлайн-версию.
Для получения подробной информации перейдите на https://гидро.ac, чтобы просмотреть инструкции по эксплуатации.
Вставьте команду установки в консоль для установки в один клик. После установки первый зарегистрированный пользователь автоматически получит права суперадминистратора.
Совместим с основными дистрибутивами Linux, рекомендуется Debian 12 и поддерживает устройства Arm64 (Raspberry Pi и т. д.).
LANG=zh <(curl https://гидро.ac/setup.sh)
Китайский документ/английский
Если соответствующая документация недостаточно подробна, отправьте запрос на включение или свяжитесь с командой разработчиков для получения разъяснений.
Пожалуйста, отправляйте предложения по ошибкам и функциям в разделе «Проблемы».
Компания Hydro разработала модульную систему подключаемых модулей, которая позволяет легко расширить функциональность системы.
Используя систему подключаемых модулей, вы по-прежнему можете обеспечить возможность обновления системы после изменения функций.
Все предыдущие версии Hydro можно легко обновить до последней версии.
Рекомендации по использованию и разработке плагинов можно найти в главе документации по плагинам и разработке.
Hydro поддерживает все основные дистрибутивы Linux, совместим с устройствами с архитектурой x86_64 и Arm64 и может быть установлен одним щелчком мыши.
Hydro может нормально работать на Raspberry Pi или Apple M1/M2.
Используйте hydrooj backup
для резервного копирования всех системных данных и используйте hydrooj restore 文件名
для импорта данных резервной копии. Весь процесс не требует ручного вмешательства.
Hydro обеспечивает поддержку нескольких пространств в одной системе, что позволяет легко создавать независимые пространства для разных классов/классов/школ и т. д.
Данные в разных пространствах по умолчанию изолированы, за исключением пользователей, и можно назначать независимых администраторов, не мешая друг другу.
Вопросы можно копировать между доменами и занимать только одно место в системе.
Разрешения Hydro можно назначать соответствующим пользователям на основе соревнований/заданий, или пользователи могут быть сгруппированы (классы), а разрешения могут назначаться по группам. Для узлов разрешений вы можете просмотреть снимок экрана под введением.
Сама система Hydro не имеет состояния, что означает, что вы можете добавлять или удалять сервисные узлы по своему желанию, не влияя на нормальную работу системы. Очередь оценки будет автоматически равномерно распределена между всеми машинами оценки, находящимися в данный момент в сети. После присоединения к группе эластичного масштабирования оценочные машины можно автоматически добавлять или удалять в зависимости от нагрузки на сервер. В отличие от других систем, Hydro будет управлять кэшем тестовых данных между различными серверами и извлекать его по требованию, так что оценочную машину можно будет использовать сразу после ее подключения к сети без синхронизации данных вручную.
Hydro поддерживает все типы вопросов. Будь то традиционные типы вопросов, специальный судья или ввод и вывод файлов, вопросы отправки ответов, взаимодействие ввода-вывода, взаимодействие функций или даже вопросы с заполнением пустых полей, Hydro имеет соответствующую поддержку. После установки соответствующей операционной среды Hydro может даже выполнять следующие действия:
Позовите черепашку нарисовать картинку и сравните ее со стандартной картинкой;
Вызовите графический процессор, чтобы оценить модель машинного обучения;
Дополнительные образцы можно просмотреть и загрузить в области образцов.
Hydro поддерживает импорт файлов банка вопросов в распространенных форматах, включая общий формат zip Hydro, вопросы в формате FPS (xml), экспортированные HUSTOJ, и сжатые пакеты, экспортированные QDUOJ.
Вы можете бесплатно загрузить банк вопросов с сайта Hydro Question Bank.
Hydro также поддерживает VJudge, что означает, что вы можете напрямую импортировать вопросы с других платформ в систему, изменять вопросы и включать их в свои собственные задания или соревнования, чтобы быстро создать собственную систему банка вопросов.
В настоящее время поддерживаются следующие платформы:
Yiyi Tong Programming Enlightenment: Официальный банк вопросов по программированию Yiyi Tong можно использовать бесплатно. См. инструкции по импорту в сжатом пакете.
Соревнование по простому программированию: официально бесплатно предоставляет банк тестов для «Соревнования по программированию (основы)» Luogu. См. инструкции по импорту в сжатом пакете.
UOJ: Хорошо известный OJ в Китае, обычно используемый национальными тренировочными командами;
Codeforces: Крупная зарубежная конкурсная площадка с большим количеством качественных вопросов;
Luogu: Чтобы использовать эту функцию, вам необходимо приобрести лицензию у Luogu;
HDUOJ: система онлайн-оценки Университета Ханчжоу Дяньцзы, которая включает вопросы обучения в нескольких школах;
CSGOJ: платформа для оценки вопросов конкурсов провинций Гуандун и конкурсов провинций Хунань;
SPOJ: Внутренние соединения очень нестабильны и не рекомендуются;
POJ: относительно устаревший, плохая стабильность сервера;
YACS: платформа соревнований Шанхайского компьютерного общества, существует ограничение на количество ежедневных заявок для одной учетной записи;
HUSTOJ: теоретически поддерживает все системы на базе HUSTOJ, но из-за различий в пользовательском интерфейсе в каждой системе обычно требуется ручная адаптация.
Hydro поддерживает несколько форматов соревнований, включая формат соревнований ACM/ICPC (поддерживает запечатывание), формат соревнований OI, формат соревнований IOI, формат соревнований Ledo и функции домашних заданий.
В форматах соревнований IOI и OI поддерживается функция исправления вопросов. Студенты могут задавать соответствующие вопросы в банке вопросов после игры, и их результаты будут отображаться рядом со списком.
В форматах соревнований IOI и OI поддерживается функция гибкого времени, и учащиеся могут участвовать в X часов по своему выбору в пределах установленного временного диапазона.
Языковые настройки Hydro не жестко закодированы в системе, а используются в файлах конфигурации. Пока Hydro может писать команды компиляции и запускать команды на соответствующем языке, он может решать вопросы.
Электронная почта: [email protected] Телеграмма @undefinedmoe
Группа пользователей Гидро: 1085853538
Примечание. Прежде чем присоединиться к группе пользователей, прочтите «Мудрость задавать вопросы».
В то же время в группе может быть некоторый контент, который вызывает у вас дискомфорт или оскорбляет. Если у вас есть какие-либо опасения по этому поводу , пожалуйста, не присоединяйтесь к группе .
core&ui: API ScoreboardView
локальный инструментарий: Resolver
ядро: оптимизировать импорт формата icpc
ядро: добавить опцию limit.pretest
ядро: добавить журнал задач/ежедневной производительности
framework: удалить UiContext и UserContext по умолчанию
ядро: исправлено исключение синтаксического анализа при использовании импорта HTML в режиме уценки.
ядро: позволяет копировать цитируемые вопросы.
core&judge: добавить доверенную опцию
ядро: исправлен анализ метаданных импорта пользователя
ядро: изменить формат проверки pid
пользовательский интерфейс: отключить автозапуск
ядро: оптимизация производительности списка вопросов
ядро: ограничить длину отображаемого имени
ядро: поддерживает настройку ограничения длины кода
ядро: отключить онлайн-кеширование кода IDE в заданиях.
ядро: API: проверьте PERM_VIEW
судья: добавьте переменные среды HYDRO_TIME_USAGE и HYDRO_MEMORY_USAGE.
core&ui: поддержка горячей перезагрузки i18n
fps-import: оптимизировать импорт изображений.
Пользовательский интерфейс: поддержка настроек закругленных углов
ядро: поддерживает StorageModel.copy и StorageModel.exists.
ядро: устаревший файл IssueModel.list.
ядро: добавление хуков пользователя/импорта/анализа и пользователя/импорта/создания.
ядро: отключить обработчик, библиотеки, типы компонентов сценариев.
ядро: обновить до ts5.6, cordis3.18
рекапча: удалить
ядро: значительно улучшить производительность ежедневных задач.
ядро: (частично) поддерживает формат пакета icpc
ядро: limitRate: поддерживает пользовательские идентификаторы
ядро: вопрос о устаревшем формате массива
ядро: резервная копия: добавить опцию --withAddons
(тест)
ядро: оптимизация производительности сеанса
установка: mongodb по умолчанию прослушивает 127.0.0.1
core&ui: исправлены другие ошибки
Пользовательский интерфейс: исправлен предварительный просмотр уценки
ui: оптимизация отображения окна входа в систему, когда встроенный вход в систему отключен.
пользовательский интерфейс: исправлены переходы между видами
onlyoffice: поддерживает обработку PDF-файлов.
ui: уценка поддерживает отображение номеров строк кода
ui: поддержка расширенных функций richmedia
ui: Поддержка встраивания видео Youku.
Пользовательский интерфейс: удалены лишние горизонтальные полосы прокрутки из некоторых компонентов страницы.
core: Исправлен подсчет количества голосов за решение задач.
Пользовательский интерфейс: оптимизация изображений 404-страницы в темном режиме.
ui: Нажмите, чтобы развернуть информацию о компиляции.
Пользовательский интерфейс: исправлено табло игры, отслеживающее пользователей.
ядро: IssueModel.import: поддержка опции delSource
ui: Исправлена ошибка отправки сгенерированных тестовых данных в реальном времени.
prom-client: Сообщить о статусе в консоль
ядро: oauth: поддержка фиксированного имени пользователя
utils: поддерживает поиск pm2, установленного nix.
ui: Оптимизируйте навигацию по вопросам на странице конкурса.
ui: устаревшая опция monacoTheme.
ui: редактор уценки поддерживает темный режим
Фреймворк: оптимизация трассировки стека
ядро: oplog: путь доступа к записи
мигрировать: увеличить таймаут
vjudge: исправить проблему, из-за которой yacs вызывал сбой системы
sonic: поддерживает поиск вопросов по идентификатору вопроса.
ядро: исправлена проблема, из-за которой исходные настройки группы перезаписывались, если группа была включена при импорте пользователей.
ядро: исправлена утечка результатов
ядро: оптимизация стека ошибок
ядро: UserModel.getListForRender: поддерживает дополнительные поля
ядро: IssueModel.import: объединить параметры в параметры импорта
ui: включить переходы просмотра
ядро: исправлена проблема с возможностью просмотра скрытых вопросов без разрешения [безопасность]
Пользовательский интерфейс: оптимизация форматированного текстового отображения сведений о записи отправки.
ui: поддержка кэширования аватаров
ui: запретить отображение текста за пределами границ
vjudge: codeforces: оптимизировать получение идентификатора отправки
ui: охрана отключена по умолчанию
ядро: поддержка скрытия обучающей левой пользовательской панели.
ядро: cli: поддержка оценки
Пользовательский интерфейс: добавлена поддержка экспериментальных правил спекуляций.
ядро: исправлено количество участников обучения.
Фреймворк: исправить страницу возврата 404
ui: оптимизация макета страницы разрешений пользователя.
vjudge: codeforces: оптимизировать отображение катекса
ядро: cli: исправить порядок загрузки скриптов
установка: проверка обновлений пряжи отключена по умолчанию
ядро: добавить хуки «контест/редактирование» и «контест/дел»
ui: Поддержка расширения сведений о контрольной точке.
ядро: исправлен бан системы соревнований IOI.
ядро: исправлена проблема, из-за которой файлы кэша не удалялись.
ядро: отображать прогресс при импорте вопросов
Пользовательский интерфейс: исправлена фильтрация тегов с пробелами.
a11y: Оптимизируйте порядок вывода теста производительности веб-страницы.
ui: используйте новый редактор уценки
ядро: оптимизация логики табло
ui: переместить кеш в IndexedDB
ядро: расшифровать миграцию как услугу
ui: Оптимизация совместимости браузера Safari.
ядро: исправить поле сопровождающего вопроса
Судья: поддержите использование файлового ввода-вывода в предварительном тесте
vjudge: codeforces: добавить проверку успешной отправки
пользовательский интерфейс: добавить часового
core&ui: поддерживает отображение текущей версии компилятора.
ядро: оптимизация индекса базы данных
ядро: копирование файлов с использованием программных ссылок
a11y: Добавьте инструменты тестирования производительности
utils: Поддержка распознавания расширений файлов в верхнем регистре.
ui: Оптимизировать стиль раскрывающегося меню.
ядро: Оптимизировать заголовок страницы
регистрация: поддерживает чтение исходной исходной карты из файла
Пользовательский интерфейс: исправлена ошибка отправки сообщений на сайте.
ui: добавлено описание рейтинговой страницы
Пользовательский интерфейс: добавить приглашение для создания тестовых данных.
структура: отделена от ядра
ядро: загрузчик: поддерживает многопрофильное переключение
Пользовательский интерфейс: исправлено отображение группы игроков на табло игры.
ядро: автоматический пересчет очков при сбросе игровых результатов.
В этой версии также представлены следующие модификации API подключаемых модулей:
Удален хук app/load/${category}.
Удален ctx.app (используйте ctx.root)
Удалены ctx.options (используйте ctx.root.config)
сериализатор: удалить параметр showDisplayName
Удалены функции loader.addScript, loader.addon.
Удален Hydro.module.render (используйте ctx.server.registerRenderer).
Удалены библиотеки lib/paginate и lib/rank (используйте db.paginate и db.ranked).
ядро: переместить модуль API в сервис
core: Если заявка будет взломана во время конкурса, общий повторный тест не будет инициирован.
ядро: переместить логику добавления соответствия pid в поиск
пользовательский интерфейс: исправить cssFilter
судья: встроенный: поддерживать порядок обратных вызовов
ядро: оптимизация обработки адресов электронной почты.
ui: Отобразить длину отправленной записи.
миграция: поддержка установки случайных адресов электронной почты только для конфликтующих пользователей.
core&ui: поддерживает автоматическую сортировку взломанного ввода.
эластичный: оптимизировать нечеткий поиск
Пользовательский интерфейс: исправлена проблема с неправильной загрузкой ответов на вопросы с несколькими вариантами ответов в объективных вопросах.
ядро: исправить кнопку взлома
ядро: Добавить страницу статистики вопросов
ядро: отображать ход оценки на странице сведений о записи.
ядро: проблема_список: разрешить перехватчикам изменять логику сортировки
мигрировать: добавить поддержку PoJ
ядро: API: поддерживает запросы rpInfo и avatarUrl
пользовательский интерфейс: разрешить отключить время назад
ядро: исправлена проблема с отменой результатов в рамках IOI(строгого)
Пользовательский интерфейс: Выделите себя и следующих пользователей на табло игры.
ядро: Исправлен расчет суммы AC в списке соревнований.
ядро: отключить повторную отправку самотестирования
Пользовательский интерфейс: оптимизация отображения истории редактирования обсуждений.
ядро: вернуть текущий UserContext после входа в систему/регистрации.
ядро: исправлена проверка PERM_VIEW_DISPLAYNAME для экспорта табло игры.
Пользовательский интерфейс: исправлено значение по умолчанию в поле выбора домена_пользователя.
Пользовательский интерфейс: исправлен объективный вопрос, загружающий последний ответ.
ядро: автоматически отключать 2FA при сбросе пароля.
ядро: импорт: поддерживает импорт решений проблем и стандартных процедур при импорте пакета вопросов.
ядро: оптимизация производительности и исправление ошибок
ядро: поддержка настройки множителя баллов для вопросов конкурса (#765).
рабочая область: обновить версию ts до 5.4.3
core: ws: обработка исключений синтаксического анализа JSON
ядро: разрешить загрузку файлов в задания (#755)
ui: отображать заголовок вопроса конкурса на странице управления конкурсом.
судья: исправлена проблема, из-за которой объективные вопросы в некоторых случаях давали ненормальные результаты (#770).
ui: отключить некоторые теги в mdInline
(#767)
ядро: добавить язык R и поддержку cpp20.
ui: отображение пикового потребления времени на странице записи оценки.
ядро: исправлена проблема, из-за которой администраторы соревнований не могли просматривать коды (#764).
Судья: Обеспечьте доступ к hydrojudge terminal
(#725).
ядро: поддерживает загрузку плагинов из /nix/store
ядро: добавить хук contest/list
судья: поддержка vj4
Пользовательский интерфейс: исправлен выбор тестовой библиотеки на панели настроек теста (#762).
fps-importer: поддерживает установку ограничений размера
ядро: добавьте группу разрешений PERM_VIEW_RECORD
(#753).
ядро: исправлена проблема, при которой анонсы игр можно было просмотреть без входа в систему (#756).
Пользовательский интерфейс: разрешить использование клавиши Enter для отправки 2FA (#752).
core: Оптимизировать список участников тренинга (#750)
core&ui: другие оптимизации производительности и исправления ошибок.
ядро: обновить до cordis@3
ядро: оптимизировать обработку катекса
ядро: добавить крючок для мониторинга/сбора
судья: анализ ремонта
Судья: Впервые на независимой оценочной машине исправлена проблема некорректной синхронизации тестовых данных.
мигрировать: оптимизировать жесткий импорт
Пользовательский интерфейс: исправлена проблема с неправильным рендерингом катекса в некоторых областях.
ядро: Оптимизируйте версию результатов соревнований для фильтрации по группам.
ядро: инъекция -> инъекцияUI
ядро: исправить утечку памяти
пользовательский интерфейс: поддержка /record?nopush=1
судья: исправлено кэширование неверных тестовых данных (#726).
Судья: Не отображать сведения RuntimeError
во время соревнований.
ядро: файл вопросов в конкурсе пропускает проверку PERM_VIEW_PROBLEM.
судья: оптимизация производительности (спасибо @criyle)
утилиты: dissociation@гидроoj/register
ядро: отключить проверку номера контрольной точки для объективных вопросов
ядро: переключать sessionId при входе в систему
ядро: оптимизация требует хука
ядро: исправлена проблема сбоя создания пользователя при высоком параллелизме.
prom-client: поддерживает отправку на pushgateway
core&ui: страница со сжатым оценочным списком ws-передача
utils: оптимизация идентификации контрольных точек.
ui: удалить функцию сериализатора
ядро: Добавить SettingService
fps: поддержка тега [md]
vjudge: codeforces: добавить ограничение частоты
мигрировать: hustoj: поддержка поля Remote_oj
ядро: другие исправления ошибок
ядро: исправлена проблема с возвратом исключения кода состояния.
ядро: синхронизировать поведение ранжирующей страницы.
install: компилятор Pascal больше не предустановлен.
судья: обрабатывать пакеты пульса
ядро: судья: оптимизировать распределение задач
судья: оптимизировать управление кэшем
core: Contest_export_ghost: экспортировать название команды, начинающееся со звездочки, если команда не участвует в рейтинге.
Пользовательский интерфейс: исправить действие вставки Монако
Пользовательский интерфейс: поддерживает пакетную вставку номеров пользователей/вопросов.
Новые возможности:
core&ui&judge: поддерживает создание тестовых данных с веб-страницы.
vjudge: добавить поддержку yacs
ядро: поддержка/запись?all=1
core&ui: скрыть сведения о контрольных точках в формате соревнований ACM.
onsite-toolkit: поддерживает вход по IP-адресу.
core&ui: поддержка переименования файлов на веб-странице.
core&judge: позволяет одновременно распределять несколько задач в рамках одного соединения.
Оптимизации и исправления:
ядро: оптимизация фильтрации имен файлов.
utils: оптимизация логики сопоставления тестовых данных.
установка: caddy по умолчанию включает сжатие
пользовательский интерфейс: полный частичный перевод
установка: по умолчанию использует mongodb6
ядро: оптимизация производительности страницы отправки записей
судья: обновить версию testlib
ядро: установка: опорная полоса
ui: Минимальная поддерживаемая цель для обновления — chrome65.
ядро: оптимизируйте количество вопросов, отображаемых при поиске вопросов.
ядро: исправлена проблема, из-за которой записи заявок с 0 баллами не отображались в рейтингах соревнований Ледо.
core: Исправлена замена file:// в вопросе конкурса.
ядро: обсуждение: проверка ввода vnode
ядро: удалить параметры подключения mongo по умолчанию
ui: имя эха страницы ошибки
ui: исправлена проблема с ошибкой междоменного подключения WebSocket при отсутствии входа в систему.
ядро: исправлена проблема дублирования закрепленных доменов, вызванная удалением доменов.
мигрировать: hustoj: решить проблему отсутствия полей источника в системных вопросах старой версии.
мигрировать: исправить скрипт миграции UOJ
Пользовательский интерфейс: исправлен компонент реакций
ядро: проверьте реферер
ядро: исправлено распределение всплывающих окон
Другие исправления ошибок и оптимизация производительности.
ядро: Исправлена проблема ненормальной настройки сложности при создании вопросов.
ядро: оптимизировать индекс документа
core&ui: функция всплывающего окна соревнования
core&ui: уточнение
ядро: исправить webauthn
импорт: добавить поддержку HOJ
судья: ограничение адресного пространства (бета)
install: поддерживает использование переменных среды для указания области установки.
Пользовательский интерфейс: исправлена ошибка «Пользователь не существует» при входе в систему
ядро: исправить перенаправление входа в систему
ядро: исправлено ограничение скорости отправки электронной почты с забытым паролем
ядро: исправить обсуждение соревнований.
Пользовательский интерфейс: исправлен выбор метки подалгоритма на странице редактирования вопроса.
utils: исправлено распознавание контрольной точки input1.txt.
ядро: список отправки: отключить живое нажатие, когда не на первой странице
судья: оптимизировать распознавание кода выхода
ядро: исправлена боковая панель страницы отправки вопросов на конкурс.
fps-importer: исправлено распознавание поля Remote_oj.
Пользовательский интерфейс: исправлена передача файлов cookie при использовании независимого сокета.
vjudge: обновить сканирование темы csgoj
Судья: поддержка hduoj
мигрировать: hustoj: игнорировать несуществующие изображения при импорте
core: oauth: используйте OpenID для привязки учетной записи
ядро: поддерживает поиск пользователей по их отображаемому имени.
ядро: поддерживает поиск вопросов в зависимости от их сложности
ui: Оптимизировать логику фильтрации конкурсных заданий на главной странице.
ядро: оптимизация идентификации контрольных точек
ui: отключить проверку орфографии для ввода самопроверки
ui: Online IDE: добавить страницу настроек.
ядро: добавление информации о сложности при экспорте вопросов.
Пользовательский интерфейс: исправлена проблема с ошибкой завершения тега уценки при определенных обстоятельствах.
import-qduoj: проверьте правильность pid
ядро: сортировка списка заданий
Пользовательский интерфейс: исправлено отображение редактора обсуждений.
ядро: функция экспорта pwsh
vjudge: codeforces: исправлено исключение сканирования 921 для соревнований.
ядро: исправлено строгое подсчет очков в матчах
Пользовательский интерфейс: исправлено отображение списка участвовавших тренировок.
ядро: отключить табло перед началом игры
Пользовательский интерфейс: скрыть параметры по умолчанию и гостевые параметры при добавлении пользователей в домен.
ядро: разрешить администраторам фильтровать все группы.
Пользовательский интерфейс: исправлена языковая фильтрация (#598).
пользовательский интерфейс: исправить реакцию обсуждения
vjudge: исправлено получение результатов отправки Codeforces.
ядро: оптимизация функции самотестирования системы
vjudge: поддержка детальных настроек (#582)
пользовательский интерфейс: отключить автозапуск видео
install: поддерживает автоматический импорт данных из UOJ во время установки.
ui: исправлена проблема с ненормальной функцией предпочтительного префикса.
ядро: исправлена проблема, из-за которой функция экспорта кода соревнований не могла обрабатывать двоичные файлы, отправленные игроками.
ядро: исправлено управление конкуренцией для отображения статуса участия пользователя в рейтинге.
core&ui: поддерживает фильтрацию соревнований/заданий по группам.
ядро: отображение тайм-аута компиляции spj и другой подробной информации.
core&ui: Импорт вопросов: поддержка изменения порядка номеров вопросов.
ядро: загрузчик: добавить интеграцию с git
установить: добавить пример установки k3s
ядро: по умолчанию используйте только имена файлов в нижнем регистре
ui: Игнорировать заученные ответы на объективные вопросы в соревнованиях.
ядро: удалить опцию langs.domain
ядро: исправлена проблема, связанная с тем, что старый почтовый ящик все еще занят после изменения почтового ящика.
пользовательский интерфейс: некоторые исправления стиля
Пользовательский интерфейс: Объективные вопросы: поддерживает запоминание последнего выбранного ответа и добавление быстрого пропуска вопросов.
core: используйте $HOME/.high для хранения временных файлов.
core: import: проверьте, является ли pid допустимым при импорте.
Пользовательский интерфейс: добавлена поддержка самопроверки языка, связанного с validAs.
Пользовательский интерфейс: исправлено отображение индикатора прогресса игры в режиме гибкого времени.
ядро: оптимизация идентификации пользователя при импорте
Пользовательский интерфейс: запомнить размер шрифта редактора
ядро: поддерживает поиск вопросов по тегам
core&ui: таблица результатов матчей и поддержка групповой фильтрации тренировок.
судья: добавьте параллельную обработку приоритетов
ядро: добавление журналов операций для операций настройки домена.
ядро: хранилище: избегайте таких символов, как -_, при сохранении файлов
ядро: исправлена проблема, из-за которой фильтрация «Ожидание отправки» на странице списка записей оценки не вступала в силу.
ui: исправлена проблема с ненормальной работой Typescript Language Service.
ui: добавить переключатель быстрой навигации по домену
ядро: добавьте разрешения PERM_VIEW_HIDDEN_CONTEST и PERM_VIEW_HIDDEN_HOMEWORK.
пользовательский интерфейс: оптимизация перевода
ядро: языки: добавить опцию validAs
мигрировать: добавить поддержку UOJ
core&ui: другие исправления ошибок и оптимизации.
пользовательский интерфейс: объективные вопросы: разрешено несколько строк ответов
ядро: исправлена проблема, из-за которой pinnedDomains нельзя было изменить.
установить: увеличить лимит по умолчанию
ui: Оптимизация всплывающих уведомлений о соревнованиях.
ядро: исправлен расчет времени на странице управления игроками соревнований.
core: cli: генерировать идентификатор вопроса по умолчанию при экспорте вопросов.
ядро: дамп: поддерживает параметр --dbOnly
ядро: импорт пользователей: проверка дублирующейся информации
Пользовательский интерфейс: изменить информацию об авторских правах по умолчанию
ядро: поддерживает обучение на основе рейтинга
Пользовательский интерфейс: горячая перезагрузка шаблона
fps-import: поддерживает обработку вопросов удаленной оценки.
vjudge: добавить атрибут VERDICT.WAITING
ui: Оптимизация автоматической идентификации тестовых данных.
vjudge: Добавить поддержку просвещения в программировании Yitong
ui: добавить ловушку problemset/download
Пользовательский интерфейс: скрыть некоторые элементы управления в режиме печати.
ядро: создание аддона с использованием символических ссылок
ui: на странице записи оценки отображается номер строки кода.
ядро: поддерживает импорт вопросов из разархивированных папок с вопросами.
ядро: добавить PRIV_UNLIMITED_ACCESS при setJudge
ядро: Исправлена проблема, из-за которой обсуждения в игре не удалялись вместе с игрой.
vjudge: codeforces: обновить логику проверки входа в систему
ui: отображение подсказок на странице отправки вопроса.
ядро: обновить кэш пользователя
ядро: принудительно завершать соединения Websocket, которые не отвечают на пакеты Heartbeat.
ядро: установите тег по умолчанию для импортированных вопросов.
ядро: Python2 отключен по умолчанию
ядро: Поддержка изменения порядка панели навигации.
Пользовательский интерфейс: исправлена проблема, из-за которой кнопка входа в режим редактирования в некоторых случаях не работала.
ядро: добавить функцию исправления Hydrooj
ядро: позволяет просматривать ваши собственные материалы в работе.
ядро: другие исправления ошибок
ядро: исправлена проблема с отображением табло в режиме strictioi.
ядро: Разрешить обычным пользователям просматривать обсуждения игры.
ядро: автоматически создавать папки статических ресурсов при запуске
ядро: позволяет использовать другие модули пользовательского интерфейса.
Судья: Исправьте проблему перенаправления вывода вопросов ввода-вывода файла.
ядро: больше не назначать sessionId пользователю-гостю
судья: исправить, отправить ответ на вопрос
ui: websocket: добавить пакет пульса
Судья: исправьте объективный вопрос и сохраните отправку вопроса о вводе-выводе.
судья: добавьте опцию compile_time_limit
ядро: добавьте пресеты Kotlin и pypy3
ui: табло: поддержка автоматического обновления
ядро: конкурс: разрешить администраторам просматривать результаты в реальном времени после закрытия рейтинга.
Судья: поддерживает настройку ограничения языкового времени и пространства по теме.
установить: поддерживает автоматический импорт данных Hustoj.
install: поддерживает указание источника установки
ядро: поддерживает автоматическую установку плагинов из npmjs.
core&ui: исправления ошибок
Судья: Установите самый низкий приоритет оценки.
ядро: исправлена проблема, из-за которой список заявок все еще можно было просмотреть, когда рейтинги закрыты в некоторых форматах соревнований.
ядро: оптимизация аутентификации обсуждения
Судья: Оптимизация единого эха статуса оценки обратного вызова
судья: удалить шаг processTestdata
судья: объективный вопрос, оценка задания, эхо
ядро: сгладить структуру тестовых данных
core: rp: исправлены результаты матчей
core&ui: требовать пароль при первом использовании OAuth
ui: обновление пользовательского интерфейса настроек оценки.
установить: настроить wtCacheSize в соответствии с системной памятью
пользовательский интерфейс: оптимизация скорости загрузки
ядро: определить случай идентификатора домена
ui: Индекс поля панели навигации.
Пользовательский интерфейс: поддержка фильтрации вакансий/конкурсов по группам разрешений.
Судья: установите интерпретатор Javascript по умолчанию на node
Судья: исправлена проблема, из-за которой удаление незавершенных вопросов приводило к зависанию очереди оценок.
ядро: обновиться до mongodb@5
ui: отображение оценок подзадач в деталях оценки.
ядро: устранена проблема, из-за которой имя файла тестовых данных начинается с пробела, что приводит к ненормальной работе.
dev: обновить среду devcontainer
ui: оптимизация макета страницы IDE.
ui: использовать Cordis для управления жизненным циклом (удалить старую шину)
блог: перенесите функциональность в автономный плагин @hydrooj/blog
ядро: поддерживает динамические настройки
судья: режим производительности (отключить обратный вызов одной точки)
ui: Поддержка настройки сопровождающих для заданий.
ядро: выпустить ответный вопрос в белый список языков отправки
import-qduoj: исправлена проблема, из-за которой пустые теги приводили к сбою импорта.
ui: Упрощение логики сервисворкера.
ui: Исправлена проблема с невозможностью присоединиться к плану тренировок.
ядро: Упрощение списка полей возврата пользователя
core&ui: конкурс.rule.ioi.strict
Другие исправления ошибок и оптимизация опыта.
ядро: исправить отсутствие самопроверки ввода
ядро: устранена проблема с недействительным токеном, вызванная несогласованным именем домена endpointForUser.
ядро: удалить проверку isBinaryFile
ядро: исправить настройкуallowViewCode
ядро: cli: предпочитаю монгош
рабочая область: предоставить пакет @hydrooj/eslint-config
Другие исправления ошибок и оптимизация опыта.
ядро: исправить вопрос отправки ответа
Пользовательский интерфейс: исправлены операции редактирования и удаления страницы задания.
vjudge: адаптируйте новый интерфейс codeforces
ядро: фильтровать пустые операции $set
пользовательский интерфейс: страница domain_dashboard показывает создателя домена
судья: исправьте взлом
ядро: проверьте, существует ли выбранный язык при отправке
ядро: поддерживает обнаружение проблем, которые приводят к зависанию запуска.
ядро: исправлена проблема, из-за которой рейтинговая информация не могла быть записана при определенных обстоятельствах.
ядро: добавлена дополнительная поддержка типов полей валидатора, удалена старая версия валидатора.
core&ui: поддерживает CORS
ui: поддерживает отложенную загрузку модулей.
пользовательский интерфейс: исправить вход по электронной почте
ui: Исправлена проблема ненормального отображения сообщений на сайте.
vjudge: luogu: исправить логин
Судья: исправлена ошибка, из-за которой некоторые объективные вопросы оставались без ответа, что приводило к ошибкам в оценке.
ядро: ConnectionHandler
поддерживает @subscribe(event)
util: исправлена проблема ненормального форматирования Message.sendNotification
ядро: оптимизация базы данных
core: проверка аватара пользователя
Судья: Удалите хук onDestory и вместо этого используйте одноразовые предметы.
пользовательский интерфейс: оптимизировать загрузку ресурсов
core&ui: добавить поддержку webauthn
ui: исправить голосование за решение проблемы
ui: Оптимизация макета страницы сведений о соревновании.
ui: исправлена ссылка на запись обзора в быстром поиске.
ядро: добавить поддержку Types.ArrayOf()
Пользовательский интерфейс: исправлено сохранение предварительного просмотра боковой панели.
ядро: добавьте настройку CookieDomain.
Пользовательский интерфейс: исправлена проблема бесконечного обновления страницы в режиме разработки.
vjudge: предоставляет компонент BasicFetcher.
ядро: кеш модели домена
core&ui: исправлены другие ошибки
ядро: добавить поддержку Ledosai.
vjudge: удалить зависимости, связанные с кукловодом
судья: исправлена ошибка, из-за которой результаты оценки не возвращались, если на объективные вопросы не был задан ответ.
ui: по умолчанию удалить модуль поиска в правой части главной страницы.
ui: добавить модуль загрузки аватара на сайт.
core: разрешить создателям матчей просматривать скрытые табло.
ядро: обсуждение изменено на сортировку по времени создания.
Пользовательский интерфейс: исправить эхо голосования по решению проблемы.
ядро: исправлена проблема с ошибкой синтеза ссылки для восстановления пароля.
Судья: исправлена проблема, заключающаяся в том, что предел вывода файлов при компиляции вопросов ввода-вывода слишком мал.
ядро: исправлена проблема, из-за которой %
в качестве ключевого слова приводило к ошибке при поиске вопросов.
ядро: исправлена проблема, из-за которой модуль записи отправки не отображался под списком вопросов конкурса.
Пользовательский интерфейс: исправлена проблема, из-за которой идентификаторы некоторых предустановленных смайлов на дискуссионном форуме не соответствовали фактическим изображениям.
установка: установите vm.swappiness=1 по умолчанию для повышения производительности.
Пользовательский интерфейс: разрешить обычным пользователям просматривать записи оценки постранично, если заданы условия запроса.
Пользовательский интерфейс: добавьте кнопку отмены оценки в список отправки записей.
ядро: устранена проблема, связанная с невозможностью записи журналов доступа при определенных обстоятельствах.
рабочая область: поддерживает pnpm
рабочая область: удалить мокко
ядро: поддерживает фильтрацию с использованием handler/before/Name#method
судья: оптимизация производительности
Пользовательский интерфейс: страница больше не обновляется при нажатии кнопки «Повторить тестирование» в списке записей оценки.
ui: Поддержка глобального быстрого поиска.
ядро: список_проблем: поддерживает параметр ограничения
ядро: Оптимизация списка узлов обсуждений по умолчанию.
ядро: валидатор: двойные китайские иероглифы также считаются законными именами пользователей.
судья: цель: поддерживает вопросы с несколькими ответами
ядро: проблемастат: игнорировать отправленные материалы с отмененными оценками
Пользовательский интерфейс: исправлено редактирование обсуждения с помощью сочетания клавиш Ctrl+Enter.
Пользовательский интерфейс: исправлена функция блокировки темы обсуждения.
ядро: оптимизация настроек аутентификации заданий
ядро: Исправлена функция бана списка
ui:contest: позволяет вручную управлять участниками.
ui: контест: поддерживает напоминание о трансляционных сообщениях во время соревнований.
пользовательский интерфейс: исправлены другие ошибки и оптимизирована производительность.
fps: исправлена проблема, из-за которой импорт не удался из-за пустых файлов в вопросах.
ядро: Поддержка дополнительных причин при блокировке пользователей.
vjudge: codeforces: пропустить недоступные совпадения 1769 и 1772 годов
Пользовательский интерфейс: Любимая операция вопроса больше не запускает обновление страницы
Ядро: Проверьте обоснованность файла конфигурации вопроса при повторном тестировании
Ядро: автоматически очищать временные файлы при выходе
Ядро: запрещено использовать
Import-qduoj: пропустить незаконные вопросы
Ядро: Исправьте экспорт кода конкуренции для отправки ответных вопросов
Судья: Добавить элемент Stdiolimit
UI: исправить сообщение.flag_Alert Display
Ядро: обучение может загружать файлы
Пользовательский интерфейс: оптимизируйте навигационную планку соревнования
Пользовательский интерфейс: таблица результатов соответствует следующим командам
Ядро: позволяет клонировать соревнования/рабочие места
UI: добавить вход в функцию на страницу редактирования конкурса
Ядро: конкурс поддержки звезд
Ядро: пропустите представление отмененных результатов при повторном тестировании всего вопроса
Ядро: Исправьте функцию поисковых вопросов на основе ID в конкурсе
Судья: Исправьте проблему аномального отображения сообщения об ошибке TestLib
Песочница: увеличить ограничение Stdio по умолчанию
Ядро: Исправьте проблему исключения в истории обсуждения
Ядро: оптимизируйте скорость бега ежедневных задач
Ядро: страница сведений пользователя поддерживает отображение конкурсов/заданий, в которых пользователь недавно участвовал.
Судья: Добавить список в список языков по умолчанию
Vjudge: Skip загрузка в режиме CLI
LSP: Исправлена просьба об автоматическом завершении, которая может потребоваться вручную обновить, чтобы вступить в силу.
Судья: оптимизировать выходные данные
Установка: по умолчанию, MongoDB URI используется в качестве метода подключения к базе данных
Пользовательский интерфейс: запасной на фоне по умолчанию, когда пользовательский фон не загружается
Пути файлов изменяются, чтобы быть чувствительными к корпусу.
Плагин переднего модуля поддерживает с использованием import { ... } from '@hydrooj/ui-default'
чтобы представить встроенные библиотеки.
ctx.inject('Notification')
поддерживает вставку нескольких строк текста.
Ядро: оптимизировал производительность страницы табло Game
Ядро: Поддержка Указания группы и школы, которой принадлежит пользователь при импорте пользователей
Core & UI: другие исправления ошибок и оптимизации производительности
Добавлен метод UserModel.getListForRender(domainId, uids)
.
Добавьте свойство IHandler.response.pjax
.
Ядро: Удаленная проблема. Assign
Ядро: Исправлена проблема, где код не может быть просмотрен, если вопрос все еще был скрыт после конкуренции.
Пользовательский интерфейс: Исправлена отображение нижнего колонтитула в браузере IE
Судья: Исправлена проблема с тем, что лимонный контроль выходит, что приведет к 0 баллы 0
Пользовательский интерфейс: оптимизировать предупреждение о совместимости Firefox на стороне управления
UI: оптимизируйте отображение вопросов FPS после их импорта
Пользовательский интерфейс: Исправьте проблему распознавания языка в браузере IE.
Установка: Обнаруйте установленную среду пагоды и бросьте предупреждение о несовместимости
UI: оптимизируйте некоторые запросы на ошибку
мигрировать: оптимизация производительности
Vjudge: Исправьте кодформы.
ProblemModel.getList()
удаляет параметр группы и перемещает последующие параметры вперед
cordis
модернизирована до 2,6
Исправлена проблема, в которой страница сведений о рассмотрении не будет обновлять немедленно при определенных обстоятельствах
Return Testlib Spj ошибки в сторону пользователя
Исправлена проблема, которую файл вопроса не может быть предварительно просмотрен со стороны администратора
Окончательная поддержка Nodejs <14
UI: API: обновленная API Workbench
Судья: удалить R из переменных среды и добавить описание пакетов Python
Пользовательский интерфейс: изменил некоторые рекомендуемые ссылки
выпускной клиент: информация о записи EventEmitter
Ядро: конкурс: поддержка экспорта информации о конкурсе в формат призрака
Ядро: Конкурс: оптимизируйте расчет материалов и проходов в конкурсе
Ядро: конкурс: отображение в ожидании подчинения при заключении списка
Судья: Исправлена проблема, в которой объективные вопросы не были заданы ответами, в результате чего оценка была пропущена.
Ядро: оптимизировать CSRFTOKENERROR и DOMAINNOTFOUNDERROR ECHO
Ядро: Сервер: Удовлетворение ошибок WebSocket
Ядро: Валидатор: Исправьте проблему отправки пустых сообщений сайта
Другие исправления ошибок и оптимизации производительности
На странице «Подробная информация о вопросе» ScratchPad.Store общедоступен из окна
Caddy автоматически устанавливается во время установки и настраивает обратный прокси для прослушивания на порту 80.
Поддерживает использование hydrooj install <src>
и hydrooj uninstall <name>
для быстрого управления плагинами.
Добавлена автоматическое завершение для выбора языка в управлении доменом-> Редактировать профиль домена.
Поддержка просмотра вашего представленного кода в формате конкуренции OI.
Import-qduoj: поддерживает импорт вопросов SPJ.
FPS-Importer: адаптируйтесь к FPS-файлу версии 1.4.
Другие исправления ошибок и оптимизация опыта.
Поддерживает использование ctx.i18n.load(lang, Record<string, string>)
для загрузки файлов перевода.
Поддержка ctx.withHandlerClass(name, callback)
для получения прототипа класса.
Prom-Client: поддерживает пользовательскую классификацию отчетов ConnectionHandler.
Переместите handler.ctx на handler.context, а новый handler.ctx - плагин.
Контент в рамках Framework/Примеры/Установка/В этом проекте лицензируется по лицензии MIT, и вы можете использовать его свободно.
Контент в рамках пакетов/ UI-Default/ В этом проекте авторизован только AGPL-3.0.
Остальная часть проекта использует двойное лицензирование:
Вы можете использовать этот код бесплатно, в соответствии с лицензией AGPL-3.0 и следующим разделу «Дополнительные условия»:
Если вам действительно нужен закрытый источник, вы также можете связаться с нами, чтобы приобрести другие лицензии.
На основе статьи 7 Соглашения AGPL3 вам необходимо соблюдать следующие дополнительные условия при использовании этого проекта:
Не удаляйте уведомление об авторском праве и атрибуцию этого элемента;
При перераспределении модифицированных версий этого программного обеспечения он должен быть четко указан в имени программного обеспечения или номера версии;
Имя автора не может использоваться для рекламных целей, кроме как с разрешения;
Прямо сейчас:
Когда вы развертываете Hydro, вам необходимо оставить слова, Powered by Hydro
внизу, и слово Hydro
должно указывать на ссылку на один из hydro.js.org/本仓库/fork
.
Если вы вносите модификации/расширения в исходном коде, Powered by Hydro, Modified by xxx
также должен быть открыт в рамках AGPL-3.0-OR-Later.
См. Appling.md
Рейтинг в определенном порядке, в словарном порядке ссылок
GitHub предоставляет хостинг кода и автоматические сборки для Hydro.
Criyle обеспечивает обзорную реализацию песочницы.
Vijos предоставляет структуру пользовательского интерфейса для Hydro.
Юн Дура Академия