Settings Sync: "Auto Sync: Suspended ..." log and sign in request every hour

Issue Type: Bug
I'm already signed in to MS (used to sync settings) and GH accounts.
Each hour I see badge on Accounts in sidebar and each time it's call to action: "Sign in to Sync Settings (1)". Click on it and selecting MS account just start syncing again (no need to login in browser etc.)
I would guess that it started on Tuesday or Wednesday last week (February 23-24). However I barely used VS Code Insiders last week so this guess might be incorrect.

Output: Log (Settings Sync)
[2021-03-01 12:00:10.076] [settingssync] [info] Using settings sync service https://vscode-sync-insiders.trafficmanager.net/
[2021-03-01 12:00:10.076] [settingssync] [info] Auto Sync is enabled.
[2021-03-01 12:00:10.076] [settingssync] [info] Auto Sync: Suspended until auth token is available.
[2021-03-01 12:03:56.765] [settingssync] [info] Auto Sync: Started
[2021-03-01 12:03:56.765] [settingssync] [info] Auto Sync: Triggered by Interval
...[no changes messages]...
[2021-03-01 12:03:59.076] [settingssync] [info] GlobalState: Updated remote ui state
[2021-03-01 12:03:59.081] [settingssync] [info] GlobalState: Updated last synchronized ui state
...[no changes messages]...
[2021-03-01 12:03:59.156] [settingssync] [info] Sync done. Took 730ms
[2021-03-01 12:04:07.872] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 12:04:08.558] [settingssync] [info] Sync done. Took 121ms
[2021-03-01 12:04:28.592] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 12:04:29.177] [settingssync] [info] Sync done. Took 103ms
[2021-03-01 12:04:43.825] [settingssync] [info] Auto Sync: Triggered by Activity
[2021-03-01 12:04:44.352] [settingssync] [info] Settings: Updated remote settings
[2021-03-01 12:04:44.362] [settingssync] [info] Settings: Updated last synchronized settings
...[no changes messages]...
[2021-03-01 12:04:44.453] [settingssync] [info] Sync done. Took 422ms
[2021-03-01 12:04:45.181] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 12:04:45.511] [settingssync] [info] Sync done. Took 122ms
[2021-03-01 12:04:50.167] [settingssync] [info] Auto Sync: Triggered by Activity
[2021-03-01 12:04:50.676] [settingssync] [info] Settings: Updated remote settings
[2021-03-01 12:04:50.683] [settingssync] [info] Settings: Updated last synchronized settings
...[no changes messages]...
[2021-03-01 12:04:50.762] [settingssync] [info] Sync done. Took 378ms
[2021-03-01 12:04:51.513] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 12:04:51.839] [settingssync] [info] Sync done. Took 109ms
[2021-03-01 12:05:05.956] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 12:05:06.776] [settingssync] [info] GlobalState: Updated remote ui state
[2021-03-01 12:05:06.792] [settingssync] [info] GlobalState: Updated last synchronized ui state
...[no changes messages]...
[2021-03-01 12:05:06.856] [settingssync] [info] Sync done. Took 687ms
[2021-03-01 12:05:07.266] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 12:05:07.561] [settingssync] [info] Sync done. Took 90ms
[2021-03-01 12:10:07.579] [settingssync] [info] Auto Sync: Triggered by Interval
...[no changes messages]...
[2021-03-01 12:10:08.472] [settingssync] [info] Sync done. Took 101ms
[2021-03-01 12:15:08.492] [settingssync] [info] Auto Sync: Triggered by Interval
...[no changes messages]...
[2021-03-01 12:15:09.371] [settingssync] [info] Sync done. Took 108ms
[2021-03-01 12:19:27.835] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 12:19:31.460] [settingssync] [info] GlobalState: Updated remote ui state
[2021-03-01 12:19:31.465] [settingssync] [info] GlobalState: Updated last synchronized ui state
...[no changes messages]...
[2021-03-01 12:19:31.544] [settingssync] [info] Sync done. Took 1062ms
[2021-03-01 12:19:31.545] [settingssync] [info] Auto Sync: Triggered by Activity
[2021-03-01 12:19:31.631] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 12:19:32.247] [settingssync] [info] GlobalState: Skipped synchronizing globalstate as it is running already.
...[no changes messages]...
[2021-03-01 12:19:32.329] [settingssync] [info] Sync done. Took 101ms
[2021-03-01 12:19:32.501] [settingssync] [info] GlobalState: Updated remote ui state
[2021-03-01 12:19:32.508] [settingssync] [info] GlobalState: Updated last synchronized ui state
...[no changes messages]...
[2021-03-01 12:19:32.574] [settingssync] [info] Sync done. Took 674ms
[2021-03-01 12:19:33.612] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 12:19:34.022] [settingssync] [info] Sync done. Took 97ms
[2021-03-01 12:23:53.190] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 12:23:54.057] [settingssync] [info] Sync done. Took 124ms
[2021-03-01 12:27:10.478] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 12:27:11.392] [settingssync] [info] Sync done. Took 109ms
[2021-03-01 12:32:11.412] [settingssync] [info] Auto Sync: Triggered by Interval
...[no changes messages]...
[2021-03-01 12:32:12.259] [settingssync] [info] Sync done. Took 99ms
[2021-03-01 12:37:12.265] [settingssync] [info] Auto Sync: Triggered by Interval
...[no changes messages]...
[2021-03-01 12:37:13.201] [settingssync] [info] Sync done. Took 121ms
[2021-03-01 12:41:59.629] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 12:42:00.493] [settingssync] [info] Sync done. Took 123ms
[2021-03-01 12:42:04.023] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 12:42:04.730] [settingssync] [info] GlobalState: Updated remote ui state
[2021-03-01 12:42:04.736] [settingssync] [info] GlobalState: Updated last synchronized ui state
...[no changes messages]...
[2021-03-01 12:42:04.831] [settingssync] [info] Sync done. Took 606ms
[2021-03-01 12:42:45.227] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 12:42:45.517] [settingssync] [info] Sync done. Took 87ms
[2021-03-01 12:47:45.520] [settingssync] [info] Auto Sync: Triggered by Interval
...[no changes messages]...
[2021-03-01 12:47:46.375] [settingssync] [info] Sync done. Took 110ms
[2021-03-01 12:50:16.628] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 12:50:17.466] [settingssync] [info] Sync done. Took 101ms
[2021-03-01 12:53:37.259] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 12:53:38.190] [settingssync] [info] Sync done. Took 124ms
[2021-03-01 12:56:02.679] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 12:56:03.585] [settingssync] [info] Sync done. Took 132ms
[2021-03-01 12:56:28.236] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 12:56:28.553] [settingssync] [info] Sync done. Took 99ms
[2021-03-01 12:58:31.158] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 12:58:31.466] [settingssync] [info] Sync done. Took 95ms
[2021-03-01 13:03:31.473] [settingssync] [info] Auto Sync: Triggered by Interval
...[no changes messages]...
[2021-03-01 13:03:32.412] [settingssync] [info] Sync done. Took 118ms
[2021-03-01 13:08:32.420] [settingssync] [info] Auto Sync: Triggered by Interval
...[no changes messages]...
[2021-03-01 13:08:33.351] [settingssync] [info] Sync done. Took 111ms
[2021-03-01 13:13:33.362] [settingssync] [info] Auto Sync: Triggered by Interval
...[no changes messages]...
[2021-03-01 13:13:34.227] [settingssync] [info] Sync done. Took 117ms
[2021-03-01 13:15:08.979] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 13:15:09.294] [settingssync] [info] Sync done. Took 93ms
[2021-03-01 13:16:41.389] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 13:16:41.740] [settingssync] [info] Sync done. Took 143ms
[2021-03-01 13:19:05.341] [settingssync] [info] Auto Sync: Suspended until auth token is available.
[2021-03-01 13:19:05.341] [settingssync] [info] Auto Sync: Stopped
[2021-03-01 13:27:30.877] [settingssync] [info] Auto Sync: Started
[2021-03-01 13:27:30.877] [settingssync] [info] Auto Sync: Triggered by Interval
...[no changes messages]...
[2021-03-01 13:27:31.738] [settingssync] [info] Sync done. Took 123ms
[2021-03-01 13:28:42.770] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 13:28:43.105] [settingssync] [info] Sync done. Took 116ms
[2021-03-01 13:30:15.130] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 13:30:15.471] [settingssync] [info] Sync done. Took 127ms
[2021-03-01 13:34:43.341] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 13:34:44.250] [settingssync] [info] Sync done. Took 128ms
[2021-03-01 13:35:02.549] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 13:35:03.258] [settingssync] [info] GlobalState: Updated remote ui state
[2021-03-01 13:35:03.264] [settingssync] [info] GlobalState: Updated last synchronized ui state
...[no changes messages]...
[2021-03-01 13:35:03.323] [settingssync] [info] Sync done. Took 568ms
[2021-03-01 13:35:27.102] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 13:35:27.399] [settingssync] [info] Sync done. Took 94ms
[2021-03-01 13:36:14.846] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 13:36:15.145] [settingssync] [info] Sync done. Took 94ms
[2021-03-01 13:37:34.850] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 13:37:35.165] [settingssync] [info] Sync done. Took 99ms
[2021-03-01 13:42:13.956] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 13:42:14.831] [settingssync] [info] Sync done. Took 124ms
[2021-03-01 13:43:47.995] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 13:43:48.318] [settingssync] [info] Sync done. Took 117ms
[2021-03-01 13:44:12.660] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 13:44:12.976] [settingssync] [info] Sync done. Took 104ms
[2021-03-01 13:49:12.986] [settingssync] [info] Auto Sync: Triggered by Interval
...[no changes messages]...
[2021-03-01 13:49:13.844] [settingssync] [info] Sync done. Took 113ms
[2021-03-01 13:52:33.377] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 13:52:34.218] [settingssync] [info] Sync done. Took 111ms
[2021-03-01 13:52:58.528] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 13:52:58.833] [settingssync] [info] Sync done. Took 102ms
[2021-03-01 13:53:21.947] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 13:53:22.649] [settingssync] [info] GlobalState: Updated remote ui state
[2021-03-01 13:53:22.655] [settingssync] [info] GlobalState: Updated last synchronized ui state
...[no changes messages]...
[2021-03-01 13:53:22.716] [settingssync] [info] Sync done. Took 563ms
[2021-03-01 13:53:25.071] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 13:53:25.825] [settingssync] [info] GlobalState: Updated remote ui state
[2021-03-01 13:53:25.848] [settingssync] [info] GlobalState: Updated last synchronized ui state
...[no changes messages]...
[2021-03-01 13:53:25.923] [settingssync] [info] Sync done. Took 637ms
[2021-03-01 13:56:01.747] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 13:56:02.668] [settingssync] [info] Sync done. Took 93ms
[2021-03-01 13:56:16.713] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 13:56:17.428] [settingssync] [info] GlobalState: Updated remote ui state
[2021-03-01 13:56:17.435] [settingssync] [info] GlobalState: Updated last synchronized ui state
...[no changes messages]...
[2021-03-01 13:56:17.503] [settingssync] [info] Sync done. Took 578ms
[2021-03-01 13:56:35.130] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 13:56:35.430] [settingssync] [info] Sync done. Took 96ms
[2021-03-01 14:01:35.443] [settingssync] [info] Auto Sync: Triggered by Interval
...[no changes messages]...
[2021-03-01 14:01:36.322] [settingssync] [info] Sync done. Took 100ms
[2021-03-01 14:06:36.326] [settingssync] [info] Auto Sync: Triggered by Interval
...[no changes messages]...
[2021-03-01 14:06:37.242] [settingssync] [info] Sync done. Took 104ms
[2021-03-01 14:11:37.247] [settingssync] [info] Auto Sync: Triggered by Interval
...[no changes messages]...
[2021-03-01 14:11:38.146] [settingssync] [info] Sync done. Took 120ms
[2021-03-01 14:16:38.159] [settingssync] [info] Auto Sync: Triggered by Interval
...[no changes messages]...
[2021-03-01 14:16:39.011] [settingssync] [info] Sync done. Took 97ms
[2021-03-01 14:17:16.694] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 14:17:16.997] [settingssync] [info] Sync done. Took 96ms
[2021-03-01 14:17:34.663] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 14:17:34.970] [settingssync] [info] Sync done. Took 96ms
[2021-03-01 14:18:35.362] [settingssync] [info] Auto Sync: Suspended until auth token is available.
[2021-03-01 14:18:35.362] [settingssync] [info] Auto Sync: Stopped
[2021-03-01 14:49:49.209] [settingssync] [info] Auto Sync: Started
[2021-03-01 14:49:49.209] [settingssync] [info] Auto Sync: Triggered by Interval
...[no changes messages]...
[2021-03-01 14:49:50.525] [settingssync] [info] GlobalState: Updated remote ui state
[2021-03-01 14:49:50.536] [settingssync] [info] GlobalState: Updated last synchronized ui state
...[no changes messages]...
[2021-03-01 14:49:50.610] [settingssync] [info] Sync done. Took 620ms
[2021-03-01 14:49:51.502] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 14:49:51.808] [settingssync] [info] Sync done. Took 98ms
[2021-03-01 14:53:04.943] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 14:53:05.796] [settingssync] [info] Sync done. Took 115ms
[2021-03-01 14:57:32.550] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 14:57:33.406] [settingssync] [info] Sync done. Took 109ms
[2021-03-01 15:02:33.413] [settingssync] [info] Auto Sync: Triggered by Interval
...[no changes messages]...
[2021-03-01 15:02:34.312] [settingssync] [info] Sync done. Took 110ms
[2021-03-01 15:07:34.364] [settingssync] [info] Auto Sync: Triggered by Interval
...[no changes messages]...
[2021-03-01 15:07:35.212] [settingssync] [info] Sync done. Took 101ms
[2021-03-01 15:12:35.238] [settingssync] [info] Auto Sync: Triggered by Interval
...[no changes messages]...
[2021-03-01 15:12:36.123] [settingssync] [info] Sync done. Took 120ms
[2021-03-01 15:12:58.804] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 15:12:59.099] [settingssync] [info] Sync done. Took 88ms
[2021-03-01 15:16:31.796] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 15:16:32.770] [settingssync] [info] Sync done. Took 97ms
[2021-03-01 15:16:47.032] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 15:16:47.343] [settingssync] [info] Sync done. Took 90ms
[2021-03-01 15:18:05.519] [settingssync] [info] Auto Sync: Suspended until auth token is available.
[2021-03-01 15:18:05.520] [settingssync] [info] Auto Sync: Stopped
[2021-03-01 15:31:50.640] [settingssync] [info] Auto Sync: Started
[2021-03-01 15:31:50.640] [settingssync] [info] Auto Sync: Triggered by Interval
...[no changes messages]...
[2021-03-01 15:31:52.124] [settingssync] [info] GlobalState: Updated remote ui state
[2021-03-01 15:31:52.131] [settingssync] [info] GlobalState: Updated last synchronized ui state
...[no changes messages]...
[2021-03-01 15:31:52.208] [settingssync] [info] Sync done. Took 783ms
[2021-03-01 15:31:52.978] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 15:31:53.290] [settingssync] [info] Sync done. Took 100ms
[2021-03-01 15:36:53.286] [settingssync] [info] Auto Sync: Triggered by Interval
...[no changes messages]...
[2021-03-01 15:36:54.165] [settingssync] [info] Sync done. Took 78ms
[2021-03-01 15:41:54.173] [settingssync] [info] Auto Sync: Triggered by Interval
...[no changes messages]...
[2021-03-01 15:41:55.001] [settingssync] [info] Sync done. Took 95ms
[2021-03-01 15:46:55.014] [settingssync] [info] Auto Sync: Triggered by Interval
...[no changes messages]...
[2021-03-01 15:46:55.900] [settingssync] [info] Sync done. Took 104ms
[2021-03-01 15:51:55.903] [settingssync] [info] Auto Sync: Triggered by Interval
...[no changes messages]...
[2021-03-01 15:51:56.754] [settingssync] [info] Sync done. Took 114ms
[2021-03-01 15:56:56.762] [settingssync] [info] Auto Sync: Triggered by Interval
...[no changes messages]...
[2021-03-01 15:57:07.885] [settingssync] [info] Sync done. Took 89ms
[2021-03-01 16:02:07.904] [settingssync] [info] Auto Sync: Triggered by Interval
...[no changes messages]...
[2021-03-01 16:02:08.795] [settingssync] [info] Sync done. Took 109ms
[2021-03-01 16:07:08.813] [settingssync] [info] Auto Sync: Triggered by Interval
...[no changes messages]...
[2021-03-01 16:07:09.691] [settingssync] [info] Sync done. Took 91ms
[2021-03-01 16:12:09.700] [settingssync] [info] Auto Sync: Triggered by Interval
...[no changes messages]...
[2021-03-01 16:12:10.617] [settingssync] [info] Sync done. Took 105ms
[2021-03-01 16:17:10.629] [settingssync] [info] Auto Sync: Triggered by Interval
...[no changes messages]...
[2021-03-01 16:17:11.535] [settingssync] [info] Sync done. Took 109ms
[2021-03-01 16:17:35.427] [settingssync] [info] Auto Sync: Suspended until auth token is available.
[2021-03-01 16:17:35.427] [settingssync] [info] Auto Sync: Stopped
[2021-03-01 16:28:35.900] [settingssync] [info] Auto Sync: Started
[2021-03-01 16:28:35.900] [settingssync] [info] Auto Sync: Triggered by Interval
...[no changes messages]...
[2021-03-01 16:28:36.754] [settingssync] [info] Sync done. Took 93ms
[2021-03-01 16:33:36.751] [settingssync] [info] Auto Sync: Triggered by Interval
...[no changes messages]...
[2021-03-01 16:33:37.628] [settingssync] [info] Sync done. Took 115ms
[2021-03-01 16:38:37.638] [settingssync] [info] Auto Sync: Triggered by Interval
...[no changes messages]...
[2021-03-01 16:38:38.518] [settingssync] [info] Sync done. Took 96ms
[2021-03-01 16:43:38.519] [settingssync] [info] Auto Sync: Triggered by Interval
...[no changes messages]...
[2021-03-01 16:43:39.716] [settingssync] [info] Sync done. Took 106ms
[2021-03-01 16:48:39.731] [settingssync] [info] Auto Sync: Triggered by Interval
...[no changes messages]...
[2021-03-01 16:48:40.621] [settingssync] [info] Sync done. Took 110ms
[2021-03-01 16:53:40.622] [settingssync] [info] Auto Sync: Triggered by Interval
...[no changes messages]...
[2021-03-01 16:53:41.518] [settingssync] [info] Sync done. Took 110ms
[2021-03-01 16:58:41.524] [settingssync] [info] Auto Sync: Triggered by Interval
...[no changes messages]...
[2021-03-01 16:58:42.419] [settingssync] [info] Sync done. Took 108ms
[2021-03-01 17:02:11.313] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 17:02:12.644] [settingssync] [info] Sync done. Took 133ms
[2021-03-01 17:02:54.972] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 17:02:55.285] [settingssync] [info] Sync done. Took 108ms
[2021-03-01 17:03:42.046] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 17:03:42.344] [settingssync] [info] Sync done. Took 87ms
[2021-03-01 17:03:51.903] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 17:03:52.619] [settingssync] [info] GlobalState: Updated remote ui state
[2021-03-01 17:03:52.638] [settingssync] [info] GlobalState: Updated last synchronized ui state
...[no changes messages]...
[2021-03-01 17:03:52.729] [settingssync] [info] Sync done. Took 618ms
[2021-03-01 17:05:11.132] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 17:05:11.441] [settingssync] [info] Sync done. Took 98ms
[2021-03-01 17:05:29.304] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 17:05:29.606] [settingssync] [info] Sync done. Took 90ms
[2021-03-01 17:05:51.955] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 17:05:52.273] [settingssync] [info] Sync done. Took 109ms
[2021-03-01 17:05:54.346] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 17:05:55.406] [settingssync] [info] GlobalState: Updated remote ui state
[2021-03-01 17:05:55.414] [settingssync] [info] GlobalState: Updated last synchronized ui state
...[no changes messages]...
[2021-03-01 17:05:55.481] [settingssync] [info] Sync done. Took 673ms
[2021-03-01 17:06:34.338] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 17:06:34.647] [settingssync] [info] Sync done. Took 97ms
[2021-03-01 17:07:11.435] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 17:07:11.726] [settingssync] [info] Sync done. Took 88ms
[2021-03-01 17:07:28.377] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 17:07:28.717] [settingssync] [info] Sync done. Took 134ms
[2021-03-01 17:07:37.166] [settingssync] [info] Auto Sync: Triggered by Activity
[2021-03-01 17:07:37.693] [settingssync] [info] Settings: Updated remote settings
[2021-03-01 17:07:37.700] [settingssync] [info] Settings: Updated last synchronized settings
...[no changes messages]...
[2021-03-01 17:07:37.778] [settingssync] [info] Sync done. Took 402ms
[2021-03-01 17:07:50.458] [settingssync] [info] Auto Sync: Triggered by Activity
[2021-03-01 17:07:50.949] [settingssync] [info] Settings: Updated remote settings
[2021-03-01 17:07:50.963] [settingssync] [info] Settings: Updated last synchronized settings
...[no changes messages]...
[2021-03-01 17:07:51.051] [settingssync] [info] Sync done. Took 387ms
[2021-03-01 17:07:55.069] [settingssync] [info] Auto Sync: Triggered by Activity
[2021-03-01 17:07:55.554] [settingssync] [info] Settings: Updated remote settings
[2021-03-01 17:07:55.560] [settingssync] [info] Settings: Updated last synchronized settings
...[no changes messages]...
[2021-03-01 17:07:55.643] [settingssync] [info] Sync done. Took 371ms
[2021-03-01 17:08:11.684] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 17:08:11.990] [settingssync] [info] Sync done. Took 97ms
[2021-03-01 17:13:12.005] [settingssync] [info] Auto Sync: Triggered by Interval
...[no changes messages]...
[2021-03-01 17:13:12.892] [settingssync] [info] Sync done. Took 147ms
[2021-03-01 17:17:05.517] [settingssync] [info] Auto Sync: Suspended until auth token is available.
[2021-03-01 17:17:05.517] [settingssync] [info] Auto Sync: Stopped
[2021-03-01 17:21:25.393] [settingssync] [info] Auto Sync: Started
[2021-03-01 17:21:25.393] [settingssync] [info] Auto Sync: Triggered by Interval
...[no changes messages]...
[2021-03-01 17:21:26.252] [settingssync] [info] Sync done. Took 113ms
[2021-03-01 17:26:26.265] [settingssync] [info] Auto Sync: Triggered by Interval
...[no changes messages]...
[2021-03-01 17:26:27.459] [settingssync] [info] Sync done. Took 124ms
[2021-03-01 17:31:27.467] [settingssync] [info] Auto Sync: Triggered by Interval
...[no changes messages]...
[2021-03-01 17:31:28.347] [settingssync] [info] Sync done. Took 93ms
[2021-03-01 17:32:13.426] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 17:32:13.745] [settingssync] [info] Sync done. Took 107ms
[2021-03-01 17:32:42.294] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 17:32:42.631] [settingssync] [info] Sync done. Took 91ms
[2021-03-01 17:37:42.632] [settingssync] [info] Auto Sync: Triggered by Interval
...[no changes messages]...
[2021-03-01 17:37:43.473] [settingssync] [info] Sync done. Took 100ms
[2021-03-01 17:42:43.480] [settingssync] [info] Auto Sync: Triggered by Interval
...[no changes messages]...
[2021-03-01 17:42:44.353] [settingssync] [info] Sync done. Took 116ms
[2021-03-01 17:47:00.361] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 17:47:01.239] [settingssync] [info] Sync done. Took 118ms
[2021-03-01 17:48:28.408] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 17:48:28.722] [settingssync] [info] Sync done. Took 108ms
[2021-03-01 17:50:23.190] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 17:50:23.585] [settingssync] [info] Sync done. Took 91ms
[2021-03-01 17:50:57.393] [settingssync] [info] Auto Sync: Triggered by Activity
...[no changes messages]...
[2021-03-01 17:50:57.556] [settingssync] [info] Sync done. Took 103ms

