Leader stepping down with membership change

Our election algorithms build on top of JGroups' view changes. Removing the leader through membership operations only changes the Raft cluster members, but the view is unchanged.
A leader removing itself does not step down and can still replicate operations! After the leader is removed and the operation committed, the leader needs to step down, and an election round needs to be initiated.
I still need to investigate how to address this. The Raft dissertation §3.10 has a leader transfer extension, which might give us some hints. The solution should not affect the election mechanism by view changes.

In the Raft dissertation, §4.2.2 describes removing the current leader. The suggestion is to utilize the leadership transfer extension. We carry with the membership operation and the leader steps down after it is committed. This is necessary to make progress, it could be difficult to step down and then remove the node, as it would require an election to happen first.

Going through the leader transfer mechanism in §3.10, I do not find it interesting to include. Quoting: "we have not currently implemented or evaluated this leadership transfer approach.". However, we can utilize some of the ideas.
A node can only be a leader if it has an up-to-date log. Since the membership operation also goes through consensus. After it is committed, we are sure we have nodes with up-to-date logs. We could start an election round on the current leader and utilize only the current member list to restrict.
The tricky part is handling the pending requests, where we might have pending requests during the membership operations. The simplest solution would be to complete everything exceptionally. The complex solution would be to make the current leader enqueue requests and redirect everything after a new leader is elected.
The latter would require changes mostly to the REDIRECT protocol. We could return a specific error code to retry.


Feat/isaac abrahamson ia menu

@IsaacAbrahamson, I'm going to try to figure out how to push commits directly on to your other PR (I know one way, but its a bit of a pain), but this way still preserves all your commits and gives you the credit.
Changes:

I really think you've sold me on the details width at this point. I tried going back to 96%, and I think your 92% is really the sweet spot, I did put 96% on Paraiso Light so I could mull it over a bit more.
I do think the top margin should only be 10px on the details headers, anything more just looks a little too spacey to me
Fixed the solution button problem (and the resources button problem, though the resources one still doesn't fire the event every so often, and I think its related to the same problem, but not sure the fix beyond what I already applied. Perhaps changing to font-awesome or something so it becomes just a i tag may do it, but not worried about this for now, it seems to only happen when you click on one very specific spot of the book)
added support for adding new codemirror themes (see here)
D.R.Y.'d the theme css a bit for the menu by applying a default style (see comments below)
made the "Run Code", "Next" and "Previous" buttons :active and :hover states consistent with the menu styling (NOTE: must fix paraiso light and cobalt themed buttons, for some reason this messed with those)

I think this is it, but maybe one or 2 other things, with the note above and maybe one or two more fixes done, I think this will be all set. How are you liking it?! Here's a preview: http://questionable-number.surge.sh/

LGTM 👍
Yea, see if you can put that on mine, that would be really nice 😃
I'll see if there is another way to have icons without svg. Out of curiosity, would it work if we wrapped the icons in a container?

Out of curiosity, would it work if we wrapped the icons in a container?

No, I don't think so, the end result would be the same: a bunch of nested elements that can be clicked on individually. What's happening with the book one, I think, is that if you click like right on the top inside corner (fully inside the line in the blank space), you're not actually clicking on the SVG element at all, and just clicking through to the underlying menu item. Hmm... now talking it out actually, that may help. If the SVG element is wrapped in a container, it should prevent this (if this is actually what's happening) — when you click through, the container would be underneath, not the menu item, and e.currentTarget.id should correctly fire the event in any case. Def worth trying!

Yea, see if you can put that on mine, that would be really nice

I will try, I should have just merged this first, and then made changes, but when I pulled it down I made one change, then another, and before I knew it it was getting tough to go back. I do think the commit history would look exactly the same even if this PR were merged though, as you can see above, it still recognizes all of your commits.

@IsaacAbrahamson Ok, this is much cleaner now. I merged in your original (2nd PR), and then resolved the merge conflicts here since this one originally had both sets of changes. And now the diff here only shows the changes I've made on top of yours, instead of both sets, which made it much harder to parse what was mine and what was yours.
So you get full credit for the last PR, and it looks like you get double credit lol, because your commits still show here as well, so the commit history will show the same commits twice (my fault). Whoops haha :smile:

Out of curiosity, would it work if we wrapped the icons in a container?

Ended up trying it... didn't work. Hmm... stumped. Not that I've tried much else, but you have to try pretty hard for it not to work, so may just leave it.

So you get full credit for the last PR, and it looks like you get double credit lol, because your commits still show here as well, so the commit history will show the same commits twice (my fault). Whoops haha 😄

Haha, that's a good one.

Ended up trying it... didn't work. Hmm... stumped. Not that I've tried much else, but you have to try pretty hard for it not to work, so may just leave it.

I'll take a look at adding another type of icons.

@IsaacAbrahamson

I'll take a look at adding another type of icons.

No worries, and no need, sorry, didn't see this sooner. It seems like all the major icon services have moved to SVG anyway (FontAwesome apparently recently changed over), so I came up with another fix which you can see here in the Modal.js file on the closeModal and targetContainsModalTrigger methods. There's a comment there which explains what was going on.


The window is no longer responding

After last major update I face sudden crashes of VS code. I use ssh extension and develop on remote machine, so I can't disable my extensions. Sometimes (twice per day or more often) my VS code window freezes and reports error "The window is no longer responding", then I press "reopen" and get another error "The windows has crashed". The error can occur without any user actions: sometimes I switch to VS code from another window and face the freeze, sometimes I start typing in terminal and get freeze.

CPUs
Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz (12 x 2200)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onoop_rasterization: disabled_offprotected_video_decode: unavailable_offrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledviz_display_compositor: enabled_onviz_hit_test_surface_layer: disabled_off_okwebgl: enabledwebgl2: enabled

Load (avg)
3, 3, 2

Memory (System)
16.00GB (4.62GB free)

Process Argv

Screen Reader
no

VM
0%

Extension
Author (truncated)
Version

intellij-idea-keybindings
k--
0.2.41

remote-containers
ms-
0.122.1

remote-ssh
ms-
0.51.0

remote-ssh-edit
ms-
0.51.0

remote-wsl
ms-
0.44.4

vscode-remote-extensionpack
ms-
0.20.0

vscode-icons
vsc
10.1.1

code-gnu-global
aus
0.2.2

path-intellisense
chr
2.2.1

prettier-vscode
esb
5.1.0

protobuf
kan
1.1.6

python
ms-
2020.6.89148

cpptools
ms-
0.28.3

vscode-yandex-arc
per
0.6.0

vscode-yaml
red
0.8.0

explorer-exclude-vscode-extension
Red
1.2.0

debug
web
0.25.0

/needsMoreInfo
Please use this guide to provide more information: https://github.com/Microsoft/vscode/wiki/Performance-Issues. Thanks.

Can you launch code with --crash-reporter-directory <---some-path-to-store-crash-reports--->, next time the crash happens please attach the generated crash dumps. Thanks!

I'm still facing crashes, but I can't share crash dump because of security reasons. I hope the problem will be fixed somehow in the future, and downgrade to previous version of VS Code if the crashes will be too annoying.

i have this problem too. on two different pc, a mac and a windows 10

I have two different Ubuntu 20.04 systems, and the code-insiders snap is crashing like this on one of them, but works fine on the other.
Works on the device with Intel Iris Graphics 540 GPU,
Fails on the device using amdgpu (AMD Radeon RX 570)
Nothing ever gets dumped in the --crash-reporter-directory, so I've excluded that option below.
 ❯ code-insiders --version
1.48.0-insider
731f9c25632dbbf01ee3a7892ad9d2791fe0260c
x64

code-insiders --verbose --disable-extensions
/usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so: undefined symbol: g_date_time_format_iso8601
Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so
[2764802:0725/221030.520732:ERROR:appcenter_api.cc(52)] expecting appcenter url prefix
[main 2020-07-25T15:10:30.594Z] Starting VS Code
[main 2020-07-25T15:10:30.595Z] from: /snap/code-insiders/486/usr/share/code-insiders/resources/app
[main 2020-07-25T15:10:30.595Z] args: {
  _: [],
  diff: false,
  add: false,
  goto: false,
  'new-window': false,
  'reuse-window': false,
  wait: false,
  help: false,
  'list-extensions': false,
  'show-versions': false,
  version: false,
  verbose: true,
  status: false,
  'prof-startup': false,
  'disable-extensions': true,
  'disable-gpu': false,
  telemetry: false,
  logExtensionHostCommunication: false,
  'skip-release-notes': false,
  'disable-restore-windows': false,
  'disable-telemetry': false,
  'disable-updates': false,
  'disable-crash-reporter': false,
  'crash-reporter-id': '4a94a736-bb8d-437b-88c8-cac36cbe2700',
  'disable-user-env-probe': false,
  'skip-add-to-recently-opened': false,
  'unity-launch': false,
  'open-url': false,
  'file-write': false,
  'file-chmod': false,
  'driver-verbose': false,
  force: false,
  'do-not-sync': false,
  trace: false,
  'force-user-env': false,
  'open-devtools': false,
  'no-proxy-server': false,
  nolazy: false,
  'force-renderer-accessibility': false,
  'ignore-certificate-errors': false,
  'allow-insecure-localhost': false
}
[main 2020-07-25T15:10:30.596Z] Resolving machine identifier...
[main 2020-07-25T15:10:30.597Z] Resolved machine identifier: 99e0706624de13338848f5e749d56bead8debb0c7f8ad336e0196807a3dc1ae1
[main 2020-07-25T15:10:30.613Z] update#setState idle
[main 2020-07-25T15:10:30.619Z] [storage state.vscdb] open(/home/ryan/.config/Code - Insiders/User/globalStorage/state.vscdb, retryOnBusy: true)
[main 2020-07-25T15:10:30.619Z] lifecycle (main): phase changed (value: 2)
[main 2020-07-25T15:10:30.620Z] windowsManager#open
[main 2020-07-25T15:10:30.622Z] window#validateWindowState: validating window state on 1 display(s) {
  width: 1024,
  height: 768,
  mode: 1,
  x: 2048,
  y: 336,
  hasDefaultState: true
}
[main 2020-07-25T15:10:30.622Z] window#validateWindowState: 1 monitor working area { x: 0, y: 27, width: 5120, height: 1337 }
[main 2020-07-25T15:10:30.622Z] window#ctor: using window state {
  width: 1024,
  height: 768,
  mode: 1,
  x: 2048,
  y: 336,
  hasDefaultState: true
}
[2764806:0725/221030.636290:ERROR:appcenter_api.cc(52)] expecting appcenter url prefix
[main 2020-07-25T15:10:30.704Z] lifecycle (main): phase changed (value: 3)
[main 2020-07-25T15:10:30.705Z] telemetry/optInStatus { optIn: true }
[main 2020-07-25T15:10:30.705Z] telemetry/machineIdFallback { usingFallbackGuid: false }
[2764802:0725/221030.715172:ERROR:gl_surface_glx.cc(90)] glXGetFBConfigs failed.
[2764802:0725/221030.715346:ERROR:gl_surface_glx.cc(130)] Failed to get GLXConfig
[2764802:0725/221030.715380:ERROR:gl_surface_glx.cc(479)] CreateDummyWindow(gfx::GetXDisplay()) failed
[2764802:0725/221030.715405:ERROR:gl_initializer_x11.cc(148)] GLSurfaceGLX::InitializeOneOff failed.
[2764802:0725/221030.717841:WARNING:x11_util.cc(1520)] X error received: serial 432, error_code 8 (BadMatch (invalid parameter attributes)), request_code 78, minor_code 0 (X_CreateColormap)
[2764802:0725/221030.718005:ERROR:viz_main_impl.cc(152)] Exiting GPU process due to errors during initialization
[2764828:0725/221030.721313:ERROR:appcenter_api.cc(52)] expecting appcenter url prefix
[2764822:0725/221030.722645:ERROR:appcenter_api.cc(52)] expecting appcenter url prefix
[main 2020-07-25T15:10:30.732Z] [storage state.vscdb] Trace (event): SELECT * FROM ItemTable
[main 2020-07-25T15:10:30.733Z] [storage state.vscdb] getItems(): 5 rows
/dev/fd/3: No such file or directory
Server response:
[main 2020-07-25T15:10:30.833Z] [storage state.vscdb] updateItems(): insert(Map(3) {storage.serviceMachineId => 2d569cae-c6a1-410b-a9b6-4b5a3da81b50, telemetry.lastSessionDate => Sat, 25 Jul 2020 14:58:13 GMT, telemetry.currentSessionDate => Sat, 25 Jul 2020 15:10:30 GMT}), delete(Set(0) {})
[main 2020-07-25T15:10:30.834Z] [storage state.vscdb] Trace (event): BEGIN TRANSACTION
[main 2020-07-25T15:10:30.834Z] [storage state.vscdb] Trace (event): INSERT INTO ItemTable VALUES ('storage.serviceMachineId','2d569cae-c6a1-410b-a9b6-4b5a3da81b50'),('telemetry.lastSessionDate','Sat, 25 Jul 2020 14:58:13 GMT'),('telemetry.currentSessionDate','Sat, 25 Jul 2020 15:10:30 GMT')
[main 2020-07-25T15:10:30.834Z] [storage state.vscdb] Trace (event): END TRANSACTION
[2764712:0725/221030.975323:WARNING:gpu_process_host.cc(1222)] The GPU process has crashed 1 time(s)
[2764852:0725/221030.976346:ERROR:appcenter_api.cc(52)] expecting appcenter url prefix
[2764712:0725/221030.989546:WARNING:gpu_process_host.cc(985)] Reinitialized the GPU process after a crash. The reported initialization time was 12 ms
/dev/fd/3: No such file or directory
Server response:
[2764712:0725/221031.206149:WARNING:gpu_process_host.cc(1222)] The GPU process has crashed 2 time(s)
[2764866:0725/221031.207393:ERROR:appcenter_api.cc(52)] expecting appcenter url prefix
[2764712:0725/221031.220423:WARNING:gpu_process_host.cc(985)] Reinitialized the GPU process after a crash. The reported initialization time was 12 ms
/dev/fd/3: No such file or directory
Server response:
[2764712:0725/221031.439953:WARNING:gpu_process_host.cc(1222)] The GPU process has crashed 3 time(s)
[2764975:0725/221031.440970:ERROR:appcenter_api.cc(52)] expecting appcenter url prefix
[2764712:0725/221031.444487:WARNING:gpu_process_host.cc(985)] Reinitialized the GPU process after a crash. The reported initialization time was 0 ms
[main 2020-07-25T15:10:31.449Z] getShellEnvironment: running on CLI, skipping
/dev/fd/3: No such file or directory
Server response:
[2764712:0725/221031.659664:WARNING:gpu_process_host.cc(1222)] The GPU process has crashed 4 time(s)
[2765008:0725/221031.660926:ERROR:appcenter_api.cc(52)] expecting appcenter url prefix
[2764712:0725/221031.663892:WARNING:gpu_process_host.cc(985)] Reinitialized the GPU process after a crash. The reported initialization time was 0 ms
/dev/fd/3: No such file or directory
Server response:
[2764712:0725/221031.882622:WARNING:gpu_process_host.cc(1222)] The GPU process has crashed 5 time(s)
[2765025:0725/221031.884161:ERROR:appcenter_api.cc(52)] expecting appcenter url prefix
[2764712:0725/221031.887276:WARNING:gpu_process_host.cc(985)] Reinitialized the GPU process after a crash. The reported initialization time was 0 ms
(node:2764822) Electron: Loading non-context-aware native module in renderer: '/snap/code-insiders/486/usr/share/code-insiders/resources/app/node_modules.asar.unpacked/node-pty/build/Release/pty.node'. This is deprecated, see https://github.com/electron/electron/issues/18397.
/dev/fd/3: No such file or directory
Server response:
[2764712:0725/221031.977831:INFO:CONSOLE(1675)] "%cTRACE color: #888 [storage state.vscdb] open(/home/ryan/.config/Code - Insiders/User/workspaceStorage/1595689830877/state.vscdb, retryOnBusy: true)", source: file:///snap/code-insiders/486/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (1675)
(node:2764822) Electron: Loading non-context-aware native module in renderer: '/snap/code-insiders/486/usr/share/code-insiders/resources/app/node_modules.asar.unpacked/vscode-sqlite3/build/Release/sqlite.node'. This is deprecated, see https://github.com/electron/electron/issues/18397.
[2764712:0725/221031.994655:INFO:CONSOLE(1675)] "%cTRACE color: #888 lifecycle: starting up (startup kind: 1)", source: file:///snap/code-insiders/486/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (1675)
[2764712:0725/221031.994781:INFO:CONSOLE(1675)] "%cTRACE color: #888 lifecycle: phase changed (value: 2)", source: file:///snap/code-insiders/486/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (1675)
[2764712:0725/221032.122550:WARNING:gpu_process_host.cc(1222)] The GPU process has crashed 6 time(s)
[2764712:0725/221032.122569:FATAL:gpu_data_manager_impl_private.cc(439)] GPU process isn't usable. Goodbye.
/dev/fd/3: No such file or directory
Server response:
/dev/fd/3: No such file or directory
Server response:

code-insiders --verbose --disable-extensions --disable-gpu
/usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so: undefined symbol: g_date_time_format_iso8601
Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so
[2768556:0725/221151.565245:ERROR:appcenter_api.cc(52)] expecting appcenter url prefix
[2768565:0725/221151.660964:ERROR:appcenter_api.cc(52)] expecting appcenter url prefix
[main 2020-07-25T15:11:51.661Z] Starting VS Code
[main 2020-07-25T15:11:51.663Z] from: /snap/code-insiders/486/usr/share/code-insiders/resources/app
[main 2020-07-25T15:11:51.663Z] args: {
  _: [],
  diff: false,
  add: false,
  goto: false,
  'new-window': false,
  'reuse-window': false,
  wait: false,
  help: false,
  'list-extensions': false,
  'show-versions': false,
  version: false,
  verbose: true,
  status: false,
  'prof-startup': false,
  'disable-extensions': true,
  'disable-gpu': true,
  telemetry: false,
  logExtensionHostCommunication: false,
  'skip-release-notes': false,
  'disable-restore-windows': false,
  'disable-telemetry': false,
  'disable-updates': false,
  'disable-crash-reporter': false,
  'crash-reporter-id': '4a94a736-bb8d-437b-88c8-cac36cbe2700',
  'disable-user-env-probe': false,
  'skip-add-to-recently-opened': false,
  'unity-launch': false,
  'open-url': false,
  'file-write': false,
  'file-chmod': false,
  'driver-verbose': false,
  force: false,
  'do-not-sync': false,
  trace: false,
  'force-user-env': false,
  'open-devtools': false,
  'no-proxy-server': false,
  nolazy: false,
  'force-renderer-accessibility': false,
  'ignore-certificate-errors': false,
  'allow-insecure-localhost': false
}
[main 2020-07-25T15:11:51.664Z] Resolving machine identifier...
[main 2020-07-25T15:11:51.664Z] Resolved machine identifier: 99e0706624de13338848f5e749d56bead8debb0c7f8ad336e0196807a3dc1ae1
/dev/fd/3: No such file or directory
Server response:
[main 2020-07-25T15:11:51.678Z] update#setState idle
[main 2020-07-25T15:11:51.682Z] [storage state.vscdb] open(/home/ryan/.config/Code - Insiders/User/globalStorage/state.vscdb, retryOnBusy: true)
[main 2020-07-25T15:11:51.682Z] lifecycle (main): phase changed (value: 2)
[main 2020-07-25T15:11:51.683Z] windowsManager#open
[main 2020-07-25T15:11:51.685Z] window#validateWindowState: validating window state on 1 display(s) {
  width: 1024,
  height: 768,
  mode: 1,
  x: 2048,
  y: 336,
  hasDefaultState: true
}
[main 2020-07-25T15:11:51.685Z] window#validateWindowState: 1 monitor working area { x: 0, y: 27, width: 5120, height: 1337 }
[main 2020-07-25T15:11:51.685Z] window#ctor: using window state {
  width: 1024,
  height: 768,
  mode: 1,
  x: 2048,
  y: 336,
  hasDefaultState: true
}
[main 2020-07-25T15:11:51.766Z] lifecycle (main): phase changed (value: 3)
[main 2020-07-25T15:11:51.767Z] telemetry/optInStatus { optIn: true }
[main 2020-07-25T15:11:51.768Z] telemetry/machineIdFallback { usingFallbackGuid: false }
[2768584:0725/221151.795523:ERROR:appcenter_api.cc(52)] expecting appcenter url prefix
[main 2020-07-25T15:11:51.795Z] [storage state.vscdb] Trace (event): SELECT * FROM ItemTable
[main 2020-07-25T15:11:51.796Z] [storage state.vscdb] getItems(): 5 rows
[2768518:0725/221151.846273:WARNING:gpu_process_host.cc(1222)] The GPU process has crashed 1 time(s)
[2768598:0725/221151.847254:ERROR:appcenter_api.cc(52)] expecting appcenter url prefix
[main 2020-07-25T15:11:51.859Z] getShellEnvironment: running on CLI, skipping
[2768518:0725/221151.860761:WARNING:gpu_process_host.cc(985)] Reinitialized the GPU process after a crash. The reported initialization time was 13 ms
[main 2020-07-25T15:11:51.896Z] [storage state.vscdb] updateItems(): insert(Map(3) {storage.serviceMachineId => 2d569cae-c6a1-410b-a9b6-4b5a3da81b50, telemetry.lastSessionDate => Sat, 25 Jul 2020 15:10:30 GMT, telemetry.currentSessionDate => Sat, 25 Jul 2020 15:11:51 GMT}), delete(Set(0) {})
[main 2020-07-25T15:11:51.897Z] [storage state.vscdb] Trace (event): BEGIN TRANSACTION
[main 2020-07-25T15:11:51.897Z] [storage state.vscdb] Trace (event): INSERT INTO ItemTable VALUES ('storage.serviceMachineId','2d569cae-c6a1-410b-a9b6-4b5a3da81b50'),('telemetry.lastSessionDate','Sat, 25 Jul 2020 15:10:30 GMT'),('telemetry.currentSessionDate','Sat, 25 Jul 2020 15:11:51 GMT')
[main 2020-07-25T15:11:51.898Z] [storage state.vscdb] Trace (event): END TRANSACTION
/dev/fd/3: No such file or directory
Server response:
[2768518:0725/221152.114339:WARNING:gpu_process_host.cc(1222)] The GPU process has crashed 2 time(s)
[2768713:0725/221152.115628:ERROR:appcenter_api.cc(52)] expecting appcenter url prefix
[2768518:0725/221152.130344:WARNING:gpu_process_host.cc(985)] Reinitialized the GPU process after a crash. The reported initialization time was 14 ms
/dev/fd/3: No such file or directory
Server response:
[2768518:0725/221152.353690:WARNING:gpu_process_host.cc(1222)] The GPU process has crashed 3 time(s)
[2768748:0725/221152.354704:ERROR:appcenter_api.cc(52)] expecting appcenter url prefix
[2768518:0725/221152.357786:WARNING:gpu_process_host.cc(985)] Reinitialized the GPU process after a crash. The reported initialization time was 0 ms
(node:2768584) Electron: Loading non-context-aware native module in renderer: '/snap/code-insiders/486/usr/share/code-insiders/resources/app/node_modules.asar.unpacked/node-pty/build/Release/pty.node'. This is deprecated, see https://github.com/electron/electron/issues/18397.
[2768518:0725/221152.404219:INFO:CONSOLE(1675)] "%cTRACE color: #888 [storage state.vscdb] open(/home/ryan/.config/Code - Insiders/User/workspaceStorage/1595689912398/state.vscdb, retryOnBusy: true)", source: file:///snap/code-insiders/486/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (1675)
(node:2768584) Electron: Loading non-context-aware native module in renderer: '/snap/code-insiders/486/usr/share/code-insiders/resources/app/node_modules.asar.unpacked/vscode-sqlite3/build/Release/sqlite.node'. This is deprecated, see https://github.com/electron/electron/issues/18397.
/dev/fd/3: No such file or directory
Server response:

