Commit Graph

7168 Commits

Author SHA1 Message Date
johnnyq
27c5502de2 Index the per-parent child fetches and the mail queue loop (db 2.7.6) 2026-08-28 00:11:22 -04:00
johnnyq
8f884f789a Cleanup - fix two broken script paths and drop 29 dead/duplicate files (348KB of unused FullCalendar themes) 2026-08-28 00:01:44 -04:00
johnnyq
1119e13e5d restore nice toast alerts 2026-08-27 23:54:04 -04:00
johnnyq
988788b7c0 Add height placeholder to calendar to reduce jankiness on load 2026-08-27 23:50:19 -04:00
johnnyq
f182eec0b1 Fix content area flashing blank on every client page - defer the client delete modal's script so it stops blocking the parser mid-body 2026-08-27 23:26:29 -04:00
johnnyq
1eabf1ec7d Cleanup CSS Drop dead view transitions 2026-08-27 23:10:39 -04:00
johnnyq
0838ed07ec Add indexes on the client-scoped columns (db 2.7.5)
None of the *_client_id columns carried an index, so agent/includes/inc_all_client.php was doing a full table scan per badge count before the page rendered a byte - 27 of them. The main agent context runs 8 counts and the admin context none, which is why the client side nav was the only one that felt slow.

24 indexes, shaped (<entity>_client_id, <entity>_archived_at) where the query pairs the two and the client column alone otherwise. The archived column is always trailing and never an index of its own - on a healthy instance nearly every row has it NULL, so it cannot lead. recurring_tickets, services, invoices, recurring_invoices and calendar_events get a single column because their queries carry no archived filter; invoices is in that group because the money total there spans archived rows on purpose. payments.payment_invoice_id and transfers.transfer_revenue_id are join keys rather than client scoping but sit on the same page's critical path.

Migration checks information_schema.STATISTICS before each ALTER, since MySQL has no ADD INDEX IF NOT EXISTS and re-adding is an error - safe to re-run and safe where an index was added by hand. db.sql carries the same keys so fresh installs skip the update step.

