flightdeck 0.5.1 → 0.5.3

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.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/flightdeck/{flightdeck-00403457c5d9.css → flightdeck-3967b9e6c506.css} +1 -1
  3. data/app/assets/flightdeck/{flightdeck-8fc2423da15f.js → flightdeck-3aac23f80afe.js} +2 -2
  4. data/app/assets/flightdeck/manifest.json +7 -7
  5. data/app/controllers/concerns/flightdeck/toasts.rb +23 -13
  6. data/app/controllers/flightdeck/jobs/actions_controller.rb +41 -42
  7. data/app/controllers/flightdeck/jobs/discards_controller.rb +0 -1
  8. data/app/controllers/flightdeck/jobs/retries_controller.rb +0 -1
  9. data/app/controllers/flightdeck/processes_controller.rb +8 -3
  10. data/app/controllers/flightdeck/queues_controller.rb +8 -3
  11. data/app/controllers/flightdeck/recurring_tasks_controller.rb +7 -2
  12. data/app/helpers/flightdeck/application_helper.rb +18 -1
  13. data/app/helpers/flightdeck/jobs_helper.rb +1 -20
  14. data/app/models/flightdeck/duration.rb +23 -0
  15. data/app/models/flightdeck/job_detail.rb +1 -8
  16. data/app/models/flightdeck/job_row.rb +10 -0
  17. data/app/models/flightdeck/jobs_query.rb +8 -16
  18. data/app/models/flightdeck/metrics/line_chart.rb +3 -7
  19. data/app/models/flightdeck/overview.rb +12 -19
  20. data/app/models/flightdeck/process_registry.rb +0 -6
  21. data/app/models/flightdeck/queue_stats.rb +0 -2
  22. data/app/models/flightdeck/recurring_catalog.rb +0 -2
  23. data/app/views/flightdeck/jobs/_list.html.erb +9 -4
  24. data/app/views/flightdeck/jobs/index.html.erb +2 -5
  25. data/app/views/flightdeck/overview/_tiles.html.erb +1 -1
  26. data/app/views/flightdeck/overview/index.html.erb +12 -37
  27. data/app/views/flightdeck/processes/index.html.erb +2 -6
  28. data/app/views/flightdeck/queues/index.html.erb +2 -6
  29. data/app/views/flightdeck/recurring_tasks/index.html.erb +2 -6
  30. data/app/views/flightdeck/shared/refresh.turbo_stream.erb +14 -0
  31. data/app/views/layouts/flightdeck/application.html.erb +7 -7
  32. data/lib/flightdeck/assets.rb +0 -6
  33. data/lib/flightdeck/version.rb +1 -1
  34. metadata +5 -7
  35. data/app/views/flightdeck/jobs/actions/create.turbo_stream.erb +0 -18
  36. data/app/views/flightdeck/processes/prune.turbo_stream.erb +0 -15
  37. data/app/views/flightdeck/queues/update.turbo_stream.erb +0 -15
  38. data/app/views/flightdeck/recurring_tasks/run.turbo_stream.erb +0 -15
@@ -4,7 +4,7 @@
4
4
  <meta charset="utf-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1">
6
6
  <title><%= content_for?(:title) ? yield(:title) : "Flightdeck" %></title>
7
- <meta name="turbo-root" content="<%= flightdeck.root_path %>">
7
+ <meta name="turbo-root" content="<%= root_path %>">
8
8
  <%= csrf_meta_tags %>
9
9
  <% if (css = flightdeck_asset_path("flightdeck.css")) %>
10
10
  <link rel="stylesheet" href="<%= css %>">
@@ -22,36 +22,36 @@
22
22
  </div>
23
23
 
24
24
  <nav class="fd-nav">
25
- <%= link_to flightdeck.root_path, class: "fd-nav-link#{" on" if current_page?(flightdeck.root_path)}" do %>
25
+ <%= link_to root_path, class: "fd-nav-link#{" on" if current_page?(root_path)}" do %>
26
26
  <svg width="15" height="15" viewBox="0 0 15 15" fill="none" stroke="currentColor" stroke-width="1.4"><path d="M1.5 13.5v-5h3v5m1.5 0v-9h3v9m1.5 0v-12h3v12" stroke-linejoin="round"/></svg>
27
27
  Overview
28
28
  <% end %>
29
29
 
30
30
  <span class="fd-nav-section">Jobs</span>
31
31
 
32
- <%= link_to flightdeck.jobs_path, class: "fd-nav-link#{" on" if fd_nav_active?(:all)}" do %>
32
+ <%= link_to jobs_path, class: "fd-nav-link#{" on" if fd_nav_active?(:all)}" do %>
33
33
  <svg width="15" height="15" viewBox="0 0 15 15" fill="none" stroke="currentColor" stroke-width="1.4"><rect x="1.5" y="2.5" width="12" height="10" rx="1.5"/><path d="M4.5 6h6M4.5 9h4"/></svg>
