Hydro adalah sistem penilaian online informatika yang efisien. Mudah dipasang, lintas platform, multifungsi, terukur, dan memiliki bank soal.
Bagi guru yang belum familiar dengan Linux atau malas mengoperasikan dan merawatnya, kami juga menyediakan versi online gratis siap pakai.
Untuk detailnya, buka https://hydro.ac untuk melihat petunjuk pengoperasian.
Tempelkan perintah penginstalan ke konsol untuk penginstalan sekali klik. Setelah penginstalan, pengguna pertama yang terdaftar akan secara otomatis mendapatkan hak administrator super.
Kompatibel dengan distribusi Linux mainstream, direkomendasikan Debian 12, dan mendukung perangkat arm64 (Raspberry Pi, dll.)
LANG=zh .<(ikal https://hydro.ac/setup.sh)
Dokumen berbahasa Mandarin/Bahasa Inggris
Jika dokumentasi yang relevan tidak cukup rinci, silakan kirimkan Permintaan Tarik atau hubungi tim pengembangan untuk klarifikasi.
Silakan kirimkan saran bug dan fitur di Masalah.
Hydro telah merancang sistem plug-in modular yang dapat dengan mudah memperluas fungsionalitas sistem.
Dengan menggunakan sistem plug-in, Anda masih dapat memastikan kemampuan upgrade sistem setelah memodifikasi fungsi.
Semua versi historis Hydro dapat ditingkatkan dengan lancar ke versi terbaru.
Untuk pedoman penggunaan dan pengembangan plug-in, silakan buka bab dokumentasi plug-in dan pengembangan.
Hydro mendukung semua distribusi Linux mainstream, kompatibel dengan perangkat arsitektur x86_64 dan arm64, dan dapat diinstal dengan satu klik.
Hydro dapat berjalan normal di Raspberry Pi atau Apple M1/M2.
Gunakan hydrooj backup
untuk mencadangkan semua data sistem, dan gunakan hydrooj restore 文件名
untuk mengimpor data cadangan. Seluruh proses tidak memerlukan intervensi manual.
Hydro menyediakan dukungan multi-ruang sistem tunggal, sehingga memudahkan pembuatan ruang mandiri untuk kelas/kelas/sekolah yang berbeda, dll.
Data di ruang berbeda diisolasi secara default kecuali untuk pengguna, dan administrator independen dapat ditetapkan tanpa mengganggu satu sama lain.
Pertanyaan dapat disalin di seluruh domain dan hanya menempati satu ruang di sistem.
Izin Hydro dapat diberikan kepada pengguna terkait berdasarkan kompetisi/pekerjaan, atau pengguna dapat dikelompokkan (kelas) dan izin dapat diberikan berdasarkan grup. Untuk node izin, Anda dapat melihat tangkapan layar di bawah pendahuluan.
Sistem Hydro sendiri tidak memiliki kewarganegaraan, artinya Anda dapat menambah atau menghapus node layanan sesuka hati tanpa mempengaruhi pengoperasian normal sistem. Antrian evaluasi akan otomatis didistribusikan secara merata ke seluruh mesin evaluasi yang sedang online. Setelah bergabung dengan grup penskalaan elastis, mesin evaluasi dapat ditambahkan atau dihapus secara otomatis sesuai dengan beban server. Tidak seperti sistem lainnya, Hydro akan mengelola cache data pengujian antara server yang berbeda dan menariknya sesuai permintaan, sehingga mesin evaluasi dapat digunakan segera setelah online tanpa sinkronisasi data manual.
Hydro mendukung semua jenis pertanyaan. Baik itu jenis pertanyaan tradisional, Juri Khusus, atau input dan output file, pertanyaan penyerahan jawaban, interaksi IO, interaksi fungsi, atau bahkan pertanyaan isian, Hydro memiliki dukungan yang sesuai. Setelah menginstal lingkungan operasi yang relevan, Hydro bahkan dapat melakukan:
Panggil kura-kura kecil untuk menggambar dan membandingkannya dengan gambar standar;
Panggil GPU untuk mengevaluasi model pembelajaran mesin;
Sampel lainnya dapat dilihat dan diunduh di area sampel.
Hydro mendukung pengimporan file bank soal dalam format umum, termasuk format zip umum Hydro, soal format FPS (xml) yang diekspor oleh HUSTOJ, dan paket terkompresi yang diekspor oleh QDUOJ.
Anda dapat mengunduh bank soal gratis dari Hydro Question Bank.
Hydro juga mendukung VJudge, yang berarti Anda dapat langsung mengimpor pertanyaan dari platform lain ke dalam sistem, memodifikasi pertanyaan, dan menggabungkannya ke dalam tugas atau kompetisi Anda untuk segera membangun sistem bank soal Anda sendiri.
Platform yang didukung saat ini adalah:
Pencerahan Pemrograman Yiyi Tong: Bank Soal Pencerahan Pemrograman Yiyi Tong resmi dapat digunakan secara gratis.
Kontes Pemrograman Sederhana: Secara resmi menyediakan bank tes untuk "Kontes Pemrograman (Dasar)" Luogu secara gratis, silakan lihat instruksi impor dalam paket terkompresi.
UOJ: OJ terkenal di Tiongkok, biasa digunakan oleh tim pelatnas;
Codeforces: Platform kompetisi asing yang besar dengan banyak pertanyaan berkualitas tinggi;
Luogu: Untuk menggunakan fungsi ini, Anda perlu membeli lisensi dari Luogu;
HDUOJ: Sistem evaluasi online Universitas Hangzhou Dianzi, yang mencakup pertanyaan pelatihan multi-sekolah;
CSGOJ: Platform evaluasi pertanyaan Kompetisi Provinsi Guangdong dan Kompetisi Provinsi Hunan;
SPOJ: Sambungan domestik sangat tidak stabil dan tidak direkomendasikan;
POJ: relatif antik, stabilitas server buruk;
YACS: Platform kompetisi Shanghai Computer Society, ada batasan pengiriman harian untuk satu akun;
HUSTOJ: Secara teoritis mendukung semua sistem yang digerakkan oleh HUSTOJ, namun karena perbedaan UI di setiap sistem, biasanya diperlukan adaptasi manual.
Hydro mendukung berbagai format kompetisi, termasuk format kompetisi ACM/ICPC (mendukung penyegelan), format kompetisi OI, format kompetisi IOI, format kompetisi Ledo, dan fungsi pekerjaan rumah.
Dalam format kompetisi IOI dan OI, fungsi koreksi pertanyaan didukung. Siswa dapat mengirimkan pertanyaan terkait di bank soal setelah pertandingan, dan skor mereka akan ditampilkan di sebelah daftar.
Dalam format kompetisi IOI dan OI, fungsi waktu fleksibel didukung, dan siswa dapat berpartisipasi dalam X jam pilihan mereka sendiri dalam rentang waktu yang ditentukan.
Pengaturan bahasa Hydro tidak dikodekan ke dalam sistem, melainkan menggunakan file konfigurasi. Selama ia dapat menulis perintah kompilasi dan menjalankan perintah dalam bahasa yang sesuai, Hydro dapat menilai pertanyaan.
Email: [email protected] Telegram @undefinisimoe
Kelompok pengguna hidro: 1085853538
Catatan: Harap membaca "Hikmah Bertanya" sebelum bergabung dengan grup pengguna.
Pada saat yang sama, mungkin ada beberapa konten di grup yang membuat Anda tidak nyaman atau menyinggung. Jika Anda mempunyai kekhawatiran tentang hal ini , mohon jangan bergabung dengan grup .
inti&ui: API ScoreboardView
perangkat di tempat: Resolver
inti: optimalkan impor format icpc
inti: tambahkan opsi limit.pretest
inti: tambahkan tugas/log kinerja harian
kerangka kerja: hapus UiContext dan UserContext secara default
inti: Memperbaiki pengecualian penguraian saat menggunakan impor HTML dalam mode penurunan harga
inti: Memungkinkan menyalin pertanyaan yang dikutip
inti&hakim: tambahkan opsi tepercaya
inti: memperbaiki penguraian metadata pengguna impor
inti: Ubah format verifikasi pid
ui: nonaktifkan putar otomatis
inti: optimasi kinerja daftar pertanyaan
inti: membatasi panjang nama tampilan
inti: mendukung penyesuaian batas panjang kode
inti: Matikan cache kode IDE online dalam pekerjaan
inti: API: Periksa PERM_VIEW
juri: Tambahkan variabel lingkungan HYDRO_TIME_USAGE dan HYDRO_MEMORY_USAGE
inti&ui: mendukung isi ulang panas i18n
fps-import: Mengoptimalkan impor gambar
ui: mendukung pengaturan sudut membulat
inti: mendukung StorageModel.copy dan StorageModel.exists
inti: ProblemModel.list yang tidak digunakan lagi
inti: Tambahkan kait pengguna/impor/parse dan pengguna/impor/buat
inti: Nonaktifkan handler, lib, tipe komponen skrip
inti: tingkatkan ke ts5.6, cordis3.18
recaptcha: hapus
inti: Sangat meningkatkan kinerja tugas sehari-hari
inti: (sebagian) mendukung format paket icpc
inti: limitRate: mendukung id khusus
inti: Pertanyaan format array yang tidak digunakan lagi
inti: cadangan: tambahkan opsi --withAddons
(tes)
inti: pengoptimalan kinerja sesi
instal: mongodb mendengarkan 127.0.0.1 secara default
core&ui: perbaikan bug lainnya
ui: perbaiki pratinjau penurunan harga
ui: Optimalkan tampilan kotak login ketika login bawaan dinonaktifkan
ui: memperbaiki transisi tampilan
onlyoffice: mendukung pemrosesan file PDF
ui: penurunan harga mendukung menampilkan nomor baris kode
ui: mendukung fungsi multimedia yang diperluas
ui: Mendukung penyematan video Youku
ui: Hapus bilah gulir horizontal yang berlebihan dari beberapa komponen halaman
inti : Memperbaiki perhitungan jumlah suara penyelesaian masalah
ui: Optimalkan gambar halaman mode gelap 404
ui: Klik untuk memperluas informasi kompilasi
ui: Memperbaiki papan skor game yang mengikuti pengguna
inti: ProblemModel.import: mendukung opsi delSource
ui: Memperbaiki dorongan real-time dari data pengujian yang dihasilkan
prom-client: Laporkan status ke konsol
inti: oauth: mendukung nama pengguna tetap
utils: mendukung pencarian pm2 yang diinstal oleh nix
ui: Optimalkan navigasi pertanyaan di halaman kompetisi
ui: Opsi monacoTheme tidak digunakan lagi
ui: editor penurunan harga mendukung mode gelap
kerangka kerja: Optimalkan pelacakan tumpukan
inti: oplog: mencatat jalur akses
bermigrasi: menambah batas waktu
vjudge: memperbaiki masalah yacs yang menyebabkan sistem crash
sonic: mendukung pencarian pertanyaan berdasarkan ID pertanyaan
inti: Memperbaiki masalah ketika pengaturan grup asli akan ditimpa jika grup disertakan saat mengimpor pengguna.
inti: memperbaiki kebocoran skor
inti: Optimalkan tumpukan kesalahan
inti: UserModel.getListForRender: mendukung bidang tambahan
inti: ProblemModel.import: menggabungkan parameter ke dalam opsi impor
ui: aktifkan transisi tampilan
inti: Memperbaiki masalah kemampuan melihat pertanyaan tersembunyi tanpa izin [keamanan]
ui: Optimalkan tampilan teks kaya dari detail catatan pengiriman
ui: mendukung cache avatar
ui: mencegah teks ditampilkan di luar batas
vjudge: codeforces: Optimalkan perolehan ID pengiriman
ui: penjaga dinonaktifkan secara default
inti: Dukungan menyembunyikan bilah pengguna kiri pelatihan
inti: cli: dukungan eval
ui: Tambahkan dukungan aturan spekulasi eksperimental
inti: Memperbaiki jumlah peserta pelatihan
kerangka kerja: perbaiki 404 halaman kembali
ui: Optimalkan tata letak halaman izin pengguna
vjudge: codeforces: optimalkan tampilan katex
inti: cli: memperbaiki urutan pemuatan skrip
instal: pemeriksaan pembaruan benang dinonaktifkan secara default
inti: tambahkan kait kontes/edit dan kontes/del
ui: Mendukung perluasan detail titik tes
inti: Memperbaiki larangan sistem kompetisi IOI
inti: Memperbaiki masalah file cache tidak dapat dihapus
inti: menampilkan kemajuan saat mengimpor pertanyaan
ui: perbaiki pemfilteran untuk tag dengan spasi
a11y: Optimalkan urutan keluaran uji kinerja halaman web
ui: gunakan editor penurunan harga yang baru
inti: Optimalkan logika papan skor
ui: pindahkan cache ke IndexedDB
inti: transkripsikan migrasi sebagai layanan
ui: Optimalkan kompatibilitas browser safari
inti: perbaiki bidang pengelola pertanyaan
juri: mendukung penggunaan file IO dalam pretest
vjudge: codeforces: Tambahkan centang apakah pengiriman berhasil
ui: tambahkan penjaga
core&ui: mendukung tampilan versi kompiler saat ini
inti: optimasi indeks basis data
inti: menyalin file menggunakan tautan lunak
a11y: Tambahkan alat pengujian kinerja
utils: Mendukung pengenalan ekstensi file huruf besar
ui: Optimalkan gaya menu drop-down
inti: Optimalkan judul halaman
register: mendukung pembacaan peta sumber asli dari file
ui: Perbaiki pesan push di tempat
ui: halaman peringkat menambahkan deskripsi
ui: Tambahkan prompt untuk menghasilkan data pengujian
kerangka: terlepas dari inti
inti: pemuat: mendukung peralihan multi-profil
ui: Memperbaiki tampilan grup pemain di papan skor game
inti: Menghitung ulang skor secara otomatis saat mengatur ulang skor permainan
Versi ini juga memperkenalkan modifikasi API plug-in berikut:
Kait app/load/${category} dihapus
Menghapus ctx.app (silakan gunakan ctx.root)
Menghapus ctx.options (silakan gunakan ctx.root.config)
serializer: hapus parameter showDisplayName
Menghapus fungsi loader.addScript, loader.addon
Hydro.module.render dihapus (silakan gunakan ctx.server.registerRenderer)
Menghapus lib/paginate dan lib/rank (silakan gunakan db.paginate dan db.ranked)
inti: pindahkan modul API ke layanan
inti: Jika kiriman diretas selama kompetisi, pengujian ulang secara keseluruhan tidak akan terpicu.
inti: Pindahkan logika menambahkan kecocokan pid ke dalam pencarian
ui: perbaiki cssFilter
juri: builtin: menjaga perintah panggilan balik
inti: Optimalkan pemrosesan alamat email
ui: Menampilkan panjang rekaman yang dikirimkan
bermigrasi: mendukung pengaturan alamat email acak hanya untuk pengguna yang berkonflik
core&ui: mendukung penyortiran otomatis input peretasan
elastis: Optimalkan pencarian fuzzy
ui: Memperbaiki masalah pemuatan jawaban yang salah untuk pertanyaan pilihan ganda dalam pertanyaan objektif
inti: perbaiki tombol retas
inti: Tambahkan halaman statistik pertanyaan
inti: Menampilkan kemajuan penilaian pada halaman detail catatan
inti: daftar_masalah: Izinkan kait untuk mengubah logika penyortiran
bermigrasi: tambahkan dukungan poj
inti: api: mendukung kueri rpInfo dan avatarUrl
ui: izinkan menonaktifkan timeago
inti: Memperbaiki masalah pembatalan skor di bawah IOI (ketat)
ui: Sorot diri Anda dan ikuti pengguna di papan skor game
inti : Memperbaiki perhitungan jumlah AC pada daftar kompetisi
inti: nonaktifkan pengiriman tes ulang mandiri
ui: Optimalkan tampilan riwayat pengeditan diskusi
inti: Mengembalikan UserContext saat ini setelah masuk/mendaftar
inti: Perbaiki pemeriksaan PERM_VIEW_DISPLAYNAME untuk ekspor papan skor game
ui: perbaiki nilai default kotak pilihan domain_user
ui: Perbaiki pertanyaan objektif yang memuat jawaban terakhir
inti: Secara otomatis menonaktifkan 2FA saat mengatur ulang kata sandi
inti: impor: mendukung impor solusi masalah dan prosedur standar saat mengimpor paket pertanyaan
inti: pengoptimalan kinerja dan perbaikan bug
inti: Mendukung pengaturan pengganda skor untuk pertanyaan kompetisi (#765)
ruang kerja: tingkatkan versi ts ke 5.4.3
inti: ws: Menangani pengecualian penguraian JSON
inti: izinkan pengunggahan berkas ke pekerjaan (#755)
ui: Menampilkan label judul pertanyaan kontes di halaman manajemen kontes
juri: Memperbaiki masalah dimana pertanyaan obyektif memberikan hasil yang tidak normal dalam beberapa kasus (#770)
ui: nonaktifkan beberapa tag di mdInline
(#767)
inti: Tambahkan bahasa R dan dukungan cpp20
ui: Menampilkan konsumsi waktu puncak pada halaman catatan evaluasi
inti: Memperbaiki masalah dimana administrator kompetisi tidak dapat melihat kode (#764)
juri: Menyediakan akses ke hydrojudge terminal
(#725)
inti: mendukung memuat plugin dari /nix/store
inti: tambahkan kait contest/list
hakim: dukungan vj4
ui: Perbaiki pemilihan testlib di panel pengaturan pengujian (#762)
fps-importir: mendukung pengaturan batas ukuran
inti: Tambahkan grup izin PERM_VIEW_RECORD
(#753)
inti: Memperbaiki masalah dimana pengumuman permainan dapat dilihat tanpa login (#756)
ui: Izinkan penggunaan tombol Enter untuk mengirimkan 2FA (#752)
inti : Optimalkan daftar peserta pelatihan (#750)
core&ui: pengoptimalan kinerja lainnya dan perbaikan bug
inti: tingkatkan ke cordis@3
inti: mengoptimalkan pemrosesan katex
inti: tambahkan monitor/kumpulkan kait
hakim: analisis perbaikan
juri: Memperbaiki masalah sinkronisasi data pengujian yang salah untuk pertama kalinya pada mesin evaluasi independen
migrasi: optimalkan impor hustoj
ui: Memperbaiki masalah rendering katex yang salah di beberapa area
inti: Optimalkan versi hasil kompetisi untuk memfilter berdasarkan grup
inti: menyuntikkan -> menyuntikkanUI
inti: memperbaiki kebocoran memori
ui: dukungan /record?nopush=1
juri: perbaiki data pengujian yang salah yang sedang di-cache (#726)
juri: Jangan tampilkan detail RuntimeError
selama kompetisi
inti : File soal pada kompetisi melewati pengecekan PERM_VIEW_PROBLEM
juri: pengoptimalan kinerja (terima kasih @criyle)
utilitas: disosiasi@hydrooj/register
inti: nonaktifkan pemeriksaan nomor titik tes untuk pertanyaan objektif
inti: Ganti sessionId saat masuk
inti: optimalkan memerlukan kait
inti: Memperbaiki masalah kegagalan pembuatan pengguna dalam konkurensi tinggi
prom-client: mendukung dorongan ke pushgateway
core&ui: halaman daftar evaluasi terkompresi dengan transmisi
utils: Optimalkan identifikasi titik tes
ui: Hapus fungsi serializer
inti: Tambahkan SettingService
fps: mendukung tag [md]
vjudge: codeforces: tambahkan batas frekuensi
migrasi: hustoj: mendukung bidang remote_oj
inti: Perbaikan bug lainnya
inti: Memperbaiki masalah pengembalian pengecualian kode status
inti: Menyinkronkan perilaku halaman peringkat
install: Kompiler Pascal tidak lagi diinstal sebelumnya
hakim: menangani paket detak jantung
inti: hakim: mengoptimalkan alokasi tugas
hakim: mengoptimalkan manajemen cache
inti: kontes_ekspor_hantu: Ekspor nama tim yang dimulai dengan tanda bintang ketika tim tidak berpartisipasi dalam pemeringkatan
ui: perbaiki tindakan tempel monaco
ui: mendukung penempelan batch pengguna/nomor pertanyaan
Fitur baru:
core&ui&judge: mendukung pembuatan data pengujian dari halaman web
vjudge: tambahkan dukungan yacs
inti: dukungan/catatan?semua=1
core&ui: Sembunyikan detail titik tes dalam format kompetisi ACM
toolkit di tempat: mendukung login berdasarkan alamat IP
core&ui: Mendukung penggantian nama file di halaman web
core&judge: memungkinkan banyak tugas didistribusikan secara bersamaan dalam satu koneksi
Pengoptimalan dan perbaikan:
inti: Optimalkan pemfilteran nama file
utils: Optimalkan logika pencocokan data pengujian
install: caddy mengaktifkan kompresi secara default
ui: terjemahan sebagian lengkap
instal: menggunakan mongodb6 secara default
inti: Kirimkan pengoptimalan kinerja halaman rekaman
hakim: perbarui versi testlib
inti: instal: strip dukungan
ui: Target minimum yang didukung untuk peningkatan adalah chrome65
inti: Mengoptimalkan jumlah pertanyaan yang ditampilkan saat mencari pertanyaan
inti: Memperbaiki masalah ketika catatan penyerahan dengan 0 poin tidak akan ditampilkan dalam peringkat kompetisi Ledo
inti : Memperbaiki penggantian file:// pada soal kompetisi
inti: diskusi: Verifikasi input vnode
inti: hapus opsi koneksi mongo default
ui: nama gema halaman kesalahan
ui: Memperbaiki masalah kesalahan koneksi WebSocket lintas domain saat tidak masuk
inti: Memperbaiki masalah duplikasi pinnedDomains yang disebabkan oleh penghapusan domain
migrasi: hustoj: Menangani masalah tidak adanya kolom sumber di pertanyaan sistem versi lama
bermigrasi: memperbaiki skrip migrasi UOJ
ui: memperbaiki komponen reaksi
inti: periksa referensi
inti: memperbaiki distribusi balon
Perbaikan bug dan optimalisasi kinerja lainnya
inti: Memperbaiki masalah pengaturan kesulitan yang tidak normal saat membuat pertanyaan
inti: mengoptimalkan indeks dokumen
core&ui: fungsi balon kompetisi
inti&ui: klarifikasi
inti: memperbaiki webauthn
impor: tambahkan dukungan HOJ
juri: batas ruang alamat (beta)
install: mendukung penggunaan variabel lingkungan untuk menentukan area instalasi
ui: memperbaiki kesalahan pengguna tidak ada saat masuk
inti: memperbaiki pengalihan login
inti: memperbaiki batas kecepatan pengiriman email yang lupa kata sandi
inti: Perbaiki diskusi kompetisi
ui: Memperbaiki pemilihan label sub-algoritma pada halaman pengeditan pertanyaan
utils: memperbaiki pengenalan titik tes input1.txt
inti: Kirim daftar: nonaktifkan push langsung saat tidak ada di halaman pertama
hakim: mengoptimalkan pengenalan kode keluar
inti: Memperbaiki sidebar halaman pengiriman pertanyaan kompetisi
fps-importir: memperbaiki pengenalan bidang remote_oj
ui: Memperbaiki penerusan cookie saat menggunakan socketUrl independen
vjudge: Perbarui perayapan topik csgoj
vjudge: dukungan hduoj
migrasi: hustoj: abaikan gambar yang tidak ada saat mengimpor
inti: oauth: Gunakan OpenID untuk asosiasi akun
inti: mendukung pencarian pengguna berdasarkan nama tampilan mereka
inti: mendukung pencarian pertanyaan berdasarkan kesulitannya
ui: Optimalkan logika pemfilteran tugas kompetisi di beranda
inti: Optimalkan identifikasi titik tes
ui: nonaktifkan pemeriksaan ejaan untuk masukan tes mandiri
ui: IDE Online: Tambahkan halaman pengaturan
inti: Tambahkan informasi kesulitan saat mengekspor pertanyaan
ui: Memperbaiki masalah kesalahan penyelesaian tag penurunan harga dalam kondisi tertentu
import-qduoj: Periksa validitas pid
inti: mengurutkan daftar pekerjaan
ui: memperbaiki tampilan editor diskusi
inti: ekspor fungsi pwsh
vjudge: codeforces: Perbaiki pengecualian perayapan kompetisi 921
inti: memperbaiki skor pertandingan yang ketat
ui: Memperbaiki tampilan daftar pelatihan yang diikuti
inti: nonaktifkan papan skor sebelum pertandingan dimulai
ui: sembunyikan opsi default dan tamu saat menambahkan pengguna ke domain
inti: Izinkan admin memfilter semua grup
ui: memperbaiki pemfilteran bahasa (#598)
ui: memperbaiki reaksi diskusi
vjudge: Memperbaiki perolehan hasil pengiriman Codeforces
inti: Mengoptimalkan fungsi uji mandiri sistem
vjudge: mendukung pengaturan detail (#582)
ui: nonaktifkan putar otomatis video
install: mendukung impor data secara otomatis dari UOJ selama instalasi
ui: Memperbaiki masalah fungsi abnormal Prefix Prefix
inti: Memperbaiki masalah fungsi ekspor kode kompetisi tidak dapat memproses file biner yang dikirimkan oleh pemain
inti: Memperbaiki manajemen kompetisi untuk menampilkan status peringkat partisipasi pengguna
core&ui: mendukung pemfilteran kompetisi/tugas berdasarkan grup
inti: Menampilkan batas waktu kompilasi spj dan informasi detail lainnya
inti&ui: Impor pertanyaan: mendukung penataan ulang nomor pertanyaan
inti: pemuat: tambahkan integrasi git
install: tambahkan contoh instalasi k3s
inti: hanya menggunakan nama file huruf kecil secara default
ui: Abaikan jawaban yang dihafal atas pertanyaan obyektif dalam kompetisi
inti: hapus opsi langs.domain
inti: Memperbaiki masalah kotak surat lama yang masih terisi setelah kotak surat diubah
ui: beberapa perbaikan gaya
ui: Pertanyaan obyektif: mendukung mengingat jawaban yang terakhir dipilih dan menambahkan lompatan pertanyaan cepat
inti: Gunakan $HOME/.hydro untuk menyimpan file sementara
inti: impor: Periksa apakah pid legal saat mengimpor
ui: Tambahkan dukungan tes mandiri bahasa terkait validAs
ui: Memperbaiki tampilan bilah kemajuan game dalam mode waktu fleksibel
inti: Optimalkan impor identifikasi pengguna
ui: ingat ukuran font editor
inti: mendukung pencarian pertanyaan berdasarkan tag
core&ui: Tabel hasil pertandingan dan pemfilteran berbasis grup dukungan pelatihan
juri: tambahkan penanganan prioritas paralel
inti: Tambahkan log operasi untuk operasi pengaturan domain
inti: penyimpanan: hindari karakter seperti -_ saat menyimpan file
inti: Memperbaiki masalah pemfilteran Menunggu penyerahan pada halaman daftar catatan evaluasi tidak berpengaruh
ui: Memperbaiki masalah Layanan Bahasa TypeScript yang bekerja tidak normal
ui: Tambahkan tombol navigasi cepat domain
inti: Tambahkan izin PERM_VIEW_HIDDEN_CONTEST dan PERM_VIEW_HIDDEN_HOMEWORK
ui: optimasi terjemahan
inti: langs: tambahkan opsi validAs
bermigrasi: tambahkan dukungan UOJ
core&ui: perbaikan bug dan pengoptimalan lainnya
ui: pertanyaan obyektif: memungkinkan banyak baris jawaban
inti: Memperbaiki masalah bahwa pinnedDomains tidak dapat diubah
install: Tingkatkan batas default
ui: Optimalkan notifikasi pop-up kompetisi
inti: Memperbaiki perhitungan waktu pada halaman manajemen pemain kompetisi
inti: cli: Hasilkan ID pertanyaan default saat mengekspor pertanyaan
inti: dump: mendukung parameter --dbOnly
inti: impor pengguna: pemeriksaan informasi duplikat
ui: mengubah informasi hak cipta default
inti: mendukung pelatihan berdasarkan peringkat peringkat
ui: templat sedang dimuat ulang secara panas
fps-import: mendukung pemrosesan pertanyaan evaluasi jarak jauh
vjudge: Tambahkan atribut VERDICT.WAITING
ui: Mengoptimalkan identifikasi otomatis data pengujian
vjudge: Tambahkan dukungan pencerahan pemrograman Yitong
ui: Tambahkan problemset/download
kait unduhan
ui: Sembunyikan beberapa kontrol dalam mode cetak
inti: addon buat menggunakan tautan simbolik
ui: Halaman catatan evaluasi menampilkan nomor baris kode
inti: mendukung pengimporan pertanyaan dari folder pertanyaan yang tidak di-zip
inti: tambahkan PRIV_UNLIMITED_ACCESS saat setJudge
inti: Memperbaiki masalah diskusi dalam game yang tidak terhapus dengan game
vjudge: codeforces: Perbarui logika pemeriksaan login
ui: Menampilkan petunjuk di halaman pengiriman pertanyaan
inti: perbarui cache pengguna
inti: Mengakhiri secara paksa koneksi Websocket yang tidak merespons paket detak jantung
inti: Tetapkan tag default untuk pertanyaan yang diimpor
inti: Python2 dinonaktifkan secara default
inti: Mendukung penataan ulang bilah navigasi
ui: Memperbaiki masalah ketika tombol untuk masuk ke mode edit tidak berfungsi dalam beberapa kasus
inti: tambahkan fungsi patch hydrooj
inti: Memungkinkan Anda melihat kiriman Anda sendiri dalam pekerjaan
inti: Perbaikan bug lainnya
inti: memperbaiki masalah tampilan papan skor di bawah strictioi
inti: Izinkan pengguna biasa melihat diskusi game
inti: secara otomatis membuat folder sumber daya statis saat startup
inti: memungkinkan penggunaan modul UI lainnya
hakim: Memperbaiki masalah pengalihan keluaran pertanyaan IO file
inti: tidak lagi menetapkan sessionId ke pengguna Tamu
juri: perbaiki kirimkan pertanyaan jawaban
ui: websocket: tambahkan paket detak jantung
juri: Perbaiki pertanyaan objektif dan ajukan pengajuan pertanyaan IO
hakim: tambahkan opsi kompilasi_waktu_batas
inti: tambahkan preset kotlin dan pypy3
ui: papan skor: mendukung pembaruan otomatis
inti: kontes: Memungkinkan administrator untuk melihat skor secara real-time setelah pemeringkatan ditutup
juri: mendukung pengaturan pembesaran batas waktu dan ruang bahasa berdasarkan topik
install: mendukung impor otomatis data hustoj
install: mendukung penentuan sumber instalasi
inti: mendukung instalasi otomatis plug-in dari npmjs
inti&ui: perbaikan bug
juri: Tetapkan prioritas evaluasi terendah
inti: Memperbaiki masalah di mana daftar penyerahan masih dapat dilihat ketika peringkat ditutup dalam beberapa format kompetisi
inti: Optimalkan otentikasi diskusi
hakim: Mengoptimalkan gema status evaluasi panggilan balik terpadu
hakim: hapus langkah processTestdata
juri: gema skor tugas pertanyaan objektif
inti: meratakan struktur data pengujian
inti: rp: memperbaiki skor pertandingan
core&ui: Memerlukan kata sandi saat menggunakan OAuth untuk pertama kalinya
ui: Pengaturan evaluasi peningkatan UI
install: sesuaikan wtCacheSize sesuai dengan memori sistem
ui: optimasi kecepatan memuat
inti: mendeteksi kasus ID domain
ui: Indeks bidang bilah navigasi
ui: Mendukung pemfilteran pekerjaan/kompetisi berdasarkan grup izin
juri: Setel penerjemah default Javascript ke node
juri: Memperbaiki masalah ketika menghapus pertanyaan yang belum selesai menyebabkan antrian evaluasi terhenti.
inti: tingkatkan ke mongodb@5
ui: Menampilkan skor subtugas dalam rincian evaluasi
inti: Memperbaiki masalah nama file data pengujian dimulai dengan spasi, menyebabkan operasi tidak normal
dev: tingkatkan lingkungan devcontainer
ui: Optimalkan tata letak halaman IDE
ui: Gunakan cordis untuk manajemen siklus hidup (hapus bus lama)
blog: Pindahkan fungsionalitas ke plugin @hydrooj/blog
mandiri
inti: mendukung pengaturan dinamis
juri: mode kinerja (matikan panggilan balik satu titik)
ui: Mendukung pengelola pengaturan untuk pekerjaan
inti: Melepaskan pertanyaan jawaban ke daftar putih bahasa pengiriman
import-qduoj: Memperbaiki masalah ketika tag kosong menyebabkan impor gagal
ui: Menyederhanakan logika serviceworker
ui: Memperbaiki masalah kegagalan mengikuti rencana pelatihan
inti: Sederhanakan daftar bidang pengembalian pengguna
inti&ui: kontes.rule.ioi.strict
Perbaikan bug lainnya dan pengoptimalan pengalaman
inti: memperbaiki tidak ada input tes mandiri
inti: Memperbaiki masalah token tidak valid yang disebabkan oleh nama domain endpointForUser yang tidak konsisten
inti: hapus centang isBinaryFile
inti: perbaiki pengaturan izinkanViewCode
inti: cli: lebih suka mongosh
ruang kerja: Sediakan paket @hydrooj/eslint-config
Perbaikan bug lainnya dan pengoptimalan pengalaman
inti: perbaiki kirimkan pertanyaan jawaban
ui: memperbaiki operasi pengeditan dan penghapusan halaman pekerjaan
vjudge: Menyesuaikan antarmuka baru dengan kekuatan kode
inti: memfilter operasi $set
yang kosong
ui: halaman domain_dashboard menunjukkan pembuat domain
hakim: perbaiki peretasan
inti: Periksa apakah bahasa yang dipilih ada saat mengirimkan
inti: mendukung deteksi masalah yang menyebabkan startup terhenti.
inti: Memperbaiki masalah ketika informasi peringkat tidak dapat ditulis dalam kondisi tertentu
inti: Tambahkan lebih banyak dukungan jenis bidang validator, hapus validator versi lama
inti&ui: mendukung CORS
ui: mendukung pemuatan modul yang lambat
ui: memperbaiki login email
ui: Memperbaiki masalah tampilan pesan dalam situs yang tidak normal
vjudge: luogu: perbaiki login
juri: Memperbaiki masalah ketika beberapa pertanyaan objektif tidak terjawab, sehingga mengakibatkan kesalahan evaluasi.
inti: ConnectionHandler
mendukung @subscribe(event)
util: Memperbaiki masalah pemformatan Message.sendNotification
yang tidak normal
inti: optimasi basis data
inti: Verifikasi avatar pengguna
juri: Lepaskan pengait onDestory dan gunakan yang sekali pakai sebagai gantinya
ui: mengoptimalkan pemuatan sumber daya
core&ui: tambahkan dukungan webauthn
ui: Perbaiki pemungutan suara solusi masalah
ui: Optimalkan tata letak halaman detail kompetisi
ui: Perbaiki tautan catatan ulasan dalam pencarian cepat
inti: Tambahkan dukungan Types.ArrayOf()
ui: memperbaiki penyimpanan pratinjau sidebar
inti: Tambahkan pengaturan CookieDomain
ui: Memperbaiki masalah penyegaran halaman tanpa batas dalam mode pengembang
vjudge: Menyediakan komponen BasicFetcher
inti: cache DomainModel
core&ui: perbaikan bug lainnya
inti: Tambahkan dukungan Ledosai
vjudge: Hapus dependensi terkait dalang
juri: Memperbaiki masalah di mana hasil evaluasi tidak dikembalikan ketika jawaban tidak ditetapkan untuk pertanyaan objektif.
ui: Hapus modul pencarian di sisi kanan beranda secara default
ui: Tambahkan modul unggah avatar di tempat
inti: Izinkan pembuat pertandingan melihat papan skor tersembunyi
inti: Pembahasan diubah menjadi diurutkan berdasarkan waktu pembuatan
ui: Memperbaiki gema pemungutan suara solusi masalah
inti: memperbaiki masalah kesalahan sintesis tautan pengambilan kata sandi
juri: Memperbaiki masalah batas keluaran kompilasi pertanyaan IO file yang terlalu kecil
inti: Memperbaiki masalah ketika %
sebagai kata kunci akan menyebabkan kesalahan dalam pencarian pertanyaan
inti: Memperbaiki masalah modul catatan penyerahan tidak ditampilkan di bawah daftar pertanyaan kompetisi
ui: Memperbaiki masalah ketika beberapa ID preset emotikon di forum diskusi tidak cocok dengan gambar sebenarnya.
install: Setel vm.swappiness=1 secara default untuk meningkatkan kinerja
ui: Izinkan pengguna biasa menelusuri catatan evaluasi halaman demi halaman ketika kondisi kueri ditetapkan.
ui: Tambahkan tombol batalkan skor ke daftar kirim catatan
inti: Memperbaiki masalah log akses yang tidak dapat dicatat dalam kondisi tertentu
ruang kerja: mendukung pnpm
ruang kerja: hapus moka
inti: mendukung pemfilteran menggunakan handler/before/Name#method
hakim: optimalisasi kinerja
ui: Halaman tidak lagi disegarkan ketika mengklik tes ulang di daftar catatan evaluasi
ui: Mendukung pencarian cepat global
inti: daftar_masalah: mendukung parameter batas
inti: Merampingkan daftar simpul diskusi default
inti: validator: Karakter Cina ganda juga dianggap sebagai nama pengguna yang sah
juri: tujuan: mendukung pertanyaan jawaban ganda
inti: problemStat: Abaikan kiriman dengan nilai yang dibatalkan
ui: Memperbaiki pengeditan diskusi Ctrl+Enter tombol pintas
ui: Memperbaiki fungsi topik diskusi penguncian
inti: Optimalkan pengaturan otentikasi pekerjaan
inti: Memperbaiki fungsi larangan daftar
ui: kontes: memungkinkan pengelolaan kontestan secara manual
ui: kontes: mendukung pengingat pesan siaran selama kompetisi
ui: perbaikan bug dan optimalisasi kinerja lainnya
fps: Memperbaiki masalah ketika impor gagal karena file kosong di pertanyaan.
inti: Mendukung alasan tambahan saat melarang pengguna
vjudge: codeforces: lewati pertandingan 1769 dan 1772 yang tidak dapat diakses
UI: Operasi pertanyaan favorit tidak lagi memicu refresh halaman
Inti: Periksa validitas file konfigurasi pertanyaan saat menguji ulang
Inti: Secara otomatis membersihkan file sementara saat keluar
Core: Dilarang digunakan
Impor-Qduoj: Lewati pertanyaan ilegal
Inti: Perbaiki ekspor kode kompetisi untuk mengirimkan pertanyaan jawaban
Hakim: Tambahkan item stdiolimit
ui: perbaiki pesan.flag_alert tampilan
Inti: Pelatihan dapat mengunggah file
UI: Optimalkan Bilah Navigasi Kompetisi
UI: Tabel hasil pertandingan mendukung tim berikut
Inti: Memungkinkan kloning kompetisi/pekerjaan
UI: Tambahkan Fungsi Pintu Masuk ke Halaman Pengeditan Kompetisi
Inti: Kompetisi Bintang Dukungan
Inti: Lewati pengiriman skor yang dibatalkan saat menguji ulang seluruh pertanyaan
Inti: Perbaiki fungsi pencarian pertanyaan berdasarkan ID dalam kompetisi
Hakim: Perbaiki masalah tampilan abnormal pesan kesalahan testlib
Sandbox: Tingkatkan batas stdio default
Inti: Perbaiki masalah pengecualian dalam sejarah diskusi
Core: Optimalkan kecepatan berjalan dari tugas harian
Core: Halaman Detail Pengguna mendukung yang menampilkan kompetisi/penugasan yang baru -baru ini berpartisipasi oleh pengguna.
Hakim: Tambahkan Bash ke Daftar Bahasa Default
Vjudge: Lewati pemuatan dalam mode CLI
LSP: Memperbaiki prompt penyelesaian otomatis, yang mungkin perlu diperbarui secara manual agar berlaku.
Hakim: Optimalkan Output Diff
Instal: Secara default, MongoDB URI digunakan sebagai metode koneksi database
UI: Fallback ke latar belakang default saat latar belakang pengguna gagal memuat
Jalur file diubah menjadi sensitif case.
Plug-in front-end mendukung menggunakan import { ... } from '@hydrooj/ui-default'
untuk memperkenalkan pustaka bawaan.
ctx.inject('Notification')
mendukung memasukkan beberapa baris teks.
Inti: mengoptimalkan kinerja halaman papan skor game
Inti: Dukungan Menentukan grup dan sekolah tempat pengguna berada saat mengimpor pengguna
Core & UI: Perbaikan bug dan optimasi kinerja lainnya
Menambahkan metode UserModel.getListForRender(domainId, uids)
.
Tambahkan properti IHandler.response.pjax
.
Inti: Masalah yang Dihapus. Assign
Core: Memperbaiki masalah di mana kode tidak dapat dilihat jika pertanyaannya masih disembunyikan setelah kompetisi.
UI: Memperbaiki tampilan footer pada browser IE
Hakim: Memperbaiki masalah pemeriksa lemon yang keluar secara tidak normal, menyebabkan skor pertanyaan menjadi 0
UI: Mengoptimalkan Peringatan Kompatibilitas Firefox di Sisi Manajemen
UI: Mengoptimalkan tampilan pertanyaan FPS setelah mengimpornya
UI: Perbaiki masalah IE Browser Display Language Recognition
Instal: Mendeteksi lingkungan pagoda yang terpasang dan lemparkan peringatan ketidakcocokan
UI: Mengoptimalkan beberapa petunjuk kesalahan
Migrasi: Optimalisasi Kinerja
Vjudge: Perbaiki Catatan Codeforces Catatan Pengecualian Merayap Masalah Pengecualian
ProblemModel.getList()
menghapus parameter grup dan bergerak ke depan
cordis
ditingkatkan menjadi 2.6
Memperbaiki masalah di mana halaman rincian ulasan tidak akan segera diperbarui dalam keadaan tertentu
Mengembalikan kesalahan testlib spj ke sisi pengguna
Memperbaiki masalah bahwa file pertanyaan tidak dapat dipratinjau dari sisi administrator
Dukungan Akhir untuk Nodejs <14
UI: API: API Workbench yang diperbarui
Hakim: Hapus r dari variabel lingkungan dan tambahkan deskripsi paket Python
UI: Memodifikasi beberapa tautan yang disarankan
Prom-Client: Rekam Informasi Eventemitter
Inti: Kontes: Dukungan Informasi Kontes Mengekspor ke Format Ghost
Inti: Kontes: Mengoptimalkan perhitungan pengiriman dan umpan dalam kompetisi
Inti: Kontes: Tampilkan Pengajuan Tertunda Saat Daftar Penutupan
Hakim: Memperbaiki masalah di mana pertanyaan objektif tidak diatur dengan jawaban, menyebabkan evaluasi dilewati.
Core: Optimalkan CSRFTOKENERROR DAN DOMAINNOTFOUNDERROR ECHO
Inti: Server: Menangkap Kesalahan Websocket
Core: Validator: Perbaiki masalah pengiriman pesan situs kosong
Perbaikan bug lainnya dan optimasi kinerja
Di halaman Detail Pertanyaan, ScratchPad.store dapat diakses secara publik dari jendela
Caddy diinstal secara otomatis selama instalasi dan mengkonfigurasi proxy terbalik untuk mendengarkan di port 80.
Mendukung menggunakan hydrooj install <src>
dan hydrooj uninstall <name>
untuk mengelola plug-in dengan cepat.
Ditambahkan pelengkapan otomatis untuk pemilihan bahasa di Profil Domain Kelola-> Edit Domain.
Dukungan melihat kode yang Anda kirimkan di bawah format kompetisi OI.
Impor-Qduoj: Mendukung mengimpor pertanyaan SPJ.
FPS-Importer: beradaptasi dengan file FPS versi 1.4.
Perbaikan bug lainnya dan optimasi pengalaman.
Mendukung menggunakan ctx.i18n.load(lang, Record<string, string>)
untuk memuat file terjemahan.
Dukung ctx.withHandlerClass(name, callback)
untuk mendapatkan prototipe kelas.
Prom-Client: Mendukung Klasifikasi Pelaporan Khusus Khusus.
Pindahkan handler.ctx ke handler.context, dan handler.ctx baru adalah plugincontext.
Konten di bawah kerangka kerja/contoh/instal/dalam proyek ini dilisensikan di bawah lisensi MIT dan Anda dapat menggunakannya dengan bebas.
Konten di bawah paket/ UI-default/ dalam proyek ini hanya diizinkan dengan AGPL-3.0.
Sisa proyek menggunakan lisensi ganda:
Anda dapat menggunakan kode ini secara gratis, tunduk pada lisensi AGPL-3.0 dan bagian persyaratan tambahan berikut:
Jika Anda benar -benar membutuhkan sumber tertutup, Anda juga dapat menghubungi kami untuk membeli lisensi lain.
Berdasarkan Pasal 7 Perjanjian AGPL3, Anda harus mematuhi persyaratan tambahan berikut saat menggunakan proyek ini:
Jangan hapus pemberitahuan hak cipta dan atribusi penulis/sumber dari item ini;
Saat mendistribusikan ulang versi yang dimodifikasi dari perangkat lunak ini, perlu ditunjukkan dengan jelas dalam nama perangkat lunak atau nomor versi;
Nama penulis tidak dapat digunakan untuk tujuan publisitas kecuali dengan izin;
Sekarang:
Saat Anda menggunakan Hydro, Anda harus menjaga kata -kata Powered by Hydro
di bagian bawah, dan kata Hydro
perlu menunjuk ke tautan ke salah satu hydro.js.org/本仓库/fork
.
Jika Anda membuat modifikasi/ekstensi ke kode sumber, Powered by Hydro, Modified by xxx
juga perlu bersumber terbuka di bawah AGPL-3.0-atau-Later.
Lihat Kontribusi.MD
Peringkat tanpa urutan tertentu, dalam urutan kamus tautan
GitHub menyediakan hosting kode dan build otomatis untuk Hydro.
Criyle menyediakan implementasi Sandbox ulasan.
Vijos menyediakan kerangka kerja UI untuk hidro.
Yun Dou Academy