Mahdi and Cursor
910c7f51b0
fix(web): load pipeline merge preview when wizard opens
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-12 21:59:46 +03:30
Mahdi and Cursor
609ce3d006
rename pipeline settings hub card to تنظیمات مسیر فروش
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-12 21:46:04 +03:30
Mahdi and Cursor
9bed6cac03
fix(api): guard unmoved deals before pipeline merge delete
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-12 21:32:21 +03:30
Mahdi and Cursor
fd6e79c15d
feat(web): pipeline merge wizard
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-12 20:55:14 +03:30
Mahdi and Cursor
9b42fec0a8
feat(web): pipeline settings page and nav entry
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-12 20:33:29 +03:30
Mahdi and Cursor
d00f362376
feat(api): pipeline merge preview and merge endpoints
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-12 20:23:56 +03:30
Mahdi and Cursor
fd8966e13f
feat(pipelines): merge stage-map util and shared DTOs
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-12 20:15:11 +03:30
Mahdi and Cursor
91eb9be1d4
docs: add pipeline merge implementation plan
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-12 20:10:03 +03:30
Mahdi and Cursor
ffae63edbf
docs: add pipeline merge design spec
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-12 20:07:09 +03:30
Mahdi
cba4ad6a49
fix deal edit save; add new person from deal form; club and multi-select
2026-10-12 19:23:07 +03:30
Mahdi
faac26d07d
club home redesign; deal multi-select delete; anchored card menus
2026-10-12 17:59:07 +03:30
Mahdi
a2b01f787e
club home redesign; deal card menu anchored to button + delete
2026-10-12 14:54:32 +03:30
Mahdi
8af78047d9
club home redesign; deal card menu: delete with confirmation
2026-10-12 12:39:52 +03:30
Mahdi
b43ed68e82
feat(automations): multi-option form-field conditions (all / any / none / exact)
2026-10-11 17:26:17 +03:30
Mahdi
f4398cdb3e
fix(web): mobile automation canvas/inspector, compact activity row, timestamped comments
2026-10-11 16:48:37 +03:30
Mahdi
17638786a8
feat(automations): parallel branch canvas, simple/advanced level per org, rules list UX
2026-10-11 14:48:12 +03:30
Mahdi
b3b92abae9
feat(automations): form-driven branching rules, round-robin assignment, lead-linked activities
2026-10-11 14:12:36 +03:30
Mahdi
b30f68563d
docs: update user guide, roadmap and progress; comprehensive features catalog
2026-10-11 12:06:23 +03:30
Mahdi
51ca23b398
docs: update user guide, roadmap and progress; add comprehensive features catalog
2026-10-11 11:54:08 +03:30
Mahdi and Cursor
60d797f184
feat: باشگاه امتیازات کارکنان (موتور امتیاز، جدول رتبه، فروشگاه پاداش، نشانها، پنل مدیریت و گزارش ROI)
...
- موتور رویدادمحور با شرط، محدودیت، تأیید مدیر و idempotency
- اتصال به لید، مشتری، معامله، فعالیت، روتین، پیشفاکتور، فاکتور و تیکت
- صفحه /club و /club/admin، اعلان زنده امتیاز، آیتم منو
- انتقال فرمساز سرنخ به ابزارها
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-10 21:28:49 +03:30
Mahdi
b87ebb22e0
Montify: robust pagination (beyond 50), endpoint diagnose button
2026-10-10 18:01:55 +03:30
Mahdi
792b3d29fa
Montify: allow restarting stuck sync from UI; log sync progress
2026-10-10 17:11:51 +03:30
Mahdi
0802c2f436
Montify sync: save progress every 5 customers; skip endpoints returning 404, summarize instead of per-customer errors
2026-10-10 16:56:58 +03:30
Mahdi
37157620e2
Montify settings: send empty JSON body on sync (fix 400 null body)
2026-10-10 16:35:23 +03:30
Mahdi
f27b4c264a
Montify: mark sync running before responding; no 400 when already running
2026-10-10 16:18:25 +03:30
Mahdi
e82bd2b2df
Montify stores integration: multi-store connections, customer/order/transaction sync, webhooks
2026-10-10 15:59:12 +03:30
Mahdi and Cursor
fa3fe0d364
Web: fix mobile overflow on activities, activity form, assets panel, routines, team/audit/API settings
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-10 11:58:45 +03:30
Mahdi and Cursor
4e26658092
e2e: public form test finds an active form itself; drop E2E_FORM_TOKEN
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-08 21:05:38 +03:30
Mahdi and Cursor
287f88abc0
e2e: public form test stays read-only and reports a wrong token clearly
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-08 20:49:55 +03:30
Mahdi and Cursor
09f05d4ecc
e2e: fix ambiguous selector in Tahesab assets test
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-08 20:28:38 +03:30
Mahdi and Cursor
46a7693ea0
QA: unit tests for API logic, Playwright smoke tests, pre-push check, manual QA checklist
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-08 20:11:07 +03:30
Mahdi and Cursor
e6755d0c2e
Tahesab: show raw data from Tahesab, invoice-style document view with metal labels
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-08 13:49:54 +03:30
Mahdi and Cursor
2f3646d085
feat(ui): modals close only via Esc/X/cancel; standard 3:1 form cover processing
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-07 15:23:14 +03:30
Mahdi and Cursor
f5b6a47f3c
feat(lead-forms): public form matches builder preview; live unsaved preview in new tab
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-07 14:25:52 +03:30
Mahdi and Cursor
678cb87de7
fix(lead-forms): multiline options, editable title, color palette, builder validation and unique new form names
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-07 13:49:27 +03:30
Mahdi and Cursor
d683932d1b
feat(forms): merge notes tab into main info for activity and deal forms; show activity hashtags
...
- Activity form: notes/tags card inline, live hashtag preview, focus notes when required
- Hashtags shown in activity detail (clickable search) and list rows; search accepts #tag
- Deal form: remove mobile tabs
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-07 13:17:29 +03:30
Mahdi and Cursor
13668c4ba4
feat(activities): split customer column, wider search, custom activity types with type-specific fields
...
- Table: separate assignee and customer columns; search by assignee and activity type
- ActivityTypeDef model with per-type field definitions (text, select, checklist, participants, ...)
- Default types incl. meeting subject/participants and task checklist; admins manage types
- Participants see activities in their lists and get notified
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-07 12:29:23 +03:30
Mahdi and Cursor
aa2f39256a
feat(activities): editable stages with tab and kanban views
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-07 11:18:53 +03:30
Mahdi and Cursor
b4ffef9b6f
rename: کاریز فروش → مسیر فروش, کاریز پروژه → تابلوی پروژه
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-06 20:51:50 +03:30
Mahdi and Cursor
b3784818fc
feat: routines module; super admin subscription badge, 7-day trial and lifetime plan
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-06 19:54:38 +03:30
Mahdi
3de2d0fa67
Deals import: imported pipelines keep only Didar stages; remove unused default stages
2026-10-06 16:58:25 +03:30
Mahdi
2a2728e5ee
Deals Excel import/export aligned with Didar: browser-side import, new deal fields (code, probability, closedAt, creator, lostNote, referrer), Didar custom fields
2026-10-06 16:36:04 +03:30
Mahdi
e08f1452ef
Unified search algorithm across all lists; per-section record visibility (contacts, deals, activities, leads, finance, tickets, notes, projects)
2026-10-06 15:04:46 +03:30
Mahdi
43717392b2
Profile picture display has been standardized across the board.
2026-10-06 14:23:59 +03:30
Mahdi
bc01384551
Fix error sending reminder SMS
2026-10-06 13:49:03 +03:30
Mahdi
5074c6d791
Add column visibility menu to activities and API keys tables, and make related person optional when creating an activity
2026-10-06 13:35:13 +03:30
Mahdi
0d7555f219
Fixing the error in today's task count
2026-10-06 12:44:09 +03:30
Mahdi
f71f09c85d
Align companies with the Didar export: new fields, Didar-format Excel import/export, and people linked to companies by Didar code
2026-10-06 12:25:20 +03:30
Mahdi and Cursor
f88786ef61
Import Tahesab customers in batches with progress overlay and prefetched rows
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-05 21:08:38 +03:30
Mahdi and Cursor
46dcf296d3
Keep previous import source and code when a person is re-imported from another source
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-05 20:54:23 +03:30