2026-08-26 - 2026-09-26

Overview

0 Active Pull Requests
93 Active Issues
Excluding merges, 1 author has pushed 1 commit to main and 92 commits to all branches. On main, 2 files have changed and there have been 6 additions and 1 deletion.

24 Releases published by 1 user

Published deploy-2026.09.26-272 2026-09-26 17:18:13 -04:00

Published deploy-2026.09.25-268 2026-09-25 16:42:16 -04:00

Published deploy-2026.09.25-264 2026-09-25 15:50:42 -04:00

Published deploy-2026.09.24-258 2026-09-24 19:32:07 -04:00

Published deploy-2026.09.24-254 2026-09-24 19:24:08 -04:00

Published deploy-2026.09.12-242 2026-09-12 01:24:35 -04:00

Published deploy-2026.09.12-238 2026-09-12 01:02:14 -04:00

Published deploy-2026.09.12-234 2026-09-11 22:29:11 -04:00

Published deploy-2026.09.12-230 2026-09-11 22:22:36 -04:00

Published deploy-2026.09.12-226 2026-09-11 22:00:44 -04:00

Published deploy-2026.09.12-222 2026-09-11 21:48:02 -04:00

Published deploy-2026.09.11-218 2026-09-11 15:23:06 -04:00

Published deploy-2026.09.11-214 2026-09-11 14:52:35 -04:00

Published deploy-2026.09.11-210 2026-09-11 14:15:24 -04:00

Published deploy-2026.09.11-206 2026-09-11 13:53:01 -04:00

Published deploy-2026.09.11-202 2026-09-11 13:21:03 -04:00

Published deploy-2026.09.11-198 2026-09-11 12:46:55 -04:00

Published deploy-2026.09.11-194 2026-09-11 12:28:43 -04:00

Published deploy-2026.09.11-190 2026-09-11 11:57:45 -04:00

Published deploy-2026.09.11-186 2026-09-11 11:32:27 -04:00

Published deploy-2026.09.09-182 2026-09-08 21:36:32 -04:00

Published deploy-2026.09.09-178 2026-09-08 21:22:10 -04:00

Published deploy-2026.09.08-172 2026-09-08 15:42:40 -04:00

Published deploy-2026.09.01-163 2026-08-31 21:15:30 -04:00

93 Issues closed from 1 user

Closed #113 MCP: ticket links (dependencies/duplicates) and similar-ticket search 2026-09-26 17:18:48 -04:00

Closed #112 Ticket pages are giving a 500, maybe due to the mcp server deployment? 2026-09-25 15:54:02 -04:00

Closed #111 Remote MCP server with OAuth (Authelia) so Claude Code can use Tinker Tickets as the signed-in user 2026-09-24 19:27:00 -04:00

Closed #78 Failed Matrix webhook posts are logged but never retried — confirm this best-effort design is intentional 2026-09-12 01:21:15 -04:00

Closed #70 Bearer read-scope API keys bypass ticket visibility entirely — confirm this is an intentional, documented decision 2026-09-12 01:21:14 -04:00

Closed #93 Watch/unwatch actions are never logged to audit_log 2026-09-12 01:21:14 -04:00

Closed #95 LDAP bind credentials transmitted in plaintext (no TLS) 2026-09-12 01:02:18 -04:00

Closed #110 chartStatus should be reworked to be just currently open, pending, in progress tickets as a breakdown as over time closed will take up 99% of it. 2026-09-11 22:26:48 -04:00

Closed #49 User Activity report: "Tickets Assigned" column filters by ticket creation date, not assignment date 2026-09-11 22:20:13 -04:00

Closed #98 Attachment 'thumbnails' are the full-size original image — no actual resized thumbnail is ever generated 2026-09-11 22:20:13 -04:00

Closed #33 Bulk operations aren't actually atomic despite the docblock claiming so 2026-09-11 21:58:59 -04:00

Closed #36 Bulk-action buttons have no double-submit guard 2026-09-11 21:58:59 -04:00

