sharing 6/7: Sharing Tab UI#8064
Draft
keithharvey wants to merge 1 commit into
Draft
Conversation
Contributor
Integration Test Results18 tests ±0 9 ✅ ±0 20s ⏱️ -1s For more details on these failures, see this check. Results for commit 6c0061d. ± Comparison against base commit 20fd02b. ♻️ This comment has been updated with latest results. |
This was referenced Jun 22, 2026
Draft
7911463 to
41cb9cf
Compare
0ac6d63 to
495ddd8
Compare
41cb9cf to
b05ed42
Compare
495ddd8 to
e44eafa
Compare
b05ed42 to
04252b9
Compare
e44eafa to
470079c
Compare
daa0b5b to
6b37fb4
Compare
470079c to
5da130f
Compare
6b37fb4 to
b58d6eb
Compare
5da130f to
7fd7297
Compare
b58d6eb to
f22459c
Compare
33bc2cb to
ea791fa
Compare
9e8fe32 to
aca03b5
Compare
ea791fa to
73d078b
Compare
73d078b to
b77838c
Compare
aca03b5 to
5ec9c9b
Compare
304451c to
6d18f69
Compare
118a62c to
273b843
Compare
6d18f69 to
e00fa42
Compare
273b843 to
4f4337e
Compare
e00fa42 to
fd9faac
Compare
4f4337e to
b4e176d
Compare
fd9faac to
cb1120e
Compare
b4e176d to
6e48d13
Compare
cb1120e to
895d56e
Compare
6e48d13 to
a3e0e2e
Compare
895d56e to
ce6c3d7
Compare
a3e0e2e to
2297960
Compare
ce6c3d7 to
116f6a2
Compare
2297960 to
dca19db
Compare
116f6a2 to
4e1afac
Compare
dca19db to
cd71922
Compare
4e1afac to
cfbbc6a
Compare
cd71922 to
6834032
Compare
cfbbc6a to
5ddf04e
Compare
6834032 to
21ffb7d
Compare
5ddf04e to
9b37bc7
Compare
21ffb7d to
90c8ce7
Compare
9b37bc7 to
67948fc
Compare
90c8ce7 to
e68faff
Compare
67948fc to
f170fa5
Compare
e68faff to
192e574
Compare
f170fa5 to
2b37362
Compare
192e574 to
20fd02b
Compare
2b37362 to
6c0061d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📚 Stacked split of #5704 — review bottom-up
Warning
Review and approve here, but don't merge this PR — the whole feature lands in one GitHub-UI merge of the root PR #5704 (byte-identical to the assembled tip) once the type-migration stack (#8235) is in. Merge instructions live on #5704.
Each PR is file-partitioned: every file appears in exactly one PR in its final
sharing_tabform, so each PR's diff is byte-identical to that branch. Regenerated deterministically byjust bar::sharing-split.Summary (LLM-generated, claude-opus-4-6)
Wire the PolicyResult / TeamTransfer layer into every sharing-related UI surface.
team_transfer_unsynced.luaas the unsyncedTeamTransferfacade (.Resources,.Units,.Units.ShareUnits) andunit_transfer_unsynced.luawhich sends unit shares viaLuaRulesMsginstead ofSpring.ShareResources.gui_advplayerslisthelpers intogui_advplayerlist/policy.lua(pack/unpackPolicyResultperPolicyTypeinto player-data rows,RepackPolicyonSharePolicyChanged),resource.lua(HandleResourceTransferusingDecideCommunicationCase),api_extensions.lua(hover-change + hover-invalid-units listener API), andgui_advplayerslist_modules.lua(column-module definitions moved out of the main widget to dodge the Lua local cap; accessed viaModuleRefs).gui_advplayerslist.lua: share buttons render enabled/disabled overlays fromunitPolicy.canShareandamountSendable; tooltips delegate toTeamTransfer.Units.TooltipText/ResourceTransfer.TooltipText; resource slider amounts come frompolicyResult.amountSendable; addSelectionChangedandSharePolicyChangedcallins; hover tracking firesApiExtensions.HandleHoverChangeso invalid units are communicated to the selection-highlight widget.gui_selectedunits_gl4.lua+ shaders: pipe ag_invalidvarying fromv_parameters.ythrough geom/vert/frag; units flagged invalid for the hovered receiver render with a red highlight; subscribe toAddHoverInvalidUnitsListenerfrom the player-list API.gui_top_bar.lua: gate share-slider visibility onGetCachedPolicyResult(...).canShare; readShareStatsfor sent/received; re-evaluate policy each tick so tech-unlocks show immediately. Ingui_chat.lua: switch chat-message param protocol to positional:key:valuepairs with explicitresourceType; useSendTransferChatMessageProtocolHighlightsfor coloring; skipUnitTakenlogging whenisTakeInProgress. Ingui_teamstats.lua: overlayShareStats.Readonto engine history for sent/received. RegisterSharePolicyChangedcallin inbarwidgets.lua.interface.jsonsharing tooltips into structuredbase/techobjects withdisabled,allInvalid,buildDelay,stunDelay,invalid(pluralised) variants; addtechBlockingandunitSharingModei18n sections; addtech2TeamLost/tech3TeamLosttip keys. Addcmd_take.luawidget forwarding/taketo synced gadget.