source_monitor 0.1.3 → 0.2.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/CHANGELOG.md +22 -0
- data/Gemfile.lock +1 -1
- data/app/assets/javascripts/source_monitor/application.js +4 -0
- data/app/assets/javascripts/source_monitor/controllers/confirm_navigation_controller.js +49 -0
- data/app/assets/javascripts/source_monitor/controllers/select_all_controller.js +36 -0
- data/app/controllers/source_monitor/import_sessions_controller.rb +791 -0
- data/app/controllers/source_monitor/sources_controller.rb +5 -36
- data/app/helpers/source_monitor/application_helper.rb +17 -0
- data/app/jobs/source_monitor/import_opml_job.rb +150 -0
- data/app/jobs/source_monitor/import_session_health_check_job.rb +93 -0
- data/app/models/source_monitor/import_history.rb +35 -0
- data/app/models/source_monitor/import_session.rb +34 -0
- data/app/views/source_monitor/import_sessions/_header.html.erb +12 -0
- data/app/views/source_monitor/import_sessions/_sidebar.html.erb +23 -0
- data/app/views/source_monitor/import_sessions/health_check/_progress.html.erb +20 -0
- data/app/views/source_monitor/import_sessions/health_check/_row.html.erb +44 -0
- data/app/views/source_monitor/import_sessions/show.html.erb +15 -0
- data/app/views/source_monitor/import_sessions/show.turbo_stream.erb +1 -0
- data/app/views/source_monitor/import_sessions/steps/_configure.html.erb +53 -0
- data/app/views/source_monitor/import_sessions/steps/_confirm.html.erb +121 -0
- data/app/views/source_monitor/import_sessions/steps/_health_check.html.erb +82 -0
- data/app/views/source_monitor/import_sessions/steps/_navigation.html.erb +29 -0
- data/app/views/source_monitor/import_sessions/steps/_preview.html.erb +172 -0
- data/app/views/source_monitor/import_sessions/steps/_upload.html.erb +42 -0
- data/app/views/source_monitor/sources/_form.html.erb +8 -138
- data/app/views/source_monitor/sources/_form_fields.html.erb +142 -0
- data/app/views/source_monitor/sources/_import_history_panel.html.erb +53 -0
- data/app/views/source_monitor/sources/index.html.erb +7 -1
- data/config/coverage_baseline.json +91 -15
- data/config/routes.rb +6 -0
- data/db/migrate/20251124090000_create_import_sessions.rb +18 -0
- data/db/migrate/20251124153000_add_health_fields_to_import_sessions.rb +14 -0
- data/db/migrate/20251125094500_create_import_histories.rb +19 -0
- data/lib/source_monitor/health/import_source_health_check.rb +55 -0
- data/lib/source_monitor/health.rb +1 -0
- data/lib/source_monitor/import_sessions/entry_normalizer.rb +30 -0
- data/lib/source_monitor/import_sessions/health_check_broadcaster.rb +103 -0
- data/lib/source_monitor/sources/params.rb +52 -0
- data/lib/source_monitor/version.rb +1 -1
- data/tasks/completed/codebase_audit_2025.md +1396 -0
- data/tasks/completed/engine-asset-configuration.md +203 -0
- data/tasks/completed/opml-import-wizard/opml-import-wizard-product-brief.md +58 -0
- data/tasks/completed/opml-import-wizard/opml-import-wizard-tech-brief.md +75 -0
- data/tasks/completed/opml-import-wizard/task-01/instructions.md +81 -0
- data/tasks/completed/opml-import-wizard/task-01/requirements.md +19 -0
- data/tasks/completed/opml-import-wizard/task-02/instructions.md +83 -0
- data/tasks/completed/opml-import-wizard/task-02/requirements.md +18 -0
- data/tasks/completed/opml-import-wizard/task-03/instructions.md +58 -0
- data/tasks/completed/opml-import-wizard/task-03/requirements.md +18 -0
- data/tasks/completed/opml-import-wizard/task-04/instructions.md +84 -0
- data/tasks/completed/opml-import-wizard/task-04/requirements.md +17 -0
- data/tasks/completed/opml-import-wizard/task-05/instructions.md +50 -0
- data/tasks/completed/opml-import-wizard/task-05/requirements.md +17 -0
- data/tasks/completed/opml-import-wizard/task-06/instructions.md +92 -0
- data/tasks/completed/opml-import-wizard/task-06/requirements.md +21 -0
- data/tasks/completed/phase_17_01_complexity_audit_2025-10-12.md +62 -0
- data/tasks/completed/phase_17_02_complexity_findings_2025-10-12.md +74 -0
- data/tasks/completed/phase_17_03_refactor_plan_2025-10-12.md +37 -0
- data/tasks/completed/phase_21_01_log_consolidation_2025-10-15.md +30 -0
- data/tasks/completed/release_checklist.md +23 -0
- data/tasks/completed/routes_refactor_evaluation.md +109 -0
- data/tasks/completed/source_monitor_rename_plan.md +70 -0
- data/tasks/completed/tasks.md +952 -0
- data/tasks/ideas.md +10 -0
- metadata +56 -3
- /data/tasks/{prd-setup-workflow-streamlining.md → completed/prd-setup-workflow-streamlining.md} +0 -0
- /data/tasks/{tasks-setup-workflow-streamlining.md → completed/tasks-setup-workflow-streamlining.md} +0 -0
data/tasks/ideas.md
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
- [ ] job queues stats cards needs to be rethought
|
|
2
|
+
- [X] ~~*add opml import/export*~~ [2025-11-25]
|
|
3
|
+
- [ ] clean upgrade strategy
|
|
4
|
+
- [ ] growl notifications are spamming the user when taking bulk actions
|
|
5
|
+
- [ ] add ability to manage per-source scraping rate limits to override configuration defaults
|
|
6
|
+
- [ ] ensure adaptive scheduling only reacts to truly new content (fetching a feed should use hashing on the summary or scrape to determine the item has really been updated, otherwise don't update anything)
|
|
7
|
+
- [ ] automatically extract transcripts from content that is mostly video or audio
|
|
8
|
+
- [ ] explore using this for markdown conversion (could be optional adapter for sources): https://github.com/Goldziher/html-to-markdown/blob/main/packages%2Fruby%2FREADME.md
|
|
9
|
+
- [ ] sources show page needs pagination for items
|
|
10
|
+
- [ ] sources show page should truncate item content to first 100 characters (with a stimulus expand link under the truncated content to show full body)
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: source_monitor
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- dchuk
|
|
@@ -254,9 +254,11 @@ files:
|
|
|
254
254
|
- app/assets/images/source_monitor/.keep
|
|
255
255
|
- app/assets/javascripts/source_monitor/application.js
|
|
256
256
|
- app/assets/javascripts/source_monitor/controllers/async_submit_controller.js
|
|
257
|
+
- app/assets/javascripts/source_monitor/controllers/confirm_navigation_controller.js
|
|
257
258
|
- app/assets/javascripts/source_monitor/controllers/dropdown_controller.js
|
|
258
259
|
- app/assets/javascripts/source_monitor/controllers/modal_controller.js
|
|
259
260
|
- app/assets/javascripts/source_monitor/controllers/notification_controller.js
|
|
261
|
+
- app/assets/javascripts/source_monitor/controllers/select_all_controller.js
|
|
260
262
|
- app/assets/javascripts/source_monitor/turbo_actions.js
|
|
261
263
|
- app/assets/stylesheets/source_monitor/application.tailwind.css
|
|
262
264
|
- app/assets/svgs/source_monitor/.keep
|
|
@@ -266,6 +268,7 @@ files:
|
|
|
266
268
|
- app/controllers/source_monitor/dashboard_controller.rb
|
|
267
269
|
- app/controllers/source_monitor/fetch_logs_controller.rb
|
|
268
270
|
- app/controllers/source_monitor/health_controller.rb
|
|
271
|
+
- app/controllers/source_monitor/import_sessions_controller.rb
|
|
269
272
|
- app/controllers/source_monitor/items_controller.rb
|
|
270
273
|
- app/controllers/source_monitor/logs_controller.rb
|
|
271
274
|
- app/controllers/source_monitor/scrape_logs_controller.rb
|
|
@@ -279,6 +282,8 @@ files:
|
|
|
279
282
|
- app/helpers/source_monitor/application_helper.rb
|
|
280
283
|
- app/jobs/source_monitor/application_job.rb
|
|
281
284
|
- app/jobs/source_monitor/fetch_feed_job.rb
|
|
285
|
+
- app/jobs/source_monitor/import_opml_job.rb
|
|
286
|
+
- app/jobs/source_monitor/import_session_health_check_job.rb
|
|
282
287
|
- app/jobs/source_monitor/item_cleanup_job.rb
|
|
283
288
|
- app/jobs/source_monitor/log_cleanup_job.rb
|
|
284
289
|
- app/jobs/source_monitor/schedule_fetches_job.rb
|
|
@@ -290,6 +295,8 @@ files:
|
|
|
290
295
|
- app/models/source_monitor/application_record.rb
|
|
291
296
|
- app/models/source_monitor/fetch_log.rb
|
|
292
297
|
- app/models/source_monitor/health_check_log.rb
|
|
298
|
+
- app/models/source_monitor/import_history.rb
|
|
299
|
+
- app/models/source_monitor/import_session.rb
|
|
293
300
|
- app/models/source_monitor/item.rb
|
|
294
301
|
- app/models/source_monitor/item_content.rb
|
|
295
302
|
- app/models/source_monitor/log_entry.rb
|
|
@@ -303,6 +310,18 @@ files:
|
|
|
303
310
|
- app/views/source_monitor/dashboard/_stats.html.erb
|
|
304
311
|
- app/views/source_monitor/dashboard/index.html.erb
|
|
305
312
|
- app/views/source_monitor/fetch_logs/show.html.erb
|
|
313
|
+
- app/views/source_monitor/import_sessions/_header.html.erb
|
|
314
|
+
- app/views/source_monitor/import_sessions/_sidebar.html.erb
|
|
315
|
+
- app/views/source_monitor/import_sessions/health_check/_progress.html.erb
|
|
316
|
+
- app/views/source_monitor/import_sessions/health_check/_row.html.erb
|
|
317
|
+
- app/views/source_monitor/import_sessions/show.html.erb
|
|
318
|
+
- app/views/source_monitor/import_sessions/show.turbo_stream.erb
|
|
319
|
+
- app/views/source_monitor/import_sessions/steps/_configure.html.erb
|
|
320
|
+
- app/views/source_monitor/import_sessions/steps/_confirm.html.erb
|
|
321
|
+
- app/views/source_monitor/import_sessions/steps/_health_check.html.erb
|
|
322
|
+
- app/views/source_monitor/import_sessions/steps/_navigation.html.erb
|
|
323
|
+
- app/views/source_monitor/import_sessions/steps/_preview.html.erb
|
|
324
|
+
- app/views/source_monitor/import_sessions/steps/_upload.html.erb
|
|
306
325
|
- app/views/source_monitor/items/_details.html.erb
|
|
307
326
|
- app/views/source_monitor/items/_details_wrapper.html.erb
|
|
308
327
|
- app/views/source_monitor/items/index.html.erb
|
|
@@ -317,7 +336,9 @@ files:
|
|
|
317
336
|
- app/views/source_monitor/sources/_empty_state_row.html.erb
|
|
318
337
|
- app/views/source_monitor/sources/_fetch_interval_heatmap.html.erb
|
|
319
338
|
- app/views/source_monitor/sources/_form.html.erb
|
|
339
|
+
- app/views/source_monitor/sources/_form_fields.html.erb
|
|
320
340
|
- app/views/source_monitor/sources/_health_status_badge.html.erb
|
|
341
|
+
- app/views/source_monitor/sources/_import_history_panel.html.erb
|
|
321
342
|
- app/views/source_monitor/sources/_row.html.erb
|
|
322
343
|
- app/views/source_monitor/sources/edit.html.erb
|
|
323
344
|
- app/views/source_monitor/sources/index.html.erb
|
|
@@ -348,6 +369,9 @@ files:
|
|
|
348
369
|
- db/migrate/20251015100000_create_source_monitor_log_entries.rb
|
|
349
370
|
- db/migrate/20251022100000_create_source_monitor_health_check_logs.rb
|
|
350
371
|
- db/migrate/20251108120116_refresh_fetch_status_constraint.rb
|
|
372
|
+
- db/migrate/20251124090000_create_import_sessions.rb
|
|
373
|
+
- db/migrate/20251124153000_add_health_fields_to_import_sessions.rb
|
|
374
|
+
- db/migrate/20251125094500_create_import_histories.rb
|
|
351
375
|
- docs/configuration.md
|
|
352
376
|
- docs/deployment.md
|
|
353
377
|
- docs/gh-cli-workflow.md
|
|
@@ -384,10 +408,13 @@ files:
|
|
|
384
408
|
- lib/source_monitor/fetching/retry_policy.rb
|
|
385
409
|
- lib/source_monitor/fetching/stalled_fetch_reconciler.rb
|
|
386
410
|
- lib/source_monitor/health.rb
|
|
411
|
+
- lib/source_monitor/health/import_source_health_check.rb
|
|
387
412
|
- lib/source_monitor/health/source_health_check.rb
|
|
388
413
|
- lib/source_monitor/health/source_health_monitor.rb
|
|
389
414
|
- lib/source_monitor/health/source_health_reset.rb
|
|
390
415
|
- lib/source_monitor/http.rb
|
|
416
|
+
- lib/source_monitor/import_sessions/entry_normalizer.rb
|
|
417
|
+
- lib/source_monitor/import_sessions/health_check_broadcaster.rb
|
|
391
418
|
- lib/source_monitor/instrumentation.rb
|
|
392
419
|
- lib/source_monitor/items/item_creator.rb
|
|
393
420
|
- lib/source_monitor/items/retention_pruner.rb
|
|
@@ -446,6 +473,7 @@ files:
|
|
|
446
473
|
- lib/source_monitor/setup/verification/solid_queue_verifier.rb
|
|
447
474
|
- lib/source_monitor/setup/verification/telemetry_logger.rb
|
|
448
475
|
- lib/source_monitor/setup/workflow.rb
|
|
476
|
+
- lib/source_monitor/sources/params.rb
|
|
449
477
|
- lib/source_monitor/sources/turbo_stream_presenter.rb
|
|
450
478
|
- lib/source_monitor/turbo_streams/stream_responder.rb
|
|
451
479
|
- lib/source_monitor/version.rb
|
|
@@ -459,8 +487,33 @@ files:
|
|
|
459
487
|
- postcss.config.js
|
|
460
488
|
- source_monitor.gemspec
|
|
461
489
|
- stylelint.config.js
|
|
462
|
-
- tasks/
|
|
463
|
-
- tasks/
|
|
490
|
+
- tasks/completed/codebase_audit_2025.md
|
|
491
|
+
- tasks/completed/engine-asset-configuration.md
|
|
492
|
+
- tasks/completed/opml-import-wizard/opml-import-wizard-product-brief.md
|
|
493
|
+
- tasks/completed/opml-import-wizard/opml-import-wizard-tech-brief.md
|
|
494
|
+
- tasks/completed/opml-import-wizard/task-01/instructions.md
|
|
495
|
+
- tasks/completed/opml-import-wizard/task-01/requirements.md
|
|
496
|
+
- tasks/completed/opml-import-wizard/task-02/instructions.md
|
|
497
|
+
- tasks/completed/opml-import-wizard/task-02/requirements.md
|
|
498
|
+
- tasks/completed/opml-import-wizard/task-03/instructions.md
|
|
499
|
+
- tasks/completed/opml-import-wizard/task-03/requirements.md
|
|
500
|
+
- tasks/completed/opml-import-wizard/task-04/instructions.md
|
|
501
|
+
- tasks/completed/opml-import-wizard/task-04/requirements.md
|
|
502
|
+
- tasks/completed/opml-import-wizard/task-05/instructions.md
|
|
503
|
+
- tasks/completed/opml-import-wizard/task-05/requirements.md
|
|
504
|
+
- tasks/completed/opml-import-wizard/task-06/instructions.md
|
|
505
|
+
- tasks/completed/opml-import-wizard/task-06/requirements.md
|
|
506
|
+
- tasks/completed/phase_17_01_complexity_audit_2025-10-12.md
|
|
507
|
+
- tasks/completed/phase_17_02_complexity_findings_2025-10-12.md
|
|
508
|
+
- tasks/completed/phase_17_03_refactor_plan_2025-10-12.md
|
|
509
|
+
- tasks/completed/phase_21_01_log_consolidation_2025-10-15.md
|
|
510
|
+
- tasks/completed/prd-setup-workflow-streamlining.md
|
|
511
|
+
- tasks/completed/release_checklist.md
|
|
512
|
+
- tasks/completed/routes_refactor_evaluation.md
|
|
513
|
+
- tasks/completed/source_monitor_rename_plan.md
|
|
514
|
+
- tasks/completed/tasks-setup-workflow-streamlining.md
|
|
515
|
+
- tasks/completed/tasks.md
|
|
516
|
+
- tasks/ideas.md
|
|
464
517
|
homepage: https://github.com/dchuk/source_monitor
|
|
465
518
|
licenses:
|
|
466
519
|
- MIT
|
/data/tasks/{prd-setup-workflow-streamlining.md → completed/prd-setup-workflow-streamlining.md}
RENAMED
|
File without changes
|
/data/tasks/{tasks-setup-workflow-streamlining.md → completed/tasks-setup-workflow-streamlining.md}
RENAMED
|
File without changes
|