Skip to content

Conversation

@adtruiz
Copy link

@adtruiz adtruiz commented Nov 7, 2025

Problem

When clicking the ⭐ icon to unstar a room from the room view, it would incorrectly remove the room from both "My Rooms" AND
"All Rooms". This was caused by a legacy "hide rooms" feature from Campfire that used an 'invisible' involvement state.

Solution

Removed the 'invisible' state from the involvement cycling for shared rooms, making both sidebar and room view use the same
2-state cycle: mentionseverything

Changes Made

Code Changes

  • app/helpers/rooms/involvements_helper.rb - Removed invisible from involvement cycling
  • app/controllers/rooms/involvements_controller.rb - Fixed controller logic that was broadcasting room removal from
    sidebar
  • app/models/rooms/thread.rb - Updated default involvement from invisible to mentions
  • app/assets/images/notification-bell-invisible.svg - Deleted unused icon
  • app/assets/stylesheets/application/base.css - Removed .membership-item:has(.btn.invisible) CSS
  • app/assets/stylesheets/application/buttons.css - Removed all .btn.invisible CSS rules

Data Migration

  • db/migrate/20251106190649_convert_invisible_memberships_to_mentions.rb - Converts all existing invisible
    memberships to mentions

Test Updates

  • test/controllers/rooms/involvements_controller_test.rb - Updated to test correct behavior
  • test/models/room/push_test.rb - Removed tests for invisible feature

Documentation

Result

✅ Rooms now stay in "All Rooms" when unstarred from any location
✅ Rooms never disappear from the sidebar completely
✅ All tests updated and passing
✅ Existing data migrated cleanly

Addresses Issue Comments

This PR implements @dvassallo's suggestions:

  • ✅ "Get rid of the hidden status"
  • ✅ "Remove its references from this navbar"
  • ✅ "Remove its references from the user profile page"

Comparison with PR #78

This PR is more comprehensive than #78:

Fixes #76

…from disappearing

## Problem
When clicking the ⭐ icon to unstar a room from the room view, it would
incorrectly remove the room from both "My Rooms" AND "All Rooms". This was
caused by a legacy "hide rooms" feature from Campfire that used an 'invisible'
involvement state.

## Solution
Removed the 'invisible' state from the involvement cycling for shared rooms,
making both sidebar and room view use the same 2-state cycle:
mentions ↔ everything

## Changes
- Updated involvement cycling to only use mentions/everything states
- Removed legacy 'hide room' feature from Campfire as requested by @dvassallo
- Fixed controller logic that was broadcasting room removal from sidebar
- Added migration to convert existing invisible memberships to mentions
- Removed invisible icon and CSS references
- Updated all tests to reflect new behavior
- Added comprehensive documentation

## Result
✅ Rooms now stay in "All Rooms" when unstarred from any location
✅ Rooms never disappear from the sidebar completely
✅ All tests passing
✅ Existing data migrated

Fixes antiwork#76

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Resolved conflict in app/assets/stylesheets/application/buttons.css
- Kept our version without .btn.invisible references
- Maintained upstream's formatting style
- Our PR removes invisible state entirely per issue antiwork#76
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Unstarring a room from the actual room view removes it from All Rooms list too

1 participant