Closed #34 Bulk operations: TOCTOU race on ticket status used for workflow validation 2026-09-11 21:50:57 -04:00

Closed #35 create_ticket_api.php: dedup/escalation race can duplicate notifications or drop a real escalation 2026-09-11 21:50:57 -04:00

Closed #37 Required-comment status-change flow isn't transactional (client and server) 2026-09-11 21:50:57 -04:00

Closed #109 No toolbar button inserts table syntax, despite README describing table rendering as a feature 2026-09-11 15:20:23 -04:00

Closed #43 base.js: unused lt.markdown module has no URL-protocol allowlist on links — latent stored-XSS trap 2026-09-11 15:20:22 -04:00

Closed #44 ESLint: ~20 empty catch blocks and ~6 loose equality comparisons in assets/js/ 2026-09-11 15:20:22 -04:00

Closed #45 README.md Project Structure tree is stale (missing error views, config/requirements.php, migration 001) 2026-09-11 15:20:22 -04:00

Closed #108 No debounce on the live markdown preview — full parser re-runs on every keystroke 2026-09-11 14:49:57 -04:00

Closed #62 Workflow Designer allows duplicate transition rows that silently override each other non-deterministically 2026-09-11 14:49:56 -04:00

Closed #88 Recurring ticket: a creation failure after claiming a schedule silently and permanently loses that occurrence 2026-09-11 14:49:56 -04:00

Closed #58 Advanced Search silently drops filters it doesn't represent, on submit 2026-09-11 14:49:55 -04:00

Closed #87 Comment edits never appear on the ticket's own Activity Timeline — missing ticket_id in audit log details 2026-09-11 14:12:02 -04:00

Closed #83 Every Bearer API request unnecessarily starts a new PHP session 2026-09-11 14:12:01 -04:00

Closed #80 RATE_LIMIT_DEFAULT/RATE_LIMIT_API config keys are dead — editing them in .env has zero effect 2026-09-11 14:12:00 -04:00

Closed #81 Bearer API endpoints are rate-limited purely by shared IP, not by API key — one key can starve another 2026-09-11 14:12:00 -04:00

Closed #82 X-RateLimit-* response headers are misleading for Bearer/API-key clients 2026-09-11 14:12:00 -04:00

Closed #77 Matrix webhook calls are synchronous with no connect-timeout — worst case ~30s added to a single comment's response time 2026-09-11 14:11:59 -04:00

Closed #86 CSRF resync updates the token but never auto-retries the failed request — every stale-token case surfaces a user-visible error first 2026-09-11 13:48:33 -04:00

Closed #57 Notification bell uses raw fetch() instead of lt.api, breaking CSRF token resync 2026-09-11 13:48:32 -04:00

Closed #73 Watchers are never pruned when a ticket's visibility is tightened 2026-09-11 13:48:32 -04:00

Closed #48 api/notifications.php: in-app notifications don't re-check current ticket visibility 2026-09-11 13:48:31 -04:00

Closed #50 Custom field values have no server-side validation against field_type or select options 2026-09-11 13:48:31 -04:00

Closed #47 Custom Fields feature is entirely disconnected from ticket creation/editing/viewing 2026-09-11 13:17:43 -04:00

Closed #68 hwmonDaemon 'reopen closed duplicate' path bypasses Workflow Designer validation entirely via raw SQL 2026-09-11 12:44:17 -04:00

Closed #74 Bulk-operation audit_log entries use a different shape than every other status-change path, breaking the timeline and in-app notifications 2026-09-11 12:44:17 -04:00

Closed #67 Bulk operations never fire Matrix/watcher notifications for status changes 2026-09-11 12:44:16 -04:00

Closed #56 Stale sessions never re-sync privileges from Authelia (revoked admin keeps access up to 5h) 2026-09-11 12:24:00 -04:00

Closed #105 App has no styled 500/fatal-error page — ErrorHandler is wired into essentially nothing 2026-09-11 12:24:00 -04:00