Output: Microsoft Authentication
[Info  - 10:19:31.667] Refreshing token...
[Info  - 10:19:35.249] Token refresh success
[Info  - 10:19:35.251] Token available from cache, expires in 3598998 milliseconds
[Info  - 11:19:04.284] Refreshing token...
[Info  - 11:19:05.325] Token refresh success
[Info  - 11:19:05.333] Token available from cache, expires in 3598991 milliseconds
[Info  - 11:27:27.136] Token available from cache, expires in 3097188 milliseconds
[Info  - 11:27:28.826] Token available from cache, expires in 3095498 milliseconds
[Info  - 11:27:30.874] Token available from cache, expires in 3093450 milliseconds
[Info  - 11:28:09.547] Token available from cache, expires in 3054777 milliseconds
[Info  - 12:18:34.356] Refreshing token...
[Info  - 12:18:35.356] Token refresh success
[Info  - 12:18:35.358] Token available from cache, expires in 3598998 milliseconds
[Info  - 12:49:45.123] Token available from cache, expires in 1729233 milliseconds
[Info  - 12:49:46.280] Token available from cache, expires in 1728076 milliseconds
[Info  - 12:49:49.203] Token available from cache, expires in 1725153 milliseconds
[Info  - 13:18:04.446] Refreshing token...
[Info  - 13:18:05.510] Token refresh success
[Info  - 13:18:05.515] Token available from cache, expires in 3598995 milliseconds
[Info  - 13:31:45.573] Token available from cache, expires in 2778938 milliseconds
[Info  - 13:31:46.559] Token available from cache, expires in 2777951 milliseconds
[Info  - 13:31:50.639] Token available from cache, expires in 2773871 milliseconds
[Info  - 14:17:34.465] Refreshing token...
[Info  - 14:17:35.424] Token refresh success
[Info  - 14:17:35.425] Token available from cache, expires in 3598998 milliseconds
[Info  - 14:28:32.541] Token available from cache, expires in 2941882 milliseconds
[Info  - 14:28:34.111] Token available from cache, expires in 2940312 milliseconds
[Info  - 14:28:35.898] Token available from cache, expires in 2938525 milliseconds
[Info  - 15:17:04.444] Refreshing token...
[Info  - 15:17:05.511] Token refresh success
[Info  - 15:17:05.513] Token available from cache, expires in 3598997 milliseconds
[Info  - 15:21:22.152] Token available from cache, expires in 3342358 milliseconds
[Info  - 15:21:23.749] Token available from cache, expires in 3340761 milliseconds
[Info  - 15:21:25.390] Token available from cache, expires in 3339120 milliseconds
[Info  - 15:50:22.481] Token available from cache, expires in 1602029 milliseconds

