rails_error_dashboard 0.14.4 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +19 -8
- data/app/controllers/rails_error_dashboard/application_controller.rb +28 -4
- data/app/controllers/rails_error_dashboard/errors_controller.rb +97 -4
- data/app/controllers/rails_error_dashboard/health_controller.rb +38 -0
- data/app/controllers/rails_error_dashboard/webhooks_controller.rb +10 -9
- data/app/helpers/rails_error_dashboard/application_helper.rb +2 -2
- data/app/helpers/rails_error_dashboard/backtrace_helper.rb +63 -16
- data/app/helpers/rails_error_dashboard/overview_helper.rb +4 -0
- data/app/jobs/rails_error_dashboard/baseline_alert_job.rb +20 -2
- data/app/jobs/rails_error_dashboard/cascade_detection_job.rb +30 -0
- data/app/jobs/rails_error_dashboard/concerns/plain_channel_message.rb +33 -6
- data/app/jobs/rails_error_dashboard/discord_error_notification_job.rb +1 -1
- data/app/jobs/rails_error_dashboard/pagerduty_error_notification_job.rb +1 -1
- data/app/jobs/rails_error_dashboard/retention_cleanup_job.rb +31 -0
- data/app/jobs/rails_error_dashboard/scheduled_digest_job.rb +6 -1
- data/app/jobs/rails_error_dashboard/slack_error_notification_job.rb +1 -1
- data/app/jobs/rails_error_dashboard/telegram_error_notification_job.rb +25 -0
- data/app/jobs/rails_error_dashboard/webhook_error_notification_job.rb +2 -18
- data/app/models/rails_error_dashboard/error_log.rb +54 -20
- data/app/models/rails_error_dashboard/error_occurrence.rb +1 -0
- data/app/models/rails_error_dashboard/error_occurrence_context.rb +14 -0
- data/app/models/rails_error_dashboard/missing_translation.rb +43 -0
- data/app/views/layouts/rails_error_dashboard.html.erb +14 -2
- data/app/views/rails_error_dashboard/errors/_captured_occurrences.html.erb +45 -0
- data/app/views/rails_error_dashboard/errors/_error_info.html.erb +12 -3
- data/app/views/rails_error_dashboard/errors/_occurrence_banner.html.erb +12 -0
- data/app/views/rails_error_dashboard/errors/_sidebar_metadata.html.erb +3 -1
- data/app/views/rails_error_dashboard/errors/_source_code.html.erb +3 -9
- data/app/views/rails_error_dashboard/errors/activestorage_health_summary.html.erb +28 -0
- data/app/views/rails_error_dashboard/errors/boot_errors.html.erb +130 -0
- data/app/views/rails_error_dashboard/errors/index.html.erb +1 -1
- data/app/views/rails_error_dashboard/errors/missing_translations.html.erb +143 -0
- data/app/views/rails_error_dashboard/errors/overview.html.erb +10 -7
- data/app/views/rails_error_dashboard/errors/platform_comparison.html.erb +16 -11
- data/app/views/rails_error_dashboard/errors/settings/_value_badge.html.erb +7 -4
- data/app/views/rails_error_dashboard/errors/settings.html.erb +23 -8
- data/app/views/rails_error_dashboard/errors/show.html.erb +7 -4
- data/config/locales/de.yml +87 -5
- data/config/locales/en.yml +99 -4
- data/config/locales/es.yml +88 -5
- data/config/locales/fr.yml +88 -5
- data/config/locales/it.yml +88 -5
- data/config/locales/ja.yml +86 -4
- data/config/locales/pl.yml +89 -5
- data/config/locales/pt-BR.yml +88 -5
- data/config/locales/ru.yml +89 -5
- data/config/locales/uk.yml +89 -5
- data/config/locales/zh-CN.yml +86 -4
- data/config/routes.rb +6 -0
- data/db/migrate/20251223000000_create_rails_error_dashboard_complete_schema.rb +10 -2
- data/db/migrate/20260106094256_backfill_application_for_existing_errors.rb +3 -3
- data/db/migrate/20261010000001_create_missing_translations.rb +50 -0
- data/db/migrate/20261015000001_create_rails_error_dashboard_error_occurrence_contexts.rb +35 -0
- data/db/migrate/20261015000002_add_capture_source_to_error_occurrences_and_error_logs.rb +46 -0
- data/lib/generators/rails_error_dashboard/install/install_generator.rb +9 -4
- data/lib/generators/rails_error_dashboard/install/templates/initializer.rb +41 -5
- data/lib/rails_error_dashboard/commands/assign_error.rb +24 -1
- data/lib/rails_error_dashboard/commands/batch_mute_errors.rb +11 -2
- data/lib/rails_error_dashboard/commands/batch_resolve_errors.rb +16 -3
- data/lib/rails_error_dashboard/commands/batch_unmute_errors.rb +7 -2
- data/lib/rails_error_dashboard/commands/find_or_increment_error.rb +6 -0
- data/lib/rails_error_dashboard/commands/flush_missing_translations.rb +101 -0
- data/lib/rails_error_dashboard/commands/flush_rack_attack_events.rb +2 -4
- data/lib/rails_error_dashboard/commands/flush_storm_counts.rb +7 -6
- data/lib/rails_error_dashboard/commands/flush_swallowed_exceptions.rb +2 -4
- data/lib/rails_error_dashboard/commands/log_error.rb +20 -8
- data/lib/rails_error_dashboard/commands/record_occurrence_context.rb +60 -0
- data/lib/rails_error_dashboard/commands/resolve_error.rb +2 -15
- data/lib/rails_error_dashboard/commands/update_error_status.rb +7 -0
- data/lib/rails_error_dashboard/configuration.rb +61 -4
- data/lib/rails_error_dashboard/engine.rb +42 -1
- data/lib/rails_error_dashboard/error_reporter.rb +4 -2
- data/lib/rails_error_dashboard/manual_error_reporter.rb +11 -1
- data/lib/rails_error_dashboard/middleware/error_catcher.rb +18 -4
- data/lib/rails_error_dashboard/middleware/rate_limiter.rb +7 -1
- data/lib/rails_error_dashboard/plugin.rb +19 -3
- data/lib/rails_error_dashboard/plugin_registry.rb +61 -12
- data/lib/rails_error_dashboard/queries/analytics_stats.rb +0 -12
- data/lib/rails_error_dashboard/queries/boot_errors.rb +76 -0
- data/lib/rails_error_dashboard/queries/co_occurring_errors.rb +59 -33
- data/lib/rails_error_dashboard/queries/dashboard_stats.rb +3 -11
- data/lib/rails_error_dashboard/queries/errors_list.rb +8 -16
- data/lib/rails_error_dashboard/queries/health_status.rb +191 -0
- data/lib/rails_error_dashboard/queries/missing_translation_summary.rb +82 -0
- data/lib/rails_error_dashboard/queries/platform_comparison.rb +14 -6
- data/lib/rails_error_dashboard/services/active_storage_probe.rb +91 -0
- data/lib/rails_error_dashboard/services/backtrace_parser.rb +13 -7
- data/lib/rails_error_dashboard/services/backtrace_processor.rb +31 -7
- data/lib/rails_error_dashboard/services/baseline_alert_payload_builder.rb +30 -0
- data/lib/rails_error_dashboard/services/crash_capture.rb +90 -2
- data/lib/rails_error_dashboard/services/digest_builder.rb +9 -6
- data/lib/rails_error_dashboard/services/error_notification_dispatcher.rb +6 -0
- data/lib/rails_error_dashboard/services/github_link_generator.rb +25 -14
- data/lib/rails_error_dashboard/services/markdown_error_formatter.rb +15 -16
- data/lib/rails_error_dashboard/services/missing_translation_handler.rb +152 -0
- data/lib/rails_error_dashboard/services/missing_translation_tracker.rb +316 -0
- data/lib/rails_error_dashboard/services/repository_url.rb +18 -0
- data/lib/rails_error_dashboard/services/resolution_callbacks.rb +44 -0
- data/lib/rails_error_dashboard/services/severity_classifier.rb +52 -0
- data/lib/rails_error_dashboard/services/similarity_calculator.rb +3 -9
- data/lib/rails_error_dashboard/services/source_code_reader.rb +23 -3
- data/lib/rails_error_dashboard/services/storm_protection/count_buffer.rb +6 -3
- data/lib/rails_error_dashboard/services/storm_protection/gate.rb +6 -1
- data/lib/rails_error_dashboard/services/telegram_delivery.rb +134 -0
- data/lib/rails_error_dashboard/services/telegram_payload_builder.rb +105 -0
- data/lib/rails_error_dashboard/services/webhook_delivery.rb +63 -0
- data/lib/rails_error_dashboard/services/webhook_signer.rb +80 -0
- data/lib/rails_error_dashboard/value_objects/occurrence_snapshot.rb +23 -0
- data/lib/rails_error_dashboard/version.rb +1 -1
- data/lib/rails_error_dashboard.rb +28 -0
- data/lib/tasks/error_dashboard.rake +2 -3
- metadata +29 -2
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rails_error_dashboard
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.16.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Anjan Jagirdar
|
|
@@ -268,6 +268,7 @@ files:
|
|
|
268
268
|
- Rakefile
|
|
269
269
|
- app/controllers/rails_error_dashboard/application_controller.rb
|
|
270
270
|
- app/controllers/rails_error_dashboard/errors_controller.rb
|
|
271
|
+
- app/controllers/rails_error_dashboard/health_controller.rb
|
|
271
272
|
- app/controllers/rails_error_dashboard/locales_controller.rb
|
|
272
273
|
- app/controllers/rails_error_dashboard/webhooks_controller.rb
|
|
273
274
|
- app/helpers/rails_error_dashboard/application_helper.rb
|
|
@@ -281,6 +282,7 @@ files:
|
|
|
281
282
|
- app/jobs/rails_error_dashboard/async_error_logging_job.rb
|
|
282
283
|
- app/jobs/rails_error_dashboard/baseline_alert_job.rb
|
|
283
284
|
- app/jobs/rails_error_dashboard/baseline_calculation_job.rb
|
|
285
|
+
- app/jobs/rails_error_dashboard/cascade_detection_job.rb
|
|
284
286
|
- app/jobs/rails_error_dashboard/close_linked_issue_job.rb
|
|
285
287
|
- app/jobs/rails_error_dashboard/concerns/localized_job.rb
|
|
286
288
|
- app/jobs/rails_error_dashboard/concerns/plain_channel_message.rb
|
|
@@ -297,6 +299,7 @@ files:
|
|
|
297
299
|
- app/jobs/rails_error_dashboard/storm_flush_job.rb
|
|
298
300
|
- app/jobs/rails_error_dashboard/storm_notification_job.rb
|
|
299
301
|
- app/jobs/rails_error_dashboard/swallowed_exception_flush_job.rb
|
|
302
|
+
- app/jobs/rails_error_dashboard/telegram_error_notification_job.rb
|
|
300
303
|
- app/jobs/rails_error_dashboard/webhook_error_notification_job.rb
|
|
301
304
|
- app/mailers/rails_error_dashboard/application_mailer.rb
|
|
302
305
|
- app/mailers/rails_error_dashboard/digest_mailer.rb
|
|
@@ -309,8 +312,10 @@ files:
|
|
|
309
312
|
- app/models/rails_error_dashboard/error_log.rb
|
|
310
313
|
- app/models/rails_error_dashboard/error_logs_record.rb
|
|
311
314
|
- app/models/rails_error_dashboard/error_occurrence.rb
|
|
315
|
+
- app/models/rails_error_dashboard/error_occurrence_context.rb
|
|
312
316
|
- app/models/rails_error_dashboard/event_count.rb
|
|
313
317
|
- app/models/rails_error_dashboard/event_timing_gap.rb
|
|
318
|
+
- app/models/rails_error_dashboard/missing_translation.rb
|
|
314
319
|
- app/models/rails_error_dashboard/rack_attack_event.rb
|
|
315
320
|
- app/models/rails_error_dashboard/storm_event.rb
|
|
316
321
|
- app/models/rails_error_dashboard/storm_flush_batch.rb
|
|
@@ -322,6 +327,7 @@ files:
|
|
|
322
327
|
- app/views/rails_error_dashboard/error_notification_mailer/error_alert.text.erb
|
|
323
328
|
- app/views/rails_error_dashboard/errors/_ai_help_panel.html.erb
|
|
324
329
|
- app/views/rails_error_dashboard/errors/_breadcrumbs_group.html.erb
|
|
330
|
+
- app/views/rails_error_dashboard/errors/_captured_occurrences.html.erb
|
|
325
331
|
- app/views/rails_error_dashboard/errors/_co_occurring_errors.html.erb
|
|
326
332
|
- app/views/rails_error_dashboard/errors/_discussion.html.erb
|
|
327
333
|
- app/views/rails_error_dashboard/errors/_error_cascades.html.erb
|
|
@@ -332,6 +338,7 @@ files:
|
|
|
332
338
|
- app/views/rails_error_dashboard/errors/_llm_summary.html.erb
|
|
333
339
|
- app/views/rails_error_dashboard/errors/_local_variables.html.erb
|
|
334
340
|
- app/views/rails_error_dashboard/errors/_modals.html.erb
|
|
341
|
+
- app/views/rails_error_dashboard/errors/_occurrence_banner.html.erb
|
|
335
342
|
- app/views/rails_error_dashboard/errors/_pattern_insights.html.erb
|
|
336
343
|
- app/views/rails_error_dashboard/errors/_request_context.html.erb
|
|
337
344
|
- app/views/rails_error_dashboard/errors/_show_scripts.html.erb
|
|
@@ -344,6 +351,7 @@ files:
|
|
|
344
351
|
- app/views/rails_error_dashboard/errors/actioncable_health_summary.html.erb
|
|
345
352
|
- app/views/rails_error_dashboard/errors/activestorage_health_summary.html.erb
|
|
346
353
|
- app/views/rails_error_dashboard/errors/analytics.html.erb
|
|
354
|
+
- app/views/rails_error_dashboard/errors/boot_errors.html.erb
|
|
347
355
|
- app/views/rails_error_dashboard/errors/cache_health_summary.html.erb
|
|
348
356
|
- app/views/rails_error_dashboard/errors/correlation.html.erb
|
|
349
357
|
- app/views/rails_error_dashboard/errors/database_health_summary.html.erb
|
|
@@ -352,6 +360,7 @@ files:
|
|
|
352
360
|
- app/views/rails_error_dashboard/errors/index.html.erb
|
|
353
361
|
- app/views/rails_error_dashboard/errors/job_health_summary.html.erb
|
|
354
362
|
- app/views/rails_error_dashboard/errors/llm_health_summary.html.erb
|
|
363
|
+
- app/views/rails_error_dashboard/errors/missing_translations.html.erb
|
|
355
364
|
- app/views/rails_error_dashboard/errors/n_plus_one_summary.html.erb
|
|
356
365
|
- app/views/rails_error_dashboard/errors/overview.html.erb
|
|
357
366
|
- app/views/rails_error_dashboard/errors/platform_comparison.html.erb
|
|
@@ -425,6 +434,9 @@ files:
|
|
|
425
434
|
- db/migrate/20260919000001_create_event_counts.rb
|
|
426
435
|
- db/migrate/20260920000001_add_buckets_incomplete_to_storm_events.rb
|
|
427
436
|
- db/migrate/20260920000002_create_event_timing_gaps.rb
|
|
437
|
+
- db/migrate/20261010000001_create_missing_translations.rb
|
|
438
|
+
- db/migrate/20261015000001_create_rails_error_dashboard_error_occurrence_contexts.rb
|
|
439
|
+
- db/migrate/20261015000002_add_capture_source_to_error_occurrences_and_error_logs.rb
|
|
428
440
|
- lib/generators/rails_error_dashboard/install/install_generator.rb
|
|
429
441
|
- lib/generators/rails_error_dashboard/install/templates/README
|
|
430
442
|
- lib/generators/rails_error_dashboard/install/templates/initializer.rb
|
|
@@ -444,6 +456,7 @@ files:
|
|
|
444
456
|
- lib/rails_error_dashboard/commands/drop_all_tables.rb
|
|
445
457
|
- lib/rails_error_dashboard/commands/find_or_create_application.rb
|
|
446
458
|
- lib/rails_error_dashboard/commands/find_or_increment_error.rb
|
|
459
|
+
- lib/rails_error_dashboard/commands/flush_missing_translations.rb
|
|
447
460
|
- lib/rails_error_dashboard/commands/flush_rack_attack_events.rb
|
|
448
461
|
- lib/rails_error_dashboard/commands/flush_storm_counts.rb
|
|
449
462
|
- lib/rails_error_dashboard/commands/flush_swallowed_exceptions.rb
|
|
@@ -451,6 +464,7 @@ files:
|
|
|
451
464
|
- lib/rails_error_dashboard/commands/link_existing_issue.rb
|
|
452
465
|
- lib/rails_error_dashboard/commands/log_error.rb
|
|
453
466
|
- lib/rails_error_dashboard/commands/mute_error.rb
|
|
467
|
+
- lib/rails_error_dashboard/commands/record_occurrence_context.rb
|
|
454
468
|
- lib/rails_error_dashboard/commands/resolve_error.rb
|
|
455
469
|
- lib/rails_error_dashboard/commands/scrub_invalid_encoding.rb
|
|
456
470
|
- lib/rails_error_dashboard/commands/snooze_error.rb
|
|
@@ -486,6 +500,7 @@ files:
|
|
|
486
500
|
- lib/rails_error_dashboard/queries/active_storage_summary.rb
|
|
487
501
|
- lib/rails_error_dashboard/queries/analytics_stats.rb
|
|
488
502
|
- lib/rails_error_dashboard/queries/baseline_stats.rb
|
|
503
|
+
- lib/rails_error_dashboard/queries/boot_errors.rb
|
|
489
504
|
- lib/rails_error_dashboard/queries/cache_health_summary.rb
|
|
490
505
|
- lib/rails_error_dashboard/queries/co_occurring_errors.rb
|
|
491
506
|
- lib/rails_error_dashboard/queries/critical_alerts.rb
|
|
@@ -497,8 +512,10 @@ files:
|
|
|
497
512
|
- lib/rails_error_dashboard/queries/errors_list.rb
|
|
498
513
|
- lib/rails_error_dashboard/queries/event_volume.rb
|
|
499
514
|
- lib/rails_error_dashboard/queries/filter_options.rb
|
|
515
|
+
- lib/rails_error_dashboard/queries/health_status.rb
|
|
500
516
|
- lib/rails_error_dashboard/queries/job_health_summary.rb
|
|
501
517
|
- lib/rails_error_dashboard/queries/llm_health_summary.rb
|
|
518
|
+
- lib/rails_error_dashboard/queries/missing_translation_summary.rb
|
|
502
519
|
- lib/rails_error_dashboard/queries/mttr_stats.rb
|
|
503
520
|
- lib/rails_error_dashboard/queries/n_plus_one_summary.rb
|
|
504
521
|
- lib/rails_error_dashboard/queries/platform_comparison.rb
|
|
@@ -510,6 +527,7 @@ files:
|
|
|
510
527
|
- lib/rails_error_dashboard/queries/swallowed_exception_summary.rb
|
|
511
528
|
- lib/rails_error_dashboard/queries/uninstall_plan.rb
|
|
512
529
|
- lib/rails_error_dashboard/queries/user_impact_summary.rb
|
|
530
|
+
- lib/rails_error_dashboard/services/active_storage_probe.rb
|
|
513
531
|
- lib/rails_error_dashboard/services/ai_agent_classifier.rb
|
|
514
532
|
- lib/rails_error_dashboard/services/analytics_cache_manager.rb
|
|
515
533
|
- lib/rails_error_dashboard/services/backtrace_parser.rb
|
|
@@ -550,6 +568,8 @@ files:
|
|
|
550
568
|
- lib/rails_error_dashboard/services/local_variable_capturer.rb
|
|
551
569
|
- lib/rails_error_dashboard/services/localized_time_formatter.rb
|
|
552
570
|
- lib/rails_error_dashboard/services/markdown_error_formatter.rb
|
|
571
|
+
- lib/rails_error_dashboard/services/missing_translation_handler.rb
|
|
572
|
+
- lib/rails_error_dashboard/services/missing_translation_tracker.rb
|
|
553
573
|
- lib/rails_error_dashboard/services/n_plus_one_detector.rb
|
|
554
574
|
- lib/rails_error_dashboard/services/notification_helpers.rb
|
|
555
575
|
- lib/rails_error_dashboard/services/notification_throttler.rb
|
|
@@ -559,6 +579,8 @@ files:
|
|
|
559
579
|
- lib/rails_error_dashboard/services/platform_detector.rb
|
|
560
580
|
- lib/rails_error_dashboard/services/priority_score_calculator.rb
|
|
561
581
|
- lib/rails_error_dashboard/services/rack_attack_tracker.rb
|
|
582
|
+
- lib/rails_error_dashboard/services/repository_url.rb
|
|
583
|
+
- lib/rails_error_dashboard/services/resolution_callbacks.rb
|
|
562
584
|
- lib/rails_error_dashboard/services/rspec_generator.rb
|
|
563
585
|
- lib/rails_error_dashboard/services/sensitive_data_filter.rb
|
|
564
586
|
- lib/rails_error_dashboard/services/severity_classifier.rb
|
|
@@ -573,9 +595,13 @@ files:
|
|
|
573
595
|
- lib/rails_error_dashboard/services/storm_protection/gate.rb
|
|
574
596
|
- lib/rails_error_dashboard/services/swallowed_exception_tracker.rb
|
|
575
597
|
- lib/rails_error_dashboard/services/system_health_snapshot.rb
|
|
598
|
+
- lib/rails_error_dashboard/services/telegram_delivery.rb
|
|
599
|
+
- lib/rails_error_dashboard/services/telegram_payload_builder.rb
|
|
576
600
|
- lib/rails_error_dashboard/services/url_safety.rb
|
|
577
601
|
- lib/rails_error_dashboard/services/variable_serializer.rb
|
|
602
|
+
- lib/rails_error_dashboard/services/webhook_delivery.rb
|
|
578
603
|
- lib/rails_error_dashboard/services/webhook_payload_builder.rb
|
|
604
|
+
- lib/rails_error_dashboard/services/webhook_signer.rb
|
|
579
605
|
- lib/rails_error_dashboard/subscribers/action_cable_subscriber.rb
|
|
580
606
|
- lib/rails_error_dashboard/subscribers/active_storage_subscriber.rb
|
|
581
607
|
- lib/rails_error_dashboard/subscribers/breadcrumb_subscriber.rb
|
|
@@ -586,6 +612,7 @@ files:
|
|
|
586
612
|
- lib/rails_error_dashboard/translation.rb
|
|
587
613
|
- lib/rails_error_dashboard/value_objects/error_context.rb
|
|
588
614
|
- lib/rails_error_dashboard/value_objects/llm_call_event.rb
|
|
615
|
+
- lib/rails_error_dashboard/value_objects/occurrence_snapshot.rb
|
|
589
616
|
- lib/rails_error_dashboard/version.rb
|
|
590
617
|
- lib/tasks/error_dashboard.rake
|
|
591
618
|
- lib/tasks/rails_error_dashboard_tasks.rake
|
|
@@ -601,7 +628,7 @@ metadata:
|
|
|
601
628
|
funding_uri: https://github.com/sponsors/AnjanJ
|
|
602
629
|
post_install_message: |
|
|
603
630
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
604
|
-
RED (Rails Error Dashboard) v0.
|
|
631
|
+
RED (Rails Error Dashboard) v0.16.0
|
|
605
632
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
606
633
|
|
|
607
634
|
First install:
|