Closed #38 ErrorHandler.php documented as global but only wired into 1 of 33 API endpoints 2026-09-11 12:23:59 -04:00

Closed #39 13 of 33 API endpoints never disable display_errors — potential stack-trace leak 2026-09-11 12:23:59 -04:00

Closed #85 12 of ~16 hand-rolled CSRF checks omit csrf_token from their rejection response, breaking client-side resync app-wide 2026-09-11 11:54:45 -04:00

Closed #94 TRUSTED_PROXIES ships empty/disabled by default — full admin-impersonation risk if not explicitly configured 2026-09-11 11:54:45 -04:00

Closed #103 index.php and create_ticket_api.php use their own raw mysqli connections instead of Database::getConnection() — missing charset/timezone sync on most page traffic 2026-09-11 11:54:45 -04:00

Closed #104 DB connection failure leaks raw mysqli error text to any unauthenticated visitor 2026-09-11 11:54:45 -04:00

Closed #72 sendAssignmentNotification() has the same missing-visibility-check gap as #46 2026-09-11 11:27:08 -04:00

Closed #69 @mention notifications leak confidential/internal ticket content to users with no access — worse than #46 2026-09-11 11:27:07 -04:00

Closed #71 notifyWatchers() only half-redacts for non-public tickets — title and shared notify-list still leak 2026-09-11 11:27:07 -04:00

Closed #46 Confidential/internal ticket titles leak to Matrix on create/status-change (NotificationHelper missing visibility check) 2026-09-11 11:27:06 -04:00

Closed #32 ticket_watchers: ticket_id type mismatch (int vs varchar) and missing FK to tickets 2026-09-08 21:33:43 -04:00

Closed #27 create_ticket_api.php: no rate limiting on external Bearer-key endpoint 2026-09-08 21:33:42 -04:00

Closed #28 TicketModel: visibility-filter group matching disagrees with single-ticket access check 2026-09-08 21:33:42 -04:00

Closed #30 migrate.php: transaction wrapping around DDL is illusory, failed migration can wedge the runner 2026-09-08 21:33:42 -04:00

Closed #64 SLA priority-alert banner doesn't update when priority changes without a page reload 2026-09-08 21:18:23 -04:00

Closed #99 download_attachment.php has no HTTP Range/partial-content support 2026-09-08 21:18:23 -04:00

Closed #100 Attachment listing is completely unpaginated 2026-09-08 21:18:23 -04:00

Closed #76 Two different 'clear filters' controls clear disjoint sets — no single click fully resets the dashboard 2026-09-08 21:18:22 -04:00

Closed #101 Dashboard stats/chart minor cleanup: missing empty-state message, dead duplicate click-handler, dead computed field 2026-09-08 20:46:44 -04:00

Closed #102 Dashboard 'Quick Assign' is completely non-functional — wrong callback contract 2026-09-08 20:46:44 -04:00

Closed #106 Requirements checker never verifies memory_limit/max_execution_time are set to sane values 2026-09-08 20:46:44 -04:00

Closed #107 Markdown toolbar buttons clear the textarea's native undo/redo history 2026-09-08 20:46:44 -04:00

Closed #92 README Dev Note #24's StatsModel invalidation caller list is missing an 8th caller (documentation gap, behavior is correct) 2026-09-08 20:46:43 -04:00

Closed #96 Concurrent first-time logins for a brand-new user can throw an uncaught exception 2026-09-08 20:46:43 -04:00

Closed #97 Image attachments retain EXIF metadata (including GPS location) — served back verbatim to any user with ticket access 2026-09-08 20:46:43 -04:00

Closed #89 Re-enabling a paused recurring schedule fires immediately instead of resuming from 'now' 2026-09-08 20:46:42 -04:00

Closed #90 RecurringTicketModel::updateAfterRun() is dead code lacking the double-fire race guard of the method that replaced it 2026-09-08 20:46:42 -04:00

Closed #91 StatsModel: narrow dogpile cache-overwrite race can extend stale stats up to another full TTL after invalidation 2026-09-08 20:46:42 -04:00