At first glance it looks like Sync is suspended even if token refreshed successfuly (2h diff because of time zone):
[Info  - 15:17:04.444] Refreshing token...
[Info  - 15:17:05.511] Token refresh success
[Info  - 15:17:05.513] Token available from cache, expires in 3598997 milliseconds

[2021-03-01 17:17:05.517] [settingssync] [info] Auto Sync: Suspended until auth token is available.
[2021-03-01 17:17:05.517] [settingssync] [info] Auto Sync: Stopped

Looks similar to #111468 but this one is in latest Insiders with MS extension.
P.S. Is it intentional that Log (Settings Sync) uses local timestamps but Microsoft Authentication uses only time from GTM+0?
VS Code version: Code - Insiders 1.54.0-insider (e590188f17162393f50feec19263398e6fe02d13, 2021-02-26T20:39:10.253Z)
OS version: Windows_NT x64 10.0.19041

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz (12 x 3192)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onprotected_video_decode: enabledrasterization: enabledskia_renderer: enabled_onvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
31.72GB (16.89GB free)

Process Argv
--crash-reporter-id cf52dbde-2c94-45c3-9bf3-45d8b9966b04

Screen Reader
no

VM
0%

Extensions (24)

Extension
Author (truncated)
Version

vscode-css-modules
and
1.2.3

markdown-preview-github-styles
bie
0.1.6

vscode-css-modules
cli
0.2.3

bracket-pair-colorizer-2
Coe
0.2.0

vscode-svgviewer
css
2.0.0

vscode-eslint
dba
2.1.14

gitlens
eam
11.2.1

toggle-excluded-files
eam
1.7.0

EditorConfig
Edi
0.16.4

LogFileHighlighter
emi
2.11.0

vscode-pull-request-github-insiders
Git
2021.3.542

vscode-test-explorer
hbe
2.19.5

rest-client
hum
0.24.4

vscode-peacock
joh
3.9.1

fluent-icons
mig
0.0.6

remote-ssh
ms-
0.64.0

remote-ssh-edit
ms-
0.64.0

remote-wsl
ms-
0.54.0

hexeditor
ms-
1.4.0

js-debug-nightly
ms-
2021.2.2417

material-icon-theme
PKi
4.5.0

copy-relative-path-posix
rss
0.0.4

vscode-jest-test-adapter
rtb
0.2.0

markdown-pdf
yza
1.4.4

Same as #117901 created few minutes earlier, won't close as duplicate ATM since this one has logs which are usually requested.

I just closed #117901, I didn't even see the Microsoft Authentication entry in the available logs. Thank you!

Same error on all my machines, it affects Insiders only:
[2021-03-03 09:08:23.767] [settingssync] [info] Sync done. Took 646ms
[2021-03-03 09:13:23.781] [settingssync] [info] Auto Sync: Triggered by Interval
[2021-03-03 09:13:23.980] [settingssync] [info] Settings: No changes found during synchronizing settings.
[2021-03-03 09:13:23.985] [settingssync] [info] Keybindings: No changes found during synchronizing keybindings.
[2021-03-03 09:13:23.999] [settingssync] [info] Snippets: No changes found during synchronizing snippets.
[2021-03-03 09:13:24.253] [settingssync] [info] GlobalState: No changes found during synchronizing ui state.
[2021-03-03 09:13:24.516] [settingssync] [info] Extensions: No changes found during synchronizing extensions.
[2021-03-03 09:13:24.517] [settingssync] [info] Sync done. Took 666ms
[2021-03-03 09:18:24.521] [settingssync] [info] Auto Sync: Triggered by Interval
[2021-03-03 09:18:24.682] [settingssync] [info] Settings: No changes found during synchronizing settings.
[2021-03-03 09:18:24.700] [settingssync] [info] Keybindings: No changes found during synchronizing keybindings.
[2021-03-03 09:18:24.712] [settingssync] [info] Snippets: No changes found during synchronizing snippets.
[2021-03-03 09:18:24.944] [settingssync] [info] GlobalState: No changes found during synchronizing ui state.
[2021-03-03 09:18:25.195] [settingssync] [info] Extensions: No changes found during synchronizing extensions.
[2021-03-03 09:18:25.195] [settingssync] [info] Sync done. Took 612ms
[2021-03-03 09:19:46.470] [settingssync] [info] Auto Sync: Suspended until auth token is available.
[2021-03-03 09:19:46.470] [settingssync] [info] Auto Sync: Stopped

