Commit graph

52104 commits

Author SHA1 Message Date
Raffael Meyer
dc8d8636da
test: always upload cypress recordings (#35032) 2025-12-03 01:15:49 +00:00
Raffael Meyer
93aabafca3
ci: upload cypress recordings on failure (#35031) 2025-12-02 23:57:00 +01:00
Soham Kulkarni
e61b207372
Merge pull request #35022 from sokumon/cypress-artifact 2025-12-02 23:26:36 +05:30
Soham Kulkarni
5ae0d96d73
Merge pull request #35025 from barredterra/revert-33505 2025-12-02 17:53:47 +05:30
barredterra
5aa68d62bf Revert "Merge pull request #33505 from sokumon/date-picker-issue"
This reverts commit 890ab456e3, reversing
changes made to 6461592b5d.
2025-12-02 12:53:26 +01:00
sokumon
88bfcdffc4 fix: check if the video directories is empty 2025-12-02 17:23:23 +05:30
sokumon
9b704be8a1 fix: add cypress recordings to a path and upload them 2025-12-02 17:17:42 +05:30
Soham Kulkarni
98c38ca19f
Merge pull request #35019 from sokumon/delete-sidebars 2025-12-02 16:51:31 +05:30
Ejaaz Khan
7a99f885d4
Merge pull request #34992 from sokumon/sidebar-fixes
feat: move awesombar to sidebar
2025-12-02 16:06:38 +05:30
Ejaaz Khan
c619556b95 test: comment flacky test 2025-12-02 15:42:29 +05:30
Ejaaz Khan
10d35b10e0 test: add after each method 2025-12-02 15:25:50 +05:30
Sagar Vora
1233678a07
Merge pull request #35018 from sagarvora/more-query-engine-fixes 2025-12-02 15:12:04 +05:30
Ejaaz Khan
cadbf4a2f6 test: close modal before each test and add delay 2025-12-02 15:05:57 +05:30
Sagar Vora
d4cc9160e5 refactor: precompile CHILD_TABLE_FIELD_PATTERN regex 2025-12-02 15:02:29 +05:30
sokumon
34b221d097 fix: delete sidebars when app is deleted 2025-12-02 13:50:29 +05:30
Hussain Nagaria
0891a69bda
fix: bring back currency precision fix #34886 (#35015)
* fix: use number format from currency if defined

* refactor: extract out function
2025-12-02 07:16:17 +00:00
Ejaaz Khan
7b654c5914 test: add dealy after body click 2025-12-02 12:46:10 +05:30
Ejaaz Khan
2d4b34396b refactor: different id for desktop search 2025-12-02 12:28:00 +05:30
Sagar Vora
4f5197ec3d
Merge pull request #35011 from frappe/revert-28638-app-translations 2025-12-02 11:56:02 +05:30
Sagar Vora
00dd0ba6c7
fix!: use Field instead of Column for field-to-field comparison in query filters (#35012) 2025-12-02 06:24:41 +00:00
Akhil Narang
09bbb31556
Revert "fix: added api to get translation messages for portal apps" 2025-12-02 11:36:03 +05:30
sokumon
e21765e274 fix: render standard section once 2025-12-02 11:24:08 +05:30
dependabot[bot]
ccb4afaa11
chore(deps): bump werkzeug from 3.1.3 to 3.1.4 (#35010)
Bumps [werkzeug](https://github.com/pallets/werkzeug) from 3.1.3 to 3.1.4.
- [Release notes](https://github.com/pallets/werkzeug/releases)
- [Changelog](https://github.com/pallets/werkzeug/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/werkzeug/compare/3.1.3...3.1.4)

---
updated-dependencies:
- dependency-name: werkzeug
  dependency-version: 3.1.4
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-02 11:01:37 +05:30
Ejaaz Khan
3ad691c47d
Merge pull request #34998 from iamejaaz/awesomebar-fixes
fix(awesomebar): add icon for recent items
2025-12-02 10:38:52 +05:30
Sagar Vora
9c022f7f58
Merge pull request #35006 from sagarvora/debounce-flush-and-cancel
feat: cancel/flush debounced timeout
2025-12-02 09:52:38 +05:30
Sagar Vora
1993eb933d
Merge pull request #35008 from sagarvora/query-engine-fixes
fix: multiple query engine fixes
2025-12-02 02:27:19 +05:30
Sagar Vora
7cb6cf9830 fix: improve functions error message 2025-12-02 02:17:08 +05:30
Sagar Vora
f2ac5babe1 fix: dont use comma pattern for group by splitting 2025-12-02 02:12:24 +05:30
Sagar Vora
87b1e15a31 fix: remove double-quoting in Locate and Ifnull functions
The custom implementations were calling .get_sql() on pypika terms,
then passing the already-quoted string to super().__init__() which
quoted it again. This broke queries with quotes in values.

Fix: Let pypika's base classes handle the quoting by passing terms
through unchanged. Ifnull now just aliases pypika's IfNull directly.
2025-12-02 02:08:03 +05:30
Sagar Vora
261463e06a fix: keep Column compatibility, stricter regex for backtick parse 2025-12-02 01:59:16 +05:30
Sagar Vora
5122334b4b perf: cache get_permitted_fields across Engine instance
- Add permitted_fields_cache dict to Engine instance
- Create _get_cached_permitted_fields() method shared by _check_field_permission and apply_field_permissions
- Move OPTIONAL_FIELDS check earlier to avoid unnecessary work
- Reduces redundant expensive permission lookups for filter fields
2025-12-02 01:10:44 +05:30
Sagar Vora
e983da0136 chore: simplify function field validation 2025-12-02 01:06:12 +05:30
Sagar Vora
c40933dca7 fix: restrict '*' argument to COUNT function only
- Add STAR_ALLOWED_FUNCTIONS frozenset with COUNT
- Pass function_name through parse chain to validate '*' usage
- Prevents '*' in functions like SUM(*), AVG(*) where it's invalid
2025-12-02 01:00:16 +05:30
Sagar Vora
99039c23cb chore: remove unused import 2025-12-02 00:48:57 +05:30
Sagar Vora
768a141814 refactor: simplify string literal handling in SQLFunctionParser
- Inline string literal check and extraction (was _is_string_literal + _validate_string_literal)
- Remove dangerous_patterns validation - pypika handles escaping with wrap_constant
2025-12-02 00:48:28 +05:30
Sagar Vora
a14b11749b refactor: remove unnecessary sql_keywords validation in _validate_alias
pypika wraps aliases in backticks, so SQL keywords are safe to use as aliases
2025-12-02 00:40:23 +05:30
Sagar Vora
3dcd80326b perf: replace sqlparse-based _is_function_call with regex
- Remove sqlparse import (no longer used anywhere in query.py)
- Add FUNCTION_CALL_PATTERN regex for detecting SQL function calls
- Simplify _is_function_call from 6-line sqlparse parsing to 1-line regex match
2025-12-02 00:38:13 +05:30
Sagar Vora
1e05d6c326 perf: pre-compile regex patterns for field and alias validation
Added SIMPLE_FIELD_PATTERN and IDENTIFIER_PATTERN at module level
to avoid repeated regex compilation in hot paths like filter validation
and alias checking.
2025-12-02 00:27:11 +05:30
Sagar Vora
b5bae10dc8 perf: remove unnecessary sqlparse.format and comment stripping in _sanitize_field
ALLOWED_FIELD_PATTERN already restricts fields to simple identifiers
that cannot contain SQL comments, making the sqlparse.format(strip_comments=True)
and MARIADB_SPECIFIC_COMMENT.sub() calls unnecessary overhead.

Merged _sanitize_field into _validate_select_field.
2025-12-02 00:23:25 +05:30
Sagar Vora
bcac30836b refactor: remove redundant share check in check_read_permission
has_permission() already checks for shared documents internally when
role permissions do not grant access, so the separate frappe.share.get_shared()
call was dead code.
2025-12-02 00:19:44 +05:30
Sagar Vora
5297edc732 refactor: use FIELD_PARSE_REGEX instead of sqlparse for _parse_backtick_field_notation 2025-12-02 00:14:58 +05:30
Raffael Meyer
a9c4bac950
fix: speed up link field (#34689) 2025-12-01 19:31:27 +01:00
Sagar Vora
04932e20a0 fix: tighten FIELD_PARSE_REGEX to only allow backticks (not double quotes) 2025-12-01 23:59:45 +05:30
Sagar Vora
72b1fe299d fix: tighten ALLOWED_FIELD_PATTERN to disallow hyphens/spaces in field names 2025-12-01 23:58:53 +05:30
Sagar Vora
e7c8091507 fix: use Field instead of Column for field-to-field filter comparison detection 2025-12-01 23:45:56 +05:30
Sagar Vora
3f2fbd7d4e fix: use Star() instead of Column("*") for correct COUNT(*) SQL 2025-12-01 23:44:41 +05:30
Sagar Vora
730f35ab70 refactor: remove unused Permission class 2025-12-01 23:42:37 +05:30
Sagar Vora
dca4b36684 chore: remove debug print statement in DynamicTableField.parse 2025-12-01 23:41:53 +05:30
Sagar Vora
732137b9bc fix: simplify permission conditions logic 2025-12-01 23:35:57 +05:30
Sagar Vora
af1bacc691
Merge pull request #35005 from sagarvora/improve-logic
fix(Link): improve logic for early exit
2025-12-01 23:12:13 +05:30