[2768518:0725/221152.419863:INFO:CONSOLE(1675)] "%cTRACE color: #888 lifecycle: starting up (startup kind: 1)", source: file:///snap/code-insiders/486/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (1675)
[2768518:0725/221152.419909:INFO:CONSOLE(1675)] "%cTRACE color: #888 lifecycle: phase changed (value: 2)", source: file:///snap/code-insiders/486/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (1675)
[2768518:0725/221152.575583:WARNING:gpu_process_host.cc(1222)] The GPU process has crashed 4 time(s)
[2768758:0725/221152.576748:ERROR:appcenter_api.cc(52)] expecting appcenter url prefix
[2768518:0725/221152.579588:WARNING:gpu_process_host.cc(985)] Reinitialized the GPU process after a crash. The reported initialization time was 0 ms
/dev/fd/3: No such file or directory
Server response:
[2768518:0725/221152.706268:INFO:CONSOLE(1675)] "%cTRACE color: #888 workbench configuration {"_":[],"verbose":true,"disable-extensions":true,"disable-gpu":true,"crash-reporter-id":"4a94a736-bb8d-437b-88c8-cac36cbe2700","appRoot":"/snap/code-insiders/486/usr/share/code-insiders/resources/app","machineId":"99e0706624de13338848f5e749d56bead8debb0c7f8ad336e0196807a3dc1ae1","nodeCachedDataDir":"/home/ryan/.config/Code - Insiders/CachedData/731f9c25632dbbf01ee3a7892ad9d2791fe0260c","mainPid":2768518,"execPath":"/snap/code-insiders/486/usr/share/code-insiders/code-insiders","userEnv":{"VSCODE_IPC_HOOK":"/run/user/1000/snap.code-insiders/vscode-fa16f9f3-1.48.0-insider-main.sock","VSCODE_NLS_CONFIG":"{\"locale\":\"en-us\",\"availableLanguages\":{},\"_languagePackSupport\":true}","VSCODE_LOGS":"/home/ryan/.config/Code - Insiders/logs/20200725T221151"},"isInitialStartup":true,"backupPath":"/home/ryan/.config/Code - Insiders/Backups/1595689912398","windowId":1,"sessionId":"window:1","logLevel":0,"perfEntries":["main:started",1595689911446,"main:appReady",1595689911516,"willLoadMainBundle",1595689911517,"didLoadMainBundle",1595689911647,"main:loadWindow",1595689911761],"partsSplashPath":"/home/ryan/.config/Code - Insiders/rapid_render.json","backupWorkspaceResource":{"$mid":1,"path":"/home/ryan/.config/Code - Insiders/User/Backups/1595689912398","scheme":"vscode-userdata"}}", source: file:///snap/code-insiders/486/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (1675)
[2768518:0725/221152.709693:INFO:CONSOLE(1675)] "%cTRACE color: #888 lifecycle: phase changed (value: 3)", source: file:///snap/code-insiders/486/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (1675)
[2768518:0725/221152.719618:INFO:CONSOLE(1675)] "%cTRACE color: #888 Created Spdlogger", source: file:///snap/code-insiders/486/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (1675)
[2768518:0725/221152.795701:WARNING:gpu_process_host.cc(1222)] The GPU process has crashed 5 time(s)
[2768768:0725/221152.796764:ERROR:appcenter_api.cc(52)] expecting appcenter url prefix
[2768518:0725/221152.799999:WARNING:gpu_process_host.cc(985)] Reinitialized the GPU process after a crash. The reported initialization time was 0 ms
(node:2768584) Electron: Loading non-context-aware native module in renderer: '/snap/code-insiders/486/usr/share/code-insiders/resources/app/node_modules.asar.unpacked/spdlog/build/Release/spdlog.node'.  Goodbye.
/dev/fd/3: No such file or directory
Server response:
/dev/fd/3: No such file or directory
Server response:
[2768584:0725/221153.365299:ERROR:broker_posix.cc(40)] Recvmsg error: Connection reset by peer (104)

code-insiders --verbose --disable-extensions --disable-gpu --disable-gpu-compositing
Warning: 'disable-gpu-compositing' is not in the list of known options, but still passed to Electron/Chromium.
/usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so: undefined symbol: g_date_time_format_iso8601
Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so
[2892783:0725/221811.108770:ERROR:appcenter_api.cc(52)] expecting appcenter url prefix
[main 2020-07-25T15:18:11.194Z] Starting VS Code
[main 2020-07-25T15:18:11.195Z] from: /snap/code-insiders/486/usr/share/code-insiders/resources/app
[main 2020-07-25T15:18:11.195Z] args: {
  _: [],
  diff: false,
  add: false,
  goto: false,
  'new-window': false,
  'reuse-window': false,
  wait: false,
  help: false,
  'list-extensions': false,
  'show-versions': false,
  version: false,
  verbose: true,
  status: false,
  'prof-startup': false,
  'disable-extensions': true,
  'disable-gpu': true,
  telemetry: false,
  logExtensionHostCommunication: false,
  'skip-release-notes': false,
  'disable-restore-windows': false,
  'disable-telemetry': false,
  'disable-updates': false,
  'disable-crash-reporter': false,
  'crash-reporter-id': '4a94a736-bb8d-437b-88c8-cac36cbe2700',
  'disable-user-env-probe': false,
  'skip-add-to-recently-opened': false,
  'unity-launch': false,
  'open-url': false,
  'file-write': false,
  'file-chmod': false,
  'driver-verbose': false,
  force: false,
  'do-not-sync': false,
  trace: false,
  'force-user-env': false,
  'open-devtools': false,
  'no-proxy-server': false,
  nolazy: false,
  'force-renderer-accessibility': false,
  'ignore-certificate-errors': false,
  'allow-insecure-localhost': false
}
[main 2020-07-25T15:18:11.196Z] Resolving machine identifier...
[main 2020-07-25T15:18:11.196Z] Resolved machine identifier: 99e0706624de13338848f5e749d56bead8debb0c7f8ad336e0196807a3dc1ae1
[2892853:0725/221811.197138:ERROR:appcenter_api.cc(52)] expecting appcenter url prefix
/dev/fd/3: No such file or directory
Server response:
[main 2020-07-25T15:18:11.216Z] update#setState idle
[main 2020-07-25T15:18:11.221Z] [storage state.vscdb] open(/home/ryan/.config/Code - Insiders/User/globalStorage/state.vscdb, retryOnBusy: true)
[main 2020-07-25T15:18:11.221Z] lifecycle (main): phase changed (value: 2)
[main 2020-07-25T15:18:11.222Z] windowsManager#open
[main 2020-07-25T15:18:11.224Z] window#validateWindowState: validating window state on 1 display(s) {
  width: 1024,
  height: 768,
  mode: 1,
  x: 2048,
  y: 336,
  hasDefaultState: true
}
[main 2020-07-25T15:18:11.224Z] window#validateWindowState: 1 monitor working area { x: 0, y: 27, width: 5120, height: 1337 }
[main 2020-07-25T15:18:11.224Z] window#ctor: using window state {
  width: 1024,
  height: 768,
  mode: 1,
  x: 2048,
  y: 336,
  hasDefaultState: true
}
[main 2020-07-25T15:18:11.309Z] lifecycle (main): phase changed (value: 3)
[main 2020-07-25T15:18:11.310Z] telemetry/optInStatus { optIn: true }
[main 2020-07-25T15:18:11.310Z] telemetry/machineIdFallback { usingFallbackGuid: false }
[2892985:0725/221811.330885:ERROR:appcenter_api.cc(52)] expecting appcenter url prefix
[main 2020-07-25T15:18:11.341Z] [storage state.vscdb] Trace (event): SELECT * FROM ItemTable
[main 2020-07-25T15:18:11.341Z] [storage state.vscdb] getItems(): 5 rows
[main 2020-07-25T15:18:11.396Z] getShellEnvironment: running on CLI, skipping
[2892566:0725/221811.399465:WARNING:gpu_process_host.cc(1222)] The GPU process has crashed 1 time(s)
[2893059:0725/221811.401739:ERROR:appcenter_api.cc(52)] expecting appcenter url prefix
[2892566:0725/221811.421208:WARNING:gpu_process_host.cc(985)] Reinitialized the GPU process after a crash. The reported initialization time was 19 ms
[main 2020-07-25T15:18:11.443Z] [storage state.vscdb] updateItems(): insert(Map(3) {storage.serviceMachineId => 2d569cae-c6a1-410b-a9b6-4b5a3da81b50, telemetry.lastSessionDate => Sat, 25 Jul 2020 15:17:13 GMT, telemetry.currentSessionDate => Sat, 25 Jul 2020 15:18:11 GMT}), delete(Set(0) {})
[main 2020-07-25T15:18:11.444Z] [storage state.vscdb] Trace (event): BEGIN TRANSACTION
[main 2020-07-25T15:18:11.444Z] [storage state.vscdb] Trace (event): INSERT INTO ItemTable VALUES ('storage.serviceMachineId','2d569cae-c6a1-410b-a9b6-4b5a3da81b50'),('telemetry.lastSessionDate','Sat, 25 Jul 2020 15:17:13 GMT'),('telemetry.currentSessionDate','Sat, 25 Jul 2020 15:18:11 GMT')
[main 2020-07-25T15:18:11.444Z] [storage state.vscdb] Trace (event): END TRANSACTION
/dev/fd/3: No such file or directory
Server response:
[2892566:0725/221811.656943:WARNING:gpu_process_host.cc(1222)] The GPU process has crashed 2 time(s)
[2893315:0725/221811.658063:ERROR:appcenter_api.cc(52)] expecting appcenter url prefix
[2892566:0725/221811.672236:WARNING:gpu_process_host.cc(985)] Reinitialized the GPU process after a crash. The reported initialization time was 13 ms
/dev/fd/3: No such file or directory
Server response:
(node:2892985) Electron: Loading non-context-aware native module in renderer: '/snap/code-insiders/486/usr/share/code-insiders/resources/app/node_modules.asar.unpacked/node-pty/build/Release/pty.node'. This is deprecated, see https://github.com/electron/electron/issues/18397.
[2892566:0725/221811.916384:WARNING:gpu_process_host.cc(1222)] The GPU process has crashed 3 time(s)
[2893678:0725/221811.918030:ERROR:appcenter_api.cc(52)] expecting appcenter url prefix
[2892566:0725/221811.921598:WARNING:gpu_process_host.cc(985)] Reinitialized the GPU process after a crash. The reported initialization time was 0 ms
[2892566:0725/221811.952379:INFO:CONSOLE(1675)] "%cTRACE color: #888 [storage state.vscdb] open(/home/ryan/.config/Code - Insiders/User/workspaceStorage/1595690291582/state.vscdb, retryOnBusy: true)", source: file:///snap/code-insiders/486/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (1675)
(node:2892985) Electron: Loading non-context-aware native module in renderer: '/snap/code-insiders/486/usr/share/code-insiders/resources/app/node_modules.asar.unpacked/vscode-sqlite3/build/Release/sqlite.node'. This is deprecated, see https://github.com/electron/electron/issues/18397.
[2892566:0725/221811.960983:INFO:CONSOLE(1675)] "%cTRACE color: #888 lifecycle: starting up (startup kind: 1)", source: file:///snap/code-insiders/486/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (1675)
[2892566:0725/221811.961116:INFO:CONSOLE(1675)] "%cTRACE color: #888 lifecycle: phase changed (value: 2)", source: file:///snap/code-insiders/486/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (1675)
/dev/fd/3: No such file or directory
Server response:
[2892566:0725/221812.155116:WARNING:gpu_process_host.cc(1222)] The GPU process has crashed 4 time(s)
[2893901:0725/221812.156364:ERROR:appcenter_api.cc(52)] expecting appcenter url prefix
[2892566:0725/221812.159465:WARNING:gpu_process_host.cc(985)] Reinitialized the GPU process after a crash. The reported initialization time was 0 ms
/dev/fd/3: No such file or directory
Server response:
[2892566:0725/221812.271265:INFO:CONSOLE(1675)] "%cTRACE color: #888 workbench configuration {"_":[],"verbose":true,"disable-extensions":true,"disable-gpu":true,"crash-reporter-id":"4a94a736-bb8d-437b-88c8-cac36cbe2700","appRoot":"/snap/code-insiders/486/usr/share/code-insiders/resources/app","machineId":"99e0706624de13338848f5e749d56bead8debb0c7f8ad336e0196807a3dc1ae1","nodeCachedDataDir":"/home/ryan/.config/Code - Insiders/CachedData/731f9c25632dbbf01ee3a7892ad9d2791fe0260c","mainPid":2892566,"execPath":"/snap/code-insiders/486/usr/share/code-insiders/code-insiders","userEnv":{"VSCODE_IPC_HOOK":"/run/user/1000/snap.code-insiders/vscode-fa16f9f3-1.48.0-insider-main.sock","VSCODE_NLS_CONFIG":"{\"locale\":\"en-us\",\"availableLanguages\":{},\"_languagePackSupport\":true}","VSCODE_LOGS":"/home/ryan/.config/Code - Insiders/logs/20200725T221811"},"isInitialStartup":true,"backupPath":"/home/ryan/.config/Code - Insiders/Backups/1595690291582","windowId":1,"sessionId":"window:1","logLevel":0,"perfEntries":["main:started",1595690291006,"main:appReady",1595690291077,"willLoadMainBundle",1595690291078,"didLoadMainBundle",1595690291185,"main:loadWindow",1595690291303],"partsSplashPath":"/home/ryan/.config/Code - Insiders/rapid_render.json","backupWorkspaceResource":{"$mid":1,"path":"/home/ryan/.config/Code - Insiders/User/Backups/1595690291582","scheme":"vscode-userdata"}}", source: file:///snap/code-insiders/486/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (1675)
[2892566:0725/221812.274574:INFO:CONSOLE(1675)] "%cTRACE color: #888 lifecycle: phase changed (value: 3)", source: file:///snap/code-insiders/486/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (1675)
[2892566:0725/221812.284121:INFO:CONSOLE(1675)] "%cTRACE color: #888 Created Spdlogger", source: file:///snap/code-insiders/486/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (1675)
[2892566:0725/221812.386595:WARNING:gpu_process_host.cc(1222)] The GPU process has crashed 5 time(s)
[2894124:0725/221812.387878:ERROR:appcenter_api.cc(52)] expecting appcenter url prefix
[2892566:0725/221812.390977:WARNING:gpu_process_host.cc(985)] Reinitialized the GPU process after a crash. The reported initialization time was 0 ms
(node:2892985) Electron: Loading non-context-aware native module in renderer: '/snap/code-insiders/486/usr/share/code-insiders/resources/app/node_modules.asar.unpacked/spdlog/build/Release/spdlog.node'.  Goodbye.
/dev/fd/3: No such file or directory
Server response:
/dev/fd/3: No such file or directory
Server response:
[2892985:0725/221812.990414:ERROR:broker_posix.cc(40)] Recvmsg error: Connection reset by peer (104)