Closed #79 dashboard.js: dead code — write-only localStorage key and unused sortTable() function 2026-09-08 20:46:41 -04:00

Closed #84 In-app notification title formatter assumes every ticket update is a status change — breaks for title/priority/description/category/type/visibility edits 2026-09-08 20:46:41 -04:00

Closed #65 Kanban drag-and-drop has no touch-event fallback — unusable on mobile despite README's "Touch-friendly controls" claim 2026-09-08 20:46:40 -04:00

Closed #66 cleanup_audit_log.php: unbounded single-statement DELETE risks lock contention on a large backlog 2026-09-08 20:46:40 -04:00

Closed #75 'Clear All Filters' button silently does nothing to any active date-range filter 2026-09-08 20:46:40 -04:00

Closed #60 Attachment thumbnail decision uses filename extension instead of server-verified MIME type 2026-09-08 20:46:39 -04:00

Closed #61 Advanced Search priority range and date range have no min≤max validation 2026-09-08 20:46:39 -04:00

Closed #63 .env.example is missing 5 environment variables that config.php reads and README documents 2026-09-08 20:46:39 -04:00

Closed #54 helpers/OutputHelper.php is dead code despite being documented as part of the security architecture 2026-09-08 20:46:38 -04:00

Closed #55 No per-ticket or per-user attachment count/storage quota 2026-09-08 20:46:38 -04:00

Closed #59 Notification bell polling ignores tab visibility and has no backoff 2026-09-08 20:46:38 -04:00

Closed #52 User Activity report: "Last Activity" column ignores the selected date-range filter 2026-09-08 20:46:37 -04:00

Closed #53 CreateTicketView.php uses raw browser confirm() instead of the project's showConfirmModal() convention 2026-09-08 20:46:37 -04:00

Closed #41 Collation inconsistency: saved_filters and ticket_attachments use utf8mb4_unicode_ci instead of the documented utf8mb4_general_ci convention 2026-09-08 20:46:36 -04:00

Closed #42 api/get_users.php: unrestricted user enumeration, no pagination or admin gate 2026-09-08 20:46:36 -04:00

Closed #51 Ticket dependency duplicate-check misses the semantic inverse relationship 2026-09-08 20:46:36 -04:00

Closed #29 Dashboard chart click-to-filter discards other active filters 2026-09-08 20:46:35 -04:00

Closed #31 Avatar color hash has drifted between PHP (crc32) and JS (custom hash) — same user shows different colors 2026-09-08 20:46:35 -04:00

Closed #40 Inconsistent FK ON DELETE behavior: bulk_operations.performed_by and ticket_templates.created_by default to RESTRICT 2026-09-08 20:46:35 -04:00

Closed #18 comment markdown not saving post reload sometimes 2026-08-31 21:08:42 -04:00

Closed #20 when closing a ticket and it asks for a comment, if you just close the modal then it still closes the ticket without a comment on the screen until you refresh where it then shows it still open. 2026-08-31 21:05:44 -04:00

Closed #21 When changing the status of a ticket from the bulk edit dashboard it doesn't take the workflow designer into account such as requiring a comment etc.. 2026-08-31 21:05:44 -04:00

Closed #22 When selecting the bars in the charts on the dashboard it should filter the page to that statistic 2026-08-31 21:05:44 -04:00

Closed #23 the on hover of a ticket id while on the dashboard in light mode shows in dark mode. 2026-08-31 21:05:44 -04:00

Closed #19 status change dropdown in lightmode shows as darkmode 2026-08-31 21:05:43 -04:00

87 Issues created by 0 users

Opened #27 create_ticket_api.php: no rate limiting on external Bearer-key endpoint 2026-08-31 21:29:38 -04:00

Opened #28 TicketModel: visibility-filter group matching disagrees with single-ticket access check 2026-08-31 21:29:39 -04:00

Opened #29 Dashboard chart click-to-filter discards other active filters 2026-08-31 21:29:39 -04:00

