Skip to content

Commit 076529a

Browse files
committed
do not alias ctrl.data, which can be replaced (fixes lichess-org#6127, closes lichess-org#6254)
1 parent b692b72 commit 076529a

File tree

1 file changed

+18
-20
lines changed

1 file changed

+18
-20
lines changed

ui/round/src/socket.ts

+18-20
Original file line numberDiff line numberDiff line change
@@ -68,13 +68,11 @@ export function make(send: SocketSend, ctrl: RoundController): RoundSocket {
6868
});
6969
};
7070

71-
const d = ctrl.data;
72-
7371
const handlers: Handlers = {
7472
takebackOffers(o) {
7573
ctrl.setLoading(false);
76-
d.player.proposingTakeback = o[d.player.color];
77-
const fromOp = d.opponent.proposingTakeback = o[d.opponent.color];
74+
ctrl.data.player.proposingTakeback = o[ctrl.data.player.color];
75+
const fromOp = ctrl.data.opponent.proposingTakeback = o[ctrl.data.opponent.color];
7876
if (fromOp) notify(ctrl.noarg('yourOpponentProposesATakeback'));
7977
ctrl.redraw();
8078
},
@@ -90,34 +88,34 @@ export function make(send: SocketSend, ctrl: RoundController): RoundSocket {
9088
},
9189
cclock(o) {
9290
if (ctrl.corresClock) {
93-
d.correspondence.white = o.white;
94-
d.correspondence.black = o.black;
91+
ctrl.data.correspondence.white = o.white;
92+
ctrl.data.correspondence.black = o.black;
9593
ctrl.corresClock.update(o.white, o.black);
9694
ctrl.redraw();
9795
}
9896
},
9997
crowd(o) {
100-
game.setOnGame(d, 'white', o['white']);
101-
game.setOnGame(d, 'black', o['black']);
98+
game.setOnGame(ctrl.data, 'white', o['white']);
99+
game.setOnGame(ctrl.data, 'black', o['black']);
102100
ctrl.redraw();
103101
},
104102
endData(o: ApiEnd) {
105103
ctrl.endWithData(o);
106104
},
107105
rematchOffer(by: Color) {
108-
d.player.offeringRematch = by === d.player.color;
109-
if (d.opponent.offeringRematch = by === d.opponent.color)
106+
ctrl.data.player.offeringRematch = by === ctrl.data.player.color;
107+
if (ctrl.data.opponent.offeringRematch = by === ctrl.data.opponent.color)
110108
notify(ctrl.noarg('yourOpponentWantsToPlayANewGameWithYou'));
111109
ctrl.redraw();
112110
},
113111
rematchTaken(nextId: string) {
114-
d.game.rematch = nextId;
115-
if (!d.player.spectator) ctrl.setLoading(true);
112+
ctrl.data.game.rematch = nextId;
113+
if (!ctrl.data.player.spectator) ctrl.setLoading(true);
116114
else ctrl.redraw();
117115
},
118116
drawOffer(by) {
119-
d.player.offeringDraw = by === d.player.color;
120-
const fromOp = d.opponent.offeringDraw = by === d.opponent.color;
117+
ctrl.data.player.offeringDraw = by === ctrl.data.player.color;
118+
const fromOp = ctrl.data.opponent.offeringDraw = by === ctrl.data.opponent.color;
121119
if (fromOp) notify(ctrl.noarg('yourOpponentOffersADraw'));
122120
ctrl.redraw();
123121
},
@@ -127,16 +125,16 @@ export function make(send: SocketSend, ctrl: RoundController): RoundSocket {
127125
gone: ctrl.setGone,
128126
goneIn: ctrl.setGone,
129127
checkCount(e) {
130-
d.player.checks = d.player.color == 'white' ? e.white : e.black;
131-
d.opponent.checks = d.opponent.color == 'white' ? e.white : e.black;
128+
ctrl.data.player.checks = ctrl.data.player.color == 'white' ? e.white : e.black;
129+
ctrl.data.opponent.checks = ctrl.data.opponent.color == 'white' ? e.white : e.black;
132130
ctrl.redraw();
133131
},
134132
simulPlayerMove(gameId: string) {
135133
if (
136134
ctrl.opts.userId &&
137-
d.simul &&
138-
ctrl.opts.userId == d.simul.hostId &&
139-
gameId !== d.game.id &&
135+
ctrl.data.simul &&
136+
ctrl.opts.userId == ctrl.data.simul.hostId &&
137+
gameId !== ctrl.data.game.id &&
140138
ctrl.moveOn.get() &&
141139
!isPlayerTurn(ctrl.data)) {
142140
ctrl.setRedirecting();
@@ -160,7 +158,7 @@ export function make(send: SocketSend, ctrl: RoundController): RoundSocket {
160158
send,
161159
handlers,
162160
moreTime: throttle(300, () => send('moretime')),
163-
outoftime: backoff(500, 1.1, () => send('flag', d.game.player)),
161+
outoftime: backoff(500, 1.1, () => send('flag', ctrl.data.game.player)),
164162
berserk: throttle(200, () => send('berserk', null, { ackable: true })),
165163
sendLoading(typ: string, data?: any) {
166164
ctrl.setLoading(true);

0 commit comments

Comments
 (0)