From 8df7fdcab49b453498c62316a9c84e606f0d3902 Mon Sep 17 00:00:00 2001
From: "homarr-update-contributors[bot]"
<210161987+homarr-update-contributors[bot]@users.noreply.github.com>
Date: Fri, 12 Sep 2025 19:54:34 +0000
Subject: [PATCH 01/42] chore: update contributors (#4061)
Co-authored-by: Homarr Update Contributors <210161987+homarr-update-contributors[bot]@users.noreply.github.com>
---
static-data/translators.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/static-data/translators.json b/static-data/translators.json
index cc84953df..64bf3d0cb 100644
--- a/static-data/translators.json
+++ b/static-data/translators.json
@@ -1 +1 @@
-[{"username":"carlchina","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/6697/medium/d22bbe7797bbeb30dbdc73a5648d329a_default.png"},{"username":"zielmann","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/7795/medium/ad22b8b8d5eb33e4154d53a454c862fd_default.png"},{"username":"Thalyn","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12494028/medium/5faf5acc945a874ed116c4567edaa09f_default.png"},{"username":"magnushj","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12503488/medium/68f32e33ea7b891960055c9f831f7344_default.png"},{"username":"almontegil","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12580457/medium/f4136cacbdfdb4c28ae7f85dc5f840db_default.png"},{"username":"Skick","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12619811/medium/0331f1de413a645b4516bc4e037f31bb.jpg"},{"username":"andibing","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12664938/medium/b8be63e4dcb2e791ced1ffc9e3a049a5.jpg"},{"username":"gronare","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12680911/medium/c6eb14d1504156f34a158e507f73aa3d_default.png"},{"username":"SmartPhoneLover","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12701640/medium/ec95486662ec875cda080e778c3ff702.jpg"},{"username":"marcelotk_15","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12773227/medium/ecf6bea16ab0c873c131df2154ee9718_default.png"},{"username":"S3OD177","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13051544/medium/11dd990837f61f7e8f7d36b041a7fddb_default.png"},{"username":"marcg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13153301/medium/ebcf60fbf27deb148ec40a659566c6ff_default.png"},{"username":"BeersTeddy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13185230/medium/2f1f4e1effe74a23422b195cbefb2a95_default.png"},{"username":"jamesmcmahon0","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13245578/medium/586aa873b4abddbd9abc6f3de99ab70e.jpeg"},{"username":"b1nar10","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13286752/medium/249b02e3368752cb175446082015737c_default.png"},{"username":"vannCN","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13330448/medium/9b8a9ee3611e51e951e22d5fd4eb7d8d.jpg"},{"username":"binswm","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13343482/medium/45dde0e6097b9b72705d2eba9dbbc276_default.png"},{"username":"SkewRam","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13496556/medium/188f5c2deb7938eda51eb786cc4539ca.jpeg"},{"username":"raphcatarino","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13547726/medium/b003511e67df13a4b4b5689488fa8099.jpg"},{"username":"shillos5","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13600557/medium/b17650b2b84f829d54fa548c44c1ab27.jpeg"},{"username":"wolong98","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13641407/medium/f4634edc58c7857a357e5293543c15cf.jpg"},{"username":"spair0039","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14012333/medium/72430e96027c09c19141cac38eae4617.png"},{"username":"MajorMarcin","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14072183/medium/0a197e64bb92b6ea94cecbb607512c45.jpg"},{"username":"KosmoMoustache","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14103535/medium/51c438cdd9f86e8811c75f4869de479c.png"},{"username":"Soochaehwa","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14118689/medium/496a1ce63111547bf455a1e0a7ac75f1_default.png"},{"username":"garryfield","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14187035/medium/520c964706676045f6eeec1b08edc880.jpg"},{"username":"droidenko","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14444264/medium/4aa3a8e824f72bc9e5ec0d8de307095e.jpeg"},{"username":"maathis","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14489950/medium/6eeddf13a757ee35f78f1763f94d95e1.jpeg"},{"username":"bukvam","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14546502/medium/a819dc40a13c57395a17dc46e847d3ce.jpg"},{"username":"gm.cinalli","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14670666/medium/2d466a0fdbda40764526be86c97c0ab4.jpeg"},{"username":"antoine2tt","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14722148/medium/f88d926900862dd59007ea4b3419cb9d.png"},{"username":"cretzen","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14799754/medium/3ba5c1805ec20c000d5810c07985afe9.jpg"},{"username":"ktKongTong","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14817246/medium/97cfc3c028dbdaf85ebd1102da71e58c.jpeg"},{"username":"marinkaberg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14861042/medium/2d5c4e62613f03082f3e645fa92efd59.jpeg"},{"username":"djismgaming","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14934947/medium/f5a8570713c34ab0f7d5405d105e2a9a.jpeg"},{"username":"f1refa11","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14949159/medium/fd2ae63b8eb4462200ba96abf943c1b9.png"},{"username":"jeffersonraimon","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15057621/medium/6dff469563860e2618bc9d45646d0ab4.png"},{"username":"giop98","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15057987/medium/b8a4825d3fc39fc662f35ee258db4b2d.jpeg"},{"username":"tomislav.kraljevic","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15118857/medium/e133f1061cc92850b854d05d8faaeafd.png"},{"username":"Walkx","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15202182/medium/5c37361ae45aeed487b34582c1f7ca37.png"},{"username":"andrea.rosso","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15246318/medium/11f3f5ef44ec7f55b6f143090e208704_default.png"},{"username":"ajnart","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15270132/medium/a0f107a463c8910ee96bc2fa843a17e3.jpeg"},{"username":"Witchling","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15282238/medium/9e196b6783415b10ca571b7673c2ef33.jpg"},{"username":"guineuu","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15292058/medium/22fbb758bda3b7805d50bf21d38f2c20.jpeg"},{"username":"Bulgus","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15304568/medium/0e8787e5ceb02ed5c96a514d0068ae87.jpg"},{"username":"Narno","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15314996/medium/a6ba093f24884250a1bf6c6f2ca50f1b_default.png"},{"username":"BySempron","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15315986/medium/e3d22d7b1423c6823a9f36d595ed4bdb.png"},{"username":"jonathan.berglin.work","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15359236/medium/95930b2093db13b76179782f7322c5d5.png"},{"username":"icdmkg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15405504/medium/f334d16cde1ac4ffb935b440d03465af.gif"},{"username":"irithys","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15405614/medium/3086461c47cce0a0c031925e5f943412.png"},{"username":"JannesV","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419912/medium/a7809eb4b817d7c49b62cf10ae86b950.png"},{"username":"benniblot","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419914/medium/8086b1573d31f152ba41949b3a172445.jpeg"},{"username":"pacjo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419916/medium/3cbeddbd7bc01faafb5a3bf47bba915b_default.png"},{"username":"Payou6994","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419934/medium/37c9b9b17dfb578404c1c1ddb73ba7a8.png"},{"username":"fzibi21","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419976/medium/0da688450358e0290a7b7359cc1f7328.png"},{"username":"WowMurdock","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15420118/medium/de19576fccb495b6dfe4c4c04a56b834.png"},{"username":"hbooo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15420120/medium/6c7c7f8db785061356ebb03d044d3329.jpeg"},{"username":"Manicraft1001","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15420178/medium/50ec94563a06a9f74f33bd09f01eed4d.jpg"},{"username":"Void123","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15420354/medium/86929d44df92a00f9fe900a985c196df_default.png"},{"username":"R4cc","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15422606/medium/a390979662b84694f59de30bdb732141.jpeg"},{"username":"fabricionaweb","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15425808/medium/a9354142e7ae5152c144409d55fda551_default.png"},{"username":"JokeOfDead","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15426890/medium/a383eac9365e9de64fd4ab1d6fd0cb95.jpeg"},{"username":"hkz","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15427174/medium/c88acefb0d7306e1f7470e872029fb39_default.png"},{"username":"Steken","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15428516/medium/d5aea5653c769c3a523182bdb60d1664.png"},{"username":"flar.anton","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15428592/medium/b01fdb365d892e9f811f77fcb50a80a2.jpeg"},{"username":"Bon","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15433542/medium/5397da4dfc821f20b6ac14fe0c514e9a.jpeg"},{"username":"bfkadan","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15434162/medium/4f9a0b43cfe3acaea60124c14ba7f44a.png"},{"username":"BunnySweety","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15434662/medium/f0ef200a6a0dcf0e1d0e9ecd4148f560_default.png"},{"username":"HRKings","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15436168/medium/69a31e461d38549f01864e7ef10d642e.png"},{"username":"wiston81","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15439078/medium/10f292c8d12a7c21a44b54495fa4a3d8.jpeg"},{"username":"qaz0911","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15440860/medium/3d3e50ee388c72dc4bf7a771761f2d89_default.png"},{"username":"qqyule","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15441462/medium/7a3cdf82710ffb5d8f388bc0bd010665.png"},{"username":"Bims0n","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15445560/medium/603220b603eeb3367e0f0d3fa675247c.jpg"},{"username":"TariqDaCoder","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15446228/medium/50b0f4040112bbd67690b769477398e5_default.png"},{"username":"Anarchon","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15449644/medium/e925e1f3e3ffbf0f982391ce263a1a28.jpeg"},{"username":"Ashun","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15453020/medium/ccdcf51c73d6aae40751bb30beee1915_default.png"},{"username":"sebekmartin","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15454038/medium/bcfb44598cdfd1d7cd4eb35812538962.jpeg"},{"username":"RagnarGraves","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15459882/medium/143d5af850c1154070a218bea124e9cb_default.png"},{"username":"PrtmPhlp","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15462414/medium/b80db55e9de301432dcd1f8c8b24fd49_default.png"},{"username":"DooYoo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15470768/medium/2a18cf4be67094724b508c9e1e698a21_default.png"},{"username":"espentruls","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15486092/medium/8e38afc3a4ff669226a0cfd3e420ff3a.jpeg"},{"username":"frisco82","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15486922/medium/4e1c5d4189b42508e660daa3c1c25b2a.jpeg"},{"username":"lupineDK","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15491798/medium/461bd501e8371c062bf29ea171aedd36_default.png"},{"username":"hillaliy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15492732/medium/0bae17b421604892d888e3fc70cf0587.jpeg"},{"username":"MarcOrfilaCarreras","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15501072/medium/ea52b26c3c6f21e4931e38e3ce3f3d6e.png"},{"username":"robertbridda","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15507822/medium/a368c2e30411bb2da9b49290084191f3.png"},{"username":"MKoniuszko","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15518090/medium/87605434fcc839f6763ab07c50f6d232.jpeg"},{"username":"HeroSizy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15518710/medium/4e79c0e98cbeb536dd961e656331b509.png"},{"username":"dwt136","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15520022/medium/554422503f2baea43ace85facb4546fb_default.png"},{"username":"asifthewebguy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15526719/medium/b18931dd0c800d725048bd440646198b_default.png"},{"username":"eiloogs","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15545537/medium/f290a2f1190983530a9b76b2e858a609.gif"},{"username":"_vytdv","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15547289/medium/60d8644cc8ad6f11a92ccea4a14cd098_default.png"},{"username":"crendasien","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15554645/medium/598ab1d4aaf6b8dccd5ba16be92da7b9.jpeg"},{"username":"edxo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15573823/medium/8a565b732a75a77f840dd123cdb30bf4.png"},{"username":"somerlev","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15617065/medium/f4b13513e311ec902d90b2f718412c55.jpg"},{"username":"kid1412621","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15643771/medium/dd455e32de652fa88e6fd97598bdffa7.png"},{"username":"suming","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15644717/medium/244159dfe10fa03436205506f80c9e25.png"},{"username":"nick.gher","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15647517/medium/5374a2c6fef60a3fbf0edf86b997c351_default.png"},{"username":"DataCat","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15650315/medium/ce7c1365adf35c5d490d77500a4607fb_default.png"},{"username":"dizo89","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15658375/medium/0ca745e5017d491fe1b22b0239904de8.jpeg"},{"username":"tee_noodle","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15674577/medium/804d9cf06f5196026acb6436b809d0da_default.png"},{"username":"Marty88","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15674593/medium/492b1509d52bd2809dea768121217125.jpeg"},{"username":"Spillebulle","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15677023/medium/20b98bb85062e07afe0e63618f8a5feb.PNG"},{"username":"petitmewen","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15685239/medium/15de9b62d2e0bc25013435f1784bbcc1.jpeg"},{"username":"NoProsNoNoobs","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15687709/medium/ae8f65fafeb8bcf74dcb8871bbe46461.png"},{"username":"y.gybson","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15690777/medium/b5cb5d2d5768904ff6586c727e3a6c77.jpeg"},{"username":"inside90","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15704947/medium/c1355fcb30dd76f8e39d98d1d49f1c52.png"},{"username":"RJSkudra","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15709853/medium/c3abf2774913dc4e81fb261d36d7668c.png"},{"username":"binge203","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15713937/medium/77c1cfa4314673db80e6881fd9f64668.gif"},{"username":"Mailootje","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15714337/medium/743c3bc4ab1989966a375eeeec83d8b8.jpeg"},{"username":"tim-wiegers","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15719805/medium/08a96f064813350661cd6b20bf3d7d99.png"},{"username":"GkhnG","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15722911/medium/71a027caec489ef6ce82bcf1888329d0_default.png"},{"username":"Zoen-Millo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15760967/medium/9e956f11adc5b34f5636268b5c485dbf.jpg"},{"username":"HooinKyoma","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15792897/medium/9489f0a9b368e0e827ae758b740a2eed.jpeg"},{"username":"wathergeen","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15794495/medium/a83b7fc80d180669ebfd6deb3544cfd0.png"},{"username":"MoeToo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15818233/medium/d35cd6953717706eaf20f6c143c62947.png"},{"username":"itodouble","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15836233/medium/e984caea18fb0673bf319fcf28cef649.png"},{"username":"loslocitos","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15847901/medium/fe30d12fd2cf38212f929e13b169f9ec.jpeg"},{"username":"Oversleep","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15849065/medium/06141f13a6d541d753f3c2f2947b8068_default.png"},{"username":"Beardy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15865139/medium/fca6b9d2b3f52e286d1568f52b83b6a0_default.png"},{"username":"raelyan","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15875457/medium/2f4fda1d1aaa5dcc79b328baf3f03151.jpeg"},{"username":"dolphin738","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15913763/medium/ee6fede7b8528ca642329ada80d1cc18.png"},{"username":"brunotco","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15916719/medium/09db45880fc05abc18adb8d932a5ecf9_default.png"},{"username":"LukeIsHereToDevelop","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15924739/medium/3e6cd3940297bb4ba7bb039c93e6f918.png"},{"username":"kennit","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15925879/medium/6b0733ad3c5949b91c55e4d8b03db8a5_default.png"},{"username":"kuunpire","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15950309/medium/8192a4f08f07086828ac9f74ed29a169.jpeg"},{"username":"Sandor-dev","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15951759/medium/0216c2da4eb028164ebbecf1c72f6271_default.png"},{"username":"Meierschlumpf","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15953187/medium/23c744faef1ab84fbdc9351a7850aab6.jpeg"},{"username":"harmlesscat","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15970733/medium/dd8d0214a0250c932bb518b1b55e45a2_default.png"},{"username":"OrzWTF","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15976121/medium/4c4557cbff7ff7b0503455bc59c020e0.jpeg"},{"username":"tagaishi","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15977271/medium/eade504c83a5a1ff831c80a538fbdb44_default.png"},{"username":"azurite928","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15981895/medium/547ccc459ee123e78b5401c499f1022d.png"},{"username":"Ronner231","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16021342/medium/7734d550df2de5a2fec2ffff33e7024c.jpeg"},{"username":"ugyes","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16034148/medium/ed001e3f470a2dea9a8ce955b18e7bd5.png"},{"username":"rpieja","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16045554/medium/bd55baca2ef8b92502a760cc9ee7c505_default.png"},{"username":"flambyisyou","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16051620/medium/3a3bc0c90f6b95ab4ef74396a0a17beb.png"},{"username":"Topbcy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16077170/medium/d3aed33ea56330338756cfcd89477cfe.jpeg"},{"username":"ai5d02sb","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16084674/medium/7c8119fe2a5ca71bb15f636916a42b95_default.png"},{"username":"explosiveparrot","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16097722/medium/7762f80fc1da63f5b2eb87de9d640324_default.png"},{"username":"DestroyCom","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16111544/medium/83e3d3ac5c8bfed634cd1a074854db67.png"},{"username":"neotraxo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16116966/medium/b30df957873329019a8a90a69f6efe3a.png"},{"username":"gzxpa","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16123314/medium/487b05577310a946b0b98bc72c11213b_default.png"},{"username":"TORIK","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16124732/medium/de770890e6411860ac06e8cc2dc0abd0_default.png"},{"username":"sergio.pibot","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16138114/medium/80db802b2fcd6bbf19ea4c7413367dca.jpeg"},{"username":"karam-ajaj","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16139838/medium/7539ab958d3c85d5f67e7849483ea8f7.jpeg"},{"username":"SimonHenz97","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16151520/medium/9b94a85b536688e2d94538c384fd0a76.png"},{"username":"olsson82","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16198988/medium/eeaab4cba210c537424d4204754b604e.png"},{"username":"bo3bdo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16222806/medium/8652f3beacb6098dde5a4cd0a29fe80d.jpeg"},{"username":"AngryPlayer04","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16245192/medium/342715274f4dc31fd4132cdae9126188.jpeg"},{"username":"ehatamm","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16245884/medium/979d5e5526fe545be9bf46db481f7182.jpeg"},{"username":"Balionelis","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16246058/medium/986d62ba363594c517d966fe9178dcbb.png"},{"username":"kwargs","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16248816/medium/19ce11f04bf1ae2637e0483399c675f9_default.png"},{"username":"lucicu","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16273892/medium/3b09e8f3bead221ef98d6a45a16851dc_default.png"},{"username":"Michael5564445","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16357688/medium/9d9026a8bf3eaccb0417da240932ebf7.png"},{"username":"Netscream","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16359198/medium/694e0c8572dc8a47e6d63da31ec5b992.png"},{"username":"belicstefan04","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16368142/medium/4742dcfd7bf7ad7e33e37ac44fba7e0f.png"},{"username":"Hamad2066","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16371478/medium/f37bbc7685b6757defdbd1494236af61.jpeg"},{"username":"3ct0pl4sm","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16399616/medium/ce796d1c40163975624c0a483e56374f.png"},{"username":"sanchez.marcell626","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16433865/medium/3ddde1314764cc2205ffdcd1ae719a91.png"},{"username":"Minoctis","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16490079/medium/91fd0849303a4eca033d660d0a7b6854.jpeg"},{"username":"vittoriosoccorso","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16498805/medium/17086b2f1981f734edd1572f79c3158a.jpeg"},{"username":"Worgen325","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16533177/medium/4a62cc6b06095751aeb4b1b3e96db93f.png"},{"username":"homarr","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16657003/medium/3afabfd3de949a54ff5d40ad04552aba.png"},{"username":"mwgg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16658379/medium/763dd09f5c238cc5324d4d5357985292.png"},{"username":"kiwinho","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16671855/medium/bfe3a2d497dc4748a04d02e4ae2139cb.jpeg"},{"username":"tjvg4m34r13","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16679135/medium/7a483b9b0abe0d925e54808e1cb38fa0.jpeg"},{"username":"Diegoem","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16705921/medium/29ce68ebc191fc3f65499511b12de98f_default.png"},{"username":"bouks69","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16746091/medium/b58b1fc08520de416198be9df5d093eb.jpeg"},{"username":"futhgar","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16748067/medium/b8c526b097f9aa9d687250cac3df16dc.jpeg"},{"username":"GrimSQL","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16764343/medium/fff729a76d1f8fbcdaee9bb0c0f5f3fd.png"},{"username":"chnikel","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16767047/medium/3dda2a37e03049dafefe6697bb00f75c.png"},{"username":"yuki19870616","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16767951/medium/f59c848e38382cda6c8464b0a7b9e642_default.png"},{"username":"noamdal","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16782245/medium/b4a72a61f9caf138f0322c0cb987e6d0.png"},{"username":"MalithRukshan","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16809057/medium/084d6a5b35fbbeacc70e7021197d222f.png"},{"username":"minirope19","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16930929/medium/e8cbbc26747e31c5a8959215e1dd067b.jpeg"},{"username":"toineenzo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12371852/medium/9f1b2bedb4794c59479cd289bdba9fab.png"},{"username":"ArcaneWater","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12421105/medium/1ac82517a6c658f6b62c48aebcb17e86_default.png"},{"username":"Ebedami","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12974801/medium/b596dea5c09454c4c828eac558389755.jpg"},{"username":"SergiSvK","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13320543/medium/3df3c79cc5f0c53716c559cd3fd2fc20.png"},{"username":"jeongeon","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13362856/medium/eb572f72cde5e5526c517ca3a6489850_default.png"},{"username":"MrTranCFCVN","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13439475/medium/a1789d69c85d90c667194b5d6a518c08_default.png"},{"username":"Cruellest","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13610615/medium/2a74faa0947ee08d18f7946fb8602c1e.jpg"},{"username":"Thario","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14491372/medium/dd5e142070802a672900121aa3f332a6_default.png"},{"username":"Kachelkaiser","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14763406/medium/203a781797da4a18fe0f4e7db8fd547c.png"},{"username":"regi4","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14842936/medium/f7e1d672f562a7db61ba6b4b8f4de41d.png"},{"username":"baton5129","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14891064/medium/8d438f557b82977dd02f0ead3187265f.PNG"},{"username":"TheRedCyclops","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16486399/medium/7f39226180120d5a9efcb8e13d8aec8e_default.png"},{"username":"dymek37","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16659221/medium/d1dc6d11d7e7fc370efc5070e837ae03.png"},{"username":"B3CKDOOR","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16744975/medium/e6c7b2d45e76465d54e6efb67c83da7d.png"},{"username":"Larsluph","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16779933/medium/ed7d36f8b44013bad3a16ac0491bd0f7.png"},{"username":"FOEDI","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16781001/medium/6b4552fb72e359aa016f7a054078fac8.png"},{"username":"xmarkurion","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16805443/medium/34a20428427de5aaef99c7d140646803.png"},{"username":"gregid","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16806705/medium/f3c8f4a20436e8538929130142bbc104.png"},{"username":"Flameberg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16820453/medium/d47be866148474c9d05fec6fbe406d88.png"},{"username":"Playfust","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16872865/medium/5f4609cc711e5fb9fa8a0b178635769c.jpeg"},{"username":"Cotignac","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16879297/medium/81ff353edf030699a159bb79cda26e84.jpg"},{"username":"LeaHun","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16916375/medium/618520f0543b1e212ebc83d66b683d4b_default.png"},{"username":"jackwellerreal","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16919717/medium/37bbfdc03893f141133ccc619593266d.png"},{"username":"andrius.cim","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16967845/medium/46028fc1a0ddfaaeebcb37b39739625d_default.png"},{"username":"xjxexrxrxyx","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17041412/medium/d34d664166db6fb25579bca9ff3b50b4.jpeg"},{"username":"bilhal.fellah","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17044572/medium/d1ec6f17e4aa013e9eededc83778d2c6.png"},{"username":"the_octo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17058060/medium/7423ab3a4cabb67f5decb2e2dfa2b675_default.png"},{"username":"BamesJond","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17075846/medium/128d7ffd40254c8e376f45678e2fc620_default.png"},{"username":"Kornikus","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17134240/medium/d7a42b2c30db46ff152699ca01f9e11a_default.png"},{"username":"xoxyuxu","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17176526/medium/108055aa24343043de852e412bec74be.png"},{"username":"cryptodntsleep","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17249408/medium/b9e15aa2b24a0dbc1e4f194aa8ed5109.png"},{"username":"yaniorg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17261842/medium/7dbfc77f21c826845961243c44540d26.jpg"},{"username":"Vidariondr","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17262438/medium/45fbc71be02ef27296b6f423e97b6a03_default.png"},{"username":"Fastery","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17263066/medium/701b0edc59676174863ad651528bbb37.jpeg"},{"username":"stratself","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17290388/medium/57d9d8161b3fd0abf4dc5558b4a1fa05_default.png"},{"username":"wuzeqin","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17292606/medium/b9e0308410b31337e2d7aa6ed346d718_default.png"},{"username":"ChristopherBull","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17304338/medium/21a175ce596bfae81430767467908b90.jpeg"}]
\ No newline at end of file
+[{"username":"carlchina","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/6697/medium/d22bbe7797bbeb30dbdc73a5648d329a_default.png"},{"username":"zielmann","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/7795/medium/ad22b8b8d5eb33e4154d53a454c862fd_default.png"},{"username":"Thalyn","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12494028/medium/5faf5acc945a874ed116c4567edaa09f_default.png"},{"username":"magnushj","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12503488/medium/68f32e33ea7b891960055c9f831f7344_default.png"},{"username":"almontegil","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12580457/medium/f4136cacbdfdb4c28ae7f85dc5f840db_default.png"},{"username":"Skick","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12619811/medium/0331f1de413a645b4516bc4e037f31bb.jpg"},{"username":"andibing","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12664938/medium/b8be63e4dcb2e791ced1ffc9e3a049a5.jpg"},{"username":"gronare","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12680911/medium/c6eb14d1504156f34a158e507f73aa3d_default.png"},{"username":"SmartPhoneLover","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12701640/medium/ec95486662ec875cda080e778c3ff702.jpg"},{"username":"marcelotk_15","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12773227/medium/ecf6bea16ab0c873c131df2154ee9718_default.png"},{"username":"S3OD177","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13051544/medium/11dd990837f61f7e8f7d36b041a7fddb_default.png"},{"username":"marcg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13153301/medium/ebcf60fbf27deb148ec40a659566c6ff_default.png"},{"username":"BeersTeddy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13185230/medium/2f1f4e1effe74a23422b195cbefb2a95_default.png"},{"username":"jamesmcmahon0","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13245578/medium/586aa873b4abddbd9abc6f3de99ab70e.jpeg"},{"username":"b1nar10","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13286752/medium/249b02e3368752cb175446082015737c_default.png"},{"username":"vannCN","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13330448/medium/9b8a9ee3611e51e951e22d5fd4eb7d8d.jpg"},{"username":"binswm","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13343482/medium/45dde0e6097b9b72705d2eba9dbbc276_default.png"},{"username":"SkewRam","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13496556/medium/188f5c2deb7938eda51eb786cc4539ca.jpeg"},{"username":"raphcatarino","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13547726/medium/b003511e67df13a4b4b5689488fa8099.jpg"},{"username":"shillos5","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13600557/medium/b17650b2b84f829d54fa548c44c1ab27.jpeg"},{"username":"wolong98","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13641407/medium/f4634edc58c7857a357e5293543c15cf.jpg"},{"username":"spair0039","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14012333/medium/72430e96027c09c19141cac38eae4617.png"},{"username":"MajorMarcin","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14072183/medium/0a197e64bb92b6ea94cecbb607512c45.jpg"},{"username":"KosmoMoustache","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14103535/medium/51c438cdd9f86e8811c75f4869de479c.png"},{"username":"Soochaehwa","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14118689/medium/496a1ce63111547bf455a1e0a7ac75f1_default.png"},{"username":"garryfield","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14187035/medium/520c964706676045f6eeec1b08edc880.jpg"},{"username":"droidenko","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14444264/medium/4aa3a8e824f72bc9e5ec0d8de307095e.jpeg"},{"username":"maathis","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14489950/medium/6eeddf13a757ee35f78f1763f94d95e1.jpeg"},{"username":"bukvam","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14546502/medium/a819dc40a13c57395a17dc46e847d3ce.jpg"},{"username":"gm.cinalli","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14670666/medium/2d466a0fdbda40764526be86c97c0ab4.jpeg"},{"username":"antoine2tt","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14722148/medium/f88d926900862dd59007ea4b3419cb9d.png"},{"username":"cretzen","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14799754/medium/3ba5c1805ec20c000d5810c07985afe9.jpg"},{"username":"ktKongTong","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14817246/medium/97cfc3c028dbdaf85ebd1102da71e58c.jpeg"},{"username":"marinkaberg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14861042/medium/2d5c4e62613f03082f3e645fa92efd59.jpeg"},{"username":"djismgaming","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14934947/medium/f5a8570713c34ab0f7d5405d105e2a9a.jpeg"},{"username":"f1refa11","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14949159/medium/fd2ae63b8eb4462200ba96abf943c1b9.png"},{"username":"jeffersonraimon","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15057621/medium/6dff469563860e2618bc9d45646d0ab4.png"},{"username":"giop98","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15057987/medium/b8a4825d3fc39fc662f35ee258db4b2d.jpeg"},{"username":"tomislav.kraljevic","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15118857/medium/e133f1061cc92850b854d05d8faaeafd.png"},{"username":"Walkx","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15202182/medium/5c37361ae45aeed487b34582c1f7ca37.png"},{"username":"andrea.rosso","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15246318/medium/11f3f5ef44ec7f55b6f143090e208704_default.png"},{"username":"ajnart","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15270132/medium/a0f107a463c8910ee96bc2fa843a17e3.jpeg"},{"username":"Witchling","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15282238/medium/9e196b6783415b10ca571b7673c2ef33.jpg"},{"username":"guineuu","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15292058/medium/22fbb758bda3b7805d50bf21d38f2c20.jpeg"},{"username":"Bulgus","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15304568/medium/0e8787e5ceb02ed5c96a514d0068ae87.jpg"},{"username":"Narno","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15314996/medium/a6ba093f24884250a1bf6c6f2ca50f1b_default.png"},{"username":"BySempron","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15315986/medium/e3d22d7b1423c6823a9f36d595ed4bdb.png"},{"username":"jonathan.berglin.work","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15359236/medium/95930b2093db13b76179782f7322c5d5.png"},{"username":"icdmkg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15405504/medium/f334d16cde1ac4ffb935b440d03465af.gif"},{"username":"irithys","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15405614/medium/3086461c47cce0a0c031925e5f943412.png"},{"username":"JannesV","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419912/medium/a7809eb4b817d7c49b62cf10ae86b950.png"},{"username":"benniblot","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419914/medium/8086b1573d31f152ba41949b3a172445.jpeg"},{"username":"pacjo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419916/medium/3cbeddbd7bc01faafb5a3bf47bba915b_default.png"},{"username":"Payou6994","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419934/medium/37c9b9b17dfb578404c1c1ddb73ba7a8.png"},{"username":"fzibi21","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419976/medium/0da688450358e0290a7b7359cc1f7328.png"},{"username":"WowMurdock","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15420118/medium/de19576fccb495b6dfe4c4c04a56b834.png"},{"username":"hbooo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15420120/medium/6c7c7f8db785061356ebb03d044d3329.jpeg"},{"username":"Manicraft1001","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15420178/medium/50ec94563a06a9f74f33bd09f01eed4d.jpg"},{"username":"Void123","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15420354/medium/86929d44df92a00f9fe900a985c196df_default.png"},{"username":"R4cc","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15422606/medium/a390979662b84694f59de30bdb732141.jpeg"},{"username":"fabricionaweb","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15425808/medium/a9354142e7ae5152c144409d55fda551_default.png"},{"username":"JokeOfDead","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15426890/medium/a383eac9365e9de64fd4ab1d6fd0cb95.jpeg"},{"username":"hkz","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15427174/medium/c88acefb0d7306e1f7470e872029fb39_default.png"},{"username":"Steken","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15428516/medium/d5aea5653c769c3a523182bdb60d1664.png"},{"username":"flar.anton","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15428592/medium/b01fdb365d892e9f811f77fcb50a80a2.jpeg"},{"username":"Bon","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15433542/medium/5397da4dfc821f20b6ac14fe0c514e9a.jpeg"},{"username":"bfkadan","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15434162/medium/4f9a0b43cfe3acaea60124c14ba7f44a.png"},{"username":"BunnySweety","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15434662/medium/f0ef200a6a0dcf0e1d0e9ecd4148f560_default.png"},{"username":"HRKings","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15436168/medium/69a31e461d38549f01864e7ef10d642e.png"},{"username":"wiston81","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15439078/medium/10f292c8d12a7c21a44b54495fa4a3d8.jpeg"},{"username":"qaz0911","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15440860/medium/3d3e50ee388c72dc4bf7a771761f2d89_default.png"},{"username":"qqyule","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15441462/medium/7a3cdf82710ffb5d8f388bc0bd010665.png"},{"username":"Bims0n","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15445560/medium/603220b603eeb3367e0f0d3fa675247c.jpg"},{"username":"TariqDaCoder","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15446228/medium/50b0f4040112bbd67690b769477398e5_default.png"},{"username":"Anarchon","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15449644/medium/e925e1f3e3ffbf0f982391ce263a1a28.jpeg"},{"username":"Ashun","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15453020/medium/ccdcf51c73d6aae40751bb30beee1915_default.png"},{"username":"sebekmartin","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15454038/medium/bcfb44598cdfd1d7cd4eb35812538962.jpeg"},{"username":"RagnarGraves","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15459882/medium/143d5af850c1154070a218bea124e9cb_default.png"},{"username":"PrtmPhlp","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15462414/medium/b80db55e9de301432dcd1f8c8b24fd49_default.png"},{"username":"DooYoo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15470768/medium/2a18cf4be67094724b508c9e1e698a21_default.png"},{"username":"espentruls","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15486092/medium/8e38afc3a4ff669226a0cfd3e420ff3a.jpeg"},{"username":"frisco82","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15486922/medium/4e1c5d4189b42508e660daa3c1c25b2a.jpeg"},{"username":"lupineDK","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15491798/medium/461bd501e8371c062bf29ea171aedd36_default.png"},{"username":"hillaliy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15492732/medium/0bae17b421604892d888e3fc70cf0587.jpeg"},{"username":"MarcOrfilaCarreras","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15501072/medium/ea52b26c3c6f21e4931e38e3ce3f3d6e.png"},{"username":"robertbridda","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15507822/medium/a368c2e30411bb2da9b49290084191f3.png"},{"username":"MKoniuszko","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15518090/medium/87605434fcc839f6763ab07c50f6d232.jpeg"},{"username":"HeroSizy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15518710/medium/4e79c0e98cbeb536dd961e656331b509.png"},{"username":"dwt136","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15520022/medium/554422503f2baea43ace85facb4546fb_default.png"},{"username":"asifthewebguy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15526719/medium/b18931dd0c800d725048bd440646198b_default.png"},{"username":"eiloogs","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15545537/medium/f290a2f1190983530a9b76b2e858a609.gif"},{"username":"_vytdv","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15547289/medium/60d8644cc8ad6f11a92ccea4a14cd098_default.png"},{"username":"crendasien","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15554645/medium/598ab1d4aaf6b8dccd5ba16be92da7b9.jpeg"},{"username":"edxo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15573823/medium/8a565b732a75a77f840dd123cdb30bf4.png"},{"username":"somerlev","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15617065/medium/f4b13513e311ec902d90b2f718412c55.jpg"},{"username":"kid1412621","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15643771/medium/dd455e32de652fa88e6fd97598bdffa7.png"},{"username":"suming","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15644717/medium/244159dfe10fa03436205506f80c9e25.png"},{"username":"nick.gher","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15647517/medium/5374a2c6fef60a3fbf0edf86b997c351_default.png"},{"username":"DataCat","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15650315/medium/ce7c1365adf35c5d490d77500a4607fb_default.png"},{"username":"dizo89","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15658375/medium/0ca745e5017d491fe1b22b0239904de8.jpeg"},{"username":"tee_noodle","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15674577/medium/804d9cf06f5196026acb6436b809d0da_default.png"},{"username":"Marty88","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15674593/medium/492b1509d52bd2809dea768121217125.jpeg"},{"username":"Spillebulle","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15677023/medium/20b98bb85062e07afe0e63618f8a5feb.PNG"},{"username":"petitmewen","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15685239/medium/15de9b62d2e0bc25013435f1784bbcc1.jpeg"},{"username":"NoProsNoNoobs","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15687709/medium/ae8f65fafeb8bcf74dcb8871bbe46461.png"},{"username":"y.gybson","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15690777/medium/b5cb5d2d5768904ff6586c727e3a6c77.jpeg"},{"username":"inside90","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15704947/medium/c1355fcb30dd76f8e39d98d1d49f1c52.png"},{"username":"RJSkudra","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15709853/medium/c3abf2774913dc4e81fb261d36d7668c.png"},{"username":"binge203","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15713937/medium/77c1cfa4314673db80e6881fd9f64668.gif"},{"username":"Mailootje","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15714337/medium/743c3bc4ab1989966a375eeeec83d8b8.jpeg"},{"username":"tim-wiegers","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15719805/medium/08a96f064813350661cd6b20bf3d7d99.png"},{"username":"GkhnG","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15722911/medium/71a027caec489ef6ce82bcf1888329d0_default.png"},{"username":"Zoen-Millo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15760967/medium/9e956f11adc5b34f5636268b5c485dbf.jpg"},{"username":"HooinKyoma","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15792897/medium/9489f0a9b368e0e827ae758b740a2eed.jpeg"},{"username":"wathergeen","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15794495/medium/a83b7fc80d180669ebfd6deb3544cfd0.png"},{"username":"MoeToo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15818233/medium/d35cd6953717706eaf20f6c143c62947.png"},{"username":"itodouble","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15836233/medium/e984caea18fb0673bf319fcf28cef649.png"},{"username":"loslocitos","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15847901/medium/fe30d12fd2cf38212f929e13b169f9ec.jpeg"},{"username":"Oversleep","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15849065/medium/06141f13a6d541d753f3c2f2947b8068_default.png"},{"username":"Beardy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15865139/medium/fca6b9d2b3f52e286d1568f52b83b6a0_default.png"},{"username":"raelyan","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15875457/medium/2f4fda1d1aaa5dcc79b328baf3f03151.jpeg"},{"username":"dolphin738","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15913763/medium/ee6fede7b8528ca642329ada80d1cc18.png"},{"username":"brunotco","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15916719/medium/09db45880fc05abc18adb8d932a5ecf9_default.png"},{"username":"LukeIsHereToDevelop","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15924739/medium/3e6cd3940297bb4ba7bb039c93e6f918.png"},{"username":"kennit","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15925879/medium/6b0733ad3c5949b91c55e4d8b03db8a5_default.png"},{"username":"kuunpire","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15950309/medium/8192a4f08f07086828ac9f74ed29a169.jpeg"},{"username":"Sandor-dev","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15951759/medium/0216c2da4eb028164ebbecf1c72f6271_default.png"},{"username":"Meierschlumpf","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15953187/medium/23c744faef1ab84fbdc9351a7850aab6.jpeg"},{"username":"harmlesscat","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15970733/medium/dd8d0214a0250c932bb518b1b55e45a2_default.png"},{"username":"OrzWTF","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15976121/medium/4c4557cbff7ff7b0503455bc59c020e0.jpeg"},{"username":"tagaishi","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15977271/medium/eade504c83a5a1ff831c80a538fbdb44_default.png"},{"username":"azurite928","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15981895/medium/547ccc459ee123e78b5401c499f1022d.png"},{"username":"Ronner231","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16021342/medium/7734d550df2de5a2fec2ffff33e7024c.jpeg"},{"username":"ugyes","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16034148/medium/ed001e3f470a2dea9a8ce955b18e7bd5.png"},{"username":"rpieja","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16045554/medium/bd55baca2ef8b92502a760cc9ee7c505_default.png"},{"username":"flambyisyou","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16051620/medium/3a3bc0c90f6b95ab4ef74396a0a17beb.png"},{"username":"Topbcy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16077170/medium/d3aed33ea56330338756cfcd89477cfe.jpeg"},{"username":"ai5d02sb","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16084674/medium/7c8119fe2a5ca71bb15f636916a42b95_default.png"},{"username":"explosiveparrot","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16097722/medium/7762f80fc1da63f5b2eb87de9d640324_default.png"},{"username":"DestroyCom","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16111544/medium/83e3d3ac5c8bfed634cd1a074854db67.png"},{"username":"neotraxo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16116966/medium/b30df957873329019a8a90a69f6efe3a.png"},{"username":"gzxpa","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16123314/medium/487b05577310a946b0b98bc72c11213b_default.png"},{"username":"TORIK","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16124732/medium/de770890e6411860ac06e8cc2dc0abd0_default.png"},{"username":"sergio.pibot","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16138114/medium/80db802b2fcd6bbf19ea4c7413367dca.jpeg"},{"username":"karam-ajaj","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16139838/medium/7539ab958d3c85d5f67e7849483ea8f7.jpeg"},{"username":"SimonHenz97","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16151520/medium/9b94a85b536688e2d94538c384fd0a76.png"},{"username":"olsson82","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16198988/medium/eeaab4cba210c537424d4204754b604e.png"},{"username":"bo3bdo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16222806/medium/8652f3beacb6098dde5a4cd0a29fe80d.jpeg"},{"username":"AngryPlayer04","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16245192/medium/342715274f4dc31fd4132cdae9126188.jpeg"},{"username":"ehatamm","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16245884/medium/979d5e5526fe545be9bf46db481f7182.jpeg"},{"username":"Balionelis","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16246058/medium/986d62ba363594c517d966fe9178dcbb.png"},{"username":"kwargs","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16248816/medium/19ce11f04bf1ae2637e0483399c675f9_default.png"},{"username":"lucicu","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16273892/medium/3b09e8f3bead221ef98d6a45a16851dc_default.png"},{"username":"Michael5564445","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16357688/medium/9d9026a8bf3eaccb0417da240932ebf7.png"},{"username":"Netscream","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16359198/medium/694e0c8572dc8a47e6d63da31ec5b992.png"},{"username":"belicstefan04","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16368142/medium/4742dcfd7bf7ad7e33e37ac44fba7e0f.png"},{"username":"Hamad2066","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16371478/medium/f37bbc7685b6757defdbd1494236af61.jpeg"},{"username":"3ct0pl4sm","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16399616/medium/ce796d1c40163975624c0a483e56374f.png"},{"username":"sanchez.marcell626","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16433865/medium/3ddde1314764cc2205ffdcd1ae719a91.png"},{"username":"Minoctis","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16490079/medium/91fd0849303a4eca033d660d0a7b6854.jpeg"},{"username":"vittoriosoccorso","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16498805/medium/17086b2f1981f734edd1572f79c3158a.jpeg"},{"username":"Worgen325","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16533177/medium/4a62cc6b06095751aeb4b1b3e96db93f.png"},{"username":"homarr","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16657003/medium/3afabfd3de949a54ff5d40ad04552aba.png"},{"username":"mwgg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16658379/medium/763dd09f5c238cc5324d4d5357985292.png"},{"username":"kiwinho","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16671855/medium/bfe3a2d497dc4748a04d02e4ae2139cb.jpeg"},{"username":"tjvg4m34r13","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16679135/medium/7a483b9b0abe0d925e54808e1cb38fa0.jpeg"},{"username":"Diegoem","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16705921/medium/29ce68ebc191fc3f65499511b12de98f_default.png"},{"username":"bouks69","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16746091/medium/b58b1fc08520de416198be9df5d093eb.jpeg"},{"username":"futhgar","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16748067/medium/b8c526b097f9aa9d687250cac3df16dc.jpeg"},{"username":"GrimSQL","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16764343/medium/fff729a76d1f8fbcdaee9bb0c0f5f3fd.png"},{"username":"chnikel","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16767047/medium/3dda2a37e03049dafefe6697bb00f75c.png"},{"username":"yuki19870616","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16767951/medium/f59c848e38382cda6c8464b0a7b9e642_default.png"},{"username":"noamdal","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16782245/medium/b4a72a61f9caf138f0322c0cb987e6d0.png"},{"username":"MalithRukshan","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16809057/medium/084d6a5b35fbbeacc70e7021197d222f.png"},{"username":"minirope19","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16930929/medium/e8cbbc26747e31c5a8959215e1dd067b.jpeg"},{"username":"toineenzo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12371852/medium/9f1b2bedb4794c59479cd289bdba9fab.png"},{"username":"ArcaneWater","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12421105/medium/1ac82517a6c658f6b62c48aebcb17e86_default.png"},{"username":"Ebedami","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12974801/medium/b596dea5c09454c4c828eac558389755.jpg"},{"username":"SergiSvK","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13320543/medium/3df3c79cc5f0c53716c559cd3fd2fc20.png"},{"username":"jeongeon","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13362856/medium/eb572f72cde5e5526c517ca3a6489850_default.png"},{"username":"MrTranCFCVN","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13439475/medium/a1789d69c85d90c667194b5d6a518c08_default.png"},{"username":"Cruellest","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13610615/medium/2a74faa0947ee08d18f7946fb8602c1e.jpg"},{"username":"Thario","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14491372/medium/dd5e142070802a672900121aa3f332a6_default.png"},{"username":"Kachelkaiser","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14763406/medium/203a781797da4a18fe0f4e7db8fd547c.png"},{"username":"regi4","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14842936/medium/f7e1d672f562a7db61ba6b4b8f4de41d.png"},{"username":"baton5129","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14891064/medium/8d438f557b82977dd02f0ead3187265f.PNG"},{"username":"TheRedCyclops","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16486399/medium/7f39226180120d5a9efcb8e13d8aec8e_default.png"},{"username":"dymek37","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16659221/medium/d1dc6d11d7e7fc370efc5070e837ae03.png"},{"username":"B3CKDOOR","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16744975/medium/e6c7b2d45e76465d54e6efb67c83da7d.png"},{"username":"Larsluph","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16779933/medium/ed7d36f8b44013bad3a16ac0491bd0f7.png"},{"username":"FOEDI","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16781001/medium/6b4552fb72e359aa016f7a054078fac8.png"},{"username":"xmarkurion","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16805443/medium/34a20428427de5aaef99c7d140646803.png"},{"username":"gregid","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16806705/medium/f3c8f4a20436e8538929130142bbc104.png"},{"username":"Flameberg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16820453/medium/d47be866148474c9d05fec6fbe406d88.png"},{"username":"Playfust","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16872865/medium/5f4609cc711e5fb9fa8a0b178635769c.jpeg"},{"username":"Cotignac","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16879297/medium/81ff353edf030699a159bb79cda26e84.jpg"},{"username":"LeaHun","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16916375/medium/618520f0543b1e212ebc83d66b683d4b_default.png"},{"username":"jackwellerreal","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16919717/medium/37bbfdc03893f141133ccc619593266d.png"},{"username":"andrius.cim","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16967845/medium/46028fc1a0ddfaaeebcb37b39739625d_default.png"},{"username":"xjxexrxrxyx","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17041412/medium/d34d664166db6fb25579bca9ff3b50b4.jpeg"},{"username":"bilhal.fellah","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17044572/medium/d1ec6f17e4aa013e9eededc83778d2c6.png"},{"username":"the_octo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17058060/medium/7423ab3a4cabb67f5decb2e2dfa2b675_default.png"},{"username":"BamesJond","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17075846/medium/128d7ffd40254c8e376f45678e2fc620_default.png"},{"username":"Kornikus","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17134240/medium/d7a42b2c30db46ff152699ca01f9e11a_default.png"},{"username":"xoxyuxu","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17176526/medium/108055aa24343043de852e412bec74be.png"},{"username":"cryptodntsleep","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17249408/medium/b9e15aa2b24a0dbc1e4f194aa8ed5109.png"},{"username":"yaniorg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17261842/medium/7dbfc77f21c826845961243c44540d26.jpg"},{"username":"Vidariondr","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17262438/medium/45fbc71be02ef27296b6f423e97b6a03_default.png"},{"username":"Fastery","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17263066/medium/701b0edc59676174863ad651528bbb37.jpeg"},{"username":"stratself","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17290388/medium/57d9d8161b3fd0abf4dc5558b4a1fa05_default.png"},{"username":"wuzeqin","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17292606/medium/b9e0308410b31337e2d7aa6ed346d718_default.png"},{"username":"ChristopherBull","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17304338/medium/21a175ce596bfae81430767467908b90.jpeg"},{"username":"darkbcnlord","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17311436/medium/b271bc0b419ec3a26ddb7b63ff8ffc4b.png"}]
\ No newline at end of file
From f360c9768a23eca274dac9d359c40189dba31830 Mon Sep 17 00:00:00 2001
From: Meier Lukas
Date: Fri, 12 Sep 2025 21:59:37 +0200
Subject: [PATCH 02/42] chore(deps): update actions/setup-node action to v5
(#4060)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
---
.github/workflows/deployment-docker-image.yml | 4 +++-
.github/workflows/update-contributors.yml | 4 +++-
tooling/github/setup/action.yml | 2 +-
3 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/.github/workflows/deployment-docker-image.yml b/.github/workflows/deployment-docker-image.yml
index 307930137..4e2dad8ac 100644
--- a/.github/workflows/deployment-docker-image.yml
+++ b/.github/workflows/deployment-docker-image.yml
@@ -57,10 +57,12 @@ jobs:
if: env.SKIP_RELEASE == 'false'
with:
persist-credentials: false
- - uses: actions/setup-node@v4
+ - uses: pnpm/action-setup@v4
+ - uses: actions/setup-node@v5
if: env.SKIP_RELEASE == 'false'
with:
node-version: 22.19.0
+ cache: "pnpm"
- run: npm i -g pnpm
if: env.SKIP_RELEASE == 'false'
- name: Install dependencies
diff --git a/.github/workflows/update-contributors.yml b/.github/workflows/update-contributors.yml
index 86f7c95d5..36c3e0de1 100644
--- a/.github/workflows/update-contributors.yml
+++ b/.github/workflows/update-contributors.yml
@@ -31,10 +31,12 @@ jobs:
env:
GITHUB_TOKEN: ${{ steps.obtainToken.outputs.token }}
+ - uses: pnpm/action-setup@v4
- name: Use Node.js ${{ matrix.node-version }}
- uses: actions/setup-node@v4
+ uses: actions/setup-node@v5
with:
node-version: ${{ matrix.node-version }}
+ cache: "pnpm"
- name: Run update script
run: node ./scripts/update-contributors.mjs
diff --git a/tooling/github/setup/action.yml b/tooling/github/setup/action.yml
index a84e3fb96..db9d781f5 100644
--- a/tooling/github/setup/action.yml
+++ b/tooling/github/setup/action.yml
@@ -5,7 +5,7 @@ runs:
using: composite
steps:
- uses: pnpm/action-setup@v4
- - uses: actions/setup-node@v4
+ - uses: actions/setup-node@v5
with:
node-version: 22.19.0
cache: "pnpm"
From 3b7e3da17c555b546b1402b451622c4edf36f388 Mon Sep 17 00:00:00 2001
From: Meier Lukas
Date: Fri, 12 Sep 2025 23:28:39 +0200
Subject: [PATCH 03/42] ci: add missing if for pnpm action-setup (#4062)
---
.github/workflows/deployment-docker-image.yml | 1 +
1 file changed, 1 insertion(+)
diff --git a/.github/workflows/deployment-docker-image.yml b/.github/workflows/deployment-docker-image.yml
index 4e2dad8ac..c9f9bf33f 100644
--- a/.github/workflows/deployment-docker-image.yml
+++ b/.github/workflows/deployment-docker-image.yml
@@ -58,6 +58,7 @@ jobs:
with:
persist-credentials: false
- uses: pnpm/action-setup@v4
+ if: env.SKIP_RELEASE == 'false'
- uses: actions/setup-node@v5
if: env.SKIP_RELEASE == 'false'
with:
From f7d6f3d9e1e0ea7da4f1b9087a45ac06f83f486c Mon Sep 17 00:00:00 2001
From: "homarr-renovate[bot]"
<158783068+homarr-renovate[bot]@users.noreply.github.com>
Date: Fri, 12 Sep 2025 22:24:32 +0000
Subject: [PATCH 04/42] chore(deps): update dependency hono@<4.6.5 to
>=4.9.7 [security] (#4063)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
---
package.json | 2 +-
pnpm-lock.yaml | 18 +++++++++---------
2 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/package.json b/package.json
index ec1753c33..dedf76747 100644
--- a/package.json
+++ b/package.json
@@ -82,7 +82,7 @@
"brace-expansion@>=1.0.0 <=1.1.11": ">=4.0.1",
"esbuild@<=0.24.2": ">=0.25.9",
"form-data@>=4.0.0 <4.0.4": ">=4.0.4",
- "hono@<4.6.5": ">=4.9.6",
+ "hono@<4.6.5": ">=4.9.7",
"linkifyjs@<4.3.2": ">=4.3.2",
"nanoid@>=4.0.0 <5.0.9": ">=5.1.5",
"prismjs@<1.30.0": ">=1.30.0",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index f4d246ef5..b1fabddb2 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -12,7 +12,7 @@ overrides:
brace-expansion@>=1.0.0 <=1.1.11: '>=4.0.1'
esbuild@<=0.24.2: '>=0.25.9'
form-data@>=4.0.0 <4.0.4: '>=4.0.4'
- hono@<4.6.5: '>=4.9.6'
+ hono@<4.6.5: '>=4.9.7'
linkifyjs@<4.3.2: '>=4.3.2'
nanoid@>=4.0.0 <5.0.9: '>=5.1.5'
prismjs@<1.30.0: '>=1.30.0'
@@ -3072,7 +3072,7 @@ packages:
resolution: {integrity: sha512-kz323qIQkNQElEGroo/E9MKPDuIR5pkuk/XEWd50K+cSEKdmdiYx0PKWUdaNY2ecJYngtF+njDMsMKplL6zfEg==}
engines: {node: '>=18.14.1'}
peerDependencies:
- hono: '>=4.9.6'
+ hono: '>=4.9.7'
'@humanfs/core@0.19.1':
resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
@@ -6869,8 +6869,8 @@ packages:
highlightjs-vue@1.0.0:
resolution: {integrity: sha512-PDEfEF102G23vHmPhLyPboFCD+BkMGu+GuJe2d9/eH4FsCwvgBpnc9n0pGE+ffKdph38s6foEZiEjdgHdzp+IA==}
- hono@4.9.6:
- resolution: {integrity: sha512-doVjXhSFvYZ7y0dNokjwwSahcrAfdz+/BCLvAMa/vHLzjj8+CFyV5xteThGUsKdkaasgN+gF2mUxao+SGLpUeA==}
+ hono@4.9.7:
+ resolution: {integrity: sha512-t4Te6ERzIaC48W3x4hJmBwgNlLhmiEdEE5ViYb02ffw4ignHNHa5IBtPjmbKstmtKa8X6C35iWwK4HaqvrzG9w==}
engines: {node: '>=16.9.0'}
hook-std@4.0.0:
@@ -11431,9 +11431,9 @@ snapshots:
- undici
- utf-8-validate
- '@hono/node-server@1.13.0(hono@4.9.6)':
+ '@hono/node-server@1.13.0(hono@4.9.7)':
dependencies:
- hono: 4.9.6
+ hono: 4.9.7
'@humanfs/core@0.19.1': {}
@@ -11767,7 +11767,7 @@ snapshots:
'@axiomhq/js': 1.0.0-rc.3
'@babel/core': 7.26.0
'@babel/types': 7.26.0
- '@hono/node-server': 1.13.0(hono@4.9.6)
+ '@hono/node-server': 1.13.0(hono@4.9.7)
'@million/install': 1.0.14
'@rollup/pluginutils': 5.1.0
'@rrweb/types': 2.0.0-alpha.16
@@ -11775,7 +11775,7 @@ snapshots:
ci-info: 4.0.0
esbuild: 0.25.9
faster-babel-types: 0.1.0(@babel/types@7.26.0)
- hono: 4.9.6
+ hono: 4.9.7
isomorphic-fetch: 3.0.0
nanoid: 5.1.5
ohash: 1.1.4
@@ -15965,7 +15965,7 @@ snapshots:
highlightjs-vue@1.0.0: {}
- hono@4.9.6: {}
+ hono@4.9.7: {}
hook-std@4.0.0: {}
From b7d7767343753b3b4bc23c0e335bf61388997c9d Mon Sep 17 00:00:00 2001
From: Meier Lukas
Date: Sat, 13 Sep 2025 01:11:55 +0200
Subject: [PATCH 05/42] chore(docs): update sitemap
---
packages/definitions/src/docs/homarr-docs-sitemap.ts | 1 +
1 file changed, 1 insertion(+)
diff --git a/packages/definitions/src/docs/homarr-docs-sitemap.ts b/packages/definitions/src/docs/homarr-docs-sitemap.ts
index 59ea973b4..6815530cc 100644
--- a/packages/definitions/src/docs/homarr-docs-sitemap.ts
+++ b/packages/definitions/src/docs/homarr-docs-sitemap.ts
@@ -183,6 +183,7 @@ export type HomarrDocumentationPath =
| "/docs/integrations/sonarr"
| "/docs/integrations/tdarr"
| "/docs/integrations/transmission"
+ | "/docs/integrations/truenas"
| "/docs/integrations/unifi-controller"
| "/docs/management/api"
| "/docs/management/apps"
From 764d5eb0eaef178dc4472c7db18f854acdc7338f Mon Sep 17 00:00:00 2001
From: "homarr-crowdin[bot]"
<190541745+homarr-crowdin[bot]@users.noreply.github.com>
Date: Sat, 13 Sep 2025 00:46:30 +0000
Subject: [PATCH 06/42] chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
---
packages/translation/src/lang/ca.json | 3 -
packages/translation/src/lang/cn.json | 3 -
packages/translation/src/lang/cs.json | 3 -
packages/translation/src/lang/da.json | 3 -
packages/translation/src/lang/de-CH.json | 3 -
packages/translation/src/lang/de.json | 3 -
packages/translation/src/lang/el.json | 3 -
packages/translation/src/lang/en-gb.json | 3 -
packages/translation/src/lang/es.json | 319 +++++++++++------------
packages/translation/src/lang/et.json | 3 -
packages/translation/src/lang/fr.json | 3 -
packages/translation/src/lang/he.json | 3 -
packages/translation/src/lang/hr.json | 3 -
packages/translation/src/lang/hu.json | 3 -
packages/translation/src/lang/it.json | 3 -
packages/translation/src/lang/ja.json | 3 -
packages/translation/src/lang/ko.json | 3 -
packages/translation/src/lang/lt.json | 3 -
packages/translation/src/lang/lv.json | 3 -
packages/translation/src/lang/nl.json | 3 -
packages/translation/src/lang/no.json | 3 -
packages/translation/src/lang/pl.json | 3 -
packages/translation/src/lang/pt.json | 3 -
packages/translation/src/lang/ro.json | 3 -
packages/translation/src/lang/ru.json | 3 -
packages/translation/src/lang/sk.json | 3 -
packages/translation/src/lang/sl.json | 3 -
packages/translation/src/lang/sv.json | 3 -
packages/translation/src/lang/tr.json | 17 +-
packages/translation/src/lang/uk.json | 3 -
packages/translation/src/lang/vi.json | 3 -
packages/translation/src/lang/zh.json | 3 -
32 files changed, 165 insertions(+), 261 deletions(-)
diff --git a/packages/translation/src/lang/ca.json b/packages/translation/src/lang/ca.json
index ebeed7066..1b5e2cde4 100644
--- a/packages/translation/src/lang/ca.json
+++ b/packages/translation/src/lang/ca.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": ""
},
- "sessionCleanup": {
- "label": ""
- },
"updateChecker": {
"label": ""
},
diff --git a/packages/translation/src/lang/cn.json b/packages/translation/src/lang/cn.json
index ae2c9ea77..8254d6c5b 100644
--- a/packages/translation/src/lang/cn.json
+++ b/packages/translation/src/lang/cn.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": "DNS Hole 数据"
},
- "sessionCleanup": {
- "label": "会话清理"
- },
"updateChecker": {
"label": "更新检查"
},
diff --git a/packages/translation/src/lang/cs.json b/packages/translation/src/lang/cs.json
index ff33c26af..ee130d966 100644
--- a/packages/translation/src/lang/cs.json
+++ b/packages/translation/src/lang/cs.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": ""
},
- "sessionCleanup": {
- "label": ""
- },
"updateChecker": {
"label": ""
},
diff --git a/packages/translation/src/lang/da.json b/packages/translation/src/lang/da.json
index 70cfda277..295d1a7d7 100644
--- a/packages/translation/src/lang/da.json
+++ b/packages/translation/src/lang/da.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": "DNS Hole Data"
},
- "sessionCleanup": {
- "label": "Sessions Oprydning"
- },
"updateChecker": {
"label": "Opdaterings checker"
},
diff --git a/packages/translation/src/lang/de-CH.json b/packages/translation/src/lang/de-CH.json
index f2071a2f7..09d389274 100644
--- a/packages/translation/src/lang/de-CH.json
+++ b/packages/translation/src/lang/de-CH.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": "DNS Hole Daten"
},
- "sessionCleanup": {
- "label": "Sitzung bereinigen"
- },
"updateChecker": {
"label": "Updateprüfer"
},
diff --git a/packages/translation/src/lang/de.json b/packages/translation/src/lang/de.json
index 2a3b4c273..3ade9ce45 100644
--- a/packages/translation/src/lang/de.json
+++ b/packages/translation/src/lang/de.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": "DNS Hole Daten"
},
- "sessionCleanup": {
- "label": "Sitzung bereinigen"
- },
"updateChecker": {
"label": "Updateprüfer"
},
diff --git a/packages/translation/src/lang/el.json b/packages/translation/src/lang/el.json
index e0a85d523..c3d3d88a8 100644
--- a/packages/translation/src/lang/el.json
+++ b/packages/translation/src/lang/el.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": ""
},
- "sessionCleanup": {
- "label": ""
- },
"updateChecker": {
"label": ""
},
diff --git a/packages/translation/src/lang/en-gb.json b/packages/translation/src/lang/en-gb.json
index e9d66e757..61461d20c 100644
--- a/packages/translation/src/lang/en-gb.json
+++ b/packages/translation/src/lang/en-gb.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": ""
},
- "sessionCleanup": {
- "label": ""
- },
"updateChecker": {
"label": ""
},
diff --git a/packages/translation/src/lang/es.json b/packages/translation/src/lang/es.json
index 510b962e2..38f87ff2a 100644
--- a/packages/translation/src/lang/es.json
+++ b/packages/translation/src/lang/es.json
@@ -954,16 +954,16 @@
"newLabel": "Nueva clave API (Credencial)"
},
"githubAppId": {
- "label": "",
- "newLabel": ""
+ "label": "ID de aplicación",
+ "newLabel": "Nuevo ID de aplicación"
},
"githubInstallationId": {
- "label": "",
- "newLabel": ""
+ "label": "ID de instalación",
+ "newLabel": "Nuevo ID de instalación"
},
"privateKey": {
- "label": "",
- "newLabel": ""
+ "label": "Clave privada",
+ "newLabel": "Nueva clave privada"
}
}
},
@@ -975,7 +975,7 @@
},
"media": {
"plural": "Imágenes",
- "search": "Encuentra una imagen",
+ "search": "Buscar una imagen",
"field": {
"name": "Nombre",
"size": "Tamaño",
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": "Datos de agujero DNS"
},
- "sessionCleanup": {
- "label": "Limpieza de sesión"
- },
"updateChecker": {
"label": "Comprobador de actualización"
},
@@ -3893,16 +3890,16 @@
"label": "Credenciales"
},
"volumes": {
- "label": ""
+ "label": "Volúmenes"
}
},
"logs": {
- "label": ""
+ "label": "Registros"
},
"certificates": {
- "label": "",
+ "label": "Certificados",
"hostnames": {
- "label": ""
+ "label": "Nombres de host"
}
}
},
@@ -3915,28 +3912,28 @@
}
},
"search": {
- "placeholder": "",
- "nothingFound": "",
+ "placeholder": "Busca lo que quieras",
+ "nothingFound": "Ningún resultado encontrado",
"error": {
- "fetch": ""
+ "fetch": "Se produjo un error al recuperar los datos"
},
"mode": {
"appIntegrationBoard": {
- "help": "",
+ "help": "Buscar aplicaciones, integraciones o tableros",
"group": {
"app": {
"title": "Aplicaciones",
"children": {
"action": {
"open": {
- "label": ""
+ "label": "Abrir URL de aplicación"
},
"edit": {
- "label": ""
+ "label": "Editar aplicación"
}
},
"detail": {
- "title": ""
+ "title": "Seleccionar una acción para la aplicación"
}
}
},
@@ -3945,122 +3942,122 @@
"children": {
"action": {
"open": {
- "label": ""
+ "label": "Abrir tablero"
},
"homeBoard": {
- "label": ""
+ "label": "Establecer como tablero de inicio"
},
"mobileBoard": {
- "label": ""
+ "label": "Establecer como tablero móvil"
},
"settings": {
- "label": ""
+ "label": "Abrir ajustes"
}
},
"detail": {
- "title": ""
+ "title": "Seleccionar una acción para el tablero"
}
}
},
"integration": {
- "title": ""
+ "title": "Integraciones"
}
}
},
"command": {
- "help": "",
+ "help": "Activar modo comando",
"group": {
"localCommand": {
- "title": ""
+ "title": "Comandos locales"
},
"globalCommand": {
- "title": "",
+ "title": "Comandos globales",
"option": {
"colorScheme": {
- "light": "",
- "dark": ""
+ "light": "Cambiar a modo claro",
+ "dark": "Cambiar a modo oscuro"
},
"language": {
- "label": "",
+ "label": "Cambiar idioma",
"children": {
"detail": {
- "title": ""
+ "title": "Selecciona tu idioma preferido"
}
}
},
"newBoard": {
- "label": ""
+ "label": "Crear un nuevo tablero"
},
"importBoard": {
- "label": ""
+ "label": "Importar un tablero"
},
"newApp": {
- "label": ""
+ "label": "Crear una nueva aplicación"
},
"newIntegration": {
- "label": "",
+ "label": "Crear una nueva integración",
"children": {
"detail": {
- "title": ""
+ "title": "Selecciona el tipo de integración que deseas crear"
}
}
},
"newUser": {
- "label": ""
+ "label": "Crear un nuevo usuario"
},
"newInvite": {
- "label": ""
+ "label": "Crear una nueva invitación"
},
"newGroup": {
- "label": ""
+ "label": "Crear un nuevo grupo"
}
}
}
}
},
"media": {
- "requestMovie": "",
- "requestSeries": "",
- "openIn": ""
+ "requestMovie": "Solicitar película",
+ "requestSeries": "Solicitar serie",
+ "openIn": "Abrir en {kind}"
},
"external": {
- "help": "",
+ "help": "Usar un motor de búsqueda externo",
"group": {
"searchEngine": {
- "title": "",
+ "title": "Motores de búsqueda",
"children": {
"action": {
"search": {
- "label": ""
+ "label": "Buscar con {name}"
}
},
"detail": {
- "title": ""
+ "title": "Selecciona una acción para el motor de búsqueda"
},
"searchResults": {
- "title": ""
+ "title": "Selecciona un resultado de búsqueda para acciones"
}
},
"option": {
"google": {
- "name": "",
- "description": ""
+ "name": "Google",
+ "description": "Buscar en la web con Google"
},
"bing": {
- "name": "",
- "description": ""
+ "name": "Bing",
+ "description": "Buscar en la web con Bing"
},
"duckduckgo": {
- "name": "",
- "description": ""
+ "name": "DuckDuckGo",
+ "description": "Buscar en la web con DuckDuckGo"
},
"torrent": {
- "name": "",
- "description": ""
+ "name": "Torrents",
+ "description": "Buscar torrents en torrentdownloads.pro"
},
"youTube": {
- "name": "",
- "description": ""
+ "name": "YouTube",
+ "description": "Buscar vídeos en YouTube"
}
}
}
@@ -4069,7 +4066,7 @@
"help": {
"group": {
"mode": {
- "title": ""
+ "title": "Modos"
},
"help": {
"title": "Ayuda",
@@ -4078,7 +4075,7 @@
"label": "Documentación"
},
"submitIssue": {
- "label": ""
+ "label": "Enviar una incidencia"
},
"discord": {
"label": "Comunidad de Discord"
@@ -4090,81 +4087,81 @@
"home": {
"group": {
"search": {
- "title": "",
+ "title": "Buscar",
"option": {
"other": {
- "label": ""
+ "label": "Buscar con otro motor de búsqueda"
},
"no-default": {
- "label": "",
- "description": ""
+ "label": "Ningún motor de búsqueda por defecto",
+ "description": "Establece un motor de búsqueda predeterminado en las preferencias"
},
"search": {
- "label": ""
+ "label": "Buscar \"{query}\" con {name}"
},
"from-integration": {
- "description": ""
+ "description": "Empieza a escribir para buscar"
}
}
},
"local": {
- "title": ""
+ "title": "Resultados locales"
}
}
},
"page": {
- "help": "",
+ "help": "Buscar páginas",
"group": {
"page": {
- "title": "",
+ "title": "Páginas",
"option": {
"manageHome": {
- "label": ""
+ "label": "Administrar página de inicio"
},
"manageBoard": {
- "label": ""
+ "label": "Administrar tableros"
},
"manageApp": {
- "label": ""
+ "label": "Administrar aplicaciones"
},
"manageIntegration": {
- "label": ""
+ "label": "Administrar integraciones"
},
"manageSearchEngine": {
- "label": ""
+ "label": "Administrar motores de búsqueda"
},
"manageMedia": {
- "label": ""
+ "label": "Administrar imágenes"
},
"manageUser": {
"label": "Administrar usuarios"
},
"manageInvite": {
- "label": ""
+ "label": "Administrar invitaciones"
},
"manageGroup": {
- "label": ""
+ "label": "Administrar grupos"
},
"manageDocker": {
- "label": ""
+ "label": "Administrar docker"
},
"manageApi": {
- "label": ""
+ "label": "Swagger API"
},
"manageLog": {
- "label": ""
+ "label": "Ver registros"
},
"manageTask": {
- "label": ""
+ "label": "Administrar tareas"
},
"manageSettings": {
- "label": ""
+ "label": "Ajustes globales"
},
"about": {
"label": "Acerca de"
},
"homeBoard": {
- "label": ""
+ "label": "Tablero de inicio"
},
"preferences": {
"label": "Tus preferencias"
@@ -4174,37 +4171,37 @@
}
},
"userGroup": {
- "help": "",
+ "help": "Buscar usuarios o grupos",
"group": {
"user": {
"title": "Usuarios",
"children": {
"action": {
"detail": {
- "label": ""
+ "label": "Mostrar detalles de usuario"
}
},
"detail": {
- "title": ""
+ "title": "Selecciona una acción para el usuario"
}
}
},
"group": {
- "title": "",
+ "title": "Grupos",
"children": {
"action": {
"detail": {
- "label": ""
+ "label": "Mostrar detalles del grupo"
},
"manageMember": {
- "label": ""
+ "label": "Administrar usuarios"
},
"managePermission": {
- "label": ""
+ "label": "Administrar permisos"
}
},
"detail": {
- "title": ""
+ "title": "Selecciona una acción para el grupo"
}
}
}
@@ -4212,72 +4209,72 @@
}
},
"engine": {
- "search": "",
+ "search": "Buscar un motor de búsqueda",
"field": {
"name": {
"label": "Nombre"
},
"short": {
- "label": ""
+ "label": "Abreviatura"
},
"urlTemplate": {
- "label": ""
+ "label": "Plantilla de búsqueda de URL"
},
"description": {
- "label": ""
+ "label": "Descripción"
}
},
"page": {
"list": {
- "title": "",
+ "title": "Motores de búsqueda",
"noResults": {
- "title": "",
- "action": ""
+ "title": "Todavía no hay motores de búsqueda",
+ "action": "Crea tu primer motor de búsqueda"
},
- "interactive": ""
+ "interactive": "Interactivo, utiliza una integración"
},
"create": {
- "title": "",
+ "title": "Nuevo motor de búsqueda",
"notification": {
"success": {
- "title": "",
- "message": ""
+ "title": "Motor de búsqueda creado",
+ "message": "El motor de búsqueda fue creado con éxito"
},
"error": {
- "title": "",
- "message": ""
+ "title": "No se creó el motor de búsqueda",
+ "message": "El motor de búsqueda no pudo ser creado"
}
}
},
"edit": {
- "title": "",
+ "title": "Editar motor de búsqueda",
"notification": {
"success": {
- "title": "",
- "message": ""
+ "title": "Cambios aplicados con éxito",
+ "message": "El motor de búsqueda se guardó con éxito"
},
"error": {
- "title": "",
- "message": ""
+ "title": "No se pudieron aplicar los cambios",
+ "message": "No se pudo guardar el motor de búsqueda"
}
},
- "configControl": "",
+ "configControl": "Configuración",
"searchEngineType": {
- "generic": "",
- "fromIntegration": ""
+ "generic": "Genérico",
+ "fromIntegration": "Desde integración"
}
},
"delete": {
- "title": "",
- "message": "",
+ "title": "Eliminar motor de búsqueda",
+ "message": "¿Estás seguro de que quieres eliminar el motor de búsqueda {name}?",
"notification": {
"success": {
- "title": "",
- "message": ""
+ "title": "Motor de búsqueda eliminado",
+ "message": "El motor de búsqueda fue eliminado con éxito"
},
"error": {
- "title": "",
- "message": ""
+ "title": "Motor de búsqueda no eliminado",
+ "message": "No se ha podido eliminar el motor de búsqueda"
}
}
}
@@ -4285,15 +4282,15 @@
"media": {
"request": {
"modal": {
- "title": "",
+ "title": "Solicitar \"{name}\"",
"table": {
"header": {
- "season": "",
- "episodes": ""
+ "season": "Temporada",
+ "episodes": "Episodios"
}
},
"button": {
- "send": ""
+ "send": "Enviar solicitud"
}
}
}
@@ -4303,89 +4300,89 @@
"certificate": {
"field": {
"hostname": {
- "label": ""
+ "label": "Nombre de host"
},
"subject": {
- "label": ""
+ "label": "Sujeto"
},
"issuer": {
- "label": ""
+ "label": "Emisor"
},
"validFrom": {
- "label": ""
+ "label": "Válido desde"
},
"validTo": {
- "label": ""
+ "label": "Válido hasta"
},
"serialNumber": {
- "label": ""
+ "label": "Número de serie"
},
"fingerprint": {
- "label": ""
+ "label": "Huella digital"
}
},
"page": {
"list": {
- "title": "",
- "description": "",
+ "title": "Certificados de confianza",
+ "description": "Utilizado por Homarr para solicitar datos de las integraciones.",
"noResults": {
- "title": ""
+ "title": "Aún no hay certificados"
},
"invalid": {
"title": "Certificado no válido",
"description": "Error al analizar el certificado"
},
- "expires": "",
- "toHostnames": ""
+ "expires": "Expira {when}",
+ "toHostnames": "Nombres de host de confianza"
},
"hostnames": {
- "title": "",
- "description": "",
+ "title": "Nombres de host de certificado de confianza",
+ "description": "Algunos certificados no permiten que el dominio específico que utiliza Homarr los solicite, debido a esto todos los nombres de host de confianza con sus huellas digitales de certificado se utilizan para eludir estas restricciones.",
"noResults": {
- "title": ""
+ "title": "Aún no hay nombres de host"
},
- "toCertificates": ""
+ "toCertificates": "Certificados"
}
},
"action": {
"create": {
- "label": "",
+ "label": "Añadir certificado",
"notification": {
"success": {
- "title": "",
- "message": ""
+ "title": "Certificado añadido",
+ "message": "El certificado fue añadido con éxito"
},
"error": {
- "title": "",
- "message": ""
+ "title": "Error al añadir el certificado",
+ "message": "No se ha podido añadir el certificado"
}
}
},
"remove": {
- "label": "",
- "confirm": "",
+ "label": "Eliminar certificado",
+ "confirm": "¿Estás seguro de que deseas eliminar el certificado?",
"notification": {
"success": {
- "title": "",
- "message": ""
+ "title": "Certificado eliminado",
+ "message": "El certificado fue eliminado con éxito"
},
"error": {
- "title": "",
- "message": ""
+ "title": "Certificado no eliminado",
+ "message": "No se ha podido eliminar el certificado"
}
}
},
"removeHostname": {
- "label": "",
- "confirm": "",
+ "label": "Eliminar nombre de host de confianza",
+ "confirm": "¿Estás seguro de que quieres eliminar este nombre de host de confianza? Esto puede causar que algunas integraciones dejen de funcionar.",
"notification": {
"success": {
- "title": "",
- "message": ""
+ "title": "Nombre de host eliminado",
+ "message": "El nombre de host fue eliminado con éxito"
},
"error": {
- "title": "",
- "message": ""
+ "title": "Nombre de host no eliminado",
+ "message": "El nombre de host no pudo ser eliminado"
}
}
}
@@ -4394,10 +4391,10 @@
"log": {
"level": {
"option": {
- "debug": "",
- "info": "",
- "warn": "",
- "error": ""
+ "debug": "Depuración",
+ "info": "Información",
+ "warn": "Advertencia",
+ "error": "Error"
}
}
}
diff --git a/packages/translation/src/lang/et.json b/packages/translation/src/lang/et.json
index 115d0b2d3..84b767c28 100644
--- a/packages/translation/src/lang/et.json
+++ b/packages/translation/src/lang/et.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": ""
},
- "sessionCleanup": {
- "label": ""
- },
"updateChecker": {
"label": ""
},
diff --git a/packages/translation/src/lang/fr.json b/packages/translation/src/lang/fr.json
index 681f1b031..d38cc1d31 100644
--- a/packages/translation/src/lang/fr.json
+++ b/packages/translation/src/lang/fr.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": "Données du puit DNS"
},
- "sessionCleanup": {
- "label": "Nettoyage de session"
- },
"updateChecker": {
"label": "Vérificateur de mise à jour"
},
diff --git a/packages/translation/src/lang/he.json b/packages/translation/src/lang/he.json
index b9c39268f..bbbc44c3f 100644
--- a/packages/translation/src/lang/he.json
+++ b/packages/translation/src/lang/he.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": "נתוני חור DNS"
},
- "sessionCleanup": {
- "label": "ניקוי סשן"
- },
"updateChecker": {
"label": "בודק עדכונים"
},
diff --git a/packages/translation/src/lang/hr.json b/packages/translation/src/lang/hr.json
index b7b0887ed..e9a4049df 100644
--- a/packages/translation/src/lang/hr.json
+++ b/packages/translation/src/lang/hr.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": ""
},
- "sessionCleanup": {
- "label": ""
- },
"updateChecker": {
"label": ""
},
diff --git a/packages/translation/src/lang/hu.json b/packages/translation/src/lang/hu.json
index 0865b068b..c20a19906 100644
--- a/packages/translation/src/lang/hu.json
+++ b/packages/translation/src/lang/hu.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": ""
},
- "sessionCleanup": {
- "label": ""
- },
"updateChecker": {
"label": ""
},
diff --git a/packages/translation/src/lang/it.json b/packages/translation/src/lang/it.json
index bfc6c99ae..d9405bcd8 100644
--- a/packages/translation/src/lang/it.json
+++ b/packages/translation/src/lang/it.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": ""
},
- "sessionCleanup": {
- "label": ""
- },
"updateChecker": {
"label": ""
},
diff --git a/packages/translation/src/lang/ja.json b/packages/translation/src/lang/ja.json
index e5570fdc0..6ab6f650c 100644
--- a/packages/translation/src/lang/ja.json
+++ b/packages/translation/src/lang/ja.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": "DNS Holeデータ"
},
- "sessionCleanup": {
- "label": "セッションのクリーンアップ"
- },
"updateChecker": {
"label": "アップデートチェッカー"
},
diff --git a/packages/translation/src/lang/ko.json b/packages/translation/src/lang/ko.json
index 7a6d01d9c..55011bace 100644
--- a/packages/translation/src/lang/ko.json
+++ b/packages/translation/src/lang/ko.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": ""
},
- "sessionCleanup": {
- "label": ""
- },
"updateChecker": {
"label": ""
},
diff --git a/packages/translation/src/lang/lt.json b/packages/translation/src/lang/lt.json
index a443804f1..a28c9cca4 100644
--- a/packages/translation/src/lang/lt.json
+++ b/packages/translation/src/lang/lt.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": ""
},
- "sessionCleanup": {
- "label": ""
- },
"updateChecker": {
"label": ""
},
diff --git a/packages/translation/src/lang/lv.json b/packages/translation/src/lang/lv.json
index 6fd393007..e8f722beb 100644
--- a/packages/translation/src/lang/lv.json
+++ b/packages/translation/src/lang/lv.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": ""
},
- "sessionCleanup": {
- "label": ""
- },
"updateChecker": {
"label": ""
},
diff --git a/packages/translation/src/lang/nl.json b/packages/translation/src/lang/nl.json
index 935d50667..648cca6dc 100644
--- a/packages/translation/src/lang/nl.json
+++ b/packages/translation/src/lang/nl.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": "DNS-hole gegevens"
},
- "sessionCleanup": {
- "label": "Sessie opruimen"
- },
"updateChecker": {
"label": "Update checker"
},
diff --git a/packages/translation/src/lang/no.json b/packages/translation/src/lang/no.json
index 08ce1c9b5..92ab8b8a0 100644
--- a/packages/translation/src/lang/no.json
+++ b/packages/translation/src/lang/no.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": "DNS Hole Data"
},
- "sessionCleanup": {
- "label": "Økt opprydding"
- },
"updateChecker": {
"label": "Oppdateringssjekk"
},
diff --git a/packages/translation/src/lang/pl.json b/packages/translation/src/lang/pl.json
index d80068cd8..c2e4860c7 100644
--- a/packages/translation/src/lang/pl.json
+++ b/packages/translation/src/lang/pl.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": "Dane DNS Hole"
},
- "sessionCleanup": {
- "label": "Czyszczenie sesji"
- },
"updateChecker": {
"label": "Sprawdzanie aktualizacji"
},
diff --git a/packages/translation/src/lang/pt.json b/packages/translation/src/lang/pt.json
index abac3cf08..c6750dfc1 100644
--- a/packages/translation/src/lang/pt.json
+++ b/packages/translation/src/lang/pt.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": ""
},
- "sessionCleanup": {
- "label": ""
- },
"updateChecker": {
"label": ""
},
diff --git a/packages/translation/src/lang/ro.json b/packages/translation/src/lang/ro.json
index 6440f5ae4..3d2ee7d4d 100644
--- a/packages/translation/src/lang/ro.json
+++ b/packages/translation/src/lang/ro.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": ""
},
- "sessionCleanup": {
- "label": ""
- },
"updateChecker": {
"label": ""
},
diff --git a/packages/translation/src/lang/ru.json b/packages/translation/src/lang/ru.json
index 47bcabf4a..0e6f2c4c0 100644
--- a/packages/translation/src/lang/ru.json
+++ b/packages/translation/src/lang/ru.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": "Данные DNS-фильтра"
},
- "sessionCleanup": {
- "label": "Очистка сессий"
- },
"updateChecker": {
"label": "Проверка обновлений"
},
diff --git a/packages/translation/src/lang/sk.json b/packages/translation/src/lang/sk.json
index 898bd6334..34b9ca904 100644
--- a/packages/translation/src/lang/sk.json
+++ b/packages/translation/src/lang/sk.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": "Údaje o dierach DNS"
},
- "sessionCleanup": {
- "label": "Čistenie relácie"
- },
"updateChecker": {
"label": "Kontrola aktualizácií"
},
diff --git a/packages/translation/src/lang/sl.json b/packages/translation/src/lang/sl.json
index c55eb91f5..1261a03d5 100644
--- a/packages/translation/src/lang/sl.json
+++ b/packages/translation/src/lang/sl.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": ""
},
- "sessionCleanup": {
- "label": ""
- },
"updateChecker": {
"label": ""
},
diff --git a/packages/translation/src/lang/sv.json b/packages/translation/src/lang/sv.json
index 8732c6833..db202e2a0 100644
--- a/packages/translation/src/lang/sv.json
+++ b/packages/translation/src/lang/sv.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": ""
},
- "sessionCleanup": {
- "label": ""
- },
"updateChecker": {
"label": ""
},
diff --git a/packages/translation/src/lang/tr.json b/packages/translation/src/lang/tr.json
index 51ec6773b..f223f06f4 100644
--- a/packages/translation/src/lang/tr.json
+++ b/packages/translation/src/lang/tr.json
@@ -954,16 +954,16 @@
"newLabel": "Yeni API Anahtarı (Gizli Anahtar)"
},
"githubAppId": {
- "label": "",
- "newLabel": ""
+ "label": "Uygulama Kimliği",
+ "newLabel": "Yeni Uygulama Kimliği"
},
"githubInstallationId": {
- "label": "",
- "newLabel": ""
+ "label": "Kurulum Kimliği",
+ "newLabel": "Yeni Kurulum Kimliği"
},
"privateKey": {
- "label": "",
- "newLabel": ""
+ "label": "Özel Anahtar",
+ "newLabel": "Yeni özel anahtar"
}
}
},
@@ -2273,7 +2273,7 @@
"label": "Gönderi sayısı sınırı"
},
"hideDescription": {
- "label": ""
+ "label": "Açıklamayı gizle"
}
}
},
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": "DNS Çözümleyici Verileri"
},
- "sessionCleanup": {
- "label": "Oturum Temizleme"
- },
"updateChecker": {
"label": "Güncelleme denetleyicisi"
},
diff --git a/packages/translation/src/lang/uk.json b/packages/translation/src/lang/uk.json
index edcee81cc..7f131069a 100644
--- a/packages/translation/src/lang/uk.json
+++ b/packages/translation/src/lang/uk.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": ""
},
- "sessionCleanup": {
- "label": ""
- },
"updateChecker": {
"label": ""
},
diff --git a/packages/translation/src/lang/vi.json b/packages/translation/src/lang/vi.json
index a4fc8f483..6883a4990 100644
--- a/packages/translation/src/lang/vi.json
+++ b/packages/translation/src/lang/vi.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": ""
},
- "sessionCleanup": {
- "label": ""
- },
"updateChecker": {
"label": ""
},
diff --git a/packages/translation/src/lang/zh.json b/packages/translation/src/lang/zh.json
index 4880f7965..b2b0e1aa1 100644
--- a/packages/translation/src/lang/zh.json
+++ b/packages/translation/src/lang/zh.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": "DNS Hole 數據"
},
- "sessionCleanup": {
- "label": "會話清理"
- },
"updateChecker": {
"label": "更新檢查"
},
From 6880d61d6b6392b10911d35ffada8102d5b0d6f7 Mon Sep 17 00:00:00 2001
From: "homarr-renovate[bot]"
<158783068+homarr-renovate[bot]@users.noreply.github.com>
Date: Sat, 13 Sep 2025 06:24:47 +0000
Subject: [PATCH 07/42] fix(deps): update dependency jotai to ^2.14.0 (#4066)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
---
apps/nextjs/package.json | 2 +-
packages/spotlight/package.json | 2 +-
pnpm-lock.yaml | 16 ++++++++--------
3 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/apps/nextjs/package.json b/apps/nextjs/package.json
index 6f22469eb..a76027b1d 100644
--- a/apps/nextjs/package.json
+++ b/apps/nextjs/package.json
@@ -74,7 +74,7 @@
"dotenv": "^17.2.2",
"flag-icons": "^7.5.0",
"glob": "^11.0.3",
- "jotai": "^2.13.1",
+ "jotai": "^2.14.0",
"mantine-react-table": "2.0.0-beta.9",
"next": "15.5.2",
"postcss-preset-mantine": "^1.18.0",
diff --git a/packages/spotlight/package.json b/packages/spotlight/package.json
index 0e9451efc..b48e0a59c 100644
--- a/packages/spotlight/package.json
+++ b/packages/spotlight/package.json
@@ -37,7 +37,7 @@
"@mantine/hooks": "^8.2.8",
"@mantine/spotlight": "^8.2.8",
"@tabler/icons-react": "^3.34.1",
- "jotai": "^2.13.1",
+ "jotai": "^2.14.0",
"next": "15.5.2",
"react": "19.1.1",
"react-dom": "19.1.1",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index b1fabddb2..2f746af88 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -283,8 +283,8 @@ importers:
specifier: ^11.0.3
version: 11.0.3
jotai:
- specifier: ^2.13.1
- version: 2.13.1(@babel/core@7.26.0)(@babel/template@7.27.2)(@types/react@19.1.12)(react@19.1.1)
+ specifier: ^2.14.0
+ version: 2.14.0(@babel/core@7.26.0)(@babel/template@7.27.2)(@types/react@19.1.12)(react@19.1.1)
mantine-react-table:
specifier: 2.0.0-beta.9
version: 2.0.0-beta.9(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/dates@8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(@tabler/icons-react@3.34.1(react@19.1.1))(clsx@2.1.1)(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
@@ -2027,8 +2027,8 @@ importers:
specifier: ^3.34.1
version: 3.34.1(react@19.1.1)
jotai:
- specifier: ^2.13.1
- version: 2.13.1(@babel/core@7.28.3)(@babel/template@7.27.2)(@types/react@19.1.12)(react@19.1.1)
+ specifier: ^2.14.0
+ version: 2.14.0(@babel/core@7.28.3)(@babel/template@7.27.2)(@types/react@19.1.12)(react@19.1.1)
next:
specifier: 15.5.2
version: 15.5.2(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1)
@@ -7398,8 +7398,8 @@ packages:
jose@6.0.8:
resolution: {integrity: sha512-EyUPtOKyTYq+iMOszO42eobQllaIjJnwkZ2U93aJzNyPibCy7CEvT9UQnaCVB51IAd49gbNdCew1c0LcLTCB2g==}
- jotai@2.13.1:
- resolution: {integrity: sha512-cRsw6kFeGC9Z/D3egVKrTXRweycZ4z/k7i2MrfCzPYsL9SIWcPXTyqv258/+Ay8VUEcihNiE/coBLE6Kic6b8A==}
+ jotai@2.14.0:
+ resolution: {integrity: sha512-JQkNkTnqjk1BlSUjHfXi+pGG/573bVN104gp6CymhrWDseZGDReTNniWrLhJ+zXbM6pH+82+UNJ2vwYQUkQMWQ==}
engines: {node: '>=12.20.0'}
peerDependencies:
'@babel/core': '>=7.0.0'
@@ -16492,14 +16492,14 @@ snapshots:
jose@6.0.8: {}
- jotai@2.13.1(@babel/core@7.26.0)(@babel/template@7.27.2)(@types/react@19.1.12)(react@19.1.1):
+ jotai@2.14.0(@babel/core@7.26.0)(@babel/template@7.27.2)(@types/react@19.1.12)(react@19.1.1):
optionalDependencies:
'@babel/core': 7.26.0
'@babel/template': 7.27.2
'@types/react': 19.1.12
react: 19.1.1
- jotai@2.13.1(@babel/core@7.28.3)(@babel/template@7.27.2)(@types/react@19.1.12)(react@19.1.1):
+ jotai@2.14.0(@babel/core@7.28.3)(@babel/template@7.27.2)(@types/react@19.1.12)(react@19.1.1):
optionalDependencies:
'@babel/core': 7.28.3
'@babel/template': 7.27.2
From cd4c236e5e6bf5f38f86e8e70a04cdd29bc484a3 Mon Sep 17 00:00:00 2001
From: "homarr-renovate[bot]"
<158783068+homarr-renovate[bot]@users.noreply.github.com>
Date: Sat, 13 Sep 2025 09:19:52 +0000
Subject: [PATCH 08/42] fix(deps): update dependency mysql2 to v3.14.5 (#4067)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
---
packages/db/package.json | 2 +-
pnpm-lock.yaml | 22 +++++++++++-----------
2 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/packages/db/package.json b/packages/db/package.json
index 0968462ae..62890bfdb 100644
--- a/packages/db/package.json
+++ b/packages/db/package.json
@@ -58,7 +58,7 @@
"drizzle-kit": "^0.31.4",
"drizzle-orm": "^0.44.5",
"drizzle-zod": "^0.8.3",
- "mysql2": "3.14.4",
+ "mysql2": "3.14.5",
"pg": "^8.16.3",
"superjson": "2.2.2"
},
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 2f746af88..dd11bf7c6 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -1166,13 +1166,13 @@ importers:
version: 0.31.4
drizzle-orm:
specifier: ^0.44.5
- version: 0.44.5(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(gel@2.0.0)(mysql2@3.14.4)(pg@8.16.3)
+ version: 0.44.5(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(gel@2.0.0)(mysql2@3.14.5)(pg@8.16.3)
drizzle-zod:
specifier: ^0.8.3
- version: 0.8.3(drizzle-orm@0.44.5(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(gel@2.0.0)(mysql2@3.14.4)(pg@8.16.3))(zod@4.1.5)
+ version: 0.8.3(drizzle-orm@0.44.5(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(gel@2.0.0)(mysql2@3.14.5)(pg@8.16.3))(zod@4.1.5)
mysql2:
- specifier: 3.14.4
- version: 3.14.4
+ specifier: 3.14.5
+ version: 3.14.5
pg:
specifier: ^8.16.3
version: 8.16.3
@@ -7944,8 +7944,8 @@ packages:
engines: {node: '>=8', npm: '>=5'}
hasBin: true
- mysql2@3.14.4:
- resolution: {integrity: sha512-Cs/jx3WZPNrYHVz+Iunp9ziahaG5uFMvD2R8Zlmc194AqXNxt9HBNu7ZsPYrUtmJsF0egETCWIdMIYAwOGjL1w==}
+ mysql2@3.14.5:
+ resolution: {integrity: sha512-40hDf8LPUsuuJ2hFq+UgOuPwt2IFLIRDvMv6ez9hKbXeYuZPxDDwiJW7KdknvOsQqKznaKczOT1kELgFkhDvFg==}
engines: {node: '>= 8.0'}
mz@2.7.0:
@@ -14788,19 +14788,19 @@ snapshots:
transitivePeerDependencies:
- supports-color
- drizzle-orm@0.44.5(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(gel@2.0.0)(mysql2@3.14.4)(pg@8.16.3):
+ drizzle-orm@0.44.5(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(gel@2.0.0)(mysql2@3.14.5)(pg@8.16.3):
optionalDependencies:
'@libsql/client-wasm': 0.14.0
'@types/better-sqlite3': 7.6.13
'@types/pg': 8.15.5
better-sqlite3: 12.2.0
gel: 2.0.0
- mysql2: 3.14.4
+ mysql2: 3.14.5
pg: 8.16.3
- drizzle-zod@0.8.3(drizzle-orm@0.44.5(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(gel@2.0.0)(mysql2@3.14.4)(pg@8.16.3))(zod@4.1.5):
+ drizzle-zod@0.8.3(drizzle-orm@0.44.5(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(gel@2.0.0)(mysql2@3.14.5)(pg@8.16.3))(zod@4.1.5):
dependencies:
- drizzle-orm: 0.44.5(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(gel@2.0.0)(mysql2@3.14.4)(pg@8.16.3)
+ drizzle-orm: 0.44.5(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(gel@2.0.0)(mysql2@3.14.5)(pg@8.16.3)
zod: 4.1.5
dunder-proto@1.0.1:
@@ -17148,7 +17148,7 @@ snapshots:
'@babel/runtime': 7.28.4
global: 4.4.0
- mysql2@3.14.4:
+ mysql2@3.14.5:
dependencies:
aws-ssl-profiles: 1.1.2
denque: 2.1.0
From cb7a6abca7b6908d41bf50c71f7fce491af548e6 Mon Sep 17 00:00:00 2001
From: Meier Lukas
Date: Sat, 13 Sep 2025 12:32:21 +0200
Subject: [PATCH 09/42] feat(notebook-widget): add confirmation on dismiss
(#4064)
---
packages/translation/src/lang/en.json | 10 +++++++++-
packages/widgets/src/notebook/notebook.tsx | 16 ++++++++++++++--
2 files changed, 23 insertions(+), 3 deletions(-)
diff --git a/packages/translation/src/lang/en.json b/packages/translation/src/lang/en.json
index 8b5e89369..7c31ce087 100644
--- a/packages/translation/src/lang/en.json
+++ b/packages/translation/src/lang/en.json
@@ -1543,7 +1543,15 @@
"width": "Width",
"height": "Height"
},
- "placeholder": "Start writing your notes"
+ "placeholder": "Start writing your notes",
+ "dismiss": {
+ "title": "Dismiss changes?",
+ "message": "You have unsaved changes in your notebook. Are you sure you want to discard them?",
+ "action": {
+ "discard": "Discard changes",
+ "keepEditing": "Keep editing"
+ }
+ }
},
"iframe": {
"name": "iFrame",
diff --git a/packages/widgets/src/notebook/notebook.tsx b/packages/widgets/src/notebook/notebook.tsx
index 28a8d27eb..af8062945 100644
--- a/packages/widgets/src/notebook/notebook.tsx
+++ b/packages/widgets/src/notebook/notebook.tsx
@@ -72,6 +72,7 @@ import "./notebook.css";
import { useSession } from "@homarr/auth/client";
import { constructBoardPermissions } from "@homarr/auth/shared";
import { useRequiredBoard } from "@homarr/boards/context";
+import { useConfirmModal } from "@homarr/modals";
const iconProps = {
size: 30,
@@ -240,9 +241,20 @@ export function Notebook({ options, setOptions, isEditMode, boardId, itemId }: W
return false;
}, [editor]);
+ const { openConfirmModal } = useConfirmModal();
const handleEditCancel = useCallback(() => {
- setIsEditing(handleEditCancelCallback);
- }, [setIsEditing, handleEditCancelCallback]);
+ openConfirmModal({
+ title: t("widget.notebook.dismiss.title"),
+ children: t("widget.notebook.dismiss.message"),
+ labels: {
+ confirm: t("widget.notebook.dismiss.action.discard"),
+ cancel: t("widget.notebook.dismiss.action.keepEditing"),
+ },
+ onConfirm: () => {
+ setIsEditing(handleEditCancelCallback);
+ },
+ });
+ }, [setIsEditing, handleEditCancelCallback, openConfirmModal, t]);
const handleEditToggle = useCallback(() => {
setIsEditing(handleEditToggleCallback);
From 8c24da87320f1d1a54aee5e87254c4bfcc993fb5 Mon Sep 17 00:00:00 2001
From: "homarr-renovate[bot]"
<158783068+homarr-renovate[bot]@users.noreply.github.com>
Date: Sat, 13 Sep 2025 11:16:56 +0000
Subject: [PATCH 10/42] fix(deps): update mantine monorepo to ^8.3.0 (#4068)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
---
apps/nextjs/package.json | 12 +-
packages/db/package.json | 2 +-
packages/form/package.json | 2 +-
packages/forms-collection/package.json | 2 +-
packages/modals-collection/package.json | 2 +-
packages/modals/package.json | 4 +-
packages/notifications/package.json | 2 +-
packages/old-import/package.json | 4 +-
packages/settings/package.json | 2 +-
packages/spotlight/package.json | 6 +-
packages/ui/package.json | 6 +-
packages/widgets/package.json | 6 +-
pnpm-lock.yaml | 336 ++++++++++++------------
13 files changed, 193 insertions(+), 193 deletions(-)
diff --git a/apps/nextjs/package.json b/apps/nextjs/package.json
index a76027b1d..2f739de65 100644
--- a/apps/nextjs/package.json
+++ b/apps/nextjs/package.json
@@ -50,12 +50,12 @@
"@homarr/ui": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
"@homarr/widgets": "workspace:^0.1.0",
- "@mantine/colors-generator": "^8.2.8",
- "@mantine/core": "^8.2.8",
- "@mantine/dropzone": "^8.2.8",
- "@mantine/hooks": "^8.2.8",
- "@mantine/modals": "^8.2.8",
- "@mantine/tiptap": "^8.2.8",
+ "@mantine/colors-generator": "^8.3.0",
+ "@mantine/core": "^8.3.0",
+ "@mantine/dropzone": "^8.3.0",
+ "@mantine/hooks": "^8.3.0",
+ "@mantine/modals": "^8.3.0",
+ "@mantine/tiptap": "^8.3.0",
"@million/lint": "1.0.14",
"@tabler/icons-react": "^3.34.1",
"@tanstack/react-query": "^5.87.1",
diff --git a/packages/db/package.json b/packages/db/package.json
index 62890bfdb..2ca5c6796 100644
--- a/packages/db/package.json
+++ b/packages/db/package.json
@@ -49,7 +49,7 @@
"@homarr/definitions": "workspace:^0.1.0",
"@homarr/log": "workspace:^0.1.0",
"@homarr/server-settings": "workspace:^0.1.0",
- "@mantine/core": "^8.2.8",
+ "@mantine/core": "^8.3.0",
"@paralleldrive/cuid2": "^2.2.2",
"@testcontainers/mysql": "^11.5.1",
"@testcontainers/postgresql": "^11.5.1",
diff --git a/packages/form/package.json b/packages/form/package.json
index 36fad1dc0..c4955e3a2 100644
--- a/packages/form/package.json
+++ b/packages/form/package.json
@@ -26,7 +26,7 @@
"@homarr/common": "workspace:^0.1.0",
"@homarr/translation": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
- "@mantine/form": "^8.2.8",
+ "@mantine/form": "^8.3.0",
"mantine-form-zod-resolver": "^1.3.0",
"zod": "^4.1.5"
},
diff --git a/packages/forms-collection/package.json b/packages/forms-collection/package.json
index e0431a4ea..e4b567fce 100644
--- a/packages/forms-collection/package.json
+++ b/packages/forms-collection/package.json
@@ -29,7 +29,7 @@
"@homarr/notifications": "workspace:^0.1.0",
"@homarr/translation": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
- "@mantine/core": "^8.2.8",
+ "@mantine/core": "^8.3.0",
"react": "19.1.1",
"zod": "^4.1.5"
},
diff --git a/packages/modals-collection/package.json b/packages/modals-collection/package.json
index 337d15aad..eec8fc5ea 100644
--- a/packages/modals-collection/package.json
+++ b/packages/modals-collection/package.json
@@ -33,7 +33,7 @@
"@homarr/translation": "workspace:^0.1.0",
"@homarr/ui": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
- "@mantine/core": "^8.2.8",
+ "@mantine/core": "^8.3.0",
"@tabler/icons-react": "^3.34.1",
"dayjs": "^1.11.18",
"next": "15.5.2",
diff --git a/packages/modals/package.json b/packages/modals/package.json
index e5a9a09ea..5dde7b299 100644
--- a/packages/modals/package.json
+++ b/packages/modals/package.json
@@ -24,8 +24,8 @@
"dependencies": {
"@homarr/translation": "workspace:^0.1.0",
"@homarr/ui": "workspace:^0.1.0",
- "@mantine/core": "^8.2.8",
- "@mantine/hooks": "^8.2.8",
+ "@mantine/core": "^8.3.0",
+ "@mantine/hooks": "^8.3.0",
"react": "19.1.1"
},
"devDependencies": {
diff --git a/packages/notifications/package.json b/packages/notifications/package.json
index 3d7f4ba34..bf026f551 100644
--- a/packages/notifications/package.json
+++ b/packages/notifications/package.json
@@ -24,7 +24,7 @@
"prettier": "@homarr/prettier-config",
"dependencies": {
"@homarr/ui": "workspace:^0.1.0",
- "@mantine/notifications": "^8.2.8",
+ "@mantine/notifications": "^8.3.0",
"@tabler/icons-react": "^3.34.1"
},
"devDependencies": {
diff --git a/packages/old-import/package.json b/packages/old-import/package.json
index 764a91c64..addeb4457 100644
--- a/packages/old-import/package.json
+++ b/packages/old-import/package.json
@@ -37,8 +37,8 @@
"@homarr/translation": "workspace:^0.1.0",
"@homarr/ui": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
- "@mantine/core": "^8.2.8",
- "@mantine/hooks": "^8.2.8",
+ "@mantine/core": "^8.3.0",
+ "@mantine/hooks": "^8.3.0",
"adm-zip": "0.5.16",
"next": "15.5.2",
"react": "19.1.1",
diff --git a/packages/settings/package.json b/packages/settings/package.json
index 9ad13793f..cd17389b6 100644
--- a/packages/settings/package.json
+++ b/packages/settings/package.json
@@ -26,7 +26,7 @@
"@homarr/api": "workspace:^0.1.0",
"@homarr/db": "workspace:^0.1.0",
"@homarr/server-settings": "workspace:^0.1.0",
- "@mantine/dates": "^8.2.8",
+ "@mantine/dates": "^8.3.0",
"next": "15.5.2",
"react": "19.1.1",
"react-dom": "19.1.1"
diff --git a/packages/spotlight/package.json b/packages/spotlight/package.json
index b48e0a59c..e9b0e9309 100644
--- a/packages/spotlight/package.json
+++ b/packages/spotlight/package.json
@@ -33,9 +33,9 @@
"@homarr/settings": "workspace:^0.1.0",
"@homarr/translation": "workspace:^0.1.0",
"@homarr/ui": "workspace:^0.1.0",
- "@mantine/core": "^8.2.8",
- "@mantine/hooks": "^8.2.8",
- "@mantine/spotlight": "^8.2.8",
+ "@mantine/core": "^8.3.0",
+ "@mantine/hooks": "^8.3.0",
+ "@mantine/spotlight": "^8.3.0",
"@tabler/icons-react": "^3.34.1",
"jotai": "^2.14.0",
"next": "15.5.2",
diff --git a/packages/ui/package.json b/packages/ui/package.json
index 34d5be407..a3a168d91 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -30,9 +30,9 @@
"@homarr/log": "workspace:^0.1.0",
"@homarr/translation": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
- "@mantine/core": "^8.2.8",
- "@mantine/dates": "^8.2.8",
- "@mantine/hooks": "^8.2.8",
+ "@mantine/core": "^8.3.0",
+ "@mantine/dates": "^8.3.0",
+ "@mantine/hooks": "^8.3.0",
"@tabler/icons-react": "^3.34.1",
"mantine-react-table": "2.0.0-beta.9",
"next": "15.5.2",
diff --git a/packages/widgets/package.json b/packages/widgets/package.json
index 2b69d10ec..594e2b645 100644
--- a/packages/widgets/package.json
+++ b/packages/widgets/package.json
@@ -48,9 +48,9 @@
"@homarr/translation": "workspace:^0.1.0",
"@homarr/ui": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
- "@mantine/charts": "^8.2.8",
- "@mantine/core": "^8.2.8",
- "@mantine/hooks": "^8.2.8",
+ "@mantine/charts": "^8.3.0",
+ "@mantine/core": "^8.3.0",
+ "@mantine/hooks": "^8.3.0",
"@tabler/icons-react": "^3.34.1",
"@tiptap/extension-color": "2.26.1",
"@tiptap/extension-highlight": "2.26.1",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index dd11bf7c6..f5ad14283 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -211,23 +211,23 @@ importers:
specifier: workspace:^0.1.0
version: link:../../packages/widgets
'@mantine/colors-generator':
- specifier: ^8.2.8
- version: 8.2.8(chroma-js@3.1.2)
+ specifier: ^8.3.0
+ version: 8.3.1(chroma-js@3.1.2)
'@mantine/core':
- specifier: ^8.2.8
- version: 8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ specifier: ^8.3.0
+ version: 8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@mantine/dropzone':
- specifier: ^8.2.8
- version: 8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ specifier: ^8.3.0
+ version: 8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@mantine/hooks':
- specifier: ^8.2.8
- version: 8.2.8(react@19.1.1)
+ specifier: ^8.3.0
+ version: 8.3.1(react@19.1.1)
'@mantine/modals':
- specifier: ^8.2.8
- version: 8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ specifier: ^8.3.0
+ version: 8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@mantine/tiptap':
- specifier: ^8.2.8
- version: 8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(@tiptap/extension-link@2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))(@tiptap/pm@2.26.1))(@tiptap/react@2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))(@tiptap/pm@2.26.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ specifier: ^8.3.0
+ version: 8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(@tiptap/extension-link@2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))(@tiptap/pm@2.26.1))(@tiptap/react@2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))(@tiptap/pm@2.26.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@million/lint':
specifier: 1.0.14
version: 1.0.14(webpack-sources@3.2.3)
@@ -287,7 +287,7 @@ importers:
version: 2.14.0(@babel/core@7.26.0)(@babel/template@7.27.2)(@types/react@19.1.12)(react@19.1.1)
mantine-react-table:
specifier: 2.0.0-beta.9
- version: 2.0.0-beta.9(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/dates@8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(@tabler/icons-react@3.34.1(react@19.1.1))(clsx@2.1.1)(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ version: 2.0.0-beta.9(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/dates@8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(@tabler/icons-react@3.34.1(react@19.1.1))(clsx@2.1.1)(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
next:
specifier: 15.5.2
version: 15.5.2(@babel/core@7.26.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1)
@@ -1144,8 +1144,8 @@ importers:
specifier: workspace:^0.1.0
version: link:../server-settings
'@mantine/core':
- specifier: ^8.2.8
- version: 8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ specifier: ^8.3.0
+ version: 8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@paralleldrive/cuid2':
specifier: ^2.2.2
version: 2.2.2
@@ -1288,11 +1288,11 @@ importers:
specifier: workspace:^0.1.0
version: link:../validation
'@mantine/form':
- specifier: ^8.2.8
- version: 8.2.8(react@19.1.1)
+ specifier: ^8.3.0
+ version: 8.3.1(react@19.1.1)
mantine-form-zod-resolver:
specifier: ^1.3.0
- version: 1.3.0(@mantine/form@8.2.8(react@19.1.1))(zod@4.1.5)
+ version: 1.3.0(@mantine/form@8.3.1(react@19.1.1))(zod@4.1.5)
zod:
specifier: ^4.1.5
version: 4.1.5
@@ -1337,8 +1337,8 @@ importers:
specifier: workspace:^0.1.0
version: link:../validation
'@mantine/core':
- specifier: ^8.2.8
- version: 8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ specifier: ^8.3.0
+ version: 8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
react:
specifier: 19.1.1
version: 19.1.1
@@ -1564,11 +1564,11 @@ importers:
specifier: workspace:^0.1.0
version: link:../ui
'@mantine/core':
- specifier: ^8.2.8
- version: 8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ specifier: ^8.3.0
+ version: 8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@mantine/hooks':
- specifier: ^8.2.8
- version: 8.2.8(react@19.1.1)
+ specifier: ^8.3.0
+ version: 8.3.1(react@19.1.1)
react:
specifier: 19.1.1
version: 19.1.1
@@ -1625,8 +1625,8 @@ importers:
specifier: workspace:^0.1.0
version: link:../validation
'@mantine/core':
- specifier: ^8.2.8
- version: 8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ specifier: ^8.3.0
+ version: 8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@tabler/icons-react':
specifier: ^3.34.1
version: 3.34.1(react@19.1.1)
@@ -1668,8 +1668,8 @@ importers:
specifier: workspace:^0.1.0
version: link:../ui
'@mantine/notifications':
- specifier: ^8.2.8
- version: 8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ specifier: ^8.3.0
+ version: 8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@tabler/icons-react':
specifier: ^3.34.1
version: 3.34.1(react@19.1.1)
@@ -1726,11 +1726,11 @@ importers:
specifier: workspace:^0.1.0
version: link:../validation
'@mantine/core':
- specifier: ^8.2.8
- version: 8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ specifier: ^8.3.0
+ version: 8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@mantine/hooks':
- specifier: ^8.2.8
- version: 8.2.8(react@19.1.1)
+ specifier: ^8.3.0
+ version: 8.3.1(react@19.1.1)
adm-zip:
specifier: 0.5.16
version: 0.5.16
@@ -1954,8 +1954,8 @@ importers:
specifier: workspace:^0.1.0
version: link:../server-settings
'@mantine/dates':
- specifier: ^8.2.8
- version: 8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ specifier: ^8.3.0
+ version: 8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
next:
specifier: 15.5.2
version: 15.5.2(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1)
@@ -2015,14 +2015,14 @@ importers:
specifier: workspace:^0.1.0
version: link:../ui
'@mantine/core':
- specifier: ^8.2.8
- version: 8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ specifier: ^8.3.0
+ version: 8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@mantine/hooks':
- specifier: ^8.2.8
- version: 8.2.8(react@19.1.1)
+ specifier: ^8.3.0
+ version: 8.3.1(react@19.1.1)
'@mantine/spotlight':
- specifier: ^8.2.8
- version: 8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ specifier: ^8.3.0
+ version: 8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@tabler/icons-react':
specifier: ^3.34.1
version: 3.34.1(react@19.1.1)
@@ -2074,7 +2074,7 @@ importers:
version: 4.3.1
mantine-react-table:
specifier: 2.0.0-beta.9
- version: 2.0.0-beta.9(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/dates@8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(@tabler/icons-react@3.34.1(react@19.1.1))(clsx@2.1.1)(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ version: 2.0.0-beta.9(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/dates@8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(@tabler/icons-react@3.34.1(react@19.1.1))(clsx@2.1.1)(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
next:
specifier: 15.5.2
version: 15.5.2(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1)
@@ -2122,20 +2122,20 @@ importers:
specifier: workspace:^0.1.0
version: link:../validation
'@mantine/core':
- specifier: ^8.2.8
- version: 8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ specifier: ^8.3.0
+ version: 8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@mantine/dates':
- specifier: ^8.2.8
- version: 8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ specifier: ^8.3.0
+ version: 8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@mantine/hooks':
- specifier: ^8.2.8
- version: 8.2.8(react@19.1.1)
+ specifier: ^8.3.0
+ version: 8.3.1(react@19.1.1)
'@tabler/icons-react':
specifier: ^3.34.1
version: 3.34.1(react@19.1.1)
mantine-react-table:
specifier: 2.0.0-beta.9
- version: 2.0.0-beta.9(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/dates@8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(@tabler/icons-react@3.34.1(react@19.1.1))(clsx@2.1.1)(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ version: 2.0.0-beta.9(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/dates@8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(@tabler/icons-react@3.34.1(react@19.1.1))(clsx@2.1.1)(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
next:
specifier: 15.5.2
version: 15.5.2(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1)
@@ -2271,14 +2271,14 @@ importers:
specifier: workspace:^0.1.0
version: link:../validation
'@mantine/charts':
- specifier: ^8.2.8
- version: 8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(recharts@2.15.4(react-dom@19.1.1(react@19.1.1))(react@19.1.1))
+ specifier: ^8.3.0
+ version: 8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(recharts@2.15.4(react-dom@19.1.1(react@19.1.1))(react@19.1.1))
'@mantine/core':
- specifier: ^8.2.8
- version: 8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ specifier: ^8.3.0
+ version: 8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@mantine/hooks':
- specifier: ^8.2.8
- version: 8.2.8(react@19.1.1)
+ specifier: ^8.3.0
+ version: 8.3.1(react@19.1.1)
'@tabler/icons-react':
specifier: ^3.34.1
version: 3.34.1(react@19.1.1)
@@ -2338,10 +2338,10 @@ importers:
version: 1.11.18
mantine-form-zod-resolver:
specifier: ^1.3.0
- version: 1.3.0(@mantine/form@8.2.8(react@19.1.1))(zod@4.1.5)
+ version: 1.3.0(@mantine/form@8.3.1(react@19.1.1))(zod@4.1.5)
mantine-react-table:
specifier: 2.0.0-beta.9
- version: 2.0.0-beta.9(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/dates@8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(@tabler/icons-react@3.34.1(react@19.1.1))(clsx@2.1.1)(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ version: 2.0.0-beta.9(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/dates@8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(@tabler/icons-react@3.34.1(react@19.1.1))(clsx@2.1.1)(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
next:
specifier: 15.5.2
version: 15.5.2(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1)
@@ -3001,26 +3001,26 @@ packages:
'@fastify/proxy-addr@5.0.0':
resolution: {integrity: sha512-37qVVA1qZ5sgH7KpHkkC4z9SK6StIsIcOmpjvMPXNb3vx2GQxhZocogVYbr2PbbeLCQxYIPDok307xEvRZOzGA==}
- '@floating-ui/core@1.6.8':
- resolution: {integrity: sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==}
+ '@floating-ui/core@1.7.3':
+ resolution: {integrity: sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==}
- '@floating-ui/dom@1.6.11':
- resolution: {integrity: sha512-qkMCxSR24v2vGkhYDo/UzxfJN3D4syqSjyuTFz6C7XcpU1pASPRieNI0Kj5VP3/503mOfYiGY891ugBX1GlABQ==}
+ '@floating-ui/dom@1.7.4':
+ resolution: {integrity: sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==}
- '@floating-ui/react-dom@2.1.2':
- resolution: {integrity: sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==}
+ '@floating-ui/react-dom@2.1.6':
+ resolution: {integrity: sha512-4JX6rEatQEvlmgU80wZyq9RT96HZJa88q8hp0pBd+LrczeDI4o6uA2M+uvxngVHo4Ihr8uibXxH6+70zhAFrVw==}
peerDependencies:
react: '>=16.8.0'
react-dom: '>=16.8.0'
- '@floating-ui/react@0.26.28':
- resolution: {integrity: sha512-yORQuuAtVpiRjpMhdc0wJj06b9JFjrYF4qp96j++v2NBpbi6SEGF7donUJ3TMieerQ6qVkAv1tgr7L4r5roTqw==}
+ '@floating-ui/react@0.27.16':
+ resolution: {integrity: sha512-9O8N4SeG2z++TSM8QA/KTeKFBVCNEz/AGS7gWPJf6KFRzmRWixFRnCnkPHRDwSVZW6QPDO6uT0P2SpWNKCc9/g==}
peerDependencies:
- react: '>=16.8.0'
- react-dom: '>=16.8.0'
+ react: '>=17.0.0'
+ react-dom: '>=17.0.0'
- '@floating-ui/utils@0.2.8':
- resolution: {integrity: sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==}
+ '@floating-ui/utils@0.2.10':
+ resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==}
'@formatjs/ecma402-abstract@2.2.0':
resolution: {integrity: sha512-IpM+ev1E4QLtstniOE29W1rqH9eTdx5hQdNL8pzrflMj/gogfaoONZqL83LUeQScHAvyMbpqP5C9MzNf+fFwhQ==}
@@ -3318,88 +3318,88 @@ packages:
'@libsql/core@0.14.0':
resolution: {integrity: sha512-nhbuXf7GP3PSZgdCY2Ecj8vz187ptHlZQ0VRc751oB2C1W8jQUXKKklvt7t1LJiUTQBVJuadF628eUk+3cRi4Q==}
- '@mantine/charts@8.2.8':
- resolution: {integrity: sha512-946gThrgoFOPl5sNOjQ7ILriGIsP/B24PQGt9GY0fL9Fg0B7Nmuhzn7lxZscBW5//NHgZTE7ul5zdU+Z00ST2Q==}
+ '@mantine/charts@8.3.1':
+ resolution: {integrity: sha512-Mb6rSbDbcL2lQmSVZA3dZfJf3734qsdN+UeZ8vAoh00e1hJEzu6hT0SUimP7G16q1yMaB+6bgN76lOQsG8vRug==}
peerDependencies:
- '@mantine/core': 8.2.8
- '@mantine/hooks': 8.2.8
+ '@mantine/core': 8.3.1
+ '@mantine/hooks': 8.3.1
react: ^18.x || ^19.x
react-dom: ^18.x || ^19.x
recharts: '>=2.13.3'
- '@mantine/colors-generator@8.2.8':
- resolution: {integrity: sha512-bkxaZuLr5GuCAZMwJfrMDa78pXJsq1bB7AVMF8C/trIaHBBxzXe8nfTDhu2NYpojpd5pBhvHHyidXPwHdNkO5Q==}
+ '@mantine/colors-generator@8.3.1':
+ resolution: {integrity: sha512-1JJ/wIN+JaLhObWi3Ap4dvTk4ksN7dvOHa+ynEaxMg5Ienb2sv2V/zadiFISXkMw1zgBkcFe1UJbgm3QL4gsmg==}
peerDependencies:
chroma-js: '>=2.4.2'
- '@mantine/core@8.2.8':
- resolution: {integrity: sha512-dybAXrlQ+QiIhpnVCkdH6P4Sjm9I9RymYXfDp97oj9KfGRMEJGLDdPAwp/2GhXe7UdDkzqD48JCkbfRWF2Q+qA==}
+ '@mantine/core@8.3.1':
+ resolution: {integrity: sha512-OYfxn9cTv+K6RZ8+Ozn/HDQXkB8Fmn+KJJt5lxyFDP9F09EHnC59Ldadv1LyUZVBGtNqz4sn6b3vBShbxwAmYw==}
peerDependencies:
- '@mantine/hooks': 8.2.8
+ '@mantine/hooks': 8.3.1
react: ^18.x || ^19.x
react-dom: ^18.x || ^19.x
- '@mantine/dates@8.2.8':
- resolution: {integrity: sha512-E6YsTj+2avwZL4gOc15aIIbb9D+ux7gdXQI67aobrwqqeEoW8O72h0bIE97DwAaUSbUsFdFPDhMh8xCFFR6yxw==}
+ '@mantine/dates@8.3.1':
+ resolution: {integrity: sha512-qCGlLnrwu9eQsl+yQC/tEYgTEO8rE6hopagNpTV2/wzLBUywlL/AbtB1yHuOikQgZxXAOLfvIBWNTWUHRtTnfw==}
peerDependencies:
- '@mantine/core': 8.2.8
- '@mantine/hooks': 8.2.8
+ '@mantine/core': 8.3.1
+ '@mantine/hooks': 8.3.1
dayjs: '>=1.0.0'
react: ^18.x || ^19.x
react-dom: ^18.x || ^19.x
- '@mantine/dropzone@8.2.8':
- resolution: {integrity: sha512-aMohj+VkkBAtMLPkrfJ/zxyQo3B48Asp6undW6bIX0gV8h3APO0qNhiccXbSioMc+Mv3hpmj1lIH5LPOIqnzeg==}
+ '@mantine/dropzone@8.3.1':
+ resolution: {integrity: sha512-jsaZhX02Uu8FDWBYNk59wWEBNO0hrayuBfRGqSjY/FQwRHZXIBgfuBsE3AIBJte6ptX+gWSR0Bhwids0LicEtg==}
peerDependencies:
- '@mantine/core': 8.2.8
- '@mantine/hooks': 8.2.8
+ '@mantine/core': 8.3.1
+ '@mantine/hooks': 8.3.1
react: ^18.x || ^19.x
react-dom: ^18.x || ^19.x
- '@mantine/form@8.2.8':
- resolution: {integrity: sha512-edigaUCmyxoPcqhMgkgJHXRgbzR1tym88xQNNgfGA1KYc9gr0BTk/3dOa5B93HIVdO9/DEXZwYKN4cjrKPDY+g==}
+ '@mantine/form@8.3.1':
+ resolution: {integrity: sha512-kmnF5o0Tl/Wi+ZGdqNknoN7QDswxuRo7OlPDRwXuxv/TcazuOIwf7j0p6kFzJ0c/wuqrZfjx3vnOg4Txtmwa1g==}
peerDependencies:
react: ^18.x || ^19.x
- '@mantine/hooks@8.2.8':
- resolution: {integrity: sha512-KK1krCcXizWT6JF8gWexv58imQBbviylAJqSqdZ4zUPgrpe81ehMyfxo5Z9EZsnSwMxkB4RLMhCCJhC5g8GvLA==}
+ '@mantine/hooks@8.3.1':
+ resolution: {integrity: sha512-lQutBS+Q0iz/cNFvdrsYassPWo3RtWcmDGJeOtKfHigLzFOhxUuLOkQgepDbMf3WcVMB/tist6Px1PQOv57JTw==}
peerDependencies:
react: ^18.x || ^19.x
- '@mantine/modals@8.2.8':
- resolution: {integrity: sha512-+RzHK4uy/Gsk6RspunD8An9WYF921If8S2pDeveMwxVhUeNMZXeh9FpQWESlqVV+SHSPDDP4QeTkwhJm9DWf2g==}
+ '@mantine/modals@8.3.1':
+ resolution: {integrity: sha512-3+OL1VcrKI91eqfLR4j6gIKHxwCVINNBrBdIVKc4ozAPAF/XI5VXwhXYxV/Nd7B2lxQgsOlIK5rjEKFvTfHZBg==}
peerDependencies:
- '@mantine/core': 8.2.8
- '@mantine/hooks': 8.2.8
+ '@mantine/core': 8.3.1
+ '@mantine/hooks': 8.3.1
react: ^18.x || ^19.x
react-dom: ^18.x || ^19.x
- '@mantine/notifications@8.2.8':
- resolution: {integrity: sha512-luNksAUkROoMzKCB/30nQ8o38wt54ktylbpBcTrAcjE1q00nH/IEYLS58iUYGf8l/xGBV1KH8jgSik58iqk++A==}
+ '@mantine/notifications@8.3.1':
+ resolution: {integrity: sha512-C1Iqa4g1HNNTLv2/CxOCR1mNlYNFCNtnS0u/JsR+HvtFVrun1namxDG6e6/U0hIva2klogYdivx4cyxmjPFerg==}
peerDependencies:
- '@mantine/core': 8.2.8
- '@mantine/hooks': 8.2.8
+ '@mantine/core': 8.3.1
+ '@mantine/hooks': 8.3.1
react: ^18.x || ^19.x
react-dom: ^18.x || ^19.x
- '@mantine/spotlight@8.2.8':
- resolution: {integrity: sha512-wZ4TMKC6LldI31DFOB89iat+4eyM29URN1uwklWUeigqR9/vywqXcKdzaSjpmbDxYelHFEp4AjgHzeG/8C915A==}
+ '@mantine/spotlight@8.3.1':
+ resolution: {integrity: sha512-Efmvk/uiG4MhmlkUGBu7afz5BgBDMwKUJMhMThDKZkaZfp7/VxOhHNEfC5ZPYMYd5Nk5i8Wo0urfybIMRwyO2A==}
peerDependencies:
- '@mantine/core': 8.2.8
- '@mantine/hooks': 8.2.8
+ '@mantine/core': 8.3.1
+ '@mantine/hooks': 8.3.1
react: ^18.x || ^19.x
react-dom: ^18.x || ^19.x
- '@mantine/store@8.2.8':
- resolution: {integrity: sha512-xma5vcJlcR2UN6NZj0Rhskfppmz6wUTY/52EBU9sKZw60e1iiuTX2Bk/sfUa34VKZF4cRS46VLz2qstyCJne4Q==}
+ '@mantine/store@8.3.1':
+ resolution: {integrity: sha512-OZwg0YKbCEKnkFmS9oRLKA8TMriBzO1T6nUib1yfLCx0VFuznllYZiDtaSWNkEYSdnFWCv5hKh5aOD4RHUnQfQ==}
peerDependencies:
react: ^18.x || ^19.x
- '@mantine/tiptap@8.2.8':
- resolution: {integrity: sha512-nO4sjNkfTjBiEucXNRYDwD7/5KVwGzGuLJV5B8GHeaQd7fQ/eLbAUdEiqPLV03aiozpQOQ5AhENWnwIw9yOJlQ==}
+ '@mantine/tiptap@8.3.1':
+ resolution: {integrity: sha512-JJ3shYUinUK582I0pGNOQWJdQTjvzaU8LCJ+0E7zfEV2WUZKZdu7lNKg3ywbmqGGwXvCFtJgBXsiHbCh/ms8xQ==}
peerDependencies:
- '@mantine/core': 8.2.8
- '@mantine/hooks': 8.2.8
+ '@mantine/core': 8.3.1
+ '@mantine/hooks': 8.3.1
'@tiptap/extension-link': '>=2.1.12'
'@tiptap/react': '>=2.1.12'
react: ^18.x || ^19.x
@@ -8915,8 +8915,8 @@ packages:
'@types/react': '>=18'
react: '>=18'
- react-number-format@5.4.3:
- resolution: {integrity: sha512-VCY5hFg/soBighAoGcdE+GagkJq0230qN6jcS5sp8wQX1qy1fYN/RX7/BXkrs0oyzzwqR8/+eSUrqXbGeywdUQ==}
+ react-number-format@5.4.4:
+ resolution: {integrity: sha512-wOmoNZoOpvMminhifQYiYSTCLUDOiUbBunrMrMjA+dV52sY+vck1S4UhR6PkgnoCquvvMSeJjErXZ4qSaWCliA==}
peerDependencies:
react: ^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
react-dom: ^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
@@ -8947,8 +8947,8 @@ packages:
'@types/react':
optional: true
- react-remove-scroll@2.6.2:
- resolution: {integrity: sha512-KmONPx5fnlXYJQqC62Q+lwIeAk64ws/cUw6omIumRzMRPqgnYqhSSti99nbj0Ry13bv7dF+BKn7NB+OqkdZGTw==}
+ react-remove-scroll@2.7.1:
+ resolution: {integrity: sha512-HpMh8+oahmIdOuS5aFKKY6Pyog+FNaZV/XyJOq7b4YFwsFHe5yYfdbIalI4k3vU2nSDql7YskmUseHsRrJqIPA==}
engines: {node: '>=10'}
peerDependencies:
'@types/react': '*'
@@ -10320,12 +10320,12 @@ packages:
'@types/react':
optional: true
- use-sidecar@1.1.2:
- resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==}
+ use-sidecar@1.1.3:
+ resolution: {integrity: sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==}
engines: {node: '>=10'}
peerDependencies:
- '@types/react': ^16.9.0 || ^17.0.0 || ^18.0.0
- react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ '@types/react': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
peerDependenciesMeta:
'@types/react':
optional: true
@@ -11334,30 +11334,30 @@ snapshots:
'@fastify/forwarded': 3.0.0
ipaddr.js: 2.2.0
- '@floating-ui/core@1.6.8':
+ '@floating-ui/core@1.7.3':
dependencies:
- '@floating-ui/utils': 0.2.8
+ '@floating-ui/utils': 0.2.10
- '@floating-ui/dom@1.6.11':
+ '@floating-ui/dom@1.7.4':
dependencies:
- '@floating-ui/core': 1.6.8
- '@floating-ui/utils': 0.2.8
+ '@floating-ui/core': 1.7.3
+ '@floating-ui/utils': 0.2.10
- '@floating-ui/react-dom@2.1.2(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
+ '@floating-ui/react-dom@2.1.6(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
dependencies:
- '@floating-ui/dom': 1.6.11
+ '@floating-ui/dom': 1.7.4
react: 19.1.1
react-dom: 19.1.1(react@19.1.1)
- '@floating-ui/react@0.26.28(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
+ '@floating-ui/react@0.27.16(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
dependencies:
- '@floating-ui/react-dom': 2.1.2(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
- '@floating-ui/utils': 0.2.8
+ '@floating-ui/react-dom': 2.1.6(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ '@floating-ui/utils': 0.2.10
react: 19.1.1
react-dom: 19.1.1(react@19.1.1)
tabbable: 6.2.0
- '@floating-ui/utils@0.2.8': {}
+ '@floating-ui/utils@0.2.10': {}
'@formatjs/ecma402-abstract@2.2.0':
dependencies:
@@ -11657,91 +11657,91 @@ snapshots:
js-base64: 3.7.7
optional: true
- '@mantine/charts@8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(recharts@2.15.4(react-dom@19.1.1(react@19.1.1))(react@19.1.1))':
+ '@mantine/charts@8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(recharts@2.15.4(react-dom@19.1.1(react@19.1.1))(react@19.1.1))':
dependencies:
- '@mantine/core': 8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
- '@mantine/hooks': 8.2.8(react@19.1.1)
+ '@mantine/core': 8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ '@mantine/hooks': 8.3.1(react@19.1.1)
react: 19.1.1
react-dom: 19.1.1(react@19.1.1)
recharts: 2.15.4(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
- '@mantine/colors-generator@8.2.8(chroma-js@3.1.2)':
+ '@mantine/colors-generator@8.3.1(chroma-js@3.1.2)':
dependencies:
chroma-js: 3.1.2
- '@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
+ '@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
dependencies:
- '@floating-ui/react': 0.26.28(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
- '@mantine/hooks': 8.2.8(react@19.1.1)
+ '@floating-ui/react': 0.27.16(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ '@mantine/hooks': 8.3.1(react@19.1.1)
clsx: 2.1.1
react: 19.1.1
react-dom: 19.1.1(react@19.1.1)
- react-number-format: 5.4.3(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
- react-remove-scroll: 2.6.2(@types/react@19.1.12)(react@19.1.1)
+ react-number-format: 5.4.4(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ react-remove-scroll: 2.7.1(@types/react@19.1.12)(react@19.1.1)
react-textarea-autosize: 8.5.9(@types/react@19.1.12)(react@19.1.1)
type-fest: 4.41.0
transitivePeerDependencies:
- '@types/react'
- '@mantine/dates@8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
+ '@mantine/dates@8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
dependencies:
- '@mantine/core': 8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
- '@mantine/hooks': 8.2.8(react@19.1.1)
+ '@mantine/core': 8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ '@mantine/hooks': 8.3.1(react@19.1.1)
clsx: 2.1.1
dayjs: 1.11.18
react: 19.1.1
react-dom: 19.1.1(react@19.1.1)
- '@mantine/dropzone@8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
+ '@mantine/dropzone@8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
dependencies:
- '@mantine/core': 8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
- '@mantine/hooks': 8.2.8(react@19.1.1)
+ '@mantine/core': 8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ '@mantine/hooks': 8.3.1(react@19.1.1)
react: 19.1.1
react-dom: 19.1.1(react@19.1.1)
react-dropzone: 14.3.8(react@19.1.1)
- '@mantine/form@8.2.8(react@19.1.1)':
+ '@mantine/form@8.3.1(react@19.1.1)':
dependencies:
fast-deep-equal: 3.1.3
klona: 2.0.6
react: 19.1.1
- '@mantine/hooks@8.2.8(react@19.1.1)':
+ '@mantine/hooks@8.3.1(react@19.1.1)':
dependencies:
react: 19.1.1
- '@mantine/modals@8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
+ '@mantine/modals@8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
dependencies:
- '@mantine/core': 8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
- '@mantine/hooks': 8.2.8(react@19.1.1)
+ '@mantine/core': 8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ '@mantine/hooks': 8.3.1(react@19.1.1)
react: 19.1.1
react-dom: 19.1.1(react@19.1.1)
- '@mantine/notifications@8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
+ '@mantine/notifications@8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
dependencies:
- '@mantine/core': 8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
- '@mantine/hooks': 8.2.8(react@19.1.1)
- '@mantine/store': 8.2.8(react@19.1.1)
+ '@mantine/core': 8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ '@mantine/hooks': 8.3.1(react@19.1.1)
+ '@mantine/store': 8.3.1(react@19.1.1)
react: 19.1.1
react-dom: 19.1.1(react@19.1.1)
react-transition-group: 4.4.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
- '@mantine/spotlight@8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
+ '@mantine/spotlight@8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
dependencies:
- '@mantine/core': 8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
- '@mantine/hooks': 8.2.8(react@19.1.1)
- '@mantine/store': 8.2.8(react@19.1.1)
+ '@mantine/core': 8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ '@mantine/hooks': 8.3.1(react@19.1.1)
+ '@mantine/store': 8.3.1(react@19.1.1)
react: 19.1.1
react-dom: 19.1.1(react@19.1.1)
- '@mantine/store@8.2.8(react@19.1.1)':
+ '@mantine/store@8.3.1(react@19.1.1)':
dependencies:
react: 19.1.1
- '@mantine/tiptap@8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(@tiptap/extension-link@2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))(@tiptap/pm@2.26.1))(@tiptap/react@2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))(@tiptap/pm@2.26.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
+ '@mantine/tiptap@8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(@tiptap/extension-link@2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))(@tiptap/pm@2.26.1))(@tiptap/react@2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))(@tiptap/pm@2.26.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
dependencies:
- '@mantine/core': 8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
- '@mantine/hooks': 8.2.8(react@19.1.1)
+ '@mantine/core': 8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ '@mantine/hooks': 8.3.1(react@19.1.1)
'@tiptap/extension-link': 2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))(@tiptap/pm@2.26.1)
'@tiptap/react': 2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))(@tiptap/pm@2.26.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
react: 19.1.1
@@ -16784,16 +16784,16 @@ snapshots:
make-error@1.3.6: {}
- mantine-form-zod-resolver@1.3.0(@mantine/form@8.2.8(react@19.1.1))(zod@4.1.5):
+ mantine-form-zod-resolver@1.3.0(@mantine/form@8.3.1(react@19.1.1))(zod@4.1.5):
dependencies:
- '@mantine/form': 8.2.8(react@19.1.1)
+ '@mantine/form': 8.3.1(react@19.1.1)
zod: 4.1.5
- mantine-react-table@2.0.0-beta.9(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/dates@8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(@tabler/icons-react@3.34.1(react@19.1.1))(clsx@2.1.1)(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1):
+ mantine-react-table@2.0.0-beta.9(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/dates@8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(@tabler/icons-react@3.34.1(react@19.1.1))(clsx@2.1.1)(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1):
dependencies:
- '@mantine/core': 8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
- '@mantine/dates': 8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
- '@mantine/hooks': 8.2.8(react@19.1.1)
+ '@mantine/core': 8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ '@mantine/dates': 8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ '@mantine/hooks': 8.3.1(react@19.1.1)
'@tabler/icons-react': 3.34.1(react@19.1.1)
'@tanstack/match-sorter-utils': 8.19.4
'@tanstack/react-table': 8.20.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
@@ -18171,7 +18171,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- react-number-format@5.4.3(react-dom@19.1.1(react@19.1.1))(react@19.1.1):
+ react-number-format@5.4.4(react-dom@19.1.1(react@19.1.1))(react@19.1.1):
dependencies:
react: 19.1.1
react-dom: 19.1.1(react@19.1.1)
@@ -18195,14 +18195,14 @@ snapshots:
optionalDependencies:
'@types/react': 19.1.12
- react-remove-scroll@2.6.2(@types/react@19.1.12)(react@19.1.1):
+ react-remove-scroll@2.7.1(@types/react@19.1.12)(react@19.1.1):
dependencies:
react: 19.1.1
react-remove-scroll-bar: 2.3.8(@types/react@19.1.12)(react@19.1.1)
react-style-singleton: 2.2.3(@types/react@19.1.12)(react@19.1.1)
tslib: 2.8.1
use-callback-ref: 1.3.3(@types/react@19.1.12)(react@19.1.1)
- use-sidecar: 1.1.2(@types/react@19.1.12)(react@19.1.1)
+ use-sidecar: 1.1.3(@types/react@19.1.12)(react@19.1.1)
optionalDependencies:
'@types/react': 19.1.12
@@ -19876,7 +19876,7 @@ snapshots:
optionalDependencies:
'@types/react': 19.1.12
- use-sidecar@1.1.2(@types/react@19.1.12)(react@19.1.1):
+ use-sidecar@1.1.3(@types/react@19.1.12)(react@19.1.1):
dependencies:
detect-node-es: 1.1.0
react: 19.1.1
From b30cc21dbe51aef598740b9320675023e4281820 Mon Sep 17 00:00:00 2001
From: Meier Lukas
Date: Sat, 13 Sep 2025 14:13:18 +0200
Subject: [PATCH 11/42] feat(system-resources-widget): add visible charts
option (#4069)
---
packages/translation/src/lang/en.json | 12 ++++-
.../src/system-resources/component.module.css | 14 ------
.../src/system-resources/component.tsx | 44 +++++++++++--------
.../widgets/src/system-resources/index.ts | 11 ++++-
4 files changed, 46 insertions(+), 35 deletions(-)
delete mode 100644 packages/widgets/src/system-resources/component.module.css
diff --git a/packages/translation/src/lang/en.json b/packages/translation/src/lang/en.json
index 7c31ce087..e7c63f9f6 100644
--- a/packages/translation/src/lang/en.json
+++ b/packages/translation/src/lang/en.json
@@ -2498,7 +2498,17 @@
"systemResources": {
"name": "System resources",
"description": "CPU, Memory, Disk and other hardware usage of your system",
- "option": {},
+ "option": {
+ "visibleCharts": {
+ "label": "Visible charts",
+ "description": "Select the charts you want to be visible.",
+ "option": {
+ "cpu": "CPU",
+ "memory": "Memory",
+ "network": "Network"
+ }
+ }
+ },
"card": {
"cpu": "CPU",
"memory": "MEM",
diff --git a/packages/widgets/src/system-resources/component.module.css b/packages/widgets/src/system-resources/component.module.css
deleted file mode 100644
index da1a998ed..000000000
--- a/packages/widgets/src/system-resources/component.module.css
+++ /dev/null
@@ -1,14 +0,0 @@
-.grid {
- display: grid;
- grid-template-rows: repeat(3, 1fr);
- grid-template-columns: repeat(2, 1fr);
- gap: 8px;
- padding: 8px;
-
- height: 100%;
-}
-
-.colSpanWide {
- grid-column-start: 1;
- grid-column-end: 3;
-}
diff --git a/packages/widgets/src/system-resources/component.tsx b/packages/widgets/src/system-resources/component.tsx
index 501eddc65..648f91da6 100644
--- a/packages/widgets/src/system-resources/component.tsx
+++ b/packages/widgets/src/system-resources/component.tsx
@@ -1,6 +1,7 @@
"use client";
import { useState } from "react";
+import { Box, Group, Stack } from "@mantine/core";
import { useElementSize } from "@mantine/hooks";
import { clientApi } from "@homarr/api/client";
@@ -10,11 +11,10 @@ import { CombinedNetworkTrafficChart } from "./chart/combined-network-traffic";
import { SystemResourceCPUChart } from "./chart/cpu-chart";
import { SystemResourceMemoryChart } from "./chart/memory-chart";
import { NetworkTrafficChart } from "./chart/network-traffic";
-import classes from "./component.module.css";
const MAX_QUEUE_SIZE = 15;
-export default function SystemResources({ integrationIds }: WidgetComponentProps<"systemResources">) {
+export default function SystemResources({ integrationIds, options }: WidgetComponentProps<"systemResources">) {
const { ref, width } = useElementSize();
const [data] = clientApi.widget.healthMonitoring.getSystemHealthStatus.useSuspenseQuery({
@@ -49,34 +49,40 @@ export default function SystemResources({ integrationIds }: WidgetComponentProps
},
);
- const showNetwork = items.length === 0 || items.every((item) => item.network !== null);
+ const showNetwork =
+ items.length === 0 || (items.every((item) => item.network !== null) && options.visibleCharts.includes("network"));
+ const rowHeight = `calc((100% - ${(options.visibleCharts.length - 1) * 8}px) / ${options.visibleCharts.length})`;
return (
-
-
- item.cpu)} />
-
-
- item.memory)}
- totalCapacityInBytes={memoryCapacityInBytes}
- />
-
+
+ {options.visibleCharts.includes("cpu") && (
+
+ item.cpu)} />
+
+ )}
+ {options.visibleCharts.includes("memory") && (
+
+ item.memory)}
+ totalCapacityInBytes={memoryCapacityInBytes}
+ />
+
+ )}
{showNetwork &&
- (width > 200 ? (
- <>
+ (width > 256 ? (
+
{/* eslint-disable-next-line @typescript-eslint/no-non-null-assertion */}
item.network!.down)} isUp={false} />
{/* eslint-disable-next-line @typescript-eslint/no-non-null-assertion */}
item.network!.up)} isUp />
- >
+
) : (
-
+
{/* eslint-disable-next-line @typescript-eslint/no-non-null-assertion */}
item.network!)} />
-
+
))}
-
+
);
}
diff --git a/packages/widgets/src/system-resources/index.ts b/packages/widgets/src/system-resources/index.ts
index e808fd0c1..f6115dce2 100644
--- a/packages/widgets/src/system-resources/index.ts
+++ b/packages/widgets/src/system-resources/index.ts
@@ -7,6 +7,15 @@ export const { definition, componentLoader } = createWidgetDefinition("systemRes
icon: IconGraphFilled,
supportedIntegrations: ["dashDot", "openmediavault", "truenas"],
createOptions() {
- return optionsBuilder.from(() => ({}));
+ return optionsBuilder.from((factory) => ({
+ visibleCharts: factory.multiSelect({
+ options: (["cpu", "memory", "network"] as const).map((key) => ({
+ value: key,
+ label: (t) => t(`widget.systemResources.option.visibleCharts.option.${key}`),
+ })),
+ defaultValue: ["cpu", "memory", "network"],
+ withDescription: true,
+ }),
+ }));
},
}).withDynamicImport(() => import("./component"));
From 6b3672a04d66acd80ea71da2c5fff4e31c24c1aa Mon Sep 17 00:00:00 2001
From: Meier Lukas
Date: Sat, 13 Sep 2025 14:13:34 +0200
Subject: [PATCH 12/42] fix(system-resources-widget): chart resizing not
working well (#4069)
From 1412b6c0d3a46d32c764758fc3cc5b29415dd532 Mon Sep 17 00:00:00 2001
From: "homarr-renovate[bot]"
<158783068+homarr-renovate[bot]@users.noreply.github.com>
Date: Sat, 13 Sep 2025 12:31:01 +0000
Subject: [PATCH 13/42] fix(deps): update mantine monorepo to ^8.3.1 (#4070)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
---
apps/nextjs/package.json | 12 +++---
packages/db/package.json | 2 +-
packages/form/package.json | 2 +-
packages/forms-collection/package.json | 2 +-
packages/modals-collection/package.json | 2 +-
packages/modals/package.json | 4 +-
packages/notifications/package.json | 2 +-
packages/old-import/package.json | 4 +-
packages/settings/package.json | 2 +-
packages/spotlight/package.json | 6 +--
packages/ui/package.json | 6 +--
packages/widgets/package.json | 6 +--
pnpm-lock.yaml | 50 ++++++++++++-------------
13 files changed, 50 insertions(+), 50 deletions(-)
diff --git a/apps/nextjs/package.json b/apps/nextjs/package.json
index 2f739de65..b1e8024e8 100644
--- a/apps/nextjs/package.json
+++ b/apps/nextjs/package.json
@@ -50,12 +50,12 @@
"@homarr/ui": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
"@homarr/widgets": "workspace:^0.1.0",
- "@mantine/colors-generator": "^8.3.0",
- "@mantine/core": "^8.3.0",
- "@mantine/dropzone": "^8.3.0",
- "@mantine/hooks": "^8.3.0",
- "@mantine/modals": "^8.3.0",
- "@mantine/tiptap": "^8.3.0",
+ "@mantine/colors-generator": "^8.3.1",
+ "@mantine/core": "^8.3.1",
+ "@mantine/dropzone": "^8.3.1",
+ "@mantine/hooks": "^8.3.1",
+ "@mantine/modals": "^8.3.1",
+ "@mantine/tiptap": "^8.3.1",
"@million/lint": "1.0.14",
"@tabler/icons-react": "^3.34.1",
"@tanstack/react-query": "^5.87.1",
diff --git a/packages/db/package.json b/packages/db/package.json
index 2ca5c6796..acadcec53 100644
--- a/packages/db/package.json
+++ b/packages/db/package.json
@@ -49,7 +49,7 @@
"@homarr/definitions": "workspace:^0.1.0",
"@homarr/log": "workspace:^0.1.0",
"@homarr/server-settings": "workspace:^0.1.0",
- "@mantine/core": "^8.3.0",
+ "@mantine/core": "^8.3.1",
"@paralleldrive/cuid2": "^2.2.2",
"@testcontainers/mysql": "^11.5.1",
"@testcontainers/postgresql": "^11.5.1",
diff --git a/packages/form/package.json b/packages/form/package.json
index c4955e3a2..d2d815426 100644
--- a/packages/form/package.json
+++ b/packages/form/package.json
@@ -26,7 +26,7 @@
"@homarr/common": "workspace:^0.1.0",
"@homarr/translation": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
- "@mantine/form": "^8.3.0",
+ "@mantine/form": "^8.3.1",
"mantine-form-zod-resolver": "^1.3.0",
"zod": "^4.1.5"
},
diff --git a/packages/forms-collection/package.json b/packages/forms-collection/package.json
index e4b567fce..de7db8169 100644
--- a/packages/forms-collection/package.json
+++ b/packages/forms-collection/package.json
@@ -29,7 +29,7 @@
"@homarr/notifications": "workspace:^0.1.0",
"@homarr/translation": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
- "@mantine/core": "^8.3.0",
+ "@mantine/core": "^8.3.1",
"react": "19.1.1",
"zod": "^4.1.5"
},
diff --git a/packages/modals-collection/package.json b/packages/modals-collection/package.json
index eec8fc5ea..f53844155 100644
--- a/packages/modals-collection/package.json
+++ b/packages/modals-collection/package.json
@@ -33,7 +33,7 @@
"@homarr/translation": "workspace:^0.1.0",
"@homarr/ui": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
- "@mantine/core": "^8.3.0",
+ "@mantine/core": "^8.3.1",
"@tabler/icons-react": "^3.34.1",
"dayjs": "^1.11.18",
"next": "15.5.2",
diff --git a/packages/modals/package.json b/packages/modals/package.json
index 5dde7b299..a889423ec 100644
--- a/packages/modals/package.json
+++ b/packages/modals/package.json
@@ -24,8 +24,8 @@
"dependencies": {
"@homarr/translation": "workspace:^0.1.0",
"@homarr/ui": "workspace:^0.1.0",
- "@mantine/core": "^8.3.0",
- "@mantine/hooks": "^8.3.0",
+ "@mantine/core": "^8.3.1",
+ "@mantine/hooks": "^8.3.1",
"react": "19.1.1"
},
"devDependencies": {
diff --git a/packages/notifications/package.json b/packages/notifications/package.json
index bf026f551..abdfb39e9 100644
--- a/packages/notifications/package.json
+++ b/packages/notifications/package.json
@@ -24,7 +24,7 @@
"prettier": "@homarr/prettier-config",
"dependencies": {
"@homarr/ui": "workspace:^0.1.0",
- "@mantine/notifications": "^8.3.0",
+ "@mantine/notifications": "^8.3.1",
"@tabler/icons-react": "^3.34.1"
},
"devDependencies": {
diff --git a/packages/old-import/package.json b/packages/old-import/package.json
index addeb4457..833ebabe5 100644
--- a/packages/old-import/package.json
+++ b/packages/old-import/package.json
@@ -37,8 +37,8 @@
"@homarr/translation": "workspace:^0.1.0",
"@homarr/ui": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
- "@mantine/core": "^8.3.0",
- "@mantine/hooks": "^8.3.0",
+ "@mantine/core": "^8.3.1",
+ "@mantine/hooks": "^8.3.1",
"adm-zip": "0.5.16",
"next": "15.5.2",
"react": "19.1.1",
diff --git a/packages/settings/package.json b/packages/settings/package.json
index cd17389b6..2bf919e94 100644
--- a/packages/settings/package.json
+++ b/packages/settings/package.json
@@ -26,7 +26,7 @@
"@homarr/api": "workspace:^0.1.0",
"@homarr/db": "workspace:^0.1.0",
"@homarr/server-settings": "workspace:^0.1.0",
- "@mantine/dates": "^8.3.0",
+ "@mantine/dates": "^8.3.1",
"next": "15.5.2",
"react": "19.1.1",
"react-dom": "19.1.1"
diff --git a/packages/spotlight/package.json b/packages/spotlight/package.json
index e9b0e9309..730e3f31d 100644
--- a/packages/spotlight/package.json
+++ b/packages/spotlight/package.json
@@ -33,9 +33,9 @@
"@homarr/settings": "workspace:^0.1.0",
"@homarr/translation": "workspace:^0.1.0",
"@homarr/ui": "workspace:^0.1.0",
- "@mantine/core": "^8.3.0",
- "@mantine/hooks": "^8.3.0",
- "@mantine/spotlight": "^8.3.0",
+ "@mantine/core": "^8.3.1",
+ "@mantine/hooks": "^8.3.1",
+ "@mantine/spotlight": "^8.3.1",
"@tabler/icons-react": "^3.34.1",
"jotai": "^2.14.0",
"next": "15.5.2",
diff --git a/packages/ui/package.json b/packages/ui/package.json
index a3a168d91..a242e9376 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -30,9 +30,9 @@
"@homarr/log": "workspace:^0.1.0",
"@homarr/translation": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
- "@mantine/core": "^8.3.0",
- "@mantine/dates": "^8.3.0",
- "@mantine/hooks": "^8.3.0",
+ "@mantine/core": "^8.3.1",
+ "@mantine/dates": "^8.3.1",
+ "@mantine/hooks": "^8.3.1",
"@tabler/icons-react": "^3.34.1",
"mantine-react-table": "2.0.0-beta.9",
"next": "15.5.2",
diff --git a/packages/widgets/package.json b/packages/widgets/package.json
index 594e2b645..4269f7734 100644
--- a/packages/widgets/package.json
+++ b/packages/widgets/package.json
@@ -48,9 +48,9 @@
"@homarr/translation": "workspace:^0.1.0",
"@homarr/ui": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
- "@mantine/charts": "^8.3.0",
- "@mantine/core": "^8.3.0",
- "@mantine/hooks": "^8.3.0",
+ "@mantine/charts": "^8.3.1",
+ "@mantine/core": "^8.3.1",
+ "@mantine/hooks": "^8.3.1",
"@tabler/icons-react": "^3.34.1",
"@tiptap/extension-color": "2.26.1",
"@tiptap/extension-highlight": "2.26.1",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index f5ad14283..48f3e6fcc 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -211,22 +211,22 @@ importers:
specifier: workspace:^0.1.0
version: link:../../packages/widgets
'@mantine/colors-generator':
- specifier: ^8.3.0
+ specifier: ^8.3.1
version: 8.3.1(chroma-js@3.1.2)
'@mantine/core':
- specifier: ^8.3.0
+ specifier: ^8.3.1
version: 8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@mantine/dropzone':
- specifier: ^8.3.0
+ specifier: ^8.3.1
version: 8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@mantine/hooks':
- specifier: ^8.3.0
+ specifier: ^8.3.1
version: 8.3.1(react@19.1.1)
'@mantine/modals':
- specifier: ^8.3.0
+ specifier: ^8.3.1
version: 8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@mantine/tiptap':
- specifier: ^8.3.0
+ specifier: ^8.3.1
version: 8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(@tiptap/extension-link@2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))(@tiptap/pm@2.26.1))(@tiptap/react@2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))(@tiptap/pm@2.26.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@million/lint':
specifier: 1.0.14
@@ -1144,7 +1144,7 @@ importers:
specifier: workspace:^0.1.0
version: link:../server-settings
'@mantine/core':
- specifier: ^8.3.0
+ specifier: ^8.3.1
version: 8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@paralleldrive/cuid2':
specifier: ^2.2.2
@@ -1288,7 +1288,7 @@ importers:
specifier: workspace:^0.1.0
version: link:../validation
'@mantine/form':
- specifier: ^8.3.0
+ specifier: ^8.3.1
version: 8.3.1(react@19.1.1)
mantine-form-zod-resolver:
specifier: ^1.3.0
@@ -1337,7 +1337,7 @@ importers:
specifier: workspace:^0.1.0
version: link:../validation
'@mantine/core':
- specifier: ^8.3.0
+ specifier: ^8.3.1
version: 8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
react:
specifier: 19.1.1
@@ -1564,10 +1564,10 @@ importers:
specifier: workspace:^0.1.0
version: link:../ui
'@mantine/core':
- specifier: ^8.3.0
+ specifier: ^8.3.1
version: 8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@mantine/hooks':
- specifier: ^8.3.0
+ specifier: ^8.3.1
version: 8.3.1(react@19.1.1)
react:
specifier: 19.1.1
@@ -1625,7 +1625,7 @@ importers:
specifier: workspace:^0.1.0
version: link:../validation
'@mantine/core':
- specifier: ^8.3.0
+ specifier: ^8.3.1
version: 8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@tabler/icons-react':
specifier: ^3.34.1
@@ -1668,7 +1668,7 @@ importers:
specifier: workspace:^0.1.0
version: link:../ui
'@mantine/notifications':
- specifier: ^8.3.0
+ specifier: ^8.3.1
version: 8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@tabler/icons-react':
specifier: ^3.34.1
@@ -1726,10 +1726,10 @@ importers:
specifier: workspace:^0.1.0
version: link:../validation
'@mantine/core':
- specifier: ^8.3.0
+ specifier: ^8.3.1
version: 8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@mantine/hooks':
- specifier: ^8.3.0
+ specifier: ^8.3.1
version: 8.3.1(react@19.1.1)
adm-zip:
specifier: 0.5.16
@@ -1954,7 +1954,7 @@ importers:
specifier: workspace:^0.1.0
version: link:../server-settings
'@mantine/dates':
- specifier: ^8.3.0
+ specifier: ^8.3.1
version: 8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
next:
specifier: 15.5.2
@@ -2015,13 +2015,13 @@ importers:
specifier: workspace:^0.1.0
version: link:../ui
'@mantine/core':
- specifier: ^8.3.0
+ specifier: ^8.3.1
version: 8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@mantine/hooks':
- specifier: ^8.3.0
+ specifier: ^8.3.1
version: 8.3.1(react@19.1.1)
'@mantine/spotlight':
- specifier: ^8.3.0
+ specifier: ^8.3.1
version: 8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@tabler/icons-react':
specifier: ^3.34.1
@@ -2122,13 +2122,13 @@ importers:
specifier: workspace:^0.1.0
version: link:../validation
'@mantine/core':
- specifier: ^8.3.0
+ specifier: ^8.3.1
version: 8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@mantine/dates':
- specifier: ^8.3.0
+ specifier: ^8.3.1
version: 8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@mantine/hooks':
- specifier: ^8.3.0
+ specifier: ^8.3.1
version: 8.3.1(react@19.1.1)
'@tabler/icons-react':
specifier: ^3.34.1
@@ -2271,13 +2271,13 @@ importers:
specifier: workspace:^0.1.0
version: link:../validation
'@mantine/charts':
- specifier: ^8.3.0
+ specifier: ^8.3.1
version: 8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(recharts@2.15.4(react-dom@19.1.1(react@19.1.1))(react@19.1.1))
'@mantine/core':
- specifier: ^8.3.0
+ specifier: ^8.3.1
version: 8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@mantine/hooks':
- specifier: ^8.3.0
+ specifier: ^8.3.1
version: 8.3.1(react@19.1.1)
'@tabler/icons-react':
specifier: ^3.34.1
From b398be0303c791977c40d27676949a37caf94120 Mon Sep 17 00:00:00 2001
From: Meier Lukas
Date: Sat, 13 Sep 2025 14:37:18 +0200
Subject: [PATCH 14/42] ci(stability-days): still runs for renovate branches
---
.github/workflows/skip-renovate-stability-days.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/skip-renovate-stability-days.yml b/.github/workflows/skip-renovate-stability-days.yml
index 2fc403525..5492103b7 100644
--- a/.github/workflows/skip-renovate-stability-days.yml
+++ b/.github/workflows/skip-renovate-stability-days.yml
@@ -3,11 +3,11 @@ permissions:
on:
pull_request:
- branches-ignore: "renovate/*"
types: [opened, synchronize]
jobs:
skip-stability-days:
+ if: ${{ !startsWith(github.head_ref, 'renovate/') }}
name: Skip Stability Days
runs-on: ubuntu-latest
steps:
From 86cf290c3152300e6955f16b56322607627da6e8 Mon Sep 17 00:00:00 2001
From: Meier Lukas
Date: Sat, 13 Sep 2025 17:15:33 +0200
Subject: [PATCH 15/42] refactor(ci): migrate tibdex/github-app-token to
actions/create-github-app-token (#4072)
---
.github/workflows/automatic-approval.yml | 10 +++++++---
.../workflows/crowdin-schedule-download.yml | 11 +++++++---
.github/workflows/deployment-docker-image.yml | 8 +++++---
.../workflows/deployment-weekly-release.yml | 15 ++++++++------
.github/workflows/on-release.yml | 20 +++++++++++--------
.github/workflows/update-contributors.yml | 11 +++++-----
.github/workflows/update-integration-list.yml | 12 ++++++-----
7 files changed, 53 insertions(+), 34 deletions(-)
diff --git a/.github/workflows/automatic-approval.yml b/.github/workflows/automatic-approval.yml
index 72e6aaea2..7a38b6e02 100644
--- a/.github/workflows/automatic-approval.yml
+++ b/.github/workflows/automatic-approval.yml
@@ -3,6 +3,8 @@ on:
pull_request:
types: [opened, synchronize]
+permissions: {}
+
jobs:
approve-automatic-prs:
runs-on: ubuntu-latest
@@ -12,10 +14,12 @@ jobs:
uses: actions/checkout@v5
- name: Obtain token
id: obtainToken
- uses: tibdex/github-app-token@v2
+ uses: actions/create-github-app-token@v2
with:
- private_key: ${{ secrets.RENOVATE_APPROVE_PRIVATE_KEY }}
- app_id: ${{ secrets.RENOVATE_APPROVE_APP_ID }}
+ private-key: ${{ secrets.RENOVATE_APPROVE_PRIVATE_KEY }}
+ app-id: ${{ secrets.RENOVATE_APPROVE_APP_ID }}
+ permission-pull-requests: write # required to approve pull request
+
- name: Install GitHub CLI
run: sudo apt-get install -y gh
- name: Approve automatic PRs
diff --git a/.github/workflows/crowdin-schedule-download.yml b/.github/workflows/crowdin-schedule-download.yml
index f5814f120..c2f12042a 100644
--- a/.github/workflows/crowdin-schedule-download.yml
+++ b/.github/workflows/crowdin-schedule-download.yml
@@ -5,6 +5,9 @@ on:
schedule:
- cron: "0 0 * * *" # every day at midnight
+permissions:
+ contents: read # required for code checkout
+
jobs:
download-crowdin-translations:
runs-on: ubuntu-latest
@@ -15,10 +18,12 @@ jobs:
- name: Obtain token
id: obtainToken
- uses: tibdex/github-app-token@v2
+ uses: actions/create-github-app-token@v2
with:
- private_key: ${{ secrets.CROWDIN_APP_PRIVATE_KEY }}
- app_id: ${{ secrets.CROWDIN_APP_ID }}
+ private-key: ${{ secrets.CROWDIN_APP_PRIVATE_KEY }}
+ app-id: ${{ secrets.CROWDIN_APP_ID }}
+ permission-contents: write # required to commit to crowdin branch
+ permission-pull-requests: write # required to create pull request
- name: Download Crowdin translations
id: crowdin-download
diff --git a/.github/workflows/deployment-docker-image.yml b/.github/workflows/deployment-docker-image.yml
index c9f9bf33f..1223b4db1 100644
--- a/.github/workflows/deployment-docker-image.yml
+++ b/.github/workflows/deployment-docker-image.yml
@@ -49,10 +49,12 @@ jobs:
- name: Obtain token
if: env.SKIP_RELEASE == 'false'
id: obtainToken
- uses: tibdex/github-app-token@v2
+ uses: actions/create-github-app-token@v2
with:
- private_key: ${{ secrets.RENOVATE_MERGE_PRIVATE_KEY }}
- app_id: ${{ secrets.RENOVATE_MERGE_APP_ID }}
+ private-key: ${{ secrets.RENOVATE_MERGE_PRIVATE_KEY }}
+ app-id: ${{ secrets.RENOVATE_MERGE_APP_ID }}
+ permission-contents: write # required to commit package.json & changelog changes, merge them to dev and publish the release
+
- uses: actions/checkout@v5
if: env.SKIP_RELEASE == 'false'
with:
diff --git a/.github/workflows/deployment-weekly-release.yml b/.github/workflows/deployment-weekly-release.yml
index a0fdcc723..e96cf4eec 100644
--- a/.github/workflows/deployment-weekly-release.yml
+++ b/.github/workflows/deployment-weekly-release.yml
@@ -49,10 +49,11 @@ jobs:
args: "Created a release PR ${{ steps.create-pull-request.outputs.url }} for version ${{ steps.semver.outputs.next }} (new behaviour: ${{ steps.semver.outputs.bump }})"
- name: Obtain token
id: obtainApprovalToken
- uses: tibdex/github-app-token@v2
+ uses: actions/create-github-app-token@v2
with:
- private_key: ${{ secrets.RENOVATE_APPROVE_PRIVATE_KEY }}
- app_id: ${{ secrets.RENOVATE_APPROVE_APP_ID }}
+ private-key: ${{ secrets.RENOVATE_APPROVE_PRIVATE_KEY }}
+ app-id: ${{ secrets.RENOVATE_APPROVE_APP_ID }}
+ permission-pull-requests: write
- name: Approve PR
env:
GITHUB_TOKEN: ${{ steps.obtainApprovalToken.outputs.token }}
@@ -60,10 +61,12 @@ jobs:
gh pr review --approve --body "Automatically approved by GitHub Action"
- name: Obtain token
id: obtainMergeToken
- uses: tibdex/github-app-token@v2
+ uses: actions/create-github-app-token@v2
with:
- private_key: ${{ secrets.RENOVATE_MERGE_PRIVATE_KEY }}
- app_id: ${{ secrets.RENOVATE_MERGE_APP_ID }}
+ private-key: ${{ secrets.RENOVATE_MERGE_PRIVATE_KEY }}
+ app-id: ${{ secrets.RENOVATE_MERGE_APP_ID }}
+ permission-contents: write # write to main branch (due to merge)
+ permission-pull-requests: write # merge pull request
- id: automerge
if: ${{ steps.semver.outputs.bump != 'major' }}
name: automerge
diff --git a/.github/workflows/on-release.yml b/.github/workflows/on-release.yml
index 83357cafe..9b95aae28 100644
--- a/.github/workflows/on-release.yml
+++ b/.github/workflows/on-release.yml
@@ -11,12 +11,14 @@ jobs:
steps:
- name: Obtain token
id: obtainToken
- uses: tibdex/github-app-token@v2
+ uses: actions/create-github-app-token@v2
with:
- private_key: ${{ secrets.HOMARR_DOCS_RELEASE_APP_PRIVATE_KEY }}
- app_id: ${{ vars.HOMARR_DOCS_RELEASE_APP_ID }}
- installation_retrieval_mode: repository
- installation_retrieval_payload: homarr-labs/documentation
+ private-key: ${{ secrets.HOMARR_DOCS_RELEASE_APP_PRIVATE_KEY }}
+ app-id: ${{ vars.HOMARR_DOCS_RELEASE_APP_ID }}
+ owner: homarr-labs
+ repositories: |
+ documentation
+ permission-contents: write # required to dispatch repository workflow
- name: Trigger documentation release
env:
GITHUB_TOKEN: ${{ steps.obtainToken.outputs.token }}
@@ -40,10 +42,12 @@ jobs:
steps:
- name: Obtain token
id: obtainToken
- uses: tibdex/github-app-token@v2
+ uses: actions/create-github-app-token@v2
with:
- private_key: ${{ secrets.RENOVATE_MERGE_PRIVATE_KEY }}
- app_id: ${{ secrets.RENOVATE_MERGE_APP_ID }}
+ private-key: ${{ secrets.RENOVATE_MERGE_PRIVATE_KEY }}
+ app-id: ${{ secrets.RENOVATE_MERGE_APP_ID }}
+ permission-contents: write # required to commit to branch
+ permission-pull-requests: write # required to create pr & enable automerge
- name: Checkout code
uses: actions/checkout@v5
with:
diff --git a/.github/workflows/update-contributors.yml b/.github/workflows/update-contributors.yml
index 36c3e0de1..c8cb1efde 100644
--- a/.github/workflows/update-contributors.yml
+++ b/.github/workflows/update-contributors.yml
@@ -9,9 +9,6 @@ env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
CROWDIN_TOKEN: "${{ secrets.CROWDIN_UPDATE_CONTRIBUTORS_TOKEN }}"
-permissions:
- contents: write
-
jobs:
update-contributors:
runs-on: ubuntu-latest
@@ -21,10 +18,12 @@ jobs:
steps:
- name: Obtain token
id: obtainToken
- uses: tibdex/github-app-token@v2
+ uses: actions/create-github-app-token@v2
with:
- private_key: ${{ secrets.HOMARR_UPDATE_CONTRIBUTORS_PRIVATE_KEY }}
- app_id: ${{ vars.HOMARR_UPDATE_CONTRIBUTORS_APP_ID }}
+ private-key: ${{ secrets.HOMARR_UPDATE_CONTRIBUTORS_PRIVATE_KEY }}
+ app-id: ${{ vars.HOMARR_UPDATE_CONTRIBUTORS_APP_ID }}
+ permission-contents: write # required to commit to branch
+ permission-pull-requests: write # required to create pr & enable automerge
- name: Checkout repository
uses: actions/checkout@v5
diff --git a/.github/workflows/update-integration-list.yml b/.github/workflows/update-integration-list.yml
index dc90ce5c3..ff7ad9ae8 100644
--- a/.github/workflows/update-integration-list.yml
+++ b/.github/workflows/update-integration-list.yml
@@ -1,7 +1,7 @@
name: Update integration list
on:
- workflow_dispatch: { }
+ workflow_dispatch: {}
push:
paths:
- packages/definitions/src/integration.ts
@@ -20,10 +20,12 @@ jobs:
steps:
- name: Obtain token
id: obtainToken
- uses: tibdex/github-app-token@v2
+ uses: actions/create-github-app-token@v2
with:
- private_key: ${{ secrets.HOMARR_UPDATE_CONTRIBUTORS_PRIVATE_KEY }}
- app_id: ${{ vars.HOMARR_UPDATE_CONTRIBUTORS_APP_ID }}
+ private-key: ${{ secrets.HOMARR_UPDATE_CONTRIBUTORS_PRIVATE_KEY }}
+ app-id: ${{ vars.HOMARR_UPDATE_CONTRIBUTORS_APP_ID }}
+ permission-contents: write # required to commit to branch
+ permission-pull-requests: write # required to create pr & enable automerge
- name: Checkout code
uses: actions/checkout@v5
env:
@@ -59,4 +61,4 @@ jobs:
env:
GITHUB_TOKEN: ${{ steps.obtainToken.outputs.token }}
run: |
- gh pr merge ${{steps.create-pull-request.outputs.pull-request-number}} --auto --squash
\ No newline at end of file
+ gh pr merge ${{steps.create-pull-request.outputs.pull-request-number}} --auto --squash
From 5c65e1a75f4f4b7205987bbe424321134ae45e91 Mon Sep 17 00:00:00 2001
From: Meier Lukas
Date: Sat, 13 Sep 2025 17:20:11 +0200
Subject: [PATCH 16/42] chore: update bug report template
---
.github/ISSUE_TEMPLATE/bug_report.yml | 1 +
1 file changed, 1 insertion(+)
diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
index 67b81ccac..fb53bd257 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.yml
+++ b/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -33,6 +33,7 @@ body:
options:
# The below comment is used to insert a new version with on-release.yml
#NEXT_VERSION#
+ - 1.37.0
- 1.36.1
- 1.36.0
- 1.35.1
From 809fbd51766ae88b814d69043d452f8959bdb98b Mon Sep 17 00:00:00 2001
From: "homarr-renovate[bot]"
<158783068+homarr-renovate[bot]@users.noreply.github.com>
Date: Sat, 13 Sep 2025 17:17:35 +0000
Subject: [PATCH 17/42] fix(deps): update dependency typescript-eslint to
^8.43.0 (#4075)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
---
pnpm-lock.yaml | 153 +++++++++++++++++-------------------
tooling/eslint/package.json | 2 +-
2 files changed, 72 insertions(+), 83 deletions(-)
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 48f3e6fcc..a728488bc 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -2396,7 +2396,7 @@ importers:
version: 2.5.6(eslint@9.35.0)(turbo@2.5.6)
eslint-plugin-import:
specifier: ^2.32.0
- version: 2.32.0(@typescript-eslint/parser@8.42.0(eslint@9.35.0)(typescript@5.9.2))(eslint@9.35.0)
+ version: 2.32.0(@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.9.2))(eslint@9.35.0)
eslint-plugin-jsx-a11y:
specifier: ^6.10.2
version: 6.10.2(eslint@9.35.0)
@@ -2407,8 +2407,8 @@ importers:
specifier: ^5.2.0
version: 5.2.0(eslint@9.35.0)
typescript-eslint:
- specifier: ^8.42.0
- version: 8.42.0(eslint@9.35.0)(typescript@5.9.2)
+ specifier: ^8.43.0
+ version: 8.43.0(eslint@9.35.0)(typescript@5.9.2)
devDependencies:
'@homarr/prettier-config':
specifier: workspace:^0.1.0
@@ -2935,12 +2935,6 @@ packages:
cpu: [x64]
os: [win32]
- '@eslint-community/eslint-utils@4.7.0':
- resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- peerDependencies:
- eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
-
'@eslint-community/eslint-utils@4.9.0':
resolution: {integrity: sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -4671,63 +4665,63 @@ packages:
'@types/xml2js@0.4.14':
resolution: {integrity: sha512-4YnrRemBShWRO2QjvUin8ESA41rH+9nQGLUGZV/1IDhi3SL9OhdpNC/MrulTWuptXKwhx/aDxE7toV0f/ypIXQ==}
- '@typescript-eslint/eslint-plugin@8.42.0':
- resolution: {integrity: sha512-Aq2dPqsQkxHOLfb2OPv43RnIvfj05nw8v/6n3B2NABIPpHnjQnaLo9QGMTvml+tv4korl/Cjfrb/BYhoL8UUTQ==}
+ '@typescript-eslint/eslint-plugin@8.43.0':
+ resolution: {integrity: sha512-8tg+gt7ENL7KewsKMKDHXR1vm8tt9eMxjJBYINf6swonlWgkYn5NwyIgXpbbDxTNU5DgpDFfj95prcTq2clIQQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- '@typescript-eslint/parser': ^8.42.0
+ '@typescript-eslint/parser': ^8.43.0
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/parser@8.42.0':
- resolution: {integrity: sha512-r1XG74QgShUgXph1BYseJ+KZd17bKQib/yF3SR+demvytiRXrwd12Blnz5eYGm8tXaeRdd4x88MlfwldHoudGg==}
+ '@typescript-eslint/parser@8.43.0':
+ resolution: {integrity: sha512-B7RIQiTsCBBmY+yW4+ILd6mF5h1FUwJsVvpqkrgpszYifetQ2Ke+Z4u6aZh0CblkUGIdR59iYVyXqqZGkZ3aBw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/project-service@8.42.0':
- resolution: {integrity: sha512-vfVpLHAhbPjilrabtOSNcUDmBboQNrJUiNAGoImkZKnMjs2TIcWG33s4Ds0wY3/50aZmTMqJa6PiwkwezaAklg==}
+ '@typescript-eslint/project-service@8.43.0':
+ resolution: {integrity: sha512-htB/+D/BIGoNTQYffZw4uM4NzzuolCoaA/BusuSIcC8YjmBYQioew5VUZAYdAETPjeed0hqCaW7EHg+Robq8uw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/scope-manager@8.42.0':
- resolution: {integrity: sha512-51+x9o78NBAVgQzOPd17DkNTnIzJ8T/O2dmMBLoK9qbY0Gm52XJcdJcCl18ExBMiHo6jPMErUQWUv5RLE51zJw==}
+ '@typescript-eslint/scope-manager@8.43.0':
+ resolution: {integrity: sha512-daSWlQ87ZhsjrbMLvpuuMAt3y4ba57AuvadcR7f3nl8eS3BjRc8L9VLxFLk92RL5xdXOg6IQ+qKjjqNEimGuAg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/tsconfig-utils@8.42.0':
- resolution: {integrity: sha512-kHeFUOdwAJfUmYKjR3CLgZSglGHjbNTi1H8sTYRYV2xX6eNz4RyJ2LIgsDLKf8Yi0/GL1WZAC/DgZBeBft8QAQ==}
+ '@typescript-eslint/tsconfig-utils@8.43.0':
+ resolution: {integrity: sha512-ALC2prjZcj2YqqL5X/bwWQmHA2em6/94GcbB/KKu5SX3EBDOsqztmmX1kMkvAJHzxk7TazKzJfFiEIagNV3qEA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/type-utils@8.42.0':
- resolution: {integrity: sha512-9KChw92sbPTYVFw3JLRH1ockhyR3zqqn9lQXol3/YbI6jVxzWoGcT3AsAW0mu1MY0gYtsXnUGV/AKpkAj5tVlQ==}
+ '@typescript-eslint/type-utils@8.43.0':
+ resolution: {integrity: sha512-qaH1uLBpBuBBuRf8c1mLJ6swOfzCXryhKND04Igr4pckzSEW9JX5Aw9AgW00kwfjWJF0kk0ps9ExKTfvXfw4Qg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/types@8.42.0':
- resolution: {integrity: sha512-LdtAWMiFmbRLNP7JNeY0SqEtJvGMYSzfiWBSmx+VSZ1CH+1zyl8Mmw1TT39OrtsRvIYShjJWzTDMPWZJCpwBlw==}
+ '@typescript-eslint/types@8.43.0':
+ resolution: {integrity: sha512-vQ2FZaxJpydjSZJKiSW/LJsabFFvV7KgLC5DiLhkBcykhQj8iK9BOaDmQt74nnKdLvceM5xmhaTF+pLekrxEkw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/typescript-estree@8.42.0':
- resolution: {integrity: sha512-ku/uYtT4QXY8sl9EDJETD27o3Ewdi72hcXg1ah/kkUgBvAYHLwj2ofswFFNXS+FL5G+AGkxBtvGt8pFBHKlHsQ==}
+ '@typescript-eslint/typescript-estree@8.43.0':
+ resolution: {integrity: sha512-7Vv6zlAhPb+cvEpP06WXXy/ZByph9iL6BQRBDj4kmBsW98AqEeQHlj/13X+sZOrKSo9/rNKH4Ul4f6EICREFdw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/utils@8.42.0':
- resolution: {integrity: sha512-JnIzu7H3RH5BrKC4NoZqRfmjqCIS1u3hGZltDYJgkVdqAezl4L9d1ZLw+36huCujtSBSAirGINF/S4UxOcR+/g==}
+ '@typescript-eslint/utils@8.43.0':
+ resolution: {integrity: sha512-S1/tEmkUeeswxd0GGcnwuVQPFWo8NzZTOMxCvw8BX7OMxnNae+i8Tm7REQen/SwUIPoPqfKn7EaZ+YLpiB3k9g==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/visitor-keys@8.42.0':
- resolution: {integrity: sha512-3WbiuzoEowaEn8RSnhJBrxSwX8ULYE9CXaPepS2C2W3NSA5NNIvBaslpBSBElPq0UGr0xVJlXFWOAKIkyylydQ==}
+ '@typescript-eslint/visitor-keys@8.43.0':
+ resolution: {integrity: sha512-T+S1KqRD4sg/bHfLwrpF/K3gQLBM1n7Rp7OjjikjTEssI2YJzQpi5WXoynOaQ93ERIuq3O8RBTOUYDKszUCEHw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@umami/node@0.4.0':
@@ -10127,8 +10121,8 @@ packages:
types-ramda@0.30.1:
resolution: {integrity: sha512-1HTsf5/QVRmLzcGfldPFvkVsAdi1db1BBKzi7iW3KBUlOICg/nKnFS+jGqDJS3YD8VsWbAh7JiHeBvbsw8RPxA==}
- typescript-eslint@8.42.0:
- resolution: {integrity: sha512-ozR/rQn+aQXQxh1YgbCzQWDFrsi9mcg+1PM3l/z5o1+20P7suOIaNg515bpr/OYt6FObz/NHcBstydDLHWeEKg==}
+ typescript-eslint@8.43.0:
+ resolution: {integrity: sha512-FyRGJKUGvcFekRRcBKFBlAhnp4Ng8rhe8tuvvkR9OiU0gfd4vyvTRQHEckO6VDlH57jbeUQem2IpqPq9kLJH+w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
@@ -11253,11 +11247,6 @@ snapshots:
'@esbuild/win32-x64@0.25.9':
optional: true
- '@eslint-community/eslint-utils@4.7.0(eslint@9.35.0)':
- dependencies:
- eslint: 9.35.0
- eslint-visitor-keys: 3.4.3
-
'@eslint-community/eslint-utils@4.9.0(eslint@9.35.0)':
dependencies:
eslint: 9.35.0
@@ -13337,14 +13326,14 @@ snapshots:
dependencies:
'@types/node': 22.18.1
- '@typescript-eslint/eslint-plugin@8.42.0(@typescript-eslint/parser@8.42.0(eslint@9.35.0)(typescript@5.9.2))(eslint@9.35.0)(typescript@5.9.2)':
+ '@typescript-eslint/eslint-plugin@8.43.0(@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.9.2))(eslint@9.35.0)(typescript@5.9.2)':
dependencies:
'@eslint-community/regexpp': 4.12.1
- '@typescript-eslint/parser': 8.42.0(eslint@9.35.0)(typescript@5.9.2)
- '@typescript-eslint/scope-manager': 8.42.0
- '@typescript-eslint/type-utils': 8.42.0(eslint@9.35.0)(typescript@5.9.2)
- '@typescript-eslint/utils': 8.42.0(eslint@9.35.0)(typescript@5.9.2)
- '@typescript-eslint/visitor-keys': 8.42.0
+ '@typescript-eslint/parser': 8.43.0(eslint@9.35.0)(typescript@5.9.2)
+ '@typescript-eslint/scope-manager': 8.43.0
+ '@typescript-eslint/type-utils': 8.43.0(eslint@9.35.0)(typescript@5.9.2)
+ '@typescript-eslint/utils': 8.43.0(eslint@9.35.0)(typescript@5.9.2)
+ '@typescript-eslint/visitor-keys': 8.43.0
eslint: 9.35.0
graphemer: 1.4.0
ignore: 7.0.4
@@ -13354,41 +13343,41 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/parser@8.42.0(eslint@9.35.0)(typescript@5.9.2)':
+ '@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.9.2)':
dependencies:
- '@typescript-eslint/scope-manager': 8.42.0
- '@typescript-eslint/types': 8.42.0
- '@typescript-eslint/typescript-estree': 8.42.0(typescript@5.9.2)
- '@typescript-eslint/visitor-keys': 8.42.0
+ '@typescript-eslint/scope-manager': 8.43.0
+ '@typescript-eslint/types': 8.43.0
+ '@typescript-eslint/typescript-estree': 8.43.0(typescript@5.9.2)
+ '@typescript-eslint/visitor-keys': 8.43.0
debug: 4.4.1
eslint: 9.35.0
typescript: 5.9.2
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/project-service@8.42.0(typescript@5.9.2)':
+ '@typescript-eslint/project-service@8.43.0(typescript@5.9.2)':
dependencies:
- '@typescript-eslint/tsconfig-utils': 8.42.0(typescript@5.9.2)
- '@typescript-eslint/types': 8.42.0
+ '@typescript-eslint/tsconfig-utils': 8.43.0(typescript@5.9.2)
+ '@typescript-eslint/types': 8.43.0
debug: 4.4.1
typescript: 5.9.2
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/scope-manager@8.42.0':
+ '@typescript-eslint/scope-manager@8.43.0':
dependencies:
- '@typescript-eslint/types': 8.42.0
- '@typescript-eslint/visitor-keys': 8.42.0
+ '@typescript-eslint/types': 8.43.0
+ '@typescript-eslint/visitor-keys': 8.43.0
- '@typescript-eslint/tsconfig-utils@8.42.0(typescript@5.9.2)':
+ '@typescript-eslint/tsconfig-utils@8.43.0(typescript@5.9.2)':
dependencies:
typescript: 5.9.2
- '@typescript-eslint/type-utils@8.42.0(eslint@9.35.0)(typescript@5.9.2)':
+ '@typescript-eslint/type-utils@8.43.0(eslint@9.35.0)(typescript@5.9.2)':
dependencies:
- '@typescript-eslint/types': 8.42.0
- '@typescript-eslint/typescript-estree': 8.42.0(typescript@5.9.2)
- '@typescript-eslint/utils': 8.42.0(eslint@9.35.0)(typescript@5.9.2)
+ '@typescript-eslint/types': 8.43.0
+ '@typescript-eslint/typescript-estree': 8.43.0(typescript@5.9.2)
+ '@typescript-eslint/utils': 8.43.0(eslint@9.35.0)(typescript@5.9.2)
debug: 4.4.1
eslint: 9.35.0
ts-api-utils: 2.1.0(typescript@5.9.2)
@@ -13396,14 +13385,14 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/types@8.42.0': {}
+ '@typescript-eslint/types@8.43.0': {}
- '@typescript-eslint/typescript-estree@8.42.0(typescript@5.9.2)':
+ '@typescript-eslint/typescript-estree@8.43.0(typescript@5.9.2)':
dependencies:
- '@typescript-eslint/project-service': 8.42.0(typescript@5.9.2)
- '@typescript-eslint/tsconfig-utils': 8.42.0(typescript@5.9.2)
- '@typescript-eslint/types': 8.42.0
- '@typescript-eslint/visitor-keys': 8.42.0
+ '@typescript-eslint/project-service': 8.43.0(typescript@5.9.2)
+ '@typescript-eslint/tsconfig-utils': 8.43.0(typescript@5.9.2)
+ '@typescript-eslint/types': 8.43.0
+ '@typescript-eslint/visitor-keys': 8.43.0
debug: 4.4.1
fast-glob: 3.3.2
is-glob: 4.0.3
@@ -13414,20 +13403,20 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/utils@8.42.0(eslint@9.35.0)(typescript@5.9.2)':
+ '@typescript-eslint/utils@8.43.0(eslint@9.35.0)(typescript@5.9.2)':
dependencies:
- '@eslint-community/eslint-utils': 4.7.0(eslint@9.35.0)
- '@typescript-eslint/scope-manager': 8.42.0
- '@typescript-eslint/types': 8.42.0
- '@typescript-eslint/typescript-estree': 8.42.0(typescript@5.9.2)
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.35.0)
+ '@typescript-eslint/scope-manager': 8.43.0
+ '@typescript-eslint/types': 8.43.0
+ '@typescript-eslint/typescript-estree': 8.43.0(typescript@5.9.2)
eslint: 9.35.0
typescript: 5.9.2
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/visitor-keys@8.42.0':
+ '@typescript-eslint/visitor-keys@8.43.0':
dependencies:
- '@typescript-eslint/types': 8.42.0
+ '@typescript-eslint/types': 8.43.0
eslint-visitor-keys: 4.2.1
'@umami/node@0.4.0': {}
@@ -15190,17 +15179,17 @@ snapshots:
transitivePeerDependencies:
- supports-color
- eslint-module-utils@2.12.1(@typescript-eslint/parser@8.42.0(eslint@9.35.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint@9.35.0):
+ eslint-module-utils@2.12.1(@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint@9.35.0):
dependencies:
debug: 3.2.7
optionalDependencies:
- '@typescript-eslint/parser': 8.42.0(eslint@9.35.0)(typescript@5.9.2)
+ '@typescript-eslint/parser': 8.43.0(eslint@9.35.0)(typescript@5.9.2)
eslint: 9.35.0
eslint-import-resolver-node: 0.3.9
transitivePeerDependencies:
- supports-color
- eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.42.0(eslint@9.35.0)(typescript@5.9.2))(eslint@9.35.0):
+ eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.9.2))(eslint@9.35.0):
dependencies:
'@rtsao/scc': 1.1.0
array-includes: 3.1.9
@@ -15211,7 +15200,7 @@ snapshots:
doctrine: 2.1.0
eslint: 9.35.0
eslint-import-resolver-node: 0.3.9
- eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.42.0(eslint@9.35.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint@9.35.0)
+ eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint@9.35.0)
hasown: 2.0.2
is-core-module: 2.16.1
is-glob: 4.0.3
@@ -15223,7 +15212,7 @@ snapshots:
string.prototype.trimend: 1.0.9
tsconfig-paths: 3.15.0
optionalDependencies:
- '@typescript-eslint/parser': 8.42.0(eslint@9.35.0)(typescript@5.9.2)
+ '@typescript-eslint/parser': 8.43.0(eslint@9.35.0)(typescript@5.9.2)
transitivePeerDependencies:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
@@ -19674,12 +19663,12 @@ snapshots:
dependencies:
ts-toolbelt: 9.6.0
- typescript-eslint@8.42.0(eslint@9.35.0)(typescript@5.9.2):
+ typescript-eslint@8.43.0(eslint@9.35.0)(typescript@5.9.2):
dependencies:
- '@typescript-eslint/eslint-plugin': 8.42.0(@typescript-eslint/parser@8.42.0(eslint@9.35.0)(typescript@5.9.2))(eslint@9.35.0)(typescript@5.9.2)
- '@typescript-eslint/parser': 8.42.0(eslint@9.35.0)(typescript@5.9.2)
- '@typescript-eslint/typescript-estree': 8.42.0(typescript@5.9.2)
- '@typescript-eslint/utils': 8.42.0(eslint@9.35.0)(typescript@5.9.2)
+ '@typescript-eslint/eslint-plugin': 8.43.0(@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.9.2))(eslint@9.35.0)(typescript@5.9.2)
+ '@typescript-eslint/parser': 8.43.0(eslint@9.35.0)(typescript@5.9.2)
+ '@typescript-eslint/typescript-estree': 8.43.0(typescript@5.9.2)
+ '@typescript-eslint/utils': 8.43.0(eslint@9.35.0)(typescript@5.9.2)
eslint: 9.35.0
typescript: 5.9.2
transitivePeerDependencies:
diff --git a/tooling/eslint/package.json b/tooling/eslint/package.json
index a12edb475..5f36205a0 100644
--- a/tooling/eslint/package.json
+++ b/tooling/eslint/package.json
@@ -24,7 +24,7 @@
"eslint-plugin-jsx-a11y": "^6.10.2",
"eslint-plugin-react": "^7.37.5",
"eslint-plugin-react-hooks": "^5.2.0",
- "typescript-eslint": "^8.42.0"
+ "typescript-eslint": "^8.43.0"
},
"devDependencies": {
"@homarr/prettier-config": "workspace:^0.1.0",
From 43d5a27552b9fb89009645e7e711cb62a482e3c7 Mon Sep 17 00:00:00 2001
From: "homarr-renovate[bot]"
<158783068+homarr-renovate[bot]@users.noreply.github.com>
Date: Sat, 13 Sep 2025 22:19:17 +0000
Subject: [PATCH 18/42] fix(deps): update dependency dockerode to ^4.0.8
(#4076)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
---
packages/docker/package.json | 2 +-
pnpm-lock.yaml | 47 ++++++++++++++++++++++++++++++------
2 files changed, 40 insertions(+), 9 deletions(-)
diff --git a/packages/docker/package.json b/packages/docker/package.json
index 954936af5..7349ad9ee 100644
--- a/packages/docker/package.json
+++ b/packages/docker/package.json
@@ -26,7 +26,7 @@
"dependencies": {
"@homarr/common": "workspace:^0.1.0",
"@homarr/core": "workspace:^0.1.0",
- "dockerode": "^4.0.7"
+ "dockerode": "^4.0.8"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index a728488bc..5321cbcd9 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -1254,8 +1254,8 @@ importers:
specifier: workspace:^0.1.0
version: link:../core
dockerode:
- specifier: ^4.0.7
- version: 4.0.7
+ specifier: ^4.0.8
+ version: 4.0.8
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -5391,6 +5391,9 @@ packages:
resolution: {integrity: sha512-mxIojEAQcuEvT/lyXq+jf/3cO/KoA6z4CeNDGGevTybECPOMFCnQy3OPahluUkbqgPNGw5Bi78UC7Po6Lhy+NA==}
engines: {node: '>= 14.16.0'}
+ chownr@1.1.4:
+ resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==}
+
chroma-js@3.1.2:
resolution: {integrity: sha512-IJnETTalXbsLx1eKEgx19d5L6SRM7cH4vINw/99p/M11HCuXGRWL+6YmCm7FWFGIo6dtWuQoQi1dc5yQ7ESIHg==}
@@ -5903,8 +5906,8 @@ packages:
resolution: {integrity: sha512-ens7BiayssQz/uAxGzH8zGXCtiV24rRWXdjNha5V4zSOcxmAZsfGVm/PPFbwQdqEkDnhG+SyR9E3zSHUbOKXBQ==}
engines: {node: '>= 8.0'}
- dockerode@4.0.7:
- resolution: {integrity: sha512-R+rgrSRTRdU5mH14PZTCPZtW/zw3HDWNTS/1ZAQpL/5Upe/ye5K9WQkIysu4wBoiMwKynsz0a8qWuGsHgEvSAA==}
+ dockerode@4.0.8:
+ resolution: {integrity: sha512-HdPBprWmwfHMHi12AVIFDhXIqIS+EpiOVkZaAZxgML4xf5McqEZjJZtahTPkLDxWOt84ApfWPAH9EoQwOiaAIQ==}
engines: {node: '>= 8.0'}
doctrine@2.1.0:
@@ -6593,6 +6596,9 @@ packages:
from2@2.3.0:
resolution: {integrity: sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==}
+ fs-constants@1.0.0:
+ resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==}
+
fs-extra@10.1.0:
resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==}
engines: {node: '>=12'}
@@ -9744,9 +9750,16 @@ packages:
resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
engines: {node: '>=6'}
+ tar-fs@2.1.3:
+ resolution: {integrity: sha512-090nwYJDmlhwFwEW3QQl+vaNnxsO2yVsd45eTKRBzSzu+hlb1w2K9inVq5b0ngXuLVqQ4ApvsUHHnu/zQNkWAg==}
+
tar-fs@3.1.0:
resolution: {integrity: sha512-5Mty5y/sOF1YWj1J6GiBodjlDc05CUR8PKXrsnFAiSG0xA+GHeWLovaZPYUDXkH/1iKRf2+M5+OrRgzC7O9b7w==}
+ tar-stream@2.2.0:
+ resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==}
+ engines: {node: '>=6'}
+
tar-stream@3.1.7:
resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==}
@@ -14219,6 +14232,8 @@ snapshots:
dependencies:
readdirp: 4.0.1
+ chownr@1.1.4: {}
+
chroma-js@3.1.2: {}
chrome-trace-event@1.0.4: {}
@@ -14713,17 +14728,16 @@ snapshots:
transitivePeerDependencies:
- supports-color
- dockerode@4.0.7:
+ dockerode@4.0.8:
dependencies:
'@balena/dockerignore': 1.0.2
'@grpc/grpc-js': 1.12.5
'@grpc/proto-loader': 0.7.13
docker-modem: 5.0.6
protobufjs: 7.4.0
- tar-fs: 3.1.0
+ tar-fs: 2.1.3
uuid: 10.0.0
transitivePeerDependencies:
- - bare-buffer
- supports-color
doctrine@2.1.0:
@@ -15606,6 +15620,8 @@ snapshots:
inherits: 2.0.4
readable-stream: 2.3.8
+ fs-constants@1.0.0: {}
+
fs-extra@10.1.0:
dependencies:
graceful-fs: 4.2.11
@@ -19246,6 +19262,13 @@ snapshots:
tapable@2.2.1: {}
+ tar-fs@2.1.3:
+ dependencies:
+ chownr: 1.1.4
+ mkdirp-classic: 0.5.3
+ pump: 3.0.2
+ tar-stream: 2.2.0
+
tar-fs@3.1.0:
dependencies:
pump: 3.0.2
@@ -19256,6 +19279,14 @@ snapshots:
transitivePeerDependencies:
- bare-buffer
+ tar-stream@2.2.0:
+ dependencies:
+ bl: 4.1.0
+ end-of-stream: 1.4.4
+ fs-constants: 1.0.0
+ inherits: 2.0.4
+ readable-stream: 3.6.2
+
tar-stream@3.1.7:
dependencies:
b4a: 1.6.6
@@ -19302,7 +19333,7 @@ snapshots:
byline: 5.0.0
debug: 4.4.1
docker-compose: 1.2.0
- dockerode: 4.0.7
+ dockerode: 4.0.8
get-port: 7.1.0
proper-lockfile: 4.1.2
properties-reader: 2.3.0
From fe676daad25e674f95e4fa8b949a77b34d376987 Mon Sep 17 00:00:00 2001
From: Meier Lukas
Date: Sun, 14 Sep 2025 00:45:23 +0200
Subject: [PATCH 19/42] feat(tasks): add one second interval (#4074)
---
.../[locale]/manage/tools/tasks/_components/tasks-table.tsx | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/apps/nextjs/src/app/[locale]/manage/tools/tasks/_components/tasks-table.tsx b/apps/nextjs/src/app/[locale]/manage/tools/tasks/_components/tasks-table.tsx
index 0117c4913..ceb27aa81 100644
--- a/apps/nextjs/src/app/[locale]/manage/tools/tasks/_components/tasks-table.tsx
+++ b/apps/nextjs/src/app/[locale]/manage/tools/tasks/_components/tasks-table.tsx
@@ -17,6 +17,10 @@ import { useTranslatedMantineReactTable } from "@homarr/ui/hooks";
import { IconPowerOff } from "@homarr/ui/icons";
const cronExpressions = [
+ {
+ value: "*/1 * * * * *",
+ label: (t: TranslationFunction) => t("management.page.tool.tasks.interval.seconds", { interval: 1 }),
+ },
{
value: "*/5 * * * * *",
label: (t: TranslationFunction) => t("management.page.tool.tasks.interval.seconds", { interval: 5 }),
From 69b46959aac0680461d38a5ac152e344f0095ca7 Mon Sep 17 00:00:00 2001
From: Meier Lukas
Date: Sun, 14 Sep 2025 00:49:52 +0200
Subject: [PATCH 20/42] ci(on-release): update bug report template failing
(#4073)
---
.github/workflows/on-release.yml | 1 +
1 file changed, 1 insertion(+)
diff --git a/.github/workflows/on-release.yml b/.github/workflows/on-release.yml
index 9b95aae28..9aac94c45 100644
--- a/.github/workflows/on-release.yml
+++ b/.github/workflows/on-release.yml
@@ -61,6 +61,7 @@ jobs:
run: |
git config --global user.email "175486441+homarr-releases[bot]@users.noreply.github.com"
git config --global user.name "Releases Homarr"
+ git checkout -b update-bug-report-template
git add .
git commit -m "chore: update bug report template"
From 1d485cf26ce33a2bd1c0d538b1839678a40be9bd Mon Sep 17 00:00:00 2001
From: Meier Lukas
Date: Sun, 14 Sep 2025 15:59:16 +0200
Subject: [PATCH 21/42] docs(readme): add screenshot of example dashboard
(#4077)
---
docs/README.md | 2 ++
docs/img/screenshot.png | Bin 0 -> 320162 bytes
2 files changed, 2 insertions(+)
create mode 100644 docs/img/screenshot.png
diff --git a/docs/README.md b/docs/README.md
index 1ecb24c40..5e5596651 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -30,6 +30,8 @@
+
+

- 🖌️ Highly customizable with an extensive drag and drop grid system
diff --git a/docs/img/screenshot.png b/docs/img/screenshot.png
new file mode 100644
index 0000000000000000000000000000000000000000..963f6d8fba538ddfc1a411db7a2e889a04a52feb
GIT binary patch
literal 320162
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