Opened #30 migrate.php: transaction wrapping around DDL is illusory, failed migration can wedge the runner 2026-08-31 21:29:40 -04:00

Opened #31 Avatar color hash has drifted between PHP (crc32) and JS (custom hash) — same user shows different colors 2026-08-31 21:29:41 -04:00

Opened #32 ticket_watchers: ticket_id type mismatch (int vs varchar) and missing FK to tickets 2026-08-31 21:29:41 -04:00

Opened #33 Bulk operations aren't actually atomic despite the docblock claiming so 2026-08-31 21:29:42 -04:00

Opened #34 Bulk operations: TOCTOU race on ticket status used for workflow validation 2026-08-31 21:29:43 -04:00

Opened #35 create_ticket_api.php: dedup/escalation race can duplicate notifications or drop a real escalation 2026-08-31 21:29:43 -04:00

Opened #36 Bulk-action buttons have no double-submit guard 2026-08-31 21:29:43 -04:00

Opened #37 Required-comment status-change flow isn't transactional (client and server) 2026-08-31 21:29:44 -04:00

Opened #38 ErrorHandler.php documented as global but only wired into 1 of 33 API endpoints 2026-08-31 21:29:45 -04:00

Opened #39 13 of 33 API endpoints never disable display_errors — potential stack-trace leak 2026-08-31 21:29:45 -04:00

Opened #40 Inconsistent FK ON DELETE behavior: bulk_operations.performed_by and ticket_templates.created_by default to RESTRICT 2026-08-31 21:29:46 -04:00

Opened #41 Collation inconsistency: saved_filters and ticket_attachments use utf8mb4_unicode_ci instead of the documented utf8mb4_general_ci convention 2026-08-31 21:29:46 -04:00

Opened #42 api/get_users.php: unrestricted user enumeration, no pagination or admin gate 2026-08-31 21:29:47 -04:00

Opened #43 base.js: unused lt.markdown module has no URL-protocol allowlist on links — latent stored-XSS trap 2026-08-31 21:29:47 -04:00

Opened #44 ESLint: ~20 empty catch blocks and ~6 loose equality comparisons in assets/js/ 2026-08-31 21:29:48 -04:00

Opened #45 README.md Project Structure tree is stale (missing error views, config/requirements.php, migration 001) 2026-08-31 21:29:48 -04:00

Opened #46 Confidential/internal ticket titles leak to Matrix on create/status-change (NotificationHelper missing visibility check) 2026-08-31 21:36:16 -04:00

Opened #47 Custom Fields feature is entirely disconnected from ticket creation/editing/viewing 2026-08-31 21:36:16 -04:00

Opened #48 api/notifications.php: in-app notifications don't re-check current ticket visibility 2026-08-31 21:36:17 -04:00

Opened #49 User Activity report: "Tickets Assigned" column filters by ticket creation date, not assignment date 2026-08-31 21:36:17 -04:00

Opened #50 Custom field values have no server-side validation against field_type or select options 2026-08-31 21:36:18 -04:00

Opened #51 Ticket dependency duplicate-check misses the semantic inverse relationship 2026-08-31 21:36:19 -04:00

Opened #52 User Activity report: "Last Activity" column ignores the selected date-range filter 2026-08-31 21:36:19 -04:00

Opened #53 CreateTicketView.php uses raw browser confirm() instead of the project's showConfirmModal() convention 2026-08-31 21:36:20 -04:00

Opened #54 helpers/OutputHelper.php is dead code despite being documented as part of the security architecture 2026-08-31 21:36:21 -04:00

Opened #55 No per-ticket or per-user attachment count/storage quota 2026-08-31 21:36:21 -04:00

Opened #56 Stale sessions never re-sync privileges from Authelia (revoked admin keeps access up to 5h) 2026-08-31 21:40:09 -04:00

Opened #57 Notification bell uses raw fetch() instead of lt.api, breaking CSRF token resync 2026-08-31 21:40:10 -04:00

