mirror of
https://github.com/fatedier/frp.git
synced 2026-05-15 08:05:49 -06:00
[PR #5222] [MERGED] server/group: refactor with shared abstractions and fix concurrency issues #5187
Labels
No labels
In Progress
WIP
WaitingForInfo
bug
doc
duplicate
easy
enhancement
future
help wanted
invalid
lifecycle/stale
need-issue-template
need-usage-help
no plan
proposal
pull-request
question
todo
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/frp#5187
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/fatedier/frp/pull/5222
Author: @fatedier
Created: 3/8/2026
Status: ✅ Merged
Merged: 3/8/2026
Merged by: @fatedier
Base:
dev← Head:new📝 Commits (3)
0125ca9server/group: refactor group package with shared abstractions and fix concurrency issues2de5655server/group: replace tautological assertion with require.NotPanics9eafcc8server/group: remove blank line between doc comment and type declaration📊 Changes
12 files changed (+720 additions, -436 deletions)
View changed files
➕
server/group/base.go(+77 -0)➕
server/group/base_test.go(+169 -0)📝
server/group/group.go(+2 -0)📝
server/group/http.go(+26 -33)📝
server/group/https.go(+28 -123)➕
server/group/listener.go(+49 -0)➕
server/group/listener_test.go(+68 -0)➕
server/group/registry.go(+59 -0)➕
server/group/registry_test.go(+102 -0)📝
server/group/tcp.go(+37 -138)📝
server/group/tcpmux.go(+41 -142)📝
test/e2e/v1/features/group.go(+62 -0)📄 Description
Summary
groupRegistry[G], sharedbaseGroupfor listener-based groups, unifiedListenertypeTest plan
go test -race ./server/group— 17 tests passgolangci-lint run— 0 issuesmake e2e— 225/225 pass (2 skipped: IPv6/QUIC)🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.