Commit Graph

857 Commits

Author SHA1 Message Date
BenClaw bdd1d248db debug(action_cable): add server-side broadcast logging
- Log channel remapping and data on every broadcast
- Log warnings when channel format is unknown
- Helps trace whether broadcasts reach ActionCable.server
2026-05-17 19:41:00 +02:00
BenClaw 7c69f0a0bc fix(action_cable): accept both /user/123 and /user_123 channel formats
- Benjamin standardized on /user_123 in mozo.rb (underscore, no slash)
- Old remap regex ^/user/(.+)$ didn't match /user_123
- Fix: ^/user[/_](.+)$ accepts both separators → user_123
2026-05-17 19:27:30 +02:00
bterkuile 11ba8e7434 channel naming convention change 2026-05-17 12:24:07 -05:00
bterkuile 383872b800 require the action_cable engine instead of just the root 2026-05-17 12:07:15 -05:00
BenClaw ee8861355b fix(action_cable): add missing ApplicationCable::Channel base class
- MozoChannel < ApplicationCable::Channel was failing with
  NameError: uninitialized constant ApplicationCable::Channel
- Standard Rails convention requires both connection.rb and channel.rb
2026-05-17 19:06:00 +02:00
BenClaw df04e99447 fix(action_cable): ensure logger is set for upgraded Rails app
- ActionCable::TaggedLoggerProxy crashes with NoMethodError when
  logger is nil (common in apps upgraded from older Rails)
- Add after_initialize hook to guarantee ActionCable.server.config.logger
  falls back to Rails.logger or
2026-05-17 18:49:13 +02:00
bterkuile 4bee13aae7 activate ActionCable messaging instead of Faye 2026-05-17 11:44:53 -05:00
bterkuile 12836dd14b Switch to Redis counter 2026-05-17 10:48:05 -05:00
bterkuile 5dbb6dbeae Explicitly require action_cable 2026-05-17 09:42:48 -05:00
BenClaw 3e4bcc80c8 feat(counter): add Redis counter adapter, replace DrbCounter
- Add Mozo::Counter::Redis with same get/set/incr/decr interface
- Add redis gem (~> 5.0) to Gemfile
- Update cable.yml to use Redis adapter in production (shared with counters)
- Document DrbCounter → Redis migration in broadcasting-migration.md
- Redis installed and running on vmi3300327
- Leave Faye as current broadcaster; both switches are one-line changes

DrbCounter problems solved:
  - In-memory → persistent (RDB + AOF)
  - Single-process DRb → multi-process safe Redis
  - Atomic INCR/DECR across Puma workers
  - One less custom process to manage
2026-05-17 16:42:09 +02:00
BenClaw a755d8a205 refactor(broadcasting): add Broadcastable to List + Order, remove monkey-patch
- include Broadcastable in app/models/list.rb
- include Broadcastable in app/models/order.rb
- Remove config/initializers/model_broadcast.rb (ApplicationController.new anti-pattern)
- Broadcasting now goes through Mozo.broadcast_* directly, not via controller hack
2026-05-17 16:36:28 +02:00
root 1f52448253 feat(broadcasting): add ActionCable adapter + fix model broadcast anti-pattern
- Add Mozo::Broadcaster::ActionCable as drop-in Faye replacement
- Fix model_broadcast.rb: delegate to Mozo directly instead of
  ApplicationController.new (memory-unsafe anti-pattern)