The problem now reproes on Stable, 1.54 (updated a couple of ours ago)

As of today's insiders build, this has morphed into #118171.
Version: 1.55.0-insider
Commit: 567b82a0f9c31bd463af64997997730c5d0173cc
Date: 2021-03-05T05:22:04.953Z
Electron: 11.3.0
Chrome: 87.0.4280.141
Node.js: 12.18.3
V8: <IP_ADDRESS>-electron.0
OS: Darwin x64 19.5.0

Today I reinstalled my OS and Code Insiders, and it's loading forever
Version: 1.55.0-insider (user setup)
Commit: 567b82a0f9c31bd463af64997997730c5d0173cc
Date: 2021-03-05T05:22:52.277Z
Electron: 11.3.0
Chrome: 87.0.4280.141
Node.js: 12.18.3
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.19042

same here

Version: 1.55.0-insider (user setup)
Commit: 567b82a0f9c31bd463af64997997730c5d0173cc
Date: 2021-03-05T05:22:52.277Z
Electron: 11.3.0
Chrome: 87.0.4280.141
Node.js: 12.18.3
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.19042

If you are on insiders 1.55 and have loading stuck or sync doesn't work at all - please upvote #118171 (no need for "same here" is there is no new info provided)
Let leave this issue for cases when sync works but token refresh looks broken which was in 1.54.

@lszomoru @RMacfarlane It seems steps in the description exactly resembles to what @roblourens has mentioned couple of days ago which we are discussing internally in our slack channel.
Hence assigned to both of you. Also tagged as candidate because it seems one user is seeing with new stable - https://github.com/microsoft/vscode/issues/117903#issuecomment-790960562 . So not sure if this is a regression in last milestone.

I have the same problem

Same problem. VSCode 1.54.1; OS: Windows_NT x64 10.0.19042.
For me it happens every time I wake my PC from sleep. I am signed in before it went to sleep, with VSCode running. When I awake the PC from sleep, VSCode is fine except the accounts icon has that "1" notification.
Hovering over it shows:

BUT click that 'Sign in to Sync Settings (1)' link and it shows I am already signed in:

Same problem.

