itsi 0.1.11 → 0.1.12

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 (293) hide show
  1. checksums.yaml +4 -4
  2. data/Cargo.lock +1535 -45
  3. data/{sandbox/itsi_itsi_file/Itsi.rb → Itsi.rb} +19 -13
  4. data/Rakefile +8 -7
  5. data/crates/itsi_error/src/lib.rs +9 -0
  6. data/crates/itsi_rb_helpers/Cargo.toml +1 -0
  7. data/crates/itsi_rb_helpers/src/heap_value.rs +18 -0
  8. data/crates/itsi_rb_helpers/src/lib.rs +34 -7
  9. data/crates/itsi_server/Cargo.toml +69 -30
  10. data/crates/itsi_server/src/lib.rs +79 -147
  11. data/crates/itsi_server/src/{body_proxy → ruby_types/itsi_body_proxy}/big_bytes.rs +10 -5
  12. data/crates/itsi_server/src/{body_proxy/itsi_body_proxy.rs → ruby_types/itsi_body_proxy/mod.rs} +22 -3
  13. data/crates/itsi_server/src/ruby_types/itsi_grpc_request.rs +147 -0
  14. data/crates/itsi_server/src/ruby_types/itsi_grpc_response.rs +19 -0
  15. data/crates/itsi_server/src/ruby_types/itsi_grpc_stream/mod.rs +216 -0
  16. data/{gems/server/ext/itsi_server/src/request/itsi_request.rs → crates/itsi_server/src/ruby_types/itsi_http_request.rs} +101 -117
  17. data/crates/itsi_server/src/{response/itsi_response.rs → ruby_types/itsi_http_response.rs} +72 -41
  18. data/crates/itsi_server/src/ruby_types/itsi_server/file_watcher.rs +225 -0
  19. data/crates/itsi_server/src/ruby_types/itsi_server/itsi_server_config.rs +355 -0
  20. data/crates/itsi_server/src/ruby_types/itsi_server.rs +82 -0
  21. data/crates/itsi_server/src/ruby_types/mod.rs +55 -0
  22. data/crates/itsi_server/src/server/bind.rs +13 -5
  23. data/crates/itsi_server/src/server/byte_frame.rs +32 -0
  24. data/crates/itsi_server/src/server/cache_store.rs +74 -0
  25. data/crates/itsi_server/src/server/itsi_service.rs +172 -0
  26. data/crates/itsi_server/src/server/lifecycle_event.rs +3 -0
  27. data/crates/itsi_server/src/server/listener.rs +102 -2
  28. data/crates/itsi_server/src/server/middleware_stack/middleware.rs +153 -0
  29. data/crates/itsi_server/src/server/middleware_stack/middlewares/allow_list.rs +47 -0
  30. data/crates/itsi_server/src/server/middleware_stack/middlewares/auth_api_key.rs +58 -0
  31. data/crates/itsi_server/src/server/middleware_stack/middlewares/auth_basic.rs +82 -0
  32. data/crates/itsi_server/src/server/middleware_stack/middlewares/auth_jwt.rs +321 -0
  33. data/crates/itsi_server/src/server/middleware_stack/middlewares/cache_control.rs +139 -0
  34. data/crates/itsi_server/src/server/middleware_stack/middlewares/compression.rs +300 -0
  35. data/crates/itsi_server/src/server/middleware_stack/middlewares/cors.rs +287 -0
  36. data/crates/itsi_server/src/server/middleware_stack/middlewares/deny_list.rs +48 -0
  37. data/crates/itsi_server/src/server/middleware_stack/middlewares/error_response.rs +127 -0
  38. data/crates/itsi_server/src/server/middleware_stack/middlewares/etag.rs +191 -0
  39. data/crates/itsi_server/src/server/middleware_stack/middlewares/grpc_service.rs +72 -0
  40. data/crates/itsi_server/src/server/middleware_stack/middlewares/header_interpretation.rs +85 -0
  41. data/crates/itsi_server/src/server/middleware_stack/middlewares/intrusion_protection.rs +195 -0
  42. data/crates/itsi_server/src/server/middleware_stack/middlewares/log_requests.rs +82 -0
  43. data/crates/itsi_server/src/server/middleware_stack/middlewares/mod.rs +82 -0
  44. data/crates/itsi_server/src/server/middleware_stack/middlewares/proxy.rs +216 -0
  45. data/crates/itsi_server/src/server/middleware_stack/middlewares/rate_limit.rs +124 -0
  46. data/crates/itsi_server/src/server/middleware_stack/middlewares/redirect.rs +76 -0
  47. data/crates/itsi_server/src/server/middleware_stack/middlewares/request_headers.rs +43 -0
  48. data/crates/itsi_server/src/server/middleware_stack/middlewares/response_headers.rs +34 -0
  49. data/crates/itsi_server/src/server/middleware_stack/middlewares/ruby_app.rs +93 -0
  50. data/crates/itsi_server/src/server/middleware_stack/middlewares/static_assets.rs +162 -0
  51. data/crates/itsi_server/src/server/middleware_stack/middlewares/string_rewrite.rs +158 -0
  52. data/crates/itsi_server/src/server/middleware_stack/middlewares/token_source.rs +12 -0
  53. data/crates/itsi_server/src/server/middleware_stack/mod.rs +315 -0
  54. data/crates/itsi_server/src/server/mod.rs +8 -1
  55. data/crates/itsi_server/src/server/process_worker.rs +38 -12
  56. data/crates/itsi_server/src/server/rate_limiter.rs +565 -0
  57. data/crates/itsi_server/src/server/request_job.rs +11 -0
  58. data/crates/itsi_server/src/server/serve_strategy/cluster_mode.rs +119 -42
  59. data/crates/itsi_server/src/server/serve_strategy/mod.rs +9 -6
  60. data/crates/itsi_server/src/server/serve_strategy/single_mode.rs +256 -111
  61. data/crates/itsi_server/src/server/signal.rs +19 -0
  62. data/crates/itsi_server/src/server/static_file_server.rs +984 -0
  63. data/crates/itsi_server/src/server/thread_worker.rs +139 -94
  64. data/crates/itsi_server/src/server/types.rs +43 -0
  65. data/crates/itsi_server/test.md +14 -0
  66. data/crates/itsi_tracing/Cargo.toml +1 -0
  67. data/crates/itsi_tracing/src/lib.rs +216 -45
  68. data/docs/.gitignore +7 -0
  69. data/docs/.gitpod.yml +15 -0
  70. data/docs/Itsi.rb +17 -0
  71. data/docs/content/_index.md +17 -0
  72. data/docs/content/about.md +6 -0
  73. data/docs/content/docs/_index.md +18 -0
  74. data/docs/content/docs/first-page.md +9 -0
  75. data/docs/content/docs/folder/_index.md +10 -0
  76. data/docs/content/docs/folder/leaf.md +7 -0
  77. data/docs/go.mod +5 -0
  78. data/docs/go.sum +2 -0
  79. data/docs/hugo.yaml +77 -0
  80. data/examples/static_assets_example.rb +83 -0
  81. data/gems/_index.md +18 -0
  82. data/gems/scheduler/CODE_OF_CONDUCT.md +7 -0
  83. data/gems/scheduler/Cargo.lock +75 -14
  84. data/gems/scheduler/README.md +5 -0
  85. data/gems/scheduler/_index.md +7 -0
  86. data/gems/scheduler/itsi-scheduler.gemspec +4 -1
  87. data/gems/scheduler/lib/itsi/scheduler/version.rb +1 -1
  88. data/gems/scheduler/lib/itsi/scheduler.rb +2 -2
  89. data/gems/scheduler/test/test_file_io.rb +0 -1
  90. data/gems/scheduler/test/test_itsi_scheduler.rb +1 -1
  91. data/gems/server/CHANGELOG.md +5 -0
  92. data/gems/server/CODE_OF_CONDUCT.md +7 -0
  93. data/gems/server/Cargo.lock +1536 -45
  94. data/gems/server/README.md +4 -0
  95. data/gems/server/_index.md +6 -0
  96. data/gems/server/exe/itsi +33 -74
  97. data/gems/server/itsi-server.gemspec +3 -2
  98. data/gems/server/lib/itsi/{request.rb → http_request.rb} +29 -5
  99. data/gems/server/lib/itsi/http_response.rb +39 -0
  100. data/gems/server/lib/itsi/server/Itsi.rb +11 -19
  101. data/gems/server/lib/itsi/server/config/dsl.rb +506 -0
  102. data/gems/server/lib/itsi/server/config.rb +103 -8
  103. data/gems/server/lib/itsi/server/default_app/default_app.rb +38 -0
  104. data/gems/server/lib/itsi/server/grpc_interface.rb +213 -0
  105. data/gems/server/lib/itsi/server/rack/handler/itsi.rb +8 -17
  106. data/gems/server/lib/itsi/server/rack_interface.rb +23 -4
  107. data/gems/server/lib/itsi/server/scheduler_interface.rb +1 -1
  108. data/gems/server/lib/itsi/server/scheduler_mode.rb +4 -0
  109. data/gems/server/lib/itsi/server/signal_trap.rb +7 -1
  110. data/gems/server/lib/itsi/server/version.rb +1 -1
  111. data/gems/server/lib/itsi/server.rb +74 -63
  112. data/gems/server/lib/itsi/standard_headers.rb +86 -0
  113. data/gems/server/test/helpers/test_helper.rb +12 -12
  114. data/gems/server/test/test_itsi_server.rb +2 -2
  115. data/lib/itsi/version.rb +1 -1
  116. data/sandbox/itsi_file/Gemfile +11 -0
  117. data/sandbox/itsi_file/Gemfile.lock +69 -0
  118. data/sandbox/itsi_file/Itsi.rb +276 -0
  119. data/sandbox/itsi_file/error.html +2 -0
  120. data/sandbox/itsi_file/organisations_controller.rb +20 -0
  121. data/sandbox/itsi_file/public/assets/image.png +0 -0
  122. data/sandbox/itsi_file/public/assets/index.html +1 -0
  123. data/sandbox/itsi_sandbox_hanami/Gemfile.lock +2 -2
  124. data/sandbox/itsi_sandbox_rack/Gemfile.lock +2 -2
  125. data/sandbox/itsi_sandbox_rack/config.ru +2 -15
  126. data/sandbox/itsi_sandbox_rails/.dockerignore +2 -5
  127. data/sandbox/itsi_sandbox_rails/.github/workflows/ci.yml +1 -1
  128. data/sandbox/itsi_sandbox_rails/.gitignore +2 -1
  129. data/sandbox/itsi_sandbox_rails/Dockerfile +6 -9
  130. data/sandbox/itsi_sandbox_rails/Gemfile +16 -22
  131. data/sandbox/itsi_sandbox_rails/Gemfile.lock +100 -225
  132. data/sandbox/itsi_sandbox_rails/app/assets/config/manifest.js +4 -0
  133. data/sandbox/itsi_sandbox_rails/app/assets/stylesheets/application.css +11 -6
  134. data/sandbox/itsi_sandbox_rails/app/channels/application_cable/channel.rb +4 -0
  135. data/sandbox/itsi_sandbox_rails/app/channels/application_cable/connection.rb +4 -0
  136. data/sandbox/itsi_sandbox_rails/app/controllers/live_controller.rb +7 -8
  137. data/sandbox/itsi_sandbox_rails/app/controllers/uploads_controller.rb +0 -3
  138. data/sandbox/itsi_sandbox_rails/app/views/layouts/application.html.erb +2 -7
  139. data/sandbox/itsi_sandbox_rails/bin/docker-entrypoint +3 -4
  140. data/sandbox/itsi_sandbox_rails/bin/setup +8 -5
  141. data/sandbox/itsi_sandbox_rails/config/application.rb +1 -35
  142. data/sandbox/itsi_sandbox_rails/config/cable.yml +3 -10
  143. data/sandbox/itsi_sandbox_rails/config/credentials.yml.enc +1 -1
  144. data/sandbox/itsi_sandbox_rails/config/database.yml +9 -19
  145. data/sandbox/itsi_sandbox_rails/config/environment.rb +1 -1
  146. data/sandbox/itsi_sandbox_rails/config/environments/development.rb +21 -12
  147. data/sandbox/itsi_sandbox_rails/config/environments/production.rb +49 -34
  148. data/sandbox/itsi_sandbox_rails/config/environments/test.rb +19 -5
  149. data/sandbox/itsi_sandbox_rails/config/initializers/assets.rb +5 -0
  150. data/sandbox/itsi_sandbox_rails/config/initializers/filter_parameter_logging.rb +1 -1
  151. data/sandbox/itsi_sandbox_rails/config/initializers/permissions_policy.rb +13 -0
  152. data/sandbox/itsi_sandbox_rails/config/puma.rb +2 -9
  153. data/sandbox/itsi_sandbox_rails/config.ru +0 -1
  154. data/sandbox/itsi_sandbox_rails/db/migrate/20250301041554_create_posts.rb +1 -1
  155. data/sandbox/itsi_sandbox_rails/db/schema.rb +2 -2
  156. data/sandbox/itsi_sandbox_rails/lib/assets/.keep +0 -0
  157. data/sandbox/itsi_sandbox_rails/public/404.html +66 -113
  158. data/sandbox/itsi_sandbox_rails/public/406-unsupported-browser.html +65 -113
  159. data/sandbox/itsi_sandbox_rails/public/422.html +66 -113
  160. data/sandbox/itsi_sandbox_rails/public/500.html +65 -113
  161. data/sandbox/itsi_sandbox_rails/public/icon.png +0 -0
  162. data/sandbox/itsi_sandbox_rails/public/icon.svg +2 -2
  163. data/sandbox/itsi_sandbox_rails/test/channels/application_cable/connection_test.rb +13 -0
  164. data/sandbox/itsi_sandbox_roda/Gemfile.lock +3 -10
  165. data/tasks.txt +72 -35
  166. metadata +89 -139
  167. data/crates/itsi_server/src/body_proxy/mod.rs +0 -2
  168. data/crates/itsi_server/src/request/itsi_request.rs +0 -298
  169. data/crates/itsi_server/src/request/mod.rs +0 -1
  170. data/crates/itsi_server/src/response/mod.rs +0 -1
  171. data/crates/itsi_server/src/server/itsi_server.rs +0 -288
  172. data/gems/scheduler/ext/itsi_error/Cargo.lock +0 -368
  173. data/gems/scheduler/ext/itsi_error/Cargo.toml +0 -11
  174. data/gems/scheduler/ext/itsi_error/src/from.rs +0 -68
  175. data/gems/scheduler/ext/itsi_error/src/lib.rs +0 -24
  176. data/gems/scheduler/ext/itsi_instrument_entry/Cargo.toml +0 -15
  177. data/gems/scheduler/ext/itsi_instrument_entry/src/lib.rs +0 -31
  178. data/gems/scheduler/ext/itsi_rb_helpers/Cargo.lock +0 -355
  179. data/gems/scheduler/ext/itsi_rb_helpers/Cargo.toml +0 -10
  180. data/gems/scheduler/ext/itsi_rb_helpers/src/heap_value.rs +0 -121
  181. data/gems/scheduler/ext/itsi_rb_helpers/src/lib.rs +0 -201
  182. data/gems/scheduler/ext/itsi_scheduler/Cargo.toml +0 -24
  183. data/gems/scheduler/ext/itsi_scheduler/extconf.rb +0 -6
  184. data/gems/scheduler/ext/itsi_scheduler/src/itsi_scheduler/io_helpers.rs +0 -56
  185. data/gems/scheduler/ext/itsi_scheduler/src/itsi_scheduler/io_waiter.rs +0 -44
  186. data/gems/scheduler/ext/itsi_scheduler/src/itsi_scheduler/timer.rs +0 -44
  187. data/gems/scheduler/ext/itsi_scheduler/src/itsi_scheduler.rs +0 -308
  188. data/gems/scheduler/ext/itsi_scheduler/src/lib.rs +0 -38
  189. data/gems/scheduler/ext/itsi_server/Cargo.lock +0 -2956
  190. data/gems/scheduler/ext/itsi_server/Cargo.toml +0 -50
  191. data/gems/scheduler/ext/itsi_server/extconf.rb +0 -6
  192. data/gems/scheduler/ext/itsi_server/src/body_proxy/big_bytes.rs +0 -104
  193. data/gems/scheduler/ext/itsi_server/src/body_proxy/itsi_body_proxy.rs +0 -122
  194. data/gems/scheduler/ext/itsi_server/src/body_proxy/mod.rs +0 -2
  195. data/gems/scheduler/ext/itsi_server/src/env.rs +0 -43
  196. data/gems/scheduler/ext/itsi_server/src/lib.rs +0 -180
  197. data/gems/scheduler/ext/itsi_server/src/request/itsi_request.rs +0 -298
  198. data/gems/scheduler/ext/itsi_server/src/request/mod.rs +0 -1
  199. data/gems/scheduler/ext/itsi_server/src/response/itsi_response.rs +0 -357
  200. data/gems/scheduler/ext/itsi_server/src/response/mod.rs +0 -1
  201. data/gems/scheduler/ext/itsi_server/src/server/bind.rs +0 -174
  202. data/gems/scheduler/ext/itsi_server/src/server/bind_protocol.rs +0 -37
  203. data/gems/scheduler/ext/itsi_server/src/server/io_stream.rs +0 -104
  204. data/gems/scheduler/ext/itsi_server/src/server/itsi_server.rs +0 -288
  205. data/gems/scheduler/ext/itsi_server/src/server/lifecycle_event.rs +0 -9
  206. data/gems/scheduler/ext/itsi_server/src/server/listener.rs +0 -318
  207. data/gems/scheduler/ext/itsi_server/src/server/mod.rs +0 -11
  208. data/gems/scheduler/ext/itsi_server/src/server/process_worker.rs +0 -203
  209. data/gems/scheduler/ext/itsi_server/src/server/serve_strategy/cluster_mode.rs +0 -260
  210. data/gems/scheduler/ext/itsi_server/src/server/serve_strategy/mod.rs +0 -27
  211. data/gems/scheduler/ext/itsi_server/src/server/serve_strategy/single_mode.rs +0 -276
  212. data/gems/scheduler/ext/itsi_server/src/server/signal.rs +0 -74
  213. data/gems/scheduler/ext/itsi_server/src/server/thread_worker.rs +0 -399
  214. data/gems/scheduler/ext/itsi_server/src/server/tls/locked_dir_cache.rs +0 -132
  215. data/gems/scheduler/ext/itsi_server/src/server/tls.rs +0 -265
  216. data/gems/scheduler/ext/itsi_tracing/Cargo.lock +0 -274
  217. data/gems/scheduler/ext/itsi_tracing/Cargo.toml +0 -16
  218. data/gems/scheduler/ext/itsi_tracing/src/lib.rs +0 -58
  219. data/gems/server/ext/itsi_error/Cargo.lock +0 -368
  220. data/gems/server/ext/itsi_error/Cargo.toml +0 -11
  221. data/gems/server/ext/itsi_error/src/from.rs +0 -68
  222. data/gems/server/ext/itsi_error/src/lib.rs +0 -24
  223. data/gems/server/ext/itsi_instrument_entry/Cargo.toml +0 -15
  224. data/gems/server/ext/itsi_instrument_entry/src/lib.rs +0 -31
  225. data/gems/server/ext/itsi_rb_helpers/Cargo.lock +0 -355
  226. data/gems/server/ext/itsi_rb_helpers/Cargo.toml +0 -10
  227. data/gems/server/ext/itsi_rb_helpers/src/heap_value.rs +0 -121
  228. data/gems/server/ext/itsi_rb_helpers/src/lib.rs +0 -201
  229. data/gems/server/ext/itsi_scheduler/Cargo.toml +0 -24
  230. data/gems/server/ext/itsi_scheduler/extconf.rb +0 -6
  231. data/gems/server/ext/itsi_scheduler/src/itsi_scheduler/io_helpers.rs +0 -56
  232. data/gems/server/ext/itsi_scheduler/src/itsi_scheduler/io_waiter.rs +0 -44
  233. data/gems/server/ext/itsi_scheduler/src/itsi_scheduler/timer.rs +0 -44
  234. data/gems/server/ext/itsi_scheduler/src/itsi_scheduler.rs +0 -308
  235. data/gems/server/ext/itsi_scheduler/src/lib.rs +0 -38
  236. data/gems/server/ext/itsi_server/Cargo.lock +0 -2956
  237. data/gems/server/ext/itsi_server/Cargo.toml +0 -50
  238. data/gems/server/ext/itsi_server/extconf.rb +0 -6
  239. data/gems/server/ext/itsi_server/src/body_proxy/big_bytes.rs +0 -104
  240. data/gems/server/ext/itsi_server/src/body_proxy/itsi_body_proxy.rs +0 -122
  241. data/gems/server/ext/itsi_server/src/body_proxy/mod.rs +0 -2
  242. data/gems/server/ext/itsi_server/src/env.rs +0 -43
  243. data/gems/server/ext/itsi_server/src/lib.rs +0 -180
  244. data/gems/server/ext/itsi_server/src/request/mod.rs +0 -1
  245. data/gems/server/ext/itsi_server/src/response/itsi_response.rs +0 -357
  246. data/gems/server/ext/itsi_server/src/response/mod.rs +0 -1
  247. data/gems/server/ext/itsi_server/src/server/bind.rs +0 -174
  248. data/gems/server/ext/itsi_server/src/server/bind_protocol.rs +0 -37
  249. data/gems/server/ext/itsi_server/src/server/io_stream.rs +0 -104
  250. data/gems/server/ext/itsi_server/src/server/itsi_server.rs +0 -288
  251. data/gems/server/ext/itsi_server/src/server/lifecycle_event.rs +0 -9
  252. data/gems/server/ext/itsi_server/src/server/listener.rs +0 -318
  253. data/gems/server/ext/itsi_server/src/server/mod.rs +0 -11
  254. data/gems/server/ext/itsi_server/src/server/process_worker.rs +0 -203
  255. data/gems/server/ext/itsi_server/src/server/serve_strategy/cluster_mode.rs +0 -260
  256. data/gems/server/ext/itsi_server/src/server/serve_strategy/mod.rs +0 -27
  257. data/gems/server/ext/itsi_server/src/server/serve_strategy/single_mode.rs +0 -276
  258. data/gems/server/ext/itsi_server/src/server/signal.rs +0 -74
  259. data/gems/server/ext/itsi_server/src/server/thread_worker.rs +0 -399
  260. data/gems/server/ext/itsi_server/src/server/tls/locked_dir_cache.rs +0 -132
  261. data/gems/server/ext/itsi_server/src/server/tls.rs +0 -265
  262. data/gems/server/ext/itsi_tracing/Cargo.lock +0 -274
  263. data/gems/server/ext/itsi_tracing/Cargo.toml +0 -16
  264. data/gems/server/ext/itsi_tracing/src/lib.rs +0 -58
  265. data/gems/server/lib/itsi/server/options_dsl.rb +0 -401
  266. data/gems/server/lib/itsi/stream_io.rb +0 -38
  267. data/location_dsl.rb +0 -381
  268. data/sandbox/itsi_sandbox_rails/.kamal/hooks/docker-setup.sample +0 -3
  269. data/sandbox/itsi_sandbox_rails/.kamal/hooks/post-app-boot.sample +0 -3
  270. data/sandbox/itsi_sandbox_rails/.kamal/hooks/post-deploy.sample +0 -14
  271. data/sandbox/itsi_sandbox_rails/.kamal/hooks/post-proxy-reboot.sample +0 -3
  272. data/sandbox/itsi_sandbox_rails/.kamal/hooks/pre-app-boot.sample +0 -3
  273. data/sandbox/itsi_sandbox_rails/.kamal/hooks/pre-build.sample +0 -51
  274. data/sandbox/itsi_sandbox_rails/.kamal/hooks/pre-connect.sample +0 -47
  275. data/sandbox/itsi_sandbox_rails/.kamal/hooks/pre-deploy.sample +0 -109
  276. data/sandbox/itsi_sandbox_rails/.kamal/hooks/pre-proxy-reboot.sample +0 -3
  277. data/sandbox/itsi_sandbox_rails/.kamal/secrets +0 -17
  278. data/sandbox/itsi_sandbox_rails/bin/dev +0 -2
  279. data/sandbox/itsi_sandbox_rails/bin/jobs +0 -6
  280. data/sandbox/itsi_sandbox_rails/bin/kamal +0 -27
  281. data/sandbox/itsi_sandbox_rails/bin/thrust +0 -5
  282. data/sandbox/itsi_sandbox_rails/config/cache.yml +0 -16
  283. data/sandbox/itsi_sandbox_rails/config/deploy.yml +0 -116
  284. data/sandbox/itsi_sandbox_rails/config/queue.yml +0 -18
  285. data/sandbox/itsi_sandbox_rails/config/recurring.yml +0 -10
  286. data/sandbox/itsi_sandbox_rails/db/cable_schema.rb +0 -11
  287. data/sandbox/itsi_sandbox_rails/db/cache_schema.rb +0 -14
  288. data/sandbox/itsi_sandbox_rails/db/queue_schema.rb +0 -129
  289. data/sandbox/itsi_sandbox_rails/public/400.html +0 -114
  290. data/sandbox/itsi_sandbox_rails/test/fixtures/posts.yml +0 -9
  291. data/sandbox/itsi_sandbox_rails/test/models/post_test.rb +0 -7
  292. /data/{sandbox/itsi_sandbox_rails/script/.keep → crates/_index.md} +0 -0
  293. /data/gems/server/lib/itsi/{index.html → server/default_app/index.html} +0 -0
