Commit graph

922 commits

Author SHA1 Message Date
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
Soham Kulkarni
f4edb51d30
Merge pull request #32228 from sokumon/note-issue
fix(Note): make note show up only on login
2025-05-21 19:52:49 +05:30
Ankush Menat
e26ba5dfdd
perf: split maintenance tasks into separate queue (#32413)
* feat: Maintenance queues for scheduled jobs

* refactor: Move jobs to maintenance queues

* test: update tests
2025-05-06 17:10:49 +00:00
Soham Kulkarni
f841f77534
Merge branch 'develop' into eps-removal 2025-04-23 01:21:07 +05:30
sokumon
67c1d13f91 fix(Note): make note show up only on login 2025-04-21 17:58:18 +05:30
Revant Nandgaonkar
2a5506ebc3 fix: add OAuth Bearer Token to clearing doctype hook 2025-04-17 07:56:10 +00:00
sokumon
196f76028f fix: remove leaderboard and custom timeline handling 2025-04-17 00:26:57 +05:30
sokumon
a1fca6ab63 fix: remove energy points / social module 2025-04-17 00:26:57 +05:30