From c65456c6464de7f8e6f28c895b46ee3130bdbbd8 Mon Sep 17 00:00:00 2001
From: Hayden <64056131+hay-kot@users.noreply.github.com>
Date: Sat, 19 Jul 2025 08:58:43 -0500
Subject: [PATCH 01/23] chore(l10n): New Crowdin updates (#5750)
---
.../seed/resources/foods/locales/de-DE.json | 418 +++++++++---------
.../seed/resources/foods/locales/fr-FR.json | 16 +-
.../seed/resources/foods/locales/he-IL.json | 202 ++++-----
.../seed/resources/foods/locales/nl-NL.json | 100 ++---
4 files changed, 368 insertions(+), 368 deletions(-)
diff --git a/mealie/repos/seed/resources/foods/locales/de-DE.json b/mealie/repos/seed/resources/foods/locales/de-DE.json
index 9369db146..a521d269c 100644
--- a/mealie/repos/seed/resources/foods/locales/de-DE.json
+++ b/mealie/repos/seed/resources/foods/locales/de-DE.json
@@ -3639,8 +3639,8 @@
"cricket flour": {
"aliases": [],
"description": "",
- "name": "cricket flour",
- "plural_name": "cricket flours"
+ "name": "Grillenmehl",
+ "plural_name": "Grillenmehle"
},
"macadamia butter": {
"aliases": [],
@@ -3657,8 +3657,8 @@
"egg tofu": {
"aliases": [],
"description": "",
- "name": "egg tofu",
- "plural_name": "egg tofus"
+ "name": "Eiertofu",
+ "plural_name": "Eiertofu"
},
"protein drink": {
"aliases": [],
@@ -3723,7 +3723,7 @@
"latik": {
"aliases": [],
"description": "",
- "name": "latik",
+ "name": "Latik",
"plural_name": "latiks"
},
"rice cream": {
@@ -3877,8 +3877,8 @@
"beef sirloin": {
"aliases": [],
"description": "",
- "name": "beef sirloin",
- "plural_name": "beef sirloins"
+ "name": "Sirloin-Steak",
+ "plural_name": "Sirloin-Steaks"
},
"salami": {
"aliases": [],
@@ -3973,8 +3973,8 @@
"pork spare rib": {
"aliases": [],
"description": "",
- "name": "pork spare rib",
- "plural_name": "pork spare ribs"
+ "name": "Schweinerippchen",
+ "plural_name": "Schweinerippchen"
},
"lamb shoulder": {
"aliases": [],
@@ -4003,8 +4003,8 @@
"bone-in ham": {
"aliases": [],
"description": "",
- "name": "bone-in ham",
- "plural_name": "bone-in hams"
+ "name": "Knochenschinken",
+ "plural_name": "Knochenschinken"
},
"pork butt": {
"aliases": [],
@@ -4045,7 +4045,7 @@
"venison": {
"aliases": [],
"description": "",
- "name": "venison",
+ "name": "Wild",
"plural_name": "Wildbret"
},
"bratwurst": {
@@ -4183,7 +4183,7 @@
"cocktail sausage": {
"aliases": [],
"description": "",
- "name": "cocktail sausage",
+ "name": "Cocktail-Wurst",
"plural_name": "Cocktail-Würste"
},
"hard salami": {
@@ -4225,8 +4225,8 @@
"lap cheong": {
"aliases": [],
"description": "",
- "name": "lap cheong",
- "plural_name": "lap cheongs"
+ "name": "Lap Cheong",
+ "plural_name": "Lap Cheongs"
},
"blood sausage": {
"aliases": [],
@@ -4285,8 +4285,8 @@
"bologna": {
"aliases": [],
"description": "",
- "name": "bologna",
- "plural_name": "bolognas"
+ "name": "Lyoner",
+ "plural_name": "Lyoner"
},
"burger patty": {
"aliases": [],
@@ -4458,7 +4458,7 @@
"aliases": [],
"description": "",
"name": "Hühnerleber",
- "plural_name": "chicken livers"
+ "plural_name": "Hühnerlebern"
},
"cornish hen": {
"aliases": [],
@@ -4685,8 +4685,8 @@
"pigeon": {
"aliases": [],
"description": "",
- "name": "pigeon",
- "plural_name": "pigeons"
+ "name": "Taube",
+ "plural_name": "Tauben"
},
"wild game bird": {
"aliases": [],
@@ -4697,8 +4697,8 @@
"turkey liver": {
"aliases": [],
"description": "",
- "name": "turkey liver",
- "plural_name": "turkey livers"
+ "name": "Putenleber",
+ "plural_name": "Putenlebern"
},
"chicken neck": {
"aliases": [],
@@ -4793,8 +4793,8 @@
"capon": {
"aliases": [],
"description": "",
- "name": "capon",
- "plural_name": "capons"
+ "name": "Kapaun",
+ "plural_name": "Kapaune"
},
"smoked turkey bacon": {
"aliases": [],
@@ -4883,8 +4883,8 @@
"chicken milanesa": {
"aliases": [],
"description": "",
- "name": "chicken milanesa",
- "plural_name": "chicken milanesas"
+ "name": "Milanesa de Pollo",
+ "plural_name": "Milanesa de Pollo"
}
}
},
@@ -4924,7 +4924,7 @@
"aliases": [],
"description": "",
"name": "Weißfisch",
- "plural_name": "whitefish"
+ "plural_name": "Renken"
},
"halibut": {
"aliases": [],
@@ -5067,14 +5067,14 @@
"sea bream": {
"aliases": [],
"description": "",
- "name": "sea bream",
- "plural_name": "sea bream"
+ "name": "Seebrasse",
+ "plural_name": "Seebrassen"
},
"rainbow trout": {
"aliases": [],
"description": "",
"name": "Regenbogenforelle",
- "plural_name": "rainbow trout"
+ "plural_name": "Regenbogenforelle"
},
"carp": {
"aliases": [],
@@ -5109,8 +5109,8 @@
"steelhead trout": {
"aliases": [],
"description": "",
- "name": "steelhead trout",
- "plural_name": "steelhead trout"
+ "name": "Steelhead-Forelle",
+ "plural_name": "Steelhead-Forellen"
},
"roe": {
"aliases": [],
@@ -5127,14 +5127,14 @@
"black cod": {
"aliases": [],
"description": "",
- "name": "black cod",
- "plural_name": "black cod"
+ "name": "Black Cod",
+ "plural_name": "Black Cod"
},
"kingfish": {
"aliases": [],
"description": "",
- "name": "kingfish",
- "plural_name": "kingfish"
+ "name": "Gelbschwanzmakrele",
+ "plural_name": "Gelbschwanzmakrelen"
},
"orange roughy": {
"aliases": [],
@@ -5199,20 +5199,20 @@
"lemon sole": {
"aliases": [],
"description": "",
- "name": "lemon sole",
- "plural_name": "lemon soles"
+ "name": "Rotzunge",
+ "plural_name": "Rotzungen"
},
"yellowtail": {
"aliases": [],
"description": "",
- "name": "yellowtail",
- "plural_name": "yellowtails"
+ "name": "Gelbschwanzmakrele",
+ "plural_name": "Gelbschwanzmakrelen"
},
"battered fish": {
"aliases": [],
"description": "",
- "name": "battered fish",
- "plural_name": "battered fish"
+ "name": "Fisch in Backteig",
+ "plural_name": "Fische in Backteig"
},
"pike": {
"aliases": [],
@@ -5229,26 +5229,26 @@
"john dory": {
"aliases": [],
"description": "",
- "name": "john dory",
- "plural_name": "john dories"
+ "name": "Petersfisch",
+ "plural_name": "Petersfische"
},
"swai fish": {
"aliases": [],
"description": "",
- "name": "swai fish",
- "plural_name": "swai fish"
+ "name": "Pangasius",
+ "plural_name": "Pangasien"
},
"walleye": {
"aliases": [],
"description": "",
- "name": "walleye",
- "plural_name": "walleyes"
+ "name": "Glasaugenbarsch",
+ "plural_name": "Glasaugenbarsche"
},
"fresh mackerel": {
"aliases": [],
"description": "",
- "name": "fresh mackerel",
- "plural_name": "fresh mackerel"
+ "name": "frische Makrele",
+ "plural_name": "frische Makrelen"
},
"salmon trout": {
"aliases": [],
@@ -5259,8 +5259,8 @@
"basa fish": {
"aliases": [],
"description": "",
- "name": "basa fish",
- "plural_name": "basa fish"
+ "name": "Basa",
+ "plural_name": "Basa"
},
"smoked eel": {
"aliases": [],
@@ -5283,188 +5283,188 @@
"bluefish": {
"aliases": [],
"description": "",
- "name": "bluefish",
- "plural_name": "bluefish"
+ "name": "Blaufisch",
+ "plural_name": "Blaufische"
},
"red mullet": {
"aliases": [],
"description": "",
- "name": "red mullet",
- "plural_name": "red mullets"
+ "name": "Rotbarbe",
+ "plural_name": "Rotbarben"
},
"gurnard": {
"aliases": [],
"description": "",
- "name": "gurnard",
- "plural_name": "gurnards"
+ "name": "Knurrhahn",
+ "plural_name": "Knurrhähne"
},
"plaice": {
"aliases": [],
"description": "",
- "name": "plaice",
- "plural_name": "plaices"
+ "name": "Scholle",
+ "plural_name": "Schollen"
},
"pompano": {
"aliases": [],
"description": "",
- "name": "pompano",
- "plural_name": "pompanoes"
+ "name": "Gabelmakrele",
+ "plural_name": "Gabelmakrelen"
},
"smoked fish": {
"aliases": [],
"description": "",
- "name": "smoked fish",
- "plural_name": "smoked fish"
+ "name": "Räucherfisch",
+ "plural_name": "Räucherfische"
},
"fish head": {
"aliases": [],
"description": "",
- "name": "fish head",
- "plural_name": "fish heads"
+ "name": "Fischkopf",
+ "plural_name": "Fischköpfe"
},
"rohu fish": {
"aliases": [],
"description": "",
- "name": "rohu fish",
- "plural_name": "rohu fish"
+ "name": "Rohu-Karpfen",
+ "plural_name": "Rohu-Karpfen"
},
"dried fish": {
"aliases": [],
"description": "",
- "name": "dried fish",
- "plural_name": "dried fish"
+ "name": "Trockenfisch",
+ "plural_name": "Trockenfische"
},
"flathead": {
"aliases": [],
"description": "",
- "name": "flathead",
- "plural_name": "flatheads"
+ "name": "Plattkopf",
+ "plural_name": "Plattköpfe"
},
"fish cake": {
"aliases": [],
"description": "",
- "name": "fish cake",
- "plural_name": "fish cakes"
+ "name": "Fischkuchen",
+ "plural_name": "Fischkuchen"
},
"salt fish": {
"aliases": [],
"description": "",
- "name": "salt fish",
- "plural_name": "salt fish"
+ "name": "Salzfisch",
+ "plural_name": "Salzfische"
},
"smoked herring": {
"aliases": [],
"description": "",
- "name": "smoked herring",
- "plural_name": "smoked herrings"
+ "name": "Bückling",
+ "plural_name": "Bücklinge"
},
"whiting": {
"aliases": [],
"description": "",
- "name": "whiting",
- "plural_name": "whiting"
+ "name": "Wittling",
+ "plural_name": "Wittlinge"
},
"salmon burger meat": {
"aliases": [],
"description": "",
- "name": "salmon burger meat",
- "plural_name": "salmon burger meats"
+ "name": "Lachsburger",
+ "plural_name": "Lachsburger"
},
"shark meat": {
"aliases": [],
"description": "",
- "name": "shark meat",
- "plural_name": "shark meats"
+ "name": "Haifleisch",
+ "plural_name": "Haifleisch"
},
"garoupa": {
"aliases": [],
"description": "",
- "name": "garoupa",
- "plural_name": "garoupas"
+ "name": "Zackenbarsch",
+ "plural_name": "Zackenbarsche"
},
"gilt-head bream": {
"aliases": [],
"description": "",
- "name": "gilt-head bream",
- "plural_name": "gilt-head bream"
+ "name": "Dorade",
+ "plural_name": "Doraden"
},
"pangasiu": {
"aliases": [],
"description": "",
- "name": "pangasiu",
- "plural_name": "pangasius"
+ "name": "Pangasius",
+ "plural_name": "Pangasien"
},
"salt herring": {
"aliases": [],
"description": "",
- "name": "salt herring",
- "plural_name": "salt herrings"
+ "name": "Salzhering",
+ "plural_name": "Salzheringe"
},
"soused herring": {
"aliases": [],
"description": "",
- "name": "soused herring",
- "plural_name": "soused herrings"
+ "name": "Matjes",
+ "plural_name": "Matjes"
},
"tinapa": {
"aliases": [],
"description": "",
- "name": "tinapa",
- "plural_name": "tinapas"
+ "name": "Tinapa",
+ "plural_name": "Tinapas"
},
"zander": {
"aliases": [],
"description": "",
- "name": "zander",
- "plural_name": "zanders"
+ "name": "Zander",
+ "plural_name": "Zander"
},
"amberjack": {
"aliases": [],
"description": "",
- "name": "amberjack",
- "plural_name": "amberjacks"
+ "name": "Amberjack",
+ "plural_name": "Amberjacks"
},
"korean fish cake": {
"aliases": [],
"description": "",
- "name": "korean fish cake",
- "plural_name": "korean fish cakes"
+ "name": "koreanischer Fischkuchen",
+ "plural_name": "koreanische Fischkuchen"
},
"mullet": {
"aliases": [],
"description": "",
- "name": "mullet",
- "plural_name": "mullets"
+ "name": "Meeräsche",
+ "plural_name": "Meeräschen"
},
"skipjack tuna": {
"aliases": [],
"description": "",
- "name": "skipjack tuna",
- "plural_name": "skipjack tuna"
+ "name": "Echter Bonito",
+ "plural_name": "Echte Bonito"
},
"bottarga": {
"aliases": [],
"description": "",
- "name": "bottarga",
- "plural_name": "bottargas"
+ "name": "Bottarga",
+ "plural_name": "Bottarga"
},
"dried baby sardine": {
"aliases": [],
"description": "",
- "name": "dried baby sardine",
- "plural_name": "dried baby sardines"
+ "name": "getrocknete Sardellen",
+ "plural_name": "getrocknete Sardellen"
},
"marlin": {
"aliases": [],
"description": "",
- "name": "marlin",
- "plural_name": "marlins"
+ "name": "Marlin",
+ "plural_name": "Marline"
},
"threadfin": {
"aliases": [],
"description": "",
- "name": "threadfin",
- "plural_name": "threadfins"
+ "name": "Fingerfisch",
+ "plural_name": "Fingerfische"
},
"tiny fish": {
"aliases": [],
@@ -5475,20 +5475,20 @@
"tuna belly": {
"aliases": [],
"description": "",
- "name": "tuna belly",
- "plural_name": "tuna bellies"
+ "name": "Thunfischbauch",
+ "plural_name": "Thunfischbäuche"
},
"beluga caviar": {
"aliases": [],
"description": "",
- "name": "beluga caviar",
- "plural_name": "beluga caviars"
+ "name": "Beluga-Kaviar",
+ "plural_name": "Beluga-Kaviar"
},
"bombay duck": {
"aliases": [],
"description": "",
- "name": "bombay duck",
- "plural_name": "bombay ducks"
+ "name": "Bummalo",
+ "plural_name": "Bummalos"
}
}
},
@@ -5497,20 +5497,20 @@
"shrimp": {
"aliases": [],
"description": "",
- "name": "shrimp",
- "plural_name": "shrimps"
+ "name": "Shrimp",
+ "plural_name": "Shrimps"
},
"octopuse": {
"aliases": [],
"description": "",
- "name": "octopuse",
- "plural_name": "octopi"
+ "name": "Tintenfische",
+ "plural_name": "Tintenfische"
},
"prawn": {
"aliases": [],
"description": "",
- "name": "prawn",
- "plural_name": "prawns"
+ "name": "Garnele",
+ "plural_name": "Garnelen"
},
"crab": {
"aliases": [],
@@ -5527,14 +5527,14 @@
"mussel": {
"aliases": [],
"description": "",
- "name": "mussel",
- "plural_name": "mussels"
+ "name": "Muschel",
+ "plural_name": "Muscheln"
},
"clam": {
"aliases": [],
"description": "",
- "name": "clam",
- "plural_name": "clams"
+ "name": "Clam",
+ "plural_name": "Clams"
},
"squid": {
"aliases": [],
@@ -5545,8 +5545,8 @@
"nori": {
"aliases": [],
"description": "",
- "name": "nori",
- "plural_name": "noris"
+ "name": "Nori",
+ "plural_name": "Nori"
},
"lobster": {
"aliases": [],
@@ -5569,8 +5569,8 @@
"crawfish": {
"aliases": [],
"description": "",
- "name": "crawfish",
- "plural_name": "crawfish"
+ "name": "Flusskrebs",
+ "plural_name": "Flusskrebse"
},
"octopu": {
"aliases": [],
@@ -5581,8 +5581,8 @@
"kombu": {
"aliases": [],
"description": "",
- "name": "kombu",
- "plural_name": "kombus"
+ "name": "Kombu",
+ "plural_name": "Kombu"
},
"dried shrimp": {
"aliases": [],
@@ -5701,8 +5701,8 @@
"arame": {
"aliases": [],
"description": "",
- "name": "arame",
- "plural_name": "arames"
+ "name": "Arame",
+ "plural_name": "Arame"
},
"calamari steak": {
"aliases": [],
@@ -5713,8 +5713,8 @@
"mud crab": {
"aliases": [],
"description": "",
- "name": "mud crab",
- "plural_name": "mud crabs"
+ "name": "Mangrovenkrabbe",
+ "plural_name": "Mangrovenkrabben"
},
"sea urchin": {
"aliases": [],
@@ -5725,26 +5725,26 @@
"abalone": {
"aliases": [],
"description": "",
- "name": "abalone",
- "plural_name": "abalones"
+ "name": "Meerohr",
+ "plural_name": "Meerohren"
},
"seaweed salad": {
"aliases": [],
"description": "",
- "name": "seaweed salad",
- "plural_name": "seaweed salads"
+ "name": "Seetangsalat",
+ "plural_name": "Seetangsalate"
},
"dulse": {
"aliases": [],
"description": "",
- "name": "dulse",
- "plural_name": "dulses"
+ "name": "Lappentang",
+ "plural_name": "Lappentang"
},
"smoked mussel": {
"aliases": [],
"description": "",
- "name": "smoked mussel",
- "plural_name": "smoked mussels"
+ "name": "geräucherte Muschel",
+ "plural_name": "geräucherte Muscheln"
},
"sea snail": {
"aliases": [],
@@ -5755,8 +5755,8 @@
"aonori": {
"aliases": [],
"description": "",
- "name": "aonori",
- "plural_name": "aonoris"
+ "name": "Aonori",
+ "plural_name": "Aonori"
},
"prepared crab cake": {
"aliases": [],
@@ -5791,20 +5791,20 @@
"haddock": {
"aliases": [],
"description": "",
- "name": "haddock",
- "plural_name": "haddocks"
+ "name": "Schellfisch",
+ "plural_name": "Schellfische"
},
"sea mos": {
"aliases": [],
"description": "",
- "name": "sea mos",
- "plural_name": "sea moss"
+ "name": "Knorpeltang",
+ "plural_name": "Knorpeltang"
},
"langoustine": {
"aliases": [],
"description": "",
- "name": "langoustine",
- "plural_name": "langoustines"
+ "name": "Scampi",
+ "plural_name": "Scampi"
}
}
},
@@ -5867,8 +5867,8 @@
"nutmeg": {
"aliases": [],
"description": "",
- "name": "nutmeg",
- "plural_name": "nutmegs"
+ "name": "Muskatnuss",
+ "plural_name": "Muskatnuss"
},
"chili flake": {
"aliases": [],
@@ -6029,8 +6029,8 @@
"fennel seed": {
"aliases": [],
"description": "",
- "name": "fennel seed",
- "plural_name": "fennel seeds"
+ "name": "Fenchelsamen",
+ "plural_name": "Fenchelsamen"
},
"tarragon": {
"aliases": [],
@@ -6101,8 +6101,8 @@
"fenugreek": {
"aliases": [],
"description": "",
- "name": "fenugreek",
- "plural_name": "fenugreeks"
+ "name": "Bockshornklee",
+ "plural_name": "Bockshornklee"
},
"onion flake": {
"aliases": [],
@@ -6125,8 +6125,8 @@
"sumac": {
"aliases": [],
"description": "",
- "name": "sumac",
- "plural_name": "sumacs"
+ "name": "Sumach",
+ "plural_name": "Sumach"
},
"dried parsley flake": {
"aliases": [],
@@ -6137,8 +6137,8 @@
"fenugreek seed": {
"aliases": [],
"description": "",
- "name": "fenugreek seed",
- "plural_name": "fenugreek seeds"
+ "name": "Bockshornkleesamen",
+ "plural_name": "Bockshornkleesamen"
},
"kashmiri red chilli": {
"aliases": [],
@@ -6149,8 +6149,8 @@
"thai basil": {
"aliases": [],
"description": "",
- "name": "thai basil",
- "plural_name": "thai basils"
+ "name": "Thai-Basilikum",
+ "plural_name": "Thai-Basilikums"
},
"edible flower": {
"aliases": [],
@@ -6413,8 +6413,8 @@
"fennel pollen": {
"aliases": [],
"description": "",
- "name": "fennel pollen",
- "plural_name": "fennel pollens"
+ "name": "Fenchelpollen",
+ "plural_name": "Fenchelpollen"
}
}
},
@@ -6424,7 +6424,7 @@
"aliases": [],
"description": "",
"name": "Zucker",
- "plural_name": "sugars"
+ "plural_name": "Zucker"
},
"brown sugar": {
"aliases": [
@@ -7178,8 +7178,8 @@
"fleur de sel": {
"aliases": [],
"description": "",
- "name": "fleur de sel",
- "plural_name": "fleur de sel"
+ "name": "Fleur de Sel",
+ "plural_name": "Fleur de Sel"
},
"thai red curry paste": {
"aliases": [],
@@ -7677,8 +7677,8 @@
"cornstarch": {
"aliases": [],
"description": "",
- "name": "cornstarch",
- "plural_name": "cornstarches"
+ "name": "Maisstärke",
+ "plural_name": "Maisstärke"
},
"yeast": {
"aliases": [],
@@ -7809,7 +7809,7 @@
"gluten-free flour": {
"aliases": [],
"description": "",
- "name": "gluten-free flour",
+ "name": "glutenfreies Mehl",
"plural_name": "gluten-free flours"
},
"rice flour": {
@@ -7908,8 +7908,8 @@
"potato starch": {
"aliases": [],
"description": "",
- "name": "potato starch",
- "plural_name": "potato starches"
+ "name": "Kartoffelstärke",
+ "plural_name": "Kartoffelstärke"
},
"jello": {
"aliases": [],
@@ -7950,8 +7950,8 @@
"pectin": {
"aliases": [],
"description": "",
- "name": "pectin",
- "plural_name": "pectins"
+ "name": "Pektin",
+ "plural_name": "Pektine"
},
"rye flour": {
"aliases": [],
@@ -8404,8 +8404,8 @@
"fresh pasta dough": {
"aliases": [],
"description": "",
- "name": "fresh pasta dough",
- "plural_name": "fresh pasta doughs"
+ "name": "frischer Nudelteig",
+ "plural_name": "frische Nudelteige"
},
"idli batter": {
"aliases": [],
@@ -8540,8 +8540,8 @@
"rice": {
"aliases": [],
"description": "",
- "name": "rice",
- "plural_name": "rices"
+ "name": "Reis",
+ "plural_name": "Reis"
},
"Rice Krispie Cereal": {
"aliases": [
@@ -8554,14 +8554,14 @@
"quinoa": {
"aliases": [],
"description": "",
- "name": "quinoa",
- "plural_name": "quinoas"
+ "name": "Quinoa",
+ "plural_name": "Quinoa"
},
"basmati rice": {
"aliases": [],
"description": "",
- "name": "basmati rice",
- "plural_name": "basmati rices"
+ "name": "Basmati-Reis",
+ "plural_name": "Basmati-Reis"
},
"brown rice": {
"aliases": [],
@@ -8621,7 +8621,7 @@
"aliases": [],
"description": "",
"name": "Polenta",
- "plural_name": "polentas"
+ "plural_name": "Polenta"
},
"granola cereal": {
"aliases": [],
@@ -8650,8 +8650,8 @@
"barley": {
"aliases": [],
"description": "",
- "name": "barley",
- "plural_name": "barleys"
+ "name": "Gerste",
+ "plural_name": "Gerste"
},
"wheat germ": {
"aliases": [],
@@ -8842,8 +8842,8 @@
"brown jasmine rice": {
"aliases": [],
"description": "",
- "name": "brown jasmine rice",
- "plural_name": "brown jasmine rices"
+ "name": "brauner Jasminreis",
+ "plural_name": "brauner Jasminreis"
},
"cream of wheat": {
"aliases": [],
@@ -8866,8 +8866,8 @@
"weetabix": {
"aliases": [],
"description": "",
- "name": "weetabix",
- "plural_name": "weetabixes"
+ "name": "Weetabix",
+ "plural_name": "Weetabixe"
},
"jambalaya rice mix": {
"aliases": [],
@@ -9836,8 +9836,8 @@
"paccheri": {
"aliases": [],
"description": "",
- "name": "paccheri",
- "plural_name": "paccheris"
+ "name": "Paccheri",
+ "plural_name": "Paccheri"
},
"kluski noodle": {
"aliases": [],
@@ -9926,14 +9926,14 @@
"lobster ravioli": {
"aliases": [],
"description": "",
- "name": "lobster ravioli",
- "plural_name": "lobster raviolis"
+ "name": "Hummer-Ravioli",
+ "plural_name": "Hummer-Ravioli"
},
"mafalde": {
"aliases": [],
"description": "",
- "name": "mafalde",
- "plural_name": "mafaldes"
+ "name": "Mafalde",
+ "plural_name": "Mafalde"
},
"misua": {
"aliases": [],
@@ -9974,8 +9974,8 @@
"casarecce": {
"aliases": [],
"description": "",
- "name": "casarecce",
- "plural_name": "casarecces"
+ "name": "Casarecce",
+ "plural_name": "Casarecce"
},
"quinoa pasta": {
"aliases": [],
@@ -10042,8 +10042,8 @@
"panko": {
"aliases": [],
"description": "",
- "name": "panko",
- "plural_name": "pankoes"
+ "name": "Panko",
+ "plural_name": "Panko"
},
"flour tortilla": {
"aliases": [],
@@ -10132,8 +10132,8 @@
"brioche": {
"aliases": [],
"description": "",
- "name": "brioche",
- "plural_name": "brioches"
+ "name": "Brioche",
+ "plural_name": "Brioches"
},
"italian bread crumb": {
"aliases": [],
@@ -10150,8 +10150,8 @@
"flatbread": {
"aliases": [],
"description": "",
- "name": "flatbread",
- "plural_name": "flatbreads"
+ "name": "Flatbread",
+ "plural_name": "Flatbreads"
},
"dry-roasted peanut": {
"aliases": [],
diff --git a/mealie/repos/seed/resources/foods/locales/fr-FR.json b/mealie/repos/seed/resources/foods/locales/fr-FR.json
index a77274a54..85afb0e84 100644
--- a/mealie/repos/seed/resources/foods/locales/fr-FR.json
+++ b/mealie/repos/seed/resources/foods/locales/fr-FR.json
@@ -511,14 +511,14 @@
"baby corn": {
"aliases": [],
"description": "",
- "name": "baby corn",
- "plural_name": "baby corns"
+ "name": "bébé maïs",
+ "plural_name": "bébés maïs"
},
"broccoli rabe": {
"aliases": [],
"description": "",
- "name": "broccoli rabe",
- "plural_name": "broccoli rabes"
+ "name": "brocoli-rave",
+ "plural_name": "brocoli-raves"
},
"rutabaga": {
"aliases": [],
@@ -577,8 +577,8 @@
"frisee": {
"aliases": [],
"description": "",
- "name": "frisee",
- "plural_name": "frisees"
+ "name": "frisée",
+ "plural_name": "frisées"
},
"anaheim pepper": {
"aliases": [],
@@ -1257,8 +1257,8 @@
"wild mushroom": {
"aliases": [],
"description": "",
- "name": "wild mushroom",
- "plural_name": "wild mushrooms"
+ "name": "champignon sauvage",
+ "plural_name": "champignons sauvages"
},
"porcini": {
"aliases": [],
diff --git a/mealie/repos/seed/resources/foods/locales/he-IL.json b/mealie/repos/seed/resources/foods/locales/he-IL.json
index dd5236681..906b58e6d 100644
--- a/mealie/repos/seed/resources/foods/locales/he-IL.json
+++ b/mealie/repos/seed/resources/foods/locales/he-IL.json
@@ -105,7 +105,7 @@
},
"chile pepper": {
"aliases": [
- "capsicum"
+ "a"
],
"description": "",
"name": "פלפל צ'ילי",
@@ -1175,8 +1175,8 @@
"freeze-dried pineapple": {
"aliases": [],
"description": "",
- "name": "אננס מיובש בהקפאה",
- "plural_name": "אננסים מיובשים בהקפאה"
+ "name": "אננס מיובש מוקפא",
+ "plural_name": "אננסים מיובשים מוקפא"
},
"pluot": {
"aliases": [],
@@ -1477,8 +1477,8 @@
"cherry": {
"aliases": [],
"description": "",
- "name": "cherry",
- "plural_name": "cherries"
+ "name": "דובדבן",
+ "plural_name": "דובדבנים"
},
"blackberry": {
"aliases": [],
@@ -1501,8 +1501,8 @@
"dried cherry": {
"aliases": [],
"description": "",
- "name": "dried cherry",
- "plural_name": "dried cherries"
+ "name": "דובדבן מיובש",
+ "plural_name": "דובדבנים מיובשים"
},
"juniper berry": {
"aliases": [],
@@ -1871,8 +1871,8 @@
"melon seed": {
"aliases": [],
"description": "",
- "name": "melon seed",
- "plural_name": "melon seeds"
+ "name": "גרעין מלון",
+ "plural_name": "גרעיני מלונים"
},
"lotus seed": {
"aliases": [],
@@ -1907,8 +1907,8 @@
"peanut brittle": {
"aliases": [],
"description": "",
- "name": "peanut brittle",
- "plural_name": "peanut brittles"
+ "name": "שבר בוטן",
+ "plural_name": "שברי בוטנים"
},
"jackfruit seed": {
"aliases": [],
@@ -1991,8 +1991,8 @@
"indian almond": {
"aliases": [],
"description": "",
- "name": "indian almond",
- "plural_name": "indian almonds"
+ "name": "שקד הודי",
+ "plural_name": "שקדים הודים"
}
}
},
@@ -3225,8 +3225,8 @@
"cashew butter": {
"aliases": [],
"description": "",
- "name": "cashew butter",
- "plural_name": "cashew butter"
+ "name": "חמאת קשיו",
+ "plural_name": "חמאת קשיו"
},
"tempeh": {
"aliases": [],
@@ -3261,32 +3261,32 @@
"cashew milk": {
"aliases": [],
"description": "",
- "name": "cashew milk",
- "plural_name": "cashew milks"
+ "name": "חלב קשיו",
+ "plural_name": "חלב קשיו"
},
"oat milk": {
"aliases": [],
"description": "",
- "name": "oat milk",
- "plural_name": "oat milks"
+ "name": "חלב שיבולת שועל",
+ "plural_name": "חלב שיבולת שועל"
},
"nut butter": {
"aliases": [],
"description": "",
- "name": "nut butter",
- "plural_name": "nut butter"
+ "name": "חמאת אגוזים",
+ "plural_name": "חמאת אגוזים"
},
"rice milk": {
"aliases": [],
"description": "",
- "name": "rice milk",
- "plural_name": "rice milks"
+ "name": "חלב אורז",
+ "plural_name": "חלב אורז"
},
"vegan sour cream": {
"aliases": [],
"description": "",
- "name": "vegan sour cream",
- "plural_name": "vegan sour creams"
+ "name": "שמנת חמוצה טבעונית",
+ "plural_name": "שמנת חמוצה טבעונית"
},
"textured vegetable protein": {
"aliases": [],
@@ -3303,14 +3303,14 @@
"soy yogurt": {
"aliases": [],
"description": "",
- "name": "soy yogurt",
- "plural_name": "soy yogurts"
+ "name": "יוגורט סויה",
+ "plural_name": "יוגורט סויה"
},
"vegan mozzarella": {
"aliases": [],
"description": "",
- "name": "vegan mozzarella",
- "plural_name": "vegan mozzarellas"
+ "name": "מוצרלה טבעונית",
+ "plural_name": "מוצרלה טבעונית"
},
"non-dairy creamer": {
"aliases": [],
@@ -3333,8 +3333,8 @@
"smoked tofu": {
"aliases": [],
"description": "",
- "name": "smoked tofu",
- "plural_name": "smoked tofus"
+ "name": "טופו מעושן",
+ "plural_name": "טופו מעושן"
},
"coconut powder": {
"aliases": [],
@@ -3579,8 +3579,8 @@
"cashew cheese sauce": {
"aliases": [],
"description": "",
- "name": "cashew cheese sauce",
- "plural_name": "cashew cheese sauces"
+ "name": "רוטב גבינת קשיו",
+ "plural_name": "רוטב גבינת קשיו"
},
"coconut fat": {
"aliases": [],
@@ -3633,8 +3633,8 @@
"cashew cream cheese": {
"aliases": [],
"description": "",
- "name": "cashew cream cheese",
- "plural_name": "cashew cream cheeses"
+ "name": "גבינת קרם קשיו",
+ "plural_name": "גבינת קרם קשיו"
},
"cricket flour": {
"aliases": [],
@@ -7700,11 +7700,11 @@
},
"whole-wheat flour": {
"aliases": [
- "whole wheat flour"
+ "קמח חיטה מלא"
],
"description": "",
- "name": "whole-wheat flour",
- "plural_name": "whole-wheat flours"
+ "name": "קמח חיטה מלא",
+ "plural_name": "קמח חיטה מלא"
},
"almond flour": {
"aliases": [],
@@ -7715,8 +7715,8 @@
"self-raising flour": {
"aliases": [],
"description": "",
- "name": "self-raising flour",
- "plural_name": "self-raising flours"
+ "name": "קמח תופח",
+ "plural_name": "קמח תופח"
},
"shredded coconut": {
"aliases": [],
@@ -7878,8 +7878,8 @@
"spelt": {
"aliases": [],
"description": "",
- "name": "spelt",
- "plural_name": "spelts"
+ "name": "כוסמין",
+ "plural_name": "כוסמין"
},
"brownie mix": {
"aliases": [],
@@ -7944,8 +7944,8 @@
"brown rice flour": {
"aliases": [],
"description": "",
- "name": "brown rice flour",
- "plural_name": "brown rice flours"
+ "name": "קמח אורז מלא",
+ "plural_name": "קמח אורז מלא"
},
"pectin": {
"aliases": [],
@@ -8142,8 +8142,8 @@
"quinoa flour": {
"aliases": [],
"description": "",
- "name": "quinoa flour",
- "plural_name": "quinoa flours"
+ "name": "קמח קינואה",
+ "plural_name": "קמח קינואה"
},
"finger millet flour": {
"aliases": [],
@@ -8190,8 +8190,8 @@
"gluten-free baking flour": {
"aliases": [],
"description": "",
- "name": "gluten-free baking flour",
- "plural_name": "gluten-free baking flours"
+ "name": "קמח אפייה ללא גלוטן",
+ "plural_name": "קמח אפייה ללא גלוטן"
},
"einkorn flour": {
"aliases": [],
@@ -8208,14 +8208,14 @@
"gluten-free self-raising flour": {
"aliases": [],
"description": "",
- "name": "gluten-free self-raising flour",
- "plural_name": "gluten-free self-raising flours"
+ "name": "קמח תופח ללא גלוטן",
+ "plural_name": "קמח תופח ללא גלוטן"
},
"peanut flour": {
"aliases": [],
"description": "",
- "name": "peanut flour",
- "plural_name": "peanut flours"
+ "name": "קמח בוטנים",
+ "plural_name": "קמח בוטנים"
},
"sweet bean paste": {
"aliases": [],
@@ -8950,8 +8950,8 @@
"spelt flake": {
"aliases": [],
"description": "",
- "name": "spelt flake",
- "plural_name": "spelt flakes"
+ "name": "פתיתי כוסמין",
+ "plural_name": "פתיתי כוסמין"
},
"kodo millet": {
"aliases": [],
@@ -9504,14 +9504,14 @@
"macaroni": {
"aliases": [],
"description": "",
- "name": "macaroni",
- "plural_name": "macaronis"
+ "name": "מקרוני",
+ "plural_name": "מקרוני"
},
"egg noodle": {
"aliases": [],
"description": "",
- "name": "egg noodle",
- "plural_name": "egg noodles"
+ "name": "איטריית ביצים",
+ "plural_name": "איטריות ביצים"
},
"spiral pasta": {
"aliases": [],
@@ -9521,7 +9521,7 @@
},
"lasagna noodle": {
"aliases": [
- "lasagnas"
+ "לזניה"
],
"description": "",
"name": "lasagna noodle",
@@ -9536,8 +9536,8 @@
"fettuccine": {
"aliases": [],
"description": "",
- "name": "fettuccine",
- "plural_name": "fettuccines"
+ "name": "פטוציני",
+ "plural_name": "פטוציני"
},
"orzo": {
"aliases": [],
@@ -9560,26 +9560,26 @@
"noodle": {
"aliases": [],
"description": "",
- "name": "noodle",
- "plural_name": "noodles"
+ "name": "איטרייה",
+ "plural_name": "איטריות"
},
"tortellini": {
"aliases": [],
"description": "",
- "name": "tortellini",
- "plural_name": "tortellinis"
+ "name": "טורטליני",
+ "plural_name": "טורטליני"
},
"cheese tortellini": {
"aliases": [],
"description": "",
- "name": "cheese tortellini",
- "plural_name": "cheese tortellinis"
+ "name": "טורטליני גבינה",
+ "plural_name": "טורטליני גבינה"
},
"rice noodle": {
"aliases": [],
"description": "",
- "name": "rice noodle",
- "plural_name": "rice noodles"
+ "name": "איטריית אורז",
+ "plural_name": "איטריות אורז"
},
"rigatoni": {
"aliases": [],
@@ -9602,8 +9602,8 @@
"ramen noodle": {
"aliases": [],
"description": "",
- "name": "ramen noodle",
- "plural_name": "ramen noodles"
+ "name": "איטריית ראמן",
+ "plural_name": "איטריות ראמן"
},
"vermicelli": {
"aliases": [],
@@ -9626,8 +9626,8 @@
"ravioli": {
"aliases": [],
"description": "",
- "name": "ravioli",
- "plural_name": "raviolis"
+ "name": "רביולי",
+ "plural_name": "רביולי"
},
"ziti": {
"aliases": [],
@@ -9656,8 +9656,8 @@
"udon noodle": {
"aliases": [],
"description": "",
- "name": "udon noodle",
- "plural_name": "udon noodles"
+ "name": "איטריית אודון",
+ "plural_name": "איטריות אודון"
},
"ditalini": {
"aliases": [],
@@ -10634,14 +10634,14 @@
"olive oil": {
"aliases": [],
"description": "",
- "name": "olive oil",
- "plural_name": "olive oils"
+ "name": "שמן זית",
+ "plural_name": "שמן זית"
},
"vegetable oil": {
"aliases": [],
"description": "",
- "name": "vegetable oil",
- "plural_name": "vegetable oils"
+ "name": "שמן צמחי",
+ "plural_name": "שמן צמחי"
},
"extra virgin olive oil": {
"aliases": [],
@@ -10652,14 +10652,14 @@
"canola oil": {
"aliases": [],
"description": "",
- "name": "canola oil",
- "plural_name": "canola oils"
+ "name": "שמן קנולה",
+ "plural_name": "שמן קנולה"
},
"coconut oil": {
"aliases": [],
"description": "",
- "name": "coconut oil",
- "plural_name": "coconut oils"
+ "name": "שמן קוקוס",
+ "plural_name": "שמן קוקוס"
},
"cooking spray": {
"aliases": [],
@@ -10670,8 +10670,8 @@
"sesame oil": {
"aliases": [],
"description": "",
- "name": "sesame oil",
- "plural_name": "sesame oils"
+ "name": "שמן שומשום",
+ "plural_name": "שמן שומשום"
},
"frying oil": {
"aliases": [],
@@ -10682,14 +10682,14 @@
"sunflower oil": {
"aliases": [],
"description": "",
- "name": "sunflower oil",
- "plural_name": "sunflower oils"
+ "name": "שמן חמניות",
+ "plural_name": "שמן חמניות"
},
"avocado oil": {
"aliases": [],
"description": "",
- "name": "avocado oil",
- "plural_name": "avocado oils"
+ "name": "שמן אבוקדו",
+ "plural_name": "שמן אבוקדו"
},
"toasted sesame oil": {
"aliases": [],
@@ -10700,8 +10700,8 @@
"peanut oil": {
"aliases": [],
"description": "",
- "name": "peanut oil",
- "plural_name": "peanut oils"
+ "name": "שמן בוטנים",
+ "plural_name": "שמן בוטנים"
},
"grapeseed oil": {
"aliases": [
@@ -10774,8 +10774,8 @@
"cacao butter": {
"aliases": [],
"description": "",
- "name": "cacao butter",
- "plural_name": "cacao butter"
+ "name": "חמאת קקאו",
+ "plural_name": "חמאת קקאו"
},
"salad oil": {
"aliases": [],
@@ -13054,8 +13054,8 @@
"pineapple salsa": {
"aliases": [],
"description": "",
- "name": "pineapple salsa",
- "plural_name": "pineapple salsas"
+ "name": "סלסת אננס",
+ "plural_name": "סלסת אננס"
},
"artichoke dip": {
"aliases": [],
@@ -14337,8 +14337,8 @@
"pineapple jam": {
"aliases": [],
"description": "",
- "name": "pineapple jam",
- "plural_name": "pineapple jams"
+ "name": "ריבת אננס",
+ "plural_name": "ריבת אננס"
},
"licorice": {
"aliases": [],
@@ -15125,8 +15125,8 @@
"pineapple juice": {
"aliases": [],
"description": "",
- "name": "pineapple juice",
- "plural_name": "pineapple juices"
+ "name": "מיץ אננס",
+ "plural_name": "מיץ אננס"
},
"apple juice": {
"aliases": [],
@@ -15179,8 +15179,8 @@
"coke": {
"aliases": [],
"description": "",
- "name": "coke",
- "plural_name": "cokes"
+ "name": "קולה",
+ "plural_name": "קולה"
},
"eggnog": {
"aliases": [],
diff --git a/mealie/repos/seed/resources/foods/locales/nl-NL.json b/mealie/repos/seed/resources/foods/locales/nl-NL.json
index f12dd7472..e9a6f3de4 100644
--- a/mealie/repos/seed/resources/foods/locales/nl-NL.json
+++ b/mealie/repos/seed/resources/foods/locales/nl-NL.json
@@ -1420,7 +1420,7 @@
"aliases": [],
"description": "",
"name": "bovist",
- "plural_name": "puffballs"
+ "plural_name": "bovisten"
},
"honey fungu": {
"aliases": [],
@@ -1443,8 +1443,8 @@
"lion’s mane mushroom": {
"aliases": [],
"description": "",
- "name": "lion’s mane mushroom",
- "plural_name": "lion’s mane mushrooms"
+ "name": "pruikzwam",
+ "plural_name": "pruikzwammen"
}
}
},
@@ -1483,8 +1483,8 @@
"blackberry": {
"aliases": [],
"description": "",
- "name": "braam",
- "plural_name": "bramen"
+ "name": "braambes",
+ "plural_name": "braambessen"
},
"berry mix": {
"aliases": [],
@@ -1555,20 +1555,20 @@
"canned sour cherry": {
"aliases": [],
"description": "",
- "name": "canned sour cherry",
- "plural_name": "canned sour cherries"
+ "name": "zure kers in blik",
+ "plural_name": "zure kersen in blik"
},
"mulberry": {
"aliases": [],
"description": "",
- "name": "mulberry",
- "plural_name": "mulberries"
+ "name": "moerbei",
+ "plural_name": "moerbeien"
},
"acai berry": {
"aliases": [],
"description": "",
- "name": "acai berry",
- "plural_name": "acai berries"
+ "name": "açai",
+ "plural_name": "açai"
},
"canned cherry": {
"aliases": [],
@@ -1609,8 +1609,8 @@
"barberry": {
"aliases": [],
"description": "",
- "name": "barberry",
- "plural_name": "barberries"
+ "name": "zuurbes",
+ "plural_name": "zuurbessen"
},
"dried berry": {
"aliases": [],
@@ -1621,8 +1621,8 @@
"sea buckthorn": {
"aliases": [],
"description": "",
- "name": "sea buckthorn",
- "plural_name": "sea buckthorns"
+ "name": "duindoorn",
+ "plural_name": "duindoorns"
},
"saskatoon berry": {
"aliases": [],
@@ -1639,7 +1639,7 @@
"hawthorn": {
"aliases": [],
"description": "",
- "name": "hawthorn",
+ "name": "meidoorn",
"plural_name": "meidoorns"
},
"boysenberry": {
@@ -1663,50 +1663,50 @@
"aronia berry": {
"aliases": [],
"description": "",
- "name": "aronia berry",
- "plural_name": "aronia berries"
+ "name": "appelbes",
+ "plural_name": "appelbessen"
},
"chokeberry": {
"aliases": [],
"description": "",
- "name": "chokeberry",
- "plural_name": "chokeberries"
+ "name": "appelbes",
+ "plural_name": "appelbessen"
},
"loganberry": {
"aliases": [],
"description": "",
- "name": "loganberry",
- "plural_name": "loganberries"
+ "name": "loganbes",
+ "plural_name": "loganbessen"
},
"blackcurrant leaf": {
"aliases": [],
"description": "",
- "name": "blackcurrant leaf",
- "plural_name": "blackcurrant leaves"
+ "name": "zwarte bes blad",
+ "plural_name": "zwarte bes bladeren"
},
"haskap berry": {
"aliases": [],
"description": "",
- "name": "haskap berry",
- "plural_name": "haskap berries"
+ "name": "honingbes",
+ "plural_name": "honingbessen"
},
"dewberry": {
"aliases": [],
"description": "",
- "name": "dewberry",
- "plural_name": "dewberries"
+ "name": "dauwbraam",
+ "plural_name": "dauwbramen"
},
"sloe berry": {
"aliases": [],
"description": "",
- "name": "sloe berry",
- "plural_name": "sloe berries"
+ "name": "sleedoorn",
+ "plural_name": "sleedoorns"
},
"oregon grape": {
"aliases": [],
"description": "",
- "name": "oregon grape",
- "plural_name": "oregon grapes"
+ "name": "mahoniebes",
+ "plural_name": "mahoniebessen"
}
}
},
@@ -1805,8 +1805,8 @@
"macadamia": {
"aliases": [],
"description": "",
- "name": "macadamia",
- "plural_name": "macadamias"
+ "name": "macadamianoot",
+ "plural_name": "macadamianoten"
},
"roasted peanut": {
"aliases": [],
@@ -1817,8 +1817,8 @@
"chopped nut": {
"aliases": [],
"description": "",
- "name": "chopped nut",
- "plural_name": "chopped nuts"
+ "name": "gehakte noot",
+ "plural_name": "gehakte noten"
},
"hemp heart": {
"aliases": [],
@@ -1841,8 +1841,8 @@
"brazil nut": {
"aliases": [],
"description": "",
- "name": "brazil nut",
- "plural_name": "brazil nuts"
+ "name": "paranoot",
+ "plural_name": "paranoten"
},
"mixed seed": {
"aliases": [],
@@ -1895,8 +1895,8 @@
"basil seed": {
"aliases": [],
"description": "",
- "name": "basil seed",
- "plural_name": "basil seeds"
+ "name": "basilicumzaad",
+ "plural_name": "basilicum zaden"
},
"candlenut": {
"aliases": [],
@@ -1961,8 +1961,8 @@
"palm seed": {
"aliases": [],
"description": "",
- "name": "palm seed",
- "plural_name": "palm seeds"
+ "name": "palmzaad",
+ "plural_name": "palmzaden"
},
"ginkgo nut": {
"aliases": [],
@@ -2001,16 +2001,16 @@
"parmesan": {
"aliases": [],
"description": "",
- "name": "parmesan",
- "plural_name": "parmesans"
+ "name": "parmezaan",
+ "plural_name": "parmezaan"
},
"cheddar cheese": {
"aliases": [
"cheddars"
],
"description": "",
- "name": "cheddar kaas",
- "plural_name": "cheddar kazen"
+ "name": "cheddar",
+ "plural_name": "cheddars"
},
"cream cheese": {
"aliases": [],
@@ -2063,8 +2063,8 @@
"blue cheese": {
"aliases": [],
"description": "",
- "name": "blue cheese",
- "plural_name": "blue cheeses"
+ "name": "blauwe kaas",
+ "plural_name": "blauwe kazen"
},
"goat cheese": {
"aliases": [],
@@ -2159,8 +2159,8 @@
"quark": {
"aliases": [],
"description": "",
- "name": "quark",
- "plural_name": "quarks"
+ "name": "kwark",
+ "plural_name": "kwarken"
},
"gouda": {
"aliases": [],
From 754878eb6319c5ba7c245cb00645548b37378dcb Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Sat, 19 Jul 2025 11:26:37 -0500
Subject: [PATCH 02/23] chore(deps): update dependency coverage to v7.9.2
(#5622)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
poetry.lock | 136 ++++++++++++++++++++++++++--------------------------
1 file changed, 68 insertions(+), 68 deletions(-)
diff --git a/poetry.lock b/poetry.lock
index 283370735..6db310fc6 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -478,79 +478,79 @@ markers = {main = "platform_system == \"Windows\" or sys_platform == \"win32\""}
[[package]]
name = "coverage"
-version = "7.9.1"
+version = "7.9.2"
description = "Code coverage measurement for Python"
optional = false
python-versions = ">=3.9"
groups = ["dev"]
files = [
- {file = "coverage-7.9.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cc94d7c5e8423920787c33d811c0be67b7be83c705f001f7180c7b186dcf10ca"},
- {file = "coverage-7.9.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:16aa0830d0c08a2c40c264cef801db8bc4fc0e1892782e45bcacbd5889270509"},
- {file = "coverage-7.9.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf95981b126f23db63e9dbe4cf65bd71f9a6305696fa5e2262693bc4e2183f5b"},
- {file = "coverage-7.9.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f05031cf21699785cd47cb7485f67df619e7bcdae38e0fde40d23d3d0210d3c3"},
- {file = "coverage-7.9.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb4fbcab8764dc072cb651a4bcda4d11fb5658a1d8d68842a862a6610bd8cfa3"},
- {file = "coverage-7.9.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:0f16649a7330ec307942ed27d06ee7e7a38417144620bb3d6e9a18ded8a2d3e5"},
- {file = "coverage-7.9.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:cea0a27a89e6432705fffc178064503508e3c0184b4f061700e771a09de58187"},
- {file = "coverage-7.9.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:e980b53a959fa53b6f05343afbd1e6f44a23ed6c23c4b4c56c6662bbb40c82ce"},
- {file = "coverage-7.9.1-cp310-cp310-win32.whl", hash = "sha256:70760b4c5560be6ca70d11f8988ee6542b003f982b32f83d5ac0b72476607b70"},
- {file = "coverage-7.9.1-cp310-cp310-win_amd64.whl", hash = "sha256:a66e8f628b71f78c0e0342003d53b53101ba4e00ea8dabb799d9dba0abbbcebe"},
- {file = "coverage-7.9.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:95c765060e65c692da2d2f51a9499c5e9f5cf5453aeaf1420e3fc847cc060582"},
- {file = "coverage-7.9.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ba383dc6afd5ec5b7a0d0c23d38895db0e15bcba7fb0fa8901f245267ac30d86"},
- {file = "coverage-7.9.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:37ae0383f13cbdcf1e5e7014489b0d71cc0106458878ccde52e8a12ced4298ed"},
- {file = "coverage-7.9.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:69aa417a030bf11ec46149636314c24c8d60fadb12fc0ee8f10fda0d918c879d"},
- {file = "coverage-7.9.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0a4be2a28656afe279b34d4f91c3e26eccf2f85500d4a4ff0b1f8b54bf807338"},
- {file = "coverage-7.9.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:382e7ddd5289f140259b610e5f5c58f713d025cb2f66d0eb17e68d0a94278875"},
- {file = "coverage-7.9.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e5532482344186c543c37bfad0ee6069e8ae4fc38d073b8bc836fc8f03c9e250"},
- {file = "coverage-7.9.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a39d18b3f50cc121d0ce3838d32d58bd1d15dab89c910358ebefc3665712256c"},
- {file = "coverage-7.9.1-cp311-cp311-win32.whl", hash = "sha256:dd24bd8d77c98557880def750782df77ab2b6885a18483dc8588792247174b32"},
- {file = "coverage-7.9.1-cp311-cp311-win_amd64.whl", hash = "sha256:6b55ad10a35a21b8015eabddc9ba31eb590f54adc9cd39bcf09ff5349fd52125"},
- {file = "coverage-7.9.1-cp311-cp311-win_arm64.whl", hash = "sha256:6ad935f0016be24c0e97fc8c40c465f9c4b85cbbe6eac48934c0dc4d2568321e"},
- {file = "coverage-7.9.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:a8de12b4b87c20de895f10567639c0797b621b22897b0af3ce4b4e204a743626"},
- {file = "coverage-7.9.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5add197315a054e92cee1b5f686a2bcba60c4c3e66ee3de77ace6c867bdee7cb"},
- {file = "coverage-7.9.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:600a1d4106fe66f41e5d0136dfbc68fe7200a5cbe85610ddf094f8f22e1b0300"},
- {file = "coverage-7.9.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2a876e4c3e5a2a1715a6608906aa5a2e0475b9c0f68343c2ada98110512ab1d8"},
- {file = "coverage-7.9.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:81f34346dd63010453922c8e628a52ea2d2ccd73cb2487f7700ac531b247c8a5"},
- {file = "coverage-7.9.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:888f8eee13f2377ce86d44f338968eedec3291876b0b8a7289247ba52cb984cd"},
- {file = "coverage-7.9.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:9969ef1e69b8c8e1e70d591f91bbc37fc9a3621e447525d1602801a24ceda898"},
- {file = "coverage-7.9.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:60c458224331ee3f1a5b472773e4a085cc27a86a0b48205409d364272d67140d"},
- {file = "coverage-7.9.1-cp312-cp312-win32.whl", hash = "sha256:5f646a99a8c2b3ff4c6a6e081f78fad0dde275cd59f8f49dc4eab2e394332e74"},
- {file = "coverage-7.9.1-cp312-cp312-win_amd64.whl", hash = "sha256:30f445f85c353090b83e552dcbbdad3ec84c7967e108c3ae54556ca69955563e"},
- {file = "coverage-7.9.1-cp312-cp312-win_arm64.whl", hash = "sha256:af41da5dca398d3474129c58cb2b106a5d93bbb196be0d307ac82311ca234342"},
- {file = "coverage-7.9.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:31324f18d5969feef7344a932c32428a2d1a3e50b15a6404e97cba1cc9b2c631"},
- {file = "coverage-7.9.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0c804506d624e8a20fb3108764c52e0eef664e29d21692afa375e0dd98dc384f"},
- {file = "coverage-7.9.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ef64c27bc40189f36fcc50c3fb8f16ccda73b6a0b80d9bd6e6ce4cffcd810bbd"},
- {file = "coverage-7.9.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d4fe2348cc6ec372e25adec0219ee2334a68d2f5222e0cba9c0d613394e12d86"},
- {file = "coverage-7.9.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:34ed2186fe52fcc24d4561041979a0dec69adae7bce2ae8d1c49eace13e55c43"},
- {file = "coverage-7.9.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:25308bd3d00d5eedd5ae7d4357161f4df743e3c0240fa773ee1b0f75e6c7c0f1"},
- {file = "coverage-7.9.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:73e9439310f65d55a5a1e0564b48e34f5369bee943d72c88378f2d576f5a5751"},
- {file = "coverage-7.9.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:37ab6be0859141b53aa89412a82454b482c81cf750de4f29223d52268a86de67"},
- {file = "coverage-7.9.1-cp313-cp313-win32.whl", hash = "sha256:64bdd969456e2d02a8b08aa047a92d269c7ac1f47e0c977675d550c9a0863643"},
- {file = "coverage-7.9.1-cp313-cp313-win_amd64.whl", hash = "sha256:be9e3f68ca9edb897c2184ad0eee815c635565dbe7a0e7e814dc1f7cbab92c0a"},
- {file = "coverage-7.9.1-cp313-cp313-win_arm64.whl", hash = "sha256:1c503289ffef1d5105d91bbb4d62cbe4b14bec4d13ca225f9c73cde9bb46207d"},
- {file = "coverage-7.9.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0b3496922cb5f4215bf5caaef4cf12364a26b0be82e9ed6d050f3352cf2d7ef0"},
- {file = "coverage-7.9.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:9565c3ab1c93310569ec0d86b017f128f027cab0b622b7af288696d7ed43a16d"},
- {file = "coverage-7.9.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2241ad5dbf79ae1d9c08fe52b36d03ca122fb9ac6bca0f34439e99f8327ac89f"},
- {file = "coverage-7.9.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3bb5838701ca68b10ebc0937dbd0eb81974bac54447c55cd58dea5bca8451029"},
- {file = "coverage-7.9.1-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b30a25f814591a8c0c5372c11ac8967f669b97444c47fd794926e175c4047ece"},
- {file = "coverage-7.9.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:2d04b16a6062516df97969f1ae7efd0de9c31eb6ebdceaa0d213b21c0ca1a683"},
- {file = "coverage-7.9.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:7931b9e249edefb07cd6ae10c702788546341d5fe44db5b6108a25da4dca513f"},
- {file = "coverage-7.9.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:52e92b01041151bf607ee858e5a56c62d4b70f4dac85b8c8cb7fb8a351ab2c10"},
- {file = "coverage-7.9.1-cp313-cp313t-win32.whl", hash = "sha256:684e2110ed84fd1ca5f40e89aa44adf1729dc85444004111aa01866507adf363"},
- {file = "coverage-7.9.1-cp313-cp313t-win_amd64.whl", hash = "sha256:437c576979e4db840539674e68c84b3cda82bc824dd138d56bead1435f1cb5d7"},
- {file = "coverage-7.9.1-cp313-cp313t-win_arm64.whl", hash = "sha256:18a0912944d70aaf5f399e350445738a1a20b50fbea788f640751c2ed9208b6c"},
- {file = "coverage-7.9.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6f424507f57878e424d9a95dc4ead3fbdd72fd201e404e861e465f28ea469951"},
- {file = "coverage-7.9.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:535fde4001b2783ac80865d90e7cc7798b6b126f4cd8a8c54acfe76804e54e58"},
- {file = "coverage-7.9.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:02532fd3290bb8fa6bec876520842428e2a6ed6c27014eca81b031c2d30e3f71"},
- {file = "coverage-7.9.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:56f5eb308b17bca3bbff810f55ee26d51926d9f89ba92707ee41d3c061257e55"},
- {file = "coverage-7.9.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfa447506c1a52271f1b0de3f42ea0fa14676052549095e378d5bff1c505ff7b"},
- {file = "coverage-7.9.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:9ca8e220006966b4a7b68e8984a6aee645a0384b0769e829ba60281fe61ec4f7"},
- {file = "coverage-7.9.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:49f1d0788ba5b7ba65933f3a18864117c6506619f5ca80326b478f72acf3f385"},
- {file = "coverage-7.9.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:68cd53aec6f45b8e4724c0950ce86eacb775c6be01ce6e3669fe4f3a21e768ed"},
- {file = "coverage-7.9.1-cp39-cp39-win32.whl", hash = "sha256:95335095b6c7b1cc14c3f3f17d5452ce677e8490d101698562b2ffcacc304c8d"},
- {file = "coverage-7.9.1-cp39-cp39-win_amd64.whl", hash = "sha256:e1b5191d1648acc439b24721caab2fd0c86679d8549ed2c84d5a7ec1bedcc244"},
- {file = "coverage-7.9.1-pp39.pp310.pp311-none-any.whl", hash = "sha256:db0f04118d1db74db6c9e1cb1898532c7dcc220f1d2718f058601f7c3f499514"},
- {file = "coverage-7.9.1-py3-none-any.whl", hash = "sha256:66b974b145aa189516b6bf2d8423e888b742517d37872f6ee4c5be0073bd9a3c"},
- {file = "coverage-7.9.1.tar.gz", hash = "sha256:6cf43c78c4282708a28e466316935ec7489a9c487518a77fa68f716c67909cec"},
+ {file = "coverage-7.9.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:66283a192a14a3854b2e7f3418d7db05cdf411012ab7ff5db98ff3b181e1f912"},
+ {file = "coverage-7.9.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4e01d138540ef34fcf35c1aa24d06c3de2a4cffa349e29a10056544f35cca15f"},
+ {file = "coverage-7.9.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f22627c1fe2745ee98d3ab87679ca73a97e75ca75eb5faee48660d060875465f"},
+ {file = "coverage-7.9.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4b1c2d8363247b46bd51f393f86c94096e64a1cf6906803fa8d5a9d03784bdbf"},
+ {file = "coverage-7.9.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c10c882b114faf82dbd33e876d0cbd5e1d1ebc0d2a74ceef642c6152f3f4d547"},
+ {file = "coverage-7.9.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:de3c0378bdf7066c3988d66cd5232d161e933b87103b014ab1b0b4676098fa45"},
+ {file = "coverage-7.9.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:1e2f097eae0e5991e7623958a24ced3282676c93c013dde41399ff63e230fcf2"},
+ {file = "coverage-7.9.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:28dc1f67e83a14e7079b6cea4d314bc8b24d1aed42d3582ff89c0295f09b181e"},
+ {file = "coverage-7.9.2-cp310-cp310-win32.whl", hash = "sha256:bf7d773da6af9e10dbddacbf4e5cab13d06d0ed93561d44dae0188a42c65be7e"},
+ {file = "coverage-7.9.2-cp310-cp310-win_amd64.whl", hash = "sha256:0c0378ba787681ab1897f7c89b415bd56b0b2d9a47e5a3d8dc0ea55aac118d6c"},
+ {file = "coverage-7.9.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a7a56a2964a9687b6aba5b5ced6971af308ef6f79a91043c05dd4ee3ebc3e9ba"},
+ {file = "coverage-7.9.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:123d589f32c11d9be7fe2e66d823a236fe759b0096f5db3fb1b75b2fa414a4fa"},
+ {file = "coverage-7.9.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:333b2e0ca576a7dbd66e85ab402e35c03b0b22f525eed82681c4b866e2e2653a"},
+ {file = "coverage-7.9.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:326802760da234baf9f2f85a39e4a4b5861b94f6c8d95251f699e4f73b1835dc"},
+ {file = "coverage-7.9.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:19e7be4cfec248df38ce40968c95d3952fbffd57b400d4b9bb580f28179556d2"},
+ {file = "coverage-7.9.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0b4a4cb73b9f2b891c1788711408ef9707666501ba23684387277ededab1097c"},
+ {file = "coverage-7.9.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:2c8937fa16c8c9fbbd9f118588756e7bcdc7e16a470766a9aef912dd3f117dbd"},
+ {file = "coverage-7.9.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:42da2280c4d30c57a9b578bafd1d4494fa6c056d4c419d9689e66d775539be74"},
+ {file = "coverage-7.9.2-cp311-cp311-win32.whl", hash = "sha256:14fa8d3da147f5fdf9d298cacc18791818f3f1a9f542c8958b80c228320e90c6"},
+ {file = "coverage-7.9.2-cp311-cp311-win_amd64.whl", hash = "sha256:549cab4892fc82004f9739963163fd3aac7a7b0df430669b75b86d293d2df2a7"},
+ {file = "coverage-7.9.2-cp311-cp311-win_arm64.whl", hash = "sha256:c2667a2b913e307f06aa4e5677f01a9746cd08e4b35e14ebcde6420a9ebb4c62"},
+ {file = "coverage-7.9.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ae9eb07f1cfacd9cfe8eaee6f4ff4b8a289a668c39c165cd0c8548484920ffc0"},
+ {file = "coverage-7.9.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9ce85551f9a1119f02adc46d3014b5ee3f765deac166acf20dbb851ceb79b6f3"},
+ {file = "coverage-7.9.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f8f6389ac977c5fb322e0e38885fbbf901743f79d47f50db706e7644dcdcb6e1"},
+ {file = "coverage-7.9.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ff0d9eae8cdfcd58fe7893b88993723583a6ce4dfbfd9f29e001922544f95615"},
+ {file = "coverage-7.9.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fae939811e14e53ed8a9818dad51d434a41ee09df9305663735f2e2d2d7d959b"},
+ {file = "coverage-7.9.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:31991156251ec202c798501e0a42bbdf2169dcb0f137b1f5c0f4267f3fc68ef9"},
+ {file = "coverage-7.9.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:d0d67963f9cbfc7c7f96d4ac74ed60ecbebd2ea6eeb51887af0f8dce205e545f"},
+ {file = "coverage-7.9.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:49b752a2858b10580969ec6af6f090a9a440a64a301ac1528d7ca5f7ed497f4d"},
+ {file = "coverage-7.9.2-cp312-cp312-win32.whl", hash = "sha256:88d7598b8ee130f32f8a43198ee02edd16d7f77692fa056cb779616bbea1b355"},
+ {file = "coverage-7.9.2-cp312-cp312-win_amd64.whl", hash = "sha256:9dfb070f830739ee49d7c83e4941cc767e503e4394fdecb3b54bfdac1d7662c0"},
+ {file = "coverage-7.9.2-cp312-cp312-win_arm64.whl", hash = "sha256:4e2c058aef613e79df00e86b6d42a641c877211384ce5bd07585ed7ba71ab31b"},
+ {file = "coverage-7.9.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:985abe7f242e0d7bba228ab01070fde1d6c8fa12f142e43debe9ed1dde686038"},
+ {file = "coverage-7.9.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:82c3939264a76d44fde7f213924021ed31f55ef28111a19649fec90c0f109e6d"},
+ {file = "coverage-7.9.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ae5d563e970dbe04382f736ec214ef48103d1b875967c89d83c6e3f21706d5b3"},
+ {file = "coverage-7.9.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bdd612e59baed2a93c8843c9a7cb902260f181370f1d772f4842987535071d14"},
+ {file = "coverage-7.9.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:256ea87cb2a1ed992bcdfc349d8042dcea1b80436f4ddf6e246d6bee4b5d73b6"},
+ {file = "coverage-7.9.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f44ae036b63c8ea432f610534a2668b0c3aee810e7037ab9d8ff6883de480f5b"},
+ {file = "coverage-7.9.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:82d76ad87c932935417a19b10cfe7abb15fd3f923cfe47dbdaa74ef4e503752d"},
+ {file = "coverage-7.9.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:619317bb86de4193debc712b9e59d5cffd91dc1d178627ab2a77b9870deb2868"},
+ {file = "coverage-7.9.2-cp313-cp313-win32.whl", hash = "sha256:0a07757de9feb1dfafd16ab651e0f628fd7ce551604d1bf23e47e1ddca93f08a"},
+ {file = "coverage-7.9.2-cp313-cp313-win_amd64.whl", hash = "sha256:115db3d1f4d3f35f5bb021e270edd85011934ff97c8797216b62f461dd69374b"},
+ {file = "coverage-7.9.2-cp313-cp313-win_arm64.whl", hash = "sha256:48f82f889c80af8b2a7bb6e158d95a3fbec6a3453a1004d04e4f3b5945a02694"},
+ {file = "coverage-7.9.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:55a28954545f9d2f96870b40f6c3386a59ba8ed50caf2d949676dac3ecab99f5"},
+ {file = "coverage-7.9.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:cdef6504637731a63c133bb2e6f0f0214e2748495ec15fe42d1e219d1b133f0b"},
+ {file = "coverage-7.9.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bcd5ebe66c7a97273d5d2ddd4ad0ed2e706b39630ed4b53e713d360626c3dbb3"},
+ {file = "coverage-7.9.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9303aed20872d7a3c9cb39c5d2b9bdbe44e3a9a1aecb52920f7e7495410dfab8"},
+ {file = "coverage-7.9.2-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc18ea9e417a04d1920a9a76fe9ebd2f43ca505b81994598482f938d5c315f46"},
+ {file = "coverage-7.9.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6406cff19880aaaadc932152242523e892faff224da29e241ce2fca329866584"},
+ {file = "coverage-7.9.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:2d0d4f6ecdf37fcc19c88fec3e2277d5dee740fb51ffdd69b9579b8c31e4232e"},
+ {file = "coverage-7.9.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:c33624f50cf8de418ab2b4d6ca9eda96dc45b2c4231336bac91454520e8d1fac"},
+ {file = "coverage-7.9.2-cp313-cp313t-win32.whl", hash = "sha256:1df6b76e737c6a92210eebcb2390af59a141f9e9430210595251fbaf02d46926"},
+ {file = "coverage-7.9.2-cp313-cp313t-win_amd64.whl", hash = "sha256:f5fd54310b92741ebe00d9c0d1d7b2b27463952c022da6d47c175d246a98d1bd"},
+ {file = "coverage-7.9.2-cp313-cp313t-win_arm64.whl", hash = "sha256:c48c2375287108c887ee87d13b4070a381c6537d30e8487b24ec721bf2a781cb"},
+ {file = "coverage-7.9.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ddc39510ac922a5c4c27849b739f875d3e1d9e590d1e7b64c98dadf037a16cce"},
+ {file = "coverage-7.9.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a535c0c7364acd55229749c2b3e5eebf141865de3a8f697076a3291985f02d30"},
+ {file = "coverage-7.9.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:df0f9ef28e0f20c767ccdccfc5ae5f83a6f4a2fbdfbcbcc8487a8a78771168c8"},
+ {file = "coverage-7.9.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2f3da12e0ccbcb348969221d29441ac714bbddc4d74e13923d3d5a7a0bebef7a"},
+ {file = "coverage-7.9.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0a17eaf46f56ae0f870f14a3cbc2e4632fe3771eab7f687eda1ee59b73d09fe4"},
+ {file = "coverage-7.9.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:669135a9d25df55d1ed56a11bf555f37c922cf08d80799d4f65d77d7d6123fcf"},
+ {file = "coverage-7.9.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:9d3a700304d01a627df9db4322dc082a0ce1e8fc74ac238e2af39ced4c083193"},
+ {file = "coverage-7.9.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:71ae8b53855644a0b1579d4041304ddc9995c7b21c8a1f16753c4d8903b4dfed"},
+ {file = "coverage-7.9.2-cp39-cp39-win32.whl", hash = "sha256:dd7a57b33b5cf27acb491e890720af45db05589a80c1ffc798462a765be6d4d7"},
+ {file = "coverage-7.9.2-cp39-cp39-win_amd64.whl", hash = "sha256:f65bb452e579d5540c8b37ec105dd54d8b9307b07bcaa186818c104ffda22441"},
+ {file = "coverage-7.9.2-pp39.pp310.pp311-none-any.whl", hash = "sha256:8a1166db2fb62473285bcb092f586e081e92656c7dfa8e9f62b4d39d7e6b5050"},
+ {file = "coverage-7.9.2-py3-none-any.whl", hash = "sha256:e425cd5b00f6fc0ed7cdbd766c70be8baab4b7839e4d4fe5fac48581dd968ea4"},
+ {file = "coverage-7.9.2.tar.gz", hash = "sha256:997024fa51e3290264ffd7492ec97d0690293ccd2b45a6cd7d82d945a4a80c8b"},
]
[package.extras]
From 6eab88d44c2c88e991b418306dd82beefb382b91 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Sat, 19 Jul 2025 16:42:18 +0000
Subject: [PATCH 03/23] fix(deps): update dependency fastapi to ^0.116.0
(#5654)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
poetry.lock | 15 ++++++++-------
pyproject.toml | 2 +-
2 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/poetry.lock b/poetry.lock
index 6db310fc6..e0c88f94a 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -684,24 +684,25 @@ cli = ["requests"]
[[package]]
name = "fastapi"
-version = "0.115.14"
+version = "0.116.1"
description = "FastAPI framework, high performance, easy to learn, fast to code, ready for production"
optional = false
python-versions = ">=3.8"
groups = ["main"]
files = [
- {file = "fastapi-0.115.14-py3-none-any.whl", hash = "sha256:6c0c8bf9420bd58f565e585036d971872472b4f7d3f6c73b698e10cffdefb3ca"},
- {file = "fastapi-0.115.14.tar.gz", hash = "sha256:b1de15cdc1c499a4da47914db35d0e4ef8f1ce62b624e94e0e5824421df99739"},
+ {file = "fastapi-0.116.1-py3-none-any.whl", hash = "sha256:c46ac7c312df840f0c9e220f7964bada936781bc4e2e6eb71f1c4d7553786565"},
+ {file = "fastapi-0.116.1.tar.gz", hash = "sha256:ed52cbf946abfd70c5a0dccb24673f0670deeb517a88b3544d03c2a6bf283143"},
]
[package.dependencies]
pydantic = ">=1.7.4,<1.8 || >1.8,<1.8.1 || >1.8.1,<2.0.0 || >2.0.0,<2.0.1 || >2.0.1,<2.1.0 || >2.1.0,<3.0.0"
-starlette = ">=0.40.0,<0.47.0"
+starlette = ">=0.40.0,<0.48.0"
typing-extensions = ">=4.8.0"
[package.extras]
-all = ["email-validator (>=2.0.0)", "fastapi-cli[standard] (>=0.0.5)", "httpx (>=0.23.0)", "itsdangerous (>=1.1.0)", "jinja2 (>=3.1.5)", "orjson (>=3.2.1)", "pydantic-extra-types (>=2.0.0)", "pydantic-settings (>=2.0.0)", "python-multipart (>=0.0.18)", "pyyaml (>=5.3.1)", "ujson (>=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0)", "uvicorn[standard] (>=0.12.0)"]
-standard = ["email-validator (>=2.0.0)", "fastapi-cli[standard] (>=0.0.5)", "httpx (>=0.23.0)", "jinja2 (>=3.1.5)", "python-multipart (>=0.0.18)", "uvicorn[standard] (>=0.12.0)"]
+all = ["email-validator (>=2.0.0)", "fastapi-cli[standard] (>=0.0.8)", "httpx (>=0.23.0)", "itsdangerous (>=1.1.0)", "jinja2 (>=3.1.5)", "orjson (>=3.2.1)", "pydantic-extra-types (>=2.0.0)", "pydantic-settings (>=2.0.0)", "python-multipart (>=0.0.18)", "pyyaml (>=5.3.1)", "ujson (>=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0)", "uvicorn[standard] (>=0.12.0)"]
+standard = ["email-validator (>=2.0.0)", "fastapi-cli[standard] (>=0.0.8)", "httpx (>=0.23.0)", "jinja2 (>=3.1.5)", "python-multipart (>=0.0.18)", "uvicorn[standard] (>=0.12.0)"]
+standard-no-fastapi-cloud-cli = ["email-validator (>=2.0.0)", "fastapi-cli[standard-no-fastapi-cloud-cli] (>=0.0.8)", "httpx (>=0.23.0)", "jinja2 (>=3.1.5)", "python-multipart (>=0.0.18)", "uvicorn[standard] (>=0.12.0)"]
[[package]]
name = "filelock"
@@ -3871,4 +3872,4 @@ pgsql = ["psycopg2-binary"]
[metadata]
lock-version = "2.1"
python-versions = ">=3.12,<3.13"
-content-hash = "df16815f799254568f5e7083c49bb302e77003bcafbd34dfa92ad65d0335efb3"
+content-hash = "8c337ab9231ded0f66d8e8d14a6d465bb8009f0f9377e5c480ed5baa4b928ed1"
diff --git a/pyproject.toml b/pyproject.toml
index 4d1146790..d75db69a7 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -24,7 +24,7 @@ appdirs = "1.4.4"
apprise = "^1.4.5"
bcrypt = "^4.0.1"
extruct = "^0.18.0"
-fastapi = "^0.115.0"
+fastapi = "^0.116.0"
httpx = "^0.28.0"
lxml = "^6.0.0"
orjson = "^3.8.0"
From 9413e403b4a62a3b0885ff5f1e2087f845e6a1b3 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Sat, 19 Jul 2025 16:54:04 +0000
Subject: [PATCH 04/23] fix(deps): update dependency alembic to v1.16.4 (#5661)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
poetry.lock | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/poetry.lock b/poetry.lock
index e0c88f94a..eacae1bd4 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -14,14 +14,14 @@ files = [
[[package]]
name = "alembic"
-version = "1.16.2"
+version = "1.16.4"
description = "A database migration tool for SQLAlchemy."
optional = false
python-versions = ">=3.9"
groups = ["main"]
files = [
- {file = "alembic-1.16.2-py3-none-any.whl", hash = "sha256:5f42e9bd0afdbd1d5e3ad856c01754530367debdebf21ed6894e34af52b3bb03"},
- {file = "alembic-1.16.2.tar.gz", hash = "sha256:e53c38ff88dadb92eb22f8b150708367db731d58ad7e9d417c9168ab516cbed8"},
+ {file = "alembic-1.16.4-py3-none-any.whl", hash = "sha256:b05e51e8e82efc1abd14ba2af6392897e145930c3e0a2faf2b0da2f7f7fd660d"},
+ {file = "alembic-1.16.4.tar.gz", hash = "sha256:efab6ada0dd0fae2c92060800e0bf5c1dc26af15a10e02fb4babff164b4725e2"},
]
[package.dependencies]
From e07df8fc4379cdf2e7090b2399a4768aaae25a96 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Sat, 19 Jul 2025 17:05:44 +0000
Subject: [PATCH 05/23] chore(deps): update dependency mypy to v1.17.0 (#5718)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
poetry.lock | 66 ++++++++++++++++++++++++++---------------------------
1 file changed, 33 insertions(+), 33 deletions(-)
diff --git a/poetry.lock b/poetry.lock
index eacae1bd4..709630edd 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -1628,44 +1628,44 @@ files = [
[[package]]
name = "mypy"
-version = "1.16.1"
+version = "1.17.0"
description = "Optional static typing for Python"
optional = false
python-versions = ">=3.9"
groups = ["dev"]
files = [
- {file = "mypy-1.16.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b4f0fed1022a63c6fec38f28b7fc77fca47fd490445c69d0a66266c59dd0b88a"},
- {file = "mypy-1.16.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:86042bbf9f5a05ea000d3203cf87aa9d0ccf9a01f73f71c58979eb9249f46d72"},
- {file = "mypy-1.16.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ea7469ee5902c95542bea7ee545f7006508c65c8c54b06dc2c92676ce526f3ea"},
- {file = "mypy-1.16.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:352025753ef6a83cb9e7f2427319bb7875d1fdda8439d1e23de12ab164179574"},
- {file = "mypy-1.16.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ff9fa5b16e4c1364eb89a4d16bcda9987f05d39604e1e6c35378a2987c1aac2d"},
- {file = "mypy-1.16.1-cp310-cp310-win_amd64.whl", hash = "sha256:1256688e284632382f8f3b9e2123df7d279f603c561f099758e66dd6ed4e8bd6"},
- {file = "mypy-1.16.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:472e4e4c100062488ec643f6162dd0d5208e33e2f34544e1fc931372e806c0cc"},
- {file = "mypy-1.16.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ea16e2a7d2714277e349e24d19a782a663a34ed60864006e8585db08f8ad1782"},
- {file = "mypy-1.16.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:08e850ea22adc4d8a4014651575567b0318ede51e8e9fe7a68f25391af699507"},
- {file = "mypy-1.16.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:22d76a63a42619bfb90122889b903519149879ddbf2ba4251834727944c8baca"},
- {file = "mypy-1.16.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:2c7ce0662b6b9dc8f4ed86eb7a5d505ee3298c04b40ec13b30e572c0e5ae17c4"},
- {file = "mypy-1.16.1-cp311-cp311-win_amd64.whl", hash = "sha256:211287e98e05352a2e1d4e8759c5490925a7c784ddc84207f4714822f8cf99b6"},
- {file = "mypy-1.16.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:af4792433f09575d9eeca5c63d7d90ca4aeceda9d8355e136f80f8967639183d"},
- {file = "mypy-1.16.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:66df38405fd8466ce3517eda1f6640611a0b8e70895e2a9462d1d4323c5eb4b9"},
- {file = "mypy-1.16.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:44e7acddb3c48bd2713994d098729494117803616e116032af192871aed80b79"},
- {file = "mypy-1.16.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0ab5eca37b50188163fa7c1b73c685ac66c4e9bdee4a85c9adac0e91d8895e15"},
- {file = "mypy-1.16.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:dedb6229b2c9086247e21a83c309754b9058b438704ad2f6807f0d8227f6ebdd"},
- {file = "mypy-1.16.1-cp312-cp312-win_amd64.whl", hash = "sha256:1f0435cf920e287ff68af3d10a118a73f212deb2ce087619eb4e648116d1fe9b"},
- {file = "mypy-1.16.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ddc91eb318c8751c69ddb200a5937f1232ee8efb4e64e9f4bc475a33719de438"},
- {file = "mypy-1.16.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:87ff2c13d58bdc4bbe7dc0dedfe622c0f04e2cb2a492269f3b418df2de05c536"},
- {file = "mypy-1.16.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0a7cfb0fe29fe5a9841b7c8ee6dffb52382c45acdf68f032145b75620acfbd6f"},
- {file = "mypy-1.16.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:051e1677689c9d9578b9c7f4d206d763f9bbd95723cd1416fad50db49d52f359"},
- {file = "mypy-1.16.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:d5d2309511cc56c021b4b4e462907c2b12f669b2dbeb68300110ec27723971be"},
- {file = "mypy-1.16.1-cp313-cp313-win_amd64.whl", hash = "sha256:4f58ac32771341e38a853c5d0ec0dfe27e18e27da9cdb8bbc882d2249c71a3ee"},
- {file = "mypy-1.16.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7fc688329af6a287567f45cc1cefb9db662defeb14625213a5b7da6e692e2069"},
- {file = "mypy-1.16.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e198ab3f55924c03ead626ff424cad1732d0d391478dfbf7bb97b34602395da"},
- {file = "mypy-1.16.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:09aa4f91ada245f0a45dbc47e548fd94e0dd5a8433e0114917dc3b526912a30c"},
- {file = "mypy-1.16.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:13c7cd5b1cb2909aa318a90fd1b7e31f17c50b242953e7dd58345b2a814f6383"},
- {file = "mypy-1.16.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:58e07fb958bc5d752a280da0e890c538f1515b79a65757bbdc54252ba82e0b40"},
- {file = "mypy-1.16.1-cp39-cp39-win_amd64.whl", hash = "sha256:f895078594d918f93337a505f8add9bd654d1a24962b4c6ed9390e12531eb31b"},
- {file = "mypy-1.16.1-py3-none-any.whl", hash = "sha256:5fc2ac4027d0ef28d6ba69a0343737a23c4d1b83672bf38d1fe237bdc0643b37"},
- {file = "mypy-1.16.1.tar.gz", hash = "sha256:6bd00a0a2094841c5e47e7374bb42b83d64c527a502e3334e1173a0c24437bab"},
+ {file = "mypy-1.17.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f8e08de6138043108b3b18f09d3f817a4783912e48828ab397ecf183135d84d6"},
+ {file = "mypy-1.17.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ce4a17920ec144647d448fc43725b5873548b1aae6c603225626747ededf582d"},
+ {file = "mypy-1.17.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6ff25d151cc057fdddb1cb1881ef36e9c41fa2a5e78d8dd71bee6e4dcd2bc05b"},
+ {file = "mypy-1.17.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:93468cf29aa9a132bceb103bd8475f78cacde2b1b9a94fd978d50d4bdf616c9a"},
+ {file = "mypy-1.17.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:98189382b310f16343151f65dd7e6867386d3e35f7878c45cfa11383d175d91f"},
+ {file = "mypy-1.17.0-cp310-cp310-win_amd64.whl", hash = "sha256:c004135a300ab06a045c1c0d8e3f10215e71d7b4f5bb9a42ab80236364429937"},
+ {file = "mypy-1.17.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9d4fe5c72fd262d9c2c91c1117d16aac555e05f5beb2bae6a755274c6eec42be"},
+ {file = "mypy-1.17.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d96b196e5c16f41b4f7736840e8455958e832871990c7ba26bf58175e357ed61"},
+ {file = "mypy-1.17.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:73a0ff2dd10337ceb521c080d4147755ee302dcde6e1a913babd59473904615f"},
+ {file = "mypy-1.17.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:24cfcc1179c4447854e9e406d3af0f77736d631ec87d31c6281ecd5025df625d"},
+ {file = "mypy-1.17.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3c56f180ff6430e6373db7a1d569317675b0a451caf5fef6ce4ab365f5f2f6c3"},
+ {file = "mypy-1.17.0-cp311-cp311-win_amd64.whl", hash = "sha256:eafaf8b9252734400f9b77df98b4eee3d2eecab16104680d51341c75702cad70"},
+ {file = "mypy-1.17.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f986f1cab8dbec39ba6e0eaa42d4d3ac6686516a5d3dccd64be095db05ebc6bb"},
+ {file = "mypy-1.17.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:51e455a54d199dd6e931cd7ea987d061c2afbaf0960f7f66deef47c90d1b304d"},
+ {file = "mypy-1.17.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3204d773bab5ff4ebbd1f8efa11b498027cd57017c003ae970f310e5b96be8d8"},
+ {file = "mypy-1.17.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1051df7ec0886fa246a530ae917c473491e9a0ba6938cfd0ec2abc1076495c3e"},
+ {file = "mypy-1.17.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f773c6d14dcc108a5b141b4456b0871df638eb411a89cd1c0c001fc4a9d08fc8"},
+ {file = "mypy-1.17.0-cp312-cp312-win_amd64.whl", hash = "sha256:1619a485fd0e9c959b943c7b519ed26b712de3002d7de43154a489a2d0fd817d"},
+ {file = "mypy-1.17.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2c41aa59211e49d717d92b3bb1238c06d387c9325d3122085113c79118bebb06"},
+ {file = "mypy-1.17.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0e69db1fb65b3114f98c753e3930a00514f5b68794ba80590eb02090d54a5d4a"},
+ {file = "mypy-1.17.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:03ba330b76710f83d6ac500053f7727270b6b8553b0423348ffb3af6f2f7b889"},
+ {file = "mypy-1.17.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:037bc0f0b124ce46bfde955c647f3e395c6174476a968c0f22c95a8d2f589bba"},
+ {file = "mypy-1.17.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:c38876106cb6132259683632b287238858bd58de267d80defb6f418e9ee50658"},
+ {file = "mypy-1.17.0-cp313-cp313-win_amd64.whl", hash = "sha256:d30ba01c0f151998f367506fab31c2ac4527e6a7b2690107c7a7f9e3cb419a9c"},
+ {file = "mypy-1.17.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:63e751f1b5ab51d6f3d219fe3a2fe4523eaa387d854ad06906c63883fde5b1ab"},
+ {file = "mypy-1.17.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f7fb09d05e0f1c329a36dcd30e27564a3555717cde87301fae4fb542402ddfad"},
+ {file = "mypy-1.17.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b72c34ce05ac3a1361ae2ebb50757fb6e3624032d91488d93544e9f82db0ed6c"},
+ {file = "mypy-1.17.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:434ad499ad8dde8b2f6391ddfa982f41cb07ccda8e3c67781b1bfd4e5f9450a8"},
+ {file = "mypy-1.17.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:f105f61a5eff52e137fd73bee32958b2add9d9f0a856f17314018646af838e97"},
+ {file = "mypy-1.17.0-cp39-cp39-win_amd64.whl", hash = "sha256:ba06254a5a22729853209550d80f94e28690d5530c661f9416a68ac097b13fc4"},
+ {file = "mypy-1.17.0-py3-none-any.whl", hash = "sha256:15d9d0018237ab058e5de3d8fce61b6fa72cc59cc78fd91f1b474bce12abf496"},
+ {file = "mypy-1.17.0.tar.gz", hash = "sha256:e5d7ccc08ba089c06e2f5629c660388ef1fee708444f1dee0b9203fa031dee03"},
]
[package.dependencies]
From b4aff0d8e9ac2216015611306df2a59e7e24fee9 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Sat, 19 Jul 2025 17:17:48 +0000
Subject: [PATCH 06/23] fix(deps): update dependency openai to v1.97.0 (#5726)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
poetry.lock | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/poetry.lock b/poetry.lock
index 709630edd..de7b12add 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -1817,14 +1817,14 @@ signedtoken = ["cryptography (>=3.0.0)", "pyjwt (>=2.0.0,<3)"]
[[package]]
name = "openai"
-version = "1.95.1"
+version = "1.97.0"
description = "The official Python library for the openai API"
optional = false
python-versions = ">=3.8"
groups = ["main"]
files = [
- {file = "openai-1.95.1-py3-none-any.whl", hash = "sha256:8bbdfeceef231b1ddfabbc232b179d79f8b849aab5a7da131178f8d10e0f162f"},
- {file = "openai-1.95.1.tar.gz", hash = "sha256:f089b605282e2a2b6776090b4b46563ac1da77f56402a222597d591e2dcc1086"},
+ {file = "openai-1.97.0-py3-none-any.whl", hash = "sha256:a1c24d96f4609f3f7f51c9e1c2606d97cc6e334833438659cfd687e9c972c610"},
+ {file = "openai-1.97.0.tar.gz", hash = "sha256:0be349569ccaa4fb54f97bb808423fd29ccaeb1246ee1be762e0c81a47bae0aa"},
]
[package.dependencies]
From a1e8e1aa20f61b8be45d23ef9fef47a5e5ad189b Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Sat, 19 Jul 2025 12:34:22 -0500
Subject: [PATCH 07/23] chore(deps): update dependency pytest-asyncio to v1.1.0
(#5730)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
poetry.lock | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/poetry.lock b/poetry.lock
index de7b12add..e33194811 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -2685,14 +2685,14 @@ dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "requests
[[package]]
name = "pytest-asyncio"
-version = "1.0.0"
+version = "1.1.0"
description = "Pytest support for asyncio"
optional = false
python-versions = ">=3.9"
groups = ["dev"]
files = [
- {file = "pytest_asyncio-1.0.0-py3-none-any.whl", hash = "sha256:4f024da9f1ef945e680dc68610b52550e36590a67fd31bb3b4943979a1f90ef3"},
- {file = "pytest_asyncio-1.0.0.tar.gz", hash = "sha256:d15463d13f4456e1ead2594520216b225a16f781e144f8fdf6c5bb4667c48b3f"},
+ {file = "pytest_asyncio-1.1.0-py3-none-any.whl", hash = "sha256:5fe2d69607b0bd75c656d1211f969cadba035030156745ee09e7d71740e58ecf"},
+ {file = "pytest_asyncio-1.1.0.tar.gz", hash = "sha256:796aa822981e01b68c12e4827b8697108f7205020f24b5793b3c41555dab68ea"},
]
[package.dependencies]
From 6274a3dd397a7cabb1179465e55899c63b7e4d39 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Sat, 19 Jul 2025 15:04:20 -0500
Subject: [PATCH 08/23] fix(deps): update dependency orjson to v3.11.0 (#5727)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
poetry.lock | 146 ++++++++++++++++++++++++++--------------------------
1 file changed, 73 insertions(+), 73 deletions(-)
diff --git a/poetry.lock b/poetry.lock
index e33194811..0bd6f128a 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -1845,84 +1845,84 @@ voice-helpers = ["numpy (>=2.0.2)", "sounddevice (>=0.5.1)"]
[[package]]
name = "orjson"
-version = "3.10.18"
+version = "3.11.0"
description = "Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy"
optional = false
python-versions = ">=3.9"
groups = ["main"]
files = [
- {file = "orjson-3.10.18-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:a45e5d68066b408e4bc383b6e4ef05e717c65219a9e1390abc6155a520cac402"},
- {file = "orjson-3.10.18-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:be3b9b143e8b9db05368b13b04c84d37544ec85bb97237b3a923f076265ec89c"},
- {file = "orjson-3.10.18-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9b0aa09745e2c9b3bf779b096fa71d1cc2d801a604ef6dd79c8b1bfef52b2f92"},
- {file = "orjson-3.10.18-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:53a245c104d2792e65c8d225158f2b8262749ffe64bc7755b00024757d957a13"},
- {file = "orjson-3.10.18-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f9495ab2611b7f8a0a8a505bcb0f0cbdb5469caafe17b0e404c3c746f9900469"},
- {file = "orjson-3.10.18-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:73be1cbcebadeabdbc468f82b087df435843c809cd079a565fb16f0f3b23238f"},
- {file = "orjson-3.10.18-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe8936ee2679e38903df158037a2f1c108129dee218975122e37847fb1d4ac68"},
- {file = "orjson-3.10.18-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7115fcbc8525c74e4c2b608129bef740198e9a120ae46184dac7683191042056"},
- {file = "orjson-3.10.18-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:771474ad34c66bc4d1c01f645f150048030694ea5b2709b87d3bda273ffe505d"},
- {file = "orjson-3.10.18-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:7c14047dbbea52886dd87169f21939af5d55143dad22d10db6a7514f058156a8"},
- {file = "orjson-3.10.18-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:641481b73baec8db14fdf58f8967e52dc8bda1f2aba3aa5f5c1b07ed6df50b7f"},
- {file = "orjson-3.10.18-cp310-cp310-win32.whl", hash = "sha256:607eb3ae0909d47280c1fc657c4284c34b785bae371d007595633f4b1a2bbe06"},
- {file = "orjson-3.10.18-cp310-cp310-win_amd64.whl", hash = "sha256:8770432524ce0eca50b7efc2a9a5f486ee0113a5fbb4231526d414e6254eba92"},
- {file = "orjson-3.10.18-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:e0a183ac3b8e40471e8d843105da6fbe7c070faab023be3b08188ee3f85719b8"},
- {file = "orjson-3.10.18-cp311-cp311-macosx_15_0_arm64.whl", hash = "sha256:5ef7c164d9174362f85238d0cd4afdeeb89d9e523e4651add6a5d458d6f7d42d"},
- {file = "orjson-3.10.18-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:afd14c5d99cdc7bf93f22b12ec3b294931518aa019e2a147e8aa2f31fd3240f7"},
- {file = "orjson-3.10.18-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7b672502323b6cd133c4af6b79e3bea36bad2d16bca6c1f645903fce83909a7a"},
- {file = "orjson-3.10.18-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:51f8c63be6e070ec894c629186b1c0fe798662b8687f3d9fdfa5e401c6bd7679"},
- {file = "orjson-3.10.18-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3f9478ade5313d724e0495d167083c6f3be0dd2f1c9c8a38db9a9e912cdaf947"},
- {file = "orjson-3.10.18-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:187aefa562300a9d382b4b4eb9694806e5848b0cedf52037bb5c228c61bb66d4"},
- {file = "orjson-3.10.18-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9da552683bc9da222379c7a01779bddd0ad39dd699dd6300abaf43eadee38334"},
- {file = "orjson-3.10.18-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e450885f7b47a0231979d9c49b567ed1c4e9f69240804621be87c40bc9d3cf17"},
- {file = "orjson-3.10.18-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:5e3c9cc2ba324187cd06287ca24f65528f16dfc80add48dc99fa6c836bb3137e"},
- {file = "orjson-3.10.18-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:50ce016233ac4bfd843ac5471e232b865271d7d9d44cf9d33773bcd883ce442b"},
- {file = "orjson-3.10.18-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b3ceff74a8f7ffde0b2785ca749fc4e80e4315c0fd887561144059fb1c138aa7"},
- {file = "orjson-3.10.18-cp311-cp311-win32.whl", hash = "sha256:fdba703c722bd868c04702cac4cb8c6b8ff137af2623bc0ddb3b3e6a2c8996c1"},
- {file = "orjson-3.10.18-cp311-cp311-win_amd64.whl", hash = "sha256:c28082933c71ff4bc6ccc82a454a2bffcef6e1d7379756ca567c772e4fb3278a"},
- {file = "orjson-3.10.18-cp311-cp311-win_arm64.whl", hash = "sha256:a6c7c391beaedd3fa63206e5c2b7b554196f14debf1ec9deb54b5d279b1b46f5"},
- {file = "orjson-3.10.18-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:50c15557afb7f6d63bc6d6348e0337a880a04eaa9cd7c9d569bcb4e760a24753"},
- {file = "orjson-3.10.18-cp312-cp312-macosx_15_0_arm64.whl", hash = "sha256:356b076f1662c9813d5fa56db7d63ccceef4c271b1fb3dd522aca291375fcf17"},
- {file = "orjson-3.10.18-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:559eb40a70a7494cd5beab2d73657262a74a2c59aff2068fdba8f0424ec5b39d"},
- {file = "orjson-3.10.18-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f3c29eb9a81e2fbc6fd7ddcfba3e101ba92eaff455b8d602bf7511088bbc0eae"},
- {file = "orjson-3.10.18-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6612787e5b0756a171c7d81ba245ef63a3533a637c335aa7fcb8e665f4a0966f"},
- {file = "orjson-3.10.18-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ac6bd7be0dcab5b702c9d43d25e70eb456dfd2e119d512447468f6405b4a69c"},
- {file = "orjson-3.10.18-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9f72f100cee8dde70100406d5c1abba515a7df926d4ed81e20a9730c062fe9ad"},
- {file = "orjson-3.10.18-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9dca85398d6d093dd41dc0983cbf54ab8e6afd1c547b6b8a311643917fbf4e0c"},
- {file = "orjson-3.10.18-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:22748de2a07fcc8781a70edb887abf801bb6142e6236123ff93d12d92db3d406"},
- {file = "orjson-3.10.18-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:3a83c9954a4107b9acd10291b7f12a6b29e35e8d43a414799906ea10e75438e6"},
- {file = "orjson-3.10.18-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:303565c67a6c7b1f194c94632a4a39918e067bd6176a48bec697393865ce4f06"},
- {file = "orjson-3.10.18-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:86314fdb5053a2f5a5d881f03fca0219bfdf832912aa88d18676a5175c6916b5"},
- {file = "orjson-3.10.18-cp312-cp312-win32.whl", hash = "sha256:187ec33bbec58c76dbd4066340067d9ece6e10067bb0cc074a21ae3300caa84e"},
- {file = "orjson-3.10.18-cp312-cp312-win_amd64.whl", hash = "sha256:f9f94cf6d3f9cd720d641f8399e390e7411487e493962213390d1ae45c7814fc"},
- {file = "orjson-3.10.18-cp312-cp312-win_arm64.whl", hash = "sha256:3d600be83fe4514944500fa8c2a0a77099025ec6482e8087d7659e891f23058a"},
- {file = "orjson-3.10.18-cp313-cp313-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:69c34b9441b863175cc6a01f2935de994025e773f814412030f269da4f7be147"},
- {file = "orjson-3.10.18-cp313-cp313-macosx_15_0_arm64.whl", hash = "sha256:1ebeda919725f9dbdb269f59bc94f861afbe2a27dce5608cdba2d92772364d1c"},
- {file = "orjson-3.10.18-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5adf5f4eed520a4959d29ea80192fa626ab9a20b2ea13f8f6dc58644f6927103"},
- {file = "orjson-3.10.18-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7592bb48a214e18cd670974f289520f12b7aed1fa0b2e2616b8ed9e069e08595"},
- {file = "orjson-3.10.18-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f872bef9f042734110642b7a11937440797ace8c87527de25e0c53558b579ccc"},
- {file = "orjson-3.10.18-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0315317601149c244cb3ecef246ef5861a64824ccbcb8018d32c66a60a84ffbc"},
- {file = "orjson-3.10.18-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e0da26957e77e9e55a6c2ce2e7182a36a6f6b180ab7189315cb0995ec362e049"},
- {file = "orjson-3.10.18-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb70d489bc79b7519e5803e2cc4c72343c9dc1154258adf2f8925d0b60da7c58"},
- {file = "orjson-3.10.18-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e9e86a6af31b92299b00736c89caf63816f70a4001e750bda179e15564d7a034"},
- {file = "orjson-3.10.18-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:c382a5c0b5931a5fc5405053d36c1ce3fd561694738626c77ae0b1dfc0242ca1"},
- {file = "orjson-3.10.18-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:8e4b2ae732431127171b875cb2668f883e1234711d3c147ffd69fe5be51a8012"},
- {file = "orjson-3.10.18-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:2d808e34ddb24fc29a4d4041dcfafbae13e129c93509b847b14432717d94b44f"},
- {file = "orjson-3.10.18-cp313-cp313-win32.whl", hash = "sha256:ad8eacbb5d904d5591f27dee4031e2c1db43d559edb8f91778efd642d70e6bea"},
- {file = "orjson-3.10.18-cp313-cp313-win_amd64.whl", hash = "sha256:aed411bcb68bf62e85588f2a7e03a6082cc42e5a2796e06e72a962d7c6310b52"},
- {file = "orjson-3.10.18-cp313-cp313-win_arm64.whl", hash = "sha256:f54c1385a0e6aba2f15a40d703b858bedad36ded0491e55d35d905b2c34a4cc3"},
- {file = "orjson-3.10.18-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:c95fae14225edfd699454e84f61c3dd938df6629a00c6ce15e704f57b58433bb"},
- {file = "orjson-3.10.18-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5232d85f177f98e0cefabb48b5e7f60cff6f3f0365f9c60631fecd73849b2a82"},
- {file = "orjson-3.10.18-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2783e121cafedf0d85c148c248a20470018b4ffd34494a68e125e7d5857655d1"},
- {file = "orjson-3.10.18-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e54ee3722caf3db09c91f442441e78f916046aa58d16b93af8a91500b7bbf273"},
- {file = "orjson-3.10.18-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2daf7e5379b61380808c24f6fc182b7719301739e4271c3ec88f2984a2d61f89"},
- {file = "orjson-3.10.18-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7f39b371af3add20b25338f4b29a8d6e79a8c7ed0e9dd49e008228a065d07781"},
- {file = "orjson-3.10.18-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b819ed34c01d88c6bec290e6842966f8e9ff84b7694632e88341363440d4cc0"},
- {file = "orjson-3.10.18-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2f6c57debaef0b1aa13092822cbd3698a1fb0209a9ea013a969f4efa36bdea57"},
- {file = "orjson-3.10.18-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:755b6d61ffdb1ffa1e768330190132e21343757c9aa2308c67257cc81a1a6f5a"},
- {file = "orjson-3.10.18-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:ce8d0a875a85b4c8579eab5ac535fb4b2a50937267482be402627ca7e7570ee3"},
- {file = "orjson-3.10.18-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:57b5d0673cbd26781bebc2bf86f99dd19bd5a9cb55f71cc4f66419f6b50f3d77"},
- {file = "orjson-3.10.18-cp39-cp39-win32.whl", hash = "sha256:951775d8b49d1d16ca8818b1f20c4965cae9157e7b562a2ae34d3967b8f21c8e"},
- {file = "orjson-3.10.18-cp39-cp39-win_amd64.whl", hash = "sha256:fdd9d68f83f0bc4406610b1ac68bdcded8c5ee58605cc69e643a06f4d075f429"},
- {file = "orjson-3.10.18.tar.gz", hash = "sha256:e8da3947d92123eda795b68228cafe2724815621fe35e8e320a9e9593a4bcd53"},
+ {file = "orjson-3.11.0-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:b8913baba9751f7400f8fa4ec18a8b618ff01177490842e39e47b66c1b04bc79"},
+ {file = "orjson-3.11.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9d4d86910554de5c9c87bc560b3bdd315cc3988adbdc2acf5dda3797079407ed"},
+ {file = "orjson-3.11.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:84ae3d329360cf18fb61b67c505c00dedb61b0ee23abfd50f377a58e7d7bed06"},
+ {file = "orjson-3.11.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:47a54e660414baacd71ebf41a69bb17ea25abb3c5b69ce9e13e43be7ac20e342"},
+ {file = "orjson-3.11.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2560b740604751854be146169c1de7e7ee1e6120b00c1788ec3f3a012c6a243f"},
+ {file = "orjson-3.11.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dd7f9cd995da9e46fbac0a371f0ff6e89a21d8ecb7a8a113c0acb147b0a32f73"},
+ {file = "orjson-3.11.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7cf728cb3a013bdf9f4132575404bf885aa773d8bb4205656575e1890fc91990"},
+ {file = "orjson-3.11.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:c27de273320294121200440cd5002b6aeb922d3cb9dab3357087c69f04ca6934"},
+ {file = "orjson-3.11.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:4430ec6ff1a1f4595dd7e0fad991bdb2fed65401ed294984c490ffa025926325"},
+ {file = "orjson-3.11.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:325be41a8d7c227d460a9795a181511ba0e731cf3fee088c63eb47e706ea7559"},
+ {file = "orjson-3.11.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d9760217b84d1aee393b4436fbe9c639e963ec7bc0f2c074581ce5fb3777e466"},
+ {file = "orjson-3.11.0-cp310-cp310-win32.whl", hash = "sha256:fe36e5012f886ff91c68b87a499c227fa220e9668cea96335219874c8be5fab5"},
+ {file = "orjson-3.11.0-cp310-cp310-win_amd64.whl", hash = "sha256:ebeecd5d5511b3ca9dc4e7db0ab95266afd41baf424cc2fad8c2d3a3cdae650a"},
+ {file = "orjson-3.11.0-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:1785df7ada75c18411ff7e20ac822af904a40161ea9dfe8c55b3f6b66939add6"},
+ {file = "orjson-3.11.0-cp311-cp311-macosx_15_0_arm64.whl", hash = "sha256:a57899bebbcea146616a2426d20b51b3562b4bc9f8039a3bd14fae361c23053d"},
+ {file = "orjson-3.11.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b6fbc2fc825aff1456dd358c11a0ad7912a4cb4537d3db92e5334af7463a967"},
+ {file = "orjson-3.11.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4305a638f4cf9bed3746ca3b7c242f14e05177d5baec2527026e0f9ee6c24fb7"},
+ {file = "orjson-3.11.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1235fe7bbc37164f69302199d46f29cfb874018738714dccc5a5a44042c79c77"},
+ {file = "orjson-3.11.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a640e3954e7b4fcb160097551e54cafbde9966be3991932155b71071077881aa"},
+ {file = "orjson-3.11.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6d750b97d22d5566955e50b02c622f3a1d32744d7a578c878b29a873190ccb7a"},
+ {file = "orjson-3.11.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4bfcfe498484161e011f8190a400591c52b026de96b3b3cbd3f21e8999b9dc0e"},
+ {file = "orjson-3.11.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:feaed3ed43a1d2df75c039798eb5ec92c350c7d86be53369bafc4f3700ce7df2"},
+ {file = "orjson-3.11.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:aa1120607ec8fc98acf8c54aac6fb0b7b003ba883401fa2d261833111e2fa071"},
+ {file = "orjson-3.11.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:c4b48d9775b0cf1f0aca734f4c6b272cbfacfac38e6a455e6520662f9434afb7"},
+ {file = "orjson-3.11.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f018ed1986d79434ac712ff19f951cd00b4dfcb767444410fbb834ebec160abf"},
+ {file = "orjson-3.11.0-cp311-cp311-win32.whl", hash = "sha256:08e191f8a55ac2c00be48e98a5d10dca004cbe8abe73392c55951bfda60fc123"},
+ {file = "orjson-3.11.0-cp311-cp311-win_amd64.whl", hash = "sha256:b5a4214ea59c8a3b56f8d484b28114af74e9fba0956f9be5c3ce388ae143bf1f"},
+ {file = "orjson-3.11.0-cp311-cp311-win_arm64.whl", hash = "sha256:57e8e7198a679ab21241ab3f355a7990c7447559e35940595e628c107ef23736"},
+ {file = "orjson-3.11.0-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:b4089f940c638bb1947d54e46c1cd58f4259072fcc97bc833ea9c78903150ac9"},
+ {file = "orjson-3.11.0-cp312-cp312-macosx_15_0_arm64.whl", hash = "sha256:8335a0ba1c26359fb5c82d643b4c1abbee2bc62875e0f2b5bde6c8e9e25eb68c"},
+ {file = "orjson-3.11.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63c1c9772dafc811d16d6a7efa3369a739da15d1720d6e58ebe7562f54d6f4a2"},
+ {file = "orjson-3.11.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9457ccbd8b241fb4ba516417a4c5b95ba0059df4ac801309bcb4ec3870f45ad9"},
+ {file = "orjson-3.11.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0846e13abe79daece94a00b92574f294acad1d362be766c04245b9b4dd0e47e1"},
+ {file = "orjson-3.11.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5587c85ae02f608a3f377b6af9eb04829606f518257cbffa8f5081c1aacf2e2f"},
+ {file = "orjson-3.11.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c7a1964a71c1567b4570c932a0084ac24ad52c8cf6253d1881400936565ed438"},
+ {file = "orjson-3.11.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b5a8243e73690cc6e9151c9e1dd046a8f21778d775f7d478fa1eb4daa4897c61"},
+ {file = "orjson-3.11.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:51646f6d995df37b6e1b628f092f41c0feccf1d47e3452c6e95e2474b547d842"},
+ {file = "orjson-3.11.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:2fb8ca8f0b4e31b8aaec674c7540649b64ef02809410506a44dc68d31bd5647b"},
+ {file = "orjson-3.11.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:64a6a3e94a44856c3f6557e6aa56a6686544fed9816ae0afa8df9077f5759791"},
+ {file = "orjson-3.11.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d69f95d484938d8fab5963e09131bcf9fbbb81fa4ec132e316eb2fb9adb8ce78"},
+ {file = "orjson-3.11.0-cp312-cp312-win32.whl", hash = "sha256:8514f9f9c667ce7d7ef709ab1a73e7fcab78c297270e90b1963df7126d2b0e23"},
+ {file = "orjson-3.11.0-cp312-cp312-win_amd64.whl", hash = "sha256:41b38a894520b8cb5344a35ffafdf6ae8042f56d16771b2c5eb107798cee85ee"},
+ {file = "orjson-3.11.0-cp312-cp312-win_arm64.whl", hash = "sha256:5579acd235dd134467340b2f8a670c1c36023b5a69c6a3174c4792af7502bd92"},
+ {file = "orjson-3.11.0-cp313-cp313-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:4a8ba9698655e16746fdf5266939427da0f9553305152aeb1a1cc14974a19cfb"},
+ {file = "orjson-3.11.0-cp313-cp313-macosx_15_0_arm64.whl", hash = "sha256:67133847f9a35a5ef5acfa3325d4a2f7fe05c11f1505c4117bb086fc06f2a58f"},
+ {file = "orjson-3.11.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f797d57814975b78f5f5423acb003db6f9be5186b72d48bd97a1000e89d331d"},
+ {file = "orjson-3.11.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:28acd19822987c5163b9e03a6e60853a52acfee384af2b394d11cb413b889246"},
+ {file = "orjson-3.11.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e8d38d9e1e2cf9729658e35956cf01e13e89148beb4cb9e794c9c10c5cb252f8"},
+ {file = "orjson-3.11.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:05f094edd2b782650b0761fd78858d9254de1c1286f5af43145b3d08cdacfd51"},
+ {file = "orjson-3.11.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6d09176a4a9e04a5394a4a0edd758f645d53d903b306d02f2691b97d5c736a9e"},
+ {file = "orjson-3.11.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2a585042104e90a61eda2564d11317b6a304eb4e71cd33e839f5af6be56c34d3"},
+ {file = "orjson-3.11.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d2218629dbfdeeb5c9e0573d59f809d42f9d49ae6464d2f479e667aee14c3ef4"},
+ {file = "orjson-3.11.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:613e54a2b10b51b656305c11235a9c4a5c5491ef5c283f86483d4e9e123ed5e4"},
+ {file = "orjson-3.11.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:9dac7fbf3b8b05965986c5cfae051eb9a30fced7f15f1d13a5adc608436eb486"},
+ {file = "orjson-3.11.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:93b64b254414e2be55ac5257124b5602c5f0b4d06b80bd27d1165efe8f36e836"},
+ {file = "orjson-3.11.0-cp313-cp313-win32.whl", hash = "sha256:359cbe11bc940c64cb3848cf22000d2aef36aff7bfd09ca2c0b9cb309c387132"},
+ {file = "orjson-3.11.0-cp313-cp313-win_amd64.whl", hash = "sha256:0759b36428067dc777b202dd286fbdd33d7f261c6455c4238ea4e8474358b1e6"},
+ {file = "orjson-3.11.0-cp313-cp313-win_arm64.whl", hash = "sha256:51cdca2f36e923126d0734efaf72ddbb5d6da01dbd20eab898bdc50de80d7b5a"},
+ {file = "orjson-3.11.0-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:d79c180cfb3ae68f13245d0ff551dca03d96258aa560830bf8a223bd68d8272c"},
+ {file = "orjson-3.11.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:105bca887532dc71ce4b05a5de95dea447a310409d7a8cf0cb1c4a120469e9ad"},
+ {file = "orjson-3.11.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:acf5a63ae9cdb88274126af85913ceae554d8fd71122effa24a53227abbeee16"},
+ {file = "orjson-3.11.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:894635df36c0be32f1c8c8607e853b8865edb58e7618e57892e85d06418723eb"},
+ {file = "orjson-3.11.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:02dd4f0a1a2be943a104ce5f3ec092631ee3e9f0b4bb9eeee3400430bd94ddef"},
+ {file = "orjson-3.11.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:720b4bb5e1b971960a62c2fa254c2d2a14e7eb791e350d05df8583025aa59d15"},
+ {file = "orjson-3.11.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8bf058105a8aed144e0d1cfe7ac4174748c3fc7203f225abaeac7f4121abccb0"},
+ {file = "orjson-3.11.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:a2788f741e5a0e885e5eaf1d91d0c9106e03cb9575b0c55ba36fd3d48b0b1e9b"},
+ {file = "orjson-3.11.0-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:c60c99fe1e15894367b0340b2ff16c7c69f9c3f3a54aa3961a58c102b292ad94"},
+ {file = "orjson-3.11.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:99d17aab984f4d029b8f3c307e6be3c63d9ee5ef55e30d761caf05e883009949"},
+ {file = "orjson-3.11.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:e98f02e23611763c9e5dfcb83bd33219231091589f0d1691e721aea9c52bf329"},
+ {file = "orjson-3.11.0-cp39-cp39-win32.whl", hash = "sha256:923301f33ea866b18f8836cf41d9c6d33e3b5cab8577d20fed34ec29f0e13a0d"},
+ {file = "orjson-3.11.0-cp39-cp39-win_amd64.whl", hash = "sha256:475491bb78af2a0170f49e90013f1a0f1286527f3617491f8940d7e5da862da7"},
+ {file = "orjson-3.11.0.tar.gz", hash = "sha256:2e4c129da624f291bcc607016a99e7f04a353f6874f3bd8d9b47b88597d5f700"},
]
[[package]]
From 7d1c5ad14b90b8c709a5f56537aa98e5da4bbfdd Mon Sep 17 00:00:00 2001
From: Michael Genson <71845777+michael-genson@users.noreply.github.com>
Date: Sat, 19 Jul 2025 20:45:33 -0500
Subject: [PATCH 09/23] fix: Patch XSS Vulnerability (#5754)
---
mealie/routes/spa/__init__.py | 49 ++++++++++++++++++++---------
tests/integration_tests/test_spa.py | 28 ++++++++++++++++-
2 files changed, 61 insertions(+), 16 deletions(-)
diff --git a/mealie/routes/spa/__init__.py b/mealie/routes/spa/__init__.py
index 824764b6e..6e4e24180 100644
--- a/mealie/routes/spa/__init__.py
+++ b/mealie/routes/spa/__init__.py
@@ -1,6 +1,8 @@
+import html
import json
import pathlib
from dataclasses import dataclass
+from typing import Any
from bs4 import BeautifulSoup
from fastapi import Depends, FastAPI, Response
@@ -24,6 +26,9 @@ class MetaTag:
property_name: str
content: str
+ def __post_init__(self):
+ self.content = escape(self.content) # escape HTML to prevent XSS attacks
+
class SPAStaticFiles(StaticFiles):
async def get_response(self, path: str, scope):
@@ -42,6 +47,17 @@ __app_settings = get_app_settings()
__contents = ""
+def escape(content: Any) -> Any:
+ if isinstance(content, str):
+ return html.escape(content)
+ elif isinstance(content, list | tuple | set):
+ return [escape(item) for item in content]
+ elif isinstance(content, dict):
+ return {escape(k): escape(v) for k, v in content.items()}
+ else:
+ return content
+
+
def inject_meta(contents: str, tags: list[MetaTag]) -> str:
soup = BeautifulSoup(contents, "lxml")
scraped_meta_tags = soup.find_all("meta")
@@ -80,15 +96,13 @@ def content_with_meta(group_slug: str, recipe: Recipe) -> str:
# Inject meta tags
recipe_url = f"{__app_settings.BASE_URL}/g/{group_slug}/r/{recipe.slug}"
if recipe.image:
- image_url = (
- f"{__app_settings.BASE_URL}/api/media/recipes/{recipe.id}/images/original.webp?version={recipe.image}"
- )
+ image_url = f"{__app_settings.BASE_URL}/api/media/recipes/{recipe.id}/images/original.webp?version={escape(recipe.image)}"
else:
image_url = "https://raw.githubusercontent.com/mealie-recipes/mealie/9571816ac4eed5beacfc0abf6c03eff1427fd0eb/frontend/static/icons/android-chrome-512x512.png"
ingredients: list[str] = []
if recipe.settings.disable_amount: # type: ignore
- ingredients = [i.note for i in recipe.recipe_ingredient if i.note]
+ ingredients = [escape(i.note) for i in recipe.recipe_ingredient if i.note]
else:
for ing in recipe.recipe_ingredient:
@@ -102,25 +116,30 @@ def content_with_meta(group_slug: str, recipe: Recipe) -> str:
if ing.note:
s += f"{ing.note}"
- ingredients.append(s)
+ ingredients.append(escape(s))
nutrition: dict[str, str | None] = recipe.nutrition.model_dump(by_alias=True) if recipe.nutrition else {}
+ for k, v in nutrition.items():
+ if v:
+ nutrition[k] = escape(v)
- as_schema_org = {
+ as_schema_org: dict[str, Any] = {
"@context": "https://schema.org",
"@type": "Recipe",
- "name": recipe.name,
- "description": recipe.description,
+ "name": escape(recipe.name),
+ "description": escape(recipe.description),
"image": [image_url],
"datePublished": recipe.created_at,
- "prepTime": recipe.prep_time,
- "cookTime": recipe.cook_time,
- "totalTime": recipe.total_time,
- "recipeYield": recipe.recipe_yield_display,
+ "prepTime": escape(recipe.prep_time),
+ "cookTime": escape(recipe.cook_time),
+ "totalTime": escape(recipe.total_time),
+ "recipeYield": escape(recipe.recipe_yield_display),
"recipeIngredient": ingredients,
- "recipeInstructions": [i.text for i in recipe.recipe_instructions] if recipe.recipe_instructions else [],
- "recipeCategory": [c.name for c in recipe.recipe_category] if recipe.recipe_category else [],
- "keywords": [t.name for t in recipe.tags] if recipe.tags else [],
+ "recipeInstructions": [escape(i.text) for i in recipe.recipe_instructions]
+ if recipe.recipe_instructions
+ else [],
+ "recipeCategory": [escape(c.name) for c in recipe.recipe_category] if recipe.recipe_category else [],
+ "keywords": [escape(t.name) for t in recipe.tags] if recipe.tags else [],
"nutrition": nutrition,
}
diff --git a/tests/integration_tests/test_spa.py b/tests/integration_tests/test_spa.py
index 68373f79a..9238d4200 100644
--- a/tests/integration_tests/test_spa.py
+++ b/tests/integration_tests/test_spa.py
@@ -2,7 +2,8 @@ import pytest
from bs4 import BeautifulSoup
from mealie.routes import spa
-from mealie.schema.recipe.recipe import Recipe
+from mealie.schema.recipe.recipe import Recipe, RecipeSettings
+from mealie.schema.recipe.recipe_notes import RecipeNote
from mealie.schema.recipe.recipe_share_token import RecipeShareTokenSave
from tests import data as test_data
from tests.utils.factories import random_string
@@ -189,3 +190,28 @@ async def test_spa_service_shared_recipe_with_meta_invalid_data(unique_user: Tes
response = await spa.serve_shared_recipe_with_meta(group.slug, random_string(), session=unique_user.repos.session)
assert response.status_code == 404
+
+
+@pytest.mark.parametrize(
+ "malicious_content, malicious_strings",
+ [
+ ("", ["