Loading CHANGELOG.md +5 −0 Original line number Diff line number Diff line Loading @@ -10,13 +10,18 @@ The format is based on [keep a changelog](http://keepachangelog.com) and this pr - Independent config flags for socket read and write buffer sizes. ### Changed - Replace metrics implementation. - Strictly validate authoritative match create parameter encoding. - Only perform user account updates if fields have changed. - Developer console status snapshot gauges more accurately reflect current server metrics. - Build with Go 1.14.2 release. ### Fixed - Ensure runtime environment values do not appear multiple times in the devconsole configuration view. - Channel presence events now populate room, group, and direct message fields. - Developer console status graphs correctly show a fixed time window of metrics. - Expose friend deletion in developer console user detail view. - Expose group membership deletion in developer console user detail view. ## [2.11.1] - 2020-03-29 ### Changed Loading console/a_console-packr.go +6 −6 File changed.Preview size limit exceeded, changes collapsed. Show changes console/ui/src/routes/status/index.tsx +37 −10 Original line number Diff line number Diff line Loading @@ -45,16 +45,43 @@ type State = { class Status extends Component<Props, State> { public constructor(props: Props) { super(props); let labels = []; let latency_ms = []; let rate_sec = []; let input_kbs = []; let output_kbs = []; const now = new Date(); for (let i = 0; i < 24; i++) { const d = new Date(now.getTime() - (i * 5000)); const t = d.valueOf(); labels.push(d) latency_ms.push({ t, y: 0 }); rate_sec.push({ t, y: 0 }); input_kbs.push({ t, y: 0 }); output_kbs.push({ t, y: 0 }); } this.state = { avg_latency_ms: 0, avg_rate_sec: 0, avg_input_kbs: 0, avg_output_kbs: 0, labels: [], latency_ms: [], rate_sec: [], input_kbs: [], output_kbs: [], labels: labels, latency_ms: latency_ms, rate_sec: rate_sec, input_kbs: input_kbs, output_kbs: output_kbs, interval: undefined }; } Loading Loading @@ -149,19 +176,19 @@ class Status extends Component<Props, State> { y: avg_output_kbs }); if (labels.length > 360) { if (labels.length > 24) { labels.shift(); } if (latency_ms.length > 360) { if (latency_ms.length > 24) { latency_ms.shift(); } if (rate_sec.length > 360) { if (rate_sec.length > 24) { rate_sec.shift(); } if (input_kbs.length > 360) { if (input_kbs.length > 24) { input_kbs.shift(); } if (output_kbs.length > 360) { if (output_kbs.length > 24) { output_kbs.shift(); } Loading console/ui/src/routes/users/details.tsx +5 −5 Original line number Diff line number Diff line Loading @@ -13,7 +13,7 @@ import { LedgerObject, LedgerObjectRequest, UserObject, UserObjectRequest UserObjectRequest, UserDeleteFriendRequest } from '../../store/users/types'; import { Loading Loading @@ -211,15 +211,15 @@ class UsersDetails extends Component<Props, State> { public remove_friend(id: string) { const {match} = this.props; if (confirm('Are you sure you want to delete this friend?')) { this.props.deleteFriendRequest({id}); this.props.deleteFriendRequest({id: ((match.params as Record<string, string>)["id"] as string), friendId: id}); this.props.fetchFriendRequest(match.params); } } public remove_group(id: string) { const {match} = this.props; if (confirm('Are you sure you want to delete this group?')) { this.props.deleteGroupRequest({id}); if (confirm('Are you sure you want to delete this group membership?')) { this.props.deleteGroupRequest({id: ((match.params as Record<string, string>)["id"] as string), groupId: id}); this.props.fetchGroupRequest(match.params); } } Loading Loading @@ -1071,7 +1071,7 @@ const mapDispatchToProps = (dispatch: Dispatch) => ({ userActions.userUnlinkCustomRequest(data) ), deleteFriendRequest: (data: UserObjectRequest) => dispatch( deleteFriendRequest: (data: UserDeleteFriendRequest) => dispatch( userActions.userDeleteFriendRequest(data) ), deleteGroupRequest: (data: UserObjectRequest) => dispatch( Loading console/ui/src/store/users/actions.ts +4 −2 Original line number Diff line number Diff line import {action} from 'typesafe-actions'; import { UserActionTypes, UserDeleteFriendRequest, UserDeleteGroupRequest, UserObjectRequest, UserUnlinkDeviceRequest, UserObject, Loading Loading @@ -150,7 +152,7 @@ export const userFetchFriendError = (message: string) => action( message ); export const userDeleteFriendRequest = (data: UserObjectRequest) => action( export const userDeleteFriendRequest = (data: UserDeleteFriendRequest) => action( UserActionTypes.DELETE_FRIEND_REQUEST, data ); Loading @@ -175,7 +177,7 @@ export const userFetchGroupError = (message: string) => action( message ); export const userDeleteGroupRequest = (data: UserObjectRequest) => action( export const userDeleteGroupRequest = (data: UserDeleteGroupRequest) => action( UserActionTypes.DELETE_GROUP_REQUEST, data ); Loading Loading
CHANGELOG.md +5 −0 Original line number Diff line number Diff line Loading @@ -10,13 +10,18 @@ The format is based on [keep a changelog](http://keepachangelog.com) and this pr - Independent config flags for socket read and write buffer sizes. ### Changed - Replace metrics implementation. - Strictly validate authoritative match create parameter encoding. - Only perform user account updates if fields have changed. - Developer console status snapshot gauges more accurately reflect current server metrics. - Build with Go 1.14.2 release. ### Fixed - Ensure runtime environment values do not appear multiple times in the devconsole configuration view. - Channel presence events now populate room, group, and direct message fields. - Developer console status graphs correctly show a fixed time window of metrics. - Expose friend deletion in developer console user detail view. - Expose group membership deletion in developer console user detail view. ## [2.11.1] - 2020-03-29 ### Changed Loading
console/a_console-packr.go +6 −6 File changed.Preview size limit exceeded, changes collapsed. Show changes
console/ui/src/routes/status/index.tsx +37 −10 Original line number Diff line number Diff line Loading @@ -45,16 +45,43 @@ type State = { class Status extends Component<Props, State> { public constructor(props: Props) { super(props); let labels = []; let latency_ms = []; let rate_sec = []; let input_kbs = []; let output_kbs = []; const now = new Date(); for (let i = 0; i < 24; i++) { const d = new Date(now.getTime() - (i * 5000)); const t = d.valueOf(); labels.push(d) latency_ms.push({ t, y: 0 }); rate_sec.push({ t, y: 0 }); input_kbs.push({ t, y: 0 }); output_kbs.push({ t, y: 0 }); } this.state = { avg_latency_ms: 0, avg_rate_sec: 0, avg_input_kbs: 0, avg_output_kbs: 0, labels: [], latency_ms: [], rate_sec: [], input_kbs: [], output_kbs: [], labels: labels, latency_ms: latency_ms, rate_sec: rate_sec, input_kbs: input_kbs, output_kbs: output_kbs, interval: undefined }; } Loading Loading @@ -149,19 +176,19 @@ class Status extends Component<Props, State> { y: avg_output_kbs }); if (labels.length > 360) { if (labels.length > 24) { labels.shift(); } if (latency_ms.length > 360) { if (latency_ms.length > 24) { latency_ms.shift(); } if (rate_sec.length > 360) { if (rate_sec.length > 24) { rate_sec.shift(); } if (input_kbs.length > 360) { if (input_kbs.length > 24) { input_kbs.shift(); } if (output_kbs.length > 360) { if (output_kbs.length > 24) { output_kbs.shift(); } Loading
console/ui/src/routes/users/details.tsx +5 −5 Original line number Diff line number Diff line Loading @@ -13,7 +13,7 @@ import { LedgerObject, LedgerObjectRequest, UserObject, UserObjectRequest UserObjectRequest, UserDeleteFriendRequest } from '../../store/users/types'; import { Loading Loading @@ -211,15 +211,15 @@ class UsersDetails extends Component<Props, State> { public remove_friend(id: string) { const {match} = this.props; if (confirm('Are you sure you want to delete this friend?')) { this.props.deleteFriendRequest({id}); this.props.deleteFriendRequest({id: ((match.params as Record<string, string>)["id"] as string), friendId: id}); this.props.fetchFriendRequest(match.params); } } public remove_group(id: string) { const {match} = this.props; if (confirm('Are you sure you want to delete this group?')) { this.props.deleteGroupRequest({id}); if (confirm('Are you sure you want to delete this group membership?')) { this.props.deleteGroupRequest({id: ((match.params as Record<string, string>)["id"] as string), groupId: id}); this.props.fetchGroupRequest(match.params); } } Loading Loading @@ -1071,7 +1071,7 @@ const mapDispatchToProps = (dispatch: Dispatch) => ({ userActions.userUnlinkCustomRequest(data) ), deleteFriendRequest: (data: UserObjectRequest) => dispatch( deleteFriendRequest: (data: UserDeleteFriendRequest) => dispatch( userActions.userDeleteFriendRequest(data) ), deleteGroupRequest: (data: UserObjectRequest) => dispatch( Loading
console/ui/src/store/users/actions.ts +4 −2 Original line number Diff line number Diff line import {action} from 'typesafe-actions'; import { UserActionTypes, UserDeleteFriendRequest, UserDeleteGroupRequest, UserObjectRequest, UserUnlinkDeviceRequest, UserObject, Loading Loading @@ -150,7 +152,7 @@ export const userFetchFriendError = (message: string) => action( message ); export const userDeleteFriendRequest = (data: UserObjectRequest) => action( export const userDeleteFriendRequest = (data: UserDeleteFriendRequest) => action( UserActionTypes.DELETE_FRIEND_REQUEST, data ); Loading @@ -175,7 +177,7 @@ export const userFetchGroupError = (message: string) => action( message ); export const userDeleteGroupRequest = (data: UserObjectRequest) => action( export const userDeleteGroupRequest = (data: UserDeleteGroupRequest) => action( UserActionTypes.DELETE_GROUP_REQUEST, data ); Loading