code-insiders --verbose --disable-extensions --disable-gpu --disable-gpu-compositing --disable-software-compositing-fallback
Warning: 'disable-gpu-compositing' is not in the list of known options, but still passed to Electron/Chromium.
Warning: 'disable-software-compositing-fallback' is not in the list of known options, but still passed to Electron/Chromium.
/usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so: undefined symbol: g_date_time_format_iso8601
Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so
[2935840:0725/221923.509047:FATAL:viz_process_transport_factory.cc(305)] Software compositing fallback is unavailable. Goodbye.
/dev/fd/3: No such file or directory
Server response:
/dev/fd/3: No such file or directory
Server response:


Improve dataset performance monitoring

So that the system is providing good user experience when users are importing data, as a devops team member, I want more context on the performance monitoring Slack message of the general performance of a dataset import.
Acceptance Criteria

[x] Given a dataset import is completed, When the slack notification is made, then it includes an elapsed time from when the user made the request to when it was complete.
[ ] Given a dataset import is completed, when the slack notification is made, then it includes a number of files validated and number of files copied.
[ ] Given a dataset is mid-import, when a hour has elapsed since the user made the request, the the team is notified via Slack that there is an unusually long data import happening.
[ ] (This is probably redundant if we do #1947) Given there are SQS messsages in the queue, when the SQS message has been there longer than 15 minutes, the team is notified via slack of an unusually old SQS message.

Feels like there is some overlap with #1947 (last bullet point)

Closing this. I think we have adequate monitoring for now.


websocket not upgraded error

I am new to flutter and followed the steps for the sample app on an emulator.While the app installs correctly flutter run stops and hot reload does not work and I am not able to see any console logs as well.I am using a university network which is behind a proxy.
Logs
flutter run
Launching lib/main.dart on Android SDK built for x86 in debug mode...
Running 'gradle assembleDebug'...                    13.0s
Built build\app/outputs/apk/app-debug.apk (21.7MB).
Installing build\app/outputs/apk/app.apk...           2.1s
Unhandled exception:
Exception: Error connecting to observatory: WebSocketChannelException: WebSocketChannelException: WebSocketException: Connection to 'http://<IP_ADDRESS>:8124/ws#' was not upgraded to websocket
#0      throwToolExit (package:flutter_tools/src/base/common.dart:29)
#1      VM.invokeRpcRaw (package:flutter_tools/src/vmservice.dart:670)

#2      VM._fetchDirect (package:flutter_tools/src/vmservice.dart:500)

#3      ServiceObject.reload (package:flutter_tools/src/vmservice.dart:348)

#4      VMService.getVM (package:flutter_tools/src/vmservice.dart:176)
#5      FlutterDevice.getVMs (package:flutter_tools/src/resident_runner.dart:89)

#6      ResidentRunner.connectToServiceProtocol (package:flutter_tools/src/resident_runner.dart:537)

#7      HotRunner.attach (package:flutter_tools/src/run_hot.dart:93)

#8      HotRunner.run (package:flutter_tools/src/run_hot.dart:193)

#9      RunCommand.runCommand (package:flutter_tools/src/commands/run.dart:329)

#10     FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:210)

#11     RunCommand.verifyThenRunCommand (package:flutter_tools/src/commands/run.dart:217)

#12     FlutterCommand.run (package:flutter_tools/src/runner/flutter_command.dart:156)

#13     CommandRunner.runCommand (package:args/command_runner.dart:194)

#14     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:277)

#15     CommandRunner.run. (package:args/command_runner.dart:109)
#16     new Future.sync (dart:async/future.dart:206)
#17     CommandRunner.run (package:args/command_runner.dart:109)
#18     FlutterCommandRunner.run (package:flutter_tools/src/runner/flutter_command_runner.dart:161)
#19     run. (package:flutter_tools/executable.dart:142)

#20     AppContext._run (package:flutter_tools/src/base/context.dart:76)

#21     AppContext.runInZone. (package:flutter_tools/src/base/context.dart:66)
#22     _rootRun (dart:async/zone.dart:1120)
#23     _CustomZone.run (dart:async/zone.dart:1001)
#24     runZoned (dart:async/zone.dart:1467)
#25     AppContext.runInZone (package:flutter_tools/src/base/context.dart:65)
#26     run (package:flutter_tools/executable.dart:114)

#27     main (package:flutter_tools/executable.dart:67)

#28     main (file:///E:/flutter/packages/flutter_tools/bin/flutter_tools.dart:16)
#29     _startIsolate. (dart:isolate-patch/isolate_patch.dart:263)
#30     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:151)
flutter analyze
Analyzing E:\myapp2...
No issues found!
Ran in 6.9s
Flutter Doctor
flutter doctor
[√] Flutter (on Microsoft Windows [Version 10.0.15063], locale en-US, channel alpha)
• Flutter at E:\flutter
• Framework revision d36e2f6191 (5 weeks ago), 2017-06-21 15:09:10 -0700
• Engine revision b0dee695ec
• Tools Dart version 1.24.0-dev.6.7
[√] Android toolchain - develop for Android devices (Android SDK 26.0.0)
• Android SDK at D:\Android\sdk
• Platform android-26, build-tools 26.0.0
• ANDROID_HOME = D:\Android\sdk
• Java binary at: D:\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_112-release-b06)
[√] Android Studio (version 2.3)
• Android Studio at D:\Android\Android Studio
• Gradle version 3.2
• Java version OpenJDK Runtime Environment (build 1.8.0_112-release-b06)
[√] IntelliJ IDEA Ultimate Edition (version 2017.2)
• Flutter plugin version 15.1
• Dart plugin version 172.3317.48
[√] Connected devices
• Android SDK built for x86 • emulator-5554 • android-x86 • Android 7.1.1 (API 25) (emulator)

It might be some sort of firewall running on your computer which is preventing the flutter tool (also running on your computer) from connecting to the emulator at <IP_ADDRESS> (which is your computer).
I've never seen that particular exception before unfortunately.

Do you know what firewall software you have running?

Hello, I am facing the same issue. OS Windows 7, Windows firewall, behind corporate proxy. Flutter doctor shows no issues. Any further data that would help you narrowing down potential root causes ?

Same problem here. I've set up my proxy server in a few places, but I think I have to add <IP_ADDRESS> as a proxy exclusion. But which proxy settings are used? Gradle's in gradle.properties?

I was able to resolve this issue by adding a Windows environment variable called NO_PROXY with a value of <IP_ADDRESS>,localhost.
I had to restart Visual Studio Code after creating this environment variable for the changes to take effect.

Can you get a TCP trace of the failed connection? It would be good to compare a successful connection to a failed connection.

Let me collect the log using Wireshark, I'll post it here very soon

Here is the wireshark log of the app

wsharkcapture.zip

I did some research and summarized two requests
Working one
GET /client HTTP/1.1
Host: <IP_ADDRESS>
Connection: Upgrade
Pragma: no-cache
Cache-Control: no-cache
Upgrade: websocket
Origin: chrome-extension://pfdhoblngboilpfeibdedpjgfnlcodoo
Sec-WebSocket-Version: 13
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.170 Safari/537.36
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9
Sec-WebSocket-Key: ouTy2cAv7Du/LfDP0zFSlQ==
Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits
HTTP/1.1 101 Switching Protocols
Connection: Upgrade
Date: Fri, 11 May 2018 14:17:16 GMT
Server: Kestrel
Upgrade: websocket
Sec-WebSocket-Accept: V8vCh+hwhn4M4D+IX4JZuWkcnNc=
Non working one:
GET /client HTTP/1.1
user-agent: Dart/2.0 (dart:io)
connection: Upgrade
cache-control: no-cache
accept-encoding: gzip
content-length: 0
sec-websocket-version: 13
host: <IP_ADDRESS>
sec-websocket-extensions: permessage-deflate; client_max_window_bits
sec-websocket-key: 0Db/dlrGHU/gQam9r80Q6g==
upgrade: websocket
HTTP/1.1 200 OK
Connection: close
Date: Fri, 11 May 2018 14:57:38 GMT
Server: Kestrel
Content-Length: 0
The only difference I could make out is when dart lib requests, all the header starts with small case which probably causes the web server to ignore them and process it as a regular web request.
e.g. Connection: Upgrade vs connection: Upgrade
Is there any way to change the header emitted by dart lib and test this hypothesis.

cc @zanderso

There is yet another issue reported
https://github.com/dart-lang/sdk/issues/25120
It states that this behavior is by design. However, It would be great to have control over emitted headers.

@DanTup do you think this is a dup of #19056 ?

They both look like something is breaking the connection before it gets converted to a websocket; but since there are so many reasons this might happen and the errors are different, it's hard to say.
Some thoughts about things that could go wrong:

A firewall/proxy not supporting web sockets properly - possibly can be confirmed using something like https://websocketstest.com/ (as far as I can tell, that one tests over HTTP which is probably best, since a bad proxy/firewall is probably more likely to be inspecting/messing with unencrypted connections).

Proxy is proxying traffic to localhost - this sounds a bit crazy, but a user above reported bypassing proxy for localhost fixed the issue. If we're listening on localhost and the proxy is off-machine, I'm not sure it could possibly connect back. A possible way to test this is to just create a Hello World .dart script and put a breakpoint in it and debug - we use the same kinda of web socket connection to localhost to debug against the standard VM (this could eliminate any flutter-specific issue).

There's also a possible complication of port-forwarding to the device. I'm not sure how it works with the Emulator, but I believe for a real device a port is forwarded from localhost to the device - if this is the same for the emulator, there's the possibility that a proxy/firewall could be getting in there too. Might be more complicated to confirm this though, so better to try the things that are easier to test first.

