Can't sign in as admin & can't edit post

So I have 2 issues:

After I selected to "only" login as with Twitter as the admin, I was forced to log out and then I had to log in with my Twitter account, this effectively makes me a "non-admin" and therefore I cannot log in as an admin again...seems like ever. I need to log in so I can approve some posts!

This is a separate issue from the one above.
2. I haven't been able to edit my posts at all, whenever I try I just get an internal server error and that's it. Please Help!!
But overall I'm definitely loving the app and would recommend to anyone else trying to build something similar.
please email me for a link to my site, my email is<EMAIL_ADDRESS>

Yeah, this is not great right now. You'll have to create a new Twitter-based account, log out, then log back in with your first admin account (you can do so by unhiding the email/password fields using the browser inspector, they're just set to display:none) and then making your new account admin as well.

Having the same problem with editing posts; whenever I try to edit an already-existing post, as an admin, it gives me an internal server error. Were you able to find a solution to this?

@amelialin what's the content of the internal server error (look in your server logs)?

I think this is the relevant bit. Let me know if you need more!
2015-10-29T20:49:02.848369+00:00 app[web.1]: Exception while invoking method 'editPost' MongoError: Cannot update 'categories' and 'categories' at the same time
2015-10-29T20:49:02.848373+00:00 app[web.1]:     at Object.Future.wait (/app/.meteor/heroku_build/app/programs/server/node_modules/fibers/future.js:398:15)
2015-10-29T20:49:02.848374+00:00 app[web.1]:     at [object Object].<anonymous> (packages/meteor/helpers.js:119:1)
2015-10-29T20:49:02.848375+00:00 app[web.1]:     at [object Object].MongoConnection.(anonymous function) [as update] (packages/mongo/mongo_driver.js:736:1)
2015-10-29T20:49:02.848375+00:00 app[web.1]:     at Object.CollectionHooks.defineAdvice.self (packages/matb33_collection-hooks/packages/matb33_collection-hooks.js:457:1)
2015-10-29T20:49:02.848377+00:00 app[web.1]:     at Object.collection.(anonymous function) [as update] (packages/matb33_collection-hooks/packages/matb33_collection-hooks.js:125:1)
2015-10-29T20:49:02.848378+00:00 app[web.1]:     at [object Object].Mongo.Collection.(anonymous function) (packages/mongo/collection.js:586:1)
2015-10-29T20:49:02.848378+00:00 app[web.1]:     at [object Object].Mongo.Collection.(anonymous function) [as update] (packages/aldeed_collection2/packages/aldeed_collection2.js:195:1)
2015-10-29T20:49:02.848379+00:00 app[web.1]:     at [object Object].Posts.edit (lib/methods.js:93:9)
2015-10-29T20:49:02.848380+00:00 app[web.1]:     at [object Object].Meteor.methods.editPost (lib/methods.js:227:18)
2015-10-29T20:49:02.848419+00:00 app[web.1]:     at [object Object].methodMap.(anonymous function) (packages/meteorhacks_kadira/packages/meteorhacks_kadira.js:2554:1)
2015-10-29T20:49:02.848420+00:00 app[web.1]:     - - - - -
2015-10-29T20:49:02.848420+00:00 app[web.1]:     at Object.toError (/app/.meteor/heroku_build/app/programs/server/npm/npm-mongo/node_modules/mongodb/lib/mongodb/utils.js:114:11)
2015-10-29T20:49:02.848421+00:00 app[web.1]:     at /app/.meteor/heroku_build/app/programs/server/npm/npm-mongo/node_modules/mongodb/lib/mongodb/collection/core.js:577:27
2015-10-29T20:49:02.848421+00:00 app[web.1]:     at /app/.meteor/heroku_build/app/programs/server/npm/npm-mongo/node_modules/mongodb/lib/mongodb/db.js:1197:7
2015-10-29T20:49:02.848422+00:00 app[web.1]:     at /app/.meteor/heroku_build/app/programs/server/npm/npm-mongo/node_modules/mongodb/lib/mongodb/db.js:1905:9
2015-10-29T20:49:02.848423+00:00 app[web.1]:     at Server.Base._callHandler (/app/.meteor/heroku_build/app/programs/server/npm/npm-mongo/node_modules/mongodb/lib/mongodb/connection/base.js:453:41)
2015-10-29T20:49:02.848423+00:00 app[web.1]:     at /app/.meteor/heroku_build/app/programs/server/npm/npm-mongo/node_modules/mongodb/lib/mongodb/connection/server.js:488:18
2015-10-29T20:49:02.848424+00:00 app[web.1]:     at [object Object].MongoReply.parseBody (/app/.meteor/heroku_build/app/programs/server/npm/npm-mongo/node_modules/mongodb/lib/mongodb/responses/mongo_reply.js:68:5)
2015-10-29T20:49:02.848425+00:00 app[web.1]:     at [object Object].<anonymous> (/app/.meteor/heroku_build/app/programs/server/npm/npm-mongo/node_modules/mongodb/lib/mongodb/connection/server.js:446:20)
2015-10-29T20:49:02.848426+00:00 app[web.1]:     at [object Object].emit (events.js:95:17)
2015-10-29T20:49:02.848426+00:00 app[web.1]:     at [object Object].<anonymous> (/app/.meteor/heroku_build/app/programs/server/npm/npm-mongo/node_modules/mongodb/lib/mongodb/connection/connection_pool.js:207:13)

So I think this was fixed in recent versions. I think this is something that was happening when you try to edit a post without any categories created in your app. Can you update and let me know if it works?

Ah, thank you! You are correct, I do not currently have any categories
created. I will update--I'd been putting it off for a few days. Appreciate
the help, Sacha! I will let you know if I continue to experience problems.
Amelia
On Thursday, October 29, 2015, Sacha Greif<EMAIL_ADDRESS>wrote:

So I think this was fixed in recent versions. I think this is something
that was happening when you try to edit a post without any categories
created in your app. Can you update and let me know if it works?
—
Reply to this email directly or view it on GitHub
https://github.com/TelescopeJS/Telescope/issues/1166#issuecomment-152368118
.

--
Sent from Gmail Mobile

Hey, @amelialin! Telescope has changed a lot in the past months, and there is a new React-based version, Telescope Nova (intro video). If you know Crater, it runs on the latest version.
The Legacy version is no longer supported. I'm closing this issue.
I invite you to check the new version, it's awesome!
Happy hacking! 🚀
Ps: by the way, don't hesitate to join the Slack to ask any question, you are welcome! 👍


Setup: Look up protected area data

Look up if Laji.fi API has an endpoint or data to layer protected areas on a map view.
Make notes for other:
how protected areas can be shown on the map
which API to use to get the data
things to consider or additional notes

Laji.fi does not have an endpoint or data for protected areas. They come from Syke's WMS-Service. Detailed here: https://laji.fi/en/about/5723

I was able to add a layer to Leaflet from the address: https://paikkatiedot.ymparisto.fi/geoserver/syke_luonnonsuojeluohjelma_alueet/wms to show protected areas.


Emit more Cluster arrays as arrays instead of lists of elements.

