Hydro เป็นระบบการประเมินสารสนเทศออนไลน์ที่มีประสิทธิภาพ ติดตั้งง่าย ข้ามแพลตฟอร์ม อเนกประสงค์ ปรับขนาดได้ และมีคำถาม
สำหรับครูที่ไม่คุ้นเคยกับ Linux หรือขี้เกียจเกินกว่าจะใช้งานและบำรุงรักษา เรายังมีเวอร์ชันออนไลน์ฟรีที่พร้อมใช้งานอีกด้วย
สำหรับรายละเอียด ไปที่ https://hydro.ac เพื่อดูคำแนะนำในการใช้งาน
วางคำสั่งการติดตั้งลงในคอนโซลเพื่อการติดตั้งในคลิกเดียว หลังจากการติดตั้ง ผู้ใช้รายแรกที่ลงทะเบียนจะได้รับสิทธิ์ผู้ดูแลระบบขั้นสูงโดยอัตโนมัติ
เข้ากันได้กับการกระจาย Linux กระแสหลัก แนะนำให้ใช้ Debian 12 และรองรับอุปกรณ์ arm64 (Raspberry Pi ฯลฯ)
LANG=zh . <(ขด https://hydro.ac/setup.sh)
เอกสารภาษาจีน/ภาษาอังกฤษ
หากเอกสารที่เกี่ยวข้องมีรายละเอียดไม่เพียงพอ โปรดส่ง Pull Request หรือติดต่อทีมพัฒนาเพื่อขอคำชี้แจง
กรุณาส่งข้อผิดพลาดและข้อเสนอแนะคุณสมบัติในปัญหา
Hydro ได้ออกแบบระบบปลั๊กอินแบบโมดูลาร์ที่สามารถขยายฟังก์ชันการทำงานของระบบได้อย่างง่ายดาย
เมื่อใช้ระบบปลั๊กอิน คุณยังคงสามารถมั่นใจได้ถึงความสามารถในการอัพเกรดของระบบหลังจากแก้ไขฟังก์ชันแล้ว
Hydro เวอร์ชันเก่าทั้งหมดสามารถอัปเกรดเป็นเวอร์ชันล่าสุดได้อย่างราบรื่น
สำหรับแนวทางการใช้งานและการพัฒนาปลั๊กอิน โปรดไปที่บทปลั๊กอินและการพัฒนาเอกสารประกอบ
Hydro รองรับการกระจาย Linux กระแสหลักทั้งหมด เข้ากันได้กับอุปกรณ์สถาปัตยกรรม x86_64 และ arm64 และสามารถติดตั้งได้ด้วยคลิกเดียว
Hydro สามารถทำงานได้ตามปกติบน Raspberry Pi หรือ Apple M1/M2
ใช้ hydrooj backup
เพื่อสำรองข้อมูลระบบทั้งหมด และใช้ hydrooj restore 文件名
เพื่อนำเข้าข้อมูลสำรอง กระบวนการทั้งหมดไม่จำเป็นต้องมีการแทรกแซงด้วยตนเอง
Hydro ให้การสนับสนุนหลายพื้นที่ระบบเดียว ทำให้ง่ายต่อการสร้างพื้นที่อิสระสำหรับชั้นเรียน/เกรด/โรงเรียนที่แตกต่างกัน ฯลฯ
ข้อมูลอื่นที่ไม่ใช่ผู้ใช้ในพื้นที่ที่แตกต่างกันจะถูกแยกตามค่าเริ่มต้น และสามารถมอบหมายผู้ดูแลระบบอิสระได้โดยไม่รบกวนซึ่งกันและกัน
คำถามสามารถคัดลอกข้ามโดเมนและใช้พื้นที่ในระบบได้เพียงพื้นที่เดียวเท่านั้น
สิทธิ์ของ Hydro สามารถกำหนดให้กับผู้ใช้ที่เกี่ยวข้องตามการแข่งขัน/งาน หรือสามารถจัดกลุ่มผู้ใช้ (คลาส) และสิทธิ์สามารถกำหนดตามกลุ่มได้ สำหรับโหนดการอนุญาต คุณสามารถดูภาพหน้าจอด้านล่างบทนำ
ระบบ Hydro นั้นเป็นแบบไร้สถานะ ซึ่งหมายความว่าคุณสามารถเพิ่มหรือลบโหนดบริการได้ตามต้องการ โดยไม่ส่งผลกระทบต่อการทำงานปกติของระบบ คิวการประเมินจะถูกกระจายอย่างเท่าเทียมกันโดยอัตโนมัติระหว่างเครื่องประเมินทั้งหมดที่ออนไลน์อยู่ในปัจจุบัน หลังจากเข้าร่วมกลุ่มสเกลแบบยืดหยุ่นแล้ว สามารถเพิ่มหรือลบเครื่องประเมินผลได้โดยอัตโนมัติตามโหลดของเซิร์ฟเวอร์ แตกต่างจากระบบอื่นๆ Hydro จะจัดการแคชข้อมูลทดสอบระหว่างเซิร์ฟเวอร์ต่างๆ และดึงข้อมูลออกมาตามความต้องการ เพื่อให้เครื่องประเมินผลสามารถใช้งานได้ทันทีหลังจากที่ออนไลน์ โดยไม่ต้องซิงโครไนซ์ข้อมูลด้วยตนเอง
Hydro รองรับคำถามทุกประเภท ไม่ว่าจะเป็นคำถามประเภทดั้งเดิม ผู้พิพากษาพิเศษ ไฟล์อินพุตและเอาท์พุต คำถามในการส่งคำตอบ การโต้ตอบกับ IO การโต้ตอบกับฟังก์ชัน หรือแม้แต่คำถามเติมในช่องว่าง Hydro ก็ให้การสนับสนุนที่เกี่ยวข้อง หลังจากติดตั้งสภาพแวดล้อมการทำงานที่เกี่ยวข้องแล้ว Hydro ยังสามารถดำเนินการ:
เรียกเต่าน้อยมาวาดภาพแล้วเปรียบเทียบกับภาพมาตรฐาน
เรียก GPU เพื่อประเมินโมเดลการเรียนรู้ของเครื่อง
สามารถดูและดาวน์โหลดตัวอย่างเพิ่มเติมได้ในพื้นที่ตัวอย่าง
Hydro รองรับการนำเข้าไฟล์คลังคำถามในรูปแบบทั่วไป รวมถึงรูปแบบ zip ทั่วไปของ Hydro, คำถามรูปแบบ FPS (xml) ที่ส่งออกโดย HUSTOJ และแพ็คเกจบีบอัดที่ส่งออกโดย QDUOJ
คุณสามารถดาวน์โหลดธนาคารคำถามฟรีได้จาก Hydro Question Bank
Hydro ยังรองรับ VJudge ซึ่งหมายความว่าคุณสามารถนำเข้าคำถามจากแพลตฟอร์มอื่นเข้าสู่ระบบได้โดยตรง แก้ไขคำถามและรวมเข้ากับงานมอบหมายหรือการแข่งขันของคุณเองเพื่อสร้างระบบธนาคารคำถามของคุณเองอย่างรวดเร็ว
แพลตฟอร์มที่รองรับในปัจจุบันคือ:
การตรัสรู้การเขียนโปรแกรม Yiyi Tong: ธนาคารคำถามการตรัสรู้การเขียนโปรแกรม Yiyi Tong อย่างเป็นทางการใช้งานได้ฟรี โปรดดูคำแนะนำในการนำเข้าในแพ็คเกจบีบอัด
การประกวดการเขียนโปรแกรมอย่างง่าย: เจ้าหน้าที่จัดเตรียมคลังคำถามสนับสนุน "การประกวดการเขียนโปรแกรม (พื้นฐาน)" ของ Luogu ฟรี โปรดดูคำแนะนำในการนำเข้าในแพ็คเกจบีบอัด
UOJ: OJ ที่รู้จักกันดีในประเทศจีน ซึ่งใช้กันทั่วไปโดยทีมฝึกอบรมระดับชาติ
Codeforces: แพลตฟอร์มการแข่งขันจากต่างประเทศขนาดใหญ่ที่มีคำถามคุณภาพสูงจำนวนมาก
Luogu: หากต้องการใช้ฟังก์ชันนี้ คุณต้องซื้อใบอนุญาตจาก Luogu
HDUOJ: ระบบการประเมินผลออนไลน์ของมหาวิทยาลัยหางโจว Dianzi ซึ่งมีคำถามการฝึกอบรมหลายโรงเรียน
CSGOJ: การแข่งขันระดับมณฑลกวางตุ้งและแพลตฟอร์มการประเมินคำถามการแข่งขันระดับมณฑลหูหนาน
SPOJ: การเชื่อมต่อภายในประเทศไม่เสถียรมาก และไม่แนะนำ
POJ: ค่อนข้างโบราณ ความเสถียรของเซิร์ฟเวอร์ไม่ดี
YACS: แพลตฟอร์มการแข่งขัน Shanghai Computer Society มีการจำกัดการส่งผลงานรายวันสำหรับบัญชีเดียว
HUSTOJ: ในทางทฤษฎีรองรับระบบที่ขับเคลื่อนด้วย HUSTOJ ทั้งหมด แต่เนื่องจากความแตกต่างใน UI ในแต่ละระบบ จึงมักจะต้องมีการปรับเปลี่ยนด้วยตนเอง
Hydro รองรับรูปแบบการแข่งขันที่หลากหลาย รวมถึงรูปแบบการแข่งขัน ACM/ICPC (รองรับการปิดผนึก), รูปแบบการแข่งขัน OI, รูปแบบการแข่งขัน IOI, รูปแบบการแข่งขัน Ledo และฟังก์ชั่นการบ้าน
ภายใต้รูปแบบการแข่งขัน IOI และ OI รองรับฟังก์ชันแก้ไขคำถาม นักเรียนสามารถส่งคำถามที่เกี่ยวข้องในคลังคำถามหลังจบเกม และคะแนนของพวกเขาจะแสดงถัดจากรายการ
ภายใต้รูปแบบการแข่งขัน IOI และ OI รองรับฟังก์ชันเวลาที่ยืดหยุ่น และนักเรียนสามารถเข้าร่วม X ชั่วโมงตามต้องการภายในช่วงเวลาที่กำหนด
การตั้งค่าภาษาของ Hydro ไม่ได้ฮาร์ดโค้ดลงในระบบ แต่เป็นการใช้ไฟล์การกำหนดค่า ตราบใดที่สามารถเขียนคำสั่งการคอมไพล์และรันคำสั่งในภาษาที่เกี่ยวข้องได้ Hydro ก็สามารถตัดสินคำถามได้
อีเมล์: [email protected] โทรเลข @undefemoe
กลุ่มผู้ใช้น้ำ: 1085853538
หมายเหตุ: โปรดอ่าน "ภูมิปัญญาแห่งการถามคำถาม" ก่อนเข้าร่วมกลุ่มผู้ใช้
ในขณะเดียวกันก็อาจมีเนื้อหาบางอย่างในกลุ่มที่ทำให้คุณอึดอัดหรือไม่พอใจ หากคุณมีข้อกังวลเกี่ยวกับเรื่องนี้ โปรดอย่าเข้าร่วมกลุ่ม
core&ui: ScoreboardView API
ชุดเครื่องมือนอกสถานที่: ตัวแก้ไข
หลัก: ปรับการนำเข้ารูปแบบ icpc ให้เหมาะสม
แกนหลัก: เพิ่มตัวเลือก Limit.pretest
หลัก: เพิ่มงาน/บันทึกประสิทธิภาพรายวัน
กรอบงาน: ลบ UiContext และ UserContext ตามค่าเริ่มต้น
หลัก: แก้ไขข้อยกเว้นการแยกวิเคราะห์เมื่อใช้การนำเข้า HTML ในโหมดมาร์กดาวน์
หลัก: อนุญาตให้คัดลอกคำถามที่ยกมา
core&judge: เพิ่มตัวเลือกที่เชื่อถือได้
หลัก: แก้ไขการแยกวิเคราะห์ข้อมูลเมตาของผู้ใช้นำเข้า
หลัก: แก้ไขรูปแบบการตรวจสอบ pid
UI: ปิดการใช้งานการเล่นอัตโนมัติ
แกนหลัก: การเพิ่มประสิทธิภาพรายการคำถาม
core: จำกัดความยาวของชื่อที่แสดง
แกนหลัก: รองรับการปรับขีดจำกัดความยาวโค้ด
หลัก: ปิดการแคชโค้ด IDE ออนไลน์ในงาน
แกนหลัก: API: ตรวจสอบ PERM_VIEW
ผู้ตัดสิน: เพิ่มตัวแปรสภาพแวดล้อม HYDRO_TIME_USAGE และ HYDRO_MEMORY_USAGE
core&ui: รองรับ i18n hot reload
fps-import: เพิ่มประสิทธิภาพการนำเข้ารูปภาพ
UI: รองรับการตั้งค่ามุมโค้งมน
แกนหลัก: รองรับ StorageModel.copy และ StorageModel.exists
แกนหลัก: ProblemModel.list ที่เลิกใช้แล้ว
หลัก: เพิ่มผู้ใช้/นำเข้า/แยกวิเคราะห์ และผู้ใช้/นำเข้า/สร้าง hooks
core: ปิดการใช้งานตัวจัดการ, lib, ประเภทส่วนประกอบสคริปต์
แกนหลัก: อัปเกรดเป็น ts5.6, cordis3.18
recaptcha: ลบ
แกนหลัก: ปรับปรุงประสิทธิภาพงานประจำวันอย่างมาก
แกนหลัก: (บางส่วน) รองรับรูปแบบแพ็คเกจ icpc
แกนหลัก: LimitRate: รองรับรหัสที่กำหนดเอง
หลัก: คำถามเกี่ยวกับรูปแบบอาร์เรย์ที่เลิกใช้แล้ว
แกนหลัก: สำรองข้อมูล: เพิ่มตัวเลือก --withAddons
(ทดสอบ)
แกนหลัก: การเพิ่มประสิทธิภาพเซสชัน
ติดตั้ง: mongodb ฟัง 127.0.0.1 โดยค่าเริ่มต้น
core&ui: แก้ไขข้อบกพร่องอื่นๆ
UI: แก้ไขการแสดงตัวอย่างมาร์กดาวน์
ui: ปรับการแสดงกล่องเข้าสู่ระบบให้เหมาะสมเมื่อปิดใช้งานการเข้าสู่ระบบในตัว
UI: แก้ไขการเปลี่ยนมุมมอง
onlyoffice: รองรับการประมวลผลไฟล์ PDF
ui: markdown รองรับการแสดงหมายเลขบรรทัดโค้ด
UI: รองรับฟังก์ชันริชมีเดียแบบขยาย
UI: รองรับการฝังวิดีโอ Youku
UI: ลบแถบเลื่อนแนวนอนที่ซ้ำซ้อนออกจากส่วนประกอบบางส่วนของหน้า
หลัก: แก้ไขการคำนวณจำนวนคะแนนเสียงสำหรับการแก้ปัญหา
UI: ปรับรูปภาพหน้า 404 ในโหมดมืดให้เหมาะสม
ui: คลิกเพื่อขยายข้อมูลการคอมไพล์
UI: แก้ไขกระดานคะแนนการแข่งขันที่ติดตามผู้ใช้
แกนหลัก: ProblemModel.import: รองรับตัวเลือก delSource
UI: แก้ไขการพุชข้อมูลการทดสอบที่สร้างขึ้นแบบเรียลไทม์
Prom-client: รายงานสถานะไปยังคอนโซล
หลัก: oauth: รองรับชื่อผู้ใช้คงที่
utils: รองรับการค้นหา pm2 ที่ติดตั้งโดย nix
ui: เพิ่มประสิทธิภาพการนำทางคำถามในหน้าการแข่งขัน
UI: ตัวเลือก monacoTheme ที่เลิกใช้แล้ว
ui: โปรแกรมแก้ไข markdown รองรับโหมดมืด
กรอบงาน: ปรับการติดตามสแต็กให้เหมาะสม
core: oplog: เส้นทางการเข้าถึงบันทึก
โยกย้าย: เพิ่มการหมดเวลา
vjudge: แก้ไขปัญหา yacs ที่ทำให้ระบบล่ม
เกี่ยวกับเสียง: รองรับการค้นหาคำถามด้วยรหัสคำถาม
หลัก: แก้ไขปัญหาที่การตั้งค่ากลุ่มดั้งเดิมจะถูกเขียนทับหากมีการรวมกลุ่มไว้เมื่อนำเข้าผู้ใช้
แกนกลาง: แก้ไขคะแนนรั่ว
แกนหลัก: ปรับสแต็กข้อผิดพลาดให้เหมาะสม
หลัก: UserModel.getListForRender: รองรับฟิลด์เพิ่มเติม
แกนหลัก: ProblemModel.import: รวมพารามิเตอร์เข้ากับตัวเลือกการนำเข้า
UI: เปิดใช้งานการเปลี่ยนมุมมอง
หลัก: แก้ไขปัญหาความสามารถในการดูคำถามที่ซ่อนอยู่โดยไม่ได้รับอนุญาต [ความปลอดภัย]
ui: ปรับการแสดงข้อความรายละเอียดบันทึกการส่งให้เหมาะสมที่สุด
UI: รองรับการแคชอวาตาร์
ui: ป้องกันไม่ให้ข้อความแสดงนอกขอบเขต
vjudge: codeforces: ปรับการรับ ID การส่งให้เหมาะสม
ui: ยามถูกปิดใช้งานโดยค่าเริ่มต้น
แกนหลัก: รองรับการซ่อนแถบผู้ใช้ด้านซ้ายการฝึกอบรม
แกนหลัก: cli: รองรับการประเมิน
UI: เพิ่มการรองรับกฎการเก็งกำไรเชิงทดลอง
แกนหลัก: แก้ไขจำนวนผู้เข้าร่วมการฝึกอบรม
กรอบงาน: แก้ไขหน้าส่งคืน 404
ui: ปรับเค้าโครงหน้าการอนุญาตของผู้ใช้ให้เหมาะสม
vjudge: codeforces: ปรับการแสดงผล katex ให้เหมาะสม
core: cli: แก้ไขลำดับการโหลดสคริปต์
ติดตั้ง: การตรวจสอบการอัพเดตเส้นด้ายถูกปิดใช้งานตามค่าเริ่มต้น
หลัก: เพิ่มการประกวด/แก้ไข และการประกวด/เดลฮุก
UI: รองรับการขยายรายละเอียดจุดทดสอบ
หลัก: แก้ไขการแบนระบบการแข่งขัน IOI
หลัก: แก้ไขปัญหาที่ไฟล์แคชจะไม่ถูกลบ
หลัก: แสดงความคืบหน้าเมื่อนำเข้าคำถาม
UI: แก้ไขการกรองแท็กที่มีการเว้นวรรค
a11y: ปรับลำดับผลลัพธ์ของการทดสอบประสิทธิภาพหน้าเว็บให้เหมาะสม
ui: ใช้ตัวแก้ไขมาร์กดาวน์ใหม่
แกนหลัก: ปรับตรรกะกระดานคะแนนให้เหมาะสม
UI: ย้ายแคชไปที่ IndexedDB
แกนหลัก: ถอดความการโยกย้ายเป็นบริการ
ui: ปรับความเข้ากันได้ของเบราว์เซอร์ซาฟารีให้เหมาะสม
แกนหลัก: แก้ไขฟิลด์ผู้ดูแลคำถาม
ผู้ตัดสิน: รองรับการใช้ไฟล์ IO ในการทดสอบล่วงหน้า
vjudge: codeforces: เพิ่มตรวจสอบว่าการส่งสำเร็จหรือไม่
ui: เพิ่มยาม
core&ui: รองรับการแสดงเวอร์ชันคอมไพเลอร์ปัจจุบัน
แกนหลัก: การเพิ่มประสิทธิภาพดัชนีฐานข้อมูล
แกนหลัก: คัดลอกไฟล์โดยใช้ซอฟต์ลิงก์
a11y: เพิ่มเครื่องมือทดสอบประสิทธิภาพ
utils: รองรับการจดจำนามสกุลไฟล์ตัวพิมพ์ใหญ่
ui: ปรับสไตล์เมนูแบบเลื่อนลงให้เหมาะสม
หลัก: ปรับชื่อหน้าให้เหมาะสม
register: รองรับการอ่านซอร์สแมปดั้งเดิมจากไฟล์
UI: แก้ไขการพุชข้อความในไซต์
ui: เพิ่มคำอธิบายหน้าการจัดอันดับ
ui: เพิ่มพรอมต์เพื่อสร้างข้อมูลทดสอบ
กรอบงาน: แยกออกจากคอร์
core: loader: รองรับการสลับหลายโปรไฟล์
UI: แก้ไขการแสดงกลุ่มผู้เล่นบนกระดานคะแนนของเกม
แกนหลัก: คำนวณคะแนนใหม่โดยอัตโนมัติเมื่อรีเซ็ตคะแนนเกม
เวอร์ชันนี้ยังแนะนำการแก้ไข API ปลั๊กอินต่อไปนี้:
ลบ app/load/${category} hook ออก
ลบ ctx.app แล้ว (โปรดใช้ ctx.root)
ลบ ctx.options (โปรดใช้ ctx.root.config)
serializer: ลบพารามิเตอร์ showDisplayName
ลบฟังก์ชัน loader.addScript, loader.addon แล้ว
ลบ Hydro.module.render แล้ว (โปรดใช้ ctx.server.registerRenderer)
ลบ lib/paginate และ lib/rank (โปรดใช้ db.paginate และ db.ranked)
แกนหลัก: ย้ายโมดูล API เข้าสู่บริการ
หลัก: หากการส่งผลงานถูกแฮ็กในระหว่างการแข่งขัน การทดสอบซ้ำโดยรวมจะไม่เกิดขึ้น
หลัก: ย้ายตรรกะของการเพิ่มการจับคู่ pid ลงในการค้นหา
UI: แก้ไข cssFilter
ผู้พิพากษา: บิวด์อิน: รักษาลำดับการโทรกลับ
หลัก: เพิ่มประสิทธิภาพการประมวลผลที่อยู่อีเมล
ui: แสดงความยาวของบันทึกที่ส่ง
โยกย้าย: รองรับการตั้งค่าที่อยู่อีเมลแบบสุ่มเฉพาะสำหรับผู้ใช้ที่ขัดแย้งกัน
core&ui: รองรับการเรียงลำดับอินพุตแฮ็กอัตโนมัติ
ยืดหยุ่น: ปรับการค้นหาแบบคลุมเครือให้เหมาะสม
UI: แก้ไขปัญหาการโหลดคำตอบที่ไม่ถูกต้องสำหรับคำถามแบบปรนัยในคำถามวัตถุประสงค์
หลัก: แก้ไขปุ่มแฮ็ค
หลัก: เพิ่มหน้าสถิติคำถาม
แกนหลัก: แสดงความคืบหน้าของการประเมินในหน้ารายละเอียดบันทึก
หลัก: problems_list: อนุญาตให้ hooks แก้ไขตรรกะการเรียงลำดับ
โยกย้าย: เพิ่มการสนับสนุน poj
core: api: รองรับการสืบค้น rpInfo และ avatarUrl
ui: อนุญาตให้ปิดการใช้งาน timeago
หลัก: แก้ไขปัญหาการยกเลิกคะแนนภายใต้ IOI (เข้มงวด)
UI: เน้นตัวคุณเองและติดตามผู้ใช้ในกระดานคะแนนของเกม
หลัก: แก้ไขการคำนวณจำนวน AC ในรายการการแข่งขัน
แกนหลัก: ปิดใช้งานการส่งการทดสอบตัวเองแบบทดสอบซ้ำ
ui: เพิ่มประสิทธิภาพการแสดงประวัติการแก้ไขการสนทนา
หลัก: ส่งคืน UserContext ปัจจุบันหลังจากเข้าสู่ระบบ/ลงทะเบียน
หลัก: แก้ไขการตรวจสอบ PERM_VIEW_DISPLAYNAME สำหรับการส่งออกกระดานคะแนนของเกม
ui: แก้ไขค่าเริ่มต้นของช่องการเลือก domain_user
UI: แก้ไขคำถามวัตถุประสงค์ในการโหลดคำตอบสุดท้าย
หลัก: ปิดการใช้งาน 2FA โดยอัตโนมัติเมื่อรีเซ็ตรหัสผ่าน
แกนหลัก: นำเข้า: รองรับการนำเข้าวิธีแก้ปัญหาและขั้นตอนมาตรฐานเมื่อนำเข้าแพ็คเกจคำถาม
แกนหลัก: การเพิ่มประสิทธิภาพและการแก้ไขข้อบกพร่อง
แกนหลัก: รองรับการตั้งค่าตัวคูณคะแนนสำหรับคำถามการแข่งขัน (#765)
พื้นที่ทำงาน: อัปเกรดเวอร์ชัน ts เป็น 5.4.3
core: ws: การจัดการข้อยกเว้นการแยกวิเคราะห์ JSON
core: อนุญาตให้อัพโหลดไฟล์ไปยังงาน (#755)
ui: แสดงป้ายกำกับชื่อเรื่องของคำถามการแข่งขันในหน้าการจัดการการแข่งขัน
ผู้ตัดสิน: แก้ไขปัญหาที่คำถามวัตถุประสงค์แสดงผลลัพธ์ที่ผิดปกติในบางกรณี (#770)
UI: ปิดการใช้งานบางแท็กใน mdInline
(#767)
หลัก: เพิ่มภาษา R และรองรับ cpp20
ui: แสดงการใช้เวลาสูงสุดบนหน้าบันทึกการประเมินผล
หลัก: แก้ไขปัญหาที่ผู้ดูแลการแข่งขันไม่สามารถดูรหัสได้ (#764)
ผู้พิพากษา: ให้การเข้าถึง hydrojudge terminal
ผู้พิพากษา (#725)
core: รองรับการโหลดปลั๊กอินจาก /nix/store
หลัก: เพิ่ม hook contest/list
ผู้ตัดสิน: รองรับ vj4
UI: แก้ไขการเลือก testlib ในแผงการตั้งค่าการทดสอบ (#762)
fps-importer: รองรับการตั้งค่าขีดจำกัดขนาด
หลัก: เพิ่มกลุ่มสิทธิ์ PERM_VIEW_RECORD
(#753)
หลัก: แก้ไขปัญหาที่สามารถดูประกาศของเกมได้โดยไม่ต้องเข้าสู่ระบบ (#756)
ui: อนุญาตให้ใช้ปุ่ม Enter เพื่อส่ง 2FA (#752)
แกนหลัก: ปรับรายชื่อผู้เข้าร่วมการฝึกอบรมให้เหมาะสม (#750)
core&ui: การเพิ่มประสิทธิภาพอื่นๆ และการแก้ไขข้อบกพร่อง
แกนหลัก: อัปเกรดเป็น cordis@3
แกนหลัก: เพิ่มประสิทธิภาพการประมวลผล katex
แกนหลัก: เพิ่มมอนิเตอร์/คอลเลกชั่นเบ็ด
ผู้ตัดสิน: การวิเคราะห์การซ่อมแซม
ผู้ตัดสิน: แก้ไขปัญหาการซิงโครไนซ์ข้อมูลการทดสอบที่ไม่ถูกต้องเป็นครั้งแรกบนเครื่องประเมินผลอิสระ
โยกย้าย: ปรับการนำเข้า hustoj ให้เหมาะสม
UI: แก้ไขปัญหาการแสดงผลที่ไม่ถูกต้องของ katex ในบางพื้นที่
หลัก: ปรับเวอร์ชันผลการแข่งขันให้เหมาะสมเพื่อกรองตามกลุ่ม
แกนหลัก: ฉีด -> injectUI
หลัก: แก้ไขหน่วยความจำรั่ว
UI: สนับสนุน /record?nopush=1
ผู้ตัดสิน: แก้ไขข้อมูลการทดสอบที่ไม่ถูกต้องที่ถูกแคช (#726)
ผู้ตัดสิน: อย่าแสดงรายละเอียด RuntimeError
ในระหว่างการแข่งขัน
หลัก: ไฟล์คำถามในการแข่งขันข้ามการตรวจสอบ PERM_VIEW_PROBLEM
ผู้ตัดสิน: การเพิ่มประสิทธิภาพการทำงาน (ขอบคุณ @criyle)
ยูทิลิตี้: dissociation@hydrooj/register
แกนหลัก: ปิดการใช้งานการตรวจสอบหมายเลขจุดทดสอบสำหรับคำถามวัตถุประสงค์
หลัก: สลับ sessionId เมื่อเข้าสู่ระบบ
แกนหลัก: ปรับให้เหมาะสมต้องใช้ hook
หลัก: แก้ไขปัญหาความล้มเหลวในการสร้างผู้ใช้ภายใต้การทำงานพร้อมกันสูง
Prom-client: รองรับการกดไปที่ pushgateway
core&ui: หน้ารายการการประเมินที่ถูกบีบอัดพร้อมการส่งผ่าน
utils: ปรับการระบุจุดทดสอบให้เหมาะสม
ui: ลบฟังก์ชันซีเรียลไลเซอร์
หลัก: เพิ่ม SettingService
fps: รองรับแท็ก [md]
vjudge: codeforces: เพิ่มขีดจำกัดความถี่
โยกย้าย: hustoj: รองรับฟิลด์ remote_oj
หลัก: แก้ไขข้อบกพร่องอื่น ๆ
หลัก: แก้ไขปัญหารหัสสถานะการคืนสินค้าผิดปกติ
หลัก: ประสานพฤติกรรมของหน้าการจัดอันดับ
ติดตั้ง: คอมไพเลอร์ Pascal ไม่ได้ถูกติดตั้งไว้ล่วงหน้าอีกต่อไป
ผู้ตัดสิน: จัดการแพ็คเก็ตการเต้นของหัวใจ
แกนหลัก: ผู้พิพากษา: เพิ่มประสิทธิภาพการจัดสรรงาน
ผู้ตัดสิน: เพิ่มประสิทธิภาพการจัดการแคช
core: Contest_export_ghost: ส่งออกชื่อทีมโดยขึ้นต้นด้วยเครื่องหมายดอกจันเมื่อทีมไม่เข้าร่วมในการจัดอันดับ
UI: แก้ไขการดำเนินการวางโมนาโก
UI: รองรับการวางผู้ใช้/หมายเลขคำถามเป็นชุด
คุณสมบัติใหม่:
core&ui&judge: รองรับการสร้างข้อมูลทดสอบจากหน้าเว็บ
vjudge: เพิ่มการสนับสนุน yacs
แกนหลัก: สนับสนุน/บันทึก?ทั้งหมด=1
core&ui: ซ่อนรายละเอียดจุดทดสอบภายใต้รูปแบบการแข่งขัน ACM
ชุดเครื่องมือนอกสถานที่: รองรับการเข้าสู่ระบบตามที่อยู่ IP
core&ui: รองรับการเปลี่ยนชื่อไฟล์บนหน้าเว็บ
core&judge: อนุญาตให้กระจายงานหลายงานพร้อมกันภายในการเชื่อมต่อเดียว
การเพิ่มประสิทธิภาพและการแก้ไข:
หลัก: ปรับการกรองชื่อไฟล์ให้เหมาะสม
utils: ปรับตรรกะการจับคู่ข้อมูลการทดสอบให้เหมาะสม
ติดตั้ง: แคดดี้เปิดการบีบอัดตามค่าเริ่มต้น
ui: แปลบางส่วนให้สมบูรณ์
ติดตั้ง: ใช้ mongodb6 เป็นค่าเริ่มต้น
แกนหลัก: ส่งการเพิ่มประสิทธิภาพประสิทธิภาพหน้าบันทึก
ผู้ตัดสิน: อัปเดตเวอร์ชัน testlib
แกนหลัก: ติดตั้ง: แถบรองรับ
UI: เป้าหมายขั้นต่ำที่รองรับสำหรับการอัพเกรดคือ chrome65
หลัก: ปรับจำนวนคำถามที่แสดงให้เหมาะสมเมื่อค้นหาคำถาม
หลัก: แก้ไขปัญหาที่บันทึกการส่งผลงานที่มี 0 คะแนนจะไม่แสดงในการจัดอันดับการแข่งขัน Ledo
core: แก้ไขการแทนที่ file:// ในคำถามการแข่งขัน
แกนหลัก: การอภิปราย: ตรวจสอบอินพุต vnode
แกนหลัก: ลบตัวเลือกการเชื่อมต่อ mongo เริ่มต้น
ui: ชื่อเสียงสะท้อนของหน้าข้อผิดพลาด
UI: แก้ไขปัญหาข้อผิดพลาดการเชื่อมต่อ WebSocket ข้ามโดเมนเมื่อไม่ได้เข้าสู่ระบบ
หลัก: แก้ไขปัญหาการซ้ำซ้อนของ pinnedDomains ที่เกิดจากการลบโดเมน
ย้าย: hustoj: จัดการปัญหาการไม่มีฟิลด์ต้นทางในคำถามระบบเวอร์ชันเก่า
โยกย้าย: แก้ไขสคริปต์การโยกย้าย UOJ
UI: แก้ไของค์ประกอบปฏิกิริยา
แกนหลัก: ตรวจสอบผู้อ้างอิง
แกนหลัก: แก้ไขการกระจายบอลลูน
การแก้ไขข้อบกพร่องอื่นๆ และการเพิ่มประสิทธิภาพการทำงาน
แกนหลัก: แก้ไขปัญหาการตั้งค่าความยากผิดปกติเมื่อสร้างคำถาม
หลัก: ปรับดัชนีเอกสารให้เหมาะสม
core&ui: ฟังก์ชั่นบอลลูนการแข่งขัน
core&ui: การชี้แจง
หลัก: แก้ไข webauthn
นำเข้า: เพิ่มการสนับสนุน HOJ
ผู้ตัดสิน: ขีดจำกัดพื้นที่ที่อยู่ (เบต้า)
ติดตั้ง: รองรับการใช้ตัวแปรสภาพแวดล้อมเพื่อระบุพื้นที่การติดตั้ง
UI: แก้ไขผู้ใช้ไม่มีข้อผิดพลาดเมื่อเข้าสู่ระบบ
หลัก: แก้ไขการเปลี่ยนเส้นทางการเข้าสู่ระบบ
หลัก: แก้ไขขีดจำกัดอัตราการส่งอีเมลรหัสผ่านที่ลืม
หลัก: แก้ไขการอภิปรายการแข่งขัน
UI: แก้ไขการเลือกป้ายกำกับอัลกอริธึมย่อยในหน้าแก้ไขคำถาม
utils: แก้ไขการรับรู้จุดทดสอบ input1.txt
core: ส่งรายการ: ปิดการใช้งานการพุชสดเมื่อไม่อยู่ในหน้าแรก
ผู้ตัดสิน: ปรับการรับรู้ exitcode ให้เหมาะสม
หลัก: แก้ไขแถบด้านข้างของหน้าการส่งคำถามการแข่งขัน
fps-importer: แก้ไขการรับรู้ฟิลด์ remote_oj
UI: แก้ไขคุกกี้ที่ถูกส่งผ่านเมื่อใช้ socketUrl อิสระ
vjudge: อัปเดตการรวบรวมข้อมูลหัวข้อ csgoj
vjudge: การสนับสนุน hduoj
ย้าย: hustoj: ละเว้นรูปภาพที่ไม่มีอยู่เมื่อนำเข้า
หลัก: oauth: ใช้ OpenID สำหรับการเชื่อมโยงบัญชี
หลัก: รองรับการค้นหาผู้ใช้ตามชื่อที่แสดง
แกนกลาง: รองรับการค้นหาคำถามตามความยาก
ui: ปรับตรรกะการกรองของงานการแข่งขันในหน้าแรกให้เหมาะสม
แกนหลัก: ปรับการระบุจุดทดสอบให้เหมาะสม
UI: ปิดใช้งานการตรวจสอบการสะกดคำสำหรับอินพุตทดสอบตัวเอง
ui: Online IDE: เพิ่มหน้าการตั้งค่า
หลัก: เพิ่มข้อมูลความยากลำบากเมื่อส่งออกคำถาม
UI: แก้ไขปัญหาข้อผิดพลาดในการเติมแท็กมาร์กดาวน์ให้สมบูรณ์ภายใต้สถานการณ์บางอย่าง
import-qduoj: ตรวจสอบความถูกต้องของ pid
หลัก: เรียงลำดับรายการงาน
ui: แก้ไขการแสดงผลตัวแก้ไขการสนทนา
แกนหลัก: ฟังก์ชันส่งออก pwsh
vjudge: codeforces: แก้ไขข้อยกเว้นการรวบรวมข้อมูลการแข่งขัน 921
แกนหลัก: แก้ไขการให้คะแนนการแข่งขันที่เข้มงวด
UI: แก้ไขการแสดงรายชื่อการฝึกอบรมที่เข้าร่วม
แกนหลัก: ปิดการใช้งานกระดานคะแนนก่อนเริ่มเกม
ui: ซ่อนตัวเลือกเริ่มต้นและแขกเมื่อเพิ่มผู้ใช้ในโดเมน
หลัก: อนุญาตให้ผู้ดูแลระบบกรองทุกกลุ่ม
UI: แก้ไขการกรองภาษา (#598)
UI: แก้ไขปฏิกิริยาการอภิปราย
vjudge: แก้ไขการรับผลการส่ง Codeforces
แกนหลัก: ปรับฟังก์ชันการทดสอบตัวเองของระบบให้เหมาะสม
vjudge: การตั้งค่ารายละเอียดการสนับสนุน (#582)
UI: ปิดการเล่นวิดีโออัตโนมัติ
ติดตั้ง: รองรับการนำเข้าข้อมูลจาก UOJ โดยอัตโนมัติระหว่างการติดตั้ง
UI: แก้ไขปัญหาการทำงานผิดปกติของ Prefix ที่ต้องการ
หลัก: แก้ไขปัญหาที่ฟังก์ชันส่งออกรหัสการแข่งขันไม่สามารถประมวลผลไฟล์ไบนารีที่ส่งโดยผู้เล่นได้
หลัก: แก้ไขการจัดการการแข่งขันเพื่อแสดงสถานะการจัดอันดับการมีส่วนร่วมของผู้ใช้
core&ui: รองรับการกรองการแข่งขัน/การมอบหมายงานตามกลุ่ม
core: แสดงการหมดเวลาการคอมไพล์ spj และข้อมูลรายละเอียดอื่น ๆ
core&ui: นำเข้าคำถาม: รองรับการจัดเรียงหมายเลขคำถามใหม่
core: loader: เพิ่มการรวม git
ติดตั้ง: เพิ่มตัวอย่างการติดตั้ง k3s
core: ใช้เฉพาะชื่อไฟล์ตัวพิมพ์เล็กตามค่าเริ่มต้น
UI: ละเว้นคำตอบที่จดจำสำหรับคำถามที่เป็นกลางในการแข่งขัน
หลัก: ลบตัวเลือก langs.domain
หลัก: แก้ไขปัญหากล่องจดหมายเก่ายังคงครอบครองหลังจากแก้ไขกล่องจดหมาย
UI: แก้ไขสไตล์บางอย่าง
UI: คำถามเชิงวัตถุประสงค์: รองรับการจดจำคำตอบที่เลือกล่าสุดและเพิ่มการข้ามคำถามด่วน
หลัก: ใช้ $HOME/.hydro เพื่อจัดเก็บไฟล์ชั่วคราว
หลัก: นำเข้า: ตรวจสอบว่า pid ถูกกฎหมายหรือไม่เมื่อนำเข้า
UI: เพิ่มการสนับสนุนการทดสอบภาษาที่เกี่ยวข้องกับ validAs
UI: แก้ไขการแสดงแถบความคืบหน้าของเกมในโหมดเวลาที่ยืดหยุ่น
หลัก: ปรับการระบุผู้ใช้การนำเข้าให้เหมาะสม
ui: จำขนาดตัวอักษรของตัวแก้ไข
แกนหลัก: รองรับการค้นหาคำถามด้วยแท็ก
core&ui: ตารางผลลัพธ์การแข่งขันและการกรองตามกลุ่มการสนับสนุนการฝึกอบรม
ผู้ตัดสิน: เพิ่มการจัดการลำดับความสำคัญแบบขนาน
หลัก: เพิ่มบันทึกการดำเนินการสำหรับการดำเนินการตั้งค่าโดเมน
core: storage: หลีกเลี่ยงอักขระเช่น -_ เมื่อบันทึกไฟล์
แกนหลัก: แก้ไขปัญหาที่การกรองการส่งที่รอในหน้ารายการบันทึกการประเมินไม่มีผล
UI: แก้ไขปัญหาบริการภาษา Typescript ทำงานผิดปกติ
UI: เพิ่มสวิตช์การนำทางด่วนของโดเมน
หลัก: เพิ่มสิทธิ์ PERM_VIEW_HIDDEN_CONTEST และ PERM_VIEW_HIDDEN_HOMEWORK
ui: การเพิ่มประสิทธิภาพการแปล
core: langs: เพิ่มตัวเลือก validAs
โยกย้าย: เพิ่มการสนับสนุน UOJ
core&ui: แก้ไขข้อบกพร่องและการเพิ่มประสิทธิภาพอื่นๆ
UI: คำถามเชิงวัตถุประสงค์: อนุญาตให้ตอบได้หลายบรรทัด
หลัก: แก้ไขปัญหาที่ปักหมุดโดเมนไม่สามารถแก้ไขได้
ติดตั้ง: เพิ่มขีดจำกัดเริ่มต้น
ui: เพิ่มประสิทธิภาพการแจ้งเตือนป๊อปอัปการแข่งขัน
หลัก: แก้ไขการคำนวณเวลาในหน้าการจัดการผู้เล่นการแข่งขัน
core: cli: สร้าง ID คำถามเริ่มต้นเมื่อส่งออกคำถาม
core: dump: รองรับพารามิเตอร์ --dbOnly
หลัก: การนำเข้าผู้ใช้: การตรวจสอบข้อมูลที่ซ้ำกัน
ui: เปลี่ยนข้อมูลลิขสิทธิ์เริ่มต้น
แกนหลัก: รองรับการฝึกอบรมตามการจัดอันดับ
ui: เทมเพลตกำลังโหลดซ้ำอย่างรวดเร็ว
fps-import: รองรับการประมวลผลคำถามการประเมินระยะไกล
vjudge: เพิ่มแอตทริบิวต์ VERDICT.WAITING
ui: เพิ่มประสิทธิภาพการระบุข้อมูลการทดสอบโดยอัตโนมัติ
vjudge: เพิ่มการสนับสนุนการตรัสรู้การเขียนโปรแกรม Yitong
UI: เพิ่ม problemset/download
hook
ui: ซ่อนการควบคุมบางอย่างในโหมดการพิมพ์
core: addon สร้างโดยใช้ลิงก์สัญลักษณ์
ui: หน้าบันทึกการประเมินผลจะแสดงหมายเลขบรรทัดโค้ด
แกนหลัก: รองรับการนำเข้าคำถามจากโฟลเดอร์คำถามที่คลายซิป
หลัก: เพิ่ม PRIV_UNLIMITED_ACCESS เมื่อ setJudge
หลัก: แก้ไขปัญหาที่การสนทนาในเกมจะไม่ถูกลบพร้อมกับเกม
vjudge: codeforces: อัปเดตตรรกะการตรวจสอบการเข้าสู่ระบบ
ui: แสดงข้อความแจ้งในหน้าการส่งคำถาม
แกนหลัก: อัปเดตแคชผู้ใช้
แกนหลัก: บังคับให้ยุติการเชื่อมต่อ Websocket ที่ไม่ตอบสนองต่อแพ็กเก็ตฮาร์ทบีท
หลัก: ตั้งค่าแท็กเริ่มต้นสำหรับคำถามที่นำเข้า
หลัก: Python2 ถูกปิดใช้งานโดยค่าเริ่มต้น
แกนหลัก: รองรับการเรียงลำดับแถบนำทางใหม่
UI: แก้ไขปัญหาที่ปุ่มเข้าสู่โหมดแก้ไขไม่มีผลในบางกรณี
แกนหลัก: เพิ่มฟังก์ชันแพทช์ hydrooj
หลัก: ช่วยให้คุณสามารถดูการส่งของคุณเองในงานได้
หลัก: แก้ไขข้อบกพร่องอื่น ๆ
หลัก: แก้ไขปัญหาการแสดงกระดานคะแนนภายใต้เข้มงวด
หลัก: อนุญาตให้ผู้ใช้ทั่วไปสามารถดูการสนทนาของเกมได้
แกนหลัก: สร้างโฟลเดอร์ทรัพยากรคงที่โดยอัตโนมัติเมื่อเริ่มต้น
core: อนุญาตให้ใช้โมดูล UI อื่น ๆ
ผู้ตัดสิน: แก้ไขปัญหาการเปลี่ยนเส้นทางเอาต์พุตคำถามของไฟล์ IO
หลัก: ไม่กำหนด sessionId ให้กับผู้ใช้ Guest อีกต่อไป
ผู้ตัดสิน: แก้ไขการส่งคำตอบคำถาม
ui: websocket: เพิ่มแพ็กเก็ตฮาร์ทบีท
ผู้ตัดสิน: แก้ไขคำถามวัตถุประสงค์และส่งคำถาม IO
ผู้ตัดสิน: เพิ่มตัวเลือก Compile_time_limit
หลัก: เพิ่มค่าที่ตั้งไว้ล่วงหน้า kotlin และ pypy3
UI: ป้ายบอกคะแนน: รองรับการอัปเดตอัตโนมัติ
core: การแข่งขัน: อนุญาตให้ผู้ดูแลระบบดูคะแนนแบบเรียลไทม์หลังจากปิดการจัดอันดับ
ผู้ตัดสิน: รองรับการตั้งเวลาภาษาและพื้นที่จำกัดการขยายตามหัวข้อ
ติดตั้ง: รองรับการนำเข้าข้อมูล hustoj อัตโนมัติ
ติดตั้ง: รองรับการระบุแหล่งการติดตั้ง
core: รองรับการติดตั้งปลั๊กอินอัตโนมัติจาก npmjs
core&ui: แก้ไขข้อผิดพลาด
ผู้ตัดสิน: กำหนดลำดับความสำคัญการประเมินต่ำสุด
หลัก: แก้ไขปัญหาที่ยังสามารถดูรายการส่งผลงานได้เมื่ออันดับปิดในรูปแบบการแข่งขันบางรูปแบบ
หลัก: ปรับการรับรองความถูกต้องของการสนทนาให้เหมาะสม
ผู้ตัดสิน: ปรับสถานะการประเมินการโทรกลับให้เหมาะสมที่สุด
ผู้ตัดสิน: ลบขั้นตอน processTestdata
ผู้ตัดสิน: คำถามวัตถุประสงค์ คะแนนงานสะท้อน
แกนหลัก: ปรับโครงสร้างข้อมูลการทดสอบให้เรียบ
core: rp: แก้ไขคะแนนการแข่งขัน
core&ui: ต้องใช้รหัสผ่านเมื่อใช้ OAuth เป็นครั้งแรก
ui: อัปเกรด UI การตั้งค่าการประเมินผล
ติดตั้ง: ปรับ wtCacheSize ตามหน่วยความจำระบบ
UI: การเพิ่มประสิทธิภาพความเร็วในการโหลด
หลัก: ตรวจจับตัวพิมพ์รหัสโดเมน
ui: ดัชนีฟิลด์แถบนำทาง
UI: รองรับการกรองงาน/การแข่งขันตามกลุ่มสิทธิ์
ผู้ตัดสิน: ตั้งค่าล่ามเริ่มต้นของ Javascript เป็นโหนด
ผู้ตัดสิน: แก้ไขปัญหาที่การลบคำถามที่ยังทำไม่เสร็จทำให้คิวการประเมินค้าง
แกนหลัก: อัปเกรดเป็น mongodb@5
ui: แสดงคะแนนงานย่อยในรายละเอียดการประเมิน
core: แก้ไขปัญหาที่ชื่อไฟล์ข้อมูลทดสอบขึ้นต้นด้วยช่องว่างทำให้เกิดการทำงานที่ผิดปกติ
dev: อัพเกรดสภาพแวดล้อม devcontainer
ui: ปรับเค้าโครงหน้า IDE ให้เหมาะสม
UI: ใช้ Cordis เพื่อจัดการวงจรชีวิต (ลบบัสเก่า)
บล็อก: ย้ายฟังก์ชันการทำงานไปยังปลั๊กอิน @hydrooj/blog
แบบสแตนด์อโลน
แกนหลัก: รองรับการตั้งค่าแบบไดนามิก
ผู้ตัดสิน: โหมดประสิทธิภาพ (ปิดการโทรกลับจุดเดียว)
ui: รองรับการตั้งค่าผู้ดูแลสำหรับงาน
หลัก: ปล่อยคำตอบให้กับรายการภาษาที่อนุญาต
import-qduoj: แก้ไขปัญหาแท็กว่างทำให้การนำเข้าล้มเหลว
UI: ลดความซับซ้อนของตรรกะของพนักงานบริการ
UI: แก้ไขปัญหาความล้มเหลวในการเข้าร่วมแผนการฝึกอบรม
หลัก: ลดความซับซ้อนของรายการฟิลด์ส่งคืนผู้ใช้
core&ui: Contest.rule.ioi.strict
การแก้ไขข้อบกพร่องอื่นๆ และการเพิ่มประสิทธิภาพประสบการณ์
แกนหลัก: แก้ไขไม่มีการทดสอบตัวเองของอินพุต
หลัก: แก้ไขปัญหาโทเค็นที่ไม่ถูกต้องที่เกิดจากชื่อโดเมนที่ไม่สอดคล้องกันของ endpointForUser
หลัก: ลบการตรวจสอบ isBinaryFile
หลัก: แก้ไขการตั้งค่า AllowViewCode
หลัก: cli: ชอบ mongosh
พื้นที่ทำงาน: จัดเตรียมแพ็คเกจ @hydrooj/eslint-config
การแก้ไขข้อบกพร่องอื่นๆ และการเพิ่มประสิทธิภาพประสบการณ์
หลัก: แก้ไขการส่งคำตอบคำถาม
ui: แก้ไขการดำเนินการแก้ไขและลบหน้างาน
vjudge: ปรับ codeforces อินเทอร์เฟซใหม่
แกนหลัก: กรองการดำเนินการ $set
ที่ว่างเปล่า
ui: หน้า domain_dashboard แสดงผู้สร้างโดเมน
ผู้ตัดสิน: แก้ไขแฮ็ค
หลัก: ตรวจสอบว่ามีภาษาที่เลือกอยู่หรือไม่เมื่อส่ง
แกนหลัก: รองรับการตรวจจับปัญหาที่ทำให้การเริ่มต้นระบบค้าง
หลัก: แก้ไขปัญหาที่ไม่สามารถเขียนข้อมูลการให้คะแนนได้ในบางกรณี
หลัก: เพิ่มการสนับสนุนประเภทฟิลด์ตัวตรวจสอบเพิ่มเติม ลบตัวตรวจสอบเวอร์ชันเก่าออก
core&ui: รองรับ CORS
ui: รองรับการโหลดโมดูลแบบ Lazy Loading
ui: แก้ไขการเข้าสู่ระบบอีเมล
UI: แก้ไขปัญหาการแสดงข้อความในไซต์ที่ผิดปกติ
vjudge: luogu: แก้ไขการเข้าสู่ระบบ
ผู้ตัดสิน: แก้ไขปัญหาที่คำถามเชิงวัตถุประสงค์บางข้อไม่ได้รับคำตอบ ส่งผลให้เกิดข้อผิดพลาดในการประเมิน
แกนหลัก: ConnectionHandler
รองรับ @subscribe(event)
util: แก้ไขปัญหาการจัดรูปแบบ Message.sendNotification
ที่ผิดปกติ
แกนหลัก: การเพิ่มประสิทธิภาพฐานข้อมูล
หลัก: ตรวจสอบอวตารของผู้ใช้
ผู้ตัดสิน: ถอดตะขอ onDestory ออกแล้วใช้ของใช้แล้วทิ้งแทน
UI: เพิ่มประสิทธิภาพการโหลดทรัพยากร
core&ui: เพิ่มการสนับสนุน webauthn
UI: แก้ไขปัญหาการโหวตวิธีแก้ปัญหา
ui: ปรับเค้าโครงของหน้ารายละเอียดการแข่งขันให้เหมาะสม
UI: แก้ไขลิงก์บันทึกการตรวจสอบในการค้นหาอย่างรวดเร็ว
หลัก: เพิ่มการสนับสนุน Types.ArrayOf()
UI: แก้ไขการบันทึกการแสดงตัวอย่างแถบด้านข้าง
หลัก: เพิ่มการตั้งค่า CookieDomain
UI: แก้ไขปัญหาการรีเฟรชหน้าไม่สิ้นสุดในโหมด dev
vjudge: จัดเตรียมส่วนประกอบ BasicFetcher
แกนหลัก: แคช DomainModel
core&ui: แก้ไขข้อบกพร่องอื่นๆ
หลัก: เพิ่มการสนับสนุน Ledosai
vjudge: ลบการพึ่งพาที่เกี่ยวข้องกับนักเชิดหุ่นออก
ผู้ตัดสิน: แก้ไขปัญหาที่ผลการประเมินไม่ถูกส่งกลับเมื่อไม่ได้กำหนดคำตอบสำหรับคำถามที่เป็นกลาง
ui: ลบโมดูลการค้นหาทางด้านขวาของหน้าแรกตามค่าเริ่มต้น
UI: เพิ่มโมดูลอัปโหลดอวาตาร์ในไซต์
หลัก: อนุญาตให้ผู้สร้างการแข่งขันสามารถดูกระดานคะแนนที่ซ่อนอยู่
หลัก: การสนทนาเปลี่ยนไปเพื่อจัดเรียงตามเวลาที่สร้าง
UI: แก้ไขปัญหาการลงคะแนนเสียงสะท้อน
หลัก: แก้ไขปัญหาข้อผิดพลาดในการสังเคราะห์ลิงก์การดึงรหัสผ่าน
ผู้ตัดสิน: แก้ไขปัญหาที่ขีดจำกัดเอาต์พุตการรวบรวมคำถามของไฟล์ IO มีขนาดเล็กเกินไป
หลัก: แก้ไขปัญหาที่ %
เป็นคำหลักจะทำให้เกิดข้อผิดพลาดในการค้นหาคำถาม
หลัก: แก้ไขปัญหาที่โมดูลบันทึกการส่งไม่แสดงใต้รายการคำถามการแข่งขัน
UI: แก้ไขปัญหาที่ ID ที่ตั้งไว้ล่วงหน้าของอิโมติคอนบางอันในฟอรัมสนทนาไม่ตรงกับรูปภาพจริง
ติดตั้ง: ตั้งค่า vm.swappiness=1 เป็นค่าเริ่มต้นเพื่อปรับปรุงประสิทธิภาพ
UI: อนุญาตให้ผู้ใช้ทั่วไปเรียกดูบันทึกการประเมินผลทีละหน้าเมื่อมีการตั้งค่าเงื่อนไขการสืบค้น
UI: เพิ่มปุ่มยกเลิกคะแนนไปยังรายการบันทึกการส่ง
หลัก: แก้ไขปัญหาที่ไม่สามารถบันทึกบันทึกการเข้าถึงได้ในบางกรณี
พื้นที่ทำงาน: รองรับ pnpm
พื้นที่ทำงาน: ลบมอคค่า
core: รองรับการกรองโดยใช้ handler/before/Name#method
ผู้ตัดสิน: การเพิ่มประสิทธิภาพการทำงาน
UI: หน้าจะไม่รีเฟรชอีกต่อไปเมื่อคลิกทดสอบซ้ำในรายการบันทึกการประเมินผล
UI: รองรับการค้นหาอย่างรวดเร็วทั่วโลก
core: problems_list: รองรับพารามิเตอร์ขีดจำกัด
แกนหลัก: ปรับปรุงรายการโหนดการอภิปรายเริ่มต้น
core: validator: ตัวอักษรจีนคู่ถือเป็นชื่อผู้ใช้ที่ถูกกฎหมายเช่นกัน
ผู้ตัดสิน: วัตถุประสงค์: รองรับคำถามที่มีคำตอบหลายข้อ
แกนหลัก: problemsStat: ละเว้นการส่งที่มีคะแนนที่ถูกยกเลิก
UI: แก้ไขการแก้ไขการสนทนา Ctrl+Enter ปุ่มทางลัด
UI: แก้ไขฟังก์ชันการล็อกหัวข้อการสนทนา
หลัก: ปรับการตั้งค่าการรับรองความถูกต้องของงานให้เหมาะสม
แกนหลัก: แก้ไขฟังก์ชันการแบนรายการ
ui: การประกวด: อนุญาตให้จัดการผู้เข้าแข่งขันด้วยตนเอง
ui: การแข่งขัน: รองรับการแจ้งเตือนข้อความออกอากาศระหว่างการแข่งขัน
UI: แก้ไขข้อบกพร่องอื่นๆ และเพิ่มประสิทธิภาพการทำงาน
fps: แก้ไขปัญหาการนำเข้าล้มเหลวเนื่องจากไฟล์ว่างในคำถาม
หลัก: รองรับเหตุผลเพิ่มเติมเมื่อแบนผู้ใช้
vjudge: codeforces: ข้ามการแข่งขัน 1769 และ 1772 ที่ไม่สามารถเข้าถึงได้
UI: การดำเนินการคำถามที่ชื่นชอบไม่กระตุ้นการรีเฟรชหน้าอีกต่อไป
หลัก: ตรวจสอบความถูกต้องของไฟล์การกำหนดค่าคำถามเมื่อทำการทดสอบซ้ำ
Core: ทำความสะอาดไฟล์ชั่วคราวโดยอัตโนมัติเมื่อออกจาก
Core: ต้องห้ามใช้เป็นชื่อไฟล์
Import-qduoj: ข้ามคำถามที่ผิดกฎหมาย
หลัก: แก้ไขการส่งออกรหัสการแข่งขันเพื่อส่งคำถามคำตอบ
ผู้พิพากษา: เพิ่มรายการ stdiolimit
ui: แก้ไข message.flag_alert display
หลัก: การฝึกอบรมสามารถอัปโหลดไฟล์ได้
UI: เพิ่มประสิทธิภาพแถบการนำทางการแข่งขัน
UI: การจับคู่ตารางผลลัพธ์รองรับทีมต่อไปนี้
หลัก: อนุญาตให้โคลนนิ่งการแข่งขัน/งาน
UI: เพิ่มฟังก์ชั่นเข้าสู่หน้าแก้ไขการแข่งขัน
CORE: การแข่งขันสนับสนุนดาว
หลัก: ข้ามการส่งคะแนนที่ถูกยกเลิกเมื่อทำการทดสอบคำถามทั้งหมดอีกครั้ง
Core: แก้ไขฟังก์ชั่นของการค้นหาคำถามตาม ID ในการแข่งขัน
ผู้พิพากษา: แก้ไขปัญหาการแสดงข้อความแสดงข้อผิดพลาด testlib ที่ผิดปกติ
Sandbox: เพิ่มขีด จำกัด Stdio เริ่มต้น
หลัก: แก้ไขปัญหาของข้อยกเว้นในประวัติการอภิปราย
CORE: เพิ่มประสิทธิภาพความเร็วในการทำงานประจำวัน
Core: หน้ารายละเอียดผู้ใช้รองรับการแสดงการแข่งขัน/การมอบหมายที่ผู้ใช้ได้เข้าร่วมเมื่อเร็ว ๆ นี้
ผู้พิพากษา: เพิ่ม Bash ไปยังรายการภาษาเริ่มต้น
vjudge: ข้ามการโหลดในโหมด CLI
LSP: แก้ไขพรอมต์เสร็จสิ้นอัตโนมัติซึ่งอาจต้องได้รับการปรับปรุงด้วยตนเองเพื่อให้มีผล
ผู้พิพากษา: เพิ่มประสิทธิภาพการส่งออก Diff
ติดตั้ง: โดยค่าเริ่มต้น MongoDB URI ใช้เป็นวิธีการเชื่อมต่อฐานข้อมูล
UI: ย้อนกลับไปยังพื้นหลังเริ่มต้นเมื่อพื้นหลังของผู้ใช้ไม่สามารถโหลดได้
พา ธ ไฟล์ถูกเปลี่ยนเป็นตัวพิมพ์ใหญ่
ปลั๊กอิน front-end รองรับโดยใช้ import { ... } from '@hydrooj/ui-default'
เพื่อแนะนำไลบรารีในตัว
ctx.inject('Notification')
รองรับการแทรกข้อความหลายบรรทัด
CORE: ปรับประสิทธิภาพของหน้ากระดานคะแนนเกมให้เหมาะสม
หลัก: สนับสนุนการระบุกลุ่มและโรงเรียนที่ผู้ใช้เป็นของเมื่อนำเข้าผู้ใช้
Core & UI: การแก้ไขข้อผิดพลาดอื่น ๆ และการเพิ่มประสิทธิภาพประสิทธิภาพ
เพิ่มวิธี UserModel.getListForRender(domainId, uids)
เพิ่มคุณสมบัติ IHandler.response.pjax
หลัก: ลบปัญหา
CORE: แก้ไขปัญหาที่ไม่สามารถดูรหัสได้หากคำถามยังคงซ่อนอยู่หลังจากการแข่งขัน
UI: แก้ไขการแสดงส่วนท้ายบนเบราว์เซอร์ IE
ผู้พิพากษา: แก้ไขปัญหาของการตรวจสอบมะนาวออกอย่างผิดปกติทำให้คะแนนคำถามเป็น 0
UI: เพิ่มประสิทธิภาพคำเตือนความเข้ากันได้ของ Firefox ในด้านการจัดการ
UI: เพิ่มประสิทธิภาพการแสดงคำถาม FPS หลังจากนำเข้า
UI: แก้ไขปัญหาของ IE Browser Display Language Recognition
ติดตั้ง: ตรวจจับสภาพแวดล้อมของเจดีย์ที่ติดตั้งและส่งคำเตือนที่เข้ากันไม่ได้
UI: เพิ่มประสิทธิภาพการแจ้งข้อผิดพลาดบางอย่าง
โยกย้าย: การเพิ่มประสิทธิภาพประสิทธิภาพ
VJudge: แก้ไขปัญหาการส่งรหัสการส่งข้อมูลการรวบรวมข้อมูลข้อยกเว้นการรวบรวมข้อมูล
ProblemModel.getList()
ลบพารามิเตอร์กลุ่มและย้ายพารามิเตอร์ที่ตามมาไปข้างหน้า
cordis
อัปเกรดเป็น 2.6
แก้ไขปัญหาที่หน้ารายละเอียดการตรวจสอบจะไม่อัปเดตทันทีภายใต้สถานการณ์บางอย่าง
ส่งคืนข้อผิดพลาด testlib spj ไปทางด้านผู้ใช้
แก้ไขปัญหาที่ไฟล์คำถามไม่สามารถดูตัวอย่างได้จากด้านผู้ดูแลระบบ
การสนับสนุนสิ้นสุดสำหรับ nodejs <14
UI: API: API Workbench ที่อัปเดต
ผู้พิพากษา: ลบ r ออกจากตัวแปรสภาพแวดล้อมและเพิ่มแพ็คเกจ Python คำอธิบาย
UI: แก้ไขลิงก์ที่แนะนำบางส่วน
Prom-client: บันทึกข้อมูลเหตุการณ์
หลัก: การประกวด: สนับสนุนข้อมูลการประกวดส่งออกไปยังรูปแบบผี
หลัก: การประกวด: เพิ่มประสิทธิภาพการคำนวณการส่งและผ่านในการแข่งขัน
CORE: การประกวด: แสดงผลที่รอดำเนินการเมื่อปิดรายการ
ผู้พิพากษา: แก้ไขปัญหาที่ไม่มีการตั้งคำถามวัตถุประสงค์ด้วยคำตอบทำให้การประเมินผลถูกข้าม
หลัก: เพิ่มประสิทธิภาพ csrftokenerror และ domainnotfounderror echo
CORE: เซิร์ฟเวอร์: การจับข้อผิดพลาด WebSocket
Core: Validator: แก้ไขปัญหาการส่งข้อความไซต์ว่างเปล่า
การแก้ไขข้อผิดพลาดอื่น ๆ และการเพิ่มประสิทธิภาพประสิทธิภาพ
ในหน้ารายละเอียดคำถาม Scratchpad.store สามารถเข้าถึงได้จากหน้าต่างจากหน้าต่าง
แคดดี้ติดตั้งโดยอัตโนมัติระหว่างการติดตั้งและกำหนดค่าพร็อกซีย้อนกลับเพื่อฟังบนพอร์ต 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: รองรับการจำแนกการรายงานการเชื่อมต่อที่กำหนดเอง
ย้าย handler.ctx ไปยัง handler.context และ handler.ctx ใหม่คือ plugincontext
เนื้อหาภายใต้เฟรมเวิร์ก/ตัวอย่าง/การติดตั้ง/ในโครงการนี้ได้รับอนุญาตภายใต้ใบอนุญาต MIT และคุณสามารถใช้งานได้อย่างอิสระ
เนื้อหาภายใต้แพ็คเกจ/ UI-DEFAULT/ ในโครงการนี้ได้รับอนุญาตเฉพาะ AGPL-3.0
ส่วนที่เหลือของโครงการใช้ใบอนุญาตคู่:
คุณสามารถใช้รหัสนี้ได้ฟรีภายใต้ใบอนุญาต AGPL-3.0 และส่วนข้อกำหนดเพิ่มเติมต่อไปนี้:
หากคุณต้องการแหล่งปิดจริงๆคุณสามารถติดต่อเราเพื่อซื้อใบอนุญาตอื่น ๆ
ตามข้อ 7 ของข้อตกลง AGPL3 คุณต้องปฏิบัติตามข้อกำหนดเพิ่มเติมต่อไปนี้เมื่อใช้โครงการนี้:
อย่าลบประกาศลิขสิทธิ์และการระบุแหล่งที่มาของผู้แต่ง/แหล่งที่มาของรายการนี้ (AGPL3 7 (b))
เมื่อแจกจ่ายซอฟต์แวร์รุ่นที่แก้ไขแล้วจะต้องระบุไว้อย่างชัดเจนในชื่อซอฟต์แวร์หรือหมายเลขเวอร์ชัน (AGPL3 7 (c))
ชื่อของผู้เขียนไม่สามารถใช้เพื่อการประชาสัมพันธ์ยกเว้นได้รับอนุญาต;
ตอนนี้:
เมื่อคุณปรับใช้ไฮโดรคุณจะต้องเก็บคำ Powered by Hydro
ที่ด้านล่างและคำว่า Hydro
จำเป็นต้องชี้ไปที่ลิงค์ไปยังหนึ่งใน hydro.js.org/本仓库/fork
หากคุณทำการดัดแปลง/ขยายไปยังซอร์สโค้ดมันจะต้องเปิดแหล่งที่มาภายใต้ Powered by Hydro, Modified by xxx
-3.0-or-Later
อ้างถึงการสนับสนุน. md
การจัดอันดับในลำดับที่ไม่เฉพาะตามลำดับพจนานุกรมของลิงก์
GitHub จัดเตรียมการโฮสติ้งรหัสและการสร้างอัตโนมัติสำหรับไฮโดร
Criyle ให้การตรวจสอบการใช้งาน Sandbox
Vijos จัดเตรียมกรอบ UI สำหรับ Hydro
Yun Dou Academy