# Space settings — handoff

## Summary

Per-space settings overlay analogous to room settings: general space profile, permissions, and shared common-settings pages. Used for Matrix spaces (and forum spaces).

## User-facing behavior

- Edit space name, topic, avatar, visibility
- Space permissions and power levels
- Child space management via common flows

## Architecture

```
SpaceSettingsRenderer (Router overlay)
  → space-settings/SpaceSettings.tsx
  → general/, permissions/
spaceSettings.ts atom
```

## Key files

| Path | Role |
|------|------|
| `cinny/src/app/features/space-settings/SpaceSettings.tsx` | Settings shell |
| `cinny/src/app/features/space-settings/general/` | General tab |
| `cinny/src/app/features/space-settings/permissions/` | Permissions |
| `cinny/src/app/state/spaceSettings.ts` | Open state |
| `cinny/src/app/state/hooks/spaceSettings.ts` | Hooks |

## Data model

Matrix space state: `m.space.child`, `m.room.name`, power levels, etc.

## Dependencies

- Same permission patterns as room settings

## Integration points

- **lobby-forums**: space metadata shown in lobby hero
- **create-flows**: add existing rooms to space
- **common-settings**: shared pages

## Testing

### Manual

1. Open space settings.
2. Edit space name and avatar.
3. Change join rules / visibility.

### Automated

- None

## Known issues & gotchas

- Forum spaces may expose different settings entry points — verify `ForumSpaceLayout`

## Future work

- Space-level embed filter defaults

## Related docs

- [common-settings HANDOFF](../common-settings/HANDOFF.md)
- [lobby-forums HANDOFF](../lobby-forums/HANDOFF.md)

## Add your extra things here

- `usePermissionItems` in space-settings/permissions/