- Add Broadcastable concern for clean model-side broadcasting
- ActionCable config: async adapter, cable.yml, WebSocket endpoint
- MozoChannel with per-entity authorization (user/supplier/employee)
- Connection auth via auth_token (matches existing auth pattern)
- Mount /cable WebSocket in routes
- Add broadcasting-migration.md with Faye→ActionCable guide
2026-05-17 15:25:49 +02:00
benclaw efccbc2064 docs: add INDEX.md describing mozo repo relationships 2026-05-16 19:41:24 +02:00
bterkuile 7364de2a45 transit 2026-03-28 18:23:35 -05:00
bterkuile 814ac1b808 add explicit environment selector for drb_counter 2026-03-19 08:05:46 -05:00
bterkuile 0559ede912 remove non English locales for easy redesign 2026-03-11 10:43:59 -05:00
bterkuile 4e1d3bd052 Add spanish locales and gravatar options 2026-03-09 11:17:25 -05:00
bterkuile 2711edb167 remove omniauth also from the production check 2026-02-26 08:51:50 -05:00
bterkuile e624ec2d0b User flow updates 2026-02-10 11:38:56 -05:00
bterkuile 63b19cb78a Infrastructure and add removeListNeedsHelp to users 2026-02-09 17:56:05 -05:00
bterkuile be3ee9096b stash apply 2026-02-09 12:52:31 -05:00
bterkuile a1c1a0c34e yodate 2026-02-08 20:00:34 -05:00
bterkuile f0c561311f progress today, clicking and fixing 2026-02-04 15:09:46 -05:00
bterkuile a72559666d Better list users frontend connection and setup of payment page 2025-12-07 16:57:33 -05:00
bterkuile 95bb2d98bd Allow drb_counter development environment 2025-11-29 09:38:16 -05:00
bterkuile 63d334eb48 work movement to other machine 2025-11-23 10:05:12 -05:00
bterkuile f76ff718a0 updates 2025-11-02 19:50:08 -05:00
bterkuile dcd6b807ed Day's worth of debugging 2025-09-26 11:55:22 -05:00
bterkuile 57adfdbfbf First fix in the model specs, more to be done, mostly event mocking it seems 2025-09-23 17:55:19 -05:00
bterkuile 7dadb28004 make more specs work 2025-09-23 17:45:00 -05:00
bterkuile 6596693238 Do not modify standard symbol in JSON behaviour. It seems to be good now 2025-09-23 12:56:42 -05:00
bterkuile 6a100555bc Make the products controller specs green 2025-09-23 12:15:09 -05:00
bterkuile 54f86078f5 More accessible, still not good environment based settings 2025-09-20 18:06:18 -05:00
bterkuile e04400d1df remove linked file puma.rb, think of a solution later 2025-09-20 17:44:48 -05:00
bterkuile 7276da7977 set the proper git repository in deploy 2025-09-20 17:41:30 -05:00
bterkuile a3b652500c try the new deploy 2025-09-20 17:40:54 -05:00
bterkuile 0e051b1f93 rename qwaiter to mozo 2025-09-20 17:35:58 -05:00
bterkuile 7212d9041e add puma lines to deploy 2025-09-19 14:02:08 -05:00
bterkuile 385084dd7b docker improvements 2025-09-19 12:22:14 -05:00
bterkuile ea56d33472 Make sorting and attachments work 2025-09-02 13:33:48 -05:00
bterkuile 73f430eadf Try new event_host proxy pass strategy 2025-08-30 12:20:48 -05:00
bterkuile 381a7feb08 remove the culprit 2025-08-30 11:20:08 -05:00
bterkuile 8c1295aaf5 deploy changes, again the credentials 2025-08-30 11:13:55 -05:00
bterkuile 4a50b54ca5 small things 2025-08-30 10:12:27 -05:00
bterkuile 6b02c05a99 Make work on Fedora M1 and use faye on http for development 2025-08-29 13:54:43 -05:00
bterkuile 948a787bea make list spec pass 2025-08-28 09:07:47 -05:00
bterkuile 1531722db5 Credentials 2025-02-13 14:54:39 -05:00
bterkuile 7efb2a3aa5 Cleanup unused file 2025-02-13 11:51:13 -05:00
bterkuile 4d2e62c9bb Update cmtool to fase out bourbon 2025-02-13 11:45:23 -05:00
bterkuile 1c7e391fbd Update dependencies and add sprockets-rails 2025-02-13 11:38:35 -05:00