Compare commits

...

6606 Commits

Author SHA1 Message Date
RitvikSardana
794c7b0895 Merge pull request #3841 from frappe/ci/pilot-prebuilt-assets
ci: Publish prebuilt assets for Pilot
2026-10-06 17:34:15 +05:30
RitvikSardana
85d7d17f8d Merge pull request #3840 from RitvikSardana/fix/filter-paste-in-values
fix(filter): select every value pasted into the in filter
2026-10-05 14:00:23 +05:30
Ritvik Sardana
e08dd865b8 fix(filter): keep typed text when closing the filter, drop it only on clear all 2026-10-05 12:27:14 +05:30
Ritvik Sardana
a2d1c45cb4 fix(filter): drop typed text when closing the filter or switching operators 2026-10-05 12:20:46 +05:30
Ritvik Sardana
a0eb9ce5bf fix(filter): apply typed values before leaving the filter 2026-10-05 12:14:05 +05:30
Tanmoy Sarkar
dbc5d90bda ci: Publish prebuilt assets for Pilot
Build the app's assets in CI for each push and publish them on the release assets-<branch>, so Pilot benches download them instead of building on the server.
2026-10-05 12:12:56 +05:30
Ritvik Sardana
e2682b9a45 test(filter): cover pasting lists and every field type 2026-10-05 12:10:54 +05:30
Ritvik Sardana
e21dedd9ba fix(filter): keep the filter open when switching operators 2026-10-05 12:10:52 +05:30
Ritvik Sardana
9ade3ce18e fix(filter): clear the search after a paste and drop empty in lists 2026-10-05 11:45:02 +05:30
RitvikSardana
e938163cca Merge pull request #3839 from RitvikSardana/fix/customer-portal-label-translations
fix: show translated field labels in the customer portal
2026-10-05 11:44:02 +05:30
RitvikSardana
ab18470596 Merge pull request #3836 from frappe/pot_develop_2026-10-04
chore: update POT file
2026-10-05 11:29:50 +05:30
Ritvik Sardana
cd542d452a fix(filter): close the filter when clearing all filters 2026-10-05 11:24:56 +05:30
Ritvik Sardana
e9b92254a7 fix(filter): show the first three values and a count for long lists 2026-10-05 11:24:55 +05:30
Ritvik Sardana
7a2d47fbee fix(filter): select every value pasted into the in filter 2026-10-05 11:24:52 +05:30
Ritvik Sardana
3a575e21e5 fix: show translated field labels in the customer portal
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 10:54:32 +05:30
Sydney Gomes
fb19d721c8 Merge pull request #3815 from aerodeval/fix/user-email-permlevel-reset
fix(profile): save agent email links through the helpdesk api
2026-10-05 02:02:07 +05:30
Sydney
ee9c0ff8ba Merge remote-tracking branch 'upstream/develop' into fix/user-email-permlevel-reset
# Conflicts:
#	helpdesk/test_utils.py
2026-10-05 01:46:36 +05:30
Sydney
88dd98da71 test(profile): move email link helpers to test_utils 2026-10-05 01:36:37 +05:30
Sydney
57cbd6e121 fix(profile): keep unsaved email links and skip needless user save 2026-10-05 01:18:45 +05:30
Sydney Gomes
0ec451d274 Merge pull request #3823 from kaulith/fix/dashboard-sla-trend-percentage
fix(dashboard): ticket trend sla line shows a count, not a percentage
2026-10-04 22:43:42 +05:30
frappe-pr-bot
2658d10d3a chore: update POT file 2026-10-04 15:27:12 +00:00
RitvikSardana
be13e430dc Merge pull request #3820 from RitvikSardana/fix/pinned-jump-shift
fix: small layout fixes on the ticket page
2026-10-02 16:20:47 +05:30
Ritvik Sardana
3f89ecb03b fix: fade the timeline top instead of cutting it when there are no pins 2026-10-02 02:22:46 +05:30
Kaushal Shriwas
cac55d63d1 test(dashboard): format the sla trend test 2026-10-01 18:32:31 +05:30
Kaushal Shriwas
9643e178dc test(dashboard): freeze the clock in the sla trend test 2026-10-01 18:29:35 +05:30
Kaushal Shriwas
cb63d5b19f test(dashboard): sla line on ticket trend plots a percentage 2026-10-01 18:18:54 +05:30
Kaushal Shriwas
b674f9a068 fix(dashboard): ticket trend sla line shows a count, not a percentage 2026-10-01 18:18:51 +05:30
Ritvik Sardana
343dbb7490 test(e2e): stop the cc reply test from losing keystrokes to the cc picker 2026-10-01 15:07:12 +05:30
Ritvik Sardana
e95a63befd fix: match the recent tickets spacing to the other sidebar sections 2026-10-01 13:45:48 +05:30
Ritvik Sardana
63098d52cb fix(feedback): align show more with the comment text 2026-10-01 13:45:47 +05:30
Ritvik Sardana
a3546ecfa5 fix(pinned): stop the timeline from shifting after jumping to a pinned comment 2026-10-01 13:14:29 +05:30
Sydney Gomes
516700c45f Merge pull request #3819 from aerodeval/refactor/banners-composable
refactor(banners)!: serve sidebar banners from one API
2026-10-01 02:04:57 +05:30
Sydney
661e636f40 refactor(ticket): rename apply_portal_insert_rules to apply_ticket_insert_rules 2026-10-01 01:03:30 +05:30
Sydney
9615e9d465 chore: skip semgrep guest check on get_config 2026-10-01 01:01:30 +05:30
Sydney
c49341c740 fix(banners): reword the custom agent roles hint 2026-10-01 01:01:29 +05:30
Sydney
41b4b7d612 test(banners): move helpers to test_utils 2026-10-01 01:01:28 +05:30
Sydney
41ff44ecfc fix(banners): clear the promotion choice when the dialog closes 2026-10-01 01:01:27 +05:30
Sydney
aeefe064a4 fix(banners): treat a missing notice flag as off 2026-09-30 22:58:10 +05:30
Sydney
61e60518bd fix(banners): simplify field permission notice text 2026-09-30 22:42:30 +05:30
Sydney
66c8d6208c refactor(banners)!: serve sidebar banners from one API 2026-09-30 22:22:20 +05:30
Sydney Gomes
21fa9cdf6a Merge pull request #3544 from aerodeval/fix/ticket-field-level-perms
fix!: field-level permissions for agent-only ticket fields
2026-09-30 16:37:45 +05:30
Sydney
8642c3a699 test(e2e): cover the field permission notice and template field visibility 2026-09-30 15:54:57 +05:30
Sydney
e0e041dea7 fix(perms): hide the field permission notice in every open tab once dismissed 2026-09-30 15:54:56 +05:30
Sydney Gomes
c1d0010c4a Merge pull request #3814 from aerodeval/fix/sent-email-author-name
fix(ticket): name a reply sent from a shared email after the agent
2026-09-30 15:27:03 +05:30
Sydney
85d7d2a87f Merge remote-tracking branch 'upstream/develop' into fix/ticket-field-level-perms
# Conflicts:
#	e2e/tests/customer/portal.spec.ts
2026-09-30 15:21:48 +05:30
RitvikSardana
7f54082cfa Merge pull request #3817 from RitvikSardana/refactor/e2e-page-layout
refactor(e2e): group specs by page and shard UI tests
2026-09-30 14:59:14 +05:30
Sydney
d6ce0e15bb fix(perms): read the field permission notice flag outside the guest config 2026-09-30 14:56:25 +05:30
Sydney
e7dd63887e feat(perms): tell managers once that ticket fields follow permission levels 2026-09-30 14:26:34 +05:30
Ritvik Sardana
4044a1a309 ci(e2e): shard Playwright tests across two runners 2026-09-30 14:24:25 +05:30
Ritvik Sardana
0a538f3274 docs(e2e): describe the page based layout 2026-09-30 14:23:55 +05:30
Ritvik Sardana
c1beb6d14c refactor(e2e): split portal spec by page 2026-09-30 14:23:37 +05:30
Ritvik Sardana
b6775d0543 refactor(e2e): group specs by page instead of role 2026-09-30 14:23:06 +05:30
RitvikSardana
611fbfc558 Merge pull request #3813 from RitvikSardana/feat/pinned-comments
feat(ticket): pinned comments
2026-09-30 14:14:24 +05:30
Ritvik Sardana
ba0e0a7b8f fix(pinned): keep the scroll helper doc comment to two lines 2026-09-30 13:30:57 +05:30
Ritvik Sardana
0b24393480 fix: pick the typed contact when enter is pressed before search results load 2026-09-30 13:26:38 +05:30
Sydney
40cd3bea08 fix(perms): grant level 7 to every role that reads the ticket 2026-09-30 13:13:04 +05:30
Ritvik Sardana
f1b3f9ac25 docs: remove the why-only comment rule from AGENTS.md 2026-09-30 12:51:50 +05:30
Ritvik Sardana
081f7c6241 fix(template): disable renaming ticket templates on the doctype 2026-09-30 04:07:37 +05:30
Ritvik Sardana
ab8d0e85d2 fix(perms): let customers close a ticket but not resolve it 2026-09-30 03:47:22 +05:30
Ritvik Sardana
33ced6aba0 refactor(ticket): move customer edit rules into CustomerEditController 2026-09-30 03:47:09 +05:30
Ritvik Sardana
27dec9adf8 refactor(perms): move write rules to HDTicket and name TicketFields for what it does 2026-09-30 03:26:42 +05:30
Sydney
b372f0a7f8 fix(profile): save agent email links through the helpdesk api
User Emails is permlevel 1, so agents never got it from frappe.client.get
and their saves were silently reverted. The settings screen now reads the
list from get_current_user_email_info and saves it through a new agent-only
set_user_email_accounts endpoint, which only touches outgoing accounts.
2026-09-30 03:06:26 +05:30
Sydney
b80f3b9995 fix(ticket): name a reply sent from a shared email after the agent 2026-09-30 02:31:36 +05:30
Sydney
bfd5bd45f1 fix(perms): return readable fields from new and honour the opened template 2026-09-30 01:42:28 +05:30
Sydney
22a581ff5f chore(ticket): remove unused attachment and content_type fields 2026-09-30 00:50:11 +05:30
Sydney
b9c9d9d187 Merge remote-tracking branch 'upstream/develop' into fix/ticket-field-level-perms
# Conflicts:
#	helpdesk/api/doc.py
2026-09-30 00:39:32 +05:30
Ritvik Sardana
3304889e39 fix(pinned): keep the pinned bar doc comment to two lines 2026-09-30 00:06:46 +05:30
RitvikSardana
13a813c703 Merge pull request #3812 from RitvikSardana/test/api-coverage
test(api): cover untested API modules and fix what they found
2026-09-30 00:02:46 +05:30
Ritvik Sardana
285b82d76e test(e2e): close invite suggestions with Escape instead of an outside click 2026-09-29 23:51:12 +05:30
Ritvik Sardana
5b32269e81 fix(pinned): remove the comment that restates the bar transition 2026-09-29 23:30:00 +05:30
Ritvik Sardana
11a9f56d5a refactor(article): rename only_published to filter_public_articles 2026-09-29 23:23:04 +05:30
Ritvik Sardana
4257a0b809 refactor(email): move service name map above its caller 2026-09-29 23:23:04 +05:30
Ritvik Sardana
8572b0b5e4 fix(pinned): make the pinned badge gray 2026-09-29 23:11:02 +05:30
Ritvik Sardana
d76264b05d fix(pinned): float the pinned bar over the activity 2026-09-29 23:11:00 +05:30
Ritvik Sardana
4a2f1d19a6 fix: dont carry pinned comments from the source ticket while merging 2026-09-29 22:45:29 +05:30
Ritvik Sardana
6fd24be817 refactor(ticket): drop the activity header and move call actions to the tab row 2026-09-29 22:19:33 +05:30
Sydney
f9b9248d45 fix(perms): keep the email sender when a system manager pulls emails 2026-09-29 21:56:47 +05:30
Ritvik Sardana
7e94cef894 fix(pinned): show pinned comment with badge instead of just icon 2026-09-29 21:20:56 +05:30
Ritvik Sardana
d3b2f61b09 refactor(ticket): read pinned comments from the comment extras 2026-09-29 21:05:03 +05:30
Ritvik Sardana
0aa6e01571 fix(ticket): pass the class through to the activity heading 2026-09-29 21:05:01 +05:30
Ritvik Sardana
f72ebdecd6 refactor(ticket): keep the pin marker as a plain indicator 2026-09-29 21:04:59 +05:30
Sydney
8b9c901f8c fix(perms): address review feedback 2026-09-29 19:42:12 +05:30
Sydney
bc77387f58 fix(template): match template fieldnames case-sensitively 2026-09-29 15:38:06 +05:30
Sydney
b3885c16e3 refactor(template): rename Customer can edit to Editable after creation 2026-09-29 14:33:21 +05:30
Ritvik Sardana
61838ed0dc test(e2e): cover unpinning from the marker and the five pin limit 2026-09-29 14:13:54 +05:30
Ritvik Sardana
c3c28d6b3b fix(ticket): stretch the pinned bar track only past two pins 2026-09-29 14:13:52 +05:30
Ritvik Sardana
bedbdba511 fix(icons): cut the unpin slash out of the pin instead of painting over it 2026-09-29 14:13:51 +05:30
Ritvik Sardana
2e62e31e0c feat(ticket): unpin a comment from its pin marker 2026-09-29 14:13:49 +05:30
Sydney
d735d1d4b3 test: restore every template column after permission tests 2026-09-29 14:12:19 +05:30
Sydney
744f7133d9 fix(template): widen the Customer can edit column 2026-09-29 14:06:02 +05:30
Ritvik Sardana
7617ab7bfd test(e2e): stop ticket list tests racing the default view autosave 2026-09-29 13:59:59 +05:30
Ritvik Sardana
7127d2aca5 test(e2e): close invite suggestions before clicking Invite 2026-09-29 13:59:59 +05:30
Ritvik Sardana
070e01720d test(email): reject bad credentials when incoming is off 2026-09-29 13:57:16 +05:30
Ritvik Sardana
ab3caff2d0 fix(email): check credentials for every service with an incoming server 2026-09-29 13:57:16 +05:30
Ritvik Sardana
c8c140a9d6 docs(agents): allow get_all for child tables and guard it elsewhere 2026-09-29 13:57:16 +05:30
Ritvik Sardana
634784840e test: move api test helpers into test_utils 2026-09-29 13:57:16 +05:30
Ritvik Sardana
923ee81055 docs(tests): keep all test helpers in test_utils 2026-09-29 13:57:16 +05:30
Ritvik Sardana
24e2773198 fix(email): show provider icons for Frappe's service names 2026-09-29 13:57:16 +05:30
Ritvik Sardana
e087af08b2 fix(article): check published articles with get_list 2026-09-29 13:57:16 +05:30
Ritvik Sardana
b3158671ee test(settings): cover email accounts and email notifications 2026-09-29 13:57:16 +05:30
Ritvik Sardana
a0e6ece014 test(portal-notice): cover dismissing and restoring ticket access 2026-09-29 13:57:16 +05:30
Ritvik Sardana
8a63cf6f63 test(article): cover article stats and search 2026-09-29 13:57:16 +05:30
Ritvik Sardana
f5e0598738 test(doc): cover list data, filters and filterable fields 2026-09-29 13:57:16 +05:30
Ritvik Sardana
b867e9dd82 fix(email): save Outlook, Yahoo and Yandex under Frappe's service names 2026-09-29 13:57:16 +05:30
Ritvik Sardana
9d0aa81004 fix(email-notifications): validate the feedback status before saving 2026-09-29 13:57:16 +05:30
Ritvik Sardana
ea2dd0819a fix(email): create outgoing-only email accounts without an incoming check 2026-09-29 13:57:16 +05:30
Ritvik Sardana
b064ae303f fix(portal-notice): dismiss the notice when ticket access is restored 2026-09-29 13:57:16 +05:30
Ritvik Sardana
3f248973ad fix(article): hide stats of unpublished articles from non-agents 2026-09-29 13:57:16 +05:30
Ritvik Sardana
11f7531346 fix(article): keep unpublished articles out of search results 2026-09-29 13:57:16 +05:30
Ritvik Sardana
029f319454 fix(doc): check permissions before the cached filterable fields 2026-09-29 13:57:16 +05:30
Ritvik Sardana
554a76dd97 fix(doc): stop customers removing ticket assignments 2026-09-29 13:57:16 +05:30
Ritvik Sardana
0d401ccf69 fix(doc): apply @me and assigned on to a view's default filters 2026-09-29 13:57:16 +05:30
Ritvik Sardana
b5bdc783bb fix(doc): replace every @me in list and nested filters 2026-09-29 13:57:16 +05:30
Ritvik Sardana
c2dec3ff19 fix(doc): compare the "assigned on" filter by whole days 2026-09-29 13:57:16 +05:30
Ritvik Sardana
20a7422cca test(dashboard): cover the tag charts 2026-09-29 13:57:16 +05:30
Ritvik Sardana
810c47681d test(assignment-rule): cover the rules list and who may read it 2026-09-29 13:57:16 +05:30
Ritvik Sardana
cb2e008c75 fix(assignment-rule): list only ticket assignment rules 2026-09-29 13:57:16 +05:30
Ritvik Sardana
caf769a1cc test: move api tests to helpdesk/tests/api 2026-09-29 13:57:16 +05:30
Ritvik Sardana
20e12d68da docs(tests): add backend test conventions 2026-09-29 13:57:16 +05:30
Sydney
3fbd0587ac feat(template): let a template row open a field to customer edits 2026-09-29 13:41:52 +05:30
Ritvik Sardana
bfd00a53a9 fix(ticket): group the pinned bar icon with its text 2026-09-29 13:41:35 +05:30
Ritvik Sardana
6c1b0c380c refactor(comments): drop the row lock around the pin limit check 2026-09-29 13:27:09 +05:30
Ritvik Sardana
336ad9383e feat(ticket): disable pinning once a ticket has five pins 2026-09-29 13:27:08 +05:30
Ritvik Sardana
6ce7553230 test(e2e): cover pinning comments from the timeline 2026-09-29 13:11:06 +05:30
Ritvik Sardana
a7514171da feat(ticket): pin comments to a bar above the timeline 2026-09-29 13:11:04 +05:30
Ritvik Sardana
a89e4c67a0 feat(icons): redraw the pin and unpin icons from Figma 2026-09-29 13:11:03 +05:30
Ritvik Sardana
53f95b78c6 feat(comments): cap pinned comments at five per ticket 2026-09-29 13:11:01 +05:30
Sydney
df721618f3 fix(perms): say permission, not timing, when a customer cannot write a field 2026-09-29 13:07:10 +05:30
Sydney
870be0ebb8 fix(perms): refuse a customer's edit instead of silently reverting it 2026-09-29 12:38:17 +05:30
RitvikSardana
483f718012 Merge pull request #3811 from RitvikSardana/test/e2e-customers-contacts
test(e2e): cover customers and contacts, fix manager edits on user contacts
2026-09-29 11:58:53 +05:30
Sydney
9f128ba5b7 fix(template): link the helpdesk permission levels guide 2026-09-29 11:28:29 +05:30
Ritvik Sardana
6ed1c9ac6b fix(contact): keep a user's photo and timezone when an edit omits them 2026-09-29 11:17:44 +05:30
Ritvik Sardana
7b5d30bab4 test(e2e): cover customers and contacts for managers and agents 2026-09-29 11:01:42 +05:30
Ritvik Sardana
1bf173ed19 fix(contact): let agent managers edit a contact that has a user 2026-09-29 11:01:41 +05:30
RitvikSardana
488992b1b2 Merge pull request #3810 from RitvikSardana/feat/playwright-e2e
test(e2e): Playwright suite for the core user journeys
2026-09-29 03:13:01 +05:30
Ritvik Sardana
cfeabb11b3 docs(e2e): document how to write a spec 2026-09-29 02:52:09 +05:30
Ritvik Sardana
73e030549e test(e2e): add a ticket fixture for tests that need any one ticket 2026-09-29 02:52:09 +05:30
Ritvik Sardana
1810916414 refactor(e2e): group specs into area folders under tests/ 2026-09-29 02:45:49 +05:30
Ritvik Sardana
d77599f4a0 test(e2e): cover every non-integration settings page 2026-09-29 02:40:56 +05:30
Ritvik Sardana
eb858b00f6 fix(profile): give the remove email button an accessible name 2026-09-29 02:40:56 +05:30
Ritvik Sardana
a5dcd7ee42 fix(holiday): open the calendar on the list's first year 2026-09-29 02:40:55 +05:30
Ritvik Sardana
c1f0016bcf fix(holiday): count recurring weeks as the nth weekday of the month 2026-09-29 02:40:54 +05:30
Ritvik Sardana
dd311d8d29 fix(editor): let a mouse click pick a field suggestion 2026-09-29 02:25:12 +05:30
Ritvik Sardana
e7cc710016 fix(settings): revert only the toggles a failed save sent 2026-09-29 01:49:23 +05:30
Sydney
3cc8c89ddb Merge remote-tracking branch 'upstream/develop' into fix/ticket-field-level-perms
# Conflicts:
#	helpdesk/helpdesk/doctype/hd_ticket/hd_ticket.json
#	helpdesk/helpdesk/doctype/hd_ticket/test_hd_ticket.py
2026-09-29 01:42:49 +05:30
Ritvik Sardana
1cc683cd14 fix(settings): keep unsaved edits on a failed toggle and hide other teams' assignees 2026-09-29 01:39:30 +05:30
Ritvik Sardana
8d8f9e57d4 fix(merge): close the merge dialog when a lost response still merged 2026-09-29 01:27:31 +05:30
Ritvik Sardana
c9e0becfc8 fix(merge): reject merging a ticket that is already merged 2026-09-29 01:27:31 +05:30
Ritvik Sardana
0915d78f2e test: limit bulk_reply cleanup to the files it attached 2026-09-29 01:27:31 +05:30
Ritvik Sardana
0081152d42 fix(merge): move emails and every attachment when an agent merges 2026-09-29 01:27:31 +05:30
Ritvik Sardana
085eedc314 test(e2e): cover saved views end to end 2026-09-29 00:42:06 +05:30
Ritvik Sardana
bf9023d2ce test(e2e): run the browser in UTC so timezone bugs surface locally 2026-09-29 00:31:55 +05:30
Ritvik Sardana
ccdd68d4ff ci(e2e): serve the site on localhost and build frappe assets 2026-09-29 00:31:55 +05:30
Ritvik Sardana
25b354fbbe fix(list): show datetime columns in the viewer's timezone 2026-09-29 00:31:54 +05:30
Ritvik Sardana
6a6fe28645 test(e2e): cover the core agent, admin and customer journeys 2026-09-29 00:13:03 +05:30
Ritvik Sardana
4d2424d326 fix(assignment): offer only team members when assignment is restricted to the team 2026-09-29 00:12:26 +05:30
Ritvik Sardana
09c9d96313 fix(settings): save general toggles on their own and one at a time 2026-09-29 00:12:25 +05:30
Ritvik Sardana
c61c30355f fix(onboarding): complete the invite agents step on invite 2026-09-29 00:12:25 +05:30
Ritvik Sardana
f5fa276383 fix(editor): treat a body with only an image as content 2026-09-29 00:12:25 +05:30
Ritvik Sardana
9ebf9f577d fix(form-script): read createToast duration in seconds 2026-09-29 00:12:17 +05:30
Ritvik Sardana
faadfa79a9 test(e2e): document local runs and keep persona passwords stable 2026-09-28 23:25:15 +05:30
Ritvik Sardana
75e698ea9b test(e2e): add Playwright setup, personas and CI workflow 2026-09-28 23:23:34 +05:30
Ritvik Sardana
8650d04715 fix(router): send customers from an agent ticket link to their ticket 2026-09-28 23:23:34 +05:30
RitvikSardana
f2641606a6 Merge pull request #3803 from frappe/pot_develop_2026-09-27
chore: update POT file
2026-09-28 20:32:45 +05:30
RitvikSardana
b273218637 Merge pull request #3807 from RitvikSardana/fix/sla-paused-flips-to-failed
fix(sla): keep a ticket paused past its deadlines while on hold
2026-09-28 20:32:30 +05:30
Ritvik Sardana
4b67db0dd8 test(sla): cover a resolution breach from before the hold 2026-09-28 20:18:09 +05:30
Ritvik Sardana
56cadd897a docs(agents): cap comments at two lines 2026-09-28 19:28:38 +05:30
Ritvik Sardana
9ca4b1098b fix(sla): keep a ticket paused past its deadlines while on hold 2026-09-28 19:28:37 +05:30
RitvikSardana
208e32eb00 Merge pull request #3806 from RitvikSardana/fix/agent-ticket-perms
fix(perms): agents & tickets
2026-09-28 19:19:54 +05:30
RitvikSardana
25ee45e4c3 Merge pull request #3805 from RitvikSardana/fix/timeline-optimistic-updates
fix(ticket): pending row avatar and comment delete toast
2026-09-28 19:13:33 +05:30
Ritvik Sardana
6e7d5dabb9 fix(perms): agents & tickets 2026-09-28 18:14:59 +05:30
Ritvik Sardana
63fffa9843 fix(ticket): take the pending row's name and avatar from the session 2026-09-28 18:10:33 +05:30
Sydney Gomes
d05e5b5d4f Merge pull request #3800 from aerodeval/fix/docker-image-missing-apps
fix(ci): include helpdesk and telephony in docker image
2026-09-28 18:08:43 +05:30
Sydney
f53fecc699 fix(ci): match hrms job permissions 2026-09-28 17:43:40 +05:30
Sydney
2c189b3c93 fix(ci): build with frappe_docker main 2026-09-28 17:39:28 +05:30
frappe-pr-bot
c304643b86 chore: update POT file 2026-09-27 15:13:16 +00:00
Sydney
e0f2398a31 fix(ci): include helpdesk and telephony in docker image
frappe_docker's layered Containerfile dropped the APPS_JSON_BASE64
build-arg in ae275df1 and now reads apps.json from a BuildKit secret.
The ignored build-arg made every image since then ship with frappe
only, while the build still passed.

Pin frappe_docker to a release, check the image contains helpdesk and
telephony before pushing, and drop the arch matrix, which built amd64
twice and raced both images onto the same tags.

Fixes #3227
2026-09-26 03:12:08 +05:30
Sydney Gomes
bf92d47c2c Merge pull request #3776 from aerodeval/fix/sla-timezone-and-hold-time
fix(sla): correct SLA deadline timezone and hold-time deduction
2026-09-26 02:31:18 +05:30
Sydney Gomes
ae8c540013 Merge pull request #3792 from aerodeval/fix/skip-persona-landing
fix(onboarding): open the welcome ticket after skipping the questionnaire
2026-09-26 02:11:21 +05:30
Sydney Gomes
903a535dd6 Merge branch 'develop' into fix/sla-timezone-and-hold-time 2026-09-26 02:02:46 +05:30
Sydney
57b5bfc30d fix(onboarding): open the welcome ticket after skipping the questionnaire 2026-09-26 02:00:56 +05:30
Sydney Gomes
417c2862e9 Merge pull request #3793 from aerodeval/chore/frappe-ui-rc1
chore: migrate frappe-ui to v1.0.0-rc.1
2026-09-26 01:09:35 +05:30
Sydney
0bb8070779 fix(sla): count resolved time as hold only on reopen 2026-09-25 01:31:49 +05:30
Sydney
1f0dc529ce fix: close editor suggestion menus on outside click 2026-09-24 15:32:50 +05:30
Sydney
2aa4644825 fix: refresh mobile timeline after an update 2026-09-24 14:25:09 +05:30
Sydney
41f77fba8c fix: draw form-script toast icons from the sprite only 2026-09-24 14:21:07 +05:30
Sydney
6c62424ce4 refactor: style mobile tab panels directly 2026-09-24 14:05:33 +05:30
Sydney
7213e51e3c chore: shorten comments 2026-09-24 13:49:04 +05:30
Ritvik Sardana
96ece7bbd8 fix(ticket): track a comment delete in one toast 2026-09-24 13:41:02 +05:30
Ritvik Sardana
8ea319a68f fix(ticket): show your avatar on a comment or reply before it is saved 2026-09-24 13:41:01 +05:30
Sydney
97a6be8dc9 fix: load kb search results on the third character 2026-09-24 13:36:56 +05:30
Sydney
4fc61d4d44 fix: show field dependency borders in dark mode 2026-09-24 13:36:53 +05:30
Sydney
10c7c15894 fix: close mobile sidebar on outside tap 2026-09-24 13:36:45 +05:30
Sydney
1f914ebadb fix: widen mobile ticket pickers and scroll its tab bar 2026-09-24 13:36:42 +05:30
Sydney
0251b3d8f9 fix: stop editor toolbar overlapping send and discard 2026-09-24 13:36:40 +05:30
Sydney
3bd28aa269 fix: keep selected editor nodes from being clipped 2026-09-24 13:36:25 +05:30
RitvikSardana
9ff6a864a4 Merge pull request #3791 from RitvikSardana/fix/ticket-field-saved-value
fix(ticket): show a field value the fetched options do not carry
2026-09-24 11:08:42 +05:30
RitvikSardana
3e0512ba59 Merge pull request #3782 from frappe/pot_develop_2026-09-20
chore: update POT file
2026-09-24 11:06:56 +05:30
Sydney
d3f51690ed chore: declare unplugin-icons as a dev dependency 2026-09-24 02:52:51 +05:30
Sydney
b496da2e50 fix: render form-script toast icons from the sprite 2026-09-24 02:47:35 +05:30
Sydney
4768eb27a1 fix: show hover-only controls on touch devices 2026-09-24 02:47:33 +05:30
Sydney
b8c1e0ec38 fix: label icon-only tab buttons 2026-09-24 02:32:59 +05:30
Sydney
322697d1e0 fix: restore checkbox spacing in multi-selects 2026-09-24 02:32:57 +05:30
Sydney
775797732d fix: restore rating filter star size 2026-09-24 02:32:55 +05:30
Sydney
70f261c79e fix: keep the mobile sidebar drawer expanded 2026-09-24 02:23:18 +05:30
Sydney
c69fcda6b7 fix: convert tooltip and hovercard delays to milliseconds 2026-09-24 02:13:39 +05:30
Sydney
fc8ba633c4 fix: restore saved-reply field autocomplete and table of contents 2026-09-24 02:05:00 +05:30
Sydney
b2f3de5eff fix: pass mention items as label and value 2026-09-24 01:58:45 +05:30
Sydney
25e2981ef7 fix: use setOpen and close from popover slots 2026-09-24 01:50:07 +05:30
Sydney
e138ed2e26 chore: bump frappe-ui to 1.0.0-rc.1 2026-09-23 23:59:15 +05:30
Sydney
15d717ec6c chore: bump vite to 5 2026-09-23 23:41:38 +05:30
Sydney
2967bf400d fix(template): plain words for the Visible to messages 2026-09-23 15:31:06 +05:30
Sydney
a0ed458050 refactor(perms): let TicketFields filter every list
visible() replaces the by-hand subtractions in the list API and in the
class itself; details becomes layout, the list a layout editor will grow;
the template endpoint reads its row as a dict.
2026-09-23 14:35:57 +05:30
Sydney
1792df7570 fix(perms): strip unreadable fields from every ticket echo 2026-09-23 12:57:01 +05:30
Sydney
296dd33d4d refactor(perms): move field visibility into TicketFields
Also trims the portal ticket payload to what the page reads and picks
the new-ticket form script by audience.
2026-09-23 12:22:51 +05:30
Sydney
3f27c7b789 fix(portal): show falsy field values and fix the date tooltip
Test helpers moved to test_utils.
2026-09-22 16:06:10 +05:30
Sydney
06ecfb52b0 fix: disallow subject in template, tidy mobile rows 2026-09-22 15:23:46 +05:30
RitvikSardana
1436448b68 Merge pull request #3790 from RitvikSardana/fix/dialog-legacy-close-context
fix(form-script): keep the pre-v1 dialog and grouped action APIs working
2026-09-22 15:09:39 +05:30
Sydney Gomes
544c091179 Merge pull request #3785 from aerodeval/fix/portal-email-styles
fix: render email HTML correctly in the customer portal
2026-09-22 15:08:09 +05:30
Ritvik Sardana
7baf3f5ebb fix(ticket): show a field value the fetched options do not carry 2026-09-22 14:59:51 +05:30
RitvikSardana
fb3bc88edb Merge pull request #3789 from RitvikSardana/fix/ticket-list-view-polish
fix(ticket): assignee filter, unseen subject weight, loading indicator
2026-09-22 14:57:41 +05:30
Sydney
6a401a8233 refactor: improve code quality 2026-09-22 14:56:06 +05:30
Ritvik Sardana
97ecc8c871 fix(form-script): render a grouped action that still uses items 2026-09-22 14:38:39 +05:30
Ritvik Sardana
3eaf1b5d18 fix(dialog): keep the legacy close callback working in form scripts 2026-09-22 14:38:39 +05:30
Sydney
512c40a97b refactor(perms): read the template rows once, uncached
@redis_cache returned None whenever a concurrent request stored the key
between the wrapper's get_value and exists, so get_list_data raised a
TypeError. The query is one indexed child-table read.
2026-09-22 14:13:31 +05:30
Sydney
9e01f775d5 fix(portal): show the full date on hover for custom date fields
A Date or Datetime template field on the customer sidebar now carries the
full date in a tooltip, the way the SLA rows above it do. Custom rows also
get their `fieldname`, which the list key was already reading.
2026-09-22 13:08:46 +05:30
Ritvik Sardana
64f41c7173 fix(ticket): use the same loading indicator as the ticket page 2026-09-22 13:04:00 +05:30
Ritvik Sardana
e39a38ab66 fix(ticket): show an unseen ticket's subject in semibold 2026-09-22 13:04:00 +05:30
Ritvik Sardana
25aa1b3132 fix(ticket): filter by assignee when a ticket has only one 2026-09-22 13:03:49 +05:30
Sydney
575d57efd4 fix(perms): warn only about the template rows a save hides
The template's info dialog listed every Agents-only row on any save; it
now names just the rows the save turned Agents-only. Trims the comments
on the reply-reopen flags and marks `_comments` for removal from
`AGENT_WORKFLOW_FIELDS`.
2026-09-22 12:43:56 +05:30
Sydney
8c0ed88dbe Merge remote-tracking branch 'upstream/develop' into fix/ticket-field-level-perms 2026-09-22 12:24:48 +05:30
Sydney
e08852d817 refactor(perms): return the agent form fields as one filtered list
`get_ticket_customizations` now returns every field the details tab may
show, already filtered: visible template rows plus a bare entry for each
visible core field without a row. The pages partition it by name instead
of reading a separate hidden list.
2026-09-22 12:21:28 +05:30
Sydney
9523b6b392 refactor(perms): make the template helper answer for the caller's audience
`get_template_hidden_fields(audience)` returns what the template hides from
that audience, so callers stop asking for the other side's rows.
2026-09-22 11:41:25 +05:30
Sydney
d1d5934cee refactor(perms): compute unreadable fields inline off the meta
`get_unreadable_fields` had one caller and a constant argument. The meta's
permlevel helpers make the same test `apply_fieldlevel_read_permissions` does.
2026-09-22 11:40:25 +05:30
Sydney
ed499bd9df refactor(perms): share the customer-visible template fields lookup
`customer_fillable_template_fields` and `get_visible_custom_fields` ran the
same query on the Default template's rows and applied the same filter.
One helper in `field_visibility.py`, which already owns who sees which
template row, replaces both.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UGwyVdR1M2WGd9bex8TxRR
2026-09-21 14:28:07 +05:30
Sydney
8f8e463a28 fix(email): strip email colours only in dark mode 2026-09-21 13:06:30 +05:30
Sydney
3b752b0fb5 fix(portal): keep inline styles when sanitizing email HTML 2026-09-21 13:06:28 +05:30
Sydney
428f0b3517 fix(perms): drop the per-user cache on get_filterable_fields
The result became role-dependent, so the cache went `user=True`. That
splits one entry into one per user, and `clear_cache()` only reaches the
calling user's key, so a Visible to change left everyone else stale for an
hour. The frontend fetches this once per session under frappe-ui's own
cache, so nothing is lost.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UGwyVdR1M2WGd9bex8TxRR
2026-09-21 03:05:11 +05:30
Sydney
fa419b9892 refactor(perms): filter hidden list fields once, at construction
`get_list_data` looked the hidden set up twice and filtered `rows` twice:
once before the query, and again after the standard fields loop put
`_assign` back. Compute it once, keep hidden standard fields out of that
loop, and drop the `fields` cleanup pass. The set is `hidden_fields` at
every site now; `hidden` named an adjective.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UGwyVdR1M2WGd9bex8TxRR
2026-09-21 03:05:08 +05:30
Sydney
df89609b3e refactor(perms): prefix the visibility fetchers with get_
`hidden_ticket_fields`, `unreadable_fields` and `fields_visible_to` were the
only noun-named fetchers beside seventy-odd `get_` ones, including the
framework's `get_permitted_fields` they wrap. The docstring on
`get_hidden_ticket_fields` restated the new name, so it states the contract
instead.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UGwyVdR1M2WGd9bex8TxRR
2026-09-21 03:05:04 +05:30
RitvikSardana
a8e858bb15 Merge pull request #3780 from RitvikSardana/fix/ticket-field-duplicate-set-value
fix(ticket): save a link field once when the value is cleared then picked
2026-09-21 00:27:11 +05:30
frappe-pr-bot
97e9aaf6db chore: update POT file 2026-09-20 14:17:53 +00:00
Ritvik Sardana
de56caaba2 fix(ticket): save a link field once when the value is cleared then picked 2026-09-19 19:42:24 +05:30
RitvikSardana
59c32bc4bb Merge pull request #3777 from RitvikSardana/fix/activity-timeline-live-updates
fix(ticket): add optimistic reply and comment in the timeline
2026-09-19 16:11:36 +05:30
Ritvik Sardana
2e04c70855 fix(ticket): delete a pasted image's file when the editor no longer shows it
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HJHtad4acgJRq843yyCAxq
2026-09-19 14:54:50 +05:30
Sydney
34d08bdea9 chore: drop the SLA check script and its runner 2026-09-18 19:12:16 +05:30
Sydney
500c848422 Merge remote-tracking branch 'upstream/develop' into fix/sla-timezone-and-hold-time
# Conflicts:
#	desk/src/utils.ts
2026-09-18 19:10:57 +05:30
Sydney
e686680a81 test(sla): check deadline comparisons across timezones
useSLA imports frappe-ui, whose index loads .vue files that tsx cannot,
so the check runs through Vite via a small runner.
2026-09-18 19:03:19 +05:30
Sydney
79b9cce118 test(perms): drop the set_value override test 2026-09-18 17:24:25 +05:30
Sydney
37b925f974 test(perms): cover the set_value reply, reset the user in tearDown
tearDown runs before every addCleanup, so the deletions no longer need a
wrapper that switches back to Administrator first.
2026-09-18 17:21:14 +05:30
RitvikSardana
3431b3a007 Merge pull request #3768 from frappe/pot_develop_2026-09-13
chore: update POT file
2026-09-18 15:11:48 +05:30
Ritvik Sardana
cd99cf6079 fix(timeline): retry the activity deep link until the row renders
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HJHtad4acgJRq843yyCAxq
2026-09-18 14:04:35 +05:30
Ritvik Sardana
0efb8bc2e2 fix(ticket): keep the quoted reply when a send fails 2026-09-18 12:51:21 +05:30
Ritvik Sardana
74b5570411 fix(ticket): cap the header breadcrumb at 60% width 2026-09-18 12:44:34 +05:30
Ritvik Sardana
79d8c489ae fix(ticket): no attachment chip for a comment's inline images 2026-09-18 12:44:34 +05:30
Ritvik Sardana
34b50346a0 fix(ticket): show a sent reply or comment without waiting for the server
The composer's @update emit was never wired, so the feed only moved when the
socket happened to deliver a doc_update. With the socket down a sent message
stayed invisible until a page refresh.

Wire @update to reload the feed, and send optimistically through the timeline's
addPendingActivity: the row renders on submit, the composer clears, and the
draft comes back if the call fails. new_comment and reply_via_agent now return
the new document's name so the pending row can be swapped for the real one by
key instead of lingering beside it. A pending comment carries its attachments on
the row, since the extras lookup is keyed by a name it does not have yet.

Drop the emit("update") in CommunicationArea's keyboard handlers.
CommentTextEditor.submitComment is async, so the truthiness check around it was
always true: ctrl+enter reloaded once before the write returned and again on
success, fetching comment extras twice, and reloaded even when the guards had
rejected the send. Both editors already emit submit once the write lands.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HJHtad4acgJRq843yyCAxq
2026-09-18 11:58:53 +05:30
RitvikSardana
3cb81c506c Merge pull request #3769 from RitvikSardana/fix/bump-frappe-ui-beta
fix: bump frappe-ui to 1.0.0-beta.63
2026-09-17 18:41:28 +05:30
Ritvik Sardana
9d276403f4 fix: hold send until editor media uploads finish 2026-09-17 18:26:22 +05:30
Ritvik Sardana
bdc5fd50ac fix: let the team and ticket type chips be picked again 2026-09-17 17:38:11 +05:30
Ritvik Sardana
f512817f02 fix: show the sidebar notification dot only when collapsed 2026-09-17 16:34:13 +05:30
Ritvik Sardana
cb771d8c9a fix: better ux for link 2026-09-17 16:07:27 +05:30
Ritvik Sardana
8dc29681ff refactor: drop the tailwind theme extends the preset already covers 2026-09-17 15:48:49 +05:30
Ritvik Sardana
2a2058f789 fix: use link fields for saved reply team and ticket type 2026-09-17 15:48:48 +05:30
Ritvik Sardana
858d800d6d fix: handle field variant 2026-09-17 15:09:04 +05:30
Ritvik Sardana
f877dd80da fix: use the right control for each ticket field type 2026-09-17 12:38:06 +05:30
Sydney
935dcd2876 fix(sla): bank hold time before computing resolution time
set_resolution_time subtracts total_hold_time, and set_hold_time is what
accumulates it, but the latter only banks a hold window when the ticket
leaves a paused status. Resolving straight out of a paused status does
both in one save, and the old order computed the resolution time first,
off a total that did not yet include the window closing in that very
save. The final hold was never deducted.

Paused -> Open -> Resolved was unaffected, because the intermediate save
banked the hold before the resolve read it, which is why the existing
tests pass either way. A ticket held for months and then resolved in one
transition reported the whole span as its resolution time.

Running set_hold_time first also means the into-paused branch clears
resolution_date before set_resolution_time reads it, so that call now
no-ops instead of computing a value the old order immediately nulled.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-17 11:43:17 +05:30
Sydney
a8d38e4d48 fix(sla): compare SLA deadlines in the site timezone
response_by and resolution_by come off the API as naive strings in the
site's timezone, but plain dayjs() parses them as browser-local. When an
agent's browser sits east of the site, every deadline reads earlier than
it is, so a new ticket can show a red Failed badge while the backend
still has agreement_status as due. West of the site it fails the other
way: a breached SLA keeps showing a countdown.

dayjsLocal() parses in systemTimezone and converts to the viewer's, so
both sides of each comparison land on the same clock. Only comparisons
against "now" were wrong; server-to-server ones shifted equally and are
switched over for consistency.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-17 11:43:11 +05:30
Ritvik Sardana
5893a3d95d fix(editor): patch frappe-ui suggestion popup positioning 2026-09-17 11:11:53 +05:30
Sydney
99d251cbb1 refactor(perf): update copy and show toast only on child table change 2026-09-17 01:35:30 +05:30
Sydney
102b9605bf refactor(perms): name the customer-fillable helpers for who they serve
creation_fillable_template_fields -> customer_fillable_template_fields,
customer_may_fill_at_creation -> can_customer_fill_at_creation, and the
permlevel tuple they read to match.
2026-09-16 18:01:38 +05:30
Ritvik Sardana
129d0c26cf fix: show a link field's saved value when the search does not return it 2026-09-16 17:58:12 +05:30
Sydney
6957f2c901 feat(perms): link the permission level docs from the hide warning
The warning tells an admin to raise a permission level but not what that
means. The link opens in a new tab so an unsaved template is not lost.
2026-09-16 17:51:47 +05:30
Sydney
73fada0560 refactor(perms): drop client-side visible_to filtering
get_fields_meta already strips agent-only rows for customers, so the three
portal filters never removed anything. Visibility now has one owner on the
server and the payload no longer carries visible_to.
2026-09-16 17:51:12 +05:30
Ritvik Sardana
eda11d24b8 fix: unseen ticket font weight 2026-09-16 14:50:14 +05:30
Ritvik Sardana
ecdb8a73bd fix: raise the agent and email pickers above the dialog layer 2026-09-16 14:23:21 +05:30
Ritvik Sardana
be2e78fe8a fix: open the preference dropdowns above their fields 2026-09-16 14:08:43 +05:30
Ritvik Sardana
5d2bc5055e fix: align the language dropdown and name its placeholder 2026-09-16 14:05:00 +05:30
Ritvik Sardana
bf7ed63282 fix: keep the timezone dropdown inside the settings dialog 2026-09-16 14:02:49 +05:30
Ritvik Sardana
2a36299f1d fix: put a space between vs and the comparison period 2026-09-16 13:56:07 +05:30
Ritvik Sardana
1ee15c55e9 fix: keep the add column dropdown inside the window 2026-09-16 13:49:21 +05:30
Ritvik Sardana
89d5eade51 fix: give lucide icons an explicit width so their labels line up 2026-09-16 13:49:20 +05:30
Ritvik Sardana
595532922e fix: keep grouped form script actions in the ticket kebab menu 2026-09-16 13:23:52 +05:30
Ritvik Sardana
84e679c871 fix: keep the real fieldtype when adding a list column 2026-09-16 13:23:52 +05:30
Ritvik Sardana
aea0cc6fd0 fix: align the dashboard filter row and use the framework link field 2026-09-16 13:20:54 +05:30
Sydney
7ed25d10b4 fix: update doctype.ts 2026-09-15 21:03:12 +05:30
Sydney
5163d60f67 fix(perms): repair ticket permissions on customised sites
Custom DocPerm rows make Frappe ignore the JSON perms, so these sites
never get the new permlevel grants and read the protected fields as empty.

- write the level 7 and 8 rows for roles that can already read a ticket
- add the customer roles, which a June 2026 JSON-only change never gave them
- hide template rows the validator would refuse to save after the backfill

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JwkkywUhXWkgjQuf5ad9XV
2026-09-15 13:14:34 +05:30
Sydney
05d96777cb fix(perms): close field visibility gaps found in review
- prune permlevel-hidden fields in hidden_ticket_fields, so every caller
  drops both sets and not just the template tier
- keep the contact card when raised_by is hidden
- let a portal reply reopen a replied or resolved ticket
- let the closing email's rating reach the closed ticket
- keep the merge link when the agent has no write at the internal level
- stop treating System Manager as an agent
- refuse renaming the Default template

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JwkkywUhXWkgjQuf5ad9XV
2026-09-15 12:40:58 +05:30
Ritvik Sardana
a4edff132e fix: colour the declined call status in the call log modal 2026-09-14 16:09:28 +05:30
Ritvik Sardana
67de9922b1 perf: drop the tailwind safelist in favour of literal status colors 2026-09-14 16:09:27 +05:30
Ritvik Sardana
6c33986659 fix: stop call() responses from raising server message toasts 2026-09-14 02:08:55 +05:30
frappe-pr-bot
bb678e1987 chore: update POT file 2026-09-13 14:30:54 +00:00
Ritvik Sardana
b5c870bdb4 fix: restore the tab row's pre-upgrade vertical spacing
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-12 18:35:06 +05:30
Ritvik Sardana
2c0899220e fix: give the condition row three equal-width controls
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-12 18:27:33 +05:30
Ritvik Sardana
7f5edf116e fix: stop a loading field list from blanking the settings detail pages
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-12 18:15:25 +05:30
Ritvik Sardana
7737d04fcc refactor: replace NestedPopover with the frappe-ui Popover
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-12 18:06:44 +05:30
Ritvik Sardana
4d53e43dee fix: match single-title page headers to the breadcrumb text size
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-12 13:39:51 +05:30
Ritvik Sardana
b39f7d7a31 fix: give the tab rows their pre-upgrade height back
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-12 13:39:49 +05:30
Ritvik Sardana
fbd5cb1098 fix: match the view breadcrumb text size to every other breadcrumb
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-12 13:32:58 +05:30
Ritvik Sardana
fab46b2725 fix: close the view menu before its dialog, and settle its row hover
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-12 13:23:00 +05:30
Ritvik Sardana
16ab46898b fix: move the profile status dot to the bottom right
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-12 13:12:41 +05:30
Ritvik Sardana
dd8d968506 fix: close the remaining dead ends the audit confirmed
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-12 13:08:36 +05:30
Ritvik Sardana
cb30673e37 fix: repair the data-loss and dead-control paths the audit confirmed
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-12 13:01:51 +05:30
Ritvik Sardana
8e9e853a49 fix: close the emoji picker once a reaction is picked
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-12 12:53:30 +05:30
Ritvik Sardana
4774d6168b fix: keep the ticket kebab menu when merge is unavailable
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-12 12:53:29 +05:30
Ritvik Sardana
5dd6e87c42 fix: let a changed feedback status enable the save button
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-12 12:53:29 +05:30
Ritvik Sardana
8622b7b88c fix: let the SLA enabled switch toggle once per click
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-12 12:53:28 +05:30
Ritvik Sardana
f2b47ebc34 fix: stop a custom field committing the text typed into its search box
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-12 12:53:28 +05:30
Ritvik Sardana
0455163a92 fix: put the width where a custom trigger slot cannot drop it
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-12 12:53:27 +05:30
Ritvik Sardana
0aaf1966dd fix: let MultipleAvatar take the array its callers pass
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-12 12:44:18 +05:30
Ritvik Sardana
f3fd4f20d5 fix: drop the dead clear button from the language field
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-12 12:37:07 +05:30
Ritvik Sardana
fa3d78eb0a fix: stop the tags row from opening the colour picker
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-12 12:37:05 +05:30
Ritvik Sardana
f50e0957f2 fix: give the saved reply and signature editors an uploader
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-12 12:24:27 +05:30
Ritvik Sardana
5f12a70c41 feat: mount the table menu so inserted tables can be edited
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-12 12:23:00 +05:30
Ritvik Sardana
7cb87d7185 fix: hand the editor's upload signal and progress callback to the uploader
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-12 12:20:49 +05:30
Ritvik Sardana
5439daad78 fix: pass form-script toast icons through as components
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-12 12:17:37 +05:30
Ritvik Sardana
4fde6a2a57 chore: drop the QA screenshots that slipped into the branch
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-12 12:15:34 +05:30
Ritvik Sardana
e20c5f0eb9 fix: make the SLA card hover-only and give AssignTo its layout box back
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-12 12:13:48 +05:30
Ritvik Sardana
28f60f059d fix: drop the dead bindings the date pickers and preset menu carried
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-12 12:09:21 +05:30
Ritvik Sardana
67c446f8b2 fix: clear the second round of audit findings
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-12 12:07:43 +05:30
Ritvik Sardana
20a7b137b6 fix: replace the props and tokens beta.63 no longer has
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-12 12:02:47 +05:30
Ritvik Sardana
a0ebcc200d fix: reset the right delete flags and stop the KB search opening on click
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-12 12:01:25 +05:30
Ritvik Sardana
d8a103495f fix: repair the beta.63 contract breaks the audit found
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-12 11:59:23 +05:30
Ritvik Sardana
963e82ec03 fix: focus inputs through the component API, not $el
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-12 11:55:31 +05:30
Ritvik Sardana
24438c9f3e fix: give Switch real booleans where the source is a doctype check field
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-12 11:45:16 +05:30
Ritvik Sardana
845cefcb67 fix: clear the runtime warnings the beta.63 QA sweep surfaced
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-12 11:40:58 +05:30
Ritvik Sardana
808c84df15 refactor: replace the vendored autocompletes with frappe-ui Combobox
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-12 11:28:46 +05:30
Ritvik Sardana
55b02def4e fix: stop popover triggers from toggling twice
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-12 11:19:41 +05:30
Ritvik Sardana
c60d549184 fix: close dialogs from the action context and restore the page length picker
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-12 01:03:03 +05:30
Ritvik Sardana
db8851aa9a fix: reset the delete confirmation from the dropdown open state
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-12 00:57:49 +05:30
Ritvik Sardana
a62daf7c8d fix: restore button element refs, date quick filters and combobox query resets
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-12 00:56:10 +05:30
Ritvik Sardana
f6cf255d19 fix: make component-based dropdown rows real menu options again
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-12 00:54:09 +05:30
Ritvik Sardana
abbc0430f8 fix: restore tab labels, input focus refs and the change password fields
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-12 00:46:14 +05:30
Ritvik Sardana
8a21e8291f fix: import HoverCard so the hover panels resolve
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-12 00:40:20 +05:30
Ritvik Sardana
78160ca54b fix: rename dropdown group items to options so grouped menus render
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-11 23:31:40 +05:30
Ritvik Sardana
99863e6c7c fix: repair an inert ink class on the reaction button
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-11 23:24:32 +05:30
Ritvik Sardana
312e6a9240 fix: drop props v1 overlays no longer read
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-11 23:20:07 +05:30
Ritvik Sardana
bfb6fac112 chore: drop a screenshot committed by mistake
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-11 23:17:56 +05:30
Ritvik Sardana
8729f9cdf3 fix: scan frappe-ui experimental for Tailwind classes and bind date pickers
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-11 23:17:03 +05:30
Ritvik Sardana
fd6e22de75 fix: keep alias icon names rendering and pin prosemirror to tiptap's floor
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-11 23:14:44 +05:30
Ritvik Sardana
6dd1d4f1e3 fix: render the call log and article list icons again
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-11 23:10:45 +05:30
Ritvik Sardana
5fdff36113 fix: restore tab panel layout and the grouped list icon
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-11 22:58:59 +05:30
Ritvik Sardana
c65b1aee20 fix: replace toast.create, prefix lucide icon names and dedupe prosemirror
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-11 22:47:20 +05:30
Ritvik Sardana
938de94638 fix: guard useOnboarding for guests and restore the tag search shortcut
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-11 22:38:31 +05:30
Ritvik Sardana
d513667c3f fix: migrate Tabs, HoverCard, Menu groups and Badge themes to v1
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-11 22:36:26 +05:30
Ritvik Sardana
59fadaefa7 fix: migrate Popover, Tooltip and Dropdown to the v1 slot and prop names
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-11 22:32:06 +05:30
Ritvik Sardana
eb67904747 refactor: replace FeatherIcon with lucide icons
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-11 22:25:16 +05:30
Ritvik Sardana
a56fd4d430 refactor: move frappe-ui imports to their beta.63 homes
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-11 22:13:55 +05:30
Ritvik Sardana
43d9ae3f2b chore: bump frappe-ui to 1.0.0-beta.63
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qR2bFcCSBEXQXtXws8oas
2026-09-11 21:59:55 +05:30
Sydney
795b75c861 Merge remote-tracking branch 'upstream/develop' into fix/ticket-field-level-perms 2026-09-11 21:18:59 +05:30
Sydney
1b9166bb24 refactor(perms): clarify the visibility lookup name and comments 2026-09-11 21:02:25 +05:30
Sydney
50d8596104 refactor(perms): improve code quality and trim comments 2026-09-11 20:52:55 +05:30
Sydney
05f3b9b416 refactor: code quality 2026-09-11 15:25:22 +05:30
RitvikSardana
3ab76d795f Merge pull request #3765 from RitvikSardana/fix/assignment-notification-backlog
fix: assignment notification backlog, deprecate replaced doctypes
2026-09-10 02:09:03 +05:30
Ritvik Sardana
e6b7a6d74e chore: reduce comments in the assignment backlog patch 2026-09-10 01:56:59 +05:30
Ritvik Sardana
f91eec298d test: move the notification log seeder into test_utils
AGENTS.md requires backend test helpers to live there.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TFVLhhv1VXBVfSP6gZ71Lp
2026-09-10 01:47:33 +05:30
Ritvik Sardana
3b2296960d refactor: stop writing to the doctypes core replaced
Bounce and auto-reply notes still went to HD Ticket Comment, which nothing
displays, so agents never saw that their reply had bounced. They are core
Comments now, and the test that covered them was querying the old table.

Assignment was logged as an HD Ticket Activity row from two places in the
SPA. Core assign_to already writes that entry to the timeline, so both were
invisible duplicates. Both call sites also destructured `activities` off
useTicket, which no longer provides it; they use reloadTicketFeed now.

Also drops the dead HD Notification type from the SPA, the unused
log_ticket_activity, and the split and on_trash blocks that only ever
touched legacy rows. Core delete_doc already clears a document's Comment
and Notification Log rows, and split moves the Comment rows the activities
were migrated into.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TFVLhhv1VXBVfSP6gZ71Lp
2026-09-10 01:46:21 +05:30
Ritvik Sardana
b947a41ec3 fix: make the sidebar notification dot black
Blue read as a link affordance next to a bell that is not one.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TFVLhhv1VXBVfSP6gZ71Lp
2026-09-10 01:00:13 +05:30
Ritvik Sardana
1ba03d358a chore: deprecate the doctypes replaced by core
HD Ticket Comment, HD Ticket Activity and HD Notification are no longer
written to. Nothing calls log_ticket_activity, and comments and
notifications go to Comment and Notification Log. The rows stay readable.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TFVLhhv1VXBVfSP6gZ71Lp
2026-09-10 00:57:01 +05:30
Ritvik Sardana
607c5babcb fix: mark pre-upgrade assignment notifications as read
Helpdesk only notified on manual assignment. Core assign_to now owns
assignments and notifies on every one, so the first load after the upgrade
shows an unread row for every ticket the Assignment Rule had ever routed.

Clears that backlog once. Assignments made after the patch still arrive
unread.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TFVLhhv1VXBVfSP6gZ71Lp
2026-09-10 00:56:55 +05:30
RitvikSardana
d96e9e39a0 Merge pull request #3700 from RitvikSardana/refactor/comments-notifications-migration
refactor: comments and notifications doctype
2026-09-09 23:53:12 +05:30
Ritvik Sardana
a979e843df feat: print per-chunk progress while migrating comments and notifications 2026-09-09 23:35:49 +05:30
Ritvik Sardana
dd9911a883 fix: delete a comment's notifications along with it 2026-09-09 16:48:06 +05:30
Ritvik Sardana
8d20dae571 fix: remount the ticket page when navigating to an already visited ticket
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RLRT2UCFYoGRxyahBphFbY
2026-09-09 16:25:29 +05:30
Ritvik Sardana
298a69758c fix: fetch comment extras and calls once per ticket instead of on every tab change
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RLRT2UCFYoGRxyahBphFbY
2026-09-09 16:02:50 +05:30
Ritvik Sardana
265a8c90b3 refactor: drop the desk form wrappers now that core honours Comment permissions
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RLRT2UCFYoGRxyahBphFbY
2026-09-09 13:28:59 +05:30
Ritvik Sardana
bb998cce65 docs: prefer framework fixes over helpdesk workarounds in agent guidelines 2026-09-09 11:03:40 +05:30
Ritvik Sardana
d4fa0b2b61 fix: lock the comment row so concurrent reaction toggles cannot double insert 2026-09-09 11:02:34 +05:30
Ritvik Sardana
84f6b9ae52 fix: address review findings in comment migration and notifications 2026-09-09 10:41:50 +05:30
Sydney
f88a61bd8c refactor(perms): replace the role ladder with audiences 2026-09-08 16:27:58 +05:30
Sydney
bfd72acdb7 style(perms): trim comments to a line or two 2026-09-08 15:26:00 +05:30
RitvikSardana
c0017a446a Merge pull request #3697 from RitvikSardana/fix/dynamic-timeline-legend
fix: render ticket timeline legend from what the rail draws
2026-09-08 12:12:17 +05:30
RitvikSardana
2487a3f499 Merge pull request #3710 from RitvikSardana/fix/ui-changes
fix: polish UI in a few screens
2026-09-08 12:11:08 +05:30
Ritvik Sardana
ab9fbeae92 fix: resolve session user in the Comment permission hook 2026-09-08 11:23:53 +05:30
Ritvik Sardana
c8553a953d fix: gate comment extras behind the Comment permission hook 2026-09-08 10:57:38 +05:30
Ritvik Sardana
5619ce706f fix: comment tests 2026-09-07 17:46:58 +05:30
Ritvik Sardana
79e9b39964 Merge branch 'develop' of https://github.com/frappe/helpdesk into refactor/comments-notifications-migration 2026-09-07 16:52:56 +05:30
RitvikSardana
41ad71c69f Merge pull request #3760 from frappe/pot_develop_2026-09-06
chore: update POT file
2026-09-07 16:32:07 +05:30
Sydney
f1126f96fc refactor(perms): read the visibility tier for creation-fillable fields
creation_fillable_template_fields keyed on hide_from_customer, the flag
synced from visible_to. Read the tier directly so the write path uses the
same source of truth as the rest of the field-visibility code.
2026-09-07 14:11:53 +05:30
frappe-pr-bot
7a46faa747 chore: update POT file 2026-09-06 13:44:55 +00:00
Sydney
fc51371e55 refactor(perms): drive ticket field visibility from template tiers
The Default template used to write custom-field permission levels directly,
which raced with Customize Form and needed a base_permlevel column to undo it.
Permission levels now stay a static security floor; the template's visible_to
tier only narrows what each role sees on helpdesk pages, enforced by the
HDTicket read override and the app's own endpoints. Agent-only fields are
dropped from hardcoded portal rows via a _hidden_fields list, and a cosmetic
patch backfills visible_to on rows that predate the column.
2026-09-04 19:54:12 +05:30
Sydney Gomes
9b1023c861 Merge pull request #3628 from aerodeval/fix/bounce-notification-loop
fix: stop mail loops from bounces and autoresponders
2026-09-03 16:40:57 +05:30
Sydney
4592c40f4e chore: shorten comments 2026-09-03 16:19:27 +05:30
Sydney Gomes
567965ed50 Merge pull request #3746 from aerodeval/fix/portal-settings-patch-link-validation
fix: write portal defaults without saving the whole document
2026-09-03 12:41:25 +05:30
Sydney
acd2e28600 fix: let auto-replied mail thread onto its ticket
An out of office should reach agents on the ticket, and auto-replied
senders rate-limit themselves so they cannot sustain a loop the way
bounces and auto-generated feeds can. Those still get parked.
2026-09-03 02:53:36 +05:30
Sydney
f2ac96a4c8 fix: write portal defaults without saving the whole document
Saving Portal Settings validates every link on it, so a menu row left
behind by a deleted doctype failed the write and stopped migrate. Write
the two Single values directly, from one function install and the patch
now share.
2026-09-03 02:41:26 +05:30
Sydney
6a1693dcc6 Revert "refactor: move overrides into per-doctype folders"
This reverts commit b3b717d183.
2026-09-03 02:12:57 +05:30
Sydney
b3b717d183 refactor: move overrides into per-doctype folders 2026-09-03 02:04:58 +05:30
Sydney
8fdbf36add fix: ci lint error 2026-09-03 01:46:27 +05:30
Sydney
f80a004ef6 fix: record parked mail and note it on the ticket
Record Unhandled Email on every transport, not just IMAP, and leave an
internal comment on the matched ticket when a bounce or auto-reply is
parked, so agents still see failed deliveries and out-of-office replies.
2026-09-03 01:41:35 +05:30
Sydney Gomes
36b7490f07 Merge pull request #3433 from aerodeval/handle-disabled-status
fix: move agents off an agent status when it is disabled
2026-09-02 21:49:24 +05:30
Sydney
295d13a421 fix: import userStorage from its new composables home 2026-09-02 20:17:15 +05:30
Sydney
2711f8a613 Merge remote-tracking branch 'upstream/develop' into handle-disabled-status 2026-09-02 20:17:03 +05:30
Sydney
41f7cd80b6 feat: greet a login whose status was changed while away
The toast only reaches agents who are online when it happens. Stamp who
changed the availability, send it with the login payload, and greet on
the next visit if it was someone else. First visit on a device only
records the baseline.
2026-09-02 20:09:53 +05:30
Sydney
9a5267893e fix: show the default agent status below the priority section 2026-09-02 19:17:32 +05:30
Sydney
bd526715ea fix(build): dedupe vue-router and dompurify for the linked @framework/ui
They are peers of @framework/ui that nothing installs next to its
source, so a build where the frameworkUI plugin's dedupe is missing
cannot resolve them.
2026-09-02 17:15:10 +05:30
Sydney Gomes
7b5d512e30 Merge pull request #3743 from aerodeval/fix/desk-build-vue-router
fix(build): dedupe vue-router and dompurify for the linked @framework/ui
2026-09-02 17:13:21 +05:30
Sydney
02d708f961 fix(build): dedupe vue-router and dompurify for the linked @framework/ui
They are peers of @framework/ui that nothing installs next to its
source, so a build where the frameworkUI plugin's dedupe is missing
cannot resolve them.
2026-09-02 16:56:18 +05:30
Sydney
8fa4f9d555 style: tighten and simplify comments 2026-09-02 12:26:54 +05:30
Sydney
8eb157d11d test: pin that force-delete cannot remove the default status 2026-09-02 03:35:28 +05:30
Sydney
6a8971baab fix: harden the disable path against two edge cases
A status disabled behind the controller's back could not save unrelated
fields once it was the default; guard on the transition, matching HD
Agent's availability check. And on_update runs on insert too, so a
status created disabled consulted the default for agents it cannot
have; query the agents first.
2026-09-02 03:21:46 +05:30
Sydney
4953b2a860 fix: spell out the ordering the migration freezes
The patch reproduced the old lookup's implicit ORDER BY, which is the
right value to freeze but the wrong thing to leave unsaid in a change
about not relying on implicit ordering. Pinned with a test.
2026-09-02 02:57:04 +05:30
Sydney
a8e10a11f5 fix: name the default agent status in HD Settings
Picking it with an implicit ORDER BY decided where agents get moved when
their status is retired. HD Settings names it now, like it already does
for the ticket statuses.
2026-09-02 02:48:17 +05:30
Sydney Gomes
bf050e7301 Merge pull request #3742 from aerodeval/fix/grammarly-click-outside
fix: avoid  improper reply box closing for Grammarly suggestions
2026-09-02 02:02:44 +05:30
Sydney
beacb925f4 fix: keep reply box open when using a Grammarly suggestion
Grammarly renders its suggestion card outside the reply box, so accepting one counted as a click outside and closed the box.
2026-09-02 01:30:25 +05:30
Sydney Gomes
6f32222675 Merge pull request #3741 from aerodeval/fix/settings-ui-polish
fix(settings): blank empty states, always-visible Update Account, false typing indicator
2026-09-01 14:46:59 +05:30
Sydney
e2e5a3c198 fix(email): don't broadcast typing when the signature loads
The watcher on newEmail called onUserType() for any change, including
programmatic ones. An agent with a signature configured has it dropped
into the empty editor on load, which emitted helpdesk_ticket_typing - so
merely opening a ticket showed "is typing" to everyone else viewing it.

Skip content that is empty or only the signature. This also covers agents
with no signature, whose editor is filled with an empty paragraph.
2026-09-01 12:20:12 +05:30
Sydney
a989a6bafc fix(settings): show Update Account only when the account changed
The button was always visible, so clicking it with no edits only produced
a "No changes made" toast.

isDirty could not be reused as it stood: the form normalises what the
server sends (a 0 becomes false, a null becomes ""), then compared those
values back against the raw account, so every custom account reported
itself as changed. Compare against values built by the same initialisers
instead, and iterate the fields rather than listing them - the old chain
omitted use_tls, use_ssl_for_outgoing and four others, so editing only
those said "No changes made" and dropped the edit.
2026-09-01 12:20:02 +05:30
Sydney
b8d701a56b fix(settings): import EmptyState so empty screens render
Four settings screens use <EmptyState> in their template but never import
it. There is no component auto-import plugin, so Vue cannot resolve the tag
and renders nothing, leaving a blank pane where the empty state should be.

Email Accounts also showed its empty state while the list was still
loading; guard it on loading like the other three screens do.
2026-09-01 12:19:52 +05:30
Sydney Gomes
2574d2f1f7 Merge pull request #3739 from aerodeval/fix/attachment-download-fallback
fix: download attachments the browser cannot preview
2026-08-31 22:22:23 +05:30
Sydney
56947b47b8 fix: download mov attachments instead of previewing 2026-08-31 17:23:32 +05:30
Sydney
8fe4b398cd fix: keep mov, m4v, ico and apng previewable 2026-08-31 16:29:58 +05:30
Sydney
5a3bff0630 fix: download attachments the browser cannot preview 2026-08-31 16:25:24 +05:30
Sydney Gomes
27f459fff2 Merge pull request #3737 from frappe/pot_develop_2026-08-30
chore: update POT file
2026-08-31 12:51:17 +05:30
frappe-pr-bot
f954dac6a3 chore: update POT file 2026-08-30 14:54:54 +00:00
Sydney
c1eace1d2e fix: never show the ticket key and lift shown fields at migrate
The template refuses to show key at any permission level, since it
authenticates guest feedback links. The migration also lifts shown
custom fields below the visible level to 7, still never lowering.
2026-08-30 00:40:46 +05:30
RitvikSardana
081e9d9204 Merge pull request #3718 from frappe/pot_develop_2026-08-27
chore: update POT file
2026-08-29 02:40:34 +05:30
Ritvik Sardana
5b81fd1ae3 fix: revoke comment permission for customer user 2026-08-29 00:31:22 +05:30
Sydney
895d09d04a fix: never lower a permlevel when a template row is removed
A stale base could undo a restriction the admin set while the field
was listed. Removal now restores the base only when that raises the
level, so exposing a removed field always takes Customize Form.
2026-08-28 19:46:06 +05:30
Sydney
a0f7599aa5 fix: keep customize form levels on template field removal
Removing a row now only undoes the sync's own write. A level an
admin set in Customize Form after the field was added is newer
than the recorded base, so it stands.
2026-08-28 19:31:57 +05:30
Sydney
003f07b6a2 feat: sync custom field permlevels with template visibility
Hiding a custom field in the default template raises it to the
internal level and showing it lowers it to the visible level.
Removing a row returns the field to the level it arrived with,
remembered on the row. The migration patch records those base
levels and stays raise only, so an upgrade never exposes a field.
2026-08-28 19:14:52 +05:30
Sydney
5d04af5d8d refactor: make hide from customer form-only for custom fields
Hiding a custom field no longer raises its permission level. Like
standard fields, it only comes off the form now, and Customize Form is
the one place that changes what customers may read. Templates never
touch a permission level.
2026-08-28 17:03:24 +05:30
Sydney
45422c0cf1 refactor: rename customer_writable_now to customer_editable_fields 2026-08-28 17:03:13 +05:30
Sydney
d7a27be0f2 fix: raise the permlevel of custom fields hidden in the template
Hiding only moved the field off the form, so the API still served it.
Raise only: a template save can never expose a field, and showing one
again means lowering its level in Customize Form first.
2026-08-28 14:26:37 +05:30
Sydney
1546a0bf23 refactor: name the permission guards for what they do
is_staff -> is_agent_staff, CUSTOMER_WRITABLE_AFTER_CREATION ->
CUSTOMER_EDIT_EXEMPT_FIELDS, and shorter comments throughout.
2026-08-28 13:45:41 +05:30
Sydney
9a429e48b2 test: cover the form script and template permission rules 2026-08-28 13:15:17 +05:30
Sydney
5f4a7b6514 refactor: stop templates writing field permission levels
Saving the default template moved custom field permlevels, so one doctype's
save changed another's schema. Setting a permission level is a customization
and belongs in Customize Form.

The template now only validates: an internal field cannot be shown to
customers, standard and custom alike. Hiding a field means form only, which
the fields table now says.
2026-08-28 13:15:10 +05:30
Sydney
22da73bc0a refactor: move ticket permission constants to consts
PORTAL_INSERT_EXEMPT_FIELDS was SERVER_OWNED_INSERT_FIELDS, which described
neither what the list does nor when. It exempts fields from the permlevel
reset, and only on insert.
2026-08-28 13:15:01 +05:30
Sydney
f6482d5563 revert: drop the read check on the outside hours banner 2026-08-28 13:14:51 +05:30
Sydney
1fa8b45542 fix: keep agent form scripts off the customer portal
Customers held read on HD Form Script, so a portal login could list every
script including agent-only ones. get_one also took is_customer_portal from
the caller, so asking for the agent scripts produced them.

Delivery is unchanged: get_form_script reads through the query builder, so
portal scripts still reach customers without the doctype grant.
2026-08-28 13:14:43 +05:30
Sydney
4f9a505e4c Merge remote-tracking branch 'upstream/develop' into fix/ticket-field-level-perms
check_update_perms was refactored on both sides. Kept develop's null-safe
old_doc guard and this branch's is_staff check, which drops the
via_customer_portal clause so an agent-raised ticket is frozen once it is
closed or rated.
2026-08-28 02:06:49 +05:30
Sydney
3c930bc172 refactor: limit template permlevel sync to custom fields
Saving a template rewrote permission levels on shipped HD Ticket fields
through Property Setters. That overlay competes with Customize Form over
the same value, and nothing clears a stale one on migrate.

Standard field levels are now static in the doctype and nothing writes
them at runtime. Custom fields keep taking their level from the template,
written straight onto the Custom Field row: that column is the field's
own definition, so there is no overlay and nothing to race. Hiding a
custom field still removes it from API responses, which is the point.

Hiding a standard field is now a form choice only. The levels the app
ships already say what customers may read, and Customize Form is where
that is changed.

No Property Setter is written or deleted anywhere any more.
2026-08-28 01:34:27 +05:30
Sydney
11120774c3 feat: stop customers editing tickets after they are raised
Permission levels cannot do this on their own. A customer needs write
access at level 0 to raise a ticket at all, which leaves subject,
description, feedback_rating and five more editable for the life of the
ticket. The level check is also skipped entirely when a save passes
ignore_permissions, so a whitelisted method that saves that way hands a
customer every field regardless of level.

prevent_customer_edits runs in before_validate and refuses any change a
customer did not make while raising the ticket. They may still close it
and rate it, nothing else. Closing means moving to a status whose
category is Resolved: Replied means an agent answered, so accepting it
would let a customer misrepresent the queue.

Server-side writers acting for the customer set ignore_customer_edit_guard.
The one on on_communication_update is required rather than defensive, as
after_insert reaches it on every ticket that has a description.

check_update_perms no longer skips tickets an agent raised, which let a
customer revise their rating afterwards. is_staff covers System Managers,
who are not agents but hold write at every level.
2026-08-28 01:34:11 +05:30
Sydney
532ac17049 fix: check read permission on the outside hours banner
Every other endpoint in this module checks it. Without it any signed-in
user could pass a ticket name they have no access to and learn that it
exists, that it was raised outside working hours, and the response-time
message.
2026-08-28 01:33:33 +05:30
frappe-pr-bot
891abbef44 chore: update POT file 2026-08-27 07:56:22 +00:00
Sydney
30af657041 fix: show response and resolution times on tickets with no SLA
The sidebar hid both rows unless an SLA metric existed, so a ticket
raised without a priority showed nothing. Fall back to the timestamp.
2026-08-27 13:06:06 +05:30
Sydney
5441b3050f fix: give HD Customer Manager the reads HD Customer has
The portal loads these three doctypes for every customer, but only the
HD Customer role could read them, so a customer manager hit a permission
error on the ticket form.
2026-08-27 13:06:01 +05:30
Sydney
63e8c3d11f feat: let customers read SLA timings
Moves the SLA display fields to the customer-readable permlevel so the
portal can show first response and resolution. That puts them at a level
customers may write at creation, so SERVER_COMPUTED_FIELDS keeps them out
of the creation exemption and off the template form.
2026-08-27 13:05:55 +05:30
Sydney
b5b7c10e94 fix: parenthesize the exception tuple 2026-08-27 13:05:23 +05:30
Sydney Gomes
715e368e80 Merge pull request #3711 from aerodeval/fix/outside-hours-holiday
fix: consider holidays for outside working hours banner
2026-08-20 16:47:30 +05:30
Sydney
54e4587eb4 fix: consider holidays for outside working hours banner 2026-08-20 15:33:41 +05:30
Ritvik Sardana
c2a454ee0d fix: polish UI in a few screens 2026-08-20 13:38:51 +05:30
Ritvik Sardana
7e6a94b163 fix(ticket): keep one loading state on the agent ticket page
The page gated on prefetchActivityTimeline, which no longer exists — the
timeline store is only reachable through useActivityTimeline. TicketAgent now
starts the feed itself and latches its loading flag, so the doc and the feed
load behind a single spinner instead of two in sequence. Latched because a
doc_update reloads the feed, which must not blank the page.

Saved reply actions reload the feed through the mounted timeline, which
registers its refresh on the ticketMap entry, keyed per ticket so a reload
after a ticket switch hits the right feed.

Also moves the timeline imports to the @framework/ui/ActivityTimeline entry
point and picks up AttachmentChip for comment attachments.
2026-08-18 02:06:14 +05:30
Ritvik Sardana
03a8d28289 fix: update VERSION_FIELDS 2026-08-17 23:45:54 +05:30
Ritvik Sardana
d71eb249ba fix: saved reply comment actions with core comments
- assert the Add Comment action lands in core Comment, not HD Ticket Comment
- reload the timeline after actions apply: the send-triggered reload races
  the action comment's socket append and can drop it until a refresh
- drop contact from the version fields worth a feed row
2026-08-17 23:40:23 +05:30
Ritvik Sardana
69fb59c899 Merge branch 'develop' of https://github.com/frappe/helpdesk into refactor/comments-notifications-migration 2026-08-17 23:02:05 +05:30
Ritvik Sardana
787d9b2dac refactor(timeline): use framework/ui ActivityTimeline component
Replace the hand-rolled ticket activity feed (TicketAgentActivities,
EmailArea, CommentBox, HistoryBox, FeedbackBox) with the framework's
ActivityTimeline + useActivityTimeline on both desktop and mobile.

- one shared fetch per ticket (SHARED_VISIBLE_TYPES); tabs filter client-side
- TimelineContainer bounds the feed; mobile page is a clamped column
- comment extras (reactions/attachments) via helpdesk.api.timeline
- deep links map ?highlight=comment-/communication- to timeline row keys
- drop dead server endpoints (get_ticket_activities, get_history,
  get_version_history, get_views)
2026-08-17 23:01:28 +05:30
Pratham Sharma
20eb1fd7c1 Merge pull request #3701 from ps173/auto-generate-pot
chore: auto generate POT files for main-hotfix
2026-08-17 16:01:05 +05:30
Pratham
9c709ac2f8 chore: auto generate POT files for main-hotfix 2026-08-17 15:31:01 +05:30
Ritvik Sardana
c1b8c2c534 fix: pop out comments form api get_one 2026-08-17 00:57:46 +05:30
Ritvik Sardana
0db605ef36 fix(comments): guard reactions to ticket comments, handle missing search index, port reaction tests 2026-08-16 00:31:22 +05:30
Ritvik Sardana
462f1e30f3 test: cover the search index relabel patch 2026-08-16 00:05:02 +05:30
Ritvik Sardana
a4bed869dd fix: don't bump modified when back-filling erpnext_customer 2026-08-15 22:12:30 +05:30
Ritvik Sardana
b4e97540f3 refactor: read notifications from core Notification Log 2026-08-15 22:11:59 +05:30
Ritvik Sardana
e02179371b refactor: codebase to use core comments instead of hd_ticket_comment 2026-08-15 21:38:55 +05:30
Ritvik Sardana
ec828d9993 fix: set up core comments schema on fresh install 2026-08-15 14:30:17 +05:30
Ritvik Sardana
aed32274ad refactor: migrate ticket comments and notifications to core doctypes 2026-08-15 14:28:21 +05:30
Ritvik Sardana
fe2ebaed5b fix: render timeline legend from what the rail draws 2026-08-14 05:18:13 +05:30
RitvikSardana
34e0e8f41a Merge pull request #3696 from RitvikSardana/fix/hide-bulk-actions-for-customers
fix: hide bulk reply, assign and edit from customer roles
2026-08-14 00:07:06 +05:30
Ritvik Sardana
c3ae467da1 fix: hide bulk reply, assign and edit from customer roles
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-13 23:59:54 +05:30
RitvikSardana
c74c98e4ff Merge pull request #3693 from RitvikSardana/feat/macros
feat: actions in saved replies
2026-08-13 14:08:40 +05:30
Ritvik Sardana
ea1a302fb1 fix: add telemetry event for saved reply actions 2026-08-13 13:23:43 +05:30
Ritvik Sardana
b32a2f0eac fix(ux): adding actions 2026-08-13 13:11:43 +05:30
Ritvik Sardana
729607fb68 fix: unified collapsed state for saved reply actions 2026-08-13 11:20:29 +05:30
Ritvik Sardana
7e06f188c4 fix: reject non string action values on save 2026-08-12 22:39:22 +05:30
Ritvik Sardana
f574a2caf6 fix: paginate saved reply selector 2026-08-12 22:11:34 +05:30
Ritvik Sardana
dccc7acc73 fix: skip shadowed saved reply actions and silence ssti lint 2026-08-12 22:05:13 +05:30
Ritvik Sardana
908c408847 fix: clear stale assignment rule cache after saved reply action tests 2026-08-12 21:21:31 +05:30
Ritvik Sardana
c19afe3496 refactor: sla style table for saved reply actions 2026-08-12 20:46:43 +05:30
Ritvik Sardana
a8addfb8b7 feat: editable comments from actions 2026-08-12 20:46:34 +05:30
Ritvik Sardana
8dc39e144b chore: truncate comment text 2026-08-12 14:05:45 +05:30
Sydney
e19b72965d feat: confirm customer access for the fields a template save touched 2026-08-12 14:05:12 +05:30
Ritvik Sardana
17e9393e96 fix: ux for saved reply action failures 2026-08-12 13:59:50 +05:30
Sydney
11072dcee3 refactor: plain-english template permission messages 2026-08-12 13:48:36 +05:30
Sydney
dc31abeedd refactor: extract customer_may_fill_at_creation helper 2026-08-12 13:15:52 +05:30
Ritvik Sardana
ede91aee21 fix(styles): settings modal 2026-08-12 12:58:23 +05:30
Ritvik Sardana
1365b139ba fix: keep staged saved reply actions when apply rolls back 2026-08-12 12:58:13 +05:30
Ritvik Sardana
972ad7012d fix: drop staged saved reply actions on failed apply, scope per agent 2026-08-12 12:29:21 +05:30
Ritvik Sardana
491573946f refactor: move replyComposer into modalStates 2026-08-12 11:42:32 +05:30
Ritvik Sardana
3f05c90c14 fix: update saved reply icon 2026-08-12 02:36:18 +05:30
Ritvik Sardana
2d17b29909 fix(styles): saved reply selector filter 2026-08-12 02:28:49 +05:30
Ritvik Sardana
8e1c071f14 fix: select field saving on every keystroke 2026-08-12 02:01:41 +05:30
Ritvik Sardana
169820f8e7 feat: open the action picker from the whole chip 2026-08-12 02:01:39 +05:30
Ritvik Sardana
199a43302e refactor: saved reply modal fetching 2026-08-12 02:01:31 +05:30
Ritvik Sardana
fd5704d128 chore: code cleanup 2026-08-12 00:21:54 +05:30
Ritvik Sardana
2c8a7c0e7d refactor: cut saved reply action network calls
Build the action options once instead of per component: frappe-ui reloads a
cached list resource on every createListResource call, so each action chip
fired its own tags, ticket type and team requests.

Team and ticket type are now searched like link fields (debounced name query)
rather than fetched whole.
2026-08-12 00:18:41 +05:30
RitvikSardana
83c5121b39 Merge pull request #3692 from RitvikSardana/fix/ticket-create-crash-on-missing-old-doc
fix(hd-ticket): don't check update perms without a previous version
2026-08-12 00:07:33 +05:30
Ritvik Sardana
e4589968d5 fix: replacing a saved reply closes the reply editor 2026-08-11 22:24:07 +05:30
Sydney
9da6353a0a fix: tighten which fields customers can fill at creation 2026-08-11 20:00:49 +05:30
Sydney
27650682f8 fix: make visible template fields fillable only at creation 2026-08-11 19:26:18 +05:30
Ritvik Sardana
1642385558 fix(hd-ticket): don't check update perms without a previous version
check_update_perms() ran off self.is_new() as a proxy for "there is a
previous version to compare against". __islocal can be cleared during
insert() (any before_insert hook that persists the doc calls db_insert,
which sets it to False), so is_new() was False on create while
_doc_before_save was still None, and old_doc.status raised AttributeError.

Guard on the previous doc itself, which is what the check actually needs.
2026-08-11 19:04:26 +05:30
Sydney
c53a78e4d7 fix: drive ticket permlevels from the default template only 2026-08-11 18:56:01 +05:30
Ritvik Sardana
72a3d5623b fix: make saved reply actions field read only in desk 2026-08-11 18:44:43 +05:30
Ritvik Sardana
10145f63c0 fix: actions clearing bug 2026-08-11 18:43:08 +05:30
Ritvik Sardana
3f66824512 feat: edit actions from email editor 2026-08-11 18:23:33 +05:30
Ritvik Sardana
7ddc78a7d0 feat: add actions in email editor
Saved reply actions are staged in the composer and applied once the reply
is sent. Chips are individually removable, the staged comment is editable,
and applying another reply replaces the staged set.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-11 17:36:41 +05:30
Sydney
0f2ffc0856 feat: restore shipped permlevels when a template drops a field 2026-08-11 14:27:37 +05:30
Sydney
d09f7abd2d fix: leave desk inserts by system managers unstamped 2026-08-11 14:26:40 +05:30
Sydney
8260b84477 fix: let templates open only safe fields to customers 2026-08-11 14:25:33 +05:30
Sydney
71d7d1f163 Merge remote-tracking branch 'upstream/develop' into fix/ticket-field-level-perms 2026-08-11 14:01:07 +05:30
Ritvik Sardana
3e87c14cb7 fix: add grouping in actions 2026-08-11 12:52:01 +05:30
Ritvik Sardana
e37d817b19 feat(saved-replies): add actions table in Saved Reply
Saved replies can now carry actions (macros) that update the ticket when
the reply is sent: set status, priority, team or ticket type, assign an
agent or yourself, add/remove tags, and add a comment.

Backend
- HD Saved Reply gets an `actions` JSON field, with validation for the
  action type, its value, duplicates, and the one-assignment-per-reply
  and no-tag-in-both-lists rules
- `get_rendered_saved_reply` returns title, rendered message and the
  reply's still-valid actions
- `apply_saved_reply_actions` applies them to a ticket, skipping (not
  raising on) actions that went stale, since the email is already sent
- tests covering validation, permissions and application

Frontend
- Actions table in the saved reply settings form: one row per action,
  action type and its value edited in cells
- Rendered with the shared Grid component from @framework/ui

Note: the Grid props used here (emptyText, addLabel, selectable,
reorderable, rowAction) ship in a companion frappe PR.
2026-08-11 12:44:02 +05:30
RitvikSardana
6d54842fd7 Merge pull request #3690 from RitvikSardana/fix/permission-checks-use-passed-user
fix: use the passed-in user for team permission checks
2026-08-11 12:25:04 +05:30
RitvikSardana
e7ac9a0b8c Merge pull request #3689 from RitvikSardana/feat/ticket-analysis
feat: ticket analytics tab
2026-08-11 12:08:00 +05:30
Ritvik Sardana
9a8adfa445 fix: use the passed-in user for team permission checks 2026-08-11 12:07:29 +05:30
Sydney
72ad711cab refactor: declare server-owned permlevel exemption fields 2026-08-11 11:25:59 +05:30
Sydney
4abe45a8e4 feat: warn when template save changes ticket permlevels 2026-08-11 11:25:49 +05:30
Ritvik Sardana
67df48e170 fix: always label a late first response as Responded late 2026-08-11 01:53:30 +05:30
Ritvik Sardana
2f8fbf8a3e fix: place the resolution in the timeline instead of always last 2026-08-11 01:32:40 +05:30
Sydney
7ef57e5ad7 feat: drive ticket field permlevels from template visibility
Template save syncs field permlevels (hidden -> 8, visible -> 0),
replacing the insert-time exemption dance. Tiers move to 7/8/9 to
stay clear of site-defined levels. get_one reads through the doc
with field-level read permissions applied.
2026-08-11 00:18:31 +05:30
Ritvik Sardana
99ae84ade7 fix: keep resolution date and redden the overdue leg 2026-08-11 00:15:23 +05:30
Ritvik Sardana
3f17dded78 refactor: variable names in TicketTimeline 2026-08-10 23:34:48 +05:30
Ritvik Sardana
422c39f6a1 fix: shorten Average to Avg. in home page widgets
Widget titles read Average while the values inside them already read
Avg., so the same metric was labelled two ways on one screen.
2026-08-10 21:23:26 +05:30
Ritvik Sardana
c45594a3b5 refactor: build agents_involved with get_user_info_for_avatar
The desk was resolving each agent through its user store. Use the standard
avatar helper so the payload carries name and image, matching how the rest
of the ticket APIs return users.
2026-08-10 21:23:15 +05:30
Ritvik Sardana
33635792e8 refactor: ticket_analytics api
- exclude SLA-paused time from the agent response gap so the metric card
  and the milestone badge measure the same interval
- drop the payload left over from the deleted SLA timeline and gap chart
  (exchanges node, leg_label, progress, first_response_target)
- include assignees in agents_involved, resolving sender emails to user ids
  so one person cannot appear twice
- return user ids only, the desk resolves names and avatars from its store
- move the resource into useTicket with a per-ticket cache, fetched by the
  tab rather than on every ticket open
- show an error state with retry instead of a permanently blank pane
2026-08-10 21:19:08 +05:30
Ritvik Sardana
016c5eb159 fix: isolate churn test from HD Team assignment rules
An HD Team insert leaks its auto-created assignment rule across test
transactions, breaking unrelated suites with 'Assignment Rule not
found'. The team change is now recorded directly as the Version diff
churn() reads. Also moves add_message and timeline_node helpers to
test_utils per repo convention.
2026-08-10 19:37:53 +05:30
Ritvik Sardana
b2cbc94357 feat: reload analytics on status or priority change 2026-08-10 18:58:55 +05:30
Ritvik Sardana
30f6b829a0 feat: show year on timeline date labels when it changes
Also removes the planning document from the repo.
2026-08-10 18:57:33 +05:30
Ritvik Sardana
8dcc83b732 feat: unified ticket timeline
Replaces the SLA stepper and response gap chart with a single event rail:
split breach legs with a deadline tick, overdue stretch ending at a Today
marker, reworked metric cards (agent/customer gaps, hold time) and a
trimmed conversation summary.
2026-08-10 18:23:45 +05:30
Sydney
3e516d7f9b refactor: drop hidden field warning from template save 2026-08-10 16:18:47 +05:30
Sydney
756e7034dc fix: leave custom field permlevels to the user 2026-08-10 15:50:38 +05:30
Sydney
58bfe3f4a6 fix: keep permlevel protection until explicitly lowered 2026-08-10 14:17:23 +05:30
Sydney
27ef110197 test: add template factory that replaces leftovers 2026-08-10 14:17:21 +05:30
RitvikSardana
041502c285 Merge pull request #3688 from frappe/pot_develop_2026-08-09
chore: update POT file
2026-08-10 14:12:58 +05:30
Sydney
24d38e58ca fix: scope permlevel release to unhide and template delete 2026-08-10 14:03:20 +05:30
Sydney
2271cc74fd test: move field permission helpers to test_utils 2026-08-10 13:47:03 +05:30
Sydney
7e940791a4 refactor: batch queries in field permission patch 2026-08-10 13:47:01 +05:30
Sydney
b30e808784 fix: drop permlevel when template field is no longer hidden 2026-08-10 13:46:53 +05:30
Sydney
1fa0e2463b feat: reserve permlevel 3 for system manager 2026-08-10 13:43:01 +05:30
Sydney
dedd99fed0 Merge remote-tracking branch 'upstream/develop' into fix/ticket-field-level-perms
# Conflicts:
#	helpdesk/helpdesk/doctype/hd_ticket/hd_ticket.json
#	helpdesk/patches.txt
2026-08-10 13:14:21 +05:30
Sydney
46e6aa621f chore: shorten permlevel comments 2026-08-10 13:00:00 +05:30
Sydney
b24d7d686b test: cover creation response and customer link guard 2026-08-10 12:59:54 +05:30
Sydney
4fc624bf6f refactor: strip ticket creation response via read permissions 2026-08-10 12:59:48 +05:30
Sydney
fe0944c057 fix: validate customer link even when auto-set is off 2026-08-10 12:59:35 +05:30
frappe-pr-bot
712b630331 chore: update POT file 2026-08-09 10:59:25 +00:00
RitvikSardana
e17cb5601c Merge pull request #3680 from RitvikSardana/feat/bulk-actions2
feat(tickets): bulk edit and bulk assign from the selection banner
2026-08-07 21:33:59 +05:30
Ritvik Sardana
bf5a1bd83d fix(bulk-edit): match progress by task id, make status mandatory 2026-08-07 20:35:13 +05:30
Ritvik Sardana
852e58e62d refactor(tickets): surface Assign in the selection banner
Reply and Assign are the actions agents reach for on a selection, so they get
the banner buttons; Export, Edit and Delete move into the overflow menu.

Drops the icon scale classes: correcting one axis leaves the other wrong, and
correcting both distorts the glyph. Nothing CSS can do here.
2026-08-07 18:50:08 +05:30
Ritvik Sardana
f3c25b4524 feat(tickets): bulk edit and bulk assign from the selection banner
Adds two actions to the ticket list selection banner alongside the existing
bulk reply:

- Bulk Edit: sets a field on every selected ticket via the framework's
  `submit_cancel_or_update_docs`.
- Bulk Assign: assigns agents to every selected ticket via `add_multiple`.

Bulk Assign reuses the ticket view's own agent picker. `AssignTo` now treats a
missing ticket injection as standalone mode: it reports its selection through
v-model and leaves saving to the parent, so both call sites share one picker
instead of a second, worse one.

The banner shows Reply and Edit as buttons and keeps the rest in the overflow
menu; actions opt in with `inline`. Labels drop the redundant "Bulk" prefix
since the banner already states the selection count.

Also hardens the SLA cells to check `first_responded_on` / `resolution_date`
before the target date, matching `useSLA`, so a cleared target no longer
renders as a countdown.
2026-08-07 18:37:56 +05:30
Ritvik Sardana
5e097c4cb5 fix(list-view): fetch SLA fields for custom ticket views
Saved views send only their own column keys as `rows`, so `first_responded_on`
and `resolution_date` never reached the client. The First Response / Resolution
cells then fell through to the live-countdown branch, showing a ticking deadline
for tickets that had already been responded to or resolved.

Append the whole set of fields the SLA cells read, the way `sla` alone was
already being appended.
2026-08-07 18:37:13 +05:30
Sydney Gomes
2583ef1f90 Merge pull request #3677 from aerodeval/fix/email-recipient-popover-width
fix(email-select): truncate long recipient names in the popover
2026-08-06 13:08:41 +05:30
RitvikSardana
f71c556db8 Merge pull request #3679 from RitvikSardana/fix/ui-framework-plugin
fix: use framework ui plugin
2026-08-06 12:59:12 +05:30
RitvikSardana
587d6547bd chore: update package.json
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-08-06 12:39:08 +05:30
Ritvik Sardana
ae78b48f1b fix: remove framework ui installation script from dev command 2026-08-06 12:24:10 +05:30
Ritvik Sardana
a91e862358 fix: remove framework ui installation script 2026-08-06 12:18:13 +05:30
Ritvik Sardana
648f1f0c4d fix: use framework ui plugin 2026-08-06 12:14:49 +05:30
Sydney
dd22535ef8 fix: linter issues 2026-08-06 11:42:30 +05:30
Sydney Gomes
beb1de9545 Merge branch 'develop' into fix/email-recipient-popover-width 2026-08-06 01:12:29 +05:30
Sydney
0127ca4a5d fix(email-select): truncate long recipient names in the popover
A long contact name or address made the option row wider than the
popover's max-width, so the list scrolled sideways. Let the text column
shrink and truncate instead.
2026-08-06 01:04:48 +05:30
Sydney
5340d893e1 fix: key the availability toast on who made the change
Comparing the incoming value against the local one mistook an agent's own
change made in another tab for an admin change, because only the initiating
session applies the optimistic update. The event now carries changed_by, so
a client toasts only when someone else moved its status — which is also the
question the toast is actually asking.

Drops the pre-seed guard the value comparison needed.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-05 03:55:32 +05:30
Sydney
d528569268 fix: translate the status name in the availability toast
The picker renders status names through __(), so the toast that reports a
forced change should match.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-05 03:44:30 +05:30
Sydney
3ff3c1cbef fix: move agents off an agent status when it is disabled
An agent left on a disabled status keeps one that is no longer offered.
The picker filters disabled statuses out, so their own menu renders empty
while everyone else still sees the retired status against their name.

HDAgentStatus.on_update now moves those agents to the Active status. They
are saved one at a time rather than bulk-updated, so HD Agent's controller
does the validation, the availability_changed_on stamp and the realtime
broadcast — the same path every other availability change takes, and no
change to the socket payload. helpdesk/patches/set_default_agent_statuses
already resets agents on an invalid status the same way.

Which Active status: get_active_status resolves ties by creation, the
frappe.db.get_value default. Not status_order — the shipped statuses are
10/20/30 and a new one defaults to 0, so it would promote any custom
status above "Active". Documented on the function.

The affected agent now gets a toast, since their menu changes under them.
An in-app notification waits on the notification refactor: HD Notification
is ticket-shaped (notification_type is a Select of Assignment/Mention/
Reaction, user_from is mandatory). Left as a TODO on the reset.

Also renames the doctype's `enable` field to `enabled`, matching HD Ticket
Status and HD Service Level Agreement — it was the odd one out in its own
app. Migrated with rename_field in post_model_sync, which needs the synced
field in meta and no-ops on sites installed after the rename.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-05 03:41:16 +05:30
Sydney Gomes
9146da919c Merge pull request #3635 from aerodeval/refactor/agent-availability
refactor: agent availability through the document lifecycle
2026-08-05 03:18:22 +05:30
Sydney
c037dcf502 test: reset session user between HD Agent tests
frappe restores the session user per class, not per test, so the four
tests that call frappe.set_user leaked into every later one — the whole
class ran as test_user@test.com after the first of them.

Nothing fails today because the helpers save with ignore_permissions,
but test_manager_can_set_another_agents_availability calls add_roles(),
a permission-checked User.save(), under whatever session the previous
test left behind.

setUp/tearDown now restore Administrator, matching test_contact,
test_onboarding, test_tags, test_ticket_stats and test_agent_home.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-05 02:46:35 +05:30
Sydney Gomes
903abe0b16 Merge pull request #3638 from aerodeval/fix/agent-reply-email-threading
fix(email): give agent replies their own Message-Id so threads hold
2026-08-05 01:40:21 +05:30
Sydney
4d2afa9dbe refactor(email): name the send result, trim the comments around it
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0169cvSxbDNjSX57e12eGY9j
2026-08-05 01:24:42 +05:30
Sydney
974f01f3b6 fix(email): save a reply's Message-Id only once the mail has gone out
reply_via_agent saved the id before sending, so a reply that failed to send
kept an id the customer never received. bulk_reply logs failures instead of
raising, so that reply survived and the next reply answered it, putting an
In-Reply-To on the wire that resolves to nothing in the customer's mailbox.

Generate the id up front and pass it to sendmail as before, but write it to
the communication only after sendmail returns, and only if it queued
something - it returns nothing when every recipient is filtered out, which
is not a send either. A reply that never went out now keeps no id, so it can
never be answered. The row stays on the ticket so the agent still sees the
attempt.

A savepoint around each ticket was tried first and dropped: with HD Settings
instantly_send_email on, sendmail commits inside SendMailContext before the
SMTP attempt, which destroys the savepoint and makes the rollback throw,
hiding the real error.

Also reorder bulk_reply so nothing is written before everything is checked.
Permissions and get_doc ran per ticket inside the loop, so one bad id raised
out of the request and rolled back the replies that had already worked, and
attachments were linked ahead of the dedupe and the permission check.

Reported by Greptile on #3638.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-05 01:02:47 +05:30
RitvikSardana
f7aa34bda1 Merge pull request #3671 from RitvikSardana/telemetry/new-features
fix(telemetry): capture events for new features
2026-08-04 23:45:23 +05:30
Ritvik Sardana
efe0688b29 fix(telemetry): capture events for new features 2026-08-04 23:12:56 +05:30
RitvikSardana
04719048ea Merge pull request #3661 from RitvikSardana/fix/build-framework-ui
fix: install @framework/ui deps before dev and build
2026-08-04 22:57:57 +05:30
RitvikSardana
2e4699b6a6 Merge pull request #3668 from RitvikSardana/fix/snug-safari
fix: handle snug
2026-08-04 22:56:34 +05:30
Ritvik Sardana
4026cc3a8b fix: handle snug 2026-08-04 22:56:06 +05:30
Sydney
201f3187ae test(email): cover the email workflow, drop a duplicate test helper
Tickets raised by email are the common case and had no threading test.
Add one: the first agent reply answers the customer's mail, later replies
follow the reply before them. Add a second test for replies that are never
emailed, which must not store an id at all.

Drop the local get_ticket_communications helper. It duplicated
get_latest_ticket_communication and its docstring claimed the canonical
helper could not order results - that is wrong. frappe.get_all falls back
to the doctype sort meta, and Communication sorts by creation desc, so the
existing helper was always correct. Callers lose the trailing [-1].

Trim the comments in reply_via_agent and the test docstrings to plain
English. The PR archaeology they carried is in the commit messages already.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-04 22:01:04 +05:30
Sydney
c1a56258e0 refactor(email): carry the thread anchor on the Communication itself
get_last_threadable_communication returned a two-field dict of which only
the name was ever read, and the caller parked it in a local that stayed
live across ~75 lines and an early return, re-deriving its nullability in
both an if and a ternary.

Return just the name and assign it straight onto communication.in_reply_to
- the row frappe reads it back from anyway - then pass that field to
sendmail. The local, the branch and the ternary all go. Making the helper
private stops it reading as a variant of get_last_communication, which
differs from it in mechanism, return type and error handling.

No behaviour change.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-04 17:51:00 +05:30
Sydney
6bd8b705be fix(email): only store a Message-Id when the reply is actually sent
reply_via_agent stamped every Communication with a fresh Message-Id before
the early return for skip_email_workflow / enable_reply_email_via_agent. A
reply that was never emailed then qualified as a thread anchor, so the next
reply pointed In-Reply-To at an id that had reached no mailbox - failing in
exactly the same silent way as storing no id at all.

Gate the assignment on the same condition as the send, and name it
should_send_email, which also drops a duplicate HD Settings read.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-04 17:16:16 +05:30
RitvikSardana
7d8f3e3e2c Merge pull request #3666 from RitvikSardana/fix/sr-line-height
fix: line-height saved reply
2026-08-04 16:58:11 +05:30
Ritvik Sardana
5db4bb9c83 fix: line-height saved reply 2026-08-04 16:55:32 +05:30
RitvikSardana
cbd4ceb48b Merge pull request #3663 from RitvikSardana/fix/email-rec
fix: email editor closing on selecting recipients
2026-08-04 14:02:30 +05:30
Ritvik Sardana
d289faead6 fix: email editor closing on selecting recipients 2026-08-04 14:01:31 +05:30
RitvikSardana
75f880efca Merge pull request #3662 from RitvikSardana/fix/cp-align
fix(cp): vertical axis alignment
2026-08-04 12:31:01 +05:30
Ritvik Sardana
5d16951788 fix(cp): vertical axis alignment 2026-08-04 12:22:28 +05:30
Ritvik Sardana
d763279734 fix: dedupe reka-ui so linked @framework/ui resolves it 2026-08-04 00:36:11 +05:30
Ritvik Sardana
f021dcc365 refactor: import Link from the @framework/ui package entry 2026-08-04 00:13:29 +05:30
Sydney
88348f3231 refactor: single predicate for "availability changed"
The controller was asking "did availability change?" in three different idioms:
a hand-rolled old_doc comparison in before_save, has_value_changed in validate
and publish, and has_value_changed plus a get_doc_before_save null check in the
telemetry capture. Collapse them onto one named predicate.

publish_availability_update previously fired on insert while the telemetry
capture did not, justified as letting clients learn a new agent's presence
without a refetch. That justification does not hold: liveStatuses is only ever
read as an overlay on agents already loaded from the list resource
(AssignTo.vue liveAvailability), and nothing iterates it, so an entry for an
agent the client has not fetched renders nowhere. Dropping the asymmetry lets
both side effects share availability_changed() and removes the comment that
existed only to explain the difference.

validate_availability deliberately keeps the raw has_value_changed — a new
agent must still be rejected for a disabled status — and now says so.

Tests: hoist the private helpers to the top of the class rather than leaving
one mid-file between tests, and collapse three copies of the client.set_value
payload onto a single helper.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WuJruCwPQFwBA3HyXogjD7
2026-08-04 00:10:25 +05:30
Ritvik Sardana
50f15f6f83 fix: install @framework/ui deps before dev and build
`@framework/ui` is a `link:` dependency, so yarn never installs its own
dependencies and the build fails on missing imports. Run `yarn install`
in `frappe/ui` first, skipping it when `.yarn-integrity` shows a complete
install is already there.
2026-08-04 00:02:01 +05:30
Sydney
8c4914c2eb test: drop telemetry assertions for agent availability
The capture_event calls are fire-and-forget analytics; asserting on a mock
adds little over the guard being readable in the controller.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WuJruCwPQFwBA3HyXogjD7
2026-08-03 23:50:52 +05:30
Sydney
c3c1afa1cd feat: capture telemetry on agent availability change
Adds an agent_availability_updated telemetry event, following the existing
capture_update_telemetry_events shape in HD Ticket. Because it lives on the
controller it covers every write path, not just the desk UI.

Guarded on get_doc_before_save() so inserts are excluded: has_value_changed
returns True when there is no previous doc, so without it every agent created
would be counted as a status change. The realtime broadcast deliberately keeps
firing on insert — clients learn a new agent's presence without a refetch.

Also drops the unused trailing `return` from sent_invites, per review.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WuJruCwPQFwBA3HyXogjD7
2026-08-03 19:46:41 +05:30
Ritvik Sardana
999fca4bda feat: response gap chart
Line chart of agent response gaps over the ticket, business-hours
durations on round tick steps. Espresso oklch tokens crash echarts'
hover restyle, so the series disables the emphasis state.
2026-08-03 19:39:34 +05:30
Ritvik Sardana
3c0615ea4a feat: SLA timeline stepper
Figma-styled stepper for the analytics tab: donut milestones for
created, first response, hold, exchanges and resolution; dashed blue
SLA-paused leg with duration; progress gradients for pending and
breached legs; hover badges with SLA verdicts.
2026-08-03 19:39:33 +05:30
Ritvik Sardana
38a2289995 feat: analytics tab with metrics and conversation summary
New Analytics tab on the agent ticket view: metric cards (avg agent
response gap, time to resolution, longest agent silence) and a
conversation summary with churn flags. Restores the hash tab on soft
navigation via an immediate watcher in useActiveTabManager.
2026-08-03 19:39:16 +05:30
Ritvik Sardana
394a77e611 feat: per-ticket analytics API
get_ticket_analytics returns SLA timeline nodes, response-gap series,
metrics and conversation summary for the agent-facing Analytics tab.
Business-hours math via the ticket SLA calendar, wall-clock fallback
without one; churn from Version diffs and ToDo assignees.
2026-08-03 19:38:52 +05:30
RitvikSardana
cc0758268e Merge pull request #3639 from RitvikSardana/refactor/default-sla
refactor: allow tickets to not have any SLA
2026-08-03 18:13:14 +05:30
Ritvik Sardana
e80ee038a8 refactor: rename the shipped sla to "Standard" 2026-08-03 17:26:55 +05:30
Ritvik Sardana
c38af44f77 fix: keep sla fulfilled ratio within bounds, index ticket sla 2026-08-03 17:18:31 +05:30
Ritvik Sardana
321c3d55ee fix: clear fields when no sla is matched 2026-08-03 15:05:23 +05:30
Ritvik Sardana
d9a7a6975c fix: sla analytics should only include tickets with sla 2026-08-03 14:53:49 +05:30
Ritvik Sardana
ed0942d768 fix: list views and customer ticket view according to NO SLA 2026-08-03 14:23:24 +05:30
Ritvik Sardana
c06bf4cf65 fix: keep pause anchor when a paused ticket detaches 2026-08-03 13:34:05 +05:30
Ritvik Sardana
27e738bcc7 fix: remove on_hold_since if SLA is detached 2026-08-03 12:58:18 +05:30
Ritvik Sardana
9e33bdc029 fix: clear resolution_time if SLA is not attached 2026-08-03 12:42:41 +05:30
RitvikSardana
b2574a7388 Merge pull request #3640 from frappe/pot_develop_2026-08-02
chore: update POT file
2026-08-03 11:34:26 +05:30
frappe-pr-bot
102dc88eef chore: update POT file 2026-08-02 11:39:52 +00:00
Ritvik Sardana
b75761f044 refactor: allow tickets to not have any SLA
Removes three limitations that forced an SLA onto every ticket:

- every priority had to be present in every SLA
- exactly one SLA had to be marked default, and it could not be
  disabled or deleted
- every ticket had to carry an SLA

A policy now applies only when its condition matches and it includes the
ticket's priority. The Default SLA is optional, and is considered last.
When no policy applies, the ticket detaches: sla, response_by,
resolution_by and agreement_status are cleared, while the clock start and
any recorded breach are kept so flapping a condition buys no time.

Adds a rank field so the winner between two matching policies is explicit
rather than creation order. Removing a priority or unticking the Default
SLA now warns about the tickets that will detach, instead of blocking.

resolution_date is stamped by the ticket rather than the SLA, since a
ticket knows when it was resolved with or without a policy.
2026-08-02 04:03:09 +05:30
Sydney
67cd1dc16d fix(email): give agent replies their own Message-Id so threads hold
Every agent reply shipped without an In-Reply-To header, so each one landed
as a separate thread in the customer's mail client.

frappe#32651 made In-Reply-To resolve through Communication.message_id.
helpdesk#2308, merged 77 minutes later, removed the only code that wrote
that column - correctly, since it was copying the parent's Message-Id onto
every reply in the ticket. Together they left the column permanently empty,
so no reply could ever anchor the next one and the chain died after a single
hop off an inbound customer email.

Mint a fresh id per reply, store it on the Communication, and send that same
value, which is what communication.email._make already does for
desk-composed mail. Pick the parent from the newest communication that
actually has an id, so a portal reply - which sends no email and therefore
has none - doesn't break the chain for every reply after it.

Measured on an affected site before the fix: 1,752 of 1,911 agent replies in
one week carried no threading header at all.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-01 16:38:16 +05:30
RitvikSardana
d51b186dc5 Merge pull request #3637 from RitvikSardana/fix/frequent-replies-label
fix(command-palette): rename saved reply group to Frequent replies
2026-07-31 03:53:33 +05:30
Ritvik Sardana
d1c2c06e65 fix(command-palette): rename saved reply group to Frequent replies
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 03:44:19 +05:30
RitvikSardana
f452618612 Merge pull request #3636 from RitvikSardana/fix/line-height
fix: line height in feedback component
2026-07-31 03:03:25 +05:30
Ritvik Sardana
027f36d790 fix: line height in feedback component 2026-07-31 03:02:31 +05:30
RitvikSardana
aaf4d85521 Merge pull request #3626 from RitvikSardana/feat/command-palette
feat(command-palette): contextual Cmd+K palette for the agent portal
2026-07-31 02:09:41 +05:30
Ritvik Sardana
4d04820aa9 chore: code cleanup 2026-07-31 01:58:26 +05:30
Ritvik Sardana
70dc3edb70 fix: update readme 2026-07-31 01:51:58 +05:30
Ritvik Sardana
a29ddb0872 chore: remove animations 2026-07-31 01:46:28 +05:30
Ritvik Sardana
03feb833c2 fix(command-palette): keep rows on screen through the close fade
Emptying groups the moment isOpen flips false flashed "No commands found"
during the exit animation on an outside click.
2026-07-31 01:21:41 +05:30
Sydney
36c04bdc1f refactor: route agent availability through the document lifecycle
set_my_availability wrote with frappe.db.set_value, which skips the HD Agent
controller entirely. That put three invariants in one API function and left
every other write path to HD Agent.availability broken:

- availability_changed_on was stamped by hand in the API, duplicating
  HDAgent.before_save, which never ran
- the "status must be enabled" check lived in the API, so the desk form, REST
  and frappe.client.set_value could all write a disabled status silently
- the agent_availability_updated broadcast fired only from that API, so a
  status changed from the desk form never reached connected clients

Move all three onto the controller — validate() rejects a disabled or unknown
status (guarded on has_value_changed so an agent already on a since-disabled
status can still save unrelated fields), before_save keeps the timestamp, and
on_update publishes the broadcast. The endpoint then has nothing left to do,
so the store calls frappe.client.set_value directly, matching how Settings
already writes HD Agent.is_active.

Dropping the endpoint also drops its agent_only + get_agent_name() self-scoping,
and the Agent role has blanket write on HD Agent, so add a has_permission hook:
an agent may only modify their own record, reads stay open for presence dots
and assignment pickers, managers are unrestricted.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WuJruCwPQFwBA3HyXogjD7
2026-07-31 01:16:50 +05:30
Ritvik Sardana
08f175634b fix(command-palette): polish context chip, tag flow, view icons and highlight tracking
- render the context chip with frappe-ui Badge, id dark and subject light
- pop back to the parent level after toggling a tag
- resolve Switch view icons with the sidebar's getIcon resolver
- track the highlighted row by identity so async rebuilds can't jump it
2026-07-31 01:06:19 +05:30
Sydney Gomes
820f32a875 Merge pull request #3634 from aerodeval/fix/onboarding-questionnaire-polish
fix: onboarding questionnaire surface, button sizing and team-size default
2026-07-31 00:23:15 +05:30
Sydney
535db2216d feat: report an unanswered team size as prefer_not_to_say
Team size is the only optional answer, so skipping it dropped the key
entirely and the persona event came through incomplete. Default it at
submitPersona, the one point both telemetry and routing read.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-30 19:03:44 +05:30
Sydney
5d8b42a381 fix: put the onboarding screen on the base surface
surface-gray-1 read as an off-white tint behind the questionnaire.
surface-base is pure white in light mode and still flips with the theme,
which bg-white would not.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-30 19:03:17 +05:30
Sydney
83f25c9462 refactor: size the questionnaire Next button with the size prop
size="sm" already yields h-7 and the theme's button radius, so the !h-7
and !rounded-lg overrides were restating the default with !important.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-30 19:02:52 +05:30
Ritvik Sardana
d0441a3409 chore(command-palette): tighten comments
Every comment keeps only the constraint it protects; essays, product
citations and metric rationales go. ponytail: markers stay.
2026-07-30 18:21:54 +05:30
Ritvik Sardana
2295a1328a fix(auth): drop the unused in-SPA login resource
Nothing calls it: the router guard exits logged-out users to the
server-rendered login page, and returning is a full page load. Removing
it also closes the review concern that an SPA login could leave
module-scope userStorage keys bound to the pre-login identity — that
path now provably does not exist.
2026-07-30 18:00:03 +05:30
Ritvik Sardana
534a5772a9 feat(command-palette): saved reply promotion polish and right-arrow drill
- Promoted saved replies get their own "Most used" section at root; only
  the generic "Ticket" group stays headerless under the context chip
- The composer's saved-reply modal now feeds the same usage record, so
  promotion reflects how an agent actually works, not just palette picks
- ArrowRight drills into the highlighted row's children when the caret
  is at the input's end, mirroring Backspace-back; inert elsewhere
- Group containers drop their margin so rows keep one 36px rhythm across
  headerless group boundaries
2026-07-30 17:55:54 +05:30
RitvikSardana
0975880eba Merge pull request #3542 from RitvikSardana/fix/embed-private-inline-images
fix: drop img src after setting embed so inline images render in emails
2026-07-30 16:19:29 +05:30
Ritvik Sardana
c519ec2a1e fix(command-palette): let a command's own focus survive the close
Reka's close auto-focus restored the pre-open element on unmount, which
ran after a saved reply had already focused the composer and yanked focus
away. Prevent it and route through restoreFocus, which only restores when
the closing command left focus nowhere.
2026-07-30 15:56:49 +05:30
Ritvik Sardana
4348e36a75 fix(command-palette): drop the redundant already-set toast
The drill-down already ticks the current value, so picking it again
closes quietly instead of toasting.
2026-07-30 14:10:20 +05:30
Ritvik Sardana
8e7df85e57 fix(command-palette): polish flat row matching and search fallback styling
- Hidden flat rows (quick-set, saved replies) surface only on a
  substring-or-better match, so a scattered hit like "sett" no longer
  un-hides every option row above an exact match on Settings
- "(advanced search)" renders inline in muted ink via a titleSuffix field
2026-07-30 13:37:53 +05:30
Ritvik Sardana
91d35ff15f Merge branch 'develop' of https://github.com/frappe/helpdesk into feat/command-palette 2026-07-29 17:22:07 +05:30
Ritvik Sardana
800f7f5361 chore: code cleanup 2026-07-29 17:17:38 +05:30
Ritvik Sardana
340cd7a6df fix(command-palette): row and drill-down polish
- Fixed row height (h-9) so rows with shortcut hints match plain rows
- Availability rows show status color dots (reuses ticket status parseColor)
  and await the statuses fetch, fixing the empty drill-down on a cold store
- "Set availability" matches "my status", presence words and live status names
- Reset palette state on open instead of close, so the dismissed context chip
  no longer flashes back during the close animation
- Single-group drill-downs drop their header, which only repeated the breadcrumb
- Team and type rows lose their repeated static icons; agent rows show avatars
- "Recent" group renamed to "Recent tickets"
2026-07-29 17:08:07 +05:30
Ritvik Sardana
8e47ca01a2 fix(command-palette): derive filter keywords from live status and priority options 2026-07-29 16:30:23 +05:30
Ritvik Sardana
a3cc232da8 fix(command-palette): label the search fallback as advanced search 2026-07-29 13:24:41 +05:30
Ritvik Sardana
deb74eaf87 refactor(command-palette): footer hints use ShortcutKey 2026-07-29 13:12:02 +05:30
Ritvik Sardana
e0e3413209 fix(command-palette): tick the active view in switch view 2026-07-29 12:39:57 +05:30
Ritvik Sardana
4c8aad4ebb fix(command-palette): chip shows subject again, capped at 30% width 2026-07-29 02:29:51 +05:30
Ritvik Sardana
fdf98c1c21 fix(command-palette): move the context chip back above the input 2026-07-29 02:28:58 +05:30
Ritvik Sardana
813a717ce9 fix(command-palette): tighten chip spacing 2026-07-29 02:26:53 +05:30
Ritvik Sardana
2e3cd38034 fix(command-palette): chip shows only the ticket id 2026-07-29 02:22:06 +05:30
Ritvik Sardana
438a6f03b1 fix(command-palette): inline the context chip with the input 2026-07-29 02:20:50 +05:30
RitvikSardana
563d22a209 Merge pull request #3631 from RitvikSardana/refactor/feedback-in-sidebar
fix: move ticket's feedback to sidepanel
2026-07-29 02:05:24 +05:30
Ritvik Sardana
6947d41101 docs(command-palette): add a how-it-works walkthrough 2026-07-29 02:01:20 +05:30
Ritvik Sardana
2e1f38f4b4 fix: add feedback secton to right 2026-07-29 01:53:01 +05:30
Ritvik Sardana
553761a8a7 fix(command-palette): reply and comment rows use the composer's icons 2026-07-28 22:40:13 +05:30
Ritvik Sardana
97848b7018 refactor(command-palette): trim recents to three and note stack shape 2026-07-28 22:37:23 +05:30
Ritvik Sardana
e6a4121918 refactor(command-palette): route-to-commands lookup for root rows 2026-07-28 22:36:17 +05:30
Ritvik Sardana
13352db959 fix(command-palette): tick the current availability 2026-07-28 22:08:59 +05:30
Ritvik Sardana
cfaa913877 fix(command-palette): optimistic tag ticks, run guard, recents in context 2026-07-28 20:11:56 +05:30
Ritvik Sardana
c66928f4f0 docs(command-palette): cover keepOpen rows and fallback behaviour 2026-07-28 20:01:05 +05:30
Ritvik Sardana
b16d89862d fix(command-palette): tighten search fallback copy 2026-07-28 19:58:15 +05:30
Ritvik Sardana
a0741af53c fix(command-palette): fallback and create polish
- Create ticket "…" now actually pre-fills the subject on TicketNew
- no Create ticket fallback for #-queries, that's a ticket lookup
- drop the Create group header, "New ticket" already says it
2026-07-28 19:47:40 +05:30
Ritvik Sardana
30bca0279e fix(command-palette): chip hugs its content instead of stretching full width 2026-07-28 19:42:27 +05:30
Ritvik Sardana
1f7d82a0bd feat(command-palette): fade between levels
Drilling in or out, and removing the chip, now get the same brief fade
the chip animation already set the tone for. Typing never re-keys the
list, so filtering stays instant. Honors prefers-reduced-motion.
2026-07-28 19:37:58 +05:30
Ritvik Sardana
1b31f2ccc9 feat(command-palette): Linear-style tag toggling
The tag drill-down listed only unapplied tags and closed after adding
one. It now lists every tag with the applied ones ticked; Enter toggles
add/remove and the palette stays open, so several tags change in one
visit. keepOpen commands rebuild their level in place after performing.

Row renamed "Add tag" -> "Tags", since it removes now too.
2026-07-28 19:35:20 +05:30
Ritvik Sardana
65229b7d29 fix(command-palette): give Change type its own icon
It shared the tag glyph with Add tag; type rows now use the shapes icon.
2026-07-28 19:32:47 +05:30
Ritvik Sardana
0fbdbc5a86 fix(command-palette): drop the remove glyph from the context chip
esc's footer label already reads "Remove context" while the chip is up.
2026-07-28 19:32:02 +05:30
Ritvik Sardana
bfc500dfe7 fix(ticket): shorten copy toasts to match the palette
"Ticket #X copied to clipboard" and "Ticket URL copied to clipboard"
now read "… copied", the same copy the command palette uses.
2026-07-28 19:30:59 +05:30
Ritvik Sardana
86a51d1684 fix(command-palette): drop the Search-elsewhere heading and all-caps headers
The fallback rows explain themselves; group headers now render in
sentence case instead of uppercase.
2026-07-28 19:30:44 +05:30
Ritvik Sardana
0eac87ba25 fix(command-palette): make the context chip inert, removal is backspace-only
Clicking the chip removed the context, which is far too easy to hit for
an action that strips the ticket's own commands out of the palette.
2026-07-28 19:20:08 +05:30
Ritvik Sardana
85f08bf062 fix(command-palette): show the global root after the context chip is removed
Removing the chip on an empty query returned the scoped list — now empty —
instead of falling through to recents, navigation and settings.
2026-07-28 19:17:56 +05:30
Ritvik Sardana
837f6d07fd Merge remote-tracking branch 'upstream/develop' into feat/command-palette 2026-07-28 19:01:43 +05:30
RitvikSardana
3f16756d35 Merge pull request #3629 from RitvikSardana/perf/search-permission-scale
perf(search): keep permission filtering bounded at any ticket count
2026-07-28 18:55:17 +05:30
Ritvik Sardana
6295521022 refactor(perf): grant the search test user HD Customer
A role-less user has no doctype-level read on HD Ticket, so get_list
raises PermissionError on a clean CI site. Real searching users are
agents or HD Customers; the test now models the latter.
2026-07-28 17:04:32 +05:30
Ritvik Sardana
fb11a89635 refactor(perf): trim comments, replace map() with a comprehension
The map() call tripped frappe's no-functional-code semgrep rule.
2026-07-28 16:47:55 +05:30
Ritvik Sardana
4a8bdb61af refactor(perf): bind facet permission list via json_each, not 3N placeholders
get_filter_options pasted the accessible-ticket list into the query three
times (name / reference_name / reference_ticket each carry the ticket for
a different row type), binding 3N variables — so it hit SQLite's
bound-variable ceiling at a third of the ticket count the search query
does.

The list now binds as one JSON string per column: 3 variables total,
regardless of site size. Same rows match, the ceiling is gone.
2026-07-28 16:47:24 +05:30
Ritvik Sardana
292269e4a1 refactor(perf): bound the search permission prefilter, post-filter past the cap
frappe.get_list("HD Ticket", pluck="name") ran unbounded on every search
call, feeding a SQLite IN (...): linear cost per keystroke (108ms at 200k
tickets) and a hard OperationalError past the bound-variable ceiling,
which core's except sqlite3.Error turns into silently empty results.

get_search_filters now probes at most PREFILTER_LIMIT + 1 names. Under
the limit the exact prefilter binds as before; over it, the prefilter is
skipped and _drop_unpermitted permission-checks the returned results
(<=100) through one get_list, which applies every layer including User
Permissions. Rows without a resolvable ticket fail closed; Communication
rows resolve via reference_name.
2026-07-28 16:46:44 +05:30
Sydney
253623c263 fix: stop mail loops from bounces and autoresponders
Inbound mail was only screened with the X-Auto-Generated header, which
only helpdesk's own acks set. A real bounce or out-of-office therefore
reached ticket creation and could start three separate loops: the ack in
HD Ticket.after_insert replies to raised_by (the address that just
bounced), threading onto a portal ticket makes frappe CC the parent doc's
owner on every inbound mail, and an account with enable_auto_reply
answers mailer-daemon directly.

Detect machine-generated mail by the standard markers instead: RFC 3834
Auto-Submitted, the RFC 3464 multipart/report delivery-status type, and
the RFC 5321 null return-path. Matches are routed to handle_bad_emails so
they land in Unhandled Email rather than disappearing -- the fetch has
already marked them seen either way.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-28 16:31:09 +05:30
Ritvik Sardana
5b3b789726 docs(command-palette): mark §14 shipped on perf/search-permission-scale 2026-07-28 14:29:56 +05:30
Ritvik Sardana
8155afaa4e refactor(ticket): move feedback from timeline to sidebar
Feedback no longer renders as a timeline entry on desktop. It now shows as
its own collapsible section under Ticket SLA, with Rating / Feedback /
Comment rows matching the customer portal labels.

Mobile keeps feedback in its activity list.
2026-07-28 13:54:39 +05:30
Ritvik Sardana
095be4dd83 refactor(command-palette): order Add comment above Reply to ticket
Source order is the tie-breaker on an empty query, so this is the order
an agent sees when they open the palette on a ticket.

"Saved Replies" moves with the reply row rather than staying put — the
two belong together, and leaving it under "Add comment" would have put a
reply action below the comment it is not related to.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-28 13:46:41 +05:30
Ritvik Sardana
85a0e7f9ce refactor(command-palette): name the saved-reply rows "Saved Replies"
Drops the verb entirely. The row opens a category, the same shape as the
existing `Settings` row, and it is what the product calls the feature in
the settings tab and the doctype — so there is no invented verb to keep
in sync. "Reply with saved reply" stuttered and "Insert" read as jargon.

Root rows lose the title prefix: the reply's own name is the title and
"Saved Reply" moves to the subtitle, muted and right-aligned the way
search rows already carry "Open · #0484". A prefix spent the first
characters on chrome before the word the agent had just typed.

Two things the checks caught while renaming, both of which would have
shipped silently:

- "reply" is not a substring of "replies", so the plural title was
  unreachable by the obvious singular query — the scorer found nothing at
  all. It is now carried in `keywords`.
- My stated reason for the subtitle was wrong. A title prefix only buries
  the category when the category hides its distinguishing word mid-title
  ("Insert saved reply"). Leading with "Saved" means both rows get a
  prefix match and `CONTEXT_WEIGHT` decides, so "Saved Reply: X" would
  have ranked fine too. The subtitle is a readability choice, not a
  ranking fix, and the check now says so.

The invariant worth keeping is the general one: a category title must not
bury its own distinguishing word mid-title, because prefix (1000) against
word-boundary (~950) is wider than 1.2 vs 1.15 of weight can close.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-28 13:32:00 +05:30
Ritvik Sardana
1f8978e61e refactor(command-palette): rename saved-reply rows to "Insert"
"Reply with saved reply" stuttered. "Insert saved reply" also says what
actually happens — the reply lands in the composer and the agent still
has to send it, which was the whole point of not sending on select. It is
the category-standard verb too (Front, Help Scout).

Root rows become "Insert: Refund policy", matching the parent's verb.
That pairing is not cosmetic: scoring the alternatives showed the prefix
decides the hierarchy.

- "Saved reply: X" beats the parent on any "saved" query, because a
  leading-word match scores 1000 against the parent's ~950 word-boundary
  match, and FLAT_OPTION_WEIGHT 1.15 vs CONTEXT_WEIGHT 1.2 cannot close
  a 50-point gap. One saved reply would bury the drill-down.
- "Reply: X" under an "Insert" parent inverts it the same way on "reply".
- Sharing the parent's verb keeps the parent ahead on "insert", "saved"
  and "saved reply", while "refund" still reaches the reply directly.

Side benefit: typing "reply" used to surface three rows from the reply
family at once. Now "Reply to ticket" leads it alone.

`fuzzyScore.check.ts` locks the ordering, and asserts the rejected
"Saved reply: X" pairing really does invert it, so the reason the titles
are worded this way survives the next rename.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-28 13:24:42 +05:30
Ritvik Sardana
aafbd91dc4 docs(command-palette): record the shipped items in the plan
Everything in "What can be done now" is done. The section is now a
record of what was built and what turned out differently, and the
"later" list is unchanged: §1 undo, §6 selection, §7 and §15 behind
Custom Side Panel, §13 SLA, §14 search cost.

Two dependencies are discharged: §9 landed before §5's root rows and
before any §7 work, so content-shaped words at root now rank above search
hits instead of replacing them. Custom Side Panel is the only hard
dependency left.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-28 13:07:55 +05:30
Ritvik Sardana
5e6d05da53 docs(command-palette): trim the README from 380 lines to 95
It had become a liability rather than documentation. Two of its claims
were cited by reviewers *instead of* reading the code:

- that the palette is not rendered in the customer portal — it was not
  actually guarded until recently
- that `title_only` is a title-search fast path — it narrows the SELECT
  clause, not the MATCH, which is a materially different thing and the
  reason a body phrase can return "No results"

Both are now stated correctly, along with the pinned fallback that makes
the second survivable.

Keeps the `Command` shape, the ranking rules including scope-ranks-not-
gates, and the three non-obvious decisions: module-scope singleton state,
frappe-ui's `useShortcut` over the local one, and publishing list and
composer state module-scope rather than routing it through the URL.

Dropped: the branch narrative, the file-by-file line counts (stale the
moment anything changes), the environment workaround, and the hardcoded
`bench --site` commands. Those belong in a PR description. The open-items
list is superseded by `CP-improvements-plan.md`.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-28 13:06:43 +05:30
Ritvik Sardana
0e80f7bc36 fix(translation): accept an array of replacements
~50 call sites pass replacements as one array — `__("{0} d", [days])`.
That reads as a single argument, so `{1}` onwards silently kept its
placeholder and `{0}` rendered the whole comma-joined array. Single
substitutions worked by accident, which is why it went unnoticed.

Accepted as an overload rather than rewritten at every call site, and
numbers are now stringified rather than assumed to be strings. Drops the
repo's `tsc` error count from 952 to 709.

Also clears the palette's own remaining type errors, all of the same
shape — an index or optional field used without a guard.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-28 13:06:01 +05:30
Ritvik Sardana
daea3045d8 feat(command-palette): polish pass
Ten small things, none of which change what the palette does:

- **Matched text is bold again.** `stripTags` was throwing away the
  `<mark>` runs the FTS index already computed, so search rows never
  showed *why* they matched. Rendered as text nodes, so no `v-html` and
  no sanitiser — ticket content cannot inject markup.
- **Results go stale, not blank.** `onQueryChange` cleared synchronously
  then debounced 200ms, so the list emptied on every keystroke and the
  panel resized under the cursor. Old rows now stay until new ones land;
  the token still invalidates anything in flight.
- **Loading is visible mid-list.** It only surfaced on an empty list, so
  a drill-down on a cold store showed 300ms of nothing. A 2px
  indeterminate bar sits over the input's border, so nothing shifts.
- **Group headers read as structure**, `text-xs uppercase` instead of
  `text-sm` in a different colour.
- **Per-level empty state.** A drilled-in level with nothing left showed
  the root's "No commands found", which is false.
- **Focus restore.** There is no `DialogTrigger`, so closing dropped a
  keyboard user on `<body>`. Restored only when the close left focus
  nowhere, since a command may claim it — the saved-reply rows hand focus
  to the composer, and that must win.
- **Home/End and Ctrl+N/P.**
- **640px**, up from 560, which truncated subjects around 40 characters.
- **"Keyboard shortcuts" row**, since the palette is the discovery
  surface for the shortcut system and `Mod+/` was undiscoverable from it.
  Its open flag moves module-scope alongside the other shared modals.
- Reduced-motion covers the new loading bar.

`titleRuns` is covered in `fuzzyScore.check.ts`: run splitting, adjacent
marks leaving no empty run, and other tags coming out inert.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-28 13:03:49 +05:30
Ritvik Sardana
6b0cd3142b feat(command-palette): saved replies, ordered by the agent's own usage
The gap that decided whether this is a shortcut or a workflow. Composing
replies is the bulk of an agent's day and the palette did not touch it —
`Reply to ticket` opened an empty box and you typed the whole message.

"Reply with saved reply" drills into the replies, renders the picked one
against the ticket and opens the composer pre-filled. Never
send-on-select: the agent has to see what goes to a customer.

Ordering is frequency, per agent, and it applies on an **empty query
only** — once you type, `scoreCommand` decides and usage survives as the
tie-breaker, because `groupCommands` falls back to source order at equal
score. Typing "refund" must return the refund reply, never the most-used
reply that happens to fuzzy-match it. `sort` being stable makes cold
start `modified desc` for an agent with no history.

The top replies also get root-level rows, earned rather than guessed: a
reply is promoted only once this agent has used it 5 times, top 3. An
agent with long-tail habits accumulates nothing and sees no root rows,
which is the right outcome — it degrades to nothing rather than to noise.
Titles are stored with the counts, so a root row costs no fetch and
cannot block the root build. Rows carry `hideWhenEmpty`, composed titles
("Reply: Refund policy", since a bare title reads as a ticket) and
`FLAT_OPTION_WEIGHT`, so they rank under the drill-down parent. Safe at
root only because scope now ranks instead of gating.

These stay a drill-down rather than going fully flat: cardinality is
unbounded and the names are pure content, so they would collide with
ticket search on nearly every useful word. Inside the level the query
filters replies only — a scoped search, which is the correct shape here.

`replyComposer.ts` publishes the mounted composer's insert action module
scope, the same way `listViewFilters.ts` does for the list: the palette
lives in AppSidebar and cannot inject from the ticket page. An
already-open composer is left open rather than toggled, which would
discard a draft.

`saved_reply_applied` now carries `source` on both surfaces.
Ranking rules live in `savedReplyRanking.ts`, import-free, and are
covered by `savedReplyRanking.check.ts` — threshold boundaries, sort
stability, no-mutation, and losing a row when a reply is deleted.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-28 12:57:27 +05:30
Ritvik Sardana
fe88c1f418 fix(command-palette): scope recent tickets to the signed-in agent
`hd_recent_tickets` was a bare key and `logout()` cleared it, so a shift
handover on a shared support machine handed the previous agent's ticket
**subjects** — which routinely carry customer names — to whoever logged
in next.

`userStorage.ts` suffixes the key with the session user id. It reads the
cookie rather than the auth store because this runs at module load,
before pinia is installed, and the key has to be right on the first read.
Saved-reply usage counts will want the same helper.

Also removes the two now-unscoped keys from disk on load, since scoping
only prevents the next leak, not the one already stored.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-28 12:50:22 +05:30
Ritvik Sardana
cc1a262757 refactor(command-palette): delete the recent-commands MRU
A deletion, not a fix. It was broken four ways in four lines, over a
~15-command corpus where an MRU has no job:

- every leaf run was tracked, ticket-search ids included
- the window was 3 slots, so three ticket opens emptied it permanently
- ids resolved only against the static list, so misses were dropped
- drill-down commands never entered it, excluding the five most-used
  actions

Recent **tickets** stay — an agent bounces between ~5 a session and it is
the only zero-typing action in the product. The ticket currently open no
longer lists itself as somewhere to go next.

Buys back three rows for the polish batch.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-28 12:49:00 +05:30
Ritvik Sardana
1f6d319959 refactor(command-palette): derive the broadcast field label from meta
`FIELD_LABELS` was a hardcoded copy of `getField(fieldname).label`, so a
site that relabels Team to "Squad" would have had the palette announce
"Team" over the socket while its own UI said "Squad" — the exact drift
the upcoming Custom Side Panel work makes reachable.

`getMeta` is safe from module scope and cached per doctype, so this
shares the fetch `tiptap-extensions.ts` already makes.

Row titles stay literal on purpose: `getField` returns null until meta
lands, so deriving them would flash "Change agent_group" on a cold load.
That belongs with the rest of §15, where which fields exist and whether
they are editable get designed together.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-28 12:47:23 +05:30
Ritvik Sardana
3ab9ce57a4 fix(command-palette): restore listbox roles and unbind keys from the input
Two accessibility defects, both regressions from dropping headless-ui
`Combobox` — which supplied for free what was never written back.

ARIA (§3): the list was plain `<div>`s, so a screen-reader user could
arrow ten times and hear nothing. Adds `role="combobox"` on the input
with `aria-controls` and `aria-activedescendant`, `role="listbox"` on the
list, `role="group"` per section, `role="option"` with `aria-selected`
per row, and a polite live region for the result count. Rows now carry
their flat index, which supplies the stable option id and lets
highlighting compare indexes instead of object identity — a "Recent" row
is a clone sharing its original's id.

Keyboard (§4): `@keydown` was bound to the `<input>`, but Reka's focus
trap lets Tab reach the context chip and the back button, where arrows
and Enter did nothing until the user found Shift+Tab. Bound to
`DialogContent` instead, with Enter on a focused button left alone so it
does not fire both the click and the highlighted command.

Helpdesk sells into procurement that gates on this, so it is commercial
as well as right.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-28 12:46:10 +05:30
Ritvik Sardana
1630b3f4fa feat(command-palette): telemetry for opens, runs and assign source
There was not one telemetry call in the palette, so every ranking and
cut argument was taste against taste.

- `command_palette_opened`, carrying the route it was opened from
- `command_palette_command_run`, carrying command id, query length and
  drill-down depth: `runs ÷ opens` below 0.5 means agents open, miss and
  press Esc, and a long query or non-zero depth on a common action means
  the ranking is wrong
- `source` on `ticket_assigned` in both the palette and the popover, so
  the two land in one funnel and substitution is distinguishable from
  addition

Cmd+K now goes through `openPalette()`/`closePalette()` instead of
poking `isOpen` directly, or the open rate would have missed the path
most agents use.

Fixes the popover's existing call while there: it passed
`{ doctype }` where `{ data: { doctype } }` was expected, so it had been
reporting no properties at all. Plain `tsc` cannot resolve `.vue`, which
is why the shape error went unseen.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-28 12:43:34 +05:30
Ritvik Sardana
5692e56287 fix(command-palette): scope must rank, not gate
Typing on a ticket page returned only that ticket's commands whenever
any of them matched, and global search never ran. `Set status: Open`
matches "open", so a ticket whose subject contains "open" was
unreachable without dismissing the context chip first.

Scoped rows already outrank global ones via `CONTEXT_WEIGHT`, so append
the global list below them instead of returning early. An empty query
still shows the ticket's commands alone — that is what the chip is for.

Also pin the fallback group whenever the query is long enough to search,
rather than only when nothing matched. `fuzzyScore` matches
subsequences, so almost any real word matched something and the escape
hatch stayed hidden exactly when it was needed — which is most visible
with `title_only: true`, where a phrase from an email body finds
nothing. Retitled from "No results" now that it sits below results.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-28 12:41:44 +05:30
Ritvik Sardana
b2c9d541a4 fix(command-palette): review fixes, flat option rows and ticket scope
Addresses the blockers from the design and PM reviews of the palette:

- assign is add-only and never drops an existing assignee; logs the
  activity and fires `capture` like the popover does
- "Assign to me" root row, hidden once the agent holds the ticket
- customer-portal gate lives with the state (`isPaletteAvailable`), not
  the mount site, since AppSidebar has two parents
- flat option rows: typing `urgent` sets the priority with no drill-down
- current value ticked; a no-op pick toasts instead of closing silently
- palette writes broadcast `notifyTicketUpdate` so co-viewers see them
- highlight follows its row across async result arrival
- filters merge through the list's own `applyFilters` rather than a
  one-way URL write (`listViewFilters.ts`)
- context chip scopes the palette to the open ticket
- `esc` moved to the footer, labelled by what it actually does

Runnable checks: `fuzzyScore.check.ts` (ranking, incl. flat-row vs
parent in both directions), `listViewFilters.check.ts` (merge,
same-field replace, clear, no-list fallback).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-28 12:39:12 +05:30
Ritvik Sardana
2ba939f586 refactor(command-palette): name components in full
CP.vue -> CommandPalette.vue, CPRow.vue -> CommandPaletteRow.vue.
The abbreviations were the only ones in the folder and read as noise
next to commands.ts / searchCommands.ts.
2026-07-28 01:48:15 +05:30
Ritvik Sardana
538e5224e1 feat(command-palette): contextual Cmd+K palette for the agent portal
Rebuilds the command palette around what the agent is currently looking
at, rather than a flat command list.

- Ticket context: status, priority, assignee, team, type, tags, reply,
  comment, merge, next/previous ticket, copy id/link. Drill-downs load
  their options on demand.
- Ticket list context: filter by status or priority, assigned to me,
  switch view, clear filters. Filters travel via the URL query so the
  palette stays decoupled from ListViewBuilder.
- Server-side FTS search over tickets, comments and communications,
  merged into the same ranked list as commands.
- Recents (MRU commands and visited tickets) on an empty query, plus a
  settings drill-down derived from the permission-filtered tabs list.

Supporting changes:

- ListViewBuilder: split view loading from filter application, so a
  filter pushed onto the URL no longer resets the user's sort, columns
  and rows. An unresolvable ?view now redirects while keeping filters.
- useTicketNavigation: functions hoisted to module scope so the palette
  can reuse them; the composable is now shortcut registration only.
- modalStates: merge modal state shared, so the palette can open it.
- layoutSettings: navigate commands derive from the sidebar's own nav
  list, so labels and icons cannot drift. Contacts icon unified.
- Removed the CommandPalette barrel export; the palette is a singleton
  that registers its own global shortcut.
2026-07-28 01:46:00 +05:30
RitvikSardana
b6f660ee26 Merge pull request #3620 from frappe/pot_develop_2026-07-26
chore: update POT file
2026-07-27 21:08:33 +05:30
RitvikSardana
4f7abdc58b Merge pull request #3625 from RitvikSardana/fix/link-filters-format
fix(customisation): convert link_filters to dict before search_link
2026-07-27 21:08:04 +05:30
Ritvik Sardana
6d48587320 refactor(home): render recent activity rows as router links
Rows were divs with a click handler, so they were not real anchors. Middle
click and cmd click did nothing and the destination never showed on hover.
router-link renders an <a href> and keeps in-app navigation.
2026-07-27 20:56:58 +05:30
Ritvik Sardana
85592330e2 fix(customisation): convert link_filters to dict before search_link
Customize Form stores link_filters as [[doctype, fieldname, operator,
value]], and parseField passed that list straight through as the filters
param of frappe.desk.search.search_link.

Most doctypes tolerate it because search_widget hands list filters to
frappe.get_list. Doctypes registered in standard_queries (User) skip that
path and receive filters untouched, and those queries only read dicts, so
user_query raises AttributeError on filters.get(). Any Link-to-User field
with link_filters set breaks the New Ticket page.

Convert to the dict form search_link expects, matching what the desk does
with get_filter_from_json.
2026-07-27 20:52:14 +05:30
RitvikSardana
e8114d5d3e Merge pull request #3624 from RitvikSardana/fix/recent-activity-fade
fix(home): keep the last recent activity row out of the bottom fade
2026-07-27 20:40:56 +05:30
RitvikSardana
fc5dc103b8 Merge pull request #3623 from RitvikSardana/dashboard-copy
fix(dashboard): show chart-specific empty states
2026-07-27 20:40:34 +05:30
Ritvik Sardana
9e787d4c31 fix(dashboard): show tag charts to managers only
Tag mix is org level insight. An agent's view is scoped to their own
tickets, where the tag breakdown reflects routing rather than anything
they can act on, so skip the section and its fetch for non managers.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-27 18:53:29 +05:30
Ritvik Sardana
487f4d1c22 fix(home): keep the last recent activity row out of the bottom fade
The scroll fade is a fixed overlay, so the final row (and its hover state)
always sat under it. Pad the list by the fade height so content scrolls
clear of the gradient.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-27 18:44:23 +05:30
Ritvik Sardana
b6fc94d2e0 fix(dashboard): key empty states on a stable chart key
Chart titles are translated server side, so an English-keyed lookup misses
on non-English sites. Emit a stable key from the chart config builders and
match on it. Carry the chart title in the dashboard-wide empty state too,
so those cards render headers instead of placeholder bars.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-27 18:44:03 +05:30
Ritvik Sardana
327315068c fix(dashboard): show chart-specific empty states
Only the empty-state title was overridden per chart, so every empty chart
fell back to the generic "Dashboard charts will appear here" message.
Map the copy by chart title and render the real chart header instead of
skeleton bars on empty cards.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-27 17:55:18 +05:30
RitvikSardana
d26c4cc450 Merge pull request #3621 from RitvikSardana/feat/tag-analytics
feat: First Ticket tag and tag charts on the dashboard
2026-07-27 17:39:57 +05:30
Ritvik Sardana
465e14530f fix: track hd_agent changes 2026-07-27 17:29:33 +05:30
Ritvik Sardana
27dbf50d80 refactor(tags): check for an earlier ticket instead of counting
`raised_by` is unindexed, so counting every ticket for a requester was a
full scan on each insert. An existence check stops at the first match.
2026-07-27 16:53:54 +05:30
Ritvik Sardana
1198b0e922 fix(style): change sla due color 2026-07-27 16:31:13 +05:30
Ritvik Sardana
d5354838e6 fix(tags): fill in a missing colour on an existing tag
A Tag master minted before colours existed, or by desk's tag sidebar,
keeps a null colour and renders gray forever. Treat a missing colour
the same as a claim and fill it in; a tag that already has one still
keeps it.
2026-07-27 16:22:30 +05:30
Ritvik Sardana
8d7aabb29e feat(dashboard): add Top Tags and Tag Trend charts
Two tag charts on the dashboard, reusing the existing date, team and
agent filters. Top Tags ranks the busiest tags on a horizontal bar so
long tag names get the long axis; Tag Trend stacks the top five tags
per day so a spike in one is visible. Tags live in Tag Link rather
than a scalar column, so these join instead of reusing the group-by
helpers the other master charts use.

Bar chart value axes now step by whole numbers. Every bar chart on
this dashboard counts tickets, and half a ticket is not a thing.
2026-07-27 16:15:22 +05:30
Ritvik Sardana
55afea6641 feat(tags): tag a requester's first ticket
Tag the first ticket ever raised by a requester with "First Ticket"
instead of setting a custom field, so it filters, reports and slices
like any other tag. The count runs in after_insert, where a count of
one means this is the first, and goes through apply_tag so the Tag
master is claimed for helpdesk and shows in the picker.
2026-07-27 16:15:03 +05:30
RitvikSardana
0aa9b3882c Merge pull request #3613 from RitvikSardana/feat/ticket-layout
feat: new ticket sidepanel layout
2026-07-27 03:14:05 +05:30
Ritvik Sardana
b6636c1b33 fix: add tags in Ticket Filters 2026-07-27 02:54:38 +05:30
Ritvik Sardana
dd198e2246 fix: framework/ui build 2026-07-27 02:25:12 +05:30
Ritvik Sardana
22b15e7cc1 fix(build): resolve @framework/ui imports from the desk root
@framework/ui is linked from source, so rollup resolves its imports
starting at apps/frappe/ui, and desk/node_modules is never on that
lookup chain. dompurify and reka-ui arrive there as frappe-ui deps, so
`bench build --app helpdesk` failed on CI where apps/frappe/ui has
nothing installed.

Deduping both forces them to resolve from the project root, the same
reason vue and frappe-ui are already listed.
2026-07-27 02:04:50 +05:30
Ritvik Sardana
34229ac4c3 refactor: tags component API 2026-07-27 01:41:41 +05:30
Ritvik Sardana
4308f38d53 feat(tags): batch ticket tag edits into one request
Tag editing now runs as a session: chips update optimistically while the
picker is open, and the whole edit lands as a single update_tags call when
it closes, logging one activity instead of one per tag.

The colour step moves into its own TagColorPicker component, and the tag
components are grouped under ticket-agent/tag/.
2026-07-26 18:25:12 +05:30
frappe-pr-bot
d2c5016988 chore: update POT file 2026-07-26 11:43:09 +00:00
Ritvik Sardana
950209e4c7 fix: remove dead code 2026-07-26 16:54:16 +05:30
Ritvik Sardana
2810cb4f3f Merge branch 'develop' of https://github.com/frappe/helpdesk into feat/ticket-layout 2026-07-26 14:43:35 +05:30
Ritvik Sardana
83a55e6d42 fix: remove chevron 2026-07-25 22:20:33 +05:30
Ritvik Sardana
4171740a65 fix: hide navigation buttons 2026-07-24 18:43:33 +05:30
Ritvik Sardana
eb27fb81c9 fix: polish sidebar and priority 2026-07-24 18:36:24 +05:30
Sydney
98c998b838 refactor: reorder and clarify ticket portal insert rules 2026-07-24 16:22:32 +05:30
Sydney Gomes
feb3dc53cb Merge pull request #3618 from aerodeval/fix/comment-attachment-upload-feedback
fix: attachment upload feedback + uploads while editing comments
2026-07-24 15:19:42 +05:30
Sydney
049935b60b fix: exit comment edit mode reliably on save/discard
Toggling `editable` on an existing comment crashed Vue's patch ("Cannot read properties of null (reading 'insertBefore')" in processCommentNode) because the v-if edit affordances sit next to the renderless Editor's ProseMirror-managed DOM. The aborted update left the Save/Discard buttons stuck on screen and the comment never left edit mode.

Key the Editor on edit/view mode so switching cleanly remounts it instead of patching across ProseMirror's DOM.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 15:03:49 +05:30
Sydney
9d68631a74 fix: allow file uploads when editing a ticket comment
The edit-comment Editor had no upload-function, so pasted or dropped media fell back to an orphaned private file (no attached_to) that 403s for other viewers. Wire up uploadFunction bound to the ticket, matching the new-comment editor.

Closes #3617

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 14:07:21 +05:30
Sydney
8b7958bbb6 fix: show a spinner on the attachment button while uploading
The FileUploader attach button only disabled itself during an upload with no visible indicator, so users had no way to tell why the send button was disabled. Swap the paperclip for a LoadingIndicator while uploading in the comment, email, and compact editors.

Closes #3616

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 14:07:20 +05:30
Ritvik Sardana
b403afc692 fix: spacing in side panel 2026-07-24 12:59:28 +05:30
Sydney
383e395535 refactor: use get_query to enforce ticket read permissions 2026-07-24 10:27:36 +05:30
Ritvik Sardana
e1bb4efbda fix: polish SLA section 2026-07-24 02:26:46 +05:30
Ritvik Sardana
7cbdd88364 chore: copy cleanup 2026-07-23 18:37:05 +05:30
Ritvik Sardana
02c6d57e76 fix: restore add_priority_integer patch
This 2023 patch was dropped in fce245316 when integer_value was replaced
by level. Old patches must never be deleted from the ledger; the new
backfill_priority_level supersedes it by addition, not removal.
2026-07-23 18:30:37 +05:30
Ritvik Sardana
67d0601fef chore: untrack stray .claude-worktrees gitlink
An accidental 160000 gitlink to the embed-private-images worktree was
committed in 865fdb4c9. Remove it and ignore .claude-worktrees so it
can't be re-added.
2026-07-23 18:30:30 +05:30
Ritvik Sardana
a15be81f08 fix: add chevron in status field 2026-07-23 18:25:11 +05:30
Ritvik Sardana
b192881de0 fix: ux for max tags 2026-07-23 18:12:30 +05:30
Ritvik Sardana
509d81b012 fix: SLA popover spacing 2026-07-23 17:30:30 +05:30
Ritvik Sardana
9cfcc1f72a fix: tags UX 2026-07-23 17:20:48 +05:30
RitvikSardana
6018181a35 Merge pull request #3610 from RitvikSardana/fix/default-portal-settings-existing-sites
fix: set default portal settings for existing sites
2026-07-23 17:08:25 +05:30
Ritvik Sardana
fbeeb0a5c3 fix: set default portal settings for existing sites
Sets Portal Settings default_role to HD Customer and
default_portal_home to /helpdesk on existing sites, only when the
values are not already set. Previously this ran on fresh installs only.
2026-07-23 16:57:26 +05:30
Ritvik Sardana
7fdcbd70d0 fix: SLA time style 2026-07-23 16:13:21 +05:30
Ritvik Sardana
aad724d1a8 chore: code cleanup 2026-07-23 14:00:03 +05:30
Ritvik Sardana
ebf49e189b fix: spacing in sections 2026-07-23 13:43:27 +05:30
Ritvik Sardana
d63a356da5 chore: update labels 2026-07-23 13:25:33 +05:30
Ritvik Sardana
274271f80a fix: polish side panel 2026-07-23 13:16:01 +05:30
Sydney
4c03293c97 refactor: derive ticket read fields from permissions 2026-07-23 10:08:54 +05:30
Sydney
89afe5614b fix: hide internal fields in ticket creation response 2026-07-23 10:08:26 +05:30
Ritvik Sardana
c61bb6df99 feat: add colors in Tags 2026-07-23 00:29:03 +05:30
RitvikSardana
146bfe33d0 Merge pull request #3608 from RitvikSardana/fix/attachment-remove
fix: unable to remove attachment
2026-07-22 22:54:40 +05:30
RitvikSardana
313e4620a4 Merge pull request #3607 from RitvikSardana/feat/home-recent-activity
feat: Recent Activity card on Home dashboard
2026-07-22 21:56:16 +05:30
Ritvik Sardana
0cc6f5d23a fix(ux): ticket value update 2026-07-22 21:25:21 +05:30
Ritvik Sardana
28a2385104 fix: line height 2026-07-22 21:00:18 +05:30
Ritvik Sardana
5038dd93a1 refactor: shared AttachmentList with lucide icon and video preview
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 20:50:17 +05:30
Ritvik Sardana
316a1b6292 fix: unable to remove attachment 2026-07-22 20:14:59 +05:30
Ritvik Sardana
06fc790387 fix: flaky tests in hd_agent 2026-07-22 20:01:37 +05:30
Ritvik Sardana
381073c764 refactor: API function 2026-07-22 19:29:57 +05:30
Ritvik Sardana
ae5702abf0 fix: dedupe recent activity per ticket before limiting
Group each source's events by ticket in SQL (MAX(creation)) so a single
busy ticket cannot consume the row limit and starve other eligible
tickets. Backfill the updated-action text for winning tickets, filter
inaccessible tickets before the cap, and add a regression test.
2026-07-22 18:51:07 +05:30
Ritvik Sardana
0415c75e9d fix: better list of events 2026-07-22 18:37:52 +05:30
Ritvik Sardana
2c3a354009 feat: tags in sidepanel 2026-07-22 17:52:47 +05:30
Ritvik Sardana
28465bb1a6 fix: better empty state 2026-07-22 17:49:58 +05:30
Ritvik Sardana
fd6e34b0c4 feat: recent activity 2026-07-22 17:33:07 +05:30
Ritvik Sardana
6dd3a6af57 feat: show priority level icon in agent ticket field
Render the HD Ticket Priority level icon before the selected value and
each option in the agent side panel priority Link (via the combobox
item-prefix slot, reused for the control). Keep the customer portal
priority as plain text for now.
2026-07-22 13:05:44 +05:30
Ritvik Sardana
78167274b1 fix: make patch better 2026-07-22 12:55:46 +05:30
Ritvik Sardana
7f6c42b853 chore: code cleanup 2026-07-22 12:55:46 +05:30
Ritvik Sardana
fce245316a feat: display ticket priority as icon and level
Replace the arbitrary integer_value on HD Ticket Priority with a purposeful
`level` Select field, and render priorities as an icon + name across the
agent ticket list, home pending tickets, customer portal, and SLA settings.

- Add `level` (Urgent/High/Medium/Low), remove integer_value
- Backfill patch: builtins map by name, custom priorities inherit the level
  of the nearest builtin above them (Medium when a site has no builtins)
- New TicketPriority.vue component and ticketPriority store
- Drop the now-unused priority-range colour pipeline in agent_home
2026-07-22 12:55:46 +05:30
RitvikSardana
77981e1f01 Merge pull request #3604 from RitvikSardana/feat/priority-level-icons
feat: display ticket priority as icon and level
2026-07-22 12:50:14 +05:30
Ritvik Sardana
700c48816c fix: assignee component width 2026-07-22 12:49:38 +05:30
Ritvik Sardana
04ac2c476f fix: make patch better 2026-07-22 12:13:27 +05:30
Ritvik Sardana
a48e9e5a49 chore: code cleanup 2026-07-22 11:47:06 +05:30
Ritvik Sardana
2d124b8f36 feat: display ticket priority as icon and level
Replace the arbitrary integer_value on HD Ticket Priority with a purposeful
`level` Select field, and render priorities as an icon + name across the
agent ticket list, home pending tickets, customer portal, and SLA settings.

- Add `level` (Urgent/High/Medium/Low), remove integer_value
- Backfill patch: builtins map by name, custom priorities inherit the level
  of the nearest builtin above them (Medium when a site has no builtins)
- New TicketPriority.vue component and ticketPriority store
- Drop the now-unused priority-range colour pipeline in agent_home
2026-07-22 02:07:20 +05:30
Ritvik Sardana
a16c83a51c fix: assignTo focus state and animation 2026-07-22 00:11:09 +05:30
Ritvik Sardana
20f65744a4 fix: use link field from framework 2026-07-21 18:54:28 +05:30
Ritvik Sardana
53284913fa fix: better SLA layout 2026-07-21 17:09:50 +05:30
Ritvik Sardana
865fdb4c9a fix: reposition SLA layout 2026-07-21 12:48:50 +05:30
Sydney Gomes
8ba5f214fb Merge pull request #3569 from aerodeval/feat/mobile-team-switcher
feat(mobile): team switcher in agent ticket header + mobile fixes
2026-07-21 02:27:52 +05:30
Sydney
cd63d475ad fix(desk): dark-mode styling for collapsed quote toggle in EmailEditor
The "..." collapse toggle used a hardcoded light background (#e8eaed) with
no dark variant, rendering as a bright white pill in dark mode. Add the
dark rules already used by the read-only EmailContent view.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-21 02:11:22 +05:30
RitvikSardana
f3e4d311d3 Merge pull request #3599 from RitvikSardana/editor/paste
fix: editor link and edit comment
2026-07-20 13:00:30 +05:30
Sydney
23597cec0a refactor: clarify permlevel exemptions in portal insert rules 2026-07-20 12:59:46 +05:30
Ritvik Sardana
641ad86f1d fix(patch): editor link and edit comment 2026-07-20 12:51:45 +05:30
Sydney
d2e7ee7232 fix(mobile): ticket header row px-3 to sit on the same gutter as tabs
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 15:41:34 +05:30
Sydney
8b359ac378 fix(mobile): align tab lists with the header hamburger icon
The hamburger icon sits 12px from the screen edge (ms-1 + button
px-2) while tab lists used 20px (px-5), so the tab row started
visibly right of the header icon. Tab lists are now px-3 on mobile
across all tabbed views: agent ticket and customer portal ticket
(mobile-only tab bars, unconditional) and Contact/Customer pages
(max-sm variant so desktop keeps the default px-5).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 15:39:11 +05:30
Sydney
b2f01d90c9 refactor: move activity deep-links from URL hash to ?highlight param
The hash was doing two jobs on ticket pages: useActiveTabManager
stores the active tab in it, and notification/search links used it to
point at one activity. The prefix allowlist only guarded the reader;
the writer side still interleaved: the post-highlight cleanup stripped
whatever hash existed 3s later (snapping desktop tabs picked during
the highlight window back to tab 0) and dropped ?view=, and on mobile
a deep-link hash was destroyed by the tab manager before its target
could ever mount.

Deep-link targets now travel as ?highlight=<element id> while the
hash carries only tab state. useActiveTabManager needs no changes --
it already preserves route.query in every navigation, so the two
writers own disjoint fields. Generators emit #activity (renders all
activity types on both form factors) plus the highlight param, making
mobile notification/search deep-links functional for the first time.
Cleanup removes only the consumed param, keeping ?view= and the tab
the user is on.

Supersedes the deepLinkPrefixes allowlist.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 15:20:51 +05:30
Sydney
068a41d8e6 refactor: allowlist deep-link prefixes instead of tab-name denylist
Deep-link ids are always prefixed (comment-, communication-), so match
on those instead of maintaining a list of tab names that must track
every tab rename or addition. Also prefixes MobileNotifications'
mention hash the way desktop Notifications.vue already does — the bare
comment name could never match the comment-<name> element ids.

Addresses greptile review on #3569.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 14:54:00 +05:30
Sydney
70051fe5f2 fix(mobile): align ticket header padding with tab list (px-5)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 14:32:55 +05:30
Sydney
af9aa8df76 fix: truncate long single-assignee name in AssignTo trigger
A single assignee's full name rendered without ellipsis because every
flex ancestor kept min-width:auto; long names overflowed the trigger.
min-w-0 down the chain (Button label span, trigger row, MultipleAvatar)
lets the existing truncate class clip with an ellipsis.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 14:30:10 +05:30
Sydney
b5592d6f91 fix(mobile): agent availability as native dropdown submenu
AvailabilityMenuMobile nested a right-placed Popover inside the
profile Dropdown; on narrow screens there is no room to the right so
the status panel landed on top of the menu items below it (theme
toggle). Replaced with a native Dropdown submenu option (same pattern
as the Apps entry) so reka-ui keeps it positioned inside the viewport,
and deleted the now-unused component.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 14:25:10 +05:30
Sydney
ea219b8c5b fix(mobile): match team switcher styling with assignee control
Renders the team Link through its target slot as the same outline
button AssignTo uses, and splits the header row evenly between the
two controls.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 13:44:12 +05:30
Sydney
df1787a833 fix(customer-portal): consistent text-p-sm in mobile details
Labels and values in the details tab now all use text-p-sm; the SLA
label width matches the other labels at 150px.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 13:22:45 +05:30
Sydney
9417f76547 fix(mobile): opaque sidebar background
frappe-ui Sidebar is transparent in dark mode by design; as a fixed
overlay on mobile the page content showed through. Same fix as
frappe/suite#108.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 13:22:45 +05:30
Sydney
b8b8b85c8b fix(mobile): don't treat active-tab hash as activity deep-link
useActiveTabManager stores the active tab in the URL hash, while
notification/search links use the hash to deep-link to one activity.
scrollToHash() treated any hash as a deep-link and stripped it from
the URL after highlighting, so opening the Activity tab on mobile
snapped back to Details a few seconds later (the lucide sprite's
<symbol id="activity"> even gave it an element to "scroll" to).
Tab-name hashes are now excluded from deep-link handling.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 13:22:45 +05:30
Sydney
39af981753 fix: skip get_apps fetch on customer portal
Customers lack permission for frappe.apps.get_apps and the call 403s.
The sidebar remounts on portal switch, so the flag re-evaluates for
agents.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 13:22:45 +05:30
Sydney
02810a821f feat(mobile): team switcher in agent ticket header
Adds an HD Team dropdown next to AssignTo in the mobile ticket
header so agents can reassign a ticket's team without opening the
details tab.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 13:22:45 +05:30
RitvikSardana
9c742fc313 Merge pull request #3568 from RitvikSardana/ui/sidebar
fix: SidebarItem overflow
2026-07-18 04:02:02 +05:30
Ritvik Sardana
984e5aa953 fix: rerendering of mention popover 2026-07-18 03:39:18 +05:30
Ritvik Sardana
1264551c8a fix: SidebarItem overflow 2026-07-18 03:26:13 +05:30
RitvikSardana
41561b1dc1 Merge pull request #3565 from RitvikSardana/ux/tickets-customer-contact
fix: make headers sticky in TicketsTab
2026-07-18 00:10:53 +05:30
Ritvik Sardana
db2971a5d9 chore: code cleanup 2026-07-17 19:20:51 +05:30
Ritvik Sardana
134142453c fix: make headers sticky in TicketsTab 2026-07-17 19:07:09 +05:30
Sydney Gomes
29c4dc2f2b Merge pull request #3538 from aerodeval/feat/onboarding-persona-questionnaire
feat: onboarding persona questionnaire
2026-07-17 18:59:36 +05:30
Sydney
8e3bbea28b feat: route the explore goal to the seeded welcome ticket
Falls back to the tickets list when the welcome ticket is gone or the
lookup fails.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 18:34:08 +05:30
Sydney
fbda167795 fix: cap questionnaire textarea resize
Vertical-only, between one row block and roughly twice the default height.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 18:34:05 +05:30
Sydney
eb9089a3ec refactor: read telemetry state from boot and simplify the persona guard
Ship the pulse client config as a boot value (the same channel as lang/dir)
so telemetryEnabled() is synchronous and the guard never hits the network.
Collapse personaInterrupt onto canViewPersona, move the Persona-route check
inside it, and report persona_captured truthfully for all users — the guard
alone owns eligibility.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 18:33:54 +05:30
Sydney
cf1c863525 fix: keep the app title in branded invitation subjects
The subject now reads "You've been invited to join <brand> on <app title>"
so recipients still learn which product invited them.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 18:33:44 +05:30
Sydney Gomes
49902e915b Merge pull request #3563 from aerodeval/fix/outlook-mso-comments
fix: strip html comments from agent reply email content
2026-07-17 15:43:41 +05:30
Sydney
2b83c4bb42 fix: translate create button label on tickets page 2026-07-17 15:23:40 +05:30
RitvikSardana
0afefdefec Merge pull request #3562 from RitvikSardana/fix/customer-primary-contact
fix: reuse existing contact as customer primary contact & accurate ticket counts
2026-07-17 14:47:44 +05:30
Sydney
513bf1c312 fix: strip html comments from agent reply email content 2026-07-17 14:20:47 +05:30
Ritvik Sardana
9fe0925f92 chore: match prettier indentation, drop unused doc prop, note tablist height coupling 2026-07-17 13:32:04 +05:30
Ritvik Sardana
b2cd9f35ce fix: ticket count in customer & contact page 2026-07-17 13:18:41 +05:30
Sydney
d9018ff7bb fix: keep brand name out of other apps' invitation emails
HelpdeskUserInvitation is registered via override_doctype_class, which
is site-wide — every User Invitation got the HD brand name as its email
title once onboarding set one, so on a multi-app site an ERPNext invite
would arrive titled with the helpdesk brand.

Defer to the framework title (per-app via the app_title hook) unless
the invitation's app_name is helpdesk. Covered both ways by tests:
helpdesk invitations get the brand, frappe invitations keep their own
title with a brand set.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 22:09:34 +05:30
Sydney
2567f75a55 refactor: standardize onboarding routing
Access control moves onto the route: /onboarding gets a beforeEnter
gate (canViewPersona), and the global guard keeps only the
once-per-session interrupt (personaInterrupt). persona.ts sheds its
homegrown { done, to } protocol for plain vue-router idioms.

Layout moves into the route tree: portal pages nest as children of a
PortalRoot parent that picks the agent or customer shell from the
session, while /onboarding stays top-level and renders bare. That
deletes meta.fullScreen and App.vue's layout branching — the root
template is a single router-view, and the no-flash behavior becomes
structural: an unresolved route renders nothing because there is
nothing else to render.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 21:21:26 +05:30
Sydney
c500bc53ee fix: translate and reword the questionnaire subtitle
The subtitle was the only user-facing string in the component not wrapped
in __(), so it stayed English in every locale while its siblings (Next,
Finish, Skip for now, every question title) translated.

It also renders under each question rather than just the first, so "A few
quick questions to tailor Helpdesk to how you work" narrated a flow the
reader was already several screens into — and promised tailoring under
questions that configure nothing. State the reason instead, so it holds up
on any question.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-16 20:25:06 +05:30
Sydney
7c9dc58791 feat: ask how they heard about helpdesk as chips
The referral question was a required free-text box, which is hard to
aggregate. Offer the channels people actually arrive through, Frappe
ecosystem first, and keep "Other" so the free-text nuance isn't lost.

Single-select: attribution is one answer, and it keeps the Pulse property
a scalar rather than an array.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-16 20:11:51 +05:30
Sydney
8e5cee8d06 fix: align questionnaire chip states with the select's tokens
The chips jumped from surface-gray-4 when selected to surface-gray-5 on
hover, while unselected chips had no bg hover at all — frappe-ui's outline
variant only moves the border.

Reuse the Select's own recipe (shared/selection/utils.ts) so selection
feedback is consistent across the form: alpha-gray-2 on hover, gray-3 when
selected, gray-4 when both.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-16 20:11:41 +05:30
Sydney
c0cca6f238 fix: don't render the portal shell before the route resolves
App.vue picks its layout from route.meta.fullScreen, but rendered before
the first navigation resolved. At START_LOCATION meta is empty, so v-else
made PortalRoot the default and the sidebar painted for the length of the
guard's round trips before a fullScreen route (onboarding) replaced it.

Render neither branch until route.name exists. Fixing it here rather than
deferring the mount keeps theme, favicon and config init at their current
timing.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-16 20:11:31 +05:30
Ritvik Sardana
534bc291bc fix: if new contact invited via customer show in toast 2026-07-16 18:30:01 +05:30
RitvikSardana
b2faee1248 Merge pull request #3555 from frappe/view-icons
fix: replace emojis with icons for custom views
2026-07-16 18:15:36 +05:30
Ritvik Sardana
36eb9fd89a fix: use clock-alert icon for SLA Alerts view
triangle-alert reads as a generic error and hourglass is already used by
the Pending Tickets view. clock-alert conveys time-based urgency, which
matches SLA breach tracking. Existing sites pick it up via the
rename_and_update_std_views patch.
2026-07-16 17:21:31 +05:30
Ritvik Sardana
4767ca00e2 fix: restore customer portal permission banner in sidebar
The sidebar refactor to AppSidebar dropped CustomerPortalPermissionBanner
along with its showPermissionNoticeBanner computed. Restore it in the
footer slot with the original visibility logic (agent portal only,
manager/admin, HD Settings notice flag).
2026-07-16 17:21:30 +05:30
Sydney
2e450082be feat: ask for "Other" detail on next instead of disabling it
Selecting "Other" reveals a free-text box. Rather than silently disabling
Next, keep it enabled and ask on click: proceed() blocks, focuses the box
and surfaces an error via frappe-ui's Textarea error prop.

The error clears on navigation and on toggling "Other" off, so re-opening
the box never shows an error the user hasn't earned.

Also make referral_source required, and carry the asterisk on the title
for questions whose title is the prompt and so have no label to hang it
on. "Please specify" served as both placeholder and error; replace it
with per-question placeholder copy and an actionable error.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-16 16:11:04 +05:30
Ritvik Sardana
755ac8de7a fix: dont invite primary contact if already exists 2026-07-16 15:52:07 +05:30
Sydney
8099e23dfb fix: only gate next on text questions marked required
canProceed treated every text question as mandatory, so referral_source
blocked Next until answered even though it carries no required flag and
renders no asterisk. required was consulted for the asterisk only, never
during validation.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-16 15:35:40 +05:30
Sydney
deb2c7f921 test: cover persona capture and invitation email title
Adds tests for mark_persona_captured (brand name written to HD Settings
and Website Settings, site_name default for the welcome email subject,
persona_captured flag, blank brand left untouched) and for the
HelpdeskUserInvitation title override.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-16 14:42:15 +05:30
Ritvik Sardana
a296498102 fix: SavedReply filter 2026-07-16 14:20:11 +05:30
Ritvik Sardana
8828d53fd7 fix: notification panel wrt sidebar 2026-07-16 13:47:03 +05:30
Sydney Gomes
1b3ccb41c0 Merge pull request #3554 from ews-pgasser/chore/german-translations
added missing msgstr for translation
2026-07-16 13:16:53 +05:30
Philipp Gasser
eb802e01a6 chore: added missing msgstr for translation 2026-07-16 09:32:18 +02:00
Ritvik Sardana
698e6d274a fix: styles 2026-07-16 12:39:46 +05:30
Sydney
d5b65d2910 feat: disable next until the current question is answered 2026-07-16 12:11:41 +05:30
Sydney
dd7bb45af8 fix: hide internal ticket fields from customers 2026-07-16 11:33:42 +05:30
Ritvik Sardana
aaa6cdf574 fix: update sidebar code with new API 2026-07-16 02:44:36 +05:30
RitvikSardana
91163b657a Merge pull request #3531 from ews-pgasser/chore/german-translations 2026-07-16 02:32:49 +05:30
Sydney
be07eb606b fix: only expose creation-form fields from templates 2026-07-16 02:05:57 +05:30
Sydney
d03db34406 fix: stamp response times on portal replies 2026-07-16 02:05:27 +05:30
Ritvik Sardana
827d865b9b fix: remove memoji package 2026-07-16 01:25:51 +05:30
Ritvik Sardana
8fa03b6478 fix(views): use icons instead of emojis 2026-07-16 01:25:11 +05:30
Sydney
b4cb599c27 fix: await onboarding navigation chain and un-fade on failure 2026-07-15 20:02:38 +05:30
Sydney
b939428949 refactor: isolate persona routing and drop guard import cycle 2026-07-15 19:47:14 +05:30
ews-pgasser
afed0f86ea chore: added newly introduced german translations by pot-file 2026-07-15 16:00:29 +02:00
Sydney
fa1430f1a8 feat: use brand name in invitation email subject 2026-07-15 19:30:17 +05:30
Sydney
b57525fabe feat: set site_name from onboarding org name for welcome email 2026-07-15 19:21:58 +05:30
Sydney
8dd9905606 perf: read persona flag from auth boot to drop guard round-trip 2026-07-15 19:09:28 +05:30
Philipp Gasser
976c195a71 Merge branch 'develop' into chore/german-translations 2026-07-15 15:15:51 +02:00
Sydney
cdc1e286a4 feat: set site-wide app name from onboarding org name 2026-07-15 18:23:35 +05:30
Sydney
5dd984e21f feat: add 'how did you hear' question to onboarding 2026-07-15 18:23:09 +05:30
Sydney
39f94615c6 feat: set brand name from onboarding org name 2026-07-15 17:57:52 +05:30
Sydney
c5f44440b3 feat: route to selected goal and refine onboarding questionnaire 2026-07-15 17:40:28 +05:30
RitvikSardana
737533d3db Merge pull request #3540 from kaulith/fix/agent-reply-no-prior-communication
fix: agent reply fails on tickets with no prior communication
2026-07-15 13:31:43 +05:30
Sydney
90ca4ef236 chore: rename onboarding event to onboarding_persona_hd 2026-07-15 12:48:35 +05:30
Sydney
3fb08b35ab refactor: persist persona flag via onboarding endpoint 2026-07-15 12:42:34 +05:30
Sydney
13212ec6e5 feat: add organization size to onboarding questionnaire 2026-07-15 12:41:51 +05:30
Sydney Gomes
f04e19a001 Merge pull request #3547 from aerodeval/fix/sla-default-blank-condition-catchall
fix: ticket SLA policy application
2026-07-15 12:11:50 +05:30
Sydney
d73f46742a test: blank SLA condition must not match ahead of the default SLA
Covers both halves of the catch-all fix: a non-default SLA with a
blank ("" or NULL) condition never matches a ticket, and demoting the
seeded "Default" SLA by promoting a new default doesn't leave the
demoted one winning every ticket.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-15 11:58:46 +05:30
Sydney
5fa9d980f3 Merge upstream/develop into onboarding branch 2026-07-15 01:25:25 +05:30
RitvikSardana
06e3a4eb4c Merge pull request #3539 from frappe/pot_develop_2026-07-12
chore: update POT file
2026-07-15 00:59:41 +05:30
RitvikSardana
d632f6e95f Merge branch 'develop' into pot_develop_2026-07-12 2026-07-14 22:31:04 +05:30
RitvikSardana
78d83a9f24 Merge pull request #3522 from frappe/pot_develop_2026-07-05
chore: update POT file
2026-07-14 22:30:33 +05:30
RitvikSardana
584a1182c0 Merge pull request #3517 from frappe/l10n_develop
chore: sync translations from crowdin
2026-07-14 21:28:21 +05:30
RitvikSardana
ddf5acc9ef Merge pull request #3549 from frappe/upgrade-fui
fix: bump frappe UI to beta-24
2026-07-14 21:18:48 +05:30
Ritvik Sardana
49f14fdd98 fix: allow spaces in SavedReply 2026-07-14 17:49:45 +05:30
Ritvik Sardana
80fb83a431 fix: filter operator popover 2026-07-14 16:33:10 +05:30
Ritvik Sardana
bd2102ac20 fix: media upload in articles 2026-07-14 15:09:57 +05:30
Ritvik Sardana
ecb0a564fe fix: spacing in attachment icon 2026-07-14 14:55:34 +05:30
Sydney Gomes
9da4452311 Merge pull request #3548 from aerodeval/chore/raise-frappe-upper-bound
chore: raise upper bound limit for Frappe dependency
2026-07-14 14:39:36 +05:30
Ritvik Sardana
5c8eb2603f fix: patch beta24 suggestion-renderer 2026-07-14 14:39:16 +05:30
Sydney
6ea221f67e chore: raise upper bound limit for Frappe dependency 2026-07-14 14:26:18 +05:30
Ritvik Sardana
9b77397563 fix: commonify editor component 2026-07-14 13:36:56 +05:30
Sydney
5f63b65017 fix: default SLA checkbox double-toggles and never actually flips 2026-07-14 13:11:01 +05:30
Ritvik Sardana
1f8b5e583f chore: change frappe dependency version 2026-07-14 12:45:08 +05:30
Ritvik Sardana
c6bb72ca85 fix: migrate editor 2026-07-14 12:25:38 +05:30
Sydney
00d7bb5c84 fix: don't let a blank SLA condition act as an implicit catch-all
An enabled, non-default SLA with no condition was matching every
ticket ahead of the actual default SLA, since a blank condition
short-circuited to "always match" in the loop. This is most visible
when the seeded "Default" SLA is demoted (a different SLA is flagged
default_sla) but keeps its blank condition — it then silently wins
for every ticket regardless of which SLA is now marked default.

Only SLAs with a real condition can be matched this way now; a blank
condition no longer qualifies as a candidate, leaving default_sla as
the only legitimate catch-all.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-14 11:12:49 +05:30
Sydney
0f33cfb647 fix: keep customer selectable at ticket creation 2026-07-14 10:43:36 +05:30
Sydney
5013fb703a feat: add company name question to onboarding 2026-07-14 10:27:12 +05:30
Ritvik Sardana
92fc5a65ee fix: label styles 2026-07-13 20:21:08 +05:30
Ritvik Sardana
3b31cb444b fix: update old colors 2026-07-13 18:32:49 +05:30
Sydney
fa266c315e fix: add back button for questions 2026-07-13 18:17:48 +05:30
Sydney Gomes
99d685a27a Merge branch 'develop' into fix/ticket-field-level-perms 2026-07-13 17:57:15 +05:30
Ritvik Sardana
79ebba3319 chore: upgrade frappe-ui to 1.0.0-beta.24
- Bump frappe-ui beta.3 -> beta.24 and @tiptap/* -> ^3.26.0
- Run espresso v2 token codemod across desk/src (surface/ink/outline
  renames, type-scale shift, and text-size+font-weight class merges)
- Dedupe tiptap/prosemirror in vite.config so the editor resolves a
  single prosemirror instance (fixes "Adding different instances of a
  keyed plugin" RangeError that blanked all rich-text editors)
- Fix TicketSLA Badge crash by returning a valid theme ("gray") during
  ticket load; beta.24 Badge rejects unknown/empty themes
- Re-apply follow-ups from the reverted bump PR: MobileSidebar i18n,
  hide TicketCustomerSidebar actions when Closed, TicketFeedback
  StarRating -> frappe-ui Rating, TicketCustomer editor optional
  chaining, vite-helpers editor-style.css submodule alias

Known issue: editor @mention and / slash-command popups do not open on
beta.24 (suggestion item list is empty at first render, so the popup
element never mounts); tracked for a follow-up fix.
2026-07-13 17:52:44 +05:30
RitvikSardana
482ebf07cf Merge pull request #3541 from RitvikSardana/customer-portal-permission-banner
fix: Customer portal permission banner
2026-07-13 16:33:42 +05:30
Ritvik Sardana
c8fc81655b fix: dont let contact field change by end user 2026-07-13 16:23:44 +05:30
RitvikSardana
65e0500094 Merge pull request #3543 from RitvikSardana/ux-alignment
fix: recent tickets alignment
2026-07-13 16:04:54 +05:30
Ritvik Sardana
0635405c64 fix: copy of dialog 2026-07-13 16:00:13 +05:30
Ritvik Sardana
9475349028 fix: bring back guest api call for config 2026-07-13 15:55:59 +05:30
Ritvik Sardana
c26cf84d15 fix: recent tickets alignment 2026-07-13 15:50:15 +05:30
Sydney
6e444c2129 test: field level permission coverage for HD Ticket 2026-07-13 15:39:13 +05:30
Sydney
c184868ee4 fix: migrate field permissions on existing sites 2026-07-13 15:39:12 +05:30
Sydney
764468333a fix: raise hidden template custom fields to permlevel 1 2026-07-13 15:39:10 +05:30
Sydney
6040ddebd3 fix: restrict agent-only ticket fields to permlevel 1 2026-07-13 15:39:08 +05:30
Sydney
ffb9cd9ed4 fix: rework onboarding questionnaire ui 2026-07-13 15:23:35 +05:30
Ritvik Sardana
a96b6ff8cc fix: add owner and creation field in bulk creation 2026-07-13 14:28:35 +05:30
Ritvik Sardana
10e6f73dc3 fix(UI): linked customers in contact page 2026-07-13 13:46:14 +05:30
Ritvik Sardana
4606250025 fix: remove guest access from get_config 2026-07-13 13:27:36 +05:30
Ritvik Sardana
0b37b43932 fix: null check in field options 2026-07-13 13:04:49 +05:30
Sydney Gomes
8f6042d342 Merge pull request #3530 from aerodeval/fix/thunderbird-formatting
fix: preserve formatting for thunderbird received emails
2026-07-13 13:02:15 +05:30
Ritvik Sardana
28eb577ee9 perf: promote contacts to managers with set-based queries
Replace the per-customer document loop with a single child-table
update and a bulk Has Role insert, evicting stale role caches since
bulk_insert skips the ORM. Flip the notice flag via set_single_value
and publish the settings-updated event explicitly.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 12:47:28 +05:30
Sydney
dbac204a35 fix: add pre-wrap to maintain spacing formatting 2026-07-13 12:15:39 +05:30
Ritvik Sardana
be0b6f7e48 refactor: use $socket from global store in config store
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 11:07:41 +05:30
Ritvik Sardana
b108f47c7b fix: update perms on banner 2026-07-13 10:42:00 +05:30
Ritvik Sardana
a28ad43a50 fix: restrict non-agents to their own contact on tickets 2026-07-13 10:25:42 +05:30
Ritvik Sardana
1891b404c0 feat: scope ticket customer field to contact's customers on customer portal 2026-07-13 10:25:33 +05:30
Kaushal Shriwas
18b59372aa fix: agent reply fails on tickets with no prior communication 2026-07-12 18:48:28 +05:30
frappe-pr-bot
b18851a0ff chore: update POT file 2026-07-12 11:35:30 +00:00
Sydney
eb6fcd5229 fix: refine onboarding persona questionnaire 2026-07-12 16:33:20 +05:30
Ritvik Sardana
a8ca6f442f fix: drop img src after setting embed so inline images render in emails
Pasted images are uploaded as private files, and parse_content kept the
original src alongside the embed attribute. The framework's cid
replacement then produced a duplicate-src img tag, so email clients
could resolve the login-gated /private/files URL instead of the inline
cid attachment. Swap src for embed (site files only, external URLs and
data URIs untouched) so the inline attachment always wins.
2026-07-12 12:53:39 +05:30
Ritvik Sardana
c81c2dfe19 chore: emphasize customer managers term in notice dialog 2026-07-12 01:59:19 +05:30
Ritvik Sardana
82765be52d refactor: guard notice endpoints with agent_manager_only decorator 2026-07-12 01:45:52 +05:30
Ritvik Sardana
5666f55117 chore: state previous portal behaviour and shorten checkbox label 2026-07-12 01:44:19 +05:30
Ritvik Sardana
0557912621 chore: simplify notice dialog copy and state what managers can do 2026-07-12 01:35:09 +05:30
MochaMind
1cb7861af3 chore: Bosnian translations 2026-07-11 15:48:23 +05:30
Sydney
1733b75837 feat: add onboarding persona questionnaire 2026-07-11 00:54:49 +05:30
Sydney
101fc39e0f feat: add Questionnaire stepper component 2026-07-11 00:54:48 +05:30
Sydney
2cf2cfac45 feat: add persona_captured flag to HD Settings 2026-07-11 00:54:39 +05:30
MochaMind
6606eee222 chore: Bosnian translations 2026-07-10 15:19:33 +05:30
Sydney Gomes
2ac1caa944 Merge pull request #3533 from frappe/mergify/aerodeval/I89bf640cfda25c6518dd8a913dec524b9b80bd52
Update workflow automation rules
2026-07-10 12:33:42 +05:30
Sydney Gomes
47d5c70d02 Update workflow automation rules
Signed-off-by: Sydney Gomes <null>
2026-07-10 12:11:11 +05:30
ews-pgasser
2cbe4355fc chore: added german translations 2026-07-09 18:19:51 +02:00
Sydney
c087f6fe10 fix: add consistent variable naming 2026-07-09 17:46:50 +05:30
Sydney
18ca7518c3 fix: add support for thunderbird mails in replied content 2026-07-09 17:36:01 +05:30
Sydney
0939bf8ff7 fix: preserve line-height for thunderbird mails 2026-07-09 16:55:30 +05:30
Sydney Gomes
77a0119309 Merge pull request #3529 from aerodeval/fix/display-time-elapsed-labels
fix: display proper labels for time elapsed
2026-07-09 15:15:48 +05:30
Ritvik Sardana
5f7a2e671c fix: sidebar banner layout 2026-07-09 14:25:32 +05:30
Sydney
bd22cf47df fix: preserve formatting for thunderbird received emails 2026-07-09 13:25:10 +05:30
Sydney
64d4499627 fix: display proper labels for time elapsed 2026-07-09 12:33:45 +05:30
Sydney Gomes
4d250f6ee8 Merge pull request #3506 from aerodeval/fix-ticket-merge
fix: redirect responses to correct merged ticket
2026-07-08 18:55:07 +05:30
Sydney
4951c74712 fix: correct invalid Check field default in HD Ticket
raised_outside_working_hours had default "False", which Frappe rejects
for Check fields (must be "0"/"1"). This broke any save_customization()
on HD Ticket, failing the field dependency form-script tests.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 18:41:53 +05:30
Sydney
6610c58c7c fix: handle replies when merge target can't be resolved
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 17:57:21 +05:30
Ritvik Sardana
1e16325daa feat: link permission update documentation in notice dialog 2026-07-07 22:09:34 +05:30
Ritvik Sardana
8492e6be56 feat: one-time notice for changed customer portal permissions
Agent managers see a sidebar banner explaining the new customer portal
permission model introduced by the customer contact management refactor.
The dialog offers to restore the previous behaviour by promoting every
existing customer contact to customer manager, so contacts can again see
all tickets of their customer.

The notice is enabled by a patch only on sites that have non-manager
customer members (i.e. sites migrated from the old contact model).
2026-07-07 21:22:11 +05:30
MochaMind
43a2cab245 chore: Persian translations 2026-07-06 14:22:35 +05:30
frappe-pr-bot
c80ce12f93 chore: update POT file 2026-07-05 11:10:55 +00:00
MochaMind
19182c83f3 chore: Uzbek translations 2026-07-03 04:05:26 +05:30
MochaMind
9cb5dceb38 chore: Bosnian translations 2026-07-01 03:58:36 +05:30
MochaMind
f9291a8e1f chore: Croatian translations 2026-07-01 03:58:34 +05:30
MochaMind
1160f36fe4 chore: Esperanto translations 2026-06-30 03:28:46 +05:30
MochaMind
13ce5b46fe chore: Serbian (Latin) translations 2026-06-30 03:28:44 +05:30
MochaMind
5516a4e19a chore: Norwegian Bokmal translations 2026-06-30 03:28:41 +05:30
MochaMind
216dfb9caa chore: Uzbek translations 2026-06-30 03:28:39 +05:30
MochaMind
186728d584 chore: Bosnian translations 2026-06-30 03:28:36 +05:30
MochaMind
4b70246543 chore: Burmese translations 2026-06-30 03:28:34 +05:30
MochaMind
f8652ac2ef chore: Hindi translations 2026-06-30 03:28:31 +05:30
MochaMind
369905d689 chore: Croatian translations 2026-06-30 03:28:29 +05:30
MochaMind
bbf6c95f42 chore: Thai translations 2026-06-30 03:28:27 +05:30
MochaMind
8636289f79 chore: Persian translations 2026-06-30 03:28:24 +05:30
MochaMind
c50efca62d chore: Indonesian translations 2026-06-30 03:28:22 +05:30
MochaMind
9c813a8fb6 chore: Portuguese, Brazilian translations 2026-06-30 03:28:18 +05:30
MochaMind
d421ae08f3 chore: Vietnamese translations 2026-06-30 03:28:16 +05:30
MochaMind
f0000f429a chore: Chinese Simplified translations 2026-06-30 03:28:13 +05:30
MochaMind
1f0e0ca725 chore: Turkish translations 2026-06-30 03:28:11 +05:30
MochaMind
7124a5a95b chore: Swedish translations 2026-06-30 03:28:09 +05:30
MochaMind
1d2d9d6e30 chore: Serbian (Cyrillic) translations 2026-06-30 03:28:06 +05:30
MochaMind
2d82b9dde9 chore: Slovenian translations 2026-06-30 03:28:04 +05:30
MochaMind
a8a14f8e32 chore: Russian translations 2026-06-30 03:28:01 +05:30
MochaMind
6ad6125546 chore: Portuguese translations 2026-06-30 03:27:59 +05:30
MochaMind
7e89bfa22e chore: Polish translations 2026-06-30 03:27:56 +05:30
MochaMind
3f849eba16 chore: Dutch translations 2026-06-30 03:27:54 +05:30
MochaMind
fb72bb2b96 chore: Korean translations 2026-06-30 03:27:52 +05:30
MochaMind
dd4ebe3400 chore: Italian translations 2026-06-30 03:27:49 +05:30
MochaMind
a50d82b3c9 chore: Hungarian translations 2026-06-30 03:27:47 +05:30
MochaMind
393433fb45 chore: German translations 2026-06-30 03:27:44 +05:30
MochaMind
1443a294dc chore: Danish translations 2026-06-30 03:27:42 +05:30
MochaMind
bb5e3b0dc2 chore: Czech translations 2026-06-30 03:27:39 +05:30
MochaMind
f270a9331d chore: Bulgarian translations 2026-06-30 03:27:37 +05:30
MochaMind
16eaa3abc3 chore: Arabic translations 2026-06-30 03:27:34 +05:30
MochaMind
9fa30934b1 chore: Spanish translations 2026-06-30 03:27:32 +05:30
MochaMind
5d1faf68ac chore: French translations 2026-06-30 03:27:29 +05:30
RitvikSardana
2b2d20e06e Merge pull request #3516 from RitvikSardana/editor-upload-fn
fix: pass uploadFunction prop
2026-06-30 03:16:48 +05:30
Ritvik Sardana
8fbf5c2b41 fix: null guard check 2026-06-30 01:04:45 +05:30
Ritvik Sardana
44cfd1d5cb fix: null guard check 2026-06-30 01:00:26 +05:30
Ritvik Sardana
1b26e17dc9 fix: pass uploadFunction prop 2026-06-30 00:54:34 +05:30
RitvikSardana
e093d73077 Merge pull request #3515 from RitvikSardana/route-by-customer
fix: add auto set customer setting
2026-06-29 18:47:06 +05:30
RitvikSardana
a82eabfe9d Merge pull request #3514 from RitvikSardana/fix/lv-design
fix: listview column resize & phone column
2026-06-29 18:41:40 +05:30
Ritvik Sardana
06b488221e fix: auto set customer setting 2026-06-29 18:32:42 +05:30
Ritvik Sardana
c4b07a935d fix: listview column resize, phone column & max capping 2026-06-29 18:02:33 +05:30
RitvikSardana
9d7e75c02a Merge pull request #3513 from RitvikSardana/fix/restore-doctype-permissions
fix: restore doctype permissions reverted in #3512
2026-06-29 15:27:05 +05:30
Ritvik Sardana
a5d4c45cda fix: query HD Ticket instead of Issue in support hour distribution
Restores the report query change from #3502 (reverted in #3512),
matching the report's ref_doctype change to HD Ticket.
2026-06-29 15:13:49 +05:30
Ritvik Sardana
c5d09133e5 fix: use get_list for permission-aware article category queries
Restores the knowledge base API change from #3502 (reverted in #3512):
get_list enforces user permissions where get_all bypasses them.
2026-06-29 15:13:27 +05:30
Ritvik Sardana
209bda2bac fix: restore doctype permissions reverted in #3512
Re-applies the DocType permission changes that were bundled into #3502
and lost when it was reverted (#3512):

- HD Ticket: replace 'All' with 'HD Customer' and 'HD Customer Manager'
- HD View: replace 'Guest' with 'HD Customer' and 'HD Customer Manager'
- HD Article / HD Article Category / HD Ticket Type: add 'HD Customer Manager'
- HD Ticket Template: add 'Agent Manager'

Also restores the Support Hour Distribution report export.
2026-06-29 15:10:00 +05:30
RitvikSardana
4a072f4664 Merge pull request #3512 from frappe/revert-3502-fix/bump-frappe-ui
Revert "fix: bump frappe UI"
2026-06-29 15:00:00 +05:30
RitvikSardana
3c4b6b84a9 Revert "fix: bump frappe UI" 2026-06-29 13:30:41 +05:30
Sydney
4819dfca35 fix: correctly route replies to merged tickets to the merge target 2026-06-29 00:01:27 +05:30
Sydney
076cdc759f test: add test cases for routing to correct communication 2026-06-28 22:59:02 +05:30
Sydney
644ce7926c fix: redirect replies on merged tickets to the merge target 2026-06-28 22:58:08 +05:30
RitvikSardana
5df20e73df Merge pull request #3502 from RitvikSardana/fix/bump-frappe-ui
fix: bump frappe UI
2026-06-28 18:22:17 +05:30
RitvikSardana
8c255460ec Merge pull request #3504 from frappe/pot_develop_2026-06-28
chore: update POT file
2026-06-28 17:31:14 +05:30
RitvikSardana
6d79a4a5b6 Merge pull request #3497 from frappe/l10n_develop
chore: sync translations from crowdin
2026-06-28 17:30:57 +05:30
frappe-pr-bot
ece9852a78 chore: update POT file 2026-06-28 11:13:20 +00:00
Ritvik Sardana
56d24f0faa chore: code cleanup 2026-06-28 14:18:25 +05:30
Ritvik Sardana
c9fdd600c1 fix: better list view 2026-06-28 14:02:26 +05:30
MochaMind
378522e7db chore: Uzbek translations 2026-06-28 03:01:47 +05:30
Ritvik Sardana
3622dfe4ac fix: dev mode 2026-06-27 23:35:33 +05:30
RitvikSardana
483d08c895 Merge pull request #3503 from RitvikSardana/fix/customer-ticket
fix: set customer only for new tickets
2026-06-27 20:57:58 +05:30
Ritvik Sardana
44571648bf fix: update logic 2026-06-27 20:44:53 +05:30
Ritvik Sardana
4474bfaa41 fix: cap analytic changes to 100% 2026-06-27 20:32:32 +05:30
Ritvik Sardana
12bc0109d2 fix: set customer only for new tickets 2026-06-27 20:29:19 +05:30
Ritvik Sardana
bdfe683918 Merge branch 'fix/bump-frappe-ui' of https://github.com/RitvikSardana/helpdesk into fix/bump-frappe-ui 2026-06-27 20:06:33 +05:30
Ritvik Sardana
93397d6e4e chore: remove dead code 2026-06-27 20:06:06 +05:30
RitvikSardana
8fe42b4762 Merge branch 'develop' into fix/bump-frappe-ui 2026-06-27 19:45:51 +05:30
RitvikSardana
fedc622288 Merge pull request #3501 from RitvikSardana/fix-scroll
fix: remove overscroll-behavior
2026-06-27 19:44:56 +05:30
Ritvik Sardana
6f44b64d1f fix: add view perm for new roles 2026-06-27 19:43:10 +05:30
Ritvik Sardana
b0308c22be fix: update frappe-ui version 2026-06-27 19:29:59 +05:30
MochaMind
bea5399cb1 chore: Swedish translations 2026-06-27 03:03:07 +05:30
Ritvik Sardana
b9a6b2091d feat: add Read and Select permissions for Agent role on HD Ticket Status 2026-06-26 18:20:02 +05:30
Ritvik Sardana
717a967484 fix: remove overscroll-behavior: none to fix scroll chaining issue 2026-06-26 18:17:07 +05:30
Sydney Gomes
7a0e3a80bb Merge pull request #3500 from aerodeval/fix-agent-availability
refactor: fetching agent availability
2026-06-26 12:51:33 +05:30
Sydney
9d1cbecc24 fix: use onError instead of catch for promise rejection in setAvailability 2026-06-26 12:37:01 +05:30
Sydney
01ad287670 fix: drop redundant per ticket fetch for current agent in AssignTo 2026-06-26 11:57:39 +05:30
Sydney
4b38d0c1f9 refactor: update frontend to read availability from store 2026-06-26 11:44:35 +05:30
Sydney
d2ea0ecd8d refactor: seed agent availability from session 2026-06-26 11:43:00 +05:30
MochaMind
3f2c19afab chore: Swedish translations 2026-06-26 02:16:26 +05:30
MochaMind
41f6ba8e42 chore: German translations 2026-06-26 02:16:23 +05:30
RitvikSardana
882465c6ea Merge pull request #3499 from RitvikSardana/fix/customer-dark-mode
fix: dark mode issues
2026-06-26 01:38:13 +05:30
Ritvik Sardana
6d2c88466f fix: return submit promise in remove contact dialog
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 00:56:08 +05:30
RitvikSardana
b8794be86e Merge pull request #3488 from RitvikSardana/fix/dashboard-and-recent-tickets
fix: dedupe recent tickets, feedback rating by resolution date, staledashboard stats
2026-06-25 23:52:30 +05:30
Ritvik Sardana
cce4fc77b5 fix: stale tickets 2026-06-25 23:36:55 +05:30
Ritvik Sardana
2d99d87fca fix: badge color 2026-06-25 23:24:01 +05:30
Ritvik Sardana
d47ac23c8f fix: dark mode issues 2026-06-25 23:21:36 +05:30
RitvikSardana
9fa9b9c910 Merge pull request #3045 from RitvikSardana/refactor/customer-contact
feat!: customer contact management
2026-06-25 21:11:16 +05:30
Ritvik Sardana
10a910e6ff fix: validate primary contact 2026-06-25 13:26:06 +05:30
MochaMind
1c3f8d9a0a chore: Uzbek translations 2026-06-25 02:10:00 +05:30
MochaMind
b3eb622e51 chore: Bulgarian translations 2026-06-25 02:09:58 +05:30
MochaMind
76d735c02d chore: Polish translations 2026-06-25 02:09:40 +05:30
MochaMind
1f7298b38c chore: Hungarian translations 2026-06-25 02:09:35 +05:30
MochaMind
7dc62637fd chore: Arabic translations 2026-06-25 02:09:29 +05:30
MochaMind
ca5a98257f chore: French translations 2026-06-25 02:09:26 +05:30
MochaMind
4256969c5c chore: Bosnian translations 2026-06-24 01:55:05 +05:30
MochaMind
2690cab677 chore: Croatian translations 2026-06-24 01:55:02 +05:30
MochaMind
8ffd2ca107 chore: Swedish translations 2026-06-24 01:54:59 +05:30
MochaMind
0a7e8b5d74 chore: German translations 2026-06-24 01:54:55 +05:30
Ritvik Sardana
5eacadd4e2 fix: link a contact to customer while editing the contact 2026-06-23 20:47:12 +05:30
Ritvik Sardana
072779ada3 fix(styles): customer contact 2026-06-23 18:32:49 +05:30
Ritvik Sardana
213e75b06e fix: add empty state in contact feedback 2026-06-23 10:37:00 +05:30
MochaMind
79502dc7cd chore: Esperanto translations 2026-06-23 01:57:33 +05:30
MochaMind
f21335bcb2 chore: Serbian (Latin) translations 2026-06-23 01:57:30 +05:30
MochaMind
57a5d5621c chore: Norwegian Bokmal translations 2026-06-23 01:57:27 +05:30
MochaMind
cd7f1c23ff chore: Bosnian translations 2026-06-23 01:57:24 +05:30
MochaMind
959553e478 chore: Burmese translations 2026-06-23 01:57:21 +05:30
MochaMind
fd3ece06df chore: Hindi translations 2026-06-23 01:57:18 +05:30
MochaMind
a37cf0c9d9 chore: Croatian translations 2026-06-23 01:57:16 +05:30
MochaMind
aaf67c8497 chore: Thai translations 2026-06-23 01:57:13 +05:30
MochaMind
14f606aea7 chore: Persian translations 2026-06-23 01:57:10 +05:30
MochaMind
3a6c8b357e chore: Indonesian translations 2026-06-23 01:57:08 +05:30
MochaMind
223a7f31e3 chore: Portuguese, Brazilian translations 2026-06-23 01:57:05 +05:30
MochaMind
6dde923bac chore: Vietnamese translations 2026-06-23 01:57:02 +05:30
MochaMind
b7e500bcfc chore: Chinese Simplified translations 2026-06-23 01:56:59 +05:30
MochaMind
8645c240c8 chore: Turkish translations 2026-06-23 01:56:56 +05:30
MochaMind
2e8038f341 chore: Swedish translations 2026-06-23 01:56:53 +05:30
MochaMind
34e2639a19 chore: Serbian (Cyrillic) translations 2026-06-23 01:56:50 +05:30
MochaMind
47277c4794 chore: Slovenian translations 2026-06-23 01:56:48 +05:30
MochaMind
cb6f7dd5e7 chore: Russian translations 2026-06-23 01:56:45 +05:30
MochaMind
cf8581b56e chore: Portuguese translations 2026-06-23 01:56:42 +05:30
MochaMind
a2e36cd11b chore: Polish translations 2026-06-23 01:56:40 +05:30
MochaMind
1a3a084868 chore: Dutch translations 2026-06-23 01:56:37 +05:30
MochaMind
acd73e79c9 chore: Korean translations 2026-06-23 01:56:34 +05:30
MochaMind
d4af3c8695 chore: Italian translations 2026-06-23 01:56:31 +05:30
MochaMind
92258e51e4 chore: Hungarian translations 2026-06-23 01:56:29 +05:30
MochaMind
785e15386b chore: German translations 2026-06-23 01:56:26 +05:30
MochaMind
8040e1162a chore: Danish translations 2026-06-23 01:56:23 +05:30
MochaMind
26c26ea902 chore: Czech translations 2026-06-23 01:56:21 +05:30
MochaMind
667181452c chore: Arabic translations 2026-06-23 01:56:18 +05:30
MochaMind
8e720a9641 chore: Spanish translations 2026-06-23 01:56:15 +05:30
MochaMind
3a3c310437 chore: French translations 2026-06-23 01:56:13 +05:30
Ritvik Sardana
62c0cec4d2 fix(styles): customer/contact 2026-06-22 14:35:57 +05:30
RitvikSardana
5648ffc225 Merge pull request #3490 from frappe/pot_develop_2026-06-21
chore: update POT file
2026-06-22 12:36:03 +05:30
RitvikSardana
41f87f5279 Merge pull request #3478 from frappe/l10n_develop
chore: sync translations from crowdin
2026-06-22 12:34:31 +05:30
Ritvik Sardana
7b27b04677 fix(i18n): wrap untranslated strings in customer/contact UI
Wrap user-facing labels, button text and a toast message in __() so
they are picked up for translation.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 02:32:19 +05:30
Ritvik Sardana
6329101c4c fix: improve copy and add agent manager perm to User Invitation 2026-06-22 02:18:57 +05:30
MochaMind
6187001eef chore: Bosnian translations 2026-06-22 01:58:18 +05:30
MochaMind
25f6b212e5 chore: Croatian translations 2026-06-22 01:58:14 +05:30
MochaMind
61ba2d37de chore: Persian translations 2026-06-22 01:58:11 +05:30
MochaMind
920fa0d928 chore: Portuguese translations 2026-06-22 01:58:02 +05:30
MochaMind
a3ac0b47ef chore: Italian translations 2026-06-22 01:57:58 +05:30
Ritvik Sardana
e748d55818 fix: replace image styles 2026-06-21 22:25:05 +05:30
Ritvik Sardana
9b13a57ad7 refactor(customer): contact management code 2026-06-21 21:36:24 +05:30
Ritvik Sardana
156f09bf4d fix: add role data in new roles 2026-06-21 20:46:24 +05:30
Ritvik Sardana
21bcd8b6b1 refactor: contact composable file 2026-06-21 19:36:29 +05:30
Ritvik Sardana
ae9c61f55a fix: make customer_contact patch better 2026-06-21 18:46:37 +05:30
Ritvik Sardana
c54adb2f8c fix: remove dead code 2026-06-21 18:44:55 +05:30
frappe-pr-bot
a9d5d68a17 chore: update POT file 2026-06-21 11:29:53 +00:00
Ritvik Sardana
1cb03e6a0a fix: remove dead code 2026-06-21 16:48:32 +05:30
Ritvik Sardana
063172cb2e fix: feedback access agents 2026-06-21 15:30:13 +05:30
Ritvik Sardana
f660cad1bb fix(customer): keep manager role when contact manages another customer 2026-06-21 15:12:36 +05:30
Ritvik Sardana
acd1053e48 fix: grill-me suggestions 2026-06-21 14:03:09 +05:30
MochaMind
4df56477f0 chore: Swedish translations 2026-06-21 02:00:37 +05:30
Ritvik Sardana
8bf1e7bca8 fix(analytics): neutral arrow if no changes 2026-06-20 18:04:36 +05:30
Ritvik Sardana
0618c671d8 fix: align feedback trend chart with number-card on resolution_date
get_feedback_trend_data plotted feedback by creation while
get_avg_feedback_score averages by resolution_date, so the trend and the
number card drew from different ticket populations. Key the trend off
resolution_date too so the graph explains the number-card figure.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-20 17:40:06 +05:30
Ritvik Sardana
2ed7cf62fb fix: dedup recent tickets, feedback rating by resolution date, stale dashboard stats
- get_recent_tickets: exclude current + org tickets from the raised_by query
  so a ticket matching both customer and raised_by no longer appears twice.
- Dashboard avg feedback rating: filter on resolution_date instead of
  creation, so every ticket resolved in the period is counted regardless of
  when it was raised.
- Dashboard.vue: drop the static frappe-ui cache keys on the stat resources;
  the shared cached instance stayed bound to a previous mount's filters and
  sent stale params after navigating away and back.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-20 17:28:40 +05:30
Ritvik Sardana
81ece4d572 fix: edit customer name 2026-06-20 17:15:44 +05:30
Ritvik Sardana
ff4fa6e54d fix(perms): hd_customer 2026-06-20 15:09:38 +05:30
MochaMind
e7f2bafe49 chore: Swedish translations 2026-06-20 01:47:52 +05:30
Ritvik Sardana
7e5f6766d2 fix(styles): customer/contact analytics 2026-06-19 13:27:12 +05:30
Ritvik Sardana
18141f4fc4 fix: add contact role update confirmation 2026-06-19 12:49:35 +05:30
Ritvik Sardana
f9f850d250 fix: customer selection flow while creating ticket 2026-06-19 12:19:46 +05:30
Ritvik Sardana
1eaa7c15e6 chore: copy cleanup 2026-06-19 03:52:34 +05:30
Ritvik Sardana
a693a8b33f fix: add patch to backfill customer_type in existing customers 2026-06-19 02:33:58 +05:30
Ritvik Sardana
0298b9aaac fix: delete customer contact logic 2026-06-19 02:21:24 +05:30
MochaMind
35c777ac49 chore: Bosnian translations 2026-06-19 01:22:36 +05:30
MochaMind
21cfccb16e chore: Croatian translations 2026-06-19 01:22:34 +05:30
Ritvik Sardana
9188bd9770 fix: image uploader in contact customer 2026-06-18 19:03:08 +05:30
Ritvik Sardana
95425fc1f0 fix: code cleanup in contact 2026-06-18 17:37:40 +05:30
Ritvik Sardana
5b5e04477a fix: show linked customers in contact 2026-06-18 17:30:59 +05:30
Ritvik Sardana
d876608b0a fix: new customer dialog styles 2026-06-18 16:56:15 +05:30
Ritvik Sardana
df8386d9b7 fix: label styling 2026-06-18 16:17:35 +05:30
Ritvik Sardana
6bd8ed03fe fix: update modals according to frappe-ui update 2026-06-18 11:51:56 +05:30
MochaMind
a2ad9a9448 chore: Bosnian translations 2026-06-18 00:52:15 +05:30
Ritvik Sardana
2950677756 refactor: hd_customer doctype 2026-06-17 21:11:59 +05:30
Ritvik Sardana
44b8acdab3 fix: update list view of customer doctype 2026-06-17 20:32:13 +05:30
Ritvik Sardana
45af71ad9a fix: add primary contact in new customer dialog 2026-06-17 20:12:47 +05:30
Sydney Gomes
13c3f2ef4d Merge pull request #3486 from aerodeval/fix-deploy-issue-type
fix: deploy type issue
2026-06-17 15:33:03 +05:30
Sydney
f20e957f4b fix: deploy type issue 2026-06-17 15:20:25 +05:30
Sydney Gomes
aba29b26b5 Merge pull request #3481 from aerodeval/fix-ticket-cutoff
fix: ticket unexpectedly auto-closed due to inactivity
2026-06-17 03:12:08 +05:30
Sydney
f106e04c04 fix: linter issues 2026-06-17 03:00:48 +05:30
Sydney
0b191398e3 fix: remove failing lint file: 2026-06-17 02:58:22 +05:30
Sydney
d216bbd0a3 fix: update all communications for the ticket 2026-06-16 18:38:36 +05:30
Sydney
6d0ed2ea83 fix: compute auto-close inactivity cutoff in system timezone 2026-06-16 17:52:26 +05:30
MochaMind
ac8f4b041c chore: Esperanto translations 2026-06-16 00:21:31 +05:30
MochaMind
9f08f171a1 chore: Serbian (Latin) translations 2026-06-16 00:21:29 +05:30
MochaMind
356a53b816 chore: Norwegian Bokmal translations 2026-06-16 00:21:26 +05:30
MochaMind
67a8d95c34 chore: Bosnian translations 2026-06-16 00:21:24 +05:30
MochaMind
7c5c1439df chore: Burmese translations 2026-06-16 00:21:22 +05:30
MochaMind
8719d7d67c chore: Hindi translations 2026-06-16 00:21:19 +05:30
MochaMind
a62c796d14 chore: Croatian translations 2026-06-16 00:21:16 +05:30
MochaMind
ae9b6ae999 chore: Thai translations 2026-06-16 00:21:14 +05:30
MochaMind
1c9916bed0 chore: Persian translations 2026-06-16 00:21:11 +05:30
MochaMind
691d2f8c00 chore: Indonesian translations 2026-06-16 00:21:08 +05:30
MochaMind
8b4b199f89 chore: Portuguese, Brazilian translations 2026-06-16 00:21:06 +05:30
MochaMind
6292eb9a43 chore: Vietnamese translations 2026-06-16 00:21:03 +05:30
MochaMind
499a7aaebb chore: Chinese Simplified translations 2026-06-16 00:21:00 +05:30
MochaMind
8742d4b87e chore: Turkish translations 2026-06-16 00:20:58 +05:30
MochaMind
200346f101 chore: Swedish translations 2026-06-16 00:20:55 +05:30
MochaMind
d101e659f4 chore: Serbian (Cyrillic) translations 2026-06-16 00:20:53 +05:30
MochaMind
2c66ac9eff chore: Slovenian translations 2026-06-16 00:20:50 +05:30
MochaMind
903ee9fad3 chore: Russian translations 2026-06-16 00:20:47 +05:30
MochaMind
ba46e54248 chore: Portuguese translations 2026-06-16 00:20:44 +05:30
MochaMind
1fb6e69345 chore: Polish translations 2026-06-16 00:20:42 +05:30
MochaMind
23e8443342 chore: Dutch translations 2026-06-16 00:20:39 +05:30
MochaMind
d158336851 chore: Korean translations 2026-06-16 00:20:36 +05:30
MochaMind
447d8ce540 chore: Italian translations 2026-06-16 00:20:33 +05:30
MochaMind
7d6633975c chore: Hungarian translations 2026-06-16 00:20:30 +05:30
MochaMind
2ab9ea47af chore: German translations 2026-06-16 00:20:27 +05:30
MochaMind
cf04339d30 chore: Danish translations 2026-06-16 00:20:25 +05:30
MochaMind
8647b7247e chore: Czech translations 2026-06-16 00:20:22 +05:30
MochaMind
1101402b97 chore: Arabic translations 2026-06-16 00:20:19 +05:30
MochaMind
c4c134b858 chore: Spanish translations 2026-06-16 00:20:17 +05:30
MochaMind
3101a55d48 chore: French translations 2026-06-16 00:20:14 +05:30
Ritvik Sardana
b55e7474c3 refactor: make HD Customer primary contact optional
Stop auto-defaulting primary_contact to the first contact on save. Since
the primary contact is a manager, defaulting it would silently promote an
arbitrary contact to manager. Primary is now optional and only validated
when set; designating a primary still makes that contact a manager.

Update tests to cover the new behaviour.
2026-06-15 16:43:59 +05:30
RitvikSardana
57db7d773d Merge pull request #3474 from frappe/l10n_develop
chore: sync translations from crowdin
2026-06-15 13:25:05 +05:30
RitvikSardana
3ddf53fa24 Merge pull request #3473 from frappe/pot_develop_2026-06-14
chore: update POT file
2026-06-15 13:06:10 +05:30
RitvikSardana
0aefa8a990 Merge pull request #3475 from RitvikSardana/filter-issues
fix: assigned_on filter
2026-06-15 12:05:53 +05:30
Ritvik Sardana
7c0d464b19 fix: filter assigned_on 2026-06-15 12:03:32 +05:30
MochaMind
048e090978 chore: Esperanto translations 2026-06-14 22:46:48 +05:30
MochaMind
14313d1512 chore: Serbian (Latin) translations 2026-06-14 22:46:45 +05:30
MochaMind
0f367d3ee8 chore: Norwegian Bokmal translations 2026-06-14 22:46:43 +05:30
MochaMind
2032f0e6ce chore: Bosnian translations 2026-06-14 22:46:41 +05:30
MochaMind
c20df2883a chore: Burmese translations 2026-06-14 22:46:39 +05:30
MochaMind
a8fe77ed04 chore: Hindi translations 2026-06-14 22:46:37 +05:30
MochaMind
996f3cafd3 chore: Croatian translations 2026-06-14 22:46:35 +05:30
MochaMind
988c9dff77 chore: Thai translations 2026-06-14 22:46:32 +05:30
MochaMind
3b3fda017e chore: Persian translations 2026-06-14 22:46:30 +05:30
MochaMind
69be149305 chore: Indonesian translations 2026-06-14 22:46:28 +05:30
MochaMind
da5f35cff8 chore: Portuguese, Brazilian translations 2026-06-14 22:46:26 +05:30
MochaMind
d696354a08 chore: Vietnamese translations 2026-06-14 22:46:24 +05:30
MochaMind
8518cdee98 chore: Chinese Simplified translations 2026-06-14 22:46:21 +05:30
MochaMind
2f3ece2b72 chore: Turkish translations 2026-06-14 22:46:19 +05:30
MochaMind
06334aa8d3 chore: Swedish translations 2026-06-14 22:46:17 +05:30
MochaMind
c960ec66ee chore: Serbian (Cyrillic) translations 2026-06-14 22:46:15 +05:30
MochaMind
ad85f77a19 chore: Slovenian translations 2026-06-14 22:46:12 +05:30
MochaMind
5ac09b533a chore: Russian translations 2026-06-14 22:46:10 +05:30
MochaMind
0fe243c076 chore: Portuguese translations 2026-06-14 22:46:08 +05:30
MochaMind
77321ebe91 chore: Polish translations 2026-06-14 22:46:05 +05:30
MochaMind
5921597d4a chore: Dutch translations 2026-06-14 22:46:03 +05:30
MochaMind
57d76f6739 chore: Korean translations 2026-06-14 22:46:01 +05:30
MochaMind
bd29aa9f6a chore: Italian translations 2026-06-14 22:45:59 +05:30
MochaMind
ab56e09cb7 chore: Hungarian translations 2026-06-14 22:45:57 +05:30
MochaMind
faf3a1e9f6 chore: German translations 2026-06-14 22:45:54 +05:30
MochaMind
6c16a8e0f5 chore: Danish translations 2026-06-14 22:45:52 +05:30
MochaMind
c455caf515 chore: Czech translations 2026-06-14 22:45:50 +05:30
MochaMind
312e7cfdd4 chore: Arabic translations 2026-06-14 22:45:48 +05:30
MochaMind
e753544ddf chore: Spanish translations 2026-06-14 22:45:46 +05:30
MochaMind
5d45612436 chore: French translations 2026-06-14 22:45:43 +05:30
Ritvik Sardana
988d0eddf1 refactor(invitation: unified invitation flow for existing and new contacts 2026-06-14 20:25:22 +05:30
RitvikSardana
050f952ee2 Merge pull request #3449 from RitvikSardana/animate-filter
fix: add animation in filter component
2026-06-14 17:41:10 +05:30
Ritvik Sardana
97a4d66caa fix: initial focus state 2026-06-14 17:19:28 +05:30
Ritvik Sardana
ed255f4de3 feat: improve filter UX and rename filter module
- transactional replace: keep the existing condition until a new one is
  applied, swapping in place instead of deleting on click
- auto-return to overview after a discrete value pick (equals, is,
  timespan, single date/range)
- operator cycling shortcut moved to Alt/Opt + Up/Down (directional,
  no browser conflict) and works in list mode
- keyboard navigation for the 'Is' (Set/Not Set) list
- loading state for link-field search
- accessibility: listbox/option roles, aria-labels, focus-visible row
  actions, truncation tooltips
- rename filterCore.ts -> filter.ts, useFilterCore -> useFilter
2026-06-14 17:00:56 +05:30
frappe-pr-bot
c0af24a43d chore: update POT file 2026-06-14 11:18:42 +00:00
Ritvik Sardana
c742146f82 fix: add replace filter functionality 2026-06-14 16:17:40 +05:30
Sydney Gomes
276abf5024 Merge pull request #3472 from aerodeval/fix-custom-template-fields
fix: badges having borders & width truncation for texts
2026-06-12 01:33:15 +05:30
Sydney
38341f6483 fix: badges having borders & width truncation for texts 2026-06-12 01:29:21 +05:30
Sydney Gomes
95f10986d1 Merge pull request #3448 from aerodeval/fix-ui-issues
fix: UI bugs
2026-06-12 00:57:19 +05:30
Sydney Gomes
fe163921c7 Merge branch 'develop' into fix-ui-issues 2026-06-12 00:42:33 +05:30
Sydney
342b0566f9 fix: increase width for labels 2026-06-12 00:39:09 +05:30
Sydney
5dee0bf042 fix: add borders to customer fields 2026-06-12 00:36:54 +05:30
Sydney
3c2b1477cd fix: delete ticket error 2026-06-12 00:17:48 +05:30
Sydney
e3b9d8d01a Revert "fix: sidebar fc banner spacing"
This reverts commit e2b5619cc6.
2026-06-12 00:02:09 +05:30
RitvikSardana
cd5e49ef71 Merge pull request #3412 from frappe/pot_develop_2026-05-31
chore: update POT file
2026-06-11 23:27:27 +05:30
RitvikSardana
5f62da6aea Merge pull request #3410 from frappe/l10n_develop
chore: sync translations from crowdin
2026-06-11 23:25:27 +05:30
Sydney
a1ed7f5623 fix: spacing and alligment for tabs 2026-06-11 13:25:40 +05:30
Ritvik Sardana
cd06d9a550 fix: add animation in filter component 2026-06-11 12:22:27 +05:30
Sydney
6c3d8e7bc6 fix: improve customer portal layouting 2026-06-11 11:49:15 +05:30
Sydney
2c8c6b7266 fix: add back toggle theme to customer portal 2026-06-11 11:01:18 +05:30
RitvikSardana
ed7fe3b884 Merge pull request #3447 from RitvikSardana/refactor/filter
refactor: filter component UX
2026-06-11 02:42:00 +05:30
Ritvik Sardana
e0f5c81eac chore: code cleanup 2026-06-11 02:27:27 +05:30
Ritvik Sardana
22059e455f chore: rename component 2026-06-11 02:23:04 +05:30
Ritvik Sardana
460fd2bc24 Merge branch 'develop' of https://github.com/frappe/helpdesk into refactor/filter 2026-06-11 02:20:27 +05:30
Ritvik Sardana
f079593bf0 refactor: filter component UX 2026-06-11 02:16:13 +05:30
RitvikSardana
46b11fb618 Merge pull request #3446 from RitvikSardana/fix/field-dep
fix(field-dependency): show selected values first, refresh options
2026-06-11 01:16:06 +05:30
Sydney
cb7490ccb2 fix: broken switches in field dependency and assignment rules 2026-06-10 18:05:17 +05:30
Sydney
e93aaad32b fix: assign to agent indicators fix 2026-06-10 16:39:24 +05:30
Sydney
e2b5619cc6 fix: sidebar fc banner spacing 2026-06-10 16:38:28 +05:30
Sydney
9160028ef7 fix: collapsed response 3 dots to be added 2026-06-10 16:37:58 +05:30
Ritvik Sardana
1140533f1b fix(field-dependency): show selected values first, refresh options, fix toggle
- Order child values that were selected on load to the top, frozen to the
  saved selections so the list does not reorder while toggling
- Clear the cached field options when the editor mounts so newly created
  link/select values (e.g. a new ticket type) appear instead of stale ones
- Update the list-view enabled toggle to reflect state locally so disabling
  actually persists (the controlled Switch was re-sending the same value)
2026-06-10 13:14:05 +05:30
Ritvik Sardana
9b8fc7e376 fix: better UX for editing contact 2026-06-10 12:43:53 +05:30
MochaMind
8e46d58491 chore: Hungarian translations 2026-06-09 20:13:58 +05:30
Sydney Gomes
4e1150211d Merge pull request #3439 from aerodeval/fix-agent-resource-call
fix: avoid calling agent availability for customer
2026-06-09 14:00:16 +05:30
Sydney
b01cde3cad fix: avoid calling agent availability for customer 2026-06-09 13:47:07 +05:30
RitvikSardana
d4fc6c4ad6 Merge pull request #3438 from RitvikSardana/lv/filter-placeholder
fix: placeholder in filters
2026-06-09 13:15:59 +05:30
Ritvik Sardana
e3d4cede79 fix: placeholder in filters 2026-06-09 13:14:15 +05:30
RitvikSardana
2d34952cd2 Merge pull request #3437 from RitvikSardana/lv/failed-sla
fix(Ticket ListView): don't show failed resolution when the ticket it not resolved
2026-06-09 13:03:02 +05:30
Ritvik Sardana
fc417dc5e8 fix(overflow): first field in quick filters 2026-06-09 12:52:43 +05:30
Ritvik Sardana
baf2d88e38 fix: dont show failed resolution when the ticket it not resolved 2026-06-09 12:52:13 +05:30
RitvikSardana
db85ad6819 Merge pull request #3436 from RitvikSardana/focus-saved-reply
fix(multiselect): click pill to copy its value
2026-06-09 12:23:20 +05:30
Ritvik Sardana
40a5cfefa1 feat(multiselect): click pill to copy its value
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-09 11:55:05 +05:30
Ritvik Sardana
42cdaa80ea fix(saved-replies): keep email box open when dismissing modal
Clicking the saved-replies modal backdrop also collapsed the reply box:
the Dialog portals to body and its backdrop (.dialog-overlay) lacks
role="dialog", so CommunicationArea's onClickOutside treated it as an
outside click. Ignore .dialog-overlay so dialog-portal clicks are skipped.

Also guards editorRef access and autofocuses the search input on open.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-09 11:35:57 +05:30
Sydney Gomes
5ce25aade7 Merge pull request #3435 from aerodeval/fix-local-agents
fix: allow agents added locally to reflect their status
2026-06-09 02:14:53 +05:30
Sydney
171aa2a571 fix: allow agents added locally to reflect their status 2026-06-09 02:00:41 +05:30
RitvikSardana
47708e7e7e Merge pull request #3434 from RitvikSardana/fix/recent-tix
fix: recents tickets condition
2026-06-09 00:38:06 +05:30
Ritvik Sardana
5e2aa06b4a fix: recents tickets condition 2026-06-09 00:25:22 +05:30
Sydney Gomes
9c72a5291e Merge pull request #3431 from aerodeval/agent-status-ux
fix: improve agent status UX
2026-06-08 14:04:36 +05:30
Sydney
e3b9e4047f fix: dont show toast when self assigning a ticket 2026-06-08 13:56:38 +05:30
Sydney
6ba980ec49 fix: improve ux copy of tooltip 2026-06-08 13:28:49 +05:30
Sydney
60b4a0975e fix: improve ux of the HD agent status doctype 2026-06-08 13:28:15 +05:30
Sydney Gomes
8e94b78133 Merge pull request #3427 from aerodeval/refactor-assignment-notification
refactor: point ticket assignment notifications to agent portal
2026-06-07 15:06:01 +05:30
Sydney Gomes
017ddf49f1 Merge pull request #3372 from aerodeval/feat-agent-status
feat: agent availability status
2026-06-07 00:56:58 +05:30
Sydney
48cc2068b6 fix: display availability select to only agents with HD agent 2026-06-07 00:38:39 +05:30
Sydney
3d113d29f2 fix: string for availability status 2026-06-06 17:26:23 +05:30
Sydney
81b85f259f fix: failing test cases 2026-06-06 17:15:45 +05:30
Sydney
5a7bfe0d4e fix: bulk update agent status in patch 2026-06-06 16:55:20 +05:30
Sydney
379d5a25d3 fix: chage agent status order to status_order and its weights 2026-06-06 16:42:56 +05:30
Sydney
14b39007d3 fix: have atleast one active category available & enabled 2026-06-06 16:21:00 +05:30
Sydney
11de600874 fix: move make_status to test_utils 2026-06-06 16:09:13 +05:30
Sydney Gomes
ae1a25dd2c Merge pull request #3428 from aerodeval/empty-state-fix
fix: empty state fix for cross browser compatibility
2026-06-05 23:18:55 +05:30
Sydney
3f4abcd49e fix: empty state fix for cross browser compatibility 2026-06-05 23:07:03 +05:30
Sydney
194913f303 refactor: extend notification log to route to HD portal on assignment 2026-06-05 20:46:50 +05:30
MochaMind
f13a64d23e chore: Swedish translations 2026-06-05 19:10:43 +05:30
Sydney
d4a22633eb fix: delay toast of assignment succesful for away agents 2026-06-05 12:11:47 +05:30
Sydney Gomes
c5281a66ad Merge branch 'develop' into feat-agent-status 2026-06-05 11:32:51 +05:30
RitvikSardana
559d77c5ba Merge pull request #3416 from frappe/erpnext-doc-events
refactor(ERPNext Integration): use doc_events instead of override_doctype_class
2026-06-05 09:32:04 +05:30
Ritvik Sardana
e6236388f3 fix: better copy 2026-06-05 09:14:27 +05:30
Ritvik Sardana
f06db95103 fix: add loading state 2026-06-05 09:08:11 +05:30
RitvikSardana
dbf59f78e6 Merge pull request #3422 from RitvikSardana/upgrade-frappe-ui
refactor: Upgrade frappe UI
2026-06-05 08:59:57 +05:30
Sydney
7c1851c150 fix: allow hd agent manager to create and edit status 2026-06-05 01:43:26 +05:30
Sydney
10441bdaca fix: add setup and teardown for testcases 2026-06-04 23:03:57 +05:30
Sydney
3cc3b2307c fix: use frappe intergration testcase 2026-06-04 20:10:07 +05:30
Sydney
477f850b36 fix: user frappe intergration testcase 2026-06-04 20:09:53 +05:30
Sydney
1c5ffb9a72 fix: merge conflicts 2026-06-04 19:57:16 +05:30
Sydney Gomes
b1324999f0 Merge branch 'develop' into feat-agent-status 2026-06-04 19:35:48 +05:30
Sydney
de6ed69a32 fix: improve mobile experience and code cleanup 2026-06-04 19:34:16 +05:30
Sydney
7bbc3129cc refactor: use socket communicaiton to update agnet status 2026-06-04 19:33:22 +05:30
Sydney
599f8d11e4 fix: add get_agent_name in utils 2026-06-04 19:22:34 +05:30
Ritvik Sardana
cf0306db47 fix(tickets): open status/assignee dropdowns via shortcut on frappe-ui v1
frappe-ui v1's Dropdown (reka-ui) renders the slotted trigger Button with
`as-child` and portals the menu, so the old `nextElementSibling.click()`
hit the adjacent toolbar button (or nothing) instead of the dropdown.
Click the trigger element itself, which now IS the dropdown trigger.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 18:45:17 +05:30
Ritvik Sardana
839232774e chore: improve copy 2026-06-04 18:39:47 +05:30
Ritvik Sardana
8c84d631b1 fix: persist user preference in ticket side panel 2026-06-04 18:13:36 +05:30
Ritvik Sardana
5805af9e15 fix(tickets): guard getStatusColor against undefined status
getStatus() returns undefined while the HD Ticket Status list resource
is still loading (and for any unknown/disabled status). The recent-tickets
section renders off a separate resource that can resolve first, so the
status badges destructured `color` off undefined and threw on every
ticket detail load. Default to {} so the existing colorMap fallback applies.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 17:59:23 +05:30
Ritvik Sardana
7a0c3f9f86 fix: customer&contact dialog 2026-06-04 17:23:15 +05:30
Sydney
14c1b1a6b0 fix: imrove tooltip copy 2026-06-04 16:34:01 +05:30
Ritvik Sardana
d02c88c6d1 fix: update status indicator styling 2026-06-04 14:30:15 +05:30
Ritvik Sardana
7d004beea6 fix(tickets): trust agreement_status for resolution badge
The resolution-by list cell recomputed SLA state client-side and showed
"NaNm" when resolution_by was null (e.g. older tickets with a
resolution_date but no SLA deadline). Use the server-computed
agreement_status for Fulfilled/Failed/Paused and only show a live
countdown for an in-progress ticket with a future deadline; mark
overdue-unresolved as Failed.

Also show remaining hours alongside days in shortDuration (e.g.
"4 days 4h").

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 14:28:59 +05:30
Sydney
9ec4bbe5f5 fix: allow default status to be set 2026-06-04 14:17:00 +05:30
Ritvik Sardana
65a813becb fix: source dayjs from frappe-ui in remaining files
These files imported the raw "dayjs" package and relied on plugins
(relativeTime, localizedFormat, utc, timezone) that the deleted
dayjs.ts wrapper extended on the shared singleton. Point them at
frappe-ui's pre-extended dayjs so .fromNow()/.format()/.tz() work.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 14:05:25 +05:30
Ritvik Sardana
cadcc36ae6 refactor: use dayjs from frappe-ui, remove local dayjs wrapper
Drop desk/src/dayjs.ts and source dayjs from frappe-ui instead. The
shortDuration helper moves to utils, and the custom .long() prototype
extension is replaced with .format("LLLL") at its call sites.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 14:01:19 +05:30
Sydney
374749adae fix: improve tooltip copy 2026-06-04 13:48:54 +05:30
Ritvik Sardana
a9dff6c13c fix(ui): render lucide and emoji view icons in views dropdown
ViewBreadcrumbs fed string icons straight to FeatherIcon, which renders a
circle placeholder for lucide-* names. Use the local Icon component, which
routes emoji, lucide-* masks, feather names and components correctly.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 13:41:08 +05:30
Ritvik Sardana
7b54852a6e fix(ui): use system date/time format and adapt to v1 range tuple model
- add getDateFormat/getTimeFormat utils backed by the site's boot data
  (window.date_format / window.time_format) and use them in dateFormat,
  getFormattedDate, and all single-date pickers instead of hardcoded
  DD-MM-YYYY
- frappe-ui v1 DateRangePicker models a [from, to] tuple and emits [] on
  clear; Dashboard, AvgTimeMetrics and RecentFeedback kept the legacy
  'from,to' string for state and API params, so custom ranges broke.
  Convert at the picker boundary (computed/split-join) and guard clears
  with range?.length

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 13:22:02 +05:30
Ritvik Sardana
b3620cc7ec fix(ui): restore Columns/Sort button labels under frappe-ui v1
v1 Button renders slots.default() ?? label, and a bare <template v-if>
registers the default slot even when false, so the label never rendered.
Use the #icon slot for the icon-only (hideLabel) mode and a conditional
#prefix otherwise, leaving the default slot genuinely absent.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 13:11:03 +05:30
Ritvik Sardana
42d8f369fd fix(ui): render lucide icon strings in custom option renderers and v1 Select slots
- add renderOptionIcon util: lucide-* strings as CSS-mask spans, legacy
  feather names via FeatherIcon, components as-is; use it in
  TemplateOption and Agents RoleOption (FeatherIcon renders a circle
  placeholder for unknown names like lucide-trash-2)
- buildPercentageChange returns lucide names; CardBase renders the mask span
- Icon.vue handles lucide-* strings
- SavedReplyView: Select #label slot is the form-label override in v1
  (receives { required }, not { option }) and crashed the view; use
  #item-prefix, which v1 also reuses for the selected value in the trigger

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 13:06:18 +05:30
Sydney
6c996e9f71 fix: update agent status & add tests 2026-06-04 12:51:43 +05:30
Sydney
2be0694fe0 fix: reallign with new hd status category 2026-06-04 12:15:26 +05:30
Ritvik Sardana
40330c3a11 chore: bump frappe-ui submodule to v1.0.0-beta.3
The vite dev server aliases frappe-ui to this submodule when its
node_modules exist (vite-helpers.ts), so the checkout must match the npm
dependency or the v1-migrated code runs against the v0 source in dev.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 12:10:37 +05:30
Sydney
341591faf2 feat: add availability menu to profile and bring prreferences section to frontend 2026-06-04 11:50:37 +05:30
Ritvik Sardana
6a95bd30ec fix(ui): declare modelValue on ConfirmDialog to restore v-model control
In v0 the parent's v-model fell through onto the inner Dialog and won over
the wrapper's internal state. v1's Dialog treats the canonical open prop as
authoritative, so the internal showDialog default (true) kept the dialog
permanently visible. Declare an optional modelValue and resolve visibility
through a computed, preserving both the v-model mode and the v-if +
show()/hide() mode.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 11:48:36 +05:30
Ritvik Sardana
a801a3985e refactor(ui): replace deprecated Input with TextInput
The legacy Input component warns in frappe-ui v1. Swap to TextInput:
- @input value handlers -> @update:model-value (TextInput attrs fall
  through to the native input, so @input would receive an Event)
- icon-left -> #prefix slot with the lucide icon component
- debounce -> bound number prop; drop the removed inputClass prop
- drop the global Input registration in main.js

Switch/Rating/Divider needed no changes (plain v-model usage only).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 11:38:46 +05:30
Ritvik Sardana
3938ea4dd0 refactor(ui): migrate date pickers to frappe-ui v1 API
- placement -> side/align on DateRangePicker
- formatter function prop (removed in v1) -> format string, preserving the
  DD-MM-YYYY display; drop the no-longer-supported debounce prop
- deprecated @change -> @update:model-value
- AddHolidayModal: reactive :value -> :model-value with the documented
  YYYY-MM-DD model format (v1 treats value as uncontrolled-initial only)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 11:30:02 +05:30
Ritvik Sardana
fef0c72802 refactor(ui): migrate feather icon strings to lucide
Prefix all feather icon-name strings with lucide- across icon/icon-left/
icon-right props and icon: option fields, per frappe-ui v1. lucide-static
ships every feather name as an alias, so the mapping is a 1:1 prefix.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 18:20:10 +05:30
MochaMind
3aef20c244 chore: Hungarian translations 2026-06-03 18:14:40 +05:30
Ritvik Sardana
812b758c35 refactor(ui): migrate Dialog usages to frappe-ui v1 API
Flatten the deprecated options blob to top-level props, switch v-model to
v-model:open, rename #body-content->#default and #body-title->#title, and
convert full-override #body/#body-main slots to #default + the bare prop.
disableOutsideClickToClose becomes :dismissible (inverted).

TextEditor usage is intentionally left on the v0 API (deferred).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 18:14:00 +05:30
Ritvik Sardana
099c78d6cc chore(deps): upgrade frappe-ui to 1.0.0-beta.3
Bump frappe-ui from 0.1.278 (v0) to the v1 beta. Add explicit @tiptap v3
packages used directly by tiptap-extensions.ts so they no longer rely on
hoisting from frappe-ui.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 18:12:00 +05:30
Ritvik Sardana
573ade93dc fix: improve integration layout 2026-06-03 17:26:32 +05:30
Ritvik Sardana
78266f45a6 fix: feedback layout component 2026-06-03 17:21:08 +05:30
Sydney
75e4bbebec fix: use agent status from HD Agent Status 2026-06-03 15:46:31 +05:30
Ritvik Sardana
ac44791470 fix: move ERPNext integration components 2026-06-03 10:08:29 +05:30
MochaMind
a2dc3d34ac chore: Chinese Simplified translations 2026-06-02 17:49:27 +05:30
Ritvik Sardana
8741685e2b fix(PhoneControl): parse existing values in a better way 2026-06-02 11:14:28 +05:30
RitvikSardana
c778f533b2 Merge pull request #3417 from RitvikSardana/security-new-ticket
fix: add session user as raised_by while creating from the API
2026-06-02 11:09:38 +05:30
Ritvik Sardana
61c90a1ea2 fix: add session user as raised_by while creating from the API 2026-06-02 11:08:40 +05:30
Sydney
5b2800b6a4 fix: connect HD Agent with HD Agent status 2026-06-02 01:21:53 +05:30
Sydney
c0cca4c07a feat: create HD Ticket Agent Status 2026-06-02 01:17:48 +05:30
Ritvik Sardana
1d72408609 Merge branch 'develop' of https://github.com/frappe/helpdesk into erpnext-doc-events 2026-06-02 01:09:35 +05:30
Ritvik Sardana
96e502e472 fix: better UX for desk button 2026-06-02 01:05:31 +05:30
Ritvik Sardana
86c3ac52b7 refactor: make field syncing extensible 2026-06-01 23:38:20 +05:30
Ritvik Sardana
86dc72ed4e refactor(UI): enable integration settings 2026-06-01 22:42:11 +05:30
Sydney Gomes
ace1fd7c17 Merge pull request #3415 from aerodeval/fix-rtl-regression
fix: UI bugs caused due to RTL
2026-06-01 20:01:48 +05:30
Sydney
4621b799cd fix: add setting modal fixes 2026-06-01 19:38:26 +05:30
Sydney
bfc79662d1 fix: rtl regression 2026-06-01 19:02:13 +05:30
MochaMind
4451389e9e chore: Hungarian translations 2026-06-01 16:59:05 +05:30
Sydney Gomes
025927fb48 Merge pull request #3174 from aerodeval/feat/rtl-support
feat: rtl support in helpdesk
2026-06-01 16:31:42 +05:30
Sydney
febb8675c5 fix: improve ticket merge copy 2026-06-01 15:53:56 +05:30
RitvikSardana
61b9d02a8b Merge pull request #3414 from RitvikSardana/erpnext-not-installed
fix: check if ERPNext is installed
2026-06-01 15:48:34 +05:30
Sydney
f17ec115b6 fix: ui bugs in rtl 2026-06-01 15:39:50 +05:30
Sydney
3a30e3d4a5 refactor: add a back button in settings layout base and removed reused code 2026-06-01 15:20:01 +05:30
Ritvik Sardana
d60ec14bcb fix: check if erp_next is installed 2026-06-01 14:23:14 +05:30
Sydney
9a8044cf54 fix: revert back token changes 2026-06-01 12:32:18 +05:30
Ritvik Sardana
eae877c1c3 refactor: use doc_events instead of override_doctype 2026-06-01 12:19:59 +05:30
RitvikSardana
492538908a Merge pull request #3393 from saadchaudharry/fix/3335-filter-agents-on-initial-load
refactor: get_users function to optimize role fetching and user retrieval
2026-06-01 11:56:48 +05:30
Sydney
b55c34e2fc fix: bugs and inconsistencies missed out 2026-05-31 22:50:10 +05:30
MochaMind
37f174cddd chore: Korean translations 2026-05-31 16:44:11 +05:30
MochaMind
bc99a267e3 chore: Czech translations 2026-05-31 16:44:08 +05:30
frappe-pr-bot
49eb0f257f chore: update POT file 2026-05-31 11:07:09 +00:00
Sydney
0b248ef283 fix: add remaining rtl fixes to newly made changes 2026-05-31 14:24:21 +05:30
Sydney
b1b7d01617 Merge remote-tracking branch 'upstream/develop' into feat/rtl-support
# Conflicts:
#	desk/src/components/MultipleAvatar.vue
#	desk/src/components/SavedRepliesSelectorModal.vue
#	desk/src/components/Settings/Assignment Rules/AssignmentRulesListView.vue
#	desk/src/components/Settings/EmailAccountList.vue
#	desk/src/components/Settings/Holiday/HLCalender.vue
#	desk/src/components/Settings/Holiday/HolidayList.vue
#	desk/src/components/Settings/SavedReplies/SavedRepliesList.vue
#	desk/src/components/Settings/SavedReplies/components/PreviewDialog.vue
#	desk/src/components/Settings/Sla/SlaPolicyList.vue
#	desk/src/components/TicketField.vue
#	desk/src/components/TypingIndicator.vue
#	desk/src/components/command-palette/CP.vue
#	desk/src/components/command-palette/CPGroup.vue
#	desk/src/components/command-palette/CPGroupResult.vue
#	desk/src/components/desk/global/AddNewAgentsDialog.vue
#	desk/src/components/frappe-ui/Link.vue
#	desk/src/components/layouts/MobileSidebar.vue
#	desk/src/components/layouts/SettingsLayoutBase.vue
#	desk/src/components/layouts/Sidebar.vue
#	desk/src/components/notifications/Notifications.vue
#	desk/src/components/ticket/TicketMergeModal.vue
#	desk/src/components/view-controls/Filter.vue
#	desk/src/components/view-controls/SortBy.vue
#	desk/src/pages/MobileNotifications.vue
#	desk/src/pages/knowledge-base/Article.vue
#	desk/src/pages/knowledge-base/KnowledgeBaseCustomer.vue
#	desk/src/pages/ticket/TicketConversation.vue
#	desk/src/pages/ticket/TicketNew.vue
2026-05-31 13:41:37 +05:30
Sydney
fd77fbef52 fix: allow switching from ltr to rtl for rtl based languages 2026-05-31 13:32:06 +05:30
Sydney
2e2b5160f6 fix: sweep desk app for rtl-safe logical tailwind classes 2026-05-31 13:32:06 +05:30
Sydney
f11933d6b2 fix: add translation support to list view filter components 2026-05-31 13:30:42 +05:30
Sydney
37ad6fabe4 fix: address spacing issues caused due to rtl and improve translation coverage 2026-05-31 13:30:42 +05:30
Sydney
1f5e8de22a fix: add translation support and polish ticket view for rtl 2026-05-31 13:30:42 +05:30
Sydney
c7c06afaee fix: add support to rtl for home page sections 2026-05-31 13:27:34 +05:30
Sydney
3a8de2ce18 chore: setup rtl in index.html and add rtl plugin 2026-05-31 13:25:39 +05:30
MochaMind
c8d0d91185 chore: Hungarian translations 2026-05-30 16:31:11 +05:30
saadchaudharry
ed567fa6fe refactor: get_users function to optimize role fetching and user retrieval 2026-05-30 15:40:28 +05:30
Ritvik Sardana
eeddf0e67b chore: code cleanup 2026-05-29 23:03:45 +05:30
Ritvik Sardana
52fd69bafe refactor: primary contact setup in HD Customer 2026-05-29 18:09:21 +05:30
Ritvik Sardana
c45d5108c6 fix: contact row primary 2026-05-29 17:13:28 +05:30
Ritvik Sardana
c2dbac937a refactor: dont override contact doctype 2026-05-29 17:04:31 +05:30
Ritvik Sardana
ec7d066f21 fix: shape size of avatar 2026-05-29 15:36:03 +05:30
Sydney Gomes
a53162be7d Merge pull request #3389 from Hemil-Sangani/fix/helpdesk-portal-export-me-filter
fix: resolve @me filters during export in Helpdesk Portal
2026-05-29 15:34:37 +05:30
Sydney
240b361744 fix: resolve @me in assigned to filter during export 2026-05-29 14:37:08 +05:30
Ritvik Sardana
fd1323a48e refactor: PhoneControl code 2026-05-29 13:49:33 +05:30
Ritvik Sardana
a7696d23fd refactor: hd_ticket perms code 2026-05-29 12:56:11 +05:30
RitvikSardana
2924283358 Merge pull request #3404 from RitvikSardana/fix/erpnext-integration
fix: better button labels
2026-05-29 12:12:37 +05:30
Ritvik Sardana
5651411fd0 fix: better button labels 2026-05-29 12:11:26 +05:30
Ritvik Sardana
949ee00cba fix: hover state 2026-05-28 22:37:25 +05:30
RitvikSardana
f6024dcdde Merge pull request #3401 from frappe/l10n_develop
chore: sync translations from crowdin
2026-05-28 21:14:34 +05:30
Ritvik Sardana
993d0b5595 fix: hover state in TicketsTab 2026-05-28 21:13:45 +05:30
Ritvik Sardana
2468a95d17 fix: use PhoneControl in contact field 2026-05-28 20:58:24 +05:30
Ritvik Sardana
ff65eadf63 fix: add PhonControl 2026-05-28 20:46:11 +05:30
Ritvik Sardana
04b131a993 fix: phone number adding bug 2026-05-28 18:58:03 +05:30
Ritvik Sardana
57ecb37f1b fix: show skeleton while analytics is loading in customer/contact page 2026-05-28 18:24:57 +05:30
Ritvik Sardana
118f9e254c fix: add invite_as_user checkbox in contact creation 2026-05-28 17:58:43 +05:30
MochaMind
523aab61f9 chore: Burmese translations 2026-05-28 16:25:36 +05:30
MochaMind
0612bb7685 chore: Thai translations 2026-05-28 16:25:34 +05:30
MochaMind
d9dbfafe62 chore: Slovenian translations 2026-05-28 16:25:24 +05:30
MochaMind
b0260a4efb chore: Hungarian translations 2026-05-28 16:25:18 +05:30
MochaMind
e5bff7196a chore: German translations 2026-05-28 16:25:15 +05:30
MochaMind
0388d09e53 chore: Danish translations 2026-05-28 16:25:13 +05:30
MochaMind
236f867b2c chore: Spanish translations 2026-05-28 16:25:08 +05:30
MochaMind
a81145b72b chore: French translations 2026-05-28 16:25:06 +05:30
Ritvik Sardana
6e9217bad2 fix: max width 2026-05-28 15:54:29 +05:30
Sydney Gomes
67ff79c24d Merge branch 'develop' into feat-agent-status 2026-05-28 14:35:34 +05:30
Sydney
065026b2b6 Revert "feat: add open tickets and avg first response in agents tab"
This reverts commit 85edb100f2.
2026-05-28 14:33:41 +05:30
RitvikSardana
c1c1940f12 Merge pull request #3398 from frappe/l10n_develop
chore: sync translations from crowdin
2026-05-28 14:10:02 +05:30
RitvikSardana
15551fd302 Merge pull request #3394 from RitvikSardana/feat/bulk-reply
feat: bulk reply
2026-05-28 10:46:28 +05:30
Sydney
85edb100f2 feat: add open tickets and avg first response in agents tab 2026-05-28 02:53:47 +05:30
Ritvik Sardana
cbf8324eba fix: attachment logic 2026-05-28 01:30:59 +05:30
Ritvik Sardana
bae7d65b73 chore: remove md file 2026-05-28 01:09:29 +05:30
Ritvik Sardana
aa90218ec8 fix: test case 2026-05-28 00:54:51 +05:30
Ritvik Sardana
8b68e28ac4 test: bulk reply 2026-05-28 00:16:55 +05:30
Ritvik Sardana
47e543629f refactor: bulk reply modal 2026-05-27 23:44:58 +05:30
Ritvik Sardana
4994e03ef5 chore: code cleanup 2026-05-27 18:54:43 +05:30
Ritvik Sardana
0a5f73c87e fix: merge conflict issues 2026-05-27 17:56:43 +05:30
Ritvik Sardana
fc44803337 Merge branch 'develop' of https://github.com/frappe/helpdesk into refactor/customer-contact 2026-05-27 17:01:53 +05:30
MochaMind
9704a69797 chore: Korean translations 2026-05-27 16:02:29 +05:30
MochaMind
10760560b2 chore: Esperanto translations 2026-05-27 16:02:26 +05:30
MochaMind
ad34fd7656 chore: Russian translations 2026-05-27 16:02:24 +05:30
MochaMind
b0000976f6 chore: Serbian (Latin) translations 2026-05-27 16:02:21 +05:30
MochaMind
c57f736e71 chore: Norwegian Bokmal translations 2026-05-27 16:02:18 +05:30
MochaMind
a6226b1562 chore: Bosnian translations 2026-05-27 16:02:15 +05:30
MochaMind
c0fa6b48dd chore: Burmese translations 2026-05-27 16:02:12 +05:30
MochaMind
5a9c113087 chore: Croatian translations 2026-05-27 16:02:09 +05:30
MochaMind
e8b65d056f chore: Thai translations 2026-05-27 16:02:06 +05:30
MochaMind
37cd9fd7ae chore: Persian translations 2026-05-27 16:02:02 +05:30
MochaMind
100ac35cc4 chore: Indonesian translations 2026-05-27 16:01:59 +05:30
MochaMind
049e1c554b chore: Portuguese, Brazilian translations 2026-05-27 16:01:57 +05:30
MochaMind
92a3832d5c chore: Vietnamese translations 2026-05-27 16:01:54 +05:30
MochaMind
7373292684 chore: Chinese Simplified translations 2026-05-27 16:01:51 +05:30
MochaMind
8468faf501 chore: Turkish translations 2026-05-27 16:01:48 +05:30
MochaMind
cbb3536df5 chore: Swedish translations 2026-05-27 16:01:45 +05:30
MochaMind
eb7d392b8b chore: Serbian (Cyrillic) translations 2026-05-27 16:01:42 +05:30
MochaMind
139e3d019c chore: Slovenian translations 2026-05-27 16:01:39 +05:30
MochaMind
8d520703d6 chore: Portuguese translations 2026-05-27 16:01:36 +05:30
MochaMind
1a5a94785d chore: Polish translations 2026-05-27 16:01:33 +05:30
MochaMind
859fb683d6 chore: Dutch translations 2026-05-27 16:01:30 +05:30
MochaMind
723afc0c67 chore: Italian translations 2026-05-27 16:01:28 +05:30
MochaMind
2047e83fd4 chore: Hungarian translations 2026-05-27 16:01:25 +05:30
MochaMind
367f2415c5 chore: German translations 2026-05-27 16:01:22 +05:30
MochaMind
ed871686af chore: Danish translations 2026-05-27 16:01:19 +05:30
MochaMind
fd462c8b43 chore: Czech translations 2026-05-27 16:01:16 +05:30
MochaMind
8a76b6745f chore: Arabic translations 2026-05-27 16:01:13 +05:30
MochaMind
d6e89d748d chore: Spanish translations 2026-05-27 16:01:10 +05:30
MochaMind
bf2a0b16f4 chore: French translations 2026-05-27 16:01:07 +05:30
Ritvik Sardana
eb8d647c64 fix: save reply in local storage 2026-05-27 14:03:48 +05:30
Ritvik Sardana
1785703cf4 fix: resend invite when invitation expired 2026-05-27 12:04:41 +05:30
Ritvik Sardana
8d07acde61 fix: layout shift in contact info 2026-05-27 11:23:51 +05:30
Ritvik Sardana
151c0f1bb1 fix: add invite as user functionality in contact 2026-05-27 11:01:28 +05:30
Ritvik Sardana
425441d169 fix: better contact list view 2026-05-27 02:31:21 +05:30
Ritvik Sardana
2f8b81bf0b refactor: dirty logic 2026-05-27 02:13:29 +05:30
Ritvik Sardana
0396ab628d fix: image upload bug + phone primary not being set 2026-05-27 02:03:11 +05:30
Sydney
9d970c5144 feat: calculate and display time from agent status change 2026-05-27 02:00:21 +05:30
Ritvik Sardana
29ee69f83e fix: show total ticket count in contact 2026-05-27 00:05:37 +05:30
Ritvik Sardana
d7c5c1e32e fix: better logging message 2026-05-26 20:54:05 +05:30
RitvikSardana
814b4c0f20 Merge pull request #3361 from RitvikSardana/erpnext-hd-integration
feat: sync ERPNext customer with HD customer
2026-05-26 20:47:54 +05:30
RitvikSardana
c90bac04b4 Merge pull request #3386 from frappe/pot_develop_2026-05-24
chore: update POT file
2026-05-26 20:47:12 +05:30
Ritvik Sardana
2d0552fa91 fix: better defaults 2026-05-26 20:45:50 +05:30
RitvikSardana
8090f327fb Merge pull request #3371 from frappe/l10n_develop
chore: sync translations from crowdin
2026-05-26 20:30:49 +05:30
Ritvik Sardana
5efaf89e4d fix: bulk reply icon 2026-05-26 20:26:31 +05:30
Ritvik Sardana
f6947f115d chore: code cleanup 2026-05-26 19:23:17 +05:30
Ritvik Sardana
000ad30f03 refactor: code structure 2026-05-26 18:57:36 +05:30
Ritvik Sardana
9b7b779d08 fix: add attachment feature 2026-05-26 16:24:42 +05:30
Sydney
4d394a0414 feat: add functionality for busy agents 2026-05-26 14:43:34 +05:30
Sydney
779d4a0662 test: add testcases for agent status 2026-05-26 14:28:21 +05:30
Ritvik Sardana
a1cb277151 fix: better copy 2026-05-26 13:45:51 +05:30
Ritvik Sardana
c5c687fa73 chore: code cleanup 2026-05-26 13:18:44 +05:30
Sydney
b9fe65d96f fix: generalize toast warnings for assign to modal 2026-05-26 13:00:34 +05:30
Sydney
83ec1baab7 fix: change status name and display status in profile 2026-05-26 12:58:59 +05:30
Sydney
0c6d1ba23b fix: use dropdown instead of select for agent status 2026-05-26 12:48:45 +05:30
Ritvik Sardana
5229c333b7 fix: dont throw error for agent role 2026-05-26 12:39:36 +05:30
Ritvik Sardana
8de2ad89c0 chore: code cleanup 2026-05-26 12:13:42 +05:30
Ritvik Sardana
48c4721488 fix: handle bulk delete properly 2026-05-26 11:20:37 +05:30
Ritvik Sardana
6ce4499536 fix: enqueue job ID 2026-05-25 22:48:55 +05:30
RitvikSardana
6dc1c63999 Merge pull request #3366 from HarishChandran3304/fix/dark-mode-regressions
fix: dark mode regressions
2026-05-25 21:16:00 +05:30
Ritvik Sardana
0ffca6862a refactor: add class to contain common methods 2026-05-25 21:11:59 +05:30
Ritvik Sardana
93c2d17fe1 chore: code cleanup 2026-05-25 21:11:40 +05:30
Ritvik Sardana
536232e10d fix: dont force delete 2026-05-25 17:36:57 +05:30
HemilSangani
1f4b36ff60 refactor: improve @me filter export handling comments 2026-05-25 15:06:07 +05:30
HemilSangani
d8942c308f fix: resolve @me filters during export in Helpdesk Portal 2026-05-25 15:02:03 +05:30
Sydney
630704fb4f feat: add agent status indicators to frontend 2026-05-25 13:43:22 +05:30
Sydney
e2dd43be18 fix: add agent availabilty menu and color map for options 2026-05-25 13:41:20 +05:30
Harish Chandran
0fb37f2742 fix: make KB new article title input theme-aware 2026-05-25 12:54:11 +05:30
Ritvik Sardana
890d9aa903 fix: better in_sync logic 2026-05-25 12:47:08 +05:30
Ritvik Sardana
cc2f8c3755 fix: make UserPerms mirroring more verbose 2026-05-25 01:26:42 +05:30
Ritvik Sardana
b9f6b200c1 fix: handle updating sync on user perm or share update 2026-05-24 16:52:41 +05:30
frappe-pr-bot
947f6a5524 chore: update POT file 2026-05-24 10:57:36 +00:00
Ritvik Sardana
cf5660595d fix: handle renaming 2026-05-24 13:44:17 +05:30
Ritvik Sardana
919dea3090 fix: import path and file name 2026-05-24 02:21:44 +05:30
MochaMind
cdbb0b29fe chore: Swedish translations 2026-05-23 15:11:19 +05:30
Ritvik Sardana
bf44131e35 fix: add on_trash events for DocShare & User Permissions 2026-05-22 18:19:29 +05:30
Ritvik Sardana
3a8f31e5eb fix: sync DocShare 2026-05-22 18:18:27 +05:30
Ritvik Sardana
a506b5cf7b chore: change import paths 2026-05-22 17:39:59 +05:30
Ritvik Sardana
e582a68b68 chore: code cleanup 2026-05-22 16:49:01 +05:30
Ritvik Sardana
4a38da39e8 fix: sync user perms 2026-05-22 16:15:12 +05:30
Ritvik Sardana
016ac63148 feat: bulk reply in ticket list view 2026-05-21 18:01:02 +05:30
Ritvik Sardana
68812f153b fix: show manager the erpnext setting in UI 2026-05-21 16:27:03 +05:30
Ritvik Sardana
f69ad1f383 fix: better folder structure and erpnext settings 2026-05-21 16:12:28 +05:30
Ritvik Sardana
9387e52e27 fix: better UX for enabling integration from Settings 2026-05-21 15:47:59 +05:30
MochaMind
60d7dcf47a chore: Swedish translations 2026-05-21 15:14:47 +05:30
MochaMind
68f04c3c34 chore: French translations 2026-05-21 15:14:42 +05:30
Ritvik Sardana
f3d660cbb9 fix: create hd_customer custom field in before_tests 2026-05-21 14:07:31 +05:30
Ritvik Sardana
352b1f45db chore: code cleanup 2026-05-21 13:06:46 +05:30
Ritvik Sardana
e042c72bb9 fix: make hd_customer field hidden 2026-05-21 12:39:55 +05:30
Ritvik Sardana
ec1f86d1cc fix: add perms in HD Settings 2026-05-21 12:28:46 +05:30
Ritvik Sardana
7c3db92544 fix(ci): install apps on test-site 2026-05-21 12:28:24 +05:30
Ritvik Sardana
a0b5f39112 test: skip HD Customer sync tests when ERPNext is not installed 2026-05-21 10:50:50 +05:30
Sydney Gomes
fc54a0f42a Merge pull request #3378 from aerodeval/fix-merge-ticket-conditions
fix: add missing conditions in ticket merge modal
2026-05-21 03:00:52 +05:30
Sydney
146a389a7a fix: add missing conditions in ticket merge modal 2026-05-21 02:49:30 +05:30
Sydney Gomes
36a945e603 Merge pull request #3376 from aerodeval/fix-loading-state-regression
fix: loader appearing on top in SLa view
2026-05-21 02:24:16 +05:30
Sydney
ad8ff52580 fix: improper logic used to display loading state 2026-05-21 02:17:20 +05:30
Sydney
b0c846c67c fix: loader appearing on top in SLa view 2026-05-21 02:13:29 +05:30
RitvikSardana
b572cb56cc Merge branch 'develop' into erpnext-hd-integration 2026-05-20 20:52:17 +05:30
Ritvik Sardana
fd240682c8 fix: dont always show sync button in erpnext 2026-05-20 20:42:00 +05:30
Ritvik Sardana
835e0818f4 chore: code cleanup 2026-05-20 19:57:01 +05:30
Ritvik Sardana
60efc65b52 fix: use custom class instead of doc events hook 2026-05-20 19:52:45 +05:30
MochaMind
d1a8b12458 chore: French translations 2026-05-20 14:51:53 +05:30
Sydney
39adf83470 fix: generalize filter for assignment rule in override 2026-05-20 12:15:13 +05:30
Ritvik Sardana
54060409e8 chore: code cleanup 2026-05-19 18:02:19 +05:30
Sydney
266adf8842 fix: override assignment rule for filtering out away agents 2026-05-19 15:07:29 +05:30
Sydney
a9268b8621 feat: handle manual assignment for away agents 2026-05-19 15:05:17 +05:30
Sydney
c7e1861fc8 fix: add agent availability 2026-05-19 15:01:57 +05:30
MochaMind
b60463736f chore: Esperanto translations 2026-05-19 13:57:32 +05:30
MochaMind
ae6039da5b chore: Russian translations 2026-05-19 13:57:30 +05:30
MochaMind
b173c84ff3 chore: Serbian (Latin) translations 2026-05-19 13:57:27 +05:30
MochaMind
5912022f4b chore: Norwegian Bokmal translations 2026-05-19 13:57:25 +05:30
MochaMind
0f366341d3 chore: Bosnian translations 2026-05-19 13:57:23 +05:30
MochaMind
9a80854c95 chore: Burmese translations 2026-05-19 13:57:21 +05:30
MochaMind
a49c7378a9 chore: Croatian translations 2026-05-19 13:57:19 +05:30
MochaMind
c7ac7db049 chore: Thai translations 2026-05-19 13:57:17 +05:30
MochaMind
c49fcd0e5d chore: Persian translations 2026-05-19 13:57:14 +05:30
MochaMind
ff634daa7e chore: Indonesian translations 2026-05-19 13:57:12 +05:30
MochaMind
784d7ab53c chore: Portuguese, Brazilian translations 2026-05-19 13:57:10 +05:30
MochaMind
f67c39ea94 chore: Vietnamese translations 2026-05-19 13:57:08 +05:30
MochaMind
aa5399df04 chore: Chinese Simplified translations 2026-05-19 13:57:05 +05:30
MochaMind
81928e2117 chore: Turkish translations 2026-05-19 13:57:03 +05:30
MochaMind
8a936cb486 chore: Swedish translations 2026-05-19 13:57:01 +05:30
MochaMind
eae44520cc chore: Serbian (Cyrillic) translations 2026-05-19 13:56:59 +05:30
MochaMind
64c964002d chore: Slovenian translations 2026-05-19 13:56:56 +05:30
MochaMind
4cec7f83ae chore: Portuguese translations 2026-05-19 13:56:54 +05:30
MochaMind
25940eea86 chore: Polish translations 2026-05-19 13:56:51 +05:30
MochaMind
fd5773a10c chore: Dutch translations 2026-05-19 13:56:49 +05:30
MochaMind
368dc1a3a6 chore: Italian translations 2026-05-19 13:56:47 +05:30
MochaMind
7c5a093f47 chore: Hungarian translations 2026-05-19 13:56:45 +05:30
MochaMind
6dd10ca425 chore: German translations 2026-05-19 13:56:43 +05:30
MochaMind
3c45873ad3 chore: Danish translations 2026-05-19 13:56:40 +05:30
MochaMind
dbdec8cd3c chore: Czech translations 2026-05-19 13:56:38 +05:30
MochaMind
29f63a1a8d chore: Arabic translations 2026-05-19 13:56:36 +05:30
MochaMind
e4ff6aaeb1 chore: Spanish translations 2026-05-19 13:56:34 +05:30
MochaMind
95a231f878 chore: French translations 2026-05-19 13:56:32 +05:30
Sydney Gomes
5776cbd03d Merge pull request #3370 from aerodeval/fix-empty-state
fix: add pointer-events-none to empty state overlay
2026-05-19 12:08:12 +05:30
Sydney
bfa81e08d2 fix: remove unused z-index 2026-05-19 11:57:23 +05:30
Sydney
4b27fc1ce7 fix: disable pointer-events on empty state overlay to unblock header actions 2026-05-19 11:54:00 +05:30
Ritvik Sardana
6c6a4d347e fix: connect API with feedback chart data 2026-05-19 11:03:39 +05:30
Ritvik Sardana
21062888d6 fix: add loading state 2026-05-19 00:52:15 +05:30
Ritvik Sardana
9256730649 refactor: add feedback composable for contact 2026-05-19 00:31:31 +05:30
Ritvik Sardana
2bc4f60643 feat: feedback tab in Contact Page 2026-05-18 19:16:23 +05:30
RitvikSardana
760e6de95f Merge pull request #3367 from RitvikSardana/sla-hold
fix: correct label for SLA when ticket is on hold
2026-05-18 16:05:29 +05:30
Ritvik Sardana
a9dfd34d0c fix: corrent label for SLA when ticket is on hold 2026-05-18 16:03:45 +05:30
Harish Chandran
962546b56a fix: use theme-stable mobile sidebar backdrop 2026-05-18 15:13:47 +05:30
Harish Chandran
b2124c076c fix: make <hr> dividers visible in Settings list views 2026-05-18 15:11:22 +05:30
RitvikSardana
12dd55f9db Merge pull request #3363 from frappe/pot_develop_2026-05-17
chore: update POT file
2026-05-18 14:59:33 +05:30
Sydney Gomes
c0d5b2cfb8 Merge pull request #3353 from aerodeval/fix-ui-code-refactor
refactor(frontend): reduce code duplication across components and some ui fixes
2026-05-17 17:38:26 +05:30
Sydney
ec40d5a3e3 fix: flicker when tabs are changed 2026-05-17 17:33:09 +05:30
frappe-pr-bot
4982ef6ce1 chore: update POT file 2026-05-17 10:54:00 +00:00
Sydney
197e8c5334 fix: ui issues with centering of loading states and loading indicator 2026-05-17 14:41:45 +05:30
Ritvik Sardana
9bac8ae0c8 fix: dont show sync button if erpnext not installed 2026-05-17 01:49:22 +05:30
Ritvik Sardana
cee84c8506 fix: add perm guard in whitelisted methods 2026-05-17 01:25:31 +05:30
Ritvik Sardana
94862dc3fa fix: install CI 2026-05-17 01:15:55 +05:30
Ritvik Sardana
deed869a88 fix: add erpnext to install.sh 2026-05-17 01:10:46 +05:30
Ritvik Sardana
71b664adeb fix: add patch for adding erpnext customers to HD 2026-05-17 01:08:01 +05:30
Ritvik Sardana
8a31a0a1fc test: write test cases for hd_customer erpnext_customer sync 2026-05-17 00:34:21 +05:30
Ritvik Sardana
addaf967e7 fix: only show system manager the ERPNext Integration setting 2026-05-16 19:53:22 +05:30
Ritvik Sardana
7f70e4907f fix: add ERPNext Integration setting in Settings Modal 2026-05-16 19:37:24 +05:30
Sydney Gomes
d799ab2382 Merge branch 'develop' into fix-ui-code-refactor 2026-05-16 17:56:10 +05:30
Sydney
684bf0d80c fix: make dropdown lost mobile friendly 2026-05-16 17:42:45 +05:30
Sydney
171f62e07b fix: view breadcrumbs dropdown fix 2026-05-16 17:14:07 +05:30
Ritvik Sardana
ee540d64ec feat: sync erpnext customer with hd customer 2026-05-16 03:33:23 +05:30
Ritvik Sardana
b1250c737f feat: erpnext hd customer master sync 2026-05-16 00:11:38 +05:30
RitvikSardana
f7d0541bf9 Merge pull request #3359 from RitvikSardana/sidebar-fields
fix: border in ticket fields
2026-05-15 15:39:12 +05:30
Ritvik Sardana
2c3548b54c chore: code cleanup 2026-05-15 14:43:11 +05:30
Ritvik Sardana
eba1d2624e fix: border in ticket fields 2026-05-15 14:40:16 +05:30
RitvikSardana
b59d714f32 Merge pull request #3276 from dankgarlic1/feat/ticket-naming-expression
feat: change ticket ID format to string-based naming series
2026-05-15 13:28:59 +05:30
Ritvik Sardana
e8daf87e08 chore: code cleanup 2026-05-15 13:05:21 +05:30
Ritvik Sardana
cb4d90a1cd fix: default ticket id width in ListView 2026-05-15 13:04:39 +05:30
Sydney
431e95d450 fix: linter issues 2026-05-15 13:02:21 +05:30
Sydney Gomes
c632c03a4d Merge branch 'develop' into fix-ui-code-refactor 2026-05-15 12:52:35 +05:30
Sydney
0af8b49ab2 fix: dark mode ui issues 2026-05-15 12:50:13 +05:30
Sydney
0e0d460e2e fix: breadcrumbs fix for mobile and UI issues 2026-05-15 12:21:14 +05:30
RitvikSardana
074f3aeaa8 Merge pull request #3246 from HarishChandran3304/feat/dark-mode
feat: dark mode
2026-05-15 10:43:06 +05:30
Sydney
bf879318f9 fix: breadcrumbs and empty states centered 2026-05-14 15:52:44 +05:30
Harshit Raizada
ef72e3b071 chore: fixed patch file name in patch.txt 2026-05-14 12:45:38 +05:30
Harshit Raizada
d0f5bec3e0 chore: added the patch name in patch file 2026-05-14 12:44:46 +05:30
Sydney
2ed16f1232 fix: center empty states all over 2026-05-14 12:02:17 +05:30
RitvikSardana
225aa616de Merge pull request #3354 from RitvikSardana/fix/overdue-resolution
fix: overdue resolution time in SLA
2026-05-14 11:59:48 +05:30
Ritvik Sardana
264c1f3c78 chore: align SLA status 2026-05-14 11:53:04 +05:30
Ritvik Sardana
4c44d4aa59 fix: overdue resolution time in SLA 2026-05-14 11:50:42 +05:30
Harshit Raizada
e54c9d2c31 chore: sync patches.txt with develop 2026-05-14 11:01:39 +05:30
Harshit Raizada
728cb53ff4 chore: remove redundant parentheses 2026-05-14 10:58:33 +05:30
Harshit Raizada
c2ba5dfddc chore: remove legacy number types from TS interfaces for tickets 2026-05-14 10:58:33 +05:30
Harshit Raizada
079327f3d1 chore: remove legacy str | int type hints for ticket docs 2026-05-14 10:58:32 +05:30
Harshit Raizada
f1d823a52c chore: fix black formatting 2026-05-14 10:58:32 +05:30
Harshit Raizada
09b260e263 feat: change ticket ID format to string-based naming series 2026-05-14 10:58:25 +05:30
Sydney
704d887f35 fix: improve edit name in profile component 2026-05-14 02:33:53 +05:30
Sydney
1982d5d83a fix: use reusable components for EmptyState and Badge transtions 2026-05-14 02:32:05 +05:30
Harish Chandran
e9c5d2fb6b fix: use theme-aware tokens for custom ticket fields 2026-05-13 15:13:32 +05:30
Harish Chandran
ae2d2da2c1 chore: reorder user dropdown to move Toggle theme above Settings 2026-05-13 14:41:25 +05:30
Harish Chandran
0b436c70c3 fix: use theme-aware color in SkeletonLoader Dashboard page empty-state gradient 2026-05-13 14:37:35 +05:30
Sydney Gomes
f9668a5407 Merge pull request #3266 from aerodeval/fix-allow-sending-with-bcc/cc
fix: allow sending with bcc/cc
2026-05-13 13:41:14 +05:30
Sydney
777619925a fix: improve code quality 2026-05-13 13:24:54 +05:30
RitvikSardana
a72f5b37f4 Merge pull request #3342 from frappe/l10n_develop
chore: sync translations from crowdin
2026-05-13 11:45:05 +05:30
Sydney Gomes
c9c4a749a8 Merge branch 'develop' into fix-allow-sending-with-bcc/cc 2026-05-13 11:44:43 +05:30
Sydney Gomes
c996542a0c Merge pull request #3348 from aerodeval/test-from-email-coverage
test: add test cases for from-email switching
2026-05-13 11:42:05 +05:30
Sydney
54c32cc5be test: add test cases for from-email switching 2026-05-13 01:51:52 +05:30
Ritvik Sardana
0e58ef12b3 feat: enhance contact invitation flow and UI updates 2026-05-12 23:57:16 +05:30
RitvikSardana
8af10567af Merge pull request #3297 from RitvikSardana/fix/sla-header
fix: sla header in ticket view
2026-05-12 23:50:04 +05:30
Ritvik Sardana
4af5fac05e fix: dont update resolution when status_category remains the same of 'Resolved' 2026-05-12 22:42:59 +05:30
Ritvik Sardana
d802e76038 fix: sla formatting in UI 2026-05-12 22:42:59 +05:30
RitvikSardana
e0ddb619fd Merge branch 'develop' into fix/sla-header 2026-05-12 21:00:55 +05:30
Ritvik Sardana
881a0c484f chore: code cleanup 2026-05-12 20:51:56 +05:30
Harish Chandran
b3028961c3 fix: avoid no-unused-expressions lint error in chart computed blocks 2026-05-12 18:18:22 +05:30
Ritvik Sardana
a1f305edb4 fix: add patch for backfiling the fields for tickets raised in last 180 days 2026-05-12 17:27:14 +05:30
Ritvik Sardana
e7c57a1c04 fix: add test cases for response and resolution failed_by 2026-05-12 17:23:23 +05:30
Sydney
33195dcf02 fix: improve test cases 2026-05-12 17:01:12 +05:30
Harish Chandran
b100e025b3 feat: add dark-mode shadow overrides 2026-05-12 13:59:47 +05:30
Harish Chandran
8d6a3a92f9 fix: add semantic border color to Autocomplete footer divider 2026-05-12 13:11:40 +05:30
Harish Chandran
b76a759a68 fix: use surface-modal for Autocomplete popover background 2026-05-12 13:07:31 +05:30
RitvikSardana
c053047814 Merge pull request #3344 from RitvikSardana/fix/article-search
fix: broken article search
2026-05-12 12:48:20 +05:30
Ritvik Sardana
f6842abe93 chore: remove unwanted code 2026-05-12 12:26:23 +05:30
MochaMind
b5385a6b3c chore: Bosnian translations 2026-05-12 11:21:38 +05:30
MochaMind
06f04f757a chore: Croatian translations 2026-05-12 11:21:37 +05:30
MochaMind
bc7338bee6 chore: Swedish translations 2026-05-12 11:21:30 +05:30
Harish Chandran
64139d6fc3 fix: use theme-aware color in EmptyState overlay gradient 2026-05-12 04:20:00 +05:30
Harish Chandran
8217cc7455 Merge branch 'develop' into feat/dark-mode 2026-05-12 04:13:50 +05:30
Sydney Gomes
daadbb6915 Merge pull request #3329 from aerodeval/fix/ui-bugs
fix: UI bugs
2026-05-12 01:29:08 +05:30
Sydney
c0cb774f73 fix: ticket view ui fixes 2026-05-12 01:24:04 +05:30
Sydney
6e3a910555 fix: improve code quality in hd_ticket 2026-05-12 01:03:15 +05:30
Sydney
11382aa429 fix: ui bugs in ticket view page and settings 2026-05-12 01:02:47 +05:30
Sydney
8956558d27 fix: select box sizing in invite agents 2026-05-12 01:02:00 +05:30
RitvikSardana
beab18dc86 Merge pull request #3338 from niraj2477/redis-search
refactor: Remove HD Ticket indexing from redis based search
2026-05-12 00:57:49 +05:30
RitvikSardana
5fed27537d Merge pull request #3288 from RitvikSardana/weighted-users
fix: add weighted_users support in hd team
2026-05-11 23:26:18 +05:30
Ritvik Sardana
a319b47b8c chore: code cleanup 2026-05-11 23:19:40 +05:30
Ritvik Sardana
5a47bbd31d chore: update agents.md 2026-05-11 23:07:47 +05:30
Ritvik Sardana
ab34c77b42 chore: update ts_config 2026-05-11 23:06:47 +05:30
Ritvik Sardana
5f693fee2f fix: use same rename dialog in team edit and list view 2026-05-11 20:38:14 +05:30
Niraj Gautam
5f6e1d7b5c chore: Fix lint issue 2026-05-11 20:07:19 +05:30
Ritvik Sardana
fb9df9865e refactor: team edit view 2026-05-11 19:50:39 +05:30
Niraj Gautam
777466a744 fix: Remove HD Ticket indexing from redis based search 2026-05-11 19:48:28 +05:30
Ritvik Sardana
b124594c9c chore: code cleanup 2026-05-11 19:40:32 +05:30
Ritvik Sardana
215475d080 fix: add enable check while creating new team in UI 2026-05-11 19:37:18 +05:30
Ritvik Sardana
d39d56f67d refactor: HD Team doctype codebase 2026-05-11 19:28:29 +05:30
Ritvik Sardana
4d34520232 fix: test utils for creating team 2026-05-11 18:34:46 +05:30
Ritvik Sardana
2f1bccd869 chore: code cleanup 2026-05-11 18:26:05 +05:30
Ritvik Sardana
5947ae3f04 fix: handle app installation 2026-05-11 18:22:31 +05:30
Ritvik Sardana
3b206b9b3e chore: code cleanup 2026-05-11 18:08:02 +05:30
Sydney
8036ccc8f4 fix: multiple toasts in invite agent flow and ui fix 2026-05-11 18:05:58 +05:30
Ritvik Sardana
71956484ff fix: update link_filters in HDTicket 2026-05-11 17:56:48 +05:30
Ritvik Sardana
8b41331457 fix: add team disable in UI 2026-05-11 17:49:49 +05:30
Sydney
9702df6d32 fix: use combobox instead of Autocomplete and fix quick filters 2026-05-11 17:01:07 +05:30
Ritvik Sardana
a9dfa9a1b4 fix: sync disable state of HD Team with Assignment Rule 2026-05-11 14:39:52 +05:30
RitvikSardana
5c1a71274d Merge pull request #3331 from frappe/l10n_develop
chore: sync translations from crowdin
2026-05-11 14:19:52 +05:30
Sydney
df6643fc73 fix: ensure email signature is applied on editor open 2026-05-11 11:38:28 +05:30
MochaMind
f702fa2d14 chore: Esperanto translations 2026-05-11 11:23:22 +05:30
MochaMind
be5a4dbdda chore: Russian translations 2026-05-11 11:23:21 +05:30
MochaMind
633c712678 chore: Serbian (Latin) translations 2026-05-11 11:23:19 +05:30
MochaMind
9f4cefd92a chore: Norwegian Bokmal translations 2026-05-11 11:23:17 +05:30
MochaMind
b6c22d78a7 chore: Bosnian translations 2026-05-11 11:23:16 +05:30
MochaMind
d3c0b6d288 chore: Burmese translations 2026-05-11 11:23:14 +05:30
MochaMind
29f634e48f chore: Croatian translations 2026-05-11 11:23:13 +05:30
MochaMind
5582e9f326 chore: Thai translations 2026-05-11 11:23:11 +05:30
MochaMind
1d2dfcf20f chore: Persian translations 2026-05-11 11:23:09 +05:30
MochaMind
f84f9db434 chore: Indonesian translations 2026-05-11 11:23:08 +05:30
MochaMind
a1cecb3f2b chore: Portuguese, Brazilian translations 2026-05-11 11:23:06 +05:30
MochaMind
5ec41b1500 chore: Vietnamese translations 2026-05-11 11:23:04 +05:30
MochaMind
8faabcf831 chore: Chinese Simplified translations 2026-05-11 11:23:03 +05:30
MochaMind
09a72dbcc5 chore: Turkish translations 2026-05-11 11:23:01 +05:30
MochaMind
0b6f2c828f chore: Swedish translations 2026-05-11 11:23:00 +05:30
MochaMind
d923677bd6 chore: Serbian (Cyrillic) translations 2026-05-11 11:22:58 +05:30
MochaMind
0edeaed550 chore: Slovenian translations 2026-05-11 11:22:57 +05:30
MochaMind
29f17bd05b chore: Portuguese translations 2026-05-11 11:22:55 +05:30
MochaMind
68e16f8825 chore: Polish translations 2026-05-11 11:22:54 +05:30
MochaMind
5e9ca4413f chore: Dutch translations 2026-05-11 11:22:52 +05:30
MochaMind
c804633e37 chore: Italian translations 2026-05-11 11:22:50 +05:30
MochaMind
e7fea47bef chore: Hungarian translations 2026-05-11 11:22:49 +05:30
MochaMind
0ba8df95ca chore: German translations 2026-05-11 11:22:47 +05:30
MochaMind
73839ab2e6 chore: Danish translations 2026-05-11 11:22:46 +05:30
MochaMind
ffbb3bcf01 chore: Czech translations 2026-05-11 11:22:44 +05:30
MochaMind
26eaa73192 chore: Arabic translations 2026-05-11 11:22:42 +05:30
MochaMind
54cd0b6000 chore: Spanish translations 2026-05-11 11:22:41 +05:30
MochaMind
8dda232d76 chore: French translations 2026-05-11 11:22:39 +05:30
RitvikSardana
834e9fc184 Merge pull request #3328 from frappe/pot_develop_2026-05-10
chore: update POT file
2026-05-11 11:12:16 +05:30
Sydney
be8a417c17 fix: ui issues in frontend 2026-05-10 19:57:59 +05:30
Sydney
7a175e4fab fix: general settings update toggle without save 2026-05-10 18:36:44 +05:30
Sydney
75f7b69613 fix: general ui fixes 2026-05-10 18:22:05 +05:30
Sydney
bf20db015c fix: frappe-ui dropdown changes and combobox width fixes 2026-05-10 18:21:05 +05:30
Sydney
c142a79d65 fix: breadcrumbs listview dropdown appearing on the end 2026-05-10 18:19:34 +05:30
frappe-pr-bot
b909a6f6fc chore: update POT file 2026-05-10 10:49:34 +00:00
Sydney Gomes
bb66ea69f7 Merge pull request #3327 from aerodeval/fix/onboarding-setup
fix: make onboarding steps to depend on ticket creation
2026-05-08 15:03:21 +05:30
Sydney
ae73d2d342 fix: onboarding steps to depend on ticket creation 2026-05-08 14:51:09 +05:30
Sydney Gomes
55e89be0c6 Merge pull request #3324 from aerodeval/dashboard-filters
fix: dashboard filters fix
2026-05-08 03:58:43 +05:30
Sydney
be7eb8f370 fix: dashboard filters fix 2026-05-08 03:46:46 +05:30
RitvikSardana
c2b6dce941 Merge pull request #3292 from frappe/l10n_develop
chore: sync translations from crowdin
2026-05-08 02:38:15 +05:30
RitvikSardana
e5a94e969d Merge pull request #3316 from RitvikSardana/fix/node-ci
chore(ci): bump node version in relase ci
2026-05-08 02:36:34 +05:30
Ritvik Sardana
850c054797 chore(ci): bump node version in relase ci 2026-05-08 02:35:33 +05:30
Ritvik Sardana
d583d140c7 fix: add disabled field in hd_team 2026-05-07 23:54:08 +05:30
Ritvik Sardana
fece6ce14f fix: introduce failed_by field for response and resolution field 2026-05-07 23:53:26 +05:30
Sydney Gomes
f73ee4158b Merge pull request #3295 from gajjug004/fix/dashboard-period-filter
fix: parse period filter
2026-05-07 16:17:06 +05:30
gajjug004
a73870f22e fix: parse period filter 2026-05-07 15:17:45 +05:30
Ritvik Sardana
49d9da6891 fix: show proper SLA timing in Ticket View 2026-05-07 13:56:15 +05:30
MochaMind
168968f1b9 chore: Persian translations 2026-05-07 10:49:21 +05:30
Ritvik Sardana
c5e062a25f fix: remove two way sync 2026-05-07 02:19:18 +05:30
Sydney Gomes
8a93324e83 Merge pull request #3141 from pratikb64/fix/agent-landing-page-bugs
fix: Fix standard view filter, UI bugs add My Replies card
2026-05-07 01:19:09 +05:30
Sydney
af99843189 fix: replicate filters from dashboard in agent_home 2026-05-07 00:57:36 +05:30
Sydney
ffbf594d1b fix: handle 0 percent change 2026-05-06 23:35:39 +05:30
Sydney
ba9986905b fix: add missing filters & add filter patches for old Views 2026-05-06 19:32:57 +05:30
RitvikSardana
04745e17c8 Merge pull request #3289 from RitvikSardana/telephony-dep2
chore: telephony version
2026-05-06 18:44:27 +05:30
Ritvik Sardana
356170dea7 chore: telephony version 2026-05-06 18:38:03 +05:30
Sydney Gomes
54f31c1f0c Merge branch 'develop' into fix/agent-landing-page-bugs 2026-05-06 16:13:36 +05:30
Sydney
76ccb72d95 fix: support for last 7 days and improve filters 2026-05-06 16:10:14 +05:30
Sydney
41fbd69956 fix: use emptyState component in homepage 2026-05-06 15:58:53 +05:30
Sydney
df9e03bf40 fix: dashboard page enhancements 2026-05-06 15:56:28 +05:30
Sydney
98e1f8f3ed fix: reuse empty states form Emptystate 2026-05-06 15:55:21 +05:30
RitvikSardana
22ce427855 Merge pull request #3285 from frappe/revert-3282-telephony-dep
Revert "chore: add telephony dependency"
2026-05-06 14:17:26 +05:30
RitvikSardana
f56b112cec Revert "chore: add telephony dependency" 2026-05-06 14:16:32 +05:30
RitvikSardana
1693bdf559 Merge pull request #3282 from RitvikSardana/telephony-dep
chore: add telephony dependency
2026-05-06 11:39:33 +05:30
Ritvik Sardana
05415f77ef chore: update version 2026-05-06 11:38:16 +05:30
Ritvik Sardana
e0d1031f17 chore: add telephony dependency 2026-05-06 11:24:55 +05:30
RitvikSardana
18b0aa4a13 Merge pull request #3277 from RitvikSardana/sla-status-logic
fix: SLA Status Logic
2026-05-05 20:11:49 +05:30
RitvikSardana
d2244b4db4 Merge pull request #3275 from frappe/l10n_develop
chore: sync translations from crowdin
2026-05-05 16:35:43 +05:30
Ritvik Sardana
2c9329368c fix: add job for auto updating SLA status 2026-05-05 16:13:36 +05:30
Sydney
2ef9e4abd1 fix: broken dropdowns in home page 2026-05-05 14:33:10 +05:30
Harish Chandran
96c60310f1 Merge remote-tracking branch 'upstream/develop' into feat/dark-mode 2026-05-05 14:01:59 +05:30
Harish Chandran
20602eca52 fix: convert hardcoded blues to semantic versions 2026-05-05 13:55:34 +05:30
Harish Chandran
f78dd81ccc fix: remove redundant classes 2026-05-05 13:54:07 +05:30
Sydney
4eb157bf7e fix: remove hardcoded dates from filters 2026-05-05 12:43:02 +05:30
Ritvik Sardana
5bf232771d fix: more debounce in contact search 2026-05-05 12:20:40 +05:30
Ritvik Sardana
36ac5a1332 fix: Contact avatar in ticket view 2026-05-05 00:37:00 +05:30
Sydney Gomes
57e9742f59 Merge pull request #3278 from aerodeval/fix-profile-settings
fix: prevent request from being sent if name is unchanged
2026-05-05 00:25:05 +05:30
Sydney
e9d973d496 fix: dirty state of save button when name is changed 2026-05-05 00:14:05 +05:30
Ritvik Sardana
703d7f0f2b fix: allow event bubbling in EmailContent 2026-05-05 00:04:45 +05:30
Ritvik Sardana
a433538aa3 fix: agreement_status logic 2026-05-05 00:04:20 +05:30
Sydney
46450cf922 fix: prevent request from being sent if name is unchanged 2026-05-04 23:49:12 +05:30
Sydney
298b465d9a fix: remove throwing exception when to, cc or bcc is empty and failing testcase 2026-05-04 14:56:54 +05:30
Sydney
b1e2bf0e6c fix: add test cases and avoid sending mail without any field in backend 2026-05-04 12:13:21 +05:30
MochaMind
f756f0fbd2 chore: Esperanto translations 2026-05-04 10:45:12 +05:30
MochaMind
e1093e39e2 chore: Russian translations 2026-05-04 10:45:10 +05:30
MochaMind
e55533a2f4 chore: Serbian (Latin) translations 2026-05-04 10:45:09 +05:30
MochaMind
a015642c9e chore: Norwegian Bokmal translations 2026-05-04 10:45:07 +05:30
MochaMind
7b872266f7 chore: Bosnian translations 2026-05-04 10:45:05 +05:30
MochaMind
34d400e8d7 chore: Burmese translations 2026-05-04 10:45:03 +05:30
MochaMind
912097c157 chore: Croatian translations 2026-05-04 10:45:01 +05:30
MochaMind
13e63be3ce chore: Thai translations 2026-05-04 10:44:59 +05:30
MochaMind
e6aecafb8b chore: Persian translations 2026-05-04 10:44:58 +05:30
MochaMind
8d506f283b chore: Indonesian translations 2026-05-04 10:44:55 +05:30
MochaMind
9bb524882d chore: Portuguese, Brazilian translations 2026-05-04 10:44:54 +05:30
MochaMind
2c86d2ebb4 chore: Vietnamese translations 2026-05-04 10:44:52 +05:30
MochaMind
283094dcfb chore: Chinese Simplified translations 2026-05-04 10:44:50 +05:30
MochaMind
ec5aa09e54 chore: Turkish translations 2026-05-04 10:44:49 +05:30
MochaMind
d57e18111d chore: Swedish translations 2026-05-04 10:44:47 +05:30
MochaMind
8c837b36e4 chore: Serbian (Cyrillic) translations 2026-05-04 10:44:45 +05:30
MochaMind
67dd674b69 chore: Slovenian translations 2026-05-04 10:44:44 +05:30
MochaMind
6b3f0f8b39 chore: Portuguese translations 2026-05-04 10:44:42 +05:30
MochaMind
727b3e598d chore: Polish translations 2026-05-04 10:44:40 +05:30
MochaMind
46cf803665 chore: Dutch translations 2026-05-04 10:44:39 +05:30
MochaMind
e7b6858113 chore: Italian translations 2026-05-04 10:44:37 +05:30
MochaMind
9f5041bd68 chore: Hungarian translations 2026-05-04 10:44:35 +05:30
MochaMind
ed3b2eab9c chore: German translations 2026-05-04 10:44:34 +05:30
MochaMind
dd9d512b9b chore: Danish translations 2026-05-04 10:44:32 +05:30
MochaMind
16f645dc9d chore: Czech translations 2026-05-04 10:44:30 +05:30
MochaMind
bbee7e0e0a chore: Arabic translations 2026-05-04 10:44:29 +05:30
MochaMind
2b648194e0 chore: Spanish translations 2026-05-04 10:44:27 +05:30
MochaMind
01f1b2bc6a chore: French translations 2026-05-04 10:44:25 +05:30
RitvikSardana
4a9c428f3c Merge pull request #3273 from frappe/pot_develop_2026-05-03
chore: update POT file
2026-05-04 10:37:49 +05:30
frappe-pr-bot
079f50508a chore: update POT file 2026-05-03 10:46:20 +00:00
RitvikSardana
0748c3fb4f Merge pull request #3272 from RitvikSardana/default-type
fix: dont always set default type
2026-05-02 14:10:59 +05:30
Ritvik Sardana
1aef41eba9 fix: dont change raised by if exists 2026-05-02 14:07:42 +05:30
Ritvik Sardana
c673db3ecd fix: dont always set default type 2026-05-02 14:05:07 +05:30
RitvikSardana
f0e5d194ee Merge pull request #3271 from RitvikSardana/priority-validation
fix: priority validation
2026-05-02 12:46:09 +05:30
Ritvik Sardana
43c7dfca05 fix: show only enabled priorities 2026-05-02 12:19:11 +05:30
Ritvik Sardana
1d9776aa5a fix: layout adjustment in ticket sidepanel 2026-05-02 12:08:07 +05:30
Ritvik Sardana
4acec85d40 fix: priority validation 2026-05-02 11:52:32 +05:30
RitvikSardana
c7f377367d Merge pull request #3267 from RitvikSardana/disable-priority
fix: add disabled field in ticket priority
2026-05-01 13:20:36 +05:30
RitvikSardana
4ad8769a77 Merge pull request #3268 from frappe/l10n_develop
chore: sync translations from crowdin
2026-05-01 12:30:25 +05:30
Ritvik Sardana
b7750f8172 chore: code cleanup 2026-05-01 12:28:43 +05:30
Ritvik Sardana
c29dba481b test: team and assignment rule creation 2026-05-01 12:25:00 +05:30
MochaMind
c66181a50d chore: Esperanto translations 2026-04-30 23:15:27 +05:30
MochaMind
c34a5ed7fd chore: Russian translations 2026-04-30 23:15:25 +05:30
MochaMind
2282bc310f chore: Serbian (Latin) translations 2026-04-30 23:15:24 +05:30
MochaMind
d5ccac5333 chore: Norwegian Bokmal translations 2026-04-30 23:15:22 +05:30
MochaMind
4cb8e00353 chore: Bosnian translations 2026-04-30 23:15:20 +05:30
MochaMind
c82e2030f2 chore: Burmese translations 2026-04-30 23:15:18 +05:30
MochaMind
6bd5307664 chore: Croatian translations 2026-04-30 23:15:16 +05:30
MochaMind
52668e07b7 chore: Thai translations 2026-04-30 23:15:14 +05:30
MochaMind
cdfc59df2e chore: Persian translations 2026-04-30 23:15:12 +05:30
MochaMind
805c400798 chore: Indonesian translations 2026-04-30 23:15:10 +05:30
MochaMind
50d745c29f chore: Portuguese, Brazilian translations 2026-04-30 23:15:09 +05:30
MochaMind
85df9cbba9 chore: Vietnamese translations 2026-04-30 23:15:07 +05:30
MochaMind
29251e84fb chore: Chinese Simplified translations 2026-04-30 23:15:04 +05:30
MochaMind
801394b84b chore: Turkish translations 2026-04-30 23:15:02 +05:30
MochaMind
8ece98ff2e chore: Swedish translations 2026-04-30 23:15:00 +05:30
MochaMind
66c925150e chore: Serbian (Cyrillic) translations 2026-04-30 23:14:59 +05:30
MochaMind
20f6071b95 chore: Slovenian translations 2026-04-30 23:14:57 +05:30
MochaMind
c543cb1c88 chore: Portuguese translations 2026-04-30 23:14:55 +05:30
MochaMind
aa91da426e chore: Polish translations 2026-04-30 23:14:53 +05:30
MochaMind
d3819bc77e chore: Dutch translations 2026-04-30 23:14:51 +05:30
MochaMind
9869ffa2b5 chore: Italian translations 2026-04-30 23:14:49 +05:30
MochaMind
3fd6a01d58 chore: Hungarian translations 2026-04-30 23:14:48 +05:30
MochaMind
2f5ed0760e chore: German translations 2026-04-30 23:14:46 +05:30
MochaMind
e87dc69716 chore: Danish translations 2026-04-30 23:14:44 +05:30
MochaMind
557dc5b914 chore: Czech translations 2026-04-30 23:14:42 +05:30
MochaMind
676a44820e chore: Arabic translations 2026-04-30 23:14:40 +05:30
MochaMind
a896503b68 chore: Spanish translations 2026-04-30 23:14:39 +05:30
MochaMind
cd3f23df2a chore: French translations 2026-04-30 23:14:37 +05:30
Ritvik Sardana
c3e496ff4a test: setting ticket_type in hd_ticket 2026-04-30 20:50:08 +05:30
Ritvik Sardana
d2ee2ea9f2 fix: add disable field in ticket priority 2026-04-30 20:02:47 +05:30
Sydney
e9203d21fc fix: allow sending mails only with bcc & cc in frontend 2026-04-30 17:25:41 +05:30
Sydney
13357c7b77 fix: remove ticket raised_by fallback for to mails 2026-04-30 17:25:08 +05:30
RitvikSardana
917b3b3ff0 Merge pull request #2821 from KerollesFathy/ci/setup-semantic-release
ci: setup semantic-release gh workflow
2026-04-30 11:04:16 +05:30
RitvikSardana
5b11590a28 Merge pull request #3249 from frappe/pot_develop_2026-04-26
chore: update POT file
2026-04-30 10:25:29 +05:30
RitvikSardana
8bc7021a6f Merge branch 'develop' into pot_develop_2026-04-26 2026-04-30 10:23:49 +05:30
RitvikSardana
c7752c1100 Merge pull request #3219 from frappe/pot_develop_2026-04-19
chore: update POT file
2026-04-30 10:16:33 +05:30
RitvikSardana
95ad921f49 Merge branch 'develop' into pot_develop_2026-04-19 2026-04-30 10:15:49 +05:30
RitvikSardana
ad73fa05c7 Merge pull request #3212 from frappe/pot_develop_2026-04-12
chore: update POT file
2026-04-30 10:11:13 +05:30
RitvikSardana
8f88be70cb Merge pull request #3202 from frappe/l10n_develop
chore: sync translations from crowdin
2026-04-30 09:51:34 +05:30
Sydney Gomes
32266df424 Merge pull request #3151 from aerodeval/fix/agent-assign-bug
fix: add mandatory agent check for agent actions
2026-04-29 23:09:34 +05:30
Sydney Gomes
9a5f15d907 Merge pull request #3260 from aerodeval/fix-home-dropdown
fix: broken dropdowns in home page
2026-04-29 22:32:51 +05:30
Sydney
3ca26f4526 fix: broken dropdowns in home page 2026-04-29 22:26:58 +05:30
Sydney Gomes
25140f102f Merge pull request #3256 from aerodeval/fix-cached-email-storage
fix: avoid saving signature in cache of email content
2026-04-28 20:40:45 +05:30
Sydney
fce59cfbae fix: avoid saving signature in cache of email content 2026-04-28 20:35:51 +05:30
Sydney Gomes
be2df0416a Merge pull request #3253 from aerodeval/fix-ticket-views-dropdown
fix: update breadcrumbs dropdown code to use new dropdown slots from fui
2026-04-28 16:32:20 +05:30
Sydney
3e06d66288 fix: border-radius for hover button 2026-04-28 16:30:59 +05:30
Sydney
cd53d89ef2 fix: add more menu dropdown in list item 2026-04-28 16:15:45 +05:30
Sydney
88c47f4157 fix: update breadcrumbs dropdown code to use new dropdown slots from frappe ui 2026-04-28 14:48:59 +05:30
Sydney Gomes
f4f8b43255 Merge pull request #3252 from aerodeval/customer-portal-images
fix: keep image size intact in customer portal
2026-04-28 02:51:32 +05:30
Sydney
20a2ca833e fix: keep images intact in customer portal 2026-04-28 02:48:27 +05:30
Sydney Gomes
6f648f07db Merge pull request #3251 from aerodeval/reply-via-contact
fix: add message field allow reply via contact to show ticket message
2026-04-28 02:36:18 +05:30
Sydney
1bfa382d9d fix: ui inconsistency in text in Message header 2026-04-28 02:31:23 +05:30
Sydney
3e1a179767 fix: add message field allow reply via contact to show ticket message 2026-04-28 02:02:16 +05:30
RitvikSardana
d03c8d91ed Merge pull request #3248 from RitvikSardana/cleanup
chore: cleanup helpdesk UI
2026-04-26 23:43:29 +05:30
Ritvik Sardana
4f1617e9b6 fix: reactive relatedActivities 2026-04-26 23:38:57 +05:30
Ritvik Sardana
623ae16748 fix: remove content from local storage 2026-04-26 23:13:38 +05:30
Ritvik Sardana
24d846b00f fix: loading state of activities 2026-04-26 23:13:27 +05:30
Ritvik Sardana
47ca62e0f3 fix: filters length 2026-04-26 22:40:33 +05:30
Ritvik Sardana
8a8e4e4945 chore: upgrade frappe-ui 2026-04-26 22:40:33 +05:30
Ritvik Sardana
44dce9e36f fix: use new assignTo component for mobiel view 2026-04-26 22:40:33 +05:30
Ritvik Sardana
dc7b7ddebc chore: code cleanup 2026-04-26 22:40:33 +05:30
frappe-pr-bot
75da8a7880 chore: update POT file 2026-04-26 10:44:49 +00:00
RitvikSardana
82a81ffe7d Merge branch 'develop' into cleanup 2026-04-25 15:29:27 +05:30
Ritvik Sardana
f18e4c1656 chore: code cleanup 2026-04-25 14:09:56 +05:30
Ritvik Sardana
ccd8185f59 fix: mobile view cleanup 2026-04-25 14:09:56 +05:30
Ritvik Sardana
308c6613d8 fix: add log for closing tickets 2026-04-25 14:09:56 +05:30
Sydney
569c26d18b chore: code cleanup 2026-04-25 14:08:33 +05:30
Sydney
bc05cadbc2 fix: add saved replies before signature and fix cursor position 2026-04-25 14:08:33 +05:30
Sydney Gomes
479850f32e feat: email signature (#3188)
* fix: add email signature in frontend

* feat: add email signature in profile frontend

* fix: improve fetching code

* fix: simplfy and improve dirty state handling for signature

* fix: cursor placement bugs and improve editor experience

* fix: remove tiptap focus on end of content code

* fix: remove strict image styles after parsing of image in email content and improve signature editor

* refactor: improve profile section and add preferences section in settings modal

* fix: add autocomplete in place of combobox

* fix: move preferences back to profile and add transitions for badges

* fix: add null check guards and maintain consistency

* fix: remove duplicated code

* fix: keep correct sender in communications and add switching of from email through editor

* fix: add fallback for from as session user if no from mail is found

* fix: expand content on select all for replied content

* fix: add back email content css

* fix: resolve bugs and use email doctype for sender name

* fix: linter issues

* fix: copy changes

* fix: add loading states for button inputs

* fix: use from email through useStorage

* fix: improve code quality

* fix: code cleanup

* fix: add type select back to form control

* fix: sender email bug

* fix: give preference to user info while display communication name

* fix: improve code quality and sync from emails without reload

* fix: use div instead of button for notifications panel

* fix: flicker while selecting from mail

* fix: remove extra padding

* fix: improve dirty badge state in Email Preferences

* fix: reduce number of calls made for emails

* fix: spacing between like and dislike buttons

* fix: improve from email mapping logic and ui fixes
2026-04-25 14:08:33 +05:30
Sydney
b63d026edc fix: spacing between like and dislike buttons 2026-04-25 14:08:33 +05:30
Sydney
980666cc8f fix: article layouting 2026-04-25 14:08:33 +05:30
Sydney
07b72bb47e fix: mobile issues where text was misalligned and agent response was missing 2026-04-25 14:08:33 +05:30
Ritvik Sardana
16d0675ee0 fix: better copy 2026-04-25 13:59:46 +05:30
Ritvik Sardana
374e9252f7 fix: add log for closing tickets 2026-04-25 13:44:17 +05:30
Sydney Gomes
533cb18d09 Merge pull request #3247 from aerodeval/fix-sign-saved-reply
fix: add saved replies before signature and fix cursor position
2026-04-24 23:11:36 +05:30
Sydney
c0b05f9a34 chore: code cleanup 2026-04-24 23:06:06 +05:30
Sydney
3c44b626ab fix: add saved replies before signature and fix cursor position 2026-04-24 23:03:19 +05:30
Harish Chandran
6811819475 Merge remote-tracking branch 'upstream/develop' into feat/dark-mode 2026-04-24 19:35:35 +05:30
Harish Chandran
e17b8f8b85 fix: reviews real chart bars/axis use CSS variables and re-compute on toggle 2026-04-24 19:01:50 +05:30
Harish Chandran
1a24056c04 fix: stacked avatar ring/border use surface-white CSS var so it flips with theme 2026-04-24 18:54:25 +05:30
Harish Chandran
4768111d59 fix: propagate theme toggles into email iframe without reload 2026-04-24 18:47:57 +05:30
Harish Chandran
ee4d54e5ad fix: strip color-related inline styles from email HTML so the iframe theme drives readability 2026-04-24 18:45:00 +05:30
Sydney Gomes
91c175fcad feat: email signature (#3188)
* fix: add email signature in frontend

* feat: add email signature in profile frontend

* fix: improve fetching code

* fix: simplfy and improve dirty state handling for signature

* fix: cursor placement bugs and improve editor experience

* fix: remove tiptap focus on end of content code

* fix: remove strict image styles after parsing of image in email content and improve signature editor

* refactor: improve profile section and add preferences section in settings modal

* fix: add autocomplete in place of combobox

* fix: move preferences back to profile and add transitions for badges

* fix: add null check guards and maintain consistency

* fix: remove duplicated code

* fix: keep correct sender in communications and add switching of from email through editor

* fix: add fallback for from as session user if no from mail is found

* fix: expand content on select all for replied content

* fix: add back email content css

* fix: resolve bugs and use email doctype for sender name

* fix: linter issues

* fix: copy changes

* fix: add loading states for button inputs

* fix: use from email through useStorage

* fix: improve code quality

* fix: code cleanup

* fix: add type select back to form control

* fix: sender email bug

* fix: give preference to user info while display communication name

* fix: improve code quality and sync from emails without reload

* fix: use div instead of button for notifications panel

* fix: flicker while selecting from mail

* fix: remove extra padding

* fix: improve dirty badge state in Email Preferences

* fix: reduce number of calls made for emails

* fix: spacing between like and dislike buttons

* fix: improve from email mapping logic and ui fixes
2026-04-24 17:05:36 +05:30
Harish Chandran
8b2db21839 fix: shared dataTheme ref so JS-driven charts re-run on toggle 2026-04-24 16:58:36 +05:30
Ritvik Sardana
3ef7b18fe6 fix: add column resize 2026-04-24 16:30:08 +05:30
Ritvik Sardana
3a8a5d9724 fix: show error always 2026-04-24 11:39:33 +05:30
Ritvik Sardana
670cc182a9 fix: warnings in ticket view 2026-04-24 11:05:53 +05:30
Harish Chandran
188f1664cf fix: RecentFeedback empty-state placeholder bars and axis use CSS variables 2026-04-24 09:47:42 +05:30
Harish Chandran
f0ee9e8caa fix: chart colors in AvgTimeMetrics use CSS variables and recompute on theme toggle 2026-04-24 09:24:18 +05:30
Harish Chandran
d3c6b6f68a fix: use surface-selected for active sidebar tabs so they contrast in both modes 2026-04-24 09:05:58 +05:30
Harish Chandran
3008f9a9c3 fix: switch hardcoded fill colors to currentColor in custom icons 2026-04-24 08:59:09 +05:30
Harish Chandran
d0a4631dfd fix: make ComboboxInput backgrounds transparent so they flip with theme 2026-04-24 08:55:57 +05:30
Harish Chandran
03c069c40e fix: thumbs icons use currentColor + KB article title uses bg-transparent 2026-04-24 08:14:31 +05:30
Harish Chandran
cae08a7fcd fix: move theme toggle from profile to user dropdown 2026-04-24 08:12:30 +05:30
Sydney Gomes
649858cf1d Merge pull request #3242 from aerodeval/fix-article-title
fix: article layouting
2026-04-24 03:08:44 +05:30
Sydney
1fbf122261 fix: spacing between like and dislike buttons 2026-04-24 03:04:08 +05:30
Sydney
38e5f06913 fix: article layouting 2026-04-24 02:59:32 +05:30
Harish Chandran
a6d04d4281 fix: drop redundant bg-surface-white on search Input labels so corners don't bleed 2026-04-23 20:12:40 +05:30
Harish Chandran
1856449815 feat: add theme switcher (Light/Dark/System) to Profile settings 2026-04-23 19:50:23 +05:30
Sydney Gomes
37ab5233a8 Merge pull request #3241 from aerodeval/fix/mobile-issues
fix: mobile ui issues
2026-04-23 19:46:40 +05:30
Harish Chandran
41d3222eba feat: initialize theme on app mount via frappe-ui useTheme 2026-04-23 18:57:09 +05:30
Harish Chandran
4791dabde7 feat: replace bg-black/text-black with surface-gray-7/ink-gray-9 semantics 2026-04-23 18:48:42 +05:30
Harish Chandran
0165d0f1ae feat: swap remaining bg-gray-400 indicators and bg-gray-600 overlay for exact ink-gray semantics 2026-04-23 18:39:25 +05:30
Harish Chandran
634247f6db feat: replace remaining border-gray-100 with semantic outline token 2026-04-23 17:27:05 +05:30
Harish Chandran
c928c45c6b feat: replace hardcoded gray border in Autocomplete subtle variant 2026-04-23 17:24:25 +05:30
Harish Chandran
bccb862a16 feat: add semantic page background and color-scheme 2026-04-23 16:52:17 +05:30
Sydney
7bccf8e3e0 fix: mobile issues where text was misalligned and agent response was missing 2026-04-23 16:47:06 +05:30
Harish Chandran
de0edefbd7 feat: apply update-tailwind-classes script 2026-04-23 16:21:06 +05:30
RitvikSardana
209e87c8b6 Merge pull request #3232 from RitvikSardana/fix/reply-broken
fix: use v-show instead of v-if
2026-04-23 09:28:06 +05:30
Ritvik Sardana
03e32cf5a2 fix: use v-show instead of v-if 2026-04-23 09:25:47 +05:30
RitvikSardana
94149406c9 Merge pull request #3231 from RitvikSardana/fix/saved-reply
fix: apply saved reply on the email editor
2026-04-23 00:43:21 +05:30
Ritvik Sardana
767fdef7b9 fix: apply saved reply on the email editor 2026-04-23 00:33:42 +05:30
MochaMind
2cc25cdc6a chore: Burmese translations 2026-04-22 22:49:17 +05:30
MochaMind
8e7ae52bd8 chore: Persian translations 2026-04-22 22:49:14 +05:30
MochaMind
207970f51f chore: Indonesian translations 2026-04-22 22:49:12 +05:30
MochaMind
05e6a2ab8f chore: Portuguese, Brazilian translations 2026-04-22 22:49:10 +05:30
MochaMind
7079d22504 chore: Turkish translations 2026-04-22 22:49:06 +05:30
MochaMind
7591625336 chore: Slovenian translations 2026-04-22 22:49:04 +05:30
MochaMind
ff6f299b6b chore: Portuguese translations 2026-04-22 22:49:02 +05:30
MochaMind
cbf3acdd02 chore: Polish translations 2026-04-22 22:49:00 +05:30
MochaMind
16e3cf109b chore: Dutch translations 2026-04-22 22:48:58 +05:30
MochaMind
a58c2ff9b1 chore: Italian translations 2026-04-22 22:48:56 +05:30
MochaMind
6d1b35afa5 chore: Danish translations 2026-04-22 22:48:53 +05:30
MochaMind
4a00bcaec9 chore: Czech translations 2026-04-22 22:48:51 +05:30
MochaMind
b072a11c3e chore: French translations 2026-04-22 22:48:48 +05:30
RitvikSardana
6f3270952d Merge pull request #3230 from RitvikSardana/fix/ticket-title
fix: ticket title
2026-04-22 18:04:13 +05:30
Ritvik Sardana
ce4c09bf39 fix: ticket title 2026-04-22 18:01:43 +05:30
RitvikSardana
b6a749f0e9 Merge pull request #3229 from RitvikSardana/fix/list-status
fix: indicator color
2026-04-22 17:44:02 +05:30
Ritvik Sardana
5275aa94ba fix: indicator color 2026-04-22 17:43:17 +05:30
RitvikSardana
1b3189b83b Merge pull request #3228 from RitvikSardana/fix/ui-ticketview
fix(ticket-view): padding and font
2026-04-22 17:40:29 +05:30
Ritvik Sardana
f9e920ce37 fix(ticket-view): padding and font 2026-04-22 17:39:21 +05:30
RitvikSardana
b761ac266a Merge pull request #3224 from RitvikSardana/fix/sidebar-field
fix(ticketAgent): sidepanel and reply icons
2026-04-22 17:37:11 +05:30
Ritvik Sardana
c885e66366 fix: edit customer dialog 2026-04-22 14:44:36 +05:30
Ritvik Sardana
c749fb52d7 fix: indicator icon size 2026-04-22 13:23:46 +05:30
Ritvik Sardana
36417e2b81 fix: better way to show reply buttons 2026-04-22 12:14:32 +05:30
Ritvik Sardana
405a0acffe fix: show activity header only for calls 2026-04-22 12:11:35 +05:30
Ritvik Sardana
9468c830be fix: animation in communication area 2026-04-22 12:02:18 +05:30
Ritvik Sardana
3913f4bbb4 fix: dont show border when not needed 2026-04-22 11:48:57 +05:30
Ritvik Sardana
9f7407869f fix: unwanted backend calls 2026-04-22 11:32:02 +05:30
Ritvik Sardana
c41ed00541 fix: loading state of activities 2026-04-22 01:26:54 +05:30
Ritvik Sardana
f2040c931f fix: assign message 2026-04-22 00:10:19 +05:30
RitvikSardana
a0249173d2 chore: version bump 2026-04-21 23:50:16 +05:30
RitvikSardana
4f8aaa07f9 Merge pull request #3223 from netchampfaris/fix/app-visibility-for-helpdesk
fix: restrict Helpdesk app visibility by role
2026-04-21 22:39:40 +05:30
Ritvik Sardana
51824e90ff chore: code cleanup 2026-04-21 22:34:54 +05:30
Ritvik Sardana
3cdad35ae6 fix: hover state 2026-04-21 22:29:20 +05:30
Ritvik Sardana
62027ba60e fix: sidepanel styles 2026-04-21 20:42:56 +05:30
Ritvik Sardana
874609f674 chore: code cleanup 2026-04-21 20:20:20 +05:30
Ritvik Sardana
72d8bae552 fix: dont show unnecessary fields in sidebar 2026-04-21 20:19:41 +05:30
Ritvik Sardana
3b1bfdb02a refactor: ticket side panel design 2026-04-21 19:30:40 +05:30
Ritvik Sardana
75c3b4845e fix: email icon color 2026-04-21 18:02:33 +05:30
Ritvik Sardana
d24e30ec28 fix: spacing in reply buttons 2026-04-21 17:53:00 +05:30
Ritvik Sardana
6d8fd5435e fix: activity header dropdown placement 2026-04-21 17:42:09 +05:30
Ritvik Sardana
1c184f8339 fix: icon width 2026-04-21 17:38:25 +05:30
Faris Ansari
d8181027d3 fix: restrict helpdesk app visibility by role 2026-04-21 16:39:19 +05:30
Ritvik Sardana
5395cf92ee fix: navigate to contact from ticket view 2026-04-20 10:54:30 +05:30
RitvikSardana
5a1a06f6fe Merge pull request #3221 from RitvikSardana/placeholder-color
fix: placeholder color
2026-04-20 09:16:13 +05:30
Ritvik Sardana
0932744558 fix: placeholder color 2026-04-19 23:59:31 +05:30
Sydney Gomes
934029a094 Merge pull request #3211 from aerodeval/text-clear-formatting
fix: add clear formatting utility in text editor
2026-04-19 21:56:41 +05:30
Sydney
0aab4f694f fix: add extenstion for text editor used in customer portal 2026-04-19 21:38:53 +05:30
Sydney
dc40aab97a fix: reorganise utilities in customer ticket portal 2026-04-19 21:30:34 +05:30
Sydney
d9c6992a73 fix: improve grouping of editor utilities 2026-04-19 21:18:15 +05:30
frappe-pr-bot
5ee0d85dfc chore: update POT file 2026-04-19 10:44:04 +00:00
MochaMind
4b970831b3 chore: Indonesian translations 2026-04-18 21:03:13 +05:30
MochaMind
255662d424 chore: Portuguese, Brazilian translations 2026-04-18 21:03:12 +05:30
MochaMind
b7112f939f chore: Portuguese translations 2026-04-18 21:03:11 +05:30
MochaMind
28fc229779 chore: Polish translations 2026-04-18 21:03:10 +05:30
MochaMind
6583968b20 chore: Italian translations 2026-04-18 21:03:08 +05:30
MochaMind
d25f12e666 chore: Danish translations 2026-04-18 21:03:07 +05:30
MochaMind
650275150a chore: French translations 2026-04-18 21:03:06 +05:30
Ritvik Sardana
073b60e81b fix: add new contact dialog and composable 2026-04-18 14:57:09 +05:30
Ritvik Sardana
40ba332b1b refactor: customer composable 2026-04-18 14:56:53 +05:30
Ritvik Sardana
8c61c76b4d refactor: add local cache in customer composable 2026-04-18 14:56:53 +05:30
Ritvik Sardana
b8719928da fix: unlink contact from customers 2026-04-18 14:56:32 +05:30
Ritvik Sardana
2609ba9288 fix: delete contact 2026-04-18 14:56:32 +05:30
Ritvik Sardana
81a9f2b1e8 fix: add analytics in contact page
remove email domain linking & hd_customer custom list view perm
2026-04-18 14:56:32 +05:30
Ritvik Sardana
4e64064326 fix: add ticket tab in contact page 2026-04-18 14:56:32 +05:30
Ritvik Sardana
2eafe03235 fix: add contact page 2026-04-18 14:56:32 +05:30
Ritvik Sardana
c291d3be7a fix: edit dialog of customer 2026-04-18 14:55:20 +05:30
Ritvik Sardana
f2efa32681 fix(patch): for moving contact dynamic link to HD Customer contact 2026-04-18 14:47:52 +05:30
Ritvik Sardana
ea8991cdf5 chore: remove old doctypes 2026-04-18 14:47:52 +05:30
Ritvik Sardana
5367cf144d chore: remove old doctypes 2026-04-18 14:47:52 +05:30
Ritvik Sardana
589210319f fix(patch): handle customer and customer manager roles and default perms 2026-04-18 14:47:52 +05:30
Ritvik Sardana
0bb2416e03 test: add test cases for contact in org and multiple orgs 2026-04-18 14:46:49 +05:30
Ritvik Sardana
9892332d2d fix(styles): contact card 2026-04-18 14:45:52 +05:30
Ritvik Sardana
dabe8c7915 feat: add customer analytics 2026-04-18 14:45:52 +05:30
Ritvik Sardana
6ba0837025 chore: code cleanup 2026-04-18 14:45:52 +05:30
Ritvik Sardana
5752a78f40 chore: bump frappe-ui version 2026-04-18 14:45:52 +05:30
Ritvik Sardana
57f854edec fix: show last seen instead of last modified 2026-04-18 14:43:33 +05:30
Ritvik Sardana
c41f6eab4d fix(styles): customer form 2026-04-18 14:43:04 +05:30
Ritvik Sardana
a20e0441a7 fix(patch): custom field in user invitation
Also renames custom_customer to customer
2026-04-18 14:43:04 +05:30
Ritvik Sardana
6e14cd51e9 fix: icon prefix in country 2026-04-18 14:43:04 +05:30
Ritvik Sardana
aa401ad6ca fix: auto fetch user's country 2026-04-18 14:43:04 +05:30
Ritvik Sardana
b8955f18b8 fix: improve revoke animation in pendingInvitesModal 2026-04-18 14:43:04 +05:30
Ritvik Sardana
a9344cde32 fix: remove website field 2026-04-18 14:43:04 +05:30
Ritvik Sardana
c23db5d052 fix(styles): ticket list view 2026-04-18 14:43:04 +05:30
Ritvik Sardana
8581cfdab7 fix: show submenu in dropdown for roles 2026-04-18 14:43:04 +05:30
Ritvik Sardana
a8315dc0f7 fix: improve ticket tab UI 2026-04-18 14:43:04 +05:30
Ritvik Sardana
75f4bcf155 fix: add ticket tab UI 2026-04-18 14:43:04 +05:30
Ritvik Sardana
54d1941bc8 fix(styles): edit and new customer dialog 2026-04-18 14:43:04 +05:30
Ritvik Sardana
a03dd4894c fix: styling in component 2026-04-18 14:42:31 +05:30
Ritvik Sardana
c01896d58c fix: add TagInput for inviting new contacts 2026-04-18 14:42:31 +05:30
Ritvik Sardana
d61abef91e fix: new contact invitation flow 2026-04-18 14:42:31 +05:30
Ritvik Sardana
be33dd85e7 fix: modal for inviting new contacts 2026-04-18 14:42:31 +05:30
Ritvik Sardana
83326a2c3d feat: add existing contact flow 2026-04-18 14:42:31 +05:30
Ritvik Sardana
48b2a1eb6b fix: contacts tab 2026-04-18 14:42:07 +05:30
Ritvik Sardana
5dd33bb455 chore: code cleanup 2026-04-18 14:40:17 +05:30
Ritvik Sardana
b14f28c509 fix: improve ContactCard 2026-04-18 14:40:17 +05:30
Ritvik Sardana
8f321e5687 fix: add contacts tab 2026-04-18 14:40:17 +05:30
Ritvik Sardana
aeda7f8532 refactor: hd_customer doctype 2026-04-18 14:40:17 +05:30
MochaMind
ff16b9dea7 chore: Burmese translations 2026-04-17 20:22:09 +05:30
MochaMind
67778b4022 chore: Persian translations 2026-04-17 20:22:06 +05:30
MochaMind
5a71390b3d chore: Indonesian translations 2026-04-17 20:22:05 +05:30
MochaMind
823a3772fe chore: Portuguese, Brazilian translations 2026-04-17 20:22:03 +05:30
MochaMind
bfdce5a65c chore: Turkish translations 2026-04-17 20:22:01 +05:30
MochaMind
56ea1c109d chore: Slovenian translations 2026-04-17 20:21:59 +05:30
MochaMind
ae646e71d9 chore: Portuguese translations 2026-04-17 20:21:58 +05:30
MochaMind
210e96452b chore: Polish translations 2026-04-17 20:21:57 +05:30
MochaMind
a9cb7597d6 chore: Italian translations 2026-04-17 20:21:55 +05:30
MochaMind
d2120fdf62 chore: Hungarian translations 2026-04-17 20:21:54 +05:30
MochaMind
7d9ed7dfe6 chore: Danish translations 2026-04-17 20:21:52 +05:30
MochaMind
f770dedb7f chore: Czech translations 2026-04-17 20:21:51 +05:30
MochaMind
d541ef0980 chore: French translations 2026-04-17 20:21:49 +05:30
MochaMind
2e6a271561 chore: Burmese translations 2026-04-16 20:11:05 +05:30
MochaMind
fa672a3e8b chore: Persian translations 2026-04-16 20:11:02 +05:30
MochaMind
208ee525b7 chore: Indonesian translations 2026-04-16 20:11:00 +05:30
MochaMind
8ac14bb462 chore: Portuguese, Brazilian translations 2026-04-16 20:10:59 +05:30
MochaMind
f1a973b1c6 chore: Vietnamese translations 2026-04-16 20:10:57 +05:30
MochaMind
a7a974b41e chore: Turkish translations 2026-04-16 20:10:55 +05:30
MochaMind
5a2646d951 chore: Slovenian translations 2026-04-16 20:10:53 +05:30
MochaMind
9d9570fd71 chore: Portuguese translations 2026-04-16 20:10:52 +05:30
MochaMind
86b5ca7b79 chore: Polish translations 2026-04-16 20:10:50 +05:30
MochaMind
616f1ccb09 chore: Dutch translations 2026-04-16 20:10:49 +05:30
MochaMind
155d4d4932 chore: Italian translations 2026-04-16 20:10:47 +05:30
MochaMind
1eaaf2f58e chore: Danish translations 2026-04-16 20:10:44 +05:30
MochaMind
de60d726c1 chore: Czech translations 2026-04-16 20:10:43 +05:30
MochaMind
00ac7b9c9d chore: Spanish translations 2026-04-16 20:10:40 +05:30
MochaMind
571373bd0c chore: French translations 2026-04-16 20:10:39 +05:30
MochaMind
090cceca70 chore: Burmese translations 2026-04-15 20:01:26 +05:30
MochaMind
a9975abb12 chore: Persian translations 2026-04-15 20:01:23 +05:30
MochaMind
b7cd6c1b11 chore: Indonesian translations 2026-04-15 20:01:22 +05:30
MochaMind
d1c76d940d chore: Portuguese, Brazilian translations 2026-04-15 20:01:20 +05:30
MochaMind
6abc29f5f0 chore: Vietnamese translations 2026-04-15 20:01:19 +05:30
MochaMind
37e472c377 chore: Turkish translations 2026-04-15 20:01:16 +05:30
MochaMind
0b24d4481e chore: Slovenian translations 2026-04-15 20:01:15 +05:30
MochaMind
7c631a47d2 chore: Portuguese translations 2026-04-15 20:01:13 +05:30
MochaMind
8a3f31b37a chore: Polish translations 2026-04-15 20:01:11 +05:30
MochaMind
e900050d5b chore: Italian translations 2026-04-15 20:01:09 +05:30
MochaMind
826cebc1c8 chore: Danish translations 2026-04-15 20:01:06 +05:30
MochaMind
b245b67999 chore: Czech translations 2026-04-15 20:01:04 +05:30
MochaMind
e8d40fb369 chore: French translations 2026-04-15 20:01:01 +05:30
Sydney Gomes
b252c68072 Merge pull request #3218 from aerodeval/bump-fui
chore: bump fui
2026-04-15 19:59:25 +05:30
RitvikSardana
38ddf58a5f Merge pull request #3199 from RitvikSardana/ui-fixes2
fix: UI inconsistency in ticket view
2026-04-15 16:37:59 +05:30
Sydney
003e90d369 fix: update frappe ui to latest version 2026-04-15 12:51:28 +05:30
Sydney Gomes
a59fa105de Merge pull request #3215 from aerodeval/fix-email-threading
fix: handle missing headers in email threading
2026-04-14 19:59:41 +05:30
MochaMind
9106b8cf2f chore: Thai translations 2026-04-14 19:47:58 +05:30
Sydney
11c8e281d8 fix: improve logic for threading and cleanup code 2026-04-14 13:06:54 +05:30
Ritvik Sardana
d2fd934b5e fix: spacing in SLA 2026-04-13 22:42:54 +05:30
Ritvik Sardana
bf1f9307df chore: code cleanup 2026-04-13 22:10:37 +05:30
Sydney
3257a438f6 fix: handle forwarded and missing headers in email threading 2026-04-13 14:04:49 +05:30
Ritvik Sardana
5b539f090d fix: better time display in Datetime fields 2026-04-12 23:32:03 +05:30
Ritvik Sardana
08efce2d30 chore: inject using '!' 2026-04-12 23:17:00 +05:30
Ritvik Sardana
2375838424 chore: update AGENTS.md 2026-04-12 22:32:23 +05:30
MochaMind
2c718daf3c chore: Croatian translations 2026-04-12 19:35:52 +05:30
frappe-pr-bot
171e92ce23 chore: update POT file 2026-04-12 10:43:52 +00:00
Ritvik Sardana
19fd0b1684 fix: component styling 2026-04-11 17:51:47 +05:30
Ritvik Sardana
d477d790d1 fix: styling contact tab 2026-04-11 17:03:04 +05:30
Ritvik Sardana
17c6c35ea9 fix: spellings 2026-04-11 16:33:46 +05:30
Ritvik Sardana
58d2ba2622 fix: email styles 2026-04-11 13:57:30 +05:30
Ritvik Sardana
832ed56213 fix: editor styling 2026-04-11 13:51:41 +05:30
Ritvik Sardana
cc6ef6637f fix: alignment in editor, activity, listview & sidebar 2026-04-11 13:42:18 +05:30
MochaMind
dfccb2f813 chore: Swedish translations 2026-04-10 19:34:57 +05:30
Sydney
3a6798d6b0 chore: improve formatting of css code 2026-04-10 17:48:45 +05:30
Sydney
fd1ff8fffd fix: add stricter selection for pre tags 2026-04-10 17:47:07 +05:30
Sydney
3fac3ab859 feat: add clear formatting utility for all text editor based components 2026-04-10 17:32:35 +05:30
Sydney
2b9209a859 fix: add proper direction handling based on text and fix pre tag bugs 2026-04-10 17:20:43 +05:30
Ritvik Sardana
92165a04a6 chore: code cleanup 2026-04-09 11:44:25 +05:30
Ritvik Sardana
a269b3d6e9 fix: import function 2026-04-09 11:40:43 +05:30
Ritvik Sardana
4f9e2a25d5 fix: user full name in assign dropdown 2026-04-09 11:39:13 +05:30
Ritvik Sardana
2d152662cf chore: code cleanup 2026-04-09 11:08:10 +05:30
Ritvik Sardana
aaf1a2973e fix: subject cut in Ticket View 2026-04-09 10:09:22 +05:30
Ritvik Sardana
233859cb8d fix: alignment in timeline 2026-04-09 03:23:10 +05:30
Ritvik Sardana
12c46e576c chore: remove duplicate code 2026-04-09 03:12:34 +05:30
Ritvik Sardana
1e1a345bfa fix: editor styles 2026-04-09 02:43:02 +05:30
Ritvik Sardana
47885e1d90 fix: add new assignTo component 2026-04-09 02:42:45 +05:30
Ritvik Sardana
89f7b26703 fix: breadcrumbs padding 2026-04-09 00:45:25 +05:30
Ritvik Sardana
b6eabf0d53 fix: layout shift when toggle between contact and details tab 2026-04-09 00:00:20 +05:30
Pratik
fcf773d077 fix: update_default_views bug 2026-04-08 12:20:00 +05:30
Pratik
bc23f61970 fix: improve update function 2026-04-08 12:15:03 +05:30
Pratik
431795036f Merge remote-tracking branch 'upstream/develop' into fix/agent-landing-page-bugs 2026-04-08 12:07:58 +05:30
Pratik
e56b8fb99c fix: default view filters 2026-04-08 12:05:07 +05:30
MochaMind
0a40369688 chore: German translations 2026-04-07 18:59:02 +05:30
Sydney Gomes
5ad32a69ad Merge pull request #3206 from aerodeval/fix-fiter-bug
fix:  filter unexpected behaviour and view routing
2026-04-07 17:24:20 +05:30
Sydney
c780b3b60f fix: remove row click routing to ticket 2026-04-07 16:38:50 +05:30
Sydney
e0c04bcc41 fix: revert a11y code added for tab navigation in list view 2026-04-07 12:14:39 +05:30
Ritvik Sardana
dff9c1620c fix(styles): email and comment box 2026-04-06 19:33:12 +05:30
MochaMind
a460667826 chore: Esperanto translations 2026-04-06 18:41:30 +05:30
MochaMind
e56454ed41 chore: Russian translations 2026-04-06 18:41:29 +05:30
MochaMind
ca5cb4677a chore: Serbian (Latin) translations 2026-04-06 18:41:28 +05:30
MochaMind
ae19aaf296 chore: Norwegian Bokmal translations 2026-04-06 18:41:26 +05:30
MochaMind
45710b3af1 chore: Bosnian translations 2026-04-06 18:41:25 +05:30
MochaMind
4b66df45fc chore: Burmese translations 2026-04-06 18:41:23 +05:30
MochaMind
e1e6975728 chore: Croatian translations 2026-04-06 18:41:22 +05:30
MochaMind
c1adfa0c5d chore: Thai translations 2026-04-06 18:41:21 +05:30
MochaMind
689a0a36e0 chore: Persian translations 2026-04-06 18:41:19 +05:30
MochaMind
edacc94a74 chore: Indonesian translations 2026-04-06 18:41:17 +05:30
MochaMind
c72fddfea0 chore: Portuguese, Brazilian translations 2026-04-06 18:41:16 +05:30
MochaMind
aaf6e8c8f0 chore: Vietnamese translations 2026-04-06 18:41:15 +05:30
MochaMind
f8c92eaece chore: Chinese Simplified translations 2026-04-06 18:41:13 +05:30
MochaMind
e4f4294601 chore: Turkish translations 2026-04-06 18:41:12 +05:30
MochaMind
bb3a2f75c5 chore: Swedish translations 2026-04-06 18:41:10 +05:30
MochaMind
1f19dbd72c chore: Serbian (Cyrillic) translations 2026-04-06 18:41:08 +05:30
MochaMind
c4c39d30ec chore: Slovenian translations 2026-04-06 18:41:07 +05:30
MochaMind
1e3dd15269 chore: Portuguese translations 2026-04-06 18:41:06 +05:30
MochaMind
3a76af7b46 chore: Polish translations 2026-04-06 18:41:04 +05:30
MochaMind
ae91fde698 chore: Dutch translations 2026-04-06 18:41:03 +05:30
MochaMind
1a758ac4a2 chore: Italian translations 2026-04-06 18:41:02 +05:30
MochaMind
588d5624d2 chore: Hungarian translations 2026-04-06 18:41:00 +05:30
MochaMind
c26e1ba9b8 chore: German translations 2026-04-06 18:40:59 +05:30
MochaMind
cb184d6301 chore: Danish translations 2026-04-06 18:40:58 +05:30
MochaMind
80cccf6864 chore: Czech translations 2026-04-06 18:40:57 +05:30
MochaMind
69379c3560 chore: Arabic translations 2026-04-06 18:40:55 +05:30
MochaMind
9e56ae2e11 chore: Spanish translations 2026-04-06 18:40:54 +05:30
MochaMind
5c2b2f5e81 chore: French translations 2026-04-06 18:40:52 +05:30
Ritvik Sardana
544798207c fix: font-color in To 2026-04-06 17:55:57 +05:30
Sydney Gomes
b76d2571f9 Merge pull request #3175 from aerodeval/settings-menu-fix
fix: truncate text for translations in settings menu
2026-04-06 16:09:27 +05:30
Sydney
4b458035f0 fix: add translation for tooltip labels 2026-04-06 16:00:35 +05:30
RitvikSardana
6f585e367a Merge pull request #3065 from dankgarlic1/fix/missing-role-checks
fix: patch authorization and privilege escalation
2026-04-06 15:49:09 +05:30
Sydney
c3079c9061 fix: truncation bugs for mobile and sidebar 2026-04-06 15:48:11 +05:30
Ritvik Sardana
68e003526c fix: resizer in sidebar 2026-04-06 15:45:11 +05:30
Ritvik Sardana
9d12326136 fix(ticket-sidebar): fix layout overflow and field truncation in details tab 2026-04-06 15:36:15 +05:30
Ritvik Sardana
50c60fa24a fix: max height in side panel 2026-04-06 15:33:42 +05:30
Ritvik Sardana
af453a119c fix(vite): dedupe prosemirror packages to prevent duplicate instances with local frappe-ui 2026-04-06 15:00:35 +05:30
Ritvik Sardana
fb87a14638 fix(autocomplete): fix x button overlapping search input text 2026-04-06 14:49:28 +05:30
RitvikSardana
ce5bca182c Merge pull request #3187 from frappe/pot_develop_2026-04-05
chore: update POT file
2026-04-06 13:53:49 +05:30
RitvikSardana
42901f018d Merge pull request #3171 from frappe/l10n_develop
chore: sync translations from crowdin
2026-04-06 13:50:32 +05:30
RitvikSardana
6dc4d8ad97 Merge pull request #3192 from RitvikSardana/fix/iframe-click
fix: iframe click does not close popover
2026-04-06 13:13:25 +05:30
RitvikSardana
6e4d02b874 Merge pull request #3191 from RitvikSardana/workspace-setup
fix: new submodule setup
2026-04-06 13:12:30 +05:30
Ritvik Sardana
1716acc427 fix: iframe click does not close popover 2026-04-06 13:05:26 +05:30
Ritvik Sardana
b2ae6d8fc0 fix: new submodule setup 2026-04-06 12:59:20 +05:30
Sydney Gomes
a483967f00 Merge pull request #3176 from aerodeval/scrollbar-fix
fix: improve sidepanel scrollbar  and fix quick filters
2026-04-06 12:45:18 +05:30
Sydney Gomes
08a4c7746b Merge pull request #3178 from aerodeval/filter-debounce
fix: add debounce to filter component
2026-04-06 12:39:50 +05:30
frappe-pr-bot
11bfebe13f chore: update POT file 2026-04-05 10:43:45 +00:00
Sydney
a4ede50fa4 fix: add debounce to filters 2026-04-03 17:40:38 +05:30
MochaMind
bcb483fe57 chore: Bosnian translations 2026-04-03 17:23:04 +05:30
MochaMind
4669332bc9 chore: Croatian translations 2026-04-03 17:23:02 +05:30
Sydney
7c3088de2c fix: improve sidepanel scrollbar and fix quick filters 2026-04-03 02:01:45 +05:30
Sydney
2d583532fd fix: truncate text for translations in settings menu 2026-04-03 00:59:11 +05:30
Sydney Gomes
761a672e09 Merge pull request #3170 from aerodeval/fix-sidebar-datetime
fix: display only date & datetime fields in date format in Ticket SIdebar
2026-04-03 00:10:15 +05:30
Sydney
02cb007537 fix: code cleanup 2026-04-02 19:22:09 +05:30
MochaMind
4b11cca96b chore: Esperanto translations 2026-04-02 16:32:30 +05:30
MochaMind
cf22f8331c chore: Russian translations 2026-04-02 16:32:29 +05:30
MochaMind
9c2fcc283e chore: Serbian (Latin) translations 2026-04-02 16:32:27 +05:30
MochaMind
cf7d0fbb3e chore: Norwegian Bokmal translations 2026-04-02 16:32:26 +05:30
MochaMind
6c24921eb6 chore: Bosnian translations 2026-04-02 16:32:24 +05:30
MochaMind
491fabdf84 chore: Burmese translations 2026-04-02 16:32:23 +05:30
MochaMind
e735f1fc4c chore: Croatian translations 2026-04-02 16:32:22 +05:30
MochaMind
615e5166d0 chore: Thai translations 2026-04-02 16:32:20 +05:30
MochaMind
93bba4b570 chore: Persian translations 2026-04-02 16:32:19 +05:30
MochaMind
a8f836dbcf chore: Indonesian translations 2026-04-02 16:32:17 +05:30
MochaMind
839654b343 chore: Portuguese, Brazilian translations 2026-04-02 16:32:16 +05:30
MochaMind
06c5b1a48e chore: Vietnamese translations 2026-04-02 16:32:14 +05:30
MochaMind
2dfe252029 chore: Chinese Simplified translations 2026-04-02 16:32:12 +05:30
MochaMind
412ada7775 chore: Turkish translations 2026-04-02 16:32:11 +05:30
MochaMind
89996fe94c chore: Swedish translations 2026-04-02 16:32:10 +05:30
MochaMind
26a2dca117 chore: Serbian (Cyrillic) translations 2026-04-02 16:32:08 +05:30
MochaMind
399bea9c20 chore: Slovenian translations 2026-04-02 16:32:06 +05:30
MochaMind
5b64bbec28 chore: Portuguese translations 2026-04-02 16:32:05 +05:30
MochaMind
4cff3ee8e4 chore: Polish translations 2026-04-02 16:32:03 +05:30
MochaMind
d883a09b97 chore: Dutch translations 2026-04-02 16:32:02 +05:30
MochaMind
d0d9a6ac68 chore: Italian translations 2026-04-02 16:32:00 +05:30
MochaMind
573cf539f3 chore: Hungarian translations 2026-04-02 16:31:59 +05:30
MochaMind
550d5a7886 chore: German translations 2026-04-02 16:31:57 +05:30
MochaMind
82dd647877 chore: Danish translations 2026-04-02 16:31:56 +05:30
MochaMind
fef8589dca chore: Czech translations 2026-04-02 16:31:55 +05:30
MochaMind
86722702df chore: Arabic translations 2026-04-02 16:31:53 +05:30
MochaMind
c4d69e16a6 chore: Spanish translations 2026-04-02 16:31:51 +05:30
MochaMind
fb1fa5d9fa chore: French translations 2026-04-02 16:31:50 +05:30
Sydney
8cc10bcd16 fix: prevent non-date fields from being parsed as valid dates 2026-04-01 19:49:05 +05:30
Sydney
e72627aa79 fix: display only date & datetime fields in date format 2026-04-01 19:29:31 +05:30
RitvikSardana
6b800f6b22 Merge pull request #3165 from RitvikSardana/fui-bump
chore: bump fui
2026-04-01 18:53:56 +05:30
Ritvik Sardana
e61c82041f chore: bump fui 2026-04-01 18:47:32 +05:30
RitvikSardana
3b919c4c5a Merge pull request #3150 from frappe/pot_develop_2026-03-29
chore: update POT file
2026-04-01 17:49:34 +05:30
RitvikSardana
4e651fc394 Merge pull request #3147 from frappe/l10n_develop
chore: sync translations from crowdin
2026-04-01 17:48:53 +05:30
RitvikSardana
690ff31ed4 Merge pull request #3160 from frappe/version-bump
chore: version bump
2026-04-01 16:26:54 +05:30
RitvikSardana
e7f927a895 chore: version bump 2026-04-01 16:22:09 +05:30
RitvikSardana
cf36a4b31d Merge pull request #3154 from RitvikSardana/excel-2
fix: scrollable table
2026-04-01 16:20:22 +05:30
Ritvik Sardana
788f1577b0 chore: code cleanup 2026-04-01 16:12:40 +05:30
MochaMind
3196c9c69c chore: Russian translations 2026-04-01 16:07:49 +05:30
Sydney Gomes
6ff5d39f0f Merge pull request #3156 from aerodeval/select-all-fix
fix: utilize tiptap select all command for tiptap based elements in dom
2026-04-01 14:58:58 +05:30
Sydney
160b4c9f83 fix: run tip-tap inbuilt select all after focus guard check 2026-04-01 14:50:21 +05:30
Sydney
3990ce5f6f fix: utilize tiptap select all command for tiptap based elements in dom 2026-04-01 12:37:07 +05:30
Ritvik Sardana
d905078245 fix: scrollable table 2026-03-31 18:17:32 +05:30
Sydney
afcd46a4c0 fix: add additional check for changing raised_by 2026-03-30 02:29:32 +05:30
Sydney
99ca799859 fix: add agent check in agent reply 2026-03-30 02:18:24 +05:30
Sydney
87fab4d643 fix: add agent check while assigning 2026-03-30 02:08:59 +05:30
frappe-pr-bot
8beed8cb04 chore: update POT file 2026-03-29 10:43:34 +00:00
MochaMind
ecbc05aed6 chore: Serbian (Latin) translations 2026-03-28 15:07:08 +05:30
MochaMind
4fd3c7314a chore: Serbian (Cyrillic) translations 2026-03-28 15:07:07 +05:30
Sydney Gomes
0a4de51eb9 refactor: improve welcome email content for onboarding(#3148)
* chore: improve onboarding experience

* fix: fix imports for image and gif

* fix: fix layout issues for the mailer

* fix: update layout of welcome mail and add user name in mail

* fix: update gifs

* chore: use videos instead of gifs for faster load

* fix: incorrect first name fetching in mail

* fix: handle administrator name scenario

* fix: update demo videos

* fix: update videos for demo

* fix: improve copy
2026-03-27 22:17:46 +05:30
MochaMind
16abb01689 chore: Russian translations 2026-03-27 14:15:57 +05:30
Pratik
ee572e7b70 refactor: remove my replies card 2026-03-27 11:39:00 +05:30
Harshit Raizada
2f0689bf5f fix: remove manual override of frappe in_test flag 2026-03-27 02:10:35 +05:30
Pratik
7113d05f93 fix: i18n 2026-03-26 18:01:27 +05:30
Pratik
b053212cba Merge remote-tracking branch 'upstream/develop' into fix/agent-landing-page-bugs 2026-03-26 17:37:54 +05:30
Pratik
2c12d15ac0 fix: default filter for new tickets 2026-03-26 17:30:23 +05:30
Pratik
e31ff19972 refactor: empty state css & filters in query 2026-03-26 16:42:54 +05:30
Pratik
fc6a3cef35 refactor: ui enhancements 2026-03-26 16:16:08 +05:30
Pratik
5e5f0ff488 fix: default view filters & improve empty state 2026-03-26 15:48:35 +05:30
MochaMind
2e23acc137 chore: Esperanto translations 2026-03-26 13:47:59 +05:30
MochaMind
18a93a48c8 chore: Russian translations 2026-03-26 13:47:57 +05:30
MochaMind
6bba0c2a56 chore: Serbian (Latin) translations 2026-03-26 13:47:56 +05:30
MochaMind
1d108baeff chore: Norwegian Bokmal translations 2026-03-26 13:47:54 +05:30
MochaMind
06912cd7c1 chore: Bosnian translations 2026-03-26 13:47:53 +05:30
MochaMind
b73cd1ac70 chore: Burmese translations 2026-03-26 13:47:50 +05:30
MochaMind
85aee81b4f chore: Croatian translations 2026-03-26 13:47:49 +05:30
MochaMind
b7836e7468 chore: Thai translations 2026-03-26 13:47:47 +05:30
MochaMind
43cb0814b1 chore: Persian translations 2026-03-26 13:47:46 +05:30
MochaMind
048b62d255 chore: Indonesian translations 2026-03-26 13:47:44 +05:30
MochaMind
703db19eea chore: Portuguese, Brazilian translations 2026-03-26 13:47:43 +05:30
MochaMind
7a570724ee chore: Vietnamese translations 2026-03-26 13:47:41 +05:30
MochaMind
158cfe2fff chore: Chinese Simplified translations 2026-03-26 13:47:40 +05:30
MochaMind
7b712e1e87 chore: Turkish translations 2026-03-26 13:47:38 +05:30
MochaMind
3f08f67d1e chore: Swedish translations 2026-03-26 13:47:37 +05:30
MochaMind
0693d0c34a chore: Serbian (Cyrillic) translations 2026-03-26 13:47:35 +05:30
MochaMind
da3d1099ec chore: Slovenian translations 2026-03-26 13:47:34 +05:30
MochaMind
8b0ddf74f2 chore: Portuguese translations 2026-03-26 13:47:33 +05:30
MochaMind
98214151af chore: Polish translations 2026-03-26 13:47:30 +05:30
MochaMind
21b2a3f7c4 chore: Dutch translations 2026-03-26 13:47:29 +05:30
MochaMind
4dbc5c1722 chore: Italian translations 2026-03-26 13:47:27 +05:30
MochaMind
1ace98c4d8 chore: Hungarian translations 2026-03-26 13:47:25 +05:30
MochaMind
d800ae4571 chore: German translations 2026-03-26 13:47:24 +05:30
MochaMind
a5a04535ec chore: Danish translations 2026-03-26 13:47:22 +05:30
MochaMind
b6bf8b6f3d chore: Czech translations 2026-03-26 13:47:21 +05:30
MochaMind
d78984ca0d chore: Arabic translations 2026-03-26 13:47:20 +05:30
MochaMind
e3c7e5935f chore: Spanish translations 2026-03-26 13:47:18 +05:30
MochaMind
3af0fabc87 chore: French translations 2026-03-26 13:47:17 +05:30
Sydney Gomes
15b246e31a Merge pull request #2969 from aerodeval/fix/-fix-ui-inconsistency
refactor: fix UI inconsistency all over Helpdesk
2026-03-26 04:28:30 +05:30
Sydney Gomes
8a3f1c13bb Merge pull request #3131 from aerodeval/fix/bump-tiptap-v3
fix: update tiptap to v3 and fix breaking changes
2026-03-25 19:45:31 +05:30
Ritvik Sardana
22647bbba2 chore: remove unwanted code 2026-03-25 17:31:50 +05:30
Ritvik Sardana
5002fde520 fix: add prosemirror package in optimizeDeps 2026-03-25 16:56:30 +05:30
Ritvik Sardana
04126b7100 fix: add yarn.lock back 2026-03-25 16:17:52 +05:30
RitvikSardana
a3b3625435 Merge pull request #3140 from frappe/l10n_develop
chore: sync translations from crowdin
2026-03-25 16:09:17 +05:30
RitvikSardana
d43588a97e Merge pull request #3139 from frappe/pot_develop_2026-03-22
chore: update POT file
2026-03-25 16:09:01 +05:30
MochaMind
9bac2c2c62 chore: Vietnamese translations 2026-03-25 13:40:26 +05:30
MochaMind
5b7c2f33df chore: Spanish translations 2026-03-25 13:40:25 +05:30
Sydney
6f303717e7 fix: update yarn.lock to latest versions 2026-03-25 10:22:52 +05:30
Jayanta
a853d8eb60 fix: set Link field page limit to 999 (#3137)
* fix: set pageLength to 999 for Link field type
2026-03-25 09:55:17 +05:30
Sydney Gomes
6177b1d3c4 Merge branch 'develop' into fix/bump-tiptap-v3 2026-03-24 16:34:52 +05:30
Sydney
77aa6106b5 fix: remove deduping and resolve gapcursor extension 2026-03-24 15:51:42 +05:30
Pratik
09ea167300 feat: add My Replies card 2026-03-24 14:39:20 +05:30
Pratik
9ed433499c fix: standard view filter & some ui bugs 2026-03-23 17:58:43 +05:30
MochaMind
40c9741396 chore: Swedish translations 2026-03-23 13:26:37 +05:30
frappe-pr-bot
b115e0875e chore: update POT file 2026-03-22 10:41:38 +00:00
Sydney
6c1065bdd7 fix: bump frappe-ui and code cleanup 2026-03-19 20:36:12 +05:30
RitvikSardana
21bc3aaef1 Merge pull request #2796 from pratikb64/feat/agent-landing-page
feat: add agent landing page
2026-03-19 16:42:24 +05:30
Harshit Raizada
95bfd47f92 fix: address reviewer comments 2026-03-19 13:20:08 +05:30
Harshit Raizada
03fb98df2f fix: isort ordering for frappe imports 2026-03-19 12:41:10 +05:30
Harshit Raizada
90a3319825 chore(format): fix linting and formatting for CI 2026-03-19 12:41:10 +05:30
Harshit Raizada
f339ea98fb chore(underscore): removed extra underscore 2026-03-19 12:41:10 +05:30
Harshit Raizada
738909db35 chore(leftover): forgot to stage 2026-03-19 12:41:10 +05:30
Harshit Raizada
3f23513ca6 test(security): add tests for agent role escalation and parameter injection 2026-03-19 12:41:10 +05:30
Harshit Raizada
345c34a6c6 test(hd_ticket): add security tests for unauthorized actions and info disclosure 2026-03-19 12:41:10 +05:30
Harshit Raizada
e79107eec0 fix(security): patch authorization and privilege escalation vulnerabilities 2026-03-19 12:41:10 +05:30
Ritvik Sardana
a26feb091d fix: add telemetry event for editing home page 2026-03-19 12:08:21 +05:30
Ritvik Sardana
67926881e8 refactor: pending tickets component 2026-03-19 11:55:25 +05:30
Ritvik Sardana
aca353709f fix: show standard badge in ViewBreadcrumbs 2026-03-19 11:28:35 +05:30
Ritvik Sardana
3726340b7f fix: use install and patch instead of fixtures
This ensures that for existing sites the sidebar remains the same
2026-03-19 10:44:05 +05:30
Ritvik Sardana
1425bf6467 fix(styles): recent feedback 2026-03-19 10:40:43 +05:30
Sydney
f562911bc4 fix: dependency bug by deduping and resolving prosemirror packages 2026-03-19 01:50:46 +05:30
Ritvik Sardana
6e076772c2 fix: downgrade frappe-ui version 2026-03-19 00:21:44 +05:30
Ritvik Sardana
f69bf283bd fix: revert viewcontrols condition in LVB 2026-03-19 00:16:28 +05:30
Pratik
7bf45926d8 fix: UI bugs 2026-03-18 15:14:08 +05:30
RitvikSardana
995140c666 Merge pull request #3126 from frappe/pot_develop_2026-03-15
chore: update POT file
2026-03-18 12:34:05 +05:30
Ritvik Sardana
f3882facd6 chore: rearrange functions 2026-03-18 12:17:04 +05:30
Sydney
246c0257d7 fix: update yarn.lock and imports 2026-03-18 11:36:08 +05:30
RitvikSardana
678e1ae4db Merge pull request #3118 from frappe/l10n_develop
chore: sync translations from crowdin
2026-03-18 11:16:47 +05:30
MochaMind
02afcd4c3c chore: Spanish translations 2026-03-18 03:52:39 +05:30
Sydney
b2e09375eb fix: bump up frappe-ui 2026-03-18 02:32:28 +05:30
Sydney
9aeac5b16c fix: update tiptap to v3 and fix breaking changes 2026-03-18 02:05:23 +05:30
Pratik
97a0265bd8 fix: text clipping in table 2026-03-17 16:41:24 +05:30
Pratik
20295eda92 fix: linter 2026-03-17 15:17:36 +05:30
Pratik
fdfdc5d90c fix: apply filters from params 2026-03-17 15:06:22 +05:30
Pratik
0687c1a816 fix: feedback fixture 2026-03-17 12:43:55 +05:30
Pratik
342ee4a68b fix: bugs 2026-03-17 12:28:18 +05:30
MochaMind
865bd99df0 chore: Portuguese, Brazilian translations 2026-03-16 03:18:57 +05:30
frappe-pr-bot
20b5ee931f chore: update POT file 2026-03-15 10:42:56 +00:00
MochaMind
4870d001d5 chore: Swedish translations 2026-03-13 01:04:51 +05:30
Pratik
715c0b02ad fix: hd view before_save logic 2026-03-12 22:53:52 +05:30
Pratik
1458840124 fix: is_standard bug & some other changes 2026-03-12 22:29:17 +05:30
Pratik
75ccfcba58 fix: pending tickets tabs order 2026-03-12 20:56:43 +05:30
Pratik
e0c1592b8d fix: fixture label title case 2026-03-12 17:16:00 +05:30
Pratik
228d1bfd69 fix: types 2026-03-12 16:45:41 +05:30
Pratik
635fe6f3ab fix: linter & props structure 2026-03-12 16:16:01 +05:30
Pratik
82b6bfac47 fix: add types & remove duplicate code 2026-03-12 14:43:56 +05:30
MochaMind
1cc3671930 chore: Swedish translations 2026-03-11 01:02:11 +05:30
Pratik
15985d6106 Merge remote-tracking branch 'upstream/develop' into feat/agent-landing-page 2026-03-10 12:53:04 +05:30
RitvikSardana
5fc838158c Merge pull request #3115 from RitvikSardana/fui-update
chore: bump frappe-ui
2026-03-10 01:00:22 +05:30
Ritvik Sardana
0d4ca83f5f chore: bump frappe-ui 2026-03-10 00:55:31 +05:30
RitvikSardana
ad35d8cb1b Merge pull request #3110 from frappe/pot_develop_2026-03-08
chore: update POT file
2026-03-10 00:32:44 +05:30
RitvikSardana
75a3690310 Merge pull request #3107 from frappe/l10n_develop
chore: sync translations from crowdin
2026-03-10 00:32:28 +05:30
RitvikSardana
375044022a Merge pull request #3106 from RitvikSardana/enhance-excel-paste
fix: excel pasting formating in text editor
2026-03-10 00:32:01 +05:30
Ritvik Sardana
daac5f8ccc fix: move cursor to after the table 2026-03-10 00:18:23 +05:30
Sydney
08f3cd3cad fix: add additional support for tabular data 2026-03-09 23:15:46 +05:30
Ritvik Sardana
401dcb85c9 chore: version bump 2026-03-09 23:15:46 +05:30
Ritvik Sardana
16429b781e fix: enhance excel pasted data 2026-03-09 23:15:46 +05:30
Pratik
ed1d6fe90b fix: linter error 2026-03-09 17:16:33 +05:30
Pratik
5864bb359a refactor: code cleanup 2026-03-09 12:29:38 +05:30
frappe-pr-bot
6be18800ac chore: update POT file 2026-03-08 10:40:23 +00:00
Sydney Gomes
8c4c502576 Merge pull request #3108 from aerodeval/handle-next-line
fix: allow shift+enter by removing .stop from keydown handler
2026-03-08 15:22:04 +05:30
MochaMind
86ca1cc939 chore: Serbian (Latin) translations 2026-03-08 01:38:21 +05:30
MochaMind
cf67e5982e chore: Serbian (Cyrillic) translations 2026-03-08 01:38:20 +05:30
Sydney
4b3b431749 fix: allow shift+enter by removing .stop from keydown handler 2026-03-07 21:59:39 +05:30
MochaMind
f7ae670d3e chore: Esperanto translations 2026-03-07 01:16:09 +05:30
MochaMind
06c7cb2e0d chore: Serbian (Latin) translations 2026-03-07 01:16:08 +05:30
MochaMind
ce5fd9807d chore: Norwegian Bokmal translations 2026-03-07 01:16:07 +05:30
MochaMind
beee851fc8 chore: Bosnian translations 2026-03-07 01:16:05 +05:30
MochaMind
97cc8df3a1 chore: Burmese translations 2026-03-07 01:16:04 +05:30
MochaMind
47e6aa93cf chore: Croatian translations 2026-03-07 01:16:03 +05:30
MochaMind
0a39dfc819 chore: Thai translations 2026-03-07 01:16:01 +05:30
MochaMind
f10a0ead76 chore: Persian translations 2026-03-07 01:16:00 +05:30
MochaMind
2f82d784f6 chore: Indonesian translations 2026-03-07 01:15:59 +05:30
MochaMind
445633e1f3 chore: Portuguese, Brazilian translations 2026-03-07 01:15:58 +05:30
MochaMind
a08b365b04 chore: Vietnamese translations 2026-03-07 01:15:56 +05:30
MochaMind
16c09008c0 chore: Chinese Simplified translations 2026-03-07 01:15:55 +05:30
MochaMind
ee02d83e83 chore: Turkish translations 2026-03-07 01:15:54 +05:30
MochaMind
68c56fb564 chore: Swedish translations 2026-03-07 01:15:53 +05:30
MochaMind
99e167563b chore: Serbian (Cyrillic) translations 2026-03-07 01:15:51 +05:30
MochaMind
85b5973a34 chore: Slovenian translations 2026-03-07 01:15:50 +05:30
MochaMind
b0fbd842c2 chore: Portuguese translations 2026-03-07 01:15:49 +05:30
MochaMind
19b847569f chore: Polish translations 2026-03-07 01:15:47 +05:30
MochaMind
3a0b8d0b0c chore: Dutch translations 2026-03-07 01:15:46 +05:30
MochaMind
76ceb80a72 chore: Italian translations 2026-03-07 01:15:45 +05:30
MochaMind
0aa2d91512 chore: Hungarian translations 2026-03-07 01:15:43 +05:30
MochaMind
b931fea9f5 chore: German translations 2026-03-07 01:15:42 +05:30
MochaMind
7e5fdb03dc chore: Danish translations 2026-03-07 01:15:41 +05:30
MochaMind
f689beb8e8 chore: Czech translations 2026-03-07 01:15:40 +05:30
MochaMind
5b092db083 chore: Arabic translations 2026-03-07 01:15:38 +05:30
MochaMind
5f2648c93e chore: Spanish translations 2026-03-07 01:15:37 +05:30
MochaMind
fbffed7ffb chore: French translations 2026-03-07 01:15:36 +05:30
MochaMind
2aae85be24 chore: Russian translations 2026-03-07 01:15:35 +05:30
Pratik
2f194796c6 refactor: empty states 2026-03-06 17:51:09 +05:30
Pratik
648535f99b fix: feedback empty state 2026-03-06 15:56:55 +05:30
Pratik
886737374a refactor: remove duplicate code 2026-03-06 15:15:19 +05:30
Pratik
555cdb2395 fix: hide delete button for standard views 2026-03-06 12:48:23 +05:30
RitvikSardana
59dfde114c Merge pull request #3105 from RitvikSardana/invite-endpoints
fix: add invite endpoints
2026-03-06 12:36:30 +05:30
Ritvik Sardana
f5ac2b1cd7 fix: add invite endpoints 2026-03-06 12:35:32 +05:30
Pratik
8ea79cbb4a Merge remote-tracking branch 'upstream/develop' into feat/agent-landing-page 2026-03-06 10:29:54 +05:30
RitvikSardana
e4bc729151 Merge pull request #3086 from frappe/l10n_develop
chore: sync translations from crowdin
2026-03-06 10:24:08 +05:30
RitvikSardana
d51b4e8a38 Merge pull request #3085 from frappe/pot_develop_2026-03-01
chore: update POT file
2026-03-06 10:23:45 +05:30
RitvikSardana
d60ea9c08e Merge pull request #3098 from RitvikSardana/email-src-tag
fix: dont delete src tag
2026-03-06 01:42:02 +05:30
Ritvik Sardana
4979045fb6 chore: code cleanup 2026-03-06 00:24:51 +05:30
Ritvik Sardana
b0e4b3be64 fix: dont delete src tag 2026-03-06 00:23:34 +05:30
RitvikSardana
1f82854620 Merge pull request #3097 from frappe/revert-3088-feat/custom-badges
Revert "feat: custom badges + first ticket badge"
2026-03-05 17:41:27 +05:30
RitvikSardana
6afaab9979 Revert "feat: custom badges + first ticket badge" 2026-03-05 17:35:42 +05:30
RitvikSardana
5362069adb Merge pull request #2975 from aerodeval/fix/email-formatting-bug
fix: email formatting bug
2026-03-05 17:32:20 +05:30
Pratik
cafc393de5 fix: linter 2026-03-05 17:02:31 +05:30
Pratik
b7a99de099 Merge remote-tracking branch 'upstream/develop' into feat/agent-landing-page 2026-03-05 16:55:49 +05:30
Sydney
bdbb31cb7a fix: simplify code and handle formatting bug 2026-03-05 15:03:26 +05:30
Sydney
ecb6179ff0 fix: handle cleanup of quoted content 2026-03-05 13:19:49 +05:30
Sydney
9cfd0eb596 fix: add to reply bug and caching of quoted content 2026-03-05 13:01:38 +05:30
Sydney
c8bd81b30c chore: solve linter issues 2026-03-05 12:09:50 +05:30
Sydney
bb0077d470 chore: remove unused imports 2026-03-05 10:58:30 +05:30
MochaMind
65a93f7a68 chore: Russian translations 2026-03-05 00:24:59 +05:30
Sydney
c6c820c33e fix: fix broken logic of Send mail button 2026-03-05 00:08:39 +05:30
Sydney
9a6ad95e0a fix: improve selection check for handling delete 2026-03-04 17:37:05 +05:30
Sydney
a5ee07c69e fix: handle select and delete all flaky behaviour 2026-03-04 17:08:05 +05:30
Sydney
5c34099d24 fix: handle select all in text editor 2026-03-04 15:35:38 +05:30
Sydney
738cd35a32 fix: make replied quote seamless with editor 2026-03-04 13:43:36 +05:30
MochaMind
a1d16363b9 chore: Swedish translations 2026-03-02 23:50:37 +05:30
MochaMind
298f899ae9 chore: Spanish translations 2026-03-02 23:50:26 +05:30
MochaMind
678213f31c chore: French translations 2026-03-02 23:50:25 +05:30
MochaMind
662b17f748 chore: Russian translations 2026-03-02 23:50:23 +05:30
Sydney
ea9cbe1fd6 fix: Set inner html as replied content directly on update of replied content 2026-03-02 15:11:20 +05:30
Sydney Gomes
46d751181a Merge pull request #3090 from aerodeval/fix/saved-replies-filter-bug
fix: fix saved replies scope filtering
2026-03-02 13:58:21 +05:30
RitvikSardana
f35ae6f596 Merge pull request #3088 from RitvikSardana/feat/custom-badges
feat: custom badges + first ticket badge
2026-03-02 13:49:20 +05:30
Sydney
91ed2d6c54 fix: fix saved replies scope filtering 2026-03-02 13:20:05 +05:30
Ritvik Sardana
7b317571a5 chore: revert formating 2026-03-02 11:54:39 +05:30
Ritvik Sardana
32f788270a chore: revert old changes 2026-03-02 11:52:14 +05:30
Ritvik Sardana
c2c1106503 fix: default value form script 2026-03-02 11:44:09 +05:30
Ritvik Sardana
16e51b7ce3 fix: add is_first_ticket field 2026-03-02 11:22:44 +05:30
Sydney
f18aa0de9f fix: handle quoted input empty condition 2026-03-02 01:40:05 +05:30
MochaMind
1ad6d8d4f9 chore: Russian translations 2026-03-01 23:42:59 +05:30
frappe-pr-bot
158e6f5bdf chore: update POT file 2026-03-01 10:40:51 +00:00
Sydney
85fbda17fa fix: chore code cleanup 2026-02-28 20:57:29 +05:30
Sydney
e8274e1c6f Merge branch 'develop' of https://github.com/frappe/helpdesk into fix/email-formatting-bug 2026-02-28 20:55:53 +05:30
Sydney
1766b289dd fix: handle replied content in seperate containers 2026-02-28 20:50:19 +05:30
Ritvik Sardana
23ec306ea9 feat: custom badges in agent portal 2026-02-28 17:07:47 +05:30
RitvikSardana
ba7b0b4071 Merge pull request #3082 from frappe/l10n_develop
chore: sync translations from crowdin
2026-02-28 12:10:30 +05:30
MochaMind
e3ffb460d0 chore: Russian translations 2026-02-27 23:18:30 +05:30
MochaMind
52ee89f7ba chore: Spanish translations 2026-02-27 23:18:28 +05:30
RitvikSardana
f583740541 Merge pull request #3079 from RitvikSardana/raised-by-meta
fix: remove depends_on in raised_by field
2026-02-27 16:44:34 +05:30
Ritvik Sardana
e7ba190fbe chore: version bump 2026-02-27 16:43:53 +05:30
Ritvik Sardana
94637de7ff fix: remove unwanted depends on in raised_by field 2026-02-27 16:43:29 +05:30
RitvikSardana
0a0a5d8a96 Merge pull request #3077 from aerodeval/fix/excel-table-paste-fix
fix: handle excel pasting in email editor
2026-02-27 16:14:54 +05:30
Sydney
b8c160f22b fix: fix improper key in extension 2026-02-27 15:59:34 +05:30
Sydney
5f682fe8ef fix: handle excel pasting in email editor 2026-02-27 13:53:50 +05:30
Sydney Gomes
5220bd7762 Merge pull request #3006 from aerodeval/fix/comment-box-mentions
fix: comment box mentions bug on edit
2026-02-27 11:51:37 +05:30
Sydney
7fb269ff04 feat: add keyup event support for saving comments 2026-02-27 11:35:52 +05:30
RitvikSardana
a237928bf9 Merge pull request #3063 from frappe/l10n_develop
chore: sync translations from crowdin
2026-02-27 10:55:06 +05:30
Sydney
0f1abb75a1 fix: comments discard button bug fix and mentions fix 2026-02-27 00:57:34 +05:30
MochaMind
0112488cdd chore: Serbian (Latin) translations 2026-02-26 23:00:46 +05:30
MochaMind
0006e98d44 chore: Swedish translations 2026-02-26 23:00:45 +05:30
MochaMind
0f056060fc chore: Serbian (Cyrillic) translations 2026-02-26 23:00:43 +05:30
MochaMind
ee8b612ca7 chore: Spanish translations 2026-02-26 23:00:42 +05:30
Sydney Gomes
943e96e176 Merge pull request #3074 from aerodeval/chore/remove-stop-session-develop
chore: remove unused code
2026-02-26 19:55:08 +05:30
Sydney
8945580d1d chore: remove unused code 2026-02-26 19:47:40 +05:30
RitvikSardana
1139ae97b9 Merge pull request #3071 from RitvikSardana/fix/export-api-auth
fix(auth): allow export api endpoint
2026-02-26 17:38:34 +05:30
Ritvik Sardana
2a062809e3 fix(auth): allow export api endpoint 2026-02-26 17:37:43 +05:30
Sydney Gomes
a1c6b46f39 Merge pull request #3009 from aerodeval/fix/time-localization
fix: time localisation bug
2026-02-26 15:54:52 +05:30
Sydney Gomes
025e3956dd Merge branch 'develop' into fix/time-localization 2026-02-26 15:35:40 +05:30
Sydney
a2394c2b59 chore: code cleanup 2026-02-26 15:18:21 +05:30
Sydney
e8cb8fc799 chore: truncate text for autocomplete 2026-02-26 15:08:12 +05:30
RitvikSardana
1eabe5ad50 Merge pull request #3068 from RitvikSardana/fix/select-field-no-options
fix(field): handle case when no options are set for select field
2026-02-26 13:25:27 +05:30
Sydney
5a0edfe4d7 fix: autocomplete import fixed 2026-02-26 13:13:09 +05:30
Ritvik Sardana
2f5099fbba fix(field): handle case when no options are set for select field 2026-02-26 13:09:30 +05:30
Sydney
173cd745eb chore: code cleanup 2026-02-26 12:05:17 +05:30
Sydney
a4bf8967c4 fix: hard reload after timezone is changed 2026-02-26 12:04:29 +05:30
Sydney
85824b6908 fix: force hard reload after language change and delay it so toast is visible 2026-02-26 12:02:27 +05:30
Sydney
70c621225e feat: add autocomplete switching in profile settings 2026-02-26 12:02:01 +05:30
MochaMind
890dedad69 chore: Esperanto translations 2026-02-25 22:59:02 +05:30
MochaMind
62518c0843 chore: Serbian (Latin) translations 2026-02-25 22:59:01 +05:30
MochaMind
44750ec641 chore: Norwegian Bokmal translations 2026-02-25 22:58:59 +05:30
MochaMind
343809f489 chore: Bosnian translations 2026-02-25 22:58:57 +05:30
MochaMind
9acf110b42 chore: Burmese translations 2026-02-25 22:58:56 +05:30
MochaMind
5eec882f14 chore: Croatian translations 2026-02-25 22:58:54 +05:30
MochaMind
fb97216bca chore: Thai translations 2026-02-25 22:58:53 +05:30
MochaMind
01437abc7e chore: Persian translations 2026-02-25 22:58:51 +05:30
MochaMind
8f7df1627a chore: Indonesian translations 2026-02-25 22:58:49 +05:30
MochaMind
dfd08b6c85 chore: Portuguese, Brazilian translations 2026-02-25 22:58:48 +05:30
MochaMind
5a63a92b5c chore: Vietnamese translations 2026-02-25 22:58:46 +05:30
MochaMind
944b9f7b19 chore: Chinese Simplified translations 2026-02-25 22:58:44 +05:30
MochaMind
a9bbcfad00 chore: Turkish translations 2026-02-25 22:58:43 +05:30
MochaMind
e609efad07 chore: Swedish translations 2026-02-25 22:58:41 +05:30
MochaMind
f441217c31 chore: Serbian (Cyrillic) translations 2026-02-25 22:58:39 +05:30
MochaMind
bcd6c0a3a0 chore: Slovenian translations 2026-02-25 22:58:38 +05:30
MochaMind
4f664db460 chore: Russian translations 2026-02-25 22:58:36 +05:30
MochaMind
fd2dc00e21 chore: Portuguese translations 2026-02-25 22:58:35 +05:30
MochaMind
18f3d81410 chore: Polish translations 2026-02-25 22:58:33 +05:30
MochaMind
ec934009ad chore: Dutch translations 2026-02-25 22:58:32 +05:30
MochaMind
bf64aa02ee chore: Italian translations 2026-02-25 22:58:30 +05:30
MochaMind
0ae8afb535 chore: Hungarian translations 2026-02-25 22:58:28 +05:30
MochaMind
a33bc988b7 chore: German translations 2026-02-25 22:58:27 +05:30
MochaMind
e2ccef3334 chore: Danish translations 2026-02-25 22:58:25 +05:30
MochaMind
95226cd273 chore: Czech translations 2026-02-25 22:58:24 +05:30
MochaMind
99d6710e0b chore: Arabic translations 2026-02-25 22:58:22 +05:30
MochaMind
c189521c0a chore: Spanish translations 2026-02-25 22:58:21 +05:30
RitvikSardana
91eabfa87a Merge pull request #3057 from RitvikSardana/analytics
feat: telemetry with pulse
2026-02-25 16:08:28 +05:30
Ritvik Sardana
b6ade86b5b chore: bump version 2026-02-25 16:02:51 +05:30
Ritvik Sardana
fbc2c66d08 fix: better placeholder if no user is found 2026-02-25 16:02:21 +05:30
Sydney
f7fbcce42e chore: Revert chore: Delete desk/src/types/doctypes.ts
This reverts commit 90e2a7bd3f.
2026-02-25 15:53:09 +05:30
Sydney Gomes
90e2a7bd3f chore: Delete desk/src/types/doctypes.ts 2026-02-25 15:50:04 +05:30
Sydney
0928581960 chore: code cleanup 2026-02-25 15:37:27 +05:30
Ritvik Sardana
334345f73f fix: dont capture events for pre-filled data 2026-02-25 11:58:09 +05:30
Ritvik Sardana
a6a88791f2 fix: dont index hd_ticket twice 2026-02-25 11:10:42 +05:30
RitvikSardana
3e56bcb804 Merge pull request #3050 from aerodeval/fix/saved-replies-bug
fix: email send button bug and null value appearing in saved replies
2026-02-25 11:09:00 +05:30
RitvikSardana
93ae4cde40 Merge pull request #3056 from RitvikSardana/filter-select
fix(filters): model-value for select component
2026-02-25 11:03:22 +05:30
Sydney
5f03f0d144 fix: fix flaky mentions rendering when agent list not populated 2026-02-25 02:17:46 +05:30
Sydney
f6a7c1868f fix: broken replies section and reply content bug 2026-02-25 01:59:00 +05:30
Sydney
bb8ef76156 chore: cleanup redundant code 2026-02-24 21:00:12 +05:30
Ritvik Sardana
7c80701fe2 chore: add site data for analytics 2026-02-24 19:49:21 +05:30
Ritvik Sardana
17fa75759a fix: add event for hd_team 2026-02-24 19:48:56 +05:30
Ritvik Sardana
7f07d6bfca feat: telemetry with pulse 2026-02-24 19:42:23 +05:30
Sydney
1bedf1eab6 Merge branch 'fix/email-formatting-bug' of https://github.com/aerodeval/helpdesk into fix/email-formatting-bug 2026-02-24 17:25:38 +05:30
Sydney
0e0c6dd8ce chore: improve utils definition and semantic 2026-02-24 17:24:40 +05:30
Sydney Gomes
9d467be009 chore: delete desk/src/types/doctypes.ts 2026-02-24 16:32:46 +05:30
Ritvik Sardana
d917e42dcb chore: code cleanup 2026-02-24 16:32:02 +05:30
Ritvik Sardana
d3aeefb327 fix(filters): model-value for select component 2026-02-24 15:18:04 +05:30
RitvikSardana
4d87285876 Merge pull request #3047 from frappe/pot_develop_2026-02-22
chore: update POT file
2026-02-24 10:22:16 +05:30
RitvikSardana
42f527b006 Merge pull request #3046 from frappe/l10n_develop
chore: sync translations from crowdin
2026-02-24 10:21:58 +05:30
RitvikSardana
c75e564391 Merge pull request #3051 from RitvikSardana/disable-ticket-type
fix: add disabled field in HD Ticket Type
2026-02-24 09:31:12 +05:30
Ritvik Sardana
c00ab76168 fix: add disabled field in HD Ticket Type 2026-02-24 09:10:43 +05:30
MochaMind
fcd775ba0b chore: Swedish translations 2026-02-23 22:11:54 +05:30
Sydney
0ba855e8c1 chore: add suport for tabular data content breaking 2026-02-23 18:08:57 +05:30
Sydney
4262a7b8aa chore: code cleanup 2026-02-23 17:56:11 +05:30
Sydney
b107ca3c25 Revert "chore: code cleanup"
This reverts commit f60a6f9fc7.
2026-02-23 16:04:11 +05:30
Sydney
f60a6f9fc7 chore: code cleanup 2026-02-23 14:57:17 +05:30
Sydney
ee3f456009 fix: email send button bug where null value allowed send button to be active 2026-02-23 12:23:37 +05:30
RitvikSardana
0cc334d2de Merge pull request #3048 from RitvikSardana/sla-resolution-time
fix: check for months and years while formatting date
2026-02-23 12:01:29 +05:30
Ritvik Sardana
69504c0ec4 fix: check for months and years while formatting date 2026-02-23 11:57:02 +05:30
frappe-pr-bot
fcea5fd3ae chore: update POT file 2026-02-22 10:40:48 +00:00
Sydney
0bb463acc2 fix: add table extension for tiptap and apply css using that and fix excel pasting 2026-02-21 02:15:11 +05:30
Sydney
c3ec7929b9 fix: adding some preventive css for borders appearing everywhere and fixing extension 2026-02-21 01:00:54 +05:30
MochaMind
b64e56e40c chore: Thai translations 2026-02-20 21:30:49 +05:30
MochaMind
1e33702c79 chore: Vietnamese translations 2026-02-20 21:30:43 +05:30
MochaMind
15f86f2026 chore: Swedish translations 2026-02-20 21:30:37 +05:30
MochaMind
3cd5fcbbe5 chore: Serbian (Cyrillic) translations 2026-02-20 21:30:35 +05:30
MochaMind
6c588ead84 chore: Dutch translations 2026-02-20 21:30:27 +05:30
MochaMind
7a8716b465 chore: Spanish translations 2026-02-20 21:30:15 +05:30
Sydney
3cf6330845 fix: remove enforced css causing tables to break 2026-02-20 10:22:50 -05:00
Sydney
8d59c75e6a chore: add fix for email editor 2026-02-20 10:20:51 -05:00
Sydney
efe9448944 fix: email formatting bug and excel bug fix where image is pasted instead of excel 2026-02-20 10:18:22 -05:00
Sydney
b9b82b48cd chore: remove unecessary storeToRef 2026-02-20 09:59:42 -05:00
Sydney
13e5a14867 chore: remove redundant code 2026-02-20 09:45:14 -05:00
Sydney
d2ea5904b5 fix: fix localization all over helpdesk and fix config fetching and setting 2026-02-20 06:38:53 -05:00
Sydney
bfa2dcc2a3 chore: code cleanup 2026-02-19 20:16:27 +05:30
RitvikSardana
82d2e495d7 Merge pull request #3041 from RitvikSardana/vb
chore: bump version
2026-02-19 18:34:25 +05:30
Ritvik Sardana
abc5058b0b chore: bump version 2026-02-19 18:26:27 +05:30
RitvikSardana
65cc377e17 Merge pull request #3004 from frappe/l10n_develop
chore: sync translations from crowdin
2026-02-19 14:12:53 +05:30
MochaMind
1b4fe28b01 chore: Serbian (Latin) translations 2026-02-18 20:27:26 +05:30
MochaMind
fa2c98cb0d chore: Persian translations 2026-02-18 20:27:25 +05:30
MochaMind
ed91deca37 chore: Spanish translations 2026-02-18 20:27:23 +05:30
Sydney
e6f13d4cf3 fix: use prettyDate function to handle edge cases 2026-02-18 10:51:27 +05:30
RitvikSardana
8eb7859a47 Merge pull request #3024 from RitvikSardana/api-type-check2
fix: type check for ticket doctype with int | str
2026-02-17 21:24:14 +05:30
Ritvik Sardana
edc3d29d74 fix: type check for ticket doctype with int | str 2026-02-17 21:23:50 +05:30
RitvikSardana
07550539ef Merge pull request #2623 from MostafaKadry/fix/stop_auto_message_from_triggering_on_reopen
fix: ignore automated system notifications in ticket communication from automatically reopens the ticket.
2026-02-17 20:06:40 +05:30
RitvikSardana
f2ea2e60fc Merge pull request #3000 from RitvikSardana/socket-cp
fix: socket and saved reply
2026-02-17 20:06:10 +05:30
MochaMind
5468734b33 chore: Esperanto translations 2026-02-17 19:14:52 +05:30
MochaMind
6ea82815fd chore: Serbian (Latin) translations 2026-02-17 19:14:51 +05:30
MochaMind
0872507484 chore: Norwegian Bokmal translations 2026-02-17 19:14:49 +05:30
MochaMind
c23c23f542 chore: Bosnian translations 2026-02-17 19:14:48 +05:30
MochaMind
4144fb67a2 chore: Burmese translations 2026-02-17 19:14:46 +05:30
MochaMind
65921275f6 chore: Croatian translations 2026-02-17 19:14:44 +05:30
MochaMind
a94a3b9244 chore: Thai translations 2026-02-17 19:14:43 +05:30
MochaMind
951bd54aae chore: Persian translations 2026-02-17 19:14:41 +05:30
MochaMind
bef6f0ce92 chore: Indonesian translations 2026-02-17 19:14:40 +05:30
MochaMind
884e7eab6c chore: Portuguese, Brazilian translations 2026-02-17 19:14:38 +05:30
MochaMind
ec49fa7546 chore: Vietnamese translations 2026-02-17 19:14:37 +05:30
MochaMind
fb75199f52 chore: Chinese Simplified translations 2026-02-17 19:14:35 +05:30
MochaMind
123abdce36 chore: Turkish translations 2026-02-17 19:14:33 +05:30
MochaMind
6c27f5b9d5 chore: Swedish translations 2026-02-17 19:14:32 +05:30
MochaMind
e609c19d96 chore: Serbian (Cyrillic) translations 2026-02-17 19:14:30 +05:30
MochaMind
ec63f41e73 chore: Slovenian translations 2026-02-17 19:14:29 +05:30
MochaMind
1da2f63f16 chore: Russian translations 2026-02-17 19:14:27 +05:30
RitvikSardana
47e3f06e94 Merge pull request #3020 from pratikb64/fix/saved-reply-admin-perm
fix: filter personal replies from list
2026-02-17 18:04:34 +05:30
Ritvik Sardana
60584fcd4d fix: revert CP changes 2026-02-17 17:44:08 +05:30
Ritvik Sardana
a096e1b19f fix: order_by in Ticket Summary report 2026-02-17 17:28:55 +05:30
Pratik
576432d380 fix: saved reply admin test 2026-02-17 17:23:30 +05:30
Pratik
c13aabdbdc fix: filter personal replies from list 2026-02-17 17:10:21 +05:30
Ankush Menat
d6be9938ad chore: project URLs (#3018) 2026-02-17 15:50:24 +05:30
Ritvik Sardana
d6d4c4dfe9 fix: dont send notification if agent is same as session.user 2026-02-17 13:51:18 +05:30
Ritvik Sardana
adb3ee3b0d fix: redisearch syntax error 2026-02-17 13:51:17 +05:30
Ritvik Sardana
93bc04605e fix: redisearch syntax error 2026-02-17 13:51:17 +05:30
Ritvik Sardana
29ad7da211 fix: CP styles 2026-02-17 13:51:17 +05:30
Ritvik Sardana
ea60812f81 fix: append saved reply to email content instead of replacing it 2026-02-17 13:51:17 +05:30
Ritvik Sardana
69e047f69e fix: socket and saved reply 2026-02-17 13:51:17 +05:30
RitvikSardana
f9ce80da1d Merge pull request #3016 from RitvikSardana/api-type-check
fix: add type hints for all API endpoints
2026-02-17 13:46:45 +05:30
Ritvik Sardana
bfd4cb6a9b fix: add hook for type checking 2026-02-17 13:27:22 +05:30
MochaMind
2084349da9 chore: Portuguese translations 2026-02-16 19:14:04 +05:30
MochaMind
b7a30c80be chore: Polish translations 2026-02-16 19:14:02 +05:30
MochaMind
9e4505a18e chore: Dutch translations 2026-02-16 19:14:01 +05:30
MochaMind
138825d6b4 chore: Italian translations 2026-02-16 19:13:59 +05:30
MochaMind
1ddb560979 chore: Hungarian translations 2026-02-16 19:13:58 +05:30
MochaMind
ae5990e1dc chore: German translations 2026-02-16 19:13:56 +05:30
MochaMind
6c540b917f chore: Danish translations 2026-02-16 19:13:55 +05:30
MochaMind
f4266ebaa0 chore: Czech translations 2026-02-16 19:13:53 +05:30
MochaMind
c211f817ae chore: Arabic translations 2026-02-16 19:13:52 +05:30
MochaMind
d8db4a0e6b chore: Spanish translations 2026-02-16 19:13:51 +05:30
MochaMind
015a800d90 chore: French translations 2026-02-16 19:13:49 +05:30
Ritvik Sardana
02b1b0473c fix: add type hints for all API endpoints 2026-02-16 19:13:13 +05:30
RitvikSardana
385a88fad3 Merge pull request #3012 from frappe/pot_develop_2026-02-15
chore: update POT file
2026-02-16 15:52:31 +05:30
frappe-pr-bot
3c4eee38cd chore: update POT file 2026-02-15 10:41:34 +00:00
MochaMind
9c87f0d089 chore: Persian translations 2026-02-14 18:56:19 +05:30
Sydney
d46429165f chore: add dayjs local for support in different timezones 2026-02-13 00:52:20 +05:30
MochaMind
40d72b6af2 chore: Serbian (Latin) translations 2026-02-12 17:21:15 +05:30
MochaMind
228fa9ff8d chore: Serbian (Cyrillic) translations 2026-02-12 17:21:13 +05:30
MochaMind
fb802a0ea7 chore: Russian translations 2026-02-12 17:21:11 +05:30
MochaMind
0541976cea chore: Spanish translations 2026-02-12 17:21:09 +05:30
Sydney
f8311a98c7 chore: remove debugging print statements 2026-02-12 16:17:39 +05:30
Sydney
bdda40443c chore: added test case to check if multiple notifications are not sent on adding mention when edited 2026-02-12 16:02:25 +05:30
MochaMind
8b182a2201 chore: Serbian (Latin) translations 2026-02-11 17:25:27 +05:30
MochaMind
03cc38c06f chore: Burmese translations 2026-02-11 17:25:25 +05:30
MochaMind
164f8e3c91 chore: Bosnian translations 2026-02-10 17:21:24 +05:30
MochaMind
e1024b017a chore: Croatian translations 2026-02-10 17:21:22 +05:30
MochaMind
4b2c340d84 chore: Swedish translations 2026-02-10 17:21:14 +05:30
MochaMind
27b8b014ea chore: Italian translations 2026-02-10 17:21:06 +05:30
Sydney
fd94e0bc12 fix: comment box edit mentions fix 2026-02-10 01:06:29 +05:30
RitvikSardana
d7633c8bca Merge pull request #2850 from artykbasar/feat/email-domain-desk-links-clean
feat(settings): select Email Domain for custom email accounts
2026-02-09 17:02:15 +05:30
Ritvik Sardana
d8117201d0 fix: api in email type 2026-02-09 16:56:15 +05:30
Ritvik Sardana
816a347d4c chore: code cleanup 2026-02-09 16:42:37 +05:30
Ritvik Sardana
1b4b0a3739 fix: remove service field in custom email account 2026-02-09 16:31:03 +05:30
RitvikSardana
138f1f0b55 Merge pull request #2999 from frappe/l10n_develop2
chore: sync translations from crowdin
2026-02-09 15:51:42 +05:30
Jannat Patel
efb274ecbd chore: Swedish translations 2026-02-09 15:35:56 +05:30
RitvikSardana
e9c650f38a Merge pull request #2990 from frappe/l10n_develop2
chore: sync translations from crowdin
2026-02-09 15:28:30 +05:30
RitvikSardana
1ef1171742 Merge pull request #2811 from samarth93/fix/datepicker-custom-fields-2669-develop
fix: add DatePicker support for custom Date/Datetime fields in UniInput
2026-02-09 15:21:25 +05:30
Ritvik Sardana
8e64cf9cca fix: add support in ticket creation form 2026-02-09 15:15:09 +05:30
Ritvik Sardana
df7deec952 fix: add date/datetime support in agent and customer ticket view 2026-02-09 15:06:45 +05:30
samarth93
5e3173ac5a fix: prettier formatting 2026-02-09 14:57:16 +05:30
samarth93
d42af58d88 fix: add DatePicker support for custom Date/Datetime fields in UniInput
Fixes #2669

Custom Date and Datetime fields on the new ticket form were rendering
as plain text inputs instead of proper DatePicker/DateTimePicker
components.

Changes:
- Import DatePicker and DateTimePicker from frappe-ui
- Add handling for 'Date' fieldtype to render DatePicker component
- Add handling for 'Datetime' fieldtype to render DateTimePicker component
- Add date formatting in transValue for proper display
2026-02-09 14:57:16 +05:30
Jannat Patel
8bb50ac347 chore: Esperanto translations 2026-02-09 13:03:15 +05:30
Jannat Patel
b858fdcf54 chore: Serbian (Latin) translations 2026-02-09 13:03:14 +05:30
Jannat Patel
20615dc619 chore: Norwegian Bokmal translations 2026-02-09 13:03:13 +05:30
Jannat Patel
cbd313d18d chore: Bosnian translations 2026-02-09 13:03:12 +05:30
Jannat Patel
7f8135f1ba chore: Burmese translations 2026-02-09 13:03:10 +05:30
Jannat Patel
76915db34a chore: Croatian translations 2026-02-09 13:03:09 +05:30
Jannat Patel
29efce94ed chore: Thai translations 2026-02-09 13:03:08 +05:30
Jannat Patel
e9fafea0ac chore: Persian translations 2026-02-09 13:03:07 +05:30
Jannat Patel
fd7751756f chore: Indonesian translations 2026-02-09 13:03:05 +05:30
Jannat Patel
d04cea4724 chore: Portuguese, Brazilian translations 2026-02-09 13:03:04 +05:30
Jannat Patel
46f5c903e4 chore: Vietnamese translations 2026-02-09 13:03:03 +05:30
Jannat Patel
f94bafd44f chore: Chinese Simplified translations 2026-02-09 13:03:01 +05:30
Jannat Patel
afe1a18779 chore: Turkish translations 2026-02-09 13:03:00 +05:30
Jannat Patel
1fc57f4325 chore: Swedish translations 2026-02-09 13:02:59 +05:30
Jannat Patel
fdc3c610aa chore: Serbian (Cyrillic) translations 2026-02-09 13:02:58 +05:30
Jannat Patel
2eef45125e chore: Slovenian translations 2026-02-09 13:02:57 +05:30
Jannat Patel
7c62431e4c chore: Russian translations 2026-02-09 13:02:55 +05:30
Jannat Patel
d26d2c90f5 chore: Portuguese translations 2026-02-09 13:02:54 +05:30
Jannat Patel
e835e58695 chore: Polish translations 2026-02-09 13:02:53 +05:30
Jannat Patel
e3c3967465 chore: Dutch translations 2026-02-09 13:02:51 +05:30
Jannat Patel
680053d1a3 chore: Italian translations 2026-02-09 13:02:50 +05:30
Jannat Patel
80052ed221 chore: Hungarian translations 2026-02-09 13:02:49 +05:30
Jannat Patel
c37250eb06 chore: German translations 2026-02-09 13:02:47 +05:30
Jannat Patel
042d496497 chore: Danish translations 2026-02-09 13:02:46 +05:30
Jannat Patel
2c1a9775e1 chore: Czech translations 2026-02-09 13:02:45 +05:30
Jannat Patel
87b3a32814 chore: Arabic translations 2026-02-09 13:02:44 +05:30
Jannat Patel
61d4738a84 chore: Spanish translations 2026-02-09 13:02:42 +05:30
Jannat Patel
b266ee5072 chore: French translations 2026-02-09 13:02:41 +05:30
RitvikSardana
1b9cd0e04f Merge pull request #2996 from RitvikSardana/auth-fix
fix: add login endpoints in auth
2026-02-09 12:10:11 +05:30
Ritvik Sardana
8478892383 fix: add login endpoints in auth 2026-02-09 12:08:07 +05:30
RitvikSardana
fc5d6fae63 Merge pull request #2991 from frappe/pot_develop_2026-02-08
chore: update POT file
2026-02-09 11:31:15 +05:30
Sydney
ff0c25d49f fix: enforce white background on mail content for table data 2026-02-09 01:32:58 +05:30
artykbasar
d6274a0e52 Merge branch 'develop' into feat/email-domain-desk-links-clean 2026-02-08 17:19:51 +00:00
frappe-pr-bot
c47a44096c chore: update POT file 2026-02-08 10:41:56 +00:00
Jannat Patel
9cebf53ea4 chore: Italian translations 2026-02-08 12:46:58 +05:30
RitvikSardana
46e7f2354e Merge pull request #2971 from pratikb64/fix/saved-reply-bug
fix: save bug in Saved Replies
2026-02-07 19:47:22 +05:30
RitvikSardana
97d4737efb chore: bump version 2026-02-07 19:39:48 +05:30
RitvikSardana
a6e96c7066 Merge pull request #2973 from aerodeval/fix/reply-all-issue
fix: added support for mail with display names and latin characters
2026-02-06 14:35:38 +05:30
RitvikSardana
0d34ff530b Merge pull request #2977 from frappe/l10n_develop2
chore: sync translations from crowdin
2026-02-06 14:33:28 +05:30
RitvikSardana
e2e6c44097 Merge pull request #2972 from aerodeval/fix/disable-ticket-image-captions
fix: hide captions in text editor
2026-02-06 14:13:42 +05:30
RitvikSardana
750beb343f Merge pull request #2981 from RitvikSardana/spri-fixes-1
fix: sprint fixes-1
2026-02-06 14:13:15 +05:30
Ritvik Sardana
4c73593c8a chore: add type hints to api 2026-02-06 12:54:34 +05:30
Ritvik Sardana
4c594535a6 fix: persist count in LV 2026-02-06 12:12:25 +05:30
Sydney
64f94848ea chore: disable image captions all over 2026-02-05 16:13:41 +05:30
Sydney
3b5b2ce9c6 fix: add deboubnce and use zod validation for email 2026-02-05 15:37:30 +05:30
Sydney
d00431f51c fix: fixed mail backspace bug and added support for multiinput for normalization 2026-02-05 15:25:34 +05:30
Jannat Patel
e6c267338c chore: Persian translations 2026-02-05 12:13:13 +05:30
Jannat Patel
85a0644593 chore: Portuguese, Brazilian translations 2026-02-05 12:13:11 +05:30
Jannat Patel
a91f4867c4 chore: Swedish translations 2026-02-05 12:13:08 +05:30
Jannat Patel
420ef47b66 chore: Dutch translations 2026-02-05 12:13:03 +05:30
Jannat Patel
cc665c838f chore: Italian translations 2026-02-05 12:13:02 +05:30
Jannat Patel
22901fd402 chore: Spanish translations 2026-02-05 12:12:57 +05:30
RitvikSardana
0b95e687f7 Merge pull request #2956 from frappe/setup-fix
chore(setup): Add build info in pyproject
2026-02-05 11:29:13 +05:30
Ritvik Sardana
5a4f152d52 fix: add seen functionality in list view 2026-02-05 10:57:07 +05:30
Sydney
f1637135a8 chore: add colspan and rowspan attributes 2026-02-04 23:58:43 +05:30
Sydney
4999195a14 fix: add additional table attributes for emailer content support 2026-02-04 22:06:03 +05:30
Sydney
3d25f4b624 fix: add support for table tag attributes while sanitizing 2026-02-04 22:04:04 +05:30
Sydney
df37362516 fix: email formatting issue due to hardcoded table css 2026-02-04 21:44:18 +05:30
Ritvik Sardana
a7135bc17b fix(search): prepare doc if field exists 2026-02-04 00:26:26 +05:30
Ritvik Sardana
e92963357f fix: persist rows count in list view 2026-02-04 00:25:05 +05:30
Sydney
257c12e79f fix: add regex support for latin characters and input support for MultiInput for mail ids 2026-02-03 22:27:20 +05:30
Sydney
233b935393 fix: add support for display names in mail 2026-02-03 15:21:51 +05:30
Sydney
23571113f6 fix: disable input for image captions in textinput 2026-02-03 13:47:09 +05:30
Pratik
cf0bcb1897 Merge remote-tracking branch 'upstream/develop' into fix/saved-reply-bug 2026-02-03 13:06:07 +05:30
RitvikSardana
6ca100fd15 Merge pull request #2970 from RitvikSardana/sag-fix
fix: add type hints
2026-02-03 12:30:21 +05:30
Pratik
ebf145f432 fix: save bug 2026-02-03 12:29:36 +05:30
Ritvik Sardana
f9240bc248 fix: add type hints 2026-02-03 10:55:36 +05:30
RitvikSardana
71840b9aa5 Merge pull request #2939 from frappe/l10n_develop2
chore: sync translations from crowdin
2026-02-02 21:44:39 +05:30
RitvikSardana
7fc9a611d0 Merge pull request #2960 from RitvikSardana/security-fix
fix(security): remove roles and unwanted files
2026-02-02 21:03:29 +05:30
Pratik
69c8626f80 fix: use standard api for fetching agent 2026-02-02 20:52:05 +05:30
Pratik
b3b6ac9a04 fix: security issues 2026-02-02 20:52:05 +05:30
Ritvik Sardana
b219aefb20 fix: version bump 2026-02-02 20:52:05 +05:30
Ritvik Sardana
d150c290fb fix: version bump 2026-02-02 20:52:05 +05:30
Ritvik Sardana
81810afdf8 fix: add signup auth and redirect route perm 2026-02-02 20:52:05 +05:30
RitvikSardana
783ee55658 Merge pull request #2966 from pratikb64/fix/security-fixes
fix: security issues
2026-02-02 20:47:34 +05:30
Ritvik Sardana
d2dbddd5a4 fix(test): update test cases 2026-02-02 20:18:31 +05:30
Ritvik Sardana
e4ee29f95e fix: add perm checks for API endpoints 2026-02-02 17:59:28 +05:30
Ritvik Sardana
0da0b73dc8 fix: select perms instead of read perm for correct doctypes 2026-02-02 17:34:09 +05:30
Pratik
064110d940 fix: use standard api for fetching agent 2026-02-02 17:29:22 +05:30
Aradhya-Tripathi
a76ff09d6e chore(build): Setup out dir and index from project root 2026-02-02 15:55:15 +05:30
Pratik
348884a912 fix: security issues 2026-02-02 15:35:24 +05:30
RitvikSardana
07ef28dbca Merge pull request #2961 from RitvikSardana/imm-fix
fix: add signup auth and redirect route perm
2026-02-02 13:34:41 +05:30
Ritvik Sardana
a3116603c7 fix: version bump 2026-02-02 13:29:39 +05:30
Ritvik Sardana
1ce95fcab5 fix: version bump 2026-02-02 13:29:05 +05:30
Ritvik Sardana
b625a95e22 fix: add signup auth and redirect route perm 2026-02-02 13:21:48 +05:30
Ritvik Sardana
b45a658b01 fix(security): remove roles and unwanted files 2026-02-02 13:10:03 +05:30
RitvikSardana
0376a3626d Merge pull request #2904 from earona/patch-1
ci: fix generate POT workflow
2026-02-02 09:34:14 +05:30
Aradhya-Tripathi
ce4c738898 chore(setup): Add build info in pyproject 2026-01-30 14:39:37 +05:30
Pratik
fd4d53b35e fix: avg time metrics months 2026-01-30 13:08:29 +05:30
Pratik
de9754904a fix: CI errors 2026-01-30 11:59:26 +05:30
Pratik
7cc1b46903 test: remove unnecessary test 2026-01-29 18:04:26 +05:30
Pratik
70d6fb4e15 fix: HD View is_standard edit permission 2026-01-29 18:01:11 +05:30
Pratik
174377e0fe fix: hd view is_standard form edit 2026-01-29 16:46:13 +05:30
Pratik
fb78980e56 fix: pending tickets placehoder 2026-01-29 16:09:22 +05:30
Pratik
fd5276eb0b fix: fixtures 2026-01-29 15:44:58 +05:30
Pratik
a56f24a75d fix: code cleanup 2026-01-29 15:20:42 +05:30
Pratik
51d3af5dd2 feat: refactor pending tickets component to table layout & add SLA urgency coloring 2026-01-29 14:32:20 +05:30
Sydney Gomes
43038be819 Merge pull request #2954 from aerodeval/feat/uniInput-missing-translation
Feat/uni input missing translation
2026-01-29 12:58:42 +05:30
Sydney Gomes
a4f7a0013e Merge branch 'frappe:develop' into feat/uniInput-missing-translation 2026-01-29 12:12:03 +05:30
Sydney
3396306457 fix: add translation strings for uniInput 2026-01-29 12:10:43 +05:30
Pratik
989f9cd9e6 feat: add fixtures & handle redirects 2026-01-28 22:57:18 +05:30
Shariq Ansari
5e1bb213c1 Merge branch 'develop' into l10n_develop2 2026-01-28 21:29:41 +05:30
Shariq Ansari
33785829c1 Merge pull request #2951 from aerodeval/fix/posthog-issue 2026-01-28 20:53:55 +05:30
Sydney
82d3751f80 fix: posthog optional chaining added to fix close button bug 2026-01-28 20:45:55 +05:30
Pratik
c3d7d3baae Merge remote-tracking branch 'upstream/develop' into feat/agent-landing-page 2026-01-28 15:25:43 +05:30
Pratik
e87f82cf21 feat: handle __assigned_on filter 2026-01-28 15:23:34 +05:30
Pratik
9c6d8be648 feat: add is_standard field 2026-01-27 23:49:18 +05:30
artykbasar
c3d7ba0255 Merge branch 'frappe:develop' into feat/email-domain-desk-links-clean 2026-01-26 08:52:30 +00:00
RitvikSardana
614d2855ea Merge pull request #2943 from RitvikSardana/auth-paths
fix: add OAuth2 paths
2026-01-26 13:15:58 +05:30
Ritvik Sardana
a94013e8d6 fix: add OAuth2 paths 2026-01-26 13:14:33 +05:30
Sydney Gomes
7d2cfdf401 Merge pull request #2902 from aerodeval/feat/after-hours-banner
feat: display a dismissible banner if ticket is raised outside working hours
2026-01-23 22:06:58 +05:30
Sydney Gomes
acd43e2657 Merge branch 'develop' into feat/after-hours-banner 2026-01-23 21:56:57 +05:30
Sydney
c8193ed6bc fix: compare wrt to date and time for next day 2026-01-23 20:28:24 +05:30
Sydney
78812bb9c4 refactor: rename field for better understanding and code cleanup 2026-01-23 18:44:52 +05:30
RitvikSardana
b1be315b12 Merge pull request #2941 from RitvikSardana/auth-custom-login2
fix: custom login auth path
2026-01-23 17:50:16 +05:30
Ritvik Sardana
2dc26b378d fix: custom login auth path 2026-01-23 17:45:13 +05:30
RitvikSardana
27d685e77c Merge pull request #2940 from frappe/revert-2938-auth-custom-login
Revert "fix: allow custom login api"
2026-01-23 17:42:27 +05:30
RitvikSardana
710f567c40 Revert "fix: allow custom login api" 2026-01-23 17:42:01 +05:30
RitvikSardana
29ca9701c2 chore: Arabic translations 2026-01-23 17:38:17 +05:30
RitvikSardana
09552d7e90 chore: Dutch translations 2026-01-23 17:38:12 +05:30
RitvikSardana
3f8107db49 Merge pull request #2938 from RitvikSardana/auth-custom-login
fix: allow custom login api
2026-01-23 17:30:05 +05:30
Ritvik Sardana
73332cd4f0 fix: allow custom login api 2026-01-23 17:28:59 +05:30
RitvikSardana
2445eacac5 Merge pull request #2933 from RitvikSardana/allowed-endpoints
fix(security): limit auth hooks
2026-01-23 17:00:14 +05:30
RitvikSardana
15f5d969c4 chore: version bump 2026-01-23 16:57:15 +05:30
RitvikSardana
32dc6ef93d Merge pull request #2934 from RitvikSardana/fix-fail-install
fix: fail install
2026-01-23 16:48:44 +05:30
Ritvik Sardana
402dd042ae chore: code cleanup 2026-01-23 16:44:32 +05:30
Ritvik Sardana
012b6b91ea fix: add agent_name field while installing 2026-01-23 16:43:56 +05:30
Ritvik Sardana
a7596090c4 fix(security): limit auth hooks 2026-01-23 16:29:49 +05:30
RitvikSardana
c1a1939ade Merge pull request #2932 from RitvikSardana/fix-patch-agent-customer
fix(patch): ticket id not found
2026-01-23 15:43:42 +05:30
Ritvik Sardana
73604e7f11 fix(patch): ticket id not found 2026-01-23 15:42:32 +05:30
Sydney
a7cba78972 refactor: fix test cases 2026-01-23 15:14:10 +05:30
RitvikSardana
30f2a99592 Merge pull request #2900 from RitvikSardana/fix-last-reply
fix: add fields for last customer and agent response
2026-01-23 14:15:21 +05:30
RitvikSardana
53a93d3e54 Merge branch 'develop' into fix-last-reply 2026-01-23 14:04:46 +05:30
Sydney
b30c71462c refactor: refactor code changes 2026-01-23 13:37:58 +05:30
RitvikSardana
dfc69c1d41 chore: version bump 2026-01-23 12:45:04 +05:30
RitvikSardana
84b9d42799 Merge pull request #2930 from RitvikSardana/notification-seen
fix: notification styles and order by
2026-01-23 12:38:14 +05:30
Ritvik Sardana
c96b00db75 fix: notification styles and order by 2026-01-23 12:36:45 +05:30
Sydney
21115455b0 fix: fix logic for day calculation 2026-01-23 01:17:41 +05:30
Sydney
d00e2b6dbf chore: code cleanup for early exit 2026-01-22 23:46:15 +05:30
RitvikSardana
3431805b73 Merge pull request #2922 from frappe/l10n_develop2
chore: sync translations from crowdin
2026-01-22 23:41:02 +05:30
Sydney
2f787394b0 fix: handle issue where ticket is being shown after next day 2026-01-22 23:08:22 +05:30
RitvikSardana
e4372f72cf chore: Bosnian translations 2026-01-22 17:31:54 +05:30
RitvikSardana
aa70598d7a chore: Swedish translations 2026-01-22 17:31:50 +05:30
RitvikSardana
2c4ec37fb1 chore: Dutch translations 2026-01-22 17:31:49 +05:30
Sydney
bea7b1bb98 chore: add documentation link for the settings 2026-01-22 17:16:00 +05:30
RitvikSardana
e17fda5e2a Merge pull request #2923 from pratikb64/fix/saved-reply-patch
fix(patch): rename canned response
2026-01-22 15:44:25 +05:30
Sydney
f34377d8a9 chore: code cleanup 2026-01-22 15:20:20 +05:30
Sydney
af281d4277 chore: fix ui inconsistency 2026-01-22 15:17:46 +05:30
Pratik
1888f24f46 fix: rename canned response patch 2026-01-22 13:07:46 +05:30
Sydney
e29792803b chore: make changes in banner for better consistency 2026-01-22 12:44:15 +05:30
RitvikSardana
774b9073a1 chore: Norwegian Bokmal translations 2026-01-21 17:10:22 +05:30
RitvikSardana
41fd854f2d chore: Bosnian translations 2026-01-21 17:10:20 +05:30
RitvikSardana
78282416d1 chore: Croatian translations 2026-01-21 17:10:17 +05:30
RitvikSardana
3da40a1fed chore: Portuguese, Brazilian translations 2026-01-21 17:10:15 +05:30
RitvikSardana
c968fdf0f3 chore: Vietnamese translations 2026-01-21 17:10:14 +05:30
RitvikSardana
52c01e93e9 chore: Chinese Simplified translations 2026-01-21 17:10:13 +05:30
RitvikSardana
4b7a065bae chore: Turkish translations 2026-01-21 17:10:12 +05:30
RitvikSardana
7932b40420 chore: Swedish translations 2026-01-21 17:10:11 +05:30
RitvikSardana
66b50e3799 chore: Slovenian translations 2026-01-21 17:10:08 +05:30
RitvikSardana
71780d5e04 chore: Portuguese translations 2026-01-21 17:10:07 +05:30
RitvikSardana
45bf04d592 chore: Polish translations 2026-01-21 17:10:05 +05:30
RitvikSardana
6f161fd717 chore: Italian translations 2026-01-21 17:10:04 +05:30
RitvikSardana
0ca91888d2 chore: German translations 2026-01-21 17:10:03 +05:30
RitvikSardana
c18eb9f361 chore: Arabic translations 2026-01-21 17:10:00 +05:30
RitvikSardana
f9b2b423af chore: Spanish translations 2026-01-21 17:09:58 +05:30
RitvikSardana
57d00bb726 chore: French translations 2026-01-21 17:09:57 +05:30
RitvikSardana
e60cedd170 chore: Indonesian translations 2026-01-21 17:09:56 +05:30
RitvikSardana
1dbec24253 chore: Russian translations 2026-01-21 17:09:55 +05:30
RitvikSardana
dc1bb0596a chore: Persian translations 2026-01-21 17:09:53 +05:30
RitvikSardana
cc9a1638f6 chore: Dutch translations 2026-01-21 17:09:52 +05:30
RitvikSardana
9447c8ccd4 chore: Hungarian translations 2026-01-21 17:09:51 +05:30
Sydney
a37ca84c28 refactor: change variable name and fix ui 2026-01-21 11:38:01 +05:30
Ritvik Sardana
8ff1ffa54e chore: code cleanup 2026-01-21 01:02:43 +05:30
Ritvik Sardana
b3204cc1c4 fix(settings): outside hours title and desc 2026-01-21 01:00:31 +05:30
Ritvik Sardana
447fa003ff chore: update frappe-ui 2026-01-21 00:47:33 +05:30
RitvikSardana
6a8407aca8 Merge branch 'develop' into feat/after-hours-banner 2026-01-21 00:41:29 +05:30
Ritvik Sardana
c4a00bc6df refactor: api functions and UI 2026-01-21 00:31:06 +05:30
Sydney
0a728d17cb fix: fixing reset button issue for banner message 2026-01-20 22:51:46 +05:30
Sydney
c8e01f42cd chore: running precommits 2026-01-20 22:15:16 +05:30
Sydney
0e8f6c1070 chore: update better titles for setting input 2026-01-20 22:06:45 +05:30
Sydney
7d760c3a57 chore: update default message doctype and test cases 2026-01-20 21:45:50 +05:30
Sydney
8ae3d1ef97 refactor: make ui changes as per requirement and fix general settings 2026-01-20 20:02:15 +05:30
RitvikSardana
696e267623 Merge pull request #2880 from frappe/l10n_develop2
chore: sync translations from crowdin
2026-01-20 17:07:21 +05:30
Pratik
3ea717978a Merge remote-tracking branch 'upstream/develop' into feat/agent-landing-page 2026-01-20 16:33:06 +05:30
Pratik
e3b0469908 fix: labels 2026-01-20 16:29:59 +05:30
Pratik
bddb574f5f chore: update frappe-ui version 2026-01-20 15:53:18 +05:30
RitvikSardana
b969659b97 Merge pull request #2914 from RitvikSardana/agent-datastructure
fix(HD Agent): make fields mandatory
2026-01-20 00:41:32 +05:30
Ritvik Sardana
8b765ba34d chore: code cleanup 2026-01-19 23:48:46 +05:30
Ritvik Sardana
6944796c8e test: add agent_name field in test utils 2026-01-19 23:43:19 +05:30
Ritvik Sardana
04d289bb95 test: add agent_name field in test utils 2026-01-19 23:32:56 +05:30
Ritvik Sardana
c34dfc18ac fix(HD Agent): make fields mandatory 2026-01-19 23:23:13 +05:30
Sydney
c319c21579 feat: enhance outside working hours banner logic and improve test coverage 2026-01-19 19:51:58 +05:30
Sydney
f237f3bc3a fix: Initialize textarea with default message when banner is enabled 2026-01-19 19:15:23 +05:30
Sydney
6a48ea4cca feat: update outside hours banner logic and remove unused banner message code 2026-01-19 18:45:21 +05:30
RitvikSardana
da67591173 Merge pull request #2913 from RitvikSardana/lockFile-update
fix: update yarn lock in frontend folder
2026-01-19 18:36:57 +05:30
Ritvik Sardana
b784ea807f fix: update yarn lock in frontend folder 2026-01-19 18:36:19 +05:30
Sydney Gomes
6463e7b0cb Merge branch 'frappe:develop' into feat/after-hours-banner 2026-01-19 18:28:22 +05:30
RitvikSardana
cc1ec875e3 Merge pull request #2912 from RitvikSardana/chore-lockFile-update
fix: update lock file
2026-01-19 18:13:05 +05:30
Ritvik Sardana
6d6d3498cf fix: update lock file 2026-01-19 18:12:35 +05:30
RitvikSardana
30cd25eead Merge pull request #2910 from RitvikSardana/fix-comment-mention
fix(reactivity): mentions dropdown
2026-01-19 17:47:02 +05:30
Ritvik Sardana
53fe99dc8a fix(reactivity): mentions dropdown 2026-01-19 17:42:36 +05:30
Sydney
321af210c2 feat: implement default banner message for tickets created outside working hours though helpers 2026-01-19 15:10:46 +05:30
Sydney
f700832f00 chore: add test cases to check if ticket is outside working hours 2026-01-19 14:26:07 +05:30
RitvikSardana
c657b1c901 Merge pull request #2907 from RitvikSardana/notification-mention-duplicate
fix: duplicate mention notification
2026-01-19 14:01:28 +05:30
Ritvik Sardana
07ea05aa37 fix: notify only when comment is updated 2026-01-19 13:54:05 +05:30
Ritvik Sardana
67a753e5fb fix: duplicate mention notification 2026-01-19 13:46:40 +05:30
Ritvik Sardana
af46f0b818 chore: code cleanup 2026-01-19 12:48:04 +05:30
Ritvik Sardana
8f2baba838 chore: code cleanup 2026-01-19 12:47:38 +05:30
Ritvik Sardana
41578afca1 fix: better patch 2026-01-19 12:47:38 +05:30
Ritvik Sardana
b3fa7241d7 fix: better patch 2026-01-19 12:47:38 +05:30
Ritvik Sardana
9eb3902f63 fix: add fields for last customer and agent response 2026-01-19 12:47:38 +05:30
RitvikSardana
485a457e04 Merge pull request #2905 from RitvikSardana/fix-email-scroll
fix: email scroll & notifications
2026-01-19 11:02:42 +05:30
Ritvik Sardana
c696a595dd fix: render notifications properly 2026-01-19 10:56:54 +05:30
Ritvik Sardana
f4339b51e1 fix(EmailBox): load content properly 2026-01-19 10:56:39 +05:30
Sydney
5d55c08e36 chore: apply formatting from pre‑commit 2026-01-18 22:59:46 +05:30
Sydney
accef0aeb6 fix: removing unused import 2026-01-18 20:59:16 +05:30
Exequiel Arona
73b4ecc351 ci: fix generate POT workflow 2026-01-17 17:21:48 -03:00
artykbasar
f4b7224aaa Merge branch 'frappe:develop' into feat/email-domain-desk-links-clean 2026-01-17 20:08:58 +00:00
Sydney
a682ace80a fix: fix the reset button in general settings and display button only if banner setting is enabled 2026-01-16 22:16:12 +05:30
Sydney Gomes
8de148249b Merge branch 'frappe:develop' into feat/after-hours-banner 2026-01-16 21:07:00 +05:30
Sydney
0bb4ced6ae feat: set custom template in doctype for after hours banner message field 2026-01-16 21:00:16 +05:30
Sydney
b22ec72400 refactor: display tooltip explanation only for resolution 2026-01-16 20:57:04 +05:30
Sydney
b8be41911f feat: add template rendering in general settings to configure after hours banner message 2026-01-16 20:56:17 +05:30
RitvikSardana
a361a60429 Merge pull request #2812 from samarth93/feature/comment-reactions
feat: add comment reactions (thumbs up) feature
2026-01-16 13:01:37 +05:30
RitvikSardana
e11ebf6af8 Merge pull request #2897 from RitvikSardana/fix-tests-cr
test(saved-reply): revert user to admin
2026-01-16 12:10:22 +05:30
Ritvik Sardana
6c9d66e06b test(saved-reply): revert user to admin 2026-01-16 12:05:26 +05:30
RitvikSardana
f4ce0caac6 chore: version bump 2026-01-16 11:54:05 +05:30
Sydney Gomes
62f0356506 Merge branch 'frappe:develop' into feat/after-hours-banner 2026-01-16 11:20:16 +05:30
RitvikSardana
d692dd8952 chore: handle versioning properly 2026-01-16 10:52:22 +05:30
Sydney Gomes
b59b678555 Merge branch 'frappe:develop' into feat/after-hours-banner 2026-01-16 00:30:09 +05:30
Sydney
047c826a91 refactor: refine logic for detecting tickets outside working hours 2026-01-16 00:29:04 +05:30
Sydney
4ea2a59865 feat: add after hours banner settings in setting modal 2026-01-16 00:26:52 +05:30
Sydney
1caa02ef69 chore: improve UX by explaining SLA-based due times 2026-01-16 00:26:05 +05:30
Sydney
8637599c13 refactor: fetch priority description through createListResource 2026-01-16 00:24:52 +05:30
RitvikSardana
9858c5384c Merge pull request #2891 from RitvikSardana/dashboard-count
fix(dashboard): order by count
2026-01-15 15:36:43 +05:30
Ritvik Sardana
44877bd0e8 fix(dashboard): order by count 2026-01-15 15:34:59 +05:30
Sydney Gomes
57dc8d23ba Merge branch 'frappe:develop' into feat/after-hours-banner 2026-01-15 02:11:50 +05:30
Sydney
f782a96c3c feat: add method to query ticket priorities and their descriptions 2026-01-15 02:09:52 +05:30
Sydney
fdb6c4fd42 feat: display banner on ticket based on ticket sla conditions 2026-01-15 02:06:26 +05:30
Sydney
c7753beb44 chore: add is_outside field to track tickets raised outside working hours 2026-01-15 02:01:47 +05:30
Sydney
1a01f4adf6 feat: display the selected priority description through tooltip 2026-01-15 02:00:25 +05:30
Pratik
ff502ebdee refactor: use frappe-ui EChart component 2026-01-14 16:22:32 +00:00
Pratik
bf8e7de854 test: add tests 2026-01-14 14:10:11 +00:00
RitvikSardana
b389b80436 chore: code cleanup 2026-01-14 17:01:24 +05:30
RitvikSardana
59f93c3c9c chore: Update frappe dependency version 2026-01-14 17:00:11 +05:30
RitvikSardana
d54d1bc888 Merge pull request #2886 from frappe/v16-support-2
fix: better support for v16
2026-01-14 16:57:39 +05:30
Ritvik Sardana
3b85a3b269 fix: better support for v16 2026-01-14 16:51:44 +05:30
RitvikSardana
61b3ab2e4a Merge pull request #2884 from RitvikSardana/search-char
fix: sanitize search query
2026-01-14 13:48:51 +05:30
Ritvik Sardana
5182126876 fix: sanitize search query 2026-01-14 13:48:22 +05:30
Pratik
15e530c007 refactor: feedback card 2026-01-14 07:34:13 +00:00
RitvikSardana
ca8b551696 Merge pull request #2878 from RitvikSardana/test-split-merge
test: add tests for ticket split and merge
2026-01-14 13:01:26 +05:30
RitvikSardana
3e1e20e827 Merge pull request #2881 from RitvikSardana/minor-fixes
fix: minor UI fixes
2026-01-14 13:01:06 +05:30
Ritvik Sardana
2c3e8dbcb2 fix(styles): reaction tooltip 2026-01-14 12:59:23 +05:30
Ritvik Sardana
1515970c39 fix(tests): add email domain 2026-01-14 12:38:03 +05:30
Ritvik Sardana
1ce75aa717 chore: code cleanup 2026-01-14 12:18:02 +05:30
Ritvik Sardana
6bd424ff83 fix: loading state in editor 2026-01-14 11:02:20 +05:30
Ritvik Sardana
9602681745 fix: minor style changes 2026-01-14 10:28:22 +05:30
Ritvik Sardana
b5ff021b86 fix: order_by in ticket_summary report 2026-01-14 09:46:44 +05:30
RitvikSardana
79943278e9 chore: French translations 2026-01-14 08:26:48 +05:30
artykbasar
43038ecd99 feat(settings): support Email Domain for custom email accounts
- Add Email Domain link field for Custom provider and auto-fill server settings
- Open Email Domain/Email Account in Desk for create/edit
- Avoid sending Custom-domain fields for non-Custom providers
- Add service aliases for legacy Email Account service values (e.g. Outlook.com, Yahoo Mail, Yandex.Mail)
2026-01-13 20:06:58 +00:00
samarth93
96faca2b87 test: enable comment reactions setting in test setup 2026-01-13 20:32:53 +05:30
Ritvik Sardana
b652cb9c65 test: add tests for ticket split and merge 2026-01-13 19:05:13 +05:30
RitvikSardana
8127421856 Merge pull request #2859 from frappe/l10n_develop2
chore: sync translations from crowdin
2026-01-13 16:12:31 +05:30
Pratik
dc731d26f2 refactor: pending tickets chart 2026-01-13 10:00:49 +00:00
Sydney Gomes
52f9e2db96 Merge branch 'frappe:develop' into feat/after-hours-banner 2026-01-13 14:57:16 +05:30
Sydney
9368a5a2d2 feat: banner for outside working hours displayed on frontend 2026-01-13 14:47:15 +05:30
Sydney
928652344d feat: add method to check working hours based on existing SLA's 2026-01-13 14:45:53 +05:30
Sydney
d82bf598dc feat:Add check and custom field to display after hours banner in settings doctype 2026-01-13 14:44:40 +05:30
RitvikSardana
cf0e6acc80 Merge branch 'develop' into feature/comment-reactions 2026-01-13 11:51:59 +05:30
Ritvik Sardana
813841f2b2 chore: arrange child table properly 2026-01-13 11:50:48 +05:30
Ritvik Sardana
c8ab762d89 fix: add socket support and make color changes 2026-01-13 11:37:28 +05:30
RitvikSardana
e5f9eebb51 Merge pull request #2874 from RitvikSardana/readme-update
chore: update readme
2026-01-13 10:37:03 +05:30
Ritvik Sardana
03fe225df7 chore: update readme 2026-01-13 10:18:57 +05:30
RitvikSardana
48b7dd3aa0 Merge pull request #2873 from RitvikSardana/test-fixes
test: handle dates properly
2026-01-13 10:12:52 +05:30
Ritvik Sardana
90c365a26c test: handle dates properly 2026-01-13 10:07:36 +05:30
RitvikSardana
f2f195e855 chore: Indonesian translations 2026-01-11 08:23:43 +05:30
RitvikSardana
ec42c8fcff Merge pull request #2867 from vkWeb/fix-@mention
fix: rendering @mention in comments
2026-01-09 17:41:00 +05:30
Vivek Agrawal
d8228382b0 fix: rendering @mention in comments 2026-01-09 15:00:48 +05:30
Pratik
114fcfecc9 Merge remote-tracking branch 'upstream/develop' into feat/agent-landing-page 2026-01-09 13:07:01 +05:30
RitvikSardana
3fe45bcf7e chore: Russian translations 2026-01-09 08:06:02 +05:30
RitvikSardana
b8a4803824 chore: Hungarian translations 2026-01-07 07:32:55 +05:30
RitvikSardana
0858dbdc03 Merge pull request #2863 from RitvikSardana/fix-custom-button
fix: dont run onClick twice
2026-01-07 00:24:25 +05:30
RitvikSardana
ec82ee91a9 fix: revert translation changes 2026-01-07 00:23:57 +05:30
Ritvik Sardana
4e1e261a51 fix: dont run onClick twice 2026-01-07 00:20:24 +05:30
RitvikSardana
5d8a7ba05c chore: Dutch translations 2026-01-06 07:25:25 +05:30
RitvikSardana
4004daf191 chore: Hungarian translations 2026-01-06 07:25:24 +05:30
samarth93
0b05a7c021 feat: add enable_comment_reactions setting to toggle feature 2026-01-04 21:12:17 +05:30
RitvikSardana
d23fb1287c chore: Bump version from 1.18.0 to 1.18.1 2026-01-02 13:04:43 +05:30
RitvikSardana
a5d9530c41 chore: version bump 2026-01-01 21:26:01 +05:30
RitvikSardana
89a180a876 Merge pull request #2854 from pratikb64/fix/saved-reply-bugs
fix: saved reply renaming
2026-01-01 21:23:43 +05:30
Pratik
819c28a805 fix: saved reply renaming 2026-01-01 06:43:17 +00:00
samarth93
7a18b330ca fix: use format() instead of f-string for Python 3.14 compatibility 2025-12-31 23:26:07 +05:30
samarth93
8d1101c7eb style: remove trailing comma for prettier 2025-12-31 23:20:47 +05:30
samarth93
de070ed4ef test: update assertions for new notification message format 2025-12-31 23:15:15 +05:30
samarth93
1ca388de7b style: apply prettier formatting 2025-12-31 23:14:00 +05:30
samarth93
f69de39a09 fix: improve reaction notification display and routing 2025-12-31 23:07:13 +05:30
RitvikSardana
77a88bacd7 Merge pull request #2708 from pratikb64/refactor/canned-responses 2025-12-31 12:03:49 +05:30
Pratik
78d42bd505 fix: ci lint error 2025-12-31 06:02:22 +00:00
Pratik
0789b95561 Merge remote-tracking branch 'upstream/develop' into refactor/canned-responses 2025-12-31 06:00:12 +00:00
RitvikSardana
4b191edbc1 Merge pull request #2836 from bvisible/feat/i18n-vue-components
feat(i18n): Add translation wrappers to Vue components
2025-12-31 03:23:04 +05:30
RitvikSardana
4532c42f64 fix: add translation strings for sidebar label 2025-12-31 03:13:38 +05:30
RitvikSardana
c025d431e4 Merge pull request #2839 from KerollesFathy/fix-hd-reports-routing
fix(workspace): helpdesk reports routing
2025-12-31 03:04:04 +05:30
RitvikSardana
e858a3dc05 Merge pull request #2842 from asaura08/patch-1
fix: last_synced_at to last_received_at in email sync
2025-12-31 03:03:20 +05:30
RitvikSardana
0a80fb6850 Merge pull request #2846 from RitvikSardana/bump-python
chore: bump python to v3.14
2025-12-31 02:54:16 +05:30
Ritvik Sardana
20ea608045 fix(tests): handle holiday cases in utils 2025-12-31 02:40:26 +05:30
KerollesFathy
c395c8b67a fix(workspace): helpdesk reports routing 2025-12-30 17:58:09 +00:00
KerollesFathy
ae97eafff5 revert: helpdesk reports routing"
This reverts commit 7f785be3b8.
2025-12-30 17:38:29 +00:00
Ritvik Sardana
cae4d382ec chore: bump pre commit versioning 2025-12-30 18:26:21 +05:30
Ritvik Sardana
5853587bbb chore(ci): correct command for coverage 2025-12-30 18:22:17 +05:30
Ritvik Sardana
66c0790f98 chore: bump node version 2025-12-30 18:17:53 +05:30
Ritvik Sardana
ca74bcd41e fix: show test coverage 2025-12-30 18:12:40 +05:30
Ritvik Sardana
5cf21e2003 chore: bump python version to 3.14 2025-12-30 18:10:57 +05:30
Ritvik Sardana
75d6fa56c5 fix: add list count 2025-12-30 18:01:48 +05:30
Pratik
ef5f3938ca chore: add translation 2025-12-30 10:50:17 +00:00
Pratik
37ee3c5ca8 chore: add translation 2025-12-30 10:37:13 +00:00
Pratik
a89aab3a42 fix: avatar label & loading state in reply selector modal 2025-12-30 10:24:04 +00:00
Ritvik Sardana
1068f8bc86 fix(naming): use title field for naming in Saved Reply 2025-12-30 15:03:44 +05:30
Jérémy Christillin
58dfc6d95d style: apply prettier formatting 2025-12-30 10:03:12 +01:00
RitvikSardana
83bc341b88 Merge pull request #2837 from frappe/pot_develop_2025-12-21
chore: update POT file
2025-12-30 12:55:00 +05:30
RitvikSardana
501e1a903e Merge pull request #2833 from frappe/l10n_develop2
chore: sync translations from crowdin
2025-12-30 12:45:31 +05:30
RitvikSardana
1218e9219a chore: Persian translations 2025-12-30 07:09:38 +05:30
RitvikSardana
930e8ec184 chore: Spanish translations 2025-12-30 07:09:37 +05:30
Elnegren
7432d3e9d3 fix: last_synced_at to last_received_at in email sync 2025-12-29 23:24:46 +01:00
RitvikSardana
847e485fb4 chore: Persian translations 2025-12-28 06:55:27 +05:30
Pratik
5b7a458b42 fix: focus on reply selector modal open 2025-12-24 06:39:06 +00:00
KerollesFathy
7f785be3b8 fix(workspace): helpdesk reports routing 2025-12-22 13:34:29 +00:00
Pratik
386632051d fix: tiptap extension suggestion search 2025-12-22 10:08:34 +00:00
Pratik
ead471ceb1 chore: fix typo 2025-12-22 09:34:20 +00:00
Pratik
833a185855 Merge remote-tracking branch 'upstream/develop' into refactor/canned-responses 2025-12-22 07:03:39 +00:00
Pratik
ecfdd6d193 test: add test for editing personal reply 2025-12-22 05:32:32 +00:00
Pratik
40942f6759 refactor: rewrite sql into frappe qb 2025-12-22 05:08:40 +00:00
Pratik
ad3359f785 test: add tests 2025-12-21 14:49:42 +00:00
frappe-pr-bot
63d4442a54 chore: update POT file 2025-12-21 10:37:35 +00:00
Jérémy Christillin
838ffcdf74 feat(i18n): Add French translations for new i18n strings
Add 40+ French translations for settings, SLA, and workflow strings.
2025-12-20 14:26:28 +01:00
Jérémy Christillin
f6db2f72d7 feat(i18n): Add translation wrappers to Vue components
Add __() translation function wrappers to hardcoded strings in Vue/TypeScript
components to enable internationalization support.

Files modified:
- ListViewBuilder, SearchMultiSelect, FilterPopover components
- Settings: NewTeamModal, ExportModal
- Ticket views: TicketAgent, MobileTicketAgent, TicketCustomer, TicketAgentSidebar
- Knowledge Base: Article, NewArticle, KnowledgeBase views
- Contact: ContactDialog, SetContactPhoneModal
- Notifications: MobileNotifications
- Activity: ActivityHeader, CommunicationArea
- Customer: NewCustomerDialog

This enables proper translation of UI strings through PO files.
2025-12-20 14:16:22 +01:00
samarth93
f313fd00b1 fix: wrap user-facing strings in translate function 2025-12-19 22:54:20 +05:30
samarth93
270ece00f9 fix: prettier formatting 2025-12-19 22:51:35 +05:30
samarth93
73673ea050 fix: pre-commit formatting 2025-12-19 22:39:54 +05:30
samarth93
7535c416a1 feat: grouped notifications and UI refinements for comment reactions 2025-12-19 22:26:45 +05:30
Pratik
d2d24a516c fix: loading indicator fix 2025-12-18 05:44:28 +00:00
Pratik
a24986d1bb fix: minor conditional logic fix 2025-12-18 05:23:41 +00:00
RitvikSardana
2adbe1cdba chore: Hungarian translations 2025-12-17 04:49:29 +05:30
RitvikSardana
5eddc89075 chore: Hungarian translations 2025-12-16 04:34:19 +05:30
RitvikSardana
d0c6e5167a chore: Spanish translations 2025-12-16 04:34:15 +05:30
Pratik
9723ccb5ae refactor: rename canned response to saved reply 2025-12-15 10:12:37 +00:00
RitvikSardana
8baa72c007 Merge pull request #2823 from frappe/pot_develop_2025-12-14
chore: update POT file
2025-12-15 12:51:24 +05:30
RitvikSardana
b7de0086a8 Merge pull request #2816 from frappe/l10n_develop2
chore: sync translations from crowdin
2025-12-15 12:51:00 +05:30
RitvikSardana
63d92eab5c Merge pull request #2798 from samarth93/fix/preserve-query-params-#2790
fix: preserve query parameters when switching tabs (#2790)
2025-12-15 12:46:50 +05:30
RitvikSardana
4084a24649 Merge pull request #2827 from RitvikSardana/count-fix
fix: use get_list to get count
2025-12-15 12:03:58 +05:30
Ritvik Sardana
8d847962f3 fix: add fallback value 2025-12-15 11:47:43 +05:30
Ritvik Sardana
698659f7c4 chore: code cleanup 2025-12-15 11:46:57 +05:30
Ritvik Sardana
28947034ba fix: use get_list to get count 2025-12-15 11:42:56 +05:30
RitvikSardana
6cd0163e2d chore: Russian translations 2025-12-15 04:34:29 +05:30
frappe-pr-bot
c5b6ab3569 chore: update POT file 2025-12-14 10:37:03 +00:00
RitvikSardana
3189db9884 chore: Hungarian translations 2025-12-14 04:10:25 +05:30
RitvikSardana
f2bacb6200 chore: Hungarian translations 2025-12-13 03:57:09 +05:30
Pratik
5e56fc78d2 fix: pending tickets card sorting 2025-12-12 11:30:37 +00:00
Pratik
60c38dbd38 fix: change pending tickets filter logic 2025-12-12 11:10:12 +00:00
RitvikSardana
032e1b0bbe chore: Hungarian translations 2025-12-12 03:47:25 +05:30
KerollesFathy
782313a084 fix: move release.yml to workflows dir 2025-12-11 13:44:42 +00:00
KerollesFathy
df2270a9c8 ci: setup semantic-release workflow 2025-12-11 13:04:52 +00:00
Pratik
6f4a01f476 fix: fix height 2025-12-11 12:50:05 +05:30
RitvikSardana
a1fd77f1f3 chore: Serbian (Latin) translations 2025-12-11 03:33:53 +05:30
RitvikSardana
39e38c27ec chore: Serbian (Cyrillic) translations 2025-12-11 03:33:52 +05:30
RitvikSardana
09e6d637dd chore: Esperanto translations 2025-12-10 03:06:36 +05:30
RitvikSardana
fee0b713c9 chore: Slovenian translations 2025-12-10 03:06:35 +05:30
RitvikSardana
d492740475 chore: French translations 2025-12-10 03:06:34 +05:30
RitvikSardana
211781be1c chore: Serbian (Latin) translations 2025-12-10 03:06:32 +05:30
RitvikSardana
2fc900c02d chore: Norwegian Bokmal translations 2025-12-10 03:06:31 +05:30
RitvikSardana
0744eb5d03 chore: Bosnian translations 2025-12-10 03:06:29 +05:30
RitvikSardana
e3661e9836 chore: Burmese translations 2025-12-10 03:06:27 +05:30
RitvikSardana
13aab390b0 chore: Croatian translations 2025-12-10 03:06:26 +05:30
RitvikSardana
c64dcea9b8 chore: Thai translations 2025-12-10 03:06:25 +05:30
RitvikSardana
ecb076eec8 chore: Tamil translations 2025-12-10 03:06:24 +05:30
RitvikSardana
b51a22c2b6 chore: Persian translations 2025-12-10 03:06:23 +05:30
RitvikSardana
50fb1c20fc chore: Indonesian translations 2025-12-10 03:06:22 +05:30
RitvikSardana
abd6d46963 chore: Portuguese, Brazilian translations 2025-12-10 03:06:20 +05:30
RitvikSardana
da338ef7b0 chore: Vietnamese translations 2025-12-10 03:06:19 +05:30
RitvikSardana
b5cee665b9 chore: Chinese Simplified translations 2025-12-10 03:06:18 +05:30
RitvikSardana
e3a7ea1516 chore: Turkish translations 2025-12-10 03:06:16 +05:30
RitvikSardana
68ad2efdf9 chore: Swedish translations 2025-12-10 03:06:15 +05:30
RitvikSardana
8acff3fc51 chore: Serbian (Cyrillic) translations 2025-12-10 03:06:14 +05:30
RitvikSardana
420c33787e chore: Russian translations 2025-12-10 03:06:12 +05:30
RitvikSardana
93f3504009 chore: Portuguese translations 2025-12-10 03:06:11 +05:30
RitvikSardana
7b9ff2497f chore: Polish translations 2025-12-10 03:06:10 +05:30
RitvikSardana
f1ad5b8e03 chore: Dutch translations 2025-12-10 03:06:09 +05:30
RitvikSardana
393ad9073b chore: Italian translations 2025-12-10 03:06:07 +05:30
RitvikSardana
ecc17e12e7 chore: Hungarian translations 2025-12-10 03:06:06 +05:30
RitvikSardana
4357bd544f chore: German translations 2025-12-10 03:06:05 +05:30
RitvikSardana
8c74a69625 chore: Danish translations 2025-12-10 03:06:04 +05:30
RitvikSardana
61b971c0d1 chore: Czech translations 2025-12-10 03:06:03 +05:30
RitvikSardana
b2776805f6 chore: Arabic translations 2025-12-10 03:06:02 +05:30
RitvikSardana
97e424c56b chore: Spanish translations 2025-12-10 03:06:00 +05:30
Pratik
29ecceec63 Merge branch 'develop' into refactor/canned-responses 2025-12-09 15:47:48 +00:00
samarth93
18c2aa1f69 chore: remove temporary pr description file 2025-12-09 21:13:00 +05:30
samarth93
3a3c3941df fix: use dynamic ticket name in tests
The test was failing because it tried to use hardcoded
'TEST-TICKET-001' name but HD Ticket uses autoname.

Changed to:
- Create ticket dynamically and store in self.test_ticket
- Reference self.test_ticket.name for comments
- Clean up ticket in tearDown
2025-12-09 21:04:37 +05:30
Pratik
712a09eaba fix: bug in saved reply select modal 2025-12-09 15:29:56 +00:00
samarth93
6733de3f00 fix: remove unused username variable
Fixes linter error from unused variable
2025-12-09 20:48:40 +05:30
Pratik
3c92a8d39e fix: code cleanup & refactor patches 2025-12-09 14:56:39 +00:00
samarth93
5671b4baa8 feat: implement preset emojis with validation and comprehensive tests
Addressing feedback:
1. One reaction per user (not multiple)
2. Preset emojis only: ['👍', '👎', '❤️', '🎉', '👀', '✅']
3. API validation to block non-preset emojis
4. Updated notification message: 'reacted with X on your comment'
5. Comprehensive test cases covering all requirements

Backend changes:
- Add PRESET_EMOJIS constant
- Add emoji validation in toggle_reaction API
- Change to one reaction per user (replaces on different emoji)
- Update notification message format
- Add get_preset_emojis() API

Frontend changes:
- Update emojiList to match preset emojis

Test cases added:
- test_one_reaction_per_user: Verifies only one reaction allowed
- test_reaction_count_accuracy: Tests count with 10 hearts, 3 thumbs up
- test_notification_created_on_reaction: Validates HD Notification creation
- test_only_preset_emojis_allowed: Ensures only preset emojis accepted
- test_reaction_toggle_behavior: Tests toggle on/off behavior
- test_get_reactions_returns_correct_data: Validates API response structure
2025-12-09 20:16:39 +05:30
Pratik
7f45ec6f18 refactor: add & use HD Saved Reply doctype 2025-12-09 13:38:39 +00:00
samarth93
26a20ac1d7 fix: rename to HD Comment Reaction and allow multiple reactions
Addressing feedback from @RitvikSardana:
1. Renamed child table from 'HD Reaction' to 'HD Comment Reaction'
2. Allow users to add multiple different reactions (not just one)
3. Updated PR description with screenshot

Changes:
- Rename HD Reaction → HD Comment Reaction (DocType name)
- Update toggle_reaction logic to allow multiple reactions per user
- Users can now react with different emojis (👍 + ❤️ + 🎉 etc)
- Clicking same emoji toggles it off
- Updated all references in code
2025-12-09 17:55:58 +05:30
samarth93
55ce67903b refactor: store reactions as child table with emoji picker
Based on feedback from @RitvikSardana:
- Replace standalone HD Comment Reaction with HD Reaction child table
- Store reactions inside HD Ticket Comment (like Gameplan)
- Add emoji picker with multiple emoji options (👍👎❤️😄🎉😕👀🚀)
- Users can only have one reaction per comment (clicking different emoji replaces)

Changes:
- New HD Reaction DocType (child table with emoji + user)
- Add reactions Table field to HD Ticket Comment
- Add toggle_reaction() and get_reactions() APIs
- Update CommentBox.vue with emoji picker popover
- Remove old HD Comment Reaction standalone DocType
2025-12-09 17:35:00 +05:30
RitvikSardana
8827be45c3 Merge pull request #2809 from frappe/pot_develop_2025-12-07
chore: update POT file
2025-12-09 15:50:46 +05:30
RitvikSardana
804251888c Merge pull request #2805 from frappe/l10n_develop2
chore: sync translations from crowdin
2025-12-09 15:50:20 +05:30
Pratik
c442a6b895 refactor: remove unused imports 2025-12-09 09:44:16 +00:00
Pratik
cd367702a8 Merge remote-tracking branch 'origin/develop' into feat/agent-landing-page 2025-12-09 09:36:42 +00:00
RitvikSardana
a9e35f9b9b chore: Russian translations 2025-12-09 03:05:45 +05:30
RitvikSardana
6b44eac9d1 chore: Hungarian translations 2025-12-09 03:05:41 +05:30
samarth93
d8c1f8ca19 feat: add comment reactions (thumbs up) feature
Allows users to react to comments with a thumbs up emoji instead of
creating new comments. This reduces ticket clutter when acknowledging
a comment.

Changes:
- Add new HD Comment Reaction DocType to store reactions
- Add toggle_reaction and get_comment_reactions API endpoints
- Add reaction UI to CommentBox.vue with hover tooltip showing users
- Send notification to comment author when reaction is added

Backend:
- helpdesk/helpdesk/doctype/hd_comment_reaction/ - new DocType
- API: toggle_reaction(comment, reaction) - add/remove reaction
- API: get_comment_reactions(comment) - list reactions with users

Frontend:
- CommentBox.vue - thumbs up button with count and user tooltip
- Highlights button when current user has reacted
- Real-time update via publish_event
2025-12-08 20:49:00 +05:30
Pratik
b9dd1018ff refactor: change file name 2025-12-08 11:18:42 +00:00
Pratik
d32b4e4998 fix: add icons in scope select 2025-12-08 11:12:05 +00:00
Pratik
722739a284 fix: minor enhancements 2025-12-08 09:39:38 +00:00
Pratik
328bf41309 refactor: rename canned response to saved reply 2025-12-07 17:12:52 +00:00
Pratik
ee33c13f88 fix: improve toast error message in saved replies preview dialog 2025-12-07 15:58:25 +00:00
Pratik
122cb44579 fix: improve patch logic 2025-12-07 15:12:20 +00:00
Pratik
a54dda5095 fix: owner field not getting set in patch 2025-12-07 15:00:58 +00:00
Pratik
87d273a3ff fix: patch order 2025-12-07 14:49:15 +00:00
Pratik
8012a59466 fix: add patch for email template fields 2025-12-07 14:43:46 +00:00
Pratik
e50de00a34 fix: code cleanup & enhancements 2025-12-07 14:34:52 +00:00
frappe-pr-bot
0d5d0e2b1d chore: update POT file 2025-12-07 10:36:14 +00:00
RitvikSardana
20fb1b7e42 chore: Russian translations 2025-12-07 02:51:54 +05:30
RitvikSardana
bdce05270a chore: Hungarian translations 2025-12-06 02:52:56 +05:30
RitvikSardana
8f2699c927 Merge pull request #2803 from RitvikSardana/customize-button
fix: add support for button variables in custom buttons
2025-12-05 22:47:27 +05:30
Ritvik Sardana
7f4ad4387a fix: add support for button variables in custom buttons 2025-12-05 22:37:08 +05:30
RitvikSardana
0f08da3b10 Merge pull request #2797 from frappe/l10n_develop2
chore: sync translations from crowdin
2025-12-05 21:19:17 +05:30
RitvikSardana
15965b2f54 Merge pull request #2794 from pratikb64/fix/settings-modal-bugs
fix: bugs related to frappe-ui update
2025-12-05 21:17:02 +05:30
Pratik
5171c3bf22 fix: ticket view tabs alignment 2025-12-05 14:20:13 +00:00
Pratik
cc42501517 fix: revert select element in gemeral settings 2025-12-05 11:11:52 +00:00
Pratik
2c2039faa6 fix: popover width 2025-12-05 10:55:26 +00:00
RitvikSardana
e9d9c3c858 Merge pull request #2795 from RitvikSardana/dashboard-security-fix
fix(security): dashboard APIs & realtime events
2025-12-05 16:06:05 +05:30
Ritvik Sardana
b2f7e029be fix: dont bombard socket events 2025-12-05 15:23:51 +05:30
Pratik
d6775677a2 fix: code cleanup 2025-12-05 07:48:26 +00:00
Pratik
4b43b6d01f fix: select options width & assigmnent rule bugs 2025-12-05 07:12:14 +00:00
Pratik
bb80b724c8 refactor: move tiptap extension 2025-12-05 04:55:23 +00:00
RitvikSardana
6f13958974 chore: Slovenian translations 2025-12-05 02:57:53 +05:30
RitvikSardana
c9b969f3fd chore: Bosnian translations 2025-12-05 02:57:52 +05:30
RitvikSardana
fa44401f6e chore: Croatian translations 2025-12-05 02:57:51 +05:30
RitvikSardana
b927731bcf chore: Russian translations 2025-12-05 02:57:49 +05:30
samarth
3f01c575fb fix: preserve query parameters when switching tabs (#2790)
Fixes #2790 - Active View is removed from the query params when the page is reloaded

When navigating to a ticket from an Active View and switching between tabs,
the query parameters (including view parameter) were being removed from the URL.

Changes:
- Updated router.replace() calls in useActiveTabManager.ts to preserve
  route.query alongside route.path
- Ensures view context is maintained during tab navigation
- Applies to changeTabTo(), setActiveTab(), and hash watch handler

This fix ensures that when users navigate to a ticket from an Active View
and switch between tabs, the view parameter remains in the URL for proper
navigation context.
2025-12-04 21:39:49 +05:30
Pratik
4b8e9064d2 fix: upcoming sla widget badge bug 2025-12-04 15:41:40 +00:00
Pratik
8e6848dc23 fix: bugs introduced by frappe-ui update 2025-12-04 12:33:00 +00:00
Pratik
0da0c7deae fix: tabs component syntax 2025-12-04 11:33:12 +00:00
Pratik
87a7cb0d08 refactor: add HD Field Layout doctype 2025-12-04 10:50:07 +00:00
Pratik
f75834dc70 fix: bugs related to frappe-ui update 2025-12-04 07:26:33 +00:00
Pratik
131c9615b0 fix: bugs introduced by frappe-ui update 2025-12-04 05:41:18 +00:00
RitvikSardana
39d49bba6d chore: Esperanto translations 2025-12-04 02:56:47 +05:30
RitvikSardana
5908ac8cd1 chore: Slovenian translations 2025-12-04 02:56:46 +05:30
RitvikSardana
3d61f226ff chore: French translations 2025-12-04 02:56:45 +05:30
RitvikSardana
526828ca87 chore: Serbian (Latin) translations 2025-12-04 02:56:44 +05:30
RitvikSardana
918aa7582f chore: Norwegian Bokmal translations 2025-12-04 02:56:42 +05:30
RitvikSardana
ab12cc4017 chore: Bosnian translations 2025-12-04 02:56:41 +05:30
RitvikSardana
bb2db66f81 chore: Burmese translations 2025-12-04 02:56:40 +05:30
RitvikSardana
1398427e65 chore: Croatian translations 2025-12-04 02:56:38 +05:30
RitvikSardana
d329acb0d7 chore: Thai translations 2025-12-04 02:56:37 +05:30
RitvikSardana
f39db539e7 chore: Tamil translations 2025-12-04 02:56:36 +05:30
RitvikSardana
6b694352b1 chore: Persian translations 2025-12-04 02:56:35 +05:30
RitvikSardana
6c356d3a73 chore: Indonesian translations 2025-12-04 02:56:34 +05:30
RitvikSardana
7c6311eeb1 chore: Portuguese, Brazilian translations 2025-12-04 02:56:32 +05:30
RitvikSardana
9a6e74f23c chore: Vietnamese translations 2025-12-04 02:56:31 +05:30
RitvikSardana
d6a96a4c6b chore: Chinese Simplified translations 2025-12-04 02:56:30 +05:30
RitvikSardana
90e1b75793 chore: Turkish translations 2025-12-04 02:56:28 +05:30
RitvikSardana
9d6488ac7b chore: Swedish translations 2025-12-04 02:56:27 +05:30
RitvikSardana
38d326294f chore: Serbian (Cyrillic) translations 2025-12-04 02:56:26 +05:30
RitvikSardana
2c8d353105 chore: Russian translations 2025-12-04 02:56:25 +05:30
RitvikSardana
cb80db8bb6 chore: Portuguese translations 2025-12-04 02:56:23 +05:30
RitvikSardana
fb02488cc2 chore: Polish translations 2025-12-04 02:56:22 +05:30
RitvikSardana
bdb401cea8 chore: Dutch translations 2025-12-04 02:56:21 +05:30
RitvikSardana
cec8e1c963 chore: Italian translations 2025-12-04 02:56:19 +05:30
RitvikSardana
4184f067f7 chore: Hungarian translations 2025-12-04 02:56:18 +05:30
RitvikSardana
07764582bc chore: German translations 2025-12-04 02:56:17 +05:30
RitvikSardana
cb5ffcc299 chore: Danish translations 2025-12-04 02:56:16 +05:30
RitvikSardana
1c4b5eb4f5 chore: Czech translations 2025-12-04 02:56:14 +05:30
RitvikSardana
6126dbef15 chore: Arabic translations 2025-12-04 02:56:13 +05:30
RitvikSardana
9a43e789a3 chore: Spanish translations 2025-12-04 02:56:12 +05:30
Pratik
443b5f5c42 feat: add agent landing page 2025-12-03 16:35:38 +00:00
Ritvik Sardana
1e1cd602d6 refactor: convert dashboard api to class and add QB support 2025-12-03 18:28:27 +05:30
Pratik
e2a2d29b84 fix: bugs related to frappe-ui update 2025-12-03 12:19:42 +00:00
RitvikSardana
76533e7317 Merge pull request #2788 from frappe/pot_develop_2025-11-30
chore: update POT file
2025-12-03 14:27:05 +05:30
RitvikSardana
46a17faa73 Merge pull request #2786 from frappe/l10n_develop2
chore: sync translations from crowdin
2025-12-03 14:26:47 +05:30
RitvikSardana
234f70aae2 Merge pull request #2789 from frappe/v16-support
chore: V16 support
2025-12-03 13:56:53 +05:30
Pratik
318bd3d9d3 fix: modal permission & small code cleanup 2025-12-03 06:28:41 +00:00
Ritvik Sardana
b800ee03c2 chore: code cleanup 2025-12-03 11:58:33 +05:30
Ritvik Sardana
d016312f86 fix: add util to check version 2025-12-03 11:46:51 +05:30
RitvikSardana
cf5be1ea67 chore: Persian translations 2025-12-03 02:44:05 +05:30
RitvikSardana
2ed447646d chore: Hungarian translations 2025-12-03 02:44:03 +05:30
Pratik
a180688c2e Merge remote-tracking branch 'origin/develop' into refactor/canned-responses 2025-12-02 16:37:44 +00:00
RitvikSardana
8a87142618 chore: Spanish translations 2025-12-02 01:53:39 +05:30
Ritvik Sardana
7b9dbe748e fix: better way to check version 2025-12-01 13:40:01 +05:30
Ritvik Sardana
246462901e chore: revert py project changes 2025-12-01 13:21:42 +05:30
Ritvik Sardana
2309dd9c9d fix: add version change for testing in v15 2025-12-01 13:07:08 +05:30
Ritvik Sardana
a36e377771 fix: add conditional version support 2025-12-01 12:44:47 +05:30
RitvikSardana
12b9fe46ef chore: Persian translations 2025-12-01 01:37:32 +05:30
frappe-pr-bot
a27001e934 chore: update POT file 2025-11-30 10:36:30 +00:00
RitvikSardana
bca072eb23 chore: Slovenian translations 2025-11-30 01:07:24 +05:30
RitvikSardana
3b2b3a194f chore: Slovenian translations 2025-11-29 01:06:54 +05:30
RitvikSardana
3960d96377 chore: Serbian (Latin) translations 2025-11-29 01:06:52 +05:30
RitvikSardana
b04b4b1aa3 chore: Norwegian Bokmal translations 2025-11-29 01:06:51 +05:30
RitvikSardana
11de025c42 chore: Bosnian translations 2025-11-29 01:06:50 +05:30
RitvikSardana
401ee26e3e chore: Croatian translations 2025-11-29 01:06:48 +05:30
RitvikSardana
35ae4af61a chore: Thai translations 2025-11-29 01:06:47 +05:30
RitvikSardana
6dee7bf2e2 chore: Tamil translations 2025-11-29 01:06:46 +05:30
RitvikSardana
d615d7ae3e chore: Persian translations 2025-11-29 01:06:44 +05:30
RitvikSardana
9cb6df0bee chore: Indonesian translations 2025-11-29 01:06:43 +05:30
RitvikSardana
13aff48429 chore: Portuguese, Brazilian translations 2025-11-29 01:06:42 +05:30
RitvikSardana
c413ef2e48 chore: Vietnamese translations 2025-11-29 01:06:41 +05:30
RitvikSardana
b367cdc828 chore: Chinese Simplified translations 2025-11-29 01:06:40 +05:30
RitvikSardana
5c7efb6372 chore: Turkish translations 2025-11-29 01:06:39 +05:30
RitvikSardana
e3aacdbcdc chore: Swedish translations 2025-11-29 01:06:37 +05:30
RitvikSardana
91dd2f4a54 chore: Serbian (Cyrillic) translations 2025-11-29 01:06:36 +05:30
RitvikSardana
cf629ebd21 chore: Russian translations 2025-11-29 01:06:35 +05:30
RitvikSardana
ce62f05c25 chore: Portuguese translations 2025-11-29 01:06:33 +05:30
RitvikSardana
5150c85284 chore: Polish translations 2025-11-29 01:06:32 +05:30
RitvikSardana
bff28f2642 chore: Dutch translations 2025-11-29 01:06:31 +05:30
RitvikSardana
70da538f78 chore: Italian translations 2025-11-29 01:06:30 +05:30
RitvikSardana
a2827630b1 chore: Hungarian translations 2025-11-29 01:06:29 +05:30
RitvikSardana
d527448d5b chore: German translations 2025-11-29 01:06:28 +05:30
RitvikSardana
3cf62a9a2e chore: Danish translations 2025-11-29 01:06:26 +05:30
RitvikSardana
e86ee3f5e8 chore: Czech translations 2025-11-29 01:06:25 +05:30
RitvikSardana
6789a25986 chore: Arabic translations 2025-11-29 01:06:24 +05:30
Ritvik Sardana
825ec55d80 chore: add v16 support 2025-11-28 15:21:26 +05:30
RitvikSardana
cf61ba1035 Merge pull request #2783 from RitvikSardana/version-bump2
chore: bump version
2025-11-28 11:31:09 +05:30
Ritvik Sardana
8fb56bad25 chore: bump version 2025-11-28 11:30:36 +05:30
RitvikSardana
429d550eb5 Merge pull request #2779 from frappe/l10n_develop2
chore: sync translations from crowdin
2025-11-28 11:28:28 +05:30
RitvikSardana
c1781bd8b4 chore: Slovenian translations 2025-11-28 00:52:28 +05:30
RitvikSardana
5c4a7ac43c chore: Burmese translations 2025-11-28 00:52:26 +05:30
RitvikSardana
4ea804b0d0 chore: Esperanto translations 2025-11-27 00:51:03 +05:30
RitvikSardana
a546403f1c chore: Slovenian translations 2025-11-27 00:51:02 +05:30
RitvikSardana
5947c38d30 chore: French translations 2025-11-27 00:51:01 +05:30
RitvikSardana
863b543e28 chore: Spanish translations 2025-11-27 00:50:59 +05:30
RitvikSardana
d15fefd620 Merge pull request #2761 from pratikb64/fix/mandatory-feedback-bug
fix: mandatory feedback bug
2025-11-27 00:29:33 +05:30
RitvikSardana
3873e3e3dd Merge pull request #2765 from pratikb64/fix/ticket-reply-comment-bug
fix: auto closing bug in reply & comment section
2025-11-27 00:27:23 +05:30
RitvikSardana
997be470d1 Merge branch 'develop' into fix/ticket-reply-comment-bug 2025-11-27 00:22:35 +05:30
RitvikSardana
41fc7dd672 Merge pull request #2768 from KerollesFathy/fix-publishing-article-without-content
fix: Validate that published HD articles contain content
2025-11-27 00:14:18 +05:30
RitvikSardana
ffee882478 Merge pull request #2758 from frappe/pot_develop_2025-11-16
chore: update POT file
2025-11-27 00:10:27 +05:30
RitvikSardana
36783ef818 Merge branch 'develop' into pot_develop_2025-11-16 2025-11-27 00:10:17 +05:30
RitvikSardana
8f813cc6b6 Merge pull request #2751 from frappe/l10n_develop2
chore: sync translations from crowdin
2025-11-27 00:09:14 +05:30
RitvikSardana
7dfc99b08a Merge pull request #2766 from frappe/pot_develop_2025-11-23
chore: update POT file
2025-11-27 00:08:30 +05:30
RitvikSardana
f052decc10 Merge pull request #2719 from frappe/helpdesk-cleanup
refactor: reduce bundle size
2025-11-27 00:05:00 +05:30
Ritvik Sardana
f386c33a09 fix: update frappe-ui version 2025-11-26 18:52:10 +05:30
Ritvik Sardana
b457646087 fix: change PWA version 2025-11-26 17:51:07 +05:30
Pratik
77eaa45ee7 fix: revert changes & add ignore args 2025-11-26 12:20:50 +00:00
Pratik
015bb01599 fix: remove feedback field in validation 2025-11-26 11:59:57 +00:00
Ritvik Sardana
d14fc7dd5f fix: resolve for node 18 2025-11-26 17:11:52 +05:30
Ritvik Sardana
88acdd0a4f chore: update frappe-ui version 2025-11-26 16:10:56 +05:30
RitvikSardana
660fd178b9 chore: Slovenian translations 2025-11-26 00:22:55 +05:30
RitvikSardana
6c29b677cb chore: Portuguese, Brazilian translations 2025-11-26 00:22:47 +05:30
Ritvik Sardana
09ef6a1d18 chore: code cleanup 2025-11-25 16:35:06 +05:30
Ritvik Sardana
98c8eb7445 fix: update frappe-ui version 2025-11-25 15:49:43 +05:30
Ritvik Sardana
15fdea2cd1 fix: frappe-ui changes in sidebar 2025-11-25 14:38:48 +05:30
Ritvik Sardana
97a3be2fc7 fix: change frappe-ui commit hash 2025-11-25 13:30:20 +05:30
Ritvik Sardana
538674f68b fix: change frappe-ui commit hash 2025-11-25 12:28:12 +05:30
Ritvik Sardana
c9a6a28af7 fix: incorporate new changes 2025-11-25 01:38:59 +05:30
RitvikSardana
530340a01f chore: Slovenian translations 2025-11-25 00:23:56 +05:30
RitvikSardana
6f104d56f4 chore: French translations 2025-11-25 00:23:55 +05:30
RitvikSardana
5384766355 Merge pull request #2664 from pratikb64/feat/add-pages-in-settings
feat: add profile, general settings module & search bars for lists
2025-11-24 16:40:54 +05:30
Ritvik Sardana
33ff264029 chore(list-view): dont show border-b for last element 2025-11-24 16:39:43 +05:30
KerollesFathy
356c88bc1f fix: validate published articles have content 2025-11-23 21:47:01 +00:00
RitvikSardana
9e66c34d99 chore: Slovenian translations 2025-11-24 00:17:57 +05:30
frappe-pr-bot
6fcae817d4 chore: update POT file 2025-11-23 10:36:38 +00:00
RitvikSardana
144f1b9f6a chore: Slovenian translations 2025-11-23 00:13:18 +05:30
RitvikSardana
e93b3d3912 chore: Slovenian translations 2025-11-22 00:14:54 +05:30
RitvikSardana
b922219bb6 chore: Slovenian translations 2025-11-20 23:15:44 +05:30
RitvikSardana
73adb17b98 chore: Indonesian translations 2025-11-20 23:15:36 +05:30
RitvikSardana
2157d27cbe chore: Portuguese, Brazilian translations 2025-11-20 23:15:35 +05:30
RitvikSardana
4b0c61fa16 chore: Spanish translations 2025-11-20 23:15:23 +05:30
Pratik
e197993dbf fix: auto closing bug in reply & comment section 2025-11-20 09:56:57 +00:00
RitvikSardana
f4670c5fb2 chore: Persian translations 2025-11-19 23:14:51 +05:30
Pratik
86b4440149 fix: mandatory feedback bug 2025-11-18 05:18:17 +00:00
RitvikSardana
ce7ccf1730 chore: French translations 2025-11-16 21:46:06 +05:30
RitvikSardana
4d7601a527 chore: Serbian (Latin) translations 2025-11-16 21:46:05 +05:30
RitvikSardana
6be1784277 chore: Norwegian Bokmal translations 2025-11-16 21:46:04 +05:30
RitvikSardana
c177472a42 chore: Bosnian translations 2025-11-16 21:46:02 +05:30
RitvikSardana
7f80b00860 chore: Croatian translations 2025-11-16 21:46:01 +05:30
RitvikSardana
fd74e6311b chore: Persian translations 2025-11-16 21:45:58 +05:30
RitvikSardana
64b8991408 chore: Indonesian translations 2025-11-16 21:45:57 +05:30
RitvikSardana
ea37dcfc3a chore: Chinese Simplified translations 2025-11-16 21:45:54 +05:30
RitvikSardana
6be74cad34 chore: Turkish translations 2025-11-16 21:45:53 +05:30
RitvikSardana
03556b02b5 chore: Swedish translations 2025-11-16 21:45:52 +05:30
RitvikSardana
a7f42d9d14 chore: Serbian (Cyrillic) translations 2025-11-16 21:45:51 +05:30
RitvikSardana
a83e75a4d3 chore: Polish translations 2025-11-16 21:45:48 +05:30
RitvikSardana
afb5f2cb34 chore: German translations 2025-11-16 21:45:45 +05:30
RitvikSardana
ff30d7d318 chore: Arabic translations 2025-11-16 21:45:43 +05:30
RitvikSardana
952fe5daa0 chore: Spanish translations 2025-11-16 21:45:42 +05:30
frappe-pr-bot
75647b121d chore: update POT file 2025-11-16 10:36:33 +00:00
Pratik
36fb1a5d67 fix: hover state 2025-11-14 11:25:15 +00:00
Pratik
0b6f7b953e fix: agents list filter hover state 2025-11-14 10:06:51 +00:00
Pratik Badhe
7da438efa9 Merge branch 'develop' into feat/add-pages-in-settings 2025-11-14 10:52:17 +05:30
Pratik
f69cd6fe84 chore: code cleanup 2025-11-14 05:12:30 +00:00
RitvikSardana
ffe1f27000 Merge pull request #2752 from rehanrehman389/fix-view
fix: prevent emoji clipping
2025-11-13 21:56:50 +05:30
RitvikSardana
caaf65d63b chore: German translations 2025-11-13 21:04:13 +05:30
Rehan Ansari
e6b221da38 fix: prevent emoji clipping 2025-11-12 21:15:46 +05:30
RitvikSardana
c813319260 chore: Persian translations 2025-11-12 20:47:23 +05:30
Pratik
11a2032b1f chore: fix description 2025-11-12 10:22:43 +00:00
Pratik
b49ba83115 fix: dropdown bug & labels 2025-11-12 11:07:07 +05:30
RitvikSardana
19fa45a864 Merge pull request #2746 from frappe/l10n_develop2
chore: sync translations from crowdin
2025-11-12 02:29:03 +05:30
RitvikSardana
c60636e65d chore: Bosnian translations 2025-11-11 20:48:59 +05:30
RitvikSardana
64876b97b3 chore: Croatian translations 2025-11-11 20:48:58 +05:30
RitvikSardana
6544352f17 chore: Swedish translations 2025-11-11 20:48:57 +05:30
RitvikSardana
7d363bc811 Merge pull request #2747 from RitvikSardana/raising-ticket
fix: parse API Options correctly while creating tickets
2025-11-11 12:31:55 +05:30
Ritvik Sardana
bf144300ba fix: parse API Options correctly while creating tickets 2025-11-11 12:24:48 +05:30
RitvikSardana
5d3155301e chore: French translations 2025-11-10 19:59:19 +05:30
RitvikSardana
8eae98f9fb chore: Serbian (Latin) translations 2025-11-10 19:59:18 +05:30
RitvikSardana
64730f9c10 chore: Norwegian Bokmal translations 2025-11-10 19:59:17 +05:30
RitvikSardana
4697af4d7b chore: Bosnian translations 2025-11-10 19:59:16 +05:30
RitvikSardana
76f45d5ac0 chore: Croatian translations 2025-11-10 19:59:13 +05:30
RitvikSardana
347205c866 chore: Persian translations 2025-11-10 19:59:10 +05:30
RitvikSardana
13ea1ffc8c chore: Indonesian translations 2025-11-10 19:59:09 +05:30
RitvikSardana
928a9391d0 chore: Portuguese, Brazilian translations 2025-11-10 19:59:08 +05:30
RitvikSardana
240651564a chore: Chinese Simplified translations 2025-11-10 19:59:05 +05:30
RitvikSardana
c2a68b6a6b chore: Turkish translations 2025-11-10 19:59:04 +05:30
RitvikSardana
5df19be765 chore: Swedish translations 2025-11-10 19:59:02 +05:30
RitvikSardana
df85bb2111 chore: Serbian (Cyrillic) translations 2025-11-10 19:59:01 +05:30
RitvikSardana
df1adc6c6a chore: Portuguese translations 2025-11-10 19:58:59 +05:30
RitvikSardana
601b674f8d chore: Polish translations 2025-11-10 19:58:57 +05:30
RitvikSardana
79100fe489 chore: Dutch translations 2025-11-10 19:58:56 +05:30
RitvikSardana
b0a8f48dae chore: Italian translations 2025-11-10 19:58:55 +05:30
RitvikSardana
2a713fa2a4 chore: German translations 2025-11-10 19:58:53 +05:30
RitvikSardana
abb2c8b8df chore: Danish translations 2025-11-10 19:58:52 +05:30
RitvikSardana
b016726247 chore: Arabic translations 2025-11-10 19:58:50 +05:30
RitvikSardana
b019883b91 chore: Spanish translations 2025-11-10 19:58:49 +05:30
RitvikSardana
7b4bb82c75 Merge pull request #2743 from RitvikSardana/api-options-null
fix: filter out null/undefined values in apiOptions
2025-11-10 15:47:57 +05:30
Ritvik Sardana
03583e44d5 chore: code cleanup 2025-11-10 15:46:41 +05:30
Ritvik Sardana
4bb8b7695c fix: filter out null/undefined values in apiOptions 2025-11-10 15:42:44 +05:30
RitvikSardana
d375724f9e Merge pull request #2741 from RitvikSardana/reply-error
fix: validation error when replying on a ticket
2025-11-10 15:31:24 +05:30
Ritvik Sardana
643155e4ec fix: validation error when replying on a ticket 2025-11-10 15:23:53 +05:30
Pratik
5b248ce379 fix: spacing in agents list view dropdowns 2025-11-10 07:52:35 +00:00
RitvikSardana
41288cc957 Merge pull request #2715 from KerollesFathy/refactor-apiOptions-on-UniInput
refactor: update apiOptions transform to map object labels and values
2025-11-09 21:33:50 +05:30
RitvikSardana
e12dc083e7 Merge pull request #2737 from frappe/l10n_develop2
chore: sync translations from crowdin
2025-11-09 20:49:41 +05:30
Pratik
5a0a632ae3 chore: add Dropdown component imports 2025-11-09 15:17:50 +00:00
RitvikSardana
3d22970159 chore: French translations 2025-11-09 19:42:03 +05:30
RitvikSardana
4d39b43f15 chore: Esperanto translations 2025-11-09 19:42:01 +05:30
RitvikSardana
5489209a0d chore: Serbian (Latin) translations 2025-11-09 19:42:00 +05:30
RitvikSardana
4845183691 chore: Norwegian Bokmal translations 2025-11-09 19:41:59 +05:30
RitvikSardana
e17d9f0123 chore: Bosnian translations 2025-11-09 19:41:58 +05:30
RitvikSardana
30f4654d0f chore: Burmese translations 2025-11-09 19:41:57 +05:30
RitvikSardana
6b6dacea76 chore: Croatian translations 2025-11-09 19:41:56 +05:30
RitvikSardana
0594cba992 chore: Thai translations 2025-11-09 19:41:54 +05:30
RitvikSardana
1cfcbd964b chore: Tamil translations 2025-11-09 19:41:53 +05:30
RitvikSardana
cffd32dda9 chore: Persian translations 2025-11-09 19:41:52 +05:30
RitvikSardana
7e8071f33c chore: Indonesian translations 2025-11-09 19:41:51 +05:30
RitvikSardana
926e21d258 chore: Portuguese, Brazilian translations 2025-11-09 19:41:50 +05:30
RitvikSardana
8af08fe0fa chore: Vietnamese translations 2025-11-09 19:41:49 +05:30
RitvikSardana
0826769b62 chore: Chinese Simplified translations 2025-11-09 19:41:48 +05:30
RitvikSardana
f35457bdb0 chore: Turkish translations 2025-11-09 19:41:46 +05:30
RitvikSardana
6bc303f434 chore: Swedish translations 2025-11-09 19:41:45 +05:30
RitvikSardana
12050328a2 chore: Serbian (Cyrillic) translations 2025-11-09 19:41:44 +05:30
RitvikSardana
5ec5c53024 chore: Russian translations 2025-11-09 19:41:43 +05:30
RitvikSardana
0388bcaf45 chore: Portuguese translations 2025-11-09 19:41:42 +05:30
RitvikSardana
50faed905e chore: Polish translations 2025-11-09 19:41:40 +05:30
RitvikSardana
b97d1e8edc chore: Dutch translations 2025-11-09 19:41:39 +05:30
RitvikSardana
699ce06906 chore: Italian translations 2025-11-09 19:41:38 +05:30
RitvikSardana
28bf477422 chore: Hungarian translations 2025-11-09 19:41:37 +05:30
RitvikSardana
10c206c37f chore: German translations 2025-11-09 19:41:35 +05:30
RitvikSardana
506a5619cb chore: Danish translations 2025-11-09 19:41:34 +05:30
RitvikSardana
56e4a8fa27 chore: Czech translations 2025-11-09 19:41:33 +05:30
RitvikSardana
387e6f65ea chore: Arabic translations 2025-11-09 19:41:32 +05:30
RitvikSardana
6e94d7668e chore: Spanish translations 2025-11-09 19:41:31 +05:30
RitvikSardana
13be2daa16 Merge pull request #2733 from frappe/l10n_develop2
chore: sync translations from crowdin
2025-11-09 17:55:08 +05:30
RitvikSardana
5bdf0998e3 Merge pull request #2734 from frappe/pot_develop_2025-11-09
chore: update POT file
2025-11-09 17:54:54 +05:30
frappe-pr-bot
ce4f422335 chore: update POT file 2025-11-09 10:36:13 +00:00
RitvikSardana
fbf5bed567 chore: Esperanto translations 2025-11-08 19:15:37 +05:30
RitvikSardana
b7dcf6324c chore: Serbian (Latin) translations 2025-11-08 19:15:36 +05:30
RitvikSardana
fe25d084d9 chore: Norwegian Bokmal translations 2025-11-08 19:15:35 +05:30
RitvikSardana
cb329e9747 chore: Bosnian translations 2025-11-08 19:15:33 +05:30
RitvikSardana
f5720fba05 chore: Burmese translations 2025-11-08 19:15:32 +05:30
RitvikSardana
0745ddf8cd chore: Croatian translations 2025-11-08 19:15:31 +05:30
RitvikSardana
4a6ce11692 chore: Thai translations 2025-11-08 19:15:29 +05:30
RitvikSardana
bed330a7db chore: Tamil translations 2025-11-08 19:15:28 +05:30
RitvikSardana
b939caaf68 chore: Persian translations 2025-11-08 19:15:27 +05:30
RitvikSardana
dae531dd26 chore: Indonesian translations 2025-11-08 19:15:26 +05:30
RitvikSardana
84af9ba07f chore: Portuguese, Brazilian translations 2025-11-08 19:15:24 +05:30
RitvikSardana
d32244a877 chore: Vietnamese translations 2025-11-08 19:15:23 +05:30
RitvikSardana
f2b5213e6e chore: Chinese Simplified translations 2025-11-08 19:15:22 +05:30
RitvikSardana
487ea74b51 chore: Turkish translations 2025-11-08 19:15:21 +05:30
RitvikSardana
124a1a6911 chore: Swedish translations 2025-11-08 19:15:19 +05:30
RitvikSardana
2e85998e72 chore: Serbian (Cyrillic) translations 2025-11-08 19:15:18 +05:30
RitvikSardana
83cefc54a1 chore: Russian translations 2025-11-08 19:15:17 +05:30
RitvikSardana
fb42f359a1 chore: Portuguese translations 2025-11-08 19:15:16 +05:30
RitvikSardana
0334db5ef9 chore: Polish translations 2025-11-08 19:15:15 +05:30
RitvikSardana
305ef5e560 chore: Dutch translations 2025-11-08 19:15:14 +05:30
RitvikSardana
a4f3d1d5b4 chore: Italian translations 2025-11-08 19:15:12 +05:30
RitvikSardana
16f72e287a chore: Hungarian translations 2025-11-08 19:15:11 +05:30
RitvikSardana
de04086da7 chore: German translations 2025-11-08 19:15:10 +05:30
RitvikSardana
557bd6a498 chore: Danish translations 2025-11-08 19:15:09 +05:30
RitvikSardana
4b0704060b chore: Czech translations 2025-11-08 19:15:08 +05:30
RitvikSardana
30debfc42b chore: Arabic translations 2025-11-08 19:15:07 +05:30
RitvikSardana
23568e9b97 chore: Spanish translations 2025-11-08 19:15:06 +05:30
RitvikSardana
2e0eb5033b Merge pull request #2730 from RitvikSardana/bump-new
chore: bump version
2025-11-07 17:00:35 +05:30
Ritvik Sardana
260d15de65 chore: bump version 2025-11-07 17:00:07 +05:30
RitvikSardana
aaaac02979 Merge pull request #2705 from frappe/l10n_develop2
chore: sync translations from crowdin
2025-11-07 16:52:42 +05:30
RitvikSardana
fea1f8f7ed Merge pull request #2721 from frappe/pot_develop_2025-11-02
chore: update POT file
2025-11-07 16:51:46 +05:30
RitvikSardana
b442122556 Merge pull request #2726 from RitvikSardana/fix-email-feedback
fix: remove unnecessary validation while giving feedback for email tickets
2025-11-07 16:51:17 +05:30
Ritvik Sardana
f054d9e209 fix: remove unnecessary validation while giving feedback for email tickets 2025-11-07 16:41:47 +05:30
Ritvik Sardana
0e84f92d32 chore: update git ignore file 2025-11-07 13:28:57 +05:30
Ritvik Sardana
6f02b27ff6 fix: frappe-ui tree shaking compatible 2025-11-07 11:47:08 +05:30
Pratik
42e1f436e5 fix: button label & use symbol for inject/provide 2025-11-06 06:34:48 +00:00
Pratik
f684bfba27 fix: assignee search bug 2025-11-04 04:32:44 +00:00
Pratik
feb93e3459 feat: add ticket based restriction logic 2025-11-03 13:35:57 +00:00
RitvikSardana
01dd4fb42c chore: Chinese Simplified translations 2025-11-03 17:01:23 +05:30
Pratik
e91c510cbf feat: add language setting 2025-11-03 10:31:18 +00:00
Pratik
afe0899dd8 chore: CI lint fix 2025-11-03 09:15:54 +00:00
Pratik Badhe
91c1f97912 Merge branch frappe:develop into feat/add-pages-in-settings 2025-11-03 14:41:06 +05:30
Ritvik Sardana
580ac33487 chore: bump frappe-ui version 2025-11-03 13:27:09 +05:30
Pratik
d5fa63428a fix: ui cleanup & move SettingsLayoutBase component 2025-11-02 15:15:48 +00:00
frappe-pr-bot
7c29161b3b chore: update POT file 2025-11-02 10:35:41 +00:00
Ritvik Sardana
020bd77358 chore: update yarn.lock 2025-11-01 13:19:01 +05:30
Ritvik Sardana
511fa074b4 fix: remove visualizer 2025-11-01 13:11:40 +05:30
Ritvik Sardana
01175b0fc8 refactor: reduce bundle size 2025-11-01 13:05:42 +05:30
RitvikSardana
793f1262e7 Merge pull request #2716 from RitvikSardana/delete-doc
fix: remove index delete from hooks
2025-10-31 13:01:23 +05:30
Ritvik Sardana
84fce9936e fix: remove index delete from hooks 2025-10-31 11:58:03 +05:30
KerollesFathy
f06862057f refactor: update apiOptions transform to handle object labels and values 2025-10-30 19:12:25 +00:00
RitvikSardana
75799fa4a2 chore: Serbian (Latin) translations 2025-10-30 14:37:38 +05:30
RitvikSardana
7fdcc42626 chore: Serbian (Cyrillic) translations 2025-10-30 14:37:37 +05:30
RitvikSardana
c521227e4d chore: version bump 2025-10-30 10:42:52 +05:30
Pratik Badhe
646efa0b6e chore: code cleanup 2025-10-30 05:10:34 +00:00
RitvikSardana
e460df11d2 Merge pull request #2710 from pratikb64/fix/undefined-ref 2025-10-30 10:28:47 +05:30
Pratik Badhe
7a1545ef1b fix: undefined ref 2025-10-30 04:55:20 +00:00
Pratik Badhe
ade64594f5 Merge remote-tracking branch 'origin/develop' into refactor/canned-responses 2025-10-29 12:29:34 +00:00
Pratik Badhe
11f01c05bb feat: add load more button 2025-10-29 12:05:02 +00:00
Pratik Badhe
73c4d5d62d fix: handle case when user does not have team assigned 2025-10-29 11:43:34 +00:00
RitvikSardana
278012c200 Merge pull request #2706 from RitvikSardana/assign-perm
fix(perm): agent should see the assigned tickets
2025-10-29 17:04:36 +05:30
Ritvik Sardana
38d0a0b76e fix(search): add ref ticket only if doc is HD Ticket 2025-10-29 16:14:41 +05:30
Ritvik Sardana
40f0032380 fix: type coercion while setting value 2025-10-29 16:01:31 +05:30
Ritvik Sardana
f564284d96 fix: show ticket to agent is they are assigned to it 2025-10-29 14:25:13 +05:30
RitvikSardana
2a15bfb7e2 chore: Esperanto translations 2025-10-29 14:09:44 +05:30
RitvikSardana
0722e819c3 chore: Burmese translations 2025-10-29 14:09:42 +05:30
RitvikSardana
5f49a5afd1 chore: Tamil translations 2025-10-29 14:09:41 +05:30
RitvikSardana
a3254586e5 chore: Serbian (Latin) translations 2025-10-29 14:09:40 +05:30
RitvikSardana
04c4a57141 chore: Norwegian Bokmal translations 2025-10-29 14:09:39 +05:30
RitvikSardana
d7fd5cda70 chore: Bosnian translations 2025-10-29 14:09:38 +05:30
RitvikSardana
9850e2da85 chore: Croatian translations 2025-10-29 14:09:37 +05:30
RitvikSardana
a0b7fab8da chore: Thai translations 2025-10-29 14:09:35 +05:30
RitvikSardana
96fbb18677 chore: Persian translations 2025-10-29 14:09:34 +05:30
RitvikSardana
9b10275f36 chore: Indonesian translations 2025-10-29 14:09:33 +05:30
RitvikSardana
cb1000f32d chore: Portuguese, Brazilian translations 2025-10-29 14:09:32 +05:30
RitvikSardana
c0c9bf2cae chore: Vietnamese translations 2025-10-29 14:09:31 +05:30
RitvikSardana
1b64db4792 chore: Chinese Simplified translations 2025-10-29 14:09:29 +05:30
RitvikSardana
7631e7f9a4 chore: Turkish translations 2025-10-29 14:09:28 +05:30
RitvikSardana
39f26f0050 chore: Swedish translations 2025-10-29 14:09:27 +05:30
RitvikSardana
2c67d72e4f chore: Serbian (Cyrillic) translations 2025-10-29 14:09:26 +05:30
RitvikSardana
006ead4074 chore: Russian translations 2025-10-29 14:09:25 +05:30
RitvikSardana
ee57aa5fb0 chore: Portuguese translations 2025-10-29 14:09:23 +05:30
RitvikSardana
aec5d229eb chore: Polish translations 2025-10-29 14:09:22 +05:30
RitvikSardana
3ecc905ae8 chore: Dutch translations 2025-10-29 14:09:21 +05:30
RitvikSardana
e1bb325c03 chore: Italian translations 2025-10-29 14:09:20 +05:30
RitvikSardana
037ae628a1 chore: Hungarian translations 2025-10-29 14:09:18 +05:30
RitvikSardana
8af498aa8b chore: German translations 2025-10-29 14:09:17 +05:30
RitvikSardana
3adddec261 chore: Danish translations 2025-10-29 14:09:16 +05:30
RitvikSardana
4225f50f0c chore: Czech translations 2025-10-29 14:09:15 +05:30
RitvikSardana
ef8b183c88 chore: Arabic translations 2025-10-29 14:09:13 +05:30
RitvikSardana
682a25a677 chore: Spanish translations 2025-10-29 14:09:12 +05:30
RitvikSardana
21c3a00c78 chore: French translations 2025-10-29 14:09:11 +05:30
RitvikSardana
be3eeb0248 Merge pull request #2576 from pratikb64/fix/telephony-bugs
fix: tab url hash & make a call button
2025-10-29 12:28:32 +05:30
RitvikSardana
571869adbb Merge branch 'develop' into fix/telephony-bugs 2025-10-29 12:22:31 +05:30
RitvikSardana
a4401fb9f2 Merge pull request #2689 from pratikb64/fix/reply-all-cc-bug
fix: handle edge case for cc & to field
2025-10-29 12:11:05 +05:30
Pratik Badhe
6625efb3a1 fix: remove i18n for week days 2025-10-29 05:40:59 +00:00
Pratik Badhe
d920c03a71 fix: ui alignment 2025-10-29 05:36:11 +00:00
RitvikSardana
3c32e12cdd Merge pull request #2699 from RitvikSardana/version-bump
chore: bump version
2025-10-29 10:45:14 +05:30
Ritvik Sardana
c583974b74 chore: update yarn.lock 2025-10-28 19:41:57 +05:30
Ritvik Sardana
295c1fded4 chore: bump version 2025-10-28 19:36:17 +05:30
RitvikSardana
bcf73ffa3a Merge pull request #2678 from frappe/pot_develop_2025-10-19
chore: update POT file
2025-10-28 18:31:10 +05:30
RitvikSardana
85ded64073 Merge pull request #2679 from frappe/l10n_develop2
chore: sync translations from crowdin
2025-10-28 18:30:43 +05:30
RitvikSardana
01d1d358a6 Merge branch 'develop' into pot_develop_2025-10-19 2025-10-28 18:29:37 +05:30
RitvikSardana
0b4c744a00 Merge pull request #2687 from frappe/pot_develop_2025-10-26
chore: update POT file
2025-10-28 18:28:58 +05:30
RitvikSardana
42b868a9a3 Merge pull request #2657 from pratikb64/fix/sla-json-edge-case
fix: handle json parse error & json validation on doctype save
2025-10-28 18:27:48 +05:30
RitvikSardana
9257d76dd9 Merge pull request #2688 from siduck/develop
fix: prevent usermenu button overflow in sidebar
2025-10-28 18:17:44 +05:30
Pratik
98f01651f0 feat: add scope & improve UI 2025-10-28 17:25:05 +05:30
RitvikSardana
f851d2720e Merge pull request #2690 from RitvikSardana/int-field-support
fix: minor fixes
2025-10-28 16:19:33 +05:30
Ritvik Sardana
652188cc64 fix(sqlite_search): convert to int only when doctype is HD Ticket 2025-10-28 13:42:26 +05:30
Ritvik Sardana
943da1be93 fix: add handling bad_emails in process_mail 2025-10-28 13:02:29 +05:30
Ritvik Sardana
d7225a82c0 fix: decoding the receiving email properly with try except 2025-10-28 12:39:58 +05:30
Ritvik Sardana
a25c9c0a8a fix: dont add build_index function in hooks.py of helpdesk 2025-10-28 11:57:40 +05:30
Ritvik Sardana
e64fe01ed8 chore: cleanup 2025-10-28 11:44:43 +05:30
Ritvik Sardana
9e1d493ef5 fix: add support for numberFields in side panel 2025-10-28 11:36:15 +05:30
Ritvik Sardana
8b1bd75348 fix: remove unwanted imports 2025-10-28 11:28:17 +05:30
RitvikSardana
1c33ed571a Merge pull request #2676 from RitvikSardana/shortcuts
feat: add Shortcuts to Ticket View
2025-10-28 11:13:06 +05:30
Ritvik Sardana
834c557a2d fix: delete search index when a ticket is deleted 2025-10-28 11:04:02 +05:30
Ritvik Sardana
86a5cf8344 fix: add shortcuts only in Agent Portal 2025-10-28 11:00:23 +05:30
Ritvik Sardana
114f5cd821 chore: code cleanup 2025-10-28 10:52:16 +05:30
Ritvik Sardana
d96f9ef46b Merge remote-tracking branch 'upstream/develop' into shortcuts 2025-10-28 10:51:03 +05:30
Ritvik Sardana
0f90693439 chore: code cleanup 2025-10-27 18:48:19 +05:30
Pratik Badhe
fc45408d77 fix: order list view's by modified desc 2025-10-27 11:23:46 +00:00
Pratik Badhe
ffbb1c5e8f fix: handle edge case for cc & to field 2025-10-27 10:54:23 +00:00
Pratik Badhe
0b87316f2c feat: add teams agents selector 2025-10-27 09:51:51 +00:00
Ritvik Sardana
395969ded9 fix: add shortcut for showing help panel 2025-10-27 15:17:56 +05:30
siduck
856a161164 fix: prevent usermenu button overflow in sidebar
Related to https://github.com/frappe/frappe-ui/issues/298
2025-10-27 14:40:08 +05:30
Ritvik Sardana
459f7a7f39 fix: handle special cases in shortcuts 2025-10-27 14:12:09 +05:30
Pratik Badhe
a2261ece1d fix: remove subject & add toolbar for response editor 2025-10-26 11:48:25 +00:00
frappe-pr-bot
da4008d6ab chore: update POT file 2025-10-26 10:35:56 +00:00
Ritvik Sardana
8a73fb4467 fix: persist redirect URL 2025-10-26 14:59:03 +05:30
RitvikSardana
5300f24b10 chore: Polish translations 2025-10-26 13:33:06 +05:30
Pratik Badhe
4f0ef90eb6 chore: add i18n 2025-10-24 07:24:00 +00:00
Pratik Badhe
f2b04aefe6 ci: remove frappe db commit 2025-10-23 14:21:27 +00:00
Pratik Badhe
dc8a452c14 fix: CI lint error 2025-10-23 14:15:33 +00:00
Pratik Badhe
039c968cd8 refactor: add common settings layout base component 2025-10-23 14:12:22 +00:00
Ritvik Sardana
521b9182a7 chore: UI cleanup 2025-10-23 12:26:35 +05:30
Ritvik Sardana
cf0b0d7c4f chore: code cleanup 2025-10-23 01:06:25 +05:30
Ritvik Sardana
e0a2f29c68 refactor: shortcut composable 2025-10-22 17:51:21 +05:30
Ritvik Sardana
eb452b21eb fix: UI for shortcuts 2025-10-22 14:16:17 +05:30
Ritvik Sardana
5f66778e45 fix: add proper handling to remove key bindings 2025-10-22 12:34:23 +05:30
RitvikSardana
03bf47d082 chore: Polish translations 2025-10-21 11:12:31 +05:30
RitvikSardana
e2ed80369c chore: Persian translations 2025-10-20 10:23:48 +05:30
Pratik Badhe
16c2e2a958 refactor: move canned responses into settings modal 2025-10-19 12:51:01 +00:00
frappe-pr-bot
012cfd179b chore: update POT file 2025-10-19 10:35:53 +00:00
Ritvik Sardana
211908f6de refactor: shortcut handling 2025-10-17 18:21:59 +05:30
Ritvik Sardana
8a5b57d5de fix: handle delete_doc in sqlite search 2025-10-17 16:41:18 +05:30
Ritvik Sardana
0c94dbbbfe fix: replace old shortcuts with new API 2025-10-17 16:40:58 +05:30
Ritvik Sardana
f563d331b0 fix: add shortcuts for ticket navigation 2025-10-17 16:18:58 +05:30
Ritvik Sardana
e11d78a0c8 fix: add shortcuts for reply&comment 2025-10-17 14:44:56 +05:30
Ritvik Sardana
600794dc8d fix: add shortcuts for core fields 2025-10-17 13:27:09 +05:30
Pratik Badhe
43c5e96df1 chore: add i18n and code cleanup 2025-10-16 11:49:39 +00:00
Pratik Badhe
285f490ebf fix: improve telephony dirty state logic 2025-10-16 11:15:31 +00:00
Pratik Badhe
0c2a1df6fd refactor: change loading state handling 2025-10-16 10:32:29 +00:00
Ritvik Sardana
d484c77904 fix: better way to disable shortcuts 2025-10-16 16:00:59 +05:30
Pratik Badhe
8848e49dab fix: favicon icon 2025-10-16 10:23:18 +00:00
Pratik Badhe
37fa7d19e9 refactor: remove some setting options & add i18n 2025-10-16 08:04:02 +00:00
Pratik Badhe
f3f89188ee fix: edge case where tab wont change if call is disabled 2025-10-15 10:59:11 +00:00
RitvikSardana
b95d95f440 Merge pull request #2667 from frappe/pot_develop_2025-10-12
chore: update POT file
2025-10-15 15:20:28 +05:30
RitvikSardana
46465da35a Merge pull request #2652 from frappe/l10n_develop2
chore: sync translations from crowdin
2025-10-15 15:19:30 +05:30
RitvikSardana
bbbce958f0 Merge pull request #2672 from flaviacastro/chore/translate-dashboards
chore: translate dashboards
2025-10-15 15:01:49 +05:30
RitvikSardana
7f2b33ff36 Merge pull request #2668 from pratikb64/fix/response-resolution-time-popover
fix: tooltip for response and resolution time
2025-10-15 15:01:31 +05:30
Pratik Badhe
7cc23c8caa fix: reset tab state on navigation 2025-10-15 09:29:56 +00:00
Ritvik Sardana
2b62a32f55 chore: format error message in assignment rule 2025-10-15 11:52:54 +05:30
RitvikSardana
48399d258d Merge pull request #2648 from pratikb64/fix/frappe-ui-fix
fix: frappe ui z index issues
2025-10-15 11:43:13 +05:30
Pratik Badhe
417126f22f fix: semgrep lint fix 2025-10-15 05:44:04 +00:00
Pratik Badhe
9a2476155d fix: semgrep lint fix 2025-10-15 05:41:09 +00:00
Pratik Badhe
bdbf4a6408 refactor: improve assignment rule invite agent handling 2025-10-15 05:34:25 +00:00
flaviacastro
9969cb5874 chore: translate dashboards 2025-10-14 20:13:19 -03:00
Pratik Badhe
652c903499 fix: internationalization & state re-rendering 2025-10-13 14:25:20 +00:00
Pratik Badhe
4475450603 fix: tooltip for response and resolution time 2025-10-13 09:59:32 +00:00
RitvikSardana
f9158f4bcf chore: Serbian (Latin) translations 2025-10-13 07:45:18 +05:30
RitvikSardana
246044776f chore: Serbian (Cyrillic) translations 2025-10-13 07:45:10 +05:30
RitvikSardana
25f33001ae chore: Polish translations 2025-10-13 07:45:07 +05:30
Pratik Badhe
c0a10dc003 fix: agent flow test 2025-10-12 17:04:29 +00:00
Pratik Badhe
a904779edd fix: improve team edit 2025-10-12 15:55:17 +00:00
Pratik Badhe
3e3979cf65 fix: add empty state for team edit page 2025-10-12 13:46:21 +00:00
frappe-pr-bot
f6eec48671 chore: update POT file 2025-10-12 10:35:11 +00:00
RitvikSardana
de096bf1bc chore: Polish translations 2025-10-12 07:40:48 +05:30
RitvikSardana
aac3b105d9 chore: Burmese translations 2025-10-11 07:43:15 +05:30
RitvikSardana
98e4852f43 chore: Tamil translations 2025-10-11 07:43:14 +05:30
RitvikSardana
f7ede8edb0 chore: Esperanto translations 2025-10-11 07:43:13 +05:30
RitvikSardana
76dc90c563 chore: Serbian (Latin) translations 2025-10-11 07:43:12 +05:30
RitvikSardana
24ab3d735b chore: Norwegian Bokmal translations 2025-10-11 07:43:11 +05:30
RitvikSardana
75348d5266 chore: Bosnian translations 2025-10-11 07:43:10 +05:30
RitvikSardana
037742eacb chore: Croatian translations 2025-10-11 07:43:09 +05:30
RitvikSardana
31ac3b4bbb chore: Thai translations 2025-10-11 07:43:07 +05:30
RitvikSardana
3afcd2f43c chore: Persian translations 2025-10-11 07:43:06 +05:30
RitvikSardana
db71ab4744 chore: Indonesian translations 2025-10-11 07:43:05 +05:30
RitvikSardana
b6fb4a1024 chore: Portuguese, Brazilian translations 2025-10-11 07:43:04 +05:30
RitvikSardana
11da05c81e chore: Vietnamese translations 2025-10-11 07:43:03 +05:30
RitvikSardana
95dcd882db chore: Chinese Simplified translations 2025-10-11 07:43:02 +05:30
RitvikSardana
6b010d34d4 chore: Turkish translations 2025-10-11 07:43:01 +05:30
RitvikSardana
e4f0f7ace0 chore: Swedish translations 2025-10-11 07:43:00 +05:30
RitvikSardana
42b89e65cf chore: Serbian (Cyrillic) translations 2025-10-11 07:42:58 +05:30
RitvikSardana
131f03a0f6 chore: Russian translations 2025-10-11 07:42:57 +05:30
RitvikSardana
d667d15ee9 chore: Portuguese translations 2025-10-11 07:42:56 +05:30
RitvikSardana
f3cc7920bd chore: Polish translations 2025-10-11 07:42:55 +05:30
RitvikSardana
790bbcd772 chore: Dutch translations 2025-10-11 07:42:54 +05:30
RitvikSardana
11a608ead6 chore: Italian translations 2025-10-11 07:42:53 +05:30
RitvikSardana
785e087e95 chore: Hungarian translations 2025-10-11 07:42:52 +05:30
RitvikSardana
0c1ad5e944 chore: German translations 2025-10-11 07:42:50 +05:30
RitvikSardana
29f6a71881 chore: Danish translations 2025-10-11 07:42:49 +05:30
RitvikSardana
04a05dd50b chore: Czech translations 2025-10-11 07:42:48 +05:30
RitvikSardana
2e2ae7e7db chore: Arabic translations 2025-10-11 07:42:47 +05:30
RitvikSardana
23cfb9afd8 chore: Spanish translations 2025-10-11 07:42:46 +05:30
RitvikSardana
ee3d1e2dea chore: French translations 2025-10-11 07:42:45 +05:30
Pratik Badhe
ca2b3fded3 fix: semgrep CI error 2025-10-10 14:35:48 +00:00
Pratik Badhe
770660eefe fix: horizontal line conditional rendering in general settings 2025-10-10 14:28:48 +00:00
Pratik Badhe
7ee3a1b7dd fix: import paths 2025-10-10 12:05:56 +00:00
Pratik Badhe
7b0f9d5c81 Merge branch 'develop' into fix/telephony-bugs 2025-10-10 11:37:58 +00:00
Pratik Badhe
c21247015b fix: handle on hover apps dropdown 2025-10-10 10:16:47 +00:00
Pratik Badhe
aa0c887504 fix: handle long email and name in assignee search 2025-10-10 10:12:12 +00:00
Pratik Badhe
4fd9a38860 fix: bug in assignment rule overwrite handling 2025-10-10 10:09:10 +00:00
Pratik Badhe
fec186af27 Merge branch 'develop' into feat/add-pages-in-settings 2025-10-10 09:57:40 +00:00
Pratik Badhe
6bca4de7b9 fix: layouts & alignments 2025-10-10 09:56:42 +00:00
RitvikSardana
a0df248756 Merge pull request #2649 from frappe/pot_develop_2025-10-05
chore: update POT file
2025-10-10 12:40:44 +05:30
RitvikSardana
e420d1ebf0 Merge pull request #2656 from pratikb64/fix/email-reply
fix: reply all 'To' email bug
2025-10-10 12:40:22 +05:30
RitvikSardana
93a0b55fc1 Merge pull request #2647 from pratikb64/fix/docker-issues
fix: docker bash file
2025-10-10 12:30:57 +05:30
Pratik Badhe
8507c62889 fix: improve logo upload functionality 2025-10-10 06:32:05 +00:00
Pratik Badhe
5aa9d85019 fix: add unsaved changes badge in profile 2025-10-10 06:26:18 +00:00
Pratik Badhe
83a592837a fix: handle roles for settings modal tabs 2025-10-10 06:17:23 +00:00
Ritvik Sardana
c2b8389251 feat: key bindings 2025-10-10 11:27:08 +05:30
Alan
b2b1bf9c5b Merge pull request #2659 from frappe/bump-vueuse
fix: bump vueuse to fix builds
2025-10-10 10:51:44 +05:30
18alantom
4099373b62 fix: bump vueuse to fix builds 2025-10-10 10:45:52 +05:30
Pratik Badhe
dc30039781 fix: profile image upload loading state 2025-10-10 04:49:10 +00:00
Pratik Badhe
cb3c76a55e fix: hide search bar when items are less than 10 2025-10-10 04:23:37 +00:00
Pratik Badhe
37c16f6725 fix: assignment rule new button label 2025-10-09 17:39:14 +00:00
Pratik Badhe
626546b71f fix: logo upload disable state 2025-10-09 17:37:34 +00:00
Pratik Badhe
5abc5e86e4 fix: empty state icon alignment & brand logo, favicon edge case 2025-10-09 17:22:08 +00:00
Pratik Badhe
cab87ec10e fix: agents dropdown placement 2025-10-09 17:04:02 +00:00
Pratik Badhe
910f1b5cbd fix: padding & spacing 2025-10-09 16:54:29 +00:00
Pratik Badhe
718bae37d9 fix: agent name while creating new agent 2025-10-09 14:16:57 +00:00
Pratik Badhe
4778372486 fix: add email account empty state & fix agent before_save hook 2025-10-09 13:38:30 +00:00
Pratik Badhe
6d42461cd6 fix: handle case where agent_name is not available 2025-10-09 13:16:19 +00:00
Pratik Badhe
22d06eea8a fix: assignment rule conditions 2025-10-09 12:01:41 +00:00
Pratik Badhe
6f0467eac4 feat: add profile, general settings page & search bars for lists 2025-10-09 11:26:43 +00:00
Pratik Badhe
5cce62efef fix: show toast if conditions are invalid 2025-10-09 07:49:29 +00:00
Pratik Badhe
746fb39d1c fix: handle json parse error & json validation on doctype save 2025-10-09 07:35:28 +00:00
Pratik Badhe
4636ffab67 fix: reply all 'To' email bug 2025-10-09 05:23:24 +00:00
RitvikSardana
23260de0d7 chore: Burmese translations 2025-10-08 06:01:33 +05:30
RitvikSardana
5959048cae chore: Portuguese, Brazilian translations 2025-10-08 06:01:27 +05:30
Pratik Badhe
95301a2a9f fix: apps list hover state 2025-10-06 11:38:51 +00:00
Pratik Badhe
0175b4e5fc refactor: change apps list UI 2025-10-06 11:25:35 +00:00
frappe-pr-bot
dee4cdf688 chore: update POT file 2025-10-05 10:35:11 +00:00
Pratik Badhe
043780c85d fix: docker bash file 2025-10-03 12:53:40 +00:00
Pratik Badhe
de95204c72 fix: frappe ui z index issues 2025-10-03 10:31:04 +00:00
RitvikSardana
e9ff5a7fd2 Merge pull request #2641 from frappe/l10n_develop2
chore: sync translations from crowdin
2025-10-03 11:33:53 +05:30
RitvikSardana
8c34993cef Merge pull request #2639 from RitvikSardana/cp-disable
fix: disable command palette when text editor is enabled
2025-10-03 11:33:21 +05:30
RitvikSardana
9afc83e633 chore: Tamil translations 2025-10-02 04:38:56 +05:30
RitvikSardana
9f017522f0 chore: Esperanto translations 2025-10-02 04:38:55 +05:30
RitvikSardana
4bddc7f0ef chore: Serbian (Latin) translations 2025-10-02 04:38:54 +05:30
RitvikSardana
b470a17913 chore: Norwegian Bokmal translations 2025-10-02 04:38:52 +05:30
RitvikSardana
00a2efbfbb chore: Bosnian translations 2025-10-02 04:38:51 +05:30
RitvikSardana
54b1854bdf chore: Croatian translations 2025-10-02 04:38:50 +05:30
RitvikSardana
dbe03e6fd0 chore: Thai translations 2025-10-02 04:38:49 +05:30
RitvikSardana
309c084222 chore: Persian translations 2025-10-02 04:38:48 +05:30
RitvikSardana
51f2a5e428 chore: Indonesian translations 2025-10-02 04:38:47 +05:30
RitvikSardana
5343a006ef chore: Portuguese, Brazilian translations 2025-10-02 04:38:46 +05:30
RitvikSardana
2caf0e94b8 chore: Vietnamese translations 2025-10-02 04:38:45 +05:30
RitvikSardana
8c9eab3d71 chore: Chinese Simplified translations 2025-10-02 04:38:43 +05:30
RitvikSardana
8790567a50 chore: Turkish translations 2025-10-02 04:38:42 +05:30
RitvikSardana
7a75306222 chore: Swedish translations 2025-10-02 04:38:41 +05:30
RitvikSardana
a1e4bb2555 chore: Serbian (Cyrillic) translations 2025-10-02 04:38:40 +05:30
RitvikSardana
0a0fc03f70 chore: Russian translations 2025-10-02 04:38:39 +05:30
RitvikSardana
24b30fb9cb chore: Portuguese translations 2025-10-02 04:38:38 +05:30
RitvikSardana
6c40f9b2a5 chore: Polish translations 2025-10-02 04:38:37 +05:30
RitvikSardana
6e59e71c7c chore: Dutch translations 2025-10-02 04:38:36 +05:30
RitvikSardana
95e10e43a8 chore: Italian translations 2025-10-02 04:38:34 +05:30
RitvikSardana
88396d22a9 chore: Hungarian translations 2025-10-02 04:38:33 +05:30
RitvikSardana
207b8efcc5 chore: German translations 2025-10-02 04:38:32 +05:30
RitvikSardana
309cd9e417 chore: Danish translations 2025-10-02 04:38:31 +05:30
RitvikSardana
69fd0d17ac chore: Czech translations 2025-10-02 04:38:30 +05:30
RitvikSardana
02cf1d1375 chore: Arabic translations 2025-10-02 04:38:29 +05:30
RitvikSardana
faade64fb5 chore: Spanish translations 2025-10-02 04:38:28 +05:30
RitvikSardana
9deb301619 chore: French translations 2025-10-02 04:38:26 +05:30
RitvikSardana
6c87f9d7ad Merge pull request #2625 from frappe/pot_develop_2025-09-28
chore: update POT file
2025-10-01 21:16:53 +05:30
Ritvik Sardana
105e8daff6 fix: disable command palette when text editor is enabled 2025-10-01 21:11:43 +05:30
RitvikSardana
eca4df62b4 Merge pull request #2624 from frappe/l10n_develop2
chore: sync translations from crowdin
2025-10-01 21:05:16 +05:30
RitvikSardana
98d0369f6b Merge pull request #2636 from RitvikSardana/assign-message
fix: assign history message
2025-10-01 12:35:23 +05:30
Ritvik Sardana
046aa8e085 fix: reload activities 2025-10-01 12:29:04 +05:30
Ritvik Sardana
46f0faca0b fix: assign history message 2025-10-01 12:14:20 +05:30
RitvikSardana
5d9bdedb22 chore: Tamil translations 2025-10-01 04:32:40 +05:30
RitvikSardana
add112ff9a chore: Persian translations 2025-10-01 04:32:36 +05:30
RitvikSardana
9bc28bec9e chore: Portuguese, Brazilian translations 2025-10-01 04:32:34 +05:30
RitvikSardana
5b768c0e4f chore: Vietnamese translations 2025-10-01 04:32:33 +05:30
RitvikSardana
9d7bcfcbec chore: Chinese Simplified translations 2025-10-01 04:32:31 +05:30
RitvikSardana
f658054549 chore: Polish translations 2025-10-01 04:32:27 +05:30
RitvikSardana
1919abfcea chore: Hungarian translations 2025-10-01 04:32:24 +05:30
RitvikSardana
d058962498 chore: Arabic translations 2025-10-01 04:32:21 +05:30
RitvikSardana
0434986a00 chore: Spanish translations 2025-10-01 04:32:20 +05:30
RitvikSardana
6c6941d53c chore: French translations 2025-10-01 04:32:18 +05:30
frappe-pr-bot
5bbfeaff35 chore: update POT file 2025-09-28 10:35:23 +00:00
RitvikSardana
32447b2e77 chore: Norwegian Bokmal translations 2025-09-28 03:04:38 +05:30
RitvikSardana
557e0c1d61 chore: Hungarian translations 2025-09-28 03:04:37 +05:30
RitvikSardana
6ea1fb316a chore: Norwegian Bokmal translations 2025-09-27 03:01:08 +05:30
MostafaKadry
ee86eb6a0e fix: ignore automated system notifications in ticket communication handling 2025-09-26 15:31:38 +03:00
RitvikSardana
70cc92f9a1 Merge pull request #2621 from RitvikSardana/readonly-field
fix: respect read_only fields
2025-09-26 16:12:16 +05:30
Ritvik Sardana
3317f1446b fix: respect read_only fields 2025-09-26 16:10:53 +05:30
RitvikSardana
498ff60a73 Merge pull request #2618 from RitvikSardana/fetch-notification
fix: fetch notifications after the user is fetched
2025-09-26 15:58:43 +05:30
RitvikSardana
de2bcebc64 Merge pull request #2617 from RitvikSardana/disable-quick-feedback
fix: add disable field to Feedback Option
2025-09-26 15:58:24 +05:30
Ritvik Sardana
916f039ed3 fix: fetch notifications after the user is fetched 2025-09-26 15:44:52 +05:30
Ritvik Sardana
0bf79c7be8 fix: validate for old options only 2025-09-26 14:53:35 +05:30
Ritvik Sardana
8520a225d1 fix: add disable field to Feedback Option 2025-09-26 13:57:11 +05:30
RitvikSardana
91a7374dc0 Merge pull request #2610 from RitvikSardana/canned-responses-search
fix: search in Canned responses
2025-09-25 20:36:53 +05:30
RitvikSardana
9917846559 Merge pull request #2604 from frappe/pot_develop_2025-09-21
chore: update POT file
2025-09-25 20:32:00 +05:30
RitvikSardana
7b26aa11be Merge pull request #2595 from frappe/l10n_develop2
chore: sync translations from crowdin
2025-09-25 20:31:45 +05:30
Ritvik Sardana
f0060c24c2 fix: add debounce in search 2025-09-25 20:27:09 +05:30
RitvikSardana
7c7c5d5f22 Merge pull request #2608 from pratikb64/fix/email-reply-all
fix: email reply all bug
2025-09-25 20:04:47 +05:30
RitvikSardana
3afaabbc96 Merge pull request #2594 from frappe/sqlite-fts
feat: Full Text Search using SQLite
2025-09-25 20:04:24 +05:30
RitvikSardana
7bcae0fbe9 Merge branch 'develop' into sqlite-fts 2025-09-25 19:56:23 +05:30
Ritvik Sardana
74a434acac chore: version bump 2025-09-25 19:54:55 +05:30
Ritvik Sardana
ecabb8d55d fix: search icon and placeholder 2025-09-25 17:16:27 +05:30
Ritvik Sardana
e9e5a58154 fix: persist filters and remove dump code from hooks and search_sqlite 2025-09-25 16:38:11 +05:30
Pratik Badhe
14f1acea19 fix: email reply all bug 2025-09-25 10:47:57 +00:00
Ritvik Sardana
741200e217 fix: dont index same doc thrice 2025-09-25 14:54:12 +05:30
Ritvik Sardana
5029510766 fix: hide dialog after deleting a comment 2025-09-25 11:43:13 +05:30
Ritvik Sardana
16b358b599 fix: add shortcut to focus on search bar 2025-09-25 00:12:14 +05:30
Ritvik Sardana
0248fcfc48 fix: show white icon for online and offline 2025-09-25 00:00:01 +05:30
Ritvik Sardana
232b30ebdd chore: update yarn.lock 2025-09-24 23:08:26 +05:30
Ritvik Sardana
7ade7b602b fix: linters 2025-09-24 23:06:57 +05:30
Ritvik Sardana
da7bf3d861 fix: add scrollbar in custom fields of customer portal 2025-09-24 22:52:43 +05:30
Ritvik Sardana
f8280ac203 fix: dont show count 2025-09-24 22:06:14 +05:30
Ritvik Sardana
aad177fc73 fix: convert reference_ticket value to int 2025-09-24 21:23:48 +05:30
Ritvik Sardana
ed06002cfc fix: search results with permission query filters 2025-09-24 17:56:00 +05:30
Ritvik Sardana
063c8aeea4 fix: ticket not found error 2025-09-24 13:28:26 +05:30
Ritvik Sardana
efa9ca438e fix: convert command pallete to composition API from options API 2025-09-24 13:27:56 +05:30
Ritvik Sardana
02080dd4c0 fix: ticket agent scroll 2025-09-24 10:59:32 +05:30
RitvikSardana
d67ad04e89 chore: Norwegian Bokmal translations 2025-09-24 02:56:43 +05:30
RitvikSardana
5ea83dccdd chore: Norwegian Bokmal translations 2025-09-23 02:03:58 +05:30
RitvikSardana
db9426279e chore: Persian translations 2025-09-23 02:03:55 +05:30
RitvikSardana
f64e305f91 chore: Norwegian Bokmal translations 2025-09-22 01:47:10 +05:30
frappe-pr-bot
b125c63d7b chore: update POT file 2025-09-21 10:35:14 +00:00
RitvikSardana
a55a148a78 chore: Norwegian Bokmal translations 2025-09-21 01:19:39 +05:30
RitvikSardana
cc3d392909 chore: Bump version to 1.15.1 2025-09-20 17:46:38 +05:30
RitvikSardana
124774b711 Merge pull request #2602 from RitvikSardana/easy-install-update
fix: add telephony in easy install script
2025-09-20 17:36:23 +05:30
Ritvik Sardana
096381bb5c fix: add telephony in easy install script 2025-09-20 17:34:19 +05:30
RitvikSardana
b93128d390 chore: Norwegian Bokmal translations 2025-09-20 01:10:10 +05:30
RitvikSardana
d4936a833f chore: Serbian (Latin) translations 2025-09-19 00:53:00 +05:30
RitvikSardana
781fa723e4 chore: Serbian (Cyrillic) translations 2025-09-19 00:52:58 +05:30
RitvikSardana
2b8fc16dc0 Merge pull request #2596 from RitvikSardana/new-ticket-seen
fix(desk): don't call mark seen api on new ticket
2025-09-18 15:21:57 +05:30
Ritvik Sardana
96efa8624f fix(desk): dont call mark seen api on new ticket 2025-09-18 15:19:58 +05:30
RitvikSardana
d07a8765ed chore: Esperanto translations 2025-09-18 00:57:23 +05:30
RitvikSardana
f513485016 chore: Serbian (Latin) translations 2025-09-18 00:57:21 +05:30
RitvikSardana
e866951197 chore: Norwegian Bokmal translations 2025-09-18 00:57:20 +05:30
RitvikSardana
7bc623051c chore: Bosnian translations 2025-09-18 00:57:19 +05:30
RitvikSardana
998b277216 chore: Croatian translations 2025-09-18 00:57:18 +05:30
RitvikSardana
dbcf6fe866 chore: Thai translations 2025-09-18 00:57:17 +05:30
RitvikSardana
0bd75cec41 chore: Persian translations 2025-09-18 00:57:16 +05:30
RitvikSardana
4e37c4c1d5 chore: Indonesian translations 2025-09-18 00:57:14 +05:30
RitvikSardana
6f6b04e6a9 chore: Portuguese, Brazilian translations 2025-09-18 00:57:13 +05:30
RitvikSardana
1410bd82cf chore: Vietnamese translations 2025-09-18 00:57:12 +05:30
RitvikSardana
6eecc8d8aa chore: Chinese Simplified translations 2025-09-18 00:57:11 +05:30
RitvikSardana
58b27e0261 chore: Turkish translations 2025-09-18 00:57:10 +05:30
RitvikSardana
4e6a00823f chore: Swedish translations 2025-09-18 00:57:09 +05:30
RitvikSardana
e599fd2e5a chore: Serbian (Cyrillic) translations 2025-09-18 00:57:08 +05:30
RitvikSardana
cee68f1b0d chore: Russian translations 2025-09-18 00:57:07 +05:30
RitvikSardana
6358533179 chore: Portuguese translations 2025-09-18 00:57:06 +05:30
RitvikSardana
117aa24a0a chore: Polish translations 2025-09-18 00:57:04 +05:30
RitvikSardana
ff91bd0c15 chore: Dutch translations 2025-09-18 00:57:03 +05:30
RitvikSardana
647fa443fc chore: Italian translations 2025-09-18 00:57:02 +05:30
RitvikSardana
5be3593a13 chore: Hungarian translations 2025-09-18 00:57:01 +05:30
RitvikSardana
93dd13deaf chore: German translations 2025-09-18 00:57:00 +05:30
RitvikSardana
d86fdba523 chore: Danish translations 2025-09-18 00:56:59 +05:30
RitvikSardana
a53450f740 chore: Czech translations 2025-09-18 00:56:57 +05:30
RitvikSardana
f7929ca621 chore: Arabic translations 2025-09-18 00:56:56 +05:30
RitvikSardana
dab44e62d5 chore: Spanish translations 2025-09-18 00:56:55 +05:30
RitvikSardana
dd81a4cdad chore: French translations 2025-09-18 00:56:54 +05:30
Faris Ansari
0c2967f503 feat: Full Text Search using SQLite
- dedicated search page
- route to ticket and scroll to relevant comment or email
- wip
2025-09-17 14:20:15 +05:30
RitvikSardana
72647ec4e0 Merge pull request #2587 from RitvikSardana/portal-url
fix: update portal url param
2025-09-17 00:21:13 +05:30
Ritvik Sardana
ee4f111f05 chore: bump version 2025-09-16 21:40:06 +05:30
Ritvik Sardana
f671d05ba2 fix: update portal url param 2025-09-16 21:21:54 +05:30
Pratik Badhe
b395d0d5d0 fix: url bug for custom view 2025-09-16 11:30:03 +00:00
RitvikSardana
536d06681f Merge pull request #2580 from frappe/pot_develop_2025-09-14
chore: update POT file
2025-09-16 15:36:21 +05:30
RitvikSardana
5b1320d108 Merge pull request #2574 from frappe/l10n_develop2
chore: sync translations from crowdin
2025-09-16 15:36:13 +05:30
Pratik Badhe
bca1b3a16e Merge remote-tracking branch 'origin/develop' into fix/telephony-bugs 2025-09-16 09:36:14 +00:00
RitvikSardana
87014f92f7 chore: Persian translations 2025-09-16 00:20:13 +05:30
Pratik Badhe
5d537211d0 fix: use correct variable 2025-09-15 07:21:58 +00:00
RitvikSardana
02069a4f2c chore: Norwegian Bokmal translations 2025-09-15 00:23:45 +05:30
frappe-pr-bot
d9de2cc529 chore: update POT file 2025-09-14 10:34:17 +00:00
RitvikSardana
03c7cdd3c9 chore: Portuguese translations 2025-09-14 00:15:37 +05:30
RitvikSardana
6274ef25fe chore: Serbian (Latin) translations 2025-09-13 00:20:01 +05:30
RitvikSardana
76b0a7df3e chore: Serbian (Cyrillic) translations 2025-09-13 00:20:00 +05:30
RitvikSardana
5a50d33086 chore: Bosnian translations 2025-09-11 23:49:45 +05:30
RitvikSardana
7fbcc3d9d6 chore: Croatian translations 2025-09-11 23:49:43 +05:30
RitvikSardana
362f488ff6 chore: Swedish translations 2025-09-11 23:49:42 +05:30
RitvikSardana
3e5bdf882a Merge pull request #2575 from RitvikSardana/fd-bug
fix: support old customization format
2025-09-11 22:31:12 +05:30
Pratik
6674961963 fix: tab url hash & make a call button 2025-09-11 07:58:22 +05:30
Ritvik Sardana
fc3496e50b fix: support old customization format 2025-09-11 00:45:41 +05:30
RitvikSardana
c613a50562 chore: Esperanto translations 2025-09-10 23:52:12 +05:30
RitvikSardana
017697c7f9 chore: Norwegian Bokmal translations 2025-09-10 23:52:11 +05:30
RitvikSardana
3ace828927 chore: Danish translations 2025-09-10 23:52:10 +05:30
RitvikSardana
9ab35f6796 chore: Serbian (Latin) translations 2025-09-10 23:52:09 +05:30
RitvikSardana
b53f41f9cb chore: Bosnian translations 2025-09-10 23:52:08 +05:30
RitvikSardana
50cde872fb chore: Croatian translations 2025-09-10 23:52:06 +05:30
RitvikSardana
e1d2e81578 chore: Thai translations 2025-09-10 23:52:05 +05:30
RitvikSardana
131728a0f2 chore: Persian translations 2025-09-10 23:52:04 +05:30
RitvikSardana
e174797e4f chore: Indonesian translations 2025-09-10 23:52:03 +05:30
RitvikSardana
4361cbb283 chore: Portuguese, Brazilian translations 2025-09-10 23:52:01 +05:30
RitvikSardana
1e24347c0e chore: Vietnamese translations 2025-09-10 23:52:00 +05:30
RitvikSardana
f1afe829ec chore: Chinese Simplified translations 2025-09-10 23:51:59 +05:30
RitvikSardana
28c312dc25 chore: Turkish translations 2025-09-10 23:51:58 +05:30
RitvikSardana
35bda326db chore: Swedish translations 2025-09-10 23:51:57 +05:30
RitvikSardana
fded7b243b chore: Serbian (Cyrillic) translations 2025-09-10 23:51:56 +05:30
RitvikSardana
fd7104a4e9 chore: Russian translations 2025-09-10 23:51:55 +05:30
RitvikSardana
fc70ac9958 chore: Portuguese translations 2025-09-10 23:51:53 +05:30
RitvikSardana
98d248db95 chore: Polish translations 2025-09-10 23:51:52 +05:30
RitvikSardana
7c78a968ee chore: Dutch translations 2025-09-10 23:51:51 +05:30
RitvikSardana
6c95462282 chore: Italian translations 2025-09-10 23:51:50 +05:30
RitvikSardana
7560b8d0ae chore: Hungarian translations 2025-09-10 23:51:49 +05:30
RitvikSardana
10ac3f0399 chore: German translations 2025-09-10 23:51:48 +05:30
RitvikSardana
e58134a824 chore: Czech translations 2025-09-10 23:51:47 +05:30
RitvikSardana
e94d74c923 chore: Arabic translations 2025-09-10 23:51:45 +05:30
RitvikSardana
3b29d2b673 chore: Spanish translations 2025-09-10 23:51:44 +05:30
RitvikSardana
04bddab124 chore: French translations 2025-09-10 23:51:43 +05:30
RitvikSardana
87b7439ba2 Merge pull request #2568 from frappe/pot_develop_2025-09-07
chore: update POT file
2025-09-10 20:59:52 +05:30
RitvikSardana
90d32887cf Merge branch 'develop' into pot_develop_2025-09-07 2025-09-10 20:59:40 +05:30
RitvikSardana
446bb38e6d Merge pull request #2559 from frappe/l10n_develop2
chore: sync translations from crowdin
2025-09-10 20:55:57 +05:30
RitvikSardana
cb0aa5e54f Merge pull request #2558 from frappe/pot_develop_2025-08-31
chore: update POT file
2025-09-10 20:55:49 +05:30
RitvikSardana
bdfaa43926 Merge pull request #2483 from pratikb64/feat/telephony-app
feat: add telephony app integration & call logs page
2025-09-10 20:28:47 +05:30
Pratik
abd05f2061 fix: update telephony store after setting default medium 2025-09-10 17:53:36 +05:30
Ritvik Sardana
aa111ad7cc fix: fix sizing in new ticket page 2025-09-10 04:40:24 +05:30
Ritvik Sardana
26f30dcc0d fix: field dependency improvements 2025-09-10 04:18:37 +05:30
Ritvik Sardana
fee7b3c8da fix: show correct avatar in ticket's contact 2025-09-10 04:01:21 +05:30
Ritvik Sardana
241adadd02 fix: show user avatar while typing 2025-09-10 03:56:58 +05:30
Ritvik Sardana
10d84824d4 fix: dont show disabled status in agent view 2025-09-10 03:50:32 +05:30
Ritvik Sardana
57f3fc8f73 fix: call UI styles 2025-09-10 03:40:52 +05:30
Ritvik Sardana
f77b5daf0d fix: show phone number in contact tab 2025-09-10 03:13:01 +05:30
RitvikSardana
e1242267d0 Merge pull request #2571 from RitvikSardana/ca-null
fix: custom actions issue
2025-09-09 22:47:27 +05:30
Ritvik Sardana
685e44d7f9 chore: code cleanup 2025-09-09 22:32:36 +05:30
Pratik Badhe
4374493eae refactor: integrate with new ticket UI 2025-09-09 13:26:19 +00:00
Ritvik Sardana
5f24d34899 fix: use only subject match search 2025-09-09 18:29:11 +05:30
Ritvik Sardana
6dd2bc86cb fix: open similar tickets section 2025-09-09 17:57:11 +05:30
Ritvik Sardana
aa8f3d4f00 fix: custom actions issue 2025-09-09 17:47:22 +05:30
Pratik Badhe
0b0030a028 Merge remote-tracking branch 'origin/develop' into feat/telephony-app 2025-09-09 10:34:30 +00:00
RitvikSardana
1c64a39256 Merge pull request #2570 from RitvikSardana/fts-patch
fix: dropping FTS index
2025-09-09 13:50:42 +05:30
RitvikSardana
e616eeab0d Merge pull request #2569 from RitvikSardana/ticket-lv
fix: list view and max header
2025-09-09 13:50:16 +05:30
Ritvik Sardana
06d8056e23 fix: dropping FTS index 2025-09-09 13:49:18 +05:30
Ritvik Sardana
07006d026a fix: list view and max header 2025-09-09 13:25:41 +05:30
RitvikSardana
f7316d1107 Merge pull request #2537 from RitvikSardana/feat-new-ticket-agent-view
feat: new ticket agent view
2025-09-09 12:45:10 +05:30
Ritvik Sardana
f60d792145 fix: team permission 2025-09-09 12:34:18 +05:30
Ritvik Sardana
d4b9d60ed7 fix: overflow in ticket view 2025-09-09 12:15:05 +05:30
Ritvik Sardana
74590f7f1a fix: remove tooltip 2025-09-09 11:56:27 +05:30
Ritvik Sardana
5c80b4336f fix: click of contacts 2025-09-09 11:53:06 +05:30
Ritvik Sardana
f573f02840 fix: sla failed status 2025-09-09 11:48:34 +05:30
Ritvik Sardana
807abc579c chore: code cleanup 2025-09-09 05:52:27 +05:30
Ritvik Sardana
e75dc8eb10 fix: feedback styles and mobile view 2025-09-09 04:58:30 +05:30
Ritvik Sardana
792e173e35 fix: add sla timings in header 2025-09-09 03:24:17 +05:30
Ritvik Sardana
6907997db3 fix: new ticket view minor style changes 2025-09-09 01:29:30 +05:30
Ritvik Sardana
759e50773e fix: styles of comment & feedback box 2025-09-09 00:28:30 +05:30
RitvikSardana
93aecb900f chore: Norwegian Bokmal translations 2025-09-08 22:51:06 +05:30
Pratik Badhe
4e50e01151 feat: add modal to set contact phone number 2025-09-08 11:56:14 +00:00
Pratik Badhe
3f0100ae2f fix: show call modal if phone no is not present 2025-09-08 04:27:41 +00:00
Ritvik Sardana
61b9ee294a feat: realtime typing indicator 2025-09-08 01:49:53 +05:30
RitvikSardana
6c75e1898d chore: Swedish translations 2025-09-07 22:41:28 +05:30
Ritvik Sardana
edcf8cb43d fix: only show feedback box if applicable 2025-09-07 22:10:31 +05:30
Ritvik Sardana
4fb912da49 fix: temp design for feedback and comment box 2025-09-07 21:53:35 +05:30
Ritvik Sardana
991dad1d6a fix: overflow of text editor 2025-09-07 21:53:35 +05:30
Ritvik Sardana
4f7357c457 fix: loading state in activity panel 2025-09-07 21:53:35 +05:30
Ritvik Sardana
1b2255b5f9 fix: minor fixes in activities & comm area 2025-09-07 21:53:35 +05:30
Ritvik Sardana
0073d4926c fix: correct context for customizatizations 2025-09-07 21:53:35 +05:30
Ritvik Sardana
0d8ea3ce76 chore: code cleanup 2025-09-07 21:53:35 +05:30
Ritvik Sardana
ce0099e740 fix: add comm area + activities, handle viewers per ticket, show assigned and viewers of ticket in activity 2025-09-07 21:53:35 +05:30
Ritvik Sardana
1c001275b1 fix: add @me support for getting navigation tickets 2025-09-07 21:53:35 +05:30
Ritvik Sardana
5db4b9ba99 chore: code cleanup 2025-09-07 21:53:35 +05:30
Ritvik Sardana
7bbb011ad9 fix: call tickets to navigate only once 2025-09-07 21:53:35 +05:30
Ritvik Sardana
3412677be3 fix: remove mandatory depends on 2025-09-07 21:53:35 +05:30
Ritvik Sardana
f3fb6dd603 fix: respect desk meta in agent fields 2025-09-07 21:53:35 +05:30
Ritvik Sardana
8531bdb71e fix(patch): add FULLTEXT index for subject & description in HD Ticket 2025-09-07 21:53:35 +05:30
Ritvik Sardana
81282ab548 feat: recent + similar tickets 2025-09-07 21:52:01 +05:30
Ritvik Sardana
c3d59e2581 fix: add merge functionality 2025-09-07 21:52:01 +05:30
Ritvik Sardana
f33ba1ae1c fix: add copy to clipboard functionality 2025-09-07 21:52:01 +05:30
Ritvik Sardana
2b8657ceff feat: add ticket contact info 2025-09-07 21:52:01 +05:30
Ritvik Sardana
818218cdf2 fix: refactor useTicket composable 2025-09-07 21:52:01 +05:30
Ritvik Sardana
d98fd9e137 fix: add assignTo component 2025-09-07 21:52:01 +05:30
Ritvik Sardana
62578bd4c2 fix: navigation tickets order 2025-09-07 21:52:01 +05:30
Ritvik Sardana
88d60e5a8d chore: code cleanup 2025-09-07 21:52:01 +05:30
Ritvik Sardana
6fc6b2cb3d fix: better way to navigate 2025-09-07 21:52:01 +05:30
Ritvik Sardana
9f14cd4477 feat: faster navigation 2025-09-07 21:52:01 +05:30
Ritvik Sardana
89b3519832 feat: add custom actions support in header 2025-09-07 21:52:01 +05:30
Ritvik Sardana
ea92045587 feat: add custom fields support in details pannel 2025-09-07 21:52:01 +05:30
Ritvik Sardana
9e3f49b904 fix: add assignees in useTicket composable 2025-09-07 21:52:00 +05:30
Ritvik Sardana
e642424b87 fix: add composable for socket events 2025-09-07 21:52:00 +05:30
Ritvik Sardana
c85b9cc87c fix: handle case when browser is closed directly 2025-09-07 21:52:00 +05:30
Ritvik Sardana
c77852cd40 feat: add current ticket viewers functionality 2025-09-07 21:52:00 +05:30
Ritvik Sardana
51826a1bd2 fix: status style 2025-09-07 21:52:00 +05:30
Ritvik Sardana
3a63bc99d5 fix: use inject instead of props drilling 2025-09-07 21:52:00 +05:30
Ritvik Sardana
5de95f9ca6 fix: add agent activities 2025-09-07 21:52:00 +05:30
Ritvik Sardana
20729b5ce7 fix: complete UI of sidebar 2025-09-07 21:52:00 +05:30
Ritvik Sardana
93add4eae9 fix: add details tab in sidepanel 2025-09-07 21:52:00 +05:30
Ritvik Sardana
18f1415687 fix: add contact component 2025-09-07 21:52:00 +05:30
Ritvik Sardana
6223574859 fix: setup layout 2025-09-07 21:52:00 +05:30
Ritvik Sardana
ab9dfd1998 fix: add sla section 2025-09-07 21:52:00 +05:30
Ritvik Sardana
d989549dfd feat: new ticket agent view 2025-09-07 21:52:00 +05:30
frappe-pr-bot
84d81e0cab chore: update POT file 2025-09-07 10:34:56 +00:00
RitvikSardana
34a39e0927 chore: Norwegian Bokmal translations 2025-09-06 22:45:32 +05:30
RitvikSardana
6c62653372 chore: Norwegian Bokmal translations 2025-09-05 22:30:30 +05:30
RitvikSardana
e61401013d chore: Chinese Simplified translations 2025-09-05 22:30:29 +05:30
RitvikSardana
860951085b fix: don't install helpdesk twice in CI setup 2025-09-05 22:21:25 +05:30
Pratik Badhe
8cb91578e2 fix: add call icon for empty state in call logs page 2025-09-05 12:35:58 +00:00
Pratik Badhe
95f3b763f4 fix: handle makeCall if phone number if not there 2025-09-05 12:33:31 +00:00
Pratik Badhe
989b406c69 refactor: change telephony agent description 2025-09-05 11:19:13 +00:00
Pratik Badhe
4d52b6eb6b fix: settings modal tabs data structure 2025-09-05 10:36:42 +00:00
RitvikSardana
b11a1213c9 chore: Norwegian Bokmal translations 2025-09-04 22:18:36 +05:30
Pratik Badhe
5bdc5b7cd8 fix: handle errors 2025-09-04 06:18:13 +00:00
Pratik Badhe
275ae6082d fix: handle @me in call log modal 2025-09-03 04:23:44 +00:00
Pratik Badhe
3dd4da9687 chore: lint fix 2025-09-02 17:28:45 +00:00
Pratik Badhe
af56d172d0 fix: add click handler to button 2025-09-02 17:26:34 +00:00
Pratik Badhe
ff56e45316 Merge remote-tracking branch 'origin/develop' into feat/telephony-app 2025-09-02 17:18:31 +00:00
Pratik Badhe
3fe6fc7dad refactor: change ticket display in call modal 2025-09-02 17:07:00 +00:00
RitvikSardana
001d5a8037 chore: Danish translations 2025-09-02 21:53:41 +05:30
RitvikSardana
d0c0768c59 chore: Hungarian translations 2025-09-02 21:53:40 +05:30
Pratik Badhe
096dfcda0d fix: call button click area 2025-09-02 16:10:12 +00:00
Pratik Badhe
6e0816ac00 fix: incoming call bugs 2025-09-02 15:50:22 +00:00
Pratik Badhe
554cf592e1 fix: hide empty fields 2025-09-02 09:22:41 +00:00
Pratik Badhe
6a2a6c5cf2 fix: call log modal form labels 2025-09-02 09:01:48 +00:00
Pratik Badhe
b9a34b842a fix: twilio apps dopdown 2025-09-02 07:38:20 +00:00
Pratik Badhe
a85da465a8 fix: handle empty twilio_apps 2025-09-02 07:34:44 +00:00
RitvikSardana
f17e987c05 chore: Norwegian Bokmal translations 2025-09-01 21:50:28 +05:30
RitvikSardana
2e569242c3 chore: Hungarian translations 2025-09-01 21:50:14 +05:30
RitvikSardana
fd661ff020 Merge pull request #2560 from RitvikSardana/fix-ticket-reopen
fix: handle email ticket reopen and default status
2025-09-01 01:45:20 +05:30
Ritvik Sardana
a2b284a372 fix: dont change the ticket status to reopen unless agent replies 2025-09-01 01:38:22 +05:30
Ritvik Sardana
593fda1926 fix: handle email ticket reopen and default status 2025-09-01 01:13:30 +05:30
RitvikSardana
d199557aac chore: Norwegian Bokmal translations 2025-08-31 21:40:01 +05:30
frappe-pr-bot
0f7b5570b0 chore: update POT file 2025-08-31 10:35:38 +00:00
MhmdSinanKT
2b6e54a941 feat: enhance search with or filter 2025-08-30 09:43:15 +05:30
MhmdSinanKT
85e8d9d2e9 feat: search for canned responses in hd view 2025-08-30 09:43:15 +05:30
RitvikSardana
5477fb62f0 Merge pull request #2552 from frappe/l10n_develop2
chore: sync translations from crowdin
2025-08-29 22:43:36 +05:30
RitvikSardana
5318e559f4 Merge pull request #2554 from sumitbhanushali/patch-1
fix: on mention comment skip email if skip_email_workflow is enabled
2025-08-29 22:39:36 +05:30
RitvikSardana
f26b6e4fbb Merge pull request #2555 from NagariaHussain/fix/assets-build
chore: add `public` directory to version control
2025-08-29 22:39:30 +05:30
Hussain Nagaria
96cf326633 chore: add public directory to version control
* FC assets placements breaks weirdly if this is missing
2025-08-29 19:01:46 +05:30
Pratik Badhe
8f356d763d feat: add apps dropdown 2025-08-29 13:02:12 +00:00
Sumit Bhanushali
433f89f241 fix: use frappe.db.get_single_value to optimize fetch 2025-08-29 17:41:42 +05:30
Sumit Bhanushali
99dc346eae fix: on mention comment skip email if skip_email_workflow is enabled 2025-08-29 17:07:52 +05:30
RitvikSardana
8a3d716185 Merge pull request #2548 from pratikb64/fix/filter-popover
fix: frappe ui upgrade fixes
2025-08-29 17:05:25 +05:30
RitvikSardana
ef04534e2c Merge pull request #2445 from EltonLobo07/feat-email-customizations
feat: email customizations
2025-08-29 15:42:12 +05:30
Elton Lobo
c6542e1a76 fix(user-notifications): add documentation links 2025-08-29 15:17:45 +05:30
Pratik Badhe
ee1946a4fd fix: view dropdown bug 2025-08-29 08:57:18 +00:00
Elton Lobo
3d28c9b664 refactor(email-notifications): update 'reply from agent' section's description 2025-08-29 13:34:33 +05:30
Elton Lobo
a589022332 fix: remove duplicate field names from HD Settings 2025-08-29 13:33:43 +05:30
Elton Lobo
cdb17c349c refactor(email-notifications): create helpers to increase readability 2025-08-29 13:15:45 +05:30
Elton Lobo
791497421a refactor(email-notifications): remove unused style blocks 2025-08-29 13:05:14 +05:30
Elton Lobo
f02e3e3155 refactor: reorder patches.txt 2025-08-29 13:03:08 +05:30
Elton Lobo
41cdfbb641 refactor(email-notifications): avoid watchers whenever possible 2025-08-29 13:01:52 +05:30
Elton Lobo
f42e7b4743 refactor: remove __init__.py from api/settings 2025-08-29 12:57:02 +05:30
Pratik Badhe
d64176f0c8 Merge remote-tracking branch 'origin/develop' into fix/filter-popover 2025-08-29 06:41:29 +00:00
RitvikSardana
9086d8c9fa chore: Norwegian Bokmal translations 2025-08-28 21:21:16 +05:30
RitvikSardana
5ab2b44152 chore: Danish translations 2025-08-28 21:21:15 +05:30
RitvikSardana
8902fad23b chore: bump version to 1.14.1 2025-08-28 20:13:42 +05:30
RitvikSardana
0fb7a234ca Merge pull request #2534 from frappe/l10n_develop2
chore: sync translations from crowdin
2025-08-28 20:04:47 +05:30
RitvikSardana
e966e22946 Merge pull request #2547 from EltonLobo07/fix-quick-filter-select
fix: hide quick filter select's placeholder when a value is selected
2025-08-28 20:04:34 +05:30
Pratik Badhe
4106d2fb2c fix: filter z index 2025-08-28 12:40:54 +00:00
Pratik Badhe
b7dfb3a83c Revert "fix: filter z index"
This reverts commit e0dc045e0a.
2025-08-28 12:35:21 +00:00
Pratik Badhe
e0dc045e0a fix: filter z index 2025-08-28 12:31:40 +00:00
Pratik Badhe
efaf73f5f0 Merge branch 'develop' into feat/telephony-app 2025-08-28 10:53:30 +00:00
Elton Lobo
c5e4519148 fix: hide quick filter select's placeholder when a value is selected 2025-08-28 15:59:39 +05:30
Pratik Badhe
fb07442887 fix: show ticket description & add install patch 2025-08-28 09:30:03 +00:00
Elton Lobo
07d2c0c05f Merge branch 'develop' into feat-email-customizations 2025-08-28 14:16:53 +05:30
RitvikSardana
7ec4daf204 Merge pull request #2475 from EltonLobo07/fix-disabled-user-invite
fix: framework code adjustments to disallow inviting disabled users
2025-08-28 13:29:04 +05:30
RitvikSardana
e293a96693 Merge pull request #2546 from RitvikSardana/dashboard-fix
fix: dashboard query
2025-08-28 12:47:05 +05:30
Ritvik Sardana
f3e1eaab59 fix: dashboard query 2025-08-28 12:45:55 +05:30
Elton Lobo
00290ef53b Merge branch 'develop' into feat-email-customizations 2025-08-28 12:12:43 +05:30
RitvikSardana
1c16cd3a3f chore: Norwegian Bokmal translations 2025-08-27 21:11:30 +05:30
RitvikSardana
fdc8a20b25 chore: Danish translations 2025-08-27 21:11:29 +05:30
RitvikSardana
684111bde5 chore: Persian translations 2025-08-27 21:11:25 +05:30
RitvikSardana
3ccad0a519 chore: Russian translations 2025-08-27 21:11:19 +05:30
RitvikSardana
a5312d6c4e chore: German translations 2025-08-27 21:11:14 +05:30
RitvikSardana
fde8bcb5b4 Merge pull request #2542 from RitvikSardana/remove-debug
fix: remove debug=1 in SQL
2025-08-27 20:51:54 +05:30
Ritvik Sardana
8dc675f09f fix: remove debug=1 in SQL 2025-08-27 20:51:08 +05:30
RitvikSardana
45d047eefc Merge pull request #2541 from RitvikSardana/fixes-custom-stats
fix: issues due to custom status & frappe-ui upgrade
2025-08-27 20:48:21 +05:30
Ritvik Sardana
2d679ae034 fix: empty state in Notifications 2025-08-27 20:44:57 +05:30
Ritvik Sardana
6b3ecf3297 fix: case when moving from paused to paused status 2025-08-27 20:44:57 +05:30
Ritvik Sardana
9427d8991e fix: dashboard queries 2025-08-27 20:44:57 +05:30
Ritvik Sardana
222e09152e fix(patch): for updating status category field 2025-08-27 20:44:57 +05:30
Ritvik Sardana
a4bc08e9a6 fix: dashboard filter 2025-08-27 20:44:57 +05:30
RitvikSardana
daa3b1c0f8 chore: Serbian (Latin) translations 2025-08-26 19:56:15 +05:30
RitvikSardana
68ce99fb61 chore: Serbian (Cyrillic) translations 2025-08-26 19:56:06 +05:30
Elton Lobo
1a528db943 refactor(user-invitation): update user invitation hooks 2025-08-26 19:34:08 +05:30
Elton Lobo
bc55792d84 refactor(user-invitation): avoid parsing emails input 2025-08-26 18:57:57 +05:30
Pratik Badhe
02fdb1516a chore: change prefix in cache 2025-08-26 11:25:35 +00:00
Pratik Badhe
c365d5c80f fix: handle both mobile & phone number in call ui 2025-08-26 09:41:53 +00:00
Elton Lobo
6f45af2e8a style(email-notifications): format 'enable new email notifications' patch file 2025-08-26 12:32:50 +05:30
Elton Lobo
0edf309245 Merge branch 'develop' into feat-email-customizations 2025-08-26 12:29:22 +05:30
RitvikSardana
fdddbf4d16 Merge pull request #2536 from RitvikSardana/bump-frappe-ui
chore: bump frappe UI to v0.1.192
2025-08-25 22:41:44 +05:30
Ritvik Sardana
ca2ac6b5a9 fix: dropdown alignment 2025-08-25 21:43:00 +05:30
Ritvik Sardana
d43e7fb70b fix: update to v0.1.192 & build yarn.locl file 2025-08-25 21:29:27 +05:30
Ritvik Sardana
1d47ceb7c2 chore: code cleanup 2025-08-25 20:56:29 +05:30
Ritvik Sardana
07f2e6cf3a chore: bump frappe-ui version 2025-08-25 20:41:30 +05:30
Elton Lobo
9644fc8ac0 feat(email-notifications): add a patch to enable new email notifications 2025-08-25 20:32:30 +05:30
Elton Lobo
dcbe749437 refactor(email-notifications): improve ui/ux 2025-08-25 20:31:45 +05:30
RitvikSardana
441b396fca Merge pull request #2533 from RitvikSardana/lv-overflow
fix(style): overflow of status field in list view
2025-08-25 19:54:44 +05:30
RitvikSardana
ad72f16728 chore: Esperanto translations 2025-08-25 19:32:28 +05:30
RitvikSardana
c672623d61 chore: Serbian (Latin) translations 2025-08-25 19:32:27 +05:30
RitvikSardana
d3e52ea7c4 chore: Bosnian translations 2025-08-25 19:32:26 +05:30
RitvikSardana
88e490e319 chore: Croatian translations 2025-08-25 19:32:24 +05:30
RitvikSardana
b1be5ef8ed chore: Thai translations 2025-08-25 19:32:23 +05:30
RitvikSardana
a097baa4e0 chore: Persian translations 2025-08-25 19:32:22 +05:30
RitvikSardana
1ac2bdc273 chore: Indonesian translations 2025-08-25 19:32:20 +05:30
RitvikSardana
3cfc30395b chore: Portuguese, Brazilian translations 2025-08-25 19:32:19 +05:30
RitvikSardana
70b8ba6686 chore: Vietnamese translations 2025-08-25 19:32:18 +05:30
RitvikSardana
641255091d chore: Chinese Simplified translations 2025-08-25 19:32:16 +05:30
RitvikSardana
22ba37f2c4 chore: Turkish translations 2025-08-25 19:32:15 +05:30
RitvikSardana
39c9011f1f chore: Swedish translations 2025-08-25 19:32:14 +05:30
RitvikSardana
c8bd5a00f5 chore: Serbian (Cyrillic) translations 2025-08-25 19:32:12 +05:30
RitvikSardana
637da2fa5b chore: Russian translations 2025-08-25 19:32:10 +05:30
RitvikSardana
2df029ada8 chore: Portuguese translations 2025-08-25 19:32:09 +05:30
RitvikSardana
50c42ef5f5 chore: Polish translations 2025-08-25 19:32:07 +05:30
RitvikSardana
73e2b45557 chore: Dutch translations 2025-08-25 19:32:06 +05:30
RitvikSardana
0275b76f67 chore: Italian translations 2025-08-25 19:32:05 +05:30
RitvikSardana
dae40b31b3 chore: Hungarian translations 2025-08-25 19:32:04 +05:30
RitvikSardana
2c3adc5ade chore: German translations 2025-08-25 19:32:02 +05:30
RitvikSardana
fa5cf38978 chore: Czech translations 2025-08-25 19:32:01 +05:30
RitvikSardana
06676aa382 chore: Arabic translations 2025-08-25 19:32:00 +05:30
RitvikSardana
af85c3e014 chore: Spanish translations 2025-08-25 19:31:59 +05:30
RitvikSardana
9d7bac3588 chore: French translations 2025-08-25 19:31:57 +05:30
Ritvik Sardana
43e59d411a fix: overflow of status field in list view 2025-08-25 19:16:54 +05:30
RitvikSardana
54fe1e53de Merge pull request #2484 from RitvikSardana/feat-custom-sla-status
feat: custom ticket status and mapping to SLA
2025-08-25 18:36:53 +05:30
Ritvik Sardana
4f95c37098 chore: code cleanup 2025-08-25 18:29:33 +05:30
Ritvik Sardana
4243880c4e fix: dont allow renaming closed status, and improve auto closure of tickets 2025-08-25 17:07:16 +05:30
Ritvik Sardana
7989df007a fix: add perms for Agent Manager to created and others to read 2025-08-25 14:03:55 +05:30
Elton Lobo
cb66638cb6 refactor(email-notifications): update email content field's description 2025-08-25 14:03:52 +05:30
Elton Lobo
1e85057e60 fix(email-notifications): translate confirm dialog props 2025-08-25 14:01:58 +05:30
Elton Lobo
33d541ce35 feat(email-notifications): show confirm dialog before resetting content 2025-08-25 13:57:59 +05:30
Pratik Badhe
b6b33fa622 fix: active tab url bug 2025-08-25 08:20:25 +00:00
Elton Lobo
451cfee127 fix(email-notifications): use code string literals for default content 2025-08-25 13:12:29 +05:30
Pratik Badhe
19b139f3cd fix: hide call log on mobile sidebar if calling is disabled 2025-08-25 07:27:48 +00:00
Pratik Badhe
c7541eeb0e feat: add ticket linking in call log modal 2025-08-25 07:12:37 +00:00
Ritvik Sardana
704a031438 chore: code cleanup 2025-08-25 11:50:15 +05:30
Ritvik Sardana
2caa3078b0 fix: validate disabling status 2025-08-25 11:43:39 +05:30
Elton Lobo
f159b49479 fix(email-notifications): handle render_template errors 2025-08-25 11:39:39 +05:30
Ritvik Sardana
c76f1926a8 fix: dont re-calculate resolution time when going from resolved to closed 2025-08-25 11:22:18 +05:30
Elton Lobo
d3bb2a310f fix(email-notifications): validate email templates when updated using desk 2025-08-25 10:56:38 +05:30
Elton Lobo
4414769791 refactor(email-notifications): create a fn to get content of a notification 2025-08-25 10:33:46 +05:30
Pratik Badhe
9d2d18e377 Merge remote-tracking branch 'origin/develop' into feat/telephony-app 2025-08-25 04:11:27 +00:00
RitvikSardana
d3a366371a Merge pull request #2528 from frappe/l10n_develop2
chore: sync translations from crowdin
2025-08-25 00:59:24 +05:30
RitvikSardana
21fb6f3068 Merge pull request #2527 from frappe/pot_develop_2025-08-24
chore: update POT file
2025-08-25 00:59:09 +05:30
Ritvik Sardana
66884b10c9 fix: add support for custom status in ticket summary & analytics report 2025-08-25 00:55:31 +05:30
Ritvik Sardana
a518cf962e fix: remove status section from SLA in UI 2025-08-25 00:27:27 +05:30
Pratik Badhe
294c7383c6 fix: call log linking & bug fixes 2025-08-24 17:10:05 +00:00
RitvikSardana
4fd63ef2d1 Merge pull request #2525 from NagariaHussain/fix/dev-with-workspace
fix: import `createApp` before frappe-ui components
2025-08-24 20:28:56 +05:30
RitvikSardana
fcd5af88d7 chore: Indonesian translations 2025-08-24 18:45:26 +05:30
RitvikSardana
9f771be044 chore: Italian translations 2025-08-24 18:45:18 +05:30
frappe-pr-bot
f196229534 chore: update POT file 2025-08-24 10:36:19 +00:00
Hussain Nagaria
a8a202b5ce fix: import createApp before frappe-ui components 2025-08-24 15:43:49 +05:30
Ritvik Sardana
7774c86111 fix: custom status support in agent ticket status dropdown 2025-08-23 22:22:25 +05:30
Ritvik Sardana
9188b9cc01 fix: sla details on sidebar of agent & customer ticket 2025-08-23 22:04:29 +05:30
Ritvik Sardana
5bd471bb6c ci: bump python version 2025-08-23 19:38:24 +05:30
Ritvik Sardana
118dfe405e fix: installation default value 2025-08-23 19:10:44 +05:30
Ritvik Sardana
86b1a21157 fix: custom status support in customer ticket 2025-08-23 18:47:11 +05:30
Ritvik Sardana
ab005bebf0 fix: add support for custom status in ticket list view 2025-08-23 17:38:19 +05:30
Ritvik Sardana
6c10e12d73 fix: dashboard api to follow new status_category field 2025-08-23 13:40:00 +05:30
Ritvik Sardana
2b5ee53e24 test: write test cases for sla mapping with custom statuses 2025-08-23 02:16:10 +05:30
Ritvik Sardana
74509036f1 fix: differentiate between new and existing ticket for setting status 2025-08-23 01:39:59 +05:30
Ritvik Sardana
4069ca6a1e fix: use default open status and reopen status field in ticket and sla doctype 2025-08-22 23:57:27 +05:30
Ritvik Sardana
8603873e5a fix: add default status and reopen ticket status fields in helpdesk 2025-08-22 22:51:38 +05:30
Ritvik Sardana
2d788bf5d5 fix: remove unwanted SLA doctypes and write patch 2025-08-22 22:00:30 +05:30
Ritvik Sardana
f994b739a8 fix: add default status field in patch and installation 2025-08-22 21:25:01 +05:30
Elton Lobo
296ed731c9 refactor(email-notifications): rename desk view labels & add descriptions 2025-08-22 19:53:10 +05:30
Elton Lobo
b0ad873274 feat(email-notifications): validate jinja templates before updating settings 2025-08-22 19:34:28 +05:30
Elton Lobo
8d7bfcdabb refactor(email-notifications): add resuable fn to render jinja templates 2025-08-22 19:13:19 +05:30
Elton Lobo
726c1f5c79 refactor(email-notifications): improve text styles 2025-08-22 17:13:31 +05:30
Ritvik Sardana
096a09a928 test: for calculating hold time and resolution time 2025-08-22 15:24:27 +05:30
Ritvik Sardana
a0f4047e1c chore: orgnaize HD Ticket SLA Status doctype 2025-08-22 15:24:27 +05:30
Ritvik Sardana
01057407d0 chore: code cleanup 2025-08-22 15:24:27 +05:30
Ritvik Sardana
d887123196 fix: rename fallback_status to default_status 2025-08-22 15:24:27 +05:30
Ritvik Sardana
b7fc5813ca fix: remove defaults from hd settings 2025-08-22 15:24:27 +05:30
Ritvik Sardana
1427d8abe5 fix: json of HD Ticket and HD Settings 2025-08-22 15:24:27 +05:30
Ritvik Sardana
11df9a9121 fix: add support for ticket status doctype in hd_ticket.py and settings 2025-08-22 15:24:18 +05:30
Ritvik Sardana
6217280a5f fix: make ticket status link field in HD Ticket doctype 2025-08-22 15:24:18 +05:30
Ritvik Sardana
e7548982b2 fix: non negative hold time 2025-08-22 15:24:00 +05:30
Ritvik Sardana
d83efa9813 perf: calc_elapsed_time function improvement by 1440x 2025-08-22 15:24:00 +05:30
Ritvik Sardana
5e442b9f48 fix(patch): updating statuses 2025-08-22 15:23:24 +05:30
Ritvik Sardana
7803ad2c1e fix: validations + test cases in HD Ticket Status 2025-08-22 15:20:18 +05:30
Ritvik Sardana
82622a9b35 feat: init custom status 2025-08-22 15:20:18 +05:30
Pratik Badhe
87a3d54b83 refactor: change telephony app name in hook 2025-08-22 09:22:49 +00:00
Pratik Badhe
d1efd4371d refactor: error handling & dirty state logic 2025-08-22 09:19:51 +00:00
RitvikSardana
2d6c2c72b7 Merge pull request #2521 from RitvikSardana/fix-placeholder
fix: show placeholder in fields while creating tickets
2025-08-22 12:06:29 +05:30
Ritvik Sardana
e602512597 fix: show placeholder in fields while creating tickets 2025-08-22 12:00:59 +05:30
Pratik Badhe
400fc1bffc fix: duration icon in call log detail modal 2025-08-21 10:54:10 +00:00
Pratik Badhe
ce4c7cd220 chore: add i18 2025-08-21 10:10:23 +00:00
Pratik Badhe
07114cbbb5 fix: show call tab only when calling is enabled 2025-08-21 09:44:13 +00:00
Elton Lobo
5f258fe40c feat(email-notifications): show confirm dialog when changes are not saved 2025-08-21 14:59:59 +05:30
Pratik Badhe
a72ab2a9df fix: call modal value's key name 2025-08-21 09:25:43 +00:00
Pratik Badhe
622421a752 feat: add call tab in ticket view 2025-08-21 09:08:15 +00:00
Elton Lobo
8a3478b49e refactor(email-notifications): change unsaved badge color & text 2025-08-21 12:08:06 +05:30
Elton Lobo
3a7e1a270e feat(email-notifications): go to main tab on sub tab heading click 2025-08-21 12:01:57 +05:30
Elton Lobo
185f59fa7d feat(email-notifications): expose doc in every email content 2025-08-21 11:46:24 +05:30
Elton Lobo
b6a5f9279b refactor(email-notifications): update titles and descriptions 2025-08-21 11:32:25 +05:30
RitvikSardana
a7f2f51039 Merge pull request #2519 from frappe/revert-2515-fixes-1
chore: Revert "fix: style changes"
2025-08-20 17:26:38 +05:30
RitvikSardana
5846994ec2 chore: update Sidebar gap 2025-08-20 17:26:28 +05:30
RitvikSardana
f0407ceae5 Revert "fix: style changes" 2025-08-20 17:25:38 +05:30
RitvikSardana
7c5887c7e4 Merge pull request #2517 from pratikb64/fix/holiday-modal
fix: add holiday modal "default" date
2025-08-20 11:35:18 +05:30
RitvikSardana
45a4975cbb Merge pull request #2515 from RitvikSardana/fixes-1
fix: style changes
2025-08-20 11:35:04 +05:30
Ritvik Sardana
38acffde86 fix: types in new ticket page fields 2025-08-20 11:29:12 +05:30
Pratik Badhe
4b00a98b75 fix: add holiday modal "default" date 2025-08-20 04:23:44 +00:00
Ritvik Sardana
56a0595dfa fix: style changes 2025-08-20 00:56:58 +05:30
RitvikSardana
2b1a27afd7 Merge pull request #2514 from RitvikSardana/email-routing
fix: fill data in email_account field in HD Ticket
2025-08-19 23:11:15 +05:30
Ritvik Sardana
59ea639191 fix: fill data in email_account field in HD Ticket 2025-08-19 23:09:23 +05:30
RitvikSardana
79cafe9024 chore: version bump 2025-08-19 22:23:22 +05:30
RitvikSardana
805166642e Merge pull request #2511 from pratikb64/fix/assignment-rule-duplicate-error
fix: duplicate error handling
2025-08-19 22:19:29 +05:30
Pratik Badhe
50af8e2343 Merge branch 'develop' into feat/telephony-app 2025-08-19 14:45:01 +00:00
Pratik Badhe
d07e4bdd1d fix: duplicate error handling 2025-08-19 14:37:13 +00:00
RitvikSardana
ebeea7e8f8 Merge pull request #2505 from frappe/l10n_develop2
chore: sync translations from crowdin
2025-08-19 18:15:18 +05:30
RitvikSardana
7c9416ae50 chore: Serbian (Latin) translations 2025-08-19 17:46:32 +05:30
RitvikSardana
f9942bc7d3 chore: Bosnian translations 2025-08-19 17:46:31 +05:30
RitvikSardana
c4b18502f6 chore: Croatian translations 2025-08-19 17:46:30 +05:30
RitvikSardana
47d2af2c0a chore: Thai translations 2025-08-19 17:46:28 +05:30
RitvikSardana
d88f45969d chore: Persian translations 2025-08-19 17:46:27 +05:30
RitvikSardana
e423b4c99b chore: Indonesian translations 2025-08-19 17:46:26 +05:30
RitvikSardana
f17abb0a2d chore: Portuguese, Brazilian translations 2025-08-19 17:46:24 +05:30
RitvikSardana
8a8f04eb25 chore: Vietnamese translations 2025-08-19 17:46:23 +05:30
RitvikSardana
9b57af76d8 chore: Chinese Simplified translations 2025-08-19 17:46:22 +05:30
RitvikSardana
1f92e97260 chore: Turkish translations 2025-08-19 17:46:21 +05:30
RitvikSardana
504f0f07da chore: Swedish translations 2025-08-19 17:46:19 +05:30
RitvikSardana
d9fc3dc646 chore: Serbian (Cyrillic) translations 2025-08-19 17:46:18 +05:30
RitvikSardana
46895a3c83 chore: Russian translations 2025-08-19 17:46:17 +05:30
RitvikSardana
b6bec97ed4 chore: Polish translations 2025-08-19 17:46:15 +05:30
RitvikSardana
53520f8283 chore: Dutch translations 2025-08-19 17:46:14 +05:30
RitvikSardana
77aab7e570 chore: Italian translations 2025-08-19 17:46:12 +05:30
RitvikSardana
6a689b444d chore: Hungarian translations 2025-08-19 17:46:10 +05:30
RitvikSardana
138842a6fd chore: German translations 2025-08-19 17:46:09 +05:30
RitvikSardana
b1939bd375 chore: Czech translations 2025-08-19 17:46:06 +05:30
RitvikSardana
d90c780699 chore: Arabic translations 2025-08-19 17:46:05 +05:30
RitvikSardana
f3b65a9e79 chore: Spanish translations 2025-08-19 17:46:03 +05:30
RitvikSardana
476f1858ff chore: French translations 2025-08-19 17:46:02 +05:30
Elton Lobo
b8c96fe78c style(email-notifications): fix code formatting issues 2025-08-19 12:43:45 +05:30
Elton Lobo
1753012a4f Merge branch 'develop' into feat-email-customizations 2025-08-19 12:40:15 +05:30
Elton Lobo
7317d59483 feat(email-notifications): add documentation link to each tab 2025-08-19 12:35:11 +05:30
Elton Lobo
6ab120d29d refactor(email-notifications): remove enabled switch's background color 2025-08-19 12:00:18 +05:30
Elton Lobo
a14af6607c feat(email-notifications): show notification descriptions in every tab 2025-08-19 11:50:28 +05:30
RitvikSardana
94517b1b6c Merge pull request #2496 from RitvikSardana/fix-patch
fix(patch): fn name
2025-08-19 11:01:28 +05:30
Ritvik Sardana
190468454f fix(patch): fn name 2025-08-19 11:00:39 +05:30
Pratik Badhe
764aa2ce3a Merge remote-tracking branch 'origin/develop' into feat/telephony-app 2025-08-19 05:00:30 +00:00
RitvikSardana
d83858d492 Merge pull request #2493 from frappe/l10n_develop2
chore: sync translations from crowdin
2025-08-19 02:04:26 +05:30
RitvikSardana
a0f53ad1e0 Merge pull request #2491 from pratikb64/refactor/sla-and-holiday-list
refactor: cleanup sla and holiday list & improve spacing
2025-08-19 02:02:06 +05:30
Ritvik Sardana
fd1e210e25 fix(styles): font height in SLA 2025-08-19 01:56:56 +05:30
Pratik Badhe
72193a7909 style: add correct classes 2025-08-19 01:53:45 +05:30
Pratik Badhe
1d7816d4db refactor: cleanup sla and holiday list & improve spacing 2025-08-19 01:53:45 +05:30
RitvikSardana
435c2b25e3 Merge pull request #2398 from pratikb64/assignment-rule
feat: add assignment rule
2025-08-19 01:50:03 +05:30
Ritvik Sardana
2bfe1283c9 fix: handle patch + installation correctly 2025-08-19 01:40:18 +05:30
Pratik
c98c33db77 fix: property setter key 2025-08-18 18:03:56 +00:00
Pratik Badhe
fd99f80cf1 Merge remote-tracking branch 'origin/assignment-rule' into assignment-rule 2025-08-18 17:36:55 +00:00
Pratik Badhe
95634ef122 refactor: holiday schedule data structure & some fixes 2025-08-18 17:36:44 +00:00
Ritvik Sardana
a1a32a0d0b fix: styling in assignment rule view 2025-08-18 20:38:44 +05:30
Elton Lobo
bee3e086ec refactor(email-notifications): use clear descriptions 2025-08-18 19:52:45 +05:30
Elton Lobo
6cafb200ec refactor(translations): improve the api & expose main translation fn 2025-08-18 19:50:08 +05:30
Elton Lobo
bb8476841d fix(email-notifications): send emails only if enabled 2025-08-18 18:12:26 +05:30
Elton Lobo
c32c82dbb0 refactor: rename email events to notifications 2025-08-18 17:51:31 +05:30
RitvikSardana
bab8a488bd chore: Esperanto translations 2025-08-18 17:49:15 +05:30
RitvikSardana
3025780b9b chore: Portuguese translations 2025-08-18 17:49:14 +05:30
Pratik Badhe
5700719586 refactor: data fetching & fix spacing 2025-08-18 11:39:43 +00:00
Pratik Badhe
e333f2ba00 fix: make call state & add user mobile number 2025-08-18 08:49:52 +00:00
RitvikSardana
cdc0cbfd7e Merge pull request #2492 from frappe/pot_develop_2025-08-17
chore: update POT file
2025-08-18 12:32:13 +05:30
RitvikSardana
4c5f403aa4 Merge pull request #2485 from frappe/l10n_develop2
chore: sync translations from crowdin
2025-08-18 12:31:56 +05:30
Pratik Badhe
199982b6e8 fix: telephony store 2025-08-17 17:01:26 +00:00
frappe-pr-bot
c7ded86e4a chore: update POT file 2025-08-17 10:37:32 +00:00
Pratik Badhe
808dc584a8 style: fix enabled and save button spacing 2025-08-16 15:33:08 +00:00
Pratik Badhe
7382e16798 style: improve spacing 2025-08-16 15:21:54 +00:00
RitvikSardana
ebbc0064fc chore: Bosnian translations 2025-08-16 17:28:28 +05:30
RitvikSardana
9b6024b169 chore: Croatian translations 2025-08-16 17:28:27 +05:30
RitvikSardana
b6e026e129 chore: Swedish translations 2025-08-16 17:28:21 +05:30
RitvikSardana
fc58c2fcd5 Merge pull request #2490 from RitvikSardana/form-script-perm
fix: update form script perms
2025-08-16 15:47:00 +05:30
Ritvik Sardana
47b1d568eb fix: update form script perms 2025-08-16 15:46:19 +05:30
RitvikSardana
f1726858a7 chore: Serbian (Latin) translations 2025-08-15 17:15:14 +05:30
RitvikSardana
76f130e221 chore: Serbian (Cyrillic) translations 2025-08-15 17:15:12 +05:30
Pratik
67ee2b419e chore: add internationalization 2025-08-14 19:23:11 +05:30
Pratik
a58d17f4cc fix: small bugs & layout issues 2025-08-14 17:32:23 +05:30
RitvikSardana
b5fc2e2f6e chore: Esperanto translations 2025-08-14 17:16:09 +05:30
RitvikSardana
6b5a3f50a6 chore: Serbian (Latin) translations 2025-08-14 17:16:08 +05:30
RitvikSardana
cc10a74831 chore: Bosnian translations 2025-08-14 17:16:06 +05:30
RitvikSardana
1afe337213 chore: Croatian translations 2025-08-14 17:16:05 +05:30
RitvikSardana
50a42e705c chore: Thai translations 2025-08-14 17:16:04 +05:30
RitvikSardana
e7183e900d chore: Persian translations 2025-08-14 17:16:03 +05:30
RitvikSardana
3f39c6ff4e chore: Indonesian translations 2025-08-14 17:16:02 +05:30
RitvikSardana
fcfea2b96b chore: Portuguese, Brazilian translations 2025-08-14 17:16:01 +05:30
RitvikSardana
4d8ba42a6e chore: Vietnamese translations 2025-08-14 17:16:00 +05:30
RitvikSardana
551e689c4d chore: Chinese Simplified translations 2025-08-14 17:15:59 +05:30
RitvikSardana
abc79dda97 chore: Turkish translations 2025-08-14 17:15:58 +05:30
RitvikSardana
c788beaecc chore: Swedish translations 2025-08-14 17:15:57 +05:30
RitvikSardana
0dd31ce941 chore: Serbian (Cyrillic) translations 2025-08-14 17:15:55 +05:30
RitvikSardana
3d85725fde chore: Russian translations 2025-08-14 17:15:54 +05:30
RitvikSardana
4004402c3e chore: Portuguese translations 2025-08-14 17:15:53 +05:30
RitvikSardana
1ab30229b7 chore: Polish translations 2025-08-14 17:15:52 +05:30
RitvikSardana
a7e03c64d5 chore: Dutch translations 2025-08-14 17:15:51 +05:30
RitvikSardana
2113acc375 chore: Italian translations 2025-08-14 17:15:50 +05:30
RitvikSardana
3a2dc247f2 chore: Hungarian translations 2025-08-14 17:15:49 +05:30
RitvikSardana
990d774aaa chore: German translations 2025-08-14 17:15:48 +05:30
RitvikSardana
29709ec444 chore: Czech translations 2025-08-14 17:15:46 +05:30
RitvikSardana
fa5f34b65b chore: Arabic translations 2025-08-14 17:15:45 +05:30
RitvikSardana
1733ebb6f7 chore: Spanish translations 2025-08-14 17:15:44 +05:30
RitvikSardana
79498f9118 chore: French translations 2025-08-14 17:15:43 +05:30
Pratik
c03546d9e6 Merge remote-tracking branch 'origin/develop' into assignment-rule 2025-08-14 08:22:34 +05:30
RitvikSardana
44b09470e8 Merge pull request #2482 from frappe/pot_develop_2025-08-13
chore: update POT file
2025-08-13 19:58:11 +05:30
Elton Lobo
f7a6960e8a refactor(email-events): remove default email content fields from settings 2025-08-13 17:06:21 +05:30
Pratik Badhe
a04b543f2b fix: number validation 2025-08-13 11:20:42 +00:00
Pratik Badhe
0a43c7ebd6 fix: fetching for telephony agent 2025-08-13 10:59:14 +00:00
Elton Lobo
e19f9950f9 feat(email-events): add ability to customize reply via agent email 2025-08-13 16:10:10 +05:30
Pratik Badhe
0a887b9330 fix: telephony agent error & call log modal bug 2025-08-13 10:39:50 +00:00
Elton Lobo
353782e38e fix(email-events): logic error while sending reply email to agent 2025-08-13 15:02:13 +05:30
Pratik Badhe
3450017713 fix: telephony settings conditional layout 2025-08-13 08:07:39 +00:00
Pratik Badhe
9eed34aee2 fix: record call label 2025-08-13 07:02:07 +00:00
frappe-pr-bot
82c1d7860c chore: update POT file 2025-08-13 06:48:04 +00:00
Pratik Badhe
2bbd6a9d9b feat: add telephony app integration & call logs page 2025-08-13 06:43:56 +00:00
Pratik Badhe
f5c330a189 Merge remote-tracking branch 'origin/develop' into feat/telephony-app 2025-08-13 04:34:36 +00:00
RitvikSardana
b47a0d795a Merge pull request #2481 from RitvikSardana/fd-fixes
fix: field dependency ux
2025-08-13 09:43:12 +05:30
Ritvik Sardana
4c881d448b fix: styles of list view 2025-08-13 09:36:58 +05:30
Ritvik Sardana
0b41be7e57 fix: order of fields in new ticket creation 2025-08-13 09:13:03 +05:30
Elton Lobo
c34c1eec6b feat(email-events): add ability to customise reply email to agent 2025-08-12 18:47:53 +05:30
Ritvik Sardana
16febba7bd chore: update ts target to 2022 2025-08-12 13:44:04 +05:30
Ritvik Sardana
a8a038d816 fix: field dependency fixes 2025-08-12 13:39:36 +05:30
RitvikSardana
e1c603e1b8 Merge pull request #2389 from RitvikSardana/field-dependency
feat: field dependency
2025-08-12 02:28:39 +05:30
Ritvik Sardana
e214a3eae7 fix(styles): letter spacing in settings header 2025-08-12 02:22:13 +05:30
Ritvik Sardana
b8b7666105 chore: code cleanup 2025-08-12 01:57:48 +05:30
Ritvik Sardana
27d432c7c5 chore: code cleanup 2025-08-12 01:06:03 +05:30
Ritvik Sardana
d6f34ba1e1 test: add test cases to handle field dependency feature 2025-08-12 00:33:18 +05:30
Ritvik Sardana
7ed9b185a2 chore: code cleanup 2025-08-11 23:25:27 +05:30
Elton Lobo
455542dea7 fix: framework code adjustements to disallow inviting disabled users 2025-08-11 17:43:58 +05:30
Ritvik Sardana
765ee5ed61 fix: remove HD preset filter install function 2025-08-11 15:59:17 +05:30
Ritvik Sardana
13d9843f7c chore: code cleanup 2025-08-11 15:48:21 +05:30
Ritvik Sardana
ffd840ebf6 fix: add documentation link 2025-08-11 15:47:00 +05:30
Ritvik Sardana
f17d1b1212 fix: handle enable toggle in Field dependency 2025-08-11 15:47:00 +05:30
Ritvik Sardana
af17532417 fix: ui enhancements 2025-08-11 15:47:00 +05:30
Ritvik Sardana
843c830c3d fix: layout of criteria 2025-08-11 15:47:00 +05:30
Ritvik Sardana
5912f5be6a fix: remove criteria conditions on disabling field dependency 2025-08-11 15:47:00 +05:30
Ritvik Sardana
7867d44bea fix: replace select/option with combobox 2025-08-11 15:47:00 +05:30
Ritvik Sardana
98ba47b4a9 chore: file name cleanup 2025-08-11 15:47:00 +05:30
Ritvik Sardana
1a864dffd9 refactor: single field dependency view 2025-08-11 15:47:00 +05:30
Ritvik Sardana
d9710690e6 chore: improve code readability in Field Dependency file 2025-08-11 15:47:00 +05:30
Ritvik Sardana
33c2481ab8 fix: remove patch name 2025-08-11 15:47:00 +05:30
Ritvik Sardana
34e05d8999 fix: better patch 2025-08-11 15:47:00 +05:30
Ritvik Sardana
d94df01000 fix(styles): criteria spacing 2025-08-11 15:47:00 +05:30
Ritvik Sardana
c7f32b8573 fix: get old fields criteria before saving 2025-08-11 15:47:00 +05:30
Ritvik Sardana
7eba5d7def chore: code cleanup 2025-08-11 15:47:00 +05:30
Ritvik Sardana
bbeb30172b fix: dont send message log in API response 2025-08-11 15:47:00 +05:30
Ritvik Sardana
5757901cad fix: common util function for delete/confirmDelete option 2025-08-11 15:47:00 +05:30
Ritvik Sardana
db373c1465 fix(ui): add confirm delete dropdown 2025-08-11 15:47:00 +05:30
Ritvik Sardana
c96c83103f fix: disable link field when no filter is found 2025-08-11 15:47:00 +05:30
Ritvik Sardana
20e8cb8618 fix: remove customisation of form script deletion 2025-08-11 15:47:00 +05:30
Ritvik Sardana
74c34b7270 fix: add ticket field in email feedback 2025-08-11 15:47:00 +05:30
Ritvik Sardana
5460337f8b fix: save display and mandatory depends on in field's docfield 2025-08-11 15:47:00 +05:30
Ritvik Sardana
8555726045 fix: add functionality for display and mandatory depends on from UI 2025-08-11 15:47:00 +05:30
Ritvik Sardana
10cfdb1609 fix: handle case if no options are selected for a parent value 2025-08-11 15:47:00 +05:30
Ritvik Sardana
2ffc4e0122 fix: handle settings modal outside click 2025-08-11 15:47:00 +05:30
Ritvik Sardana
a94f019f62 fix(styles): partition boxes width 2025-08-11 15:47:00 +05:30
Ritvik Sardana
a73d8dd53b fix(styles): body of field dependency 2025-08-11 15:47:00 +05:30
Ritvik Sardana
26d11ed149 fix: merging with sla in dialog 2025-08-11 15:47:00 +05:30
Ritvik Sardana
2cb42979a8 fix: better dirty state 2025-08-11 15:45:49 +05:30
Ritvik Sardana
148ad44b94 fix: handle list view enableState toggle 2025-08-11 15:45:49 +05:30
Ritvik Sardana
e01642979e fix: add dirty and loading state 2025-08-11 15:45:49 +05:30
Ritvik Sardana
fec2bdc290 fix: add dirty state 2025-08-11 15:45:49 +05:30
Ritvik Sardana
3b547e9c5a fix: better search field placeholder 2025-08-11 15:45:49 +05:30
Ritvik Sardana
4fff45e9fc fix: cache link field options 2025-08-11 15:45:49 +05:30
Ritvik Sardana
60993cfb7c fix: dont show already created fields in child field options 2025-08-11 15:45:49 +05:30
Ritvik Sardana
43efe7f8d8 fix: update field dependency script 2025-08-11 15:45:49 +05:30
Ritvik Sardana
461da38856 fix: add parent_child_mapping as JSON in script 2025-08-11 15:45:49 +05:30
Ritvik Sardana
16e6c8b098 fix: add meta data store 2025-08-11 15:45:49 +05:30
Ritvik Sardana
aa36617cd7 fix: start list view 2025-08-11 15:45:49 +05:30
Ritvik Sardana
09e16af753 fix: create separate script for each field dependency 2025-08-11 15:45:49 +05:30
Ritvik Sardana
b58053ae25 fix: create standard doc in form script 2025-08-11 15:45:49 +05:30
Ritvik Sardana
d34ca29c74 fix: create script from UI 2025-08-11 15:45:49 +05:30
Ritvik Sardana
d4b0a857a0 fix: add function to form script 2025-08-11 15:45:49 +05:30
Ritvik Sardana
039013d6ac fix: connect frontend to API 2025-08-11 15:45:49 +05:30
Ritvik Sardana
2f1cc6502e fix: remove ununsed doctypes and patch to delete data 2025-08-11 15:45:49 +05:30
Ritvik Sardana
dd7bc3ad4b chore: organize api folder 2025-08-11 15:45:49 +05:30
Ritvik Sardana
a4821bfaeb chore: code cleanup 2025-08-11 15:45:49 +05:30
Ritvik Sardana
3c709904db fix: better ux for toggling all states and searching child values 2025-08-11 15:45:49 +05:30
Ritvik Sardana
d5fd0ced5f fix: select all checkbox label 2025-08-11 15:45:49 +05:30
Ritvik Sardana
b737a91be4 fix: add select all checkbox 2025-08-11 15:45:49 +05:30
Ritvik Sardana
ab7e3e6087 fix: use frappe-ui checkbox 2025-08-11 15:45:49 +05:30
Ritvik Sardana
7dfa1b686e fix: add search functionality 2025-08-11 15:45:49 +05:30
Ritvik Sardana
e1bebac6bc fix: empty state 2025-08-11 15:45:49 +05:30
Ritvik Sardana
12e468a804 fix: render right side values based on left box 2025-08-11 15:45:49 +05:30
Ritvik Sardana
f1e3392084 chore: code cleanup 2025-08-11 15:45:49 +05:30
Ritvik Sardana
20807c9031 fix: render UI for parent and field selected values 2025-08-11 15:45:48 +05:30
Ritvik Sardana
cc6f1a1ba0 feat: init field dependency 2025-08-11 15:45:48 +05:30
RitvikSardana
49eb4ed7c0 Merge pull request #2470 from RitvikSardana/readme-matrix
chore: add compatibility matrix in readme file
2025-08-11 01:22:36 +05:30
Ritvik Sardana
13e1b11ad9 chore: spacing cleanup readme 2025-08-11 01:21:54 +05:30
Ritvik Sardana
70f9d41b24 chore: add compatibility matrix in readme file 2025-08-11 01:20:15 +05:30
RitvikSardana
7b52151c05 chore: update generate-pot-file.yml cron time 2025-08-10 16:04:25 +05:30
RitvikSardana
43176273f3 Merge pull request #2467 from RitvikSardana/pot-file-path
fix: correct path to update pot file
2025-08-10 15:23:06 +05:30
Ritvik Sardana
29e2ba10b9 fix: correct path to update pot file 2025-08-10 15:22:28 +05:30
RitvikSardana
5d04f6fc8d chore: update ci 2025-08-09 00:23:01 +05:30
RitvikSardana
2bf0fd70b0 Merge pull request #2464 from RitvikSardana/version-bump
chore: bump version
2025-08-08 23:47:45 +05:30
Ritvik Sardana
aed532b1e1 chore: bump version 2025-08-08 23:47:08 +05:30
Pratik Badhe
6e68938295 Merge branch 'develop' into assignment-rule 2025-08-08 16:14:27 +00:00
Pratik Badhe
943b7f932c refactor: code cleanup & sla onboarding 2025-08-08 15:58:43 +00:00
Elton Lobo
c1c9b3ac9d feat(email-events): add ability to customise acknowledgement email settings 2025-08-08 17:31:55 +05:30
RitvikSardana
2f3c279705 Merge pull request #2459 from RitvikSardana/fix-cc-email
fix: cc email
2025-08-08 16:58:07 +05:30
RitvikSardana
2ecc74a483 Merge pull request #2394 from EltonLobo07/feat-new-user-invitation
feat: add new user invitation flow
2025-08-08 16:27:22 +05:30
Ritvik Sardana
c8079b3a7f fix: show communication status on email UI 2025-08-08 14:46:55 +05:30
Ritvik Sardana
26dd901d0f fix: dont add cc in mail when not added via reply 2025-08-08 14:33:48 +05:30
Elton Lobo
f764502c7a feat(user-invitation): avoid sending invitation to existing agents 2025-08-08 12:13:40 +05:30
RitvikSardana
ce0397d09e Merge pull request #2456 from RitvikSardana/fix-view-control
fix: list view controls rendering state
2025-08-08 11:10:53 +05:30
Ritvik Sardana
d077a8243c fix: list view controls rendering state 2025-08-08 11:04:29 +05:30
Elton Lobo
6b9fd8fcdd refactor(user-invitation): remove authStore type definition 2025-08-08 11:02:53 +05:30
RitvikSardana
8f42d1f059 Merge pull request #2451 from RitvikSardana/sla-ui
fix(ui): pause state
2025-08-08 00:32:08 +05:30
Ritvik Sardana
b5d0281461 fix(ui): pause state 2025-08-07 23:52:18 +05:30
RitvikSardana
c7b1321147 Merge pull request #2449 from RitvikSardana/sla-calc
refactor: SLA Calculation for response & resolution time.
2025-08-07 22:56:16 +05:30
Ritvik Sardana
1b1b987435 chore: code cleanup 2025-08-07 22:50:29 +05:30
Ritvik Sardana
ec77b5ed5e fix: recalculate SLA of ticket when holiday list is updated 2025-08-07 22:46:31 +05:30
Ritvik Sardana
57ead1a3bf fix(ci): use current commit 2025-08-07 21:59:41 +05:30
Ritvik Sardana
e9270a961d chore: code cleanup 2025-08-07 21:42:16 +05:30
Ritvik Sardana
ba617de004 ci: run tests and run ci for hotfix branch 2025-08-07 21:38:33 +05:30
Ritvik Sardana
91d97a0b1a fix: change responseBy in UI 2025-08-07 21:06:41 +05:30
Ritvik Sardana
4de98d3662 fix: replace old function with new calc_time function 2025-08-07 20:56:34 +05:30
Ritvik Sardana
4ec8e65591 test: new calculation scenarios for response and resolution of HD Ticket 2025-08-07 18:04:29 +05:30
Elton Lobo
8a8a4c2bd8 style(email-events): format files using prettier 2025-08-07 17:59:09 +05:30
Elton Lobo
d19a628897 feat(email-events): use saved feedback email content 2025-08-07 17:52:13 +05:30
Elton Lobo
9a91323187 feat(user-invitation): make form fields required 2025-08-07 17:21:56 +05:30
Elton Lobo
282068b309 refactor(user-invitation): use the new settings modal 2025-08-07 17:17:42 +05:30
RitvikSardana
4c6a87d9d8 Merge pull request #2432 from EltonLobo07/fix-editor-contact-autocomplete
fix: fetch contacts autocomplete from custom api
2025-08-07 16:59:41 +05:30
Elton Lobo
c0ec425dc7 Merge branch 'develop' into feat-new-user-invitation 2025-08-07 16:58:31 +05:30
Elton Lobo
b6a4d8ebb8 refactor(email-events): rename frontend form labels 2025-08-07 13:49:53 +05:30
Elton Lobo
e53283cf44 feat(email-events): add ability to reset content 2025-08-07 13:45:27 +05:30
Elton Lobo
ea28095073 refactor(email-events): rename feature name to email events 2025-08-07 13:32:33 +05:30
Elton Lobo
a5b4306213 fix(email-events): translate backend error messages 2025-08-07 12:59:01 +05:30
Elton Lobo
471c416ab4 feat(email-events): get default feedback email content from api 2025-08-07 12:55:21 +05:30
Elton Lobo
96bb9f09bd feat: email customizations 2025-08-06 18:42:32 +05:30
Ritvik Sardana
cdb24f7613 fix: add starting time to next day 2025-08-06 18:28:44 +05:30
Ritvik Sardana
2d499c6bbc refactor: sla calculation logic 2025-08-06 12:01:37 +05:30
RitvikSardana
315aec6333 Merge pull request #2424 from EltonLobo07/fix-sync-std-quick-filters
fix: sync standard and quick list filters
2025-08-05 23:26:51 +05:30
Ritvik Sardana
d1c0cd9f6f chore: code cleanup 2025-08-05 23:15:28 +05:30
Ritvik Sardana
3e60a05ae0 fix: show loading state in list views 2025-08-05 23:03:34 +05:30
Ritvik Sardana
3fbd7982d1 fix(styling): filter width 2025-08-05 20:39:11 +05:30
RitvikSardana
aaf73abee5 Merge pull request #2437 from EltonLobo07/fix-yes-no-select-filters
fix: avoid converting yes-no select filter values to boolean
2025-08-05 10:43:46 +05:30
RitvikSardana
7522dbfc24 Merge pull request #2438 from EltonLobo07/fix-incomplete-reply-all-recipients
fix: include all recipients when using 'reply all' feature
2025-08-05 01:19:42 +05:30
Elton Lobo
9eaba0a755 fix: include all recipients when using 'reply all' feature 2025-08-04 18:51:24 +05:30
Elton Lobo
adc82c809c fix: avoid converting yes-no select filter values to boolean 2025-08-04 11:47:03 +05:30
Pratik
b7d2b0ff40 fix: change toast message 2025-08-01 12:04:28 +00:00
Pratik
18b69b1710 fix: bugs & refactor code for new conditions data structure 2025-08-01 11:38:23 +00:00
Elton Lobo
9371b32b8f refactor: use name & email_id as fallbacks for contact autocomplete 2025-08-01 16:52:41 +05:30
Elton Lobo
c5629a5fa2 fix: fetch contacts autocomplete from custom api 2025-08-01 16:38:50 +05:30
RitvikSardana
738a5883b4 Merge pull request #2430 from frappe/multiple-prosemirror
fix: resolve prosemirror-model
2025-08-01 11:03:33 +05:30
Ritvik Sardana
11415c896b fix: resolve prosemirror-model 2025-08-01 10:46:33 +05:30
Pratik
22e44057fb Merge branch 'develop' into assignment-rule 2025-08-01 05:14:34 +00:00
RitvikSardana
5d747d910d Merge pull request #2428 from RitvikSardana/update-fui
chore: update frappe-ui
2025-08-01 09:47:59 +05:30
Ritvik Sardana
02d0576e96 chore: update frappe-ui 2025-08-01 09:43:09 +05:30
RitvikSardana
a042ff567b Merge pull request #2427 from RitvikSardana/settings-header
fix(styles): settings header
2025-08-01 00:14:48 +05:30
RitvikSardana
608759c776 Merge branch 'develop' into settings-header 2025-08-01 00:14:29 +05:30
Ritvik Sardana
378cacf83f fix(styles): settings header 2025-08-01 00:12:43 +05:30
RitvikSardana
45943b5539 Merge pull request #2371 from pratikb64/sla
feat: add sla policy & business holiday
2025-08-01 00:03:43 +05:30
Pratik
0f4a6e077c Merge remote-tracking branch 'origin/develop' into sla 2025-07-31 17:46:34 +00:00
RitvikSardana
8b2ae445b5 Merge pull request #2425 from RitvikSardana/mergify
fix(ci): add mergify.yml for backporting pr with labels
2025-07-31 23:12:29 +05:30
Pratik
50ddc20910 chore: code cleanup 2025-07-31 17:35:17 +00:00
Ritvik Sardana
4f0bd7c846 fix(ci): add ci for backporting pr with labels 2025-07-31 22:57:08 +05:30
Ritvik Sardana
ca241d950a chore: update sentence casing 2025-07-31 21:13:37 +05:30
Ritvik Sardana
7b0fb58bea fix(styles): gap in back button and dirty state 2025-07-31 20:18:13 +05:30
Pratik
824dca69cf fix: bugs in edit holiday & sla conditions 2025-07-31 13:35:03 +00:00
Elton Lobo
74d5d3104e fix: sync standard and quick list filters 2025-07-31 17:56:11 +05:30
RitvikSardana
4b9f13c0f4 chore: version bump 2025-07-31 17:42:34 +05:30
Pratik
b02d9a99da fix: downgrade frappe-ui & style fix 2025-07-31 10:57:04 +00:00
RitvikSardana
969499f462 Merge pull request #2402 from niraj2477/refactor/permissions
fix: Strict permissions on HD Ticket
2025-07-31 11:09:02 +05:30
Ritvik Sardana
5276736d37 fix: add rows in contact doctype for list view 2025-07-31 10:38:46 +05:30
Ritvik Sardana
b0a1de5953 fix: remove duplicate imports 2025-07-31 00:13:35 +05:30
Elton Lobo
c465c85e93 feat: setup translations 2025-07-31 00:12:30 +05:30
Ritvik Sardana
ee1333caf3 fix: dont show server messages on CP 2025-07-31 00:12:30 +05:30
Elton Lobo
5b8826a506 feat: setup translations 2025-07-31 00:12:30 +05:30
Ritvik Sardana
f63c34bb04 fix: throw translated error message 2025-07-31 00:12:30 +05:30
Ritvik Sardana
76e5c5e841 fix: dont show server messages on CP 2025-07-31 00:12:30 +05:30
Niraj Gautam
9151f5fb62 chore: remove un-used import 2025-07-31 00:12:00 +05:30
Niraj Gautam
4207b52d20 chore: remove custom filter used for hd ticket 2025-07-31 00:12:00 +05:30
Niraj Gautam
16bfe80387 refactor: update permission hooks 2025-07-31 00:12:00 +05:30
Niraj Gautam
0636c493a0 refactor: add document level permission check for ticket 2025-07-31 00:12:00 +05:30
RitvikSardana
852418ee23 Merge pull request #2421 from RitvikSardana/restrict-assignment
feat: restrict assignment of tickets to the selected team
2025-07-30 23:57:59 +05:30
Ritvik Sardana
eb4974fa34 fix: add restrictions in mobile view as well 2025-07-30 23:42:24 +05:30
Ritvik Sardana
56d7b1edfb fix: handle case if no team is selected on the ticket 2025-07-30 22:11:38 +05:30
Ritvik Sardana
3eedfe890b feat: restrict assignment of tickets to the selected team 2025-07-30 21:47:22 +05:30
Pratik
331dc0619f fix: holiday date formatting & bug fixing 2025-07-30 09:38:20 +00:00
Elton Lobo
55db39cd71 fix: remove unwanted space from patch dot path 2025-07-30 12:00:53 +05:30
RitvikSardana
5604b25cb2 chore: fixated frappe-ui version 2025-07-30 09:58:36 +05:30
Pratik
788247e353 refactor: conditions data structure 2025-07-29 12:13:06 +00:00
RitvikSardana
3fe4b1af49 Merge pull request #2386 from satriadhikara/docs/fix-local-setup-readme
docs: add missing migration and build steps to local setup
2025-07-29 12:09:49 +05:30
RitvikSardana
7789451766 Merge pull request #2418 from RitvikSardana/crowdin-path
fix: change path of crowdin file to root
2025-07-29 11:58:33 +05:30
Ritvik Sardana
eb2b1ea4ce fix: change path of crowdin file to root 2025-07-29 11:57:56 +05:30
Shariq Ansari
fd3a18daf1 Merge pull request #2415 from EltonLobo07/feat-translations 2025-07-29 10:58:30 +05:30
Elton Lobo
ef77b71a16 refactor(user-invitation): modify frontend to work with updated backend 2025-07-28 17:32:09 +05:30
Elton Lobo
644f8b5484 fix: enable inviting agents from onboarding sidebar 2025-07-28 17:25:52 +05:30
Elton Lobo
a83254e1ae feat: setup translations 2025-07-28 16:50:57 +05:30
Pratik
1036799e11 fix: component imports 2025-07-28 08:49:07 +00:00
Pratik
63b9dbf422 fix: make header sticky 2025-07-28 08:44:14 +00:00
Pratik
942e2a9187 fix: make list view header sticky 2025-07-28 08:33:09 +00:00
Pratik
1da832e30c refactor: remove unnecessary error handling 2025-07-18 07:00:12 +00:00
Pratik
45b25bf5e1 fix: edge case in conditions builder 2025-07-18 05:49:32 +00:00
RitvikSardana
467b35abcf chore: version bump 2025-07-17 19:10:03 +05:30
Pratik
6801ae388e fix: error message margin, settings modal open state & warning logs 2025-07-17 08:57:18 +00:00
Pratik
2dfa5c9aeb fix: lint and code refactor 2025-07-16 12:26:20 +00:00
Pratik
08647195a6 refactor: code cleanup 2025-07-16 11:01:38 +00:00
RitvikSardana
ac5c971d7b Merge pull request #2404 from RitvikSardana/ticket-undefined
fix: handle undefined fields
2025-07-16 13:12:11 +05:30
Ritvik Sardana
764056f986 fix: handle undefined fields 2025-07-16 12:41:00 +05:30
RitvikSardana
1164474d05 Merge pull request #2401 from RitvikSardana/auto-comm
fix: dont create communication for auto generated tickets
2025-07-15 16:05:55 +05:30
Ritvik Sardana
9181a635d3 fix: dont create communication for auto generated tickets 2025-07-15 15:26:56 +05:30
RitvikSardana
c5e152b82c Merge pull request #2397 from frappe/redisearch-or-query-fix
fix(search): Construct correct OR queries
2025-07-15 12:08:40 +05:30
RitvikSardana
e6ab05e32f Merge pull request #2399 from RitvikSardana/ticket-perm
fix(customer_portal): owner of ticket should be able to see the ticket
2025-07-15 11:03:22 +05:30
Ritvik Sardana
bd9e8e9fd9 fix(ui): breadcrumbs left margin 2025-07-15 10:48:34 +05:30
Ritvik Sardana
90f0004983 fix: breadcrumb for new ticket 2025-07-15 10:41:13 +05:30
Ritvik Sardana
9c0c45f5a9 fix: handle contact default columns 2025-07-15 10:32:55 +05:30
Ritvik Sardana
b2ddb0be44 fix(customer_portal): owner of ticket should be able to see the ticket 2025-07-15 10:01:08 +05:30
Pratik
88919ae68e fix: add error margin 2025-07-14 14:10:25 +00:00
Pratik
b9ca46bb20 fix: list view scroll fix 2025-07-14 14:01:30 +00:00
Pratik
3e7f99a66a feat: add assignment rule 2025-07-14 13:25:31 +00:00
Elton Lobo
86148edec9 style(user-invitation): execute code formatter 2025-07-14 17:36:51 +05:30
Elton Lobo
cce1c37496 refactor(user-invitation): use new way of customizing user invitations 2025-07-14 17:30:29 +05:30
Elton Lobo
29418ef4a3 fix(user-invitation): disable 'invite delete' btn when invites are sent 2025-07-14 17:23:07 +05:30
Elton Lobo
43779c891e fix(user-invitation): set proper role option descriptions 2025-07-14 17:04:38 +05:30
Balamurali M
c4c483248b fix(search): Remove unneeded enumerate
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-14 17:04:23 +05:30
Balamurali M
64de5703d0 fix(search): Construct correct OR queries
It was incorrect the entire time. Got unmasked when the general except
was removed
2025-07-14 17:01:34 +05:30
Pratik
19b5e9b80c fix: show old conditions for old SLAs 2025-07-14 11:11:11 +00:00
Elton Lobo
3b43fe35be refactor(user-invitation): use built-in error handler & data fetching 2025-07-14 16:39:08 +05:30
RitvikSardana
28d8f6de54 Merge pull request #2396 from RitvikSardana/file-find
fix: find private file for new ticket
2025-07-14 14:08:36 +05:30
Ritvik Sardana
628c10478a fix: find private file for new ticket 2025-07-14 14:08:02 +05:30
Pratik
8becc718f6 fix: handle conditions for old SLAs 2025-07-14 05:44:01 +00:00
Pratik
2b8773cbf5 refactor: code cleanup 2025-07-13 17:27:55 +00:00
Pratik
86c4d30dc5 Merge remote-tracking branch 'origin/develop' into sla 2025-07-13 15:10:53 +00:00
RitvikSardana
a2ef85e4cd Merge pull request #2395 from RitvikSardana/agent-limit
fix: increase initial agents loaded to 20
2025-07-13 19:47:12 +05:30
Ritvik Sardana
98fb62cff4 fix: increase initial agents load to 20 2025-07-13 19:46:43 +05:30
Elton Lobo
90cf763c07 fix(user-invitation): add agent role if manager role is assigned to user 2025-07-11 11:17:19 +05:30
Elton Lobo
c02aeece32 feat: add new user invitation flow 2025-07-11 11:06:05 +05:30
RitvikSardana
334ba984cd Merge pull request #2392 from RitvikSardana/image-private
fix(security): private media
2025-07-10 21:14:36 +05:30
RitvikSardana
dd9ffb7027 chore: version bump 2025-07-10 21:06:03 +05:30
Ritvik Sardana
e7424052a5 chore: code cleanup 2025-07-10 20:07:22 +05:30
Ritvik Sardana
49f8901541 fix: use get_doc instead of get_last_doc 2025-07-10 19:53:15 +05:30
Ritvik Sardana
3cb43ae2ea fix: don't save removed attachments 2025-07-10 18:35:08 +05:30
Ritvik Sardana
c1c57e314a fix: preview images in attachment 2025-07-10 17:51:18 +05:30
Ritvik Sardana
727c9e81b8 fix(security): private media 2025-07-10 17:36:36 +05:30
Pratik
630d03ce9c fix: responsiveness & bug fix 2025-07-10 10:58:08 +05:30
satriadhikara
f6609baab2 docs: remove unnecessary migrate step from local setup instructions 2025-07-09 09:01:59 +07:00
RitvikSardana
d0db787758 Merge pull request #2383 from RitvikSardana/email-feedback
feat: Feedback for tickets received via Email
2025-07-08 18:38:59 +05:30
Ritvik Sardana
92f4ffa0f5 chore: code cleanup 2025-07-08 15:40:50 +05:30
Ritvik Sardana
7ebfb1f134 chore: copy cleanup 2025-07-08 13:56:09 +05:30
Ritvik Sardana
085096295d chore: code cleanup 2025-07-08 12:33:18 +05:30
Ritvik Sardana
d6bb021295 chore: code cleanup 2025-07-08 12:29:45 +05:30
Ritvik Sardana
5f88eb5597 chore: update yarn.lock 2025-07-08 11:25:22 +05:30
Ritvik Sardana
2f08d97a2d chore: update enable/disable workspace script 2025-07-08 11:25:04 +05:30
Ritvik Sardana
4b7cb00fc6 fix: remove contact override doctype 2025-07-08 11:23:53 +05:30
Ritvik Sardana
07626029a8 chore: code cleanup 2025-07-08 10:52:36 +05:30
Ritvik Sardana
3b43518888 fix: update copy for feedback email 2025-07-08 10:37:25 +05:30
Ritvik Sardana
8255e53e1b fix: default sla cant be disabled 2025-07-08 10:24:57 +05:30
Ritvik Sardana
e7fdf5730f fix: remove patch for custom field in communication 2025-07-08 10:23:42 +05:30
Ritvik Sardana
4210dd496b fix: dont create tickets for auto generated mails 2025-07-08 10:23:00 +05:30
satriadhikara
51fd856a4b docs: add missing migration and build steps to local setup
- Add bench migrate command after app installation
- Add bench build command to compile frontend assets
- These steps are required for helpdesk to work properly in local development

Fixes blank page issue that occurs when frontend assets are not built after installation.
2025-07-08 10:08:02 +07:00
Pratik
ccbe5fb215 refactor: code cleanup 2025-07-07 11:55:55 +00:00
Ritvik Sardana
89f79bde10 fix: add custom field in comm doctype for auto generated mail 2025-07-07 10:32:24 +05:30
Ritvik Sardana
b67718fb63 fix: threading in feedback email + custom header 2025-07-06 17:57:03 +05:30
Pratik
0b6beef55a fix: prevent default sla to disable 2025-07-04 12:27:15 +05:30
Ritvik Sardana
2246606178 fix: better way to store feedback in ticket 2025-07-03 17:55:10 +05:30
Ritvik Sardana
1fb2132418 fix: ticket form doctype name 2025-07-03 17:50:33 +05:30
Ritvik Sardana
523e12de93 fix: add logic to store feedback in ticket from webform 2025-07-03 17:47:31 +05:30
Pratik
3d856a5353 Merge remote-tracking branch 'origin/develop' into sla 2025-07-03 10:32:55 +00:00
Pratik
202d2881cf fix: calendar timezone fix 2025-07-03 10:31:26 +00:00
Ritvik Sardana
3912444abe fix: add email feedback web form 2025-07-03 15:31:34 +05:30
Ritvik Sardana
a9f734fc60 fix: add script for enabling and disabling workspaces 2025-07-03 15:29:55 +05:30
Ritvik Sardana
ffaa1c17ff fix: return empty array if no data found in apiOptions in template 2025-07-03 15:29:36 +05:30
Ritvik Sardana
9b0c069a1c fix: remove redundant feedback field 2025-07-03 15:21:31 +05:30
Ritvik Sardana
73aad46b22 fix: generate uuid for the ticket number 2025-07-03 14:59:05 +05:30
Ritvik Sardana
144323ec02 feat: email tickets feedback 2025-07-03 14:59:05 +05:30
Pratik
1c6278ce49 fix: fix bug while adding recurring holiday 2025-07-03 08:27:52 +00:00
Pratik
e36df287e1 fix: assignment condition conjunction bug 2025-07-03 06:18:11 +00:00
RitvikSardana
c66bbb7f4e chore: version bump 2025-07-03 09:37:03 +05:30
Pratik
938bf86849 fix: holiday save validation 2025-07-02 11:34:40 +00:00
Pratik
91dc3d35b0 style: fix padding in recurring holiday table 2025-07-02 11:19:08 +00:00
Pratik
a912d6c647 fix: calender & some refactor 2025-07-02 11:08:16 +00:00
RitvikSardana
bea61d4903 Merge pull request #2380 from RitvikSardana/global-store-pinia
fix: use pinia for global store
2025-07-02 14:37:02 +05:30
Ritvik Sardana
e7f221888d chore: code cleanup 2025-07-02 14:32:37 +05:30
Ritvik Sardana
50c896f159 chore: code cleanup 2025-07-02 14:22:52 +05:30
Ritvik Sardana
0cb9269d97 fix: use pinia for global store 2025-07-02 13:56:04 +05:30
RitvikSardana
26a9e0efc5 Merge pull request #2379 from RitvikSardana/sla-delete-validation
fix: sla deletion validation
2025-07-02 13:19:34 +05:30
Ritvik Sardana
07854ef9e5 fix: add validation for deletion of default SLA 2025-07-02 13:05:25 +05:30
Ritvik Sardana
100b494f6b fix(styles): mobile customer ticket view 2025-07-02 13:05:01 +05:30
Pratik
e39391915d refactor: add hover states, some styles, fix calendar & more 2025-07-01 17:16:40 +00:00
RitvikSardana
b79fcd0e65 Merge pull request #2373 from RitvikSardana/sla-error
fix: Better SLA validations and error messages
2025-07-01 10:49:48 +05:30
Ritvik Sardana
e5b51395bc chore: code cleanup 2025-07-01 10:34:26 +05:30
Ritvik Sardana
4e1292012b fix: no need to disable ignore_validate flag 2025-07-01 10:15:38 +05:30
Ritvik Sardana
6ee8312080 fix: correct query to get ticket_to_close 2025-07-01 10:09:42 +05:30
Ritvik Sardana
7e05310f96 fix: fetch customers via link field in contact dialog 2025-07-01 09:45:33 +05:30
Ritvik Sardana
8592add469 fix: increase pageLength of agents list resource 2025-07-01 00:27:48 +05:30
Ritvik Sardana
08a26b7387 fix: increase pageLength of agents list resource 2025-07-01 00:27:38 +05:30
Ritvik Sardana
d8e67f7ae4 chore: bump frappe-ui 2025-06-30 23:11:49 +05:30
Ritvik Sardana
58c39e596e chore: update frappe-ui 2025-06-30 22:51:13 +05:30
Ritvik Sardana
14aa53e53c fix: show priority validation when sla changes in a ticket 2025-06-30 22:47:54 +05:30
Ritvik Sardana
628aba76db fix: add validation to set only one SLA as default 2025-06-30 22:47:54 +05:30
Ritvik Sardana
22069ef959 fix: correct way to decrement counter 2025-06-30 22:47:54 +05:30
Ritvik Sardana
8f4bf3dae8 fix: add ticker for first response and resolution 2025-06-30 22:47:54 +05:30
Ritvik Sardana
cba9a5a61e fix: better validations while saving SLA 2025-06-30 22:47:54 +05:30
Ritvik Sardana
f91e0dc434 fix: better error if priority not found in SLA 2025-06-30 22:47:54 +05:30
Pratik
0f92f7fc4c style: fix policy list ui alignment 2025-06-30 06:17:49 +00:00
Pratik
03b5422555 fix: prevent adding duplicate holiday 2025-06-29 14:09:34 +00:00
Pratik
b8c5a900fa feat: add sla policy & business holiday 2025-06-27 13:03:01 +00:00
RitvikSardana
bf1b6ec703 chore: version bump 2025-06-27 12:13:07 +05:30
RitvikSardana
a5c755d3d6 Merge pull request #2363 from RitvikSardana/bump-yarn-lock
chore: update yarn.lock file
2025-06-24 12:44:18 +05:30
Ritvik Sardana
0f2a4e302d chore: update yarn.lock file 2025-06-23 23:51:24 +05:30
RitvikSardana
e10cbfb7d6 Merge pull request #2362 from RitvikSardana/show-fields-fix
fix: show fields on agent portal creation
2025-06-21 20:41:45 +05:30
RitvikSardana
9b19bf8908 fix: show fields on agent portal creation 2025-06-21 20:39:50 +05:30
RitvikSardana
40796f3bd3 Merge pull request #2361 from RitvikSardana/filter-fix-number
fix: filter for name field
2025-06-20 18:36:00 +05:30
RitvikSardana
673e217c46 fix: filter for name field 2025-06-20 18:23:18 +05:30
RitvikSardana
e76903361a Merge pull request #2352 from frappe/redisearch-fix
fix(search): Update search args for redis 6.x
2025-06-20 18:21:59 +05:30
RitvikSardana
c8d80e268c Merge pull request #2358 from RitvikSardana/ack-email-optional
fix: dont sent ack emails on initial sync
2025-06-20 09:32:46 +05:30
RitvikSardana
70e50d858a chore: bump frappe-ui 2025-06-19 16:50:29 +05:30
RitvikSardana
d6dc3036f8 fix: add dashboard link in mobile sidebar 2025-06-19 16:46:54 +05:30
RitvikSardana
57181e614f fix: order dashboard data in desc order 2025-06-19 16:42:13 +05:30
RitvikSardana
7525f5fb11 fix: make ack email optional via settings 2025-06-19 16:30:11 +05:30
RitvikSardana
decdbf1b2b fix: dont send ack email for initial sync emails 2025-06-19 16:29:25 +05:30
RitvikSardana
6d81b9cd59 Merge pull request #2357 from RitvikSardana/same-date-case
fix: handle case of same date
2025-06-19 00:23:23 +05:30
RitvikSardana
3d72bc7afb fix: handle case of same date 2025-06-19 00:22:22 +05:30
RitvikSardana
3b4140d834 Merge pull request #2356 from RitvikSardana/dashboard-changes
fix(dashboard): include today's date & change feedback value logic
2025-06-18 23:49:58 +05:30
RitvikSardana
3b3509cbcd chore: code cleanup 2025-06-18 23:32:42 +05:30
RitvikSardana
566521658c fix(dashboard): utilise today's date & change feedback logic 2025-06-18 23:09:41 +05:30
RitvikSardana
0e6945b15d Merge pull request #2354 from RitvikSardana/avg-rating-query
fix: query for calculating avg rating
2025-06-18 03:05:34 +05:30
RitvikSardana
05b6754afd fix: query for calculating avg rating 2025-06-18 03:04:49 +05:30
RitvikSardana
2d60a14d66 Merge pull request #2353 from RitvikSardana/manager-role-fix
fix: only check if the user is manager
2025-06-18 02:47:11 +05:30
RitvikSardana
80d75441b7 fix: only check if the user is manager 2025-06-18 02:46:11 +05:30
RitvikSardana
94fd53116f Merge pull request #2348 from RitvikSardana/dashboard
feat: Dashboard
2025-06-18 02:22:00 +05:30
RitvikSardana
614e10afb8 chore: code cleanup 2025-06-18 01:46:01 +05:30
RitvikSardana
6c31b0c53a chore: bump frappe-ui 2025-06-18 00:53:48 +05:30
RitvikSardana
d16df23b3b fix: permissions for agents and agent managers 2025-06-18 00:53:31 +05:30
RitvikSardana
6e1aa04b46 chore: bump frappe-ui 2025-06-17 18:21:20 +05:30
RitvikSardana
f8efcc7b38 fix(ux): filter agents based on the team selected 2025-06-17 17:17:25 +05:30
RitvikSardana
fdcbbf8e7b fix(styles): sidebar 2025-06-17 02:49:48 +05:30
RitvikSardana
404973babe fix: add preset filters for range 2025-06-17 02:28:01 +05:30
RitvikSardana
84bdd9abaf fix: current formula to get resolved and fulfilled tickets data 2025-06-16 23:53:22 +05:30
RitvikSardana
413ca96773 fix: add filters dynamically to fetch data 2025-06-16 19:10:55 +05:30
Balamurali M
c11069265f fix(search): Don't hide errors 2025-06-16 13:13:42 +05:30
Balamurali M
ad0eb8d096 fix(search): Set dialect to None so arg is not passed to search
Default dialect was changed to 2 https://github.com/redis/redis-py/pull/3467/

Since we use old redis which doesn't recognize the DIALECT arg, set it
to None so it is not even passed
2025-06-16 12:34:40 +05:30
Balamurali M
d0d42b6eec fix(search): Better filelock args 2025-06-16 11:01:46 +05:30
RitvikSardana
4c41ac12a7 Merge pull request #2349 from RitvikSardana/data-field-blur
fix: update data field on blur
2025-06-13 13:56:04 +05:30
RitvikSardana
075d7057d7 fix: update data field on blur 2025-06-13 13:34:39 +05:30
RitvikSardana
447d6cdfcd Merge pull request #2347 from RitvikSardana/commit-close-tickets
fix: commit changes for auto close tickets
2025-06-13 13:28:36 +05:30
RitvikSardana
fb37f21c31 chore: code cleanup 2025-06-13 13:05:26 +05:30
RitvikSardana
763580f91e fix: commit changes for auto close tickets 2025-06-13 12:38:31 +05:30
RitvikSardana
394855383b fix: same width of filters 2025-06-13 12:37:46 +05:30
RitvikSardana
1cd9316bc3 fix: add fields for filters 2025-06-12 01:00:57 +05:30
RitvikSardana
d32d141529 feat: dashboard 2025-06-11 18:02:56 +05:30
RitvikSardana
de920ac150 Merge pull request #2342 from RitvikSardana/copy-clipboard
fix: copy to clipboard function
2025-06-11 13:52:53 +05:30
RitvikSardana
866b1e0113 fix: copy to clipboard function 2025-06-11 13:46:15 +05:30
RitvikSardana
dbba56a09c Merge pull request #2340 from RitvikSardana/input-model-value
fix: use update:model-value to update field
2025-06-11 12:40:04 +05:30
RitvikSardana
1cf395a4cc fix: use update:model-value to update field 2025-06-11 12:33:07 +05:30
RitvikSardana
8dde360020 Merge pull request #2337 from RitvikSardana/ci-release
ci: release notes
2025-06-10 22:10:22 +05:30
RitvikSardana
f1ce7219af ci: release notes 2025-06-10 22:07:32 +05:30
RitvikSardana
94af7ce215 Merge pull request #2336 from RitvikSardana/ci-installation
ci: dynamic branch setup
2025-06-10 22:02:56 +05:30
RitvikSardana
18dedac1c5 ci: dynamic branch setup 2025-06-10 21:57:08 +05:30
RitvikSardana
3d0bf48be2 Merge pull request #2334 from frappe/redis-version
fix: use develop fw branch
2025-06-10 17:54:18 +05:30
RitvikSardana
73a675a800 fix: use develop fw branch 2025-06-10 17:30:10 +05:30
RitvikSardana
202ea3bea9 Merge pull request #2333 from RitvikSardana/fields-update
fix: use value and modelValue both
2025-06-10 14:21:12 +05:30
RitvikSardana
766e2ead0b fix: use value and modelValue both 2025-06-10 14:15:13 +05:30
RitvikSardana
cc2f524f35 Merge pull request #2332 from RitvikSardana/sidebar-fields-update
fix: add modelValue to data fields
2025-06-10 13:11:15 +05:30
RitvikSardana
85b6de49bd fix: add modelValue to data fields 2025-06-10 11:19:23 +05:30
RitvikSardana
5efb530785 chore: version bump 2025-06-09 23:48:01 +05:30
RitvikSardana
9c105875b1 Merge pull request #2329 from RitvikSardana/pin-redis
chore: pin redis version
2025-06-09 23:41:52 +05:30
RitvikSardana
a12517132e fix: canned response button at start 2025-06-09 23:37:35 +05:30
RitvikSardana
6fa4fb6a6f chore: pin redis version 2025-06-09 23:32:13 +05:30
RitvikSardana
4a1b980d48 Merge pull request #2320 from taz77/develop
fix: redis requires schema for uri with bench set command
2025-06-06 02:44:27 +05:30
RitvikSardana
be09cc83f5 chore: version bump 2025-06-06 02:44:02 +05:30
RitvikSardana
4403f312bb Merge pull request #2324 from RitvikSardana/agent-query-error
fix: return agent name instead of agent doc while finding assigned agents
2025-06-06 02:43:33 +05:30
RitvikSardana
b67b6f807a fix: return agent name instead of agent doc while finding assigned agents 2025-06-05 21:15:14 +05:30
RitvikSardana
fbf8524aab Merge pull request #2323 from RitvikSardana/update-frappe-ui
chore: Update frappe UI
2025-06-05 21:13:41 +05:30
RitvikSardana
88a8394db3 chore: code cleanup 2025-06-05 14:55:17 +05:30
RitvikSardana
2b1bb04dbb chore: bump frappe-ui version to v0.1.150 2025-06-05 14:24:03 +05:30
RitvikSardana
95640e4164 fix: overflow because of updating text editor 2025-06-05 02:33:21 +05:30
RitvikSardana
914c1f0e5f chore: remove uploadFunction and use default 2025-06-05 01:57:05 +05:30
RitvikSardana
4d033e5122 chore: update commitlint file to mjs 2025-06-05 00:45:46 +05:30
RitvikSardana
3e4615c942 fix: accomodate changes in text editor from updating frappe-ui 2025-06-05 00:36:25 +05:30
RitvikSardana
0a131611fd fix(styles): btn label in loading state 2025-06-04 20:20:29 +05:30
RitvikSardana
2cef8ad8b9 fix(styles): layout shift in comment and reply area 2025-06-04 18:15:52 +05:30
RitvikSardana
f0a567a171 fix: change createToast to new frappe-ui toast API 2025-06-04 04:35:53 +05:30
Ankush Menat
f266dcba73 fix: disable invasive posthog configs (#2322)
I've disabled this on server too, fix this if you want to renable: https://github.com/frappe/helpdesk/issues/2321
2025-06-02 19:04:12 +05:30
RitvikSardana
0051ec2742 fix: update to ESM sytnax and introduce new toast 2025-06-02 14:46:30 +05:30
Brady
6e6997fef4 fix: redis requires schema for uri with bench set command 2025-06-01 20:49:46 -04:00
RitvikSardana
5f16afcb71 Merge pull request #2313 from RitvikSardana/router-update
fix: rewrite router file
2025-05-31 20:16:34 +05:30
RitvikSardana
0cd43754bc fix: extra validation for agent portal 2025-05-31 20:10:47 +05:30
RitvikSardana
75e66d5509 fix(styles): user dropdown 2025-05-30 21:06:31 +05:30
RitvikSardana
2e4ed0601e fix(style): communication area 2025-05-30 20:43:47 +05:30
RitvikSardana
4cc46beb1b fix: dont fetch notifications and agents on customer portal 2025-05-30 18:00:48 +05:30
RitvikSardana
70d559d6f6 fix: fetch current user only once 2025-05-30 13:49:02 +05:30
RitvikSardana
3aa2e27526 fix: fallback to isCustomerPortal flag 2025-05-29 18:21:17 +05:30
RitvikSardana
c20fe8ff94 chore: code cleanup 2025-05-29 17:48:23 +05:30
RitvikSardana
4bb171cd6c fix: rewrite router file 2025-05-29 17:40:35 +05:30
RitvikSardana
4ebd2ab15f Merge pull request #2317 from RitvikSardana/duplicate-history
fix: duplicate history
2025-05-28 15:01:26 +05:30
RitvikSardana
01502af789 fix(styles): settings modal 2025-05-28 14:45:56 +05:30
RitvikSardana
f9888a9534 fix: duplicate customer reply status 2025-05-28 13:36:13 +05:30
RitvikSardana
4cd851aa31 Merge pull request #2296 from RitvikSardana/team-agent-settings
fix: move agents & teams to settings
2025-05-28 03:46:53 +05:30
RitvikSardana
4513164f40 chore: code cleanup 2025-05-28 03:23:12 +05:30
RitvikSardana
0a6eb1ba2d chore: code cleanup 2025-05-28 03:18:13 +05:30
RitvikSardana
f8573595f9 fix: subtle variant instead of ghost in setting agents roles 2025-05-28 03:11:18 +05:30
RitvikSardana
d44a590f41 chore: code cleanup 2025-05-28 02:48:52 +05:30
RitvikSardana
fff193d244 chore: code cleanup 2025-05-28 02:35:10 +05:30
RitvikSardana
ec5c79fd62 fix: agents list filters 2025-05-28 01:21:54 +05:30
RitvikSardana
514f048e06 fix: filter agnets based on active/inactive 2025-05-28 00:25:57 +05:30
RitvikSardana
3b4100a657 fix: fetch users only once 2025-05-27 15:18:37 +05:30
RitvikSardana
c8b57fb8cd chore: code cleanup 2025-05-27 15:18:37 +05:30
RitvikSardana
a742565d56 chore: code cleanup 2025-05-27 15:18:37 +05:30
RitvikSardana
abfa76c71d fix: only show bypass restriction when enabled in settings 2025-05-27 15:18:37 +05:30
RitvikSardana
90106f134c fix: patch for removing default views of team and agent list view 2025-05-27 15:18:37 +05:30
RitvikSardana
09d51006f1 fix: redirects for older teams/agent paths 2025-05-27 15:18:37 +05:30
RitvikSardana
72ce1ac22a fix: update onboarding step according to new UI 2025-05-27 15:18:37 +05:30
RitvikSardana
4102b030c0 fix: remove dead code 2025-05-27 15:18:37 +05:30
RitvikSardana
37d9e2b8eb fix: spacing in teams list 2025-05-27 15:18:37 +05:30
RitvikSardana
008064559d fix: single team view changes 2025-05-27 15:18:37 +05:30
RitvikSardana
5ac3296195 fix: using stepper for teams view 2025-05-27 15:18:37 +05:30
RitvikSardana
68fb20bc48 fix: add members dialog in Teams 2025-05-27 15:18:37 +05:30
RitvikSardana
bc361ee747 fix: add teams tab in settings modal 2025-05-27 15:18:37 +05:30
RitvikSardana
66cae3acf4 fix: dont create activity for ticket creation 2025-05-27 15:18:37 +05:30
RitvikSardana
c704cf32ea chore: change stroke to currentColor in InviteCustomer icon 2025-05-27 15:18:37 +05:30
RitvikSardana
6f5e0aa144 chore: remove agents page view and route 2025-05-27 15:18:37 +05:30
RitvikSardana
c10531426f fix: add agents in the settings 2025-05-27 15:18:37 +05:30
RitvikSardana
188b998d8f Merge pull request #2315 from RitvikSardana/comment-alignment
fix: comment alignment
2025-05-27 15:13:07 +05:30
RitvikSardana
93b4939cc0 fix: comment alignment 2025-05-27 14:31:19 +05:30
RitvikSardana
fe60560451 Merge pull request #2314 from RitvikSardana/activity-alignment
fix: activity alignment
2025-05-27 12:52:15 +05:30
RitvikSardana
3ab7370d47 fix: activity alignment 2025-05-27 12:30:59 +05:30
RitvikSardana
aac4a15c56 Merge pull request #2312 from RitvikSardana/minor-ui-fixes2
fix: listView textContent instead of innerHTML
2025-05-26 17:12:10 +05:30
RitvikSardana
510c5c99d3 fix: weird height issue in status field of tickets 2025-05-26 16:28:30 +05:30
RitvikSardana
81674a6871 fix: avatar cut fix 2025-05-26 16:18:47 +05:30
RitvikSardana
0c99895c13 fix(style): ticket customer communication 2025-05-26 13:56:26 +05:30
RitvikSardana
a0d52ad5e1 fix(styles): minor ui changes 2025-05-26 13:28:59 +05:30
RitvikSardana
462e6717f8 Merge pull request #2309 from RitvikSardana/minor-ui-fix
fix: minor ui fixes
2025-05-26 12:27:02 +05:30
RitvikSardana
2ef83d5085 fix: fetch agents only once 2025-05-26 12:23:16 +05:30
RitvikSardana
1501e29ca3 chore: version bump 2025-05-26 12:12:32 +05:30
RitvikSardana
0b4554e895 fix: don't create activity for new ticket except creation 2025-05-24 02:00:37 +05:30
RitvikSardana
10acff9bbf fix: handle dialog warning of ctx.close 2025-05-24 01:46:50 +05:30
RitvikSardana
61e8a2bb86 fix: show shortcut symbol in email/comment editor 2025-05-24 01:38:41 +05:30
RitvikSardana
712e4a1f9c fix: comment and email auto focus 2025-05-24 01:13:36 +05:30
RitvikSardana
7ada7d2c31 fix: related activities UI change 2025-05-24 00:48:48 +05:30
RitvikSardana
ae42a84e4b fix: customActions in mobile ticket 2025-05-23 21:32:11 +05:30
RitvikSardana
e637fbe374 fix(styles): ticket timeline 2025-05-23 21:31:06 +05:30
RitvikSardana
7028dfb41f fix: dont update onboarding steps for users with agent role 2025-05-23 20:04:35 +05:30
RitvikSardana
f00e8e7dd8 Merge pull request #2308 from RitvikSardana/threading-msgid
fix: don't use message-id to send mails
2025-05-23 14:44:35 +05:30
RitvikSardana
1cb0471c2f fix: don't use message-id to send mails 2025-05-23 13:31:08 +05:30
Shariq Ansari
bed6017e12 Merge pull request #2307 from shariquerik/communication-date 2025-05-22 19:15:44 +05:30
Shariq Ansari
420fd5dc9b fix: show communication date instead of creation 2025-05-22 19:05:41 +05:30
RitvikSardana
789641007e chore: version bumo 2025-05-20 22:16:34 +05:30
RitvikSardana
8bbdf49b38 Merge pull request #2300 from RitvikSardana/email-threading
fix: email threading
2025-05-19 19:02:18 +05:30
RitvikSardana
b22eeda7e1 fix: update subject for sending emails 2025-05-19 18:58:39 +05:30
RitvikSardana
05d701196c fix: ack ticket copy change 2025-05-19 16:27:44 +05:30
RitvikSardana
2bb7e1367e chore: code cleanup 2025-05-18 22:06:18 +05:30
RitvikSardana
a5b8f4ee6c fix: send acknowledgement email to mail tickets 2025-05-18 21:39:38 +05:30
RitvikSardana
2db3f2ce6d fix: setting the reply-header properly 2025-05-18 13:15:53 +05:30
RitvikSardana
c272eb1bfe fix: use in_reply_to for threading 2025-05-18 12:45:45 +05:30
RitvikSardana
7dcea00188 fix: use message id for threading in mail 2025-05-18 12:31:31 +05:30
RitvikSardana
437ae82578 fix: reference error 2025-05-17 19:32:27 +05:30
RitvikSardana
f8ac797fe4 fix: same subject for email threading 2025-05-17 17:56:17 +05:30
RitvikSardana
897b14d502 Merge pull request #2284 from RitvikSardana/onboarding
feat: onboarding
2025-05-14 03:40:49 +05:30
RitvikSardana
7d3cef3a83 chore: code cleanup 2025-05-14 03:31:27 +05:30
RitvikSardana
59ab565798 fix: user specific event for sla realtime event 2025-05-14 03:20:53 +05:30
RitvikSardana
5d81ea82e7 chore: code cleanup 2025-05-14 03:07:43 +05:30
RitvikSardana
095c783529 fix: sockets to update sla onboarding 2025-05-14 02:53:41 +05:30
RitvikSardana
8af23535d8 fix: sla update using sockets 2025-05-14 01:01:34 +05:30
RitvikSardana
ee1e59e993 fix: add docs in onboarding 2025-05-13 12:19:29 +05:30
RitvikSardana
7f81b5e1f3 chore: code cleanup 2025-05-13 11:58:09 +05:30
RitvikSardana
d2548f0ead fix: add video for inviting a contact 2025-05-13 11:32:22 +05:30
RitvikSardana
d1524dd4d9 fix: onboarding only for admins & agent managers 2025-05-13 02:13:00 +05:30
RitvikSardana
f768c7dc19 fix: add onboarding step for inviting a contact 2025-05-13 01:21:17 +05:30
RitvikSardana
d3d6a508ad feat: add bulk delete for all list views 2025-05-13 00:00:08 +05:30
RitvikSardana
0ca25232b1 fix: add functionality for first 7 onboarding steps 2025-05-12 16:10:12 +05:30
RitvikSardana
cdabb773ed Merge pull request #2292 from RitvikSardana/email-reply-agent
fix: use make method for mail tickets
2025-05-09 01:11:20 +05:30
RitvikSardana
f6b277bf9f fix: use make method for mail tickets 2025-05-06 10:30:57 +05:30
RitvikSardana
eb32de8935 Merge pull request #2288 from RitvikSardana/canned-styles
fix(styles): padding canned responses
2025-05-05 10:20:26 +05:30
RitvikSardana
771379ad5d fix(styles): padding canned responses 2025-05-05 10:13:01 +05:30
RitvikSardana
1d76501744 fix: markRaw in settings modal 2025-05-03 15:07:42 +05:30
RitvikSardana
ce8bf01bfa fix: add first 2 onboarding steps functionality 2025-05-03 13:34:55 +05:30
RitvikSardana
819e0b9f8e feat: init onboarding 2025-04-29 00:38:42 +05:30
RitvikSardana
cfac39da5f Merge pull request #2282 from RitvikSardana/custom-actions-removal
fix: on ticket reload customActions disapper
2025-04-25 19:48:43 +05:30
RitvikSardana
e68b1f4c03 fix: on ticket reload customActions disapper 2025-04-25 18:58:38 +05:30
RitvikSardana
65a79f0574 Merge pull request #2281 from RitvikSardana/team-restriction-agent
fix: only apply team restrictions on the agent side
2025-04-25 18:05:12 +05:30
RitvikSardana
3be08c1ef3 fix: only apply team restrictions on the agent side 2025-04-25 18:01:40 +05:30
Ankush Menat
7b5e5dca23 Merge pull request #2280 from ankush/perf_int_pk
perf: misc int PK + indexing optimizations
2025-04-25 11:36:52 +05:30
Ankush Menat
c951f60b55 perf: index hd ticket in activity 2025-04-25 11:31:34 +05:30
Ankush Menat
d51c0e6f39 perf: cast filters to string
Int filters are bad for perf. Ref:
https://github.com/frappe/frappe/issues/32287 and https://github.com/frappe/helpdesk/issues/2279
2025-04-25 11:13:23 +05:30
RitvikSardana
d3753ddf33 Merge pull request #2277 from RitvikSardana/remove-unused-files
fix: remove dead code
2025-04-24 15:22:14 +05:30
RitvikSardana
0800800e9f fix: remove a lot of dead code 2025-04-24 00:19:50 +05:30
RitvikSardana
19c692298d Merge pull request #2276 from RitvikSardana/remove-waste-settings
chore: remove unnecessary fields from HD Settings
2025-04-23 22:03:51 +05:30
RitvikSardana
8e74140a0d chore: remove unnecessary fields from HD Settings 2025-04-23 21:57:22 +05:30
RitvikSardana
074b50fcbb Merge pull request #2274 from adarshkh2397/feature/new-contact-optional-customer
feat: contact dialogs refactor
2025-04-23 02:42:56 +05:30
RitvikSardana
e6a5d8f3a7 fix: invite contact as user from the contact dialog 2025-04-23 02:25:02 +05:30
RitvikSardana
126fdd1ce9 fix(formatting): prettier formatting 2025-04-23 01:56:39 +05:30
adarshkh2397
ed25f647dd feat: add customer field in contact dialog 2025-04-22 13:17:36 +05:30
RitvikSardana
69e9ac9648 Merge pull request #2273 from RitvikSardana/async-form-script
fix: async support in form script
2025-04-21 12:49:13 +05:30
adarshkh2397
3f96670794 feat: make Customer field optional in HelpDesk contact creation 2025-04-21 12:43:05 +05:30
RitvikSardana
9fe40a263d fix: async support in form script 2025-04-21 12:41:06 +05:30
RitvikSardana
9cddbe3923 Merge pull request #2271 from RitvikSardana/show-toast-ticket-update
fix: show toast when ticket fails to update
2025-04-21 00:25:43 +05:30
RitvikSardana
547ad7675a fix: show toast when ticket fails to update 2025-04-21 00:24:51 +05:30
RitvikSardana
125be24d40 Merge pull request #2266 from RitvikSardana/build-ci
fix(ci): run build image on main branch
2025-04-17 23:45:15 +05:30
RitvikSardana
c7827a4bc4 fix(ci): run build image on main branch 2025-04-17 23:37:05 +05:30
RitvikSardana
1f2a1da1bb Merge pull request #2263 from RitvikSardana/reopen-email-once
fix: send re-open ticket not on new ticket creation
2025-04-17 18:23:21 +05:30
RitvikSardana
943d97c763 fix(styles): quick filter margin 2025-04-17 18:19:00 +05:30
RitvikSardana
03ff090163 fix: split in operator's value 2025-04-17 18:10:03 +05:30
RitvikSardana
75720b97f8 fix: automatic update filter for default view 2025-04-17 17:53:39 +05:30
RitvikSardana
e483a91743 fix: send re-open ticket not on new ticket creation 2025-04-17 12:45:30 +05:30
RitvikSardana
9b29aed3b1 Merge pull request #2262 from RitvikSardana/description-template
feat: ticket description template
2025-04-17 01:03:00 +05:30
RitvikSardana
86b6d45114 chore: code cleanup 2025-04-17 00:49:41 +05:30
RitvikSardana
f627d7b6ef chore: code cleanup 2025-04-17 00:47:40 +05:30
RitvikSardana
57ef5f7e6e fix(styles): new ticket page 2025-04-17 00:40:55 +05:30
RitvikSardana
92598321eb fix: send email when a customer replies on a ticket 2025-04-16 18:46:35 +05:30
RitvikSardana
4ef4c0ee7a chore(ci): update CI version 2025-04-16 14:08:46 +05:30
RitvikSardana
43fd4e06ff feat: ticket description template 2025-04-16 13:11:01 +05:30
RitvikSardana
ac2b2b0d5d Merge pull request #2257 from RitvikSardana/split-merge
feat: Split & Merge Ticket
2025-04-14 23:46:52 +05:30
RitvikSardana
4f07b63746 chore: code cleanup 2025-04-14 23:43:06 +05:30
RitvikSardana
c858934817 fix: dont show edit option for ticket merge comment 2025-04-14 23:42:21 +05:30
RitvikSardana
936694fa64 chore: code cleanup 2025-04-14 23:31:44 +05:30
RitvikSardana
691e8ba282 fix(formatting): message of split & merge 2025-04-14 20:09:47 +05:30
RitvikSardana
45fb892a1b fix(attachments): attachments being persisted even after discard 2025-04-14 18:52:34 +05:30
RitvikSardana
6ad75a1578 fix: sidebar autocomplete empty 2025-04-14 16:24:23 +05:30
RitvikSardana
462db2da85 fix(styles): use faded scrollbar div 2025-04-14 15:55:46 +05:30
RitvikSardana
9e3e4dacbf chore: code cleanup 2025-04-14 15:47:08 +05:30
RitvikSardana
7f78c81fae fix(styles): communication area and tab header 2025-04-14 15:41:48 +05:30
RitvikSardana
aaa32c0534 fix(styles): communication area 2025-04-14 14:27:19 +05:30
RitvikSardana
62d4bf4435 fix: only show ticket split for non closes tickets 2025-04-14 12:50:08 +05:30
RitvikSardana
425ce08589 fix: show ticket subject while merging tickets 2025-04-11 19:51:18 +05:30
RitvikSardana
a860e58ad4 fix: split modal UI enhancement 2025-04-11 19:29:32 +05:30
RitvikSardana
77719dc8bb feat: split ticket 2025-04-11 18:56:28 +05:30
RitvikSardana
d43ab4e793 fix: add comment and email on tickets being merged 2025-04-11 13:45:31 +05:30
RitvikSardana
dfd95cccff fix(styles): breadcrumbs in article and team view 2025-04-11 12:22:06 +05:30
RitvikSardana
59e39a7c40 fix: first response update when ticket is directly closed or resolved from open 2025-04-11 12:16:51 +05:30
RitvikSardana
7c19a20cfe fix: show subject in browser tab 2025-04-10 12:41:16 +05:30
RitvikSardana
480ed3e7a5 fix: handle attachments while merging 2025-04-10 11:45:27 +05:30
RitvikSardana
24527fa7aa fix: add modal for merging tickets 2025-04-10 00:53:01 +05:30
RitvikSardana
b396d8f6ab feat: merge tickets 2025-04-09 23:24:11 +05:30
RitvikSardana
cf37ff7f5b Merge pull request #2253 from marination/agent-actions
fix: Use decorator to allow agent action + additional checks
2025-04-09 16:25:12 +05:30
RitvikSardana
bf31653f59 fix(patch): Agent Manager perms for core doctype 2025-04-09 13:32:55 +05:30
RitvikSardana
29cee80072 fix(perms): add agent manager permissions to core doctypes 2025-04-09 13:32:20 +05:30
RitvikSardana
ed45ebc15c fix: read notification api call only if notification is unread 2025-04-09 11:51:04 +05:30
marination
768275cbe8 fix: Use decorator to authorize agent action + tighter checks 2025-04-08 19:57:11 +02:00
RitvikSardana
22fd395267 Merge pull request #2252 from marination/remove-unused-dashboard-file
chore: Remove unused dashboard file
2025-04-08 20:13:40 +05:30
RitvikSardana
f9af8b1823 chore: update vite config 2025-04-08 19:29:52 +05:30
RitvikSardana
1fd1677516 Merge pull request #2251 from RitvikSardana/inter-font
fix: remove inter font files from helpdesk and use frappe-ui font
2025-04-08 16:40:51 +05:30
marination
7f6f286243 chore: Remove unused dashboard file 2025-04-08 12:52:45 +02:00
RitvikSardana
53e4547ea0 fix: apply escalation rule on agent only if agent is present 2025-04-08 14:58:57 +05:30
RitvikSardana
8ed260d579 fix: remove inter font files from helpdesk and use frappe-ui font 2025-04-08 14:48:02 +05:30
RitvikSardana
d8adc4657f Merge pull request #2249 from RitvikSardana/ci-build
fix(ci): no installation candidate while running ci
2025-04-08 14:45:41 +05:30
RitvikSardana
06480e4164 fix: dont run tests as of now 2025-04-08 14:41:25 +05:30
RitvikSardana
a9346002c3 fix(ci): branch name 2025-04-08 14:34:07 +05:30
RitvikSardana
ae57d7178a fix(ci): path for git clone 2025-04-08 14:22:36 +05:30
RitvikSardana
edc9f2268e fix: ci 2025-04-08 14:18:18 +05:30
RitvikSardana
c5366cba8b fix(ci): install script 2025-04-08 13:45:27 +05:30
RitvikSardana
1f76e0892e fix: run server ci on develop branch also 2025-04-08 12:39:04 +05:30
RitvikSardana
92f048d335 fix(ci): no installation candidate while running ci 2025-04-08 12:36:20 +05:30
RitvikSardana
8d11e2cf9c chore: version bump 2025-04-08 11:48:31 +05:30
RitvikSardana
a2c664f93b Merge pull request #2238 from adarshkh2397/vite-config-fix
fix(vite config): optimize lowlight
2025-03-31 01:16:19 +05:30
RitvikSardana
3c34a443f3 Merge pull request #2233 from RitvikSardana/onchange-customisation
feat(customisations): onChange, display & mandatory depends on and more.
2025-03-29 22:41:16 +05:30
RitvikSardana
e136c17ff5 fix: createToast in mobile ticket 2025-03-29 22:40:06 +05:30
RitvikSardana
3e11089624 fix: default value of boiler plate in HD Form Script 2025-03-29 22:38:53 +05:30
RitvikSardana
f20fa8500a feat: createToast functionality in form script 2025-03-29 21:53:41 +05:30
RitvikSardana
dae1efdf77 chore: code cleanup 2025-03-29 16:51:55 +05:30
RitvikSardana
79724e5ed6 chore: bumb frappe-ui version 2025-03-29 16:41:06 +05:30
RitvikSardana
db23406e3f chore: code cleanup 2025-03-29 16:09:25 +05:30
RitvikSardana
2437dc792f fix: make customOnChange a set while parsing 2025-03-29 15:52:08 +05:30
RitvikSardana
f1a1456c48 fix: add more customisation support for ticket customer and new ticket page 2025-03-29 15:04:18 +05:30
adarshkh2397
578fc302f0 fix: vite config 2025-03-28 00:18:21 +05:30
RitvikSardana
0ceb4d1ef9 chore: remove dead code 2025-03-27 23:56:13 +05:30
RitvikSardana
2344872b3c fix: customisation code in mobile ticket agent 2025-03-27 23:52:20 +05:30
RitvikSardana
6e1d17a771 feat: support in form script 2025-03-27 23:38:05 +05:30
RitvikSardana
12981c8853 chore: code cleanup 2025-03-27 19:48:11 +05:30
RitvikSardana
cf7b675108 fix: take all onChange functions for each field and run them 2025-03-27 19:12:40 +05:30
RitvikSardana
5417fe24f0 refactor: ticket agent sidebar fields 2025-03-27 04:09:37 +05:30
RitvikSardana
cf1488e2bb fix: add support for multiple onchange handlers 2025-03-27 02:44:25 +05:30
RitvikSardana
9cdbaf37b3 fix: support for updating options of both select and link field 2025-03-27 01:55:17 +05:30
RitvikSardana
96b565743e fix: add support for more types of expression for mandatory and display depends on 2025-03-27 00:58:32 +05:30
RitvikSardana
dcca3610cb fix: warnings for templateFields 2025-03-27 00:58:32 +05:30
RitvikSardana
3bd18b1f53 feat: mandatory depends on 2025-03-27 00:58:32 +05:30
RitvikSardana
744ea55733 feat: display depends on while creating a ticket 2025-03-27 00:58:32 +05:30
RitvikSardana
1b0040e195 fix(styles): reply box 2025-03-27 00:58:32 +05:30
RitvikSardana
87d3d47419 fix(styles): padding in agent sidebar 2025-03-27 00:58:32 +05:30
RitvikSardana
75f83de788 feat(customisations): router and call api functionality in form script 2025-03-27 00:58:32 +05:30
RitvikSardana
0fe06658db chore: code cleanup 2025-03-27 00:58:32 +05:30
RitvikSardana
0977c45d3a chore: code cleanup 2025-03-27 00:58:32 +05:30
RitvikSardana
a109fbf221 fix: persist old options 2025-03-27 00:58:32 +05:30
RitvikSardana
2a8a8d421b fix: run custom code on change of field 2025-03-27 00:58:32 +05:30
RitvikSardana
f4854de58f feat(customisation): on field change 2025-03-27 00:58:32 +05:30
RitvikSardana
62f4257bcd Update __init__.py 2025-03-27 00:54:52 +05:30
RitvikSardana
40cec9b101 Merge pull request #2234 from RitvikSardana/notification-socket
fix: notifications reload on customer portal
2025-03-26 03:28:48 +05:30
RitvikSardana
a26451296c fix: notifications reload on customer portal 2025-03-26 03:27:42 +05:30
RitvikSardana
dfede2ffc3 Merge pull request #2231 from incirco/reply_all_fix
fix: fetch correct recipient emails when using reply all in ticket
2025-03-26 01:48:11 +05:30
RitvikSardana
32d7bc7370 Merge pull request #2232 from RitvikSardana/pause-status-condition
fix: paused condition for failed sla
2025-03-25 20:11:28 +05:30
RitvikSardana
4973077a20 fix: paused condition for failed sla 2025-03-25 20:10:55 +05:30
i-am-vimal
e36a828ed0 fix: fetch correct recipient emails when using reply all in ticket 2025-03-25 19:41:40 +05:30
RitvikSardana
e8ac912600 Merge pull request #2229 from RitvikSardana/optimistic-update
fix(styles): agent and customer ticket view
2025-03-25 17:12:06 +05:30
RitvikSardana
71fdf2f829 fix: better resolution label for paused ticket 2025-03-25 17:03:24 +05:30
RitvikSardana
8885f2dceb fix: better way to get long replied tickets 2025-03-25 14:41:10 +05:30
RitvikSardana
9db1581b83 fix: handle tripple errors in full helpdesk 2025-03-25 14:14:59 +05:30
RitvikSardana
fc19c259f8 fix: done show trial banner in customer portal 2025-03-25 13:25:30 +05:30
RitvikSardana
52fea44ca0 fix: show replied status of ticket 2025-03-25 13:24:25 +05:30
RitvikSardana
d37b9e8fc8 fix: update ticket optimistic 2025-03-25 13:21:27 +05:30
RitvikSardana
173fdf2fbb fix(styles): customer portal 2025-03-25 13:21:06 +05:30
RitvikSardana
dadbdf8ecb fix: padding fixes 2025-03-25 12:53:18 +05:30
RitvikSardana
a5e97854ee Merge pull request #2227 from RitvikSardana/ignore_validate
fix: ignore validate using doc.flags
2025-03-23 03:00:09 +05:30
RitvikSardana
c43e37f76f fix: ignore validate using doc.flags 2025-03-23 02:53:40 +05:30
RitvikSardana
332a9f1f0a Merge pull request #2225 from RitvikSardana/filter-link-field
feat(customisation): filters in link field
2025-03-22 00:40:21 +05:30
RitvikSardana
5fadbd78f2 chore: code cleanup 2025-03-22 00:36:10 +05:30
RitvikSardana
ee00e4a853 chore: code cleanup 2025-03-22 00:35:53 +05:30
RitvikSardana
585787bb51 chore: code cleanup 2025-03-22 00:33:33 +05:30
RitvikSardana
db10f0a088 chore: code cleanup 2025-03-22 00:31:12 +05:30
RitvikSardana
783d6e3d52 feat(customisation): filters in link field 2025-03-22 00:23:51 +05:30
RitvikSardana
b8b6ece4ad Merge pull request #2223 from RitvikSardana/trial-banner-new
feat: trial banner
2025-03-22 00:23:42 +05:30
Faris Ansari
d01b0817d4 fix: remove redundant build commands 2025-03-22 00:21:13 +05:30
RitvikSardana
ca3a23f04c fix: revert back to /desk config 2025-03-22 00:21:13 +05:30
RitvikSardana
7982c7d9e3 fix: outDir frontend 2025-03-22 00:21:13 +05:30
RitvikSardana
464481beb2 fix: asset folder path 2025-03-22 00:21:13 +05:30
RitvikSardana
e035fa2639 fix: vite config asset directory 2025-03-22 00:21:13 +05:30
RitvikSardana
2dacca93ed fix: add boot context 2025-03-22 00:21:13 +05:30
RitvikSardana
6981bfe333 fix: change baseURL 2025-03-22 00:21:13 +05:30
RitvikSardana
6d6eb1a5c5 fix: option to add new cannesd response from ticket agent page 2025-03-22 00:21:13 +05:30
RitvikSardana
3f7dc57048 fix(ci): use ci for only main branch 2025-03-22 00:21:13 +05:30
RitvikSardana
0d8709d1ab fix(ci): update install.sh file 2025-03-22 00:21:13 +05:30
RitvikSardana
cecb79e2f0 fix: use vite build instead of frappe-ui build 2025-03-22 00:21:13 +05:30
RitvikSardana
372d126996 chore: code cleanup 2025-03-22 00:21:13 +05:30
RitvikSardana
233f5f6849 fix: path for asset building 2025-03-22 00:21:13 +05:30
RitvikSardana
a807f20224 feat: trial banner 2025-03-22 00:21:13 +05:30
RitvikSardana
6adc4c7b4b Merge pull request #2224 from RitvikSardana/priority-rename
fix: allow renaming priority
2025-03-21 20:22:57 +05:30
RitvikSardana
b51430fa5a fix: ignore any validations while force closing tickets 2025-03-21 17:13:51 +05:30
RitvikSardana
a954003c76 fix: redirect to correct route after creating ticket 2025-03-21 16:03:03 +05:30
RitvikSardana
16be0690a5 fix: allow renaming priority 2025-03-21 15:29:22 +05:30
RitvikSardana
fa112138ed Merge pull request #2222 from RitvikSardana/notif-wrong-email
fix: show correct email
2025-03-17 12:51:28 +05:30
RitvikSardana
93ffe47acd fix: show correct email 2025-03-17 12:50:44 +05:30
RitvikSardana
cedd92b914 Merge pull request #2217 from RitvikSardana/corpus-download
fix: download corpus
2025-03-12 17:04:21 +05:30
RitvikSardana
d8bf9ad55c Merge pull request #2215 from RitvikSardana/in-filter
fix: split by comma in 'in' fiter
2025-03-12 17:04:11 +05:30
RitvikSardana
d103946ed9 fix: download corpus 2025-03-12 16:41:50 +05:30
RitvikSardana
83166325ce fix: split by comma in 'in' fiter 2025-03-11 23:58:48 +05:30
RitvikSardana
4f6f334beb Merge pull request #2213 from RitvikSardana/wrong-email
fix: wrong email while replying
2025-03-07 18:11:58 +05:30
RitvikSardana
ab96e1b3b9 fix: persist list view position 2025-03-07 16:14:44 +05:30
RitvikSardana
ec3a1c1f8f fix: dont update ticket if field value is same 2025-03-07 15:40:05 +05:30
RitvikSardana
f03d54d35b fix(styles): activity header padding 2025-03-07 13:22:23 +05:30
RitvikSardana
a956b9b23e fix: don't cache single ticket 2025-03-07 13:22:23 +05:30
RitvikSardana
1f23a1e088 fix: reply to email should be to sender 2025-03-07 13:22:23 +05:30
RitvikSardana
fbf218714f Merge pull request #2211 from RitvikSardana/auto-close-tickets
feat: auto close tickets after n number of days
2025-03-07 12:51:19 +05:30
RitvikSardana
a67703442c chore: code cleanup 2025-03-07 12:05:14 +05:30
RitvikSardana
1bac31ffa9 chore: only run the job once per day 2025-03-06 21:34:21 +05:30
RitvikSardana
bc58a4ca43 chore: update field label 2025-03-06 21:33:29 +05:30
RitvikSardana
374041d3a4 feat: auto close tickets after n number of days 2025-03-06 21:22:51 +05:30
RitvikSardana
dcb04f213b Merge pull request #2209 from RitvikSardana/multiple-error
fix: triple error toast issue
2025-03-06 17:16:05 +05:30
RitvikSardana
aae3d3d78c fix: dont remove onError on ticket new page 2025-03-06 17:14:54 +05:30
RitvikSardana
dc2c11dee0 fix: tripple error toast issue 2025-03-06 17:10:22 +05:30
RitvikSardana
f2b4fd8406 chore: version bump 2025-03-06 16:34:38 +05:30
RitvikSardana
276cc39b41 Merge pull request #2208 from RitvikSardana/arabic-support
feat: arabic support in font
2025-03-06 16:33:15 +05:30
RitvikSardana
7cd9a7329e fix: arabic support for comment and email editor 2025-03-06 16:23:25 +05:30
RitvikSardana
53e0225bf1 fix(styles): offset of timeline in single ticket 2025-03-06 16:23:06 +05:30
RitvikSardana
ec741c5fd7 fix: add util to check is arabic present or not 2025-03-06 13:55:06 +05:30
RitvikSardana
96799b0040 Merge pull request #2207 from RitvikSardana/comm-perm-issue
fix: read permission on communication for attachments
2025-03-06 13:40:58 +05:30
RitvikSardana
75b263e97e fix(patch): for adding read perm to communication doctype to agent 2025-03-06 13:34:07 +05:30
RitvikSardana
0bec87e2cb fix: add communication doctype perm for agent to read 2025-03-06 13:34:07 +05:30
RitvikSardana
9b2f950dcd Merge pull request #2205 from RitvikSardana/toml-conversion
refactor: change setup.py to .toml
2025-03-06 13:28:59 +05:30
RitvikSardana
489ecc5d42 fix: optimize prosemirror in vite config 2025-03-06 13:18:35 +05:30
RitvikSardana
6dd266519d chore: update package.json 2025-03-05 15:22:14 +05:30
RitvikSardana
beea372687 fix: add build-system in .toml file 2025-03-05 13:27:24 +05:30
RitvikSardana
e96ec02814 refactor: change setup.py to .toml 2025-03-05 13:03:22 +05:30
RitvikSardana
240d4a9ebe Merge pull request #2195 from RitvikSardana/minor-fixes-sidebar
fix: sidebar link field & ticket restrictions
2025-03-05 10:04:33 +05:30
RitvikSardana
74ba5c2480 fix(styles): view controls 2025-03-05 09:54:42 +05:30
RitvikSardana
54ad6831c0 fix: handle value as object and tripple error in ticket view 2025-03-04 15:49:52 +05:30
RitvikSardana
b3ac00301d fix: show tooltip when sidebar is collapsed 2025-03-04 12:19:10 +05:30
RitvikSardana
29120a7b07 chore: code cleanup 2025-03-04 11:47:24 +05:30
RitvikSardana
ad54b19310 chore: code cleanup 2025-03-04 11:25:28 +05:30
RitvikSardana
509935aca5 fix: dont show agent group filter if team restriction is enabled 2025-03-04 11:18:30 +05:30
RitvikSardana
44f9ef934c fix: handle case with filters applied 2025-03-03 18:17:15 +05:30
RitvikSardana
27e7239297 fix: restriction of tickets by team 2025-03-03 17:41:08 +05:30
RitvikSardana
7e0cc9db3a fix: use Link component instead of SearchComplete 2025-03-03 12:59:39 +05:30
RitvikSardana
3368c7d64b Merge pull request #2194 from RitvikSardana/public-unpin
fix: allow pinned view to become public
2025-03-03 03:27:29 +05:30
RitvikSardana
70ce6f910e fix: allow pinned view to become public 2025-03-03 03:18:36 +05:30
RitvikSardana
cb5d1585d7 Merge pull request #2188 from RitvikSardana/duplicate-installation
fix: ignore duplicate while installing HD
2025-02-28 11:34:17 +05:30
RitvikSardana
b5fc65388b fix: ignore duplicate while installing HD 2025-02-28 11:28:02 +05:30
RitvikSardana
dcdd184401 Merge pull request #2187 from RitvikSardana/view-confirmation
fix(ux): confirmation for updating public view
2025-02-28 10:58:36 +05:30
RitvikSardana
83e18d7b02 fix: breadcrumbs of view in single ticket 2025-02-28 10:53:56 +05:30
RitvikSardana
d76f616206 fix: confirmation dialog for updating public view 2025-02-25 14:45:58 +05:30
RitvikSardana
b8982574c7 fix: confirmation msg for making a view private 2025-02-25 14:34:48 +05:30
RitvikSardana
d3e30943bb fix: fetch more views 2025-02-24 19:51:56 +05:30
RitvikSardana
a88aab0af5 fix: update limit of view resource 2025-02-24 08:57:18 +05:30
RitvikSardana
4301cf996b Merge pull request #2183 from RitvikSardana/mobile-ticket
fix: path of mobile ticket component
2025-02-23 23:25:17 +05:30
RitvikSardana
5cf1a7cac5 fix: path of mobile ticket component 2025-02-23 23:23:53 +05:30
RitvikSardana
84ad3df5c4 Merge pull request #2182 from RitvikSardana/listview-click-navigation
fix: use route-link instead of div in LVB
2025-02-21 21:24:13 +05:30
RitvikSardana
11f81e3619 chore: code cleanup 2025-02-21 21:23:35 +05:30
RitvikSardana
d7c944f8f1 fix: use route-link instead of div in LVB 2025-02-21 18:08:12 +05:30
RitvikSardana
034abbca03 Merge pull request #2179 from RitvikSardana/link-field-change
fix: emit link field event and value
2025-02-21 12:10:22 +05:30
RitvikSardana
179328d98d fix: emit link field event and value 2025-02-21 12:04:57 +05:30
RitvikSardana
04b0eb0baf Merge pull request #2178 from RitvikSardana/styles-custom-view
fix(styles): custom views sidebar and breadcrumbs
2025-02-21 00:56:45 +05:30
RitvikSardana
034437b6a1 fix(styles): view bread crumbs 2025-02-21 00:52:04 +05:30
RitvikSardana
ed8223f20e fix: change search complete to link component 2025-02-21 00:49:47 +05:30
RitvikSardana
a04421075c Merge pull request #2162 from RitvikSardana/ticket-listview-refactor
refactor: ticket list view
2025-02-20 19:59:20 +05:30
RitvikSardana
239509b460 fix(styles): mobile sidebar 2025-02-20 17:26:56 +05:30
RitvikSardana
034a7a7170 fix: show views in mobile sidebar 2025-02-20 17:21:03 +05:30
RitvikSardana
30761541dd fix: condition for default view 2025-02-20 16:43:02 +05:30
RitvikSardana
79fd004d9e fix: like operator for assigned to field 2025-02-20 16:19:08 +05:30
RitvikSardana
7fc6df5b42 fix: move frappe mail to last 2025-02-20 16:02:15 +05:30
RitvikSardana
916ce9f185 chore: code cleanup 2025-02-20 14:22:51 +05:30
RitvikSardana
42cd3cd72a fix: delete ticket access to only Agent Manager 2025-02-20 14:21:01 +05:30
RitvikSardana
51058a6fcd fix: dont remve view user if making public view to private 2025-02-20 13:32:12 +05:30
RitvikSardana
a9277273e6 chore: code cleanup 2025-02-20 13:26:08 +05:30
RitvikSardana
bff4590fcd chore: code cleanup 2025-02-20 13:02:32 +05:30
RitvikSardana
827981fe67 fix(styles): kb public and canned response 2025-02-20 11:15:45 +05:30
RitvikSardana
685f1bc182 fix: remove version from context 2025-02-20 11:07:26 +05:30
RitvikSardana
4d939cfce9 fix: duplicate view + confirmation dialog on deleting view 2025-02-20 10:59:31 +05:30
RitvikSardana
8fe086b809 fix: only managers can make changes to public view 2025-02-19 21:21:50 +05:30
RitvikSardana
c07c056347 fix: support for customer portal 2025-02-19 20:07:38 +05:30
RitvikSardana
146b442cc8 fix: add AgentManager role in HD 2025-02-19 17:58:26 +05:30
RitvikSardana
60f3eed59f fix: @me support in filters 2025-02-19 16:16:18 +05:30
RitvikSardana
55319e5146 chore: code cleanup 2025-02-19 15:41:20 +05:30
RitvikSardana
48966a79ba fix: handle default custom view for each page 2025-02-19 15:35:49 +05:30
RitvikSardana
61d5c39f00 fix: add functionality for each custom view 2025-02-18 21:03:42 +05:30
RitvikSardana
de574430ac fix: show nested dropdown in custom view 2025-02-17 17:23:41 +05:30
RitvikSardana
4802aecff8 fix: global current view state 2025-02-17 12:15:23 +05:30
RitvikSardana
d8fb18e771 fix: show pinned and public views on sidebar 2025-02-15 03:10:18 +05:30
RitvikSardana
eec2114d61 fix: support for customer portal 2025-02-15 01:24:04 +05:30
RitvikSardana
65fe2b987d fix: multiple get_list calls for HD View 2025-02-14 21:54:44 +05:30
RitvikSardana
cce67ee39e fix: update existing views 2025-02-14 14:27:05 +05:30
RitvikSardana
44e418e8ed fix: proper working flow of new view creation 2025-02-14 01:44:37 +05:30
RitvikSardana
fdf67edb4f chore: code cleanup 2025-02-13 02:48:16 +05:30
RitvikSardana
99759d128b fix: add standard fields in filters 2025-02-13 02:47:09 +05:30
RitvikSardana
b35dd72017 fix: render emojis in UI 2025-02-13 01:31:31 +05:30
RitvikSardana
5a4055e23b fix: handle dialog primary action 2025-02-13 01:03:55 +05:30
RitvikSardana
4d946bdce2 fix: add icon picker in ViewModal 2025-02-12 23:40:43 +05:30
RitvikSardana
e2c4c4e2ba fix: add create view modal 2025-02-12 22:09:15 +05:30
RitvikSardana
d8129622ce fix: update naming series & more function to filter views 2025-02-12 21:16:46 +05:30
RitvikSardana
a10c34dea8 fix: handle creation of new view 2025-02-12 18:55:31 +05:30
RitvikSardana
4e4a7e5a6c fix: add view settings doctype 2025-02-12 09:53:54 +05:30
RitvikSardana
6ed925064d chore: code cleanup 2025-02-10 11:53:24 +05:30
RitvikSardana
26614d12a1 fix: ticket composable 2025-02-06 17:53:49 +05:30
RitvikSardana
79d7528d24 fix: change file structure of tickets 2025-02-06 17:15:03 +05:30
RitvikSardana
88831f6c44 fix: remove olde ticket list view 2025-02-06 17:08:49 +05:30
RitvikSardana
101401600b fix: show column setting conditionally 2025-02-06 16:56:50 +05:30
RitvikSardana
928d1cbe4e fix: listview should have atleast one column 2025-02-06 15:40:46 +05:30
RitvikSardana
4929cc1911 fix: empty state of ticket list view 2025-02-06 15:02:32 +05:30
RitvikSardana
1c23f29d9e fix: reply to email option 2025-02-06 14:37:59 +05:30
RitvikSardana
a037ab9b2a chore: code cleanup 2025-02-06 13:23:19 +05:30
RitvikSardana
d8f11cdd6d fix: add support for bulk delete and export tickets 2025-02-06 13:21:24 +05:30
RitvikSardana
bf8c5331c4 fix: add support for rating component in filter & use the generic list view on customer side also 2025-02-05 17:49:00 +05:30
RitvikSardana
f828a46405 fix: multiple avatar component props handeling 2025-02-05 12:17:44 +05:30
RitvikSardana
a2e4807b0a feat: add column layout modification in general list view 2025-02-05 12:17:44 +05:30
RitvikSardana
57377b17f3 fix(ui): p tag size 2025-02-05 12:17:44 +05:30
RitvikSardana
b12c69608f fix: handle case if no columnConfig is found 2025-02-05 12:17:44 +05:30
RitvikSardana
f5239a10b2 chore: code cleanup 2025-02-05 12:17:44 +05:30
RitvikSardana
2410991813 chore: code clean up 2025-02-05 12:17:44 +05:30
RitvikSardana
6e0ed1ab59 fix: add support for apply filters on click in common list view 2025-02-05 12:17:44 +05:30
RitvikSardana
1ac35bdc83 chore: code cleanup 2025-02-05 12:17:44 +05:30
RitvikSardana
ff2f193237 fix: badge color 2025-02-05 12:17:44 +05:30
RitvikSardana
987b6f19ab refactor: ticket list view 2025-02-05 12:17:44 +05:30
RitvikSardana
83057cb187 Merge pull request #2160 from RitvikSardana/keyboard-shortcut
fix(ux): add shortcut to submit comment or email
2025-01-30 17:49:36 +05:30
RitvikSardana
35f1da6f6d chore: code cleanup 2025-01-30 17:46:41 +05:30
RitvikSardana
e0a8653c20 fix: add shortcut for customer side also 2025-01-30 17:34:11 +05:30
RitvikSardana
d724b4ca83 fix: remove data from local storage 2025-01-30 17:21:04 +05:30
RitvikSardana
2639ebbe41 fix: add search functionality single team page 2025-01-30 13:29:14 +05:30
RitvikSardana
94cb07404e fix: icon color in text editor 2025-01-30 12:30:33 +05:30
RitvikSardana
238bd90bc3 fix(ux): persist different ticket data in local storage 2025-01-30 12:14:02 +05:30
RitvikSardana
6b2b357e5e fix(ux): shortcut for submiting mail 2025-01-30 12:00:05 +05:30
RitvikSardana
28d960d701 Merge pull request #2159 from RitvikSardana/bump-fui
chore: bump frappe-ui version
2025-01-30 00:48:58 +05:30
RitvikSardana
aad13b0ccf chore: bump frappe-ui version 2025-01-30 00:29:57 +05:30
RitvikSardana
008ab901af Merge pull request #2157 from RitvikSardana/duplicate-install
fix: duplicate entry while installing helpdesk
2025-01-29 20:26:31 +05:30
RitvikSardana
4051665fec chore: code cleanup 2025-01-29 20:19:20 +05:30
RitvikSardana
f9ed8f46c3 fix: duplicate entry while installing helpdesk 2025-01-29 20:13:37 +05:30
RitvikSardana
9ecf7c4fe5 Merge pull request #2151 from RitvikSardana/comment-box-refactor
refactor: comment box
2025-01-28 23:26:22 +05:30
RitvikSardana
030cd8bec6 fix: hide attachments while editing 2025-01-28 23:21:04 +05:30
RitvikSardana
7440b239b7 chore: code cleanup 2025-01-28 21:17:29 +05:30
RitvikSardana
9901118304 Merge pull request #2154 from barredterra/develop
chore: bump actions/cache to v4
2025-01-28 01:49:35 +05:30
barredterra
5ca5f7c46a chore: bump actions/cache to v4 2025-01-27 13:24:18 +01:00
RitvikSardana
49804569c0 chore: code cleanup 2025-01-24 15:32:16 +05:30
RitvikSardana
274806fc17 fix: hide notifcations tab in mobile view of customer portal 2025-01-24 13:23:06 +05:30
RitvikSardana
9fc46744ce fix: notifications seen all ticket not found 2025-01-23 23:49:41 +05:30
RitvikSardana
b847ba2c04 feat: attachments in comments 2025-01-23 23:20:27 +05:30
RitvikSardana
b9ee22223a fix(ui): typography in comment activity 2025-01-23 20:09:19 +05:30
RitvikSardana
80b59cb417 fix(ux): focus on comment if editable true 2025-01-23 18:26:54 +05:30
RitvikSardana
f5a417e93b feat: edit comment 2025-01-23 18:20:36 +05:30
RitvikSardana
e7869352b5 fix: use count to get list of total count of rows in listview 2025-01-23 17:35:11 +05:30
RitvikSardana
514b4b3045 fix(styles): ticket overflow 2025-01-23 17:35:11 +05:30
RitvikSardana
5a9e99fb22 fix(type): add typesafety to ticket agent activities 2025-01-23 17:35:11 +05:30
RitvikSardana
d893917454 Merge pull request #2147 from RitvikSardana/telemetry-fix
fix: telemetry enabled fix
2025-01-22 13:14:53 +05:30
RitvikSardana
3ff4c6dee4 fix: telemetry enabled fix 2025-01-22 13:13:59 +05:30
RitvikSardana
ac8f1b1cb2 Merge pull request #2146 from RitvikSardana/router-naming
fix: rename routing param
2025-01-22 12:29:03 +05:30
RitvikSardana
94a45b526a fix: rename routing param 2025-01-22 12:28:17 +05:30
RitvikSardana
e9a82745cd chore: update readme 2025-01-22 01:13:43 +05:30
RitvikSardana
3f59822eec Merge pull request #2145 from RitvikSardana/mobile-tab-component
fix: update tab component for mobile view
2025-01-22 00:56:25 +05:30
RitvikSardana
1f11342d51 fix: update tab component for mobile view 2025-01-22 00:50:10 +05:30
RitvikSardana
5c6793b6fe Merge pull request #2124 from RitvikSardana/kb-refactor
refactor: knowledge base & articles
2025-01-21 19:59:16 +05:30
RitvikSardana
03909a8473 fix: remove status field form article category doctype 2025-01-21 19:53:29 +05:30
RitvikSardana
f60bb0579c chore: code cleanup 2025-01-21 19:30:04 +05:30
RitvikSardana
7e35f1312a fix(patch): handle case if no articles found with general category 2025-01-21 19:04:53 +05:30
RitvikSardana
0d7e5d4449 fix: chore code cleanup 2025-01-21 17:08:26 +05:30
RitvikSardana
6e35194d9c fix: update command palette 2025-01-21 16:48:29 +05:30
RitvikSardana
9c16ebe5dc fix: remove routing warning 2025-01-21 16:27:00 +05:30
RitvikSardana
da8c021bfa fix: dont update modfied field on changing article's category 2025-01-21 16:12:02 +05:30
RitvikSardana
8becae8e3c fix: dont show error on view exceed limit 2025-01-21 14:55:40 +05:30
RitvikSardana
cfac08f7ce fix: remove rate limit on feedback 2025-01-21 13:53:22 +05:30
RitvikSardana
76a3883301 fix: rate limit for adding feedback 2025-01-21 13:41:45 +05:30
RitvikSardana
5482059c8a fix: copy to clipboard for article and category 2025-01-21 13:33:47 +05:30
RitvikSardana
bb5388541d feat: article views 2025-01-21 13:14:13 +05:30
Rushabh Mehta
d82f2ccafe Merge pull request #2144 from x-delfino/patch-1
Update README.md (there -> their)
2025-01-20 20:16:18 +05:30
RitvikSardana
d054c14716 fix: add telemetry for new KB 2025-01-20 16:20:36 +05:30
RitvikSardana
541003e05e fix: remove dead code 2025-01-20 14:55:20 +05:30
RitvikSardana
8c61b4b02c fix: remove empty style tags 2025-01-20 14:48:09 +05:30
RitvikSardana
c176330285 fix: remove dead code 2025-01-20 14:46:18 +05:30
RitvikSardana
d7f8d8b02b fix(ui): spacing in articles and category 2025-01-20 13:10:01 +05:30
RitvikSardana
7ede88263a feat: agent portal merge categories 2025-01-20 10:37:52 +05:30
RitvikSardana
47c1c98b34 fix: add kb search results in popover 2025-01-20 09:33:31 +05:30
RitvikSardana
8a43b47335 fix: add breadcrumb type in TS 2025-01-20 09:32:10 +05:30
RitvikSardana
cb12572b18 chore: code cleanup 2025-01-17 15:53:02 +05:30
RitvikSardana
a458c9489d fix: remove dead code 2025-01-17 15:49:13 +05:30
RitvikSardana
0d435d55d1 chore: code cleanup 2025-01-17 15:46:44 +05:30
RitvikSardana
731161ad5c fix: handle general category, delete article/category & move to category validations 2025-01-17 15:39:55 +05:30
delfino
422e56eea1 Update README.md (there -> their) 2025-01-17 10:55:24 +01:00
RitvikSardana
897927bfdf perf: cache articles page 2025-01-17 12:23:47 +05:30
RitvikSardana
6bc5240db9 fix: undefined filters issue 2025-01-17 12:02:21 +05:30
RitvikSardana
e3bd0634b0 chore: code cleanup 2025-01-17 11:51:51 +05:30
RitvikSardana
1ea4bc42b0 chore: code cleanup 2025-01-17 02:30:43 +05:30
RitvikSardana
e20267c626 fix: add validation for general article category 2025-01-17 02:26:35 +05:30
RitvikSardana
8ab4c733af fix: remove unnecessary child doctypes 2025-01-17 02:26:12 +05:30
RitvikSardana
de315025f3 fix: update frappe ui 2025-01-17 02:24:44 +05:30
RitvikSardana
331bac16ae fix: patch for adding 'General' article category 2025-01-17 02:23:46 +05:30
RitvikSardana
2c7651e44e fix: change article category doctype from tree to normal 2025-01-16 21:48:00 +05:30
RitvikSardana
3bee69bbdb fix: better way to delete category using hooks instead of API 2025-01-16 21:45:03 +05:30
RitvikSardana
92663b8b13 fix: generic way to group by with external doctype 2025-01-16 21:17:28 +05:30
RitvikSardana
b865ccf51d fix(ui): icon shade 2025-01-16 20:41:37 +05:30
RitvikSardana
f3964cd922 fix: handle not allowed articles on customer portal 2025-01-16 19:20:05 +05:30
RitvikSardana
26598efcf3 refactor: isCustomerPortal variable 2025-01-16 18:31:53 +05:30
RitvikSardana
6197177ce0 chore: capitalisation of Knowledge Base string 2025-01-16 17:53:01 +05:30
RitvikSardana
26ec9b8fb7 fix: add back scroll into section functionality in article 2025-01-16 13:46:56 +05:30
RitvikSardana
412da2af5b fix: remove dead code 2025-01-16 10:15:51 +05:30
RitvikSardana
1db4f303a8 fix: add back telemetry to article view 2025-01-15 18:18:28 +05:30
RitvikSardana
4708741f82 fix(styles): feedback component 2025-01-15 17:53:47 +05:30
RitvikSardana
b43ec15426 fix: add back article feedback 2025-01-15 17:43:41 +05:30
RitvikSardana
d83388d6f7 fix(styles): category & article card view 2025-01-15 17:39:13 +05:30
RitvikSardana
7514c8f433 fix(ui): scroll issue in article header 2025-01-15 12:47:03 +05:30
RitvikSardana
fecde264fc fix(ui): category & article card 2025-01-15 12:32:22 +05:30
RitvikSardana
7956389305 chore: code cleanup 2025-01-15 00:46:15 +05:30
RitvikSardana
cf97d62be3 fix: rename search article component 2025-01-15 00:41:52 +05:30
RitvikSardana
1295582194 fix: utils to copy to clipboard 2025-01-15 00:40:11 +05:30
RitvikSardana
bc9c479a78 fix: add search section in new kb of customer portal 2025-01-14 23:51:29 +05:30
RitvikSardana
c7c597e96c fix: select field quick filter 2025-01-14 23:35:22 +05:30
RitvikSardana
3ebf6736f3 fix(ui): category view & article view 2025-01-14 23:35:22 +05:30
RitvikSardana
d41d59867d fix: article list view page 2025-01-14 23:35:21 +05:30
RitvikSardana
423954354d fix: add customer knowledge base 2025-01-14 23:35:21 +05:30
RitvikSardana
5b7f8030e5 fix: rename article page file name 2025-01-14 23:35:21 +05:30
RitvikSardana
87f4a03160 fix: edit mode in query params 2025-01-14 23:35:21 +05:30
RitvikSardana
1364839214 fix(styles): category selection 2025-01-14 23:35:21 +05:30
RitvikSardana
c8bebc6867 fix: add category selection while creating new article 2025-01-14 23:35:21 +05:30
RitvikSardana
63ce1849e7 fix: add delete articles bulk action 2025-01-14 23:35:21 +05:30
RitvikSardana
1239b9ea12 fix(ux): category dialog field 2025-01-14 23:35:21 +05:30
RitvikSardana
e04fddca5a fix(styles): show indent in rows 2025-01-14 23:35:21 +05:30
RitvikSardana
e2fec37605 fix: move to functionality in single article view 2025-01-14 23:35:21 +05:30
RitvikSardana
83c24e0e2e feat: move to category and create category 2025-01-14 23:35:21 +05:30
RitvikSardana
0fb24ddf1b fix: brand logo shape 2025-01-14 23:35:21 +05:30
RitvikSardana
7e301e24fd fix: add functionality to create new category, delete category, and create new article with and without category context 2025-01-14 23:35:21 +05:30
RitvikSardana
373f90224a fix: give context of group to dropdown action buttons 2025-01-14 23:35:21 +05:30
RitvikSardana
8f757023c3 fix: handle ts config and new file for api and resources 2025-01-14 23:35:21 +05:30
RitvikSardana
9feabd3c31 fix(ui): handle article count 2025-01-14 23:35:21 +05:30
RitvikSardana
af12a38d50 fix: auto adjust text area height based on content 2025-01-14 23:35:21 +05:30
RitvikSardana
b4eca79724 fix: add label value in link field options of group by 2025-01-14 23:35:21 +05:30
RitvikSardana
b62d7835b7 fix(type): Article 2025-01-14 23:35:21 +05:30
RitvikSardana
e35a4a6ac1 fix: add group by functionality in list view builder 2025-01-14 23:35:21 +05:30
RitvikSardana
880f660f23 fix: handle article delete and is dirty logic 2025-01-14 23:35:21 +05:30
RitvikSardana
3394dfcbcd fix: edit mode in single article view 2025-01-14 23:35:21 +05:30
RitvikSardana
7164441459 fix: add action buttons for article edit mode 2025-01-14 23:35:21 +05:30
RitvikSardana
c81cf3d2b3 fix: add edit article functionality 2025-01-14 23:35:21 +05:30
RitvikSardana
1178a85204 chore: code cleanup 2025-01-14 23:35:21 +05:30
RitvikSardana
1c485313e4 fix: add edit article page 2025-01-14 23:35:21 +05:30
RitvikSardana
2ccf5036a4 fix: add breadcrumbs in new article page 2025-01-14 23:35:21 +05:30
RitvikSardana
2aa82363b2 fix: add article resource 2025-01-14 23:35:21 +05:30
RitvikSardana
b773be076b fix: change KB router name 2025-01-14 23:35:21 +05:30
RitvikSardana
b05ca7db8d fix: common variable for text editor options 2025-01-14 23:35:21 +05:30
RitvikSardana
5fa49e7ab9 chore: article category cleanup 2025-01-14 23:35:21 +05:30
RitvikSardana
5591410077 fix: remove all components and pages related to kb 2025-01-14 23:35:21 +05:30
RitvikSardana
4d0e2d026c refactor: knowledge base 2025-01-14 23:35:21 +05:30
RitvikSardana
6ed9a7523a fix: bring back prose-f class 2025-01-14 23:34:47 +05:30
RitvikSardana
816c24f0d0 Merge pull request #2140 from RitvikSardana/cp-preview
fix(styles): canned responses preview
2025-01-14 14:52:46 +05:30
RitvikSardana
0c11526b8c fix(styles): canned responses preview 2025-01-14 14:41:51 +05:30
RitvikSardana
0733be5a5b Merge pull request #2138 from RitvikSardana/tabs-update
fix: update tabs component
2025-01-14 13:14:22 +05:30
RitvikSardana
edf44b84d0 fix: update frappe-ui 2025-01-14 13:13:09 +05:30
RitvikSardana
e7f8c6aed4 fix: update tabs component 2025-01-14 13:10:11 +05:30
RitvikSardana
359f6c3e15 Merge pull request #2122 from RitvikSardana/docker-build
fix: add build file for helpdesk docker image
2025-01-02 12:38:22 +05:30
RitvikSardana
26732b87fc fix: add build file for helpdesk docker image 2025-01-02 12:37:39 +05:30
RitvikSardana
441d2010f4 Merge pull request #2117 from RitvikSardana/listview-reload
fix(api): get_list_data
2024-12-30 13:21:28 +05:30
RitvikSardana
938975f241 fix: better way to set empty rows 2024-12-30 13:10:28 +05:30
RitvikSardana
ec076102e0 fix: remove rows from get_list_data 2024-12-30 13:03:39 +05:30
RitvikSardana
4bf42a1327 fix: better ux on failure of email send 2024-12-30 13:03:39 +05:30
RitvikSardana
91c681feba fix: only agents can access users api 2024-12-30 13:03:39 +05:30
RitvikSardana
a9b13dbb4f fix: reload in list view builder 2024-12-27 01:46:57 +05:30
RitvikSardana
423d1aa96a Merge pull request #2113 from RitvikSardana/get_users_permission
fix: only agents can access users api
2024-12-23 23:13:15 +05:30
RitvikSardana
6a483e7b37 fix: only agents can access users api 2024-12-23 23:04:11 +05:30
RitvikSardana
98c33352f4 Merge pull request #2111 from RitvikSardana/refactor-listview-2
refactor: remove custom list view
2024-12-23 21:08:14 +05:30
RitvikSardana
70785f343b chore: code cleanup 2024-12-23 21:00:40 +05:30
RitvikSardana
41539409fb refactor: remove relevant functions and files of listManager 2024-12-23 19:36:02 +05:30
RitvikSardana
f6d14cd92d chore: remove unnecessary pages and components 2024-12-23 19:34:20 +05:30
RitvikSardana
c078a679a5 fix: remove dependency of listManager 2024-12-23 19:33:32 +05:30
RitvikSardana
8fd4ad4b37 fix: list-view-builder api calls 2024-12-23 19:32:19 +05:30
RitvikSardana
5b8f0b353a refactor: notifications panel 2024-12-23 19:31:13 +05:30
RitvikSardana
39ab6a040a chore: update tsconfig 2024-12-23 14:30:39 +05:30
RitvikSardana
921da06a38 chore: remove unnecessary pages and components 2024-12-23 14:30:39 +05:30
RitvikSardana
8f5e2da181 fix: remove shitty list view 2024-12-23 14:30:39 +05:30
RitvikSardana
26e509e4e5 chore: code cleanup 2024-12-23 14:30:39 +05:30
RitvikSardana
73622e3f0e fix: tsconfig 2024-12-23 14:30:30 +05:30
RitvikSardana
d4b3e0fec4 fix: remove escalation rule page 2024-12-23 13:41:23 +05:30
RitvikSardana
7922e15c72 refactor: escalation rules page 2024-12-23 13:40:36 +05:30
RitvikSardana
52ac8db808 refactor: remove custom list view from knowledge base 2024-12-23 13:19:06 +05:30
RitvikSardana
0db7083de8 chore: version bump 2024-12-19 22:09:13 +05:30
RitvikSardana
94f65de505 Merge pull request #2107 from RitvikSardana/navigation
fix: handle routes properly
2024-12-19 22:08:42 +05:30
RitvikSardana
f46a73300e fix(styles): article heading 2024-12-19 22:06:17 +05:30
RitvikSardana
747adf2887 fix: handle routes properly 2024-12-19 14:22:38 +05:30
RitvikSardana
c42c031a23 Merge pull request #2105 from RitvikSardana/tailwind-config
chore: update tailwind config
2024-12-19 10:57:21 +05:30
RitvikSardana
a9cef63a4c fix: rename Ticket List View component 2024-12-19 10:44:02 +05:30
RitvikSardana
ecd0eb3f28 fix: update tailwind config 2024-12-19 10:43:40 +05:30
RitvikSardana
edb6444dff Merge pull request #2104 from RitvikSardana/list-actions
fix: allow export functionality for customer portal also
2024-12-18 23:46:03 +05:30
RitvikSardana
38e7cc0acc fix: allow export functionality for customer portal also 2024-12-18 23:19:51 +05:30
RitvikSardana
e43eb19ad2 chore: update readme 2024-12-18 17:24:13 +05:30
RitvikSardana
94d8ada147 Merge pull request #2103 from RitvikSardana/readme-images3
fix(readme): update summary images format
2024-12-18 17:20:21 +05:30
RitvikSardana
1cac4d41f7 fix: search image 2024-12-18 17:19:45 +05:30
RitvikSardana
c664b1237d Merge pull request #2102 from RitvikSardana/readme-images2
fix(readme): update hero image
2024-12-18 16:48:53 +05:30
RitvikSardana
13a6628962 fix(readme): update hero image 2024-12-18 16:48:23 +05:30
RitvikSardana
23fbc824d5 Merge pull request #2101 from RitvikSardana/readme-images
chore: readme images
2024-12-18 16:46:09 +05:30
RitvikSardana
9a8eb8efa7 chore: update readme images 2024-12-18 16:45:25 +05:30
RitvikSardana
32c1891d81 fix(readme): local dev 2024-12-18 16:34:31 +05:30
RitvikSardana
72f4cd8fb0 fix(readme): naming 2024-12-18 16:34:06 +05:30
RitvikSardana
64f587034b Merge pull request #2100 from RitvikSardana/multiple-ticket-api-calls
fix: add blur handler for text fields
2024-12-18 16:27:14 +05:30
RitvikSardana
3cc7765b35 fix: add blur handler for text fields 2024-12-18 14:12:15 +05:30
RitvikSardana
b83dcb3b77 Merge pull request #2092 from RitvikSardana/attachments
fix: attachments
2024-12-18 13:28:57 +05:30
RitvikSardana
84af03fe84 chore: rename function 2024-12-18 13:01:17 +05:30
RitvikSardana
7d5c84509a chore: code cleanup 2024-12-18 12:53:32 +05:30
RitvikSardana
84d92986d3 fix: attach files to ticket from customer portal aswell 2024-12-18 12:52:05 +05:30
RitvikSardana
f22edac533 chore: update readme 2024-12-18 01:53:36 +05:30
RitvikSardana
9cf379a6df chore: update readme 2024-12-18 01:49:53 +05:30
RitvikSardana
36db4b6f3a chore: add readme screenshots 2024-12-18 01:39:42 +05:30
RitvikSardana
45c9fda0e4 fix: fallback if attachment var is none 2024-12-17 23:32:14 +05:30
RitvikSardana
a7a311b191 chore: update readme 2024-12-17 23:26:08 +05:30
RitvikSardana
d90cbe94ea chore: update readme 2024-12-17 23:22:24 +05:30
RitvikSardana
4dede745c7 chore: update readme 2024-12-17 23:19:43 +05:30
RitvikSardana
b19e12158f fix: attach ticket to the file created via communication 2024-12-17 16:56:38 +05:30
RitvikSardana
622e90655b chore: code cleanup 2024-12-17 16:55:41 +05:30
RitvikSardana
b0b5e3cbda chore: code cleanup 2024-12-17 13:25:31 +05:30
RitvikSardana
7f5825119f fix: handle case for existing tickets attachments 2024-12-17 13:21:23 +05:30
RitvikSardana
a62043722f fix: show attachments on ticket creation 2024-12-17 12:34:54 +05:30
RitvikSardana
8ec1af9069 Merge pull request #2087 from RitvikSardana/customistation-update-field
feat(customisation): update field value from custom actions
2024-12-13 01:32:25 +05:30
RitvikSardana
8799f15a33 chore: update readme 2024-12-12 12:58:05 +05:30
RitvikSardana
0037c691c8 chore: update readme 2024-12-12 12:55:48 +05:30
RitvikSardana
024e8bce75 chore: update readme 2024-12-12 12:54:48 +05:30
RitvikSardana
34056fc8a9 Add files via upload 2024-12-12 12:53:44 +05:30
RitvikSardana
0847a949e7 chore: code cleanup 2024-12-12 00:41:54 +05:30
RitvikSardana
2e6d6f1861 chore: code cleanup 2024-12-12 00:39:53 +05:30
RitvikSardana
37955620a4 feat(customisation): update field value from custom actions 2024-12-12 00:35:47 +05:30
RitvikSardana
3e24314858 Merge pull request #2081 from RitvikSardana/remove-onboarding
fix: remove onboarding
2024-12-11 19:20:24 +05:30
RitvikSardana
ea2f646036 fix(styles): new agents dialog gap 2024-12-11 19:08:53 +05:30
RitvikSardana
200b6cd6a3 fix: remove current onboarding 2024-12-11 19:08:35 +05:30
RitvikSardana
a1336d2e13 Merge pull request #2080 from RitvikSardana/minor-fixes
fix: minor navigation and styling fixes
2024-12-11 18:44:52 +05:30
RitvikSardana
81b6580256 fix(navigation): article creation 2024-12-11 18:17:58 +05:30
RitvikSardana
c8f7c638e6 fix(styles): truncate class for some text elements 2024-12-11 18:17:29 +05:30
RitvikSardana
32ea138180 chore: code cleanup 2024-12-11 18:16:37 +05:30
RitvikSardana
fea96c1b77 fix(ui): add empty state component 2024-12-11 18:16:20 +05:30
RitvikSardana
3901458b59 fix: improve welcome ticket 2024-12-11 18:15:20 +05:30
RitvikSardana
a8f1612822 chore: update readme 2024-12-11 16:19:40 +05:30
RitvikSardana
6a5bbc8adb chore: update readme 2024-12-11 12:35:54 +05:30
RitvikSardana
9cd783f35a Merge pull request #2078 from RitvikSardana/telemetry-localhost
fix: telemetry
2024-12-11 11:16:51 +05:30
RitvikSardana
5eda51dce5 fix: init telemetry in main.js 2024-12-11 11:15:20 +05:30
RitvikSardana
e71a3d4662 fix: telemetry should not stored in local storage 2024-12-10 19:42:38 +05:30
RitvikSardana
c73e04d697 chore: update readme 2024-12-10 18:45:35 +05:30
RitvikSardana
2b9315ea3f chore: update readme 2024-12-10 18:40:57 +05:30
RitvikSardana
f56fc21bb9 chore: update readme 2024-12-10 18:37:42 +05:30
RitvikSardana
4a9e586e58 chore: update readme 2024-12-10 18:37:05 +05:30
RitvikSardana
48b7d52c5a Merge pull request #2077 from RitvikSardana/docker-setup
feat: docker setup
2024-12-10 18:19:15 +05:30
RitvikSardana
8b9062e462 feat: docker setup 2024-12-10 17:53:32 +05:30
RitvikSardana
cbf6573160 Merge pull request #2076 from RitvikSardana/settings-update
fix: hd settings better ui
2024-12-10 17:28:54 +05:30
RitvikSardana
393bc25640 chore: hd settings cleanup 2024-12-10 14:46:24 +05:30
RitvikSardana
76adbbbd05 fix: hd settings better ui 2024-12-10 14:40:52 +05:30
RitvikSardana
e7e4009f77 Merge pull request #2063 from RitvikSardana/refactor-listview
refactor: list-view
2024-12-10 13:37:21 +05:30
RitvikSardana
23fddc3f39 fix(logo): update customers logo in sidebar 2024-12-10 13:35:30 +05:30
RitvikSardana
102daccd39 fix(styles): mobile view for list view builder 2024-12-10 13:35:09 +05:30
RitvikSardana
fc95ce7467 chore: code cleanup 2024-12-10 12:12:31 +05:30
RitvikSardana
7ff85a99c5 chore: code cleanup 2024-12-09 17:53:36 +05:30
RitvikSardana
45102c2e8f fix(ci): sempgrep ignore 2024-12-09 17:19:10 +05:30
RitvikSardana
8af9c215b1 fix: ignore sempgrep 2024-12-09 16:59:40 +05:30
RitvikSardana
bf8a6795c3 fix: list view column width 2024-12-09 16:21:30 +05:30
RitvikSardana
9675dcb7b7 chore: code cleanup 2024-12-09 15:57:52 +05:30
RitvikSardana
b69dbae446 chore: version bump 2024-12-09 15:57:52 +05:30
RitvikSardana
8dda0a5139 fix: add default fields for contact doctype 2024-12-09 15:51:23 +05:30
RitvikSardana
fd898a77ed refactor: customer and contact list view 2024-12-09 14:27:26 +05:30
RitvikSardana
0011851def chore: rename customerlist to customers 2024-12-08 00:20:44 +05:30
RitvikSardana
cd94367b7d refactor: customer list-view 2024-12-08 00:17:57 +05:30
RitvikSardana
06d985ae03 fix: handle Row clicks 2024-12-07 20:57:46 +05:30
RitvikSardana
54ae7eb268 fix: page meta for tickets and canned responses page 2024-12-07 14:08:46 +05:30
RitvikSardana
e2e0b754af refactor: teams page with list view builder 2024-12-07 14:06:58 +05:30
RitvikSardana
faa459e4e6 chore: code cleanup 2024-12-06 23:04:19 +05:30
RitvikSardana
24ff6bbc8e fix: custom list view 2024-12-06 17:40:55 +05:30
RitvikSardana
df71a0b184 chore: update frappe-ui 2024-12-06 17:05:36 +05:30
RitvikSardana
5fe880ccf2 fix: add support for prefix and datetime formatting 2024-12-06 16:59:48 +05:30
RitvikSardana
e2a9e7266a fix: add support for adding prefix in rows and fetch from fields 2024-12-06 00:14:19 +05:30
RitvikSardana
d45085b76c fix: change default columns in hd agent 2024-12-06 00:13:46 +05:30
RitvikSardana
baca34298e chore: code cleanup 2024-12-05 14:23:39 +05:30
RitvikSardana
fc7a85c741 fix: use list view builder in agents page 2024-12-05 14:16:34 +05:30
RitvikSardana
a85bea83eb fix: filter component should have default filters prop 2024-12-05 14:16:11 +05:30
RitvikSardana
aeacef8abc feat: list view builder 2024-12-05 14:15:24 +05:30
RitvikSardana
795b33b8b2 Merge pull request #2072 from frappe/RitvikSardana-patch-1
chore: version bump
2024-12-04 23:12:08 +05:30
RitvikSardana
a1cd72d364 chore: version bump 2024-12-04 23:11:19 +05:30
RitvikSardana
ec1507bd2f chore: code cleanup 2024-12-04 15:02:51 +05:30
RitvikSardana
72964bc21f fix: filter not showing options 2024-12-04 12:01:07 +05:30
RitvikSardana
c3d95c77b6 fix: handle pagination 2024-12-03 23:24:26 +05:30
RitvikSardana
1f8bab8c9b fix(styles): view controls styling 2024-12-03 22:09:16 +05:30
RitvikSardana
b4751b9705 fix: filter and sort in sync 2024-12-03 17:11:38 +05:30
RitvikSardana
f82fdaa03c fix: agents could change customers in the ticket 2024-12-03 14:59:22 +05:30
RitvikSardana
f8016df255 chore: code cleanup 2024-12-03 14:42:25 +05:30
RitvikSardana
0a0df16088 fix: handle link fields in filters 2024-12-03 14:33:29 +05:30
RitvikSardana
ec0f12b02d fix: add quick filter in view controls for list view 2024-12-03 12:40:20 +05:30
RitvikSardana
f9a6bcaa46 fix: add sortby view control in listview 2024-12-03 01:07:04 +05:30
RitvikSardana
dec3deaf50 fix: implement filters in agents list view 2024-12-02 16:35:23 +05:30
RitvikSardana
45129f5a51 Merge branch 'develop' of https://github.com/frappe/helpdesk into refactor-listview 2024-12-02 10:46:29 +05:30
RitvikSardana
e3b2feba38 Merge pull request #2068 from RitvikSardana/duplicate-communication
fix: stop duplicate communication in HD Ticket
2024-11-29 13:17:01 +05:30
RitvikSardana
b64aba6675 fix: stop duplicate communication in HD Ticket 2024-11-29 12:19:30 +05:30
RitvikSardana
4268bedd3e Merge branch 'develop' of https://github.com/frappe/helpdesk into refactor-listview 2024-11-28 22:12:16 +05:30
RitvikSardana
418489936b Merge pull request #2067 from RitvikSardana/ui-improvement
fix(styling): three scrollbars in single ticket view
2024-11-28 19:07:40 +05:30
RitvikSardana
b6b2fe52a2 fix(styling): breadcrumb button 2024-11-28 19:06:22 +05:30
RitvikSardana
ae628b5555 fix: handle rename of subject via breadcrumb 2024-11-28 18:32:46 +05:30
RitvikSardana
624c061f7a fix: handle more types of custom fields in the UI 2024-11-28 18:32:14 +05:30
RitvikSardana
acf1a064aa fix(styling): three scrollbars in single ticket view 2024-11-28 17:28:29 +05:30
RitvikSardana
24e1478ef3 fix: ticket scroll 2024-11-28 12:36:03 +05:30
RitvikSardana
c44dd5ae1e Merge pull request #2066 from RitvikSardana/description-comm
fix: description communication creation
2024-11-28 12:01:00 +05:30
RitvikSardana
f3097b7091 fix: sockets in ticket view and list view 2024-11-28 11:51:52 +05:30
RitvikSardana
cd7c85e9a9 fix: create communication if description is available 2024-11-28 11:50:26 +05:30
RitvikSardana
bea0a817ba Merge branch 'develop' of https://github.com/frappe/helpdesk into refactor-listview 2024-11-26 16:53:55 +05:30
RitvikSardana
420d46277f Merge pull request #2062 from RitvikSardana/article-feedback
feat: user feedback on article
2024-11-26 16:53:36 +05:30
RitvikSardana
7c2b96be19 chore: code cleanup 2024-11-26 15:22:17 +05:30
RitvikSardana
982b48f145 refactor: init agent-list-view 2024-11-26 13:56:43 +05:30
RitvikSardana
ba48d07d2d fix: version bump 2024-11-26 10:41:08 +05:30
RitvikSardana
07a95072a6 fix(styles): add hover state on articles 2024-11-26 09:43:09 +05:30
RitvikSardana
ffd5bb2458 fix: show article status on agent side 2024-11-26 09:19:44 +05:30
RitvikSardana
b693e94e3b fix: add permission for anyone to create feedback 2024-11-25 23:03:07 +05:30
RitvikSardana
6c27b9e70e fix: use espresso icons for feedback 2024-11-25 23:02:52 +05:30
RitvikSardana
724701e650 chore: add description for feedback field in article feedback 2024-11-25 21:09:53 +05:30
RitvikSardana
8e4a6f47e3 fix(styles): knowledge base article 2024-11-25 21:09:21 +05:30
RitvikSardana
e83bcb9cff chore: code cleanup 2024-11-25 16:59:01 +05:30
RitvikSardana
1db79d3560 fix: change feedback to value of 0/1/2 2024-11-25 16:56:45 +05:30
RitvikSardana
5d96b71283 fix: change feedback doctype from child to stand alone 2024-11-25 13:18:09 +05:30
RitvikSardana
6c70954493 Merge branch 'develop' of https://github.com/frappe/helpdesk into article-feedback 2024-11-25 12:11:11 +05:30
RitvikSardana
5a75099232 fix: show article's heading 2024-11-25 11:38:28 +05:30
RitvikSardana
ef8da5f8e4 chore: rename feedbacks variable to feedback 2024-11-25 11:38:05 +05:30
RitvikSardana
4786399cc8 feat: user feedback on article 2024-11-25 09:24:39 +05:30
RitvikSardana
e2d4ee925a Merge pull request #2060 from RitvikSardana/new-settings-default
fix: by default new settings should be enabled
2024-11-22 19:50:31 +05:30
RitvikSardana
ac6584f3ac fix: by default new settings should be enabled 2024-11-22 19:49:46 +05:30
RitvikSardana
b49c0c3a92 Merge pull request #2058 from RitvikSardana/close-customer-ticket
feat: setting to make feedback mandatory
2024-11-22 19:23:04 +05:30
RitvikSardana
76fea07b1f chore: code cleanup 2024-11-22 18:46:35 +05:30
RitvikSardana
64e63aa41b feat: setting to make feedback mandatory 2024-11-22 18:45:29 +05:30
RitvikSardana
68ccd8fa32 Merge pull request #2056 from RitvikSardana/auto-update-status-on-reply
feat: setting to auto update status on reply
2024-11-22 17:13:17 +05:30
RitvikSardana
4d8828f324 feat: setting to auto update status on reply 2024-11-22 16:57:14 +05:30
RitvikSardana
0e10c60983 Merge pull request #2049 from RitvikSardana/null-communication
fix: dont create null communication
2024-11-22 16:42:29 +05:30
RitvikSardana
a3df2108fc fix: dont create null communication 2024-11-22 16:23:21 +05:30
RitvikSardana
de03eae234 Merge pull request #2047 from byteshores/maintain_fields_order
fix: Maintain order of custom fields.
2024-11-21 11:29:41 +05:30
RitvikSardana
fc4b8a0e8c Merge pull request #2043 from RitvikSardana/frappe-mail-field-frontend
fix: show frappe_mail_site field while creating Frappe Mail Account
2024-11-21 09:27:43 +05:30
Sampada
654d629ec6 fix: Maintain order of custom fields.
This fix maintains the order in which custom fields were added to the tickets and shows up in the side panel.
2024-11-20 06:06:29 +00:00
RitvikSardana
3e1c5fe37a fix: show frappe_mail_site field while creating Frappe Mail Account 2024-11-14 01:11:24 +05:30
RitvikSardana
35a9f01a2c Merge pull request #2037 from RitvikSardana/refactor-agent-team
refactor: hd team and hd agent
2024-11-14 00:38:21 +05:30
RitvikSardana
4647ac609b fix: semgrep ignore 2024-11-14 00:33:31 +05:30
RitvikSardana
fffedda3ad fix: remove assignment rule on deletion of team 2024-11-14 00:29:19 +05:30
RitvikSardana
b669151a0a refactor: patch 2024-11-13 15:50:27 +05:30
RitvikSardana
4c5171dcd4 refactor: remove agents if not in team 2024-11-13 14:03:16 +05:30
RitvikSardana
1f7e76fb40 fix: hd_agent doctype should not have track changes enabled 2024-11-11 17:32:38 +05:30
RitvikSardana
cb252668b3 refactor: remove unnecessary code from hd agent 2024-11-11 17:32:00 +05:30
RitvikSardana
d9d992ef13 fix: add new patch path in patch file 2024-11-11 17:31:07 +05:30
RitvikSardana
6de7fdbe69 fix(patch): consider only active agents 2024-11-11 16:58:56 +05:30
RitvikSardana
3de5672d0d fix: remove groups field from agent doctype 2024-11-11 16:49:07 +05:30
RitvikSardana
ef3d3e87b6 fix(patch): add patch for updating HD Team 2024-11-11 16:48:14 +05:30
RitvikSardana
8be9bcb95c refactor: hd team and assignment rules flow 2024-11-07 20:41:03 +05:30
RitvikSardana
d810e34dac Merge pull request #2033 from RitvikSardana/ui-changes
fix(ui): minor UI changes
2024-11-07 13:03:15 +05:30
RitvikSardana
3ae3cd344e chore: code cleanup 2024-11-05 12:27:23 +05:30
RitvikSardana
3e7bbd82f3 fix(ui): minor UI changes 2024-11-05 12:24:44 +05:30
RitvikSardana
f633ff4d50 Merge pull request #2032 from RitvikSardana/video-controls-existing-ticket
fix: show video controls in agent side
2024-11-04 16:33:41 +05:30
RitvikSardana
613b16498a fix: show video controls in agent side 2024-11-04 13:15:30 +05:30
RitvikSardana
f86c6d9c5b Merge pull request #2030 from frappe/video-element-controls
fix: add video controls in video HTML elements
2024-11-03 19:26:13 +05:30
RitvikSardana
aefdf05a4c fix: add important for dropdown classes 2024-10-31 03:27:36 +05:30
RitvikSardana
e6745c4887 fix: allow controls on video html elements in tip tap 2024-10-29 18:09:26 +05:30
RitvikSardana
afda3ff3a4 Merge pull request #2024 from RitvikSardana/customer-portal-filters
fix: customer portal filters
2024-10-29 14:41:05 +05:30
RitvikSardana
a855a43ed6 fix(styles): email area 2024-10-25 12:18:46 +05:30
RitvikSardana
41b9f2de1a fix(styes): email and comment activity 2024-10-25 12:12:39 +05:30
RitvikSardana
2f9a0c20c2 fix: _assign issue 2024-10-24 18:57:56 +05:30
RitvikSardana
00c03213c8 fix(styles): customer portal 2024-10-24 16:44:32 +05:30
RitvikSardana
097bdf62ce fix(styles): article page 2024-10-24 14:35:27 +05:30
RitvikSardana
4e36f3a3a0 Merge branch 'develop' of https://github.com/frappe/helpdesk into customer-portal-filters 2024-10-24 14:24:22 +05:30
RitvikSardana
f8512cb4a0 fix: custom fields in filters in customer portal 2024-10-24 14:17:40 +05:30
RitvikSardana
c0d16ad784 Merge pull request #2019 from RitvikSardana/non-portal-ticket-creation
feat: settings to allow to create tickets without permission
2024-10-22 13:13:11 +05:30
RitvikSardana
08276d3319 fix: pre commit file 2024-10-22 12:59:35 +05:30
RitvikSardana
c80c33717b fix: add setting to allow anyone to create tickets 2024-10-22 02:30:26 +05:30
RitvikSardana
9e338fe2aa fix: no permission should be needed for setting up SLA 2024-10-22 00:40:44 +05:30
RitvikSardana
d9b1af040b fix(query): show customer data altogether 2024-10-21 15:41:29 +05:30
RitvikSardana
6ee223a918 fix(styles): ticket creation 2024-10-21 13:31:21 +05:30
RitvikSardana
2622cfbd1e fix: create comm when ticket is created from outside customer portal 2024-10-21 13:31:03 +05:30
RitvikSardana
81adc58edb chore: version bump 2024-10-15 21:04:38 +05:30
RitvikSardana
4dac6b5635 Merge pull request #2014 from RitvikSardana/kb-new-styles
fix(styles): new customer portal knowledge base
2024-10-15 19:26:23 +05:30
RitvikSardana
bcee9485e2 fix(styles): alignment in new ticket page 2024-10-15 15:06:59 +05:30
RitvikSardana
0095713598 fix(styles): new customer portal knowledge base 2024-10-15 09:54:46 +05:30
RitvikSardana
ed74fd3cbb Merge pull request #2012 from frappe/enough-search-results
fix(HelpdeskSearch): Always try to return 5 results
2024-10-14 15:55:22 +05:30
RitvikSardana
b531bf96bf Merge pull request #2013 from RitvikSardana/customer-portal-fields
fix: update the fields shown in new customer portal
2024-10-14 15:18:14 +05:30
RitvikSardana
df7d76a310 chore(linters): format doc.py file 2024-10-14 15:04:39 +05:30
RitvikSardana
88460d1ffe fix: show custom fields from ticket template 2024-10-14 15:02:20 +05:30
RitvikSardana
650608a7a0 fix: update the fields shown in new customer portal 2024-10-14 14:16:58 +05:30
Balamurali M
4c74e83c02 fix(HelpdeskSearch): Remove duplicates from results
- Return results even if no nouns
2024-10-14 12:41:51 +05:30
Balamurali M
12276464c2 fix(HelpdeskSearch): Consider empty res from hd_search
- Reduce indentations with guard conds
- More typing
2024-10-14 12:03:29 +05:30
Balamurali M
b81892e594 fix(HelpdeskSearch): Always try to return 5 search results 2024-10-14 11:42:28 +05:30
RitvikSardana
7bf22ef442 Merge pull request #2011 from RitvikSardana/tick-closing-perf
perf: update ticket elapsed time method to use minutes instead of seconds
2024-10-10 13:39:36 +05:30
RitvikSardana
c1c8ce5973 perf: update ticket elapsed time method to use minutes instead of seconds 2024-10-08 13:26:28 +05:30
RitvikSardana
6cdea661d8 Merge pull request #2009 from RitvikSardana/styling-article-email
fix(styling): styling in article and email
2024-10-03 22:51:13 +05:30
RitvikSardana
73b7936101 fix(styling): styling in article and email 2024-10-03 22:50:17 +05:30
RitvikSardana
6e6171d007 Merge pull request #2008 from RitvikSardana/canned-response-list-fix
fix: Canned response list view
2024-10-03 03:05:44 +05:30
RitvikSardana
12a435c076 fix(style): article search 2024-10-03 02:28:46 +05:30
RitvikSardana
d2e161497c fix: show custom fields to agent 2024-10-03 01:16:15 +05:30
RitvikSardana
6c415e3270 fix: show canned responses from list view resource 2024-10-03 01:15:58 +05:30
RitvikSardana
f4a69eac87 Merge pull request #2007 from RitvikSardana/customer-portal-style
fix(styling): search related articles
2024-10-02 18:58:07 +05:30
RitvikSardana
d7df0842df fix(styling): search related articles 2024-10-02 18:53:09 +05:30
RitvikSardana
7d81285c24 Merge pull request #2003 from RitvikSardana/new-customer-portal
feat: New Customer Portal
2024-10-02 17:28:30 +05:30
RitvikSardana
72dbdea3a2 fix: update routing of new knowledge base 2024-10-02 17:23:44 +05:30
RitvikSardana
30f7e3406e fix(search): article search in new ticket 2024-10-02 14:17:42 +05:30
RitvikSardana
db35aa41e8 fix(search): articles customer portal 2024-10-02 13:51:36 +05:30
RitvikSardana
b0da8a2e39 fix(image): new default image for article 2024-10-02 13:04:54 +05:30
RitvikSardana
219d8f2847 fix: article page for customer portal 2024-10-02 12:57:04 +05:30
RitvikSardana
b6dff21d00 fix: add routing for article page in customer portal 2024-10-02 12:52:13 +05:30
RitvikSardana
8b3a1c494b fix(styling): improve styles for scroll and ellipsis 2024-10-02 10:54:03 +05:30
RitvikSardana
215bcad9a5 fix(routing): handle routing in kb public 2024-10-02 02:22:43 +05:30
RitvikSardana
58bb5223da fix(article): article list view and search 2024-10-02 01:34:06 +05:30
RitvikSardana
a335747509 chore: code cleanup 2024-10-01 20:17:38 +05:30
RitvikSardana
2f10bf7d10 chore: code cleanup 2024-10-01 20:15:57 +05:30
RitvikSardana
c4e638a664 fix(kb-api): bring children in the api for tree view 2024-10-01 20:15:45 +05:30
RitvikSardana
f88fa11c2a fix(ticket-cPortal): styling of email area 2024-10-01 20:14:08 +05:30
RitvikSardana
5f81500aba fix(kb-cPortal): sidebar and category rendering 2024-10-01 20:13:45 +05:30
RitvikSardana
1b586ac5b1 fix(filter): null error 2024-10-01 20:12:58 +05:30
RitvikSardana
1d50d862dc fix: send article data in tree format to frontend 2024-10-01 13:27:36 +05:30
RitvikSardana
c847199f91 feat: New Knowledge Base for Customer Portal 2024-10-01 04:08:54 +05:30
RitvikSardana
3c5b83c4ad fix(routing): dynamic routing for customer portal 2024-09-30 23:02:06 +05:30
RitvikSardana
14c1c37b75 fix(styling): customer portal 2024-09-30 23:01:35 +05:30
RitvikSardana
66b9aeb075 chore: code cleanup 2024-09-30 19:51:57 +05:30
RitvikSardana
06f504538d fix(timeline): single ticket view 2024-09-30 19:50:19 +05:30
RitvikSardana
5564116924 fix(customerPortal): email editor open from sidebar 2024-09-30 17:25:40 +05:30
RitvikSardana
3bad0f3fde fix(customer_ticket): add sidebar in single ticket view of customer portal 2024-09-30 16:53:18 +05:30
RitvikSardana
005d95f47a fix: handle case for duplicate fields 2024-09-30 16:51:13 +05:30
RitvikSardana
8db8f34f72 fix(style): ticket agent sidebar 2024-09-30 16:50:29 +05:30
RitvikSardana
8ce04c8fd9 fix(type): update ticket type 2024-09-30 16:49:39 +05:30
RitvikSardana
d8f602a9b0 fix: add column button only for agent portal 2024-09-30 16:49:18 +05:30
RitvikSardana
28ec12b22b chore: change file names 2024-09-30 02:17:04 +05:30
RitvikSardana
29716e5a79 fix: preset filters for customer portal 2024-09-30 01:23:06 +05:30
RitvikSardana
3335bb2954 fix: show columns according to the customer and agent view 2024-09-29 22:41:31 +05:30
RitvikSardana
ae6a26bd0a fix: add customer portal options in API 2024-09-29 19:01:51 +05:30
RitvikSardana
54266a79cc feat(listview): add new customer portal ticket list view 2024-09-29 19:01:15 +05:30
RitvikSardana
9fa4298c4c fix: customer portal sidebar options in mobile view 2024-09-28 04:29:58 +05:30
RitvikSardana
6d9aa07fe6 fix: show sidebar options according to the route 2024-09-28 03:52:42 +05:30
RitvikSardana
7ada896b71 feat: new customer portal 2024-09-28 03:52:23 +05:30
RitvikSardana
abbbaf2b1e Merge pull request #2001 from RitvikSardana/hd-pwa-ios-logo
fix(PWA): update logos to be compatible with IOS & android
2024-09-26 12:04:33 +05:30
RitvikSardana
5e56fd044e fix: update logos to be compatable with IOS & android 2024-09-26 12:03:22 +05:30
RitvikSardana
54e410e032 Merge pull request #1998 from RitvikSardana/hd-pwa-duplicate
fix(PWA): remove duplicate url
2024-09-25 19:04:01 +05:30
RitvikSardana
75639aea54 fix(PWA): remove duplicate url 2024-09-25 19:03:16 +05:30
RitvikSardana
2542616655 Merge pull request #1996 from RitvikSardana/hd-pwa-update-assets
fix(PWA): change PWA assets padding
2024-09-25 16:35:07 +05:30
RitvikSardana
734ae2c29a fix(vite_config): configure PWA settings 2024-09-25 16:33:07 +05:30
RitvikSardana
8b8c90a1e6 fix(styles): feedback component 2024-09-25 14:21:53 +05:30
RitvikSardana
80476cf8cf fix(PWA): change PWA assets padding 2024-09-25 13:01:43 +05:30
RitvikSardana
7524a937c9 Merge pull request #1994 from RitvikSardana/hd-pwa-url-fix
fix: add start url for PWA
2024-09-25 03:34:55 +05:30
RitvikSardana
dedab477d6 fix: add start url for PWA 2024-09-25 03:30:40 +05:30
RitvikSardana
0439a4642c Merge pull request #1993 from RitvikSardana/hd-pwa
feat: PWA
2024-09-25 03:11:09 +05:30
RitvikSardana
ac98f20c92 fix: add PWA description in vite config 2024-09-25 03:08:35 +05:30
RitvikSardana
ca76949f3d feat: PWA 2024-09-25 02:50:56 +05:30
RitvikSardana
52aeffed10 Merge pull request #1992 from RitvikSardana/ticket-tabs
feat: Ticket Tabs
2024-09-25 01:08:18 +05:30
RitvikSardana
e4adf1a47d fix: styling of desktop 2024-09-25 00:59:29 +05:30
RitvikSardana
655b71c4ec fix(styles): email editor 2024-09-25 00:41:54 +05:30
RitvikSardana
f2b330df11 fix(styles): remove border in mobile view 2024-09-24 23:50:22 +05:30
RitvikSardana
d2eb6f10c3 fix(styles): activity header mobile view 2024-09-24 23:48:34 +05:30
RitvikSardana
8d87ee0904 fix: add tabs in mobile view 2024-09-24 23:35:28 +05:30
RitvikSardana
09a78bcf53 fix: add fallback component if no activity 2024-09-24 19:47:39 +05:30
RitvikSardana
af717548fb fix: add action buttons for each tab 2024-09-24 17:05:17 +05:30
RitvikSardana
f12d3cf7ba fix: improve communication area in single ticket view 2024-09-24 13:16:11 +05:30
RitvikSardana
a8d4cc25cd feat: tabs in single ticket view 2024-09-20 14:25:00 +05:30
RitvikSardana
a149e7e691 Merge pull request #1988 from RitvikSardana/assignment-modal
fix: add custom filters on query in search complete component
2024-09-18 14:51:32 +05:30
RitvikSardana
ebbbea01dc fix: add custom filters on query in search complete component 2024-09-18 14:36:56 +05:30
Balamurali M
6c31c16e98 Merge pull request #1986 from frappe/default-weights-ui
fix(HDSettings): Add default values for weights for ux
2024-09-18 00:48:37 +05:30
Balamurali M
4ba3182c39 fix(HDSettings): Add default values for weights for ux 2024-09-18 00:47:35 +05:30
Balamurali M
844925cd52 Merge pull request #1985 from frappe/search-improve-4
fix(HelpdeskSearch): Correct querying
2024-09-17 14:36:01 +05:30
Balamurali M
2fef76bc7b fix(HelpdeskSearch): Reduce cache ttl for synonyms 2024-09-17 14:34:08 +05:30
Balamurali M
7b75b4edfc fix(HelpdeskSearch): Correct querying 2024-09-17 14:30:25 +05:30
Balamurali M
bef44fcc66 Merge pull request #1984 from frappe/search-improve-3
fix(HelpdeskSearch): Use synonyms correctly and add fuzzy back
2024-09-17 14:07:24 +05:30
Balamurali M
f6a8d1c5b6 fix(HelpdeskSearch): Query for synonym correctly
Need to be plain search for synonym detection to work

- Use fuzzy for large words
- Use substr for small words
2024-09-17 14:01:52 +05:30
Balamurali M
e7de95db06 fix(HelpdeskSearch): Add synonym in redis correctly 2024-09-17 14:01:33 +05:30
Balamurali M
2ac7c615e1 Merge pull request #1983 from frappe/search-improve-2
fix(HelpdeskSearch): Minor improvements
2024-09-17 12:23:13 +05:30
Balamurali M
0838e89a61 fix(HelpdeskSearch): Move weight get/set to init to so change works 2024-09-17 01:57:22 +05:30
Balamurali M
70ef950f78 feat(HelpdeskSearch): Add synonym detection
A doctype to add custom synonyms for words
Eg: database <-> db, mariadb <-> mysql

Need to regenerate index to take effect
2024-09-16 23:52:20 +05:30
Balamurali M
8d5a3b29fd feat(HD Settings): Add btn to regenerate search index 2024-09-16 15:35:23 +05:30
Balamurali M
97b7035eb3 fix(HelpdeskSearch): typo 2024-09-16 15:32:34 +05:30
Balamurali M
df21e0ee1c fix(HelpdeskSearch): Make field weights configurable from HD Settings 2024-09-16 15:22:51 +05:30
RitvikSardana
3ffac6b68a Merge pull request #1981 from RitvikSardana/comm-area-overflow
fix: communication area overflow
2024-09-14 13:45:57 +05:30
RitvikSardana
2b2bedf706 fix: communication area overflow 2024-09-13 17:25:17 +05:30
Balamurali M
0db85871f0 fix(HelpdeskSearch): Use lowercase to not mess up noun detection 2024-09-13 14:54:10 +05:30
RitvikSardana
b8821932e2 fix: spacing in article search 2024-09-13 12:50:23 +05:30
Balamurali M
891fc568f7 fix: Correct field 2024-09-13 12:24:33 +05:30
RitvikSardana
4509a777e9 Merge pull request #1979 from frappe/search-improve
fix(HelpdeskSearch): Add report to evaluate search and improvements with the same
2024-09-12 21:29:57 +05:30
Balamurali M
3efd29f231 fix(HelpdeskSearch): Only index published articles 2024-09-12 18:38:53 +05:30
Balamurali M
304476d2ff style: black + prettier 2024-09-12 17:26:19 +05:30
Balamurali M
88ffc703ba feat(HelpdeskSearch): Use additional stopwords from doctype 2024-09-12 16:17:32 +05:30
Balamurali M
4ba371dbf4 feat(HDSettings): Add property to get article search in server script 2024-09-12 16:15:14 +05:30
Balamurali M
607337710c feat(HelpdeskSearch): Add report to analyze tickets-search 2024-09-12 12:54:03 +05:30
Balamurali M
8187f8a1c6 fix(HelpdeskSearch): Handle other exception 2024-09-12 12:53:23 +05:30
Balamurali M
69ec4d468f fix(HelpdeskSearch): convert to lowercase before removing stopwords
capitalized stopwords weren't being removed

- Add more stopwords
- Add brown corpora to get noun phrases
2024-09-12 12:35:17 +05:30
Balamurali M
a566ada60d fix(HelpdeskSearch): Add more fallbacks
- noun phrases
- or queries (worst case)
2024-09-12 12:32:43 +05:30
Balamurali M
3cea9f4830 fix(HelpdeskSearch): Ignore ! and - in query
Split query string correctly. Ignore long whitespace
2024-09-12 12:22:12 +05:30
Balamurali M
57892ed14f fix(HelpdeskSearch): Search for substring instead of fuzzy
Also return scores
2024-09-12 11:22:57 +05:30
Balamurali M
69c1c01bfe perf(HelpdeskSearch): Don't read all tickets for count 2024-09-10 20:42:33 +05:30
Balamurali M
333a5a456b fix(HelpdeskSearch): Recover from clear cache (#1977)
* fix(HelpdeskSearch): Check for existing index accurately

Checking for index only is problematic as frappe.clear_cache only
removes docs and not the index

* fix(HelpdeskSearch): Handle types and other exceptions

* style: isort

* style: Ignore flake warning for fn declaration

* style(flake8): SIM104
2024-09-10 17:48:57 +05:30
RitvikSardana
aa05831c7a Merge pull request #1967 from RitvikSardana/branding-favicon
fix: favicon reactivity in settings modal
2024-09-07 19:46:47 +05:30
RitvikSardana
04d3151bf8 fix: favicon reactivity in settings modal 2024-09-06 23:44:14 +05:30
RitvikSardana
ba1f420aad Merge pull request #1960 from RitvikSardana/notification-style
fix: change notification unread color to light blue
2024-09-02 23:45:46 +05:30
RitvikSardana
f00955a494 fix: change span to div 2024-09-02 21:38:13 +05:30
RitvikSardana
48fa75dcbf fix: change notification unread color to light blue 2024-09-02 21:30:22 +05:30
RitvikSardana
97f81ef864 fix: change sidebar filename 2024-09-02 21:11:32 +05:30
RitvikSardana
0a7954a181 Merge pull request #1958 from RitvikSardana/location-update
fix: change directory location in agent root
2024-09-02 21:05:52 +05:30
RitvikSardana
bfee28b7af fix: change directory location in agent root 2024-09-02 21:03:48 +05:30
RitvikSardana
9be04af96b Merge pull request #1954 from RitvikSardana/mobile-support
feat: mobile support
2024-09-02 20:26:19 +05:30
RitvikSardana
118f5c5a03 fix: close sidebar on notification page 2024-09-02 18:02:19 +05:30
RitvikSardana
cd1896f4a8 fix: mobile sidebar close on navigate 2024-09-02 17:42:58 +05:30
RitvikSardana
6f4b8a666e fix: user permissions 2024-09-02 15:48:49 +05:30
RitvikSardana
4d98166edc fix(styles): canned response 2024-09-02 13:16:33 +05:30
RitvikSardana
a69dd18c00 fix(styles): mobile ticket agent component 2024-09-02 13:04:47 +05:30
RitvikSardana
ee8011f611 fix(styles): comment in mobile style 2024-09-02 12:56:59 +05:30
RitvikSardana
94e0447328 fix(styles): comment in mobile style 2024-09-02 12:51:26 +05:30
RitvikSardana
9e30d4c2f2 fix(styles): mobile sidebar 2024-09-02 12:32:52 +05:30
RitvikSardana
d55890e55b fix: add notifications page for mobile view 2024-09-02 12:22:40 +05:30
RitvikSardana
68d9457942 fix: replace notifications icon 2024-09-02 03:26:07 +05:30
RitvikSardana
0793a29799 fix: hide label in sort and column settings 2024-09-02 03:25:45 +05:30
RitvikSardana
4e1b6dfc8e fix(mobile-sidebar): add logout option in dropdown 2024-09-02 02:59:37 +05:30
RitvikSardana
793a832eb5 fix(styles): filter component 2024-09-02 02:58:46 +05:30
RitvikSardana
17ab9676d5 fix(style): header 2024-09-02 02:09:22 +05:30
RitvikSardana
1631c8118c fix(style): ticket sidebar 2024-09-02 01:56:37 +05:30
RitvikSardana
356d783a32 fix(styles): multiple tickets view 2024-09-02 01:31:56 +05:30
RitvikSardana
32031c8e03 fix: add mobile view support in single ticket 2024-09-02 01:13:27 +05:30
RitvikSardana
7ebb87a957 fix: add styls for single ticket mobile view 2024-09-01 22:53:40 +05:30
RitvikSardana
24a833ba2c fix: add notifications and command pallete back to desktop layout 2024-08-31 19:36:28 +05:30
RitvikSardana
175602d033 fix: make all screens mobile compatable with layout header 2024-08-31 18:08:42 +05:30
RitvikSardana
36d03526e4 fix: add mobile sidebar component 2024-08-31 01:30:04 +05:30
RitvikSardana
f6dbec504c feat: mobile support 2024-08-30 20:58:29 +05:30
RitvikSardana
464c7f84e2 Merge pull request #1949 from UmakanthKaspa/fix/reset-dialog-fields-knowledge-base
Fix: Reset Form Fields After Creating a New Category in Knowledge Base from Agent Portal
2024-08-30 13:13:14 +05:30
RitvikSardana
e8e7473e71 Merge pull request #1952 from RitvikSardana/article-error
fix: get article category and sub category from query params
2024-08-30 12:15:43 +05:30
RitvikSardana
bf14184d52 fix: add query params to breadcrumb 2024-08-30 12:04:21 +05:30
RitvikSardana
b85e146029 fix: get article cat and sub cat from query params 2024-08-30 11:47:03 +05:30
UmakanthKaspa
724a8d1169 style: fix Prettier formatting issues in KnowledgeBaseCategoryNew.vue 2024-08-30 04:00:49 +00:00
RitvikSardana
0cb6244a67 Merge pull request #1950 from RitvikSardana/logo-customer-portal
fix: add brand logo in customer portal
2024-08-29 18:41:33 +05:30
RitvikSardana
9004387042 Merge branch 'develop' of https://github.com/frappe/helpdesk into logo-customer-portal 2024-08-29 18:04:01 +05:30
RitvikSardana
9b6cbc6101 fix: add brand logo in customer portal 2024-08-29 18:02:44 +05:30
UmakanthKaspa
165bc9c64f fix: reset form fields in Knowledge Base category creation dialog
- Implemented  function to clear dialog fields after successful creation.
- Ensured fields are reset in the  callback for the category creation dialog.
2024-08-29 09:25:36 +00:00
RitvikSardana
1659448c96 Merge pull request #1948 from RitvikSardana/users-fetch
fix: fetch all users before each route
2024-08-29 14:32:35 +05:30
RitvikSardana
3b80778ad4 Merge pull request #1947 from RitvikSardana/develop-app-switcher
feat: App Switcher
2024-08-29 14:30:14 +05:30
RitvikSardana
b9a0a1adf2 fix: fetch all users before each route 2024-08-29 14:27:28 +05:30
RitvikSardana
fc53db6c46 fix: add app permission 2024-08-29 11:18:44 +05:30
RitvikSardana
08096641be feat: app switcher 2024-08-29 11:05:58 +05:30
RitvikSardana
ca0717859c Merge pull request #1946 from RitvikSardana/frappe-mail-support
fix: add frappe mail support
2024-08-29 09:53:38 +05:30
RitvikSardana
8dab6f347a fix: show toast when no changes are made 2024-08-29 09:49:52 +05:30
RitvikSardana
4a7d105323 fix: add frappe mail support 2024-08-29 09:07:58 +05:30
RitvikSardana
27a07720ee fix: change Avatar size for Logo 2024-08-28 13:15:00 +05:30
RitvikSardana
fe2a01db1f Merge pull request #1937 from RitvikSardana/settings-modal
feat: Settings modal
2024-08-28 13:08:00 +05:30
RitvikSardana
b43bca8166 chore: code cleanup 2024-08-28 12:11:20 +05:30
RitvikSardana
957db8c3b3 refactor: branding settings 2024-08-28 11:26:30 +05:30
RitvikSardana
03404e85f5 fix: add favicon config in page context 2024-08-28 11:25:21 +05:30
RitvikSardana
54633509cc refactor: branding page 2024-08-28 10:26:52 +05:30
RitvikSardana
2ba04030fc feat: add branding tab in settings modal 2024-08-28 09:55:14 +05:30
RitvikSardana
d115a795d8 fix: add status badge to email account list component 2024-08-27 10:08:49 +05:30
RitvikSardana
0d0e94f899 fix: add checkbox field for settings incoming & outgoing emails 2024-08-27 08:59:50 +05:30
RitvikSardana
1e15efe65b refactor: whole email editing and adding view and login 2024-08-26 20:34:38 +05:30
RitvikSardana
8c0037abd0 fix: re-position settings tab 2024-08-26 14:22:59 +05:30
RitvikSardana
efed4d5913 fix: add functionality to edit email account 2024-08-26 14:22:32 +05:30
RitvikSardana
b0f63367ac fix: add component to edit email 2024-08-26 11:44:51 +05:30
RitvikSardana
6b3fc3da29 fix: add email account card 2024-08-25 20:18:23 +05:30
RitvikSardana
14a6c557bd fix: add email list component 2024-08-25 18:30:27 +05:30
RitvikSardana
58e7462c1d fix: add admin permissions for settings tab 2024-08-25 13:24:18 +05:30
RitvikSardana
9440af6eef fix: add frappe mail logo 2024-08-25 12:32:37 +05:30
RitvikSardana
4a1aac94e1 Merge branch 'develop' of https://github.com/frappe/helpdesk into settings-modal 2024-08-25 12:31:39 +05:30
RitvikSardana
8e8330c094 Merge pull request #1940 from RitvikSardana/article-agent-fix
fix: Search for articles only on Customer Portal & bulk formatting
2024-08-25 12:24:27 +05:30
RitvikSardana
a2dbdbcef7 fix(ci): sempgrep lint version 2024-08-25 10:28:47 +05:30
RitvikSardana
d7ea38fcb5 fix: pre commit file 2024-08-25 10:21:31 +05:30
RitvikSardana
3e00588a62 fix: add git blame ignore to ignore mass formatting 2024-08-25 10:12:08 +05:30
RitvikSardana
353aaae07a fix(formatting): run new pre commit on the codebase 2024-08-25 10:11:05 +05:30
RitvikSardana
c7f369e1ed fix: format utils.py 2024-08-25 10:02:28 +05:30
RitvikSardana
5214129b2e fix: add git blame ignore to ignore mass formatting 2024-08-25 09:58:33 +05:30
RitvikSardana
b7fb25fe7c fix(formatting): run new pre commit on the codebase 2024-08-25 09:53:08 +05:30
RitvikSardana
fb234a9d63 fix(ci): add frappe linters 2024-08-25 09:00:39 +05:30
RitvikSardana
f9b59d1fa0 fix: remove husky pre-commit 2024-08-25 08:53:18 +05:30
RitvikSardana
f918798eb5 fix: only search for articles on customer portal 2024-08-25 08:52:51 +05:30
RitvikSardana
fce01588d7 chore: create separate files for email config 2024-08-24 13:04:34 +05:30
RitvikSardana
f9a5041ac2 fix: add email resource and submit button 2024-08-23 10:05:09 +05:30
RitvikSardana
323cb9bcb9 fix: add email config UI in settings modal 2024-08-23 00:29:21 +05:30
RitvikSardana
0c09b719c0 feat: add settings modal to helpdesk portal 2024-08-22 19:25:16 +05:30
RitvikSardana
de7e43e6e9 Merge pull request #1936 from RitvikSardana/ticket-default-fields
fix: add resolution_date default field
2024-08-22 13:37:08 +05:30
RitvikSardana
08241fafe9 fix: add resolution_date default field 2024-08-22 13:16:56 +05:30
RitvikSardana
5c4d68d012 Merge pull request #1934 from RitvikSardana/scroll-url-hash
fix: scroll to view from Hash
2024-08-22 00:23:52 +05:30
RitvikSardana
71ae00249b fix: scroll to view from Hash 2024-08-22 00:19:50 +05:30
Balamurali M
3c3497167c fix(HelpdeskSearch): Revert base score to 1 and double all weights
Effectively same and compatible with redis 7.4
2024-08-21 13:45:32 +05:30
RitvikSardana
2ff9ceea9f Merge pull request #1932 from frappe/hd-search-optimistic
fix(HelpdeskSearch): Optimistically retreive results
2024-08-20 20:44:04 +05:30
Balamurali M
9dd258b60e fix(HelpdeskSearch): Make search optimistic
Increase default score of all docs. More likely to return results
2024-08-20 16:30:27 +05:30
Balamurali M
7dacbc571a feat(HelpdeskSearch): Add fallback search of basic nouns in case no results
needs nltk
2024-08-20 16:30:27 +05:30
Balamurali M
de53e62d54 fix(HelpdeskSearch): Acquire lock before building index 2024-08-20 16:30:27 +05:30
RitvikSardana
c645a84f42 Merge pull request #1930 from frappe/hd-search-stopwords
fix(HelpdeskSearch): Add custom stopwords
2024-08-20 13:48:36 +05:30
Balamurali M
756f6c178b style(black): helpdesk/search.py
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-20 13:34:03 +05:30
Balamurali M
8ad3df5b5a fix(HelpdeskSearch): Add custom stopwords
Need to filter in query manually as we do fuzzy search of all words
2024-08-20 13:32:39 +05:30
RitvikSardana
8aa71cdf96 Merge pull request #1924 from frappe/hd-search-fix
fix(HelpdeskSearch): Improve search of knowledge base articles
2024-08-20 12:04:20 +05:30
RitvikSardana
7bd1fd23a0 chore: code cleanup 2024-08-20 10:47:23 +05:30
RitvikSardana
0b14679aed fix: add dynamic ids to html tags 2024-08-20 01:51:19 +05:30
Balamurali M
ab22c081f2 chore(HelpdeskSearch): Remove breakpoint 2024-08-19 15:44:38 +05:30
Balamurali M
143ad49851 fix(HelpdeskSearch): Handle no payload returned in frontend 2024-08-19 15:28:41 +05:30
Balamurali M
8f8ccfe8fe fix(my-tickets): Direct user to permalink instead of top of Article 2024-08-19 14:32:19 +05:30
Balamurali M
323aa2eb40 fix(my-tickets): Show description list instead of just doc titles 2024-08-19 13:19:03 +05:30
Balamurali M
f7ae196b41 fix(HelpdeskSearch): Don't do anything with payload 2024-08-19 11:45:28 +05:30
RitvikSardana
12bd95b437 Merge pull request #1925 from RitvikSardana/develop-ritvik-error-handling
fix: show proper error message
2024-08-16 11:59:00 +05:30
RitvikSardana
3f4dd3a15f fix: show proper error message 2024-08-16 11:49:18 +05:30
Balamurali M
82646f3890 chore(HelpdeskSearch): Add back lost progressbar 2024-08-14 17:44:32 +05:30
Balamurali M
31ab11335f style(black): helpdesk/search.py
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-14 17:24:08 +05:30
Balamurali M
97da939273 chore(HelpdeskSearch): Fix commented out parts 2024-08-14 17:21:53 +05:30
Balamurali M
dfddd56bfc refactor(HelpdeskSearch): Remove unnecessary payload insertion 2024-08-14 17:20:19 +05:30
Balamurali M
b8d90310aa fix(HelpdeskSearch): Give permalinks to subsections
- Change search algorithm to BM25. Seems to give better results
- Reduce fuzzyness as it seems to mess with accuracy for small words
  (ssh, site, row, etc)
2024-08-14 17:19:01 +05:30
Sumit Bhanushali
509a9f1727 Merge pull request #1922 from frappe/export-2
feat: allow selected rows to be exported
2024-08-14 16:48:59 +05:30
Sumit Bhanushali
db9c870f12 feat: differentiate selected items to export vs filtered items to export 2024-08-14 16:38:43 +05:30
Sumit Bhanushali
f5df4374eb feat: allow selected rows to be exported 2024-08-14 16:16:58 +05:30
Sumit Bhanushali
5e2a54549c Merge pull request #1918 from frappe/export_rows
feat(TicketsAgent): export tickets list in excel,csv format
2024-08-14 13:35:57 +05:30
Sumit Bhanushali
f37200d32c feat(TicketsAgent): export tickets list in excel,csv format 2024-08-14 13:21:58 +05:30
Balamurali M
6865c26dcd fix(HelpdeskSearch): Get better search results
- Search headings separately
- Reduce page length
- Change weights
- Summarize description in search results
2024-08-14 12:44:53 +05:30
Sumit Bhanushali
e8938e3720 Merge pull request #1917 from frappe/notif_fix
fix: add missing order by in List Manager's client helper
2024-08-14 11:53:57 +05:30
Sumit Bhanushali
c6961da9d7 chore: remove unnecessary imports of defineModel 2024-08-14 11:49:29 +05:30
Sumit Bhanushali
42a5a529c0 fix: add missing order by in List Manager client helper 2024-08-14 11:42:27 +05:30
Sumit Bhanushali
5191fcfc2e Merge pull request #1914 from frappe/update_screenshot
chore(README): update screenshot
2024-08-13 17:25:00 +05:30
Sumit Bhanushali
c982ed6ec1 Delete screenshot.png 2024-08-13 17:23:49 +05:30
Sumit Bhanushali
f8c6b8001c Update README.md 2024-08-13 17:23:18 +05:30
Sumit Bhanushali
299867f88e Add files via upload 2024-08-13 17:21:35 +05:30
RitvikSardana
e07952d4b1 Merge pull request #1913 from RitvikSardana/develop-ritvik-app-hook
fix: add helpdesk to apps page
2024-08-12 23:24:52 +05:30
RitvikSardana
e2b787a099 fix: add add_to_apps_screen hook in hooks.py 2024-08-12 23:22:00 +05:30
RitvikSardana
6ed515bceb Merge pull request #1910 from RitvikSardana/develop-ritvik-onboarding-error
fix: if new user not found then return
2024-08-11 18:07:47 +05:30
RitvikSardana
81425ee535 fix: if new user not found then return 2024-08-11 18:01:01 +05:30
RitvikSardana
9fcfacc28f Merge pull request #1909 from RitvikSardana/develop-ritvik-cheerio-fixed-version
fix(dep): add cheerio in resolutions
2024-08-11 14:18:50 +05:30
RitvikSardana
c1fe4bd161 fix(dep): add cheerio in resolutions 2024-08-11 14:17:43 +05:30
RitvikSardana
45c6fa20de Merge pull request #1907 from RitvikSardana/develop-ritvik-cheerio-version
fix(dep): fixed cheerio version
2024-08-11 12:05:54 +05:30
RitvikSardana
eb99002ec9 fix(dep): fixed cheerio version 2024-08-11 12:04:15 +05:30
RitvikSardana
008d37c2cc Merge pull request #1906 from RitvikSardana/develop-ritvik-login-flow
fix: signin/signup flow using framework method
2024-08-10 18:02:30 +05:30
RitvikSardana
777c452fb4 fix(ci): remove new linters 2024-08-09 17:35:28 +05:30
RitvikSardana
6a8c94e61e fix(ci): linters update 2024-08-09 12:51:12 +05:30
RitvikSardana
630f7619a8 chore: remove key from RouterView 2024-08-09 12:48:27 +05:30
RitvikSardana
66c2f86fdf chore: change prettier config 2024-08-09 12:46:35 +05:30
RitvikSardana
35d393e15d fix: use session cookies for user auth 2024-08-09 12:46:08 +05:30
RitvikSardana
ee8f2ad878 fix: signin flow using framework method 2024-08-08 20:59:11 +05:30
RitvikSardana
a6652a29e6 Merge pull request #1904 from RitvikSardana/develop-ritvik-ticket-submit-navigation
fix: new ticket navigation issue
2024-08-07 22:55:22 +05:30
RitvikSardana
1b2b76dc3b fix: new ticket navigation issue 2024-08-07 22:54:02 +05:30
RitvikSardana
1dc3d4d924 Merge pull request #1903 from RitvikSardana/develop-ritvik-pre-commit
fix(formatting): add pre commit and format files
2024-08-07 19:40:20 +05:30
RitvikSardana
b6012f6625 fix(formatting): setup_wizard.py 2024-08-07 19:35:12 +05:30
RitvikSardana
1d57dbb1ed fix: avoid semgrep for args 2024-08-07 19:31:28 +05:30
RitvikSardana
80bce0a9d8 fix(formatting): add pre commit and format files 2024-08-07 19:27:01 +05:30
RitvikSardana
350783d2e0 Update helpdesk/setup/setup_wizard.py
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-07 15:09:18 +05:30
RitvikSardana
a7936cc677 Update helpdesk/setup/setup_wizard.py
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-07 15:09:04 +05:30
RitvikSardana
a26b34751d Update helpdesk/hooks.py
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-07 15:08:40 +05:30
RitvikSardana
524be6e031 Update helpdesk/api/article.py
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-07 15:08:02 +05:30
RitvikSardana
0b59723c25 Update helpdesk/api/article.py
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-07 15:07:48 +05:30
RitvikSardana
dfdd2b26fe Merge pull request #1900 from RitvikSardana/develop-ritvik-doc-title
fix(ui): show ticket number in title
2024-08-07 14:58:58 +05:30
RitvikSardana
38cc90735f fix(ui): show ticket number in title 2024-08-07 13:10:04 +05:30
RitvikSardana
3e8c85662d Merge pull request #1899 from RitvikSardana/develop-ritvik-telemetry-active-site
fix(telemetry): Add event to capture active_site
2024-08-06 16:44:15 +05:30
RitvikSardana
ecaa6f1636 chore: code cleanup 2024-08-06 16:24:56 +05:30
RitvikSardana
52aa5448b1 fix: dont show text editor unless subject is there in customer portal 2024-08-06 16:16:25 +05:30
RitvikSardana
63ca9a0820 Merge branch 'develop' of https://github.com/frappe/helpdesk into develop-ritvik-telemetry-active-site 2024-08-06 15:06:04 +05:30
RitvikSardana
9d8b60b576 fix(telemetry): correct way to capture active sites 2024-08-06 15:00:02 +05:30
RitvikSardana
6302176575 Merge pull request #1898 from RitvikSardana/develop-ritvik-telemetry-improve
fix: improve telemetry and article search
2024-08-06 13:14:48 +05:30
RitvikSardana
a0e14bc356 fix: styles of text 2024-08-06 11:15:15 +05:30
RitvikSardana
2672fb5d52 fix: show text editor only when subject is present 2024-08-06 11:14:08 +05:30
RitvikSardana
9463f8a5e9 fix: add new events for capturing telemetry 2024-08-06 10:46:36 +05:30
RitvikSardana
a6d8702f35 fix: init telemetry only once 2024-08-06 10:37:50 +05:30
RitvikSardana
ae27fcbec9 fix(length): search query 2024-08-06 10:30:56 +05:30
RitvikSardana
e572cc4d25 fix(length): search 2024-08-06 10:29:17 +05:30
RitvikSardana
ad89f61a25 chore: remove console log 2024-08-06 10:26:47 +05:30
RitvikSardana
3a1ee9a577 fix: search length while creating new ticket 2024-08-06 10:23:35 +05:30
RitvikSardana
cd3ace8c0d fix(search): change minimun character to 2 2024-08-06 10:10:26 +05:30
Sumit Bhanushali
e0550322e7 Merge pull request #1897 from frappe/fix-5824
fix(TicketNew): breadcrumb button UI
2024-08-05 13:50:43 +05:30
Sumit Bhanushali
2bb2672e6a fix(TicketNew): breadcrumb button UI 2024-08-05 13:46:35 +05:30
RitvikSardana
07c15f40b3 Merge pull request #1894 from RitvikSardana/develop-ritvik-agent-permission
fix: create first agent and check for agent role permission
2024-08-04 13:36:34 +05:30
RitvikSardana
e727c53409 fix: create first agent and check for agent role permission 2024-08-04 13:07:58 +05:30
RitvikSardana
84d4a32719 Merge pull request #1884 from RitvikSardana/develop-ritvik-telemetry-fix
fix(telemetry) :  session recording
2024-08-02 00:15:26 +05:30
RitvikSardana
84c277c9a1 fix: disable eslint 2024-08-02 00:11:38 +05:30
Michelle Alva
27e45b05da Merge pull request #1890 from frappe/michellealva-patch-1
fix: update onboarding message
2024-08-01 17:01:27 +05:30
Michelle Alva
5b8f821e22 fix: update onboarding message 2024-08-01 16:50:07 +05:30
RitvikSardana
c177e32353 fix: telemetry session recording 2024-07-31 21:41:48 +05:30
Sumit Bhanushali
e057bebede Merge pull request #1882 from frappe/fix_comment
fix(Comment): id check for delete comment
2024-07-31 12:53:09 +05:30
Sumit Bhanushali
ad7ad47fda fix(Comment): id check for delete comment 2024-07-31 12:51:22 +05:30
RitvikSardana
feb0b99ba6 fix(posthog): disable pageview telemetry 2024-07-29 21:15:44 +05:30
RitvikSardana
321b524dc1 Merge pull request #1881 from RitvikSardana/develop-ritvik-telemetry-record-session
fix: add telemetry for recording session in new customer ticket
2024-07-29 20:22:30 +05:30
RitvikSardana
dd6a6731ae fix: add telemetry for recording session in new customer ticket 2024-07-29 16:00:23 +05:30
Sumit Bhanushali
26d04df6cc Merge pull request #1876 from frappe/author_update
chore: update author
2024-07-22 12:24:32 +05:30
Sumit Bhanushali
fe9ef3f88c chore: update author 2024-07-22 12:22:43 +05:30
RitvikSardana
514fbdb1b0 Merge pull request #1875 from RitvikSardana/develop-ritvik-submodule-frappeui
chore: add frappe-ui workspace
2024-07-22 11:39:34 +05:30
RitvikSardana
959f0e6bd5 Merge branch 'develop' of https://github.com/frappe/helpdesk into develop-ritvik-submodule-frappeui 2024-07-21 23:27:31 +05:30
RitvikSardana
ef662d5b5b Merge pull request #1874 from RitvikSardana/develop-ritvik-github-template
chore: add github templates
2024-07-21 23:09:51 +05:30
RitvikSardana
2fecdecd63 chore: add frappe-ui workspace to package.json 2024-07-21 21:13:35 +05:30
RitvikSardana
a565759e38 chore: add frappe-ui workspace 2024-07-21 20:37:17 +05:30
RitvikSardana
86ff49c89d chore: add github templates 2024-07-21 20:20:27 +05:30
RitvikSardana
a152df492b Merge pull request #1872 from RitvikSardana/develop-ritvik-customer-refactor
fix: reactivity in customer page
2024-07-19 22:45:23 +05:30
RitvikSardana
e6a8a3fa26 fix: reactivity in update contact dialog 2024-07-19 21:54:44 +05:30
RitvikSardana
e3d6ab5d32 ci: use latest sempgrep 2024-07-19 19:08:38 +05:30
RitvikSardana
2bffaa3510 fix: semgrep ignore 2024-07-19 18:56:31 +05:30
RitvikSardana
950091b281 ci: linters 2024-07-19 18:11:27 +05:30
RitvikSardana
b2372c7424 fix: add type for model value 2024-07-19 17:57:20 +05:30
RitvikSardana
a0fcea1a97 ci: change lint.yml 2024-07-19 17:53:07 +05:30
RitvikSardana
8c98843c86 chore: eslint fix 2024-07-19 17:28:23 +05:30
RitvikSardana
4fa7b2a18a fix: reactivity in customer page 2024-07-19 16:51:39 +05:30
Sumit Bhanushali
b1b6d35438 Merge pull request #1871 from frappe/kb_fix
fix(KB): article breadcrumbs fixes
2024-07-19 16:11:27 +05:30
Sumit Bhanushali
92806c0fb2 fix(KB): article breadcrumbs fixes 2024-07-19 16:05:03 +05:30
Sumit Bhanushali
ab30754beb Merge pull request #1870 from frappe/cann_res
fix(CannedResponse): title must not be unique
2024-07-19 15:08:46 +05:30
Sumit Bhanushali
04ab0bc206 fix(CannedResponse): title must not be unique 2024-07-19 15:06:16 +05:30
RitvikSardana
e2857f93a5 Merge pull request #1869 from RitvikSardana/develop-ritvik-ticket-rating
fix: show rating component in ticket list view
2024-07-19 12:24:28 +05:30
RitvikSardana
0e30176430 chore: code cleanup 2024-07-18 17:45:19 +05:30
RitvikSardana
4194412d2a fix: new column should be added at the last 2024-07-18 17:23:23 +05:30
RitvikSardana
4e4214d56d fix: show rating component in ticket list view 2024-07-18 17:09:45 +05:30
RitvikSardana
079817df31 chore: code cleanup 2024-07-17 23:09:19 +05:30
RitvikSardana
8ec5e19307 fix: use frappe-ui autocomplete update emit 2024-07-17 21:34:30 +05:30
RitvikSardana
896a5645ae Merge pull request #1865 from RitvikSardana/develop-ritvik-contact-refactor
refactor: contact page
2024-07-17 21:10:56 +05:30
RitvikSardana
5dede02387 chore: code cleanup 2024-07-17 20:55:21 +05:30
RitvikSardana
9bde79183d fix: add validation for correct filetype in File Uploader 2024-07-17 20:33:26 +05:30
RitvikSardana
9f2e6fe36e fix: add types to contact page and relevant components 2024-07-17 19:51:19 +05:30
RitvikSardana
7e6b97100d fix: emit contact update from dialog 2024-07-17 18:10:42 +05:30
RitvikSardana
372e8fc7c7 refactor: pill component and less fetch requests 2024-07-17 14:22:51 +05:30
RitvikSardana
5e6006f5d7 refactor: form field object 2024-07-17 13:07:23 +05:30
RitvikSardana
7b26bc330e refactor: contact page 2024-07-17 12:42:17 +05:30
RitvikSardana
6c69dbe613 Merge pull request #1864 from RitvikSardana/develop-ritvik-sidebar-ux
fix: update customer from sidebar and sidebar enhancement
2024-07-15 16:59:58 +05:30
RitvikSardana
995e6d747d fix: update customer from sidebar and sidebar enhancement 2024-07-15 16:49:47 +05:30
Sumit Bhanushali
1266508deb Merge pull request #1863 from frappe/opt-menu
feat(UserMenu): added switch to desk, support, docs
2024-07-15 13:22:20 +05:30
Sumit Bhanushali
ca4d6663eb feat(UserMenu): added switch to desk, support, docs 2024-07-15 13:20:01 +05:30
Sumit Bhanushali
b152ba73ad Merge pull request #1861 from frappe/comment_user
fix(Comment): show user's name instead of name
2024-07-15 12:26:33 +05:30
Sumit Bhanushali
53c79e5b8d fix(Comment): show user's name instead of name 2024-07-15 12:25:10 +05:30
RitvikSardana
96f334f326 fix: header styling 2024-07-13 13:06:44 +05:30
RitvikSardana
79dc48939d Merge pull request #1860 from RitvikSardana/develop-ritvik-header-ux
fix: header breadcrumb styling
2024-07-13 12:47:42 +05:30
RitvikSardana
091370bfb6 fix: header breadcrumb styling 2024-07-13 12:35:56 +05:30
RitvikSardana
7cbb31489d Merge pull request #1855 from RitvikSardana/develop-ritvik-sidebar-reactivity
fix: reactivity in sidebar
2024-07-11 13:11:18 +05:30
RitvikSardana
c41f417518 fix: handle custom fields reactivity 2024-07-11 13:07:20 +05:30
RitvikSardana
58403a411a fix: show active agents 2024-07-11 01:35:22 +05:30
RitvikSardana
627f1572b9 fix(ci): change branch in server-tests 2024-07-10 23:42:22 +05:30
RitvikSardana
87478319de fix: reactivity in sidebar 2024-07-10 23:02:41 +05:30
RitvikSardana
c3ba88cc39 Merge pull request #1852 from RitvikSardana/develop-ritvik-ci-codecov
fix(ci): add token for code coverage
2024-07-10 17:59:20 +05:30
RitvikSardana
e3d30deb1a fix(ci): add token for code coverage 2024-07-10 17:57:36 +05:30
RitvikSardana
c77a5de545 Merge pull request #1851 from RitvikSardana/develop-ritvik-ci-node-version
fix(ci): upgrade node version
2024-07-10 17:46:04 +05:30
RitvikSardana
f6dd734704 fix(ci): upgrade node version 2024-07-10 17:40:52 +05:30
RitvikSardana
3dfa63268e Merge pull request #1849 from RitvikSardana/develop-ritvik-add-member
fix: add members in team from UI
2024-07-10 14:58:24 +05:30
RitvikSardana
8f872c8c98 fix: add members to team from UI 2024-07-10 14:38:57 +05:30
RitvikSardana
ceb1fcc3ec fix: long labels in sidebar becomes ellipses 2024-07-10 14:38:44 +05:30
Sumit Bhanushali
c4d5755734 Merge pull request #1844 from frappe/main
Main to dev
2024-06-25 12:09:27 +05:30
Sumit Bhanushali
72311dde76 Merge pull request #1843 from frappe/fix-kb
fix(KB): title shouldnt be unique
2024-06-25 12:08:49 +05:30
Sumit Bhanushali
aed7db5375 fix(KB): title shouldnt be unique 2024-06-25 12:02:09 +05:30
Sumit Bhanushali
4dcffaed6a Merge pull request #1842 from frappe/develop
dev to main
2024-06-19 00:27:10 +05:30
Sumit Bhanushali
3f1b33ecbb Merge pull request #1841 from frappe/b2
index kb articles and show in search
2024-06-19 00:00:10 +05:30
Sumit Bhanushali
c36d698cf9 feat: show subcategory/article in search for kb 2024-06-18 23:55:19 +05:30
Sumit Bhanushali
399eccdd9d feat: kb articles are now searchable 2024-06-18 23:41:23 +05:30
Sumit Bhanushali
957b2ae903 Merge pull request #1839 from frappe/develop
dev to main
2024-06-17 15:51:00 +05:30
Sumit Bhanushali
a11ca848f0 Merge pull request #1838 from frappe/b2
store showactivity, re-add search
2024-06-17 15:06:19 +05:30
Sumit Bhanushali
da3fbbf764 feat: readded search 2024-06-17 15:05:05 +05:30
Sumit Bhanushali
390c3b20c7 feat: store showactivity 2024-06-17 11:50:26 +05:30
Sumit Bhanushali
bc4457a3f6 Merge pull request #1835 from frappe/develop
dev to main
2024-06-12 11:08:32 +05:30
Sumit Bhanushali
af1b766e1b Merge pull request #1834 from frappe/notifiy-11
fix: filter values for check field
2024-06-12 11:00:16 +05:30
Sumit Bhanushali
61a53d07a0 fix: filter values for check field 2024-06-12 10:59:17 +05:30
Sumit Bhanushali
09bb2c7853 Merge pull request #1833 from frappe/notifiy-11
feat: mark notification as read onclick
2024-06-11 18:08:30 +05:30
Sumit Bhanushali
93a4702764 feat: mark notification as read onclick 2024-06-11 18:07:52 +05:30
Sumit Bhanushali
1b0d92ec85 Merge pull request #1831 from frappe/develop
dev to main
2024-06-10 12:05:17 +05:30
Sumit Bhanushali
d2f7b7de42 Merge pull request #1830 from frappe/rem-old-ticket-view
refactor: deprecated old ticket view
2024-06-10 11:33:45 +05:30
Sumit Bhanushali
f2fc301ada refactor: deprecated old ticket view 2024-06-10 11:27:43 +05:30
Sumit Bhanushali
f3ec568d23 Merge pull request #1829 from frappe/main
Main to dev
2024-06-08 17:38:28 +05:30
Sumit Bhanushali
e5e8720b53 Merge pull request #1828 from frappe/feat_custom_actions_f
fix: icon disappear when long text
2024-06-07 13:14:29 +05:30
Sumit Bhanushali
2b2b33c478 fix: icon disappear when long text 2024-06-07 12:34:14 +05:30
Sumit Bhanushali
3831f61f5e Merge pull request #1827 from frappe/feat_custom_actions_f
Feat custom actions in ticket view
2024-06-07 12:21:01 +05:30
Sumit Bhanushali
e407bf8a8e fix: update only onChange 2024-06-07 12:15:59 +05:30
Sumit Bhanushali
056eac2866 feat: tooltip to show contact email 2024-06-07 12:15:16 +05:30
Sumit Bhanushali
13d0a46bab feat: custom actions in ticket view 2024-06-07 11:36:52 +05:30
Sumit Bhanushali
b0960a54bf Merge pull request #1825 from frappe/develop
dev to main
2024-06-03 14:11:08 +05:30
Sumit Bhanushali
9e2a978694 Merge pull request #1824 from frappe/main_to_dev
Main to dev
2024-06-03 13:11:05 +05:30
Sumit Bhanushali
cdd4f785f6 Merge branch 'develop' into main_to_dev 2024-06-03 13:10:18 +05:30
Sumit Bhanushali
72229ba798 Merge pull request #1822 from frappe/overflow_ticketnew_customer
fix: logo imports
2024-05-30 16:07:47 +05:30
Sumit Bhanushali
615add9e6a fix: logo imports 2024-05-30 16:05:25 +05:30
Sumit Bhanushali
4fb5f4f558 Merge pull request #1821 from frappe/overflow_ticketnew_customer
chore: remove deprecated file
2024-05-30 14:31:24 +05:30
Sumit Bhanushali
e2f28fed46 chore: remove deprecated file 2024-05-30 14:20:51 +05:30
Sumit Bhanushali
b5f91c8867 Merge pull request #1820 from frappe/overflow_ticketnew_customer
fix: handling for overflow
2024-05-30 14:15:44 +05:30
Sumit Bhanushali
db70751be0 chore: updated logo 2024-05-30 13:37:03 +05:30
Sumit Bhanushali
fe87680380 fix: handling for overflow 2024-05-30 13:20:40 +05:30
Sumit Bhanushali
3268837b59 Merge pull request #1819 from frappe/agent_communication_area
fix: readded expand, strong
2024-05-30 12:13:07 +05:30
Sumit Bhanushali
846bba0285 fix: readded expand, strong 2024-05-30 11:52:36 +05:30
Sumit Bhanushali
f83a37b79d Merge pull request #1817 from frappe/agent_communication_area
clear filter, multi assignee filter handling in list view
2024-05-30 10:57:04 +05:30
Sumit Bhanushali
ac046708d1 fix: undefined fix, removed unnecessary props 2024-05-30 10:48:59 +05:30
Sumit Bhanushali
6ddf35fb82 fix: HD Agents should appear in assignment 2024-05-30 10:35:49 +05:30
Sumit Bhanushali
75d0834c22 feat: clear filters button 2024-05-30 10:28:40 +05:30
Sumit Bhanushali
3fe33eb741 fix: filter handling for multi assignees 2024-05-29 18:34:26 +05:30
Sumit Bhanushali
e4634a5ad9 Merge pull request #1813 from frappe/agent_communication_area
delete comment, editable subject
2024-05-29 17:01:02 +05:30
Sumit Bhanushali
63730193d4 feat: subject can be edited by an agent 2024-05-29 16:53:05 +05:30
Sumit Bhanushali
8496ebeedf feat: confirm delete comment dialog 2024-05-29 14:58:15 +05:30
Sumit Bhanushali
d4161d32f8 refactor: use breadcrumb from frappe ui 2024-05-29 14:39:34 +05:30
Sumit Bhanushali
356012a0b7 fix: spacing 2024-05-29 14:14:59 +05:30
Sumit Bhanushali
d2c6cbc01e feat: commenter can delete its comment 2024-05-29 13:23:26 +05:30
Sumit Bhanushali
9c88e673ff Merge pull request #1812 from frappe/agent_communication_area
fix: only fetch active agents
2024-05-29 11:40:36 +05:30
Sumit Bhanushali
afc23b5848 fix: only fetch active agents 2024-05-29 11:27:27 +05:30
Sumit Bhanushali
98c59cc17b Merge pull request #1810 from frappe/agent_communication_area
assignee mismatch fix
2024-05-28 16:16:26 +05:30
Sumit Bhanushali
1759ec1cdc fix: realtime assignment to fix assignee mismatch 2024-05-28 16:08:49 +05:30
Sumit Bhanushali
d18952e4b7 Merge pull request #1808 from frappe/agent_communication_area
ticket list feats
2024-05-27 16:33:38 +05:30
Sumit Bhanushali
2d3ba1b48b feat: added quckfilter 2024-05-27 15:44:29 +05:30
Sumit Bhanushali
a805d088ba feat: added refresh list button 2024-05-27 13:58:21 +05:30
Sumit Bhanushali
b132a28f5a refactor: deprecate agent actions in old view 2024-05-27 12:55:07 +05:30
Sumit Bhanushali
bebd5c7c37 Merge pull request #1806 from frappe/rem_dead_code
fix: broken imports
2024-05-25 23:44:52 +05:30
Sumit Bhanushali
b4ec98adb7 fix: broken imports 2024-05-25 23:44:01 +05:30
Sumit Bhanushali
2c36b3dde4 Merge pull request #1805 from frappe/rem_dead_code
refactor: deprecated getPage, moved files to pages, restructuring
2024-05-25 16:56:51 +05:30
Sumit Bhanushali
eaa4a1f4ac refactor: deprecated getPage, moved files to pages, restructuring 2024-05-25 16:56:11 +05:30
Sumit Bhanushali
c5650c4c8e Merge pull request #1804 from frappe/rem_dead_code
chore: removed dead code
2024-05-25 15:31:52 +05:30
Sumit Bhanushali
1655b84f4e chore: removed dead code 2024-05-25 15:31:13 +05:30
Sumit Bhanushali
ba11809cd0 Merge pull request #1803 from frappe/develop
dev to main
2024-05-24 19:40:28 +05:30
Sumit Bhanushali
3e7e4160eb Merge pull request #1802 from frappe/agent_communication_area
ticket agent fixes
2024-05-24 19:33:42 +05:30
Sumit Bhanushali
1831038d86 feat: show loader when sending 2024-05-24 19:32:31 +05:30
Sumit Bhanushali
a5e2ba1011 fix: fix width for overflow text 2024-05-24 19:24:21 +05:30
Sumit Bhanushali
7f89abbe42 fix: clear msg on discard/submit 2024-05-24 18:49:03 +05:30
Sumit Bhanushali
eee5fbeea4 fix: fallback to sender when no "to" field 2024-05-24 18:40:49 +05:30
Sumit Bhanushali
fc5cd9e70b fix: handling for undefined cc, bcc 2024-05-24 18:11:06 +05:30
Sumit Bhanushali
2c165f330d fix: support for multi assignees in list view 2024-05-24 13:33:54 +05:30
Sumit Bhanushali
5cb8dab1ad Merge pull request #1799 from frappe/develop
develop to master
2024-05-23 23:23:35 +05:30
Sumit Bhanushali
dfb9d99e47 Merge pull request #1798 from frappe/agent_communication_area
fix: show remaining history activities
2024-05-23 03:15:50 +05:30
Sumit Bhanushali
d96dae7808 fix: show remaining history activities 2024-05-23 03:13:45 +05:30
Sumit Bhanushali
2a70e1cd62 Merge pull request #1797 from frappe/agent_communication_area
fix: only show agents in ticket assignment modal
2024-05-23 02:30:35 +05:30
Sumit Bhanushali
099349f933 fix: only show agents in ticket assignment modal 2024-05-23 02:29:59 +05:30
Sumit Bhanushali
d39d7b999f Merge pull request #1796 from frappe/agent_communication_area
Agent communication area
2024-05-23 02:23:59 +05:30
Sumit Bhanushali
32aaebdb5c fix: raised_by details when contact not in db 2024-05-22 13:24:25 +05:30
Sumit Bhanushali
f136d4fedb fix: show toast when copied to clipboard 2024-05-22 13:23:52 +05:30
Sumit Bhanushali
d2ce010b3b Merge pull request #1795 from frappe/agent_communication_area
AgentTicket Detail redesign
2024-05-22 12:37:45 +05:30
Sumit Bhanushali
e83a76e7a1 feat: contact search by emailid 2024-05-22 00:13:52 +05:30
Sumit Bhanushali
3756962eaf fix: mention agents 2024-05-21 23:28:00 +05:30
Sumit Bhanushali
ac9f8d94c0 chore: vue upgrade 2024-05-21 23:27:46 +05:30
Sumit Bhanushali
ea43224ac7 Merge branch 'main' into agent_communication_area 2024-05-21 11:04:30 +05:30
Sumit Bhanushali
fa6168338a Merge pull request #1794 from frappe/develop
develop to master
2024-05-21 09:45:12 +05:30
Sumit Bhanushali
b91dafff85 Merge pull request #1793 from frappe/canned_response_redesign
redesign: canned response
2024-05-21 09:13:54 +05:30
Sumit Bhanushali
1848e474b0 redesign: canned response 2024-05-21 09:13:14 +05:30
Sumit Bhanushali
d45cc16e94 fix: contact image 2024-05-19 14:08:56 +05:30
Sumit Bhanushali
8f337ca310 fix: update to useravatar 2024-05-17 19:00:54 +05:30
Sumit Bhanushali
8919a2f9e3 fix: user image typo 2024-05-17 17:54:24 +05:30
Sumit Bhanushali
0e3df01843 feat: added canned response selector modal and integrated in email 2024-05-17 17:53:22 +05:30
Sumit Bhanushali
0da562f413 fix: refactor user avatar, show image 2024-05-17 17:25:08 +05:30
Sumit Bhanushali
facc8997f8 fix: status color 2024-05-17 13:52:38 +05:30
Sumit Bhanushali
64ed637c56 Merge branch 'main' into agent_communication_area 2024-05-16 18:20:54 +05:30
Sumit Bhanushali
92f1539c93 Merge pull request #1792 from frappe/develop
develop to master
2024-05-16 17:58:31 +05:30
Sumit Bhanushali
ef5a8d428d Merge pull request #1791 from sumitbhanushali/kb-fix-2
fix: text editor can now insert/show images
2024-05-16 17:44:55 +05:30
Sumit Bhanushali
21745193c6 fix: text editor can now insert/show images 2024-05-16 17:43:56 +05:30
Sumit Bhanushali
b5eae3b0ea Merge branch 'main' into agent_communication_area 2024-05-16 11:31:19 +05:30
Sumit Bhanushali
742ebbb710 Merge pull request #1789 from frappe/develop
KB cleanup: form cleanup, removed dead code, idx counter back to working
2024-05-16 11:25:05 +05:30
Sumit Bhanushali
ee1052ea48 Merge pull request #1788 from sumitbhanushali/kb_fix
KB cleanup: form cleanup, removed dead code, idx counter back to working
2024-05-16 11:17:51 +05:30
Sumit Bhanushali
b9340efa60 fix(KB): form cleanup, removed dead code, idx counter back to working 2024-05-16 01:59:21 +05:30
Sumit Bhanushali
bff5bd57b5 feat: notification for multiple assignees 2024-05-15 16:38:36 +05:30
Sumit Bhanushali
dfc70e0b66 fix: spacing 2024-05-15 14:53:44 +05:30
Sumit Bhanushali
d353974289 feat: time diff for resolution badge 2024-05-15 12:50:41 +05:30
Sumit Bhanushali
87ca85de36 fix: badge and time diff for sla 2024-05-15 12:43:57 +05:30
Sumit Bhanushali
3f15cf68e6 fix: text change 2024-05-15 12:43:26 +05:30
Sumit Bhanushali
f97bd05f22 fix: handling for no contact 2024-05-15 12:43:06 +05:30
Sumit Bhanushali
3a71854b35 Merge branch 'main' into agent_communication_area 2024-05-15 01:10:07 +05:30
Sumit Bhanushali
33b605f4f5 Merge pull request #1783 from sumitbhanushali/chore
chore: update author
2024-05-14 17:59:42 +05:30
Sumit Bhanushali
6f2099700a chore: update author 2024-05-14 17:26:23 +05:30
Sumit Bhanushali
5d2b9398e8 Merge pull request #1780 from sumitbhanushali/non_agent_fix
fix: agent not found error for non agent
2024-05-14 01:37:08 +05:30
Sumit Bhanushali
be3e77a456 fix: agent not found error for non agent 2024-05-14 01:17:32 +05:30
Sumit Bhanushali
c5cb2598b6 Merge pull request #1778 from sumitbhanushali/timezone_render_fix
fix: render timeago based on user timezone
2024-05-13 16:55:06 +05:30
Sumit Bhanushali
5372ed2935 fix: render timeago based on user timezone 2024-05-13 16:47:41 +05:30
Sumit Bhanushali
249b640988 Merge pull request #1777 from sumitbhanushali/attachment_del_fix
fix: remove attachment should only remove selected file
2024-05-13 13:32:41 +05:30
Sumit Bhanushali
2915f8d4ef fix: remove attachment should only remove selected file 2024-05-13 12:51:23 +05:30
Sumit Bhanushali
649bfa7200 Merge pull request #1776 from sumitbhanushali/fix_ticket_empty_contact
fix: check for presence of contact
2024-05-13 12:39:53 +05:30
Sumit Bhanushali
01385a82ca fix: check for presence of contact 2024-05-13 12:25:23 +05:30
Sumit Bhanushali
4dbeb1f3dc chore: misc changes 2024-05-13 11:35:34 +05:30
Sumit Bhanushali
361b6f50fb Merge pull request #1774 from sumitbhanushali/fix-0605
sidebar cleanup
2024-05-06 23:52:17 +05:30
Sumit Bhanushali
2bb0dcafb3 fix: empty state error 2024-05-06 18:37:04 +05:30
Sumit Bhanushali
c70ec01265 chore: removed unused items from sidebar 2024-05-06 18:22:01 +05:30
Sumit Bhanushali
2717dee435 refactor: removed beta badge 2024-05-06 18:11:20 +05:30
Sumit Bhanushali
0d83566ddd fix: misc fixes 2024-05-06 18:07:55 +05:30
Sumit Bhanushali
1b9921674a refactor(AssignmentModal): moved api logic to modal for easier data handling 2024-05-03 15:39:53 +05:30
Sumit Bhanushali
9e49530765 chore: removed deprecated file 2024-05-03 15:15:07 +05:30
Sumit Bhanushali
e275a868d4 fix: contact details instead of customer 2024-04-30 13:34:31 +05:30
Sumit Bhanushali
51b67c7446 Merge pull request #1747 from kittiu/fix-update_replied_to_open-error_assign_field
fix: error when change status replied to open due to self._assign
2024-04-30 12:33:50 +05:30
Sumit Bhanushali
e2b30c140b fix(UI): padding and alignment 2024-04-30 02:41:00 +05:30
Sumit Bhanushali
61e6493d91 fix: added missing email fields border 2024-04-30 01:08:05 +05:30
Sumit Bhanushali
c750010c5f feat: added thread line for timeline 2024-04-29 19:54:22 +05:30
Sumit Bhanushali
9f2eab5ec1 fix(AssignmentModal): reset input on selection 2024-04-28 12:57:41 +05:30
Sumit Bhanushali
2fdb0003d0 fix: attachments in comment/email editor 2024-04-28 12:44:02 +05:30
Sumit Bhanushali
f0d6a10ebc fix: code blocks in comments 2024-04-28 12:43:15 +05:30
Sumit Bhanushali
80bb7a56e2 feat: connect email fields to reply,reply all and other fixes 2024-04-27 18:53:40 +05:30
Sumit Bhanushali
90bb078827 fix: full width for custom fields 2024-04-27 18:43:58 +05:30
Sumit Bhanushali
532abb5a5d Merge branch 'main' into agent_communication_area 2024-04-25 14:22:26 +05:30
Sumit Bhanushali
03295f1da4 Merge pull request #1766 from sumitbhanushali/fix_login_redirect
fix: redirect to landing when logged in, show invalid page when wrong path
2024-04-24 13:52:16 +05:30
Sumit Bhanushali
0dc7d39b5c fix: redirect to landing when logged in, show invalid page when wrong path 2024-04-24 13:46:30 +05:30
Sumit Bhanushali
3b034a0798 Merge pull request #1765 from sumitbhanushali/fix_mailticket
fix: only set customer/contact when raise from customer portal
2024-04-24 11:17:47 +05:30
Sumit Bhanushali
470840397a fix: only set customer/contact when raise from customer portal 2024-04-24 11:12:19 +05:30
Sumit Bhanushali
fdd6e0679f Merge pull request #1763 from sumitbhanushali/hd-1604
handling for one contact -> multiple customers
2024-04-23 16:45:44 +05:30
Sumit Bhanushali
3f29ac6f69 refactor: email editor 2024-04-23 14:21:18 +05:30
Sumit Bhanushali
7fc337e6c2 refactor: moved scroll to view in ticketagentactivities 2024-04-23 14:20:41 +05:30
Sumit Bhanushali
bceeca97e7 feat: api integration for create comment 2024-04-23 13:11:23 +05:30
Sumit Bhanushali
dee0c5be2d fix: reverted store setup for ticketagent 2024-04-22 15:31:43 +05:30
Sumit Bhanushali
2374b4ef63 feat: email editor fields 2024-04-22 15:07:31 +05:30
Sumit Bhanushali
cee7a11b0e Merge branch 'main' into agent_communication_area 2024-04-22 10:11:01 +05:30
Sumit Bhanushali
fe51560486 feat: agent can update customer from portal 2024-04-21 14:56:27 +05:30
Sumit Bhanushali
c7c320b6dd fix: set customer only if contact has one customer 2024-04-18 15:15:11 +05:30
Sumit Bhanushali
30969c24ff Merge pull request #1752 from sumitbhanushali/fix-1504
fixes
2024-04-16 13:24:55 +05:30
Sumit Bhanushali
a471005dcc feat: only show feedback form to customer if itneraction with agent 2024-04-15 23:05:18 +05:30
Sumit Bhanushali
e29252641f fix: dont show expected resolution for unclassifed tickets, updated titles 2024-04-15 15:46:00 +05:30
Sumit Bhanushali
228a8014c1 fix: dont notify for self assigned tickets 2024-04-15 12:58:19 +05:30
Kitti U
ad1924ec4e fix: error when change status replied to open due to self._assign 2024-04-09 04:42:45 +00:00
Sumit Bhanushali
3b6827c8b6 Merge pull request #1746 from sumitbhanushali/ticket_list
fix: _assign font color and size
2024-04-09 10:05:38 +05:30
Sumit Bhanushali
28568ac55f fix: _assign font color and size 2024-04-09 00:49:50 +05:30
Sumit Bhanushali
f7597b0c82 feat: multiple assignees, handling for no assignees 2024-04-07 18:41:54 +05:30
Sumit Bhanushali
db98273963 refactor: moved activities, updateticket to store 2024-04-07 14:34:19 +05:30
Sumit Bhanushali
45aaa00f28 feat: api integration for assignees 2024-04-07 13:00:43 +05:30
Sumit Bhanushali
585a34b4e9 feat: api integration for fields update 2024-04-07 02:52:14 +05:30
Sumit Bhanushali
e6c9782282 feat: crd for assignment modal, use store for state 2024-04-07 01:38:01 +05:30
Sumit Bhanushali
e13adaf372 fix: truncate when overflow 2024-04-05 13:26:29 +05:30
Sumit Bhanushali
c669ba4411 fix: activity should fill remaining space 2024-04-05 13:26:17 +05:30
Sumit Bhanushali
73ddf782c1 fix: misc ui fixes 2024-04-04 00:43:49 +05:30
Sumit Bhanushali
425b27db8d fix: shortened sidebar width 2024-04-04 00:43:23 +05:30
Sumit Bhanushali
e871141238 feat: add feedback in sidebar 2024-04-04 00:42:57 +05:30
Sumit Bhanushali
86322dbb71 feat: use placeholder from doctype 2024-04-04 00:41:17 +05:30
Sumit Bhanushali
857340a155 fix: better naming for collapsed activities 2024-04-04 00:38:11 +05:30
Sumit Bhanushali
b897ab7841 Merge branch 'main' into agent_communication_area 2024-04-03 15:19:42 +05:30
Sumit Bhanushali
11e0cf5893 Merge pull request #1742 from frappe/sumitbhanushali-patch-1
update readme
2024-04-03 11:53:51 +05:30
Sumit Bhanushali
8d707c88e0 Delete .github/logo_dark.svg 2024-04-03 11:50:55 +05:30
Sumit Bhanushali
161f6b23df Delete .github/logo_light.svg 2024-04-03 11:50:38 +05:30
Sumit Bhanushali
d7e27e1334 Update README.md 2024-04-03 11:48:53 +05:30
Sumit Bhanushali
346a2d9695 added "try on frappe cloud image" 2024-04-03 11:45:19 +05:30
Sumit Bhanushali
080c2f3875 update readme 2024-04-03 11:34:11 +05:30
Sumit Bhanushali
e2aef253bd Merge pull request #1741 from sumitbhanushali/fix-34-2
fix: remaining autocomplete cases
2024-04-03 10:43:53 +05:30
Sumit Bhanushali
7e40597758 fix: remaining autocomplete cases 2024-04-03 10:43:03 +05:30
Sumit Bhanushali
c0c45de588 Merge pull request #1740 from sumitbhanushali/fix-0304
fix: use correct autocomplete component
2024-04-03 10:24:45 +05:30
Sumit Bhanushali
014dc09042 fix: use correct autocomplete component 2024-04-03 10:18:52 +05:30
Sumit Bhanushali
e44dd4aaf4 Merge branch 'main' into agent_communication_area 2024-04-02 22:30:16 +05:30
Sumit Bhanushali
ed2800709e Merge pull request #1739 from sumitbhanushali/upg
upgraded frappe ui version and fixed breaking changes
2024-04-02 22:09:15 +05:30
Sumit Bhanushali
51d48f3b1a chore: remove deprecated file 2024-04-02 22:02:31 +05:30
Sumit Bhanushali
fe8ec63e77 chore: upgrade frappe ui 2024-04-02 21:57:14 +05:30
Ankush Menat
7536a79783 fix: ignore link to comments 2024-03-28 12:55:32 +05:30
Sumit Bhanushali
b714e32de5 Merge pull request #1728 from sumitbhanushali/canned_response_1
Canned response view and add item fix
2024-03-21 16:16:50 +05:30
Sumit Bhanushali
a2103086da fix: close add canned response dialog 2024-03-21 16:06:27 +05:30
Sumit Bhanushali
199b49c902 fix: refactor and route to new page after success fix 2024-03-21 16:01:44 +05:30
Sumit Bhanushali
46f448fec9 fix: detail view for canned response and refactor 2024-03-21 15:16:28 +05:30
Sumit Bhanushali
2ad3b0186e feat: added commarea in view 2024-03-20 17:37:45 +05:30
Sumit Bhanushali
ce43f5d5d0 feat: added fields in sidebar 2024-03-20 15:10:56 +05:30
Sumit Bhanushali
4cb8b915dd fix: reverted to old names 2024-03-17 17:29:38 +05:30
Sumit Bhanushali
876f7ed9ff feat(TicketsAgentList): empty state and optionally open in new tab 2024-03-17 13:02:20 +05:30
Sumit Bhanushali
7100b97abb Merge branch 'main' into agent_communication_area 2024-03-17 10:54:35 +05:30
Sumit Bhanushali
d8d39bbc63 Merge pull request #1726 from sumitbhanushali/fix-1603
Fix 1603
2024-03-16 13:49:27 +05:30
Sumit Bhanushali
0e07e5e825 fix: renamed name field to ID 2024-03-16 13:38:19 +05:30
Sumit Bhanushali
f70655803e fix(TicketNew): dont break when template not found 2024-03-16 13:34:01 +05:30
Sumit Bhanushali
2c129a45c1 Merge pull request #1723 from sumitbhanushali/fixes_1503
Knowledge Base, Report and filter fixes
2024-03-15 13:36:47 +05:30
Sumit Bhanushali
3ae8196768 feat: filter ticket by id 2024-03-15 13:05:50 +05:30
Sumit Bhanushali
d2f4d0e33b fix: missing imports 2024-03-15 13:05:30 +05:30
Sumit Bhanushali
354321219a fix: correct field, table name in ticket analytics report 2024-03-15 12:36:34 +05:30
Sumit Bhanushali
cfd5d8a172 fix: correct table name for first response time report 2024-03-15 12:35:54 +05:30
Sumit Bhanushali
30d3464317 fix: typo and send subcategoryid for article creation 2024-03-15 12:35:08 +05:30
Sumit Bhanushali
116caa86fe Merge pull request #1721 from sumitbhanushali/notify_perm_fix
fix: ignore permission on notification create
2024-03-14 14:40:01 +05:30
Sumit Bhanushali
fc38748811 fix: ignore permission on notification create 2024-03-14 14:33:35 +05:30
Sumit Bhanushali
56e07206cd Merge pull request #1720 from sumitbhanushali/mail_fix
fix: dont send mail for other notifications yet
2024-03-14 13:36:30 +05:30
Sumit Bhanushali
c864451170 fix: dont send mail for other notifications yet 2024-03-14 13:27:16 +05:30
Sumit Bhanushali
d2f454eeb1 Merge pull request #1719 from sumitbhanushali/fixes-1403
Assignment / Ticket Reopen notification and view all link fix
2024-03-14 13:15:31 +05:30
Sumit Bhanushali
4316c4b693 fix: view all link 2024-03-14 13:04:27 +05:30
Sumit Bhanushali
0c86485f03 feat: notify on assignment and ticket reopen 2024-03-14 13:04:11 +05:30
Sumit Bhanushali
91214152e5 feat: group similar activities 2024-03-13 01:14:02 +05:30
Sumit Bhanushali
52a9be3481 feat: added customer tickets tab 2024-03-12 18:09:17 +05:30
Sumit Bhanushali
80a7989c04 refactor: folder/file structure changes 2024-03-11 13:24:28 +05:30
Sumit Bhanushali
bdc8e46e35 feat: filtered emails on email tab 2024-03-10 15:13:46 +05:30
Sumit Bhanushali
42e588c629 feat: added history, viewed_by 2024-03-09 21:49:59 +05:30
Sumit Bhanushali
4058c66b88 feat: updated activity design, added comment box 2024-03-09 14:58:03 +05:30
Sumit Bhanushali
4e57abdbbe feat: added activities (email), assignment modal 2024-03-08 18:01:49 +05:30
Sumit Bhanushali
7f1417a2fd feat: added email box 2024-03-08 18:00:12 +05:30
Sumit Bhanushali
97aee90245 refactor(TicketsAgentList): use status store for color mapping 2024-03-08 17:51:20 +05:30
Sumit Bhanushali
4b56aaebcc Merge pull request #1715 from niraj2477/fix/ticket-attachment
fix: Attach attachments after the ticket is saved
2024-03-06 15:14:23 +05:30
14987
8800411517 fix: Attach attachments after the ticket is saved 2024-03-06 13:43:16 +05:30
Sumit Bhanushali
694d0f7a66 feat: added commentbox 2024-03-05 14:31:28 +05:30
Sumit Bhanushali
a21ad0ff54 feat: text editor redesign (WIP) 2024-03-04 17:50:05 +05:30
Sumit Bhanushali
68fcef0e15 Merge pull request #1713 from sumitbhanushali/patch-0403
Logo, User Menu and permission handling for ticket list
2024-03-04 15:25:59 +05:30
Sumit Bhanushali
50a98cac11 fix: use get_list for permission handling 2024-03-04 15:15:37 +05:30
Sumit Bhanushali
24662b7da3 fix: logo and user menu design 2024-03-04 15:15:04 +05:30
Sumit Bhanushali
5f433fea0a Merge pull request #1710 from sumitbhanushali/tickets_perf
fix: removed unnecessary refs
2024-02-28 14:34:42 +05:30
Sumit Bhanushali
092ca1993d fix: removed unnecessary refs 2024-02-28 13:32:21 +05:30
Sumit Bhanushali
db58298413 Merge pull request #1709 from sumitbhanushali/misc_fixes
Misc fixes
2024-02-27 16:54:04 +05:30
Sumit Bhanushali
01cf30e202 fix: word break 2024-02-27 15:07:56 +05:30
Sumit Bhanushali
798f538023 feat: save pagelength per user 2024-02-27 15:07:41 +05:30
Sumit Bhanushali
e0d100fd37 fix: foooter reverted to white 2024-02-27 15:07:21 +05:30
Sumit Bhanushali
3a08ce1221 Merge pull request #1705 from sumitbhanushali/revert_ticket_type
fix: revert pr 1700
2024-02-24 10:11:23 +05:30
Sumit Bhanushali
5835601c99 fix: revert pr 1700 2024-02-24 10:01:19 +05:30
Sumit Bhanushali
9e4bbad148 Merge pull request #1704 from sumitbhanushali/tickets2_tickets
refactor: migrated tickets2 to tickets
2024-02-23 15:06:49 +05:30
Sumit Bhanushali
2db2815baf refactor: migrated tickets2 to tickets 2024-02-23 14:59:57 +05:30
Sumit Bhanushali
8da060e2c9 Merge pull request #1703 from sumitbhanushali/fix_ticket_summary_report
fix: correct doctype names and label name
2024-02-23 13:41:34 +05:30
Sumit Bhanushali
305b374f36 fix: correct doctype names and label name 2024-02-23 13:36:14 +05:30
Sumit Bhanushali
ac74034466 Merge pull request #1700 from zeel-codder/feat-add-ticket-type-in-new-ticket-form
feat: add support for retrieving the ticket type when creating a new ticket
2024-02-23 13:20:00 +05:30
Sumit Bhanushali
b89ba8c193 Merge pull request #1701 from sumitbhanushali/tickets_edit_column
feat(TicketsAgent): column selector
2024-02-22 14:44:49 +05:30
Sumit Bhanushali
edc93ebc03 refactor: removed deprecated file 2024-02-22 14:40:31 +05:30
Sumit Bhanushali
3b6f923620 feat: added update, reset for column selector 2024-02-22 14:37:11 +05:30
Sumit Bhanushali
f64520b5b2 Merge branch 'main' into tickets_edit_column 2024-02-21 16:08:54 +05:30
Sumit Bhanushali
80d89dfcf7 Merge pull request #1702 from sumitbhanushali/refactor-ticket
feat(TicketsAgent): filter on field click (select, link, assign)
2024-02-21 16:06:41 +05:30
Sumit Bhanushali
ec583ebbe0 fix: pagination load more count and refactor 2024-02-21 15:40:30 +05:30
Sumit Bhanushali
d3ab2fed57 fix: handling for unassigned tickets 2024-02-21 15:18:59 +05:30
Sumit Bhanushali
72e9093709 fix: assignee label overflow 2024-02-21 15:18:38 +05:30
Sumit Bhanushali
c625c47ce0 feat: added column selector 2024-02-21 13:08:42 +05:30
zeel-codder
598fe98e5b feat: remove the unused code 2024-02-20 15:38:21 +05:30
zeel-codder
9c68d17280 feat: update ticket creation endpoint to include ticket type in request body 2024-02-20 15:28:26 +05:30
Sumit Bhanushali
37458d8812 feat: filter on assignee field 2024-02-20 15:26:38 +05:30
zeel-codder
1755951200 feat: update component to fetch data with store and add Autocomplete component for ticket type 2024-02-20 13:39:09 +05:30
Sumit Bhanushali
2fe5ef5d06 Merge branch 'main' into refactor-ticket 2024-02-19 18:23:09 +05:30
Sumit Bhanushali
10b8b95e5d Merge pull request #1699 from sumitbhanushali/ticket_list_assignee
feat: added assignee column
2024-02-19 18:22:02 +05:30
Sumit Bhanushali
3fa24f2ffb fix: translatable string 2024-02-19 18:16:05 +05:30
Sumit Bhanushali
965e66e49a feat: added assignee column 2024-02-19 18:05:10 +05:30
Sumit Bhanushali
f3dbe5a8b5 Merge branch 'main' into refactor-ticket 2024-02-19 13:31:48 +05:30
Sumit Bhanushali
ef46fc7401 Merge pull request #1696 from sumitbhanushali/article_search_fix
fix: article substring search when creating ticket
2024-02-17 09:26:41 +05:30
Sumit Bhanushali
87097feb47 refactor: moved api to article specific file 2024-02-16 20:57:07 +05:30
Sumit Bhanushali
9b98aa5433 fix: article substring search when creating ticket 2024-02-16 19:55:09 +05:30
Sumit Bhanushali
b451beb98c Merge branch 'main' into refactor-ticket 2024-02-16 16:22:42 +05:30
Sumit Bhanushali
f61e009819 feat: apply filter when clicked on link/select fields 2024-02-16 16:21:55 +05:30
Sumit Bhanushali
973de68134 Merge pull request #1694 from sumitbhanushali/refactor-ticket
updates in new tickets agent list
2024-02-16 16:20:54 +05:30
Sumit Bhanushali
d0531df292 fix: reply button out of view in mobile screens 2024-02-16 15:24:37 +05:30
Sumit Bhanushali
2c211b2330 feat: added pagination in new tickets agent list 2024-02-13 09:52:32 +05:30
Sumit Bhanushali
fc8bcb63c2 Merge pull request #1693 from frappe/revert-1692-refactor-ticket
Revert "chore: added temporary banner for offsite"
2024-02-12 13:51:48 +05:30
Sumit Bhanushali
3d8eafe199 Revert "chore: added temporary banner for offsite" 2024-02-12 13:49:56 +05:30
Sumit Bhanushali
45958cce69 Merge pull request #1692 from sumitbhanushali/refactor-ticket
chore: added temporary banner for offsite
2024-02-12 13:41:55 +05:30
Sumit Bhanushali
6e60a75395 chore: added temporary banner for offsite 2024-02-12 13:34:58 +05:30
Sumit Bhanushali
8ff1d8d704 Merge pull request #1686 from sumitbhanushali/refactor-ticket
Refactor ticket agent list, filter, sort
2024-02-08 21:48:40 +05:30
Sumit Bhanushali
186c288f5c fix: import typo 2024-02-08 17:51:20 +05:30
Sumit Bhanushali
3ab9807f19 fix: sidebar link and styles 2024-02-08 17:10:09 +05:30
Sumit Bhanushali
83d329c7e9 fix: get existing value on filter update 2024-02-08 17:09:26 +05:30
Sumit Bhanushali
c89399bb2d fix: color and font size of row item 2024-02-08 17:08:04 +05:30
Sumit Bhanushali
59b579edb2 feat: added sort 2024-02-07 23:09:51 +05:30
Sumit Bhanushali
3b733f5357 Merge branch 'main' into refactor-ticket 2024-02-06 14:57:37 +05:30
Sumit Bhanushali
fadab150fc feat: added preset filters 2024-02-06 00:30:57 +05:30
Sumit Bhanushali
4e80829969 fix: indicator color 2024-02-06 00:30:17 +05:30
Sumit Bhanushali
2698ac8502 fix: ticket agent column widths 2024-02-05 15:27:08 +05:30
Sumit Bhanushali
97476a60a4 feat: added ticketsagent2 as default 2024-02-05 14:44:22 +05:30
Sumit Bhanushali
8f12cdb6a5 feat: added badge for agreement status 2024-02-05 14:39:06 +05:30
Sumit Bhanushali
28983e9447 feat(TicketsAgent): rewrite filter and list view, added beta route 2024-02-05 13:54:59 +05:30
Saqib Ansari
5193bc8d04 chore: move devDependencies to dependencies 2024-02-02 13:11:56 +05:30
Sumit Bhanushali
92abb989ca chore: package version upgrade 2024-02-02 12:58:46 +05:30
Sumit Bhanushali
65dc4d568d feat: add pagination support in api 2024-02-02 12:58:18 +05:30
Sumit Bhanushali
a35bec5fb2 Merge pull request #1684 from sumitbhanushali/hotfix-1324
feat(ticketcustomer): show datetime on hover on sla times
2024-01-31 23:38:30 +05:30
Sumit Bhanushali
f53b38c0fc fix: added/imported layout header 2024-01-31 14:45:39 +05:30
Sumit Bhanushali
449a27a37e chore: refactor ticketagent and filter 2024-01-31 14:37:50 +05:30
Sumit Bhanushali
57ef79a6c5 feat: added get_list_data api 2024-01-31 14:05:58 +05:30
Ankush Menat
d8771a393a fix: Remove useless error message
Actual message is almost always more useful, this can be an additional
message but not a replacement.
2024-01-31 11:31:35 +05:30
Sumit Bhanushali
6a37cfd5fc feat(ticketcustomer): show datetime on hover on sla times 2024-01-17 15:59:45 +05:30
Ankush Menat
bd83467f9e chore: cast to bool 2024-01-10 23:36:20 +05:30
Faris Ansari
318a7dbc5e fix: use fallbackerrorhandler for unhandled resource errors 2024-01-03 14:39:11 +05:30
Faris Ansari
d1a2b93a29 Merge pull request #1672 from sumitbhanushali/cust-ticket-priority
display ticket priority on customer ticket list and detail view
2024-01-03 10:51:49 +05:30
Sumit Bhanushali
7c7ebefb12 display ticket priority on customer ticket list and detail view 2024-01-03 10:25:34 +05:30
Ankush Menat
5e81345b6e fix: escape search string 2024-01-02 16:31:15 +05:30
Ankush Menat
1e13e774f5 fix: ignore linked notification on delete
ref https://github.com/frappe/helpdesk/issues/1668
2024-01-01 16:27:35 +05:30
Shadrak Gurupnor
8f68dfdf5e Merge pull request #1664 from shadrak98/fix-install
fix: install script
2023-12-22 12:54:38 +05:30
Shadrak Gurupnor
34994574e7 fix: add mandatory redirect status 2023-12-22 12:41:36 +05:30
Shadrak Gurupnor
5c1bf35bfb chore: black 2023-12-22 12:32:16 +05:30
Shadrak Gurupnor
ebc02c799e fix: install script 2023-12-22 12:28:40 +05:30
Shadrak Gurupnor
fa355b5e3e Merge pull request #1658 from shadrak98/fix-mentions
fix: show comment in email
2023-12-22 12:07:38 +05:30
Shadrak Gurupnor
62158731df fix: use new_doc instead of get_doc 2023-12-22 11:31:00 +05:30
Shadrak Gurupnor
0fca9f1acc chore: black 2023-12-21 10:01:05 +05:30
Shadrak Gurupnor
747fefdb2d fix: show comment in email 2023-12-21 09:46:30 +05:30
Rutwik Hiwalkar
0ccfc63b31 Merge pull request #1657 from rutwikhdev/patch-ux
fix(ui): Add gaps between grid
2023-12-20 18:29:44 +05:30
rutwik
b0c9358491 fix(ui): Add gaps between grid 2023-12-20 18:28:37 +05:30
Rutwik Hiwalkar
e7758df458 Merge pull request #1654 from rutwikhdev/copy-ticket-id
feat: Copy ticket id when clicked on subject in breadcrumb
2023-12-18 20:51:07 +05:30
rutwik
cd1320b520 feat: Copy ticket id when clicked on subject in breadcrumb 2023-12-18 20:42:59 +05:30
Ankush Menat
4ce921c9c8 build: enable sourcemaps for easy debugging 2023-12-18 16:07:47 +05:30
Ankush Menat
1b273ee95c fix: index reference ticket on comments 2023-12-17 15:33:57 +05:30
Rutwik Hiwalkar
440973d18f Merge pull request #1652 from rutwikhdev/fix-negative-resolution-time
fix: Negative resolution time
2023-12-14 21:04:35 +05:30
rutwik
e2dcc7f8fc fix: Negative resolution time
- refactored from crm
- time_diff_in_seconds args in previous code were in incorrect order 5efc39dee0/helpdesk/helpdesk/doctype/hd_service_level_agreement/hd_service_level_agreement.py (L306)
2023-12-14 20:16:04 +05:30
Rutwik Hiwalkar
5efc39dee0 Merge pull request #1650 from rutwikhdev/customer-portal-ux
chore(ux): Show response and resolution details on customer portal
2023-12-13 22:53:49 +05:30
rutwik
dac4c04d55 refactor: Show sla status if replied or resolved 2023-12-13 22:26:51 +05:30
rutwik
d0e211f10a chore(ux): Show response and resolution details on customer portal 2023-12-13 19:17:01 +05:30
Shadrak Gurupnor
15d849a3be fix: change Resolve btn to 'Resolve and Close' on portal (#1645)
* fix!: change Resolve btn to Resolve and Close on portal

On Resolve and Close, change the status to close

* chore: better name for close button
2023-12-12 15:21:26 +05:30
Shadrak Gurupnor
d0ba8b43a3 fix: don't allow replying on closed tickets (#1642) 2023-12-06 13:20:24 +05:30
Dany Robert
864d046bac fix: fetch onlt HD Customer contacts (#1624) 2023-11-27 12:10:17 +05:30
Sabu Siyad
81b106d1b8 fix(perms): ticket: list query conditions (#1634)
* fix(perms): ticket: list query conditions

* fix: add table name (for joins)

* fix: whitespace
2023-11-24 12:12:09 +05:30
Sabu Siyad
8a56d5c736 fix: readme: logos inverted 2023-11-23 16:54:50 +05:30
Sabu Siyad
ab5e8efde7 chore: readme: fix logo 2023-11-23 16:49:54 +05:30
Sabu Siyad
7d2bec0bf2 chore: readme: update logo 2023-11-23 14:19:38 +05:30
Sabu Siyad
a908e4f8ba fix(perms): ticket: remove if_owner (#1632) 2023-11-23 13:46:23 +05:30
Sabu Siyad
e845fb1069 fix: filters: reactivity (#1631) 2023-11-23 12:07:19 +05:30
Sabu Siyad
2352631aca chore: simplify stores/auth exports 2023-11-13 23:51:39 +05:30
Sabu Siyad
fb4e3ce581 fix(ux): sla: reopen: fetch resolution_date from old doc (#1623) 2023-11-08 16:28:27 +05:30
Ankush Menat
fc32d77407 fix: ignore customer condition if agent 2023-11-06 10:37:31 +05:30
Sabu Siyad
3f99ef857e Revert "feat: auto populate email signatures (agent only) (#1603)"
This reverts commit f24177ae12.
2023-10-26 15:09:02 +05:30
Sabu Siyad
e04e0d2996 chore: remove unused method: create_communication 2023-10-25 13:13:10 +05:30
Sabu Siyad
98d943fe56 chore: route: add redirect from auth (#1609) 2023-10-24 14:23:25 +05:30
Ankush Menat
25f122de8c fix: patch for first response 2023-10-24 13:44:49 +05:30
Sabu Siyad
e3989fa3bd patch(ticket): first response from communication (#1606)
* patch(ticket): first response from communication

This used to be set from `Replied` status. The logic is then changed to
fetch first response from communication instead

* Revert "fix(ux): set first response at even without `replied` status (#1605)"

This reverts commit 2da9503dc1.

* fix(ux): set first response on `Replied`

* fix: fetch value directly and avoid update where applicable

---------

Co-authored-by: Ankush Menat <ankush@frappe.io>
2023-10-23 21:28:08 +05:30
Sabu Siyad
c3f4c8b8f2 chore: ticket: remove unused whitelisted method: get_communications 2023-10-23 12:43:54 +05:30
Sabu Siyad
2da9503dc1 fix(ux): set first response at even without replied status (#1605) 2023-10-23 12:22:06 +05:30
Sabu Siyad
de10d81e49 fix: filter contact with multiple customer (#1604) 2023-10-21 00:48:49 +05:30
Sabu Siyad
f24177ae12 feat: auto populate email signatures (agent only) (#1603) 2023-10-20 00:30:17 +05:30
Sabu Siyad
c4c4163910 feat: ticket tags (#1602) 2023-10-19 23:39:29 +05:30
Sabu Siyad
d1bcc1c7ca fix: ticket: details: resolution status logic 2023-10-17 22:49:43 +05:30
Sabu Siyad
c89adc25bd Merge pull request #1600 from ssiyad/fix/ux/allow_empty_sla
fix(ux): allow empty sla
2023-10-17 21:19:53 +05:30
Sabu Siyad
2d07252a27 chore: handle if sla does not exist 2023-10-17 21:09:14 +05:30
Sabu Siyad
079036fd9b fix: agreement status: remove default 2023-10-17 16:22:07 +05:30
Sabu Siyad
633c9a184e fix(ux): allow deleting default sla 2023-10-17 14:42:28 +05:30
Sabu Siyad
273c98a767 fix(ux): allow empty sla 2023-10-17 14:37:34 +05:30
Sabu Siyad
c6a2f4f1b6 fix: sla: cover only HD Ticket 2023-10-13 11:43:05 +05:30
Sabu Siyad
9e2aee5f14 fix: reopen tickets on communication received 2023-10-13 11:37:24 +05:30
Sabu Siyad
31fe610228 Revert "chore: ticket: move first response logic"
This reverts commit f1b27758e8.
2023-10-13 11:37:24 +05:30
Sabu Siyad
f148d7657a Merge pull request #1597 from ankush/condition_wrong_why
fix: share why condition is wrong
2023-10-13 11:20:29 +05:30
Ankush Menat
afebb7a22c fix: share why condition is wrong
It's hard to figure out what's the problem without exception.
2023-10-13 11:12:27 +05:30
Sabu Siyad
5e1e22b536 fix: ticket: status update: handle error 2023-10-13 11:09:35 +05:30
Sabu Siyad
a7479f35d2 Merge pull request #1586 from rtdany10/no-assignee
fix: unable to view ticket if no assignee
2023-10-12 11:47:57 +05:30
Sabu Siyad
f1b27758e8 chore: ticket: move first response logic 2023-10-12 11:34:05 +05:30
Sabu Siyad
45cea5d825 fix: knowledge base: scroll 2023-10-12 01:05:51 +05:30
Sabu Siyad
64c0e1e283 fix: tickets: perms: allow if owner (#1595) 2023-10-12 00:54:57 +05:30
Sabu Siyad
75627e64f7 chore: hooks: use on_communication_update (#1594) 2023-10-12 00:23:23 +05:30
Sabu Siyad
28e402e12f fix(ci): mariadb client (#1593) 2023-10-11 23:23:42 +05:30
Sabu Siyad
3d494d8299 chore: move device specific logic to a composable (#1592) 2023-10-11 23:07:04 +05:30
Sabu Siyad
04d857277e feat: search & command palette (#1583) 2023-10-11 22:29:13 +05:30
Sabu Siyad
0c4c66cda2 fix: ticket: perms: use hook (#1587) 2023-10-10 01:11:12 +05:30
Dany Robert
d525fb7a95 fix: unable to view ticket if no assignee 2023-10-09 13:43:11 +00:00
Sabu Siyad
fefb2e5b01 fix(ux): ticket: move feedback to master doctype (#1585) 2023-10-09 00:47:58 +05:30
Sabu Siyad
eaac0bd306 chore(ui/ux): ticket: move actions to separate tab (#1579) 2023-10-02 16:48:53 +05:30
Sabu Siyad
c0c0bfdc68 chore(ui): ticket: sidebar: use shadow 2023-10-01 20:14:26 +05:30
Sabu Siyad
863bbeb7ca fix(ui): ticket: sidebar: darker icons 2023-10-01 20:00:11 +05:30
Sabu Siyad
a2ebf0ee37 fix(ui): custom fields label size/spacing 2023-10-01 19:55:11 +05:30
Sabu Siyad
1bee333100 fix(realtime): v14 (#1578) 2023-10-01 12:47:09 +05:30
Sabu Siyad
993eba6a4c chore: remove unused components (#1575) 2023-09-28 22:32:22 +05:30
Sabu Siyad
8b0091f9b9 chore(api): remove unused whitelisted method 2023-09-28 13:40:25 +05:30
Sabu Siyad
22a5e75d16 fix(api): get_list: restrict to Helpdesk doctypes (#1574) 2023-09-28 13:17:31 +05:30
Sabu Siyad
6fcb57b1d0 fix: remove user store (#1572) 2023-09-27 17:48:50 +05:30
Sabu Siyad
f47e877bbd fix: tickets: agent: source 2023-09-25 12:00:12 +05:30
Sabu Siyad
316d808655 fix sidebar z; remove notification animation 2023-09-21 12:01:58 +05:30
Sabu Siyad
5b3fb67bca fix: notification: order by creation 2023-09-21 11:46:31 +05:30
Sabu Siyad
3fa57edb8c fix: notification: filter with user_to 2023-09-21 11:44:55 +05:30
Sabu Siyad
5f1abb95e3 fix: ui: App.vue: fixed 2023-09-20 22:37:46 +05:30
Sabu Siyad
6e0346d363 feat: notifications tab (#1567) 2023-09-20 22:23:49 +05:30
Sabu Siyad
ba1a67153d chore: move first_responded_on from sla to ticket (#1563) 2023-09-18 17:13:32 +05:30
Sabu Siyad
b5e91624bb fix: unintended foobar 2023-09-18 00:23:09 +05:30
Sabu Siyad
0997bc681f feat: list view: compute singular and plural 2023-09-18 00:21:55 +05:30
Abdallah A. Zaqout
4a22a1abf0 fix: holiday list in calendar view 2023-09-17 20:05:47 +05:30
Sabu Siyad
f97367f10c chore: hide number of rows if no data 2023-09-16 01:46:01 +05:30
Sabu Siyad
1d6a5e0e61 fix: knowledge base sub category: pass doctype 2023-09-16 01:39:04 +05:30
Sabu Siyad
5ae035d1b3 fix: list nav: overflow 2023-09-16 01:37:58 +05:30
Sabu Siyad
38b39d62a5 chore: sidebar link: remove icon type 2023-09-16 01:34:13 +05:30
Sabu Siyad
1506300ed7 feat: list_view: refactor (#1560) 2023-09-16 01:28:39 +05:30
Sabu Siyad
c66fdb0bcf fix(ui): sidebar: darker icons if not expanded 2023-09-14 11:43:34 +05:30
Sabu Siyad
72bd51dc61 chore: move popover class to layers 2023-09-14 11:09:30 +05:30
Sabu Siyad
57b23e7163 fix(ui): column selector: use ring 2023-09-14 11:03:21 +05:30
Sabu Siyad
427c6bd38d feat(ui): column selector: use Switch and NestedPopover (#1559) 2023-09-14 00:00:50 +05:30
Sabu Siyad
81529cac31 chore: use lucide static (#1558) 2023-09-13 15:14:37 +05:30
Sabu Siyad
18f8fc99dd feat: tickets: conversation count (#1557)
- Incoming
- Outgoing
- Comments

Also,
- Introduce `lucide-static`
- Auto import for icons
2023-09-13 13:38:17 +05:30
Sabu Siyad
bc9858ea2e fix: list view: skip fields if doctype is not given 2023-09-13 10:52:04 +05:30
Sabu Siyad
33aaf03c9b fix: user avatar: remove text-base 2023-09-13 10:51:27 +05:30
Sabu Siyad
e90afaf698 fix: fields: use store 2023-09-13 10:41:29 +05:30
Sabu Siyad
6630c4beb7 fix(ui): prose: break-words -> break-all 2023-09-13 09:40:13 +05:30
Sabu Siyad
c6c55e72ac fix: open tickets: link 2023-09-09 13:23:33 +05:30
Sabu Siyad
93102801fe fix(ui): knowledge base: header 2023-09-08 00:02:18 +05:30
Sabu Siyad
025c574f43 fix(ui): knowledge base: paddings 2023-09-07 23:44:16 +05:30
Sabu Siyad
77067d14f9 chore(ui): knowledge base: update padding and margins 2023-09-07 23:28:31 +05:30
Sabu Siyad
9d71f6a0e3 fix: knowledge base link: wrong route (#1551)
closes: https://github.com/frappe/helpdesk/issues/1538
2023-09-06 23:48:36 +05:30
Sabu Siyad
48f68d384a fix: report: ticket analytics (#1550)
- wrong doctype
closes: https://github.com/frappe/helpdesk/issues/1549
2023-09-06 23:46:15 +05:30
Sabu Siyad
b6f3700764 chore: ticket: new: page meta: title 2023-09-04 14:52:04 +05:30
Sabu Siyad
b8f740ded4 feat(ui): ticket: move status up (#1547) 2023-09-04 14:06:20 +05:30
Sabu Siyad
b870908d25 feat: template: ability to add standard fields (#1546) 2023-09-04 03:29:56 +05:30
Sabu Siyad
2fee950d26 chore: update screenshot 2023-09-04 00:14:24 +05:30
Sabu Siyad
3730062668 chore(ui): list view: row selection color: blue 2023-09-03 22:22:55 +05:30
Sabu Siyad
d52271bb4f chore: readme: update screenshot 2023-09-03 22:04:10 +05:30
Sabu Siyad
645451b316 chore(ui): tickets: expand assign (#1545)
- reuse `UserAvatar`
2023-09-03 21:02:43 +05:30
Sabu Siyad
e58effb9e7 fix: prose: code: word break: all 2023-09-01 11:25:18 +05:30
Sabu Siyad
f653b6eb5d fix: sla: wrong logic when setting resolution_date 2023-09-01 00:16:10 +05:30
Sabu Siyad
dd8c0e21a5 chore: ticket: comment: change background to cyan 2023-08-31 16:48:45 +05:30
Sabu Siyad
10cc563d76 feat: ticket: comment: mention notifications (#1543)
* feat: ticket: comment: mention notifications
* chore: add email to queue
2023-08-31 14:19:33 +05:30
Sabu Siyad
f7b9748dcd fix: sla: remove unwanted hide conditions (#1544) 2023-08-31 13:54:02 +05:30
Sabu Siyad
93bf9b6b22 fix: prose: white-space: wrap 2023-08-30 21:38:33 +05:30
Sabu Siyad
34b025af02 feat: actions (#1541)
* feat: actions

This is a customisation which lets you add arbitrary button on top of
ticket page (agent portal only). JavaScript snippets can be run (basic).
This helps for things like
- Open Frappe Cloud dashboard from site name
- Search Google with ticket subject
- Search Wiki etc.
This is available for only tickets for now. The scripting is basic too.

* feat: `is_enabled` check
2023-08-30 03:53:14 +05:30
Sabu Siyad
187e4175ca chore: soft hide unfinished sidebar items 2023-08-30 00:36:47 +05:30
Sabu Siyad
7bf0d5bf3f fix: ticket: agent: template fields 2023-08-29 16:59:10 +05:30
Sabu Siyad
63c790549b feat: text editor: mobile: better button position 2023-08-27 22:40:31 +05:30
Sabu Siyad
1d800140b8 refactor: ticket: merge (#1535) 2023-08-27 22:27:34 +05:30
Sabu Siyad
63ed81eb32 Merge pull request #1534 from frappe/adityahase-patch-1
fix: Don't attempt rename if old DocType doesn't exist
2023-08-27 18:29:54 +05:30
Aditya Hase
bb154a10c4 fix: Don't attempt rename if old DocType doesn't exist 2023-08-26 22:02:56 +05:30
Sabu Siyad
655e2704f2 fix: sla: use get_datetime instead of getdate 2023-08-25 15:59:28 +05:30
Sabu Siyad
71fddcfedc fix: sla: date comparison: convert to datetime 2023-08-25 15:23:39 +05:30
Sabu Siyad
96e607fe7f chore(ui): ticket: add source and modified in sidebar 2023-08-24 15:04:04 +05:30
Sabu Siyad
6228501ddf Merge pull request #1531 from ssiyad/chore/ui/updates
chore(ui): layout changes
2023-08-24 14:47:03 +05:30
Sabu Siyad
acc3fa21f8 chore(ui): ticket list: move dropdown below 2023-08-24 14:37:51 +05:30
Sabu Siyad
76930d57a8 chore(ui): layout changes 2023-08-24 14:30:45 +05:30
Sabu Siyad
b7a7b0ee3e Merge pull request #1530 from ssiyad/chore/ui/updates
chore(ui): padding/style
2023-08-23 23:39:59 +05:30
Sabu Siyad
2c35db02b7 chore(ui): list view: padding 2023-08-23 23:22:22 +05:30
Sabu Siyad
82acc80bc3 chore(ui): update page header paddings 2023-08-23 23:08:54 +05:30
Sabu Siyad
140952ede5 Merge pull request #1529 from ssiyad/patch/ticket/replace_overdue_with_failed
patch: ticket: replace `Overdue` with `Failed` (Agreement status)
2023-08-23 20:27:20 +05:30
Sabu Siyad
05fcfcac0a patch: ticket: replace Overdue with Failed (Agreement status) 2023-08-23 20:10:44 +05:30
Sabu Siyad
4b6c53c218 Merge pull request #1526 from ssiyad/chore/rm_branding
Remove branding - favicon & custom name
2023-08-23 18:35:27 +05:30
Sabu Siyad
732c7425b5 feat: use usePageMeta to set page title
- all main pages (accessible from sidebar)
- ticket (agent portal)
2023-08-23 18:19:22 +05:30
Sabu Siyad
59570052ad chore: remove brand favicon and custom helpdesk name 2023-08-23 18:00:08 +05:30
Sabu Siyad
909c6722f9 Merge pull request #1525 from ssiyad/fix/sla_status_logic
fix: sla status logic
2023-08-23 17:44:07 +05:30
Sabu Siyad
464bbb67f6 fix: prefer Failed over other statuses 2023-08-23 17:38:00 +05:30
Sabu Siyad
cd8d6daa0a feat: ticket list: add agreement status 2023-08-23 17:26:13 +05:30
Sabu Siyad
5bd6d0c73d fix: reset resolution time when fulfilled -> non-fulfilled 2023-08-23 17:15:49 +05:30
Sabu Siyad
6796ca8abb fix: sla status logic 2023-08-23 17:11:33 +05:30
Sabu Siyad
0886b26049 Revert "fix: ticket: perms"
This reverts commit 326b620b95.
2023-08-23 11:11:23 +05:30
Sabu Siyad
1ffb3a4c33 Merge pull request #1513 from ssiyad/feat/ui/improvements
chore: ui changes
2023-08-22 21:05:13 +05:30
Sabu Siyad
8bf4743cf3 Merge pull request #1519 from ssiyad/fix/ticket/perms
fix: ticket: perms
2023-08-22 20:58:05 +05:30
Sabu Siyad
80198bc21e chore: filters: sort fields 2023-08-22 20:54:52 +05:30
Sabu Siyad
57ec550881 chore(ui): ticket list: rearrange buttons 2023-08-22 20:50:50 +05:30
Sabu Siyad
e5f2018295 chore: remove headlessui (is available from frappe-ui) 2023-08-22 20:47:38 +05:30
Sabu Siyad
4686b38013 chore: re-arrange imports 2023-08-22 15:54:49 +05:30
Sabu Siyad
2d18f09209 fix: list view: action 2023-08-22 15:50:29 +05:30
Sabu Siyad
5873204197 chore(ui): list view: style changes 2023-08-22 15:33:16 +05:30
Sabu Siyad
326b620b95 fix: ticket: perms 2023-08-22 14:38:58 +05:30
Sabu Siyad
131d4fbbeb fix: sla: holidays: transform 2023-08-22 14:11:34 +05:30
Sabu Siyad
8a7d73e0e3 Merge pull request #1517 from ssiyad/fix/sla/get_logic
fix: sla: get logic: use qb with `or`
2023-08-22 13:38:41 +05:30
Sabu Siyad
29482959a1 feat: join by priority (if present) 2023-08-22 13:26:14 +05:30
Sabu Siyad
0a43f3ebbe fix: sla: get logic: use qb with or 2023-08-22 13:08:14 +05:30
Sabu Siyad
85f73475cd Merge pull request #1515 from ssiyad/fix/patch/ticket_missing_sla_creation
patch: handle missing sla creation
2023-08-22 10:28:06 +05:30
Sabu Siyad
7ed242f731 patch: handle missing sla creation 2023-08-22 10:15:41 +05:30
Sabu Siyad
df6ffd7695 fix: prose: break-words
closes: https://github.com/frappe/helpdesk/issues/1501
2023-08-21 23:13:47 +05:30
Sabu Siyad
c191255e91 fix: socket: use site name as namespace 2023-08-21 23:00:43 +05:30
Sabu Siyad
3e0dd3182c feat: ticket list: tooltip on targets (response and resolution) 2023-08-21 22:29:57 +05:30
Sabu Siyad
9631693382 Merge pull request #1508 from ssiyad/refactor/sla
Refactor: SLA
2023-08-21 22:17:34 +05:30
Sabu Siyad
a2ee7fc643 Merge pull request #1514 from ssiyad/feat/ticket_list/response_and_resolution
feat: ticket list: add `response` and `resolution` with badges
2023-08-21 22:17:16 +05:30
Sabu Siyad
91ddcfef03 feat: ticket list: add response and resolution with badges 2023-08-21 22:16:23 +05:30
Sabu Siyad
ec646c92cd chore: move var down below 2023-08-21 21:41:22 +05:30
Sabu Siyad
3aeda5fb92 Merge branch 'main' into refactor/sla 2023-08-21 21:39:55 +05:30
Sabu Siyad
40f66ccbb9 chore: filter: new design 2023-08-21 21:39:11 +05:30
Sabu Siyad
26e82620bb feat: list navbar: with pagelength 2023-08-21 17:25:08 +05:30
Sabu Siyad
d128aec23b chore: ticket: scroll: remove pulse 2023-08-21 03:21:21 +05:30
Sabu Siyad
b56a4d047a chore: ticket list: status badge: default size 2023-08-21 03:11:25 +05:30
Sabu Siyad
7ab6cc7fbe chore: remove transition 2023-08-21 03:09:13 +05:30
Sabu Siyad
321586025f Merge pull request #1509 from ssiyad/fix/dashboard/grid
fix(ui): dashboard: apply grid col 3 on `sm`
2023-08-21 03:04:30 +05:30
Sabu Siyad
ee0c34e5b3 fix(ui): dashboard: apply grid col 3 on sm 2023-08-21 03:03:23 +05:30
Sabu Siyad
e6860981f6 fix: unset resolution_date on hold 2023-08-21 02:54:49 +05:30
Sabu Siyad
98ad1a2dbf feat: calculate time took 2023-08-21 02:49:13 +05:30
Sabu Siyad
dab6f08430 chore: remove unwanted fields 2023-08-19 01:21:10 +05:30
Sabu Siyad
603e3e5ea2 chore: remove hook 2023-08-19 01:19:24 +05:30
Sabu Siyad
f36ab15e1d refactor: stage 5 2023-08-19 01:14:42 +05:30
Sabu Siyad
5114c0a906 refactor: stage 4 2023-08-19 00:53:41 +05:30
Sabu Siyad
a5c73e1b62 refactor: stage 3 2023-08-19 00:43:25 +05:30
Sabu Siyad
0736dfafa1 fix:time should always be in work hours 2023-08-19 00:21:10 +05:30
Sabu Siyad
8232f81a3a refactor: stage 2 2023-08-18 23:33:38 +05:30
Sabu Siyad
6b0a8b08e7 refactor: stage 1 2023-08-16 02:04:29 +05:30
Sabu Siyad
5f3af1c435 Merge pull request #1499 from ssiyad/feat/sidebar_manually_expand_collapse
feat: sidebar: manually expand or collapse (persistent)
2023-08-15 12:47:24 +05:30
Sabu Siyad
c5fcfe4216 feat: sidebar: manually expand or collapse (persistent) 2023-08-15 12:37:09 +05:30
Sabu Siyad
fb2310c5df fix: filter not getting applied on refresh/url 2023-08-15 11:51:30 +05:30
Sabu Siyad
4b86aec95a fix: autoload only if doctype is given 2023-08-15 03:14:27 +05:30
Sabu Siyad
4e0e780d25 Merge pull request #1494 from ssiyad/chore/extend_dayjs
chore: extend dayjs
2023-08-15 02:46:46 +05:30
Sabu Siyad
927a2ce4a5 chore: extend dayjs 2023-08-15 02:41:03 +05:30
Sabu Siyad
88e759947b Merge pull request #1493 from ssiyad/feat/list_view_filters
feat: list view: filters
2023-08-15 00:56:51 +05:30
Sabu Siyad
2df490bfd5 feat: list view: filters
Primary: Apply filter when clicking on a `Select` or `Link` field
Other: Refactor/clean utils,
2023-08-15 00:18:23 +05:30
Sabu Siyad
8e2ed582b7 chore: ticket list: due in & last modified: reduce size 2023-08-14 15:31:47 +05:30
Sabu Siyad
be25431f38 chore: ticket list: reduce status column size 2023-08-14 15:25:50 +05:30
Sabu Siyad
a09faa36be fix: list view: replace space-x-2 with gap-2 2023-08-14 15:10:10 +05:30
Sabu Siyad
a485e4f8d4 chore: ticket list: font medium if unseen 2023-08-14 14:57:46 +05:30
Sabu Siyad
10122e21fd fix(ui): comment: change background color 2023-08-14 14:38:26 +05:30
Sabu Siyad
ab6e592c77 fix: ticket list: columns and sizes 2023-08-14 14:34:55 +05:30
Sabu Siyad
84beefb8bd fix(ui): list view: padding 2023-08-14 13:19:03 +05:30
Sabu Siyad
58b005cf63 fix(ui): table: padding/margin 2023-08-14 12:48:52 +05:30
Sabu Siyad
2da50dd03e chore(ui): dashboard: title 2023-08-14 12:30:46 +05:30
Sabu Siyad
f4e268b324 fix(ui): user avatar: fallback 2023-08-14 12:17:02 +05:30
Sabu Siyad
7c253d63e1 fix(ui): convo: avatar: use lg instead of md (default) 2023-08-14 02:00:55 +05:30
Sabu Siyad
7af161700e Merge pull request #1489 from ssiyad/chore/ux/do_not_set_replied_auto
chore(ux): do not auto set ticket as replied
2023-08-14 01:54:37 +05:30
Sabu Siyad
d34afc4f00 Merge pull request #1488 from ssiyad/fix/socket/reload_on_new_ticket
fix(socket): reload ticket list (on new)
2023-08-14 01:54:22 +05:30
Sabu Siyad
733e092977 chore(ux): do not auto set ticket as replied 2023-08-14 01:47:59 +05:30
Sabu Siyad
0d9ba2ed7f fix(socket): reload ticket list (on new) 2023-08-14 01:43:13 +05:30
Sabu Siyad
82b4b593db Merge pull request #1487 from ssiyad/chore/ui/seperate_history_views
chore(ui): separate history and views tabs
2023-08-14 01:11:03 +05:30
Sabu Siyad
3f6131691d fix(ui): padding 2023-08-14 01:02:48 +05:30
Sabu Siyad
0a4dc64fb1 chore(ui): separate history and views tabs 2023-08-14 00:59:43 +05:30
Sabu Siyad
370ad8b32a feat(ui): redesign convo list (agent portal) 2023-08-14 00:32:06 +05:30
Sabu Siyad
87dcfece32 Merge pull request #1486 from ssiyad/refactor/text_editor
refactor: text editor
2023-08-13 23:18:14 +05:30
Sabu Siyad
85be7e6ede Merge branch 'main' into refactor/text_editor 2023-08-13 23:06:25 +05:30
Sabu Siyad
0c7ad7f467 refactor: text editor 2023-08-13 23:01:21 +05:30
Michelle Alva
064b44ebc0 fix: rearrange columns in ticket list view (#1485) 2023-08-13 20:11:35 +05:30
Michelle Alva
5ffa67061a chore: add agent_group column in ticket list view (#1483) 2023-08-13 19:20:41 +05:30
Sabu Siyad
47476ec43c Merge pull request #1482 from ssiyad/feat/kb/search
feat: knowledge base: public: search
2023-08-13 15:52:54 +05:30
Sabu Siyad
78da1fb73d Merge pull request #1479 from ssiyad/chore/ui/customer_portal
chore(ui): modify customer portal
2023-08-13 15:47:19 +05:30
Sabu Siyad
8785c9ab66 feat: knowledge base: public: search 2023-08-13 15:46:29 +05:30
Sabu Siyad
cfa89a5484 chore: ui changes 2023-08-13 03:29:26 +05:30
Sabu Siyad
04c4cdeb7f chore(ui): modify customer portal 2023-08-13 02:52:25 +05:30
Sabu Siyad
9f2e67effe Merge pull request #1478 from ssiyad/refactor/hd_table
fix: list: knowledge base
2023-08-13 02:31:12 +05:30
Sabu Siyad
8d43ae378c fix: list: knowledge base 2023-08-13 02:30:43 +05:30
Sabu Siyad
37cdb55430 Merge pull request #1477 from ssiyad/refactor/hd_table
refactor: list view
2023-08-13 02:23:10 +05:30
Sabu Siyad
65b4881520 refactor: list view 2023-08-13 02:06:45 +05:30
Sabu Siyad
f1045e9a1b Merge pull request #1474 from ssiyad/feat/ticket_hide_columns
feat: ticket hide columns
2023-08-12 13:06:41 +05:30
Sabu Siyad
219390676a chore: bump frappe-ui 2023-08-12 12:52:24 +05:30
Sabu Siyad
cd32a91cac feat: ticket: hide columns (persistent) 2023-08-11 14:36:51 +05:30
Sabu Siyad
a5281612fa Merge pull request #1473 from ssiyad/fix/feedback_perms
fix: feedback: perms
2023-08-11 12:29:23 +05:30
Sabu Siyad
a2e75b96e2 fix: feedback: perms 2023-08-11 12:28:46 +05:30
Ankush Menat
7bbf0217fb chore: proper license text (#1472) 2023-08-11 09:46:59 +05:30
Sabu Siyad
60a9f6dc3b Merge pull request #1470 from ssiyad/feat/filters_persistent
feat: make filters persistent
2023-08-11 01:04:32 +05:30
Sabu Siyad
836e153a5b Merge pull request #1471 from ssiyad/fix/ui/ticket_avatar_size
fix(ui): ticket: agent avatar size
2023-08-11 01:04:18 +05:30
Sabu Siyad
6e556eced4 chore: js key/val 2023-08-11 00:58:31 +05:30
Sabu Siyad
c788dd75da fix(ui): ticket: agent avatar size 2023-08-11 00:52:35 +05:30
Sabu Siyad
d6578eec79 Merge branch 'main' into feat/filters_persistent 2023-08-11 00:50:56 +05:30
Sabu Siyad
5eccd2267d feat: make filters persistent 2023-08-11 00:45:03 +05:30
Saqib Ansari
c6786569c8 fix: show error when ticket update fails 2023-08-10 20:59:49 +05:30
Sabu Siyad
b53af6fc92 Merge pull request #1468 from ssiyad/chore/move_assign_to_topbar
chore: ticket: move assign to top bar
2023-08-10 15:22:56 +05:30
Sabu Siyad
50aad075aa chore: ticket: move assign to top bar 2023-08-10 14:47:00 +05:30
Sabu Siyad
0198b93be7 Merge pull request #1467 from ssiyad/chore/qb_get_query
chore: `qb.engine.get_query` -> `qb.get_query`
2023-08-10 13:49:55 +05:30
Sabu Siyad
db2328cd1a chore: qb.engine.get_query -> qb.get_query 2023-08-10 13:20:23 +05:30
Sabu Siyad
189918f12d Merge pull request #1466 from ssiyad/fix/feedback/label_as_name
fix(ux): feedback: use label as name (instead of random)
2023-08-10 13:15:59 +05:30
Sabu Siyad
f88f9838bc Merge pull request #1465 from ssiyad/chore/use_error
chore: use `useError`
2023-08-10 13:06:12 +05:30
Sabu Siyad
3b0473b94d fix(ux): feedback: use label as name (instead of random) 2023-08-10 13:03:40 +05:30
Sabu Siyad
e05febcee1 chore: useError: return func directly 2023-08-10 12:44:09 +05:30
Sabu Siyad
05656b2884 chore: use useError 2023-08-10 12:33:15 +05:30
Sabu Siyad
ae0f2f192f Merge pull request #1460 from ssiyad/fix/ux/error_logic_share
fix(ux): error: share logic
2023-08-10 10:42:52 +05:30
Sabu Siyad
177f45faee chore: bump frappe-ui@alpha 2023-08-10 10:33:08 +05:30
Sabu Siyad
0f2119f344 fix: prefer .messages over .message 2023-08-10 10:32:45 +05:30
Sabu Siyad
9ad6afa4b3 Merge pull request #1461 from ssiyad/fix/ux/ticket_feedback_disable
fix(ux): ticket: feedback: disable submit conditionally
2023-08-09 18:57:58 +05:30
Sabu Siyad
d5b39ea060 fix(ux): ticket: feedback: disable submit conditionally 2023-08-09 18:56:57 +05:30
Sabu Siyad
26a0a7904e fix(ux): error: share logic 2023-08-09 15:55:02 +05:30
Sabu Siyad
c150327cfe fix: patch: wrong import 2023-08-09 11:39:33 +05:30
Sabu Siyad
ff3215a489 Merge pull request #1456 from ssiyad/feat/customer_feedback
feat: customer feedback
2023-08-09 11:32:20 +05:30
Sabu Siyad
4f81a3f82b chore(ui): active option: change color: green -> blue 2023-08-09 11:23:54 +05:30
Sabu Siyad
997a4c50df Merge pull request #1457 from ssiyad/fix/ticket/new_article_list
fix: ticket: new: article list update
2023-08-09 10:31:13 +05:30
Sabu Siyad
427bf14a21 feat(ui): mandatory star (*) 2023-08-08 23:35:26 +05:30
Sabu Siyad
1bd51c6990 fix: rating validation 2023-08-08 23:33:33 +05:30
Sabu Siyad
213063fc33 chore: labels for stars and options 2023-08-08 23:31:21 +05:30
Sabu Siyad
4421b4defd chore: choices: dynamic theme, not variant 2023-08-08 23:17:31 +05:30
Sabu Siyad
05abe68966 feat: patche and setup 2023-08-08 23:14:08 +05:30
Sabu Siyad
9304b4868d fix: check validation if new 2023-08-08 19:49:29 +05:30
Sabu Siyad
eafd4ff7bb fix: ticket: new: article list update 2023-08-08 19:47:24 +05:30
Sabu Siyad
2ad34e073b Merge branch 'main' into feat/customer_feedback 2023-08-08 19:42:23 +05:30
Sabu Siyad
d7270ea4c9 feat: throw error 2023-08-08 19:39:39 +05:30
Sabu Siyad
60e71c9dc5 feat: validation in options 2023-08-08 19:25:09 +05:30
Sabu Siyad
9ab55bd0b5 feat: customer portal 2023-08-08 19:14:03 +05:30
Sabu Siyad
1179d724e8 feat(feedback): agent portal 2023-08-07 22:56:26 +05:30
Sabu Siyad
ce16577f15 Merge pull request #1455 from ssiyad/chore/rm_unused_methods
chore: ticket: remove unused methods
2023-08-07 20:12:15 +05:30
Sabu Siyad
0d598a0a09 Merge branch 'main' into chore/rm_unused_methods 2023-08-07 17:06:32 +05:30
Sabu Siyad
9344c31192 chore: ticket: remove unused methods 2023-08-07 17:04:27 +05:30
Sabu Siyad
8d38d99c23 Merge pull request #1454 from ssiyad/chore/ticket/rm_unwanted_field
chore: ticket: remove unwanted field: `dashboard-uri`
2023-08-07 16:14:13 +05:30
Sabu Siyad
16042ccb48 chore: ticket: remove unwanted field: dashboard-uri 2023-08-07 16:01:48 +05:30
Sabu Siyad
7286dbc5d8 fix(ui): canned responses: list: missing grow 2023-08-05 17:54:22 +05:30
Sabu Siyad
bb4e624b64 Merge pull request #1452 from ssiyad/fix/canned_responses_missing_row_key
fix: canned responses: missing `row-key`
2023-08-05 17:36:59 +05:30
Sabu Siyad
0b457b11e5 fix: canned responses: missing row-key 2023-08-05 17:35:36 +05:30
Sabu Siyad
94667bc3eb Merge pull request #1450 from ssiyad/feat/ui/template_check
feat(ui): custom fields: support `Check`
2023-08-05 14:07:55 +05:30
Sabu Siyad
a13a451634 feat: custom field list: transform value (Check) 2023-08-05 13:54:34 +05:30
Sabu Siyad
4ff52d57aa feat(ui): support custom Check fields 2023-08-05 13:46:44 +05:30
Sabu Siyad
ffa11de2e7 Merge pull request #1449 from ssiyad/fix/api/ticket_default_template
fix(api): ticket: fallback to default template
2023-08-05 12:59:15 +05:30
Sabu Siyad
dc41bee2dd fix(api): ticket: fallback to default template 2023-08-05 12:58:34 +05:30
Sabu Siyad
242ab7d950 Merge pull request #1445 from ssiyad/fix/ui/table_col_select_margin
fix(ui): table: column selector: size and margin
2023-08-05 12:51:41 +05:30
Sabu Siyad
1cd3748ed7 fix(ui): table: column selector: size and margin 2023-08-04 23:22:58 +05:30
Sabu Siyad
f49b644e5a Merge pull request #1444 from ssiyad/chore/replace_input_formcontrol
chore: replace `Input` with `FormControl`
2023-08-04 22:49:02 +05:30
Sabu Siyad
df303b09d5 Merge pull request #1443 from ssiyad/feat/ui/attachment_icon
feat(ui): attachment: icon
2023-08-04 18:40:07 +05:30
Sabu Siyad
61e531cb2e chore: replace Input with FormControl 2023-08-04 18:39:29 +05:30
Sabu Siyad
5ee0b3138e feat(ui): attachment: icon
- Text
- Image
- Pdf
- Spreadsheet
2023-08-04 18:29:16 +05:30
Sabu Siyad
6218650f08 Merge pull request #1442 from ssiyad/feat/ui/table_styling
feat(ui): improve table styling
2023-08-04 18:25:46 +05:30
Sabu Siyad
c1b3aae35d feat(ui): improve table styling 2023-08-04 18:13:49 +05:30
Sabu Siyad
aba4fe4a50 Merge pull request #1441 from ssiyad/feat/attachment_preview
feat: attachment preview
2023-08-04 17:37:11 +05:30
Sabu Siyad
e6350240ba chore: make better 2023-08-04 17:27:52 +05:30
Sabu Siyad
a004c8ae63 feat: attachment preview 2023-08-04 17:20:13 +05:30
Sabu Siyad
2e5c5ed818 Merge pull request #1428 from ssiyad/refactor/custom_fields
refactor: custom fields
2023-08-04 15:51:10 +05:30
Sabu Siyad
7271adaad3 chore: remove unused field (?) 2023-08-04 15:42:46 +05:30
Sabu Siyad
2394297031 chore: remove unused import 2023-08-04 14:50:47 +05:30
Sabu Siyad
986f17a23d fix: setup: creating default template 2023-08-04 13:36:41 +05:30
Sabu Siyad
5d228951c2 chore: bump version 2023-08-04 13:20:17 +05:30
Sabu Siyad
bcb9a4ab44 fix: allow only custom fields 2023-08-04 13:14:50 +05:30
Sabu Siyad
018b5115b5 fix: temp: replace FormControl with Input 2023-08-04 03:13:42 +05:30
Sabu Siyad
aed0d4b553 fix: input: remove onInput (onChange is enough) 2023-08-04 03:04:08 +05:30
Sabu Siyad
c4d5b57d40 chore: remove unused whitelisted method 2023-08-04 02:58:53 +05:30
Sabu Siyad
908b972c95 feat: template: prevent Default from deleting 2023-08-04 02:47:22 +05:30
Sabu Siyad
9e946d1288 chore: reuse customer portal ticket creation 2023-08-04 02:47:02 +05:30
Sabu Siyad
d765621205 chore: remove dead code 2023-08-04 02:03:03 +05:30
Sabu Siyad
302cf82ca5 fix: translate string arg
https://frappeframework.com/docs/user/en/translations#2-variables
2023-08-04 01:50:45 +05:30
Sabu Siyad
5c78785077 feat: template: verify if fields exist 2023-08-04 01:46:38 +05:30
Sabu Siyad
636c0cca94 Merge pull request #1438 from ssiyad/chore/ui/pie_remove_rose
chore(ui): pie chart: remove rose (area)
2023-08-04 01:43:34 +05:30
Sabu Siyad
1b3b2af4b0 chore: remove unwanted file (typo) 2023-08-04 01:31:12 +05:30
Sabu Siyad
d6c39213fc chore(ui): pie chart: remove rose (area) 2023-08-04 01:29:12 +05:30
Sabu Siyad
af1954838e chore: remove unused doctypes 2023-08-04 01:24:05 +05:30
Sabu Siyad
3c6216af11 feat: add to filters 2023-08-04 01:17:15 +05:30
Sabu Siyad
0db0ba6d9e fix: component selection logic 2023-08-04 00:43:24 +05:30
Sabu Siyad
921d85e87e fix: fetch from custom docfield table 2023-08-04 00:33:08 +05:30
Sabu Siyad
1c910ae775 feat: reuse components and api 2023-08-04 00:23:00 +05:30
Sabu Siyad
7acc84d787 Merge branch 'main' into refactor/custom_fields 2023-08-03 17:40:59 +05:30
Sabu Siyad
f02a08e136 Merge pull request #1431 from ssiyad/chore/sidebar_styling
chore: sidebar styling
2023-08-03 17:00:26 +05:30
Sabu Siyad
83b48f442c chore: re-arrange ticket top section 2023-08-03 16:55:17 +05:30
Sabu Siyad
136932e1d7 chore: change width/color 2023-08-03 13:49:05 +05:30
Sabu Siyad
0ee02ceaef chore: sidebar styling: shadow 2023-08-02 22:09:52 +05:30
Sabu Siyad
d2259aeb37 Merge pull request #1430 from ssiyad/fix/ui/handle_ticket_no_assign
fix(ui): ticket: handle no assign
2023-08-02 21:03:28 +05:30
Sabu Siyad
36a7c99da0 fix(ui): ticket: handle no assign 2023-08-02 21:02:44 +05:30
Sabu Siyad
692ce8e0d8 Merge pull request #1429 from ssiyad/fix/ui/handle_invalid_assign_json
fix(ui): handle invalid `_assign` json
2023-08-02 20:54:31 +05:30
Sabu Siyad
aa05ef62e5 fix(ui): handle invalid _assign json 2023-08-02 20:53:31 +05:30
Sabu Siyad
3b7d4db984 refactor: custom fields 2023-08-02 20:41:17 +05:30
Sabu Siyad
62a60673c9 Merge pull request #1416 from Shivam327/ticket_fix
fix: removed non-existing Colum in single ticket-view
2023-08-02 13:55:34 +05:30
Sabu Siyad
80555729c6 Merge pull request #1426 from ssiyad/fix/ux/table_row_click
fix(ux): table row click
2023-08-02 13:54:56 +05:30
Saqib Ansari
9cc74278f1 Merge branch 'main' of https://github.com/frappe/helpdesk 2023-08-02 13:54:39 +05:30
Saqib Ansari
a87384fbf4 refactor: set dynamic link route 2023-08-02 13:54:31 +05:30
Sabu Siyad
e94c95ef36 fix: type 2023-08-02 13:49:25 +05:30
Sabu Siyad
16fd53b631 fix(ux): table row click
dynamically use router link
2023-08-02 13:43:57 +05:30
Saqib Ansari
599b270e03 fix: custom fields not rendered after changing ticket 2023-08-02 13:33:20 +05:30
Sabu Siyad
ca72115938 Merge pull request #1424 from ssiyad/fix/urgent
fix: misc
2023-08-01 22:32:05 +05:30
Sabu Siyad
0777a9cc5c fix: misc 2023-08-01 22:31:40 +05:30
Sabu Siyad
636a069a1f Merge pull request #1422 from ssiyad/feat/ux/filter_auto_apply_remove
feat(ux): auto apply filters
2023-08-01 22:11:29 +05:30
Sabu Siyad
e7a31edb74 Merge pull request #1423 from ssiyad/fix/ui/pinned_comments_sanitise
fix: pinned comments: sanitise input
2023-08-01 22:05:47 +05:30
Sabu Siyad
5dfe016bc9 chore: remove unused import 2023-08-01 21:59:55 +05:30
Sabu Siyad
3d8c57abdd fix: pinned comments: sanitise input
https://github.com/frappe/helpdesk/issues/1410
2023-08-01 21:57:53 +05:30
Sabu Siyad
47514bd26b feat(ux): auto apply filters 2023-08-01 21:52:35 +05:30
Sabu Siyad
c8145145ca Merge pull request #1421 from ssiyad/refactor/ticket/comm_via_contact
refactor: ticket: comm via contact: use qb
2023-08-01 21:17:26 +05:30
Sabu Siyad
92c1b0883e fix: extra param 2023-08-01 20:51:47 +05:30
Sabu Siyad
9715368afe refactor: ticket: comm via contact: use qb 2023-08-01 20:44:59 +05:30
Sabu Siyad
1d855c9ffa Merge pull request #1420 from ssiyad/fix/filter_link_operator_default
fix: filter: change default operator
2023-08-01 20:13:27 +05:30
Sabu Siyad
961f480d80 fix: filter: change default operator 2023-08-01 20:12:20 +05:30
Sabu Siyad
f45b76e074 Merge pull request #1417 from ssiyad/fix/api/handle_list_error_oob
fix(api): ticket: handle out of bounds (not found)
2023-08-01 19:58:00 +05:30
Sabu Siyad
1e08aaa269 fix(api): ticket: handle out of bounds (not found) 2023-08-01 15:20:43 +05:30
Sabu Siyad
da6ef2ec8d Merge pull request #1415 from ssiyad/chore/remove_unwanted_override
chore: remove unwanted hook: pull support emails
2023-08-01 15:19:02 +05:30
Shivam Thaker
564d639088 fix: removed non-extisting coloum in single ticket-view 2023-08-01 15:10:20 +05:30
Sabu Siyad
783fb8f113 chore: remove unwanted hook: pull support emails
https://github.com/frappe/helpdesk/issues/1401
2023-08-01 15:09:42 +05:30
Sabu Siyad
4cf547d531 Merge pull request #1414 from ssiyad/fix/ux/topbar_back_button
fix(ux): top bar: back button function
2023-08-01 15:06:43 +05:30
Sabu Siyad
db9be19013 fix(ux): top bar: back button function 2023-08-01 15:05:52 +05:30
Sabu Siyad
3d95e26d93 Merge pull request #1409 from ssiyad/feat/docfield_filter
feat: generic `DocField` filter
2023-08-01 14:51:07 +05:30
Sabu Siyad
6453da4cde chore: re-arrange ui elements 2023-08-01 14:45:56 +05:30
Sabu Siyad
eb5b4965ae feat: decode and encode components 2023-08-01 14:23:08 +05:30
Sabu Siyad
144c4dd1a8 fix: preset filters: clear before adding 2023-08-01 13:13:02 +05:30
Sabu Siyad
8d488482bd Merge branch 'main' into feat/docfield_filter 2023-08-01 13:01:55 +05:30
Sabu Siyad
a899c93e40 Merge pull request #1412 from ssiyad/fix/ux/global_formcontrol
fix(ux): missing global: `FormControl`
2023-08-01 12:59:27 +05:30
Sabu Siyad
5db0e3cf8b fix(ux): missing global: FormControl 2023-08-01 12:58:46 +05:30
Sabu Siyad
8382cd7c43 feat: preset filters: use filter 2023-08-01 12:50:35 +05:30
Sabu Siyad
b3dfd97b74 feat: assign field 2023-08-01 12:38:43 +05:30
Saqib Ansari
fb5c093740 Merge branch 'main' of https://github.com/frappe/helpdesk 2023-08-01 11:59:34 +05:30
Saqib Ansari
12bd6d7719 fix: undefined function selectOptions 2023-08-01 11:59:29 +05:30
Saqib Ansari
0bb0bd5059 chore: fix padding bottom 2023-08-01 11:50:47 +05:30
Ankush Menat
c1e9ffa7a2 refactor: move context locals out of global scope (#1411) 2023-08-01 11:07:01 +05:30
Saqib Ansari
49b86d0604 fix: list index out of range 2023-08-01 09:50:34 +05:30
Saqib Ansari
37a7b14306 refactor: show all custom fields instead of only the set ones 2023-08-01 09:45:49 +05:30
Sabu Siyad
6cb0fdecfb chore: re-arrange ticket list top 2023-08-01 01:39:46 +05:30
Sabu Siyad
e5d5d793a5 feat: set query 2023-08-01 00:48:37 +05:30
Sabu Siyad
988a263d80 feat: use in ticket list 2023-08-01 00:03:56 +05:30
Saqib Ansari
4e7b816ef0 fix: update custom field value 2023-07-31 23:39:44 +05:30
Sabu Siyad
6851c69620 feat: generic DocField filter 2023-07-31 21:33:52 +05:30
Saqib Ansari
9db2a49cc5 feat: show editable custom field in ticket sidebar 2023-07-31 21:00:09 +05:30
Saqib Ansari
1cb648a632 Merge branch 'main' of https://github.com/frappe/helpdesk 2023-07-31 20:48:39 +05:30
Ankush Menat
f2629b6ac8 fix: remove bare exceptions 2023-07-31 16:55:20 +05:30
Sabu Siyad
7ca038501d Merge pull request #1400 from ssiyad/fix/missing_get_user
fix: ticket details: missing get user
2023-07-31 15:51:08 +05:30
Sabu Siyad
d1b8242e6d fix: ticket details: missing get user 2023-07-31 15:50:11 +05:30
Sabu Siyad
f3bd43796c Merge pull request #1399 from ssiyad/feat/ui/1395
feat(ui): customer ticket: conditionally show text editor
2023-07-31 13:14:45 +05:30
Sabu Siyad
c0d10aae4b feat(ui): customer ticket: conditionally show text editor
https://github.com/frappe/helpdesk/issues/1395
2023-07-31 13:11:59 +05:30
Sabu Siyad
4f1bff1b9b Merge pull request #1397 from ssiyad/fix/assign_missing
fix: error on missing assignee
2023-07-31 13:00:39 +05:30
Sabu Siyad
f20a934396 fix: error on missing assignee
https://github.com/frappe/helpdesk/issues/1392
2023-07-31 12:59:28 +05:30
Sabu Siyad
a7b316fa70 Merge pull request #1391 from ssiyad/feat/ticket_view_log
feat: ticket view log
2023-07-31 11:13:03 +05:30
Sabu Siyad
48cfad725f fix(api): history and view log: order by creation 2023-07-30 23:59:40 +05:30
Sabu Siyad
25e70ecd8e chore: import TabButtons from frappe-ui 2023-07-30 23:58:17 +05:30
Sabu Siyad
5d5e8640ea chore: upgrade frappe-ui@alpha 2023-07-30 23:53:23 +05:30
Sabu Siyad
477ad48442 feat: ticket: view log 2023-07-30 23:52:31 +05:30
Sabu Siyad
e52d1bbbd8 feat: default ticket priority (#1390) 2023-07-30 22:16:19 +05:30
Sabu Siyad
67015603ad fix(ux): cc and bcc fallback (#1389)
https://github.com/frappe/helpdesk/issues/1371
2023-07-30 21:25:05 +05:30
Sabu Siyad
ee2d94f1a3 refactor: ticket - api (#1387) 2023-07-30 20:34:42 +05:30
Michelle Alva
9ff80ef0ae fix: add status colour on customer portal (#1388) 2023-07-30 19:27:35 +05:30
Michelle Alva
32b01336c2 fix: Show title field in link for HD Article Category (#1376) 2023-07-30 14:28:15 +05:30
Saqib Ansari
3d4647e821 fix: cannot see options field 2023-07-29 15:57:40 +05:30
Saqib Ansari
040fd07b24 Merge pull request #1381 from nextchamp-saqib/fetch-custom-options 2023-07-29 14:20:28 +05:30
Saqib Ansari
e1011bc8b1 fix: assignment rule for teams
* replace invalid `hd_team` with `agent_group` in assignment rules
* avoid a bug where `_assign` is not set
2023-07-29 14:03:26 +05:30
Saqib Ansari
b736348680 fix: assignment rule for teams
* replace invalid `hd_team` with `agent_group` in assignment rules
* avoid a bug where `_assign` is not set
2023-07-29 14:02:46 +05:30
Saqib Ansari
9642de1069 refactor!: remove unsed field 2023-07-29 13:36:57 +05:30
Saqib Ansari
53d9cd21f3 refactor!: remove unused server script
the server script was used to auto set values of a custom field based on other custom fields. Since `auto_set` field is removed this server script is of no use
2023-07-29 13:35:56 +05:30
Saqib Ansari
9b71288f1b refactor: split create_new ticket into smaller functions 2023-07-29 13:31:38 +05:30
Saqib Ansari
0b74d58965 refactor!: remove unused doctype 2023-07-29 13:13:21 +05:30
Saqib Ansari
1124f11781 feat: hide certain custom fields from customer portal 2023-07-29 13:11:09 +05:30
Saqib Ansari
d2e013067e refactor!: remove unused is_action_field 2023-07-29 12:55:43 +05:30
Saqib Ansari
4fdbb779f7 refactor!: remove auto_set field from custom fields 2023-07-29 12:42:03 +05:30
Saqib Ansari
0e8ba3fd3a feat(custom_field): fetch custom link options using server scripts 2023-07-28 20:47:40 +05:30
Sabu Siyad
9221afbb6d feat: comment pin (#1377) 2023-07-28 16:40:32 +05:30
Sabu Siyad
6442f5cf02 chore: ticket: don't auto load resources (#1374) 2023-07-28 11:22:24 +05:30
Sabu Siyad
fa7b779e39 chore: reuse empty message component (#1370) 2023-07-27 19:55:14 +05:30
Sabu Siyad
63f32478af feat(ux): ticket details: auto save (#1369)
- Remove save button
- Remove keymaps
2023-07-27 19:47:09 +05:30
Shivam Thaker
96e1a9763b chore: change empty team member message (#1365) 2023-07-27 16:09:54 +05:30
Sabu Siyad
2bb3f1d63f fix(ux): email accounts: ignore protocol (#1364) 2023-07-27 14:55:49 +05:30
Shivam Thaker
31ef114710 fix: communication button separated (#1363)
Co-authored-by: Sabu Siyad <hello@ssiyad.com>
2023-07-27 14:35:50 +05:30
Sabu Siyad
e63400596a fix: agent list: variable name (#1362) 2023-07-27 12:51:27 +05:30
Saqib Ansari
9b4a2b7a22 fix: set session user as sender when creating a reply (#1356) 2023-07-27 12:46:36 +05:30
Shivam Thaker
3073796c8d fix: Updated empty message for all list items (#1342) 2023-07-27 12:42:59 +05:30
Saqib Ansari
428d4aba11 feat: set customer reference based on domain field (#1357) 2023-07-27 12:41:26 +05:30
Michelle Alva
57f5634f93 fix(ux): Customer image button and labels (#1360) 2023-07-26 22:07:13 +05:30
Sabu Siyad
4a4f3464fe feat(build): frappeui: use vite plugin (#1359) 2023-07-26 21:54:45 +05:30
Sabu Siyad
72f6fec7bd chore: bump frappe-ui@alpha (#1358) 2023-07-26 21:48:18 +05:30
Sabu Siyad
d84636cbcf fix(ux): contact picture buttons and labels (#1355)
https://github.com/frappe/helpdesk/issues/1354
- Do not show "Change Photo" when there is no photo updated
- Do not show "Remove" when there is no photo updated. Only show this if there is a photo is updated
2023-07-26 20:56:50 +05:30
Sabu Siyad
70a6a1315d feat: customer integration with contact (#1353) 2023-07-26 20:04:24 +05:30
Saqib Ansari
65d475958f fix: various fixes (#1352) 2023-07-26 17:13:27 +05:30
Sabu Siyad
4a282b5b09 chore: user store (#1350) 2023-07-26 11:56:14 +05:30
Sabu Siyad
fd7fe7c638 chore: remove unwanted hooks (#1351) 2023-07-26 11:50:37 +05:30
Sabu Siyad
29f45e42c5 feat(ui): ticket list: use Dropdown -> Badge` (#1349) 2023-07-25 16:04:22 +05:30
Shivam Thaker
492baa3b3e feat: username ticket history (#1348) 2023-07-25 16:03:11 +05:30
Sabu Siyad
701e8eb9b9 fix(doctype): template field types (#1346)
Only allow `Link` and `Select`
https://github.com/frappe/helpdesk/issues/1326
2023-07-25 12:58:16 +05:30
Sabu Siyad
08defbe3a2 fix(ux): new agent: do not add System Manager role (#1344) 2023-07-25 12:51:10 +05:30
Michelle Alva
b96a094264 fix(UX): Remove Cancel and Save/Create button at the bottom of page (#1341)
Closes the first issue mentioned in https://github.com/frappe/helpdesk/issues/1338
2023-07-25 12:32:25 +05:30
Michelle Alva
764aa858e0 fix: Update empty message (#1334) 2023-07-25 11:58:02 +05:30
Michelle Alva
276d6f02ec fix: Update description of interger_value (#1337) 2023-07-25 11:57:36 +05:30
Sabu Siyad
9bb5886831 feat: switch to prefer knowledge base (#1340)
If enabled,
- redirect to knowledge base
- hide `new ticket` button
2023-07-25 11:57:06 +05:30
Faris Ansari
24937adb78 fix(agent): convert virtual fields to actual field
rather than virtual field
fixes #1331, #1321
2023-07-24 22:34:44 +05:30
Sabu Siyad
abeffe5c45 refactor: knowldege base (#1306) 2023-07-19 22:58:39 +05:30
Sabu Siyad
284949756f fix(api): agent_name missing (#1315) 2023-07-17 14:53:37 +05:30
Sabu Siyad
dff13e92b6 chore(ui): modify conversation item timestamp (#1313) 2023-07-14 15:14:59 +05:30
Sabu Siyad
a0f4ff18a7 fix(patch): add fallback ticket type (#1312) 2023-07-14 14:51:06 +05:30
Sabu Siyad
356902549c feat(ui): icons for Reply and Reply All (#1311) 2023-07-13 21:47:02 +05:30
Sabu Siyad
b67d9d67ce fix(api): is_agent: do not set param in function (#1307) 2023-07-13 10:40:00 +05:30
Sabu Siyad
cdfd0302d7 feat: fallback ticket type (#1305) 2023-07-12 13:12:43 +05:30
Sabu Siyad
c4ebb953b1 fix(ux): tickets: optimize sql query (#1304) 2023-07-11 17:41:20 +05:30
Sabu Siyad
b78c1e76b5 fix(ux): is_agent: change syntax (#1303) 2023-07-11 16:40:33 +05:30
Sabu Siyad
6de4cfbb22 fix(ux): assign: use HD Agent instead of User (#1302) 2023-07-11 16:39:46 +05:30
Sabu Siyad
67dde675db fix(ux): ticket: list filters: apply only on agents (#1301) 2023-07-11 14:36:41 +05:30
Sabu Siyad
64c7f261af refactor: ticket single: reuse TopBar.vue (#1300) 2023-07-11 01:33:04 +05:30
Sabu Siyad
023c4a7818 feat(ui): customer portal ticket: reuse TopBar.vue (#1299) 2023-07-11 00:39:06 +05:30
Sabu Siyad
faa45e5319 fix(ux): ticket: unable to attach file (#1298) 2023-07-10 23:41:27 +05:30
Sabu Siyad
867e435865 chore: upgrade frappe-ui@alpha (#1297) 2023-07-10 21:05:46 +05:30
Sabu Siyad
a4caec1b3b fix(ui): ticket list: top margins (#1296) 2023-07-10 11:36:43 +05:30
Sabu Siyad
ec16930bd7 chore: remove compiler macro: defineProps (#1295) 2023-07-10 11:02:36 +05:30
Sabu Siyad
e8dee66514 refactor(ui): agent portal: team list and view (#1293) 2023-07-07 20:07:30 +05:30
Sabu Siyad
4e34b8d6b0 chore(ui): dashboard: update style (#1294)
* chore(ui): dashboard: update style

* feat: render as `svg`
2023-07-04 19:01:58 +05:30
Sabu Siyad
cb46e4c35f chore: arrange directories - agent portal (#1292)
- customers
- contacts
2023-06-30 16:05:29 +05:30
Sabu Siyad
97d734f25e chore: bump frappe-ui (#1290) 2023-06-29 15:57:52 +05:30
Sabu Siyad
a22debcb59 chore: ticket list: move empty message to table component (#1288) 2023-06-29 01:32:46 +05:30
Sabu Siyad
670d2c41fc feat: ticket: refactor (#1286) 2023-06-29 00:57:48 +05:30
Sabu Siyad
781d0db6ab ci: chore: upgrade dependencies (#1287)
- `python 3.11`
- `node 18`
2023-06-29 00:09:29 +05:30
Sabu Siyad
a1c6eab993 chore(api): ticket: remove unwanted endpoints (func) (#1283) 2023-06-27 18:14:08 +05:30
Sabu Siyad
94e80c8ce3 fix: ticket: missing assignee (#1282) 2023-06-22 14:49:11 +05:30
Sabu Siyad
c08c70d107 chore: update frappe-ui (#1280) 2023-06-22 13:45:20 +05:30
Sabu Siyad
6d093b48c4 fix(ui): ticket list: title: padding (#1279) 2023-06-21 22:07:49 +05:30
Sabu Siyad
c6a9c58822 feat: escalation matrix (#1273) 2023-06-21 21:53:01 +05:30
Sabu Siyad
6efb49b101 fix(ui): sidebar: padding-x (#1278) 2023-06-20 20:12:05 +05:30
Sabu Siyad
c942dfce0e chore: replace: router-link with RouterLink (#1277)
- global replace
- no verify
2023-06-20 15:38:41 +05:30
Sabu Siyad
10765e903b fix(api): signup: wrong url callback url (#1276) 2023-06-20 00:01:32 +05:30
Sabu Siyad
178f5a970a chore: api: dashboard: cache results (for 5 mins) (#1275) 2023-06-19 20:40:35 +05:30
Sabu Siyad
3087d1ef30 fix(ui): contact details: use lucide icons (#1274) 2023-06-19 20:30:31 +05:30
Sabu Siyad
6524075560 feat(ui): sidebar: beta badge (#1272) 2023-06-19 17:46:26 +05:30
niraj gautam
f262c962e5 Resolve customer portal view issue (#1270) 2023-06-19 12:37:47 +05:30
Sabu Siyad
3729928979 feat: switch to espresso (#1265) 2023-06-16 12:39:22 +05:30
Sabu Siyad
f32026f7a6 feat(ui): move lists from settings to sidebar (#1263) 2023-06-12 12:51:21 +05:30
Sabu Siyad
99ed78f66c chore: dashboard changes (#1260)
- change color scheme
- change single string card height
- add user specific tickets count - open/replied
2023-06-09 11:37:46 +05:30
Sabu Siyad
8142121caf fix(ux): change agent portal landing to ticket list (#1259) 2023-06-08 20:14:53 +05:30
Sabu Siyad
85b0fcee60 fix(ui): multiselect: item: replace border with shadow (#1258) 2023-06-08 20:03:14 +05:30
Sabu Siyad
0003de865a feat(ui): sidebar: adjust font size (#1257)
Reduce font size, item height and make name bold
2023-06-08 19:55:17 +05:30
Sabu Siyad
24dbd88029 fix(build): remove non-existing page (#1256) 2023-06-08 19:36:13 +05:30
Sabu Siyad
c0ea2a3fab refactor: customers and contacts (#1255) 2023-06-08 19:32:42 +05:30
Sabu Siyad
be93a01250 chore: bump version to 0.9.1 (#1253) 2023-06-05 20:04:59 +05:30
Sabu Siyad
86f7dd8d7c fix(ux): ticket before insert: remove .save() (#1252) 2023-06-05 20:03:29 +05:30
Sabu Siyad
c497bbe56b chore: agent table: add contact (#1251)
- make `Customer` togglable
- add `Contact`
2023-06-05 19:19:10 +05:30
Sabu Siyad
48501450c0 fix(ux): list manager: combine filters from url instead of replacing (#1250) 2023-06-05 19:11:32 +05:30
Sabu Siyad
a269ed4f93 refactor: agent portal: new ticket dialog (#1249)
* refactor: agent portal: new ticket dialog

* chore: remove primary button icon
2023-06-05 18:41:08 +05:30
Sabu Siyad
d974bd9dde fix(ux): filters not getting applied (#1247) 2023-06-05 16:14:40 +05:30
Sabu Siyad
ae1824feaf fix(ui): table: clamp (#1246) 2023-06-05 14:15:14 +05:30
Sabu Siyad
d018943afb chore: bump version to 0.9.0 (#1245) 2023-06-05 13:48:23 +05:30
Sabu Siyad
1b9f42e285 fix: ticket reopen: remove unwanted condition (#1244) 2023-06-05 13:43:11 +05:30
Sabu Siyad
adf2d4f3ef Refactor/customer portal ticketing (#1241)
* refactor: customer portal: ticketing

* refactor: move table to own component

* chore: remove unused components/properties

* refactor: ticket list

* fix(ui): subject: line clamp

* chore: clean

* refactor: ticket single: reuse communication item

* refactor: ticket single: text editor

ui only

* chore: container: make slightly rounded

* chore(ui): remove `h-screen`

* chore(ui): ticket single: add editor margin

* feat: ticket single: reply: integrate api

* fix: ticket response: debounce 500ms

* chore: ticket list: de-capitalise

* feat: ticket single: set title as subject

* chore: ticket list: dropdown label

* chore: bump frappe-ui

* feat: new-ticket page

* feat: new: custom fields

* fix: pass custom fields data to api

* feat: load articles on subject change

* chore: add label for subject

* chore: template: remove default fields

* feat: validate mandatory fields

* chore(ui): margin

* chore: enable template route

* fix: list: filter self

* chore(ui): comm item: img: add border

* fix: use editor to clear content

* chore: increase date column width

* chore: list: show empty tickets message

* chore: remove unused import

* chore: make text editor resizable

* feat(ui): ticket single: sticky header

* chore: remove impersonate

* fix(ux): update articles on input

* chore: do not auto select option

* fix: title: use `onMounted` instead of `onBeforeMount`

* chore: page title: use `•` instead of `|`

* fix: remove subject and description from default template

* chore: remove unused components

* chore: echarts: use theme from tailwind

* feat: reuse list navigation

* fix: replace `overflow-scroll` with `overflow-auto`

* fix: convert about from text editor to code (html)

* chore(ui): minor changes

* chore(ui): minor changes

* chore(ui): reduce avatar size

* chore: `My Profile` -> `My Account`

* fix: tailwind config import

* Revert "fix: tailwind config import"

This reverts commit c67060f681.

* fix: vite: commonjs: add `tailwind.config.js`

* feat: resolve/reopen ticket

* fix: prevent resolving/reopening closed tickets

* chore: remove unused components

* fix: wrap throw message in translate function
2023-06-05 13:20:03 +05:30
Sabu Siyad
2acdd6ed4b fix: router: init telemetry in try block (#1242) 2023-05-31 22:18:57 +05:30
Phanupong Janthapoon
a69acb4c2c fix: empty responses should not be allowed. (#1225)
* fix: empty responses should not be allowed.

* refactor: remove createToast from validate()

* refactor: use tiptap object, use message from error

* fix: lint error `params` has never been used.

* refactor: use editor instead of params for the consistency of the code.
2023-05-30 12:26:43 +05:30
Sabu Siyad
3df06ff2a2 feat: ticket list: add customer column (#1240)
- also move assignment to the end
- remove extra options button
2023-05-27 23:16:31 +05:30
Sabu Siyad
9b35c68dfd fix(ui): ticket summary: use opacity for comms visibility (#1239) 2023-05-27 19:24:21 +05:30
Sabu Siyad
f313854ce0 feat: agent portal: response editor: conditionally hide email fields (#1238) 2023-05-27 13:35:37 +05:30
Sabu Siyad
626eb4a1f7 fix(api): dashboard: query (#1237) 2023-05-26 21:35:50 +05:30
Sabu Siyad
29ea3058af fix(ux): sanitize: allow img (#1235) 2023-05-26 19:15:09 +05:30
Sabu Siyad
5a4c2cb00e fix(sec): communication: sanitize html (#1234) 2023-05-26 18:31:42 +05:30
Sabu Siyad
6189c25735 feat: telemetry: capture ticket create and update (#1233) 2023-05-26 17:43:41 +05:30
Sabu Siyad
022bcb1985 feat: telemetry: capture comment events (#1231) 2023-05-26 17:16:09 +05:30
Sabu Siyad
6be1bd5091 chore: remove comment notification (unused) (#1230) 2023-05-26 16:13:46 +05:30
Sabu Siyad
0069b83a53 feat: telemetry (#1228)
* feat: telemetry

* feat: telemetry: capture agent reply

* feat: initialize

* fix: posthog lib path

* chore: init in router

* chore: default values
2023-05-26 15:55:10 +05:30
Sabu Siyad
fa0f688618 feat: onboarding (#1197)
* feat: onboarding

* chore: clean code

* chore: make check bold

* feat: setup logo

* feat: setup favicon

* feat: success message

* feat: setup skip email

* chore: logo & favicon: modify button labels

* feat: add previous button

* chore: move to a page

* feat: setup email

* feat: redirect rules

* feat: finish: set flag

* chore: remove unused method (`api.settings`)

* chore: reword

* chore: modify upload loading
2023-05-25 15:59:18 +05:30
Sabu Siyad
697cb45bf6 refactor(ui): auth box (#1224) 2023-05-25 01:51:18 +05:30
Shivam Thaker
71479ad01b fix(ui): Created By field epmty issue fixed (#1219) 2023-05-24 20:22:23 +05:30
Sabu Siyad
bfaff0486a refactor: keymaps (#1223) 2023-05-24 18:06:06 +05:30
Sabu Siyad
2f165a238a fix: utils: missing - editor (#1221) 2023-05-24 17:52:48 +05:30
Sabu Siyad
e8b8e142ac fix(ux): response editor (#1220)
* fix(ux): response editor

- Add a debounce of `500ms`
- Disable send button conditionally

* fix(ux): ticket single

* chore: remove utils/editor (unused)

* fix: dynamically update ticket id

* feat: add loading indicator

* fix: change focus logic

* fix: scroll
2023-05-24 17:46:21 +05:30
Sabu Siyad
1977e1ce84 fix(ui): auth box (#1217) 2023-05-24 13:26:01 +05:30
Sabu Siyad
84f9ef46a8 fix(ux): response editor (#1214)
- Add a debounce of `500ms`
- Disable send button conditionally
2023-05-24 13:22:17 +05:30
Sabu Siyad
e4adf49c94 chore: css: remove scrollbar styles (#1209) 2023-05-22 15:26:01 +05:30
Sabu Siyad
f25f31a9a8 chore: readme: update logo (#1207) 2023-05-19 17:31:58 +05:30
Sabu Siyad
455e475644 fix(ux): ticket details: show save button only if there is a change (#1204) 2023-05-19 17:12:56 +05:30
Sabu Siyad
ce6dfcc048 chore: upgrade frappe-ui (#1205) 2023-05-19 16:48:55 +05:30
Sabu Siyad
595c96d27f fix(ui): agent portal editor: bottom section: icons and button (#1203) 2023-05-19 15:40:10 +05:30
Sabu Siyad
510b729336 fix(ux): customer portal: auto update on new communication (#1202) 2023-05-19 14:33:42 +05:30
Sabu Siyad
f053301dcb fix(ux): keymaps: override only if a combo is active (#1201) 2023-05-19 14:13:39 +05:30
Sabu Siyad
1cf810e548 fix(ux): keymaps: prevent default (#1200) 2023-05-19 13:38:17 +05:30
Sabu Siyad
9746e1dcd3 fix: wrong import (#1199) 2023-05-18 18:48:24 +05:30
Sabu Siyad
4becedd5a4 fix(ux): ticket page: can not back go back if no history (#1198) 2023-05-18 18:40:34 +05:30
Sabu Siyad
72e2c762f3 refactor: ticket list (#1189)
* refactor(ui): ticket list

* feat: list manager: add `auto`

* fix: data: convert to composable

* fix: tickets: more button: change color

* fix: dropdown filters: use computed

* fix: ticket summary: cleanup

* chore: remove unused components

* fix: replace `this`

* fix: switch: add transition

* fix(ui): table items: remove vertical padding

* fix: summary: alignment

* chore: convert composable to a pinia store

* chore: re-order columns
2023-05-18 17:58:16 +05:30
Sabu Siyad
c8544b2029 fix(ux): stores: set a high number as pageLimit (#1195)
This is because frappe-ui defaults to `pageLimit` 20. This is
undesirable for stores, since they need `all` entries. As a workaround,
a `pageLimit` of 99999 is used.
2023-05-18 13:32:21 +05:30
Sabu Siyad
641b026e5a fix(ux): can not respond to new ticket (#1194) 2023-05-18 12:40:36 +05:30
Sabu Siyad
ef8b7e4e40 fix(ux): on agent response: auto mark as 'Replied' (#1193) 2023-05-18 12:27:29 +05:30
Sabu Siyad
5e2141c69c fix(ui): hide custom fields without value (#1192) 2023-05-18 12:04:49 +05:30
Sabu Siyad
39913ce234 fix(api): get_list: remove limit (#1191) 2023-05-18 11:49:07 +05:30
Sabu Siyad
d4532892ba fix(ui): missing custom fields (#1190) 2023-05-18 11:46:30 +05:30
Sabu Siyad
acdda60cb1 fix(backend): wrong doctype: SLA -> HD Service Level Agreement (#1188) 2023-05-17 16:17:55 +05:30
Sabu Siyad
496d7681b6 chore: bump version (#1182) 2023-05-17 11:05:25 +05:30
Sabu Siyad
d60a86c9a8 Merge pull request #1176 from ssiyad/fix/ui/dashboard_info_typo
fix(ui): dashboard: info: typo
2023-05-15 20:55:53 +05:30
Sabu Siyad
75e655f0eb fix(ui): dashboard: info: typo 2023-05-15 20:55:22 +05:30
Sabu Siyad
beb60a5dda Merge pull request #1175 from ssiyad/fix/ui/dashboard_info_days
fix(ui): dashboard: limit dashboard data to 30 days
2023-05-15 20:35:18 +05:30
Sabu Siyad
fb24154d2e Merge branch 'main' into fix/ui/dashboard_info_days 2023-05-15 20:34:53 +05:30
Sabu Siyad
b78a4ffb37 fix(ui): dashboard: limit dashboard data to 30 days
- change date limit from 7 to 30
- show an info (tooltip) saying the same
2023-05-15 20:32:45 +05:30
Sabu Siyad
51af38ae82 Merge pull request #1174 from ssiyad/fix/ui/dashboard_pie_rosetype
fix(ui): dashboard: conditionally apply `roseType`
2023-05-15 20:14:46 +05:30
Sabu Siyad
fdf43eb577 fix(ui): dashboard: conditionally apply roseType
- also limit all dataset to previous 7 days
2023-05-15 20:13:47 +05:30
Sabu Siyad
79b88b6903 Merge pull request #1173 from ssiyad/fix/ui/dashboard_item_name
fix(ui): dashboard item name
2023-05-15 19:54:54 +05:30
Sabu Siyad
7e06e9918c fix(ui): dashboard item name 2023-05-15 19:54:22 +05:30
Sabu Siyad
a8a8df96c9 Merge pull request #1158 from ssiyad/refactor/dashboard
refactor: dashboard
2023-05-15 19:49:42 +05:30
Sabu Siyad
6f236151a4 chore: remove dashboard item doctype 2023-05-15 16:46:20 +05:30
Sabu Siyad
4df63afc4a chore: move all charts to api 2023-05-15 16:45:18 +05:30
Sabu Siyad
f76bdbecf7 feat: router: change landing page to dashboard 2023-05-14 16:25:43 +05:30
Sabu Siyad
3b1c5355df Merge branch 'main' into refactor/dashboard 2023-05-14 16:18:21 +05:30
Sabu Siyad
6c94d52b83 Merge pull request #1172 from ssiyad/fix/ui/tickets_alignment
fix(ui): list items alignment (to top)
2023-05-14 16:15:56 +05:30
Sabu Siyad
b83a48e18a fix(ui): table header padding 2023-05-14 16:08:17 +05:30
Sabu Siyad
fe2f075fe1 fix(ui): list items alignment (to top) 2023-05-14 16:04:42 +05:30
Sabu Siyad
5310f77af1 Merge pull request #1171 from ssiyad/feat/ui/badge_new_ticket
feat(ui): badge for new ticket
2023-05-14 15:42:52 +05:30
Sabu Siyad
04474cb5a8 fix(ux): mark ticket as seen when opened 2023-05-14 15:32:39 +05:30
Sabu Siyad
cc07948d18 feat(ui): badge for new ticket 2023-05-14 15:30:47 +05:30
Sabu Siyad
58d2f35a37 Merge pull request #1129 from ssiyad/feat/ui/ticket_single_design
feat(ui): ticket: new design
2023-05-14 15:08:39 +05:30
Sabu Siyad
1be3a70cdb fix(ui): communication item: avatar: missing label 2023-05-14 14:59:22 +05:30
Sabu Siyad
1c7eb1601d chore: backend: remove unwanted print 2023-05-14 14:42:01 +05:30
Sabu Siyad
032a09bd3f chore: remove unused components 2023-05-14 14:39:49 +05:30
Sabu Siyad
6aff44283f fix(ux): clean: reset sidebar state 2023-05-14 14:14:29 +05:30
Sabu Siyad
59691c5b38 fix: email sending: uncomment args 2023-05-14 14:10:28 +05:30
Sabu Siyad
6829201784 feat: toast if sending failed 2023-05-14 14:10:13 +05:30
Sabu Siyad
d7db306ca2 Merge branch 'main' into feat/ui/ticket_single_design 2023-05-14 13:06:40 +05:30
Sabu Siyad
1f14c0459a feat: theme 2023-05-14 02:48:46 +05:30
Sabu Siyad
b56711dd49 chore: title color 2023-05-14 01:34:58 +05:30
Sabu Siyad
c0b53209f4 Merge branch 'main' into refactor/dashboard 2023-05-14 01:24:53 +05:30
Sabu Siyad
62b7d92d1a fix(ux): tickets: sort: replace space with - (#1170) 2023-05-14 01:10:36 +05:30
Sabu Siyad
5c096bdbbe chore(ui): sidebar: move knowledge base up (#1168) 2023-05-14 00:50:48 +05:30
Sabu Siyad
6bf6855ecc fix: settings: add favicon field (#1169) 2023-05-14 00:50:37 +05:30
Sabu Siyad
2b27334180 feat(ux): config: brand favicon (#1167) 2023-05-14 00:45:34 +05:30
Sabu Siyad
dc1208ec00 fix(ux): preset filters: old: revert (#1166) 2023-05-13 23:34:11 +05:30
Sabu Siyad
aaba18374e Revert "fix(ux): show filtered status and priority (#1163)" (#1165)
This reverts commit ca53398013.
2023-05-13 23:33:59 +05:30
Sabu Siyad
e519c540c3 fix(ui): tickets: row height: 64px (#1164) 2023-05-13 23:16:07 +05:30
Sabu Siyad
ca53398013 fix(ux): show filtered status and priority (#1163) 2023-05-13 22:56:13 +05:30
Sabu Siyad
4ebefc75e4 fix(ux): tickets: hide bottom bar if no tickets (#1162) 2023-05-13 22:34:16 +05:30
Sabu Siyad
c6127746c7 fix(ui/ux): auth pages (#1161)
* fix(ui): login box: default logo

* fix(ui): login background and shadow

* fix(ui): root: apply `antialiased`

* fix(ux): login: redirect if already authenticated

* fix(ui): signup: uneven spacing between inputs
2023-05-13 22:20:40 +05:30
Sabu Siyad
ea70664f00 chore: title and single string component 2023-05-13 19:24:58 +05:30
Sabu Siyad
2a7466381f fix(ui): sla: time capsule width (#1159) 2023-05-12 14:16:25 +05:30
Sabu Siyad
676216b70f fix: line chart: grid: remove left and right 2023-05-12 12:27:06 +05:30
Phanupong Janthapoon
77da1f48c3 fix(ux): make email subject more readable: (#1157)
Change the email subject which is replied by an agent. Example is below.

from `Re: Example email subject 10`
to `Re: Example email subject (#10)`

Note: 10 is a ticket number.

This makes emails that sent to customers look more slick and easy to understand.
2023-05-12 12:20:09 +05:30
Sabu Siyad
d79ace8be4 feat: controller: check if res is assigned 2023-05-12 12:17:08 +05:30
Sabu Siyad
dcbeba00dc fix: builtin dashboard snippets 2023-05-12 11:52:56 +05:30
Sabu Siyad
1c7fec8eef fix: add HD Dashboard Item doctype 2023-05-11 22:46:04 +05:30
Sabu Siyad
ab176ad0f8 fix: missing function import 2023-05-11 18:08:53 +05:30
Sabu Siyad
4faf8fc3e0 refactor: dashboard 2023-05-11 17:57:56 +05:30
Sabu Siyad
253f3e58ed fix: report: ticket summary: ticket table name (#1156) 2023-05-09 19:29:28 +05:30
Sabu Siyad
e81ae64825 refactor: customer portal: navbar (#1154)
* refactor: customer portal: navbar

* feat: profile options: add `My Account`
2023-05-09 14:59:10 +05:30
Phanupong Janthapoon
1973aed522 fix: Ticket Activity doesn't exist. (#1155)
When clicking on `TICKET HISTORY` on a ticket page, there is an error
saying, a table Ticket Activity doesn't exist.

This PR fix this issue. By changing `tabTicket Activity` to
`tabHD Ticket Activity`.
2023-05-09 14:49:05 +05:30
Sabu Siyad
0c74102c8e fix: sidebar: customer portal link (#1153)
- do not use hardcoded path
- get path from from `router.resolve`
2023-05-08 14:49:39 +05:30
Sabu Siyad
e4f7002b09 Merge branch 'develop' into feat/ui/ticket_single_design 2023-05-08 14:13:31 +05:30
Sabu Siyad
958948a642 fix: contact: tickets: remove fields: already set to * (#1152) 2023-05-05 19:14:28 +05:30
Sabu Siyad
85c0c182b7 fix: (mini) ticket list: use auth store instead of inject (#1151) 2023-05-05 15:32:55 +05:30
Sabu Siyad
ce817a7952 feat: brand logo for auth pages (#1149)
* feat: brand logo for auth pages

* fix(ui): move shadow to outer container
2023-05-05 13:24:57 +05:30
Sabu Siyad
d9259927cb feat: attachment: gray-50 on hover 2023-05-05 00:14:05 +05:30
Sabu Siyad
e664f9624d Revert "feat(ui): add description"
This reverts commit d7bf2461fe.
2023-05-04 23:47:34 +05:30
Sabu Siyad
49701ad256 feat(api): ticket: bulk insert (#1148)
* feat(api): ticket: bulk insert

* fix: use `start_import` instead of `form_start_import`

former is a background job while latter is not

* chore: make method more generic

* chore: move method to `extends.data_import`
2023-05-04 22:39:22 +05:30
Sabu Siyad
cd9fd9b75f fix(ux): use template only if raised via customer portal (#1147) 2023-05-03 14:22:30 +05:30
Sabu Siyad
fac209d466 chore: change initial contact details (#1146)
- add `sabu@frappe.io`
- add home url (https://frappedesk.com/helpdesk)
2023-05-03 12:04:09 +05:30
Sabu Siyad
d7bf2461fe feat(ui): add description 2023-05-02 22:43:14 +05:30
Sabu Siyad
58de994a1c fix(ui): conversation box: top margin 2023-05-02 22:07:23 +05:30
Sabu Siyad
99a7b1ba11 fix: patches: add missing sequences (#1145) 2023-05-02 18:27:58 +05:30
Sabu Siyad
3afd0181db feat(ui): date 2023-05-02 18:02:18 +05:30
Sabu Siyad
cc8c8b1a06 feat(ui): attachment new design 2023-05-02 16:32:03 +05:30
Sabu Siyad
3cb453c87f Merge branch 'main' into feat/ui/ticket_single_design 2023-05-02 15:44:25 +05:30
Sabu Siyad
43102a1d9f fix(ui): sidebar: background color (#1144) 2023-05-02 15:35:23 +05:30
Sabu Siyad
31894a4e1c fix(ui): ticket details: font size 2023-05-02 15:28:49 +05:30
Sabu Siyad
96cf9e1845 fix: delete button 2023-05-02 15:24:19 +05:30
Sabu Siyad
580cd6720e fix: article input 2023-05-02 15:22:48 +05:30
Sabu Siyad
db295dab1a fix: canned responses 2023-05-02 15:17:02 +05:30
Sabu Siyad
bc03132b07 fix(ux): customer portal: disallow empty messages (#1143) 2023-05-01 21:58:30 +05:30
Sabu Siyad
7e34d6c6c3 chore: remove unwanted console.log (#1142) 2023-05-01 21:11:26 +05:30
Sabu Siyad
d210796182 fix(ui): customer portal: ticket badge color (#1141)
- resolved and closed -> green
- open -> red
2023-05-01 21:05:38 +05:30
Sabu Siyad
7ac81b11de chore: bump version to 0.8.3 (#1140) 2023-05-01 20:25:21 +05:30
Sabu Siyad
5cefabc572 fix(ui): handle missing customer and resolution date 2023-05-01 17:50:19 +05:30
Phanupong Janthapoon
efd70015b7 [FIX] Bug: when adding a comment, the comment won't appear. (#1138) 2023-05-01 13:51:11 +05:30
Sabu Siyad
a3b580c34c fix(ux): signup (#1139)
- remove socket events
- use auth store
2023-05-01 13:39:15 +05:30
Sabu Siyad
b98e9514ae feat: window title for ticket and ticket list 2023-04-27 00:13:39 +05:30
Sabu Siyad
22d8d2f603 feat: top bar: show how the ticket was created 2023-04-26 17:48:34 +05:30
Sabu Siyad
f7d8e8cc61 feat: top bar: back button 2023-04-26 16:52:19 +05:30
Sabu Siyad
f8e14ea3ff fix: ticket details: assignee: reload after update 2023-04-26 15:05:01 +05:30
Sabu Siyad
3b874d3801 feat: ticket details: shortcut for save 2023-04-26 13:57:03 +05:30
Sabu Siyad
561f3881ac Merge branch 'main' into feat/ui/ticket_single_design 2023-04-26 04:15:11 +05:30
Sabu Siyad
ce9e42d88c chore: rename component 2023-04-26 04:12:45 +05:30
Sabu Siyad
64938221b5 fix(ui): enable prose 2023-04-26 04:09:51 +05:30
Sabu Siyad
967ce658bc feat: reload (socket) ticket on update 2023-04-26 03:56:00 +05:30
Sabu Siyad
cdde88a201 fix(ui): conversation list top margin 2023-04-26 03:44:42 +05:30
Sabu Siyad
733e3a5d18 feat: list: scroll to bottom 2023-04-26 03:40:12 +05:30
Sabu Siyad
4bc4c99af1 feat: copy ticket id 2023-04-26 00:55:03 +05:30
Sabu Siyad
f37fcdcfa7 refactor: move settings/config to store (#1130) 2023-04-25 15:02:46 +05:30
Sabu Siyad
ede119259a chore: cleanup data 2023-04-25 02:24:17 +05:30
Sabu Siyad
c731d456ac feat: ticket resolution dates 2023-04-25 02:15:41 +05:30
Sabu Siyad
4291d86680 feat: ticket details update fields 2023-04-25 02:00:07 +05:30
Sabu Siyad
519d575ac0 fix: data: editor not expanded by default 2023-04-25 00:15:50 +05:30
Sabu Siyad
48d7a22839 chore: rename responseEditor -> editor 2023-04-25 00:14:16 +05:30
Sabu Siyad
698d8d64ec fix: clean after comment 2023-04-25 00:11:50 +05:30
Sabu Siyad
29dc613084 fix(ui): editor align 2023-04-25 00:08:49 +05:30
Sabu Siyad
91d63098a1 fix(ui): communication: align 2023-04-25 00:02:12 +05:30
Sabu Siyad
dddf168c26 fix(ui): change design 2023-04-24 23:53:10 +05:30
Sabu Siyad
96b87d0a60 fix(ui) comm: cc and bcc 2023-04-24 23:27:37 +05:30
Sabu Siyad
b091368d3d feat: reply to communication 2023-04-24 23:17:23 +05:30
Sabu Siyad
8dd6634a39 feat: cc and bcc 2023-04-24 23:08:28 +05:30
Sabu Siyad
f007580eee feat: attachments 2023-04-24 19:53:31 +05:30
Sabu Siyad
fed2c18e30 feat: comment: delete if yours 2023-04-23 23:39:40 +05:30
Sabu Siyad
667cde4e4f fix(ui): grow 2023-04-23 12:36:21 +05:30
Sabu Siyad
b2471a7ea9 fix(ux): top bar date formats 2023-04-23 01:05:23 +05:30
Sabu Siyad
3d17f5a726 feat: open tickets: fetch 2023-04-23 00:59:26 +05:30
Sabu Siyad
15d34bf2ab feat: contact options 2023-04-22 23:50:44 +05:30
Sabu Siyad
86af7865ea fix: top-bar time format 2023-04-22 21:16:57 +05:30
Sabu Siyad
310d60711e feat: get custom fields from ticket 2023-04-22 21:14:20 +05:30
Sabu Siyad
fd51602868 feat: history: get id from data 2023-04-22 20:53:33 +05:30
Sabu Siyad
78904f826d feat: sidebar: toggle 2023-04-22 12:10:50 +05:30
Sabu Siyad
dd01c1e544 fix(ui): ticket details: minor changes 2023-04-22 11:45:35 +05:30
Sabu Siyad
c276cc18f3 fix(ui): contact details: title margin 2023-04-22 10:32:10 +05:30
Sabu Siyad
2cd2652a9d fix: ticket history: date long format 2023-04-22 10:31:35 +05:30
Sabu Siyad
d9becd06d0 fix(ui): ticket history: use flex for scroll 2023-04-22 10:23:41 +05:30
Sabu Siyad
8be03d964f feat(ui): sidebar: customer details 2023-04-22 10:22:33 +05:30
Sabu Siyad
b2431e8ce4 fix(ux): do not override dayjs locale 2023-04-22 00:37:08 +05:30
Sabu Siyad
7f0b933afc feat: sidebar: ticket history 2023-04-21 23:19:11 +05:30
Sabu Siyad
62e54977e1 feat: ticket: sidebar switching with headless-ui 2023-04-21 04:16:38 +05:30
Sabu Siyad
72f27019c4 feat(ui): ticket single view: new design 2023-04-21 01:32:57 +05:30
Sabu Siyad
c5770f302d refactor: use pinia (global) for keymaps (#1128)
- Add/remove keymaps per components
- Render keymaps list from global store
2023-04-18 22:37:00 +05:30
Sabu Siyad
c8663520b9 fix: handle customer not found (#1127) 2023-04-18 14:13:15 +05:30
Sabu Siyad
bfb68fcc22 fix(ui): customer portal: user name path (#1122) 2023-04-17 03:25:46 +05:30
Sabu Siyad
f335c67d5b Merge pull request #1121 from ssiyad/fix/ticket/last_doc_exception
fix(backend): ticket: do not raise error if no last communication
2023-04-17 03:10:04 +05:30
Sabu Siyad
b0eab62fc6 fix(backend): ticket: do not raise error if no last communication 2023-04-17 03:09:22 +05:30
Sabu Siyad
3d5430904a Merge pull request #1114 from ssiyad/refactor/desk_vue
refactor: 'Desk.vue'
2023-04-17 01:44:12 +05:30
Sabu Siyad
fe8b6e472e fix: ticket: assignees: case 2023-04-16 04:22:22 +05:30
Sabu Siyad
739781d0df fix: list filter not updated 2023-04-16 04:07:02 +05:30
Sabu Siyad
6ea4123b49 fix: infinite login loop 2023-04-16 03:49:47 +05:30
Sabu Siyad
5a7ce45cc2 fix: ticket related socket events: add to website room 2023-04-16 03:07:49 +05:30
Sabu Siyad
ee83c1160a refactor: main 2023-04-16 02:50:46 +05:30
Sabu Siyad
66b8b74763 chore: remove unwanted debug 2023-04-16 01:15:16 +05:30
Sabu Siyad
80e3cd596f fix: use frappe.parse_json for assignee info 2023-04-16 01:10:29 +05:30
Sabu Siyad
56943511d7 chore: remove unwanted attributes 2023-04-15 03:12:35 +05:30
Sabu Siyad
e4af6dbd71 fix: typo: ProtalTickets -> PortalTickets 2023-04-15 02:59:52 +05:30
Sabu Siyad
3ec8590d59 refactor: move auth init to router 2023-04-15 02:58:05 +05:30
Sabu Siyad
2d2ef3b2c8 refactor: replace text-[11px] with text-xs 2023-04-15 00:16:42 +05:30
Sabu Siyad
04f2fe82ca refactor: replace text-[12px] with text-sm 2023-04-15 00:15:25 +05:30
Sabu Siyad
7ee96f6b43 refactor: replace text-[13px] with text-base 2023-04-15 00:12:32 +05:30
Sabu Siyad
4fe8c89c15 chore: tailwind theme: font size: sm: 13px 2023-04-14 23:47:18 +05:30
Sabu Siyad
f19c93d061 refactor: remove Setup.vue 2023-04-14 14:21:52 +05:30
Sabu Siyad
78c149d47d refactor: move api/setup logic elsewhere 2023-04-14 04:20:05 +05:30
Sabu Siyad
e1477a2296 chore: change priority color map 2023-04-14 02:21:46 +05:30
Sabu Siyad
930a7a51fa fix: tickets: changing status from dropdown 2023-04-14 02:17:33 +05:30
Sabu Siyad
4ecbf25309 refactor: rename: Desk.vue -> AgentRoot.vue 2023-04-14 02:08:14 +05:30
Sabu Siyad
71c9cf0044 fix(ui): ticket bottom bar 2023-04-14 02:03:16 +05:30
Sabu Siyad
9664b9850f refactor: move auth to App.vue 2023-04-14 01:29:15 +05:30
Sabu Siyad
0071d2cbc8 Merge branch 'main' into refactor/desk_vue 2023-04-14 01:20:10 +05:30
Sabu Siyad
b70e6e0818 fix(ui): tickets list title (2xl) size (#1119) 2023-04-14 01:11:50 +05:30
Sabu Siyad
5678b2e47e fix: ui: font size (base) (#1118)
change base to `14px`
change xs to `12px`
2023-04-14 01:02:39 +05:30
Sabu Siyad
1e9b12935d fix: ui: ticket summary: lighter color for meta (#1117) 2023-04-13 16:40:28 +05:30
Sabu Siyad
085391b01e fix: knowledge base: some(!) paths (#1116) 2023-04-13 13:57:39 +05:30
Sabu Siyad
3402d42e93 refactor: move common items to stores 2023-04-13 01:01:10 +05:30
Sabu Siyad
53a2cb8d7f refactor: 'Desk.vue'
- Remove unused methods
- Move specific methods to individual pages
- Move auth actions to `authStore`
- Remove unwanted checks
2023-04-12 23:47:25 +05:30
Sabu Siyad
b29b4450d0 ci: add reviewdog/black (#1113) 2023-04-12 22:25:15 +05:30
Sabu Siyad
f61272fe0a fix: ticket priority: add integer value (#1112) 2023-04-12 14:58:50 +05:30
Saqib Ansari
ea5aab30cc fix: restrict tickets without any team set (#1111) 2023-04-12 12:57:04 +05:30
Sabu Siyad
a7796dbd71 feat: use ticket icon for list items (instead of input) (#1110) 2023-04-12 04:02:56 +05:30
Sabu Siyad
08f3e35218 chore: modify filter and sort url (#1109)
* chore: modify url schema

* chore: change url: `sortBy` -> `sort`
2023-04-12 03:42:27 +05:30
Sabu Siyad
7276edb92f fix: filter: assign: params (#1108) 2023-04-12 03:24:37 +05:30
Sabu Siyad
1736fbe3cb refactor: sort (#1107)
* feat: ticket priority: add integer value field

* feat: add `sort_options`

* feat: patch: integer values for ticket priorities

* chore: install: change priority integer logic

* fix: sort: remove cache
2023-04-12 02:29:46 +05:30
Sabu Siyad
0432bae82c refactor: tickets: composite filter: use frappe-ui components (#1105)
* refactor: tickets: composite filter: use frappe-ui components

* chore: remove unused components
2023-04-11 17:10:35 +05:30
Sabu Siyad
f11b71f917 fix: field names: hd_agent_group -> team (#1106) 2023-04-11 17:10:10 +05:30
Sabu Siyad
de97c23080 feat: use unplugin icons (#1102)
* chore: add unplugin dependencies

* feat: use unplugin icons for ticket summary

* chore: use phosphorus dot for ticket summary

* feat: use unplugin icon for sidebar

* feat: use unplugin icon for sort button

* chore: remove `vite-svg-loader`

* chore: remove unwanted dependency
2023-04-09 02:04:11 +05:30
Sabu Siyad
9604c6ac9a feat: collapsible sidebar (#1101)
* feat: collapsible sidebar

* ci: installed apps: `frappedesk` -> `helpdesk`

* chore: remove unused variable
2023-04-08 19:06:31 +05:30
Sabu Siyad
ce35fee8fe feat: update icons: solid icons for active state (#1100) 2023-04-06 23:32:13 +05:30
Sabu Siyad
2ef4d3fb35 fix: ticket list: assignee column truncate (#1099) 2023-04-06 17:15:58 +05:30
Sabu Siyad
42adb03e8a Merge pull request #1098 from ssiyad/fix/ui/ticket_list_col_width
feat: ticket list column: `Due In` and `Priority` dropdown
2023-04-06 15:45:18 +05:30
Sabu Siyad
cd85ef1472 feat: ticket list: add Due In 2023-04-06 15:20:45 +05:30
Sabu Siyad
d59aa69eb7 fix: ticket list column fixed width 2023-04-06 13:46:38 +05:30
Sabu Siyad
b8f5792dda feat: ticket list item: dropdown on priority 2023-04-06 13:23:29 +05:30
Sabu Siyad
6ca59d5be5 fix(ui): ticket list: bottom bar shadow (#1097) 2023-04-06 12:48:25 +05:30
Sabu Siyad
7eb8f9f00a fix: sidebar: profile button alignment (#1096) 2023-04-06 02:20:47 +05:30
Sabu Siyad
09f8c29787 Merge pull request #1095 from ssiyad/fix/ticket_list_item_shadow
fix: replace ticket list item shadow with background
2023-04-06 01:01:19 +05:30
Sabu Siyad
0e2cd7f993 feat: apply line clamp on ticket subject
https://tailwindcss.com/blog/multi-line-truncation-with-tailwindcss-line-clamp
2023-04-06 01:00:01 +05:30
Sabu Siyad
62f8253214 fix: ticket list item: replace shadow with background 2023-04-06 00:57:33 +05:30
Sabu Siyad
0d4270482d chore: bump version to 0.8.1 (#1094) 2023-04-06 00:05:19 +05:30
Sabu Siyad
b9de56c2b2 fix: patches: do not remove FrappeDesk module (#1093) 2023-04-05 23:46:45 +05:30
Sabu Siyad
b15dbb2450 fix(ui): sidebar active state background (#1092) 2023-04-05 21:51:05 +05:30
Sabu Siyad
d1e033cc17 refactor: clean up router (#1091) 2023-04-05 21:43:13 +05:30
Sabu Siyad
11e1245719 feat: /: redirect based on permission (#1089)
Redirect to agent portal tickets if logged in user has desk
permission. Redirect to customer portal if not
2023-04-05 01:34:34 +05:30
Sabu Siyad
7b9eaff895 fix: auth store: default object for user (#1087) 2023-04-05 00:47:43 +05:30
Sabu Siyad
9e60c965f5 feat: ticket list: table header background (#1086) 2023-04-04 19:28:26 +05:30
Sabu Siyad
6bc1e62579 Merge pull request #1085 from ssiyad/feat/update_icons
feat: update sidebar and ticket summary icons
2023-04-04 18:30:19 +05:30
Sabu Siyad
29e2493500 feat: ticket summary icons 2023-04-04 18:17:18 +05:30
Sabu Siyad
0eefcde190 feat: update sidebar icons 2023-04-04 16:57:25 +05:30
Sabu Siyad
6eff3417c5 feat: impl vite icons (#1084)
This allows to import SVGs directly without them being first loaded into
a component
2023-04-04 16:26:52 +05:30
Sabu Siyad
3798e32dfc fix: list viewer: button label (#1083) 2023-04-04 15:35:28 +05:30
Sabu Siyad
f14b6f55ce chore: preset fitler (global): remove count (#1082) 2023-04-04 15:26:22 +05:30
Sabu Siyad
902c5df777 Merge pull request #1080 from ssiyad/refactor/rebrand
rebrand: `frappedesk` -> `helpdesk`
2023-04-04 13:40:06 +05:30
Sabu Siyad
446fd1bff5 chore: remove unused patches 2023-04-04 03:00:09 +05:30
Sabu Siyad
079ed82136 fix: misc: doctype names 2023-04-03 16:31:14 +05:30
Sabu Siyad
1d99f7b64a fix: hooks: doctype names 2023-04-03 15:59:46 +05:30
Sabu Siyad
42c08799c5 ci: change app name: frappedesk -> helpdesk 2023-04-03 15:49:48 +05:30
Sabu Siyad
45e76b2744 fix: patch: ticket naming rule last doc fetch 2023-04-03 15:44:48 +05:30
Sabu Siyad
f12cceb67c chore: ticket actvity & comment: change naming to random 2023-04-03 04:26:28 +05:30
Sabu Siyad
c45f0548e0 chore: patch: ticket naming rule to autoincrement 2023-04-03 04:26:23 +05:30
Sabu Siyad
1f22c68e7e refactor: use autoincrement for ticket 2023-04-03 02:32:02 +05:30
Sabu Siyad
cc103eccf8 fix: ticket field name on_trash 2023-04-03 02:30:59 +05:30
Sabu Siyad
82bd6736b6 chore: remove commands 2023-04-03 02:19:30 +05:30
Sabu Siyad
a8eed4e89a chore: rename (some): "Frappe Desk" -> "Helpdesk" 2023-04-03 02:19:30 +05:30
Sabu Siyad
9e0a9fb297 chore: patch: rename pending module references 2023-04-03 02:19:29 +05:30
Sabu Siyad
332273a844 chore: patch to rename doctypes. also, remove frappedesk module 2023-04-03 01:29:44 +05:30
Sabu Siyad
536a9f2fad refactor: patch: rename app and doctypes 2023-04-02 00:16:56 +05:30
Sabu Siyad
042af05a94 Revert "chore: remove patches"
This reverts commit d7fead512a.
2023-04-01 23:50:18 +05:30
Sabu Siyad
d7fead512a chore: remove patches 2023-04-01 23:04:59 +05:30
Sabu Siyad
85188a7242 feat(commands): util: migrate from frappedesk 2023-04-01 23:03:12 +05:30
Sabu Siyad
4e13b9c699 chore: remove empty patches 2023-03-29 17:48:46 +05:30
Sabu Siyad
89128c1d83 refactor: patch: remove Frappe Desk workspace 2023-03-29 17:42:33 +05:30
Sabu Siyad
ba3d35f1b2 chore(ui): ticket list: reduce bottom bar size 2023-03-29 03:59:38 +05:30
Sabu Siyad
d90d4b717d chore: reduce ticket list spacing 2023-03-29 03:54:43 +05:30
Sabu Siyad
43a84bf4dd chore: remove prints 2023-03-29 03:50:03 +05:30
Sabu Siyad
c28df61ca2 chore: remove a debugger 2023-03-29 03:48:02 +05:30
Sabu Siyad
2ac658e46e fix: ticket template filters: parse json 2023-03-29 03:44:20 +05:30
Sabu Siyad
301659f3ed chore: more renames: frappedesk -> helpdesk 2023-03-29 01:38:44 +05:30
Sabu Siyad
90d5482354 chore: rename: FrappeDesk -> Frappe Helpdesk 2023-03-29 01:34:25 +05:30
Sabu Siyad
ead96fd024 refactor: rename socket events: prefix with helpdesk: 2023-03-29 01:21:49 +05:30
Sabu Siyad
8772df97be chore: update readme 2023-03-29 01:00:08 +05:30
Sabu Siyad
cf625f5402 fix: some more frappedesk. -> helpdesk. 2023-03-29 00:11:48 +05:30
Sabu Siyad
0ee1a16d4f fix: routes: rename
- `/helpdesk/dashboard` -> `/helpdesk`
- `/helpdesk/tickets` -> `/helpdesk/my-tickets`
- `/helpdesk/kb` -> `/helpdesk/knowledge-base`
2023-03-28 21:57:58 +05:30
Sabu Siyad
401f82b827 fix: role reference: Frappedesk Contact -> Helpdesk Contact 2023-03-28 16:18:15 +05:30
Sabu Siyad
5af194dc95 fix(api): ticket: rename doctype: Agent -> HD Agent 2023-03-28 15:27:19 +05:30
Sabu Siyad
8026eb5a87 fix(api): kb: rename doctypes
`Article` -> `HD Article`
`Category` -> `HD Article Category`
2023-03-28 15:18:28 +05:30
Sabu Siyad
b5350a9ce6 chore: hooks: modify website route rules 2023-03-28 15:00:19 +05:30
Sabu Siyad
c5ff40fedb refactor: change (merge) routes to /helpdesk
- `/support` -> `/helpdesk`
- `/frappedesk` -> `/helpdesk/dashboard`
2023-03-28 14:56:07 +05:30
Sabu Siyad
6e768c7885 fix: auth: router redirect with name 2023-03-28 02:16:59 +05:30
Sabu Siyad
1654d26f8b fix: git ignore 2023-03-28 01:09:08 +05:30
Sabu Siyad
ee626e2edc fix: vue: frappedesk -> helpdesk 2023-03-28 01:02:25 +05:30
Sabu Siyad
c82426cff0 fix: auth: api path 2023-03-28 00:49:27 +05:30
Sabu Siyad
0f373da9b4 chore: hooks: rename app_name & app_title 2023-03-28 00:31:58 +05:30
Sabu Siyad
1db0d2a268 fix: patch: module name: FrappeDesk -> Helpdesk 2023-03-28 00:29:00 +05:30
Sabu Siyad
81885a8b4f fix: api: path 2023-03-28 00:22:39 +05:30
Sabu Siyad
97f21ed032 fix: extends: import path 2023-03-28 00:22:17 +05:30
Sabu Siyad
d1ddcd95d7 chore: setup: frappedesk -> helpdesk 2023-03-28 00:19:14 +05:30
Sabu Siyad
4c229c9f61 refactor: vue: rename frappedesk.extends -> helpdesk.extends 2023-03-28 00:16:20 +05:30
Sabu Siyad
043f5025bf refactor: vue: rename frappedesk.api -> helpdesk.api 2023-03-28 00:10:54 +05:30
Sabu Siyad
79feeb15a9 refactor: rename frappedesk/ -> helpdesk/ 2023-03-28 00:02:07 +05:30
Sabu Siyad
de4eb7741f fix: doctype names (mostly api calls) 2023-03-27 20:03:26 +05:30
Sabu Siyad
e522dbf142 fix: ticket list: doctype names and api paths 2023-03-27 18:26:02 +05:30
Sabu Siyad
0380b9a143 fix: api: dashboard: doctype names 2023-03-27 18:01:31 +05:30
Sabu Siyad
cfde32d811 fix: setup: paths and doctype names 2023-03-27 17:59:34 +05:30
Sabu Siyad
042df60364 fix: import ticket import path 2023-03-27 17:52:12 +05:30
Sabu Siyad
3c8775a5ee refactor: vue: change doctype names 2023-03-27 17:44:40 +05:30
Sabu Siyad
8542f0c5db fix: install: hooks and setup functions 2023-03-27 17:19:29 +05:30
Sabu Siyad
68b6b7c726 refactor: remove doctype/ticket 2023-03-27 15:32:50 +05:30
Sabu Siyad
6bde4d94bd refactor: rename doctype: Category -> HD Article Category 2023-03-27 14:51:10 +05:30
Sabu Siyad
512b78c800 refactor: rename doctype: Pause SLA On Status -> HD Pause Service Level Agreement On Status 2023-03-27 01:02:20 +05:30
Sabu Siyad
58732b598c refactor: rename doctype: SLA Fulfilled On Status -> HD Service Level Agreement Fulfilled On Status 2023-03-27 01:00:40 +05:30
Sabu Siyad
594eabae05 refactor: rename doctype: Service Holiday List -> HD Service Holiday List 2023-03-27 00:55:39 +05:30
Sabu Siyad
1aa879330b refactor: rename doctype: Service Level Priority -> HD Service Level Priority 2023-03-27 00:49:12 +05:30
Sabu Siyad
6a2ede3e63 fix(api): ticket activity: import path 2023-03-27 00:45:34 +05:30
Sabu Siyad
7fc8afeee8 refactor: rename doctype: Ticket Custom Fields Config -> HD Ticket Custom Field Config 2023-03-27 00:32:33 +05:30
Sabu Siyad
63f6ffa133 refactor: rename doctype: Ticket Template DocField -> HD Ticket Template DocField 2023-03-27 00:29:12 +05:30
Sabu Siyad
391f7655d4 refactor: rename doctype: Ticket Custom Field Item -> HD Ticket Custom Field Item 2023-03-27 00:28:03 +05:30
Sabu Siyad
ee9ef2b031 refactor: rename doctype: Ticket Custom Field -> HD Ticket Custom Field 2023-03-27 00:27:07 +05:30
Sabu Siyad
39e5507da2 refactor: rename doctype: SLA -> HD Service Level Agreement 2023-03-27 00:25:45 +05:30
Sabu Siyad
97e05acd35 refactor: rename doctype: Ticket Template -> HD Ticket Template 2023-03-27 00:17:44 +05:30
Sabu Siyad
38218bd3d0 refactor: rename doctype: Support Search Source -> HD Support Search Source 2023-03-27 00:04:14 +05:30
Sabu Siyad
15bd4ccc13 refactor: rename doctype: Ticket Activity -> HD Ticket Activity 2023-03-27 00:03:00 +05:30
Sabu Siyad
dcaef3b0ef refactor: rename doctype: Ticket Type -> HD Ticket Type 2023-03-26 23:59:39 +05:30
Sabu Siyad
e07e951c5e refactor: rename doctype: Ticket -> HD Ticket 2023-03-26 23:54:47 +05:30
Sabu Siyad
d6921f11da refactor: rename doctype: Desk Account Request -> HD Desk Account Request 2023-03-26 23:48:39 +05:30
Sabu Siyad
28fc429847 refactor: rename doctype: Portal Signup Request -> HD Portal Signup Request 2023-03-26 23:45:26 +05:30
Sabu Siyad
b8d4530669 refactor: rename doctype: FD Customer -> HD Customer 2023-03-26 23:40:21 +05:30
Sabu Siyad
f45be5772c refactor: rename doctype: FD Preset Filter Item -> HD Preset Filter Item 2023-03-26 23:37:36 +05:30
Sabu Siyad
67de7bd96a refactor: rename doctype: FD Preset Filter -> HD Preset Filter 2023-03-26 23:37:30 +05:30
Sabu Siyad
136156260b refactor: rename doctype: Organization Contact Item -> HD Organization Contact Item 2023-03-26 23:31:43 +05:30
Sabu Siyad
2508a1346e refactor: rename doctype: Canned Response -> HD Canned Response 2023-03-26 23:30:19 +05:30
Sabu Siyad
f740b5bdf3 refactor: rename doctype: Frappe Desk Notification -> HD Notification 2023-03-26 23:27:35 +05:30
Sabu Siyad
dd155e87e1 refactor: rename doctype: Frappe Desk Comment -> HD Ticket Comment 2023-03-26 23:24:16 +05:30
Sabu Siyad
452ce7dd81 refactor: rename doctype: Holiday -> HD Holiday 2023-03-26 23:21:27 +05:30
Sabu Siyad
1a15c77adf refactor: rename doctype: Service Day -> HD Service Day 2023-03-26 23:20:30 +05:30
Sabu Siyad
b8d4e022d6 refactor: rename doctype: Organization -> HD Organization 2023-03-26 23:18:39 +05:30
Sabu Siyad
83bf49a6cf refactor: rename doctype: Agent Group Item
- `Agent Group Item` -> `HD Team Item`
2023-03-26 23:16:46 +05:30
Sabu Siyad
dcf8b871a0 refactor: rename doctype: Article Item
- `Article Item` -> `HD Article Item`
2023-03-26 23:15:14 +05:30
Sabu Siyad
6d3177cb4f refactor: rename doctype: Sub Category Item
- `Sub Category Item` -> `HD Article Sub Category Item`
2023-03-26 23:13:42 +05:30
Sabu Siyad
58ef489c7d refactor: rename doctype: Category
- `Category` -> `HD Article Category`
2023-03-26 23:12:35 +05:30
Sabu Siyad
e82f75d82b refactor: rename doctype: User Article Feedback
- `User Article Feedback` -> `HD Article Feedback`
2023-03-26 23:10:26 +05:30
Sabu Siyad
d827a3e6f5 refactor: rename doctype: Article
- `Article` -> `HD Article`
2023-03-26 23:09:13 +05:30
Sabu Siyad
fa95dacee9 refactor: rename doctype: Teams User
- `Teams User` -> `HD Team Member`
2023-03-26 22:55:39 +05:30
Sabu Siyad
614ed16df2 refactor: rename doctype: Ticket Priority
- `Ticket Priority` -> `HD Ticket Priority`
2023-03-26 22:45:03 +05:30
Sabu Siyad
f4116487c2 refactor: rename doctype: Frappe Desk Settings
- `Frappe Desk Settings` -> `HD Settings`
2023-03-26 22:39:36 +05:30
Sabu Siyad
d7f1b32ada refactor: rename doctypes: Agent & Agent Group
- `Agent` -> `HD Agent`
- `Agent Group` -> `HD Team`
2023-03-26 22:30:06 +05:30
Sabu Siyad
602cacdea6 chore: change vite target es2015 -> es2021 (#1078)
- This commit also add a `tsconfig.json` with target `es2021`
2023-03-26 00:03:21 +05:30
Sabu Siyad
541935f94b fix: auth store: expose isAgent (#1077) 2023-03-25 02:29:06 +05:30
Sabu Siyad
563146e180 chore: cleanup SideBarMenu.vue (#1076)
- use `script setup`
- replace arbitrary tailwind classes
2023-03-25 02:23:30 +05:30
Sabu Siyad
97786d3ce8 feat: redesign sidebar (#1075) 2023-03-25 00:33:09 +05:30
Sabu Siyad
7388af7ae0 chore: ticket link: use name instead of path (#1074) 2023-03-24 22:08:51 +05:30
Sabu Siyad
78e418625e refactor: replace user injections with auth store (#1073)
* refactor: do not inject/provide user (logged in)

replace inject/provide with pinia store (authStore)

* refactor: refine session user info

* refactor: replace `user` injections
2023-03-24 21:33:41 +05:30
Sabu Siyad
d47965b70c chore: cleanup (#1072) 2023-03-24 17:11:10 +05:30
Sabu Siyad
df8208aa36 refactor: list manager (#1071)
* refactor: list manager

- move page meta logic to api
- extend existing list resource from `frappe-ui`

* refactor: list manager and ui

* feat: comment and conversation count

* refactor: layout

* feat: bottom bar

* feat: dropdowns everywhere

* refactor: place `Add Ticket` button

* fix: list meta

* fix: use `computed` instead of `ref`

* refactor: add `router-link` to ticket page

* refactor: move auth to store (initial)

This commit does not remove previous implementations. It just adds a
store to be used in the future, and to replace existing ones

* refactor: clean tickets / preset filters

* chore: ticket list: rename `__l` -> `ticketList`
2023-03-24 16:25:49 +05:30
Sabu Siyad
75a1acb052 feat(ui): ticket cc bcc improvements (#1070)
* feat(ui): add email to cc and bcc list on space and comma
* feat(ui): ability to paste emails into cc/bcc fields
2023-03-20 20:00:57 +05:30
Sabu Siyad
608bb97968 refactor(kb): list query (#1069)
* refactor: article list: move fields and filters to api
* fix: remove slug from `frappedesk/article`
2023-03-19 14:09:01 +05:30
Sabu Siyad
90e2206696 chore: bump version to 0.7.0 (#1068) 2023-03-18 23:13:50 +05:30
Sabu Siyad
ad3d93077c Merge pull request #1067 from ssiyad/feat/email_cc_bcc_multiple
feat: email: cc bcc multiple value support
2023-03-18 23:08:21 +05:30
Sabu Siyad
4a2b5444bc feat: cc/bcc: fetch from last communication 2023-03-18 13:45:00 +05:30
Sabu Siyad
bd9999108f feat: cc/bcc: remove from list 2023-03-17 21:59:04 +05:30
Sabu Siyad
366a72c9d7 feat: mutliple values for cc/bcc 2023-03-17 21:08:38 +05:30
Sabu Siyad
6d6dbd2063 Merge pull request #1065 from ssiyad/chore/settings/workflow_descriptions
chore(settings): add descriptions for workflow checkboxes (gpt ftw)
2023-03-17 17:19:23 +05:30
Sabu Siyad
9627817906 chore(settings): add descriptions for workflow checkboxes (gpt ftw) 2023-03-17 12:15:00 +05:30
Sabu Siyad
a336982cdf Merge pull request #1064 from ssiyad/feat/email_expose_recipients
feat: expose recipients in e-mail
2023-03-16 14:00:17 +05:30
Sabu Siyad
2ee6ab941b feat: expose recipients in e-mail 2023-03-16 13:44:59 +05:30
Sabu Siyad
fbc352f7a7 Merge pull request #1061 from ssiyad/feat/settings_instant_email
feat: settings: add a check to instantly send email
2023-03-15 22:35:03 +05:30
Sabu Siyad
572e4ab5e0 Merge pull request #1062 from ssiyad/fix/ticket_reply_fallback_email
fix(ticket): fallback value for email
2023-03-15 22:29:04 +05:30
Sabu Siyad
eda823da3e fix(ticket): fallback value for email 2023-03-15 22:28:10 +05:30
Sabu Siyad
be30327c55 feat: settings: add a check to instantly send email 2023-03-15 21:54:58 +05:30
Sabu Siyad
9b61e1cc72 Merge pull request #1056 from ssiyad/refactor/ticket_ops
refactor: ticket (logic/ui/ux)
2023-03-15 21:31:50 +05:30
Sabu Siyad
7d7c6b8fa0 feat: pick cc and bcc from last conversation 2023-03-15 17:14:12 +05:30
Sabu Siyad
543c3cbe1b Merge pull request #1060 from ssiyad/fix/portal/reopen_button
fix: set `Open` status on `Reopen` button click
2023-03-15 16:24:58 +05:30
Sabu Siyad
cb877bde73 fix: set Open status on Reopen button click 2023-03-15 16:21:57 +05:30
Sabu Siyad
d933dc79bb fix(api): portal_link 2023-03-15 14:51:54 +05:30
Sabu Siyad
938adf0266 refactor: move text editor buttons (const) to separate file 2023-03-15 14:24:59 +05:30
Sabu Siyad
518f9b2704 refactor: use zod + vee-validate for (b)cc validation 2023-03-15 14:12:25 +05:30
Sabu Siyad
c02bc19b35 refactor: move clipboard copy to utils 2023-03-15 12:13:56 +05:30
Sabu Siyad
fa92a67a8b refactor: ticket: remove unwanted methods 2023-03-14 22:02:31 +05:30
Sabu Siyad
f3a7eec69c Merge branch 'main' into refactor/ticket_ops 2023-03-14 21:45:23 +05:30
Sabu Siyad
7982f09212 refactor: use qb for email utils 2023-03-14 21:39:42 +05:30
Sabu Siyad
8ed3051907 feat(desk): computed tab for ticket (properties) 2023-03-14 20:43:09 +05:30
Sabu Siyad
392a11e96c fix(ui): ticket reply: filter error messages 2023-03-14 20:42:19 +05:30
Sabu Siyad
58535837da feat: helpdesk settings: add skip_email_workflow 2023-03-14 17:06:28 +05:30
Sabu Siyad
491310008e feat: fetch skip_email_workflow from settings 2023-03-14 17:01:13 +05:30
Sabu Siyad
2d317f261a refactor: ticket (logic/ui/ux) 2023-03-14 16:42:01 +05:30
Sabu Siyad
de0a391ed2 Merge pull request #1054 from ssiyad/fix/quotes_typo
fix: typo: wrong quotes
2023-03-13 23:26:11 +05:30
Sabu Siyad
67c7934def fix: typo: wrong quotes 2023-03-13 23:25:35 +05:30
Sabu Siyad
901977ab6f Merge pull request #1053 from ssiyad/chore/rm_console
chore: remove `console` calls
2023-03-13 22:42:46 +05:30
Sabu Siyad
6f72a10a65 chore: remove console calls 2023-03-13 22:32:31 +05:30
Sabu Siyad
39fc2e3761 Merge pull request #1052 from ssiyad/fix/rm_custom_icons
fix(ui): remove custom icon from toasts
2023-03-13 22:18:19 +05:30
Sabu Siyad
60da5fde40 fix(ui): remove custom icon from toasts 2023-03-13 22:17:34 +05:30
Sabu Siyad
d1c92af434 Merge pull request #1048 from ssiyad/feat/toast_update
feat(ui): update toast ui (fetched from frappe-ui)
2023-03-13 19:19:07 +05:30
Sabu Siyad
6a0ed7da47 feat: form in toast 2023-03-13 18:16:17 +05:30
Sabu Siyad
9d277ca7ef Merge pull request #1050 from ssiyad/fix/ticket_communication_realtime
fix(ux): realtime communication for ticket: comments/conversations
2023-03-13 17:03:00 +05:30
Sabu Siyad
3d40aef23c fix(ux): realtime communication for ticket: comments/conversations 2023-03-13 16:53:08 +05:30
Sabu Siyad
7d7ec4d7fe feat(ui): update toast ui (fetched from frappe-ui, customized for buttons) 2023-03-12 21:30:11 +05:30
Sabu Siyad
9f16561867 Merge pull request #1047 from ssiyad/fix/permissions
fix(ux): doctype permissions
2023-03-12 19:53:57 +05:30
Sabu Siyad
f80091bbc6 fix(ux): doctype permissions
- `Agent`
- `Canned Response`
- `FD Customer`
2023-03-12 13:39:32 +05:30
Sabu Siyad
c11a843bcb Merge pull request #1046 from ssiyad/fix/ticket_list_agent_avatar
fix(ui): agent avatar in ticket list
2023-03-11 22:32:07 +05:30
Sabu Siyad
8ba29ae1c6 fix(ui): agent avatar in ticket list 2023-03-11 22:30:39 +05:30
Sabu Siyad
8d0fc4cdd8 Merge pull request #1045 from ssiyad/chore/get_list_replace
chore(frontend): replace `frappe.client.get_list` with custom `get_list`
2023-03-11 20:05:43 +05:30
Sabu Siyad
61fff93d27 chore(frontend): replace frappe.client.get_list with custom get_list 2023-03-10 23:59:34 +05:30
Sabu Siyad
d16aa85a39 Merge pull request #1044 from ssiyad/feat/send_update_status
feat: send and update status
2023-03-10 16:05:05 +05:30
Sabu Siyad
5585caecd2 fix: replace method: with url: 2023-03-10 15:56:24 +05:30
Sabu Siyad
3e7d9fc311 refactor: re-arrange button placement 2023-03-10 15:53:26 +05:30
Sabu Siyad
83a6966134 Merge branch 'main' into feat/send_update_status 2023-03-10 13:00:57 +05:30
Sabu Siyad
5482d5c49f Merge pull request #1043 from ssiyad/chore/bump_version
chore: bump version to `0.6.5`
2023-03-10 12:37:17 +05:30
Sabu Siyad
44e2633cfe chore: bump version to 0.6.5 2023-03-10 12:36:33 +05:30
Sabu Siyad
c0a7133506 Merge pull request #1042 from ssiyad/fix/ui/info_panel_padding
fix(ui): info panel: remove unwanted padding
2023-03-10 12:34:51 +05:30
Sabu Siyad
44cc25dea1 fix(ui): info panel: remove unwanted padding 2023-03-10 10:50:17 +05:30
Sabu Siyad
f2ce04ecc7 Merge pull request #1040 from ssiyad/test/fix_broken
test: fix broken
2023-03-10 09:38:55 +05:30
Sabu Siyad
1e78d457f5 test: service holiday: fix name field 2023-03-10 09:26:55 +05:30
Sabu Siyad
06003c9102 test: remove ticket analytics
This is a copy paste from erpnext itself. Imports were never correct and
was broken since it was introduced.
2023-03-10 09:25:51 +05:30
Sabu Siyad
780a6dddab Merge pull request #1039 from ssiyad/chore/upgrade_frappe_ui
chore: upgrade `frappe-ui` and other dependencies
2023-03-10 09:15:24 +05:30
Sabu Siyad
8693c596e0 Merge branch 'main' into chore/upgrade_frappe_ui 2023-03-10 03:18:12 +05:30
Sabu Siyad
06daca0bd4 fix: adjust list resources for frappe-ui version
- change `limit` to `pageLength`
- change `order_by` to `orderBy`
2023-03-10 03:04:27 +05:30
Sabu Siyad
8f055f3ec2 chore: re-gen yarn.lock 2023-03-09 19:48:16 +05:30
Sabu Siyad
3643594122 chore: upgrade frappe-ui: 0.0.102 -> 0.0.103 2023-03-09 19:04:44 +05:30
Sabu Siyad
85d7b7a847 fix: replace remaining methods with url 2023-03-09 15:58:57 +05:30
Sabu Siyad
1402817e54 Merge pull request #1037 from ssiyad/feat/article_title_slug
feat: article title slug in url
2023-03-09 15:55:02 +05:30
Sabu Siyad
4043928ad1 fix: replace remaining methods with url 2023-03-09 15:37:54 +05:30
Sabu Siyad
ea23f883d8 fix: remove unwanted resources block 2023-03-09 15:25:31 +05:30
Sabu Siyad
b9bc559911 feat(ui): use frappeResource
https://frappeui.com/resources/resource.html#frappe-resource
2023-03-09 15:15:24 +05:30
Sabu Siyad
385e09e1a2 chore: upgrade frappe-ui 2023-03-09 00:49:18 +05:30
Sabu Siyad
d3b781b074 chore: sync yarn lock 2023-03-09 00:40:18 +05:30
Sabu Siyad
4df7246b7d chore: remove unused packages reported by depcheck 2023-03-09 00:39:32 +05:30
Sabu Siyad
e4ef8fdd22 chore: upgrade vite 2023-03-09 00:38:05 +05:30
Sabu Siyad
60b4db6d0e chore: remove luxon from dependencies 2023-03-09 00:32:18 +05:30
Sabu Siyad
0306d12800 chore: upgrade minor versions 2023-03-09 00:30:07 +05:30
Sabu Siyad
3a5653f983 fix(save-filters-dialog): mut prop 2023-03-09 00:27:23 +05:30
Sabu Siyad
a3016257d8 fix(custom-switch): mut prop 2023-03-09 00:20:16 +05:30
Sabu Siyad
4310e2468e chore: upgrade patch versions 2023-03-09 00:13:08 +05:30
Sabu Siyad
6d00f0a9bb chore: remove frappe-ui submodule 2023-03-08 23:59:00 +05:30
Sabu Siyad
0bec23a3a2 feat: article title slug in url 2023-03-08 23:31:21 +05:30
Sabu Siyad
033aac82cb Merge pull request #1036 from ssiyad/feat/kb_category_name_articles
feat: knowledge base: category name instead of "Articles"
2023-03-08 12:53:18 +05:30
Sabu Siyad
bf984fc87d feat: knowledge base: category name instead of "Articles" 2023-03-08 12:51:27 +05:30
Sabu Siyad
831921e23b Merge pull request #1035 from ssiyad/fix/toast_clear_invalid_root
fix(ui): clear toast: root could be invalid
2023-03-07 22:41:52 +05:30
Sabu Siyad
05f6e26841 fix(ui): clear toast: root could be invalid 2023-03-07 22:38:06 +05:30
Sabu Siyad
4fb2bf2549 Merge pull request #1034 from ssiyad/chore/replace_deprecated_tz_function
chore: replace `get_time_zone` with `get_system_timezone`
2023-03-07 11:47:32 +05:30
Sabu Siyad
27a8955ca1 chore: replace get_time_zone with get_system_timezone
71a1cdc96e
2023-03-07 11:44:36 +05:30
Sabu Siyad
2e27698d95 Merge pull request #1033 from ssiyad/fix/default_ticket_type
fix: missing default ticket type
2023-03-07 11:38:04 +05:30
Sabu Siyad
072c3b883e fix(ux): portal/ticketing: throw error through toast 2023-03-07 11:37:17 +05:30
Sabu Siyad
18d9c1e09e fix: wrap string in _ (translation) 2023-03-06 19:00:59 +05:30
Sabu Siyad
8c38c5106c fix: missing default ticket type
This commit adds a `Ticket Type` field to portal and desk. It also adds an
option to set a default ticket type in settings. Ticket types can also
be marked as mandatory or not.
2023-03-06 18:58:23 +05:30
Sabu Siyad
f2d4dfa8dd Merge pull request #1032 from ssiyad/fix/settings_missing_checkboxes
fix(settings): add hidden but wanted checks
2023-03-06 12:41:23 +05:30
Sabu Siyad
deffd54ec9 fix(settings): add hidden but wanted checks
caused by https://github.com/frappe/helpdesk/pull/1030
2023-03-06 12:04:15 +05:30
Sabu Siyad
3a23d46b1a Merge pull request #1030 from ssiyad/chore/remove_relic_settings
chore: remove relic settings
2023-03-06 11:20:45 +05:30
Sabu Siyad
72d57d658e Merge branch 'main' into chore/remove_relic_settings 2023-03-06 11:19:43 +05:30
Sabu Siyad
4102499438 Merge pull request #1029 from ssiyad/fix/ux/suppress_default_email_toast
fix(ux): suppress default email toast
2023-03-06 11:17:59 +05:30
Sabu Siyad
4a0dac3c12 chore(settings): remove Forum Posts 2023-03-06 00:55:59 +05:30
Sabu Siyad
c643fccbf8 chore(settings): remove Support Portal 2023-03-06 00:55:12 +05:30
Sabu Siyad
45dd66be0b chore(settings): remove Issues 2023-03-06 00:54:04 +05:30
Sabu Siyad
c2404932fb chore: format 2023-03-06 00:49:37 +05:30
Sabu Siyad
70bc367e5b fix(ui): suppress default email toast 2023-03-06 00:48:47 +05:30
Harshit
ed4944c759 Merge pull request #1027 from frappe/fix_typo_agent_settings
fix: typo in agent settings
2023-03-03 13:52:08 +05:30
Harshit
c4c278c45d fix: typo in agent settings 2023-03-03 13:51:02 +05:30
Sabu Siyad
e9ca7dd5eb Merge pull request #1024 from frappe/fix/contact_list_fetch
fix: contact list fetch
2023-03-02 00:16:43 +05:30
Sabu Siyad
b107ba0c4a chore: bump version to 0.6.4 2023-03-02 00:15:05 +05:30
Sabu Siyad
d452b2cff5 feat: hooks for get list query 2023-03-02 00:13:13 +05:30
Sabu Siyad
affd0384ff fix(api): handle empty string 2023-03-01 14:49:10 +05:30
Sabu Siyad
906e62a888 fix(api): fallback value for order by field (#1023) 2023-03-01 12:00:06 +05:30
Harshit
3e650a2d6b fix(settings/labels): update field names (#1022) 2023-02-28 16:30:51 +05:30
Harshit
698737f97c agent group -> team 2023-02-28 16:06:02 +05:30
Sabu Siyad
283b16bf04 Merge pull request #1021 from frappe/fix/api/query_sort
fix(get_query): add `order_by` for v14
2023-02-28 14:22:49 +05:30
Sabu Siyad
992d7b0958 fix(get_query): add order_by for v14 2023-02-28 14:19:42 +05:30
Sabu Siyad
c444123ad4 Merge pull request #1014 from ssiyad/fix/framework_version_qb
fix(api): `get_query` for older versions
2023-02-28 11:38:50 +05:30
Sabu Siyad
20229be669 Merge pull request #1015 from ssiyad/feat/release_yml
feat: add `release.yml`
2023-02-27 19:46:03 +05:30
Sabu Siyad
82996aac47 feat: add release.yml 2023-02-27 19:45:29 +05:30
Sabu Siyad
703500fe36 fix(api): get_query for older versions 2023-02-27 19:17:49 +05:30
Sabu Siyad
b1e7d712ec Merge branch 'feature/update_status' of https://github.com/tridz-dev/desk into feat/send_update_status 2023-02-25 16:49:16 +05:30
fadilsid
0b63dbc636 feat: update status while sending message 2023-01-18 10:21:07 +00:00
1395 changed files with 351276 additions and 38336 deletions

View File

@@ -1,18 +1,24 @@
module.exports = {
env: {
browser: true,
es2021: true,
node: true,
},
extends: [
"eslint:recommended",
"plugin:json/recommended",
"plugin:vue/vue3-recommended",
"plugin:tailwindcss/recommended",
"plugin:prettier/recommended",
],
parserOptions: {
ecmaVersion: "latest",
sourceType: "module",
},
export default {
env: {
browser: true,
es2021: true,
node: true,
},
extends: [
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"plugin:json/recommended",
"plugin:vue/vue3-recommended",
"plugin:tailwindcss/recommended",
"plugin:prettier/recommended",
],
parserOptions: {
ecmaVersion: "latest",
sourceType: "module",
parser: "@typescript-eslint/parser",
},
rules: {
"tailwindcss/no-custom-classname": "off",
"vue/multi-word-component-names": "off",
},
};

37
.flake8 Normal file
View File

@@ -0,0 +1,37 @@
[flake8]
ignore =
E121,
E126,
E127,
E128,
E203,
E225,
E226,
E231,
E241,
E251,
E261,
E265,
E302,
E303,
E305,
E402,
E501,
E741,
W291,
W292,
W293,
W391,
W503,
W504,
F403,
B007,
B950,
W191,
E124, # closing bracket, irritating while writing QB code
E131, # continuation line unaligned for hanging indent
E123, # closing bracket does not match indentation of opening bracket's line
E101, # ensured by use of black
max-line-length = 200
exclude=.github/helper/semgrep_rules

13
.git-blame-ignore-revs Normal file
View File

@@ -0,0 +1,13 @@
# Since version 2.23 (released in August 2019), git-blame has a feature
# to ignore or bypass certain commits.
#
# This file contains a list of commits that are not likely what you
# are looking for in a blame, such as mass reformatting or renaming.
# You can set this file as a default ignore file for blame by running
# the following command.
#
# $ git config blame.ignoreRevsFile .git-blame-ignore-revs
# bulk formatting
b7fb25fe7c784c4dcf639cf954445ac8452a85d9
353aaae07a5f56c5686caa79ce5d1e2e1544494a

BIN
.github/AgentListView.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1022 KiB

BIN
.github/Hero2.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 990 KiB

58
.github/ISSUE_TEMPLATE/bug_report.yaml vendored Normal file
View File

@@ -0,0 +1,58 @@
---
name: Bug Report
description: Report a bug encountered while using Frappe Helpdesk
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Welcome to Frappe Helpdesk issue tracker! Before creating an issue, please consider the following:
1. This tracker should only be used to report bugs and request features / enhancements to Frappe Helpdesk
- For questions and general support, checkout the [documentation](https://docs.frappe.io/helpdesk) or use the [forum](https://discuss.frappe.io) to get inputs from the open source community.
- For documentation issues, propose edit on the [documentation site](https://docs.frappe.io/helpdesk) directly.
2. When making a bug report, make sure you provide all required information. The easier it is for
maintainers to reproduce, the faster it'll be fixed.
3. If you think you know what the reason for the bug is, share it with us. Maybe put in a PR 😉
- type: textarea
id: bug-info
attributes:
label: Information about bug
description: Also tell us, what did you expect to happen? If applicable, add screenshots to help explain your problem.
placeholder: Please provide as much information as possible.
validations:
required: true
- type: textarea
id: exact-version
attributes:
label: Version
description: Share exact version number of Frappe, and Frappe Helpdesk you are using.
placeholder: |
Frappe version -
Frappe Helpdesk version -
validations:
required: true
- type: dropdown
id: install-method
attributes:
label: Installation method
options:
- docker
- easy-install
- manual install
- FrappeCloud
validations:
required: false
- type: textarea
id: logs
attributes:
label: Relevant log output / Stack trace / Full Error Message.
description: Please copy and paste any relevant log output. This will be automatically formatted.
render: shell
...

View File

@@ -0,0 +1,50 @@
---
name: Feature Request
description: Suggest an idea to improve Frappe Helpdesk
labels: ["feature-request"]
body:
- type: markdown
attributes:
value: |
Welcome to Frappe Helpdesk issue tracker! Before submitting a request, please consider the following:
1. This tracker should only be used to report bugs and request features / enhancements to Frappe Helpdesk
- For questions and general support, checkout the [documentation](https://docs.frappe.io/helpdesk) or use the [forum](https://discuss.frappe.io) to get inputs from the open source community.
2. Use the search function before creating a new issue. Duplicates will be closed and directed to
the original discussion.
3. When making a feature request, make sure to be as verbose as possible. The better you convey your message, the greater the drive to make it happen.
Please keep in mind that we get many many requests and we can't possibly work on all of them, we prioritize development based on the goals of the product and organization. Feature requests are still welcome as it helps us in research when we do decide to work on the requested feature.
If you're in urgent need to a feature, please try the following channels to get paid developments done quickly:
1. Certified Frappe partners: https://frappe.io/partners
2. Developer community on Frappe forums: https://discuss.frappe.io/c/developers/5
3. Telegram group for Frappe Helpdesk development work: https://t.me/+eBnEZm7urwEwYTc1
- type: textarea
id: problem-info
attributes:
label: Is your feature request related to a problem? Please describe.
description: A clear and concise description of what the problem is. Eg. I'm always frustrated when [...]
placeholder: Please provide as much information as possible.
- type: textarea
id: solution-info
attributes:
label: Describe the solution you'd like
description: A clear and concise description of what you want to happen.
- type: textarea
id: alternatives-info
attributes:
label: Describe the alternatives you've considered
description: A clear and concise description of any alternative solutions or features you've considered.
- type: textarea
id: additional-info
attributes:
label: Additional context
description: Add any other context or screenshots about the feature request here.
...

BIN
.github/KB.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

BIN
.github/Search2.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

4
.github/hd-logo.svg vendored Normal file
View File

@@ -0,0 +1,4 @@
<svg width="118" height="118" viewBox="0 0 118 118" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M93.9278 0H23.1013C10.3428 0 0 10.3428 0 23.1013V93.9278C0 106.686 10.3428 117.029 23.1013 117.029H93.9278C106.686 117.029 117.029 106.686 117.029 93.9278V23.1013C117.029 10.3428 106.686 0 93.9278 0Z" fill="#7D42FB"/>
<path d="M95.9759 50.8753V27.8265L21 27.8265V38.3271H85.5278V48.3027C81.3275 49.5103 78.2824 53.3955 78.2824 57.9632C78.2824 62.531 81.3275 66.3637 85.5278 67.5713V77.5468H31.5006V50.1403H21V88.0474H96.0284V64.9986L89.7805 60.5359V55.3906L96.0284 50.9278L95.9759 50.8753Z" fill="#EDF7FF"/>
</svg>

After

Width:  |  Height:  |  Size: 624 B

73
.github/helpers/.flake8_strict vendored Normal file
View File

@@ -0,0 +1,73 @@
[flake8]
ignore =
B007,
B009,
B010,
B950,
E101,
E111,
E114,
E116,
E117,
E121,
E122,
E123,
E124,
E125,
E126,
E127,
E128,
E131,
E201,
E202,
E203,
E211,
E221,
E222,
E223,
E224,
E225,
E226,
E228,
E231,
E241,
E242,
E251,
E261,
E262,
E265,
E266,
E271,
E272,
E273,
E274,
E301,
E302,
E303,
E305,
E306,
E402,
E501,
E502,
E701,
E702,
E703,
E741,
F403,
W191,
W291,
W292,
W293,
W391,
W503,
W504,
E711,
E129,
F841,
E713,
E712,
B023
max-line-length = 200
exclude=.github/helper/semgrep_rules,test_*.py

View File

@@ -4,36 +4,34 @@ set -e
cd ~ || ex
sudo apt update && sudo apt install redis-server libcups2-dev
sudo apt update
sudo apt remove mysql-server mysql-client
sudo apt install libcups2-dev redis-server mariadb-client libmariadb-dev
pip install frappe-bench
git clone "https://github.com/frappe/frappe" --branch "develop" --depth 1
git clone "https://github.com/frappe/frappe" --branch "develop" --depth 1
bench init --skip-assets --frappe-path ~/frappe --python "$(which python)" frappe-bench
mkdir ~/frappe-bench/sites/test_site
cp -r "${GITHUB_WORKSPACE}/.github/helpers/site_config_mariadb.json" ~/frappe-bench/sites/test_site/site_config.json
mysql --host 127.0.0.1 --port 3306 -u root -proot -e "SET GLOBAL character_set_server = 'utf8mb4'"
mysql --host 127.0.0.1 --port 3306 -u root -proot -e "SET GLOBAL collation_server = 'utf8mb4_unicode_ci'"
mysql --host 127.0.0.1 --port 3306 -u root -proot -e "CREATE USER 'test_frappe'@'localhost' IDENTIFIED BY 'test_frappe'"
mysql --host 127.0.0.1 --port 3306 -u root -proot -e "CREATE DATABASE test_frappe"
mysql --host 127.0.0.1 --port 3306 -u root -proot -e "GRANT ALL PRIVILEGES ON \`test_frappe\`.* TO 'test_frappe'@'localhost'"
mysql --host 127.0.0.1 --port 3306 -u root -proot -e "FLUSH PRIVILEGES"
mariadb --host 127.0.0.1 --port 3306 -u root -proot -e "SET GLOBAL character_set_server = 'utf8mb4'"
mariadb --host 127.0.0.1 --port 3306 -u root -proot -e "SET GLOBAL collation_server = 'utf8mb4_unicode_ci'"
mariadb --host 127.0.0.1 --port 3306 -u root -proot -e "CREATE USER 'test_frappe'@'localhost' IDENTIFIED BY 'test_frappe'"
mariadb --host 127.0.0.1 --port 3306 -u root -proot -e "CREATE DATABASE test_frappe"
mariadb --host 127.0.0.1 --port 3306 -u root -proot -e "GRANT ALL PRIVILEGES ON \`test_frappe\`.* TO 'test_frappe'@'localhost'"
mariadb --host 127.0.0.1 --port 3306 -u root -proot -e "FLUSH PRIVILEGES"
install_whktml() {
if [ "$(lsb_release -rs)" = "22.04" ]; then
wget -O /tmp/wkhtmltox.deb https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox_0.12.6.1-2.jammy_amd64.deb
sudo apt install /tmp/wkhtmltox.deb
else
echo "Please update this script to support wkhtmltopdf for $(lsb_release -ds)"
exit 1
fi
wget -O /tmp/wkhtmltox.tar.xz https://github.com/frappe/wkhtmltopdf/raw/master/wkhtmltox-0.12.3_linux-generic-amd64.tar.xz
tar -xf /tmp/wkhtmltox.tar.xz -C /tmp
sudo mv /tmp/wkhtmltox/bin/wkhtmltopdf /usr/local/bin/wkhtmltopdf
sudo chmod o+x /usr/local/bin/wkhtmltopdf
}
install_whktml &
wkpid=$!
cd ~/frappe-bench || exit
@@ -42,11 +40,16 @@ sed -i 's/schedule:/# schedule:/g' Procfile
sed -i 's/socketio:/# socketio:/g' Procfile
sed -i 's/redis_socketio:/# redis_socketio:/g' Procfile
bench get-app erpnext --branch "develop"
bench get-app telephony
bench get-app helpdesk "${GITHUB_WORKSPACE}"
bench setup requirements --dev
wait $wkpid
bench start &> bench_run_logs.txt &
bench start &>> ~/frappe-bench/bench_start.log &
CI=Yes bench build --app frappe &
bench --site test_site reinstall --yes
bench --verbose --site test_site install-app erpnext
bench --verbose --site test_site install-app telephony
bench --verbose --site test_site install-app helpdesk

View File

@@ -11,6 +11,6 @@
"root_login": "root",
"root_password": "root",
"host_name": "http://test_site:8000",
"install_apps": ["frappedesk"],
"install_apps": ["helpdesk"],
"throttle_user_limit": 100
}

41
.github/helpers/update_pot_file.sh vendored Normal file
View File

@@ -0,0 +1,41 @@
#!/bin/bash
set -e
cd ~ || exit
echo "Setting Up Bench..."
pip install frappe-bench
bench -v init frappe-bench --skip-assets --skip-redis-config-generation --python "$(which python)" --frappe-branch develop
cd ./frappe-bench || exit
echo "Get Helpdesk..."
bench get-app --skip-assets helpdesk "${GITHUB_WORKSPACE}"
echo "Generating POT file..."
bench generate-pot-file --app helpdesk
cd ./apps/helpdesk || exit
echo "Configuring git user..."
git config user.email "developers@erpnext.com"
git config user.name "frappe-pr-bot"
echo "Setting the correct git remote..."
# Here, the git remote is a local file path by default. Let's change it to the upstream repo.
git remote set-url upstream https://github.com/frappe/helpdesk.git
echo "Creating a new branch..."
isodate=$(date -u +"%Y-%m-%d")
branch_name="pot_${BASE_BRANCH}_${isodate}"
git checkout -b "${branch_name}"
echo "Commiting changes..."
git add helpdesk/locale/main.pot
git commit -m "chore: update POT file"
gh auth setup-git
git push -u upstream "${branch_name}"
echo "Creating a PR..."
gh pr create --fill --base "${BASE_BRANCH}" --head "${branch_name}" -R frappe/helpdesk

32
.github/try-on-f-cloud-button.svg vendored Normal file
View File

@@ -0,0 +1,32 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="4 2 193 52">
<g filter="url(#filter0_dd)">
<rect x="4" y="2" width="193" height="52" rx="6" fill="#2490EF"/>
<path d="M28 22.2891H32.8786V35.5H36.2088V22.2891H41.0874V19.5H28V22.2891Z" fill="white"/>
<path d="M41.6982 35.5H45.0129V28.7109C45.0129 27.2344 46.0866 26.2188 47.5494 26.2188C48.0085 26.2188 48.6388 26.2969 48.95 26.3984V23.4453C48.6543 23.375 48.2419 23.3281 47.9074 23.3281C46.5691 23.3281 45.472 24.1094 45.0362 25.5938H44.9117V23.5H41.6982V35.5Z" fill="white"/>
<path d="M52.8331 40C55.2996 40 56.6068 38.7344 57.2837 36.7969L61.9289 23.5156L58.4197 23.5L55.9221 32.3125H55.7976L53.3233 23.5H49.8374L54.1247 35.8437L53.9302 36.3516C53.4944 37.4766 52.6619 37.5312 51.4947 37.1719L50.7478 39.6562C51.2224 39.8594 51.9927 40 52.8331 40Z" fill="white"/>
<path d="M73.6142 35.7344C77.2401 35.7344 79.4966 33.2422 79.4966 29.5469C79.4966 25.8281 77.2401 23.3438 73.6142 23.3438C69.9883 23.3438 67.7319 25.8281 67.7319 29.5469C67.7319 33.2422 69.9883 35.7344 73.6142 35.7344ZM73.6298 33.1562C71.9569 33.1562 71.101 31.6171 71.101 29.5233C71.101 27.4296 71.9569 25.8827 73.6298 25.8827C75.2715 25.8827 76.1274 27.4296 76.1274 29.5233C76.1274 31.6171 75.2715 33.1562 73.6298 33.1562Z" fill="white"/>
<path d="M84.7253 28.5625C84.7331 27.0156 85.6512 26.1094 86.9895 26.1094C88.3201 26.1094 89.1215 26.9844 89.1137 28.4531V35.5H92.4284V27.8594C92.4284 25.0625 90.7945 23.3438 88.3046 23.3438C86.5306 23.3438 85.2466 24.2187 84.7097 25.6172H84.5697V23.5H81.4106V35.5H84.7253V28.5625Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M102.429 19.5H113.429V22.3141H102.429V19.5ZM102.429 35.5V26.6794H112.699V29.4982H105.94V35.5H102.429Z" fill="white"/>
<path d="M131.584 24.9625C131.09 21.5057 128.345 19.5 124.785 19.5C120.589 19.5 117.429 22.463 117.429 27.4924C117.429 32.5142 120.55 35.4848 124.785 35.4848C128.604 35.4848 131.137 33.0916 131.584 30.1211L128.651 30.1059C128.282 31.9293 126.745 32.9549 124.824 32.9549C122.22 32.9549 120.354 31.0632 120.354 27.4924C120.354 23.9824 122.204 22.0299 124.832 22.0299C126.784 22.0299 128.314 23.1011 128.651 24.9625H131.584Z" fill="white"/>
<path d="M136.409 19.7124H133.571V35.2718H136.409V19.7124Z" fill="white"/>
<path d="M144.031 35.5001C147.56 35.5001 149.803 33.0917 149.803 29.483C149.803 25.8667 147.56 23.4507 144.031 23.4507C140.502 23.4507 138.259 25.8667 138.259 29.483C138.259 33.0917 140.502 35.5001 144.031 35.5001ZM144.047 33.2969C142.094 33.2969 141.137 31.6103 141.137 29.4754C141.137 27.3406 142.094 25.6312 144.047 25.6312C145.968 25.6312 146.925 27.3406 146.925 29.4754C146.925 31.6103 145.968 33.2969 144.047 33.2969Z" fill="white"/>
<path d="M159.338 30.3641C159.338 32.1419 158.028 33.0232 156.773 33.0232C155.409 33.0232 154.499 32.0887 154.499 30.6072V23.6025H151.66V31.0327C151.66 33.8361 153.307 35.4239 155.675 35.4239C157.479 35.4239 158.749 34.5046 159.298 33.1979H159.424V35.272H162.176V23.6025H159.338V30.3641Z" fill="white"/>
<path d="M169.014 35.4769C171.084 35.4769 172.017 34.2841 172.464 33.4332H172.637V35.2718H175.429V19.7124H172.582V25.532H172.464C172.033 24.6887 171.147 23.4503 169.022 23.4503C166.238 23.4503 164.05 25.5624 164.05 29.4522C164.05 33.2965 166.175 35.4769 169.014 35.4769ZM169.806 33.2205C167.931 33.2205 166.943 31.6251 166.943 29.437C166.943 27.2642 167.916 25.7067 169.806 25.7067C171.633 25.7067 172.637 27.173 172.637 29.437C172.637 31.701 171.617 33.2205 169.806 33.2205Z" fill="white"/>
</g>
<defs>
<filter id="filter0_dd" x="0" y="0" width="201" height="60" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="0.25"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset dy="2"/>
<feGaussianBlur stdDeviation="2"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.13 0"/>
<feBlend mode="normal" in2="effect1_dropShadow" result="effect2_dropShadow"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect2_dropShadow" result="shape"/>
</filter>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 4.3 KiB

15
.github/workflows/assets.yml vendored Normal file
View File

@@ -0,0 +1,15 @@
name: Pre-build assets
on:
push:
branches: [develop, main]
jobs:
assets:
name: Pre-build assets
uses: frappe/pilot/.github/workflows/app-assets.yml@develop
with:
# main supports Frappe v15 and v16; Pilot benches run v16 or later.
frappe-branch: ${{ github.ref_name == 'main' && 'version-16' || 'develop' }}
permissions:
contents: write

68
.github/workflows/build.yml vendored Normal file
View File

@@ -0,0 +1,68 @@
name: Build Container Image
on:
workflow_dispatch:
push:
branches:
- main
tags:
- "*"
jobs:
build:
name: Build
runs-on: ubuntu-latest
permissions:
packages: write
steps:
- name: Checkout Entire Repository
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Set Branch
run: |
echo '[{"url": "https://github.com/frappe/telephony","branch": "develop"},{"url": "https://github.com/frappe/helpdesk","branch": "main"}]' > apps.json
echo "FRAPPE_BRANCH=version-15" >> $GITHUB_ENV
- name: Set Image Tag
run: |
echo "IMAGE_TAG=stable" >> $GITHUB_ENV
- uses: actions/checkout@v4
with:
repository: frappe/frappe_docker
path: builds
- name: Build
uses: docker/build-push-action@v6
with:
load: true
context: builds
file: builds/images/layered/Containerfile
tags: >
ghcr.io/${{ github.repository }}:${{ github.ref_name }},
ghcr.io/${{ github.repository }}:${{ env.IMAGE_TAG }}
build-args: |
"FRAPPE_BRANCH=${{ env.FRAPPE_BRANCH }}"
secret-files: |
apps_json=apps.json
- name: Verify apps are installed
run: |
apps=$(docker run --rm --entrypoint ls ghcr.io/${{ github.repository }}:${{ env.IMAGE_TAG }} apps)
echo "$apps"
grep -qx helpdesk <<< "$apps" && grep -qx telephony <<< "$apps"
- name: Push
run: docker push --all-tags ghcr.io/${{ github.repository }}

View File

@@ -1,60 +0,0 @@
name: Lint
on:
pull_request:
branches:
- main
permissions:
contents: read
pull-requests: write
jobs:
commit-lint:
name: Semantic Commits
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 200
- uses: actions/setup-node@v3
with:
node-version: 16
check-latest: true
- name: Check commit titles
run: |
npm install @commitlint/cli @commitlint/config-conventional
npx commitlint --verbose --from ${{ github.event.pull_request.base.sha }} --to ${{ github.event.pull_request.head.sha }}
eslint:
name: ESLint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 1
- uses: actions/setup-node@v3
with:
node-version: '16'
- run: npm install -g yarn
- run: yarn install --frozen-lockfile
- uses: reviewdog/action-eslint@v1
with:
eslint_flags: '--ext vue --ext js --ext ts --ext json .'
reporter: github-pr-review
fail_on_error: true
semgrep:
name: Semgrep Rules
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Download Semgrep rules
run: git clone --depth 1 https://github.com/frappe/semgrep-rules.git frappe-semgrep-rules
- name: Run Semgrep rules
run: |
pip install semgrep==0.97.0
semgrep ci --config ./frappe-semgrep-rules/rules --config r/python.lang.correctness

40
.github/workflows/generate-pot-file.yml vendored Normal file
View File

@@ -0,0 +1,40 @@
name: Regenerate POT file (translatable strings)
on:
schedule:
# 9:30 UTC => 4 PM IST Sunday
- cron: "30 10 * * 0"
workflow_dispatch:
jobs:
regenerate-pot-file:
name: Regenerate POT file
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
branch: ["develop", "main-hotfix"]
permissions:
contents: write
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ matrix.branch }}
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.14"
- name: Setup Node
uses: actions/setup-node@v6
with:
node-version: 24
- name: Run script to update POT file
run: |
bash ${GITHUB_WORKSPACE}/.github/helpers/update_pot_file.sh
env:
GH_TOKEN: ${{ secrets.RELEASE_TOKEN }}
BASE_BRANCH: ${{ matrix.branch }}

50
.github/workflows/lint.yml vendored Normal file
View File

@@ -0,0 +1,50 @@
name: Lint
on:
pull_request:
branches:
- main
- main-hotfix
- develop
jobs:
commit-lint:
name: Semantic Commits
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 200
- uses: actions/setup-node@v3
with:
node-version: 24
check-latest: true
- name: Check commit titles
run: |
npm install @commitlint/cli @commitlint/config-conventional
npx commitlint --verbose --from ${{ github.event.pull_request.base.sha }} --to ${{ github.event.pull_request.head.sha }}
linter:
name: 'Frappe Linter'
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.10
uses: actions/setup-python@v2
with:
python-version: '3.14'
- name: Install and Run Pre-commit
uses: pre-commit/action@v3.0.1
- name: Download Semgrep rules
run: git clone --depth 1 https://github.com/frappe/semgrep-rules.git frappe-semgrep-rules
- name: Download semgrep
run: pip install semgrep
- name: Run Semgrep rules
run: semgrep ci --config ./frappe-semgrep-rules/rules --config r/python.lang.correctness

32
.github/workflows/on_release.yml vendored Normal file
View File

@@ -0,0 +1,32 @@
name: Generate Semantic Release
on:
workflow_dispatch:
push:
branches:
- main
jobs:
release:
name: Release
runs-on: ubuntu-latest
steps:
- name: Checkout Entire Repository
uses: actions/checkout@v4
with:
fetch-depth: 0
persist-credentials: false
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 24
- name: Setup dependencies
run: |
npm install @semantic-release/git @semantic-release/exec --no-save
- name: Create Release
env:
GH_TOKEN: ${{ secrets.RELEASE_TOKEN }}
GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }}
GIT_AUTHOR_NAME: "Frappe PR Bot"
GIT_AUTHOR_EMAIL: "developers@frappe.io"
GIT_COMMITTER_NAME: "Frappe PR Bot"
GIT_COMMITTER_EMAIL: "developers@frappe.io"
run: npx semantic-release

40
.github/workflows/release.yml vendored Normal file
View File

@@ -0,0 +1,40 @@
# This action:
#
# 1. Generates release notes using github API.
# 2. Strips unnecessary info like chore/style etc from notes.
# 3. Updates release info.
name: 'Release Notes'
on:
workflow_dispatch:
inputs:
tag_name:
description: 'Tag of release like v1.0.0'
required: true
type: string
release:
types: [released]
permissions:
contents: read
jobs:
regen-notes:
name: 'Regenerate release notes'
runs-on: ubuntu-latest
steps:
- name: Update notes
run: |
NEW_NOTES=$(gh api --method POST -H "Accept: application/vnd.github+json" /repos/frappe/helpdesk/releases/generate-notes -f tag_name=$RELEASE_TAG \
| jq -r '.body' \
| sed -E '/^\* (chore|ci|test|docs|style)/d' \
| sed -E 's/by @mergify //'
)
RELEASE_ID=$(gh api -H "Accept: application/vnd.github+json" /repos/frappe/helpdesk/releases/tags/$RELEASE_TAG | jq -r '.id')
gh api --method PATCH -H "Accept: application/vnd.github+json" /repos/frappe/helpdesk/releases/$RELEASE_ID -f body="$NEW_NOTES"
env:
GH_TOKEN: ${{ secrets.RELEASE_TOKEN }}
RELEASE_TAG: ${{ github.event.inputs.tag_name || github.event.release.tag_name }}

View File

@@ -4,59 +4,57 @@ on:
pull_request:
branches:
- main
- main-hotfix
- develop
paths-ignore:
- '**.js'
- '**.css'
- '**.md'
- '**.html'
- '**.csv'
workflow_dispatch:
inputs:
user:
description: 'Frappe Framework repository user (add your username for forks)'
required: true
default: 'frappe'
type: string
branch:
description: 'Frappe Framework branch'
default: 'develop'
required: false
type: string
concurrency:
group: server-mariadb-develop-${{ github.event_name }}-${{ github.event.number || github.event_name == 'workflow_dispatch' && github.run_id || '' }}
group: develop-helpdesk-${{ github.event.number }}
cancel-in-progress: true
jobs:
test:
tests:
name: Python Unit Tests
runs-on: ubuntu-latest
timeout-minutes: 60
strategy:
fail-fast: false
services:
mysql:
image: mariadb:10.6
env:
MARIADB_ROOT_PASSWORD: 'root'
ports:
- 3306:3306
options: --health-cmd="mariadb-admin ping" --health-interval=5s --health-timeout=2s --health-retries=3
steps:
- name: Clone
uses: actions/checkout@v2
- name: Setup Python
uses: actions/setup-python@v2
uses: actions/setup-python@v5
with:
python-version: '3.10'
python-version: '3.14'
- name: Check for valid Python & Merge Conflicts
if: github.event.pull_request.base.ref == 'develop'
run: |
python -m compileall -f "${GITHUB_WORKSPACE}"
if grep -lr --exclude-dir=node_modules "^<<<<<<< " "${GITHUB_WORKSPACE}"
then echo "Found merge conflicts"
exit 1
then echo "Found merge conflicts"
exit 1
fi
- name: Setup Node
uses: actions/setup-node@v2
with:
node-version: 14
node-version: 24
check-latest: true
- name: Install Yarn
@@ -66,7 +64,7 @@ jobs:
run: echo "127.0.0.1 test_site" | sudo tee -a /etc/hosts
- name: Cache pip
uses: actions/cache@v2
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/*requirements.txt', '**/pyproject.toml') }}
@@ -75,7 +73,7 @@ jobs:
${{ runner.os }}-
- name: Cache node modules
uses: actions/cache@v2
uses: actions/cache@v4
env:
cache-name: cache-node-modules
with:
@@ -90,7 +88,7 @@ jobs:
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- uses: actions/cache@v2
- uses: actions/cache@v4
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
@@ -98,13 +96,6 @@ jobs:
restore-keys: |
${{ runner.os }}-yarn-
- name: Setup MariaDB
uses: getong/mariadb-action@v1.1
with:
collation server: 'utf8mb4_unicode_ci'
mariadb version: '10.6'
mysql root password: 'root'
- name: Install
run: bash ${GITHUB_WORKSPACE}/.github/helpers/install.sh
env:
@@ -113,32 +104,32 @@ jobs:
FRAPPE_BRANCH: ${{ github.event.inputs.branch }}
- name: Run Tests
run: 'cd ~/frappe-bench/ && bench --site test_site run-tests --app frappedesk --coverage'
run: 'cd ~/frappe-bench/ && bench --site test_site run-tests --app helpdesk --coverage'
env:
TYPE: server
CI_BUILD_ID: ${{ github.run_id }}
ORCHESTRATOR_URL: http://test-orchestrator.frappe.io
- name: Upload coverage data
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: coverage
name: coverage-${{ matrix.container }}
path: /home/runner/frappe-bench/sites/coverage.xml
coverage:
name: Coverage
needs: test
name: Coverage Wrap Up
needs: tests
runs-on: ubuntu-latest
steps:
- name: Clone
uses: actions/checkout@v2
uses: actions/checkout@v6
- name: Download artifacts
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
- name: Upload coverage data
uses: codecov/codecov-action@v2
uses: codecov/codecov-action@v4
with:
name: MariaDB
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: true
verbose: true
verbose: true

187
.github/workflows/ui-tests.yml vendored Normal file
View File

@@ -0,0 +1,187 @@
name: UI Tests
on:
pull_request:
branches:
- develop
paths:
- "desk/**"
- "e2e/**"
- "playwright.config.ts"
- "package.json"
- "yarn.lock"
- ".github/workflows/ui-tests.yml"
workflow_dispatch:
concurrency:
group: ui-tests-helpdesk-${{ github.event.number || github.ref }}
cancel-in-progress: true
env:
FRAPPE_BRANCH: develop
SITE: helpdesk.test
jobs:
ui-tests:
name: Playwright E2E Tests (${{ matrix.shard }}/2)
runs-on: ubuntu-latest
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
shard: [1, 2]
services:
redis-cache:
image: redis/redis-stack-server:latest
ports:
- 13000:6379
redis-queue:
image: redis:alpine
ports:
- 11000:6379
mariadb:
image: mariadb:10.6
env:
MARIADB_ROOT_PASSWORD: root
ports:
- 3306:3306
options: --health-cmd="mariadb-admin ping" --health-interval=5s --health-timeout=2s --health-retries=3
steps:
- name: Clone
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.14"
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 24
check-latest: true
- name: Cache pip
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/pyproject.toml') }}
restore-keys: ${{ runner.os }}-pip-
- name: Cache yarn
uses: actions/cache@v4
with:
path: ~/.cache/yarn
key: ${{ runner.os }}-yarn-ui-${{ hashFiles('**/yarn.lock') }}
restore-keys: ${{ runner.os }}-yarn-ui-
- name: Cache Playwright browsers
uses: actions/cache@v4
with:
path: ~/.cache/ms-playwright
key: ${{ runner.os }}-playwright-${{ hashFiles('yarn.lock') }}
- name: Install MariaDB Client
run: |
sudo apt update
sudo apt install -y mariadb-client
- name: Setup Bench
run: |
pip install frappe-bench
bench init --skip-redis-config-generation --skip-assets --frappe-branch "$FRAPPE_BRANCH" --python "$(which python)" ~/frappe-bench
mariadb --host 127.0.0.1 --port 3306 -u root -proot -e "SET GLOBAL character_set_server = 'utf8mb4'"
mariadb --host 127.0.0.1 --port 3306 -u root -proot -e "SET GLOBAL collation_server = 'utf8mb4_unicode_ci'"
- name: Install Helpdesk
working-directory: /home/runner/frappe-bench
run: |
bench get-app telephony
bench get-app helpdesk $GITHUB_WORKSPACE
bench setup requirements --dev
bench new-site --db-root-password root --admin-password admin --install-app helpdesk $SITE
bench use $SITE
bench --site $SITE set-config host_name "http://localhost:8000"
bench build --apps frappe,helpdesk
env:
CI: "Yes"
- name: Start Frappe Server
working-directory: /home/runner/frappe-bench
run: |
sed -i 's/^watch:/# watch:/g' Procfile
sed -i 's/^schedule:/# schedule:/g' Procfile
bench start &> bench_start.log &
timeout 120 bash -c "until curl -s http://localhost:8000 > /dev/null; do sleep 2; done"
- name: Install Playwright
run: |
yarn install --frozen-lockfile --ignore-scripts
npx playwright install --with-deps chromium
- name: Run Playwright Tests
run: npx playwright test --shard=${{ matrix.shard }}/2
env:
# localhost is a secure context, which crypto.randomUUID in frappe/ui needs.
BASE_URL: http://localhost:8000
ADMIN_PASSWORD: admin
- name: Upload Blob Report
uses: actions/upload-artifact@v4
if: always()
with:
name: blob-report-${{ matrix.shard }}
path: blob-report/
retention-days: 1
- name: Upload Test Results
uses: actions/upload-artifact@v4
if: failure()
with:
name: test-results-${{ matrix.shard }}
path: test-results/
retention-days: 7
- name: Show Bench Logs on Failure
if: failure()
working-directory: /home/runner/frappe-bench
run: |
cat bench_start.log || true
cat logs/*.log || true
merge-reports:
name: Merge Playwright Reports
needs: ui-tests
if: always()
runs-on: ubuntu-latest
steps:
- name: Clone
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 24
- name: Install Playwright
run: yarn install --frozen-lockfile --ignore-scripts
- name: Download Blob Reports
uses: actions/download-artifact@v4
with:
path: all-blob-reports
pattern: blob-report-*
merge-multiple: true
- name: Merge Into HTML Report
run: npx playwright merge-reports --reporter html ./all-blob-reports
- name: Upload Playwright Report
uses: actions/upload-artifact@v4
with:
name: playwright-report
path: playwright-report/
retention-days: 7

23
.gitignore vendored
View File

@@ -8,6 +8,7 @@ __pycache__/
*.log
tags
node_modules
.vscode
# Distribution / packaging
.Python
@@ -28,9 +29,21 @@ share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
.playwright-mcp
.claude-flow
.claude
.claude-worktrees
CLAUDE.md
frappedesk/docs/current
frappedesk/public/desk
frappedesk/public/node_modules
frappedesk/www/frappedesk/index.html
helpdesk/docs/current
helpdesk/public/desk
helpdesk/public/frontend
helpdesk/public/node_modules
helpdesk/www/helpdesk/index.html
desk/components.d.ts
desk/stats.html
# Playwright
e2e/.auth
playwright-report
test-results

View File

@@ -1,4 +0,0 @@
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"
yarn lint-staged

42
.mergify.yml Normal file
View File

@@ -0,0 +1,42 @@
pull_request_rules:
- name: Auto-close PRs on stable branch
conditions:
- and:
- author != RitvikSardana
- author != frappe-pr-bot
- author != mergify[bot]
- author != aerodeval
- or:
- base = main
actions:
close:
comment:
message: |
@{{author}}, thanks for the contribution, but we do not accept pull requests on a stable branch. Please raise PR on develop branch.
- name: backport to develop
conditions:
- label = "backport develop"
actions:
backport:
branches:
- develop
assignees:
- "{{ author }}"
- name: backport to main-hotfix
conditions:
- label = "backport main-hotfix"
actions:
backport:
branches:
- main-hotfix
assignees:
- "{{ author }}"
- name: backport to main
conditions:
- label = "backport main"
actions:
backport:
branches:
- main
assignees:
- "{{ author }}"

40
.pre-commit-config.yaml Normal file
View File

@@ -0,0 +1,40 @@
exclude: "node_modules|.git"
default_stages: [pre-commit]
fail_fast: false
repos:
- repo: https://github.com/psf/black
rev: 25.11.0
hooks:
- id: black
types_or: [python, pyi]
- repo: https://github.com/PyCQA/flake8
rev: 7.3.0
hooks:
- id: flake8
additional_dependencies:
- flake8-bugbear
- flake8-comprehensions
- flake8-simplify==0.30.0
args: ['--config', '.github/helpers/.flake8_strict']
- repo: https://github.com/pre-commit/mirrors-prettier
rev: v2.6.2
hooks:
- id: prettier
additional_dependencies:
- prettier@2.6.2
types: [file]
types_or: [javascript, vue, html]
- repo: https://github.com/timothycrosley/isort
rev: 5.12.0
hooks:
- id: isort
args: [--profile, black]
ci:
autoupdate_schedule: weekly
skip: []
submodules: false

View File

@@ -1,3 +1,5 @@
{
"useTabs": true
"semi": true,
"tabWidth": 2,
"useTabs": false
}

21
.releaserc Normal file
View File

@@ -0,0 +1,21 @@
{
"branches": ["main"],
"plugins": [
"@semantic-release/commit-analyzer", {
"preset": "angular"
},
"@semantic-release/release-notes-generator",
[
"@semantic-release/exec", {
"prepareCmd": 'sed -ir "s/[0-9]*\.[0-9]*\.[0-9]*/${nextRelease.version}/" helpdesk/__init__.py'
}
],
[
"@semantic-release/git", {
"assets": ["helpdesk/__init__.py"],
"message": "chore(release): Bumped to Version ${nextRelease.version}"
}
],
"@semantic-release/github"
]
}

471
AGENTS.md Normal file
View File

@@ -0,0 +1,471 @@
# Copilot Instructions for Frappe Helpdesk
## Skills
For Frappe development tasks, reference the frappe-dev skill:
- **Location**: `~/.agents/skills/frappe-dev/`
- **Usage**: When working on DocType, controllers, whitelisted APIs, background jobs, permissions, or frontend tasks, read the relevant skill reference files:
- `doctype.md` — Creating/modifying DocTypes and fields
- `controllers.md` — Document lifecycle and server logic
- `api.md` — REST endpoints with `@frappe.whitelist()`
- `database.md` — `frappe.db`, queries, raw SQL
- `background-jobs.md` — `frappe.enqueue`, scheduled jobs
- `permissions.md` — Roles, DocType permissions
- `frontend-desk.md`, `frontend-vue.md`, `frontend-portal.md` — Frontend references
## Project Overview
Frappe Helpdesk is an open-source ticket management tool built on the [Frappe Framework](https://github.com/frappe/frappe) (Python backend) and [Frappe UI](https://github.com/frappe/frappe-ui) (Vue.js frontend). It provides agent/customer portals, SLAs, assignment rules, a knowledge base, and saved replies.
## Tech Stack & Architecture
- **Backend**: Frappe Framework with Python
- **Frontend**: Vue 3 + TypeScript SPA with Vite dev server
- **Database**: MariaDB with structured doctypes
- **Real-time**: WebSockets via Socket.IO for live updates
- **UI Library**: frappe-ui for consistent design components
- **Styling**: Tailwind CSS with semantic design tokens
## Architecture
- **Backend (Python):** Located in `helpdesk/`.
- API endpoints: `helpdesk/api/`
- Business logic: `helpdesk/utils.py`, `helpdesk/search.py`, etc.
- Extensibility: `helpdesk/extends/`, `helpdesk/overrides/`
- **Frontend (Vue.js):** Located in `desk/`.
- Main entry: `desk/src/main.js`, `desk/src/App.vue`
- Components: `desk/src/components/`
- State: `desk/src/stores/`
- Routing: `desk/src/router/`
- Styles: Tailwind via `desk/index.css`, config in `desk/tailwind.config.js`
# Frontend: Vue 3 Development Standards
## Frontend Project Context
- `desk/src/` contains the main Vue 3 frontend source code
- Vue 3.x with Composition API as default approach
- TypeScript for type safety and better development experience
- Single File Components (`.vue`) with `<script setup lang="ts">` syntax preferred
- Vite as the build tool for fast development and optimized builds
- Pinia for state management (unlike gameplan which avoids state libraries)
- frappe-ui for UI components and data fetching utilities
## Development Standards
### Architecture & Component Design
- Favor the Composition API (`setup` functions and composables) over the Options API
- Organize components and composables by feature or domain for scalability
- Separate UI-focused components (presentational) from logic-focused components (containers)
- Use PascalCase for component names and file names
- Keep components small and focused on one concern
- Use `<script setup lang="ts">` syntax for brevity and performance
- Favor slots and scoped slots for flexible composition
### TypeScript Integration
- TypeScript is enabled but not in strict mode (as per actual tsconfig.json)
- Use `<script setup lang="ts">` with `defineProps` and `defineEmits`
- Leverage `PropType<T>` for typed props and default values
- Use interfaces or type aliases for complex prop and state shapes
- Define types for event handlers, refs, and `useRoute`/`useRouter` hooks
### Styling Guidelines
- Always prefer Tailwind CSS for styling
- Use utility classes for layout and spacing
- Use semantic class names wherever possible:
- Background colors: `bg-surface-white`, `bg-surface-gray-1` through `bg-surface-gray-9`, `bg-surface-black`
- Text colors: `text-ink-white`, `text-ink-gray-1` through `text-ink-gray-9`, `text-ink-black`
- Fill colors: `fill-ink-*`
- Placeholder colors: `placeholder-ink-*`
- Border colors: `border-outline-white`, `border-outline-gray-1` through `border-outline-gray-5`, `border-outline-black`
- Font sizes: `text-xs`, `text-sm`, `text-base`, `text-lg`, `text-xl`, `text-2xl`, `text-3xl`
- Multiline text: `text-p-xs`, `text-p-sm`, `text-p-base`, `text-p-lg`, `text-p-xl`, `text-p-2xl`
- Always use gray shades for everything, never use color shades even for primary states
- Implement mobile-first, responsive design with CSS Grid and Flexbox
- Ensure styles are accessible (contrast, focus states)
### Data Fetching with frappe-ui
- Use `createResource`, `createListResource`, and `createDocumentResource` from frappe-ui for data fetching
- Handle loading, error, and success states explicitly
- These are the older but stable composables used throughout the project
When working with a list of documents:
```ts
const tickets = createListResource({
doctype: "HD Ticket",
filters: { status: "Open" },
fields: ["name", "subject", "modified"],
limit: 20,
auto: true,
});
// Access data
tickets.data; // Array of ticket objects
tickets.loading; // Boolean loading state
tickets.error; // Error object if any
// Operations
tickets.reload(); // Refresh the list
tickets.update({ name: "<id>", subject: "Updated Subject" }); // Update item
tickets.insert({ subject: "New Ticket" }); // Add new item
tickets.delete("<id>"); // Delete item
```
When working with a single document:
```ts
const ticket = createDocumentResource({
doctype: "HD Ticket",
name: "<ticket-id>",
auto: true,
});
// Access data
ticket.doc; // Document object
ticket.loading; // Boolean loading state
ticket.error; // Error object if any
// Operations
ticket.get(); // Fetch/refresh document
ticket.setValue("status", "Resolved"); // Update field
ticket.save(); // Save changes
ticket.delete(); // Delete document
```
For API calls:
```ts
const apiCall = createResource({
url: "helpdesk.api.ticket.assign_ticket_to_agent",
onSuccess(data) {
// Handle success
},
onError(error) {
// Handle error
},
});
// Make the call
apiCall.submit({ ticket_id: "<id>", agent_id: "<agent>" });
```
### Icons
- **Primary icon system**: Lucide icons via unplugin-icons for consistency and modern design
- **Secondary**: FeatherIcon component from frappe-ui (legacy usage only)
- **Rule**: Never introduce `FeatherIcon` in new code. New components must use Lucide
icons (`<LucideInfo />`, `<LucidePlus />`, …) — no exceptions, including small
helper icons like tooltip/info glyphs.
- Use Lucide icons for all new components. They are globally auto-registered
(see `desk/components.d.ts`), so no import is needed when used as a template tag:
```vue
<template>
<LucidePlus class="size-4" />
</template>
```
- For script usage, import Lucide icons like this:
```ts
import LucidePlus from "~icons/lucide/plus";
import LucideTicket from "~icons/lucide/ticket";
```
- Only use FeatherIcon for maintaining existing components:
```vue
<template>
<FeatherIcon name="plus" class="h-4 w-4" />
</template>
```
### State Management
- Use Pinia stores for complex shared state
- For simple local state, use `ref` and `reactive` within `setup`
- Use `computed` for derived state
- Keep state normalized for complex structures
### Performance & Accessibility
- Apply `v-once` and `v-memo` for static or infrequently changing elements
- Avoid unnecessary watchers; prefer `computed` where possible
- Use semantic HTML elements and ARIA attributes
- Manage focus for modals and dynamic content
- Ensure keyboard navigation for interactive components
# Backend: Frappe Framework Development Standards
## Backend Project Context
- Frappe Framework provides full-stack capabilities with ORM, permissions, and background jobs
- MariaDB database with structured DocTypes for business entities
- Redis for background workers and caching
- Socket.IO for real-time updates
## Critical Development Workflows
**Local Development Setup**:
- Backend runs via `bench start` from frappe-bench directory
- Python web server: Assume server is already started on port 8000
- Frontend dev server: `cd desk && yarn dev` (typically runs on port 8080)
- Site-specific commands: `bench --site helpdesk.test <command>`
**Data Query Patterns**:
- Always prefer `frappe.get_list()` over `frappe.get_all()` for new code. It handles perms out of the box and is more flexible.
- `frappe.get_all()` is fine for child tables (e.g. `Has Role`, `HD Customer Member`), which have no permissions of their own.
- When `frappe.get_all()` is used on a parent DocType, make sure the caller may see the result some other way, for example a `frappe.has_permission(...)` check first, or `@agent_only` / `@agent_manager_only` (`helpdesk/utils.py`) on the endpoint.
- Use `frappe.qb.get_query(..., ignore_permissions=False)` when permission checks are needed
- Example query patterns from helpdesk context
**Debugging Workflow**:
- Create debug files like `./helpdesk/debug.py` with `def execute():` function
- Run with `bench --site helpdesk.test execute helpdesk.debug.execute`
- Use `print()` statements for console output during debugging
## DocType Architecture Patterns
- Follow Frappe's DocType conventions for business entities
- Implement custom permission logic in `has_permission` hooks
- Use proper field types and validation in DocType definitions
- Leverage DocType methods for business logic encapsulation
## Controller Code Structure
All controller logic must follow this structure strictly:
**Rule: Lifecycle hooks call methods. Methods are defined below on the class.**
```python
class HDFoo(Document):
# 1. Lifecycle hooks at the top — each hook calls methods, no inline logic
def after_insert(self):
self.do_a()
self.do_b()
def on_update(self):
self.do_a()
# 2. Methods below — one responsibility each
def do_a(self):
pass
def do_b(self):
pass
```
**Rules:**
- Lifecycle hooks (`after_insert`, `on_update`, `before_save`, `on_trash`, `after_rename`, etc.) contain **no inline logic** — they only call `self.method()`.
- All logic lives in methods on the class, not in module-level helper functions.
- Methods that mutate a related document (e.g. an Assignment Rule) receive that doc as an argument and mutate it in memory. The **caller** is responsible for the final `doc.save()` — this keeps saves to a minimum (one save per hook).
- Never fetch the same document twice in one hook. Fetch once, pass the doc through the call chain.
- `@staticmethod` is allowed for pure transformations (e.g. building a condition string) that don't touch `self` or any Frappe doc.
- If there is an issue in framework/ui or frappe-ui or frappe framework, dont do a workaround. Instead, raise a blocker in the spec and wait for a fix. Do not implement workarounds that will be removed later. If possible, raise a PR to fix the issue in the framework instead of implementing a workaround in helpdesk.
**Save discipline:**
- Mutate all fields on a document before calling `.save()` once.
- Never call `.save()` inside a helper method — save in the hook or the method that owns the full mutation.
- Exception: if a method truly owns a complete document lifecycle (e.g. `create_assignment_rule` creates and fully initialises a new doc), it may save internally.
Take inspiration from "helpdesk.doctype.hd_team.hd_team.HDTeam" for examples of this pattern in practice.
## Conventions & Patterns
- **API Design:** Python modules in `helpdesk/api/` follow RESTful patterns. Extend via `helpdesk/extends/`.
- **Frontend:** Vue 3 + Vite with TypeScript. Use Pinia for state management. Components auto-imported via `desk/components.d.ts`.
- **Testing:** Follow Frappe's conventions for backend tests.
- **Localization:** Add translations in `helpdesk/locale/`.
- **Custom Logic:** Use `helpdesk/overrides/` for customizations.
## Utilities and Composables
- @vueuse/core is available for common Vue utilities
- Prefer vueuse composables over custom implementations where applicable
- Common composables: `useLocalStorage`, `useDebounce`, `useElementSize`
- Always use frappe-ui's data fetching composables (`createResource`, `createListResource`, `createDocumentResource`), never `useFetch`
## Error Handling & Forms
- Use global error handlers for uncaught errors
- Wrap risky logic in `try/catch` with user-friendly messages
- Build forms with controlled `v-model` bindings
- Validate on blur or input with debouncing for performance
- Ensure accessible labeling and error announcements
## Integration Points
- **Frappe Framework:** All backend logic integrates with Frappe ORM, permissions, and hooks (`helpdesk/hooks.py`).
- **Frappe UI:** Frontend uses Frappe UI for consistent design components and data fetching.
- **Real-time Updates:** WebSockets via Socket.IO for live ticket updates.
- **Crowdin:** Translation sync via `crowdin.yml`.
## Examples
### Adding a New API Endpoint
1. Create a Python file in `helpdesk/api/`
2. Add `@frappe.whitelist()` decorator to functions
3. Register in `helpdesk/hooks.py` if needed
4. Use `frappe.qb.get_query()` for database queries
### Adding a Frontend Component
1. Create Vue component in `desk/src/components/` or `desk/src/pages/`
2. Use `<script setup lang="ts">` syntax
3. Follow Tailwind semantic class conventions
4. Use frappe-ui composables for data fetching
5. Add route in `desk/src/router/` if it's a page component
### Styling Example
```vue
<template>
<div class="bg-surface-white border border-outline-gray-2 rounded-lg p-4">
<h2 class="text-lg text-ink-gray-9 font-semibold mb-2">Ticket Details</h2>
<p class="text-p-sm text-ink-gray-7">{{ ticket.doc.subject }}</p>
<LucideTicket class="size-4 text-ink-gray-6" />
</div>
</template>
<script setup lang="ts">
import { createDocumentResource } from "frappe-ui";
import LucideTicket from "~icons/lucide/ticket";
const ticket = createDocumentResource({
doctype: "HD Ticket",
name: props.ticketId,
auto: true,
});
</script>
```
## Key Files & Directories
### Backend
- `helpdesk/api/` — Backend API endpoints with @frappe.whitelist() decorators
- `helpdesk/utils.py` — Shared backend utilities and helper functions
- `helpdesk/hooks.py` — Frappe hooks
- `helpdesk/overrides/` — Custom logic and extensions
### Frontend
- `desk/src/` — Main Vue 3 frontend source code
- `desk/src/components/` — Reusable Vue components
- `desk/src/pages/` — Page-level components and routes
- `desk/src/stores/` — Pinia stores for state management
- `desk/tailwind.config.js` — Tailwind CSS configuration with semantic tokens
- `desk/components.d.ts` — Auto-generated component type definitions
### Development
- `docker/` — Docker setup for containerized development
## Code Quality & Standards
- Follow Vue's official style guide and best practices
- Use ESLint with Vue 3 recommended rules and Prettier for consistency
- Write meaningful commit messages and maintain clean git history
- Document complex logic with JSDoc/TSDoc comments
- Keep a comment to 2 lines at most. If it needs more to explain, simplify the code instead
- Keep dependencies updated and audit for security vulnerabilities
## References
- [README.md](../README.md) — Full setup and feature list
- [Frappe Docs](https://frappeframework.com/docs/) — Framework documentation
- [Frappe Helpdesk Docs](https://docs.frappe.io/helpdesk) — Project-specific docs
- [Vue 3 Style Guide](https://vuejs.org/style-guide/) — Vue.js best practices
- [Tailwind CSS](https://tailwindcss.com/docs) — Utility-first CSS framework
---
## Agent Working Rules
These rules apply to all agents working in this codebase. Follow them without exception.
### 1. Site Data — Read Before You Write
When a Frappe site is referenced in the conversation (e.g. `erp-hd.localhost`, `hd-tests`),
treat it as the **source of truth for current data state**.
- Before assuming anything about existing records, custom fields, settings, or DocType state —
query the site first using the bench venv Python or `bench execute`.
- **Never write data to a site unless the user explicitly asks you to.**
Querying is always safe. Mutations (insert, update, delete, migrate, patch) require explicit
user instruction.
- If you need to verify a fix worked, re-query the site — do not assume success from code
inspection alone.
```python
# Safe pattern for querying a site
import sys, os
sys.path.insert(0, 'apps/frappe')
os.chdir('sites')
import frappe
frappe.init(site='<site-name>', sites_path='.')
frappe.connect()
# ... read-only queries here ...
frappe.destroy()
```
Run via: `cd /path/to/frappe-bench && env/bin/python /tmp/your_script.py`
---
### 2. Spec-Driven Development — Keep the Spec Current
When a feature has a spec document (e.g. `docs/erpnext-customer-sync.md`), the spec is the
**living source of truth** for that feature. It must be kept in sync with the actual
implementation at all times.
**Rules:**
- **Update the spec in the same session as the code change.** Never defer spec updates to a
later session.
- **The spec reflects what is implemented, not what was originally planned.** If a decision
changes mid-build (e.g. removing a scheduler job, changing how a field is set), update the
spec immediately after the code change.
- **Removed features must be removed from the spec.** Do not leave stale sections, blockers, or
file manifest entries for things that no longer exist.
- **New features must be added to the spec.** If a new API, component, or behaviour is
introduced, add a corresponding section.
- **Decisions and their rationale belong in the spec.** If something was done a specific way to
avoid a bug or framework limitation (e.g. not setting `customer_group` to avoid the group-node
error), document that in the relevant Blocker section.
- When in doubt about whether a spec update is needed — update it.
---
### 3. Test Utilities — Always Use `helpdesk/test_utils.py`
All backend test helpers must live in `helpdesk/test_utils.py` and be imported from there.
Never define helper functions (factories, enable/disable toggles, fixture builders) directly
inside individual test files.
**Rules:**
- **Before writing a helper in a test file**, check `helpdesk/test_utils.py` first — it may
already exist.
- **If a helper doesn't exist**, add it to `helpdesk/test_utils.py` and import it in the test
file. Do not leave it inline.
- **If you write helpers inline during development**, move them to `test_utils.py` before
finishing the task.
- Helper functions in `test_utils.py` must have a docstring explaining what they create or do. Only if the function is completely self-explanatory (e.g. `enable_erpnext_sync`) can the docstring be omitted.
- Naming conventions:
- Factories: `make_<doctype>(...)` — e.g. `make_hd_customer`, `make_ticket`, `make_team`
- Toggle helpers: `enable_<feature>()` / `disable_<feature>()` — e.g. `enable_erpnext_sync`
- Query helpers: descriptive verb — e.g. `get_latest_ticket_communication`
**For updates, merge new conventions here. If anything is unclear or missing, ask for clarification.**
**In the end your code will be reviewed by Codex, but following these rules will help ensure a smooth review process and a high-quality codebase.**

661
LICENSE Normal file
View File

@@ -0,0 +1,661 @@
GNU AFFERO GENERAL PUBLIC LICENSE
Version 3, 19 November 2007
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU Affero General Public License is a free, copyleft license for
software and other kinds of works, specifically designed to ensure
cooperation with the community in the case of network server software.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
our General Public Licenses are intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
Developers that use our General Public Licenses protect your rights
with two steps: (1) assert copyright on the software, and (2) offer
you this License which gives you legal permission to copy, distribute
and/or modify the software.
A secondary benefit of defending all users' freedom is that
improvements made in alternate versions of the program, if they
receive widespread use, become available for other developers to
incorporate. Many developers of free software are heartened and
encouraged by the resulting cooperation. However, in the case of
software used on network servers, this result may fail to come about.
The GNU General Public License permits making a modified version and
letting the public access it on a server without ever releasing its
source code to the public.
The GNU Affero General Public License is designed specifically to
ensure that, in such cases, the modified source code becomes available
to the community. It requires the operator of a network server to
provide the source code of the modified version running there to the
users of that server. Therefore, public use of a modified version, on
a publicly accessible server, gives the public access to the source
code of the modified version.
An older license, called the Affero General Public License and
published by Affero, was designed to accomplish similar goals. This is
a different license, not a version of the Affero GPL, but Affero has
released a new version of the Affero GPL which permits relicensing under
this license.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU Affero General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Remote Network Interaction; Use with the GNU General Public License.
Notwithstanding any other provision of this License, if you modify the
Program, your modified version must prominently offer all users
interacting with it remotely through a computer network (if your version
supports such interaction) an opportunity to receive the Corresponding
Source of your version by providing access to the Corresponding Source
from a network server at no charge, through some standard or customary
means of facilitating copying of software. This Corresponding Source
shall include the Corresponding Source for any work covered by version 3
of the GNU General Public License that is incorporated pursuant to the
following paragraph.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the work with which it is combined will remain governed by version
3 of the GNU General Public License.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU Affero General Public License from time to time. Such new versions
will be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU Affero General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU Affero General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU Affero General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If your software can interact with users remotely through a computer
network, you should also make sure that it provides a way for users to
get its source. For example, if your program is a web application, its
interface could display a "Source" link that leads users to an archive
of the code. There are many ways you could offer source, and different
solutions will be better for different programs; see section 13 for the
specific requirements.
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU AGPL, see
<https://www.gnu.org/licenses/>.

View File

@@ -4,15 +4,15 @@ include *.json
include *.md
include *.py
include *.txt
recursive-include frappedesk *.css
recursive-include frappedesk *.csv
recursive-include frappedesk *.html
recursive-include frappedesk *.ico
recursive-include frappedesk *.js
recursive-include frappedesk *.json
recursive-include frappedesk *.md
recursive-include frappedesk *.png
recursive-include frappedesk *.py
recursive-include frappedesk *.svg
recursive-include frappedesk *.txt
recursive-exclude frappedesk *.pyc
recursive-include helpdesk *.css
recursive-include helpdesk *.csv
recursive-include helpdesk *.html
recursive-include helpdesk *.ico
recursive-include helpdesk *.js
recursive-include helpdesk *.json
recursive-include helpdesk *.md
recursive-include helpdesk *.png
recursive-include helpdesk *.py
recursive-include helpdesk *.svg
recursive-include helpdesk *.txt
recursive-exclude helpdesk *.pyc

218
README.md
View File

@@ -1,22 +1,161 @@
<div align="center" markdown="1">
<img src="https://user-images.githubusercontent.com/46772424/181754239-a337beb3-fd35-4f27-969c-b9793f011458.svg" alt="FrappeDesk logo" width="170"/>
**Open Source Helpdesk** </br>
[frappedesk.com](https://frappedesk.com)
<img src=".github/hd-logo.svg" alt="Frappe Helpdesk logo" width="80"/>
<h1>Frappe Helpdesk</h1>
**Customer Service, Made Simple and Effective**
![GitHub release (latest by date)](https://img.shields.io/github/v/release/frappe/helpdesk)
[![codecov](https://codecov.io/github/frappe/helpdesk/branch/develop/graph/badge.svg?token=8ZXHCY4G9U)](https://codecov.io/github/frappe/helpdesk)
<a href="https://trendshift.io/repositories/12764" target="_blank"><img src="https://trendshift.io/api/badge/repositories/12764" alt="teableio%2Fteable | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
</div>
</div>
---
FrappeDesk offers an easy setup, clean user interface, and automation tools to resolve customer issues efficiently. It is based on Frappe Framework. It lets you streamline your company's support and helps you to efficiently manage your customer queries. It can help you to,
<div align="center">
<img src="./.github/Hero2.png" alt="Hero Image" width="100%" />
</div>
<br />
<div align="center">
<a href="https://frappe.io/helpdesk">Website</a>
-
<a href="https://docs.frappe.io/helpdesk">Documentation</a>
</div>
- Create tickets from email or help center
- Empower customers with a comprehensive knowledge base and self-service portal
- Automate redundant tasks like agent assignment and set up triggers to notify agents and customers based on certain events
## Frappe Helpdesk
Frappe Helpdesk is an 100% open-source Ticket Management tool which helps you streamline your company's support, offers an easy setup, clean user interface, and automation tools to resolve customer queries efficiently.
<img src="https://user-images.githubusercontent.com/46772424/180410739-a64b8b65-43b4-4ec8-8a87-1f5e97f355e0.png" width=" ">
## Installation
### Motivation
Managing issues from our customers was a big challenge for us. We were using the ERPNext support module which was not very good in UI and the UX was also not good. We wanted to have a tool that can be easily integrated with our existing system and can be customized as per our needs. So we decided to build Frappe Helpdesk.
### Key Features
- **Agent and Customer Portal Views**: Dual portals for agents and customers to simplify issue submission and management.
- **Customizable SLAs**: Discover how you can set and track SLAs for better response times.
- **Assignment Rules**: Custom auto-assignment of tickets based on priority, issue type, or workload.
- **Knowledge Base**: Learn how to create and manage help articles to empower users and reduce tickets.
- **Saved Replies**: Pre-written replies for common queries to ensure quick and consistent communication.
<details open>
<summary >View Screenshots</summary>
<h3></h3>
<div align="center">
<sub>
Agent List View
</sub>
</div>
![Agent List View](.github/AgentListView.png)
<div align="center">
<sub>
Upload articles and let your customer solve their queries through the Knowledge Base.
</sub>
</div>
![Knowledge Base](.github/KB.png)
<div align="center">
<sub>
With advanced search, your customers will be recommended relevant articles regarding their issue.
</sub>
</div>
![Article Search](.github/Search2.png)
</details>
<br>
### Under the Hood
- [**Frappe Framework**](https://github.com/frappe/frappe): A full-stack web application framework written in Python and Javascript.
- [**Frappe UI**](https://github.com/frappe/frappe-ui): A Vue-based UI library, to provide a modern user interface.
## Production Setup
### Managed Hosting
You can try [Frappe Cloud](https://frappecloud.com), a simple, user-friendly and sophisticated [open-source](https://github.com/frappe/press) platform to host Frappe applications with peace of mind.
It takes care of installation, setup, upgrades, monitoring, maintenance and support of your Frappe deployments. It is a fully featured developer platform with an ability to manage and control multiple Frappe deployments.
<div>
<a href="https://frappecloud.com/helpdesk/signup" target="_blank">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://frappe.io/files/try-on-fc-white.png">
<img src="https://frappe.io/files/try-on-fc-black.png" alt="Try on Frappe Cloud" height="28" />
</picture>
</a>
</div>
### Self Hosting
Follow these steps to set up Frappe Helpdesk in production:
**Step 1**: Download the easy install script
```bash
wget https://frappe.io/easy-install.py
```
**Step 2**: Run the deployment command
```bash
python3 ./easy-install.py deploy \
--project=helpdesk_prod_setup \
--email=your_email.example.com \
--image=ghcr.io/frappe/helpdesk \
--version=stable \
--app=helpdesk \
--sitename subdomain.domain.tld
```
Replace the following parameters with your values:
- `your_email.example.com`: Your email address
- `subdomain.domain.tld`: Your domain name where Helpdesk will be hosted
The script will set up a production-ready instance of Frappe Helpdesk with all the necessary configurations in about 5 minutes.
## Development Setup
### Docker
You need Docker, docker-compose and git setup on your machine. Refer [Docker documentation](https://docs.docker.com/). After that, follow below steps:
**Step 1**: Setup folder and download the required files
mkdir frappe-helpdesk
cd frappe-helpdesk
# Download the docker-compose file
wget -O docker-compose.yml https://raw.githubusercontent.com/frappe/helpdesk/develop/docker/docker-compose.yml
# Download the setup script
wget -O init.sh https://raw.githubusercontent.com/frappe/helpdesk/develop/docker/init.sh
**Step 2**: Run the container and daemonize it
docker compose up -d
**Step 3**: The site [http://helpdesk.localhost:8000/helpdesk](http://helpdesk.localhost:8000/helpdesk) should now be available. The default credentials are:
- Username: Administrator
- Password: admin
### Local
@@ -24,20 +163,55 @@ To setup the repository locally follow the steps mentioned below:
1. Install bench and setup a `frappe-bench` directory by following the [Installation Steps](https://frappeframework.com/docs/user/en/installation)
1. Start the server by running `bench start`
1. In a separate terminal window, create a new site by running `bench new-site frappedesk.test`
1. Map your site to localhost with the command `bench --site frappedesk.test add-to-hosts`
1. Get the Frappe Desk app. Run `bench get-app https://github.com/frappe/desk`
1. Run `bench --site frappedesk.test install-app frappedesk`.
1. Now open the URL `http://frappedesk.test:8000/frappedesk` in your browser, you should see the app running
1. In a separate terminal window, create a new site by running `bench new-site helpdesk.test`
1. Map your site to localhost with the command `bench --site helpdesk.test add-to-hosts`
1. Get the Telephony app. Run `bench get-app https://github.com/frappe/telephony`
1. Get the Helpdesk app. Run `bench get-app https://github.com/frappe/helpdesk`
1. Run `bench --site helpdesk.test install-app helpdesk`.
1. Run `bench build --app helpdesk`
1. Now open the URL `http://helpdesk.test:8000/helpdesk` in your browser, you should see the app running
## Contributions and Community
There are many ways you can contribute even if you don't code:
**For Frontend Development**
1. Open a new terminal session and cd into `frappe-bench/apps/helpdesk/desk`, and run the following commands:
```
yarn install
yarn dev or yarn dev --host helpdesk.test
```
1. Now, you can access the site on vite dev server at `http://helpdesk.test:8080`
1. You can start by giving a star to this repository!
2. If you find any issues, even if it is a typo, you can [raise an issue](https://github.com/frappe/desk/issues/new) to inform us.
3. You can join our [telegram group](https://t.me/frappedesk) and share your thoughts.
**Note:** You'll find all the code related to Helpdesk's frontend inside `frappe-bench/apps/helpdesk/desk`
## License
[GNU Affero General Public License v3.0](https://github.com/frappe/desk/blob/main/licence.md)
## Compatibility matrix
| Helpdesk Branch | Compatible Frappe Framework Version |
|-----------------|-------------------------------------|
| main | version-15 |
| main | version-16 |
| develop | develop branch |
## Learn and connect
- [Telegram Public Group](https://t.me/frappedesk)
- [Discuss Forum](https://discuss.frappe.io/c/frappehelpdesk/69)
- [Documentation](https://docs.frappe.io/helpdesk)
## Contributing
1. [Issue Guidelines](https://github.com/frappe/erpnext/wiki/Issue-Guidelines)
1. [Report Security Vulnerabilities](https://frappe.io/security)
1. [Pull Request Requirements](https://github.com/frappe/erpnext/wiki/Contribution-Guidelines)
2. [Translations](https://crowdin.com/project/frappe)
<br>
<br>
<div align="center">
<a href="https://frappe.io" target="_blank">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://frappe.io/files/Frappe-white.png">
<img src="https://frappe.io/files/Frappe-black.png" alt="Frappe Technologies" height="28"/>
</picture>
</a>
</div>

View File

@@ -1,25 +0,0 @@
module.exports = {
parserPreset: "conventional-changelog-conventionalcommits",
rules: {
"subject-empty": [2, "never"],
"type-case": [2, "always", "lower-case"],
"type-empty": [2, "never"],
"type-enum": [
2,
"always",
[
"build",
"chore",
"ci",
"docs",
"feat",
"fix",
"perf",
"refactor",
"revert",
"style",
"test",
],
],
},
};

25
commitlint.config.mjs Normal file
View File

@@ -0,0 +1,25 @@
export default {
parserPreset: "conventional-changelog-conventionalcommits",
rules: {
"subject-empty": [2, "never"],
"type-case": [2, "always", "lower-case"],
"type-empty": [2, "never"],
"type-enum": [
2,
"always",
[
"build",
"chore",
"ci",
"docs",
"feat",
"fix",
"perf",
"refactor",
"revert",
"style",
"test",
],
],
},
};

8
crowdin.yml Normal file
View File

@@ -0,0 +1,8 @@
files:
- source: /helpdesk/locale/main.pot
translation: /helpdesk/locale/%two_letters_code%.po
pull_request_title: "chore: sync translations from crowdin"
pull_request_labels:
- translation
commit_message: "chore: %language% translations"
append_commit_message: false

1
desk/.gitignore vendored
View File

@@ -3,6 +3,7 @@ node_modules
dist
dist-ssr
*.local
dev-dist
# local env files
.env.local

View File

@@ -1,34 +0,0 @@
# Frappe UI Starter
This template should help get you started developing custom frontend for Frappe
apps with Vue 3 and the Frappe UI package.
This boilerplate sets up Vue 3, Vue Router, TailwindCSS, and Frappe UI out of
the box.
## Usage
This template is meant to be cloned inside an existing Frappe App. Assuming your
apps name is `todo`. Clone this template in the root folder of your app using `degit`.
```
cd apps/todo
npx degit netchampfaris/frappe-ui-starter frontend
cd frontend
yarn
yarn dev
```
The Vite dev server will start on the port `8080`. This can be changed from `vite.config.js`.
The development server is configured to proxy your frappe app (usually running on port `8000`). If you have a site named `todo.test`, open `http://todo.test:8080` in your browser. If you see a button named "Click to send 'ping' request", congratulations!
If you notice the browser URL is `/frontend`, this is the base URL where your frontend app will run in production.
To change this, open `src/router.js` and change the base URL passed to `createWebHistory`.
## Resources
- [Vue 3](https://v3.vuejs.org/guide/introduction.html)
- [Vue Router](https://next.router.vuejs.org/guide/)
- [Frappe UI](https://github.com/frappe/frappe-ui)
- [TailwindCSS](https://tailwindcss.com/docs/utility-first)
- [Vite](https://vitejs.dev/guide/)

14
desk/auto-imports.d.ts vendored Normal file
View File

@@ -0,0 +1,14 @@
/* eslint-disable */
/* prettier-ignore */
// @ts-nocheck
// noinspection JSUnusedGlobalSymbols
// Generated by unplugin-auto-import
// biome-ignore lint: disable
export {}
declare global {
const LucideAlignJustify: typeof import('~icons/lucide/align-justify')['default']
const LucideCornerUpLeft: typeof import('~icons/lucide/corner-up-left')['default']
const LucideFileSearch: typeof import('~icons/lucide/file-search')['default']
const LucideMessageCircle: typeof import('~icons/lucide/message-circle')['default']
const LucideTag: typeof import('~icons/lucide/tag')['default']
}

View File

@@ -1,18 +1,211 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" href="/favicon.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Frappe Desk</title>
</head>
<body>
<div id="app"></div>
<div id="modals"></div>
<div id="popovers"></div>
<script type="module" src="/src/main.js"></script>
<script>
window.csrf_token = "{{ csrf_token }}"
</script>
</body>
<html lang="{{ boot.lang or 'en' }}" dir="{{ boot.dir or 'ltr' }}">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Helpdesk</title>
<meta name="mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-title" content="Frappe Helpdesk" />
<meta name="apple-mobile-web-app-status-bar-style" content="white" />
<!-- PWA -->
<link
rel="icon"
type="image/png"
sizes="196x196"
href="/assets/helpdesk/desk/manifest/apple-icon-180.png"
/>
<link
rel="mask-icon"
href="/assets/helpdesk/desk/manifest/manifest-icon-192.maskable.png"
color="#FFFFFF"
/>
<link
rel="apple-touch-icon"
href="/assets/helpdesk/desk/manifest/apple-icon-180.png"
/>
<link
rel="apple-touch-startup-image"
href="/assets/helpdesk/desk/manifest/apple-splash-2048-2732.jpg"
media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/helpdesk/desk/manifest/apple-splash-2732-2048.jpg"
media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/helpdesk/desk/manifest/apple-splash-1668-2388.jpg"
media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/helpdesk/desk/manifest/apple-splash-2388-1668.jpg"
media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/helpdesk/desk/manifest/apple-splash-1536-2048.jpg"
media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/helpdesk/desk/manifest/apple-splash-2048-1536.jpg"
media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/helpdesk/desk/manifest/apple-splash-1488-2266.jpg"
media="(device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/helpdesk/desk/manifest/apple-splash-2266-1488.jpg"
media="(device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/helpdesk/desk/manifest/apple-splash-1640-2360.jpg"
media="(device-width: 820px) and (device-height: 1180px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/helpdesk/desk/manifest/apple-splash-2360-1640.jpg"
media="(device-width: 820px) and (device-height: 1180px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/helpdesk/desk/manifest/apple-splash-1668-2224.jpg"
media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/helpdesk/desk/manifest/apple-splash-2224-1668.jpg"
media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/helpdesk/desk/manifest/apple-splash-1620-2160.jpg"
media="(device-width: 810px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/helpdesk/desk/manifest/apple-splash-2160-1620.jpg"
media="(device-width: 810px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/helpdesk/desk/manifest/apple-splash-1290-2796.jpg"
media="(device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/helpdesk/desk/manifest/apple-splash-2796-1290.jpg"
media="(device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/helpdesk/desk/manifest/apple-splash-1179-2556.jpg"
media="(device-width: 393px) and (device-height: 852px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/helpdesk/desk/manifest/apple-splash-2556-1179.jpg"
media="(device-width: 393px) and (device-height: 852px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/helpdesk/desk/manifest/apple-splash-1284-2778.jpg"
media="(device-width: 428px) and (device-height: 926px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/helpdesk/desk/manifest/apple-splash-2778-1284.jpg"
media="(device-width: 428px) and (device-height: 926px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/helpdesk/desk/manifest/apple-splash-1170-2532.jpg"
media="(device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/helpdesk/desk/manifest/apple-splash-2532-1170.jpg"
media="(device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/helpdesk/desk/manifest/apple-splash-1125-2436.jpg"
media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/helpdesk/desk/manifest/apple-splash-2436-1125.jpg"
media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/helpdesk/desk/manifest/apple-splash-1242-2688.jpg"
media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/helpdesk/desk/manifest/apple-splash-2688-1242.jpg"
media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/helpdesk/desk/manifest/apple-splash-828-1792.jpg"
media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/helpdesk/desk/manifest/apple-splash-1792-828.jpg"
media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/helpdesk/desk/manifest/apple-splash-1242-2208.jpg"
media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/helpdesk/desk/manifest/apple-splash-2208-1242.jpg"
media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/helpdesk/desk/manifest/apple-splash-750-1334.jpg"
media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/helpdesk/desk/manifest/apple-splash-1334-750.jpg"
media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/helpdesk/desk/manifest/apple-splash-640-1136.jpg"
media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/helpdesk/desk/manifest/apple-splash-1136-640.jpg"
media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"
/>
</head>
<body>
<div id="app"></div>
<div id="modals"></div>
<div id="popovers"></div>
<script type="module" src="/src/main.js"></script>
<script>
window.site_name = "{{ site_name }}";
</script>
</body>
</html>

View File

@@ -1,34 +1,61 @@
{
"name": "frappe-ui-frontend",
"private": true,
"version": "0.0.0",
"scripts": {
"dev": "vite",
"preview": "vite preview",
"build": "vite build --base=/assets/frappedesk/desk/ && yarn copy-html-entry",
"serve": "vite preview",
"copy-html-entry": "cp ../frappedesk/public/desk/index.html ../frappedesk/www/frappedesk/index.html"
},
"dependencies": {
"@headlessui/vue": "^1.5.0",
"@tailwindcss/line-clamp": "^0.4.2",
"@vitejs/plugin-vue": "^2.3.3",
"@vuepic/vue-datepicker": "^3.6.3",
"dayjs": "^1.10.7",
"echarts": "^5.4.1",
"frappe-ui": "^0.0.84",
"luxon": "^2.3.2",
"vue": "^3.2.26",
"vue-echarts": "^6.3.1",
"vue-router": "^4.0.12",
"vuedraggable": "^4.1.0"
},
"devDependencies": {
"@vitejs/plugin-vue": "^2.3.3",
"autoprefixer": "^10.4.2",
"postcss": "^8.4.5",
"tailwindcss": "^3.0.12",
"vite": "^2.0.5",
"vue-template-compiler": "^2.6.14"
}
"name": "helpdesk-ui",
"private": true,
"version": "0.0.0",
"type": "module",
"scripts": {
"dev": "vite",
"build": "vite build",
"serve": "vite preview",
"postinstall": "patch-package"
},
"dependencies": {
"@framework/ui": "link:../../frappe/ui",
"@headlessui/vue": "^1.7.22",
"@tailwindcss/typography": "^0.5.9",
"@tiptap/core": "^3.26.0",
"@tiptap/extension-table": "^3.26.0",
"@tiptap/extension-text-align": "^3.26.0",
"@tiptap/extension-text-style": "^3.26.0",
"@tiptap/pm": "^3.26.0",
"@tiptap/starter-kit": "^3.26.0",
"@twilio/voice-sdk": "^2.15.0",
"@vee-validate/zod": "^4.8.2",
"@vitejs/plugin-vue": "^4.6.2",
"@vueuse/core": "^14.1.0",
"@vueuse/integrations": "^14.1.0",
"dayjs": "^1.11.7",
"echarts": "^6.1.0",
"grid-layout-plus": "^1.1.0",
"frappe-ui": "1.0.0-rc.1",
"mime": "^3.0.0",
"pinia": "^2.0.33",
"sanitize-html": "^2.10.0",
"socket.io-client": "^4.7.2",
"tailwindcss-rtl": "^0.9.0",
"vue": "^3.5.14",
"vue-router": "^4.2.2",
"vuedraggable": "^4.1.0",
"zod": "^3.21.4"
},
"devDependencies": {
"@vitejs/plugin-vue-jsx": "^3.1.0",
"autoprefixer": "^10.4.13",
"patch-package": "^8.0.1",
"postcss": "^8.4.5",
"postinstall-postinstall": "^2.1.0",
"prettier": "2.8.4",
"tailwindcss": "^3.4.15",
"typescript": "^5.0.2",
"unplugin-icons": "^22.1.0",
"vite": "^5.4.21",
"vite-plugin-pwa": "0.17.5"
},
"resolutions": {
"cheerio": "1.0.0-rc.12",
"prosemirror-model": "1.25.9",
"prosemirror-state": "1.4.4",
"prosemirror-view": "1.41.9",
"prosemirror-transform": "1.12.0"
}
}

View File

@@ -0,0 +1,70 @@
diff --git a/node_modules/frappe-ui/src/molecules/editor/extensions/shared/suggestion-renderer.ts b/node_modules/frappe-ui/src/molecules/editor/extensions/shared/suggestion-renderer.ts
index 91c8dc4..2883b93 100644
--- a/node_modules/frappe-ui/src/molecules/editor/extensions/shared/suggestion-renderer.ts
+++ b/node_modules/frappe-ui/src/molecules/editor/extensions/shared/suggestion-renderer.ts
@@ -5,6 +5,7 @@ import type {
} from '@tiptap/suggestion'
import type { Component } from 'vue'
import {
+ autoUpdate,
computePosition,
flip,
offset,
@@ -40,6 +41,9 @@ export function createSuggestionRenderer(
let isActive = false
// Monotonic token; a stale onUpdate from a superseded query bails.
let renderToken = 0
+ // Monotonic token; a stale computePosition settling later bails.
+ let positionToken = 0
+ let cleanupAutoUpdate: (() => void) | null = null
function getListExpose(): SuggestionListExpose | null {
const ref = renderer?.ref as SuggestionListExpose | null | undefined
@@ -52,6 +56,7 @@ export function createSuggestionRenderer(
const rect = getReferenceClientRect()
if (!rect) return
const reference = { getBoundingClientRect: () => rect }
+ const token = ++positionToken
void computePosition(reference, floatingEl, {
placement: floatingOptions?.placement ?? 'bottom-start',
middleware: [
@@ -60,7 +65,7 @@ export function createSuggestionRenderer(
shift({ padding: 8 }),
],
}).then(({ x, y }) => {
- if (!floatingEl) return
+ if (!floatingEl || token !== positionToken) return
Object.assign(floatingEl.style, {
position: 'absolute',
left: `${x}px`,
@@ -93,7 +98,19 @@ export function createSuggestionRenderer(
floatingEl.style.position = 'absolute'
document.body.appendChild(floatingEl)
getReferenceClientRect = props.clientRect as () => DOMRect | null
- updatePosition()
+
+ // Positions once, then keeps the popup on the caret through scroll, window
+ // resize and its own height changes (`flip()` measures a height that async
+ // rows and late fonts change after the fact).
+ cleanupAutoUpdate = autoUpdate(
+ {
+ getBoundingClientRect: () =>
+ getReferenceClientRect?.() ?? new DOMRect(),
+ contextElement: props.editor?.view?.dom as HTMLElement | undefined,
+ },
+ floatingEl,
+ updatePosition,
+ )
}
return {
@@ -139,6 +156,9 @@ export function createSuggestionRenderer(
onExit() {
isActive = false
renderToken++
+ positionToken++
+ cleanupAutoUpdate?.()
+ cleanupAutoUpdate = null
floatingEl?.remove()
renderer?.destroy()
floatingEl = null

View File

@@ -1,6 +1,6 @@
module.exports = {
plugins: {
tailwindcss: {},
autoprefixer: {},
},
}
export default {
plugins: {
tailwindcss: {},
autoprefixer: {},
},
};

BIN
desk/public/article-2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 494 KiB

BIN
desk/public/article.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

BIN
desk/public/desk.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -1,4 +1,4 @@
<svg width="1000" height="1000" viewBox="0 0 1000 1000" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M65 241H408.967V331.989H65V241ZM65 758.336V473.136H386.158V564.278H174.79V758.336H65Z" fill="#2490EF"/>
<path d="M686.492 757.861H512.476V244.338H690.002C740.987 244.338 784.783 254.618 821.392 275.179C858.168 295.573 886.418 324.91 906.143 363.19C925.869 401.471 935.731 447.273 935.731 500.598C935.731 554.09 925.785 600.06 905.893 638.507C886.168 676.955 857.666 706.459 820.389 727.02C783.279 747.581 738.647 757.861 686.492 757.861ZM605.502 677.373H681.978C717.751 677.373 747.59 670.853 771.494 657.815C795.398 644.609 813.368 624.967 825.404 598.89C837.44 572.645 843.457 539.881 843.457 500.598C843.457 461.315 837.44 428.718 825.404 402.808C813.368 376.731 795.565 357.256 771.996 344.385C748.593 331.346 719.506 324.827 684.737 324.827H605.502V677.373Z" fill="#192734"/>
<svg width="118" height="118" viewBox="0 0 118 118" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M93.9278 0H23.1013C10.3428 0 0 10.3428 0 23.1013V93.9278C0 106.686 10.3428 117.029 23.1013 117.029H93.9278C106.686 117.029 117.029 106.686 117.029 93.9278V23.1013C117.029 10.3428 106.686 0 93.9278 0Z" fill="#7D42FB"/>
<path d="M95.9759 50.8753V27.8265L21 27.8265V38.3271H85.5278V48.3027C81.3275 49.5103 78.2824 53.3955 78.2824 57.9632C78.2824 62.531 81.3275 66.3637 85.5278 67.5713V77.5468H31.5006V50.1403H21V88.0474H96.0284V64.9986L89.7805 60.5359V55.3906L96.0284 50.9278L95.9759 50.8753Z" fill="#EDF7FF"/>
</svg>

Before

Width:  |  Height:  |  Size: 941 B

After

Width:  |  Height:  |  Size: 624 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 KiB

BIN
desk/public/timers.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,151 +1,45 @@
<template>
<div v-if="!user.loading">
<router-view />
<Toasts />
</div>
<FrappeUIProvider>
<router-view />
</FrappeUIProvider>
<Dialogs />
</template>
<script>
import { provide, ref } from "vue"
import { call } from "frappe-ui"
import { Toasts } from "@/utils/toasts"
<script setup lang="ts">
import { Dialogs } from "@/components/dialogs";
import { useConfigStore } from "@/stores/config";
import { useFavicon } from "@vueuse/core";
import { FrappeUIProvider, setConfig, toast, useColorScheme } from "frappe-ui";
import { storeToRefs } from "pinia";
import { h, onMounted } from "vue";
import Wifi from "~icons/lucide/wifi";
import WifiOff from "~icons/lucide/wifi-off";
import { __ } from "./translation";
import { isCustomerPortal } from "./utils";
export default {
name: "App",
components: {
Toasts,
},
setup() {
const user = ref({})
const viewportWidth = ref(
Math.max(
document.documentElement.clientWidth || 0,
window.innerWidth || 0
)
)
const configStore = useConfigStore();
const { favicon } = storeToRefs(configStore);
provide("user", user)
provide("viewportWidth", viewportWidth)
useFavicon(favicon);
return { user }
},
mounted() {
window.addEventListener("online", () => {
this.$clearToasts()
this.$toast({
title: "You're online now",
icon: "wifi",
iconClasses: "stroke-green-600",
appearance: "success",
position: "bottom-right",
})
})
window.addEventListener("offline", () => {
this.$toast({
title: "You're offline now",
icon: "wifi-off",
iconClasses: "stroke-red-600",
appearance: "danger",
fixed: true,
position: "bottom-right",
})
})
this.user = {
signup: async (email, firstName, lastName, password) => {
return await this.$resources.signup.submit({
email: email,
first_name: firstName,
last_name: lastName,
password: password,
})
},
login: async (email, password) => {
return await this.$resources.login.submit({
usr: email,
pwd: password,
})
},
logout: async () => {
await call("logout")
this.$router.push({ path: "/frappedesk/login" })
},
resetPassword: async (email) => {
console.log("reset password")
},
isLoggedIn: () => {
const cookie = Object.fromEntries(
document.cookie
.split("; ")
.map((part) => part.split("="))
.map((d) => [d[0], decodeURIComponent(d[1])])
)
return cookie.user_id && cookie.user_id !== "Guest"
},
refetch: async (onRefetch = () => {}) => {
this.user.loading = true
await this.$resources.user.fetch()
onRefetch()
},
loading: true,
}
if (this.user.isLoggedIn()) {
this.$resources.user.fetch()
} else {
this.user.loading = false
}
},
resources: {
user() {
return {
method: "frappedesk.api.agent.get_user",
onSuccess: () => {
const userData = this.$resources.user.data
if (userData) {
this.user = { ...this.user, ...userData }
this.user.loading = false
}
},
onError: () => {
// TODO: check if error occured due to not logged in else handle the error
this.user.loading = false
this.$router.push({ name: "PortalLogin" })
},
}
},
login() {
return {
method: "login",
onSuccess: (res) => {
this.$event.emit("user-login-success", res)
},
onError: (error) => {
this.$event.emit("user-login-error", error)
},
}
},
signup() {
return {
method: "frappedesk.api.account.signup",
onSuccess: (res) => {
this.$event.emit("user-signup-success", res)
},
onError: (error) => {
this.$event.emit("user-signup-error", error)
},
}
},
helpdeskName() {
return {
method: "frappedesk.api.website.helpdesk_name",
auto: true,
onSuccess: (res) => {
document.title = `Frappe Desk ${res ? ` | ${res}` : ""}`
},
}
},
},
if (!localStorage.getItem("theme")) {
localStorage.setItem("theme", "light");
}
useColorScheme();
onMounted(() => {
window.addEventListener("online", () => {
toast(__("You are now online."), {
icon: () => h(Wifi, { class: "text-ink-base" }),
});
});
window.addEventListener("offline", () => {
toast(__("You are now offline."), {
icon: () => h(WifiOff, { class: "text-ink-base" }),
});
});
!isCustomerPortal.value && setConfig("localTimezone", window.timezone?.user);
setConfig("systemTimezone", window.timezone?.system || null);
});
</script>

Some files were not shown because too many files have changed in this diff Show More