34
34
  All jobs <span class="fd-nav-count"><%= fd_nav_count(:all) %></span>
35
35
  <% end %>
36
36
 
37
- <%= link_to flightdeck.jobs_path(state: :failed), class: "fd-nav-link#{" on" if fd_nav_active?(:failed)}" do %>
37
+ <%= link_to jobs_path(state: :failed), class: "fd-nav-link#{" on" if fd_nav_active?(:failed)}" do %>
38
38
  <svg width="15" height="15" viewBox="0 0 15 15" fill="none" stroke="currentColor" stroke-width="1.4"><circle cx="7.5" cy="7.5" r="6"/><path d="M7.5 4.5v3.5M7.5 10.4v.2"/></svg>
39
39
  Failed <span class="fd-nav-count"><%= fd_nav_count(:failed) %></span>
40
40
  <% end %>
41
41
 
42
42
  <span class="fd-nav-section">Infrastructure</span>
43
43
 
44
- <%= link_to flightdeck.queues_path, class: "fd-nav-link#{" on" if controller_name == "queues"}" do %>
44
+ <%= link_to queues_path, class: "fd-nav-link#{" on" if controller_name == "queues"}" do %>
45
45
  <svg width="15" height="15" viewBox="0 0 15 15" fill="none" stroke="currentColor" stroke-width="1.4"><path d="M2 4h11M2 7.5h11M2 11h7"/></svg>
46
46
  Queues <span class="fd-nav-count"><%= fd_nav_queue_count %></span>
47
47
  <% end %>
48
48
 
49
- <%= link_to flightdeck.processes_path, class: "fd-nav-link#{" on" if controller_name == "processes"}" do %>
49
+ <%= link_to processes_path, class: "fd-nav-link#{" on" if controller_name == "processes"}" do %>
50
50
  <svg width="15" height="15" viewBox="0 0 15 15" fill="none" stroke="currentColor" stroke-width="1.4"><rect x="2" y="2" width="11" height="7" rx="1.5"/><path d="M5 13h5M7.5 9v4"/></svg>
51
51
  Processes <span class="fd-nav-count <%= "alert" if fd_nav_any_dead_processes? %>"><%= fd_nav_process_count %></span>
52
52
  <% end %>
53
53
 
54
- <%= link_to flightdeck.recurring_tasks_path, class: "fd-nav-link#{" on" if controller_name == "recurring_tasks"}" do %>
54
+ <%= link_to recurring_tasks_path, class: "fd-nav-link#{" on" if controller_name == "recurring_tasks"}" do %>
55
55
  <svg width="15" height="15" viewBox="0 0 15 15" fill="none" stroke="currentColor" stroke-width="1.4"><circle cx="7.5" cy="7.5" r="6"/><path d="M7.5 4v3.5l2.5 1.5"/></svg>
56
56
  Recurring <span class="fd-nav-count"><%= fd_nav_recurring_count %></span>
57
57
  <% end %>
@@ -58,12 +58,6 @@ module Flightdeck
58
58
  CONTENT_TYPES.fetch(File.extname(file), "application/octet-stream")
59
59
  end
60
60
 
61
- def reload!
62
- remove_instance_variable(:@manifest) if defined?(@manifest)
63
- remove_instance_variable(:@by_digested_name) if defined?(@by_digested_name)
64
- manifest
65
- end
66
-
67
61
  private
68
62
  def load_manifest
69
63
  path = root.join("manifest.json")
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Flightdeck
4
- VERSION = "0.5.1"
4
+ VERSION = "0.5.3"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flightdeck
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.5.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carl Mercier
@@ -48,8 +48,8 @@ extra_rdoc_files: []
48
48
  files:
49
49
  - MIT-LICENSE
50
50
  - README.md
51
- - app/assets/flightdeck/flightdeck-00403457c5d9.css
52
- - app/assets/flightdeck/flightdeck-8fc2423da15f.js
51
+ - app/assets/flightdeck/flightdeck-3967b9e6c506.css
52
+ - app/assets/flightdeck/flightdeck-3aac23f80afe.js
53
53
  - app/assets/flightdeck/manifest.json
54
54
  - app/controllers/concerns/flightdeck/toasts.rb
55
55
  - app/controllers/flightdeck/application_controller.rb
@@ -70,6 +70,7 @@ files:
70
70
  - app/models/flightdeck/bulk_action.rb
71
71
  - app/models/flightdeck/cache.rb
72
72
  - app/models/flightdeck/cron_schedule.rb
73
+ - app/models/flightdeck/duration.rb
73
74
  - app/models/flightdeck/error_summary.rb
74
75
  - app/models/flightdeck/grouped_failures.rb
75
76
  - app/models/flightdeck/job_detail.rb
@@ -91,7 +92,6 @@ files:
91
92
  - app/views/flightdeck/jobs/_pager.html.erb
92
93
  - app/views/flightdeck/jobs/_row.html.erb
93
94
  - app/views/flightdeck/jobs/_state_tabs.html.erb
