* fix: update_document_title
* Fix broken socket event
* Fix broken title + name doc update
* fix: if only title updated then dont enqueue
---------
Co-authored-by: Ankush Menat <ankush@frappe.io>
* feat: configurable amendment naming
* patch: set default amend naming
* chore: linters and document filter
* test: amended document naming
* refactor: use set_single_value
* chore: typo, fix copy
* fix(UX): move action button below table
* refactor: Series Counter -> Default Naming
The behaviour in this PR doesn't necessarily mean to apply naming series
it can be:
- Naming Series
- hash
- Naming Rule
- Some code
So the name was misleading.
---------
Co-authored-by: Ankush Menat <ankush@frappe.io>
* fix: data is retrieved from db instead of local file
* fix: data import command only accepts absolute path
* fix: revert expanduser
- Shells expand it. Works fine with bash/zsh
- Doesn't work anyway as click wont let you init a path that doesn't
exist
* Revert "fix: data is retrieved from db instead of local file"
This reverts commit cbe50a26da61e01b5a9a7c51f8632defb0913aab.
* fix: allow local import if from console
---------
Co-authored-by: Alfredo Altamirano <Ahuahuachi@users.noreply.github.com>
Co-authored-by: Ankush Menat <ankush@frappe.io>
* fix: actualy remove special characterso
`or "_"` is always truthy, this code didn't do anything
* refactor!: Prefix all custom fieldnames created from Desk
Why?
- Custom and standard field clashes are frequent. This will prevent it
from happening. E.g. recent `incoterm` field addition in ERPNext.
- Apps/fixtures can still specify exact fieldnames
* test: custom field naming
* perf: Faster report exports to Excel
Try exporting report with 100K rows, most likely it fails or takes a really long time.
Root causes:
- visible_idx was a list, lookups are SLOW AF when lists grow to 100k+
- visible_idx check is not required when I am exporting entire report.
Test with 85,000 rows.
| | Before | After | Improvement |
| --- | --- | --- | --- |
| Export | 25.99 | 0.77 | ~33x faster |
A typical share query looks like this.
select `share_name` from `tabDocShare` where `tabDocShare`.`read` = 1.0 and
`tabDocShare`.`share_doctype` = 'Pick List' and (`tabDocShare`.`user` = 'username'
or `tabDocShare`.`everyone` = 1.0) order by `tabDocShare`.`modified` DESC;
None of existing indexes provide `everyone` values quickly, so `OR`
clause effectively clauses full table scan ALL THE TIME.
w/ explicit check for singles
This shouldn't have any performance impact as last function call only
happens if we THINK it's single doctype. use set_single_value to avoid
that extra function call.