(This obsoletes https://github.com/rust-embedded/svd2rust/pull/531)
Some Cluster arrays cannot be emitted as Rust (built-in) arrays due to padding between elements.
Add a helper zero-sized type ArrayProxy that overloads [] to do pointer-arithmetic internally.
I believe, although I'm not 100% confident, that I'm not breaking Rust safety, as follows: There is no way for (safe) code to create an ArrayProxy. Code that produces a (reference to) an ArrayProxy has to use unsafe somewhere.
See https://github.com/rcls/svd2rust-example/commit/b8645fecb05b2a38b59fe29df9fcf643b7d4ac74 for any example of the difference this makes (or does not make):

STM32L051 and LPC408x get no change.
Cypress PSOC gets a significant difference.

This uses const generics, so the new functionality requires the --const_generic command line optoin.

r? @ryankurte
(rust-highfive has picked a reviewer for you, use r? to override)

*

One obvious issue with the current code: It uses const-generics, and does not build with the current minimum supported Rust version (1.40.0). Marking as draft until at least that is fixed.

svd2rust has --const_generic that could be uses in your situation also.

svd2rust has --const_generic option that could be uses in your situation also.

Thanks. The changes updated to rely on that option.

bors r+


Enable/Disable rotation flag

Exist app if don't went rotation enable, it should can be enable/disable rotation control.
Issue Link 🔗
A link to the issue & short explanation
Goals 🥅
What have I tried to achieve / improve + use case example
Implementation Details ✏

Add rotation Enable/Disable property in EKAttributes.
Add rotation control in EKRootViewController.

Testing Details 🔍
How did I test my implementation
Screenshot Links 📷
Since this a visual project, focusing maily on UI and UX, please attach screenshots in case of UI related change

Thanks! Will be reviewed in the next few days.

@maeji - Thanks. I've reviewed your code and I have few observations:
0. Resolve the conflicts.

Please rename enableRotate to isRotationEnabled which is more readable and convensional.
Move isRatationEnabled into PositionConstraints (It is the construct that decided the constraints that applies to the position of the entry).
I trust you tested your implementation using the example project, yes?
Thanks!

@huri000 I changed flag name and move to PositionConstraints. Sure I'm tested that :-) It shipped in my product. :-) Thank you!

Thanks! I'll review it during the weekend!

Great, thanks @maeji!


Error after installing

trying to run a deployment and keep getting this (I've installed the plugin and updated deploy.js):

ember-cli-deploy works by registering plugins in it's pipeline.

In order to execute a deployment you must install at least one ember-cli-deploy compatible plugin.

Visit http://ember-cli-deploy.com/plugins/ for a list of supported plugins.```

Can you post your package.json?

I ran into this as well. Can be reproduced by starting a new Ember project and following the steps in the readme and attempting to run ember deploy. It seems like not all the required dependencies are being pulled in for the pack when following the installation instructions.
I manually ran ember install for each plugin in the pack and got things working properly.


C Courses in Bangla are not good enough

The courses in C programming in Bangla is no sufficient. Only the Anisul Islam's Playlist is the beginner friendly and fully accomplished. I think there should add some more good courses to enhances the learning of C programmin gin Bangla.

There is a course on udemy for free called "C Programming in Bangla - from Zero to Hero" by Ministry of Codes(MoC), Prapty Rahman.
It is a completely free course.
Can I include that in the "free-courses-bn.md" file?

@subhadipbhowmik Hey I have added pdf of book c programming in bangla in the free-programming-books-bn.md


how to use imu in 2d cartographer?

when I use cartographer without imu,everything is OK. But when I add  imu ,it do not work .I can only get imu odom scan,but no map.This is my bag
2018-03-28-10-13-18.bag.tar.gz
xcy@xcy-laptop:~$ cartographer_rosbag_validate -bag_filename /home/xcy/2018-03-28-10-13-18.bag
E0403 10:51:40.965397  4894 rosbag_validate_main.cc:131] Input contains transform message from frame_id "map" to child_frame_id "odom". This is almost always output published by cartographer and should not appear as input. (Unless you have some complex remove_frames configuration, this is will not work. Simplest solution is to record input without cartographer running.)
E0403 10:51:40.966027  4894 rosbag_validate_main.cc:342] frame_id "laser" on topic /scan2 has serialization time<PHONE_NUMBER>.667674920 but sensor time<PHONE_NUMBER>.152137571 differing by -1293.52 s.
E0403 10:51:40.966107  4894 rosbag_validate_main.cc:342] frame_id "laser" on topic /scan2 has serialization time<PHONE_NUMBER>.667752026 but sensor time<PHONE_NUMBER>.219218460 differing by -1293.45 s.
E0403 10:51:40.966152  4894 rosbag_validate_main.cc:342] frame_id "odom" on topic /odom has serialization time<PHONE_NUMBER>.668143839 but sensor time<PHONE_NUMBER>.276377838 differing by -1293.39 s.
W0403 10:51:40.966935  4894 rosbag_validate_main.cc:103] frame_id imu_link time<PHONE_NUMBER>193958167: IMU linear acceleration is 0 m/s^2, expected is [3, 30] m/s^2. (It should include gravity and be given in m/s^2.) linear_acceleration 0 0 0
W0403 10:51:40.967041  4894 rosbag_validate_main.cc:103] frame_id imu_link time<PHONE_NUMBER>253826571: IMU linear acceleration is 0 m/s^2, expected is [3, 30] m/s^2. (It should include gravity and be given in m/s^2.) linear_acceleration 0 0 0
W0403 10:51:40.967131  4894 rosbag_validate_main.cc:103] frame_id imu_link time<PHONE_NUMBER>311168010: IMU linear acceleration is 0 m/s^2, expected is [3, 30] m/s^2. (It should include gravity and be given in m/s^2.) linear_acceleration 0 0 0
W0403 10:51:40.983608  4894 rosbag_validate_main.cc:161] Sensor with frame_id "laser" measurements overlap in time Previous range message, ending at time stamp<PHONE_NUMBER>.019193514, must finish before current range message, which ranges from<PHONE_NUMBER>.986657571 to<PHONE_NUMBER>.019987452
W0403 10:51:41.119607  4894 rosbag_validate_main.cc:198] Sensor with frame_id "laser" range measurements have longest overlap of 0.0325359 s
E0403 10:51:41.119637  4894 rosbag_validate_main.cc:357] Average IMU linear acceleration is 12.4045 m/s^2, expected is [9.5, 10.5] m/s^2. Linear acceleration data should include gravity and be given in m/s^2.
E0403 10:51:41.119690  4894 rosbag_validate_main.cc:381] IMU data (frame_id: "imu_link") has a large gap, largest is 0.0868308 s, recommended is [0.0005, 0.005] s with no jitter.
I0403 10:51:41.119928  4894 rosbag_validate_main.cc:390] Time delta histogram for consecutive messages on topic "/IMU_data" (frame_id: "imu_link"):
Count: 3752  Min: 0.032650  Max: 0.086831  Mean: 0.059999
[0.032650, 0.038068)	                    	Count: 6 (0.159915%)	Total: 6 (0.159915%)
[0.038068, 0.043486)	                    	Count: 11 (0.293177%)	Total: 17 (0.453092%)
[0.043486, 0.048904)	                    	Count: 23 (0.613006%)	Total: 40 (1.066098%)
[0.048904, 0.054322)	                   #	Count: 118 (3.144989%)	Total: 158 (4.211087%)
[0.054322, 0.059740)	                 ###	Count: 638 (17.004265%)	Total: 796 (21.215351%)
[0.059740, 0.065158)	     ###############	Count: 2776 (73.987206%)	Total: 3572 (95.202560%)
[0.065158, 0.070577)	                   #	Count: 130 (3.464819%)	Total: 3702 (98.667374%)
[0.070577, 0.075995)	                    	Count: 33 (0.879531%)	Total: 3735 (99.546906%)
[0.075995, 0.081413)	                    	Count: 13 (0.346482%)	Total: 3748 (99.893387%)
[0.081413, 0.086831]	                    	Count: 4 (0.106610%)	Total: 3752 (100.000000%)
E0403 10:51:41.119973  4894 rosbag_validate_main.cc:374] Point data (frame_id: "laser") has a large gap, largest is 0.133058 s, recommended is [0.0005, 0.05] s with no jitter.
I0403 10:51:41.120187  4894 rosbag_validate_main.cc:390] Time delta histogram for consecutive messages on topic "/scan2" (frame_id: "laser"):
Count: 4608  Min: 0.000794  Max: 0.133058  Mean: 0.066668
[0.000794, 0.014020)	                    	Count: 1 (0.021701%)	Total: 1 (0.021701%)
[0.014020, 0.027247)	                    	Count: 0 (0.000000%)	Total: 1 (0.021701%)
[0.027247, 0.040473)	                    	Count: 0 (0.000000%)	Total: 1 (0.021701%)
[0.040473, 0.053700)	                    	Count: 0 (0.000000%)	Total: 1 (0.021701%)
[0.053700, 0.066926)	  ##################	Count: 4109 (89.171005%)	Total: 4110 (89.192711%)
[0.066926, 0.080152)	                  ##	Count: 497 (10.785590%)	Total: 4607 (99.978302%)
[0.080152, 0.093379)	                    	Count: 0 (0.000000%)	Total: 4607 (99.978302%)
[0.093379, 0.106605)	                    	Count: 0 (0.000000%)	Total: 4607 (99.978302%)
[0.106605, 0.119832)	                    	Count: 0 (0.000000%)	Total: 4607 (99.978302%)
[0.119832, 0.133058]	                    	Count: 1 (0.021701%)	Total: 4608 (100.000000%)
I0403 10:51:41.120407  4894 rosbag_validate_main.cc:390] Time delta histogram for consecutive messages on topic "/odom" (frame_id: "odom"):
Count: 4607  Min: 0.028901  Max: 0.106415  Mean: 0.066667
[0.028901, 0.036652)	                    	Count: 3 (0.065118%)	Total: 3 (0.065118%)
[0.036652, 0.044403)	                    	Count: 5 (0.108530%)	Total: 8 (0.173649%)
[0.044403, 0.052155)	                    	Count: 18 (0.390710%)	Total: 26 (0.564359%)
[0.052155, 0.059906)	                    	Count: 79 (1.714782%)	Total: 105 (2.279140%)
[0.059906, 0.067658)	    ################	Count: 3763 (81.680054%)	Total: 3868 (83.959190%)
[0.067658, 0.075409)	                 ###	Count: 662 (14.369438%)	Total: 4530 (98.328629%)
[0.075409, 0.083161)	                    	Count: 58 (1.258954%)	Total: 4588 (99.587585%)
[0.083161, 0.090912)	                    	Count: 14 (0.303885%)	Total: 4602 (99.891472%)
[0.090912, 0.098663)	                    	Count: 2 (0.043412%)	Total: 4604 (99.934883%)
[0.098663, 0.106415]	                    	Count: 3 (0.065118%)	Total: 4607 (100.000000%)

E0403 10:51:41.119637 4894 rosbag_validate_main.cc:357] Average IMU linear acceleration is 12.4045 m/s^2, expected is [9.5, 10.5] m/s^2. Linear acceleration data should include gravity and be given in m/s^2.

Your input IMU acceleration data seems wrong. Over a longer dataset, it should really average on the gravity acceleration.
Please inspect your IMU data with rqt_bag.

W0403 10:51:40.967131 4894 rosbag_validate_main.cc:103] frame_id imu_link time<PHONE_NUMBER>311168010: IMU linear acceleration is 0 m/s^2, expected is [3, 30] m/s^2. (It should include gravity and be given in m/s^2.) linear_acceleration 0 0 0

There are multiple incorrect IMU messages (the log stops after 3 such messages).

E0403 10:51:40.966027 4894 rosbag_validate_main.cc:342] frame_id "laser" on topic /scan2 has serialization time<PHONE_NUMBER>.667674920 but sensor time<PHONE_NUMBER>.152137571 differing by -1293.52 s.

Expect the (extrapolated) output of cartographer_ros to be wrong. (Mapping itself only looks at the header=sensor time.)

Thanks,I will modify it later. But I still want to know why when I made the map ,it told me no map received. And is it caused by the errors you found?  Here are some files I changed and the results I got.
backpack_2d.lua.tar.gz
backpack_2d.launch.tar.gz
trajectory_builder_2d.lua.tar.gz

frames.pdf

https://github.com/googlecartographer/cartographer_ros/files/1870659/frames.pdf

It looks like your base_link to laser transform is never published. If it is constant, just provide it in urdf and drop the whole robot state publisher.
Generally, for terminal output, please paste the text.
To share your configuration, please prepare a fork so we can see the diff of all config files at once as described in https://raw.githubusercontent.com/googlecartographer/cartographer_ros/master/.github/ISSUE_TEMPLATE
Thanks.

Because of the problem of Internet, I can't open the link.And I give the wrong frame.This is the frame of my bag.
frames.pdf

closing, as inactive for a long time


Added target to the source code link

Added the property target with the value "_blank" making the link open in a new tab instead of the same page.

I have noticed that most of the links of the site opens in a new tab, but the link to the source code didn´t. I though is a great idea to solve that and prevent people from leaving the site unknowingly.

Sorry for having this closed, we had to do a force push due an internal hiccup we had. I've created #192 to track merging this PR.


gccForLibs can be updated for llvmPackages_X.stdenv for i686Linux

Checklist

[X] Checked the nixpkgs master branch

[X] Checked the nixpkgs pull requests

Project name
nix search name: i686Linux.llvmPackages_XX.stdenv
Currently, the stdenv for clang based stdenvs is using an outdated gccForLibs.
I have tested gcc10 and gcc11 with llvmPackages_10 and llvmPackages_11 and I did not encounter any issues when compiling an LLVM source tree.
This is what I have tested:
  stdenv_clang = pkgs.overrideCC pkgs.stdenv
    (pkgs.clang_10.override ({ gccForLibs = pkgs.gcc.cc; }));

current version: gcc 6.5
desired version: gcc10+
Notify maintainers

maintainers:
Note for maintainers
Please tag this issue in your PR.

@Ericson2314, I think this one may interest you as you worked hard on refactoring the bootstrap and cross-compiling architecture. Would it make sense to remove https://github.com/NixOS/nixpkgs/blob/3766a8f7f41158ac37595466b8d58d4f3d7c39dc/pkgs/top-level/all-packages.nix#L13079-L13088 altogether ? or maybe keep only gcc6 for very old clang ?

This PR might be related:
https://github.com/NixOS/nixpkgs/pull/163044

Closed by #163044


LSP formatting

Closes #192