@@ -1,85 +1,79 @@
1
- PATH
2
- remote: ../../../osprey_scheduler
3
- specs:
4
- osprey_scheduler (0.1.0)
5
- async (= 2.21.1)
6
- rb_sys (~> 0.9.91)
7
-
8
1
  PATH
9
2
  remote: ../../gems/scheduler
10
3
  specs:
11
- itsi-scheduler (0.1.10)
4
+ itsi-scheduler (0.1.11)
12
5
  rb_sys (~> 0.9.91)
13
6
 
14
7
  PATH
15
8
  remote: ../../gems/server
16
9
  specs:
17
- itsi-server (0.1.10)
10
+ itsi-server (0.1.11)
18
11
  rack (>= 1.6)
19
12
  rb_sys (~> 0.9.91)
20
13
 
21
14
  GEM
22
15
  remote: https://rubygems.org/
23
16
  specs:
24
- actioncable (8.0.1)
25
- actionpack (= 8.0.1)
26
- activesupport (= 8.0.1)
17
+ actioncable (7.2.2.1)
18
+ actionpack (= 7.2.2.1)
19
+ activesupport (= 7.2.2.1)
27
20
  nio4r (~> 2.0)
28
21
  websocket-driver (>= 0.6.1)
29
22
  zeitwerk (~> 2.6)
