Commit graph

49959 commits

Author SHA1 Message Date
Ankush Menat
49f582ae57 perf: Use lazy doc in a lot more places 2025-06-11 09:55:45 +05:30
Ankush Menat
beefdb9a1f perf: use lazy doc for permission checks 🚀
Co-Authored-By: Sagar Vora <sagar@resilient.tech>
2025-06-11 09:55:45 +05:30
Ankush Menat
4d7348d3c0 refactor: avoid code duplication 2025-06-11 09:55:36 +05:30
Ankush Menat
5b8f7bba2b fix: Ensure some basic checks are present to prevent misuse 2025-06-11 09:55:01 +05:30
Ankush Menat
3e4e944ae9 fix: dont db_update what hasn't changed 2025-06-11 09:55:01 +05:30
Ankush Menat
022dbf444d fix: make doc.save work and empty tables 2025-06-11 09:55:01 +05:30
Ankush Menat
eb77ddab69 feat: Lazy loaded documents
https://docs.python.org/3/howto/descriptor.html#invocation-from-an-instance

After first invokation, object's __dict__ will be used... then we can
assume rest of the code works as expected (?)
2025-06-11 09:55:01 +05:30
Ankush Menat
4292fc9005
Merge pull request #32888 from ankush/fix_invalidations
fix: Clear persistent cache in running processes
2025-06-11 08:41:23 +05:30
Ankush Menat
3167e03133 fix: invalidate persistent caches 2025-06-11 00:28:38 +05:30
Ankush Menat
12ab20f705 fix: Change local variable name
Shouldn't be same as function name
2025-06-10 23:52:27 +05:30
MochaMind
fe3e161bbb
chore: update POT file (#32836) 2025-06-10 19:19:19 +02:00
Soham Kulkarni
96db39d77f
Merge pull request #32886 from sokumon/timeline-fix
fix(mobile): edit button on timeline
2025-06-10 21:53:48 +05:30
sokumon
8998e8e5f5 fix(mobile): edit button on timeline 2025-06-10 21:26:28 +05:30
Soham Kulkarni
5e9f790b7b
Merge pull request #32878 from sokumon/check-bcc-in-email
fix: set bcc in emails
2025-06-10 17:30:37 +05:30
sokumon
af490b4e12 fix: set bcc in emails 2025-06-10 16:36:12 +05:30
Akhil Narang
43eb27c807
fix(widget_dialog): set is_query_report automatically for appropriate reports (#32854)
Otherwise by default you can't view those reports - the report builder page doesn't work for those.
2025-06-10 07:41:51 +00:00
RitvikSardana
c193aad863
feat: add custom headers to any email in frappe.sendmail (#32820)
* feat: add custom headers to any email in frappe.sendmail

* fix: add headers only when it is provided

* fix: prepend headers with 'X='
2025-06-10 12:38:02 +05:30
Ankush Menat
271fe0e47e
fix!: Dont silently ignore bad filters (#32871) 2025-06-10 12:06:44 +05:30
Ejaaz Khan
acb6d91eba
Merge pull request #32869 from frappe/revert-32539-36457-report-permission
Revert "fix: query report read permission issue"
2025-06-10 11:46:16 +05:30
Ejaaz Khan
a73ddf41f2
Revert "fix: query report read permission issue" 2025-06-10 11:35:25 +05:30
Ankush Menat
8088bd3891
chore: Drop empty UnitTestCases (#32867)
Next to zero adoption after introduction, just noise in codebase.

I don't see any point in arguing about purity of test cases when
existence and quality of test cases is usually the bigger problem.

Dropped using semgrep
2025-06-10 05:28:53 +00:00
Ankush Menat
e4bc7f361b
Revert: DocRef (#32866)
- Hardly used anywhere
- Too many hardcoded `__value__` calls without which it's not usable.
- Another type to worry about
2025-06-10 05:20:56 +00:00
Ankush Menat
49a11a0112
Merge pull request #32865 from ankush/check_link_value
fix: Assert type of link field values
2025-06-10 10:22:00 +05:30
Ankush Menat
9de31d8516 ci: Don't run CI with PYTHONOPTIMIZE flag
🤦
2025-06-10 10:10:54 +05:30
Ankush Menat
22827056ce fix: Assert type of link field values 2025-06-10 10:10:51 +05:30
Sagar Vora
72f3d7a754
Merge pull request #32861 from sagarvora/fix-perm-check 2025-06-10 04:33:44 +00:00
Aayush Dalal
ca5b4cea0b
fix: throw permission error (#32860) 2025-06-10 08:47:49 +05:30
Sagar Vora
7c4b6b3dc1 fix: check permissions as per specified user 2025-06-09 23:31:50 +05:30
Sagar Vora
db3354f111
Merge pull request #32859 from sagarvora/try-fin
fix: always restore old user
2025-06-09 16:11:52 +00:00
Sagar Vora
7afe6dbbda
Merge pull request #32858 from sagarvora/add-test-comments
chore: add comments for test code
2025-06-09 16:04:18 +00:00
Sagar Vora
1d5aa7a4a5 fix: always restore old user 2025-06-09 21:30:21 +05:30
Sagar Vora
a822b2840d chore: add comments for test code 2025-06-09 21:22:59 +05:30
Soham Kulkarni
eb7d597e34
chore: bump sentry-sdk (#32856) 2025-06-09 20:15:21 +05:30
Ankush Menat
292646a5a7
Revert "Revert "perf: Make get_query query mutable (#32849)" (#32855)" (#32857)
This reverts commit 85dc9e6981.
2025-06-09 14:43:27 +00:00
Ankush Menat
85dc9e6981
Revert "perf: Make get_query query mutable (#32849)" (#32855)
This reverts commit dda62ff784.
2025-06-09 13:17:16 +00:00
Soham Kulkarni
5d194fdbd3
Merge pull request #32814 from sokumon/communication-query-perm
fix: show communication based on recipient and sender
2025-06-09 16:32:12 +05:30
Ankush Menat
15dda50365
Revert "fix: Pin web workers by default (#31739)" (#32852)
This reverts commit 4533f92582.
2025-06-09 09:52:23 +00:00
sokumon
d727b16a2b fix: show communication based on recipient and sender 2025-06-09 15:05:28 +05:30
Ankush Menat
dda62ff784
perf: Make get_query query mutable (#32849)
pypika internally keeps copying query builder object because everything
is supposed to be immutable in pypika design, this however is terribly
slow. Often query generation takes more time than query execution.

This PR makes query builder mutable inside `get_query` function to avoid
copying while applying fields, filters, limit, order etc.

It's marked as immutable again when sending it back to users of the API.
2025-06-09 13:46:40 +05:30
Ankush Menat
8c1ee68ce6
perf: Skip order_by in link validation (#32848)
~10% faster because no QB overhead
2025-06-09 07:35:00 +00:00
Ankush Menat
f9ff807e4c
refactor: Rename get_settings -> get_single_value (#32840)
Not all single doctypes are settings, so this is better. Implicit
caching is fine, same is done for `db` APIs on singles. We *should* aim
for 100% correctness of caching implementation, especially for singles.

Thanks to @netchampfaris for the suggestion.
2025-06-09 04:20:29 +00:00
Soham Kulkarni
7bcac9d419
Merge pull request #32833 from sokumon/toolbar-issue
fix: add check if toolbar exists
2025-06-07 16:07:33 +05:30
sokumon
8811e6118b fix: add check if toolbar exists 2025-06-07 15:08:48 +05:30
MochaMind
e83a79a501
fix: sync translations from crowdin (#32703) 2025-06-06 22:14:16 +02:00
Soham Kulkarni
0848426642
Merge pull request #32633 from sokumon/handle-imap-abort
fix: handle imap abort in email server
2025-06-07 00:39:37 +05:30
Sagar Vora
226c68846a
Merge pull request #32829 from sagarvora/allow-zero-default
fix: allow `0` to be a default value for dialog fields
2025-06-06 17:39:25 +00:00
Sagar Vora
8df7df8897 fix: allow 0 to be a default value for dialog fields 2025-06-06 22:46:11 +05:30
Sagar Vora
b50131c9b8
Merge pull request #32827 from frappe/revert-32822-allow-zero-default
Revert "fix: allow `0` to be a default value for dialog fields"
2025-06-06 17:15:22 +00:00
Sagar Vora
e88f834c70
Revert "fix: allow 0 to be a default value for dialog fields" 2025-06-06 21:22:38 +05:30
Sagar Vora
695f561bbb
Merge pull request #32822 from sagarvora/allow-zero-default 2025-06-06 14:02:41 +00:00