I have had the same issue for a few days.. but I have also had a similar issue with OneNote for probably a couple of years. It also keeps telling me I am not logged in and clicking on the banner dismisses it and it syncs OK - until next time...
I have tried everything to solve that problem, even been through 2 new machines, with fresh OS and it persists. This is OneNote 2016 for... reasons
What is odd though, is that when I opened the output logs in VSC after trying to see what was going on with the settings sync, I briefly saw an entry for onenote (didn't catch the exact full title as it disappeared quickly).
I can only assume they both use the same MS authentication/token service. Or it is a co-incidence.

Can any of the reporters confirm that the issue is fixed?
@RMacfarlane Is there a easy way to verify the fix?

I haven't noticed the issue since this went in. It was pretty obvious previously, the little (1) would pop up all the time, and now it doesn't pop up anymore.

@aeschli this one is resolved for me in Insiders builds. Can't tell anything about Stable version.

Same here, I didn't get this issue since a long time (a little more than 2 weeks)


Andy/verify joe auth

I spent a long time verifying joe's PR and made some changes that I thought I'll push anyway.
Firebase connection is good and auth is working.
The emulator CANNOT be used this time. There is a dependency / scripting error that cannot be troubleshooted.
Therefore everyone will have to create their own Firestore for local testing.
Once your firebase is initialized, create a .env at the root dir and copy contents below
complete the variables with your own SDK config
the variables must be named exactly like this or the client will not be able to retrieve the env variables
NEXT_PUBLIC_FIREBASE_API_KEY=api-key
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=auth-domain
NEXT_PUBLIC_FIREBASE_PROJECT_ID=project-id
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=storage-bucket
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=sender-id
NEXT_PUBLIC_FIREBASE_APP_ID=app-id
NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID=analytic-id

I think there's something going on with the deployment and firebase configs.
The deployment failed details just takes me to a 404 page.
Everything is looking fine code-wise.


Spike: Send logs to Elasticsearch?

Enabler
So that we know the work involved in incorporating Kibana, Elasticsearch and LINZ centralised logging, we want investigate how to use Kibana, Elasticsearch and LINZ centralised logging.
Acceptance Criteria

[ ] We know how to aggregate or send logs from the entire application into Elasticsearch(?)
[ ] We know how we will access logs, filters, reports  etc with with frontend like Kibana
[ ] We know how we can can setup up alerts of filtered log messages. e.g. Slack channels (e.g. import has finished, import has failed for reason xx)

Additional context

For ideas and common LINZ patterns:

See Basemaps squad/repo
See STEP Enablement squad/repo
LINZ centralized logging docs: https://confluence.linz.govt.nz/display/PuC/Centralized+logging+for+AWS+landing+zone

Tasks

[x] Talk to Basemaps and or enablement squad about how to use it
[x] Read any documentation
[ ] Update the user stories with detail about how we will implement it

Definition of Ready

[x] This story is ready to work on, according to the team's definition

Definition of Done

[ ] This story is done, according to the team's definition

Hi @l0b0, you put a question mark at the end of the title. Does this need to be a spike for us to choose the best method?

It was a quick suggestion/question based on a chat with @blacha. It probably needs to be a spike to establish what the current Elasticsearch solution looks like, how hard it would be to integrate with it, and whether it does what we want.

Sounds good to me. Will add the spike label.

Apparently there are some changes happening to the LINZ logging system which may make it easier for us to use?

LINZ Central logging is in undergoing upgrade which will result in logging process and setup simplification. In Logging documentation, top diagram is showing new state and lower one the old one.

aws-log-config will be used to configure log shipping.
aws-log-config depends on linzjs/cdk-elastic-shipper
ept-central-applogs is used for deployment of whole LINZ Central Logging solution

In new version of LINZ Centralized Logging all logs from product AWS account should be automatically imported to LINZ Centralized Logging system based on aws-log-config configuration.

Thanks @imincik . So do we all the info we can get? Can we update the tasks in #712 ?
If so, please update it and I think we close this as done.

Also, do you understand how we will set up Kibana and Slack notifications?

I would expect Kibana interface to be created automatically for each product, but I'll check that. According logging design diagram, Slack messages are sent from Kibana if errors happen, but I don't know where you configure channel names.
I'll check those details in #cop-logging.

Thanks @imincik. When you have all the info we need. Can you please update #712 and move this to PO review.

Also, do you understand how we will set up Kibana and Slack notifications?

Kibana needs space created, it is not automatic
Slack messages are configured by ElasticSearch configuration (see: https://github.com/linz/basemaps-team/blob/master/config/elasticsearch/watch.aws.AssumeRoleWithSAML.json)

Thanks @imincik. When you have all the info we need. Can you please update #712 and move this to PO review.

This is already done now.


Update PPP

Codecov Report

Merging #247 (28f8bf0) into master (c792ec0) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #247   +/-   ##
=========================================
  Coverage     45.63%   45.63%
  Complexity      495      495
=========================================
  Files           129      129
  Lines          2474     2474
  Branches        293      293
=========================================
  Hits           1129     1129
  Misses         1256     1256
  Partials         89       89

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c792ec0...28f8bf0. Read the comment docs.


[ssl] Improve logging for SSL hostname check and ALPN negotiation errors.

I've been asked to help debug several issues over the last few weeks, and these logs would have helped quickly identify the root cause.

I don't think we want to unconditionally log like this.  This is going to really flood logfiles with meaningless error messages in a number of cases, especially once I land my Happy Eyeballs change (#34426).
In general, if the security handshake fails, TSI should return an error message from the handshaker, and gRPC should ensure that the error message winds up as part of the status failure message for any RPC failed as a result of that connection failure (see #22883).  I did a bit of work to improve this in #30077, but there's still more work to be done here (see #32598 and #30228 for a couple of missing things, and there are probably others).  I would ultimately like to see the TSI API revamped such that it returns absl::Status for failures instead logging errors and returning a enum value; libraries should really never log in this kind of low-level code.
If looking at the RPC status failure message is not sufficient for debugging purposes, another option would be to look at channelz.  That should show you the failure messages for individual subchannel connection failures.
If you really absolutely need log output to debug things, then you should use a TraceFlag to guard the log output, so that users don't see it unless they explicitly enable it.

Thanks for the feedback Mark. I think having an "ssl" trace flag may be a useful feature. I'll close this PR and circle back.


[BUG] 用ClientFactory发送请求后，当响应头有多个Set-Cookie时只能获取到最后一个的问题

Execute the command and paste the result below.
Command: uname -a && php -v && composer info | grep hyperf && php --ri swoole
96qbhy/hyperf-auth                      v2.7.1             hyperf 的 auth 组件
hyperf/amqp                             v2.2.37            A amqplib for hyperf.
hyperf/async-queue                      v2.2.33            A async queue component for hy...
hyperf/cache                            v2.2.33            A cache component for hyperf.
hyperf/command                          v2.2.35            Command for hyperf
hyperf/config                           v2.2.33            An independent component that ...
hyperf/config-aliyun-acm                v2.2.33            An aliyun acm adapter for Hype...
hyperf/config-center                    v2.2.33            The abstraction component of c...
hyperf/constants                        v2.2.33            A constants component for hyperf.
hyperf/consul                           v2.2.33            A Consul Client for Hyperf.
hyperf/context                          v2.2.33            A coroutine context library.
hyperf/contract                         v2.2.33            The contracts of Hyperf.
hyperf/crontab                          v2.2.33            A crontab component for Hyperf.
hyperf/database                         v2.2.39            A flexible database library.
hyperf/db-connection                    v2.2.33            A hyperf db connection handler...
hyperf/devtool                          v2.2.33            A Devtool for Hyperf.
hyperf/di                               v2.2.33            A DI for Hyperf.
hyperf/dispatcher                       v2.2.33            A HTTP Server for Hyperf.
hyperf/elasticsearch                    v2.2.33            Elasticsearch client for hyperf
hyperf/engine                           v1.2.2
hyperf/event                            v2.2.33            an event manager that implemen...
hyperf/exception-handler                v2.2.33            Exception handler for hyperf
hyperf/framework                        v2.2.33            A coroutine framework that foc...
hyperf/gotask                           v2.2.10            A replacement for Swoole TaskW...
hyperf/guzzle                           v2.2.33            Swoole coroutine handler for g...
hyperf/http-message                     v2.2.33            microservice framework base on...
hyperf/http-server                      v2.2.33            A HTTP Server for Hyperf.
hyperf/ide-helper                       v2.2.33            IDE help files for Hyperf.
hyperf/json-rpc                         v2.2.33            A JSON RPC component for Hyper...
hyperf/load-balancer                    v2.2.33            A load balancer library for Hy...
hyperf/logger                           v2.2.33            A logger component for hyperf.
hyperf/macroable                        v2.2.33            Hyperf Macroable package which...
hyperf/memory                           v2.2.33            An independent component that ...
hyperf/model-cache                      v2.2.33            A model cache component for hy...
hyperf/model-listener                   v2.2.33            A model listener for Hyperf.
hyperf/paginator                        v2.2.33            A paginator component for hyperf.
hyperf/pool                             v2.2.33            An independent universal conne...
hyperf/process                          v2.2.33            A process component for hyperf.
hyperf/redis                            v2.2.37            A redis component for hyperf.
hyperf/rpc                              v2.2.33            A rpc basic library for Hyperf.
hyperf/rpc-client                       v2.2.35            An abstract rpc server compone...
hyperf/rpc-server                       v2.2.33            An abstract rpc server compone...
hyperf/scout                            v2.2.33            Hyperf Scout provides a driver...
hyperf/server                           v2.2.33            A base server library for Hyperf.
hyperf/service-governance               v2.2.33            A service governance component...
hyperf/super-globals                    v2.2.33            A superglobals library for Hyp...
hyperf/testing                          v2.2.33            Testing for hyperf
hyperf/tracer                           v2.2.33            A open tracing system implemen...
hyperf/translation                      v2.2.33            An independent translation com...
hyperf/utils                            v2.2.34            A tools package that could hel...
hyperf/validation                       v2.2.33            hyperf validation
hyperf/watcher                          v2.2.33            Hot reload watcher for Hyperf
kengxin/hyperf-mongodb                  dev-master 7e42e1d
kengxin/hyperf-wechat                   dev-master be621be Wechat SDK For Hyperf
reasno/fastmongo                        v0.2.6             mongodb driver via hyperf/gotask

swoole

Swoole => enabled
Author => Swoole Team<EMAIL_ADDRESS>Version => 4.8.12
Built => May 24 2023 08:54:39
coroutine => enabled with boost asm context
epoll => enabled
eventfd => enabled
signalfd => enabled
cpu_affinity => enabled
spinlock => enabled
rwlock => enabled
openssl => OpenSSL 1.0.2k-fips  26 Jan 2017
http2 => enabled
pcre => enabled
zlib => 1.2.7
mutex_timedlock => enabled
pthread_barrier => enabled
futex => enabled
async_redis => enabled

Directive => Local Value => Master Value
swoole.enable_coroutine => On => On
swoole.enable_library => On => On
swoole.enable_preemptive_scheduler => Off => Off
swoole.display_errors => On => On
swoole.use_shortname => Off => Off
swoole.unixsock_buffer_size => 8388608 => 8388608

Description:
用ClientFactory发送请求后，当响应头有多个Set-Cookie时只能获取到最后一个的问题。

Steps To Reproduce:
return $this->clientRequest->get($success_url, [
            // 禁止自动重定向
            'allow_redirects' => false,
            'headers' => [
                'User-Agent' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36',
            ],
        ])->getHeaders();

public function __construct(ContainerInterface $container, ClientFactory $clientFactory)
    {
        $this->container = $container;

        $logger = $container->get(LoggerFactory::class)->get('request', 'request');
        $stack = HandlerStack::create(new CoroutineHandler());  //又检查了下文档  new CoroutineHandler()，把这个传给HandlerStack::create就没问题了。
        $stack->push(new LogMiddleware($logger, new MultiRecordArrayHandler(null, 100000, 100000)));

        $this->clientRequest = $clientFactory->create([
            'handler' => $stack,
        ]);
    }


Failure scenarios

We need to ensure that we have covered the recovery scenarios considering the information we have in 0.23.0.
Some of which can be

Agent crashes, recovers, tasks still running
Agent crashes, recovers, some tasks finished
..

This was covered in the 0.1 release


Add Polish

Please check my changes to add the polish language, Thx

@tzjan, thanks!  I think you need to change file t/003-have-full-names.t to have 190 tests.
Also, please add a new test file named t/007-pl-lang-class.t similar to the other lang tests as appropriate.
And don't forget to give yourself credit in the README.md!

I didn’t mean to close the PR, reopening.

The tests seems to be fixed now.
The particular pl test is generated with the provided test generator.
Please review. Thx

Thanks very much!


Argument to filter input_binding_scan_tick() by source

Just in case an overcompensator like me wants to have, for example, a separate menu for rebinding k+m and gamepads and you don't want to have to check the rebinding value for type .
Instead of:
var rebind = input_binding_scan_tick();
if (rebind && (rebind.type == "gamepad axis" || rebind.type == "gamepad button")) {
    /* whatever */
}

One might instead do:
var rebind = input_binding_scan_tick(INPUT_SOURCE.GAMEPAD);
if (rebind) {
    /* whatever */
}

At the moment, input_binding_scan_tick() will only scan what the player's current source is. Do you think this is still suitable default behaviour?

At the moment, input_binding_scan_tick() will only scan what the player's current source is. Do you think this is still suitable default behaviour?

a separate menu for rebinding k+m and gamepads
is the best approach & should be the common use case imo, supportive of this change

a separate menu for rebinding k+m and gamepads
is the best approach & should be the common use case imo, supportive of this change

At the moment, input_binding_scan_tick() will only scan what the player's current source is. Do you think this is still suitable default behaviour?

I think it's definitely good for it to be the default, but I didn't see a good way to override it in cases like this where you want to look for one specifically

At the moment, input_binding_scan_tick() will only scan what the player's current source is. Do you think this is still suitable default behaviour?

I think it's definitely good for it to be the default, but I didn't see a good way to override it in cases like this where you want to look for one specifically

Will be released with v3.2.0, but the source is available on dev in the meantime
Please note that some binding functions have had their arguments changed (mostly optional [source] arguments being removed as they were redundant)

Will be released with v3.2.0, but the source is available on dev in the meantime
Please note that some binding functions have had their arguments changed (mostly optional [source] arguments being removed as they were redundant)


Update the Readme, typos and file formats properly

Seems in some scripts the readme is not updated and the links are not directed to the exact folder. Need help in correcting them

Hi, I’m Maria, and I’m new to contributing to this project. I’d love to help update the README to correct the typos and ensure the links are directed to the correct folders as described in this issue. Could I start working on this?

Sure @marialee222 go ahead

Hello,
Do you still need help with this?

Hi @MrIsCM please check out the existing Readme and if you find any fixes feel free to do it. Else I will close this issue in next few weeks

Hey @MrIsCM ! May I start contributing by fixing any issues I find as well?


Use num-derive instead of enum-primitive-derive

Signed-off-by: koushiro<EMAIL_ADDRESS>

@ohadravid PTAL

LGTM, I assume this is a breaking change?
Thanks! 😄

I don't think it's a breaking change.


Always undefined enhancer argument

applyMiddleware Enhancer takes three arguments now.
But createStore pass two arguments to enhancer.
applyMiddleware should take only two arguments.

This is true if you use the more recent enhancer argument on createStore. For the previous API, this is still correct as-is.


Add rels to item/collection links

PMP best practice: when setting a links.item or links.collection, it's helpful to attach a known urn into the rels for that link.
{
  "links": {
    "items": [
      {
        "href": "https://api.pmp.io/docs/123",
        "rels": ["urn:collectiondoc:image"]
      }
    ],
    "collection": [
      {
        "href": "https://api.pmp.io/docs/456",
        "rels": ["urn:collectiondoc:collection:series"]
      },
      {
        "href": "https://api.pmp.io/docs/789",
        "rels": ["urn:collectiondoc:collection:property"]
      }
    ]
  }
}

[ ] When attaching an image to a story, set urn:collectiondoc:image
[ ] When attaching a series to a story, set urn:collectiondoc:collection:series
[ ] When attaching a property to a story, set urn:collectiondoc:collection:property

Released v0.2.8


Support matching lower case job titles and adding extra job titles at run time.

FinderPyaho support detecting job titles in lower cases (add ignore_case to FinderPyaho constructor)
Add extra_titles to Finder constructors to support extending dictionary

Hi @pz325, thank you so much for your work on this.
It seems my build process is broken at the moment, and I'm ridiculously busy.
Can I get back to you next week on this?
Thank you very much.
Johannes


Update CODEOWNERS

@ranasaria Let me know if you'd prefer to stay on as a codeowner for any of the extensions

Pull Request Test Coverage Report for Build 499378258

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 43.059%

Totals

Change from base Build 499283633:
0.0%

Covered Lines:
24366

Relevant Lines:
51831

💛  - Coveralls

Pull Request Test Coverage Report for Build 499378258

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 43.059%

Totals

Change from base Build 499283633:
0.0%

Covered Lines:
24366

Relevant Lines:
51831

💛  - Coveralls


Issue with public invitations and short verkeys

When a connection request is created based on a public invitation (.i.e. containing a public DID instead of verkey and endpoint info) sent to /connections/receive-invitation, and the verkey on the ledger is in short form (starting with ~) ACA-PY throws the following error while trying to create the connection request message:
2020-10-19 15:27:39,808 aries_cloudagent.core.dispatcher ERROR Handler error: PackWireFormat.pack
Traceback (most recent call last):
  File "/home/indy/.pyenv/versions/3.6.9/lib/python3.6/site-packages/aries_cloudagent/wallet/indy.py", line 682, in pack_message
    self.handle, message, to_verkeys, from_verkey
  File "/home/indy/.pyenv/versions/3.6.9/lib/python3.6/site-packages/indy/crypto.py", line 448, in pack_message
    pack_message.cb)
indy.error.CommonInvalidStructure

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/indy/.pyenv/versions/3.6.9/lib/python3.6/site-packages/aries_cloudagent/transport/pack_format.py", line 180, in pack
    message_json, recipient_keys, sender_key
  File "/home/indy/.pyenv/versions/3.6.9/lib/python3.6/site-packages/aries_cloudagent/wallet/indy.py", line 687, in pack_message
    ) from x_indy
  File "/home/indy/.pyenv/versions/3.6.9/lib/python3.6/site-packages/aries_cloudagent/wallet/indy.py", line 682, in pack_message
    self.handle, message, to_verkeys, from_verkey
  File "/home/indy/.pyenv/versions/3.6.9/lib/python3.6/site-packages/indy/crypto.py", line 448, in pack_message
    pack_message.cb)