Opened #58 Advanced Search silently drops filters it doesn't represent, on submit 2026-08-31 21:40:10 -04:00

Opened #59 Notification bell polling ignores tab visibility and has no backoff 2026-08-31 21:40:11 -04:00

Opened #60 Attachment thumbnail decision uses filename extension instead of server-verified MIME type 2026-08-31 21:40:12 -04:00

Opened #61 Advanced Search priority range and date range have no min≤max validation 2026-08-31 21:40:12 -04:00

Opened #62 Workflow Designer allows duplicate transition rows that silently override each other non-deterministically 2026-08-31 23:57:36 -04:00

Opened #63 .env.example is missing 5 environment variables that config.php reads and README documents 2026-08-31 23:57:36 -04:00

Opened #64 SLA priority-alert banner doesn't update when priority changes without a page reload 2026-08-31 23:57:37 -04:00

Opened #65 Kanban drag-and-drop has no touch-event fallback — unusable on mobile despite README's "Touch-friendly controls" claim 2026-08-31 23:57:37 -04:00

Opened #66 cleanup_audit_log.php: unbounded single-statement DELETE risks lock contention on a large backlog 2026-08-31 23:57:38 -04:00

Opened #67 Bulk operations never fire Matrix/watcher notifications for status changes 2026-09-01 00:07:07 -04:00

Opened #68 hwmonDaemon 'reopen closed duplicate' path bypasses Workflow Designer validation entirely via raw SQL 2026-09-01 00:07:08 -04:00

Opened #69 @mention notifications leak confidential/internal ticket content to users with no access — worse than #46 2026-09-01 00:07:08 -04:00

Opened #70 Bearer read-scope API keys bypass ticket visibility entirely — confirm this is an intentional, documented decision 2026-09-01 00:07:09 -04:00

Opened #71 notifyWatchers() only half-redacts for non-public tickets — title and shared notify-list still leak 2026-09-01 00:07:09 -04:00

Opened #72 sendAssignmentNotification() has the same missing-visibility-check gap as #46 2026-09-01 00:07:10 -04:00

Opened #73 Watchers are never pruned when a ticket's visibility is tightened 2026-09-01 00:07:10 -04:00

Opened #74 Bulk-operation audit_log entries use a different shape than every other status-change path, breaking the timeline and in-app notifications 2026-09-01 00:07:11 -04:00

Opened #75 'Clear All Filters' button silently does nothing to any active date-range filter 2026-09-01 00:07:11 -04:00

Opened #76 Two different 'clear filters' controls clear disjoint sets — no single click fully resets the dashboard 2026-09-01 00:07:12 -04:00

Opened #77 Matrix webhook calls are synchronous with no connect-timeout — worst case ~30s added to a single comment's response time 2026-09-01 00:07:12 -04:00

Opened #78 Failed Matrix webhook posts are logged but never retried — confirm this best-effort design is intentional 2026-09-01 00:07:13 -04:00

Opened #79 dashboard.js: dead code — write-only localStorage key and unused sortTable() function 2026-09-01 00:07:13 -04:00

Opened #80 RATE_LIMIT_DEFAULT/RATE_LIMIT_API config keys are dead — editing them in .env has zero effect 2026-09-01 00:07:14 -04:00

Opened #81 Bearer API endpoints are rate-limited purely by shared IP, not by API key — one key can starve another 2026-09-01 00:07:14 -04:00

Opened #82 X-RateLimit-* response headers are misleading for Bearer/API-key clients 2026-09-01 00:07:14 -04:00

Opened #83 Every Bearer API request unnecessarily starts a new PHP session 2026-09-01 00:07:15 -04:00

Opened #84 In-app notification title formatter assumes every ticket update is a status change — breaks for title/priority/description/category/type/visibility edits 2026-09-01 00:08:16 -04:00

Opened #85 12 of ~16 hand-rolled CSRF checks omit csrf_token from their rejection response, breaking client-side resync app-wide 2026-09-01 00:08:16 -04:00

