Skip to content

Feature/platform parity#7

Open
mpge wants to merge 35 commits intomainfrom
feature/platform-parity
Open

Feature/platform parity#7
mpge wants to merge 35 commits intomainfrom
feature/platform-parity

Conversation

@mpge
Copy link
Member

@mpge mpge commented Feb 25, 2026

No description provided.

mpge added 8 commits February 24, 2026 22:51
- 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
@github-actions
Copy link

Component Screenshots

Captured 14 component screenshots from Storybook.

Download the full set from the component-screenshots artifact in the workflow run.

Screenshot list
  • ActivityTimeline-Default
  • ActivityTimeline-Empty
  • AgentLoadIndicator-AllLevels
  • CollisionWarning-SingleTyper
  • CollisionWarning-TwoTypers
  • FollowButton-Following
  • FollowButton-NotFollowing
  • KpiCard-DashboardRow
  • PriorityBadge-AllPriorities
  • SlaTimer-AllStates
  • StatsCard-DashboardGrid
  • StatusBadge-AllStatuses
  • StatusBadge-CustomStatus
  • TotpInput-Empty

mpge added 21 commits February 25, 2026 00:43
- 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
mpge added 5 commits February 25, 2026 00:43
- 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.
@mpge mpge force-pushed the feature/platform-parity branch from ddf87c4 to e8f1097 Compare February 25, 2026 05:43
@mpge mpge force-pushed the feature/platform-parity branch from e8f1097 to 1ad7df9 Compare February 25, 2026 05:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant