Commit graph

929 commits

Author SHA1 Message Date
RitvikSardana
5168c52ebe
refactor: add queue for indexing docs in sqlite search (#37840) 2026-03-10 16:03:27 +05:30
sokumon
7933a201dd fix: move logout from user avatar to sidebar dropdown 2026-03-05 10:58:57 +05:30
Clayton
2aaf66a420
fix: remove banner image field (#37217)
* fix: remove banner image field

* fix: remove from user doctype only

* fix: migration

* fix: remove patch
2026-02-20 15:16:28 +05:30
Aarol D'Souza
68727cbd61
fix: add type hints to whitelisted methods 4 (#37204)
* fix(utils): add type hints to whitelisted methods

* fix(desktop): add type hints to whitelisted methods

* fix(listview): add type hints to whitelisted methods

* fix(access_log): add type hints to whitelisted methods

* fix(setup_wizard): add type hints to whitelisted methods

* fix(notification_settings): add type hints to whitelisted methods

* fix(calendar): add type hints to whitelisted methods

* fix(notifications): add type hints to whitelisted methods

* fix(query_report): add type hints to whitelisted methods

* fix(load): add type hints to whitelisted methods

* fix(save): add type hints to whitelisted methods

* fix(user): add type hints to whitelisted methods

* fix: correct Document import

* fix(list_view_settings): add type hints to whitelisted methods

* fix(reportview): add type hints to whitelisted methods

* fix(treeview): add type hints to whitelisted methods

* fix(linked_with): add type hints to whitelisted methods

* fix(bulk_update): add type hints to whitelisted methods

* fix(assign_to): add type hints to whitelisted methods

* fix(workspace): add type hints to whitelisted methods

* fix(kanban_board): add type hints to whitelisted methods

* fix(event): add type hints to whitelisted methods

* fix(email): add type hints to whitelisted methods

* fix(exporter): add type hints to whitelisted methods

* fix(permission_manager): add type hints to whitelisted methods

* fix(dashboard_chart): add type hints to whitelisted methods

* fix(number_card): add type hints to whitelisted methods

* fix(tag): add type hints to whitelisted methods

* fix: add hook to force type hints on all whitelisted endpoints

* fix: target_doc can be dict/json string

* fix: doc can be dict/json string

* fix(tests): add type hints to whitelisted methods in test

* fix: tree method is optional

* test: Fix test api types

* chore: drop dead code

* fix: document can be int

* fix: Number card input can be document

As utils in some other API calls

* fix: Always use session user

The only usage of this API that makes sense.

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Ankush Menat <ankush@frappe.io>
2026-02-20 14:53:08 +05:30
sokumon
c1585018d6 refactor: billing components 2026-02-19 13:08:12 +05:30
Ritvik Sardana
6f88468d68 refactor: resumable indexing without max_runtime 2026-02-06 15:05:52 +05:30
diptanilsaha
ed48aa9b60 chore(hooks): develop_version bump 2026-01-15 15:15:22 +05:30
Saqib Ansari
ee7c91599d refactor: telemetry with posthog and pulse providers 2026-01-03 16:21:49 +05:30
sokumon
9327732b4c fix: move dropdown options to sidebar dropdown 2025-12-30 17:58:00 +05:30
Saqib Ansari
036c6d3459 refactor: move lucide icons.svg to icons/lucide folder 2025-12-23 14:11:53 +05:30
sokumon
bb081a16ce feat: generate desktop icon using the first letter of the label 2025-12-23 12:34:06 +05:30
sokumon
dd2dc053ca chore: more renames to /desk 2025-12-18 20:45:04 +05:30
Ejaaz Khan
5386cba461
Merge pull request #35126 from iamejaaz/new-navbar-design
feat: new navbar design
2025-12-10 11:27:01 +05:30
Ejaaz Khan
6a45fde134 feat: show title text on breadcrumb 2025-12-09 16:13:31 +05:30
sokumon
17de031475 fix: use forward_query_parameters instead 2025-12-08 11:54:18 +05:30
sokumon
d038cdec5c fix: redirect with query 2025-12-08 11:26:00 +05:30
sokumon
34b221d097 fix: delete sidebars when app is deleted 2025-12-02 13:50:29 +05:30
Akhil Narang
f13ba0bc38
Merge pull request #34786 from phot0n/del-def-log
fix: consider default_log_clearing_doctypes as well for clear_log_table
2025-11-21 17:05:12 +05:30
phot0n
a316f288df chore: add Email Queue Recipient as a dummy placeholder in default_log_clearing_doctypes 2025-11-21 15:32:11 +05:30
sokumon
6b3fe39a1a fix: add a seperate redirect for app to desk 2025-11-21 12:58:22 +05:30
sokumon
63a29b8536 fix: add correct redirects 2025-11-20 11:26:02 +05:30
sokumon
a0edd3e3f2 fix: delete desktop icons when app is uninstalled 2025-11-19 12:30:15 +05:30
sokumon
a0caf8e320 refactor: add auto-creation of icons 2025-11-14 23:05:14 +05:30
sokumon
86db71f8fa feat: move /app to /desk 2025-11-14 23:05:13 +05:30
sokumon
f6819fa6e9 chore: added a icons file from lucide static 2025-11-14 23:05:12 +05:30
sokumon
7cdfb60797 feat: desktop screen wth new design 2025-11-14 23:05:11 +05:30
sokumon
1e1455d373 refactor: move desktop inside desk 2025-11-14 23:05:10 +05:30
sokumon
b4f5a63ebd fix: allow /desktop 2025-11-14 23:05:10 +05:30
Ejaaz Khan
964dd6c034 feat: Chrome PDF generator
Co-authored-by: maharshivpatel <maharshivpatel@users.noreply.github.com>
2025-09-29 12:15:51 +05:30
Saqib Ansari
391f08e63b
feat: active app telemetry (#33755) 2025-09-17 17:30:06 +05:30
Rahul Agrawal
c52e5157b4
feat: allow users to export report in background (#33861)
* feat: allow users to email prepared report

* fix: add export in background checkbox in export dialog

* chore: use a common function to send report email

* feat: delete generated files from system after user defined duration

* feat: add exported reports in a folder and periodically clean it

* test: add test for export via report

* fix: add exported folder path as constant

* chore: un-edit report.json

* refactor: for readability

* chore: type hint

* refactor: let the BG job fail if email fails

* refactor: consistent `report_name`

* it reads better now, e.g. attached_to_name=report_name instead of attached_to_name=title

* refactor: `return_file` to its inverse `populate_response`

* chore: more specific error message

---------

Co-authored-by: Rahul Agrawal <deathstarconsole@Rahuls-MacBook-Air.local>
Co-authored-by: Hussain Nagaria <hussainbhaitech@gmail.com>
2025-09-05 14:34:55 +00:00
Saqib Ansari
6ebe7fc26e refactor: pulse client 2025-08-30 20:11:57 +05:30
Saqib Ansari
7f0765fc9e refactor: rename app_activity to app_heartbeat 2025-08-30 13:31:01 +05:30
Elton Lobo
d930335161
fix: role based invite restriction (#33806)
* refactor(user-invitation): validate invite role based on user's roles

* refactor(user-invitation): start error msgs with a capital letter

* docs(user-invitation): update the hooks structure
2025-08-28 12:02:54 +05:30
Saqib Ansari
cf884f2b7b chore: fix formatting 2025-08-22 19:04:55 +05:30
Saqib Ansari
9699bca095 feat: active app telemetry 2025-08-22 18:38:55 +05:30
Faris Ansari
2676c9c2ec
feat: SQLite FTS5 search framework for Frappe apps (#33359)
- Abstract SQLiteSearch base class with full-text search
- Spelling correction, recency boosting, and custom scoring
- Supports search filtering and configurable document indexing
- hooks for auto-indexing
  - build index after migrate
  - build index (if not exists) every 15 mins
  - update doc index on_update
  - remove doc index on_trash
2025-07-29 11:18:56 +05:30
Elton Lobo
6d1008933f
feat: add user invitation doctype & related public methods (#33308)
* feat: add user invitation doctype & related public methods

* style(user-invitation): execute formatters & add semgrep comments

* refactor(user-invitation): use `is` to compare `None` values

* fix(user-invitation): skip fetching `after_accept` for default app

* fix(user-invitation): translate email templates

* fix(user-invitaton): return pending invites from invite by email api

* refactor(user-invitation): improve code quality

* fix(user-invitation): translate all error messages

* refactor(user-invitation): improve security & readability

Improvements:
- move invite expiration check to `daily_maintenance`
- explicitly import all of the used packages
- specify methods for all security-critical endpoints
- improve error messages and give them suitable titles
- remove unnecessary utility functions
- make invitation key management secure
- translate all of the subjects of the sent emails
- use the `app_title` hook to create email titles
- commit the work done after each iteration of the background invitation
  expiry checker
- restructure code to improve readability
- use `user.reset_password` to generate the target link
- use clear long names to name identifiers
- add document states with relevant colors (User Invitation doctype)
- differ `sendmail` emails whenever possible
- send an email to the invitation creator instead of the invitee after
  the invite has expired
- remove `User Invitation Manager` role

* fix(user-invitation): use valid emails to test doctype & related code

* feat(user-invitation): support adding multiple roles

* refactor(user-invitation): mark relevant fields `set only once`

* feat(user-invitation): add `Cancelled` status

* test(user-invitation): correct broken tests

* test(user-invitation): form valid f-strings & run code formatter

* feat(user-invitation): make doctype usable from desk

* fix(user-invitation): remove delete permission from invitation doctype

* feat(user-invitation): pass user inserted info to `after_accept` hook

* refactor(user-invitation): improve custom action methods & errors

Improvements:
- trigger actions only when the invitation is in the `Pending` state
- use lowercase letters to start error messages
- handle cases where `user_invitation_hook` is not defined

* refactor(user-invitation): remove site name from email templates

* docs(user-invitation): add internal documentation

* feat(user-invitation): add 'get pending' & cancel invites apis

* fix(user-invitation): make invitation app specific

* refactor(user-invitation): avoid mixing function programming

* fix(user-invitation): make apis usable for app specific valid users

* fix(user-invitation): allow app specific invites

* feat(user-invitation): make list view & permission checks app specific

* refactor(user-invitation): convert class methods to static when possible

* feat(user-invitation): add `app_only_for` method to the doc

* fix(user-invitation): f-string syntax error in `get_permission_query_conditions`

* docs(user-invitation): add examples & improve the internal doc

* refactor: rename method name

static_ is unnecessary
only_for doesn't make sense in this context when arguments are not roles

* fix: Support POST request too

We dont follow REST semantics 100%, anything that modifies something
should ideally be doable with POST too.

* chore: cap

* fix: Avoid ignore_permissions as user arg

---------

Co-authored-by: Ankush Menat <ankush@frappe.io>
2025-07-28 16:25:53 +05:30
Soham Kulkarni
64db88228f
refactor: seperate blogs into a seperate app (#32737)
* fix: remove doctypes,workspace blocks, files

* fix: minor python tests and UI tests

* fix: remove blog post from tests

* fix: remove blogger as role for tests

* fix: add check for if doctype exists

* fix: ui test

* fix: more cleanup

* fix: cleanup comments and fix test_query

* fix: resolve conflicts

* fix: add warning and handle comments
2025-07-28 14:35:02 +05:30
Soham Kulkarni
db5433a98d
Merge pull request #33323 from sokumon/email-queue-sending-issue
fix: dont let email queue stay in Sending status
2025-07-15 19:03:06 +05:30
Ankush Menat
ef30873fe8
chore: update title in hooks.py (#33341) 2025-07-15 18:55:38 +05:30
sokumon
74b4acacd4 fix: better name for the retry job 2025-07-14 18:30:37 +05:30
sokumon
2bbf72061c fix: dont let email queue stay in Sending status 2025-07-14 18:10:43 +05:30
18alantom
db4a7504e5
fix: add hooks to handle cors 2025-07-04 13:18:43 +05:30
18alantom
4cd8115c4c
refactor: unify how .well-known routes are handled 2025-07-02 15:17:42 +05:30
sokumon
39c554d100 fix: more cleanup 2025-06-27 02:34:29 +05:30
sokumon
793bd6387f fix: global search text, remove hooks 2025-06-18 16:23:36 +05:30
sokumon
422995cd45 fix: seperate backup options into app 2025-06-14 23:59:22 +05:30
Akhil Narang
1a3602f715
feat: add in a doctype to optionally track API Requests (#32622) 2025-06-06 13:22:25 +05:30
Ankush Menat
f17658c4c6
fix: Sample link counts and flush frequently (#32713)
We recently applied limit on how many links can be buffered. That
pretty much "samples" only records created at start of the hour.

This change makes it flush 4x frequently and samples 10% of input to
reduce updates. Again, statistically this serves same purpose.
2025-05-29 12:18:28 +05:30