Commit Graph

51 Commits

Author SHA1 Message Date
Mike Dalessio 4a75954080 style(rubocop): Layout/SpaceInsideArrayLiteralBrackets 2026-06-09 12:20:37 -04:00
Eric Hiler 8c7f49e003 Fix crash when user has 20+ direct conversations 2026-04-10 09:23:30 -04:00
Rosa Gutierrez dde94b06ed Delete server-side session on logout
When it's set. Also, store it in current attributes for convenience.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 09:31:22 +01:00
Mike Dalessio 1feb2d94b9 Address race condition during "first run" account creation 2025-12-12 10:51:28 -05:00
Jason Zimdars 88f3f942f7 Ensure edit (not trash) is displayed
Fix conditional
2025-12-08 22:57:38 -06:00
Jason Zimdars 6f256f5f2d Show admin toggle, but disable for current user
You shouldn't be able to demote yourself but displaying the disabled
toggle helps explain the group of admins at the top of the list. Builds
upon #140
2025-12-08 22:53:11 -06:00
Ashwin M b52c318518 Group administrators separately from members with visual divider 2025-12-09 08:42:00 +05:30
Stanko Krtalić de5493d8a9 Merge pull request #124 from ashwin47/ban_typo
Fix button label to 'UnBan' for clarity
2025-12-06 11:42:50 +01:00
Ashwin M 74346342df Rewrite label 2025-12-06 16:09:13 +05:30
Michael Halliday b8919161a8 Allow non-admins to update their room involvements 2025-12-03 09:56:15 -05:00
Ashwin M 80585a9585 Fix button label to 'UnBan' for clarity 2025-12-03 17:50:16 +05:30
Stanko K.R. 550d4c75bd Invert the icon color in dark mode 2025-12-02 08:22:32 +01:00
Jason Zimdars 7b7b3f8a67 Rework toggle as switch 2025-12-01 23:13:54 -06:00
David Heinemeier Hansson 5266ffc049 Always just go through the settings object 2025-12-01 15:26:06 +01:00
David Heinemeier Hansson 796195c2cc Give up on the auto delegation to get a cleaner API 2025-12-01 15:26:06 +01:00
David Heinemeier Hansson 42c411b660 Use upstream version of has_json 2025-12-01 15:25:39 +01:00
David Heinemeier Hansson 20ba1cf2ae Ensure mutable string is used to prevent warning 2025-12-01 15:25:06 +01:00
David Heinemeier Hansson f7c3aaa2a9 Allow for default values 2025-12-01 15:23:23 +01:00
David Heinemeier Hansson d3b6507ce2 Layer on top a more pleasant API for the default case 2025-12-01 15:23:23 +01:00
David Heinemeier Hansson 8e94a4aa1e Better wording 2025-12-01 15:23:23 +01:00
David Heinemeier Hansson 15db4033bc Enforce restriction to create new rooms 2025-12-01 15:22:37 +01:00
David Heinemeier Hansson bea2c89c2b Add new has_json to add Account#settings to restrict room creation to only administrators 2025-12-01 15:22:36 +01:00
Jason Zimdars c8ac878353 Polish banned states and confirm 2025-11-26 13:08:35 -06:00
Kevin McConnell 30fe6ab121 Add IP-based user banning
This adds the ability to ban a user by their IP address.

When an admin is viewing a user profile, a new "Ban user" button is
present. Clicking on that will:

- Create a ban on the IP addresses that were tracked for that user's
  sessions
- Remove all the messages authored by that user
- Log the user out immediately