@mhartington Can you consider taking a look at this one? The code seems to look sane, and it also closes the issue of requiring two (possibly conflicting) augroups to format on save (thus simplifying everyone's configs) while also allowing LSP-enabled buffers to call formatter.nvim if the LSP in use does not impl LSP formatting.

@mhartington Any updates on this one?

So in testing this out, I kept getting this error for typescript
Finished running prettier
Failed to run formatter lsp-format. ...ker/start/formatter.nvim/lua/formatter/filetypes/any.lua:21: LSP tsserver returned an error RPC[Error] code_name = InvalidP
arams, message = "Request textDocument/formatting defines parameters by name but received parameters by position"

And for python,
Failed to run formatter lsp-format. ...ker/start/formatter.nvim/lua/formatter/filetypes/any.lua:21: LSP pylsp returned an error RPC[Error] code_name = InvalidParams, message = "TypeError: 'NoneType' object is not subscriptable" data = {  traceback = { "  File \"/usr/local/lib/python3.9/site-packages/pylsp_jsonrpc/endpoint.py\", line 116, in consume\n    self._handle_request(message['id'], message['method'], message.get('params'))\n", '  File "/usr/local/lib/python3.9/site-packages/pylsp_jsonrpc/endpoint.py", line 185, in _handle_request\n    handler_result = handler(params)\n', '  File "/usr/local/lib/python3.9/site-packages/pylsp_jsonrpc/dispatchers.py", line 25, in handler\n    return method(**(params or {}))\n', "  File \"/usr/local/lib/python3.9/site-packages/pylsp/python_lsp.py\", line 345, in m_text_document__formatting\n    return self.format_document(textDocument['uri'])\n" }}

Any ideas?

Does it work for other LSPs? If so, we'd need to special case it somehow. Nvim might offer a higher level API for dealing with the clients, but I'm not sure.

perhaps just use vim.lsp.buf.format() instead of writing your own function?

perhaps just use vim.lsp.buf.format() instead of writing your own function?

Afaik that launches the selection window, which was something I was trying to avoid.

if you just want to use the first one this should be possible with filter
I think you could do something like filter=function()if not first then first=true; return true end
haven't tried it though

https://github.com/neovim/nvim-lspconfig/wiki/Multiple-language-servers-FAQ#i-see-multiple-formatting-options-and-i-want-a-single-server-to-format-how-do-i-do-this

Maybe the real issue is vim.lsp.buf.format() can't call formatter.nvim when an LSP isn't loaded?

https://github.com/neovim/nvim-lspconfig/wiki/Multiple-language-servers-FAQ#i-see-multiple-formatting-options-and-i-want-a-single-server-to-format-how-do-i-do-this @nullishamy

Yeah, this is basically what I implemented, no?

Yeah, this is basically what I implemented, no?

Seems like it. Will take a look once I'm done with work today.

Works been crazy for me the past few weeks (about a month). So some things I've noticed while testing...

lsp format returns nil if no changes: this should return an empty table

Failed to run formatter lsp-format. ...tington/bin/nvim/share/nvim/runtime/lua/vim/lsp/util.lua:393: text_edits: expected table, got nil

The complete func needs to be updated to account for a formatter who's exe is a lua function and provides a name. A very quick fix could be:

@@ -11,7 +11,7 @@ function M.complete(args)
   for _, formatter_function in ipairs(formatters) do
     local formatter = formatter_function()
     if formatter ~= nil then
-      local exe = formatter.exe
+      local exe = formatter.name or formatter.exe
       if string.match(exe, input) then
         table.insert(completion, exe)
       end

Another thing to keep in mine, if mixing both lsp and another formatter, the flow of handing changes between running multiple tools will break.
Buffer changed while formatting, not applying formatting

Since we currently only read the buffer once and then pass the formatted lines between multiple tools, we would need to either rethink how this is done, or figure out how to get the edits from lsp and apply them to a temp file or something.
Honestly, I'm feeling less confident in this PR in genreal and the idea of mixing external tools with built-in neovim functionality.

Converting this to a draft for now until the bugs are resolved first.

Closing as I no longer have time to work on this one. If someone else wants to pick it up, they can!


Investigate rAF scheduling - seems unnecessary

It's only done in controlled mode anyway - uncontrolled doesnt use it and we dont have any issues reported with it.

Thanks for pointing out to me that I can actually use profiler to check out the difference between both implementations! Need to investigate it in free time.

Could u describe how did you test that? I cannot observe this with JavaScript Profiler in Chrome.
I've tested both versions - with and without rAF:

with rAF - https://codesandbox.io/s/x381r2xm24
without rAF - https://codesandbox.io/s/y3qpp536qj

Keep in mind that rAF was used only in componentDidUpdate, componentDidMount was unaffected by it - calculateNodeHeight + setState were called there unconditionally.

@stevenla I'd like to do a release without rAF scheduling soon, could u comment on this? If this could in fact cause a perf regression I wouldnt like to do it obviously, but at the moment I'm not able to reproduce it, so your input is extremely valuable for me

Cool! I'll be waiting for it then before releasing the change as latest.

@stevenla any news?

I've released a version without this scheduling, I couldnt find any reason to keep it - couldnt reproduce any perf issues without this scheduling. Therefore Im closing this issue now, if you bring up some data about it I will be glad to look at it and Im not strictly against having this scheduling in the library (it there is a reason behind it).


'BelongsTo' is generated instead of 'HasOne'

Describe the bug
According to the official doc, a project has one team. After I run amplify codegen models, the connection part shows that project belongs to team instead. The output is similar across all the platforms(including iOS, Android, JS and flutter).
The schema is as following.
type Project @model {
  id: ID!
  name: String
  team: Team @connection
}

type Team @model {
  id: ID!
  name: String!
}

Take swift modelgen as an example. The output schema for project is:
// swiftlint:disable all
import Amplify
import Foundation

extension Project {
  // MARK: - CodingKeys
   public enum CodingKeys: String, ModelKey {
    case id
    case name
    case team
  }

  public static let keys = CodingKeys.self
  //  MARK: - ModelSchema

  public static let schema = defineSchema { model in
    let project = Project.keys

    model.pluralName = "Projects"

    model.fields(
      .id(),
      .field(project.name, is: .optional, ofType: .string),
      .belongsTo(project.team, is: .optional, ofType: Team.self, targetName: "projectTeamId")
    )
    }
}

Amplify CLI Version
v4.40.0
To Reproduce

amplify init a new project and choose any frontend type
amplify add api and choose graphql
replace the amplify/schema.graphql with the above schema
run amplify codegen models

Expected behavior
The HAS_ONE should be generated instead of BELONGS_TO
Screenshots
None
Desktop (please complete the following information):

OS: Mac
Node Version: v12.18.3

Additional context
This is a bug for a long time and datastore implementation is based on it. One concern is that if there will be breaking changes to datastore once this is fixed.

This issue is somehow related to this issue

This issue is somehow related to this issue

This will be fixed in the new relation improvement plan and v2 graqhql transformer.

@AaronZyLee since I don't fully understand all the interdependencies between amplify projects/modules, does this mean that this fix will be part of this? https://github.com/aws-amplify/amplify-cli/issues/6217 ?

@jkervine Yes it will be definitely fixed by the new relation directives (@belongsTo, hasOne and hasMany instead of @connection)


Add ability to crosscheck "friend" packages

I realize this is not directly related to being a "mono repo", but I'm more and more seeing this package becoming something that is just useful for developing packages, not only mono repositories (we need a cooler name, too).
I'd love to spot-check packages that rely on mine before I publish. Maybe as easy as a mechanism for either locally (or on travis) running the tests/presubmit for another package with the versions overridden to the master of my package.

I no longer need this.


Update it to today's version of jekyll-assets

It will also require to remove ERB

This is just a auxiliary repo for the post I wrote pretty long ago when I released jekyll-assets and received docs can be better request. :))
In the middle of 2015 I have stepped out from jekyll-assets development and 2.0.0+ was heavily rewritten by @envygeeks.
So if you want you can provide a PR with example blog to jekyll-assets current upstream. But this particular repo is just blog post files with history ;))


Update vitamins and minerals in Excel

Dr. Cleo needs to add content for Vitamins and Minerals in Excel


Docker IPs are not communicating each other in a kubernetes cluster

I have two nodes cluster  <IP_ADDRESS> ("ai") (kube02) it is ubuntu vm and <IP_ADDRESS> ("i") (ubuntu1) it is a devstack instance. Floating IP for devstack node is <IP_ADDRESS>
kube02:
eth0 - <IP_ADDRESS> flannel0 - <IP_ADDRESS> docker0 - <IP_ADDRESS>
ubuntu1:
eth0 - <IP_ADDRESS> flannel0 - <IP_ADDRESS> docker0 -  <IP_ADDRESS>
config-default.sh:
export<EMAIL_ADDRESS><EMAIL_ADDRESS>In config-default file  I am using floating IP and I changed listen-peer-urls http: IP to <IP_ADDRESS> in   /etc/default/etcd file in ubuntu1 so two nodes are get ready state
ETCD_OPTS="-name infra1   -initial-advertise-peer-urls http://<IP_ADDRESS>:2380   -listen-peer-urls http://<IP_ADDRESS>:2380   -initial-cluster-token etcd-cluster-1   -initial-cluster infra0=http://<IP_ADDRESS>:2380,infra1=http://<IP_ADDRESS>:2380   -initial-cluster-state new"
docker IPs are unable to ping each other from two vms. To get this work, do I need to change any configuration ?

Is this happening across regions or with the same region?If not then can you show me what etcdtcl ls --recursive gives and what is the output at /etc/subnets.env?

Is this you are asking @kgrvamsi
# cat /run/flannel/subnet.env
FLANNEL_SUBNET=<IP_ADDRESS>/24
FLANNEL_MTU=1472
FLANNEL_IPMASQ=false
# etcdtcl ls -- recursive
etcdtcl: command not found

you have a typo, it is etcdctl not etcdtcl

# etcdctl ls --recursive
etcdctl: command not found

oh u need to get the etcdctl binary and check it whether the keys are stored on to the ETCD because every flanneld daemon check for their settings in their respective keys stored on etcd and based upon that the subnet communication from one node to other node happens.
BTW what is the mode of communication which presently your flanneld is using? vlan or gre?

These are my FlannelD options
FLANNEL_ETCD_PREFIX="/coreos.com/network/config"
FLANNEL_NETWORK_CONFIG='{"Network":"<IP_ADDRESS>/16","Backend":{"Type":"vxlan"}}'
FLANNEL_OPTS="--ip-masq --etcd-endpoints=http://<IP_ADDRESS>:4001"
FLANNEL_ETCDCTL_OPTS="-C http://<IP_ADDRESS>:4001"

Is that flannel IPs are pinging for you ?

Yes !!!!

May be this screenshot may help you out!!!!

Here in my case docker IPs should ping

Yes they can Ping.... :100: %

Lets close this  issue and feel free to reopen it anytime if you have doubts

Where is docker bridge in your screenshots . That is eth0 bridge.

if you use flannel then docker bridge interface will replace with the flanneld bridge on the host and docker bridge is the underlaying networking for the containers to take over the ip's released from the base machine bridge interface.

@Naresht-vedams did @kgrvamsi's answer help? I'm going to close this issue assuming so, but please feel free to re-open if not.


HWKBTM-385 : Fix height of chart container element

The chart container element must have a min-height to keep the chart
from decreasing indefinitely. This adds a 320px min-height (or 240px in
case of "mobile" size) to the container.

