This website requires JavaScript.
c4e48328ee
Add a separate "From" address for mailboxes that can't send as their own login
main
ogrechko and Claude Sonnet 5
2026-10-07 10:02:24 +00:00
b92d9801ff
Surface channel delivery failures on agent replies instead of swallowing them
ogrechko and Claude Sonnet 5
2026-10-07 08:26:54 +00:00
8d1f91187a
Fix dark-mode email readability, silent reply failures, and add an IMAP connection watchdog
ogrechko and Claude Sonnet 5
2026-10-07 07:24:14 +00:00
93e17c37c7
Fix LDAP directory import: paginate past server size limits, stop leaking bind password into error messages
ogrechko and Claude Sonnet 5
2026-10-07 07:14:07 +00:00
d54107d722
Pin an explicit Docker network subnet
ogrechko and Claude Sonnet 5
2026-09-09 06:42:45 +00:00
ec3ab6a25f
Pin explicit Compose project name
ogrechko and Claude Sonnet 5
2026-09-09 06:20:52 +00:00
e42fd4697f
Add mobile bottom nav + PWA installability
ogrechko and Claude Sonnet 5
2026-09-07 07:58:52 +00:00
f5e49b5c53
Let users see and unsubscribe their own push devices
ogrechko and Claude Sonnet 5
2026-09-07 06:49:34 +00:00
4d393aec91
Add bulk status change for tickets on the board
ogrechko and Claude Sonnet 5
2026-09-07 05:42:10 +00:00
99927aea0b
Stop merging unrelated emails into a customer's other open ticket
ogrechko and Claude Sonnet 5
2026-09-07 05:22:29 +00:00
d96e354e63
Prevent horizontal overflow on mobile (overflow-x: hidden on html/body)
ogrechko
2026-08-27 18:59:52 +00:00
d9eaed41e0
Dashboard: show ticket assignee on cards, widen layout to use the screen better
ogrechko and Claude Sonnet 5
2026-08-21 06:01:52 +00:00
1a31f72dd8
Extend TOTP 2FA to LDAP accounts; disable now requires a code, not a password
ogrechko and Claude Sonnet 5
2026-08-20 08:53:51 +00:00
4ecb0e7698
Add opt-in TOTP 2FA for local accounts
ogrechko and Claude Sonnet 5
2026-08-20 08:25:15 +00:00
95522fdedd
Fix data-URI screenshots not opening on click (Chrome blocks data: URL navigation)
ogrechko and Claude Sonnet 5
2026-08-19 09:07:40 +00:00
1a09903326
Make inline email images clickable — open full resolution in a new tab
ogrechko and Claude Sonnet 5
2026-08-19 08:43:19 +00:00
cabcc0b1d4
Fix inline email images showing twice (once in the body, once as a chip)
ogrechko and Claude Sonnet 5
2026-08-19 08:28:06 +00:00
b11ec711c5
Dashboard tag filter now covers every tag, not just ones already in use; add a default tag
ogrechko and Claude Sonnet 5
2026-08-19 08:09:14 +00:00
5af360fd15
Support attaching a file / pasting a screenshot when creating a new ticket
ogrechko and Claude Sonnet 5
2026-08-19 07:54:23 +00:00
955fdeee41
Preserve email formatting in ticket display; paste-to-attach screenshots in replies
ogrechko and Claude Sonnet 5
2026-08-19 07:40:19 +00:00
019f4a1b53
Merge Gitea-restored history (identical tree) with local notification fix
ogrechko
2026-08-14 05:52:07 +00:00
b2534b7ce8
Fix duplicate new-ticket notification (toast + desktop push both fired)
ogrechko
2026-08-14 05:50:29 +00:00
52ca317e9c
Restore from Gitea ZIP snapshot (12.08.2026) after full instance reinstall
Claude Sonnet 5
2026-08-12 19:24:03 +00:00
87cf045715
Fix garbled ticket text from HTML emails (Outlook VML/entities)
ogrechko
2026-08-10 13:53:19 +00:00
8844323cad
Fix invisible bars in the 14-day tickets chart
ogrechko and Claude Sonnet 5
2026-08-08 13:07:09 +00:00
bae653b7a9
Split agent workload chart on /stats into one chart per status
ogrechko and Claude Sonnet 5
2026-08-08 12:27:54 +00:00
fcf8511ac7
Count agent workload stats across all statuses, sorted by count
ogrechko and Claude Sonnet 5
2026-08-08 12:16:58 +00:00
3416d82d4f
Add console logging to the push subscription flow for remote diagnosis
ogrechko and Claude Sonnet 5
2026-08-08 00:25:12 +00:00
1dcf5a15a5
Fix light theme reverting to dark on full page reload
ogrechko and Claude Sonnet 5
2026-08-07 23:34:01 +00:00
71c0689af9
Fix server crashes from unhandled push-notification errors
ogrechko and Claude Sonnet 5
2026-08-07 23:26:06 +00:00
b9a247c21c
Add Web Push notifications for backgrounded/frozen browser tabs
ogrechko and Claude Sonnet 5
2026-08-07 19:30:27 +00:00
6ddbc7e981
Keep re-unlocking audio, not just once, and actually await resume()
ogrechko and Claude Sonnet 5
2026-08-07 13:54:35 +00:00
e8bfbe4168
Force periodic SSE reconnection to bound silent-connection blind spots
ogrechko and Claude Sonnet 5
2026-08-07 13:29:23 +00:00
4a0f7960ff
Fix silent chime: reuse one AudioContext, unlocked on first user gesture
ogrechko and Claude Sonnet 5
2026-08-07 12:26:25 +00:00
4424883496
Fix realtime notifications: event bus wasn't a real singleton in production
ogrechko and Claude Sonnet 5
2026-08-07 12:01:56 +00:00
681f89000f
Make internal notes admin-only, close a direct-URL ticket access gap
ogrechko and Claude Sonnet 5
2026-08-05 18:22:46 +00:00
ed636bdbd5
Restrict agent ticket visibility to strictly their own assigned tickets
ogrechko and Claude Sonnet 5
2026-08-05 18:05:01 +00:00
69467239ed
Header redesign, sound/toast notifications, and agent scoping
ogrechko and Claude Sonnet 5
2026-08-05 12:50:54 +00:00
c32888981c
Fix LDAP login hang by routing it through ldapsearch too
ogrechko and Claude Sonnet 5
2026-08-05 12:00:52 +00:00
b8ca595d34
Shell out to ldapsearch for the directory browse instead of ldapjs
ogrechko and Claude Sonnet 5
2026-08-05 11:41:26 +00:00
cb20d9eea5
Drop RFC 2696 paging now that the response is attribute-limited
ogrechko and Claude Sonnet 5
2026-08-05 11:32:21 +00:00
1e8133ee39
Request only mail/cn/displayName from LDAP instead of every attribute
ogrechko and Claude Sonnet 5
2026-08-05 11:18:57 +00:00
2a505da975
Surface ldapjs's real parser/error cause instead of a generic "closed"
ogrechko and Claude Sonnet 5
2026-08-05 11:04:22 +00:00
a40723b61b
Use paged (RFC 2696) LDAP search for the directory-wide import browse
ogrechko and Claude Sonnet 5
2026-08-05 10:45:52 +00:00
12e547d71e
Migrate before build, not just before start, to fix build-time SQLITE_BUSY
ogrechko and Claude Sonnet 5
2026-08-05 10:26:34 +00:00
f9128499df
Raise LDAP client timeout for the directory-wide import browse
ogrechko and Claude Sonnet 5
2026-08-05 10:19:39 +00:00
14fe8c0445
Fix silent login failure on infra without HTTPS yet, and build-time SQLITE_BUSY
ogrechko and Claude Sonnet 5
2026-08-05 07:47:22 +00:00
fa7bda7a0f
Bump build-time SQLITE_BUSY timeout from 5s to 30s
ogrechko and Claude Sonnet 5
2026-07-31 16:44:38 +00:00
904f09ff09
Add LDAP login for the customer portal as a backup to the personal link
ogrechko and Claude Sonnet 5
2026-07-31 16:43:29 +00:00
cb12711e91
Add account management and LDAP login
ogrechko and Claude Sonnet 5
2026-07-27 08:56:08 +00:00
8121d8aa51
Add busy_timeout pragma to avoid SQLITE_BUSY during docker build
ogrechko and Claude Sonnet 5
2026-07-26 17:34:48 +00:00
89b9c5eaac
Deferred backlog: attachments, canned responses, tags, search, notifications, password change
ogrechko and Claude Sonnet 5
2026-07-26 17:32:12 +00:00
7947633709
Simplify top nav: 2 links + gear menu for settings
ogrechko and Claude Sonnet 5
2026-07-26 15:24:26 +00:00
cda92de9d2
Mobile-responsive admin nav/thread header, real dark theme pass
ogrechko and Claude Sonnet 5
2026-07-26 15:10:57 +00:00
9f1413f0b9
Design overhaul, stats page, internal notes
ogrechko and Claude Sonnet 5
2026-07-26 14:38:52 +00:00
4efce5f307
Add embeddable chat widget for websites
ogrechko and Claude Sonnet 5
2026-07-26 13:34:08 +00:00
59e6c32d79
Fix IMAP idle loop: react to 'exists' event, not idle() resolution
ogrechko and Claude Sonnet 5
2026-07-26 13:11:21 +00:00
7e62ed739b
Add email channel: IMAP IDLE inbound, SMTP outbound, thread matching
ogrechko and Claude Sonnet 5
2026-07-26 13:01:21 +00:00
cf0b6cf58e
MVP-1: helpdesk core with dashboard, Telegram channel, customer portal
ogrechko and Claude Sonnet 5
2026-07-26 12:40:56 +00:00
888b7b82ba
Initial commit
ogrechko
2026-07-26 11:44:15 +00:00