rails_error_dashboard 0.1.27 → 0.1.28

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2dfa475005d810cf2797830e0e00df4ad5b83f7e63df2b8c859ce8c1a4aa555e
4
- data.tar.gz: d35282497e6f04be43816e1473e941e7e1e797ab276082643148504fc11d1806
3
+ metadata.gz: 5a0f4cca16260c154f28b927ad49e276376fb390da7469479879e59e3ae07884
4
+ data.tar.gz: d33904659ed7e1e98cf76f7bef72510f610bf2be611d1562e1bbadc06db5ed82
5
5
  SHA512:
6
- metadata.gz: 03d48971cf4056b8fcf8facc6a8355484647ba725d65a56bdf93e448e5a84b2406784b9a05818a2285e89b49ae1b2eea1f798b43be4c4a273d123c411f755d57
7
- data.tar.gz: e70c135a00a15f7325eb10a0c58be45ecf1b8e05f1b7eeb42e538450e07cb69a68a36816d78b49a0c3e5089b58a251bfef45d1155cf3cdc58c3a804cb9d53e20
6
+ metadata.gz: 2adbbee9b22e299ee55090db83aea7a48f162f519837e626a198ee1ae553e5b5c4030eee28223ad367bd55042543f3c7dea612de89dfe5f0857ac410d115c577
7
+ data.tar.gz: 4bb63ab6e3d16bda1c8430e35944c80b057e264bd0d87b675dd5ce0fe832af92334039e597e6708579064a3df3c537fec5aabcac715157bc47d69d8dc5e359cd
data/README.md CHANGED
@@ -29,9 +29,9 @@ Experience the full dashboard with 250+ realistic Rails errors, LOTR-themed demo
29
29
  ---
30
30
 
31
31
  ### ⚠️ BETA SOFTWARE
32
- This Rails Engine is in beta and under active development. While functional and tested (850+ tests passing), the API may change before v1.0.0. Use in production at your own discretion.
32
+ This Rails Engine is in beta and under active development. While functional and tested (935+ tests passing), the API may change before v1.0.0. Use in production at your own discretion.
33
33
 
34
- **Supports**: Rails 7.0 - 8.1 | Ruby 3.2+
34
+ **Supports**: Rails 7.0 - 8.0 (+ edge 8.1) | Ruby 3.2 - 3.4
35
35
 
36
36
  ---
37
37
 
@@ -80,10 +80,6 @@ This Rails Engine is in beta and under active development. While functional and
80
80
 
81
81
  ---
82
82
 