30
- actionmailbox (8.0.1)
31
- actionpack (= 8.0.1)
32
- activejob (= 8.0.1)
33
- activerecord (= 8.0.1)
34
- activestorage (= 8.0.1)
35
- activesupport (= 8.0.1)
23
+ actionmailbox (7.2.2.1)
24
+ actionpack (= 7.2.2.1)
25
+ activejob (= 7.2.2.1)
26
+ activerecord (= 7.2.2.1)
27
+ activestorage (= 7.2.2.1)
28
+ activesupport (= 7.2.2.1)
36
29
  mail (>= 2.8.0)
37
- actionmailer (8.0.1)
38
- actionpack (= 8.0.1)
39
- actionview (= 8.0.1)
40
- activejob (= 8.0.1)
41
- activesupport (= 8.0.1)
30
+ actionmailer (7.2.2.1)
31
+ actionpack (= 7.2.2.1)
32
+ actionview (= 7.2.2.1)
33
+ activejob (= 7.2.2.1)
34
+ activesupport (= 7.2.2.1)
42
35
  mail (>= 2.8.0)
43
36
  rails-dom-testing (~> 2.2)
44
- actionpack (8.0.1)
45
- actionview (= 8.0.1)
46
- activesupport (= 8.0.1)
37
+ actionpack (7.2.2.1)
38
+ actionview (= 7.2.2.1)
39
+ activesupport (= 7.2.2.1)
47
40
  nokogiri (>= 1.8.5)
