-
Notifications
You must be signed in to change notification settings - Fork 471
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
Fixes on chunks sync successful out of range #1012
Conversation
WalkthroughThe changeset primarily focuses on enhancing the loop logic in the Changes
Uplevel your code reviews with Entelligence.AI ProEntelligence.AI ProIf you like this project, please support us by purchasing the Pro version. The Pro version has advanced context, superior noise reduction and several proprietary improvements compared to the open source version. Moreover, Entelligence.AI Pro is free for open source projects. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Files selected (1)
- app/lib/services/wals.dart (1)
Review comments generated (2)
- Review: 2
- LGTM: 0
Tips
Chat with Entelligence.AI Bot (@Entelligence.AI
)
- Reply on review comments left by this bot to ask follow-up questions. A review comment is a comment on a diff or a file.
- Invite the bot into a review comment chain by tagging
@Entelligence.AI
in a reply.
Code suggestions
- The bot may make code suggestions, but please review them carefully before committing since the line number ranges may be misaligned.
- You can edit the comment made by the bot and manually tweak the suggestion if it is slightly off.
Pausing incremental reviews
- Add
@Entelligence.AI: ignore
anywhere in the PR description to pause further reviews from the bot.
// Success? update status to synced | ||
for (var j = i; j < i + steps && j < wals.length; j++) { | ||
var wal = wals[j]; | ||
wals[j].status = WalStatus.synced; // ref to _wals[] | ||
|
||
// Send | ||
for (var sub in _subscriptions.values) { | ||
sub.onWalSynced(_wals[j]); | ||
sub.onWalSynced(wal); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The new loop logic seems to be correct, but it's not clear why the wal
variable is introduced. It seems to be used only once in the onWalSynced
method call. If there's no other use for this variable, it might be better to directly use wals[j]
in the onWalSynced
method call to avoid unnecessary variable assignment.
- var wal = wals[j];
- wals[j].status = WalStatus.synced; // ref to _wals[]
+ wals[j].status = WalStatus.synced;
// Send
for (var sub in _subscriptions.values) {
- sub.onWalSynced(wal);
+ sub.onWalSynced(wals[j]);
}
// Send | ||
for (var sub in _subscriptions.values) { | ||
sub.onWalSynced(_wals[j]); | ||
sub.onWalSynced(wal); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is a potential issue with the way subscriptions are handled. If a subscription is removed during the iteration of _subscriptions.values
, it could lead to a ConcurrentModificationError. Consider making a copy of the values before iterating over them.
- for (var sub in _subscriptions.values) {
+ for (var sub in List.from(_subscriptions.values)) {
sub.onWalSynced(wals[j]);
}
Summary by Entelligence.AI