Thanks Alexandre!


Create Rule

Connected the DID List

@maany need to check with Rucio people how urgently they need the second DID input method (the first method is the DID Search Table with selectable rows, the second method is the one where you enter the full DID names and they get validated individually)

What's the issue with the second method exactly ? We expect too many requests to the Rucio server ?


API for deleting a set of characters within StringBuffer

Hi
Problem
Need for deleting a set of characters within the StringBuffer similar to the delete & deleteCharAt methods in Java's StringBuilder
Solution Request
Currently, StringBuffer allows to clear the entire buffer. Is it possible to provide API for delete methods, like in Java's StringBuilder.

It's a reasonable request.
It might not be as effective as in Java because the Dart StringBuffer doesn't store the contents of a string buffer as a flat array.

It might not be as effective as in Java because the Dart StringBuffer doesn't store the contents of a string buffer as a flat array.

More correctly, it stores the contents of a string buffer as an array of strings but not as an array of each string element (i.e code units of each string buffer element - string).
Dart
List _parts;
Java
char[] value;

Also difference in that the Java StringBuilder implements a CharSequence interface but the Dart StringBuffer does not provide such functionality (sequencing characters).

Just as important as deleting (if not more) is the need to insertAt(), which is also missing in Dart's StringBuffer.  If the API only allows you to append, it's not much more useful than manual String concatenation.

we really need a StringBuilder that would be more powerfull than a StringBuffer and allows for insertion and remove operations for Dart.

+1

I also see the need for an "insert" method similar to StringBuilder https://www.tutorialspoint.com/java/lang/stringbuilder_insert_char.htm

we really need a StringBuilder that would be more powerfull than a StringBuffer and allows for insertion and remove operations for Dart.

Does this exist yet?


Upgrade version of packer and use version with native support of Hyper-V

This will make the system work in Windows 10 (if creating Hyper-V machines).
We should start using the version in this PR and move to the final once it is merged.
In the meantime it will be great if we could make the installer in #1 to download the code and compile it.

This was taken care of a while ago.


Lock consistency violation in controller (v.current_formaction)

As reported in https://github.com/newsboat/newsboat/issues/254#issuecomment-415651046, Infer static analyzer found an issue with accesses to v.current_formaction in controller:

src/controller.cpp:1251: error: LOCK_CONSISTENCY_VIOLATION
Read/Write race. Non-private method newsboat::controller_load_configfile indirectly reads with synchronization from this.v.current_formaction. Potentially races with unsynchronized write in method run.

src/controller.cpp:482: error: LOCK_CONSISTENCY_VIOLATION
Read/Write race. Non-private method newsboat::controller_run indirectly reads with synchronization from this.v.current_formaction. Potentially races with unsynchronized write in method run.

view should probably protect accesses to current_formaction with a mutex or something, but more investigation is needed.

Here's infer explore's trace:
src/controller.cpp:1251: error: LOCK_CONSISTENCY_VIOLATION
  Read/Write race. Non-private method `newsboat::controller_load_configfile` indirectly reads with synchronization from
 `this.v.current_formaction`. Potentially races with unsynchronized write in method `run`.
Showing all 9 steps of the trace