In addition, that user will no longer be shown in most user lists in the
app. They are still shown to admins, in account settings. Viewing their
profile from there will now show a "Remove ban" button which can be used
to restore their access (it doesn't restore their messages though --
those are already gone -- it just removes the blocks so they can log in
again).
2025-11-26 14:30:38 +00:00
Stanko Krtalić 89f45cee76 Merge pull request #90 from milos-dukic/logout-localhost-fix
[Logout localhost fix] - fixing an error for logout process on localhost fix
2025-10-21 09:35:52 +02:00
Ibraheem Tuffaha 892c581317 Add dir="auto" to messages for rtl lang support 2025-10-18 11:01:33 +03:00
milos-dukic 336c9ae140 [Logout localhost fix] - fixing an error for logout process on localhost. 2025-10-06 15:14:23 +02:00
Kevin McConnell 329d3e361b Avoid extra slash in cable path
When mounting to a `SCRIPT_NAME` of `/`, we were inserting an extra
slash in the cable path.
2025-09-25 10:47:11 +01:00
Kevin McConnell 6f7f0973db Allow serving cable traffic under $SCRIPT_NAME
If deploying Campfire to a path other than the root (for example, using
Kamal's path-based routing) then the Action Cable endpoint needs to be
adjusted to include that path.

Prepending the script name to the cable path means it will be adjusted
to the path in the same way that the application routes are. When script
name is the default, the behaviour is unchanged.
2025-09-24 14:49:16 +01:00
Stanko Krtalić c13bd1a4d3 Merge pull request #55 from milos-dukic/event-logger-controller-fix
[ERemove event_logger_controller.js
2025-09-19 14:12:01 +02:00
milos-dukic 5bb257b2d7 [Event Logger Controller fix] - removing the file event_log_controller.js since it is not being used. 2025-09-19 14:07:53 +02:00
Raul Popadineti 03d1c45d97 Refactor message loading in RoomsController to use combined scopes
- Simplified message queries in RoomsController#find_messages by replacing multiple includes and preloads with consolidated scopes: with_creator, with_attachment_details, and with_boosts.
- Defined new scopes in Message model to handle rich text, attachments, and boosts associations for cleaner and more maintainable code.
2025-09-17 13:39:30 +03:00
milos-dukic baa2bfc713 [Event Logger Controller fix] - renaming the file to event_log_controller.js 2025-09-16 15:02:47 +02:00
Raul Popadineti e89a834cde Speed up room's initial load by reducing N+1 queries 2025-09-16 14:37:12 +03:00
Stanko Krtalić 26fd45c1d1 Merge pull request #18 from dmkondr/main
Fix back button not working on profile page after form submission
2025-09-16 11:41:16 +02:00
Stanko Krtalić 2d1c6e3c96 Merge pull request #49 from milos-dukic/service-worker-error-fix
Fix "Failed to get a ServiceWorkerRegistration" error
2025-09-15 16:51:34 +02:00
Milos Dukic 10569b57a3 Update app/javascript/controllers/notifications_controller.js
Co-authored-by: Chris Oliver <excid3@gmail.com>
2025-09-15 16:24:27 +02:00
milos-dukic 3b31a83ac5 [ServiceWorler fix] - Failed to get a ServiceWorkerRegistration error. 2025-09-15 15:21:04 +02:00
Stanko Krtalić ec4b74e4e1 Merge pull request #25 from keshav-k3/feature-japanese-translations
Japanese Language Support
2025-09-15 15:15:36 +02:00
Jacopo 3d0a10dbdd Security: Fix user impersonation via custom bot token
If bot_key has no right-hand side (ex: 1-), bot_token will be nil, and the query will match a User record if bot_id matches a valid ID.
Fix it relying on `active_bots` instead.
2025-09-11 12:32:46 +02:00
Keshav Kk b2a0bc00f1 Modify #24 [Add] Japanese Language Support
helper updated with japanese equivalent
2025-09-09 23:24:22 +09:00
Dmitri Kondratjev 19153f41be keep original functionality but redirect to root path if referrer equals current url 2025-09-08 19:37:49 +03:00
Dmitri Kondratjev 6e9e5bcaa8 Fix back button not working on profile page after form submission 2025-09-07 14:47:07 +03:00
NullFluxKevin ad455c8504 fix: set room instance variable in room direct destroy 2025-09-05 16:06:46 -04:00
Stanko Krtalić f3f019398e Merge pull request #9 from NullFluxKevin/fix-room-instance-variable-not-set-in-room-direct-edit
fix: set the room instance variable in room direct edit
2025-09-05 21:01:57 +02:00
NullFluxKevin fbfcb48ebe fix: set the room instance variable in room direct edit 2025-09-05 14:09:15 -04:00
sjdonado 64a20278ad Revert "fix: annoying autofocus when clicking on settings"
This reverts commit ea5a90b7ea.
2025-09-05 10:03:45 +02:00
sjdonado ea5a90b7ea fix: annoying autofocus when clicking on settings 2025-09-05 07:39:57 +02:00
sjdonado 5629dbefbc fix: lanuage typo 2025-09-05 07:26:14 +02:00
Stanko Krtalić eecdb29332 Upgrade to Rails 8 and Ruby 3.4.5 (#1)
* Bump Ruby to 3.4.5
* Update dependencies
* Adjust for Rails 8 and Ruby 3.5 API changes
* Mark params strings as mutable in prepapration for frozen strings in Ruby 3.5
* Update test for HTML5 sanitizer
    With Rails 7.1 the HTML5 sanitizer became the default, this breakts this test because the old sanitizer used to delete unpermitted nodes, while the new one returns their content
    The final string is safe, but different then it used to be in Rails 7.0
* Remove direct Turbo tesh helpers require & parallelize tests
* Fix Zeitwerk issues with rails extensions
* Update Resque setup for Redis 5+
* Remove unused views
* Remove GID v1 handler
2025-09-02 17:02:41 +02:00