aries_cloudagent.wallet.error.WalletError: Exception when packing message: Error: Invalid structure
  Caused by: The base58 input contained a character not part of the base58 alphabet

@andrewwhitehead @sklump --- could one or both of you please take a look?  Thanks!

I can take this first thing tomorrow morning

... I will post a fix tomorrow morning first thing


[FR] Search by Test Data/Results

Please verify that this feature request has NOT been suggested before.

[x] I checked and didn't find a similar feature request

Problem statement
I often need to search for specific test data. Typically a stock item will have a specific test result, but it seems that the general search by default does not include test data in its results.
E.g. data:

And lack of results:

Suggested solution
Include by default or allow a apparent way to look for test data across all stock items.
It would be great if it could be limited to a specific part, category, etc. to assist with redefining the results.
Describe alternatives you've considered

Specific, hidden search options in test data.
Having a export option to then manually search which likely is possible now
Looking at the DB rows itself or via Django admin

Examples of other systems
No response
Do you want to develop this?

[x] I want to develop this.

I don't know how this would perform as many instances I see have hundreds of MB of test data inserted. Looking through those is probably very expensive as they are not optimised for search. It could be an interesting addition though.

@jacobburrell this might be a good candidate for a plugin? Adding every possible option to the search results in general will result in so many results being returned that it's difficult to find what you are looking for in any case


x/pkgsite: https://pkg.go.dev/github.com/alparslanahmed/weightedrandom

What is the URL of the page with the issue?
https://pkg.go.dev/github.com/alparslanahmed/weightedrandom
What is your user agent?
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36

Screenshot

What did you do?
I just enter to url and clicked Request button many times. Also i changed module name from go.mod file because it was different from the github url.

What did you expect to see?
Module page
What did you see instead?
Error page

Looks like this package is there now. Please let me know if there's still a problem.


Type parameter can leak out of a function instead of being bound to specific type

Bug Report
🔎 Search Terms
type parameter leaks out
🕗 Version & Regression Information
In the TS playground, the first version that shows the bug is 3.5.1. Version 3.3.3 also behaves incorrectly, but in a different way.
⏯ Playground Link
Playground link with relevant code
💻 Code
function withP1<P>(p: P) {
  const m = <I>(from: I) => ({ ...from, ...p });
  return m;
}

const addP1 = withP1({ foo: 1 });
const added1 = addP1({ bar: 2 });

console.log(added1.foo, added1.bar);

const createTransform = <I, O>(tr: (from: I) => O) => tr;

function withP2<P>(p: P) {
  const m = <I>(from: I) => ({ ...from, ...p });
  return createTransform(m);
}

const addP2 = withP2({ foo: 1 });
const added2 = addP2({ bar: 2 });

console.log(added2.foo, added2.bar);

🙁 Actual behavior
The added2.foo expression reports a type error:
Property 'foo' does not exist on type '{ bar: number; } & P'.

The index.d.ts generated from this source has a declaration for addP2 that contains an undefined identifier P:
declare const addP2: <I>(from: I) => I & P;

On the other hand, the addP1 version works well:
declare const addP1: <I>(from: I) => I & { foo: number };

The only difference is that withP2 calls an additional createTransformer function which is an identity.
🙂 Expected behavior
Both P1 and P2 versions behave the same way and infer the return type correctly, without leaking the P type parameter.

I thought that it might have been just fixed by https://github.com/microsoft/TypeScript/pull/57403 but it didn't 😅 My suspicion is that this PR is crucial for fixing this - maybe it just missed something.


Extension installation succeeded but with an exit code 1

Version : 1.51.1
OS : Centos 8
Context:

offline installation
no direct internet access
May be related to #110574

Since v1.51.1 a successful extension installation ends with a non-zero return code.
Before :
$> sudo dnf install -yq code-1.50.1-1602601064.el7

$> \code --version
1.50.1
d2e414d9e4239a252d1ab117bd7067f125afd80a
x64

$> \code --log debug --extensions-dir /usr/share/code/extensions --install-extension ~/Downloads/Atlassian.atlascode-2.8.5.vsix
Installing extensions...
(node:2947020) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
Extension 'Atlassian.atlascode-2.8.5.vsix' was successfully installed.

$> echo $?
0

Since v1.51.1 :
$> sudo dnf install -yq code-1.51.1-1605051791.el7

$> \code --version
1.51.1
e5a624b788d92b8d34d1392e4c4d9789406efe8f
x64

$> \code --log debug --extensions-dir /usr/share/code/extensions --install-extension ~/Downloads/Atlassian.atlascode-2.8.5.vsix
Installing extensions...
(node:2948010) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
Extension 'Atlassian.atlascode-2.8.5.vsix' was successfully installed.
getaddrinfo ENOTFOUND marketplace.visualstudio.com

$> echo $?
1

/duplicate
https://github.com/Microsoft/vscode/issues/110574


Add client conformance tests

This repository has a great suite of registry conformance tests. What it is missing, though, if I'm not mistaken, are conformance tests for clients. I took a look at some clients and none of them fully conformed to the protocol defined in the distribution spec. A client conformance test suite would help immensely adapting existing clients and building new ones that follow this spec.

This is something I'd like to see myself, but I'm not sure how that would work considering the different types of clients (e.g. build tooling, runtimes, vulnerability scanners, mirroring, pull through cache, signing, artifacts like helm charts, tools to monitor for updates, etc). Do you have thoughts on how to build a standard OCI test suite that would handle the variety of clients written in different languages?

What this project could potentially provide is some kind of pluggable framework to run conformance tests that reflect what's defined in the spec, pretty much what is available in the registry conformance tests, grouped by workflow categories. A starter could be to provide this to CLI clients where you would provide the actual client command to perform the workflow actions like "pull manifest", "pull blob", "push blob" etc. with varying inputs. A conforming registry would be run to back the tests.

