Skip to content

(WIP) Handle track republish after full-reconnect - #271

Draft
ladvoc wants to merge 1 commit into
mainfrom
ladvoc/handle-full-reconnect
Draft

ladvoc wants to merge 1 commit into
mainfrom
ladvoc/handle-full-reconnect

Conversation

@ladvoc

@ladvoc ladvoc commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

Fixes BOT-568

return room.listener_id_;
}

static void simulateScenario(Room& room, proto::SimulateScenarioKind scenario) {

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

question: Do we need this?

Comment thread src/room.cpp
const auto& ltr = re.local_track_republished();
const std::string& previous_sid = ltr.previous_sid();

auto& published = local_participant_->published_tracks_by_sid_;

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Nit: variable name for the data type, maybe published_list or published_set (depending on what published_tracks_by_sid_ is)

@alan-george-lk alan-george-lk left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM pending comments

Comment thread src/room.cpp
LK_LOG_ERROR("kLocalTrackRepublished: local_participant_ is nullptr");
break;
}
const auto& ltr = re.local_track_republished();

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Nit: variable name, maybe local_track_repub

Comment thread src/room.cpp
Comment on lines +636 to +651
auto it = published.find(previous_sid);
if (it == published.end()) {
LK_LOG_WARN("local_track_republished for unknown previous sid: {}", previous_sid);
break;
}
auto track = it->second.lock();
if (!track) {
published.erase(it);
LK_LOG_WARN("local_track_republished for expired previous sid: {}", previous_sid);
break;
}
auto publication = localTrackPublication(track);
if (!publication) {
LK_LOG_WARN("local_track_republished missing publication for sid: {}", previous_sid);
break;
}

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

In these cases do we just lose the track entirely given the break on each? Is that intentional?

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.

2 participants