Commit graph

2513 commits

Author SHA1 Message Date
Soham Kulkarni
e1aa789acf
Merge pull request #32971 from sokumon/newsletter-removal
refactor: seperate newsletter into app
2025-06-27 11:59:02 +05:30
Sagar Vora
2e5c8bea03 feat: frappe.utils.orjson_dumps 2025-06-26 17:37:51 +05:30
sokumon
ec79747fa7 fix: keep utm doctypes 2025-06-20 19:01:18 +05:30
sokumon
6be013804d fix: remove tests utils and workspace card 2025-06-18 16:23:36 +05:30
sokumon
32a87f53d6 fix: delete newsletter related files 2025-06-18 16:23:36 +05:30
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
Sagar Vora
cb0d06455b chore: use frappe._dev_server instead of local.dev_server 2025-06-17 12:03:08 +05:30
Ankush Menat
c02f1aa5f1 perf: Always defer web page view logs
Unnecessary continuous load on DB.
2025-06-13 11:25:50 +05:30
Ankush Menat
49f582ae57 perf: Use lazy doc in a lot more places 2025-06-11 09:55:45 +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
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
Ankush Menat
caf415f13e
feat: get_settings (#32821)
* feat: get_settings

get_cached_value doesn't work well with singles because you either need
to pass `None` or repeat doctype name... both are awekward and easy to
shoot yourself in foot with.

* refactor: Use cached settings
2025-06-06 18:34:17 +05:30
Ankush Menat
47a47a9b5d refactor!: Change internal datastructure of db.value_cache
It's now a defaultdictionary of `[doctype][name/filters][fieldname]`

This allows us to implement granular clearing and improve usage of this cache.
2025-06-05 14:46:03 +05:30
Saad Chaudhary
57bb1abdeb
fix(web_form): row number column in child tables were showing the wrong title
* fix:Web Form Child Table: Incorrect title showing for 'row number' column #32331

* fix : code alignment with develop branch

* fix : code alignment with develop branch

---------

Co-authored-by: saadchaudhaary <saad@zirrusone.com>
2025-06-04 13:53:48 +05:30
mahsem
6e0f9b743c
fix: state_translatability (#32533) 2025-05-15 18:19:58 +05:30
flaviacastro
1bf0aaf8ee chore: add webform list empty state messages to load_translations 2025-04-28 19:44:38 -03:00
Marica
2a75c27d17
fix: Show authorized private attachments in web forms (#32177) 2025-04-25 14:21:41 +02:00
Corentin Forler
c0d332a9b0
fix(blog): Strip tags before truncating content for intro 2025-04-22 11:01:54 +02:00
Sagar Vora
83b6231f95 chore: add type hints to whitelisted endpoints 2025-04-21 15:25:55 +05:30
Sagar Vora
4729b9dbb2
Merge pull request #32213 from sagarvora/remove-clear-sitemap
chore: remove method that does nothing
2025-04-19 20:32:11 +05:30
Sagar Vora
b4e0914afe chore: remove method that does nothing 2025-04-19 20:22:02 +05:30
Sagar Vora
e08efc8a64 perf: use cached user and compile regex 2025-04-18 17:41:42 +05:30
sokumon
da1caec4a3 fix: add title if web form title is missing 2025-04-02 16:33:40 +05:30
Gavin D'souza
e9691a1b08
perf: Google Calendar
* Check if sync is enabled before refreshing token & shit - reduce
   deletion of event times like a 1000x
 * Use cached settings to avoid reading the same thing while operating
   on Events or Google Calendar syncs
2025-03-17 19:11:06 +01:00
Suhail
666f8da3dc
fix: return 1 or 0 instead of boolean for is_fc_site boot data (#31753) 2025-03-17 06:23:29 +00:00
Rucha Mahabal
85bcc372e7 fix: skip preloading bundled assets if http_status_code is 404
Co-authored-by: Suraj Shetty <surajshetty3416@gmail.com>
2025-03-15 15:27:03 +05:30
Marica
68f6f39a9e
Merge pull request #31633 from marination/web-form-translate-link-field
fix: Translate link fields in Webform
2025-03-13 15:46:37 +05:30
Ankush Menat
ba84768ba8
perf: Use cached redirects (#31698) 2025-03-13 13:50:26 +05:30
marination
943adecae3 fix: Translate names if "Translate Link Fields" is enabled 2025-03-11 19:57:53 +01:00
marination
42f977ef59 fix: Translate link fields in Webform 2025-03-10 18:07:27 +01:00
Suhail
5886234b53
refactor: sign up flow changes (#31205)
* fix: logout to site login page if the site is on Frappe Cloud

* fix: check if the site user is logged in before rendering trial banner

* fix: show dropdown even if the site is not on trial plan

* refactor: don't expose communication secret in boot

* feat: show install app button for fc sites

* fix: remove auth from desk

we can simplify it and let user do auth in fc

* fix: install app button condition

* refactor: use `is_fc_site` method

* fix: return boolean value for `is_fc_site` function

* fix: add install app button in /apps page

* fix: don't generate otp for login to fc

* fix: remove install app option from desk

* fix: design changes for trial banner

* fix: add more details to the `current_site_info` endpoint

also don't render trial banner if trial end date is passed

* fix: don't route user to welcome page

always put them on the site's dashboard

* fix: override base_url when needed

also remove misleading class

* fix: show banner to normal user to contact system admin for plan upgrade

* refactor: redirect from /login instead of every /logout code

* fix: rename login to fc to manage billing

also move it above the divider

* refactor: separate out site-login url from login.py
2025-03-03 16:36:15 +00:00
Ankush Menat
f90a450bd4
feat: specify row compression for tables (#31361)
Certain tables contain A LOT of duplicate data, it makes sense to enable
compressed row format on them by default. I've seen 5-10 fold reduction
in DB size after enabling compressed format on select few tables.

This has some performance overhead:
- both compressed and uncompressed pages live in buffer pool.
- compression/decompression

Note:
- These cons don't apply much on DocTypes I am enabling this for.
- I am not enabling this on existing sites, migration can take a long
  time! Do it manually with `transform-database` command if you want to.
2025-02-21 09:44:40 +05:30
Sagar Vora
6e20eed640 fix: redo some fixes to ensure cypress passes 2025-02-20 12:51:37 +05:30
Sagar Vora
c8e4be7f5d
Merge pull request #31322 from sagarvora/fix-use-decorator 2025-02-19 17:44:00 +05:30
Sagar Vora
60b889c3b8 fix: ensure correct context in sys.exc_info 2025-02-19 17:33:53 +05:30
Ankush Menat
4997e5d223
fix: clear cache after db transaction ends (#31315)
This reduces probability of stale cache, but it's still very easily
possible because of repeatable read (!)
2025-02-19 11:44:37 +00:00
Sagar Vora
d3bb578c2f fix: update type hints to allow integers 2025-02-19 12:31:12 +05:30
Sagar Vora
eded5eac24 fix: explicitly check type of form name 2025-02-19 12:17:31 +05:30
Sagar Vora
f4062b4d7a fix: ensure consistent error in response 2025-02-19 12:10:59 +05:30
Rushabh Mehta
e3b071dad7 fix(minor): Extract images from markdown as well 2025-02-03 17:03:46 +05:30
Akhil Narang
21ec09e4ef
fix(web_form): allow loading translations for more strings (#30931)
* Fix: Add more translation to web form

Fix that there is translation missing in frontend

* Fix missing translation context

* Adding left messages

* Fix typo

* Add even more missing translation

* chore: format

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

---------

Signed-off-by: Akhil Narang <me@akhilnarang.dev>
Co-authored-by: petnd <58605206+petnd@users.noreply.github.com>
2025-01-29 11:07:55 +00:00
Akhil Narang
b94edc9d21
Merge pull request #30912 from cogk/patch-3
fix(blog): Fix typo in search query
2025-01-29 11:18:35 +05:30
Akhil Narang
7ee8b17ca8
chore: format
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
2025-01-29 11:09:47 +05:30
Ankush Menat
2062a48ef8
fix: Respect no-cache header (#30921)
Browsers send this when user does ctrl+shift+r
2025-01-29 04:24:57 +00:00
Corentin Forler
cd68867535
fix(blog): Fix typo in search query 2025-01-28 17:03:14 +01:00
Ankush Menat
23694b6b3b
fix: Don't cache pages with query params (#30881)
This was always broken apparantly. Cache key only contains the path so
querystring is being ignored. If request has query params then we
shouldn't cache it.

WIP - better solution for caching based on cache headers. Anyway this
caching isn't THAT helpful since #29170
2025-01-27 06:22:43 +00:00
Ankush Menat
32054b0757 refactor: use response_headers to set cache control headers 2025-01-24 18:35:26 +05:30
Corentin Forler
53e86379fe
fix(website): Clear cached list of child top bar items (#29223) 2025-01-22 20:52:40 +05:30
Ankush Menat
cdffd5d047
refactor: use flat cache for web pages (#29220)
Web pages are not a hash.

This way we can also set expiry for each key. Setting default expiry of
30 minutes.
2025-01-17 12:02:50 +00:00
Ankush Menat
cfa4534757
perf: faster page view count queries (#29219) 2025-01-17 09:46:03 +00:00