To take two examples from the many, a vulnerability scanner, and Helm, I'm not sure they could work with a test like that. They don't have the granular interface to interact with an OCI registry at that level. This could be useful for genetic tools, like crane, oras, regctl, and skopeo. But even for an image runtime, it may only pull images and may only accept a reference (which isn't yet defined in OCI) to a manifest. Image build tooling may pull images, but only base images for the build. One tool would need a Dockerfile, another would need a kubernetes manifest. And tools that push content cannot be controlled by the test harness. One tool would only push a helm chart, many container image builders are not reproducible, another tool might be designed to add metadata to an image (SBOM, or soci layer data), or some like estargz convert an existing image's layers.
For me, it's the variety of client tooling that makes this challenge difficult. But if you think that can be solved, I'll be very interested to see what you come up with.

I understand. I tried to find similar cases and one of those alI found is the OIDC RP conformance test suite. It works by providing a server component and a set of runbooks. I could imagine doing something similar for distribution spec. Probably would best be verified by a PoC so I'll look into coming up with something, putting my thoughts into code.

I was just thinking about this yesterday and had two ideas:

add some kind of conformance middleware to an existing registry
create a registry conformance proxy that can sit in front of any registry implementation

For either of these approaches the middleware/proxy would record the following information:

User-Agent request header
request method
all request headers relevant to each request method (also taking note of their absence)
query parameters
session ids (would be necessary to infer what type of blob push is being performed)
request/response latency

To make this a conformance test suite, registry clients in each of their intended workflows could be run against any registry set up like this.


Ontology service issues when using new ontologies tree (using imports)

Ontology loading is based on github/owl-schema ttl files that are read into a model available for the ontology service.
Jena builds Model based on ttl and calls ldspdi uris when this ttl includes owl:imports statements. (for instance reading admin.ttl in a Model implies -once the ttl is fetched from github- six additional requests to ldspdi):
owl:imports <http://purl.bdrc.io/ontology/adm/types/Access> ;
  owl:imports <http://purl.bdrc.io/ontology/adm/types/License> ;
  owl:imports <http://purl.bdrc.io/ontology/adm/types/OutlineType> ;
  owl:imports <http://purl.bdrc.io/ontology/adm/types/Status> ;
  owl:imports <http://purl.bdrc.io/ontology/adm/types/TermsOfUse> ;
  owl:imports bdo: ;

FIRST ISSUE
1st consequence of this process: the ontology service cannot be initialized at ldspdi startup because it requires ldspdi to be already started.
SECOND ISSUE
Now, suppose we have the ontology service initialization moved from ldspdi booting to a static clause in OntData class (i.e the Ontology service main class). Then if you want to browse one ontology (let's say ontology/admin), then you make a request to the ldspdi ontology service endpoint: the static init code is executed (the admin.ttl is fetched from github) and imports are processed through ldspdi ontology service endpoint which is not yet initialized (since we are in the process of doing so...)
I realized these two dead-ends this week-end after having hit the wall for tree days.
The consequence of this is that we have to redesign and rewrite the ontology service if we want to use imports of ontologies lying in our domain (ldspdi domain).
Moreover, we need to discuss the requirement of the jsp based "ontologies views" we want to have. Using the previous system, when displaying aut: we had only auth classes and props.
Now, I am told that aut: must import adm: (apparently to comply with some shacl validation process), so the aut: view includes adm: and since adm: includes Types and bdo, we actually end up with a "global view" instead of a aut: view.
In general, If future shacl validation requires some ontology tweaking, I don't think this tweaking should be in the ontologies used for ontology service. I think these are two different use cases of ontologies and therefore we should have a different Ontology Model for shacl validation (based on the same ttl) available through a dedicated shacl endpoint on ldspdi. I am pretty sure we will need such an endpoint since validation cases are going to be quite numerous and sometimes specific. However, in all cases, and as far as I understand shacl validation, it should be enough to validate data against an Ontology Model aggregating all our ontologies.

I think the first issue can be solved by tweaking the imports using a FileManager and/or OntDocumentManager. The idea is the following:
When we read a file on github with Jena, it should ask the filemanager:
"I want to get the file at http://purl.bdrc.io/ontology/adm/types/License"
and the filemanager should say either:

here it is, I have it in cache
wait a moment, I'll fetch it on github

I don't know much about shacl, I'll let you and Chris discuss this.

Well, you cannot query ldspdi until ldspdi is started, that's the first issue.

yes, my solution does not involve querying ldspdi, the idea is that during model.read, Jena asks the FileManager to get the imported models, and doesn't query the url of the imported model directly

Another solution is to just disable automatic imports (through setDynamicImports(false)), I'm not sure we need to actually import the things

I also agree that the FileManager and OntDocumentManager are necessary ingredients.
I think shacl is a red-herring. Whether aut: imports an ontology that it depends on has nothing to with shacl, but rather proper specification things. Many of the prefixes that are defined are for well known ontologies/vocabularies and don't even have proper ontology services backing them at all. Try fetching dublin core based on the namespace:
curl --header "Accept: application/rdf+xml" http://purl.org/dc/elements/1.1/

or the bibframe namespace:
curl --header "Accept: application/rdf+xml" http://id.loc.gov/ontologies/bibframe/

In any event what are the functionalities of ldspdi w.r.t. ontology?
First, I would say that if a namespace is fetched then it should return be the document in the requested serialization. So that if we ask for:
curl --header "Accept: text/turtle" http://www.w3.org/2002/07/owl#

we get just the owl document with the import of rdfs:. Similarly if we:
curl --header "Accept: text/turtle" http://purl.bdrc.io/ontology/admin/

we should get the contents of admin.ttl without the rest of the content implied by the owl:imports
Second, there is browsing the entire union ontology or using that ontology for validation or whatever. This should be a separate issue, separate endpoints.
The ontology service by itself should be able to use the Jena FileManager and OntDocumentManager to load and cache the files and just return the requested serialization. That's really all that the basic ontology service needs to do to satisfy a request for a specific namespace of ours.

I think updating bdo:ontologySchema on Fuseki when there's a commit to owl-schema will require recursive importing unless Fuseki can be requested to do it.

The ontology service has been rebuilt as follows:
Browsing and loading
We have now the ability to browse each ontology separately. Each ontology is loaded separetly without importing sub-ontologies. Main ontologies homepage (admin, bdo, auth) are directly accessible from the dropdown list. Secondary (imported) ontology homepages are available from the home page of the importing ontology (see [http://purl.bdrc.io/ontology/core/])(http://purl.bdrc.io/ontology/core/).
Updating with callbacks
Beside "attaching" each ontology to its own simple model (i.e without imports) the ontology service is also maintaining a model compounding all ontologies in one graph. This "global" model is used for serving (browsing) any uri that is not a base Uri (a prefix namespace).
It is also used for updating fuseki each time a change occurs on owl-schema github repository, in which case the model is inferred before being pushed to fuseki.
Serving ontologies files
A serialization using any jean supported language is available for each valid individual (and single) ontology using command like this one:
curl -v -H "Accept:text/turtle" http://purl.bdrc.io/ontology/types/Transliteration

All fixes in commit 0070f61

nice thanks a lot! does the webhook still work fine?

Yes, we tested it yesterday with Chris !

cool, excellent!


./pox.py pox.forwarding.hub

Expected/Desired Behavior:
Actual Behavior:
Detailed Steps to Reproduce the Behavior:
Additional Information:


This is with your demo. C:\xampp\htdocs\laminas_demo\vendor\laminas\laminas-view\src\Renderer\PhpRenderer.php:497

C:\xampp\htdocs\laminas_demo\vendor\laminas\laminas-view\src\Renderer\PhpRenderer.php:497
any help would be apricated.

@cwakelee  Thanks for the report. Can you paste the whole error message and when this thing is happening?


the accuracy can be better after fine tune the function calc_cum_discounted_reward  as follows

the code is at
https://github.com/shehzaadzd/MINERVA/blob/d2f44ad7b48490fe73627cdd357e1465d67d9d75/code/model/trainer.py#L182-L183
I modified the code as a normal way to calculate returns(just change the time t), it becomes better.
that is from :
for t in reversed(range(self.path_length)):
            running_add = self.gamma * running_add + cum_disc_reward[:, t]
            cum_disc_reward[:, t] = running_add

to :
for t in reversed(range(1, self.path_length)):
            running_add = self.gamma * running_add + cum_disc_reward[:, t]
            cum_disc_reward[:, t-1] = running_add

Thank you! I very appreciate you hard works, so I learned it line by line.

As I understand, if the rewards is 1 for the final step and there is 3 steps in a trail, the reward will be [gamma+1, 1, 1]. Normally, it should be [gamma^2, gamma, 1], as the initial code.
In option.py, the gamma is 1, I think it's very strange that you can make performance gains with this kind of modification. Is there anything wrong with my understanding?

As I understand, if the rewards is 1 for the final step and there is 3 steps in a trail, the reward will be [gamma+1, 1, 1]. Normally, it should be [gamma^2, gamma, 1], as the initial code.
In option.py, the gamma is 1, I think it's very strange that you can make performance gains with this kind of modification. Is there anything wrong with my understanding?

Sorry for responding so late. Thanks for your patient response. After checked my code, some parameters have occasionally been enhanced, leading to the returns be better.  Sorry for my careless. Thank you again.


Allow bare CR newlines

Preparation for an upcoming TOML version that allows bare CR newlines (see https://github.com/toml-lang/toml/issues/837#issuecomment-897018187)
Merge together with https://github.com/hukkin/tomli-w/pull/10

Codecov Report

Merging #119 (e84122b) into master (eaa381a) will not change coverage.
The diff coverage is 100.00%.

:exclamation: Current head e84122b differs from pull request most recent head 5bb6b01. Consider uploading reports for the commit 5bb6b01 to get more accurate results

@@            Coverage Diff            @@
##            master      #119   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            3         3
  Lines          494       494
  Branches        93        93
=========================================
  Hits           494       494

Impacted Files
Coverage Δ

tomli/_parser.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update eaa381a...5bb6b01. Read the comment docs.

Closing now that https://github.com/toml-lang/toml/issues/837 is rejected.


The nv_g_cmd() function is too long. Refactor it using a table of key…

…s and corresponding handler functions

I'm not sure this is an improvement.  Using a switch statement the compiler can find the optimal way to select the code to execute.  A linear search through an array is likely to always be slower.
A binary search would be much better, but it is hard to get the key codes in sorted order.
A kind of hashtable might also work.  It would have to be created at runtime though.
We have a similar problem for the normal mode command, which is using a sorted index table.  It is filled in init_normal_cmds().
This adds to the startup time.
We could change this to generate the table at compile time.  Then the table used for "g" commands could also use a binary search, like in find_command().  The "g" command table would have gaps in the lower block (the part where the typed character can directly be used as an index, up to "~").  Or not use a lower block.

Hi Bram,
On Wed, Jan 19, 2022 at 4:34 AM Bram Moolenaar @.***>
wrote:

I'm not sure this is an improvement. Using a switch statement the compiler
can find the optimal way to select the code to execute. A linear search
through an array is likely to always be slower.
A binary search would be much better, but it is hard to get the key codes
in sorted order.
A kind of hashtable might also work. It would have to be created at
runtime though.
We have a similar problem for the normal mode command, which is using a
sorted index table. It is filled in init_normal_cmds().
This adds to the startup time.
We could change this to generate the table at compile time. Then the table
used for "g" commands could also use a binary search, like in
find_command(). The "g" command table would have gaps in the lower block
(the part where the typed character can directly be used as an index, up to
"~"). Or not use a lower block.

I will rework the patch to use a binary search to lookup the function for a
given key.

Yegappan


Fix label name so getting-started example works

When trying to run the getting-started example I noticed the docker run command has an incorrect label.
vagrant@cilium-1:~/cilium/examples/getting-started$ docker run --rm -ti --net cilium-net -l "id.app2" cilium/demo-client curl -si 'http://app1/public'
^C
^C^C
^C
^C
^C
# showing that it hangs

Using the proper label yields
vagrant@cilium-1:~/cilium/examples/getting-started$ docker run --rm -ti --net cilium-net -l "id=app2" cilium/demo-client curl -si 'http://app1/public'
HTTP/1.1 200 OK
Accept-Ranges: bytes
Content-Length: 28
Date: Thu, 27 Jul 2017 16:07:45 GMT
Etag: "1c-54bb868cec400"
Last-Modified: Mon, 27 Mar 2017 15:58:08 GMT
Server: Apache/2.4.25 (Unix)
Content-Type: text/plain; charset=utf-8

{ 'val': 'this is public' }

@aanm should be updated.


Fix busy waiting issue when no logs are being generated.

When no logs are generated, the system busy waits, causing huge CPU utilisation.

@simonstuck, did you abandon this PR? I am having the same high cpu utilization issue.


[xalan-c] linux support, fix #6481

fix #6481

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: isanych sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

@ras0219-msft, apologies for bothering you... How soon do you plan to merge this PR? (I am kind of looking forward to use vckg-packaged xalan-c in my Linux build)

Thanks for the PR!

@isanych, ./vcpkg install xalan-c fails on Linux -- looks like MsgCreator fails to build due to missing curl dependencies. I am not sure how to hook it up to libcurl provided by vcpkg.
Another this I noticed is this:
$ ls -l installed/x64-linux/lib
-rw-r--r--. 1 user user 12924800 Jul 29 19:24 installed/x64-linux/lib/libxerces-c-3.2.a
lrwxrwxrwx. 1 user user       17 Jul 29 19:24 installed/x64-linux/lib/libxerces-c.so -> libxerces-c-3.2.a

This looks very weird to me... Any ideas what to do with this?


does replay mode get a timeout from the workflow?

To get on same page as to why a change was proposed in #92
Was there a timeout error occurring in playback mode before the dateTime changes:?
If so that was a bug in the worfklow steps - Playback should not have timeout workflow on.
The reasons are:

speed keep it lean and mean like backtest
event model different to realtime
checks are skipped like unsafe mode
error handling requirements are simple like backtest  - not like realtime not needed
we want to keep playback mode super fast for 1 to  1000X  tests
Caveats such as timeout will occur and maybe others

Solution
We do not want to change the date to fix the timeout but in fact to remove the Playback from that section .
So the solution for speed tests is not to change the date and add in the playback to the workflow
it is to fix the workflow and make sure playback does not get entangled in timeouts and so on. etc
-The dateTime Now refactor is fine #91

no issues reported


Use email as username when email is displaying as username on login and registration form

When we use email as username on login & registration form, sometimes we don't want to show the uName field to the user.
So, lets set the uEmail as displayUserName on that case.

getUserDisplayName() is usually used in a public context though, isn't it? Like in public profiles and things? I wouldn't think we'd want to expose the email address in that fashion.

How about use uID instead of auto-generated username?

@aembler
That's an important point. IMO, as we don't have any other fields except uName & uEmail, it would be better if the getUserDisplayName() method is overrideable. So that, we can set uEmail or any other custom user attribute as our need. e.g. - fullname, lastname
@hissy
IMHO, uID isn't a better choice.

Yeah, ideally the method itself would be overridable. In the past we've used a custom UserInfo class that overrides the core one, but that's dumb – it's too big of a change and fork in order to get too small a bit of functionality. Maybe if there were some kind of PublicProfileFormatter() object that took a UserInfo object that was easily overridable? And then you could change how $profile->getUserDisplayName() worked?

I'm closing this pull request and adding another issue as a feature request.


Bullet marks are too faint

The bullet hole marks made by, e.g., the rifle appear much fainter than they did as of the last release. While working on the mark IPC batching commit, I thought the mark batching code was broken for a while because the marks were so faint I didn't notice them.
The marks appear as before if you set r_forceLegacyOverbrightClamping 1.

Or if you set r_mapOverBrightBits 0


Add support to create HtmlHelper instances for testing purposes

We are writing our own tag helpers which make use of HtmlHelper internally (e.g., to render an Editor). This seems to be the recommended behavior, see also https://docs.microsoft.com/en-us/aspnet/core/mvc/views/tag-helpers/intro#tag-helpers-compared-to-html-helpers
For unit testing purposes we could "rather easily" instantiate an HtmlHelper in ASP.NET MVC 5 (e.g., see https://stackoverflow.com/questions/25206507/unit-testing-htmlhelper-extension-method-fails/25216750#25216750). This is no longer the case in ASP.NET Core. Is there a utility or some other easy way to instantiate an HtmlHelper for a unit test?

Hi @drauch , there's no built-in utility I'm aware of to do this automatically.
When you tried to instantiate an HtmlHelper can you show us where you got stuck?

In the meantime I actually got to instantiate an HtmlHelper (the hardest part being instantiating the required RazorViewEngine object).
However, when I run my unit test it looks like htmlHelper.Editor(...) internally tries to obtain another HtmlHelper from the RequestServices collection - StackTrace:
System.ArgumentNullException : Value cannot be null.
Parameter name: provider
   at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider)
   at Microsoft.AspNetCore.Mvc.ViewFeatures.Internal.TemplateRenderer.MakeHtmlHelper(ViewContext viewContext, ViewDataDictionary viewData)
[...]

Is there a way to mitigate this problem? Do I have to register my HtmlHelper with the container as well? Why is htmlHelper.Editor() internally instantiating yet another HtmlHelper object?

My code (for any interested reader):
protected IHtmlHelper CreateHtmlHelper (IModelMetadataProvider modelMetadataProvider)
{
  var mvcViewOptionsValue = new MvcViewOptions();
  var mvcViewOptions = A.Fake<IOptions<MvcViewOptions>>();
  A.CallTo(() => mvcViewOptions.Value).Returns(mvcViewOptionsValue);

  mvcViewOptions.Value.ViewEngines.Add(CreateViewEngine(modelMetadataProvider));

  var viewEngine = new CompositeViewEngine(mvcViewOptions);
  var bufferScope = new MemoryPoolViewBufferScope(ArrayPool<ViewBufferValue>.Shared, ArrayPool<char>.Shared);

  return new HtmlHelper(
    CreateHtmlGenerator(modelMetadataProvider),
    viewEngine,
    modelMetadataProvider,
    bufferScope,
    HtmlEncoder.Default,
    UrlEncoder.Default);
}

private IViewEngine CreateViewEngine (IModelMetadataProvider modelMetadataProvider)
{
  var fileProvider = new PhysicalFileProvider("C:\\"); // some path, we do not want to locate non-default views anyways

  var razorViewEngineOptionsValue = new RazorViewEngineOptions();
  razorViewEngineOptionsValue.FileProviders.Add(fileProvider);
  razorViewEngineOptionsValue.ViewLocationFormats.Add("Views/{1}/{0}");
  razorViewEngineOptionsValue.AreaViewLocationFormats.Add("Areas/{2}/{1}/{0}");

  var razorViewEngineOptions = A.Fake<IOptions<RazorViewEngineOptions>>();
  A.CallTo(() => razorViewEngineOptions.Value).Returns(razorViewEngineOptionsValue);

  var applicationPartManager = new ApplicationPartManager();
  var defaultRazorViewEngineFileProviderAccessor = new DefaultRazorViewEngineFileProviderAccessor(razorViewEngineOptions);
  var loggerFactory = new LoggerFactory();

  var razorCompilationService = new RazorCompilationService(
    new DefaultRoslynCompilationService(
      new CSharpCompiler(new RazorReferenceManager(applicationPartManager, razorViewEngineOptions), razorViewEngineOptions),
      defaultRazorViewEngineFileProviderAccessor,
      razorViewEngineOptions,
      loggerFactory),
    new MvcRazorHost(new DefaultChunkTreeCache(fileProvider), new TagHelperDescriptorResolver(true)),
    defaultRazorViewEngineFileProviderAccessor,
    loggerFactory);

  var pageFactory = new DefaultRazorPageFactoryProvider(
    razorCompilationService,
    new DefaultCompilerCacheProvider(applicationPartManager, defaultRazorViewEngineFileProviderAccessor));

  var pageActivator = new RazorPageActivator(
    modelMetadataProvider,
    new UrlHelperFactory(),
    new JsonHelper(new JsonOutputFormatter(new JsonSerializerSettings(), ArrayPool<char>.Shared), ArrayPool<char>.Shared),
    new DiagnosticListener("Test"),
    HtmlEncoder.Default,
    new ModelExpressionProvider(modelMetadataProvider, new ExpressionTextCache()));

  return new RazorViewEngine(pageFactory, pageActivator, HtmlEncoder.Default, razorViewEngineOptions, loggerFactory);
}

Note that CreateHtmlGenerator() is missing, take a look at https://github.com/aspnet/Mvc/blob/rel/2.0.0-preview2/test/Microsoft.AspNetCore.Mvc.TagHelpers.Test/TestableHtmlGenerator.cs for how to instantiate an HtmlGenerator.

Why is htmlHelper.Editor() internally instantiating yet another HtmlHelper object?

HtmlHelper instances are context-specific and cannot be shared as ViewContext values change.

Do I have to register my HtmlHelper with the container as well?

Yes.

@dougbu can you take a crack at this and maybe we can come up with at least a sample of how to do this? This is somewhat tangentially related to "making testing better" in MVC. We expect plenty of people to write tag helpers and HTML helpers so hopefully there's something we can do to make this experience a bit smoother.

By setting the TagHelper's ViewContext to an appropriate ViewContext instance (see code below), contextualizing and using the HtmlHelper in my tag helper is possible in an integrative way.
protected ViewContext CreateViewContext (IModelMetadataProvider modelMetadataProvider)
{
  var builder = new ContainerBuilder();
  builder.Register(ctx => CreateHtmlHelper(new EmptyModelMetadataProvider())).As<IHtmlHelper>();
  var container = builder.Build();

  var serviceProvidersFeature = new ServiceProvidersFeature();
  serviceProvidersFeature.RequestServices = new AutofacServiceProvider(container);

  var featureCollection = new FeatureCollection();
  featureCollection.Set<IServiceProvidersFeature>(serviceProvidersFeature);

  var defaultHttpContext = new DefaultHttpContext(featureCollection);

  var actionContext = new ActionContext(defaultHttpContext, new RouteData(), new ActionDescriptor());
  var view = new NullView();
  var viewData = new ViewDataDictionary(modelMetadataProvider, new ModelStateDictionary());
  var tempData = A.Dummy<ITempDataDictionary>();
  var writer = TextWriter.Null;
  var htmlHelperOptions = new HtmlHelperOptions();

  return new ViewContext(actionContext, view, viewData, tempData, writer, htmlHelperOptions);
}

I'm using the Autofac container as IServiceProvider.
Although this works, it's been a LOT of very intense work for something which should be very easy I in order to maximize testability of tag helpers and html helpers.

Oh, just realized it is not really working 100% yet. HtmlHelper.Editor() does not yet use the correct templates ... my guess is the registration of an HtmlHelper with EmptyModelMetadataProvider at the ViewContext...

@DamianEdwards FYI


Same cover image

A recent break, likely with the new cover reading code, is that sometimes the previous songs cover is there.  In my personal collection, observed with:

The Smiths "Complete"
MDFMK "MDFMK"

Need to verify if perhaps the images are corrupt or something else is going on.

There is a chance this might be a bug in Mixxx not keeping the file correct or hitting the file at the wrong time....

I think I might have fixed this one.

Haven't seen it in a while so I'm guess the fixes to tinytag and utils handling fixed it. Closing.


UI Improvement - Blank screen when an unknown Board ID is used

When connecting to a Bluetooth device with an unknown board ID, the screen doesn't show any info:

I tested with an Adafruit Feather nRF52 840. (The Board Id is feather_nrf52840_express)
I found a similar problem on Android and fix it adding a text saying that there are no projects available.
Empty screen on PyLeap-Android:

Thanks Antonio, I'll look into this now.