48
- rack (>= 2.2.4)
41
+ racc
42
+ rack (>= 2.2.4, < 3.2)
49
43
  rack-session (>= 1.0.1)
50
44
  rack-test (>= 0.6.3)
51
45
  rails-dom-testing (~> 2.2)
52
46
  rails-html-sanitizer (~> 1.6)
53
47
  useragent (~> 0.16)
54
- actiontext (8.0.1)
55
- actionpack (= 8.0.1)
56
- activerecord (= 8.0.1)
57
- activestorage (= 8.0.1)
58
- activesupport (= 8.0.1)
48
+ actiontext (7.2.2.1)
49
+ actionpack (= 7.2.2.1)
50
+ activerecord (= 7.2.2.1)
51
+ activestorage (= 7.2.2.1)
52
+ activesupport (= 7.2.2.1)
59
53
  globalid (>= 0.6.0)
60
54
  nokogiri (>= 1.8.5)
61
- actionview (8.0.1)
62
- activesupport (= 8.0.1)
55
+ actionview (7.2.2.1)
56
+ activesupport (= 7.2.2.1)
63
57
  builder (~> 3.1)
64
58
  erubi (~> 1.11)
65
59
  rails-dom-testing (~> 2.2)
66
60
  rails-html-sanitizer (~> 1.6)
