* Fix rageshakes not uploading if they are too long. The max log line size in the default rageshake server is `1_000_000`.
* Change upload order to ensure the current logs and the push rules are always sent.
* Add 'buffer' for unexpected log lines.
* Add `SpaceService.editableSpaces` and `SpaceService.addChildToSpace`
* Add `parentSpace` to `CreateRoomConfig`
* Allow setting a parent space to a room in `ConfigureRoomPresenter`, make sure the room is added to the parent space when creating it
* `ConfigureRoomPresenter`: Load the list of possible spaces a room can be added to
* Refactor `RoomVisibilityState` to internally use `JoinRuleItem`
This gets rid of `RoomAccess` and `RoomAccessItem`, and it will allow us to map the join rule items in a cleaner way to both join rules and the UI
* Implement the UI changes:
- Display the parent space.
- Allow selecting a new one.
- Import needed strings.
* Fix existing tests
* Add `@Immutable` annotation to `SpaceRoom`, since it was detected as unstable.
Maybe because of `RoomType`?
* Update screenshots
---------
Co-authored-by: ElementBot <android@element.io>
- Use correct AvatarType based on whether editing a space or room
- Add roomRawName to remember key to update avatar when name changes
- Respect canChangeAvatar state to disable picker when not permitted
* Add empty state view for `HomeSpacesView`
This links to the create space flow, and has an 'explore public spaces', hidden for now.
* Make sure we display the empty view if the 'create spaces' FF is enabled
Also, remove the tab and navigate to the chats tab if the FF is disabled and the last space is left
* Update screenshots
---------
Co-authored-by: ElementBot <android@element.io>
It seems better to handle the filtering logic there than on the view.
Besides this, hide knocking for spaces even if the knocking feature is enabled. We don't want to have knocking in spaces yet.
The EXA side of element-hq/element-meta#2877: if the keys for a message have been forwarded by another user, indicate that in the UI via the text shown when tapping the event shield.