Opened #86 CSRF resync updates the token but never auto-retries the failed request — every stale-token case surfaces a user-visible error first 2026-09-01 00:08:17 -04:00

Opened #87 Comment edits never appear on the ticket's own Activity Timeline — missing ticket_id in audit log details 2026-09-01 00:08:18 -04:00

Opened #88 Recurring ticket: a creation failure after claiming a schedule silently and permanently loses that occurrence 2026-09-01 00:08:18 -04:00

Opened #89 Re-enabling a paused recurring schedule fires immediately instead of resuming from 'now' 2026-09-01 00:08:19 -04:00

Opened #90 RecurringTicketModel::updateAfterRun() is dead code lacking the double-fire race guard of the method that replaced it 2026-09-01 00:08:19 -04:00

Opened #91 StatsModel: narrow dogpile cache-overwrite race can extend stale stats up to another full TTL after invalidation 2026-09-01 00:08:20 -04:00

Opened #92 README Dev Note #24's StatsModel invalidation caller list is missing an 8th caller (documentation gap, behavior is correct) 2026-09-01 00:08:20 -04:00

Opened #93 Watch/unwatch actions are never logged to audit_log 2026-09-01 00:08:21 -04:00

Opened #94 TRUSTED_PROXIES ships empty/disabled by default — full admin-impersonation risk if not explicitly configured 2026-09-01 00:13:36 -04:00

Opened #95 LDAP bind credentials transmitted in plaintext (no TLS) 2026-09-01 00:13:37 -04:00

Opened #96 Concurrent first-time logins for a brand-new user can throw an uncaught exception 2026-09-01 00:13:37 -04:00

Opened #97 Image attachments retain EXIF metadata (including GPS location) — served back verbatim to any user with ticket access 2026-09-01 00:13:38 -04:00

Opened #98 Attachment 'thumbnails' are the full-size original image — no actual resized thumbnail is ever generated 2026-09-01 00:13:38 -04:00

Opened #99 download_attachment.php has no HTTP Range/partial-content support 2026-09-01 00:13:38 -04:00

Opened #100 Attachment listing is completely unpaginated 2026-09-01 00:13:39 -04:00

Opened #101 Dashboard stats/chart minor cleanup: missing empty-state message, dead duplicate click-handler, dead computed field 2026-09-01 00:13:39 -04:00

Opened #102 Dashboard 'Quick Assign' is completely non-functional — wrong callback contract 2026-09-01 00:21:11 -04:00

Opened #103 index.php and create_ticket_api.php use their own raw mysqli connections instead of Database::getConnection() — missing charset/timezone sync on most page traffic 2026-09-01 00:21:11 -04:00

Opened #104 DB connection failure leaks raw mysqli error text to any unauthenticated visitor 2026-09-01 00:21:12 -04:00

Opened #105 App has no styled 500/fatal-error page — ErrorHandler is wired into essentially nothing 2026-09-01 00:21:13 -04:00

Opened #106 Requirements checker never verifies memory_limit/max_execution_time are set to sane values 2026-09-01 00:21:13 -04:00

Opened #107 Markdown toolbar buttons clear the textarea's native undo/redo history 2026-09-01 00:21:14 -04:00

Opened #108 No debounce on the live markdown preview — full parser re-runs on every keystroke 2026-09-01 00:21:14 -04:00

Opened #109 No toolbar button inserts table syntax, despite README describing table rendering as a feature 2026-09-01 00:21:15 -04:00

Opened #110 chartStatus should be reworked to be just currently open, pending, in progress tickets as a breakdown as over time closed will take up 99% of it. 2026-09-11 12:27:31 -04:00

Opened #111 Remote MCP server with OAuth (Authelia) so Claude Code can use Tinker Tickets as the signed-in user 2026-09-24 13:03:42 -04:00

Opened #112 Ticket pages are giving a 500, maybe due to the mcp server deployment? 2026-09-25 01:05:36 -04:00

Opened #113 MCP: ticket links (dependencies/duplicates) and similar-ticket search 2026-09-26 17:07:52 -04:00