Wider than the side nav: these are the columns clientScopeSql() filters on, so every client-scoped list page was paying for their absence. Expect the ALTERs to be the slow part of the upgrade on a mature instance.
2026-08-27 22:59:14 -04:00
johnnyq
877474b7f0 Speed up client context pages - badge counts are now one query per table instead of one per number (43 -> 27 queries per page load, invoices scanned once instead of eight times) 2026-08-27 22:47:09 -04:00
johnnyq
f980893cb1 Make each page refresh feel less Jenky with Smooth Fade Page Transitions 2026-08-27 22:44:53 -04:00
johnnyq
6d5152d1e6 Fix Tom Select JS Jankiness on page load 2026-08-27 19:06:36 -04:00
johnnyq
131b10eeb0 Fix Active Side nav Highlight 2026-08-27 18:43:14 -04:00
johnnyq
12ed62326a Add Holiday / Closure Days to SLA to pause SLA timer on defined days, also has a US Holiday Importer 2026-08-27 17:58:02 -04:00
johnnyq
32811fd1d2 Security: gate and client-scope the client overview record pages 2026-08-27 15:27:55 -04:00
johnnyq
4e1d72e06d Roll SLA email targets up to business days, escape priority, validate priority in the tickets API 2026-08-27 15:15:40 -04:00
johnnyq
ac175e7dc0 Add SLA response target to ticket created emails, with a call-in note on High and Urgent 2026-08-27 15:03:31 -04:00
johnnyq
855a608ee4 Default to Public reply by default in Ticket Reply 2026-08-27 13:15:15 -04:00
johnnyq
bf04d6a757 Ticket default to Medium Priority unless specified, as this is just good practice 2026-08-27 13:04:19 -04:00
johnnyq
069f587c1d Implemented Check for updates which removs the last shell exec from web ui, and reimplemented db_update switch to update_cli.php 2026-08-26 23:38:23 -04:00
johnnyq
14c38b9814 Remove DB Update from WebUI as this is handled by the update_cli backend 2026-08-26 22:59:17 -04:00
johnnyq
51c925522c Remove thr web updater this is now either queued from the web or ran from the shell to update 2026-08-26 22:53:29 -04:00
johnnyq
93fc6cd2ef Offset background color fix datepciker empty right column 2026-08-26 22:42:20 -04:00
johnnyq
1bebd2d578 Fix Light mode Initialization flash when in dark mode 2026-08-26 22:09:29 -04:00
johnnyq
2409c98e1e Added Border End to clients checkbox column 2026-08-26 15:20:15 -04:00
johnnyq
e637da615e Added More Meaningful nothing matches filters or no records exist 2026-08-26 15:12:16 -04:00
johnnyq
806732c8f5 Display Phone number Country Codes 2026-08-26 14:19:32 -04:00
johnnyq
422f88c25e Retain PHone Country code on edit 2026-08-26 14:11:23 -04:00
johnnyq
96f2c697c6 use intl js lib across all phone number fields 2026-08-26 13:53:27 -04:00
johnnyq
cfafc385f0 Bump intl-tel-input 2026-08-26 13:14:32 -04:00
johnnyq
3d9a41bec4 Bump imapengine from 1.25.4 to 1.25.6 and dependencies 2026-08-26 13:02:29 -04:00
johnnyq
71cfdf5e39 Pruned printer custom css patches as upstream vendor adminlte fixed the issue 2026-08-26 12:33:34 -04:00
johnnyq
6d043948b4 Updated Adminlte from 4.8.5 to 4.9.1 to fix print issues 2026-08-26 12:24:16 -04:00
johnnyq
0440aa8ffa Fix copy to clipboard to be a ntn-link instead of a button fixes adminlte4 regression 2026-08-25 18:42:37 -04:00
johnnyq
c6d642fbe7 Use new lte skin preview class for themes instead of colored circles 2026-08-25 18:31:33 -04:00
johnnyq
d20e3f78d1 Add Margin and remove un needed card surrounding calendar 2026-08-25 18:00:51 -04:00
johnnyq
fdc2a8c2c3 Switch some bg-primary to bg-blue so they are consistent across themes, use new bs5 to reduce width on certain form inputs 2026-08-25 17:44:18 -04:00
johnnyq
4b9c53675c Use AdminLTE4 new nav bar Search class looks great 2026-08-25 17:09:38 -04:00
johnnyq
5cf14ee74b Fix Extra Blank Page when printing, adminlte bug created overide, Do not include cards border on print like adminlte3 and shrink the font on print 2026-08-25 16:56:07 -04:00
johnnyq
4da086206c Prune un-nessary overides in itflow custom css as adminlte 4.8.5 fixed the issues 2026-08-25 16:08:53 -04:00
johnnyq
0843dc94fb Update AdminLTE from 4.7.0 to 4.8.5 and switched adminlte colors to use min version 2026-08-25 15:52:48 -04:00
johnnyq
3a19921edf Add Darkmode support for Sweetalert2 Modals 2026-08-25 15:38:20 -04:00
johnnyq
bd868d8e0a Keep networks side nav active in network IP view 2026-08-25 12:40:55 -04:00
johnnyq
59cb772a7f Revised the network info sidebar, added ip count, prefixed subnet IP in form, ajax check within network 2026-08-25 12:35:34 -04:00
johnnyq
1381add82b Feature: Added network IPs section to document network IP and their hostnames 2026-08-25 12:19:02 -04:00
johnnyq
ffda605195 Add Fake Demo Data Seed stretching over 2 year span 2026-08-24 16:44:09 -04:00
wrongecho
baf1164f08 Notify when mail parser skips an autogenerated ticket 2026-08-20 09:30:43 +01:00
wrongecho
f94181c68f Merge branch 'develop' of https://github.com/itflow-org/itflow into develop 2026-08-20 09:02:17 +01:00
wrongecho
3a64d53ca6 Bug: Fix not being able to open ticket for clients marked as a lead 2026-08-20 09:02:03 +01:00
johnnyq
f2b2082762 css 2026-08-19 13:48:55 -04:00
johnnyq
fc5dc82c29 Bump AdminLTE to 4.7.0 to fix print issues 2026-08-18 18:16:49 -04:00
johnnyq
858acbcd30 Bump AdminLTE which brings back AdminLTE colors 2026-08-18 12:24:31 -04:00