Commit graph

48554 commits

Author SHA1 Message Date
Akhil Narang
a8f986e89f
Merge pull request #29766 from frappe/pot_develop_2025-01-19
chore: update POT file
2025-01-20 10:39:55 +05:30
Akhil Narang
6a4f4e7b39
Merge pull request #29189 from mahsem/datepicker_bosnian
feat: datepicker_bosnian_croatian
2025-01-20 10:37:20 +05:30
frappe-pr-bot
db8383d574 chore: update POT file 2025-01-19 09:33:11 +00:00
Sumit Bhanushali
33e855a578
Merge pull request #29227 from frappe/f-16
fix(NamingPatch): convert numerics to str for regex match
2025-01-18 14:59:26 +05:30
Sumit Bhanushali
6e488f8e3b fix(NamingPatch): convert numerics to str for regex match 2025-01-18 14:49:33 +05:30
Ankush Menat
320798d390
perf: add cache-control headers on private files (#29221)
* perf: add cache-control headers on private files

- Client(browser) side cache
- 1 hr expiry
- 1 day revalidation
- etagged by nginx in default config (so no data transfer on expiry still)

In conjunction with https://github.com/frappe/agent/pull/157

* fix: Don't override existing headers
2025-01-17 18:51:34 +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
Ankush Menat
800ff70af1
perf: Do not set same cookies on every request (#29218) 2025-01-17 09:20:32 +00:00
Ankush Menat
bef7393753
fix: Update sessions in cache after a miss (#29217)
Err how was this missed? After starting fresh session for first 19
minutes it doesn't seem to go to cache.
2025-01-17 08:54:35 +00:00
Ankush Menat
110e6225fc
perf: speedup sessions code (#29076)
* refactor: simplify user IP validation code

The comment suggests this way of doing it has some perf benefit, it does not.

Just fetch the entire cached doc.

* perf: remove duplicate language resolution

WHY???

* perf: avoid fetching system settings for ip-validated users

get_system_settings is client-cached

* perf: perform easier checks first

No need to fetch system settings if IP address is already matching.
2025-01-17 13:53:49 +05:30
Ankush Menat
6ad61d6a82
test: avoid possible flake in OTP tests (#29214)
Since we use TOTP the token can expire between the time we generate and
the verification code runs.
2025-01-17 07:32:17 +00:00
Ankush Menat
daa52b8802
build!: Drop maxmind IP database (#29213)
1. It's severly outdated and free version isn't that accurate to begin
   with.
2. I replaced country detection using timezone a long time ago: c8ec528aa7/frappe/desk/page/setup_wizard/setup_wizard.js (L664-L676)

This is good enough for setup wizard for most popular countries. Use
IP-API if you need better guarantees (we have a license).
2025-01-17 12:03:09 +05:30
Ankush Menat
4e4972fe2d
refactor: Use @cached_property (#29212) 2025-01-17 06:09:05 +00:00
Ankush Menat
c8ec528aa7
Merge pull request #29196 from ankush/fix/meta_mutation
fix: Don't assume homogenous data in meta tables
2025-01-16 20:41:02 +05:30
Maharshi Patel
6a861fc3c8
chore: added ipv6 to hosts file (#29199)
macos takes 5-10 second on dns when *.local is used unless ipv6 is added to hosts file.

source: https://stackoverflow.com/questions/10064581/how-can-i-eliminate-slow-resolving-loading-of-localhost-virtualhost-a-2-3-secon/17982964#17982964

Adding this even though it's edge case because i spent few days debugging something else to make it faster.

Co-authored-by: Maharshi Patel <maharshipatel@Maharshis-MacBook-Pro.local>
2025-01-16 19:23:32 +05:30
Ankush Menat
e6bad301b8 refactor: Use @cached_property instead of implmenting it 2025-01-16 19:19:56 +05:30
Ankush Menat
b3859d9fa3 fix: Don't assume homogeneous data in meta tables
Steps to reproduce:
- enable developer mode (doesn't happen in prod)
- Save a document with set only once fields
- Reload the page (requests meta again which is now polluted)

This is new category of bug surfaced because meta objects now live
longer than request and all kinds of weird `self._cached_property`
starts getting serialized.

Co-Authored-By: ruthra kumar <ruthra@erpnext.com>
2025-01-16 19:10:16 +05:30
Suraj Shetty
9a1eab7512
Merge pull request #29142 from iamejaaz/child-table-ui-29106 2025-01-16 16:19:06 +05:30
Ejaaz Khan
98be3f46f3 refactor: change height and add condition on prevent default 2025-01-16 15:58:25 +05:30
Ankush Menat
430c0c7c7a
fix(DX): Log all exceptions in developer mode (#29195)
ALL exceptions - even validation errors. This is excessive logging but
in development mode it should be fine and even helpful in debugging few
issues.
2025-01-16 15:50:56 +05:30
Ankush Menat
9c2bd23606
fix: don't override setstate (#29194)
Meta sometimes break because of this, I don't quite know why but this
change isn't that useful, so best to revert it for now.
2025-01-16 15:50:47 +05:30
Ejaaz Khan
fc9c75de2c feat: enhance horizontal scrolling in child table 2025-01-16 14:50:50 +05:30
Raffael Meyer
9307ee8886
fix(Contact): export company name and department in vCard (#29190) 2025-01-15 14:16:03 +00:00
mahsem
e98d410136
feat: datepicker_croatian 2025-01-15 14:59:43 +01:00
mahsem
b1211c554f
feat: datepicker_bosnian 2025-01-15 14:41:07 +01:00
Ankush Menat
4116a33560
perf: speed up oauth bearer token query (#29184)
* perf: index user and make not_nullable

* refactor: simpler expiry setting

* perf: don't fetch all tokens
2025-01-15 13:24:46 +00:00
Ankush Menat
5874d6bf12
perf: Add prefix index for file_url (#29185)
Currently it's full table scan, that too on a TEXT field filter.

It's used for finding file docs when `fid` isn't specified. No idea
where we are STILL having private file URLs without fids.

In any case, this is still required.
2025-01-15 13:03:24 +00:00
Akhil Narang
638b118875
Merge pull request #29123 from akhilnarang/escape-path
fix(not_permitted_page): escape path
2025-01-15 16:45:13 +05:30
Ankush Menat
d219353877
fix: edge case for redirects on / (#29180)
Because all slashes are stripped this endpoint becomes `""` which is not
a valid key for redis hash.
2025-01-15 09:05:19 +00:00
Ankush Menat
584727f5e7
perf: negative website redirect caching (#29179) 2025-01-15 14:21:56 +05:30
Shariq Ansari
d6386e6e06
Merge pull request #28767 from frappe/remove-billing-pages 2025-01-15 13:21:32 +05:30
Bread Genie
0e61d4e84e fix: don't add login to fc option in dropdown
for now
2025-01-15 12:53:13 +05:30
Ejaaz Khan
3675a5416d refactor: move scrollbar to the bottom of the table 2025-01-15 12:49:56 +05:30
Akhil Narang
ad0e4e25f5
Merge pull request #29172 from akhilnarang/strip-html-user-name
fix(user): strip html tags from user name
2025-01-15 12:29:58 +05:30
Akhil Narang
5b9fde293e
Merge pull request #29171 from akhilnarang/strip-html-activity-log
fix(activity_log): strip html from full name before inserting
2025-01-15 12:29:39 +05:30
Ankush Menat
8d780d7245
Merge pull request #29170 from ankush/perf/jenv
perf: persistent jenv, ~7x faster `/login`
2025-01-15 12:17:26 +05:30
Ankush Menat
ba6e3f6cd1 test: igore edge case of invalid strings
We parse them as None instead of 1-1-1 etc
2025-01-15 12:07:06 +05:30
Akhil Narang
89c945f902
fix(user): strip html tags from user name
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
2025-01-15 11:54:09 +05:30
Ankush Menat
9ebfea1d08 perf: avoid duplicate template caching 2025-01-15 11:53:00 +05:30
Ankush Menat
829062b1e3 fix: make shared jenv thread-safe
A new copy is created for each request, but cache is shared.
2025-01-15 11:53:00 +05:30
Ankush Menat
2c2ec13874 perf: reuse jenv across requests 2025-01-15 11:53:00 +05:30
Ankush Menat
b2ff5e6125 perf: use cached navbar 2025-01-15 11:53:00 +05:30
Akhil Narang
b87e0a874f
fix(activity_log): strip html from full name before inserting
People can pass in HTML in the login page, it gets rendered here

Signed-off-by: Akhil Narang <me@akhilnarang.dev>
2025-01-15 11:46:51 +05:30
Akhil Narang
8b631dc0ed
Merge pull request #29156 from akhilnarang/partial-revert-26183
fix(csvutils): drop sniffer code
2025-01-15 11:20:18 +05:30
Akhil Narang
e5a3802dc5
feat(csvutils): make sniffer usage optional
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
2025-01-15 10:58:41 +05:30
Ankush Menat
9fac1a06f6
Merge pull request #29159 from ankush/perf/faster_render
perf: ~3x faster `/app` loading
2025-01-15 09:47:08 +05:30
Frappe PR Bot
116f23c4e1
fix: sync translations from crowdin (#29120) 2025-01-14 23:24:22 +01:00
mahsem
2e3b6c9031
feat: datepicker_swedish (#29161) 2025-01-14 23:02:24 +01:00
Raffael Meyer
3b7df82a80
chore: remove unused method (#29163) 2025-01-14 21:39:09 +00:00