I have the same problem here. I can't connect to my localhost websocket.
when I open my localhost website from browser, websocket connection is OK, but flutter always return this message with a bunch of exceptions to me
I/flutter (18613): null E/flutter (18613): [ERROR:flutter/shell/common/shell.cc(184)] Dart Error: Unhandled exception: E/flutter (18613): WebSocketChannelException: WebSocketChannelException: WebSocketException: Connection to 'http://<IP_ADDRESS>:3335#' was not upgraded to websocket E/flutter (18613): #0      new IOWebSocketChannel._withoutSocket.<anonymous closure> (package:web_socket_channel/io.dart:83:24) E/flutter (18613): #1      _invokeErrorHandler (dart:async/async_error.dart:13:29) E/flutter (18613): #2      _HandleErrorStream._handleError (dart:async/stream_pipe.dart:286:9) E/flutter (18613): #3      _ForwardingStreamSubscription._handleError (dart:async/stream_pipe.dart:168:13) E/flutter (18613): #4      _RootZone.runBinaryGuarded (dart:async/zone.dart:1326:10) E/flutter (18613): #5      _BufferingStreamSubscription._sendError.sendError (dart:async/stream_impl.dart:355:15) E/flutter (18613): #6      _BufferingStreamSubscription._sendError (dart:async/stream_impl.dart:373:16) E/flutter (18613): #7      _BufferingStreamSubscription._addError (dart:async/stream_impl.dart:272:7) E/flutter (18613): #8      _SyncStreamController._sendError (dart:async/stream_controller.dart:767:19) E/flutter (18613): #9      _StreamController._addError (dart:async/stream_controller.dart:647:7) E/flutter (18613): #10     _RootZone.runBinaryGuarded (dart:async/zone.dart:1326:10) E/flutter (18613): #11     _BufferingStreamSubscription._sendError.sendError (dart:async/stream_impl.dart:355:15) E/flutter (18613): #12     _BufferingStreamSubscription._sendError (dart:async/stream_impl.dart:373:16) E/flutter (18613): #13     _BufferingStreamSubscription._addError (dart:async/stream_impl.dart:272:7) E/flutter (18613): #14     _SyncStreamController._sendError (dart:async/stream_controller.dart:767:19) E/flutter (18613): #15     _StreamController._addError (dart:async/stream_controller.dart:647:7) E/flutter (18613): #16     new Stream.fromFuture.<anonymous closure> (dart:async/stream.dart:117:18) E/flutter (18613): #17     _RootZone.runBinary (dart:async/zone.dart:1384:54) E/flutter (18613): #18     _FutureListener.handleError (dart:async/future_impl.dart:143:20) E/flutter (18613): #19     Future._propagateToListeners.handleError (dart:async/future_impl.dart:654:47) E/flutter (18613): #20     Future._propagateToListeners (dart:async/future_impl.dart:675:24) E/flutter (18613): #21     Future._completeError (dart:async/future_impl.dart:494:5) E/flutter (18613): #22     Future._asyncCompleteError.<anonymous closure> (dart:async/future_impl.dart:542:7) E/flutter (18613): #23     _microtaskLoop (dart:async/schedule_microtask.dart:41:21) E/flutter (18613): #24     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
I also tried these ips: <IP_ADDRESS> ( which is my pc ip ), <IP_ADDRESS> to access my pc localhost
I set a NO_PROXY env var to windows, restarted my pc, restart android studio.
I turned of any software and firewall which may block the connection.
There's one thing left, hit my head as hard as possible to my room's wall !!!!
can anybody help me

@Ali-Azmoud

when I open my localhost website from browser

how exactly do you open it? With the browser on the device/emulator? What URL are you using exactly?

in browser
in NodeJS app, I use the following configurations
// .env file ip: <IP_ADDRESS>, ( also tried <IP_ADDRESS> to accept other than localhost requests ) port : 3335
And in the browser url address:
http://<IP_ADDRESS>:3335 or http://localhost:3335 which both works fine and Websocket request upgrades successfully
from my Emulator chrome
http://127.0.01:3335 // if I forward my adb port it works fine.
http://<IP_ADDRESS>:3335 works fine
http://<IP_ADDRESS>:3335 works fine
but none of them works in flutter. But I don't know how it can connect to ws://echo.websocket.org without any problem !
I tried my app with all possible ways in 2 pc, both same result.

I don't know how it can connect to ws://echo.websocket.org

In your previous comment you wrote

it works when I connect to ws://echo.websocket.org

which seems to say the opposite.

but none of them works in flutter.

I'd try in a plain Dart project without Flutter to see if there is some compatibility issue between Dart websocket client and your Node server.

@zoechi
Sorry for that, my english is not good enough.
My flutter app which is a clone of Flutter Documentations  websocket example works well with url ws://echo.websocket.org but it doesn't work with my localhost. ( summary of my two comments )

@Ali-Azmoud thanks for clarification. I'd try to connect with a plain Dart project to reduce the possible causes of the issue.

Here's a simple Dart script that connects to echo.websocket.org and then also hosts a local web socket and tries to connect (both using localhost, which may resolve to <IP_ADDRESS> or ::1, and <IP_ADDRESS> directly). If you save it in a .dart file then run it with dart <filename.dart> it may help understand what's failing:
import 'dart:io';

var port = 3456;

main() async {
  print('HTTP_PROXY: ${Platform.environment['HTTP_PROXY']}');
  print('NO_PROXY: ${Platform.environment['NO_PROXY']}');
  print('');

  await test('ws://echo.websocket.org');
  await test('wss://echo.websocket.org');

  await Future.forEach(['localhost', '<IP_ADDRESS>'], (String address) async {
    final server = await startLocalServer(address, ++port);
    await test('ws://$address:$port');
    await server.close();
  });

  print('Completed!');
}

Future<HttpServer> startLocalServer(String address, int port) async {
  final server = await HttpServer.bind(address, port);
  print('Server listening at ${server.address.address}:$port');
  server.transform(WebSocketTransformer()).listen((WebSocket client) {
    client.listen((data) => client.add(data));
  });
  return server;
}

Future<void> test(String url) async {
  print('Connecting to $url');
  final ws = await WebSocket.connect(url);
  send(ws, 'TEST STRING');
  await receive(ws, 'TEST STRING');
  await ws.close();
  print('');
}

void send(WebSocket ws, String s) {
  print('SEND: $s');
  ws.add(s);
}

Future<void> receive(WebSocket ws, String s) async {
  final msg = await ws.first.timeout(const Duration(seconds: 1));
  print('RCV: $msg');
  if (msg != s) {
    throw 'Expected "$s" but got "$msg"';
  }
}

The output looks something like this:
HTTP_PROXY: null
NO_PROXY: null

Connecting to ws://echo.websocket.org
SEND: TEST STRING
RCV: TEST STRING

Connecting to wss://echo.websocket.org
SEND: TEST STRING
RCV: TEST STRING

Server listening at ::1:3457
Connecting to ws://localhost:3457
SEND: TEST STRING
RCV: TEST STRING

Server listening at <IP_ADDRESS>:3458
Connecting to ws://<IP_ADDRESS>:3458
SEND: TEST STRING
RCV: TEST STRING

Completed!

@DanTup I'm having this same issue on my machine. Your code works, i.e. when I'm connecting a Dart WebSocket client to a Dart WebSocket server, it works (as does connecting to echo.websocket.org). However, I have an existing WebSocket server running on localhost written in another language (.NET) that I can connect to via my browser but NOT with the Dart WebSocket client. Any ideas about how to use the Dart WebSocket client to a non-Dart WebSocket server running on localhost?

