Commit graph

50070 commits

Author SHA1 Message Date
Ankush Menat
16580c14cd
fix: dont set assets_json during build (#33051) 2025-06-23 12:30:33 +05:30
Anoop
4fc2a39e44
fix: table multiselect fieldname_remove not reflecting removed row (#33025) 2025-06-23 11:46:42 +05:30
MochaMind
1f2219dbe8
chore: update POT file (#33049) 2025-06-22 14:22:39 +02:00
Sagar Vora
a677bb19ac
Merge pull request #33045 from sagarvora/meta-perf 2025-06-21 15:41:35 +00:00
Sagar Vora
18dde69ab0 perf: dont serialize caches 2025-06-21 20:54:11 +05:30
Sagar Vora
d9fc9f21f9 perf: faster meta serialisation 2025-06-21 20:12:39 +05:30
Sagar Vora
d9f1fc9aee perf: use __dict__ directly 2025-06-21 20:08:02 +05:30
Sagar Vora
326c57af07 chore: remove dead meta keys 2025-06-21 20:07:10 +05:30
Rahul Agrawal
899f2bc592
fix: print <ol> numbering (#33036)
* fix: print ol numbering

* fix: update comment

---------

Co-authored-by: Rahul Agrawal <deathstarconsole@Rahuls-MacBook-Air.local>
2025-06-21 15:12:36 +05:30
Ejaaz Khan
c4a5582985
Merge pull request #33037 from iamejaaz/37997-fix-linking-document
fix(email): resolve case mismatch in auto-linking from email address
2025-06-21 15:11:10 +05:30
Ejaaz Khan
1ea0faa459
Merge pull request #33035 from iamejaaz/41377-readonly-text-editor-in-grid
fix: make Text Editor field respect read-only state in child table
2025-06-21 14:34:54 +05:30
Ejaaz Khan
73cf975a9a fix(email): resolve case mismatch in auto-linking from email address 2025-06-21 14:30:51 +05:30
Ejaaz Khan
d4dcdcb5e2 fix: make Text Editor field respect read-only state in child table 2025-06-21 13:36:46 +05:30
Ejaaz Khan
23e95bf9fc
Merge pull request #33031 from iamejaaz/41467-capitalize-duration-label
fix: capitalize duration label
2025-06-21 12:57:00 +05:30
Ejaaz Khan
2aa11de335 fix: Capitalize duration label 2025-06-21 12:42:26 +05:30
Ankush Menat
f56c405e26
fix: Remove meta-bundle caching (#33029)
- This has never worked
- using `modified` isn't a good way to invalidate this cache because it
  doesn't change with customization
2025-06-20 18:33:30 +05:30
Ankush Menat
18ecd6603b
perf: ~2x faster scheduling (#33027)
* perf: Use cached settings

* perf: Cache parsed crons, ~2x faster scheduling
2025-06-20 12:43:22 +00:00
Sagar Vora
81ebf219c3
build: use --frozen-lockfile flag to avoid lockfile generation / updation (#33026) 2025-06-20 17:37:46 +05:30
ruthra kumar
7bb08e9d07
Merge pull request #33023 from ruthra-kumar/toggle_test_flag_in_light_mode
refactor: toggle test flag in lightmode
2025-06-20 15:23:22 +05:30
ruthra kumar
a134b83eb8 refactor: toggle test flag in lightmode 2025-06-20 15:11:16 +05:30
Soham Kulkarni
aedd5c29c0
fix: dont allow Website User to write to public events (#32966) 2025-06-19 20:57:27 +05:30
Ankush Menat
02d72d2bbb
perf: faster gzip compression (#33014)
Same as https://github.com/frappe/press/pull/2400
2025-06-19 12:52:58 +00:00
RitvikSardana
4fbdaf3a9b
fix: add flag for initial email sync (#33006)
* fix: add flag for initial email sync

* fix: rever from_uid calc
2025-06-19 18:13:32 +05:30
mahsem
94109de17d
fix: spelling_serbian_datepick (#32619) 2025-06-19 13:33:45 +02:00
Sagar Vora
4f6e19eec4
perf: use chain flag (#33007) 2025-06-19 11:32:25 +00:00
Ankush Menat
b57eb60486
perf: chain db transactions (#33004)
* perf: chain transactions

Frequently used rollback/commits can be modified to chain previous
transaction.

This reduces one query to DB in most requests.

* perf: chain transactions in requests
2025-06-19 12:37:39 +05:30
Raffael Meyer
c2dbae3ece
fix(DocType): offer calendar view as default (#32996) 2025-06-18 14:51:16 +02:00
Sagar Vora
f833e4e21b
fix: improve flow to rollback db transaction when processing requests (#32980)
* fix: improve flow to rollback db transaction when processing requests

* fix: rollback, log request and process response for HTTPException
2025-06-18 16:27:46 +05:30
Ankush Menat
8fbe452b4d
chore: Drop pdbpp (#32992)
Breaks console sometimes, don't see as much value TBH

```
Traceback (most recent call last):
  File "/Users/mihirkandoi/Developer/frappe-develop/apps/frappe/frappe/utils/bench_helper.py", line 48, in invoke
    return super().invoke(ctx)
           ~~~~~~~~~~~~~~^^^^^
  File "/Users/mihirkandoi/Developer/frappe-develop/env/lib/python3.13/site-packages/click/core.py", line 1697, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
  File "/Users/mihirkandoi/Developer/frappe-develop/env/lib/python3.13/site-packages/click/core.py", line 1443, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mihirkandoi/Developer/frappe-develop/env/lib/python3.13/site-packages/click/core.py", line 788, in invoke
    return __callback(*args, **kwargs)
  File "/Users/mihirkandoi/Developer/frappe-develop/env/lib/python3.13/site-packages/click/decorators.py", line 33, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/Users/mihirkandoi/Developer/frappe-develop/apps/frappe/frappe/commands/__init__.py", line 28, in _func
    ret = f(ctx.obj, *args, **kwargs)
  File "/Users/mihirkandoi/Developer/frappe-develop/apps/frappe/frappe/commands/utils.py", line 646, in console
    from IPython.terminal.embed import InteractiveShellEmbed
  File "/Users/mihirkandoi/Developer/frappe-develop/env/lib/python3.13/site-packages/IPython/__init__.py", line 53, in <module>
    from .core.application import Application
  File "/Users/mihirkandoi/Developer/frappe-develop/env/lib/python3.13/site-packages/IPython/core/application.py", line 26, in <module>
    from IPython.core import release, crashhandler
  File "/Users/mihirkandoi/Developer/frappe-develop/env/lib/python3.13/site-packages/IPython/core/crashhandler.py", line 27, in <module>
    from IPython.core import ultratb
  File "/Users/mihirkandoi/Developer/frappe-develop/env/lib/python3.13/site-packages/IPython/core/ultratb.py", line 111, in <module>
    from IPython.core import debugger
  File "/Users/mihirkandoi/Developer/frappe-develop/env/lib/python3.13/site-packages/IPython/core/debugger.py", line 122, in <module>
    from pdb import Pdb as OldPdb
  File "/Users/mihirkandoi/Developer/frappe-develop/env/lib/python3.13/site-packages/_pdbpp_path_hack/pdb.py", line 5, in <module>
    exec(compile(f.read(), pdb_path, 'exec'))
    ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mihirkandoi/Developer/frappe-develop/env/lib/python3.13/site-packages/pdb.py", line 28, in <module>
    __version__ = fancycompleter.LazyVersion('pdbpp')
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: module 'fancycompleter' has no attribute 'LazyVersion'

module 'fancycompleter' has no attribute 'LazyVersion'
```
2025-06-18 07:19:35 +00:00
Akhil Narang
865e086bd4
build: bump dependencies (#32975)
* build(deps): bump babel

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* build(deps): bump filelock

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* build(deps): bump GitPython

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* build(deps): bump Jinja2

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* build(deps): bump Pillow

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* build(deps): bump PyJWT

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* build(deps): bump pypdf

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* build(deps): bump pydyf

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* build(deps): bump werkzeug

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* build(deps): bump bs4

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* build(deps): bump bleach

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* build(deps): bump chardet

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* build(deps): bump croniter

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* build(deps): bump cryptography

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* build(deps): bump pyopenssl

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* build(deps): bump cssutils

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* build(deps): bump markdown2

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* build(deps): bump markupsafe

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* build(deps): bump num2words

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* build(deps): bump openpyxl

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* build(deps): bump phonenumbers

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* build(deps): bump psutil

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* build(deps): bump pydantic

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* build(deps): bump pyotp

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* build(deps): bump dateutil

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* build(deps): bump ipython

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* build(deps): bump pytz

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* build(deps): bump hiredis

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* build(deps): bump requests-oauthlib

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* build(deps): bump requests

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* build(deps): bump rsa

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* build(deps): bump sql_metadata

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* build(deps): bump tenacity

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* build(deps): bump traceback-with-variables

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* build(deps): bump tomli

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* build(deps): bump uuid-utils

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* build(deps): bump xlrd

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* build(deps): bump zxcvbn

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* build(deps): bump markdownify

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* build(deps): bump google libraries

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* build(deps): bump posthog

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* build(deps): bump vobject

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* fix(zxcvbn): set max password length as 128

We allow checking till 128 characters, v4.5.0 has a default max of 72

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

---------

Signed-off-by: Akhil Narang <me@akhilnarang.dev>
2025-06-18 12:33:36 +05:30
Ejaaz Khan
cdb297da17
Merge pull request #32988 from iamejaaz/41272-rate-limit-issue
fix: rate limit issue on sending email login link
2025-06-18 12:17:18 +05:30
Ejaaz Khan
e5b208079d fix: rate limit issue on sending email login link 2025-06-18 12:00:41 +05:30
Ankush Menat
3a7db9cbb7
refactor: Default to mysqlclient (#32987) 2025-06-18 06:04:24 +00:00
Ankush Menat
3bb70a905d
fix: restrict method types in few whitelisted funcs (#32984) 2025-06-18 11:02:57 +05:30
Sagar Vora
f62bae6f5a
refactor: reduce branching in init_request (#32981) 2025-06-18 10:01:20 +05:30
Sagar Vora
e355a175d8
fix: always defer access log insertion (#32976) 2025-06-18 07:03:11 +05:30
Sagar Vora
514a9a6e59
Merge pull request #32977 from sokumon/savedocs-field-issue 2025-06-17 18:29:04 +00:00
Soham Kulkarni
77eda41443
Merge pull request #32351 from sokumon/offsite-backups-removal
refactor: separating backup integrations into an app
2025-06-17 23:30:51 +05:30
sokumon
b79c5476a7 fix: restrict fields according to permlevel after update as well 2025-06-17 20:17:50 +05:30
Ankush Menat
6091040e97
fix: Skip redis cache signal if redis is down (#32967)
https://github.com/frappe/frappe/pull/32888#issuecomment-2975345660
2025-06-17 13:59:31 +00:00
Sagar Vora
b3e1eda4c8
feat: global frappe.in_test flag (#32960)
* feat: global `frappe.in_test` flag

* feat: helper utility to toggle `frappe.in_test`

* fix: use `toggle_test_mode` util

* fix: use `frappe.in_test`

* chore: add comment explaining global `in_test`

* chore: ignore commit replacing flag usage

* test: temporarily disable `frappe.in_test`

this worked earlier because flag was set in werkzeug.local which was separate for API test client

* test: add comment explaining change
2025-06-17 19:19:31 +05:30
Ankush Menat
7e2b4955f8
test: Cancel pending jobs in RQ tests (#32970)
This casues flake sometimes when other tests don't cleanup long running
pending jobs.
2025-06-17 13:27:36 +00:00
Ankush Menat
764410761f
build: Bump RQ (#32969)
https://github.com/rq/rq/compare/v2.3.2...v2.4
2025-06-17 18:48:29 +05:30
sokumon
63cf3676a0 fix: remove utils file and typo 2025-06-17 18:39:21 +05:30
Sagar Vora
6db6361a3c
Merge pull request #32961 from sagarvora/use-_dev_server 2025-06-17 09:14:52 +00:00
Sagar Vora
b7fb654688 chore: use frappe._dev_server 2025-06-17 14:26:17 +05:30
Sagar Vora
482020552c
Merge pull request #32957 from sagarvora/use-global 2025-06-17 06:47:05 +00:00
Sagar Vora
cb0d06455b chore: use frappe._dev_server instead of local.dev_server 2025-06-17 12:03:08 +05:30
MochaMind
74d780d771
fix: sync translations from crowdin (#32921) 2025-06-16 23:55:35 +02:00
Sagar Vora
e8bfad678b
Merge pull request #32946 from sagarvora/remove-underscore-fn 2025-06-16 11:58:16 +00:00