Mealie is a self hosted recipe manager and meal planner with a RestAPI backend and a reactive frontend application built in Vue for a pleasant user experience for the whole family. Easily add recipes into your database by providing the url and mealie will automatically import the relevant data or add a family recipe with the UI editor
1585 matches across 14 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | …tend/app/composables/use-shopping-list-item-actions.ts | 23 | export function useShoppingListItemActions(shoppingListId: string) { |
| LOW | frontend/app/composables/use-recipe-explorer-search.ts | 53 | function createRecipeExplorerSearchState(groupSlug: ComputedRef<string>): RecipeExplorerSearchState { |
| LOW | frontend/app/composables/use-recipe-explorer-search.ts | 473 | export function clearRecipeExplorerSearchState(groupSlug: string) { |
| LOW | frontend/app/composables/use-announcements.ts | 60 | function updateUnreadAnnouncements(lastReadKey: string) { |
| LOW | frontend/app/composables/use-group-recipe-actions.ts | 37 | async function refreshGroupRecipeActions() { |
| LOW | frontend/app/composables/use-users/preferences.ts | 80 | export function useUserMealPlanPreferences(): Ref<UserMealPlanPreferences> { |
| LOW | frontend/app/composables/use-users/preferences.ts | 127 | export function useUserActivityPreferences(): Ref<UserActivityPreferences> { |
| LOW | frontend/app/composables/use-users/preferences.ts | 139 | export function useUserSearchQuerySession(): Ref<UserSearchQuery> { |
| LOW | frontend/app/composables/use-users/preferences.ts | 151 | export function useShoppingListPreferences(): Ref<UserShoppingListPreferences> { |
| LOW | frontend/app/composables/use-users/preferences.ts | 200 | export function useRecipeFinderPreferences(): Ref<UserRecipeFinderPreferences> { |
| LOW | frontend/app/composables/use-users/preferences.ts | 219 | export function useRecipeCreatePreferences(): Ref<UserRecipeCreatePreferences> { |
| LOW | frontend/app/composables/use-users/preferences.ts | 234 | export function useUserExperiencePreferences(): Ref<UserExperiencePreferences> { |
| LOW | frontend/app/composables/api/static-routes.ts | 30 | function recipeTimelineEventSmallImage(recipeId: string, timelineEventId: string) { |
| LOW | frontend/app/composables/api/static-routes.ts | 34 | function recipeTimelineEventTinyImage(recipeId: string, timelineEventId: string) { |
| LOW | …ables/recipe-page/use-extract-ingredient-references.ts | 11 | function removeTrailingPunctuation(word: string): string { |
| LOW | …ables/recipe-page/use-extract-ingredient-references.ts | 16 | function removeStartingPunctuation(word: string): string { |
| LOW | …ables/recipe-page/use-extract-ingredient-references.ts | 37 | export function useExtractIngredientReferences() { |
| LOW | …ables/recipe-page/use-extract-ingredient-references.ts | 40 | function extractIngredientReferences(recipeIngredients: RecipeIngredient[], activeRefs: string[], text: string): Set<s |
| LOW | …mposables/shopping-list-page/use-shopping-list-page.ts | 80 | function updateIndexUncheckedByLabel(labelName: string, labeledUncheckedItems: ShoppingListItemOut[]) { |
| LOW | …mposables/shopping-list-page/use-shopping-list-page.ts | 143 | function toggleReorderLabelsDialog() { |
| LOW | …es/shopping-list-page/use-shopping-list-item-editor.ts | 5 | export function useShoppingListItemEditor(listItem: ModelRef<ShoppingListItemOut | ShoppingListItemCreate, string, Shopp |
| LOW | …list-page/sub-composables/use-shopping-list-sorting.ts | 30 | function groupAndSortListItemsByFood(shoppingList: ShoppingListOut) { |
| LOW | …ng-list-page/sub-composables/use-shopping-list-crud.ts | 226 | function toggleReorderLabelsDialog(reorderLabelsDialog: Ref<boolean>) { |
| LOW | …list-page/sub-composables/use-shopping-list-recipes.ts | 31 | async function removeRecipeReferenceToList(recipeId: string) { |
| LOW | frontend/app/components/Domain/QueryFilterBuilder.vue | 444 | function setRelationalOperatorValue(field: FieldWithId, index: number, value: RelationalKeyword | RelationalOperator) { |
| LOW | …onents/Domain/Recipe/RecipeDialogAddToShoppingList.vue | 307 | async function consolidateRecipesIntoSections(recipes: RecipeWithScale[]) { |
| LOW | …onents/Domain/Recipe/RecipeDialogAddToShoppingList.vue | 409 | async function openShoppingListIngredientDialog(list: ShoppingListSummary) { |
| LOW | …/RecipePage/RecipePageParts/RecipePageInstructions.vue | 538 | function saveAndOpenNextLinkIngredients() { |
| LOW | frontend/app/pages/index.vue | 22 | async function redirectPublicUserToDefaultGroup() { |
| LOW | tests/multitenant_tests/test_multitenant_cases.py | 23 | def test_multitenant_cases_get_all( |
| LOW | tests/multitenant_tests/test_multitenant_cases.py | 60 | def test_multitenant_cases_same_named_resources( |
| LOW | tests/unit_tests/test_security.py | 128 | async def test_download_file_security_restrictions(): |
| LOW | tests/unit_tests/test_security.py | 201 | def test_ldap_user_creation_invalid_group_or_household( |
| LOW | tests/unit_tests/test_security.py | 238 | def test_ldap_user_creation_fail(monkeypatch: MonkeyPatch): |
| LOW | tests/unit_tests/test_security.py | 256 | def test_ldap_user_creation_non_admin(monkeypatch: MonkeyPatch): |
| LOW | tests/unit_tests/test_security.py | 279 | def test_ldap_user_creation_admin(monkeypatch: MonkeyPatch): |
| LOW | tests/unit_tests/test_security.py | 314 | def test_user_login_ldap_auth_method(monkeypatch: MonkeyPatch, ldap_user: PrivateUser): |
| LOW | tests/unit_tests/test_exceptions.py | 5 | def test_mealie_registered_exceptions() -> None: |
| LOW | tests/unit_tests/test_alembic.py | 14 | def test_alembic_revisions_are_in_order() -> None: |
| LOW | tests/unit_tests/test_config.py | 13 | def test_non_default_settings(monkeypatch): |
| LOW | tests/unit_tests/test_config.py | 30 | def test_default_connection_args(monkeypatch): |
| LOW | tests/unit_tests/test_config.py | 141 | def test_pg_connection_url_encode_password(data, monkeypatch): |
| LOW | tests/unit_tests/test_config.py | 217 | def test_smtp_enable_with_bad_data_tls(data: SMTPValidationCase): |
| LOW | tests/unit_tests/test_config.py | 268 | def test_ldap_settings_validation(data: LDAPValidationCase, monkeypatch: pytest.MonkeyPatch): |
| LOW | tests/unit_tests/test_config.py | 340 | def test_oidc_settings_validation(data: OIDCValidationCase, monkeypatch: pytest.MonkeyPatch): |
| LOW | tests/unit_tests/test_config.py | 353 | def test_sensitive_settings_mask(monkeypatch: pytest.MonkeyPatch): |
| LOW | tests/unit_tests/test_config.py | 374 | def test_non_production_returns_fixed_key(self, tmp_path: Path): |
| LOW | tests/unit_tests/test_config.py | 378 | def test_generates_secret_when_file_missing(self, tmp_path: Path): |
| LOW | tests/unit_tests/test_config.py | 383 | def test_reuses_existing_secret(self, tmp_path: Path): |
| LOW | tests/unit_tests/test_config.py | 388 | def test_regenerates_when_file_is_empty(self, tmp_path: Path): |
| LOW | tests/unit_tests/test_config.py | 394 | def test_regenerates_when_file_is_whitespace_only(self, tmp_path: Path): |
| LOW | tests/unit_tests/test_config.py | 400 | def test_generates_unique_secrets(self, tmp_path: Path): |
| LOW | tests/unit_tests/test_config.py | 407 | def test_no_tmp_file_left_after_write(self, tmp_path: Path): |
| LOW | …_tests/validator_tests/test_registration_validators.py | 6 | def test_create_user_registration() -> None: |
| LOW | …_tests/validator_tests/test_registration_validators.py | 37 | def test_group_or_token_validator(group, household, group_token) -> None: |
| LOW | …_tests/validator_tests/test_registration_validators.py | 53 | def test_group_no_args_passed() -> None: |
| LOW | …s/unit_tests/validator_tests/test_create_plan_entry.py | 9 | def test_create_plan_with_title(): |
| LOW | …s/unit_tests/validator_tests/test_create_plan_entry.py | 16 | def test_create_plan_with_slug(): |
| LOW | …s/unit_tests/validator_tests/test_create_plan_entry.py | 24 | def test_slug_or_title_validation(): |
| LOW | tests/unit_tests/ingredient_parser/test_unit_utils.py | 34 | def test_uc_parse_invalid_strict(): |
| 651 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tests/conftest.py | 32 | |
| LOW | tests/utils/__init__.py | 1 | |
| LOW | tests/utils/__init__.py | 2 | |
| LOW | tests/utils/__init__.py | 3 | |
| LOW | tests/utils/__init__.py | 4 | |
| LOW | tests/utils/__init__.py | 5 | |
| LOW | tests/utils/routes/__init__.py | 1 | |
| LOW | tests/utils/routes/__init__.py | 2 | |
| LOW | tests/utils/routes/__init__.py | 3 | |
| LOW | tests/utils/routes/__init__.py | 4 | |
| LOW | tests/utils/routes/__init__.py | 5 | |
| LOW | tests/utils/routes/__init__.py | 6 | |
| LOW | dev/code-generation/utils/__init__.py | 1 | |
| LOW | dev/code-generation/utils/__init__.py | 2 | |
| LOW | dev/code-generation/utils/__init__.py | 2 | |
| LOW | dev/code-generation/utils/__init__.py | 2 | |
| LOW | dev/code-generation/utils/__init__.py | 2 | |
| LOW | dev/code-generation/utils/__init__.py | 2 | |
| LOW | dev/code-generation/utils/__init__.py | 2 | |
| LOW | dev/code-generation/utils/__init__.py | 3 | |
| LOW | dev/code-generation/utils/__init__.py | 3 | |
| LOW | dev/code-generation/utils/__init__.py | 3 | |
| LOW | dev/code-generation/utils/__init__.py | 3 | |
| LOW | dev/code-generation/utils/__init__.py | 3 | |
| LOW | dev/code-generation/utils/__init__.py | 4 | |
| LOW | dev/code-generation/utils/__init__.py | 4 | |
| LOW | dev/code-generation/utils/__init__.py | 4 | |
| LOW | dev/code-generation/utils/__init__.py | 4 | |
| LOW | dev/code-generation/utils/__init__.py | 4 | |
| LOW | dev/code-generation/utils/__init__.py | 4 | |
| LOW | mealie/repos/__init__.py | 1 | |
| LOW | mealie/repos/repository_generic.py | 1 | |
| LOW | mealie/repos/repository_recipes.py | 1 | |
| LOW | mealie/core/settings/__init__.py | 1 | |
| LOW | mealie/core/settings/__init__.py | 2 | |
| LOW | mealie/core/security/__init__.py | 1 | |
| LOW | mealie/core/security/providers/__init__.py | 1 | |
| LOW | mealie/core/security/providers/__init__.py | 2 | |
| LOW | mealie/core/security/providers/__init__.py | 3 | |
| LOW | mealie/core/security/providers/__init__.py | 4 | |
| LOW | mealie/core/dependencies/__init__.py | 1 | |
| LOW | mealie/lang/__init__.py | 1 | |
| LOW | mealie/schema/_mealie/__init__.py | 2 | |
| LOW | mealie/schema/_mealie/__init__.py | 2 | |
| LOW | mealie/schema/_mealie/__init__.py | 2 | |
| LOW | mealie/schema/_mealie/__init__.py | 2 | |
| LOW | mealie/schema/_mealie/__init__.py | 3 | |
| LOW | mealie/schema/_mealie/__init__.py | 3 | |
| LOW | mealie/schema/_mealie/__init__.py | 3 | |
| LOW | mealie/schema/_mealie/mealie_model.py | 1 | |
| LOW | mealie/schema/response/__init__.py | 2 | |
| LOW | mealie/schema/response/__init__.py | 2 | |
| LOW | mealie/schema/response/__init__.py | 2 | |
| LOW | mealie/schema/response/__init__.py | 2 | |
| LOW | mealie/schema/response/__init__.py | 2 | |
| LOW | mealie/schema/response/__init__.py | 2 | |
| LOW | mealie/schema/response/__init__.py | 10 | |
| LOW | mealie/schema/response/__init__.py | 11 | |
| LOW | mealie/schema/response/__init__.py | 11 | |
| LOW | mealie/schema/response/__init__.py | 11 | |
| 463 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | docker/docker-compose.yml | 19 | # ===================================== |
| MEDIUM | docker/docker-compose.yml | 26 | # ===================================== |
| MEDIUM | …it_tests/repository_tests/test_query_filter_builder.py | 85 | # --------------------------------------------------------------------------- |
| MEDIUM | …it_tests/repository_tests/test_query_filter_builder.py | 87 | # --------------------------------------------------------------------------- |
| MEDIUM | …it_tests/repository_tests/test_query_filter_builder.py | 115 | # --------------------------------------------------------------------------- |
| MEDIUM | …it_tests/repository_tests/test_query_filter_builder.py | 117 | # --------------------------------------------------------------------------- |
| MEDIUM | …tegration_tests/admin_tests/test_admin_ai_providers.py | 12 | # ======================================================================= |
| MEDIUM | …tegration_tests/admin_tests/test_admin_ai_providers.py | 28 | # ======================================================================= |
| MEDIUM | …tion_tests/user_group_tests/test_group_ai_providers.py | 201 | # ========================================== |
| MEDIUM | …tion_tests/user_group_tests/test_group_ai_providers.py | 203 | # ========================================== |
| MEDIUM | …tion_tests/user_group_tests/test_group_ai_providers.py | 299 | # ========================================== |
| MEDIUM | …tion_tests/user_group_tests/test_group_ai_providers.py | 301 | # ========================================== |
| MEDIUM | …tion_tests/user_group_tests/test_group_ai_providers.py | 406 | # ========================================== |
| MEDIUM | …tion_tests/user_group_tests/test_group_ai_providers.py | 408 | # ========================================== |
| MEDIUM | …tion_tests/user_group_tests/test_group_ai_providers.py | 512 | # ========================================== |
| MEDIUM | …tion_tests/user_group_tests/test_group_ai_providers.py | 514 | # ========================================== |
| MEDIUM | …tion_tests/user_group_tests/test_group_ai_providers.py | 14 | # ========================================== |
| MEDIUM | …tion_tests/user_group_tests/test_group_ai_providers.py | 16 | # ========================================== |
| MEDIUM | …tion_tests/user_group_tests/test_group_ai_providers.py | 96 | # ========================================== |
| MEDIUM | …tion_tests/user_group_tests/test_group_ai_providers.py | 98 | # ========================================== |
| MEDIUM | …ests/category_tag_tool_tests/test_organizers_common.py | 10 | # ============================================================================== |
| MEDIUM | dev/code-generation/gen_ts_types.py | 9 | # ============================================================ |
| MEDIUM | dev/code-generation/gen_ts_types.py | 65 | # ============================================================ |
| MEDIUM | mealie/repos/repository_factory.py | 130 | # ================================================================ |
| MEDIUM | mealie/repos/repository_factory.py | 179 | # ================================================================ |
| MEDIUM | mealie/repos/repository_factory.py | 200 | # ================================================================ |
| MEDIUM | mealie/repos/repository_factory.py | 237 | # ================================================================ |
| MEDIUM | mealie/repos/repository_factory.py | 294 | # ================================================================ |
| MEDIUM | mealie/repos/repository_factory.py | 314 | # ================================================================ |
| MEDIUM | mealie/repos/repository_factory.py | 379 | # ================================================================ |
| MEDIUM | mealie/core/settings/settings.py | 189 | # =============================================== |
| MEDIUM | mealie/core/settings/settings.py | 208 | # =============================================== |
| MEDIUM | mealie/core/settings/settings.py | 238 | # =============================================== |
| MEDIUM | mealie/core/settings/settings.py | 299 | # =============================================== |
| MEDIUM | mealie/core/settings/settings.py | 341 | # =============================================== |
| MEDIUM | mealie/core/settings/settings.py | 394 | # =============================================== |
| MEDIUM | mealie/core/settings/settings.py | 403 | # =============================================== |
| MEDIUM | mealie/core/settings/settings.py | 418 | # =============================================== |
| MEDIUM | mealie/schema/household/group_events.py | 9 | # ============================================================================= |
| MEDIUM | mealie/schema/household/group_events.py | 66 | # ======================================================================= |
| MEDIUM | mealie/schema/household/group_recipe_action.py | 9 | # ================================================================================================================== |
| MEDIUM | mealie/schema/household/group_recipe_action.py | 48 | # ================================================================================================================== |
| MEDIUM | mealie/routes/comments/__init__.py | 28 | # ======================================================================= |
| MEDIUM | mealie/routes/recipe/exports.py | 18 | # ================================================================================================================== |
| MEDIUM | mealie/routes/recipe/timeline_events.py | 144 | # ================================================================================================================== |
| MEDIUM | mealie/routes/recipe/recipe_crud_routes.py | 127 | # ======================================================================= |
| MEDIUM | mealie/routes/recipe/recipe_crud_routes.py | 292 | # ================================================================================================================== |
| MEDIUM | mealie/routes/recipe/recipe_crud_routes.py | 337 | # ================================================================================================================== |
| MEDIUM | mealie/routes/recipe/recipe_crud_routes.py | 611 | # ================================================================================================================== |
| MEDIUM | mealie/routes/admin/admin_management_ai_providers.py | 27 | # ======================================================================= |
| MEDIUM | mealie/routes/admin/admin_management_users.py | 26 | # ======================================================================= |
| MEDIUM | mealie/routes/admin/admin_management_households.py | 34 | # ======================================================================= |
| MEDIUM | mealie/routes/admin/admin_management_groups.py | 28 | # ======================================================================= |
| MEDIUM | mealie/routes/groups/controller_labels.py | 37 | # ======================================================================= |
| MEDIUM | …e/routes/households/controller_group_recipe_actions.py | 37 | # ================================================================================================================== |
| MEDIUM | …e/routes/households/controller_group_recipe_actions.py | 67 | # ================================================================================================================== |
| MEDIUM | …ie/routes/households/controller_group_notifications.py | 47 | # ======================================================================= |
| MEDIUM | …ie/routes/households/controller_group_notifications.py | 87 | # ======================================================================= |
| MEDIUM | mealie/routes/households/controller_shopping_lists.py | 169 | # ======================================================================= |
| MEDIUM | mealie/routes/households/controller_shopping_lists.py | 231 | # ======================================================================= |
| 8 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | …tests/services_tests/backup_v2_tests/test_backup_v2.py | 270 | except Exception as e: |
| LOW | …gration_tests/user_recipe_tests/test_recipe_ratings.py | 38 | except Exception: |
| LOW | …tests/recipe_migration_tests/test_recipe_migrations.py | 204 | except Exception: |
| LOW | …ests/user_household_tests/test_group_mealplan_rules.py | 25 | except Exception: |
| LOW | …ion_tests/user_household_tests/test_group_cookbooks.py | 55 | except Exception: |
| LOW | dev/code-generation/gen_ts_types.py | 211 | except Exception: |
| LOW | dev/code-generation/utils/anonymize_backups.py | 48 | except Exception as e: |
| MEDIUM | dev/code-generation/utils/anonymize_backups.py | 31 | def clean_value(value): |
| LOW | dev/code-generation/utils/open_api_parser.py | 112 | except Exception: |
| MEDIUM | dev/scripts/all_recipes_stress_test.py | 235 | console.print(f"Error: {r.status_code}") |
| MEDIUM | dev/scripts/all_recipes_stress_test.py | 242 | console.print(f"Error: {recipe_json.status_code}") |
| MEDIUM | dev/scripts/all_recipes_stress_test.py | 251 | console.print(f"Error: {r.status_code}") |
| LOW | mealie/repos/repository_foods.py | 24 | except Exception as e: |
| LOW | mealie/repos/repository_generic.py | 187 | except Exception: |
| LOW | mealie/repos/repository_generic.py | 265 | except Exception as e: |
| LOW | mealie/repos/repository_generic.py | 283 | except Exception as e: |
| LOW | mealie/repos/repository_generic.py | 345 | except Exception as e: |
| LOW | mealie/repos/repository_recipes.py | 118 | except Exception: |
| LOW | mealie/repos/repository_recipes.py | 126 | except Exception: |
| LOW | mealie/repos/repository_recipes.py | 149 | except Exception as e: |
| LOW | mealie/repos/repository_recipes.py | 281 | except Exception as e: |
| LOW | mealie/repos/repository_recipes.py | 492 | except Exception as e: |
| LOW | mealie/repos/repository_units.py | 126 | except Exception as e: |
| LOW | mealie/repos/seed/seeders.py | 51 | except Exception as e: |
| LOW | mealie/repos/seed/seeders.py | 87 | except Exception as e: |
| LOW | mealie/repos/seed/seeders.py | 129 | except Exception as e: |
| LOW | mealie/core/release_checker.py | 47 | except Exception: |
| LOW | mealie/core/security/providers/openid_provider.py | 103 | except Exception as e: |
| LOW | mealie/core/dependencies/dependencies.py | 58 | except Exception: |
| LOW | mealie/core/dependencies/dependencies.py | 63 | except Exception: |
| LOW | mealie/core/dependencies/dependencies.py | 84 | except Exception: |
| LOW | mealie/schema/cookbook/cookbook.py | 57 | except Exception as e: |
| LOW | mealie/schema/cookbook/cookbook.py | 89 | except Exception: |
| LOW | mealie/schema/meal_plan/plan_rules.py | 60 | except Exception as e: |
| LOW | mealie/schema/meal_plan/plan_rules.py | 88 | except Exception: |
| LOW | mealie/schema/household/group_shopping_list.py | 92 | except Exception: |
| LOW | mealie/schema/openai/_base.py | 33 | except Exception: |
| LOW | mealie/pkgs/img/minify.py | 201 | except Exception as e: |
| LOW | mealie/pkgs/i18n/json_provider.py | 45 | except Exception: |
| LOW | mealie/scripts/reprocess_images.py | 48 | except Exception: |
| LOW | mealie/scripts/reprocess_images.py | 54 | except Exception: |
| LOW | mealie/scripts/reprocess_images.py | 91 | except Exception: |
| LOW | mealie/scripts/reprocess_images.py | 117 | except Exception: |
| LOW | mealie/scripts/reprocess_images.py | 127 | except Exception: |
| LOW | mealie/db/init_db.py | 72 | except Exception: |
| LOW | mealie/db/init_db.py | 80 | except Exception: |
| LOW | mealie/db/models/_model_utils/auto_init.py | 64 | except Exception: |
| LOW | mealie/db/models/_model_utils/datetime.py | 40 | except Exception: |
| LOW | mealie/db/models/_model_utils/datetime.py | 47 | except Exception: |
| LOW | mealie/db/models/household/shopping_list.py | 236 | except Exception: |
| LOW | …-23-15.50.59_b1020f328e98_add_recipe_yield_quantity.py | 44 | except Exception: |
| LOW | ….59.01_a39c7f1826e3_add_unit_standardization_fields.py | 96 | except Exception: |
| LOW | …-09-15.31.00_7cf3054cbbcc_remove_instructions_index.py | 126 | except Exception: |
| LOW | ….41_b9e516e2d3b3_add_household_to_recipe_last_made_.py | 170 | except Exception: |
| LOW | …18-16.27.05_2187537c52b8_add_table_for_ai_providers.py | 268 | except Exception: |
| LOW | mealie/routes/unit_and_foods/units.py | 59 | except Exception as e: |
| LOW | mealie/routes/unit_and_foods/foods.py | 61 | except Exception as e: |
| LOW | mealie/routes/recipe/recipe_crud_routes.py | 235 | except Exception as e: |
| LOW | mealie/routes/recipe/recipe_crud_routes.py | 420 | except Exception as e: |
| LOW | mealie/routes/recipe/recipe_crud_routes.py | 431 | except Exception as e: |
| 74 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | tests/unit_tests/core/test_security.py | 35 | # Create a very long password which bcrypt doesn't support |
| MEDIUM | …services_tests/ingredient_parser/test_openai_parser.py | 91 | # Create a mock raw response which matches the OpenAI chat response format |
| MEDIUM | …ntegration_tests/user_recipe_tests/test_recipe_crud.py | 1075 | # Create a sub-recipe ONLY in group 2 |
| MEDIUM | …ntegration_tests/user_recipe_tests/test_recipe_crud.py | 1085 | # Create a parent recipe in group 1 |
| MEDIUM | …ntegration_tests/user_recipe_tests/test_recipe_crud.py | 1119 | # Create a food |
| MEDIUM | …ntegration_tests/user_recipe_tests/test_recipe_crud.py | 1127 | # Create a recipe_a |
| MEDIUM | …ntegration_tests/user_recipe_tests/test_recipe_crud.py | 1641 | # Create a recipe name that's extremely long like the one in the GitHub issue |
| MEDIUM | …ntegration_tests/user_recipe_tests/test_recipe_crud.py | 1644 | # Create the recipe |
| MEDIUM | …ntegration_tests/user_recipe_tests/test_recipe_crud.py | 895 | # Create a spice mix recipe |
| MEDIUM | …ntegration_tests/user_recipe_tests/test_recipe_crud.py | 907 | # Create a main recipe that uses the spice mix twice |
| MEDIUM | …ntegration_tests/user_recipe_tests/test_recipe_crud.py | 1010 | # Create a recipe with the same slug in both groups |
| MEDIUM | …ntegration_tests/user_recipe_tests/test_recipe_crud.py | 1035 | # Create a parent recipe in group 1 |
| MEDIUM | …ion_tests/public_explorer_tests/test_public_recipes.py | 256 | # Create a public and private recipe with a known tag |
| MEDIUM | …ion_tests/public_explorer_tests/test_public_recipes.py | 290 | # Create a recipe in another household with the same known tag |
| MEDIUM | …ion_tests/public_explorer_tests/test_public_recipes.py | 311 | # Create a public cookbook with tag |
| MEDIUM | …n_tests/public_explorer_tests/test_public_cookbooks.py | 148 | # Create a public and private recipe with a known tag |
| MEDIUM | …n_tests/public_explorer_tests/test_public_cookbooks.py | 182 | # Create a public and private recipe with a known tag in another household |
| MEDIUM | …n_tests/public_explorer_tests/test_public_cookbooks.py | 210 | # Create a public cookbook with tag |
| MEDIUM | …n_tests/public_explorer_tests/test_public_cookbooks.py | 239 | # Create a public recipe with a known tag |
| MEDIUM | …n_tests/public_explorer_tests/test_public_cookbooks.py | 268 | # Create a public recipe with a known tag on a private household |
| MEDIUM | …n_tests/public_explorer_tests/test_public_cookbooks.py | 291 | # Create a public cookbook with tag |
| MEDIUM | …tegration_tests/admin_tests/test_admin_user_actions.py | 69 | # Create a new user |
| MEDIUM | …tegration_tests/admin_tests/test_admin_ai_providers.py | 114 | # Create a brand new group the admin doesn't belong to |
| MEDIUM | …tion_tests/user_group_tests/test_group_ai_providers.py | 313 | # Create a provider so there's something to GET (using repos directly to bypass permission check) |
| MEDIUM | …tion_tests/user_group_tests/test_group_ai_providers.py | 33 | # Create a provider first |
| MEDIUM | …tion_tests/user_group_tests/test_group_ai_providers.py | 553 | # Create a user in the new group with can_manage=True |
| MEDIUM | …tion_tests/user_household_tests/test_group_webhooks.py | 106 | # Create a webhook and post it |
| MEDIUM | .github/workflows/locale-sync.yml | 87 | # Create a new branch from the base branch |
| MEDIUM | dev/code-generation/gen_py_schema_exports.py | 8 | template = """# This file is auto-generated by gen_schema_exports.py |
| MEDIUM | mealie/schema/_mealie/__init__.py | 1 | # This file is auto-generated by gen_schema_exports.py |
| MEDIUM | mealie/schema/response/__init__.py | 1 | # This file is auto-generated by gen_schema_exports.py |
| MEDIUM | mealie/schema/group/__init__.py | 1 | # This file is auto-generated by gen_schema_exports.py |
| MEDIUM | mealie/schema/recipe/__init__.py | 1 | # This file is auto-generated by gen_schema_exports.py |
| MEDIUM | mealie/schema/admin/__init__.py | 1 | # This file is auto-generated by gen_schema_exports.py |
| MEDIUM | mealie/schema/labels/__init__.py | 1 | # This file is auto-generated by gen_schema_exports.py |
| MEDIUM | mealie/schema/user/__init__.py | 1 | # This file is auto-generated by gen_schema_exports.py |
| MEDIUM | mealie/schema/cookbook/__init__.py | 1 | # This file is auto-generated by gen_schema_exports.py |
| MEDIUM | mealie/schema/meal_plan/__init__.py | 1 | # This file is auto-generated by gen_schema_exports.py |
| MEDIUM | mealie/schema/household/__init__.py | 1 | # This file is auto-generated by gen_schema_exports.py |
| MEDIUM | mealie/schema/openai/__init__.py | 1 | # This file is auto-generated by gen_schema_exports.py |
| MEDIUM | mealie/schema/analytics/__init__.py | 1 | # This file is auto-generated by gen_schema_exports.py |
| MEDIUM | mealie/schema/reports/__init__.py | 1 | # This file is auto-generated by gen_schema_exports.py |
| MEDIUM | mealie/services/backups_v2/backup_v2.py | 36 | # Create a backup of the SQLite database |
| MEDIUM | mealie/services/openai/openai.py | 317 | # Create a transcription from the audio |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tests/multitenant_tests/test_multitenant_cases.py | 23 | |
| LOW | tests/multitenant_tests/test_multitenant_cases.py | 60 | |
| LOW | …tests/services_tests/backup_v2_tests/test_backup_v2.py | 171 | |
| LOW | …tests/services_tests/backup_v2_tests/test_backup_v2.py | 223 | |
| LOW | tests/integration_tests/test_repository_factory.py | 76 | |
| LOW | …ration_tests/user_tests/test_user_password_services.py | 15 | |
| LOW | …ration_tests/user_tests/test_user_password_services.py | 63 | |
| LOW | …tests/recipe_migration_tests/test_recipe_migrations.py | 193 | |
| LOW | …ests/user_household_tests/test_group_shopping_lists.py | 249 | |
| LOW | …ests/user_household_tests/test_group_shopping_lists.py | 581 | |
| LOW | …ests/user_household_tests/test_group_shopping_lists.py | 663 | |
| LOW | tests/utils/helpers.py | 9 | |
| LOW | dev/code-generation/gen_py_pytest_routes.py | 27 | |
| LOW | dev/code-generation/gen_ts_types.py | 69 | |
| LOW | dev/code-generation/gen_ts_types.py | 101 | |
| LOW | dev/code-generation/utils/open_api_parser.py | 76 | |
| LOW | dev/code-generation/utils/open_api_parser.py | 103 | |
| LOW | dev/code-generation/utils/open_api_parser.py | 117 | |
| LOW | mealie/repos/repository_generic.py | 432 | |
| LOW | mealie/repos/repository_recipes.py | 361 | |
| LOW | mealie/repos/repository_units.py | 17 | |
| LOW | mealie/core/logger/config.py | 38 | |
| LOW | mealie/core/dependencies/dependencies.py | 36 | |
| LOW | mealie/pkgs/img/minify.py | 156 | |
| LOW | mealie/pkgs/i18n/json_provider.py | 17 | |
| LOW | mealie/pkgs/i18n/json_provider.py | 33 | |
| LOW | mealie/pkgs/stats/fs_stats.py | 8 | |
| LOW | mealie/scripts/reprocess_images.py | 132 | |
| LOW | mealie/db/fixes/fix_migration_data.py | 136 | |
| LOW | mealie/db/models/_model_utils/auto_init.py | 76 | |
| LOW | mealie/db/models/_model_utils/auto_init.py | 104 | |
| LOW | mealie/db/models/_model_utils/auto_init.py | 112 | |
| LOW | mealie/db/models/_model_utils/auto_init.py | 114 | |
| LOW | ….59.01_a39c7f1826e3_add_unit_standardization_fields.py | 42 | |
| LOW | …-09-15.31.00_7cf3054cbbcc_remove_instructions_index.py | 103 | |
| LOW | …ons/2024-07-12-16.16.29_feecc8ffb956_add_households.py | 44 | |
| LOW | mealie/routes/recipe/recipe_crud_routes.py | 90 | |
| LOW | mealie/routes/admin/admin_maintenance.py | 16 | |
| LOW | mealie/routes/admin/admin_maintenance.py | 38 | |
| LOW | mealie/routes/_base/controller.py | 168 | |
| LOW | mealie/services/backups_v2/alchemy_exporter.py | 98 | |
| LOW | mealie/services/backups_v2/alchemy_exporter.py | 189 | |
| LOW | mealie/services/backups_v2/alchemy_exporter.py | 249 | |
| LOW | mealie/services/backups_v2/backup_v2.py | 43 | |
| LOW | mealie/services/scraper/scraper_strategies.py | 469 | |
| LOW | mealie/services/scraper/scraper_strategies.py | 524 | |
| LOW | mealie/services/scraper/cleaner.py | 562 | |
| LOW | mealie/services/parser_services/_base.py | 60 | |
| LOW | mealie/services/parser_services/_base.py | 78 | |
| LOW | mealie/services/parser_services/brute/process.py | 133 | |
| LOW | mealie/services/recipe/recipe_data_service.py | 119 | |
| LOW | mealie/services/recipe/recipe_service.py | 302 | |
| LOW | mealie/services/recipe/recipe_service.py | 498 | |
| LOW | …eduler/tasks/delete_old_checked_shopping_list_items.py | 54 | |
| LOW | mealie/services/query_filter/keywords.py | 12 | |
| LOW | mealie/services/query_filter/builder.py | 194 | |
| LOW | mealie/services/query_filter/builder.py | 214 | |
| LOW | mealie/services/query_filter/builder.py | 286 | |
| LOW | mealie/services/query_filter/builder.py | 341 | |
| LOW | mealie/services/query_filter/builder.py | 403 | |
| 4 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | tests/data/__init__.py | 0 | 44e8d670719d: add extras to shopping lists, list items, and ingredient foods |
| HIGH | tests/data/__init__.py | 0 | 44e8d670719d: add extras to shopping lists, list items, and ingredient foods |
| HIGH | tests/data/__init__.py | 0 | 44e8d670719d: add extras to shopping lists, list items, and ingredient foods |
| HIGH | tests/data/__init__.py | 0 | 44e8d670719d: add extras to shopping lists, list items, and ingredient foods |
| HIGH | mealie/schema/response/responses.py | 0 | this method is an helper to create an object and convert to a dictionary in the same call, for use while providing detai |
| HIGH | mealie/schema/response/responses.py | 0 | this method is an helper to create an object and convert to a dictionary in the same call, for use while providing detai |
| HIGH | mealie/schema/response/responses.py | 0 | this method is an helper to create an object and convert to a dictionary in the same call, for use while providing detai |
| Severity | File | Line | Snippet |
|---|---|---|---|
| CRITICAL | …ntegration_tests/user_recipe_tests/test_recipe_crud.py | 36 | from tests.utils.helpers import parse_sse_events |
| CRITICAL | …ts/user_recipe_tests/test_recipe_create_from_openai.py | 15 | from tests.utils.helpers import parse_sse_events |
| CRITICAL | mealie/schema/recipe/recipe.py | 17 | from mealie.core.exceptions import SlugError |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | mealie/core/settings/settings.py | 41 | Custom serializer for sensitive settings. If the setting is None, then will serialize as null, otherwise, |
| HIGH | mealie/schema/recipe/recipe_ingredient.py | 69 | # sometimes the frontend will give us an empty string instead of null, so we convert it to None, |
| HIGH | mealie/routes/auth/auth.py | 71 | # request.client should never be null, except sometimes during testing |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | …ests/category_tag_tool_tests/test_organizers_common.py | 256 | # Check if Organizer is returned with 10 RecipeSummary |
| LOW | .github/workflows/auto-merge-l10n.yml | 57 | # Check if file matches any allowed path |
| LOW | mealie/services/scraper/scraper_strategies.py | 453 | # Check if we can actually download something to transcribe |
| LOW | mealie/services/scraper/scraped_extras.py | 45 | # Check if tag exists |
| LOW | mealie/services/scraper/scraped_extras.py | 72 | # Check if category exists |
| LOW | mealie/services/parser_services/brute/process.py | 111 | # Check if the matching opening bracket is in the same token |
| LOW | mealie/services/recipe/recipe_service.py | 421 | # Check if this recipe is already in the current path (cycle detected) |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | frontend/app/assets/variables.scss | 1 | // Ref: https://github.com/nuxt-community/vuetify-module#customvariables |
| LOW | tests/e2e/playwright.config.ts | 61 | // { |
| LOW | .github/workflows/codeql.yml | 1 | # For most projects, this workflow file will not need changing; you simply need |
| LOW | .github/workflows/stale.yml | 21 | # This stops an issue from ever getting closed automatically. |
| LOW | mealie/alembic/alembic.ini | 21 | # leave blank for localtime |
| LOW | mealie/alembic/alembic.ini | 41 | # version_locations = %(here)s/bar:%(here)s/bat:alembic/versions |
| LOW | mealie/alembic/alembic.ini | 61 | # on newly generated revision scripts. See the documentation for further |
| LOW | mealie/services/scraper/cleaner.py | 161 | # |
| LOW | mealie/services/scraper/cleaner.py | 201 | case [str(), *_]: |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tests/data/html/detroit-style-pepperoni-pizza.html | 924 | </p><ul class="ReviewListMeta-gTSwIE jdKQPB"><li class="BaseWrap-sc-TURhJ BaseText-fFzBQt ReviewListMetaItem-iuExFx eTiI |
| MEDIUM | mealie/routes/_base/controller.py | 157 | # In order to use a "" as a router and utilize the prefix in the original router |
| LOW | mealie/services/parser_services/ingredient_parser.py | 212 | # For now, just add them as a note ("and amt_1, and amt_2, and ...") |
| LOW | mealie/services/parser_services/ingredient_parser.py | 229 | # For now, just add them to the note ("or ing_1, or ing_2, or ...") |
| LOW | mealie/services/query_filter/builder.py | 524 | # this component does not have any keywords or operators, so we just add it as-is |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | …unit_tests/core/security/auth_cache/test_auth_cache.py | 193 | "email": "user@example.com", |
| LOW | …unit_tests/core/security/auth_cache/test_auth_cache.py | 206 | assert retrieved["userinfo"]["email"] == "user@example.com" |
| LOW | …ore/security/auth_cache/test_auth_cache_integration.py | 130 | "name": "John Doe", |
| LOW | …tegration_tests/admin_tests/test_admin_user_actions.py | 127 | "email": "user@example.com", |
| LOW | …s-with-scallion-brown-butter-and-snow-peas-recipe.html | 1 | <!DOCTYPE html><html lang="en-US"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <title>Nu |
| LOW | tests/data/html/detroit-style-pepperoni-pizza.html | 924 | </p><ul class="ReviewListMeta-gTSwIE jdKQPB"><li class="BaseWrap-sc-TURhJ BaseText-fFzBQt ReviewListMetaItem-iuExFx eTiI |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | mealie/schema/recipe/recipe.py | 41 | Generate a slug from a recipe name, truncating to a reasonable length. Args: name: The recipe name to creat |