67
- activejob (8.0.1)
68
- activesupport (= 8.0.1)
61
+ activejob (7.2.2.1)
62
+ activesupport (= 7.2.2.1)
69
63
  globalid (>= 0.3.6)
70
- activemodel (8.0.1)
71
- activesupport (= 8.0.1)
72
- activerecord (8.0.1)
73
- activemodel (= 8.0.1)
74
- activesupport (= 8.0.1)
64
+ activemodel (7.2.2.1)
65
+ activesupport (= 7.2.2.1)
66
+ activerecord (7.2.2.1)
67
+ activemodel (= 7.2.2.1)
68
+ activesupport (= 7.2.2.1)
75
69
  timeout (>= 0.4.0)
76
- activestorage (8.0.1)
77
- actionpack (= 8.0.1)
78
- activejob (= 8.0.1)
79
- activerecord (= 8.0.1)
80
- activesupport (= 8.0.1)
70
+ activestorage (7.2.2.1)
71
+ actionpack (= 7.2.2.1)
72
+ activejob (= 7.2.2.1)
73
+ activerecord (= 7.2.2.1)
74
+ activesupport (= 7.2.2.1)
81
75
  marcel (~> 1.0)
82
- activesupport (8.0.1)
76
+ activesupport (7.2.2.1)
83
77
  base64
84
78
  benchmark (>= 0.3)
85
79
  bigdecimal
@@ -91,35 +85,10 @@ GEM
91
85
  minitest (>= 5.1)
92
86
  securerandom (>= 0.3)
93
87
  tzinfo (~> 2.0, >= 2.0.5)
94
- uri (>= 0.13.1)
95
88
  addressable (2.8.7)
96
89
  public_suffix (>= 2.0.2, < 7.0)
97
90
  ast (2.4.2)
98
- async (2.21.1)
99
- console (~> 1.29)
100
- fiber-annotation
101
- io-event (~> 1.6, >= 1.6.5)
102
- async-container (0.19.0)
103
- async (~> 2.10)
104
- async-http (0.87.0)
105
- async (>= 2.10.2)
106
- async-pool (~> 0.9)
107
- io-endpoint (~> 0.14)
108
- io-stream (~> 0.6)
109
- metrics (~> 0.12)
110
- protocol-http (~> 0.49)
111
- protocol-http1 (~> 0.30)
112
- protocol-http2 (~> 0.22)
113
- traces (~> 0.10)
114
- async-http-cache (0.4.5)
115
- async-http (~> 0.56)
116
- async-pool (0.10.3)
117
- async (>= 1.25)
118
- async-service (0.12.0)
119
- async
120
- async-container (~> 0.16)
121
91
  base64 (0.2.0)
122
- bcrypt_pbkdf (1.1.1)
123
92
  benchmark (0.4.0)
124
93
  bigdecimal (3.1.9)
125
94
  bindex (0.8.1)
@@ -139,41 +108,13 @@ GEM
139
108
  xpath (~> 3.2)
140
109
  concurrent-ruby (1.3.5)
141
110
  connection_pool (2.5.0)
142
- console (1.29.3)
143
- fiber-annotation
144
- fiber-local (~> 1.1)
145
- json
146
111
  crass (1.0.6)
147
112
  date (3.4.1)
148
113
  debug (1.10.0)
149
114
  irb (~> 1.10)
150
115
  reline (>= 0.3.8)
151
- dotenv (3.1.7)
152
116
  drb (2.2.1)
153
- ed25519 (1.3.0)
154
117
  erubi (1.13.1)
155
- et-orbi (1.2.11)
156
- tzinfo
157
- falcon (0.48.6)
158
- async
159
- async-container (~> 0.18)
160
- async-http (~> 0.75)
161
- async-http-cache (~> 0.4)
162
- async-service (~> 0.10)
163
- bundler
164
- localhost (~> 1.1)
165
- openssl (~> 3.0)
166
- process-metrics (~> 0.2)
167
- protocol-http (~> 0.31)
168
- protocol-rack (~> 0.7)
169
- samovar (~> 2.3)
170
- fiber-annotation (0.2.0)
171
- fiber-local (1.1.0)
172
- fiber-storage
173
- fiber-storage (1.0.0)
174
- fugit (1.11.1)
175
- et-orbi (~> 1, >= 1.2.11)
176
- raabro (~> 1.4)
177
118
  globalid (1.2.1)
178
119
  activesupport (>= 6.1)
