Skip to content

feat: 好友管理 - #6317

Open
CiiLu wants to merge 32 commits into
HMCL-dev:mainfrom
CiiLu:_
Open

feat: 好友管理#6317
CiiLu wants to merge 32 commits into
HMCL-dev:mainfrom
CiiLu:_

Conversation

@CiiLu

@CiiLu CiiLu commented Jul 5, 2026

Copy link
Copy Markdown
Contributor

resolves #6157
resolves #6114

@CiiLu
CiiLu marked this pull request as draft July 6, 2026 15:07
@CiiLu CiiLu changed the title feat: 好友列表 feat: 好友管理 Jul 8, 2026
@github-actions github-actions Bot added the 1000+ label Jul 17, 2026
枯荣有数,屡变星霜,天行有常,本不为古今更易、人事存亡。`
@CiiLu
CiiLu marked this pull request as ready for review July 25, 2026 04:05
@Glavo

Glavo commented Jul 25, 2026

Copy link
Copy Markdown
Member

@codex review

1 similar comment
@Glavo

Glavo commented Aug 4, 2026

Copy link
Copy Markdown
Member

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 65f923fc7b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread HMCL/src/main/java/org/jackhuang/hmcl/ui/account/friend/FriendListPage.java Outdated
@Glavo

Glavo commented Aug 20, 2026

Copy link
Copy Markdown
Member

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 0aa1484bd6

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread HMCL/src/main/java/org/jackhuang/hmcl/ui/account/friend/FriendListCell.java Outdated
@Glavo

Glavo commented Aug 21, 2026

Copy link
Copy Markdown
Member

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: caf2ec8dd0

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +66 to +67
.whenComplete(Schedulers.javafx(), (result, exception) -> {
setLoading(false);

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Serialize overlapping friend-list refreshes

When the user clicks the toolbar refresh while the constructor-triggered or another refresh is still running, the toolbar remains enabled and both tasks execute concurrently. The first callback to finish clears loading even if another request is active, and a slower older callback can subsequently overwrite the newer list or replace it with a failure overlay. Disable/cancel overlapping refreshes or ignore callbacks from superseded requests.

Useful? React with 👍 / 👎.

@Glavo

Glavo commented Sep 8, 2026

Copy link
Copy Markdown
Member

@codex review

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 8, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-08T12:58:54.048614Z 39fddfd Manual request
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 39fddfd238

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Task.supplyAsync(() -> control.updateFriend(null, item.profileId(), updateType)).whenComplete(Schedulers.javafx(), (result, exception) -> {
if (exception != null) {
LOG.warning("Failed to update friend", exception);
fireEvent(new DialogCloseEvent());

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Fire the close event from the dialog content

When an accept, reject, revoke, or remove request completes, this event is fired on the background FriendListPage, while DialogUtils.show installs its close handler on the MessageDialogPane passed to Controllers.dialog. Because the page is not a descendant of that dialog, the event never reaches the handler: successful operations leave the confirmation modal stuck on its spinner, and failures push the error dialog over the same stuck confirmation. Fire the event from stackPane or the dialog content instead.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature] 在使用支持好友功能的外置登录服务商时提供启动器内好友列表功能 [Feature] 启动器内「好友管理」功能

2 participants