94
- - app/views/flightdeck/jobs/actions/create.turbo_stream.erb
95
95
  - app/views/flightdeck/jobs/index.html.erb
96
96
  - app/views/flightdeck/jobs/show.html.erb
97
97
  - app/views/flightdeck/metrics/_bar_chart.html.erb
@@ -108,14 +108,12 @@ files:
108
108
  - app/views/flightdeck/processes/_fleet.html.erb
109
109
  - app/views/flightdeck/processes/_row.html.erb
110
110
  - app/views/flightdeck/processes/index.html.erb
111
- - app/views/flightdeck/processes/prune.turbo_stream.erb
112
111
  - app/views/flightdeck/queues/_cards.html.erb
113
112
  - app/views/flightdeck/queues/index.html.erb
114
- - app/views/flightdeck/queues/update.turbo_stream.erb
115
113
  - app/views/flightdeck/recurring_tasks/_table.html.erb
116
114
  - app/views/flightdeck/recurring_tasks/index.html.erb
117
- - app/views/flightdeck/recurring_tasks/run.turbo_stream.erb
118
115
  - app/views/flightdeck/shared/_toast.html.erb
116
+ - app/views/flightdeck/shared/refresh.turbo_stream.erb
119
117
  - app/views/layouts/flightdeck/application.html.erb
120
118
  - config/routes.rb
121
119
  - lib/flightdeck.rb
@@ -1,18 +0,0 @@
1
- <turbo-stream action="append" target="fd-toasts">
2
- <template><%= render partial: "flightdeck/shared/toast", formats: [ :html ], locals: { toast: @toast } %></template>
3
- </turbo-stream>
4
-
5
- <%# Re-render the list the action was launched from, so counts, rows and the
6
- state tabs all settle in the same round trip. A page that has no jobs frame
7
- (the job detail page, say) simply ignores this stream. %>
8
- <turbo-stream action="replace" target="fd-jobs">
9
- <template>
10
- <turbo-frame id="fd-jobs"
11
- data-controller="refresh"
12
- data-refresh-interval-value="<%= (Flightdeck.config.poll_interval.to_f * 1000).round %>"
13
- data-refresh-url-value="<%= fd_refreshed_list_url %>">
14
- <%= render partial: "flightdeck/jobs/list", formats: [ :html ],
15
- locals: { query: @refreshed_query, rows: @refreshed_rows, groups: @refreshed_groups } %>
16
- </turbo-frame>
17
- </template>
18
- </turbo-stream>
@@ -1,15 +0,0 @@
1
- <turbo-stream action="append" target="fd-toasts">
2
- <template><%= render partial: "flightdeck/shared/toast", formats: [ :html ], locals: { toast: @toast } %></template>
3
- </turbo-stream>
4
-
5
- <turbo-stream action="replace" target="fd-processes">
6
- <template>
7
- <turbo-frame id="fd-processes"
8
- target="_top"
9
- data-controller="refresh"
10
- data-refresh-interval-value="<%= (Flightdeck.config.poll_interval.to_f * 1000).round %>"
11
- data-refresh-url-value="<%= processes_path %>">
12
- <%= render partial: "flightdeck/processes/fleet", formats: [ :html ], locals: { registry: @registry } %>
13
- </turbo-frame>
14
- </template>
15
- </turbo-stream>
@@ -1,15 +0,0 @@
1
- <turbo-stream action="append" target="fd-toasts">
2
- <template><%= render partial: "flightdeck/shared/toast", formats: [ :html ], locals: { toast: @toast } %></template>
3
- </turbo-stream>
4
-
5
- <turbo-stream action="replace" target="fd-queues">
6
- <template>
7
- <turbo-frame id="fd-queues"
8
- target="_top"
9
- data-controller="refresh"
10
- data-refresh-interval-value="<%= (Flightdeck.config.poll_interval.to_f * 1000).round %>"
11
- data-refresh-url-value="<%= queues_path %>">
12
- <%= render partial: "flightdeck/queues/cards", formats: [ :html ], locals: { stats: @stats, sparklines: @sparklines } %>
13
- </turbo-frame>
14
- </template>
15
- </turbo-stream>
@@ -1,15 +0,0 @@
1
- <turbo-stream action="append" target="fd-toasts">
2
- <template><%= render partial: "flightdeck/shared/toast", formats: [ :html ], locals: { toast: @toast } %></template>
3
- </turbo-stream>
4
-
5
- <turbo-stream action="replace" target="fd-recurring">
6
- <template>
7
- <turbo-frame id="fd-recurring"
8
- target="_top"
9
- data-controller="refresh"
10
- data-refresh-interval-value="<%= (Flightdeck.config.poll_interval.to_f * 1000).round %>"
11
- data-refresh-url-value="<%= recurring_tasks_path %>">
12
- <%= render partial: "flightdeck/recurring_tasks/table", formats: [ :html ], locals: { catalog: @catalog } %>
13
- </turbo-frame>
14
- </template>
15
- </turbo-stream>