* build!: Remove pycryptodome dependencies
This is added for payments app, shouldn't be added here.
ref: https://github.com/frappe/frappe/pull/9955/
* build(deps): update many python dependencies
* feat: communication: override `on_update`
If reference doc has a property, `on_communication_update`, execute it.
Otherwise, continue with default/magic actions
* fix: make sure method is callable
---------
Co-authored-by: Ankush Menat <ankush@frappe.io>
* chore: remove unused import
* feat: search frappecloud marketplace apps from awesomebar
* chore: cache results and add tracking url
* refactor: get_marketplace_apps
- use generator for setting cache
- drop expiry. No need to keep this updated as of now. Site updates and
ram usage anyways drops cache.
- Timeout if not able to respond
- Rank results lower than everything else
* chore: update request url
* fix: avoid excessive retries
---------
Co-authored-by: Ankush Menat <ankush@frappe.io>
* fix: Prevent HTML injection in list_view
* fix: Prevent HTML injection in link_preview
* fix: Prevent HTML injection in breadcrumbs
* fix: Prevent HTML injection in readonly Link field
* refactor: rename breadcrumb util
---------
Co-authored-by: Corentin Forler <10946971+cogk@users.noreply.github.com>
* fix: align the frontent to socketio port default 3000
* Revert "fix: align the frontent to socketio port default 3000"
This reverts commit 85df5bfbf9f87c954a3d25169c344ea43c9b8fff.
* fix: change default socketio port
[skip ci]
---------
Co-authored-by: Ankush Menat <ankush@frappe.io>
> PydanticDeprecatedSince20: Support for class-based `config` is deprecated, use ConfigDict instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.0/migration/
These can overvalidate e.g. "Frappe information technology" contains "format".
Restricted python anyways validates these attr access at runtime, so no
need to validate this on code.
post https://github.com/frappe/frappe/pull/22133, `link_field` should
be a dict to facilitate passing primary key `name` for filtering
query_report.py has been modified to be backward compatible with old
`str` type link_field as well