@csells Interesting - are you able to share the .NET code that runs your socket server? (and which OS/runtime you're running it with) and I can see if I can repro and see what's going on.

Sure. It's the Fibs.Net proxy server on GitHub running on Mac. There's a Java FIBS server clone included for testing without spamming fibs.com. Let me know if the readme is incomplete.
On Mar 2, 2019 1:02 AM, Danny Tuppeny<EMAIL_ADDRESS>wrote:
@csellshttps://github.com/csells Interesting - are you able to share the .NET code that runs your socket server? (and which OS/runtime you're running it with) and I can see if I can repro and see what's going on.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/flutter/flutter/issues/11444#issuecomment-468902207, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ACcwPZz8CCvFVqMChX2WoSGPre8Mi8JVks5vSj4hgaJpZM4OnSGe.

@csells I had a quick test, and it seems to be that your server doesn't recognise the request as a WebSocket request if it contains Content-Length: 0.
I modified your code like this:
static async Task Acceptor(HttpContext hc, Func<Task> n, IServiceProvider provider) {
      Console.WriteLine("Accepting!");
      Console.WriteLine("Sockets supported? " + (hc.Features.Get<IHttpWebSocketFeature>() != null));
      if (!hc.WebSockets.IsWebSocketRequest) {
        Console.WriteLine("Not a socket request :(");
        foreach(var header in hc.Request.Headers) {
          Console.WriteLine(header.Key + " = " + header.Value);
        }
        return;
      }

This prints that IsWebSocketRequest=false for the Dart client.  I had a quick search, and think this may be a .NET issue`. I had a quick search and found a PR that looks like it should fix this:
https://github.com/aspnet/KestrelHttpServer/pull/2217
The last comment suggests it shipped in .NET Core 2.1. I don't know what's being used here, though I see a 2.0.3 in your csproj - if that's where this is coming from, maybe upgrading it to >= 2.1 will fix.
Hope this helps!

@csells I just changed the csproj to 2.2.2 (and 2.2 at the top) and re-restored, and I can now connect with CURL. Give it ago :-)

excellent! thanks very much.

@zoechi
in NodeJS app, I use the following configurations

.env file
ip: <IP_ADDRESS>, ( also tried <IP_ADDRESS> to accept other than localhost requests )
port : 3335

And in the browser url address:
http://<IP_ADDRESS>:3335 or http://localhost:3335 which both works fine and Websocket request upgrades successfully
from my Emulator and chrome browser
http://127.0.01:3335 // if I forward my adb port it works fine.
http://<IP_ADDRESS>:3335 works fine
http://<IP_ADDRESS>:3335 works fine
from my real android device, chrome browser
http://<IP_ADDRESS>:3335 works fine
but none of them works in flutter. But I don't know how it can connect to ws://echo.websocket.org without any problem !
I tried my app with all possible ways in 2 pc, both same result.

Did you fix the problem ? I am now suffering the same problem.
It sees that there is a lot problems with Flutter...

@Ali-Azmoud @akinschen Are either of you able to provide a small runnable sample of the node server and the Dart code that's failing to connect to it so that I can run it locally?

I found manually specifying the 'Origin' header of web socket connection request solved this issue for me.

@Ali-Azmoud @akinschen Are either of you able to provide a small runnable sample of the node server and the Dart code that's failing to connect to it so that I can run it locally?
Sorry,I don't have the sample code, But I used Openfire as the Web Socket Server.  Openfire is an opensource XMPP Server , and it supports websocket...

I found manually specifying the 'Origin' header of web socket connection request solved this issue for me.
Good news~~

@Ali-Azmoud @akinschen Are either of you able to provide a small runnable sample of the node server and the Dart code that's failing to connect to it so that I can run it locally?
I have finally solved my problems after added some header  manually.

    Map myheaders=new Map<String,dynamic>();
    myheaders["Origin"]="file://";
    myheaders["sec-websocket-protocol"]="xmpp";

In my case,  "sec-websocket-protocol"="xmpp" is the MUST,  because I am going to connect  to an XMPP Server.
Thank you.

This issue has become a little overloaded. The original error message contained "Error connecting to observatory" which relates to Flutter trying to connect to Observatory (both the client and server are controlled by Flutter/Dart). The more recent comments are issues connecting Dart code to non-Dart servers (which should work, but if it doesn't, is likely a very different issue to the Observatory one).
So this issue doesn't remain open forever because it's not clear what it is, let's keep it focused on failures to connect to Observatory. If anyone is still having this issue, please comment below an include the full output of flutter doctor -v.
For anyone having issues connecting to their own/third party servers using Dart, if could be something like the above (eg. you need to pass specific headers for the server to accept the connection), but if you do believe it's a Dart bug, please open a new issue (here or in dart-lang/sdk) including the Dart code and info about the server so that it can be reproduced (feel free to CC me). Thanks!

 [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: WebSocketChannelException: WebSocketChannelException: WebSocketException: Connection to 'http://<IP_ADDRESS>:8080#' was not upgraded to websocket
E/flutter (29104): #0      new IOWebSocketChannel._withoutSocket.<anonymous closure>
package:web_socket_channel/io.dart:83
E/flutter (29104): #1      _invokeErrorHandler  (dart:async/async_error.dart:17:29)
E/flutter (29104): #2      _HandleErrorStream._handleError  (dart:async/stream_pipe.dart:286:9)
E/flutter (29104): #3      _ForwardingStreamSubscription._handleError  (dart:async/stream_pipe.dart:168:13)
E/flutter (29104): #4      _rootRunBinary  (dart:async/zone.dart:1144:38)
E/flutter (29104): #5      _CustomZone.runBinary  (dart:async/zone.dart:1037:19)
E/flutter (29104): #6      _CustomZone.runBinaryGuarded  (dart:async/zone.dart:939:7)
E/flutter (29104): #7      _BufferingStreamSubscription._sendError.sendError  (dart:async/stream_impl.dart:355:15)
E/flutter (29104): #8      _BufferingStreamSubscription._sendError  (dart:async/stream_impl.dart:373:16)
E/flutter (29104): #9      _BufferingStreamSubscription._addError  (dart:async/stream_impl.dart:272:7)
E/flutter (29104): #10     _SyncStreamController._sendError  (dart:async/stream_controller.dart:768:19)
E/flutter (29104): #11     _StreamController._addError  (dart:async/stream_controller.dart:648:7)
E/flutter (29104): #12     _rootRunBinary  (dart:async/zone.dart:1144:38)
E/flutter (29104): #13     _CustomZone.runBinary  (dart:async/zone.dart:1037:19)
E/flutter (29104): #14     _CustomZone.runBinaryGuarded  (dart:async/zone.dart:939:7)
E/flutter (29104): #15     _BufferingStreamSubscription._sendError.sendError  (dart:async/stream_impl.dart:355:15)
E/flutter (29104): #16     _BufferingStreamSubscription._sendError  (dart:async/stream_impl.dart:373:16)
E/flutter (29104): #17     _BufferingStreamSubscription._addError  (dart:async/stream_impl.dart:272:7)
E/flutter (29104): #18     _SyncStreamController._sendError  (dart:async/stream_controller.dart:768:19)
E/flutter (29104): #19     _StreamController._addError  (dart:async/stream_controller.dart:648:7)
E/flutter (29104): #20     new Stream.fromFuture.<anonymous closure>  (dart:async/stream.dart:117:18)
E/flutter (29104): #21     _rootRunBinary  (dart:async/zone.dart:1144:38)
E/flutter (29104): #22     _CustomZone.runBinary  (dart:async/zone.dart:1037:19)
E/flutter (29104): #23     _FutureListener.handleError  (dart:async/future_impl.dart:140:20)
E/flutter (29104): #24     Future._propagateToListeners.handleError  (dart:async/future_impl.dart:651:47)
E/flutter (29104): #25     Future._propagateToListeners  (dart:async/future_impl.dart:672:24)
E/flutter (29104): #26     Future._completeError  (dart:async/future_impl.dart:491:5)
E/flutter (29104): #27     Future._asyncCompleteError.<anonymous closure>  (dart:async/future_impl.dart:539:7)
E/flutter (29104): #28     _rootRun  (dart:async/zone.dart:1124:13)
E/flutter (29104): #29     _CustomZone.run  (dart:async/zone.dart:1021:19)
E/flutter (29104): #30     _CustomZone.runGuarded  (dart:async/zone.dart:923:7)
E/flutter (29104): #31     _CustomZone.bindCallbackGuarded.<anonymous closure>  (dart:async/zone.dart:963:23)

Eu consegui resolver, colocando o endereço ip do meu pc no servidor nodejs e o mesmo ip no flutter

if anyone is still having this problem. check this guy code https://github.com/Flavsditz/websocket_sandbox hopefully it helps.

If anyone is still having this problem, check this code out:
https://github.com/gorilla/websocket/tree/master/examples/echo
I originally had the same issue as others when I was using Golang's default net/http websocket but I could solve with Gorilla package's websocket with the upgrader.
I suspect that the server should have a websocket upgraded already to serve the websocket cloent of dart:io and web_socket_channel so that the code in the link may help somebody.
(Sorry for being late to the discussion)

Launching lib\main.dart on Chrome in debug mode...
Building application for the web...
Attempting to connect to browser instance..
Finished with error: Failed to establish connection with the application instance in Chrome.
This can happen if the websocket connection used by the web tooling is unabled to correctly establish a connection, for example due to a firewall.
after run

flutter run -d Chrome

after run

flutter run -d Chrome

Launching lib\main.dart on Chrome in debug mode...
Building application for the web... 124.5s
Attempting to connect to browser instance..
303.0s (!)
Failed to establish connection with the application instance in Chrome.
This can happen if the websocket connection used by the web tooling is unabled to correctly establish a connection, for example due toa firewall.

Hi folks, as mentioned above, this issue is overloaded, and has been closed quite some time back. If you're still having problems, please file a new issue with full information.


Adding BBLocationManager.

Project URL
https://github.com/benzamin/BBLocationManager
Description
A Location Manager for easily implementing location services & geofencing in iOS, written in Objective-C. Supports easy delegate and block based API for implementing Geo-Fencing, Region Monitoring, accessing current location and frequent location, getting Apple provided Geo-Code/Address and more.
Why it should be included to awesome-ios (optional)
There is no library in this awesome list that supports easy-to-use geofencing location service.  This library has both geofencing AKA Region monitoring capability and current/frequent location API. Please refer to library's readme for detailed feature list.
Checklist

[x] Only one project/change is in this pull request
[x] Addition in chronological order (bottom of category)
[x] Supports iOS 9 / tvOS 10 or later
[x] Supports Swift 3
[x] Has a commit from less than 2 years ago
[x] Has a clear README in English

          1 Error

:no_entry_sign:
Found 4 link issues

Link issues by awesome_bot

Line
Status
Link

1182
301
https://github.com/pvzig/SlackKit redirects tohttps://github.com/SlackKit/SlackKit

1465
301
https://github.com/andrew8712/DCKit redirects tohttps://github.com/agordeev/DCKit

2253
301
https://github.com/thoughtbot/liftoff redirects tohttps://github.com/liftoffcli/liftoff

2525
522
http://rypress.com/tutorials/objective-c/index

  Generated by :no_entry_sign: Danger

Hey @benzamin nice lib, thanks for contributing to awesome-ios 🎉🎉🎉

Thanks!


Switch to Codecov v3 and explicitly add token

Aiming to fix
https://github.com/sjdemartini/graphene-django-permissions/actions/runs/7026559111/job/19119554372

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (9288a78) 100.00% compared to head (18b87c8) 100.00%.
 Consider uploading reports for the commit 153d40f to get more accurate results

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff            @@
##              main       #27   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            2         2
  Lines           33        33
  Branches         8         8
=========================================
  Hits            33        33

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


add ability to include first/last name on signup

Adding a new method exposed in METDDPClient+AccountsPassword.h category that allows signup to include first/last name in addition to email/password.

There may be additional fields you might want to set on profile when creating a user (e.g. school affiliation in my case). In a private branch which I still need to clean up, I've actually added a signUpWithEmail:password:profile:completionHandler: method for this purpose, where profile takes a dictionary. This seems like a more general mechanism that could either underly your methods or act as an alternative.
But I don't want to hold you up and I'd be happy to merge your pull request now. Then I could have another look at it when I find the time to merge my changes. Or you could make the changes yourself. Let me know what you prefer.
I'm not sure what the status of this is, but there has been talk of deprecating profile. I'm not sure what would happen to createUser in this case.

I like the generic solution of allowing a profile dictionary to be provided: signUpWithEmail:password:profile:completionHandler:.  I'll update this PR to use the api you have suggested when I have some time tomorrow and you can merge it in after that. Does that work?
Not sure of how deprecating profile will affect the method. But we can handle that when/if it happens.

@martijnwalraven I've incorporated your suggestions. Any more feedback here?

Sorry I missed this. Looks great, so I merged it.


[BUG] Corrected test events don't count in dashboard

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
Corrected test events don't appear in the dashboard counts.
Steps To Reproduce

On any environment (preferably in a facility with few results)
Add a new test
Check the admin view dashboard
Correct the test (change the result)
Test is no longer reflected in the dashboard

Expected Behavior
Dashboard should correctly show corrected test results, not just original tests.
Additional context
A couple of things:

This is probably happening because the underlying dashboard query filters out any test events with a prior_corrected_test_event_id. That logic worked back in the day when that field was only used for removals, but probably doesn't now that corrections also use that field.
We're planning to edit the dashboard on G&E to correctly read from the Results table soon, so we can potentially address this issue at the same time. (But I'd like to keep this bug for reference)

Does this issue have a priority label?

[X] I have added a priority label

Has issue been assigned to a team?

[X] I have added a team label

fyi: we've received a support request from a customer because they're not seeing a corrected test event in their dashboard
I'm going to take a peek at the code and see if I can just fix this as part of my on-call duties


Added dir Data Analysis and some analysis on Russia-Ukrain dataset us…

Hey @CrickSoldier  . Need fix Just delete these file from python and insert into data science and make sure the name end with
_EDA these project belong to exploratory data analysis.

Hey @CrickSoldier . Need fix Just delete these file from python and insert into data science and make sure the name end with _EDA these project belong to exploratory data analysis.

Done the required changes!

PR accepted @CrickSoldier
Successfully merged to HacktoberFest_22 repo.
Need to Star this repo incase not done.
🚀🚀👍


Ensure that headers/trailers/metadata are available after StopIteration

until "continue" is called.  Includes test.
Signed-off-by: John Plevyak<EMAIL_ADDRESS>

Fix https://github.com/envoyproxy/envoy-wasm/issues/458


There's no documentation on how to add project dependencies

Hello,
I attempted to create a Polymer 3 app using PaperElements web components, I went ahead and
installed a couple elements (with some guidance from the PolymerElements documentation) the usual way by using "npm install" doing that doesn't work after testing with the "gulp build / serve commands". I then tried using the unite command line --i.e: "unite clientPackage --opetation=add --packageName=@polymer/paper-toolbar", however the same applied. There is no documentation on how to get this kind of package and presumably it's own dependencies added to the build in a graceful and effective manner.
I then realized that the unite commands and documentation were going to be no help.
There needs to be documentation for how to add this kind of package, and importantly, it's dependencies, in a graceful way. In other words if the cli or documentation does not cover this then it should be added right away.
Issues Encounted
In summary the problems I've faced in my testing are below:

There's no documentation on how to add project dependencies
There's no specific command for adding those kinds of project dependencies like PolymerElements ( or in the case of React, it might be @material-ui/core for example) (again if there could be clarification / additions to the docs about this that would be a huge help!)
Adding dependencies using "unite clientPackage" should also find and add those sub-dependencies, for example, if adding '@polymer/paper-toolbar', that in it-self has it's own sub-dependencies, and so those should be included as well to the unite.json and,or referenced in the dist build itself.
Hense a user will see this in their served website's console,  this is after installing their intended package (in this example I use @polymer/paper-toolbar). Below are errors for the missing dependencies that paper-toolbar uses. Its worth noting that these sub-dependencies are located in the project.json within the @polymer/paper-toolbar folder but aren't detected  by the unite clientPackage --add command

:9000/node_modules/@polymer-transpiled/polymer/polymer-legacy.js:1 Failed to load resource: the server responded with a status of 404 (Not Found)
:9000/@polymer/paper-styles/default-theme.js:1 Failed to load resource: the server responded with a status of 404 (Not Found)
:9000/@polymer/paper-styles/typography.js:1 Failed to load resource: the server responded with a status of 404 (Not Found)
:9000/@polymer/iron-flex-layout/iron-flex-layout.js:1 Failed to load resource: the server responded with a status of 404 (Not Found)
:9000/node_modules/@polymer-transpiled/polymer/lib/utils/html-tag.js:1 Failed to load resource: the server responded with a status of 404 (Not Found)
(index):1 Uncaught (in promise) Error: Fetch error: 404 Not Found
  Instantiating<EMAIL_ADDRESS>  Loading<EMAIL_ADDRESS>  Loading dist/entryPoint
    at fetch.js:37

Lastly, the build process seems to be confused when adding packages like the paper-toolbar example below (look in the Additional Information below)

Steps to Replicate
Step 1
Establish a unitejs project using the below
unite configure --packageName=xtremeqatool-unitejs-react-ts_issuerepro --profile=PolymerTypeScript --linter=None --unitTestRunner=None --e2eTestRunner=None --cssPost=None --cssLinter=None --documenter=None --packageManager=Npm --title=Title --shortName="Short Name" --description=Description --keywords=Keywords --organization=Organization --copyright=Copyright --webSite="Web Site" --namespace=Namespace --author=Author --authorEmail=Email --authorWebSite="Author Web Site" --outputDirectory=xtremeqatool-unitejs-react-ts_issuerepro
Next in the Bash terminal, 'cd www' and run 'npm install'. After that, execute 'gulp theme-build'.
Step 2
Add any element from https://www.webcomponents.org/author/PolymerElements
--e.g: unite clientPackage --operation=add --packageName=@polymer/paper-toolbar
Step 3
Modify the Child.ts to include the required import for the element to be used in the html file
/**
 * Child class.
 *
 * @export
 * @class Child
 */
import { customElement, property } from "@polymer/decorators/src/decorators";
import { PolymerElement, html } from "@polymer/polymer/polymer-element";
import<EMAIL_ADDRESS>// Add the element here according to the polymer element instructions
...

Step 3
Modify the Child.html to be something about the same as below

    <paper-toolbar>

{{message}}

    </paper-toolbar>

Step 4
In Bash, execute 'gulp build', and then after that, execute 'gulp serve'.
Step 5
In the website served, hit [F12] and observe the error in the console.
:9000/node_modules/@polymer/paper-toolbar/paper-toolbar/paper-toolbar.js:1 Failed to load resource: the server responded with a status of 404 (Not Found)
(index):1 Uncaught (in promise) Error: Fetch error: 404 Not Found
  Instantiating<EMAIL_ADDRESS>  Loading http://localhost:9000/dist/child/child.js
  Loading dist/entryPoint
    at fetch.js:37

Additional Information
I noticed at step 5 it was referencing 'paper-toolbar/paper-toolbar/paper-toolbar' instead of 'paper-toolbar/paper-toolbar', so in 'app-module-config.js' I corrected the reference manually.
"@polymer/paper-toolbar": "node_modules/@polymer/paper-toolbar/paper-toolbar"
to
"@polymer/paper-toolbar": "node_modules/@polymer/paper-toolbar"

I then was getting this error message in the console:
EDIT: the error was bypassed by using a transpile alias, however like mentioned in the Issues Encounted, I was then missing paper-toolbar's dependencies which is a thing i want to avoid having to add manually to the unite.json every time I add a different PolymerElement.
(index):1 Uncaught (in promise) Error: Unable to dynamically transpile ES module
   A loader plugin needs to be configured via `SystemJS.config({ transpiler: 'transpiler-module' })`.
  Instantiating<EMAIL_ADDRESS>  Loading http://localhost:9000/dist/child/child.js
  Loading dist/entryPoint
    at transpile (instantiate.js:470)
    at instantiate.js:245

Resources used
https://unitejs.com/
https://www.webcomponents.org/author/PolymerElements
https://www.polymer-project.org/3.0/start/

Apologies, I accidentally closed this, please still look into this issue.
-EM

Thanks for the comprehensive writeup, I will take a look and get back to you.

Verified the issues mentioned are fixed with the latest unitejs-cli (v1.8.1) but will leave the issue open for more documentation to be added.
All the best,
-EM


Control map tool display state inside each component instead of fetching context from app.js

When context is changed, App() component get re-rendered, hence the children components including . In the same time,  listens to context change and re-render based on that. This creates extra rendering and does not interact well since  has lots of async data fetch.

The context is not fully removed since I need to keep isLoading. Will fully fix this once the chart loading is finalized.


CI: K8sUpdates Tests upgrade and downgrade from a Cilium stable image to master

Test Name
K8sUpdates Tests upgrade and downgrade from a Cilium stable image to master

Failure Output
Cilium "1.13.90" did not become ready in time
("unable to retrieve daemonset kube-system/cilium")

Stack Trace
/home/jenkins/workspace/Cilium-PR-K8s-1.26-kernel-net-next/src/github.com/cilium/cilium/test/ginkgo-ext/scopes.go:515
Timed out after 247.361s.
Cilium "1.13.90" did not become ready in time
Expected
    <*errors.errorString | 0xc002e1c1f0>: {
        s: "unable to retrieve daemonset kube-system/cilium: Exitcode: -1 \nErr: signal: killed\nStdout:\n \t \nStderr:\n \t \n",
    }
to be nil
/home/jenkins/workspace/Cilium-PR-K8s-1.26-kernel-net-next/src/github.com/cilium/cilium/test/k8s/updates.go:230

Standard Output
Number of "context deadline exceeded" in logs: 0
Number of "level=error" in logs: 0
Number of "level=warning" in logs: 0
Number of "Cilium API handler panicked" in logs: 0
Number of "Goroutine took lock for more than" in logs: 0
No errors/warnings found in logs
Number of "context deadline exceeded" in logs: 0
Number of "level=error" in logs: 0
Number of "level=warning" in logs: 0
Number of "Cilium API handler panicked" in logs: 0
Number of "Goroutine took lock for more than" in logs: 0
No errors/warnings found in logs
Number of "context deadline exceeded" in logs: 0
Number of "level=error" in logs: 0
Number of "level=warning" in logs: 0
Number of "Cilium API handler panicked" in logs: 0
Number of "Goroutine took lock for more than" in logs: 0
No errors/warnings found in logs
Cilium pods: []
Netpols loaded:
CiliumNetworkPolicies loaded:
Endpoint Policy Enforcement:
Pod   Ingress   Egress

Standard Error
17:11:56 STEP: Running BeforeAll block for EntireTestsuite K8sUpdates
17:11:56 STEP: Ensuring the namespace kube-system exists
17:11:57 STEP: WaitforPods(namespace="kube-system", filter="-l k8s-app=cilium-test-logs")
17:11:57 STEP: WaitforPods(namespace="kube-system", filter="-l k8s-app=cilium-test-logs") => <nil>
17:11:57 STEP: Waiting for pods to be terminated
17:12:04 STEP: Deleting Cilium and CoreDNS
17:12:04 STEP: Waiting for pods to be terminated
17:12:04 STEP: Cleaning Cilium state (5f59a61f4422381b3db45d45158d130de3c7130b)
17:12:04 STEP: Cleaning up Cilium components
17:12:06 STEP: Waiting for Cilium to become ready
FAIL: Timed out after 247.361s.
Cilium "1.13.90" did not become ready in time
Expected
    <*errors.errorString | 0xc002e1c1f0>: {
        s: "unable to retrieve daemonset kube-system/cilium: Exitcode: -1 \nErr: signal: killed\nStdout:\n \t \nStderr:\n \t \n",
    }
to be nil
=== Test Finished at 2023-03-22T17:16:13Z====
17:16:13 STEP: Running JustAfterEach block for EntireTestsuite K8sUpdates
===================== TEST FAILED =====================
17:16:33 STEP: Running AfterFailed block for EntireTestsuite K8sUpdates
cmd: kubectl get pods -o wide --all-namespaces
Exitcode: -1
Err: signal: killed

Resources

Jenkins URL: https://jenkins.cilium.io/job/Cilium-PR-K8s-1.26-kernel-net-next/1430/testReport/junit/Suite-k8s-1/26/K8sUpdates_Tests_upgrade_and_downgrade_from_a_Cilium_stable_image_to_master/
ZIP file(s):
43f56c88_K8sUpdates_Tests_upgrade_and_downgrade_from_a_Cilium_stable_image_to_master.zip

Anything else?
No response

Another common error output for easier searching:
Pods are still not deleted after a timeout: 4m0s timeout expired: Failed to connect to apiserver: signal: killed

Another related error (also caused by the impossibility of reaching the API server):
Cilium is not ready after timeout
Expected
    <*errors.errorString | 0xc0006fa260>: {
        s: "timed out waiting for pods with filter -l k8s-app=cilium to be ready: 5m0s timeout expired",
    }
to be nil

Another unrelated failure on the same test: https://jenkins.cilium.io/job/Cilium-PR-K8s-1.26-kernel-net-next/1563/execution/node/126/log/

This wasn't fixed after all. Reopened at https://github.com/cilium/cilium/issues/24687.


Test: Use DYNAMIC_SECTION instead of manually formatting name

@Minoru: I saw you closed #237.
If you are still interested, this PR shows some use of DYNAMIC_SECTION.
There are a few more places where a SECTION is placed in a loop but those don't need formatting to generate a locally unique section name, e.g.:
https://github.com/newsboat/newsboat/blob/4b850932d242cb7c0126ae679ac858f7fdd88d9c/test/htmlrenderer.cpp#L109-L119

Coverage remained the same at 53.797% when pulling b148fc7e870fb35a468626f69309d17d7257af5c on dennisschagt:feature/use-dynamic_session-issue-237 into 4b850932d242cb7c0126ae679ac858f7fdd88d9c on newsboat:master.

If you are still interested, this PR shows some use of DYNAMIC_SECTION.

Oh, I'm all for using it where it's applicable—I just didn't think it's worthwhile to keep an issue about it.
I'll gladly merge this now. Thanks!
(BTW, issues with FreeBSD on CIrrus CI have been reported in https://github.com/cirruslabs/cirrus-ci-docs/issues/592, but obviously haven't been fixed yet.)


Add CLI link to README

Created the CLI for this module.
If you find the time I would really like to have you review the code. Haven't written much cli modules before.

Looks good :)
On line 25 you could just pass the flags object directly:
getGravatar(cli.input[0], cli.flags).then(image => {

You're using Node.js 4 features, so you need to set https://github.com/SamVerschueren/get-gravatar-cli/blob/80bae42b932f1e10dc125a7c1cea37e1a40a6a1b/package.json#L16 to ">=4".
Set this https://github.com/SamVerschueren/get-gravatar-cli/blob/80bae42b932f1e10dc125a7c1cea37e1a40a6a1b/package.json#L32 to "meow": "^3.4.2" to ensure the latest meow version is used.

Thanks for the feedback, appreciate it!


MM or EM custom HMI Communication

HMI patterns for components are well documented. No problems there.
But what are the recommendations for Equipment Module or Machine Module HMI communication?
AB#4650

Apologies for delayed response...busy times to be sure.
For descendants of FB_PackML_BaseModule the pattern should be more or less the same as components.  There is a method HMICommunication that is called cyclically, and a group of structs underneath ST_PackMLBaseModule_HMI that allow for basic commands like changing modes, commanding state changes, etc.
For application-specific stuff, override the HMICommunication method (or just copy/paste from the base) and make your own struct/variables/whatever.  Make a call to SUPER^.HMICommunication() to preserve the base functionality.


1.x API permits duplicate servers

I'm submitting a ...

bug report

Traffic Control components affected ...

Traffic Ops

Current behavior:

Issuing the same POST request to https://{{TO_BASE_URL}}/api/1.3/servers twice creates two identical servers
Expected behavior:

Issuing the same POST request to https://{{TO_BASE_URL}}/api/1.3/servers should succeed the first time and throw an error the second.
Minimal reproduction of the problem with instructions:

Make a server POST request twice without changing the body.
Anything else:

I can take this one

I can take this one


Create new pages

Plan
Get an Idea
Support Option
Business Plan
Financial Plan
Physical Location

Apply
Business License
Register Your Business
Sign a Lease
Business License
Plan Check
Permits
Inspections
Receive Business License

Launch
Hire Employees
Obtain Funding
Marketing
Work with the City
Give Back!


How to import useI18n and useLocalePath composables in Nuxt3

Hi. Firstly, i want to thank you for your great work on this package.
I'm using nuxt3 rc4 (with rc3 the errors were the same) and @nuxtjs/i18n-edge 8.0.0-alpha.0-27579558.fdbd51b
Package.json dependencies section is very simple:
"dependencies": {
    "@nuxtjs/i18n": "npm:@nuxtjs/i18n-edge"
  },
  "devDependencies": {
    "nuxt": "3.0.0-rc.4"
  }

nuxt.config.ts was inspired by your example here https://github.com/nuxt-community/i18n-module/blob/next/playground/nuxt3/nuxt.config.ts
import { defineNuxtConfig } from "nuxt";

export default defineNuxtConfig({
  modules: ["@nuxtjs/i18n"],

  vite: { build: { minify: false } },

  i18n: {
    langDir: "locales",
    lazy: true,
    baseUrl: "http://localhost:3000",
    locales: [
      { code: "ru", iso: "ru-RU", file: "ru.json", name: "ru" },
      { code: "en", iso: "en-US", file: "en.json", name: "en" },
    ],
    defaultLocale: "ru",
    detectBrowserLanguage: false,
    vueI18n: {
      legacy: false,
      locale: "ru",
      fallbackLocale: { ru: ["en"], en: ["ru"] },
    },
  },
});

I'm using useI18n and useLocalePath composables in pages and components. I'm importing composables like this:
  import { useI18n } from "@nuxtjs/i18n/node_modules/@intlify/vue-i18n-bridge";
  import { useLocalePath } from "@nuxtjs/i18n/node_modules/vue-i18n-routing";

In your playground example it is not very clear to understand where to import they from.
https://github.com/nuxt-community/i18n-module/blob/next/playground/nuxt3/pages/index.vue - here you import they from "#i18n". I tried to import them from "@nuxtjs/i18n", but:
Module '"@nuxtjs/i18n"' has no exported member 'useI18n'.
What is the correct way to import them?

I wrote a support file, since this plugin is still under development and I couldn't find any documentation as well.
// utils/i18n-support.ts
import { ComputedRef } from 'vue';
import { Composer } from 'vue-i18n';
import { LocaleObject } from 'vue-i18n-routing';

export { useI18n } from 'vue-i18n';

export {
  useLocalePath,
  useSwitchLocalePath,
  useRouteBaseName,
  useLocaleRoute,
  useLocaleLocation,
  useLocaleHead,
} from 'vue-i18n-routing';

declare module 'vue-i18n' {
  export interface Composer {
    // added through @nuxtjs/i18n
    locales: ComputedRef<LocaleObject[]>;
  }
}

It works in development, but in a production build I get those errors, because of useLocalePath:
SyntaxError: 17
    at of (entry-9b8ba92c.mjs:23:69)
    at lt (entry-9b8ba92c.mjs:35:50)
    at Pr (entry-9b8ba92c.mjs:35:9202)
    at ab (entry-9b8ba92c.mjs:39:9077)
    at setup (entry-9b8ba92c.mjs:41:1352)
    at Kt (entry-9b8ba92c.mjs:1:12594)
    at xp (entry-9b8ba92c.mjs:1:58202)
    at Cp (entry-9b8ba92c.mjs:1:57987)
    at ct (entry-9b8ba92c.mjs:1:45013)
    at f (entry-9b8ba92c.mjs:1:39339)
xd @ entry-9b8ba92c.mjs:1
entry-9b8ba92c.mjs:1 TypeError: r.localePath is not a function
    at Proxy.g0 (entry-9b8ba92c.mjs:41:1703)
    at Ko (entry-9b8ba92c.mjs:1:15819)
    at Ee (entry-9b8ba92c.mjs:1:45887)
    at fs.T [as fn] (entry-9b8ba92c.mjs:1:45975)
    at fs.run (entry-9b8ba92c.mjs:1:4469)
    at de (entry-9b8ba92c.mjs:1:46272)
    at ct (entry-9b8ba92c.mjs:1:45110)
    at f (entry-9b8ba92c.mjs:1:39339)
    at d (entry-9b8ba92c.mjs:1:40499)
    at u (entry-9b8ba92c.mjs:1:40197)
xd @ entry-9b8ba92c.mjs:1
entry-9b8ba92c.mjs:1 SyntaxError: 17
    at of (entry-9b8ba92c.mjs:23:69)
    at lt (entry-9b8ba92c.mjs:35:50)
    at Pr (entry-9b8ba92c.mjs:35:9202)
    at setup (entry-9b8ba92c.mjs:41:1892)
    at Kt (entry-9b8ba92c.mjs:1:12594)
    at xp (entry-9b8ba92c.mjs:1:58202)
    at Cp (entry-9b8ba92c.mjs:1:57987)
    at ct (entry-9b8ba92c.mjs:1:45013)
    at ae (entry-9b8ba92c.mjs:1:44903)
    at g (entry-9b8ba92c.mjs:1:41742)
xd @ entry-9b8ba92c.mjs:1
entry-9b8ba92c.mjs:1 TypeError: r.t is not a function
    at Proxy.y0 (entry-9b8ba92c.mjs:41:2041)
    at Ko (entry-9b8ba92c.mjs:1:15819)
    at fs.T [as fn] (entry-9b8ba92c.mjs:1:46004)
    at fs.run (entry-9b8ba92c.mjs:1:4469)
    at de (entry-9b8ba92c.mjs:1:46272)
    at ct (entry-9b8ba92c.mjs:1:45110)
    at ae (entry-9b8ba92c.mjs:1:44903)
    at g (entry-9b8ba92c.mjs:1:41742)
    at z (entry-9b8ba92c.mjs:1:43252)
    at A (entry-9b8ba92c.mjs:1:42532)

So there must be a better solution...

Apparently, the correct way to import those composeables is to use import { useI18n } from "#i18n", as I could find in the examples in https://github.com/nuxt-community/i18n-module/issues/1451. The type recoginition seems to be broken and it shows that it can't find the declarations, but it is still working in dev/prod.

Apparently, the correct way to import those composables is to use import { useI18n } from "#i18n", as I could find in the examples in #1451. The type recognition seems to be broken and it shows that it can't find the declarations, but it is still working in dev/prod.

No changes with "#i18n". Same errors in prod. Maybe you have a working example of the correct using of aplha version.
SyntaxError: 18
    at createCompileError (entry-9ee79e18.mjs:9810:18)
    at createI18nError (entry-9ee79e18.mjs:10778:10)
    at useI18n (entry-9ee79e18.mjs:11924:11)
    at setup (entry-9ee79e18.mjs:15733:27)

entry-9ee79e18.mjs:1105 TypeError: $setup.localePath is not a function
    at Proxy._sfc_render$7 (entry-9ee79e18.mjs:15112:24)

entry-9ee79e18.mjs:1105 TypeError: $setup.t is not a function
    at Proxy._sfc_render (index-31ba006a.mjs:197:60)

It seems to be an ongoing issue at the latest alpha version. Try out this version in your package.json:
"@nuxtjs/i18n": "npm<EMAIL_ADDRESS>
This is working for me and I will keep using it until the issue is solved: https://github.com/nuxt-community/i18n-module/issues/1451.

Thank you so much! You saved my day :)


Quick replacement option for conflicting file names

What's the Problem?
When replacing files that have conflicting file names, Windows Explorer gives an option to do either one of three things:

The destination has x file(s) with the same name(s)
✔ Replace the files in the destination
↶ Skip these files
🗃 Let me decide for each file

Currently, Files defaults to a "Let me decide for each file" prompt, this is cumbersome as what if one wants to replace ALL of the files? They would have to go through every single option just to replace every single file
Solution/Idea
Essentially, emulate something that is similar or exactly the same kind of prompt that is featured in Windows Explorer:

Each options are clear as day:
"✔ Replace the files in the destination" replaces every files in question
"↶ Skip these files" skips files that have the same name(s)
"🗃 Let me decide for each file" will redirect to the prompt that is currently shown in Files

Alternatives
There are no alternatives that can replace the original prompt box from Windows Explorer. However, one can still use the current prompt that is currently on Files

And add in these quick clicks into that prompt:
"✔ Replace the files in the destination" replaces every files in question
"↶ Skip these files" skips files that have the same name(s)
Priorities

Capability
Priority

This proposal will allow end users to quickly replace conflicting file(s) in one click
Must

This proposal will allow end users to skip conflicting file(s) in one click
Must

Files Version
Version: <IP_ADDRESS> OS Version: 10.0.19043.1645
Windows Version
Windows 10 21H1 19043.1645
Comments
No response

Hi, a improved UI for the conflicts dialog is being worked on. IN the meantime you can choose "Replace" for one file, the right click on it and select "Apply to all"

Hi, an improved UI for the conflicts dialog is being worked on. In the meantime you can choose "Replace" for one file, then right-click on it and select "Apply to all".

Thank you! I hope you guys are able to achieve it, take your time!


Dart compiler crash

Distributor ID: Ubuntu
Description:    Ubuntu 14.04.1 LTS
Release:        14.04
Dart VM version: 1.14.0-dev.7.2
web/packages/$sdk/lib/_internal/js_runtime/lib/constant_map.dart:74:13:
Compiler has unexpected field _length for ConstantStringMap.
final int _length;
^^^^^^^
The compiler is broken.
When compiling the above element, the compiler crashed. It is not
possible to tell if this is caused by a problem in your program or
not. Regardless, the compiler should not crash.
The Dart team would greatly appreciate if you would take a moment to
report this problem at http://dartbug.com/new.
Please include the following information:

the name and version of your operating system,

the Dart SDK build number (build number could not be determined), and

the entire message you see here (including the full stack trace
below as well as the source location above).

Build error:
Internal Error: Compiler has unexpected field _len$th for ConstantStringMap.
package:compiler/src/compiler.dart 1846                         _CompilerDiagnosticReporter.internalError
package:compiler/src/js_backend/constant_emitter.dart 225       ConstantEmitter.visitMap.
package:compiler/src/elements/common.dart 362                   ElementX&AstElementMixin&AnalyzableElementX&ClassElementCommon.forEachIns$anceField.fieldFilter
package:compiler/src/elements/common.dart 329                   ElementX&AstElementMixin&AnalyzableElementX&ClassElementCommon.forEachMem$er.
package:compiler/src/util/link_implementation.dart 120          LinkEntry.forEach
package:compiler/src/elements/modelx.dart 2758                  ClassElementX.forEachLocalMember
package:compiler/src/elements/common.dart 329                   ElementX&AstElementMixin&AnalyzableElementX&ClassElementCommon.forEachMemb
er
package:compiler/src/elements/common.dart 366                   ElementX&AstElementMixin&AnalyzableElementX&ClassElementCommon.forEachInst
anceField
package:compiler/src/js_backend/constant_emitter.dart 210       ConstantEmitter.visitMap
package:compiler/src/constants/values.dart 539                  MapConstantValue.accept
package:compiler/src/js_backend/constant_emitter.dart 54        ConstantEmitter._visit
package:compiler/src/js_backend/constant_emitter.dart 50        ConstantEmitter.generate
package:compiler/src/js_emitter/full_emitter/emitter.dart 279   Emitter.constantInitializerExpression
package:compiler/src/js_emitter/full_emitter/emitter.dart 818   Emitter.buildConstantInitializer
package:compiler/src/js_emitter/full_emitter/emitter.dart 808   Emitter.buildCompileTimeConstants
package:compiler/src/js_emitter/full_emitter/emitter.dart 1564  Emitter.buildOutputAstForMain
package:compiler/src/js_emitter/full_emitter/emitter.dart 1802  Emitter.emitProgram
package:compiler/src/js_emitter/code_emitter_task.dart 146      CodeEmitterTask.assembleProgram.
package:compiler/src/common/tasks.dart 55                       CompilerTask.measure
package:compiler/src/js_emitter/code_emitter_task.dart 140      CodeEmitterTask.assembleProgram
package:compiler/src/js_backend/backend.dart 1636               JavaScriptBackend.assembleProgram
package:compiler/src/compiler.dart 1059                         Compiler.compileLoadedLibraries
package:compiler/src/compiler.dart 876                          Compiler.runInternal.
Build completed with 2 errors.

Hi @Clay3981, thanks for reporting the bug. Do you have an example program that we can use to reproduce this crash ourselves?
I'm not sure yet what can be causing this. The error seems to be reported from a place where we do something on each field of the ConstantStringMap and we seem to find a field that is unexpected (constant_emitter.dart L211). We actually expect to see _length, which is why the error is a bit surprising. Curiously, the second error message says _len$th instead of _length.

Sorry I don't have an example program since I am not able to reproduce the issue. I have only encountered it that one time.

I see - thanks again. If you happen to see it again, please let us know/reopen. For now I'm closing the bug since we haven't figured out yet a way to reproduce it.


Getting android id or uuid for iOS devices to uniquely identify users

Library to use: https://pub.dev/packages/device_info_plus
Discussed in https://github.com/flet-dev/flet/discussions/1935

Originally posted by icanhackyou October 10, 2023
Question
in dart we can get then device uuid (ios) or android id which is uinque to each and every device i am in a very big problem i identify the user based on their page.client_user_agent and page.client_ip but if two users are on same wifi network and are using same browser then i can't distinguish between two users and that is not good. But dart provides a way  to handle this issue i have pasted the sample code for it is there any way to implement it in flet @ndonkoHenri @FeodorFitsner please help
Code sample
import 'package:device_info/device_info.dart';

String deviceId;

DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();

if (Platform.isAndroid) {
  AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo;
  deviceId = androidInfo.androidId;
} else if (Platform.isIOS) {
  IosDeviceInfo iosInfo = await deviceInfo.iosInfo;
  deviceId = iosInfo.identifierForVendor;
}

Error message
No response
------------------------------------------------------

[X] I have searched for answers to my question both in the issues and in previous discussions.

I don't know if it'll work but you can implement kvdroid. Kvdroid is a python library written to access the android system using Python. For iOS, I have no idea on how to do that.