179
120
  i18n (1.14.7)
@@ -183,9 +124,6 @@ GEM
183
124
  activesupport (>= 6.0.0)
184
125
  railties (>= 6.0.0)
185
126
  io-console (0.8.0)
186
- io-endpoint (0.15.2)
187
- io-event (1.9.0)
188
- io-stream (0.6.1)
189
127
  iodine (0.7.58)
190
128
  irb (1.15.1)
191
129
  pp (>= 0.6.0)
@@ -194,21 +132,9 @@ GEM
194
132
  jbuilder (2.13.0)
195
133
  actionview (>= 5.0.0)
196
134
  activesupport (>= 5.0.0)
197
- json (2.10.1)
198
- kamal (2.5.3)
199
- activesupport (>= 7.0)
200
- base64 (~> 0.2)
201
- bcrypt_pbkdf (~> 1.0)
202
- concurrent-ruby (~> 1.2)
203
- dotenv (~> 3.1)
204
- ed25519 (~> 1.2)
205
- net-ssh (~> 7.3)
206
- sshkit (>= 1.23.0, < 2.0)
207
- thor (~> 1.3)
208
- zeitwerk (>= 2.6.18, < 3.0)
135
+ json (2.10.2)
209
136
  language_server-protocol (3.17.0.4)
210
137
  lint_roller (1.1.0)
211
- localhost (1.3.1)
212
138
  logger (1.6.6)
213
139
  loofah (2.24.0)
214
140
  crass (~> 1.0.2)
@@ -218,12 +144,10 @@ GEM
218
144
  net-imap
219
145
  net-pop
220
146
  net-smtp
221
- mapping (1.1.1)
222
147
  marcel (1.0.4)
223
148
  matrix (0.4.2)
224
- metrics (0.12.2)
225
149
  mini_mime (1.1.5)
226
- minitest (5.25.4)
150
+ minitest (5.25.5)
227
151
  msgpack (1.8.0)
228
152
  net-imap (0.5.6)
229
153
  date
@@ -232,26 +156,25 @@ GEM
232
156
  net-protocol
233
157
  net-protocol (0.2.2)
234
158
  timeout
235
- net-scp (4.1.0)
236
- net-ssh (>= 2.6.5, < 8.0.0)
237
- net-sftp (4.0.0)
238
- net-ssh (>= 5.0.0, < 8.0.0)
239
159
  net-smtp (0.5.1)
240
160
  net-protocol
241
- net-ssh (7.3.0)
242
161
  nio4r (2.7.4)
243
- nokogiri (1.18.3-aarch64-linux-gnu)
162
+ nokogiri (1.18.4-aarch64-linux-gnu)
163
+ racc (~> 1.4)
164
+ nokogiri (1.18.4-aarch64-linux-musl)
244
165
  racc (~> 1.4)
245
- nokogiri (1.18.3-aarch64-linux-musl)
166
+ nokogiri (1.18.4-arm-linux-gnu)
246
167
  racc (~> 1.4)
247
- nokogiri (1.18.3-arm64-darwin)
168
+ nokogiri (1.18.4-arm-linux-musl)
248
169
  racc (~> 1.4)
249
- nokogiri (1.18.3-x86_64-linux-gnu)
170
+ nokogiri (1.18.4-arm64-darwin)
250
171
  racc (~> 1.4)
251
- nokogiri (1.18.3-x86_64-linux-musl)
172
+ nokogiri (1.18.4-x86_64-darwin)
173
+ racc (~> 1.4)
174
+ nokogiri (1.18.4-x86_64-linux-gnu)
175
+ racc (~> 1.4)
176
+ nokogiri (1.18.4-x86_64-linux-musl)
252
177
  racc (~> 1.4)
253
- openssl (3.3.0)
254
- ostruct (0.6.1)
255
178
  parallel (1.26.3)
256
179
  parser (3.3.7.1)
257
180
  ast (~> 2.4.1)
@@ -260,55 +183,35 @@ GEM
260
183
  pp (0.6.2)
261
184
  prettyprint
262
185
  prettyprint (0.2.0)
263
- process-metrics (0.5.1)
264
- console (~> 1.8)
265
- json (~> 2)
266
- samovar (~> 2.1)
267
- propshaft (1.1.0)
268
- actionpack (>= 7.0.0)
269
- activesupport (>= 7.0.0)
270
- rack
271
- railties (>= 7.0.0)
272
- protocol-hpack (1.5.1)
273
- protocol-http (0.49.0)
274
- protocol-http1 (0.30.0)
275
- protocol-http (~> 0.22)
276
- protocol-http2 (0.22.1)
277
- protocol-hpack (~> 1.4)
278
- protocol-http (~> 0.47)
279
- protocol-rack (0.11.2)
280
- protocol-http (~> 0.43)
281
- rack (>= 1.0)
282
186
  psych (5.2.3)
283
187
  date
284
188
  stringio
285
189
  public_suffix (6.0.1)
286
190
  puma (6.6.0)
287
191
  nio4r (~> 2.0)
288
- raabro (1.4.0)
289
192
  racc (1.8.1)
290
- rack (2.2.12)
291
- rack-session (1.0.2)
292
- rack (< 3)
193
+ rack (3.1.12)
194
+ rack-session (2.1.0)
195
+ base64 (>= 0.1.0)
196
+ rack (>= 3.0.0)
293
197
  rack-test (2.2.0)
294
198
  rack (>= 1.3)
295
- rackup (1.0.1)
296
- rack (< 3)
297
- webrick
298
- rails (8.0.1)
299
- actioncable (= 8.0.1)
300
- actionmailbox (= 8.0.1)
301
- actionmailer (= 8.0.1)
302
- actionpack (= 8.0.1)
303
- actiontext (= 8.0.1)
304
- actionview (= 8.0.1)
305
- activejob (= 8.0.1)
306
- activemodel (= 8.0.1)
307
- activerecord (= 8.0.1)
308
- activestorage (= 8.0.1)
309
- activesupport (= 8.0.1)
199
+ rackup (2.2.1)
200
+ rack (>= 3)
201
+ rails (7.2.2.1)
202
+ actioncable (= 7.2.2.1)
203
+ actionmailbox (= 7.2.2.1)
204
+ actionmailer (= 7.2.2.1)
205
+ actionpack (= 7.2.2.1)
206
+ actiontext (= 7.2.2.1)
207
+ actionview (= 7.2.2.1)
208
+ activejob (= 7.2.2.1)
209
+ activemodel (= 7.2.2.1)
210
+ activerecord (= 7.2.2.1)
211
+ activestorage (= 7.2.2.1)
212
+ activesupport (= 7.2.2.1)
310
213
  bundler (>= 1.15.0)
311
- railties (= 8.0.1)
214
+ railties (= 7.2.2.1)
312
215
  rails-dom-testing (2.2.0)
313
216
  activesupport (>= 5.0.0)
314
217
  minitest