src/controller.cpp:1251:3: <Read trace>
1249.                   update_config();
1250.           } else {
1251.                   v->show_error(strprintf::fmt(
          ^
1252.                           _("Error: couldn't open configuration file `%s'!"),
1253.                           filename));

src/controller.cpp:1251:3: call to newsboat::view_show_error
1249.                   update_config();
1250.           } else {
1251.                   v->show_error(strprintf::fmt(
          ^
1252.                           _("Error: couldn't open configuration file `%s'!"),
1253.                           filename));

src/view.cpp:164:2: call to newsboat::view_set_status
  162.   void view::show_error(const std::string& msg)
  163.   {
  164.          set_status(msg);
          ^
  165.   }
  166.

src/view.cpp:159:2: call to newsboat::view_set_status_unlocked
    157.   {
    158.        std::lock_guard<std::mutex> lock(mtx);
    159.        set_status_unlocked(msg);
            ^
    160.   }
    161.

src/view.cpp:141:12: call to newsboat::view_get_current_formaction
      139.   void view::set_status_unlocked(const std::string& msg)
      140.   {
      141.      auto fa = get_current_formaction();
                        ^
      142.      if (fa) {
      143.              std::shared_ptr<stfl::form> form = fa->get_form();

src/view.cpp:132:3: access to `this.current_formaction`
        130.   {
        131.    if (formaction_stack.size() > 0 &&
        132.            current_formaction < formaction_stack_size()) {
                 ^
        133.            return formaction_stack[current_formaction];
        134.    } else {

src/controller.cpp:482:12: <Write trace>
480.
481.    // run the view
482.    int ret = v->run();
                  ^
483.
484.    unsigned int history_limit =

src/controller.cpp:482:12: call to newsboat::view_run
480.
481.    // run the view
482.    int ret = v->run();
                  ^
483.
484.    unsigned int history_limit =

src/view.cpp:180:2: access to `this.current_formaction`
  178.          apply_colors(feedlist);
  179.          formaction_stack.push_back(feedlist);
  180.          current_formaction = formaction_stack_size() - 1;
          ^
  181.
  182.          get_current_formaction()->init();

It looks like a mutex would indeed be needed.


Do not import buffer module in browsers

You might also want "crypto": false, to avoid pulling that one in from here.


Make "css" uppercase

Pre-Submission Checklist

[x] Your pull request targets the staging branch of FreeCodeCamp.
[x] Branch starts with either fix/, feature/, or translate/ (e.g. fix/signin-issue)
[x] You have only one commit (if not, squash them into one commit).
[x] All new and existing tests pass the command npm test. Use git commit --amend to amend any fixes.

Type of Change

[x] Small bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds new functionality)
[ ] Breaking change (fix or feature that would change existing functionality)
[ ] Add new translation (feature adding new translations)

Checklist:

[ ] Tested changes locally.
[ ] Closes currently open issue (replace XXXX with an issue no): Closes #XXXX

Description

Correct the capitalisation of a few uses of CSS.

Tested and LGTM! Thanks for the fix!


DBZ-2036 Change logging from warn to debug

https://issues.redhat.com/browse/DBZ-2036

Thx! CI Builds seem much more stable now btw. 👍


Dead link: "Security and privacy features in Internet Explorer"

The link redirect below is dead:
http://go.microsoft.com/fwlink/?LinkId=179286

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 543a1ea0-981d-718f-3d60-c5105728a517
Version Independent ID: 86d13afc-7719-c2c0-e0bf-9bb8eecbd1a3
Content: WPF XAML Browser Applications Overview
Content Source: docs/framework/wpf/app-development/wpf-xaml-browser-applications-overview.md
Product: dotnet-framework
GitHub Login: @dotnet-bot
Microsoft Alias: dotnetcontent

Thanks for reporting the broken link, @user135711. We'll fix it shortly.


New unit tests

Motivation
Allow unit tests to test more than only serialization.
Unit tests should be able to test:

a payload of the request
URL of the request
headers of the requests
HTTP method (PUT, PATCH, GET...)
Response

[x] Asset
[x] AssetRendition
[x] AssetFolder
[x] Collection
[x] ContentItem
[x] ContentType
[x] ContentTypeSnippet
[x] Environment
[x] Language
[x] LanguageVariant
[x] ProjectInformation
[x] ProjectRole
[x] ProjectUser
[x] ProjectValidation
[x] Subscription
[x] TaxonomyGroup
[x] Webhook
[x] Workflow
[x] Preview configuration
[x] Spaces
[x] Split workflow into workflow and publishing
[x] Remove tests for URL builder as they are not needed anymore

Optional:

[ ]  ManagementClientExtensions

Breaking changes:
ModifyUsersRolesAsync now throws if the second parameter is null
CreateWorkflowAsync now throws if create model is null
UpdateWorkflowAsync now throws if identifier or upsert model is null
SchedulePublishingOfLanguageVariantAsync now throws if schedule model is null
ScheduleUnpublishingOfLanguageVariantAsync now throws if schedule model is null
Change of namespaces of asset folder models
CreateSpaceAsync now throws if create model is null

Codecov Report

Merging #175 (a875482) into master (76b66e4) will increase coverage by 2.04%.
The diff coverage is 100.00%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##           master     #175      +/-   ##
==========================================
+ Coverage   81.06%   83.10%   +2.04%
==========================================
  Files         231      242      +11
  Lines        2640     2776     +136
  Branches      297      310      +13
==========================================
+ Hits         2140     2307     +167
+ Misses        386      364      -22
+ Partials      114      105       -9

Impacted Files
Coverage Δ

...dels/Assets/Patch/AssetFolderOperationBaseModel.cs
100.00% <ø> (ø)

...omyGroups/Patch/TaxonomyGroupOperationBaseModel.cs
100.00% <ø> (ø)

...pets/Patch/ContentTypeSnippetOperationBaseModel.cs
100.00% <ø> (ø)

...odels/Types/Patch/ContentTypeOperationBaseModel.cs
100.00% <ø> (ø)

...tent.Ai.Management/ManagementClient.ProjectUser.cs
100.00% <100.00%> (ø)

...Modules/UrlBuilder/Templates/CollectionTemplate.cs
50.00% <0.00%> (-50.00%)
:arrow_down:

...Modules/Extensions/HttpRequestHeadersExtensions.cs
67.50% <0.00%> (-1.74%)
:arrow_down:

...agement/Modules/HttpClient/ManagementHttpClient.cs
77.55% <0.00%> (-0.45%)
:arrow_down:

...i.Management/Models/Workflow/WorkflowScopeModel.cs
100.00% <0.00%> (ø)

...gement/Models/Workflow/WorkflowScopeUpsertModel.cs
100.00% <0.00%> (ø)

... and 26 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

I haven't found any issues.
I would release a minor version despite the breaking changes and list the breaking changes there.
Do we want to add XML comments describing the exception, or we leave it like that because exception are pretty standard and clear?
I mean those:  <exception cref="ArgumentNullException">Why it's thrown.</exception>

I think it is not necessary to document exceptions as it's industry standard


Noble/Bleno Mesh Creation and A2DP Programming on Mac OSX

I was wondering if Bleno and Noble can create mesh networks alone with the one to many topologies and if they do how could I accomplish this? Any snippets or examples would be appreciated. The other question that I had was how I could program a central node and a peripheral that adhere to the A2DP Profile Specification or if it is even possible with these libraries. Any and all help would be appreciated thank you!

hi @UsersDoProgram,
I have not looked at the mesh spec, so can't comment.
I suggest you post on stackoverflow or the gitter.im channels.

Thank you for your timely response and will do!


Auto summary helper

summary: get the list you can add to
description: |
  get the list of lists
responses:
  200:
    description: An array of prospects
    schema:
      $ref: ../../../../definitions/list/models.yml

nice.. the tag is a helper and added to the inject helper.. as is the opid etc etc.
But summary is not and it is a pain to manually write this out when the rolder structure should basically be doing this for us.
eg
src/paths/user/{email}/lists/get.yml
Could equate to
Get lists for {email} for users

src/paths/user/{email}/lists/get.yml

get
lists
{email}
user

GET We know the http verb is a kind of action, get, create, update and "update a little bit of"
LISTS is the thing we get
{email} When {} we know we have a variable, so in English "for $var" usually will make sense
user is the harder bit.. specially if there are more
For example this is a harder one
src/paths/user/{email}/action/lists/get.yml
or
src/paths/item/{id}/comment/{id}/like/post.yml
Will be interesting to build a series of potentials on here and see :)

Simplified with idea from @p-mcgowan just grab the last url segment and expose to the tpl engine
{{ segments.first }}
{{ segments.secondLast }}
{{ segments.last }}
{{ segments[n] }}
{{ verb }}

then you could just stick that in the injector or wherever else

https://github.com/j-d-carmichael/boats/blob/main/src/nunjucksHelpers/autoSummary.ts
Human sentence version released


Add script for bot scores

Add script that uses botometer client library and API to generate the bot score file in data folder. Update data/readme.md accordingly.

done


Silence some unexceptional exceptions in helix-service

Recent investigations after problems deploying !34882 made it clear that (1) there are a lot of exceptions being logged and (2) many are not exceptional. I've identified a few easy fixes that will make future strolls through App Insights easier.
Release Note Category

[ ] Feature changes/additions
[ ] Bug fixes
[x] Internal Infrastructure Improvements

Release Note Description
you get a try/catch, you get a try/catch, everybody gets a try/catch

PR: !35019


Don't deploy if webpack build fails

Webpack returns exit code zero even if the build fails (??!) unless you pass the --bail flag.
The bail flag ensure that commands like deploy stop on a failing build.

Ohh damn, thanks!

Yeah, bit unexpected.


RD2: Send Campaign Update to Elevate RD

Critical Changes
Changes
Issues Closed
Community Ideas Delivered
Features Intended for Future Release
Features for Elevate Customers
New Metadata
Deleted Metadata

Work Item: https://gus.lightning.force.com/lightning/r/ADM_Sprint__c/a0lB00000027RpCIAU/view


Upgrade of secrets to centralise them using the Organization secrets

Description
We have now few the secrets duplicated in each repository and we use a private maven repository that It has been upgraded, it means that all API keys that we use as secret to push the artifacts has been wiped.
Tasks

[x] Move secrets to Organization secrets and share them via repository access
[x] Upgrade secrets API key to push artifacts generated to private repository

Updated all secrets to use the centralised Organization secrets


How to register an OAuth 2.0 app in Azure DevOps on-premise?

The Authorize access to REST APIs with OAuth 2.0 document listed under Azure DevOps Server 2019 describes the steps to be taken to register an OAuth 2.0 app.
The first step is to register an app here: https://app.vsaex.visualstudio.com/app/register
My question is, how do I register an OAuth 2.0 app for Azure DevOps Server? For an on-premise installation. And what are the oauth urls used for an on-premise installation?
Also, is the Git REST API (https://docs.microsoft.com/en-us/rest/api/azure/devops/git/?view=azure-devops-rest-5.1) available in the on-premise version of Azure DevOps?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: ac47cbcf-45ed-81aa-b532-e7ad0046658e
Version Independent ID: 7aa1f60e-069f-3d62-5cac-b65e4b1116ef
Content: Authorization using OAuth 2.0
Content Source: docs/integrate/get-started/authentication/oauth.md
Product: devops
Technology: devops-ecosystem
GitHub Login: @chcomley
Microsoft Alias: chcomley

Hi @ggbt, I've reached out to our PM and will be in touch as soon as possible. Thanks for reaching out!

We would very much like to know this as well. Due to various reasons it's impossible for us to migrate to the Microsoft hosted version of Azure DevOps / TFS / VSTS / VSO.

I hear you, @govert-co-co...stand by and I hope you're having a great day. I've re-reached out. :)

I have info for you! Please see the Q&A  where it states that this is not supported for on-premises.
As for your second question, please filter the docs for the Server version you are using. That way you'll know if an API is supported for on-premises or not.
Here's where you can select the version from the dropdown menu:

Thanks! Let me know if you have any further questions.

Hi @chcomley, thanks for the information, effort and quick response, much appreciated. However, I did use that version filter dropdown. I selected TFS 2018, as you can see in this link: https://docs.microsoft.com/en-us/azure/devops/integrate/get-started/authentication/oauth?view=tfs-2018

Would you like me to open a separate issue to fix the documentation?

Hi @gover-co-co, I'm adding  @mattcooper to assist you. Thanks very much.

Hi @gover-co-co, If the article doesn't apply to the version you've selected, a banner appears, telling you that the requested page isn't available for that version. The purple banner wasn't present in your screenshot, I've realized.

You're redirected to the newest product version that the page is for, and that can be confusing. So, I've published an addition to the article, a NOTE that appears for all versions of the documentation. This should go live sometime this afternoon, however here's the note:
"NOTE: The following guidance is intended for Azure DevOps Services users, since OAuth 2.0 is not supported on Team Foundation Server or Azure DevOps Server. Client Libraries are a series of packages built specifically for extending TFS functionality. For on-premises users, we recommend using Client Libraries, Windows Auth, or Personal Access Tokens (PATs) to authenticate on behalf of a user.
Sorry for any confusion and thanks so much for your feedback!


Where is failed image located?

When a test failed, does this lib save failed image somewhere? I want to know which part of the image is not matched my reference.

No, there's no feature of saving failed views.
Currently you can just copy your reference image, record failed one and compare both manually.

If you look in the log output you will see a line like
ksdiff<EMAIL_ADDRESS><EMAIL_ADDRESS>
If you have Kaleidoscope installed you can paste that into Terminal to open the images side-by-side. If not open that folder and you'll find the original image, the failed image, and a diff of the two.

There is IMAGE_DIFF_DIR, see #177.
I created a PR to add it to the README.

@pres Nice! I'm using Snapshots for a long time and I didn't know about this feature.

@sarunw @nscoding Can you close this issue?


Blinker light task

Implemented BlinkLights task which is spawned by the ReadSwitches

I think the newer BlinkLights PR #168 may be more suitable as it's just a bit more current. That one is in line with some planned updates to the car state struct that I don't think this one has. @Cam0Cow do you have any additional insight? I'm going to close this for now, and we can open it back up if we need to.


Improvement suggestions in the source code

After looking at some aspects of the source code, I think we should starting thinking/considering about the below improvements in the source code in order to improve our further maintenance and development.

Refactor some of the common aspects of the code to a separate package in the same repo and reuse from them. Breaking it down improves the readability, understanding and maintenance of the code. Example instance of common code/logic across wrappers.
Update README.md with proper documentation on implementation and testing details (Atleast for the most commonly used usecases)
Use YAML configuration files to pass input params. As we have fairly large amount of arguments at this moment, I think we can use YAML configuration files and provide templates for them as it will help others as well to better adopt the usage.
Use **kwargs/dict to pass a large list of arguments across the methods. Example instance of huge argument list.
Add doc string to each function/method/class to improve readability as there seems to be lot many steps involved in the execution process.

I am open to other thoughts as well. Thank you

This wrapper born for an specific task, create a number of HC, and delete them. Then it grew up parallel with hypershift and it was adapted to the requirements of the project, becoming on a big piece of unmaintainable code.
Im already working on a refactor, based on modules and classes, so we can reuse as much code as we can, but growing in the good way.
I really appreciate all your thoughts here, all of them will be considered in this new project, and I will share it when it will be ready as a MVP so we can all discuss about it


S.removefromright broken

S.removefromright doesn’t work. If you pass it the default 1 as the parameter it seems to return the letter one to the left of the rightmost one, and if you pass it 0 it returns the whole string. And in both cases it doesn’t remove anything from the string.

Can't replicate:
                var testword:String = "cheese";
		Text.display(0, 0, testword);
		Text.display(0, 20, "__" + S.removefromleft(testword, 2));
		Text.display(0, 40, S.removefromright(testword, 2) +  "__");
		Text.display(0, 60, S.removefromright(testword, 1) + "_");
		Text.display(0, 80, S.removefromright(testword, 0));

I think this report may have been due to confusion about S.right() versus S.removefromright(). I'll improve the documentation!


Enable to schedule circuits with any directives

Summary
Enable to schedule circuits containing other directives as well as barriers.
Details and comments
Previously, the following code fails
from qiskit import QuantumCircuit, transpile
from qiskit.test.mock import FakeLagos
from qiskit.providers.aer import AerSimulator

circ = QuantumCircuit(2)
circ.x(0)
circ.cx(0, 1)
circ.save_density_matrix([0, 1])

noisy_sim = AerSimulator.from_backend(FakeLagos())
qc = transpile(circ, backend=noisy_sim, scheduling_method="alap")

raising
qiskit.transpiler.exceptions.TranspilerError: 'Duration of save_density_matrix on qubits [0, 1] is not found.'

This commit updates InstructionDuration.get function to return 0 for all directives (previously, it returns 0 only for Barrier instruction`) so that transpiler can schedule circuits with any directive.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

3 of 3 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 83.117%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
51944

Relevant Lines:
62495

💛  - Coveralls

Closes as no one else seems to want this feature.


appveyor: skip branch with PR

This is a one-line non user facing change to have appveyor not build for both branch and PR.

Closing this one as I want to test something.


AQLM does not work with OPT type models

Hello!
AQLM does not work with OPT type models. The error occurs because of line 114 in AQLM/main.py: namely because of the presence of position_ids. The error can be quickly detected by setting val_size > 0. I made a simple demo example in collab. You can run it.
Below is a detailed description of the problem.
OPT type models have an OPTDecoderLayer whose forward method does not expect the position_ids parameter. Line 220 of the AQLM/main.py file will pass the OPTDecoderLayer to the update_outs function. The update_outs function calls (line 542 of the AQLM/main.py file) the OPTDecoderLayer with the passed data and key arguments from forward_args. The error TypeError: OPTDecoderLayer.forward() got an unexpected keyword argument position_ids will occur here, because the forward_args dictionary contains the position_ids keys, which is defined in line 114 of the AQLM/main.py file.

Hi, @ArtemBiliksin!
Thanks for noticing this. We currently do not support OPT-type models due to low demand. I believe only a few lines of code would need to be changed to make it work with OPT models. If you have the time, you can create a PR with support for OPT models, and either I or my colleagues will review it. We're happy to accept any PR that improves the code.
Just a heads-up: the PR should not break compatibility with other models. Additionally, you'll need to provide an example of a successfully quantized OPT model to ensure everything works as expected.


Does it work with expo without ejecting

Is this package expo enabled?, reading the documentation i have been trying to pinpoint an aspect where expo is being used but to no avail

@Davidon4 Did you ever manage to get it working with Expo? Not sure if I need to add something in my babel.config file


Paper Mario crashes on the Mupen64Plus Next core

Not sure if this can be solved/answered here, but: Paper Mario crashes (the emulator, not the game itself) due to a "null function or function signature mismatch" . Based on a bit of testing, the time at which it does this seems to vary based on settings, but is consistently no later than the beginning of the very first intro cutscene. Is there any change that can be made to settings or the core to fix this? Failing that, is there some way to compile another core (i.e. parallel-n64) and drop it in here to see if it works, or is there support that needs to be manually added to each core? (I really don't know much about libretro or emscripten for that matter)

N64 is currently not fully supported. I am working on trying to fix this problem.
An in-depth explanation:
3D rendering in the browser uses WebGL, which is most similar to OpenGL ES (GLES, usually GLES 2). Emscripten should automatically map GLES functions to their respective WebGL functions, emulating any discrepancies. However, the rendering engine that mupen64plus uses (GLideN64), renders using regular OpenGL, which is too different from WebGL. There should be a way to get mupen64plus to use GLES2, or I might try ParaLLEl.
I will post any updates here.

Would getting ParaLLEl to work require specific modifications in order to add in support for Emscripten (as opposed to just being "fiddle with Makefiles until it works)? If not, I might try to compile it and see what happens.

Uhh, probably not.  I had to do some extremely hacky tweaks to the makefile because it was generating an ar archive, and removed some object files from the final command because it was complaining about duplicate symbols when I tried to link it with RetroArch. I also had to remove some _cmd entries from RetroArch's Makefile.emscripten because of them being undefined. Once I got it to compile, it would just do nothing when I tried to use it in webretro - some debugging showed that it was just calling exit() or something? How were the other cores here compiled?

Make sure static linking is on - this will generate a .bc file that then gets compiled again in the main retroarch directory. Be sure to copy in the modified files from the /source/overrides/ directory in this repository.

Ha ha ha! You're so funny! Laugh!!!

@joshop the crash is unrelated to the graphical bugs, it is caused by a stack overflow. I have not yet determined the root cause of the stack overflow, but in the 6.5 release the stack size has been increased from 5 MiB (emscripten default) to 256 MiB to mitigate this. The issue can still sometimes happen on some games if left running for long enough. The ParaLLEl N64 core has been built and included with the 6.5 release as well, and it does not have the stack overflow problem. It is still recommended to use the Mupen64Plus-Next core however, because it has a better renderer than ParaLLEl.


Cleanup venvs if new qpy payloads are created in backwards compat tests

Summary
This commit adds a cleanup step to the qpy backwards compatibility tests. If we need to regenerate the QPY payloads because of a change to the underlying python tests we end up building a venv for each historical release with qpy support and just leaving them on disk. This is an issue for disk space in CI as we have increasing number of historical releases with qpy support that will not get any smaller (at least potentially until Python 3.9 goes EoL when the oldest release, 0.18.0, no longer has a version of Python with upstream support) and we only have 10GB of local disk storage available in CI. To combat this disk space limitation this commit updates the tests to delete the venv after we've successfully finished executing the compatibility tests. They're left around if we fail because for local development having the environment available on failure is useful for debugging and for CI in the case of failure we don't need to worry about disk space anymore because the VM will be destroyed shortly after the failure.
Details and comments

Yeah I need to move it after the popd, I missed that thanks


fix(dingus): setup added for windows for running dingus locally - #375

Closes #375

Added a file similar to build_dingus.js for setting up a demo of dingus on windows. On running the script dingus:win, the separate file for setting up a demo on windows will be executed.
Changes

Added separate script for running dingus on windows in package.json
A separate file including shell commands for setup on Windows.

Flags

Screenshots or Video

Related Issues

Issue #375
Pull Request #

Author Checklist

[x] Ensure you provide a DCO sign-off for your commits using the --signoff option of git commit.
[] Vital features and changes captured in unit and/or integration tests
[x] Commits messages follow AP format
[ ] Extend the documentation, if necessary
[x] Merging to master from fork:branchname

Coverage remained the same at 89.087% when pulling a87d1307a1a8afee38f1dfa5a263289a589c7a27 on nishihere19:develop into d776a0a22ef70341325a0db781c0458c11ec7723 on accordproject:master.

Will surely implement the changes as you suggested. Thank you.

@nishihere19 I may have spoke a bit too fast. I'm looking at the netlify build and seeing some errors.

I was able to reproduce that locally too. I'm wondering if the fixed script might work on Windows (keeping most of your changes but resolving to node_modules/.bin executables:
#!/usr/bin/env node

'use strict';

/* eslint-env es6 */

const shell = require('shelljs');

shell.rm('-rf', 'demo');
shell.mkdir('demo');

var path = require('path');
var demo = path.resolve('./demo');

var demodata = path.resolve('./scripts/demodata.js');

shell.exec(`node ${demodata} > ./lib/sample.json`);
var pug = path.resolve('./node_modules/.bin/pug');
var index = path.resolve('./lib/index.pug');
shell.exec(`node ${pug} lib/index.pug --obj lib/sample.json --out ${demo}`);

var stylus = path.resolve('./node_modules/.bin/stylus');
var index_styl = path.resolve('./lib/index.styl');

shell.exec(`node ${stylus} -u autoprefixer-stylus \
< ${index_styl} \
> ./demo/index.css`);

var templateMarkCSS_lib = path.resolve('./lib/templatemark.css');
var templateMarkCSS_demo = path.resolve('./demo/templatemark.css');
shell.cp(templateMarkCSS_lib, templateMarkCSS_demo);

shell.rm('-rf', "lib/sample.json");
index=path.resolve('./node_modules/.bin/browserify');

shell.exec(`${index}  lib/index.js \
> demo/index.js --standalone demo/index.html`);

On using node_modules/.bin executables we shall encounter the following errors.

in Windows.
Also, while writing the script, the aim was to resolve path issues in Windows. After resolving the above errors, I think we might get path errors again as the path given in .bin scripts resolves to markdown-transform/node_modules rather than markdown-transform/packages/dingus/node_modules.
Are we encountering errors in netlify build after running npm install inside packages/dingus directory as well?

Any updates on this? Any suggestions on how the script can be improved so that it works on Windows without hindering the existing setup for Linux would be great.

Any updates on this? Any suggestions on how the script can be improved so that it works on Windows without hindering the existing setup for Linux would be great.

hi @nishihere19 Thanks for pinging, sorry I've been pretty busy lately. I think at this point my recommendation would be to go back to your original PR! Unless we find a better way to investigate why the root ./node_modules doesn't get properly create when installing on Windows.
For the Dingus it's probably okay to have a separate windows build for now.
If you revert to your initial scripts, leaving the current ones in place I think this will unblock this PR.

Upon deleting the node modules and rebuilding the project, I was able to reproduce the error you showed in the screenshots. The possible solution I found was to replace the postinstall script in the package.json for markdown transform from
npm run models:get && lerna bootstrap to npm run models:get && lerna bootstrap && cd packages/dingus && npm install  If this change is fine, npm run dingus will work on windows and Linux without producing any errors with the replaced script and we need not have a separate command for windows.
Since the node modules were not installed for dingus, stylus and pug-cli were missing, therefore the script was producing an error.

Upon deleting the node modules and rebuilding the project, I was able to reproduce the error you showed in the screenshots. The possible solution I found was to replace the postinstall script in the package.json for markdown transform from
npm run models:get && lerna bootstrap to npm run models:get && lerna bootstrap && cd packages/dingus && npm install If this change is fine, npm run dingus will work on windows and Linux without producing any errors with the replaced script and we need not have a separate command for windows.
Since the node modules were not installed for dingus, stylus and pug-cli were missing, therefore the script was producing an error.

hm... maybe I would want to try this in netlify but if it works, I don't see why not!

The checks are failing continuously due to the error - cb() never called! I have cleaned the cache and updated npm as well. The command npm ci works fine in my local machine(Windows 10 and ubuntu 20.04) but fails in the checks. I will read more on this.


Apply the #1514 fix even on non-Windows platforms, and change all remaining cudaStreamSynchronize calls

As it seems that #1513 may occur also outside Windows (e.g., RHEL 7), make the #1514 fix apply on other platforms as well.

@reunanen : These are the changes that I have been running with on the RHEL 7 side and I still get the occasional freeze.  I'm only seeing it happen in about 1 in 20 training runs.  I think that the multilple GPU's (>2) may also exagerate the problem.  I can recompile for 2 GPUs vs. 4 and see if I can get the freeze to happen.

@davemers0160 Oh, ok, thanks for the update.
Are you sure it freezes inside synchronize_stream? (If not, have you tried to replace the remaining cudaStreamSynchronize(0) calls -- along these lines?)

@reunanen : I'm not 100% sure.  I'll try to add some simple cout statements to each of the case statements to see where things freeze.

Cool, thanks for another PR.  I'll wait a bit for everyone to report back about this fixing or not fixing it before merging.  I'm also tempted to say we should put an #ifdef around it that makes it active only for specific CUDA versions, like maybe just for 10?  Since surely NVIDIA will fix the issue and polling is somewhat of an expensive thing to do.  So it would be nice to eventually use the blocking API.

@davemers0160 Ok, great. I just hope the cout statements won't essentially change the relative timings too much (Heisenbug).
@davisking Completely agree. As per this information, made it active on CUDA 9.2 and 10.0. Although apparently 9.0 may be affected as well.

@reunanen : I think you're right about Heisenburg.  I think the cout's are slowing thing down just enough.  I even added a counter to spit something out every 65535 ticks.   I can't get anything to freeze.  I can definitely say that the while loop in the 'synchronize_stream' function sits in the 'cudaErrorNotReady' case for a while before the 'cudaSuccess' is hit.  It appears that the training sits in the not ready case for a shorter amount of time at the beginning and then increases as training goes on.
@davisking : I've seen the freeze happen on the RHEL7 system with cuda 9.0.  I would recommend going back at least that far.

@davemers0160 Ok, dammit. I know this is more work, but could you think of adding an atomic variable which is for example incremented once every time cudaStreamQuery is called (this incrementing update should be a very lightweight operation compared to cout output), and then a new thread which only outputs the value of this variable every, let's say, 10 minutes? Alternatively, the variable could contain the latest timepoint when cudaStreamQuery was called, or something like that. See what I mean?

@davemers0160 What hardware were you using when you experienced the problem in RHEL with cuda 9.0?  I've never seen this issue myself.  I've only got a 1080ti and a titan x though.

@reunanen : I think that I've got something working.  Fingers crossed and hopefully I'm not slowing 'synchronize_stream' too bad.
@davisking  :  Four Tesla P100-SXM2-16GB, but I have seen it happen on dual 1080Ti system as well.

OK.  I got it.  I was able to get several training runs to stall at various times during the training.  Here's the modified code (nr and nr2 are passed to another thread and sent to std out every 300 seconds):
void synchronize_stream(cudaStream_t stream)
{
  while (true)
  {
    tp = (std::chrono::steady_clock::now()).time_since_epoch();
    nr2 = tp.count();
    cudaError_t err = cudaStreamQuery(stream);
    switch (err)
    {
      case cudaSuccess:    return;
      case cudaErrorNotReady:
        ++nr;
        break;
      default: CHECK_CUDA(err);
    }
  }
}

In each case where the freeze occurred both nr and nr2 stop updating.  To me that would mean that I'm stuck at the cudaStreamQuery(stream) line.  Since NULL is being passed to the function does anyone know how it handles multiple GPUs (I'm assuming that a new stream is created for each GPU).

Hmm, that is disappointing.  Multiple GPUs should not matter, the cuda API should only be interacting with the currently selected GPU, the one indicated by cudaGetDevice.

I'm not sure where we go from here.  I'm not as well versed on the cuda side of things, but this could be just extreme corner cases since just @reunanen and I have seen it to date.

It is sort of surprising.  This seems like a serious bug in cuda.  Have either of you reported it to nvidia?
Also, dlib/CMakeLists.txt sets -arch=sm_30.  Maybe setting it to a newer arch would make the problem go away?  sm_30 is somewhat dated, maybe newer cuda runtimes are less tested with that setting.  It might be time to update that to a higher requirement, although that should probably be conditional on the version of cuda found.

@davisking : I tried changing the arch setting to -arch=sm_60 and still get the freeze.  Right now I'm trying the same architecture using only 1 and 2 GPUs to see if it is related to the number of GPUs used during training.

Dang :(

@davisking : Well, everything finished up and it looks like this only occurs when using multiple GPUs.  So far the freeze has occurred when I use 2 and 4 GPUs but not with one GPU.

Huh.  I think @reunanen encountered the issue when using just one GPU though right?

@davisking Correct. But I haven't been able to reproduce it after #1514. Before that, it occurred on RTX 2080 Ti, but for me never on GTX 1080 Ti (tested on dual rigs too).

So what's the state of this whole cuda stream deadlocking issue?  It seems like this PR should be merged as it mitigates some of the issue, while not totally avoiding all deadlocks?

I think that it is worth merging.  So far it has fixed everything except my small test case.

So this #1596 does appear to help in some specific case(s) that #1514 did not fix already?
(I have not seen any – #1514 fixed the only freezing issue I ever had.)

Hopefully the next version of cuda removes the issue.

For what it's worth: at least I have been on CUDA 11 for a long time already, and haven't noticed this problem.

Na get_net() definitely shouldn't be needed.  I wager mightily it's just pushing a race condition in the cuda runtime around and making it less likely to happen.


Passing Flags to Node.js

I can't figure out a way to pass the --expose-http2 flag to node. I would like to be able to do:
mocha test.js -- --expose-http2
OR
mocha test.js --node-flags 'expose-http2'

Is this currently possible (using mocha v3.2.0)?

Also I need to pass an --experimental-modules flag to Node.js to support the new ES6 (.mjs) modules.

The flags Mocha will pass to Node are in bin/mocha (whereas Mocha's own flags are in bin/_mocha). To pass other flags to Node that Mocha does not support, you can node <node flags here> node_modules/mocha/bin/_mocha <mocha arguments here> instead of mocha ....

Perfect. Thank you @ScottFreeCode 👍

@jondubois Did you get it to run with --experimental-modules?

@stefanwalther ScottFreeCode's solution above worked well for me. You just need to run the mocha script with the node command instead of directly through the command line. You can add an npm test script to your package.json to use the alternative approach instead of the mocha command.

Well... I cannot get it to work with --experimental-modules because node complains:
$ node --experimental-modules node_modules/.bin/_mocha
Error [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension: node_modules/mocha/bin/_mocha
    at Loader.exports.resolve [as resolver] (internal/loader/ModuleRequest.js:126:13)
    at Loader.resolve (internal/loader/Loader.js:71:40)
    at Loader.getModuleJob (internal/loader/Loader.js:101:40)
    at Loader.import (internal/loader/Loader.js:128:28)

you can use esm if you want to use modules.  install esm then adding -r esm shoud do the trick.

@pukapukan indeed it does!

@pukapukan works perfectly, thanks!
I was initally confused where to add this (whether it was a node flag or a mocha flag) but my tests are working after the following package.json change:
 "scripts": {
-  "test": "mocha test.js"
+  "test": "mocha test.js -r esm"
 }

hope this helps anyone else slightly confused for a similar reason

@pukapukan works perfectly, thanks!
I was initally confused where to add this (whether it was a node flag or a mocha flag) but my tests are working after the following package.json change:
 "scripts": {
-  "test": "mocha test.js"
+  "test": "mocha test.js -r esm"
 }

hope this helps anyone else slightly confused for a similar reason

ERROR: Cannot find module 'esm'

ERROR: Cannot find module 'esm'

try npm install esm

Has anyone gotten this to work with Node 12 and --experimental-modules?
My test script looks like:
    "test": "node --experimental-modules node_modules/mocha/bin/_mocha \"test/**/*_test.js\"",

But I'm still getting a syntax error on on import {} in my test modules. I have "type": "module" in my package.json too.

@justinfagnani After experimenting with the experimental module support in Node and reading up on how the new support works, I believe testing ES Modules using Mocha alone _cannot be made to work using _ at the moment.
Using the built-in support isn't possible until Mocha decides it to be by changing its core. You can pass the flags to enable module support in Node like this: node --experimental-modules $(npm bin)/_mocha, but it will still crash on running code using import * from './my-module' with the following error:
Error [ERR_REQUIRE_ESM]: Must use import to load ES Module: /Users/fatso/dev/sinon/test/es2015/module-support-assessment-test.mjs

Wuuut? The reason Node complains is that Mocha imports the test files using the normal CommonJS require, while Node requires it to use import for it to enable the mode where files are running as ES Modules. That means Mocha must change for this to work. Until that happens, using the esm dependency (simplest) or transpilation (if you have no other way) is your answer.

mocha -r esm test/*.mjs
node --experimental-modules ./node_modules/mocha/bin/mocha test/*.mjs

both fail for me with Must use import to load ES Module

@brandonros I linked to an article from the Node team on how the new module support works in Node 12. Excerpt:

Files ending in .mjs are explicitly treated as ES modules in import statements and when run via the node command.

That means you cannot expect files ending in .mjs to be treated in any other way, even if loading an additional library: Node will use a different runtime behaviour for these files. You use the esm library to enable ES Module support when the Node runtime itself does not support it, meaning that if your files are not treated as ES Modules by Node itself, the esm module will make sure the syntax does not cause runtime errors when encountering syntax such as import and export.
The only change you need to do is change the file extension to something not explicitly treated by Node in any specific way, like .es6 or just .js. You can see that is what we are doing in Sinon when testing our ESM functionality.


Theshold debounce

Is your feature request related to a problem? Please describe.
Often times (~25%) my speedtest retuns low results for 1 or 2 data points that breach the thresholds but then recovers. This leads to false positives or at least noisy behavior.
Describe the solution you'd like
I would to have the possibility to specify a number of data points that are being breached before notifying me that there's an issue.
For example, if I put 3 as the "Datapoints to Notify", then threshold must be breached 3 consecutive times before notifying me.
Additional context
For example, see Datapoints to Alarm in https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarm-evaluation

I second this.
I have a multigig egress and I noticed I suffer from fluctuation quite a bit (e.g., when a known-slow server was automatically selected).
I don't particularly care about a one-off speed dip, it is only when it is consistently slow that I'd like to be notified.
Echo'ing @abelfodil's comment in terms of implementation it should be of a moving window, where user can set M out of N as a notification threshold.
When M of the most recent N results are breaching, fire off the notification.


feat(Banner): new banner design

Summary
Type

Feature

✨ New banner design
The design of the Banner has a new look including patterns as background for both promotional and intro banners.
Relevant logs and/or screenshots

⚠ No Changeset found
Latest commit: b81ebf9
Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.
This PR includes no changesets
Click here to learn what changesets are, and how to add one.
Click here if you're a maintainer who wants to add a changeset to this PR

@matthprost missing changeset


ui-template nodes not receiving messages after network disconnection/recovery.

Current Behavior
If the network connection between the browser and the server is broken for even a few seconds and then restored, ui-template nodes reset to their initial state and stop receiving messages.
The same symptom can be seen on Android if the page is put in the background for a while, or even left in the foreground with an extended period of non-interaction with the user. I suspect Android is putting the page to sleep which effectively means that it is disconnected from the network.
Expected Behavior
The dashboard should recover after re-connection.
Steps To Reproduce
2024-04-25 Edited below to reflect slightly different symptoms with dashboard 1.8.0
With the dashboard browser on a different machine to the server, import the flow below (which is slightly extended version of the default ui-template) and deploy.
Refresh the dashboard browser.  Initially the counter shows a count of 0.
With the developer console open on the dashboard page, click the Inject button in the editor.
The received message is shown in the developer console and the counter is incremented by 5 as expected.
Disconnect the network from the machine showing the dashboard for a few seconds.  A connection error is shown in the developer console and the Connection Lost popup is shown.
Reconnect the network. The connection restored popup appears.
Click the Inject button. No message is shown in the console.
Click the Increment button on the dashboard and the counter does increment.
Refreshing the browser restores a working system.
[{"id":"9ea21274b5061628","type":"inject","z":"eff7ca5fd9394ba5","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":200,"y":2720,"wires":[["dec16dcbe7aa673d"]]},{"id":"dec16dcbe7aa673d","type":"ui-template","z":"eff7ca5fd9394ba5","group":"9339a318b3f1cfb9","name":"#747 test","order":0,"width":0,"height":0,"head":"","format":"<template>\n
\n
Counter
\n
Current Count: {{ count }}
\n
Formatted Count: {{ formattedCount }}
\n        <v-btn @click=\"increase()\">Increment</v-btn>\n
\n</template>\n\n\n","storeOutMessages":true,"passthru":true,"resendOnRefresh":true,"templateScope":"local","className":"","x":370,"y":2720,"wires":[[]]},{"id":"9339a318b3f1cfb9","type":"ui-group","name":"Test","page":"1d9a70bb7c3ff3f5","width":"6","height":"1","order":-1,"showTitle":false,"className":"","visible":"true","disabled":"false"},{"id":"1d9a70bb7c3ff3f5","type":"ui-page","name":"Test","ui":"04ee189a49c54f22","path":"/test","icon":"home","layout":"grid","theme":"23aa79f4e489b044","order":12,"className":"","visible":"true","disabled":"false"},{"id":"04ee189a49c54f22","type":"ui-base","name":"Dashboard","path":"/dashboard","showPathInSidebar":false,"navigationStyle":"temporary"},{"id":"23aa79f4e489b044","type":"ui-theme","name":"Theme 1","colors":{"surface":"#ffffff","primary":"#514fba","bgPage":"#eeeeee","groupBg":"#ffffff","groupOutline":"#cccccc"},"sizes":{"pagePadding":"1px","groupGap":"1px","groupBorderRadius":"4px","widgetGap":"4px"}}]

Environment

Dashboard version: 1.8.0
Node-RED version: 4.0.0-Beta.2
Node.js version: 20
npm version:
Platform/OS: Pi OS
Browser: Edge

Have you provided an initial effort estimate for this issue?
I am not a FlowFuse employee

Also see possibly related issues #620 and #444 and forum discussion https://discourse.nodered.org/t/ui-template-fully-kiosk-browser-update-problem-dashboard-2/87003

I had hoped that this would be fixed by the comms enhancements in 1.8.0 but it seems not.  I have updated the description to reflect the slightly changed symptoms with 1.8.0

Note that just switching pages and back again is enough restore normal operation.

I'll give this a go in the coming days

Any further forward with this issue pls, it's proving to be a pain!

I apologize, I lost track of this issue. Will try an make some headway this week!

Follow up: Haven't lost track of this issue but I'll have to postpone the investigation to next week

Fighting anonymous components reactivity on socket disconnect was a dead end, as there are a lot of factors would have side effects on the socket - anon component relationship.
Embracing side effects is the way to go. Not 100% sure if the dataTracker was intended to be bound to the parent component, but binding it to the anonymous component seems to have no side effects plus the added benefit of re connecting on component lifecycle refresh caused by the socket disconnect.
Creating a PR to address the problem

Using DB v1.14.0 this is still not working for me when viewing on a android phone with the dashboard installed as a PWA app.
The below video shows a dashboard when I've allowed the screen to sleep for just 15 seconds, upon wakeup the data has reverted to zero, and can only be resumed by refreshing the screen. The data update period in 3 seconds.
https://github.com/user-attachments/assets/6b2772e4-7890-4a96-81d3-6c5c0532d59b

Thanks Paul - have re-opened the issue and will investigate - maybe @cstns can take another look?

Is this happening anywhere else other than mobile/pwa?

I have managed to replicate the issue on Android, but not otherwise.  It does not always fail, I am trying to work out what the trigger is.
@Paul-Reed do you see a Disconnected, then Reconnected message when you re-activate?
If you refresh the page and then let it sleep again does it still fail?

Running in Android with current main from github, using remote debugging, if I break the network connection to the server then I see
Baseline.vue:191
 Uncaught
TypeError: Cannot read properties of null (reading 'close')
    at Array.<anonymous> (Baseline.vue:191:30)
    at Object.emit (alerts.js:17:30)
    at Socket.<anonymous> (main.mjs:134:20)
    at Emitter.emit (index.mjs:136:20)
    at Socket.onclose (socket.js:432:14)
    at Emitter.emit (index.mjs:136:20)
    at Manager.onclose (manager.js:299:14)
    at Emitter.emit (index.mjs:136:20)
    at lt.onClose (socket.js:570:18)
    at WS.<anonymous> (socket.js:189:43)

Where Baseline.vue has
 mounted () {
        this.updateTheme()
        Alerts.subscribe((title, description, color, alertOptions) => {
            this.$refs.alert.close()                                      <-- Line 191 **********
            this.alert = alertOptions
            this.$nextTick(() => {
                this.$refs.alert.onMsgInput({
                    payload: `<h3>${title}</h3><p>${description}</p>`,
                    color
                })
            })
        })
    },

After that all is gone to pot.

Ooh - good find @colinl - that's odd that the alert isn't mounted though 🤔

I can make it fail with that error when installed as an app in Edge on a PC with the flow below.  It is running the prototype of my classic gauge widget when it was implemented in a ui-template.  It does not fail when not running as an app.

Import the flow, install the dashboard as an app on a PC which is not the one running node-red and which can be disconnected from the network.
Go to the page showing the gauge and open the developer tools console
Disconnect the PC from the network and, for me, the error immediately appears.

In fact I am not convinced that this is the same problem that @Paul-Reed is seeing as the symptom is different, but I think that if there is a repeatable error then then it is worth fixing that issue, even if one is not convinced that it is the same problem.
[{"id":"eb81f7b4e75d3b1e","type":"inject","z":"6e4dd70a4b804955","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"0","payloadType":"num","x":190,"y":1660,"wires":[["6c5fe238f2739cdf"]]},{"id":"12b5d3fefe6faf5b","type":"inject","z":"6e4dd70a4b804955","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"0.6","payloadType":"num","x":190,"y":1700,"wires":[["6c5fe238f2739cdf"]]},{"id":"bb5ff38c6ca6062c","type":"inject","z":"6e4dd70a4b804955","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"1.4","payloadType":"num","x":190,"y":1740,"wires":[["6c5fe238f2739cdf"]]},{"id":"6c5fe238f2739cdf","type":"ui-template","z":"6e4dd70a4b804955","group":"31f2da0d04a5d5e2","page":"","ui":"","name":"Gauge template master","order":1,"width":"3","height":"3","head":"","format":"\n\n\n<template>\n
\n
{{label}}
\n        <svg ref=\"hn-gauge\" width=\"100%\" height=\"100%\" viewBox=\"0 0 100 100\">\n            <g>\n                <path v-for=\"(item, index) in sectors\" :key=\"index\" :ref=\"'sector-' + index\" class=\"sector\" stroke-width=\"5\" :d=\"arcspec\" ></path>                \n            </g>\n            <g>\n                <path class=\"tick-minor\" stroke-width=\"5\" :d=\"arcspec\" :style=\"tickStyle(this.minorDivision, 0.5)\"></path>\n                <path ref=\"arc\" class=\"tick-major\" stroke-width=\"5\" :d=\"arcspec\" :style=\"tickStyle(this.majorDivision, 1)\"></path>\n                \n            </g>         \n            <g>\n                <text v-for=\"(item, index) in numbers\" :key=\"index\" class=\"num\" text-anchor=\"middle\" :y=\"`${10.5-this.arc.radius}`\" \n                  :style=\"`rotate: ${item.r}deg; transform-origin: ${this.arc.cx}% ${this.arc.cy}%; transform: translate(${this.arc.cx}%, ${this.arc.cy}%)`\">\n                  {{item.n}}</text>\n            </g>\n            <g>\n                <text class=\"measurement\" y=\"48\" x=\"50%\" text-anchor=\"middle\">{{measurement}}</text>\n                <text class=\"unit\" y=\"75\" x=\"50%\" text-anchor=\"middle\">{{unit}}</text>\n                <text class=\"value\" y=\"90\" x=\"50%\" text-anchor=\"middle\">{{formattedValue}}</text>\n            </g>\n            <g ref=\"o-needle\" class=\"o-needle\" v-html=\"needle\">\n            </g>\n        </svg>\n
\n</template>\n\n\n\n","storeOutMessages":true,"passthru":true,"resendOnRefresh":true,"templateScope":"local","className":"Gauge template master","x":510,"y":1700,"wires":[[]]},{"id":"31f2da0d04a5d5e2","type":"ui-group","name":"Group 2","page":"2290baf8322d936b","width":"6","height":"1","order":1,"showTitle":true,"className":"","visible":"true","disabled":"false"},{"id":"2290baf8322d936b","type":"ui-page","name":"d2 P2","ui":"04ee189a49c54f22","path":"/d2p2","icon":"home","layout":"grid","theme":"f9b6670b127dc219","order":6,"className":"","visible":"true","disabled":"false"},{"id":"04ee189a49c54f22","type":"ui-base","name":"Dashboard","path":"/dashboard","includeClientData":true,"acceptsClientConfig":["ui-control","ui-notification"],"showPathInSidebar":false,"navigationStyle":"temporary"},{"id":"f9b6670b127dc219","type":"ui-theme","name":"FlowForge Theme","colors":{"surface":"#152a47","primary":"#005aff","bgPage":"#ffffff","groupBg":"#ffffff","groupOutline":"#cc3e3e"},"sizes":{"pagePadding":"12px","groupGap":"12px","groupBorderRadius":"4px","widgetGap":"12px"}}]

I think it must be something to do with the template contents as I have other templates that do not give the problem.  Or perhaps it is some sort of race condition so it varies unpredictably.
Are others able to see the problem with the flow I posted?

FF Customer hitting this problem - @cstns can you prioritise sooner rather than later please?

Yes, It managed to slip through the cracks.

Tried my best to replicate the issue but with no success and I used both @colinl & @paul-reed's flows.
My personal phone is a Pixel 7 Pro running android 14. For some reason I'm not able to connect in debug mode to it and get access to chrome's dev tools so i don't really know if there are any errors in the console.
In order to install the pwa app on my device I needed valid tls certificates so what I ended up doing is spinning up a docker container with a node-red and dashboard combo and using ngrok to tunnel the app towards a public address with valid tls certs.
When developing the initial fix, I managed to fake a network disconnect locally by removing the docker container with node-red from the virtual network and reconnecting it shortly after, succesfully and predictably reproducing the bug.
No matter how long I left my phone in a sleeping state, connecting or disconnecting the phones wifi / mobile network using, disconnecting/connecting the docker container to the vlan and any combo of these procedures did not reproduce the bug.
In order to get access to the mobile console and fidgeting with my device for too long, I installed Android Studio locally and emulated my phone (Pixel 7 Pro running android 14).
With the pwa installed and access to the console I did notice something odd in that once the app disconnects, the xhr poll frequency decreases from once every three seconds to once every 30 seconds giving the impression that the the connection is not re-established for 30 or so seconds.
Nonetheless, I was not able to replicate the described results in the emulator either. With Android Studio installed I could emulate any version of android, I haven't tried 13 yet.

It isn't a mobile issue, it shows itself on a PC. See the Steps to Reproduce above

I was worried that my setup was somehow interfeering but after some more fidgeting I was able to replicate colinl's error predictably, which prevent's ws reconnect on network reconnect.

Baseline.vue:191
 Uncaught
TypeError: Cannot read properties of null (reading 'close')
    at Array.<anonymous> (Baseline.vue:191:30)
    at Object.emit (alerts.js:17:30)
    at Socket.<anonymous> (main.mjs:134:20)
    at Emitter.emit (index.mjs:136:20)
    at Socket.onclose (socket.js:432:14)
    at Emitter.emit (index.mjs:136:20)
    at Manager.onclose (manager.js:299:14)
    at Emitter.emit (index.mjs:136:20)
    at lt.onClose (socket.js:570:18)
    at WS.<anonymous> (socket.js:189:43)

Where Baseline.vue has
 mounted () {
        this.updateTheme()
        Alerts.subscribe((title, description, color, alertOptions) => {
            this.$refs.alert.close()                                      <-- Line 191 **********
            this.alert = alertOptions
            this.$nextTick(() => {
                this.$refs.alert.onMsgInput({
                    payload: `<h3>${title}</h3><p>${description}</p>`,
                    color
                })
            })
        })
    },

Tricky to replicate consistently as it only occurs when you first open the app or changing pages. It does not occur however if the page was refreshed..
I'll see what's mishbehaving with the alert component first thing tomorrow.
Still not able to replicate it on pc

I have deleted my earlier post from a few hours ago, it seems I was not paying attention when I posted it.

You were right though, I found a way to replicate the bug consistently on desktop as well.
There's something strange happening to the alert component reference on route changes between different layouts in the Baseline.vue component. It was a bit tricky to figure out but I got there

The conclusion is that WebSocket connectivity was lost because the entire Vue application failed silently due to lifecycle inconsistencies between the parent Baseline.vue and child UiNotification.vue components.
I've tested all mentioned scenarios successfully but would appreciate if anyone with a bit of free time on their hand could confirm on their end that the fix addressed the problem as well.

Building as I type.