Commit graph

55463 commits

Author SHA1 Message Date
sokumon
767099268a fix: consider default workspace after login 2026-04-20 01:29:22 +05:30
AarDG10
a5118dcb9d fix(table): fix bulk paste in child tables 2026-04-19 22:10:42 +05:30
Hussain Nagaria
465aa38cba
Merge pull request #38608 from kaulith/fix/workspace-sidebar-empty-module-visibility 2026-04-19 19:39:35 +05:30
Hussain Nagaria
f1755daab9
Merge pull request #38536 from kaulith/fix/webform-hidden-mandatory-validation 2026-04-19 17:02:40 +05:30
Kaushal Shriwas
87b0824031 fix: skip hidden and mandatory check when allow_incomplete is set 2026-04-19 16:49:38 +05:30
MochaMind
343d55a4a7
fix: sync translations from crowdin (#38710)
* fix: French translations

* fix: Spanish translations

* fix: Arabic translations

* fix: Czech translations

* fix: Danish translations

* fix: Italian translations

* fix: Dutch translations

* fix: Polish translations

* fix: Portuguese translations

* fix: Slovenian translations

* fix: Turkish translations

* fix: Vietnamese translations

* fix: Portuguese, Brazilian translations

* fix: Indonesian translations

* fix: Persian translations

* fix: Burmese translations

* fix: Norwegian Bokmal translations
2026-04-19 01:26:25 +02:00
Ejaaz Khan
843e396b44
Merge pull request #38466 from kaulith/fix/role-profile-not-visible-in-user-list-view
fix: sync role_profile_name for user list view display
2026-04-18 23:50:11 +05:30
Ejaaz Khan
6ebe8e2b8d
Merge pull request #38658 from kaulith/feat/sidebar-notification-unread-count
feat: show unread notification count in sidebar
2026-04-18 23:49:09 +05:30
Ejaaz Khan
c6ae260f0d
Merge pull request #38708 from KerollesFathy/fix-allow-clearing-link-fields
fix(link): Allow clearing link fields
2026-04-18 23:44:47 +05:30
KerollesFathy
f84190685f fix(link): ensure clear button state is a boolean value 2026-04-18 14:33:56 +00:00
Kaushal Shriwas
4976b4554d chore: merge develop into feat/sidebar-notification-unread-count 2026-04-18 20:01:40 +05:30
Saqib Ansari
75bae453ac
fix(prepared_report): handle missing attachments in get_prepared_data method (#38449) 2026-04-18 19:28:41 +05:30
Kerolles Fathy
63b8d78075
Merge pull request #38703 from UmakanthKaspa/fix/link-clear-icon-align
fix: Align × and right arrow icons in link field
2026-04-18 15:49:08 +02:00
Saqib Ansari
d618a88f01 feat: derive concurrency limit from gunicorn master's cmdline
Co-authored-by: Copilot <copilot@github.com>
2026-04-18 15:37:14 +05:30
Saqib Ansari
4eafb38f98 test: rewrite concurrent_limit tests to test through public interface 2026-04-18 14:58:47 +05:30
Saqib Ansari
033d49b488 fix: add TTL to capacity key so pool self-heals after worker crash
If a gunicorn worker is killed (SIGKILL, OOM) while holding a token, the
token is never returned to the pool. With no TTL on the capacity key,
`setnx` would never fire again, so the pool shrinks permanently — with
`limit=3` you silently end up at `limit=2`, then `limit=1`, etc.

Set a 1-hour TTL (`_CAPACITY_KEY_TTL`) on the capacity key via the
`NX EX` form of SET in the Lua init script. When the key expires the next
request re-initializes the pool to full capacity, so the semaphore is
self-healing without manual Redis key deletion.
2026-04-18 14:26:17 +05:30
Saqib Ansari
8589f26ce9 fix: atomically initialize token pool via Lua script in _ensure_tokens
Replace the `setnx` + pipeline pair with a Lua script evaluated in a
single round-trip. The prior approach had a race window: between the
`SET NX` succeeding and the `MULTI/EXEC` pipeline running, a concurrent
worker could BLPOP from the list just before `DEL` wiped it — losing
tokens permanently. A process crash in that window left the capacity flag
set but the token list empty, breaking the semaphore with no recovery path.

The Lua script makes the check-and-initialize atomic: Redis executes it as
a single unit with no interleaving, so the race window is closed.
2026-04-18 14:25:30 +05:30
Saqib Ansari
e8c7eb946b refactor: rewrite concurrent_limit to use LIST + BLPOP semaphore
Replace the INCRBY-based polling loop with a proper token pool backed by
a Redis LIST. BLPOP blocks until a token is available instead of sleeping
and retrying, which is more efficient and avoids the check-then-act race
of the old counter approach.

Other fixes bundled in:
- Add `blpop` and `setnx` wrappers to `RedisWrapper` so all key prefixing
  goes through `make_key` consistently
- Cache `_default_limit()` result with `@redis_cache(shared=True)` to
  avoid importing `multiprocessing` on every request
- Fix `limit=0` edge case: use `is not None` guard instead of falsy check
- Guard `_release()` against pushing the `"fallback"` token back into the
  pool when Redis was unavailable during acquire
2026-04-18 14:21:33 +05:30
UmakanthKaspa
b1d7d480fd fix: align × and → icons in link field 2026-04-18 07:57:14 +00:00
Aarol D'Souza
11066591ed
Merge pull request #38643 from AarDG10/fix-page
fix(page): improve secure local resource access
2026-04-18 12:14:04 +05:30
Ejaaz Khan
13480db3fd
Merge pull request #36792 from aerele/fix/doctype-duplicate-auto-repeat
fix(doctype): disable allow_auto_repeat during duplication
2026-04-18 08:43:15 +05:30
Ejaaz Khan
031e032252
Merge pull request #38695 from UmakanthKaspa/fix/no-tag-filter
fix: no tags filter shows empty list
2026-04-18 08:38:30 +05:30
Ejaaz Khan
fe0e46b37c
Merge pull request #38689 from iamejaaz/ui-ux-improvement
feat: toggle awesomebar
2026-04-17 22:30:36 +05:30
UmakanthKaspa
5c3e6e6275 fix: no tags filter shows empty list 2026-04-17 19:55:05 +05:30
Ejaaz Khan
75a7267835 refactor: change help text shortcut 2026-04-17 18:02:04 +05:30
Ankush Menat
a96482b7b0
fix(DX): Allow db.commit from drop-down console (#38688)
This is anyways allowed, it's just extra friction at this point.

After using it for a while I feel we should allow it from drop-down
console too now.

It's risky, but hey, you're literally executing arbitrary code you just
wrote so I am trusting you.
2026-04-17 12:29:48 +00:00
Ejaaz Khan
002d58c53f feat: toggle awesomebar 2026-04-17 17:52:58 +05:30
Aarol D'Souza
c6d1a2362d
Merge pull request #38529 from AarDG10/fix-note
fix(note): force sanitization in notes
2026-04-17 17:00:49 +05:30
Shrihari Mahabal
181d01b88a
Merge pull request #38681 from ShrihariMahabal/print-pdf-text-escape
fix: escape text and long text fields when printing
2026-04-17 16:51:53 +05:30
Shrihari Mahabal
117c09e8d9 fix: escape text and long text fields when printing 2026-04-17 16:32:10 +05:30
diptanilsaha
37b05961c7
fix(security_settings): enabled track_changes and convert expires to UTC timezone (#38675)
* fix(security_settings): convert expires timestamp from system timezone to UTC

* fix(security_settings): enabled `track_changes` on `Security Settings` DocType
2026-04-17 14:29:28 +05:30
Soham Kulkarni
3418b221da
Merge pull request #38669 from sokumon/login-template 2026-04-17 13:07:49 +05:30
Ejaaz Khan
1280e3281d
Merge pull request #36606 from barredterra/web-hero
fix: move hero block inside content block
2026-04-17 12:53:02 +05:30
Ejaaz Khan
3359f8c41a
chore: update pypdf (#38670) 2026-04-17 12:50:47 +05:30
Dharanidharan2813
d6b5941c83 fix(doctype): disable allow_auto_repeat during duplication to prevent save failure 2026-04-17 12:44:03 +05:30
Shllokkk
44b5228598
feat: introduce standard and letter_head_for fields in letter head doctype (#38417)
* feat: introduce standard and letter_head_for fields in letter head doctype

* feat: introduce a module link field to letterhead doctype to support json creation

* feat: make Letter Head importable via sync

* test(Letter Head): fix the test_auto_image test case for letter head doctype

* fix: make module field depend on standard field value

* feat: introduce letter heads for standard reports

* fix: letter heads for non-standard reports

* fix: letter_head validation in report and letter head doctype edit access based on users

* fix: correct validation for standard letter head creation
2026-04-17 12:34:33 +05:30
sokumon
2df8959596 chore: update pypdf 2026-04-17 12:33:59 +05:30
mergify[bot]
6480613103
Merge branch 'develop' into web-hero 2026-04-17 06:55:08 +00:00
sokumon
7675fa782d fix(login): only show navbar when language picker is enabled 2026-04-17 12:18:50 +05:30
Ejaaz Khan
d6daefb3a3
Merge pull request #37736 from KerollesFathy/fix/date-picker-infinite-loop
fix: suppress change event during programmatic date set
2026-04-17 12:00:21 +05:30
Ejaaz Khan
05919d5d47
Merge pull request #37054 from aerele/feat/sidebar-hover-based-submenu
feat: add hover functionality for nested submenus in context menu
2026-04-17 11:33:16 +05:30
Ejaaz Khan
1b96aeaafb
chore: update stale closing date (#38666) 2026-04-17 10:18:46 +05:30
Ejaaz Khan
3040c4aa37
chore: update stale closing date 2026-04-17 10:09:05 +05:30
MochaMind
de4c53818a
fix: sync translations from crowdin (#38656)
* fix: French translations

* fix: Spanish translations

* fix: Arabic translations

* fix: Czech translations

* fix: Danish translations

* fix: German translations

* fix: Hungarian translations

* fix: Italian translations

* fix: Dutch translations

* fix: Polish translations

* fix: Portuguese translations

* fix: Russian translations

* fix: Slovenian translations

* fix: Turkish translations

* fix: Chinese Simplified translations

* fix: Vietnamese translations

* fix: Portuguese, Brazilian translations

* fix: Indonesian translations

* fix: Persian translations

* fix: Thai translations

* fix: Burmese translations

* fix: Norwegian Bokmal translations
2026-04-17 10:06:35 +05:30
Ejaaz Khan
8f4c8baabb
Merge pull request #38636 from KerollesFathy/translate-fraction-currency
fix: add translation context for fraction currency
2026-04-17 10:00:54 +05:30
Ejaaz Khan
911c5bed2a
Merge pull request #38657 from KerollesFathy/validate-private-custom-html-block
fix(CustomHTMLBlock): validate private field in server-side
2026-04-17 09:59:55 +05:30
Ejaaz Khan
93274a6ec5
Merge pull request #38653 from kaulith/fix/notification-badge-on-sidebar
fix(ui): properly align notification indicator on sidebar badge
2026-04-17 09:58:52 +05:30
Raffael Meyer
bab7a830df
chore: update translations (#38662) 2026-04-16 23:20:58 +00:00
Kaushal Shriwas
1f5632fedb fix: fade notification indicator on sidebar hover 2026-04-17 00:43:19 +05:30
Kaushal Shriwas
7572e6fe45 feat: add aria-label to sidebar notification count 2026-04-17 00:22:33 +05:30