Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[PART-2] TW-1690: Show external channel after search #1775

Closed

Conversation

hieutbui
Copy link
Member

@hieutbui hieutbui commented May 17, 2024

Ticket

DOD:

  • Implement search external channel in view
  • Create view for external channel
  • Add into search view
  • join room
  • view joined room
  • Handle actions when click join/view buttons

Resolved:

  • Web:
public.web.mp4
  • Android:
public.android.mp4

Copy link

This PR has been deployed to https://linagora.github.io/twake-on-matrix/1775

@hieutbui hieutbui changed the title [WIP] [PART-2] TW-1690: Show external channel after search [PART-2] TW-1690: Show external channel after search May 20, 2024
@hieutbui hieutbui changed the title [PART-2] TW-1690: Show external channel after search [WIP] [PART-2] TW-1690: Show external channel after search May 20, 2024
@hieutbui
Copy link
Member Author

  • Currently, we are unable to implement the feature of viewing or peeking into a public room that a user has not joined due to limitations in the Matrix federation protocol.
  • There are two APIs available for this purpose: _matrix/client/v3/rooms/!roomId:server.name/initialSync and _matrix/client/v3/events, However, when calling these APIs, an error is returned:
{
    "errcode": "M_FORBIDDEN",
    "error": "User @username:server.name not in room !roomId:server.name, and room previews are disabled"
}

@hieutbui hieutbui changed the title [WIP] [PART-2] TW-1690: Show external channel after search [PART-2] TW-1690: Show external channel after search May 21, 2024
@hoangdat
Copy link
Member

  • join but can not send message ???
image

@hieutbui
Copy link
Member Author

  • join but can not send message ???
image

This is because there are some rooms that limit members from sending messages. I updated the demo video. Please check it!

@Te-Z
Copy link
Contributor

Te-Z commented May 23, 2024

Hi @hieutbui , I have a few more comments:

  • the screen behind loading dialog changes while loading. IMO it should stay the same since the text in search bar is still the same
  • I wasn't able to join #matrix:matrix.org
  • when I open a joined room (in my case matrix news) the text appears then disappear. And I have to tap the reload icon to see its content
screen-20240523-170838.mp4

@hieutbui
Copy link
Member Author

hieutbui commented May 25, 2024

Hi @hieutbui , I have a few more comments:

  • the screen behind loading dialog changes while loading. IMO it should stay the same since the text in search bar is still the same
  • I wasn't able to join #matrix:matrix.org
  • when I open a joined room (in my case matrix news) the text appears then disappear. And I have to tap the reload icon to see its content

screen-20240523-170838.mp4

Hi @Te-Z, I tested it:

  • On my side, the case that search results disappeared only happened 1 time. I'm trying to figure out the root cause. Thought it is because of the sync.
  • Case can't join. It is because of the API timeout.
  • Case need reload to see messages, I believe It is a common problem that we already know. For other rooms in our server, this also happens sometimes.

@Te-Z
Copy link
Contributor

Te-Z commented May 27, 2024

Hi @hieutbui , I have a few more comments:

  • the screen behind loading dialog changes while loading. IMO it should stay the same since the text in search bar is still the same
  • I wasn't able to join #matrix:matrix.org
  • when I open a joined room (in my case matrix news) the text appears then disappear. And I have to tap the reload icon to see its content

screen-20240523-170838.mp4

Hi @Te-Z, I tested it:

  • On my side, the case that search results disappeared only happened 1 time. I'm trying to figure out the root cause. Thought it is because of the sync.
  • Case can't join. It is because of the API timeout.
  • Case need reload to see messages, I believe It is a common problem that we already know. For other rooms in our server, this also happens sometimes.

Hi @hieutbui I retried and I'm not able to reproduce the search bug. I had it multiple times the last time but looks like it's gone now.
Ok for the two other points

Comment on lines 70 to 77
_publicRoomInteractor
.execute(
filter: _filter,
limit: _limitPublicRoomSearchFilter,
server: getServerName(_filter?.genericSearchTerm),
)
.listen(
(searchResult) => _handleListenSearchPublicRoom(searchResult),
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

create a streamSubscription, then dispose it when done

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated

return null;
}

void joinRoom(
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMO: should use Future<void>


void _viewRoom(BuildContext context, String roomId) {
context.go('/rooms/$roomId');
if (!PlatformInfos.isMobile) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why need to pop for platforms other than mobile?

@hoangdat
Copy link
Member

hoangdat commented Jun 3, 2024

not in roadmap

@hoangdat hoangdat closed this Jun 3, 2024
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.

5 participants