Commit graph

818 commits

Author SHA1 Message Date
Akhil Narang
64b63d5969
fix(sentry): don't set context if not enabled
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
2023-12-27 11:38:01 +05:30
Akhil Narang
067104ca9c
refactor(sentry): sync up with FC implementation
Co-authored-by: Aditya Hase <aditya@adityahase.com>
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
2023-12-26 12:30:10 +05:30
Ankush Menat
52686f79cb refactor: code cleanup
- better boot config name
- send sentry after - because frappe namespce doesn't exist if it starts
  first
- remove import in app.py because __init__ is always imported so no
  need.
- leave telemetry JS always present, this is used even when telemetry is
  not enabled.
2023-11-30 17:40:53 +05:30
Akhil Narang
9a0a5468c5 feat: setup sentry integration
Inspired primarily from sentry's generic WSGI integration

Environment variable `FRAPPE_SENTRY_DSN` needs to be enabled as well
as explicit opt-in from the user's side in system sid telemetry
settings

Conditionally include telemetry JS bundles

Signed-off-by: Akhil Narang <me@akhilnarang.dev>
2023-11-30 17:13:41 +05:30
Ankush Menat
a7137bdeaa feat: client side error reporting + sentry
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
2023-11-30 17:13:41 +05:30
Ankush Menat
c23771475c
refactor: Use hooks to specify default log clearing (#23507) 2023-11-30 13:06:29 +05:30
Raffael Meyer
f0155674a5
refactor!: remove redundant sending of translations (#22962)
* chore!: remove redundant translation

* refactor!: remove "get_translated_dict" hook

Instead, include the results from
`frappe.geo.country_info.get_translated_dict` in `get_all_translations`.

* test: money_in_words uses translated currency

... and now we have translations.

* Revert "test: money_in_words uses translated currency"

This reverts commit e07d594ac1ce4b120c0fceb5d23377cb981fe820.

* refactor!: stop translating timezone and currency

* refactor: rename `get_translated_dict`

... to `get_translated_countries`
2023-11-02 20:04:14 +05:30
Ankush Menat
287e13522c
fix: ignore workspace links on delete (#22895)
These can be manually modified later. It's not important to completely
block and prevent deletion.
2023-10-25 07:05:37 +00:00
Ankush Menat
db3e4c9cfc
fix: Check if note has permission (#22750) 2023-10-16 16:43:47 +05:30
barredterra
ed2290d1d6 Merge branch 'develop' into feat/improve-openid-connect-devx 2023-10-07 15:22:59 +02:00
Ankush Menat
d7a9d0111c
perf: lazy load SVG icons (#22517)
| Metric                             | Before | After | Change    |
| ---                                | ---    | ---   | ---       |
| app.html first response size       | 421kb  | 106kb | -75% (!)  |
| First response duration            | 60ms   | 40ms  | -33%      |

huge thanks to @cogk for doing most of the work for this PR on this issue: https://github.com/frappe/frappe/issues/17449#issuecomment-1728328726

Co-authored-by: Corentin Flr <10946971+cogk@users.noreply.github.com>
2023-09-23 15:13:43 +05:30
Ankush Menat
8635daf425
fix: duplicate icons (#22516) 2023-09-23 12:51:20 +05:30
Ankush Menat
59d1eefa61 refactor: move unhandled email to log settings 2023-09-23 11:23:53 +05:30
Corentin Flr
41d30e7213
feat: Add custom icons with the app_include_icons hook (#22254)
* feat: Add custom icons with the `app_include_icons` hook

These custom icons are available on the desk only. They can be picked in the `ControlIcon` picker.

Co-authored-by: Abraham Kalungi <85731451+kalungia@users.noreply.github.com>

* fix: skip conf for including icons

* test: Fix test_include_icons

---------

Co-authored-by: Abraham Kalungi <85731451+kalungia@users.noreply.github.com>
Co-authored-by: Ankush Menat <ankushmenat@gmail.com>
2023-09-20 20:23:17 +05:30
David Arnold
64a09be958
Merge branch 'develop' into feat/improve-openid-connect-devx 2023-09-16 09:58:53 +02:00
David Arnold
5e7ff1c81d
fix: add well-known openid-configuration redirect 2023-09-16 09:52:45 +02:00
Ankush Menat
530c47ffe5
feat: after_response callback manager (#22398)
* feat: `after_response` callback manager

* perf: defer closing DB connection

* refactor: simplify after response hooks

* wip

* example usage

---------

Co-authored-by: Sagar Vora <sagar@resilient.tech>

* fix: Log request end if not already

---------

Co-authored-by: Sagar Vora <sagar@resilient.tech>
2023-09-14 10:56:08 +00:00
Ankush Menat
8176b86b25 fix: notification_settings has_permission hooks 2023-08-29 13:26:48 +05:30
barredterra
68d984dbb2 fix(Assignment Rule): run on additional events
- on_cancel
- on_update_after_submit
2023-08-17 13:10:03 +02:00
barredterra
63aded91f9 Revert "fix: run assignment rule on change"
This reverts commit 88cbba5f21.
2023-08-17 13:02:41 +02:00
barredterra
88cbba5f21 fix: run assignment rule on change 2023-08-15 14:01:40 +02:00
Ankush Menat
16aa414fda fix: flush telemetry before ending background job 2023-08-12 12:13:59 +05:30
Ankush Menat
0bc5d1dc3b feat(DX): type annotated python controllers 2023-07-24 15:32:46 +05:30
Deepesh Garg
e38078a69f
test: Patch hooks for testing (#21702)
* test: Patch hooks for testing

* test: hooks patcher

---------

Co-authored-by: Ankush Menat <ankush@frappe.io>
2023-07-17 12:41:27 +05:30
Ankush Menat
8f552b8fe2
Merge pull request #21695 from ankush/perf/desk_requests
perf(desk): reduce unnecessary requests on first load
2023-07-16 13:06:16 +05:30
Deepesh Garg
e32e74f2f1
feat: Custom naming series parser via hooks (#21690)
* feat: Custom naming series parser via hooks

* chore: use assignment operatot

Co-authored-by: Ankush Menat <ankushmenat@gmail.com>

* test: Unit test for custom parser

* test: Unit test for custom parser

---------

Co-authored-by: Ankush Menat <ankushmenat@gmail.com>
2023-07-16 12:57:40 +05:30
Ankush Menat
b919618032 perf: eliminate request for user permissions
This is ALWAYS required, then it can just be part of boot. Eliminates 1
unnecessary request.
2023-07-16 12:43:43 +05:30
Ankush Menat
2e8ea02028 fix: Expire stalled reports
Mark any report that take more than 60 minutes as failed
2023-07-01 18:27:25 +05:30
Ankush Menat
b9f000e1f9 refactor!: Log 5xx error to error log instead of error snapshot
Also move log_error function to right location
2023-06-28 10:59:19 +05:30
Suraj Shetty
0334e91db7
Merge branch 'develop' into file-permissions 2023-06-14 15:42:49 +05:30
Ankush Menat
4bf1139427 chore: remove get_shade usage
This function doesn't do anything
2023-06-13 16:00:43 +05:30
phot0n
1f8598891e fix: remove infinite sending retries for certain exceptions for email queue
* chore: remove expired status & set_expiry job from email queue
2023-06-09 14:38:55 +05:30
Raffael Meyer
01d8a4ab28
Merge branch 'develop' into file-permissions 2023-06-08 18:21:23 +02:00
Ankush Menat
af3213a445
fix: offset log cleanup to avoid deadlocks (#21105)
- Email queue is cleared at midnight
- Another worker at same time might be email Email

This causes random failures almost daily
2023-05-24 18:13:16 +05:30
Marica
3d02db7c1e
Merge branch 'develop' into file-permissions 2023-05-22 12:53:22 +05:30
Suraj Shetty
bd737d3616
Merge branch 'develop' into fix-note-2 2023-05-16 07:53:15 +05:30
Shadrak Gurupnor
d9b2d23ec3
feat: track skipped patch with traceback (#20931)
* feat: track skipped patch with traceback

* fix: dump all the patches in patch log

* fix: check non-skipped patches

* fix: print traceback if failed && reload patch_log before migrate

* chore: dont force patch log reload

* chore: remove unnecessary checks

---------

Co-authored-by: Ankush Menat <ankushmenat@gmail.com>
2023-05-10 18:44:40 +05:30
barredterra
2ef5e6bd1d fix: file permissions 2023-05-02 17:40:09 +02:00
Ankush Menat
87a88195ec feat: telemetry using posthog 2023-04-25 10:33:28 +05:30
barredterra
bc287ab857 feat: permission query for Note 2023-04-24 16:18:38 +02:00
barredterra
150d677a28 Merge remote-tracking branch 'upstream/develop' into fix-note-2 2023-04-24 15:55:02 +02:00
Maharshi Patel
1bae6a2b0b
feat: hooks added for print formats / pdf. (#20734) 2023-04-17 19:03:53 +05:30
Suraj Shetty
3028918f98
Merge branch 'develop' into fix-note-2 2023-04-17 13:19:48 +05:30
Ritwik Puri
ac351166b2
fix: pull from email account every 10 mins instead of 4 mins (by default) (#20675) 2023-04-13 12:36:14 +05:30
Raffael Meyer
b84ab9de87
Merge branch 'develop' into fix-note-2 2023-02-24 12:13:58 +01:00
Ankush Menat
34beb65009
fix: link webhook logs with webhook document (#20155) 2023-02-24 16:30:29 +05:30
Ankush Menat
e7f604ef48 refactor: rename DocReminder -> Reminder 2023-02-24 13:47:58 +05:30
Ankush Menat
73cd823a0a feat: Document Reminders
There is `Notification` doctype but it doesn't work so well for small
one-off reminders. Imagine these scenarios:

1. Remind me to follow up on this lead in 5 days.
2. Remind me to revoke temporary access I am giving to this user.

For such scenarios, I am proposing a simple reminder system built into
framework. All it does is:

1. For any document you can set a reminder with time and message.
2. When time comes you'll get a system notification with message and
   link to the document.

Permissions:
1. Users can only see their own set reminders.
2023-02-24 12:40:54 +05:30
Raffael Meyer
97dde45067
Merge branch 'develop' into fix-note-2 2023-02-17 11:04:26 +01:00
Gavin D'souza
fe26c542b7 refactor: Move before/after tasks as hooks
Moved before/after tasks in Requests as hooks for:
- monitor
- rate_limiter
- recorder

Moved before/after tasks in Jobs as hooks for:
- monitor
- releasing document locks
2023-02-15 15:30:02 +05:30