- disable session tracking - This causes sentry to phone home on every load, we don't need this (yet)
- disable automatic integrtaions (like redis)
- disable all default integration and cherry-pick what's required
- 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.
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>
These are prone to breakage and shouldn't be deleted automatically.
This mostly works fine but there can be cases where it doesn't. So best to leave them untouched.
Related: https://github.com/frappe/frappe/issues/23475
Likely caused by: https://github.com/frappe/frappe/pull/22110
Because run_doc_method passes doc from client to server side, we end up
setting values for what is a "virtual field", this is why it finds some
value and not re-evaluate it.
IMO there are only mild breaking ways of fixing this:
1. Virtual fields should always be computed.
2. Virtual fields should not be set when init-ing the arguement. (e.g. from doc.set APIs )
* fix: switch google drive picker to gis
* fix: switch google drive picker to gis (linting)
* fix: switch google drive picker to gis (prettier)
* fix: remove restrictions on file types
Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com>
* fix: show navigator
Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com>
* fix: no multiselect for files
Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com>
* refactor: get rid of jquery
* fix: don't add script twice
* refactor: remove unused properties
* refactor: store access token in one place only
* refactor: make tokenClient a local constant
* fix: set locale
* refactor: async calls
* fix: don't store access token
It's one-time use anyway.
* fix: scope for allowing file upload
* reafctor: rename libsLoaded() to autthenticate()
---------
Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com>
### Changes Made
- remove cache in `frappe.flags` (and related comment)
- use cache generator
- ⚠️ micro optimisation: use a variable for `frappe.flags`
router.js:373 Uncaught (in promise) TypeError: Converting circular structure to JSON
--> starting at object with constructor 'frappe.ui.form.Form'
| property 'grids' -> object with constructor 'Array'
| index 0 -> object with constructor 'frappe.ui.form.ControlTable'
--- property 'frm' closes the circle
at JSON.stringify (<anonymous>)
at router.js:373:65
at Array.map (<anonymous>)
at Promise.finally.frappe.route_flags (router.js:373:7)
at new Promise (<anonymous>)
at Object.set_route (router.js:360:10)
at frappe.set_route (router.js:567:33)
at frappe.ui.form.Form.print_doc (form.js:1276:10)
at HTMLButtonElement.<anonymous> (toolbar.js:330:14)
at HTMLButtonElement.dispatch (jquery.js:5135:27)
at Rt.handle (jquery.js:4939:28)
at HTMLButtonElement.i (helpers.ts:95:1)
Signed-off-by: Akhil Narang <me@akhilnarang.dev>