Commit graph

3719 commits

Author SHA1 Message Date
Ankush Menat
85f8ccadf7
Revert "feat: support reraising with error cause" (#32523)
This reverts commit 153d7cb7a3.
2025-05-15 17:35:18 +05:30
Akhil Narang
8d42b4d3d6
Merge pull request #32268 from akhilnarang/drop-example-email-address-creation
fix: don't create example email domains and email accounts
2025-04-29 12:50:29 +05:30
Soham Kulkarni
6305e848b4
fix(safe_exec): add get_content_hash (#32265)
* fix(safe_exec): add get_content_hash

* fix: replace exposed function with sha256

* fix: rename function to sha256_hash and make it consistent
2025-04-27 13:37:25 +05:30
Ankush Menat
856513423f
fix: recorder auto-disable (#32296)
This broke with client cache implementation... oopsie.
2025-04-25 11:32:55 +00:00
Akhil Narang
39523916d4
fix: don't create example email domains and email accounts
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
2025-04-23 14:53:56 +05:30
Ankush Menat
70e56b2e14
perf: Selectively switch to LIFO ordering when queue is starved (#32226)
When queue is overloaded every job gets delayed by size of the queue,
this means even interactive jobs like prepared reports face significant
wait times.

This flag allows developer to selectively enable LIFO on such jobs where
ordering doesn't matter. Any time we observe queue to be too large,
we'll insert the job at front so it gets highest priority.

This is a common strategy to deal with queue starvation, we are only
applying it explicitly because job execution order matters for
correctness in some cases.
2025-04-23 11:54:21 +05:30
Sagar Vora
e08efc8a64 perf: use cached user and compile regex 2025-04-18 17:41:42 +05:30
gavin
792f1c237f
Merge pull request #32167 from gavindsouza/bp-pr-32074
perf(events): get_events performance & Google Calendar Integration fixes
2025-04-16 13:33:33 +02:00
Ejaaz Khan
bdfcf92093
Merge pull request #32140 from rehanrehman389/illegal-character-fix
fix: illegal characters in Excel export
2025-04-16 16:46:13 +05:30
rehansari26
8dc96658cf chore: format code using pre-commit 2025-04-16 15:22:43 +05:30
rehansari26
a0991b62a3 fix: illegal characters in excel export 2025-04-16 15:17:35 +05:30
Soham Kulkarni
e038da5129
Merge pull request #32160 from sokumon/boilerplate-ci
fix(boilerplate): update mariadb in ci
2025-04-16 14:11:32 +05:30
sokumon
3ae2baeaf1 fix(boilerplate): update mariadb in ci 2025-04-16 13:58:24 +05:30
Ankush Menat
31e672f985
perf: 10000s of times faster global search (#32147)
In a new installment of *"how did it ever work"* - global search wasn't
filtering by the matched filter, just ranking. I have no idea why this
is being done here but it's far from a good idea from performance POV.

Not adding `MATCH` in where clause makes the fulltext index worthless.
2025-04-16 09:06:00 +05:30
Gavin D'souza
551be4f6ab
fix: Clear site test records log before running test
Not sure if this was intentional - there is no documentation as far as i
can tell
2025-04-15 18:28:21 +02:00
Akhil Narang
8106e72981
refactor: use a database file directly, instead of an SQL file
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
2025-04-15 13:59:16 +05:30
Akhil Narang
6c51381e9d
fix(check_database): add sqlite support
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
2025-04-15 13:59:16 +05:30
Akhil Narang
26fb2f0db0
fix(password): add sqlite compat
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
2025-04-15 13:59:16 +05:30
Akhil Narang
ad32216040
fix: support sqlite
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
2025-04-15 13:59:16 +05:30
Sagar Vora
f70c32c23e
fix: dont recheck healthy state after value is retrieved from client cache (#32099) 2025-04-12 18:16:02 +05:30
Ankush Menat
fe5be4b3d1
fix: Add a long timeout instead of indefinite blocking (#32090)
Redis handles non-blocking calls differently and auto-recovers from
timeouts
2025-04-11 13:05:25 +00:00
Sagar Vora
ac39749929
Merge pull request #32082 from sagarvora/cached-prop
feat: use `cached_property` without locks on all supported Python versions
2025-04-11 13:49:49 +05:30
Sagar Vora
7421ffa79a feat: use cached_property without locks on all supported Python versions 2025-04-11 13:21:27 +05:30
Henning Wendtland
b59a94a523
fix: improve url validation (#32052) 2025-04-11 11:51:08 +05:30
Akhil Narang
b399e496b1
chore: update boilerplate with our latest configs
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
2025-04-10 13:04:50 +05:30
Sagar Vora
5285a3b83f
Merge pull request #32001 from sagarvora/reduce-init-1
refactor: trim `frappe.__init__`
2025-04-06 10:45:17 +05:30
Sagar Vora
bd844579d2 refactor: trim frappe.__init__ 2025-04-06 10:30:23 +05:30
Ankush Menat
0f7099c527
build: bump RQ to latest (#31952)
perf fix for busy pubsub thread
2025-03-29 06:39:24 +00:00
Akhil Narang
54ef9f2290
fix: don't create Report Manager twice
It gets imported from report.json

Signed-off-by: Akhil Narang <me@akhilnarang.dev>
2025-03-27 12:38:53 +05:30
Sagar Vora
210709ad14 fix: revert to simpler LocalProxy override 2025-03-22 10:26:09 +05:30
Ankush Menat
5a5ad3032c
fix: procline crash (#31845)
* fix: Skip rollback if no DB

* fix: drop proctitle from dependency

- While it improves our own processes, it makes gunicorn process titles worse
- It also crashes on mac because of some unknown reason related to fork-safety.

Best to not use this.
2025-03-21 12:30:19 +05:30
Sagar Vora
2a2700970d perf: pre-create UnionType objects 2025-03-20 21:34:07 +05:30
Sagar Vora
1c73999821 fix: recognise frappe's LocalProxy when serializing 2025-03-20 19:01:30 +05:30
Ankush Menat
4fac934cec
perf: long-lived posthog threads (#31821)
* build: bump posthog to latest

* perf: Use long living posthog client
2025-03-20 12:36:17 +05:30
Ankush Menat
5eabc7ebac
fix: shutdown posthog after job (#31819)
* fix: change log level

A duplicate existing job is often a cause of concern.

* fix: avoid waiting indefinitely in long-living processes
2025-03-20 05:49:20 +00:00
Sagar Vora
15d753ea52
Merge pull request #31811 from sagarvora/cache-params-directly
perf: cache signature params instead of signature
2025-03-20 01:06:25 +05:30
Sagar Vora
6435a77e41 perf: cache signature params instead of signature 2025-03-20 00:55:52 +05:30
Ankush Menat
acbac07d01
fix: handle expired jobs while deduping (#31803)
* fix: Race condition between job fetch and expiry

* fix: don't refetch status
2025-03-19 18:20:07 +05:30
Sagar Vora
fdc7f69212 perf: faster retrieval from site cache 2025-03-16 12:35:37 +05:30
Sagar Vora
322312a154 perf: make redis key faster 2025-03-15 13:12:57 +05:30
Ejaaz Khan
2e32468f86
Merge pull request #31255 from Sanket322/encode_filters
fix: Encode URL filters to handle special characters
2025-03-15 00:35:38 +05:30
Sagar Vora
042372ea86 perf: remove __getattr__ from local & localproxy 2025-03-13 22:36:31 +05:30
Raffael Meyer
fed66a32ed
fix: support "Timespan" in evaluate_filters (#31190)
* fix: support "Timespan" in `evaluate_filters`

* fix: add None case
2025-03-13 12:51:49 +01:00
Ankush Menat
e4b0d11b19
fix: only show tracebacks to system users (#31629)
Website users by design are supposed to be "less trusted", so don't show
tracebacks to them.
2025-03-13 14:48:20 +05:30
Sagar Vora
00c12cb029 perf: override more werkzeug.local methods 2025-03-12 21:28:23 +05:30
Sagar Vora
29c318964b
Revert "perf!: faster frappedict getattr" 2025-03-12 18:35:33 +05:30
Sagar Vora
5be83f7df8
Revert "fix: add __slots__ to NamespaceDict" 2025-03-12 18:34:17 +05:30
Sagar Vora
cc023453e8
Merge pull request #31666 from sagarvora/add-slots
fix: add `__slots__` to NamespaceDict
2025-03-12 14:15:24 +05:30
Sagar Vora
ad33435b33
Merge pull request #31660 from sagarvora/frappelocal
perf: faster local attr lookup
2025-03-12 14:13:46 +05:30
Sagar Vora
a5dd24ebe9 fix: add __slots__ to NamespaceDict 2025-03-12 14:05:27 +05:30