@@ -316,9 +219,9 @@ GEM
316
219
  rails-html-sanitizer (1.6.2)
317
220
  loofah (~> 2.21)
318
221
  nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
319
- railties (8.0.1)
320
- actionpack (= 8.0.1)
321
- activesupport (= 8.0.1)
222
+ railties (7.2.2.1)
223
+ actionpack (= 7.2.2.1)
224
+ activesupport (= 7.2.2.1)
322
225
  irb (~> 1.13)
323
226
  rackup (>= 1.0.0)
324
227
  rake (>= 12.2)
@@ -327,7 +230,7 @@ GEM
327
230
  rainbow (3.1.1)
328
231
  rake (13.2.1)
329
232
  rake-compiler-dock (1.9.1)
330
- rb_sys (0.9.110)
233
+ rb_sys (0.9.111)
331
234
  rake-compiler-dock (= 1.9.1)
332
235
  rdoc (6.12.0)
333
236
  psych (>= 4.0.0)
@@ -335,7 +238,7 @@ GEM
335
238
  reline (0.6.0)
336
239
  io-console (~> 0.5)
337
240
  rexml (3.4.1)
338
- rubocop (1.73.1)
241
+ rubocop (1.74.0)
339
242
  json (~> 2.3)
340
243
  language_server-protocol (~> 3.17.0.2)
341
244
  lint_roller (~> 1.1.0)
@@ -346,13 +249,13 @@ GEM
346
249
  rubocop-ast (>= 1.38.0, < 2.0)
347
250
  ruby-progressbar (~> 1.7)
348
251
  unicode-display_width (>= 2.4.0, < 4.0)
349
- rubocop-ast (1.38.1)
252
+ rubocop-ast (1.39.0)
350
253
  parser (>= 3.3.1.0)
351
254
  rubocop-performance (1.24.0)
352
255
  lint_roller (~> 1.1)
353
256
  rubocop (>= 1.72.1, < 2.0)
354
257
  rubocop-ast (>= 1.38.0, < 2.0)
355
- rubocop-rails (2.30.2)
258
+ rubocop-rails (2.30.3)
356
259
  activesupport (>= 4.2.0)
357
260
  lint_roller (~> 1.1)
358
261
  rack (>= 1.1)
@@ -364,9 +267,6 @@ GEM
364
267
  rubocop-rails (>= 2.30)
365
268
  ruby-progressbar (1.13.0)
366
269
  rubyzip (2.4.1)
367
- samovar (2.3.0)
368
- console (~> 1.0)
369
- mapping (~> 1.0)
370
270
  securerandom (0.4.1)
371
271
  selenium-webdriver (4.29.1)
372
272
  base64 (~> 0.2)
@@ -374,60 +274,40 @@ GEM
374
274
  rexml (~> 3.2, >= 3.2.5)
375
275
  rubyzip (>= 1.2.2, < 3.0)
376
276
  websocket (~> 1.0)
377
- solid_cable (3.0.7)
378
- actioncable (>= 7.2)
379
- activejob (>= 7.2)
380
- activerecord (>= 7.2)
381
- railties (>= 7.2)
382
- solid_cache (1.0.7)
383
- activejob (>= 7.2)
384
- activerecord (>= 7.2)
385
- railties (>= 7.2)
386
- solid_queue (1.1.3)
387
- activejob (>= 7.1)
388
- activerecord (>= 7.1)
389
- concurrent-ruby (>= 1.3.1)
390
- fugit (~> 1.11.0)
391
- railties (>= 7.1)
392
- thor (~> 1.3.1)
277
+ sprockets (4.2.1)
278
+ concurrent-ruby (~> 1.0)
279
+ rack (>= 2.2.4, < 4)
280
+ sprockets-rails (3.5.2)
281
+ actionpack (>= 6.1)
282
+ activesupport (>= 6.1)
283
+ sprockets (>= 3.0.0)
393
284
  sqlite3 (2.6.0-aarch64-linux-gnu)
394
285
  sqlite3 (2.6.0-aarch64-linux-musl)
286
+ sqlite3 (2.6.0-arm-linux-gnu)
287
+ sqlite3 (2.6.0-arm-linux-musl)
395
288
  sqlite3 (2.6.0-arm64-darwin)
289
+ sqlite3 (2.6.0-x86_64-darwin)
396
290
  sqlite3 (2.6.0-x86_64-linux-gnu)
397
291
  sqlite3 (2.6.0-x86_64-linux-musl)
398
- sshkit (1.24.0)
399
- base64
400
- logger
401
- net-scp (>= 1.1.2)
402
- net-sftp (>= 2.1.2)
403
- net-ssh (>= 2.8.0)
404
- ostruct
405
292
  stimulus-rails (1.3.4)
406
293
  railties (>= 6.0.0)
407
294
  stringio (3.1.5)
408
295
  thor (1.3.2)
409
- thruster (0.1.11)
410
- thruster (0.1.11-aarch64-linux)
411
- thruster (0.1.11-arm64-darwin)
412
- thruster (0.1.11-x86_64-linux)
413
296
  timeout (0.4.3)
414
- traces (0.15.2)
415
- turbo-rails (2.0.11)
416
- actionpack (>= 6.0.0)
417
- railties (>= 6.0.0)
297
+ turbo-rails (2.0.13)
298
+ actionpack (>= 7.1.0)
299
+ railties (>= 7.1.0)
418
300
  tzinfo (2.0.6)
419
301
  concurrent-ruby (~> 1.0)
420
302
  unicode-display_width (3.1.4)
421
303
  unicode-emoji (~> 4.0, >= 4.0.4)
422
304
  unicode-emoji (4.0.4)
423
- uri (1.0.3)
424
305
  useragent (0.16.11)
425
306
  web-console (4.2.1)
426
307
  actionview (>= 6.0.0)
427
308
  activemodel (>= 6.0.0)
428
309
  bindex (>= 0.4.0)
429
310
  railties (>= 6.0.0)
430
- webrick (1.9.1)
431
311
  websocket (1.2.11)
432
312
  websocket-driver (0.7.7)
433
313
  base64
@@ -441,37 +321,32 @@ PLATFORMS
441
321
  aarch64-linux
442
322
  aarch64-linux-gnu
443
323
  aarch64-linux-musl
444
- arm64-darwin-23
324
+ arm-linux-gnu
325
+ arm-linux-musl
326
+ arm64-darwin
327
+ x86_64-darwin
445
328
  x86_64-linux
446
329
  x86_64-linux-gnu
447
330
  x86_64-linux-musl
448
331
 
449
332
  DEPENDENCIES
450
- async
451
333
  bootsnap
452
334
  brakeman
453
335
  capybara
454
336
  debug
455
- falcon
456
337
  importmap-rails
457
338
  iodine
458
339
  itsi-scheduler!
459
340
  itsi-server!
460
341
  jbuilder
461
- kamal
462
- osprey_scheduler!
463
342
  pg
