Open
Conversation
- Add 8 new extension types to usePluginExtensions: ticketActions, sidebarPanels, ticketFields, composerActions, reportWidgets, settingsPanels, notificationChannels, ticketListColumns - Expand defineEscalatedPlugin with lifecycle hook registration (ticket.created, ticket.replied, reply.beforeSubmit, etc.) - Add usePluginHooks composable with dispatch/filter pattern for action hooks and data-transforming filter hooks - Add PluginSlot extension points to 6 pages: Agent/TicketIndex, Admin/Tickets/Index, Customer/Create, Customer/Index, Admin/Reports, Admin/Settings - Update export count in test to reflect new usePluginHooks export
Covers 36 core gaps and 24 plugin gaps with layered implementation strategy, architecture decisions, and branching plan.
32-task plan covering all 36 core gaps and 24 plugin scaffolds across 4 implementation layers.
- CustomFieldRenderer.vue: dynamic field renderer for text, textarea, select, multi-select, checkbox, date, number types with v-model support - CustomFields/Index.vue: admin listing with type, context, required badges - CustomFields/Form.vue: create/edit form with options editor for select types
- Statuses/Index.vue: grouped listing by category (New/Open/Pending/On-Hold/Solved) - Statuses/Form.vue: create/edit form with color picker and category selector - StatusBadge.vue: updated to support customStatus prop with dynamic color rendering
- ScheduleEditor.vue: weekly schedule editor with day toggles and time selects - BusinessHours/Index.vue: list schedules with timezone, default badge, holiday count - BusinessHours/Form.vue: create/edit with ScheduleEditor, timezone, and holiday manager
- PermissionMatrix.vue: grid component with group rows, action columns, and toggle-all - Roles/Index.vue: list roles with user count, system badge, and delete protection - Roles/Form.vue: create/edit with PermissionMatrix for permission selection
- AuditLogEntry.vue: entry display with avatar, action badge, field diffs (old->new) - AuditLog/Index.vue: paginated list with filters for user, action, resource type, date range
Component ScreenshotsCaptured 14 component screenshots from Storybook. Download the full set from the component-screenshots artifact in the workflow run. Screenshot list
|
- Dialog with ticket search by reference/subject - Preview of target ticket before confirming merge - Dark theme styling matching existing patterns
- TicketLinkPanel sidebar panel with grouped links and search-to-link - TicketTypeSelector dropdown for question/problem/incident/task types
- SideConversation component for individual thread with reply form - SideConversationList collapsible panel with new conversation creation
- CollisionWarning banner showing who is typing with pulsing indicator - ReplyComposer modified with debounced typing indicator POST every 5s - Typing state cleared on submit and blur
- Hide reply composer, status/priority controls, and bulk actions for light agents - Light agents can only see and use the internal note tab - Computed isLightAgent from page.props.escalated.agent_type
- Skills Index page with listing, agents count, edit/delete - Skills Form page for create/edit with name input - SkillTagManager multi-select tag component for assigning skills
- Capacity Index page with per-agent capacity table and inline edit - AgentLoadIndicator component with color-coded load bar
- Webhooks Index with URL, events, active toggle, and last delivery status - Webhooks Form with URL, secret, events multi-select, and active toggle - DeliveryLog page with event, status, payload preview, and retry button
- Automations Index page with conditions/actions summary, active toggle, last run - Automations Form with condition builder and action builder
- Category dropdown filter to filter rules by category - Rules grouped by category with collapsible sections - Grouped tables with chevron toggle for each category
- KnowledgePanel component with search, placeholder results, Insert Link and Quote buttons - Added KnowledgePanel to Agent TicketShow sidebar after TicketSidebar
- Create SsoSettings.vue with provider selection (None/SAML/JWT), SAML config (Entity ID, SSO URL, Certificate), JWT config (shared secret, algorithm), and attribute mapping (email, name, role)
- Create TotpInput.vue with 6 individual digit boxes, auto-advance focus, paste support, and complete event - Create TwoFactorSetup.vue wizard with 3 steps: scan QR URI, verify TOTP code, display recovery codes - Create TwoFactor.vue admin settings page for managing 2FA
- Create DataRetention.vue with retention period selectors for closed tickets, attachments, audit logs, and GDPR toggle - Include purge preview showing estimated record counts - Remove redundant global comments that conflict with eslint config
- ArticleEditor component with markdown toolbar - CategoryTree component for nested category display - Admin article CRUD pages with search and filters - Admin category management with inline editing and tree view - Customer KB browser with search and category cards - Customer article detail with feedback buttons - Update eslint config with missing browser globals
- Create EmailSettings.vue with multi-email address configuration, display name, department routing, DKIM status indicators, and default reply address selector
- Create ConditionalFieldRules.vue with rule builder UI for "When [Field] [operator] [Value], show [Target Field]" - Modify CustomFieldRenderer.vue to accept conditions prop and evaluate field visibility based on current form values
- ChartWidget: CSS-based horizontal bar chart component - KpiCard: large number display with trend indicator - Reports Dashboard page with Overview/Agents/SLA/CSAT tabs - Reports.vue enhanced with navigation to sub-reports
- AgentPerformanceCard component with avatar, name, and stats grid - AgentMetrics page with table and card views per agent - Period selector for 7/30/90 day ranges
- Create Index.vue with table of custom objects showing name, slug, field count, record count, and action links - Create Form.vue with dynamic field builder supporting text, number, select, date, and lookup field types - Create Records.vue with dynamic columns, inline CRUD editing
- SlaComplianceChart: horizontal stacked bar showing met vs breached per policy - SlaReport page with KPIs (total tickets, compliance %, breach counts) - Breach details table with ticket reference, subject, policy, and breach type
- Create Sandbox.vue with feature description, status section showing "No sandbox active", and disabled "Create Sandbox" button with "Coming soon" tooltip
- Create ContextPanel.vue as a right-side collapsible panel with slide-in animation and slot-based content - Create ContextPanelSection.vue with title, icon, and collapsible body for organizing panel content - Modify TicketShow.vue to add toggle button and context panel with Customer Info, Related Tickets, and Recent Activity sections, plus a PluginSlot for extensibility
- CsatSettings page: survey question, rating scale (1-3 or 1-5), delivery trigger (on_resolve/delayed/manual), delay hours, live preview - CsatReport page: average rating, response rate, total ratings KPIs, CSAT over time chart, ratings by agent with star display
- Add 24 new component exports to index.js (48 total) - Add 12 new admin nav items: Knowledge Base, Automations, Webhooks, Custom Fields, Statuses, Skills, Roles, Capacity, Business Hours, Audit Log, Custom Objects - Update test expectations from 24 to 48 components, 29 to 53 exports - All 248 tests pass
Set up Storybook 10 with Vue 3 + Tailwind CSS for component visual documentation. Added stories for 10 key components (PriorityBadge, StatusBadge, SlaTimer, StatsCard, KpiCard, AgentLoadIndicator, ActivityTimeline, CollisionWarning, TotpInput, FollowButton) with dark/light theme support via decorator. Created GitHub Actions workflow that builds Storybook, captures screenshots with Playwright, uploads them as PR artifacts, and posts a summary comment.
ddf87c4 to
e8f1097
Compare
e8f1097 to
1ad7df9
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.