83
- ![Dashboard Screenshot](https://via.placeholder.com/800x400?text=Error+Dashboard+Screenshot)
84
-
85
- ---
86
-
87
83
  ## ✨ Features
88
84
 
89
85
  ### Core Features (Always Enabled)
@@ -121,7 +117,7 @@ HTTP Basic Auth, environment-based settings, optional separate database for isol
121
117
  - **Separate Database** - Isolate error data for better performance
122
118
  - **Database Indexes** - Composite indexes and PostgreSQL GIN full-text search
123
119
 
124
- #### 🧠 Advanced Analytics (8 Powerful Features)
120
+ #### 🧠 Advanced Analytics (7 Powerful Features)
125
121
 
126
122
  **1. Baseline Anomaly Alerts** 🔔
127
123
  Automatically detect unusual error rate spikes using statistical analysis (mean + std dev). Get proactive notifications when errors exceed expected baselines with intelligent cooldown to avoid alert fatigue.
@@ -144,8 +140,8 @@ Compare iOS vs Android vs Web health metrics side-by-side. Platform-specific err
144
140
  **7. Occurrence Pattern Detection** 📈
145
141
  Detect cyclical patterns (business hours, nighttime, weekend rhythms) and error bursts (many errors in short time). Understand when and how your errors happen.
146
142
 
147
- **8. Developer Insights** 💡
148
- AI-powered insights with severity detection, platform stability scoring, actionable recommendations, and recent error activity summaries.
143
+ **Plus: Developer Insights Dashboard** 💡
144
+ Built-in analytics dashboard with severity detection, platform stability scoring, actionable recommendations, and recent error activity summaries (always available, no configuration needed).
149
145
 
150
146
  #### 🔌 Plugin System
151
147
  Extensible architecture with event hooks (`on_error_logged`, `on_error_resolved`, `on_threshold_exceeded`). Built-in examples for Jira integration, metrics tracking, audit logging. Easy to create custom plugins - just drop a file in `config/initializers/error_dashboard_plugins/`.
@@ -173,7 +169,7 @@ rails db:migrate
173
169
  The installer will guide you through optional feature selection:
174
170
  - **Notifications** (Slack, Email, Discord, PagerDuty, Webhooks)
175
171
  - **Performance** (Async Logging, Error Sampling, Separate Database)
176
- - **Advanced Analytics** (8 powerful features including baseline alerts, fuzzy matching, platform comparison)
172
+ - **Advanced Analytics** (7 powerful features including baseline alerts, fuzzy matching, platform comparison)
177
173
 
178
174
  **All features are opt-in** - choose what you need during installation, or enable/disable them later in the initializer.
179
175
 
@@ -665,6 +661,193 @@ Rails Error Dashboard is available as open source under the terms of the [MIT Li
665
661
 
666
662
  ---
667
663
 
664
+ ## ❓ Frequently Asked Questions
665
+
666
+ <details>
667
+ <summary><strong>Is this production-ready?</strong></summary>
668
+
669
+ This is currently in **beta** but actively tested with 935+ passing tests across Rails 7.0-8.0 and Ruby 3.2-3.4. Many users are running it in production. See [production requirements](docs/FEATURES.md#production-readiness).
670
+ </details>
671
+
672
+ <details>
673
+ <summary><strong>How does this compare to Sentry/Rollbar/Honeybadger?</strong></summary>
674
+
675
+ **Similar**: Error tracking, grouping, notifications, dashboards
676
+ **Better**: 100% free, self-hosted (your data stays with you), no usage limits, Rails-optimized
677
+ **Trade-offs**: You manage hosting/backups, fewer integrations than commercial services
678
+
679
+ See [full comparison](docs/features/PLATFORM_COMPARISON.md).
680
+ </details>
681
+
682
+ <details>
683
+ <summary><strong>What's the performance impact?</strong></summary>
684
+
685
+ Minimal with async logging enabled:
686
+ - **Synchronous**: ~10-50ms per error (blocks request)
687
+ - **Async (recommended)**: ~1-2ms (queues to background job)
688
+ - **Sampling**: Log only 10% of non-critical errors for high-traffic apps
689
+
690
+ See [Performance Guide](docs/guides/ERROR_SAMPLING_AND_FILTERING.md).
691
+ </details>
692
+
693
+ <details>
694
+ <summary><strong>Can I use a separate database?</strong></summary>
695
+
696
+ Yes! Configure in your initializer:
697
+
698
+ ```ruby
699
+ RailsErrorDashboard.configure do |config|
700
+ config.database = :errors # Use separate database
701
+ end
702
+ ```
703
+
704
+ See [Database Options Guide](docs/guides/DATABASE_OPTIONS.md).
705
+ </details>
706
+
707
+ <details>
708
+ <summary><strong>How do I migrate from Sentry/Rollbar?</strong></summary>
709
+
710
+ 1. Install Rails Error Dashboard
711
+ 2. Run both systems in parallel (1-2 weeks)
712
+ 3. Verify all errors are captured
713
+ 4. Remove old error tracking gem
714
+ 5. Update team documentation
715
+
716
+ Historical data cannot be imported (different formats).
717
+ </details>
718
+
719
+ <details>
720
+ <summary><strong>Does it work with API-only Rails apps?</strong></summary>
721
+
722
+ Yes! The error logging works in API-only mode. The dashboard UI requires a browser but can be:
723
+ - Mounted in a separate admin app
724
+ - Run in a separate Rails instance pointing to the same database
725
+ - Accessed via SSH tunnel
726
+
727
+ See [API-only setup](docs/guides/MOBILE_APP_INTEGRATION.md#backend-setup-rails-api).
728
+ </details>
729
+
730
+ <details>
731
+ <summary><strong>How do I track multiple Rails apps?</strong></summary>
732
+
733
+ Automatic! Just set `APP_NAME` environment variable:
734
+
735
+ ```bash
736
+ # App 1
737
+ APP_NAME=my-api rails server
738
+
739
+ # App 2
740
+ APP_NAME=my-admin rails server
741
+ ```
742
+
743
+ All apps share the same dashboard. See [Multi-App Guide](docs/MULTI_APP_PERFORMANCE.md).
744
+ </details>
745
+
746
+ <details>
747
+ <summary><strong>Can I customize error severity levels?</strong></summary>
748
+
749
+ Yes! Configure custom rules in your initializer:
750
+
751
+ ```ruby
752
+ RailsErrorDashboard.configure do |config|
753
+ config.custom_severity_rules = {
754
+ /ActiveRecord::RecordNotFound/ => :low,
755
+ /Stripe::/ => :critical
756
+ }
757
+ end
758
+ ```
759
+
760
+ See [Customization Guide](docs/CUSTOMIZATION.md).
761
+ </details>
762
+
763
+ <details>
764
+ <summary><strong>How long are errors stored?</strong></summary>
765
+
766
+ Forever by default. Configure retention policy:
767
+
768
+ ```ruby
769
+ RailsErrorDashboard.configure do |config|
770
+ config.retention_days = 90 # Auto-delete after 90 days
771
+ end
772
+ ```
773
+
774
+ Or clean up manually with rake tasks. See [Database Optimization](docs/guides/DATABASE_OPTIMIZATION.md).
775
+ </details>
776
+
777
+ <details>
778
+ <summary><strong>Can I get Slack/Discord notifications?</strong></summary>
779
+
780
+ Yes! Enable during installation or configure manually:
781
+
782
+ ```ruby
783
+ RailsErrorDashboard.configure do |config|
784
+ config.enable_slack_notifications = true
785
+ config.slack_webhook_url = ENV['SLACK_WEBHOOK_URL']
786
+ end
787
+ ```
788
+
789
+ Supports Slack, Discord, Email, PagerDuty, and custom webhooks. See [Notifications Guide](docs/guides/NOTIFICATIONS.md).
790
+ </details>
791
+
792
+ <details>
793
+ <summary><strong>Does it work with Turbo/Hotwire?</strong></summary>
794
+
795
+ Yes! Includes Turbo Streams support for real-time updates. Errors appear in the dashboard instantly without page refresh.
796
+ </details>
797
+
798
+ <details>
799
+ <summary><strong>How do I report errors from mobile apps (React Native/Flutter)?</strong></summary>
800
+
801
+ Make HTTP POST requests to your Rails API:
802
+
803
+ ```javascript
804
+ // React Native example
805
+ fetch('https://api.example.com/error_dashboard/api/v1/errors', {
806
+ method: 'POST',
807
+ headers: {
808
+ 'Content-Type': 'application/json',
809
+ 'Authorization': 'Basic ' + btoa('admin:password')
810
+ },
811
+ body: JSON.stringify({
812
+ error_class: 'TypeError',
813
+ message: 'Cannot read property...',
814
+ platform: 'iOS'
815
+ })
816
+ });
817
+ ```
818
+
819
+ See [Mobile App Integration](docs/guides/MOBILE_APP_INTEGRATION.md).
820
+ </details>
821
+
822
+ <details>
823
+ <summary><strong>Can I build custom integrations?</strong></summary>
824
+
825
+ Yes! Use the plugin system:
826
+
827
+ ```ruby
828
+ class MyCustomPlugin < RailsErrorDashboard::Plugin
829
+ def on_error_logged(error_log)
830
+ # Your custom logic
831
+ end
832
+ end
833
+
834
+ RailsErrorDashboard::PluginRegistry.register(MyCustomPlugin.new)
835
+ ```
836
+
837
+ See [Plugin System Guide](docs/PLUGIN_SYSTEM.md).
838
+ </details>
839
+
840
+ <details>
841
+ <summary><strong>What if I need help?</strong></summary>
842
+
843
+ - **📖 Read the docs**: [docs/README.md](docs/README.md)
844
+ - **🐛 Report bugs**: [GitHub Issues](https://github.com/AnjanJ/rails_error_dashboard/issues)
845
+ - **💡 Ask questions**: [GitHub Discussions](https://github.com/AnjanJ/rails_error_dashboard/discussions)
846
+ - **🔒 Security issues**: See [SECURITY.md](SECURITY.md)
847
+ </details>
848
+
849
+ ---
850
+
668
851
  ## 💬 Support
669
852
 
670
853
  - **📖 Documentation**: [docs/](docs/README.md)
@@ -673,6 +856,6 @@ Rails Error Dashboard is available as open source under the terms of the [MIT Li
673
856
 
674
857
  ---
675
858
 
676
- **Made with ❤️ by Anjan for the Rails community**
859
+ **Made with ❤️ by [Anjan](https://www.anjan.dev) for the Rails community**
677
860
 
678
861
  *One Gem to rule them all, One Gem to find them, One Gem to bring them all, and in the dashboard bind them.* 🧙‍♂️
@@ -1,3 +1,3 @@
1
1
  module RailsErrorDashboard
2
- VERSION = "0.1.27"
2
+ VERSION = "0.1.28"
3
3
  end
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.1.27
4
+ version: 0.1.28
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anjan Jagirdar
@@ -116,7 +116,7 @@ dependencies:
116
116
  version: 1.3.0
117
117
  - - "<"
118
118
  - !ruby/object:Gem::Version
119
- version: 1.3.5
119
+ version: 1.3.7
120
120
  type: :runtime
121
121
  prerelease: false
122
122
  version_requirements: !ruby/object:Gem::Requirement
@@ -126,7 +126,7 @@ dependencies:
126
126
  version: 1.3.0
127
127
  - - "<"
128
128
  - !ruby/object:Gem::Version
129
- version: 1.3.5
129
+ version: 1.3.7
130
130
  - !ruby/object:Gem::Dependency
131
131
  name: rspec-rails
132
132
  requirement: !ruby/object:Gem::Requirement
@@ -386,7 +386,7 @@ metadata:
386
386
  source_code_uri: https://github.com/AnjanJ/rails_error_dashboard
387
387
  changelog_uri: https://github.com/AnjanJ/rails_error_dashboard/blob/main/CHANGELOG.md
388
388
  post_install_message: "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n
389
- \ Rails Error Dashboard v0.1.27\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\n\U0001F195
389
+ \ Rails Error Dashboard v0.1.28\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\n\U0001F195
390
390
  First time? Quick start:\n rails generate rails_error_dashboard:install\n rails
391
391
  db:migrate\n # Add to config/routes.rb:\n mount RailsErrorDashboard::Engine
392
392
  => '/error_dashboard'\n\n\U0001F504 Upgrading from v0.1.x?\n rails db:migrate\n