464
- propshaft
465
343
  puma (>= 5.0)
466
- rails (~> 8.0.1)
344
+ rails (~> 7.2.2)
467
345
  rubocop-rails-omakase
468
346
  selenium-webdriver
469
- solid_cable
470
- solid_cache
471
- solid_queue
472
- sqlite3 (>= 2.1)
347
+ sprockets-rails
348
+ sqlite3 (>= 1.4)
473
349
  stimulus-rails
474
- thruster
475
350
  turbo-rails
476
351
  tzinfo-data
477
352
  web-console
@@ -0,0 +1,4 @@
1
+ //= link_tree ../images
2
+ //= link_directory ../stylesheets .css
3
+ //= link_tree ../../javascript .js
4
+ //= link_tree ../../../vendor/javascript .js
@@ -1,10 +1,15 @@
1
1
  /*
2
- * This is a manifest file that'll be compiled into application.css.
2
+ * This is a manifest file that'll be compiled into application.css, which will include all the files
3
+ * listed below.
3
4
  *
4
- * With Propshaft, assets are served efficiently without preprocessing steps. You can still include
5
- * application-wide styles in this file, but keep in mind that CSS precedence will follow the standard
6
- * cascading order, meaning styles declared later in the document or manifest will override earlier ones,
7
- * depending on specificity.
5
+ * Any CSS (and SCSS, if configured) file within this directory, lib/assets/stylesheets, or any plugin's
6
+ * vendor/assets/stylesheets directory can be referenced here using a relative path.
8
7
  *
9
- * Consider organizing styles into separate files for maintainability.
8
+ * You're free to add application-wide styles to this file and they'll appear at the bottom of the
9
+ * compiled file so the styles you add here take precedence over styles defined in any other CSS
10
+ * files in this directory. Styles in this file should be added after the last require_* statement.
11
+ * It is generally better to create a new file per style scope.
12
+ *
13
+ *= require_tree .
14
+ *= require_self
10
15
  */
@@ -0,0 +1,4 @@
1
+ module ApplicationCable
2
+ class Channel < ActionCable::Channel::Base
3
+ end
4
+ end
@@ -0,0 +1,4 @@
1
+ module ApplicationCable
2
+ class Connection < ActionCable::Connection::Base
3
+ end
4
+ end
@@ -1,10 +1,10 @@
1
1
  require "net/http"
2
- require 'debug'
2
+
3
3
  class LiveController < ApplicationController
4
4
  include ActionController::Live
5
5
 
6
6
  def stream
7
- response.headers['Content-Type'] = 'text/event-stream'
7
+ response.headers["Content-Type"] = "text/event-stream"
8
8
  response.headers["Last-Modified"] = Time.now.httpdate
9
9
  i = 0
10
10
  loop {
@@ -15,21 +15,20 @@ class LiveController < ApplicationController
15
15
 
16
16
  rescue ActionController::Live::ClientDisconnected => e
17
17
  puts "Client disconnected"
18
-
19
18
  ensure
20
19
  puts "Closing stream"
21
20
  response.stream.close
22
21
  end
23
22
 
24
23
  def sse
25
- response.headers['Content-Type'] = 'text/event-stream'
24
+ response.headers["Content-Type"] = "text/event-stream"
26
25
  response.headers["Last-Modified"] = Time.now.httpdate
27
26
  sse = SSE.new(response.stream, retry: 300, event: "event-name")
28
27
  loop do
29
- sse.write({ name: 'John'})
30
- sse.write({ name: 'John'}, id: 10)
31
- sse.write({ name: 'John'}, id: 10, event: "other-event")
32
- sse.write({ name: 'John'}, id: 10, event: "other-event", retry: 500)
28
+ sse.write({ name: "John" })
29
+ sse.write({ name: "John" }, id: 10)
30
+ sse.write({ name: "John" }, id: 10, event: "other-event")
31
+ sse.write({ name: "John" }, id: 10, event: "other-event", retry: 500)
33
32
  sleep 0.00005
34
33
  end
35
34
  rescue ActionController::Live::ClientDisconnected => e
@@ -1,16 +1,13 @@
1
1
  # app/controllers/uploads_controller.rb
2
- require 'debug'
3
2
  class UploadsController < ApplicationController
4
3
  # Disable CSRF for this endpoint (for testing only)
5
4
  skip_before_action :verify_authenticity_token
6
5
 
7
6
  def body
8
- puts params
9
7
  render plain: params
10
8
  end
11
9
 
12
10
  def create
13
- bb
14
11
  uploaded_file = params[:file]
15
12
 
16
13
  if uploaded_file
@@ -4,21 +4,16 @@
4
4
  <title><%= content_for(:title) || "Itsi Sandbox Rails" %></title>
5
5
  <meta name="viewport" content="width=device-width,initial-scale=1">
6
6
  <meta name="apple-mobile-web-app-capable" content="yes">
7
- <meta name="mobile-web-app-capable" content="yes">
8
7
  <%= csrf_meta_tags %>
9
8
  <%= csp_meta_tag %>
10
9
 
11
10
  <%= yield :head %>
12
11
 
13
- <%# Enable PWA manifest for installable apps (make sure to enable in config/routes.rb too!) %>
14
- <%#= tag.link rel: "manifest", href: pwa_manifest_path(format: :json) %>
15
-
12
+ <link rel="manifest" href="/manifest.json">
16
13
  <link rel="icon" href="/icon.png" type="image/png">
17
14
  <link rel="icon" href="/icon.svg" type="image/svg+xml">
18
15
  <link rel="apple-touch-icon" href="/icon.png">
19
-
20
- <%# Includes all stylesheet files in app/assets/stylesheets %>
21
- <%= stylesheet_link_tag :app, "data-turbo-track": "reload" %>
16
+ <%= stylesheet_link_tag "application", "data-turbo-track": "reload" %>
22
17
  <%= javascript_importmap_tags %>
23
18
  </head>
24
19
 
@@ -1,13 +1,12 @@
1
1
  #!/bin/bash -e
2
2
 
3
3
  # Enable jemalloc for reduced memory usage and latency.
4
- if [ -z "${LD_PRELOAD+x}" ]; then
5
- LD_PRELOAD=$(find /usr/lib -name libjemalloc.so.2 -print -quit)
6
- export LD_PRELOAD
4
+ if [ -z "${LD_PRELOAD+x}" ] && [ -f /usr/lib/*/libjemalloc.so.2 ]; then
5
+ export LD_PRELOAD="$(echo /usr/lib/*/libjemalloc.so.2)"
7
6
  fi
8
7
 
9
8
  # If running the rails server then create or migrate existing database
10
- if [ "${@: -2:1}" == "./bin/rails" ] && [ "${@: -1:1}" == "server" ]; then
9
+ if [ "${1}" == "./bin/rails" ] && [ "${2}" == "server" ]; then
11
10
  ./bin/rails db:prepare
12
11
  fi
13
12