Compare commits
	
		
			5 Commits
		
	
	
		
			20250531
			...
			0302902f84
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 0302902f84 | |||
| 8a4b3a4db6 | |||
| 8bce9ca9b7 | |||
| 5574037b73 | |||
| d1ca9aee39 | 
							
								
								
									
										4
									
								
								virtweb_backend/Cargo.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										4
									
								
								virtweb_backend/Cargo.lock
									
									
									
										generated
									
									
									
								
							| @@ -3413,9 +3413,9 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "tokio" | ||||
| version = "1.45.0" | ||||
| version = "1.45.1" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "2513ca694ef9ede0fb23fe71a4ee4107cb102b9dc1930f6d0fd77aae068ae165" | ||||
| checksum = "75ef51a33ef1da925cea3e4eb122833cb377c61439ca401b770f54902b806779" | ||||
| dependencies = [ | ||||
|  "backtrace", | ||||
|  "bytes", | ||||
|   | ||||
| @@ -36,7 +36,7 @@ lazy-regex = "3.4.1" | ||||
| thiserror = "2.0.12" | ||||
| image = "0.25.6" | ||||
| rand = "0.9.1" | ||||
| tokio = { version = "1.45.0", features = ["rt", "time", "macros"] } | ||||
| tokio = { version = "1.45.1", features = ["rt", "time", "macros"] } | ||||
| futures = "0.3.31" | ||||
| ipnetwork = { version = "0.21.1", features = ["serde"] } | ||||
| num = "0.4.3" | ||||
|   | ||||
| @@ -183,7 +183,13 @@ impl DiskFileInfo { | ||||
|             // Convert QCow2 to Raw file | ||||
|             (DiskFileFormat::QCow2 { .. }, DiskFileFormat::Raw { is_sparse }) => { | ||||
|                 let mut cmd = Command::new(constants::QEMU_IMAGE_PROGRAM); | ||||
|                 cmd.arg("convert").arg(&self.file_path).arg(&temp_file); | ||||
|                 cmd.arg("convert") | ||||
|                     .arg("-f") | ||||
|                     .arg("qcow2") | ||||
|                     .arg("-O") | ||||
|                     .arg("raw") | ||||
|                     .arg(&self.file_path) | ||||
|                     .arg(&temp_file); | ||||
|  | ||||
|                 if !is_sparse { | ||||
|                     cmd.args(["-S", "0"]); | ||||
| @@ -197,6 +203,8 @@ impl DiskFileInfo { | ||||
|             (DiskFileFormat::QCow2 { .. }, DiskFileFormat::QCow2 { .. }) => { | ||||
|                 let mut cmd = Command::new(constants::QEMU_IMAGE_PROGRAM); | ||||
|                 cmd.arg("convert") | ||||
|                     .arg("-f") | ||||
|                     .arg("qcow2") | ||||
|                     .arg("-O") | ||||
|                     .arg("qcow2") | ||||
|                     .arg(&self.file_path) | ||||
| @@ -207,7 +215,13 @@ impl DiskFileInfo { | ||||
|             // Convert Raw to QCow2 file | ||||
|             (DiskFileFormat::Raw { .. }, DiskFileFormat::QCow2 { .. }) => { | ||||
|                 let mut cmd = Command::new(constants::QEMU_IMAGE_PROGRAM); | ||||
|                 cmd.arg("convert").arg(&self.file_path).arg(&temp_file); | ||||
|                 cmd.arg("convert") | ||||
|                     .arg("-f") | ||||
|                     .arg("raw") | ||||
|                     .arg("-O") | ||||
|                     .arg("qcow2") | ||||
|                     .arg(&self.file_path) | ||||
|                     .arg(&temp_file); | ||||
|  | ||||
|                 cmd | ||||
|             } | ||||
|   | ||||
							
								
								
									
										86
									
								
								virtweb_frontend/package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										86
									
								
								virtweb_frontend/package-lock.json
									
									
									
										generated
									
									
									
								
							| @@ -13,8 +13,8 @@ | ||||
|         "@fontsource/roboto": "^5.2.5", | ||||
|         "@mdi/js": "^7.4.47", | ||||
|         "@mdi/react": "^1.6.1", | ||||
|         "@mui/icons-material": "^7.1.0", | ||||
|         "@mui/material": "^7.1.0", | ||||
|         "@mui/icons-material": "^7.1.1", | ||||
|         "@mui/material": "^7.1.1", | ||||
|         "@mui/x-charts": "^8.3.1", | ||||
|         "@mui/x-data-grid": "^8.3.1", | ||||
|         "date-and-time": "^3.6.0", | ||||
| @@ -32,14 +32,14 @@ | ||||
|         "@eslint/js": "^9.27.0", | ||||
|         "@types/humanize-duration": "^3.27.4", | ||||
|         "@types/jest": "^29.5.14", | ||||
|         "@types/react": "^19.1.5", | ||||
|         "@types/react": "^19.1.6", | ||||
|         "@types/react-dom": "^19.1.5", | ||||
|         "@types/react-syntax-highlighter": "^15.5.13", | ||||
|         "@types/uuid": "^10.0.0", | ||||
|         "@vitejs/plugin-react": "^4.4.1", | ||||
|         "eslint": "^9.27.0", | ||||
|         "eslint-plugin-react-dom": "^1.49.0", | ||||
|         "eslint-plugin-react-hooks": "^5.1.0", | ||||
|         "eslint-plugin-react-hooks": "^5.2.0", | ||||
|         "eslint-plugin-react-refresh": "^0.4.20", | ||||
|         "eslint-plugin-react-x": "^1.49.0", | ||||
|         "globals": "^16.1.0", | ||||
| @@ -959,9 +959,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@mui/core-downloads-tracker": { | ||||
|       "version": "7.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-7.1.0.tgz", | ||||
|       "integrity": "sha512-E0OqhZv548Qdc0PwWhLVA2zmjJZSTvaL4ZhoswmI8NJEC1tpW2js6LLP827jrW9MEiXYdz3QS6+hask83w74yQ==", | ||||
|       "version": "7.1.1", | ||||
|       "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-7.1.1.tgz", | ||||
|       "integrity": "sha512-yBckQs4aQ8mqukLnPC6ivIRv6guhaXi8snVl00VtyojBbm+l6VbVhyTSZ68Abcx7Ah8B+GZhrB7BOli+e+9LkQ==", | ||||
|       "license": "MIT", | ||||
|       "funding": { | ||||
|         "type": "opencollective", | ||||
| @@ -969,9 +969,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@mui/icons-material": { | ||||
|       "version": "7.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-7.1.0.tgz", | ||||
|       "integrity": "sha512-1mUPMAZ+Qk3jfgL5ftRR06ATH/Esi0izHl1z56H+df6cwIlCWG66RXciUqeJCttbOXOQ5y2DCjLZI/4t3Yg3LA==", | ||||
|       "version": "7.1.1", | ||||
|       "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-7.1.1.tgz", | ||||
|       "integrity": "sha512-X37+Yc8QpEnl0sYmz+WcLFy2dWgNRzbswDzLPXG7QU1XDVlP5TPp1HXjdmCupOWLL/I9m1fyhcyZl8/HPpp/Cg==", | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "@babel/runtime": "^7.27.1" | ||||
| @@ -984,7 +984,7 @@ | ||||
|         "url": "https://opencollective.com/mui-org" | ||||
|       }, | ||||
|       "peerDependencies": { | ||||
|         "@mui/material": "^7.1.0", | ||||
|         "@mui/material": "^7.1.1", | ||||
|         "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", | ||||
|         "react": "^17.0.0 || ^18.0.0 || ^19.0.0" | ||||
|       }, | ||||
| @@ -995,16 +995,16 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@mui/material": { | ||||
|       "version": "7.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/@mui/material/-/material-7.1.0.tgz", | ||||
|       "integrity": "sha512-ahUJdrhEv+mCp4XHW+tHIEYzZMSRLg8z4AjUOsj44QpD1ZaMxQoVOG2xiHvLFdcsIPbgSRx1bg1eQSheHBgvtg==", | ||||
|       "version": "7.1.1", | ||||
|       "resolved": "https://registry.npmjs.org/@mui/material/-/material-7.1.1.tgz", | ||||
|       "integrity": "sha512-mTpdmdZCaHCGOH3SrYM41+XKvNL0iQfM9KlYgpSjgadXx/fEKhhvOktxm8++Xw6FFeOHoOiV+lzOI8X1rsv71A==", | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "@babel/runtime": "^7.27.1", | ||||
|         "@mui/core-downloads-tracker": "^7.1.0", | ||||
|         "@mui/system": "^7.1.0", | ||||
|         "@mui/types": "^7.4.2", | ||||
|         "@mui/utils": "^7.1.0", | ||||
|         "@mui/core-downloads-tracker": "^7.1.1", | ||||
|         "@mui/system": "^7.1.1", | ||||
|         "@mui/types": "^7.4.3", | ||||
|         "@mui/utils": "^7.1.1", | ||||
|         "@popperjs/core": "^2.11.8", | ||||
|         "@types/react-transition-group": "^4.4.12", | ||||
|         "clsx": "^2.1.1", | ||||
| @@ -1023,7 +1023,7 @@ | ||||
|       "peerDependencies": { | ||||
|         "@emotion/react": "^11.5.0", | ||||
|         "@emotion/styled": "^11.3.0", | ||||
|         "@mui/material-pigment-css": "^7.1.0", | ||||
|         "@mui/material-pigment-css": "^7.1.1", | ||||
|         "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", | ||||
|         "react": "^17.0.0 || ^18.0.0 || ^19.0.0", | ||||
|         "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" | ||||
| @@ -1044,13 +1044,13 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@mui/private-theming": { | ||||
|       "version": "7.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-7.1.0.tgz", | ||||
|       "integrity": "sha512-4Kck4jxhqF6YxNwJdSae1WgDfXVg0lIH6JVJ7gtuFfuKcQCgomJxPvUEOySTFRPz1IZzwz5OAcToskRdffElDA==", | ||||
|       "version": "7.1.1", | ||||
|       "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-7.1.1.tgz", | ||||
|       "integrity": "sha512-M8NbLUx+armk2ZuaxBkkMk11ultnWmrPlN0Xe3jUEaBChg/mcxa5HWIWS1EE4DF36WRACaAHVAvyekWlDQf0PQ==", | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "@babel/runtime": "^7.27.1", | ||||
|         "@mui/utils": "^7.1.0", | ||||
|         "@mui/utils": "^7.1.1", | ||||
|         "prop-types": "^15.8.1" | ||||
|       }, | ||||
|       "engines": { | ||||
| @@ -1071,9 +1071,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@mui/styled-engine": { | ||||
|       "version": "7.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-7.1.0.tgz", | ||||
|       "integrity": "sha512-m0mJ0c6iRC+f9hMeRe0W7zZX1wme3oUX0+XTVHjPG7DJz6OdQ6K/ggEOq7ZdwilcpdsDUwwMfOmvO71qDkYd2w==", | ||||
|       "version": "7.1.1", | ||||
|       "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-7.1.1.tgz", | ||||
|       "integrity": "sha512-R2wpzmSN127j26HrCPYVQ53vvMcT5DaKLoWkrfwUYq3cYytL6TQrCH8JBH3z79B6g4nMZZVoaXrxO757AlShaw==", | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "@babel/runtime": "^7.27.1", | ||||
| @@ -1105,16 +1105,16 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@mui/system": { | ||||
|       "version": "7.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/@mui/system/-/system-7.1.0.tgz", | ||||
|       "integrity": "sha512-iedAWgRJMCxeMHvkEhsDlbvkK+qKf9me6ofsf7twk/jfT4P1ImVf7Rwb5VubEA0sikrVL+1SkoZM41M4+LNAVA==", | ||||
|       "version": "7.1.1", | ||||
|       "resolved": "https://registry.npmjs.org/@mui/system/-/system-7.1.1.tgz", | ||||
|       "integrity": "sha512-Kj1uhiqnj4Zo7PDjAOghtXJtNABunWvhcRU0O7RQJ7WOxeynoH6wXPcilphV8QTFtkKaip8EiNJRiCD+B3eROA==", | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "@babel/runtime": "^7.27.1", | ||||
|         "@mui/private-theming": "^7.1.0", | ||||
|         "@mui/styled-engine": "^7.1.0", | ||||
|         "@mui/types": "^7.4.2", | ||||
|         "@mui/utils": "^7.1.0", | ||||
|         "@mui/private-theming": "^7.1.1", | ||||
|         "@mui/styled-engine": "^7.1.1", | ||||
|         "@mui/types": "^7.4.3", | ||||
|         "@mui/utils": "^7.1.1", | ||||
|         "clsx": "^2.1.1", | ||||
|         "csstype": "^3.1.3", | ||||
|         "prop-types": "^15.8.1" | ||||
| @@ -1145,9 +1145,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@mui/types": { | ||||
|       "version": "7.4.2", | ||||
|       "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.4.2.tgz", | ||||
|       "integrity": "sha512-edRc5JcLPsrlNFYyTPxds+d5oUovuUxnnDtpJUbP6WMeV4+6eaX/mqai1ZIWT62lCOe0nlrON0s9HDiv5en5bA==", | ||||
|       "version": "7.4.3", | ||||
|       "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.4.3.tgz", | ||||
|       "integrity": "sha512-2UCEiK29vtiZTeLdS2d4GndBKacVyxGvReznGXGr+CzW/YhjIX+OHUdCIczZjzcRAgKBGmE9zCIgoV9FleuyRQ==", | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "@babel/runtime": "^7.27.1" | ||||
| @@ -1162,13 +1162,13 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@mui/utils": { | ||||
|       "version": "7.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-7.1.0.tgz", | ||||
|       "integrity": "sha512-/OM3S8kSHHmWNOP+NH9xEtpYSG10upXeQ0wLZnfDgmgadTAk5F4MQfFLyZ5FCRJENB3eRzltMmaNl6UtDnPovw==", | ||||
|       "version": "7.1.1", | ||||
|       "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-7.1.1.tgz", | ||||
|       "integrity": "sha512-BkOt2q7MBYl7pweY2JWwfrlahhp+uGLR8S+EhiyRaofeRYUWL2YKbSGQvN4hgSN1i8poN0PaUiii1kEMrchvzg==", | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "@babel/runtime": "^7.27.1", | ||||
|         "@mui/types": "^7.4.2", | ||||
|         "@mui/types": "^7.4.3", | ||||
|         "@types/prop-types": "^15.7.14", | ||||
|         "clsx": "^2.1.1", | ||||
|         "prop-types": "^15.8.1", | ||||
| @@ -1598,9 +1598,9 @@ | ||||
|       "license": "MIT" | ||||
|     }, | ||||
|     "node_modules/@types/react": { | ||||
|       "version": "19.1.5", | ||||
|       "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.5.tgz", | ||||
|       "integrity": "sha512-piErsCVVbpMMT2r7wbawdZsq4xMvIAhQuac2gedQHysu1TZYEigE6pnFfgZT+/jQnrRuF5r+SHzuehFjfRjr4g==", | ||||
|       "version": "19.1.6", | ||||
|       "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.6.tgz", | ||||
|       "integrity": "sha512-JeG0rEWak0N6Itr6QUx+X60uQmN+5t3j9r/OVDtWzFXKaj6kD1BwJzOksD0FF6iWxZlbE1kB0q9vtnU2ekqa1Q==", | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "csstype": "^3.0.2" | ||||
|   | ||||
| @@ -15,8 +15,8 @@ | ||||
|     "@fontsource/roboto": "^5.2.5", | ||||
|     "@mdi/js": "^7.4.47", | ||||
|     "@mdi/react": "^1.6.1", | ||||
|     "@mui/icons-material": "^7.1.0", | ||||
|     "@mui/material": "^7.1.0", | ||||
|     "@mui/icons-material": "^7.1.1", | ||||
|     "@mui/material": "^7.1.1", | ||||
|     "@mui/x-charts": "^8.3.1", | ||||
|     "@mui/x-data-grid": "^8.3.1", | ||||
|     "date-and-time": "^3.6.0", | ||||
| @@ -34,14 +34,14 @@ | ||||
|     "@eslint/js": "^9.27.0", | ||||
|     "@types/humanize-duration": "^3.27.4", | ||||
|     "@types/jest": "^29.5.14", | ||||
|     "@types/react": "^19.1.5", | ||||
|     "@types/react": "^19.1.6", | ||||
|     "@types/react-dom": "^19.1.5", | ||||
|     "@types/react-syntax-highlighter": "^15.5.13", | ||||
|     "@types/uuid": "^10.0.0", | ||||
|     "@vitejs/plugin-react": "^4.4.1", | ||||
|     "eslint": "^9.27.0", | ||||
|     "eslint-plugin-react-dom": "^1.49.0", | ||||
|     "eslint-plugin-react-hooks": "^5.1.0", | ||||
|     "eslint-plugin-react-hooks": "^5.2.0", | ||||
|     "eslint-plugin-react-refresh": "^0.4.20", | ||||
|     "eslint-plugin-react-x": "^1.49.0", | ||||
|     "globals": "^16.1.0", | ||||
|   | ||||
		Reference in New Issue
	
	Block a user