sbt runs on a different directory

(See the guidelines for contributing, linked above)
steps
Basic idea of what I did is the following, but I could not reproduce it from the clean start.
git clone git@github.com:intracer/wlxjury.git
cd  wlxjury
sbt run/package etc.
cd ..
mv  wlxjury wlxjury_old
git clone git@github.com:intracer/wlxjury.git
cd wlxjury
sbt run/package etc.

problem
sbt is run in one directory: ~/wm/wlxjury
but works on another which is unrelated: ~/wm/wlxjury_old
~/wm/wlxjury$ sbt packageDebianSystemD
[info] Loading global plugins from /home/ilya/.sbt/0.13/plugins
[info] Loading project definition from /home/ilya/wm/wlxjury_old/project
[info] Set current project to wlxjury (in build file:/home/ilya/wm/wlxjury_old/)
[info] Packaging **/home/ilya/wm/wlxjury_old/**target/scala-2.11/wlxjury_2.11-0.8-javadoc.jar ...
[info] Packaging /home/ilya/wm/wlxjury_old/target/scala-2.11/wlxjury_2.11-0.8-sources.jar ...
[info] Done packaging.
[info] Done packaging.
[info] Updating {file:/home/ilya/wm/wlxjury_old/}root...
[info] Wrote **/home/ilya/wm/wlxjury_old/**target/scala-2.11/wlxjury_2.11-0.8.pom
[info] Resolving jline#jline;2.12.1 ...
[info] Done updating.
[info] Compiling 102 Scala sources and 1 Java source to **/home/ilya/wm/wlxjury_old/**target/scala-2.11/classes...
[info] Packaging **/home/ilya/wm/wlxjury_old/**target/scala-2.11/wlxjury_2.11-0.8-web-assets.jar ...
[info] Done packaging.
[warn] **/home/ilya/wm/wlxjury_old/**app/controllers/SendMail.scala:29: object MailerPlugin in package mailer is deprecated: Use injected MailerClient instead
[warn]     MailerPlugin.send(email)(play.api.Play.current)
[warn]     ^
[warn] one warning found
[info] Packaging **/home/ilya/wm/wlxjury_old/**target/scala-2.11/wlxjury_2.11-0.8.jar ...
[info] Done packaging.
[info] Packaging **/home/ilya/wm/wlxjury_old/**target/scala-2.11/wlxjury_2.11-0.8-sans-externalized.jar ...
[info] Done packaging.
[info] Building debian package with native implementation
[info] dpkg-deb: building package wlxjury' in ../wlxjury_0.8_all.deb'.
[success] Total time: 47 s, completed Aug 2, 2016 6:55:44 AM
~/wm/wlxjury$
expectation
when ran from  ~/wm/wlxjury sbt should work on ~/wm/wlxjury not ~/wm/wlxjury_old which does not seem to
be related
Actually this happened only once, and did not reproduce again, but still is quite strange.
notes

For an issue like this, without being able to reproduce it it would be very difficult to diagnose and fix the problem.. So I'm going to close this, but feel free to open it if you figure out how to reproduce it!


bump golang v1.22

Related issue: https://github.com/harvester/harvester/issues/6160

cc @derekbit, @mantissahz
Please help to review it.

I created another PR that updates to a newer Go version, also considering examples, and also bumps a few vulnerable dependencies. The current release has a bunch of CVEs that are not addressed by this PR.
#435


No info/error while registering a web view provider when type is not provided

Testing #105764

Used webview view extension sample
Open package.json and remove "type": "web" property for the view
Run the extension and open the view

View is empty and there is no info/error

Closing as we have not seen additional reports of this
On note: if you remove "type": "webview", the contribution is still valid but becomes for a tree based view instead


Automatic cleaning of obsolete build products

When shake (as of v0.15) executes a recipe it places the wanted in some location. Sometimes source files move, though, so certain build products can become obsolete with time. It would be nice to see an automatic way of cleaning up known obsoletes (i.e. the difference between the old DB's wanteds and the current run's DB's wanteds). The cleanup could be done on another thread.
This would be a real win when developers of huge build trees (with hours of CPU-time worth of build products) wouldn't face the necessity to radically clean the build products to get rid of the obsoletes. Tup (anecdotally) seems to have such a feature.

Have you seen http://neilmitchell.blogspot.co.uk/2015/04/cleaning-stale-files-with-shake.html - is that roughly what you were thinking of? What else were you looking for?
Tup does have such a feature, but I consider it somewhat of a misfeature by default - often the outputs that were useful but are no longer relevant are useful to keep around. Examples include files the build system used to generate or files it only generates when certain options are passed - e.g. you always build x86, you sometimes build 64bit versions, when you don't build 64bit versions you don't want them deleting just because they are stale. That said, it's certainly useful to have, if carefully controlled.

@ndmitchell Awesome, this is almost what I need. I had completely forgotten of that article! (Btw. you refer to a shakePrune function, did you mean shakeArgsPrune?)
So here is what I am after: a pruning function of type
pruneBeforeAfter :: Maybe [FilePath] -> [FilePath] -> IO ()

The first argument would be non-Nothing when shake encounters a loadable old build-state database. Just liveBefore would represent the union of build products leading to the previous run's all want targets. The second argument's file list would indicate the same for the current run.

The docs for Shake need reorganising, and fundamental articles like that promoting to the website...
I did indeed mean shakeArgsPrune - I've updated the page.
So currently --live gives you all live entries. Maybe what you want is --complete which would give you all entries including those that weren't built this time, and after building the first is --complete and the second is --live?

Yeah, I think that is pretty much what I want. If --complete gives me all build products (ever, even in former runs) produced by shake, then the difference complete \\ live is the set of files that can be routinely cleaned up without going for a hunt after all folders where stale build products might be retained. (In our case there might be thousands of build dirs scattered around.)
Of course if --live only gives me the files which are needed for building the current target (in contrast to the potential valid build targets), then the above logic would be flawed. Time to play around with --live I guess...

--live exists. --complete is easy to add. However, --live only gives you things needed for building the current target, since if you were to enter any of the old targets, they may well still build. Typically in most Shake systems a build with no arguments will do all the right wants so that everything rebuilds, and then you can treat --live as all possible live targets.

As @ggreif mentioned tup here, I'll add my 2cents:
Viewing tups tracking system as a misfeature most likely results from the expectation that you can do different builds with the same build graph (DAG) by exchanging external variables (CC). I would assume the better approach to use such feature would be to reflect all possible build results within the DAG.
To keep up with the 32/64-bit example:
That would require one to provide different intermediate and final dependencies files per compiler version. The easiest solution would be to place the build products into compiler-related subdirectories.
If one wants to build only the 32bit version, a phony target can be used to collect only the want executables of the 32bit build. Without the phony target, both versions will be build. With this setup, there is no need to reconfigure the DAG if I want to switch between build targets.
That said, it's definitively hard to get every possibly relevant parameter reflected within the DAG and thats the real problem with tup.
However, if you require a feature similar to tup I don't think complete \\ live will do. What you would need instead is a --buildable parameter which provides a list of all files that can still be build with the current DAG (regardless of if they have been build in the previous run). Once you have such a feature you can use complete \\ buildable to cleanup everything that can't be build any longer.

So, bringing this up again:
The feature of tup is that, if (for example) a C file is renamed, the old .o file will be deleted.
In Shake, we might start with the following dependency graph:
buildAndLink -> [GetDirFiles "src//*.c",[Build foo, Build bar],Link main.exe]
Build foo -> [src/foo.c, lots of headers, out/foo.o]
Build bar -> [src/bar.c, lots of headers, out/bar.o]
Link main.exe -> [GetDirFiles "out//*.o",[out/foo.o,out/bar.o]]

If we renamed bar to baz, we would want to get:
buildAndLink -> [GetDirFiles "src//*.c",[Build foo, Build baz],Link main] -- changed!
Build foo -> [src/foo.c, lots of headers, out/foo.o]
Build bar -> [src/bar.c, lots of headers, out/bar.o] -- stale!
Build baz -> [src/baz.c, lots of headers, out/baz.o]
Link main -> [GetDirFiles "out//*.o",[out/foo.o,out/baz.o],main.exe] -- tricky!

The tricky part is that Shake needs to delete bar.o before linking, so that the GetDirFiles call in Link doesn't add a stale object file. How does it know to do this? Because bar.o was generated by Build bar, and buildAndLink lost its dependency on Build bar, and that was the only reference to Build bar.
When do we know this? Well, if we are careful in matching the stored result to the current execution, we will know as soon as buildAndLink calls need [Build foo, Build baz] instead of need [Build foo, Build bar]. So, we can't prune before building, as in #432, but we can prune during building, whenever dependencies are called; and at least for this example it is just early enough that we do not have to worry about botched linking.
It's true that, as @ndmitchell said, we might not want this pruning; e.g. if we read a config file and from that determine whether to call BuildAndLink X86 or BuildAndLink X64, then modifying our config file will prune one of those. But a new needNoPrune method would suffice. Shake's existing liveness / pruning feature can coexist with this (it will be useful to delete unused config variants).
The main differences in Shake's internals are that generated files would have to be tracked better (to determine that Build bar generated out/bar.o, without rerunning it), and also that Shake would have to maintain a back-reference mapping (to determine that nothing besides buildAndLink referenced Build bar). And it would also be good to add a compact command that renumbered the Id's so they were sequential, now that Shake can remove keys completely

I think the compact command is a good idea anyway - I was intending to call it something like gc.
One note with the example - you have:
Link main.exe -> [GetDirFiles "out//*.o",[out/foo.o,out/bar.o]]

However, calling GetDirFiles "out//*.o" is a lint violation, and getDirectoryFiles explicitly says:

As a consequence of being tracked, if the contents change during the build (e.g. you are generating .c files in this directory) then the build not reach a stable point, which is an error - detected by running with --lint. You should only call this function returning source files.

The recommendation above would be for the linking to list all .c files, not all .o files.
Given this particular pattern is a violation, I wonder if some combination of build, lint, delete dead files, lint would also pick up the violations?

In my branch I changed that piece of documentation to:

As a consequence of being tracked, it is an error (detected by running with @--lint@)
if the contents change during the run after this function is called
(e.g. you are generating @.c@ files in this directory),
since the build does not reach a stable point.
You should only call this function after generating all relevant files.

I think my version is more correct, since lint will indeed not give an error if a file is added to the directory before getDirFiles is called.
From the paper, the three requirements of Shake rules are:

If an IO action makes use of some IO state, then the rule must depend on that IO state.
If an IO action makes use of some IO state that is modified by the build system, then the rule must depend on that IO state before performing the IO action.
After some IO state becomes a dependency it must not change for the rest of the build run.

The action / state / rule distinction is a little unclear in this example, but it seems the Link rule is valid.

I wonder if some combination of build, lint, delete dead files, lint would also pick up the violations?

Deleting files after the build without an intervening rebuild would indeed make lint fail, but I am not sure why you would expect lint to succeed after such a deletion. Lint will error if any tracked file is deleted...

Your version is correct - but only if people have meaningful control over when a rule is started, and thus when getDirFiles is called. I'm not sure people do have that level of control, since when checking if rebuilds are necessary we are essentially "speculatively" running rules that haven't yet been required, but that we think might be required.

when checking if rebuilds are necessary we are essentially "speculatively" running rules that haven't yet been required, but that we think might be required.

True. But this is why Depends has two layers of list; it is only partially speculative. If we assume that building the rule will use the same dependencies in the same order for the same inputs, then the speculation is justified, as each dependency will be called regardless, up to the first changed dependency.

Do people have meaningful control over when a rule is started, and thus when getDirFiles is called?

I think they do, when they can control what rules call said rule. In particular, a pattern of the form need [a] >> need [b] should ensure that b is only called after a has been run, if no other rule calls b.


Roll engine 7266f647ccd1..1bf3725c37de (1 commits)

git@github.com:flutter/engine.git/compare/7266f647ccd1...1bf3725c37de
git log 7266f647ccd1..1bf3725c37de --no-merges --oneline
2019-10-24<EMAIL_ADDRESS>Roll fuchsia/sdk/core/mac-amd64 from zUbAf... to bad9W... (flutter/engine#13323)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

Auto-roller completed checks. About to merge.


Integer representation

[Note, this was previously discussed by a few of us but resurfacing now to make sure everyone on board]
As discussed on the API call today, we need to decide on integer representation in the API. Using native integers is not favorable due to the JS limitation of 53-bit. The natural choice becomes a string. The two competing ideas are a decimal representation or a hex representation with an 0x prefix.

decimal

readability
already found in this repo (easily changed) and in prysm

hex

conformance with eth1 format   (reference JSON RPC encoding)
faster to convert to integer
smaller size to transport

IMO, the readability argument for decimal are a bit more compelling than the eth1 conformance. Conformance with eth1 must be augmented by the fact that we are using little-endian where that is big-endian, and the eth1 API is a separate JSON-RPC.

Sidenote: There was a side item on byte arrays/sequences representation. And there was a strong preference not to use Base64 and hex as well.

Decimal makes perfect sense to me, I hadn't even really considered displaying them in hex. It's just a shame about javascript interface limitations otherwise I'd have left teku using unbound integer types.
I think lighthouse, Prysm, Teku are all on the same page with strings for unsigned long, and decimal representation.

We're currently just using integers (not ideal). I'm don't feel strongly but I'd lean towards string for readability.

Prylabs has a strong preference for industry standards conformance. In
particular, we do not support hex encoded strings for binary data or
integers as a strict requirement.
Most of the feedback in favor of hex encoded binary data seems to be for
debugging purposes. Imposing hex encoded binary data requires users to
write their own data models for parsing JSON objects with a byte array
field or use specific eth1 data types / encoding. For example, go Ethereum
has custom json encoder instead of using standard libraries.
https://pkg.go.dev/github.com/ethereum/go-ethereum@v1.9.13/common/hexutil?tab=doc
The same type of issues would apply for ETH2. Users would need to use a
custom JSON encoder instead of the many of existing tools. Using the
default for base64 allows for existing solutions to work out of the box. If
developers need or really want hex encoded strings then perhaps there could
be some eth1 compatibility mode, debug mode, or readability mode. Could we
recommend a “debug” or “readability” mode?

I think this ticket should stay very focussed on the representation of 64 bit integers, i think binary representation will just muddy the water here.
It does sound like a string with a base10 representation of the number is ok with everyone...

Closing this as general consensus was string representation


has-bigints is not included as a dependency

has-bigints was added as a dependency in https://github.com/inspect-js/is-bigint/commit/7bb9d7ab42214c12ce25e9f0cfe2af769388c3bb; however, the dependency was not added to package.json.
In a script like this:
require('is-bigint')

I get the following error:
node index.js
internal/modules/cjs/loader.js:883
  throw err;
  ^

Error: Cannot find module 'has-bigints'
Require stack:
- /Users/marc/projects/zzz/is-bigint/node_modules/is-bigint/index.js

Whoops, thanks!


Test array_layout_offsets fails

System is the same as described in #1290
failures:

---- array_layout_offsets stdout ----
        thread 'array_layout_offsets' panicked at 'assertion failed: `(left == right)` (left: `Struct { members: [("data", Array { content: Struct { members: [("pos", BasicType { ty: FloatVec2, offset_in_buffer: 224 }), ("dir", BasicType { ty: FloatVec2, offset_in_buffer: 8 }), ("speed", BasicType { ty: Float, offset_in_buffer: 2832 })] }, length: 256 })] }`, right: `Struct { members: [("data", Array { content: Struct { members: [("pos", BasicType { ty: FloatVec2, offset_in_buffer: 0 }), ("dir", BasicType { ty: FloatVec2, offset_in_buffer: 8 }), ("speed", BasicType { ty: Float, offset_in_buffer: 16 })] }, length: 256 })] }`)', tests\shaders.rs:834

failures:
    array_layout_offsets

(HARDWARE INFO: Nvidia GT560M)
Also failed at array_layout_offsets:
---- array_layout_offsets stdout ----
thread 'array_layout_offsets' panicked at 'assertion failed: (left == right) (left: Struct { members: [("data", Array { content: Struct { members: [("dir", BasicType { ty: FloatVec2, offset_in_buffer: 8 }), ("pos", BasicType { ty: FloatVec2, offset_in_buffer: 0 }), ("speed", BasicType { ty: Float, offset_in_buffer: 16 })] }, length: 256 })] }, right: Struct { members: [("data", Array { content: Struct { members: [("pos", BasicType { ty: FloatVec2, offset_in_buffer: 0 }), ("dir", BasicType { ty: FloatVec2, offset_in_buffer: 8 }), ("speed", BasicType { ty: Float, offset_in_buffer: 16 })] }, length: 256 })] })', tests/shaders.rs:834

The test does no longer fail on my system, so maybe this issue can be closed?


Why does self.embed(actions) not need to be updated？

Hello,
This line self.cls_token = torch.nn.Parameter(self.embed(actions).reshape(x.shape[0], 1, EMBED_DIM),requires_grad=False) set the  grad of cls_token  to be none. I think the weight in self.embed will not be update in this way.
Why does self.embed(actions)  not need to be updated, and how is the initial value set?

Hello @TouchDeeper,
we utilize torch.nn.Embedding and its corresponding initialization (see pytorch documentation).
You are right, we don't update the action embeddings. However, this is a design decision and we didn't explore setting requires_grad=True.
Best,
Marius

@memmelma
If the cls_token does not update, how can we ensure that the encoding of the cls_token to action is meaningful, as the class_token is just a randomly initialized projection.

@TouchDeeper is a random initialization for each kind of action (forward, turn left, turn right), so the model can learn how to match each of the embeddings to the corresponding action.

@memmelma
I see, but train the cls_token together should also be feasible, right? I've noticed that most of the work is done this way.


Higher density map

Hello, and thanks for this amazing project.
Do you know what should I edit to make the generated map more dense ?
Thanks !

Hello,
By reducing the values of "downSizeFilterGlobalMapKeyPoses.setLeafSize()" and "downSizeFilterGlobalMapKeyFrames.setLeafSize()" in "mapOptimization.cpp", I have been able to produce a denser map.
Have a nice day.

By reducing the values of "downSizeFilterGlobalMapKeyPoses.setLeafSize()" and "downSizeFilterGlobalMapKeyFrames.setLeafSize()" in "mapOptimization.cpp", I have been able to produce a denser map.

@robot54 I removed the downsizing functions, since the raw output PCD did't had enough density. Even after doing so, the output PCD density is still very low. I want to use the output for annotation.
I compared the results to NDT where, the output PCD is highly dense.
Given the same data, NDT gives 5603371 points while LeGo-LOAM gives around 110978 points, both without any downsampling.
Can I get such highly dense pointclouds from LeGO-LOAM? Is it wrong to expect such highly dense pointclouds from LeGO-LOAM?
@TixiaoShan We could use some help here. Thanks in advance.

I think high dense pointcloud is bad for real-time display. If you want to get the whole dense pointcloud offline, you can record segment and ground points in each frame manually and then add them up according to their final poses.

I think high dense pointcloud is bad for real-time display. If you want to get the whole dense pointcloud offline, you can record segment and ground points in each frame manually and then add them up according to their final poses.

@getupgetup Doesn't that mean that I would also need to perform graph optimization and loop closure again?

I think high dense pointcloud is bad for real-time display. If you want to get the whole dense pointcloud offline, you can record segment and ground points in each frame manually and then add them up according to their final poses.

@getupgetup Doesn't that mean that I would also need to perform graph optimization and loop closure again?

I don't quite understand what you mean. Graph optimization and loop closure are performed automaticly in lego-loam. You can record segment and ground points in each frame using local frame coordinate. After mapping is all finished, just transform these points to global coordinate by pose of each frame and then add them up to get the whole dense map.

I don't quite understand what you mean. Graph optimization and loop closure are performed automaticly in lego-loam. You can record segment and ground points in each frame using local frame coordinate. After mapping is all finished, just transform these points to global coordinate by pose of each frame and then add them up to get the whole dense map.

I've already tried the same. Correct me if I am wrong here. Inspite of using the ground and segmented clouds, I used the raw input cloud and stitched each raw_cloud in local frame to global map by using the integrated_to_init transform from transformFusion node's output. I got the dense pointcloud.
My question is, what if now there is a loop in the trajectory? What if I already have the map for a location w.r.t. global frame.  Won't this create an overlapping PCD?

I don't quite understand what you mean. Graph optimization and loop closure are performed automaticly in lego-loam. You can record segment and ground points in each frame using local frame coordinate. After mapping is all finished, just transform these points to global coordinate by pose of each frame and then add them up to get the whole dense map.

I've already tried the same. Correct me if I am wrong here. Inspite of using the ground and segmented clouds, I used the raw input cloud and stitched each raw_cloud in local frame to global map by using the integrated_to_init transform from transformFusion node's output. I got the dense pointcloud.
My question is, what if now there is a loop in the trajectory? What if I already have the map for a location w.r.t. global frame. Won't this create an overlapping PCD?

I don't think it is a good idea to merge each frame by using online poses. Online poses have accumulated errors and can cause inconsistant map when there's a loop(just like what you said). A better way is to use offline poses which are optimized after all loops closed. Accumulated error are removed after loop closure so that you can get the consistant map.

I don't think it is a good idea to merge each frame by using online poses. Online poses have accumulated errors and can cause inconsistant map when there's a loop(just like what you said). A better way is to use offline poses which are optimized after all loops closed. Accumulated error are removed after loop closure so that you can get the consistant map.

Can you please elaborate the approach. Does it mean, first saving the output pose from "integrated_to_init" topic. Then continue with another iteration of loop closure detection, map_optimization and pointcloud stitching. Please, correct me if I am wrong.

I don't think it is a good idea to merge each frame by using online poses. Online poses have accumulated errors and can cause inconsistant map when there's a loop(just like what you said). A better way is to use offline poses which are optimized after all loops closed. Accumulated error are removed after loop closure so that you can get the consistant map.

Can you please elaborate the approach. Does it mean, first saving the output pose from "integrated_to_init" topic. Then continue with another iteration of loop closure detection, map_optimization and pointcloud stitching. Please, correct me if I am wrong.

Sorry for my unclear expression. "integrated_to_init" topic is a online pose which updates realtimely, so it's not what you need.  Nevertheless, cloudKeyPoses6D(int mapOtimization node) stores all key poses and it'll be optimized after loop closure. Here's my approach: 1.Once a key pose is input into cloudKeyPoses6D, record the pointcloud of this frame (using local coordinate). 2. After the program is finished(This is important, because all poses in cloudKeyPoses6D have been optimized after loop closure), use poses in cloudKeyPoses6D to transform pointcloud recorded to global coordinate.
Pseudocode is something like:
pcl::pointcloudpcl::PointXYZ global_map;
for(int i = 0; i < cloudKeyPoses6D.size(); i++)
{
auto pointcloud_in_global_coordinate = transformPointCloud(pointcloud_you_recorded[i], cloudKeyPoses6D[i]);
global_map += pointcloud_in_global_coordinate;
}

Here's my approach: 1.Once a key pose is input into cloudKeyPoses6D, record the pointcloud of this frame (using local coordinate). 2. After the program is finished(This is important, because all poses in cloudKeyPoses6D have been optimized after loop closure), use poses in cloudKeyPoses6D to transform pointcloud recorded to global coordinate.
Pseudocode is something like:
pcl::pointcloudpcl::PointXYZ global_map;
for(int i = 0; i < cloudKeyPoses6D.size(); i++)
{
auto pointcloud_in_global_coordinate = transformPointCloud(pointcloud_you_recorded[i], cloudKeyPoses6D[i]);
global_map += pointcloud_in_global_coordinate;
}

Thanks @getupgetup . Just to add to this. I think there should also be a timestamp check between the optimized poses and the raw_cloud messages.

I don't think it is a good idea to merge each frame by using online poses. Online poses have accumulated errors and can cause inconsistant map when there's a loop(just like what you said). A better way is to use offline poses which are optimized after all loops closed. Accumulated error are removed after loop closure so that you can get the consistant map.

Can you please elaborate the approach. Does it mean, first saving the output pose from "integrated_to_init" topic. Then continue with another iteration of loop closure detection, map_optimization and pointcloud stitching. Please, correct me if I am wrong.

Sorry for my unclear expression. "integrated_to_init" topic is a online pose which updates realtimely, so it's not what you need. Nevertheless, cloudKeyPoses6D(in mapOtimization node) stores all key poses and it'll be optimized after loop closure. Here's my approach: 1.Once a key pose is input into cloudKeyPoses6D, record the pointcloud of this frame (using local coordinate). 2. After the program is finished(This is important, because all poses in cloudKeyPoses6D have been optimized after loop closure), use poses in cloudKeyPoses6D to transform pointcloud recorded to global coordinate.
Pseudocode is something like:
pcl::pointcloudpcl::PointXYZ global_map;
for(int i = 0; i < cloudKeyPoses6D.size(); i++)
{
auto pointcloud_in_global_coordinate = transformPointCloud(pointcloud_you_recorded[i], cloudKeyPoses6D[i]);
global_map += pointcloud_in_global_coordinate;
}

Excuse me bringing up this old topic but this might be interesting for some who need this. Thank you @getupgetup for the idea. It took me in the right direction but it's also more complicated as in this pseudo code. The main reasons are that in featureAssociation.cpp the point cloud get distortion corrected, several tranformations are made and only parts of the outlierCloud (mainly high elevation points and 1/5th of ground points) is separated. It is therefore not enough to work with the clouds you get by default in mapOptimization.cpp. Even if you remove the down sampling, it's not good enough!
Let me explain how I received extracted the highest quality clouds.

Kept all ground points by removing the j%5 here
Just after this line i added that the points will also be filled into a new cloud that you have to declare and define earlier in that file.
Publish the new cloud with a publisher in this function just like the others. Subscribe to this topic in mapOptimization.cpp
Add the outlier cloud thisOutlierKeyFrame and your new cloud in save it to pcd. Also save the cloudKeyPoses6D to a file. You can then reconstruct with @getupgetup 's pseudo code to a beautifully detailed cloud with all corrections applied.

If hope this will help somebody. If you want to ask something about this or need the code, please write to talk _at_ yodayoda.co. I can push the changed code somewhere but I actually did this on SC-LEGO-LOAM not on this particular repo.

I don't think it is a good idea to merge each frame by using online poses. Online poses have accumulated errors and can cause inconsistant map when there's a loop(just like what you said). A better way is to use offline poses which are optimized after all loops closed. Accumulated error are removed after loop closure so that you can get the consistant map.

Can you please elaborate the approach. Does it mean, first saving the output pose from "integrated_to_init" topic. Then continue with another iteration of loop closure detection, map_optimization and pointcloud stitching. Please, correct me if I am wrong.

Sorry for my unclear expression. "integrated_to_init" topic is a online pose which updates realtimely, so it's not what you need. Nevertheless, cloudKeyPoses6D(in mapOtimization node) stores all key poses and it'll be optimized after loop closure. Here's my approach: 1.Once a key pose is input into cloudKeyPoses6D, record the pointcloud of this frame (using local coordinate). 2. After the program is finished(This is important, because all poses in cloudKeyPoses6D have been optimized after loop closure), use poses in cloudKeyPoses6D to transform pointcloud recorded to global coordinate.
Pseudocode is something like:
pcl::pointcloudpcl::PointXYZ global_map;
for(int i = 0; i < cloudKeyPoses6D.size(); i++)
{
auto pointcloud_in_global_coordinate = transformPointCloud(pointcloud_you_recorded[i], cloudKeyPoses6D[i]);
global_map += pointcloud_in_global_coordinate;
}

Excuse me bringing up this old topic but this might be interesting for some who need this. Thank you @getupgetup for the idea. It took me in the right direction but it's also more complicated as in this pseudo code. The main reasons are that in featureAssociation.cpp the point cloud get distortion corrected, several tranformations are made and only parts of the outlierCloud (mainly high elevation points and 1/5th of ground points) is separated. It is therefore not enough to work with the clouds you get by default in mapOptimization.cpp. Even if you remove the down sampling, it's not good enough!
Let me explain how I received extracted the highest quality clouds.
1. Kept all ground points by removing the `j%5` [here](https://github.com/RobustFieldAutonomyLab/LeGO-LOAM/blob/master/LeGO-LOAM/src/imageProjection.cpp#L329)

2. Just after [this line](https://github.com/RobustFieldAutonomyLab/LeGO-LOAM/blob/master/LeGO-LOAM/src/featureAssociation.cpp#L703) i added that the points will also be filled into a new cloud that you have to declare and define earlier in that file.

3. Publish the new cloud with a publisher in [this function](https://github.com/RobustFieldAutonomyLab/LeGO-LOAM/blob/master/LeGO-LOAM/src/imageProjection.cpp#L329) just like the others. Subscribe to this topic in `mapOptimization.cpp`

4. Add the outlier cloud `thisOutlierKeyFrame` and your new cloud in save it to pcd. Also save the `cloudKeyPoses6D` to a file. You can then reconstruct with @getupgetup 's pseudo code to a beautifully detailed cloud with all corrections applied.

If hope this will help somebody. If you want to ask something about this or need the code, please write to talk _at_ yodayoda.co. I can push the changed code somewhere but I actually did this on SC-LEGO-LOAM not on this particular repo.

@cbaus Thank you for the great suggestion, i have mailed you for a code request!

Hi, have you solved this problem yet，and would you mind sending me the code?

I don't think it is a good idea to merge each frame by using online poses. Online poses have accumulated errors and can cause inconsistant map when there's a loop(just like what you said). A better way is to use offline poses which are optimized after all loops closed. Accumulated error are removed after loop closure so that you can get the consistant map.

Can you please elaborate the approach. Does it mean, first saving the output pose from "integrated_to_init" topic. Then continue with another iteration of loop closure detection, map_optimization and pointcloud stitching. Please, correct me if I am wrong.

Sorry for my unclear expression. "integrated_to_init" topic is a online pose which updates realtimely, so it's not what you need. Nevertheless, cloudKeyPoses6D(in mapOtimization node) stores all key poses and it'll be optimized after loop closure. Here's my approach: 1.Once a key pose is input into cloudKeyPoses6D, record the pointcloud of this frame (using local coordinate). 2. After the program is finished(This is important, because all poses in cloudKeyPoses6D have been optimized after loop closure), use poses in cloudKeyPoses6D to transform pointcloud recorded to global coordinate.
Pseudocode is something like:
pcl::pointcloudpcl::PointXYZ global_map;
for(int i = 0; i < cloudKeyPoses6D.size(); i++)
{
auto pointcloud_in_global_coordinate = transformPointCloud(pointcloud_you_recorded[i], cloudKeyPoses6D[i]);
global_map += pointcloud_in_global_coordinate;
}

Excuse me bringing up this old topic but this might be interesting for some who need this. Thank you @getupgetup for the idea. It took me in the right direction but it's also more complicated as in this pseudo code. The main reasons are that in featureAssociation.cpp the point cloud get distortion corrected, several tranformations are made and only parts of the outlierCloud (mainly high elevation points and 1/5th of ground points) is separated. It is therefore not enough to work with the clouds you get by default in mapOptimization.cpp. Even if you remove the down sampling, it's not good enough!
Let me explain how I received extracted the highest quality clouds.
1. Kept all ground points by removing the `j%5` [here](https://github.com/RobustFieldAutonomyLab/LeGO-LOAM/blob/master/LeGO-LOAM/src/imageProjection.cpp#L329)

2. Just after [this line](https://github.com/RobustFieldAutonomyLab/LeGO-LOAM/blob/master/LeGO-LOAM/src/featureAssociation.cpp#L703) i added that the points will also be filled into a new cloud that you have to declare and define earlier in that file.

3. Publish the new cloud with a publisher in [this function](https://github.com/RobustFieldAutonomyLab/LeGO-LOAM/blob/master/LeGO-LOAM/src/imageProjection.cpp#L329) just like the others. Subscribe to this topic in `mapOptimization.cpp`

4. Add the outlier cloud `thisOutlierKeyFrame` and your new cloud in save it to pcd. Also save the `cloudKeyPoses6D` to a file. You can then reconstruct with @getupgetup 's pseudo code to a beautifully detailed cloud with all corrections applied.

If hope this will help somebody. If you want to ask something about this or need the code, please write to talk _at_ yodayoda.co. I can push the changed code somewhere but I actually did this on SC-LEGO-LOAM not on this particular repo.

@cbaus Thank you for the great suggestion, i have mailed you for a code request!

Hi, have you solved this problem yet，and would you mind sending me the code?


Fix memory accounting leak with primary key operations

Summary of the changes / Why this improves CrateDB
The RamAccounting instance wasn't being closed after the primary key
lookup operation finished. This could result in the circuit breaker
eventually tripping all operations.
In practice the flush buffer of 2MB prevented this leak from causing
havoc as most primary key lookup operations stay beneath 2MB and
therefore never increment the circuit breaker count.
This makes writing a test case also difficult.
Checklist

[x] User relevant changes are recorded in CHANGES.txt
[x] Touched code is covered by tests
[x] Documentation has been updated if necessary
[x] CLA is signed
[x] This does not contain breaking changes, or if it does:

It is released within a major release
It is recorded in CHANGES.txt
It was marked as deprecated in an earlier release if possible
You've thought about the consequences and other components are adapted
(E.g. AdminUI)

I tested that the leak was real by adjusting the flush buffer to 5 bytes. Otherwise I'd have required a long list of primary keys in the  IN clause or something to be able to consume more than 2mb.
I think this is another indication that we should switch the accounting to reserve bytes up-front. In that case I think our existing integration test infrastructure would have detected this leak alreay.


Adding platform parameter to call_wireshark

Instead of using the 'platform' parameter globally across functions, it should be provided as a parameter.

The second change is related to mime_multipart_payload_regex.
content_id regex was updated, '_' was added (e.g. "Content-ID: ngapData_5\r\n").
Content-Transfer-Encoding part was added.
Upper and lower cases added for all parts (e.g. C]ontent-[tT]ransfer-[eE]ncoding).

Implements #32

PS: I did not merge the regex improvement from 12d5e97. As you pointed out in #31, the issue is a bit more complex. But it is also now fixed in the last commits for #31.
My whole multipart code was written a bit on a rush at the time and I never had time to properly improve it.


support OSX OPEN_URL and protocols

Operation System:
OSX 10.11.6
Beaker Version:
Beaker 0.3
I want to use beaker as my default browser. Currently, it's not possible since it doesn't support "http" and "https" protocol.
electron-builder have built-in support for protocol settings. I can try to make a PR for this.
what do you think?

Good idea! We should see what kind of experience electron-builder gives us. If it feels really good, then let's do it.
We should also add a tool to the settings page for registering the protocols, after installation.

Adding to milestone 0.3.1


@aboutlan

@aboutlan
I used this code sample and replaced flutter_inappwebview with webview_flutter which allowed to scroll the webview inside tabbar:

 code sample with `webview_flutter`

import 'dart:async';
import 'package:flutter/foundation.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
//import 'package:flutter_inappwebview/flutter_inappwebview.dart';
import 'package:webview_flutter/webview_flutter.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(title: 'Pays'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage>
    with SingleTickerProviderStateMixin {
  @override
  Widget build(BuildContext context) {
    double screenHeight = MediaQuery.of(context).size.height;

    final List<Tab> myTabs = <Tab>[
      Tab(text: 'LEFT'),
      Tab(text: 'RIGHT'),
    ];

    TabController _tabController;

    @override
    void initState() {
      super.initState();
      _tabController = TabController(vsync: this, length: myTabs.length);
    }

    @override
    void dispose() {
      _tabController.dispose();
      super.dispose();
    }

    return Scaffold(
      appBar: AppBar(
        // Here we take the value from the MyHomePage object that was created by
        // the App.build method, and use it to set our appbar title.
        title: Text(widget.title),
        backgroundColor: Colors.red[800],
      ),
      body: Container(
          color: Colors.grey[100],
          child: ListView(
            children: <Widget>[
              Row(
                children: <Widget>[
                  Expanded(
                      child: Image.network(
                        'https://lh3.googleusercontent.com/proxy/dThF-49TD0synkY_v1F0mh2HQFp_P5bxYvdLI1msK-aD7h4CtzctJpJP3Cm89LyAWAg21xqvUDdQjdRi2yDH4iEU1wr_LT3BO8iOmx141QOtzXPgUpXW7ulAlHUtAJ4Z0yea_Qr4sWZfApns3VuAbxNcTNISWdStSoJEZ9-OmRypu-3YTQ',
                        height: 150,
                        fit: BoxFit.fitWidth,
                        alignment: Alignment.topCenter,
                        filterQuality: FilterQuality.high,
                      )),
                ],
              ),
              SizedBox(
                height: 1,
              ),
              Padding(
                padding: const EdgeInsets.all(8.0),
                child: Row(
                  mainAxisAlignment: MainAxisAlignment.spaceAround,
                  children: <Widget>[
                    Text('237',
                        style: TextStyle(
                            color: Colors.black,
                            fontSize: 35,
                            fontWeight: FontWeight.bold)),
                    SizedBox(
                      width: 5,
                    ),
                    Image.network(
                      'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQJrM_W9cpz33KFyqL_L-meeCuH_Kyufoohxjlh06XdBnIbel0j&s',
                      height: 30,
                    ),
                    Spacer(),
                    Image.network(
                      'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTwnqIeW1RJHtAhRE7ccZ-4s4ymEh5zHRYAdidO7p9GfDnOwziY&s',
                      height: 50,
                    )
                  ],
                ),
              ),
              Padding(
                padding: const EdgeInsets.all(8.0),
                child: Row(
                    mainAxisAlignment: MainAxisAlignment.start,
                    children: <Widget>[
                      Text(
                        'Cameroun',
                        textAlign: TextAlign.center,
                        style: TextStyle(
                            color: Colors.black,
                            fontSize: 25,
                            fontWeight: FontWeight.bold),
                      )
                    ]),
              ),
              SizedBox(height: 5),
              NestedTabBar()
            ],
          )),
      // This trailing comma makes auto-formatting nicer for build methods.
    );
  }
}

class NestedTabBar extends StatefulWidget {
  @override
  _NestedTabBarState createState() => _NestedTabBarState();
}

class _NestedTabBarState extends State<NestedTabBar>
    with TickerProviderStateMixin {
  TabController _nestedTabController;
  ScrollController _scrollController;

  WebViewController webView;
  String url = "";
  double progress = 0;

  @override
  void initState() {
    //_scrollController = ScrollController();
    super.initState();
    _nestedTabController = new TabController(length: 2, vsync: this);
    //_nestedTabController.addListener(_handleTabSelection);
  }

  @override
  void dispose() {
    _nestedTabController.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    double screenHeight = MediaQuery.of(context).size.height;
    return Column(
      children: <Widget>[
        TabBar(
          controller: _nestedTabController,
          indicatorColor: Colors.teal,
          labelColor: Colors.teal,
          unselectedLabelColor: Colors.black54,
          isScrollable: true,
          tabs: <Widget>[
            Tab(
              text: "A propos & Statistiques",
            ),
            Tab(
              text: "Wiki",
            )
          ],
        ),
        Container(
          height: screenHeight * 0.9,
          margin: EdgeInsets.only(left: 8.0, right: 8.0),
          child: TabBarView(
            controller: _nestedTabController,
            children: <Widget>[
              Container(
                  decoration: BoxDecoration(
                    borderRadius: BorderRadius.circular(8.0),
                  ),
                  child: Text('Simple text')),

              /*GestureDetector(
                    child: MyWebView(selectedUrl: 'https://fr.wikipedia.org/wiki/Lewis_Hamilton'),
              ),*/

              Container(
                decoration: BoxDecoration(
                  borderRadius: BorderRadius.circular(8.0),
                ),
                child: WebView(
                  initialUrl: "https://fr.wikipedia.org/wiki/Lewis_Hamilton",
               //   initialHeaders: {},
               //    initialOptions: InAppWebViewWidgetOptions(
               //        crossPlatform: InAppWebViewOptions(
               //          debuggingEnabled: true,
               //        )
               //    ),
                  onWebViewCreated: (WebViewController controller) {
                    webView = controller;
                  },
                  // onLoadStart: (InAppWebViewController controller, String url) {
                  //   setState(() {
                  //     this.url = url;
                  //   });
                  // },
                  // onLoadStop: (InAppWebViewController controller, String url) async {
                  //   setState(() {
                  //     this.url = url;
                  //   });
                  // },
               //   onProgressChanged: (InAppWebViewController controller, int progress) {
               //     setState(() {
               //       this.progress = progress / 100;
               //     });
               //   },
                ),
              ),
            ],
          ),
        ),
        // MyWebView(selectedUrl: 'https://fr.wikipedia.org/wiki/Lewis_Hamilton')
      ],
    );
  }
}

https://user-images.githubusercontent.com/67046386/121477393-6ab6f100-c9e5-11eb-9d19-bf091767fec8.mov
Closing as above solution should resolve your issue. If you disagree, write in comments and I'll reopen.
Originally posted by @darshankawar in https://github.com/flutter/flutter/issues/84238#issuecomment-858358021

in WIki,
The entire page cannot slide to the bottom

Hi @lhh-sofy
When opening an issue, please try to provide all or some of the information indicated in the template so that we can address this issue properly.

Issue Template
If you are looking for support, please check out our documentation
or consider asking a question on Stack Overflow:
- https://flutter.dev/
- https://api.flutter.dev/
- https://stackoverflow.com/questions/tagged/flutter?sort=frequent

If you have found a bug or if our documentation doesn't have an answer
to what you're looking for, then fill our the template below. Please read
our guide to filing a bug first: https://flutter.dev/docs/resources/bug-reports

Steps to Reproduce

Please tell us exactly how to reproduce the problem you are running into.

Please attach a small application (ideally just one main.dart file) that
reproduces the problem. You could use https://gist.github.com/ for this.

If the problem is with your application's rendering, then please attach
a screenshot and explain what the problem is.

1. ...
2. ...
3. ...

Please tell us which target platform(s) the problem occurs (Android / iOS / Web / macOS / Linux / Windows)
Which target OS version, for Web, browser, is the test system running?
Does the problem occur on emulator/simulator as well as on physical devices?

Target Platform:
Target OS version/browser:
Devices:

Run your application with `flutter run --verbose` and attach all the
log output below between the lines with the backticks. If there is an
exception, please see if the error message includes enough information
to explain how to solve the issue.

Run `flutter analyze` and attach any output of that command below.
If there are any analysis errors, try resolving them before filing this issue.

Finally, paste the output of running `flutter doctor -v` here.

In this case, you are copying the content from https://github.com/flutter/flutter/issues/84238#issuecomment-858358021 which has filed in 2021. If you get the same issue, you should describe it with an updated sample code, along with the information in the template.
Closing this issue. Once you update the issue as information from the template, I will reopen this.
Thank you!


1823825 | Message fixes | Address validation issues | 25

This PR is for user story 1823825.
Fixed an issue with missing table headers.
If these changes are not appropriate, please let me know. I'm only trying to clean up validation issues in this repo. So I can easily close this PR or modify it in whatever way is best for the content.

Docs Build status updates of commit c33fe0d:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

biztalk/core/single-sign-on-event-10727.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10728.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10729.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10730.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10731.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10732.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10733.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10734.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10735.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10736.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10737.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10738.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10739.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10740.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10741.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10742.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10743.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10744.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10745.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10746.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10747.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10748.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10749.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10750.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10752.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10753.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10754.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10755.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

@MandiOhlinger This PR is ready for merge.


[Figma kit] Add more basic components

For the Figma kit, we need to add additional basic components:

[ ] Button group
[ ] Back to top
[ ] Text input
[ ] Image
[ ] Image with caption
[ ] Language selector
[ ] Search field

Button group
Back to top
Text input
Image
Image with caption
Language selector
Search field

Some thoughts on this list: Agree with Language selector, but the others seem a bit random. Did you get the list from somewhere? I'm thinking we should pick from the high usage ones, eg. footer, lead space, card, card group, content item etc.
Lead space could need button group, but it can also depend on just Button primary and Button tertiary. Lemme know what you think.


Parse Error: Could not find base class "Light2D".

Godot version:
4.0.dev.custom_build. 494bf38c7
Issue description:
When I type at the top of script extends Light2D, then error Parse Error: Could not find base class "Light2D". is shown.
It worked fine ~12 days ago.
Clicking at this text with Control button pressed, properly move to correct doc page with Light2D.

It seems Light2D is virtual now:
        ClassDB::register_virtual_class<Light2D>();
        ClassDB::register_class<PointLight2D>();
        ClassDB::register_class<DirectionalLight2D>()

Similar issue #42830, it means that virtual classes cannot be extended via script, only in C++...
Things like VisualShaderNodeCustom can be extended via script because they're not registered as virtual:
ClassDB::register_class<VisualShaderNodeCustom>();

But VisualShaderNodeCustom does register virtual methods with BIND_VMETHOD.

Looks that Light2D become PointLight2D, so this is not a bug.
This should be added to docs/changelog as breaking change


Speech recognition is not supported on this machine

Hi i'm using
windows 10 pro 1703 (creator update version)
unity 5.6.of3
but when i hit play your sample scene
i've got this message
UnityException: Speech recognition is not supported on this machine.
UnityEngine.Windows.Speech.PhraseRecognizer.CreateFromKeywords (System.String[] keywords, ConfidenceLevel minimumConfidence) (at C:/buildslave/unity/build/artifacts/generated/common/runtime/SpeechBindings.gen.cs:47)
UnityEngine.Windows.Speech.KeywordRecognizer..ctor (System.String[] keywords, ConfidenceLevel minimumConfidence) (at C:/buildslave/unity/build/Runtime/Export/Windows/Speech.cs:221)
SpeechRecognitionEngine.Start () (at Assets/Scripts/SpeechRecognitionEngine.cs:23)

I guess it is only supported on windows 10

have you checked these solutions?
https://stackoverflow.com/questions/50557020/unity-speech-recognition-is-not-supported-on-this-machine

The issue is not related to Unity3D. Here are some rules of thumb, based on @shacharoz StackOverflow comment:
In Unity3D

Ensure you are checking if the speech engine is supported.
Check if the microphone is enabled in your Unity Project (Edit → Project Settings → Player).
Ensure at least one microphone is correctly detected:

        foreach (var device in Microphone.devices)
        {
            Debug.Log("Name: " + device);
        }

In your Windows installation

Ensure you have properly enabled Cortana & Speech services, especially if you've recently updated your Windows installation.
Set English (US) as your primary language.


Serialization to json - Namespaces are not escaped

Hello ;)
I have a problem with serializing object namespaces (FQCN). Code below shows this situation:
Serilized objects:
final class CheckProduct
{
    public function __construct(
        public string $name,
        public string $class,
    ) {
    }
}

final class Strawberry
{
}

Test:
    #[Test]
    public function can_serialize_object_with_class_namespace(): void
    {
        // given
        $normalizer = (new \CuyZ\Valinor\MapperBuilder())
            ->normalizer(\CuyZ\Valinor\Normalizer\Format::json());
        // and
        $object = new CheckProduct('strawberry', Strawberry::class);

        // when
        $json = $normalizer->normalize($object);

        // then
        self::assertEquals(json_encode($object), $json);
    }

// output of $json variable
{"name":"strawberry","class":"Test\Unit\Strawberry"}

It's not a valid json, because backslashes are not escaped. It should be like this:
{"name":"strawberry","class":"Test\\Unit\\Strawberry"}

Is it a bug or did I forgot something?

Hey there, thanks for the report! It should have been fixed with #490. 😉


Sample code enhancements

I was a bit confused by the for loops in the function so decided to do a bit of refactoring. I then noticed that the second code block ‘using information from the function in the previous section…’ was unclear. I assume either the author forgot to include the function call or is implying that Restart-AzVM -PerformMaintenance should be slotted into the function when iterating through the VMs that require maintenance. Either way I hope you view these changes as an improvement.

@cynthn
Can you review the proposed changes?
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

@mikejwhat Thank you for that addition! #sign-off


Add GitHub Action workflow to publish setup-php to NPM and GitHub Packages

Currently, after every release, I manually update the NPM package. A workflow can be added to do this when a new release tag is created. Also the same can start publishing to GitHub Packages as well.
Ref:

https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages

Hey, is this something I can take a stab at? Any specific way/approach you have in mind? Using something like semantic-release...?

@aneeshrelan Yes, feel free to submit a PR.
With this, we just want to automate publishing to NPM and GH Packages, not complete releases. So semantic-release is not required.
If you go through this guide by GitHub, it has the workflow for publishing to NPM and GH Packages. You just have to implement it in setup-php.
If you have any questions about anything in the workflow, you use this GitHub Actions reference or ask me here.

Thanks for the help @shivammathur. I'll have something ready soon

For every commit eslint is run in the node workflow, so in this workflow we can just publish.


[9.x] Redesign of the event:list Command.

This PR is a continuation of #41977, and it includes a new look for the event:list Command.
Example Output

Thanks,
Francisco

The screenshot does not have the occurance/datetime?
You can take some ideas from
https://github.com/spatie/laravel-schedule-monitor

Thank you!


Change codeStyleSettings.xml for code reformatting.

Disabled Javadoc formatting. Disabled line break for simple '{}' blocks.

@armiol PTAL


Simplify Logger implementation

At first I had a strange error where one module was complaining that Logger was implemented in multiple modules. There was an AddLogger mixin in both modules. Then I noticed the mixed-in Logger was public. Well, it could just be one symbol instead of having a separate instance per module.

Thanks. I've removed the info() call. And I've also removed attributes from opDispatch as those can be inferred. I think forcing those attributes makes DMD gag the error messages when instantiating it, so we get errors like "log.fatal not found".

CircleCI is complaining

CircleCI is complaining

Looking into it.

Very curious.
Thread 2 received signal SIGSEGV, Segmentation fault.
0x0000000100002af0 in _D5ocean4util3log6LoggerQh__T6formatTAyaZQmMFNfEQBuQBrQBp7ILoggerQi5LevelAxaQBnZv (this=0x0, level=ocean.util.log.ILogger.ILogger.Info, fmt=...,
    _param_2=...) at /Users/andrejmitrovic/dev/agora/submodules/ocean/src/ocean/util/log/Logger.d:866
866	            if (this.buffer_.length)
(gdb) bt
#0  0x0000000100002af0 in _D5ocean4util3log6LoggerQh__T6formatTAyaZQmMFNfEQBuQBrQBp7ILoggerQi5LevelAxaQBnZv (this=0x0, level=ocean.util.log.ILogger.ILogger.Info,
    fmt=..., _param_2=...) at /Users/andrejmitrovic/dev/agora/submodules/ocean/src/ocean/util/log/Logger.d:866
#1  0x0000000100002a7b in _D5ocean4util3log6LoggerQh__T4infoTAyaZQkMFNfAxaQnZv (this=0x0, fmt=..., _param_1=...)
    at /Users/andrejmitrovic/dev/agora/submodules/ocean/src/ocean/util/log/Logger.d:505
#2  0x0000000100057fa0 in _D5agora5utils3Log6Logger__T10opDispatchVAyaa4_696e666fTQpTQsZQBiMFNbNfQBeQBhZv (this=<optimized out>, _param_0=..., _param_1=...)
    at /Users/andrejmitrovic/dev/agora/source/agora/utils/Log.d-mixin-66:66
#3  0x0000000100065549 in _D5agora6common15TransactionPoolQr6__ctorMFxAyaZCQBvQBsQBoQBr (this=0x102f1ab20, db_path=...)
    at /Users/andrejmitrovic/dev/agora/source/agora/common/TransactionPool.d:103
#4  0x000000010005d596 in _D5agora4node8FullNodeQj7getPoolMFAyaZCQBl6common15TransactionPoolQr (this=0x102f20990, data_dir=...)
    at /Users/andrejmitrovic/dev/agora/source/agora/node/FullNode.d:325
#5  0x000000010005b407 in _D5agora4node8FullNodeQj6__ctorMFxSQBh6common6ConfigQhDFNbNeZvZCQCkQChQCfQCi (this=0x102f20990, config=..., onValidatorsChanged=...)
    at /Users/andrejmitrovic/dev/agora/source/agora/node/FullNode.d:139
#6  0x000000010005af7c in _D5agora4node9ValidatorQk6__ctorMFxSQBi6common6ConfigQhZCQCdQCaQByQCb (this=0x102f20990, config=...)
    at /Users/andrejmitrovic/dev/agora/source/agora/node/Validator.d:69
#7  0x000000010005abb0 in _D5agora4node6Runner7runNodeFSQBc6common6ConfigQhZCQBxQBu8FullNodeQj (config=...)
    at /Users/andrejmitrovic/dev/agora/source/agora/node/Runner.d:59
#8  0x000000010005a939 in _D5agora4node4mainQfFAAyaZ9__lambda2MFZCQBmQBj8FullNodeQj () at /Users/andrejmitrovic/dev/agora/source/agora/node/main.d:75
#9  0x00000001001bf04c in _D4vibe4core4task12TaskFuncInfo__T3setTDFZC5agora4node8FullNodeQjZQBgMFKQBhZ12callDelegateFKSQDnQDlQDjQDhZv (tfi=...)
    at /Users/andrejmitrovic/dev/agora/submodules/vibe-core/source/vibe/core/task.d:702
#10 0x0000000100595ca2 in vibe.core.task.TaskFiber.shutdown().__lambda2() () at task.d:518
#11 0x00000001005954e4 in vibe.core.task.TaskFiber.run() (this=0x102f1ea00) at task.d:482
#12 0x0000000100769039 in ?? ()
#13 0x0000000000000000 in ?? ()

@Geod24 I found a new issue. I'm not sure whether this is by design, by if it is then it's by dumb design. If you have this:
mixin ModuleCtor!();

static this ()
{
    ....
}

Then the second module constructor will run first, followed by the mixed-in one.

Commits and messages are a bit effed up here.

Ah right it looks like I edited the wrong commit.

Previously the AddLogger mixin was declaring a separate Logger type for each module where AddLogger!() was mixed-in.

Ouch, I understand now...


Jenkins loop test is not green consistently

https://jenkins.mesosphere.com/service/jenkins/view/Marathon/job/marathon-loop-tests/

Related to https://github.com/mesosphere/marathon/issues/4779

It seems we managed that. Didn't we?

Close in favor of more detailed issues.


Add cache-less get_globals to the API

It would need more changes to keep data integrity (originators and countries in CONSTANTS) and there's simple workaround for it.


No default jsDelivr CDN file set

This package doesn't have a default file set. You can set it via jsdelivr, browser, or main field in package.json

Not related to ECharts.


Logout should clear the cookie

As far as I'm aware, app.authenticate() checks the cookie as well as the storage. When you log out, shouldn't the cookie be unset as well as the storage?

Absolutely. Thanks!

Why was this reversed? I am running into a bug where if a user logs out (after logging in with oauth2) they get re-logged in when they refresh due to the cookie.


razor generated code should have the ubiquitous auto-generated in the comments

The omitted <auto-generated/> in the comments for code files generated by the razor engine are causing multiple issues to be raised in other projects.
Please could we have <auto-generated /> added as the first line of the comments in razor generated code files.
This will alleviate the huge volume of noise being generated in code analysis when opening .cshtml files.
https://github.com/DotNetAnalyzers/StyleCopAnalyzers/issues/2373
https://github.com/aspnet/Tooling/issues/498
Perhaps also consider including #pragma warning suppress 1591 as well. Either that, or ensure that each generated comment is XML compliant.
https://github.com/dotnet/roslyn/issues/12702

This issue was moved to aspnet/Razor#1449


fixes crash when running bundle exec danger

When not in a CI environment, this would previously fail because
of an undefined variable. Fixes #472

[x] I'm kind of guessing this will not pass CI because there actually will be CI env vars set 🔥

Testing on these classes is not a solved story yet I think.

          1 Error

  :no_entry_sign:
  Tests have failed, see below for more information.

Tests:

File
Name

executor_spec.rb
Danger::Executor#run aborts when not in a ci env

  Generated by :no_entry_sign: danger

Well my guess was right ... second commit works around this.

Yep, looks great - I've never seen a test like that - nice work


Basic tests for DevTools protocol changes.

E.g. DevTools was recently broken by id change (move from string to object). We should have tests that assert on debug events fired when particular actions are made by the user.

Fixed in #1388. Yay.


Add deprecation warning for mepo update-state

To be removed in mepo 3.

Maybe it should be added in mepo 3, slated to be removed in mepo 4


fix: make impl private

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

-16 of 134 (88.06%)  changed or added relevant lines in 1 file are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-1.5%) to 82.697%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

index.js
118
134
88.06%

Files with Coverage Reduction
New Missed Lines
%

index.js
2
84.92%

Totals

Change from base Build<PHONE_NUMBER>:
-1.5%

Covered Lines:
269

Relevant Lines:
315

💛  - Coveralls


Swisscard importer unable to parse CSV since Swisscard changed structure

Swisscard seems to have changed the structure of the CSV they provide, hence rendering the knut's importer non functional. The import process aborts without error message.
Old structure of CSV
Transaction Date, Posting Date, Card Number ,Billing Amount, Description, Merchant City , Merchant State , Merchant Zip , Reference Number , Debit/Credit Flag , SICMCC Code
14.02.2020,14.02.2020,1234,CHF0.50,"desc0","",,, "",D,
12.02.2020,13.02.2020,1234,CHF34.65,"desc1","desc2",CHE,1111, "42",D,5411
12.02.2020,13.02.2020,1234,CHF64.60,"desc3","town",CHE,1111, "42",D,5411
06.02.2020,06.02.2020,1234,-CHF2'000.50,"IHRE ZAHLUNG . BESTEN DANK","",,, "43",C,
18.01.2020,20.01.2020,1234,CHF14.00,"desc4","ZURICH",CHE,8003, "44",D,5812
14.01.2020,15.01.2020,1234,-CHF0.50,"RÜCKVERGÜTUNG RECHNUNGSGEBÜHR","",,, "45",C,

New structure of CSV
Transaction date,Description,Card number,Currency,Amount,Debit/Credit,Status,Category
"11.10.2021","SOLLZINS","3376 60**** *1433","CHF","16.47","Debit","Posted",""
"03.10.2021","AIRALO, SINGAPORE","3376 60**** *1433","CHF","12.50","Debit","Posted","DIGITAL GOODS - MULTI-CATEGORY"
"02.10.2021","SBB EASYRIDE APP, BERN","3376 60**** *1433","CHF","40.00","Debit","Posted","PASSENGER RAILWAYS"
"01.10.2021","KKIOSK 31432, BASEL","3376 60**** *1433","CHF","12.00","Debit","Posted","CARD, GIFT AND NOVELTY STORES"
"01.10.2021","OCHSNER SPORT, BASEL","3376 60**** *1433","CHF","100.00","Debit","Posted","SPORTING GOODS STORES"
"01.10.2021","PADDY REILLY'S AG, ZÜRICH","5100 21** **** 4532","CHF","35.00","Debit","Posted","EATING PLACES, RESTAURANTS"

ch.swisscard2 implements the new format.


[FEATURE] Add view for all icons on a single page

One may want to see all icons on a single page.
Even if separated views make more sense in many cases, it can be more
convenient to have all icons on a single page to find what you're
looking for (without knowing what category the icon may belong to).

Preview:

resolved with https://github.com/TYPO3/TYPO3.Icons/commit/605fb45ccb72bb6e1b10ee8bb7c9001c1536953c


Missing release notes

Release notes for 9.5.0 and 9.5.1 is missing
https://flywaydb.org/documentation/learnmore/releaseNotes#9.5.0
https://flywaydb.org/documentation/learnmore/releaseNotes#9.5.1
They are referenced from the release page
https://github.com/flyway/flyway/releases

For now, they are also available in the repo itself here.


outer tick not shown in radar chart when scale is reverse

Found an issue as I needed a radar chart with reverse scale. Values ranges from 1 to 5.
With the reverse scale the outer tick is not shown.

As I drew into the LinearRadialScale I found in line  14213 (chart.bundle.js v.2.2.2) the folowing code
if (gridLineOpts.display && index !== 0 )
changing it to
if (gridLineOpts.display && index !== 0 || opts.reverse)
fixed the problem for me.

I haven't tested this in other situations.
May this is usefull for others or it should get into the code with a pull request.
As I'm new to github and your project I didn't exactly know how to or if I should create a pull request. sry

It might actually be easier to simply reverse the ticks array if reversed because with your solution the inner grid line for the value '5' is drawn when it shouldn't be

Ah, ok I see what you mean.
so correctly the inner gridline should not be drawn.
In the normal scale this is the tick with index 0.
In reverse scale this is the tick with the last index.
Hmm, do you agree that can we get this with
if ( (gridLineOpts.display && index !== 0 &! opts.reverse ) || (gridLineOpts.display && opts.reverse && index !== me.ticks.length-1) )
Where the first condition is used for a normal scale and the second for a reversed scale.
I've checked this with my example and it seems to work fine.
May I didn't understand your suggestion to reverse the ticks array instead. Do you mean to reverse the ticks array in a callback function? Which callback I should use for this?
############
As I was checking with ticks length, I found an other issue you already have fixed for the linear scale https://github.com/chartjs/Chart.js/pull/1984/commits/61ca178e2b9e44875c1bde4a1433fc739839bb10
#1890
example:
scale: {
	                reverse: true,
	                ticks: {

	                    beginAtZero: false,
  					  	suggestedMin:1,
				  		suggestedMax:5,
				  		stepSize: 0.2,

	                },
	                pointLabels: {
        				fontSize: 13,
        				callback : function(label){
        					return label.substr(0,7)+'...';
        				}
      				},
      				gridLines:{
      					display: true,
					  }
	            },

I set the stepSize to 0.2 to get more ticks. After that the output became:

So may you can fix the floating problem in the LinearRadialScale to?
Thank you!

Your check will work for this case. My suggestion to reverse the ticks array was simply to always make the one at index 0 the inner one but that might already be done by the base class. I am happy to merge a PR with your updated check.
The floating issue has been mentioned before. The almostEquals part is actually already used for both the linear and radialLinear scales. The problem is that the linear scale has a different default callback which is what makes the difference https://github.com/chartjs/Chart.js/blob/master/src/scales/scale.linear.js#L10

My first time PR.
Big Thank you for your great work on charts.js

I have the same issue, has this fix been merged yet?

As far as I know, it wasn't fixed. I fixed my issue with the code line:
if ( (gridLineOpts.display && index !== 0 &! opts.reverse ) || (gridLineOpts.display && opts.reverse && index !== me.ticks.length-1) )
LinearRadialScale, line 14213 (chart.bundle.js v.2.2.2)
But remember this was for version 2.2.2. !


Allow to use dismax when calculating scores of synonym expansions

Let's assume we have the following synonym expansions defined in the common rules rewriter:
A =>
  SYNONYM: B
  SYNONYM:  X Y
K =>
  SYNONYM: G

After applying this expansion to an input query A K, the query would be represented as follows in Querqy's (q.*) query object model:
q.BQ(
    q.DMQ(
      q.TQ(A),
      q.TQ(B),
      q.BQ(
        q.DMQ(
          q.TQ(X)
        ),
        q.DMQ(
          q.TQ(Y)
        )
      )
    ),
    q.DMQ(
      q.TQ(K),
      q.TQ(G)
    )
)

BQ = 'Boolean Query', DMQ = 'DisMax Query', TQ = 'Term Query' - despite their similar names, these
  are not Lucene queries

Let's assume that we want to search in fields f1 and f2. Querqy would build the following Lucene (lc.*) query for our case:
lc.BQ(
    lc.DMQ(
      lc.TQ(f1:A),
      lc.TQ(f2:A),
      lc.TQ(f1:B),
      lc.TQ(f2:B),
      lc.BQ(
        lc.DMQ(
          lc.TQ(f1:X),
          lc.TQ(f2:X)
        ),
        lc.DMQ(
          lc.TQ(f1:Y),
          lc.TQ(f2:Y),
        )
      )
    ),
    lc.DMQ(
      lc.TQ(f1:K),
      lc.TQ(f2:K),
      lc.TQ(f1:G),
      lc.TQ(f2:G)
    )
)

We can set the tie parameter and it would be applied for all DMQs. But as soon as we use tie>0 we would favour the documents that match the most synonyms, for example, documents that match A and B and  X Y in our case. This is not what we would indent in most cases.
I suggest to insert one lc.DMQ per top-level query clause (of the BQ) and repeat the above clause structure per field as clauses under that DMQ:
lc.BQ(
  lc.DMQ(  ### new DMQ, uses current tie parameter for aggregation across fields
    lc.DMQ( ### 'old' DMQ, but having only f1 clauses. New tie parameter to aggregate across synonyms.
      lc.TQ(f1:A),
      lc.TQ(f1:B),
      lc.BQ(
        lc.DMQ(
          lc.TQ(f1:X)
        ),
        lc.DMQ(
          lc.TQ(f1:Y)
        )
      )
    ),
    lc.DMQ( ### 'old' DMQ, but having only f2 clauses. New tie parameter to aggregate across synonyms.
      lc.TQ(f2:A),
      lc.TQ(f2:B),
      lc.BQ(
        lc.DMQ(
          lc.TQ(f2:X)
        ),
        lc.DMQ(
          lc.TQ(f2:Y)
        )
      )
    )
  ),
  lc.DMQ(### new DMQ, uses current tie parameter for aggregation across fields
    lc.DMQ(### 'old' DMQ, but having only f1 clauses. New tie parameter to aggregate across synonyms.
      lc.TQ(f1:K),
      lc.TQ(f1:G)
    ),
    lc.DMQ(### 'old' DMQ, but having only f2 clauses. New tie parameter to aggregate across synonyms.
      lc.TQ(f2:K),
      lc.TQ(f2:G)
    )
  )
)

Thus the new tie parameter will add an 'expansion tie breaker' to control aggregation across synonyms or other types of expansions, for example including those generated by word compound handling. We will start with a single 'expansion tie breaker' parameter. If required we might be able to implement this per rewriter later (it would require a modification to Querqy's query object model - see #26 - as opposed to changing the Lucene query object building). Users can use the old/current tie parameter to control score aggregation across fields (as opposed to 'across synonyms/expansions'), which is probably how this parameter was intended originally.
The default value of the 'expansion tie breaker' shall be 0.0. Users will be able to re-create the current behaviour by setting the parameter to 1.0.

The above approach has the issue that it changes boolean matching semantics.
lc.DMQ(
  lc.BQ(
        lc.DMQ(
          lc.TQ(f1:X)
        ),
        lc.DMQ(
          lc.TQ(f1:Y)
        )
      ),
lc.BQ(
        lc.DMQ(
          lc.TQ(f2:X)
        ),
        lc.DMQ(
          lc.TQ(f2:Y)
        )
      )
)

means that X AND Y have to match both in f1 or both in f2 while in the original structure X could match in one field and Y in the other.
The following structure fixes the problem:
lc.BQ(
    lc.DMQ( # new 'multi-match' tie
      lc.DMQ( # old tie param
        lc.TQ(f1:A),
        lc.TQ(f2:A)
      ),
     lc.DMQ(# old tie param
        lc.TQ(f1:B),
        lc.TQ(f2:B),
     )
      lc.BQ(
        lc.DMQ(# old tie param
          lc.TQ(f1:X),
          lc.TQ(f2:X)
        ),
        lc.DMQ(# old tie param
          lc.TQ(f1:Y),
          lc.TQ(f2:Y)
        )
      )
    ),
    lc.DMQ( # new 'multi-match' tie
      lc.DMQ(# old tie param
        lc.TQ(f1:K),
        lc.TQ(f2:K)
      ),
      lc.DMQ(# old tie param
         lc.TQ(f1:G),
         lc.TQ(f2:G)
      )
    )
)

And that's how it is implemented in f80f822

Implemented by #303


Check and fix compilation, when compiling e.g. plugins/Roddy for 2.2 and 2.3

@dankwart-de Is this still relevant, now that we are updating all workflows to 2.4?


Fix nsfw parameter in search page

PR Checklist

Please check all that apply to this PR using "x":

[x] I have checked that this PR is not a duplicate of an existing PR (open, closed or merged)
[x] I have checked that this PR does not introduce a breaking change
[ ] This PR introduces breaking changes and I have provided a detailed explanation below

PR Type
What kind of change does this PR introduce?

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting)
[ ] Refactoring (no functional changes)
[ ] Documentation changes
[ ] Other - Please describe:

Fixes
Issue Number: https://github.com/lbryio/lbry-desktop/issues/5245
What is the current behavior?
The NSFW parameter is not being sent correctly when searching.
What is the new behavior?
The NSFW parameter is correctly sent.
Other information

Thanks for the PR!

Thanks for the PR!

Reverting because this breaks the search page when you have mature content turned "on"

Reverting because this breaks the search page when you have mature content turned "on"


update pom.xml and README.md

Build Java 8 war file. Previous it build a Java 7 war fie.
Implement linux 8 build

+1


ENH: add capability to specify orders in pade func

Currently interpolate.pade only takes the order of the denominator
with the order of the numerator assumed from the order of the inputted
array . Added an optional parameter  (following standard naming
convention of the pade function) which specifies the order of the
numerator. This is useful if the order of the inputted array returns
a higher order (and computationally more expensive) numerator than needed.
This change does not affect any currently written code.

I have not yet been accepted to the scipy-dev mailing list. So I cannot discuss the change (as instructed to here https://docs.scipy.org/doc/numpy/dev/gitwash/development_workflow.html#asking-for-your-changes-to-be-merged-with-the-main-repo).

I've added the recommended changes of checking if l<0

Looks good modulo a standard complaint to using the lowercase l letter. Maybe change it to lowecase n?

I changed it to l to follow convention for Pade approximant, but I understand the readability issues that come with using it. I'll revert it back.

Since p and q are being used as mathematical variables here, I assumed that I would treat them as being inline maths, as is described in the documentation.

Fair enough. +1 from me.

Backticks are still not perfect: single backticks create hyperlinks. Double backticks typeset code, inline math is :math:backtick ... backtick. Anyway, let's not hold a PR for a minor thing which can cleaned up later on.
Thanks @NPDW and congrats with what I believe is your first scipy commit. Keep them coming!

Thank you Evgeni, I'm proud to now be a contributor to such a great product!


Add option for migrate command

adding -f --force option to migrate command to force application defualt migrations to run before weblog migrations, otherwise only run weblog's migrations

I don't see a need for this. Previous migrations need to be run to ensure that the user model is implemented. If all previous migrations have already been run, nothing happens. Also, the force flag implies that they would be rerun regardless. Either way, all previous migrations should be run before the migrations for this package.
Could you elaborate why this is necessary? (Honest question, not trying to shoot it down, just understand the need better.) Thanks! :)

The problem is this assumes the end user has used those migrations, and haven't done DB dumps/restores etc. For instance, when I ran this command previously it just errors out and I had no way to run these migrations because it forces default migrations to run. I try to keep my local versions as close to staging/production so I can properly debug issues etc. So basically I do dumps/restores which keeps my local up to date, but it screws up the migrations.

I can understand where you're coming from.
I would consider that a state/code discrepancy. Your migrations are out of sync with your database. If  the migrations are not used, they should be deleted. Any existing migration files should be assumed OK to run. Laraval 5.3 makes this assumption for packages as well, in that it allows migrations in packages to be automatically run with the php artisan migrate command, which would run your default migrations as well.
I would consider it dangerous to have outstanding migrations "hanging" there, that could potentially crash your database, or at the very least throw errors if anything tries to migrate them.

I guess the issue I see is it that it's not a packages job, to make those kinds of decisions for the larger project. Regardless, there may Ben legitimate reasons to leave migrations there in the code base and not removing them for a fresh install scenario where you do need to run those migrations.
I think packages should be as un-opionated as possible so they have the largest possible adoption rate. Again this is personal opinion/preference. I don't think you're wrong in your overall thinking, I'm just not sure that a package should enforce coding standards on the parent project. Also I am leary as an end user to let a package run commands that don't effect just the package.
A possible alternate approach could be either a user prompt to ask I'd they want to run default app migrations or just we blog migrations, or make the flag to only run we blog migrations instead of all migrations. It's obviously not a lot of code, and giving the end user a choice in the matter one way or the other should seem like a better idea then forcing an ideology on an end user.

The way I see (and I'm not trying to convince others its the right way, if they think otherwise) is that the stable state for migrations is for the migration command to be executable, and not risk failing. If there are migration errors in a production app when running the migrate command, the state of the app (again, in my opinion) cannot be considered stable. If one is pulling in the database without running migrations, then the migrations table should also be pulled in, or created in such a way that leaves migrations in a stable state.
So for example, what happens when you make a new table? Wouldn't your migrations fail, and you would need to address the issue to make your new migrations runnable? The way I would address this is create the migrations table locally with all the right migration entries, then add that to production, so migrations will run properly again. Of course, this could also be due to how you deploy your app (I honestly have no idea on the details, but on the face of it, it seems like a bad idea to have migrations fail. It seems you either have to prevent them from being run at all, or something.)
At any rate, you can run the package migrations all on their own using this command (the artisan command is only a convenience method):
php artisan migrate --path=vendor/genealabs/laravel-weblog/database/migrations"


Remove risky dependency. (#4633)

Pull request opened by the merge tool on behalf of #4633

Processing this pull request

An unexpected error occurred while processing this pull request. The request might have been partially processed.You can find further information in the logs of merge-tool, on the jenkins master node(jenkins.ii.inmanta.com - journalctl -u merge-tool). See also the documentation of merge-tool: https://internal.inmanta.com/developer/tasks/commiting_changes.html#an-unexpected-error-occurredThis error was caused by: GitHub API query failed: got errors in response: [{'type': 'UNPROCESSABLE', 'path': ['createPullRequest'], 'locations': [{'line': 2, 'column': 9}], 'message': 'A pull request already exists for inmanta:hotfix/security-patch-dependency.'}]


Nancy.Url.Fragment should be populated by implicit cast from System.Uri

I was working on #1398 and during unit testing I discovered that casting fromUri to Url doesn't set the fragement. According to @grumpydev that is by design because on the server urls don't have fragment. However, redirect urls can have a fragment section (at least Nancy and chrome seemed to allow it, not sure what the standards say) so I'd argue against that.
I'm willing to send a pull request. I'd just like the powers that be to agree upon one of two courses of action (or provide a third one)

Urls should have fragments

The implicit constructors should preserve anchors
ToString() should preserve anchors

Urls should not have fragments

Url.Fragment should be marked as obsolete
The implicit constructors should explicitly strip anchors
ToString() should explicitly strip anchors

So powers that be, I, your faithful library consumer, await your decree.

Url.Fragment is already dead at this point :smile:


Automated Package Upgrade

:tada: This PR is included in version 2.2.133 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add 2024 Dodge Durango

Request for 2023/2024 Dodge Durango to be added.   I've attached a comma 3x that I moved from a 2020 Grand Cherokee and it functions well in the 2024 Durango, same cable.   How can I contribute to incorporate this model year?

Closing as this isn't a bug - check out the #chrysler channel in Discord.


Universal Windows Platform Support (Xbox One)

So recently - Microsoft announced that every retail Xbox one console can be turned into a developer kit. Source
That said - Would it be possible to support the Xbox One via UWP?
Details here on the program

I'm really all for this. UWP would be a massive win for us to support, the problem here is testing. I have a Windows computer I could use to test this... Unfortunately I've never owned an Xbox in my life, let alone an Xbox One.

@paked - Can you afford an Xbox One? If not I would hold off on picking one up as there are rumors of Micorsoft releasing an Cheaper Slim version of the XB1 this year.
Here is a link for more info.

I'm not really in a position to lay down money for an Xbox One. However if this slim model comes out I would definitely reassess the situation.

@EtienneBruines @otraore Do either of you have an Xbox One?

@EtienneBruines sadly no, I have the old xbox 360 rip'ing in my closet.

Also we already support windows 10 just not UWP.

@otraore Hmmm. I think this is definitely something we could do if we had more resources.

@paked Unfortunately I also don't have one. Would be nice if we could support it some day, though.

I just wanna leave this https://github.com/golang/go/issues/21805 here


add hookagain

name: "feat: Add new awesome thing"
about: "Add a new awesome thing related to shadcn/ui"
labels:

feature

Describe the awesome thing you want to add
What is it?
A registry that provides a set of reusable hooks that are installable via shadcn CLI.
What category does it belong to?
Libs and Components
Checklist

[x] I checked that it is in alphabetical order.
[x] I have checked that the awesome thing is not already listed.
[x] I have provided a clear and concise description of the awesome thing.
[x] I have provided a link to the awesome thing.
[x] I have assigned the correct category to the awesome thing.

Please note: If you are adding a new category, you will need to create a new section in the README.md file. Please make sure to update the table of contents as well.
Important: The idea of this repository is to bring together free projects for open-source contributions. If the proposed addition is an entirely paid project, the PR will be closed.

Already exist in README
https://github.com/birobirobiro/awesome-shadcn-ui/blob/1b6c786cda1ae1862de381343856d0f7ccfb51eb/README.md?plain=1#L169


How to add a click to a menu item ?

I can't find the answer in the documentation I am looking for. (I spent too long trying to format my code to allow me to post in SO so posting here - they said it was subjective) I can make a guess or wrap my elements with an a tag but this seems a bit messy. I have not found anything online about this. None of the examples show this - I get that it is a set of components for UI and maybe there is purposely no cick setup.
So how can I make the following code clickable ? Thank you.

onTouchTap
http://www.material-ui.com/#/components/menu
https://github.com/callemall/material-ui/blob/master/CONTRIBUTING.md#asking-questions

Would just like to comment that using Stack for questions is so difficult these days - formatting the code was tripping up and it was simply taking too long. So thank god I was able to get help here.


[Bug report] problem with ITEM.VALUE and ITEM.LASTVALUE

Alexander ,
I think there is a problem with display ITEM.VALUE in grafana-zabbix
Side zabbix i have

and side grafana-zabbix

In my trigger name in red equal to macro {ITEM.LASTVALUE} and in blue equal to { ITEM.VALUE}
This is my exact trigger name
SNMPTRAP: bouygues - ERROR valista multiple - {{ITEM.LASTVALUE}.regsub("^(.{19})", [Last: \1])} [First: {ITEM.VALUE}]
For information , i use regsub function to keep only the 19 first characters about {ITEM.LASTVALUE}
Thanks for your help
zabbix-server 3.2.5
grafana version 3.1.1
grafana-zabbix app 3.3.0
Benoit

Can you trace api request for this case? Because for triggers I just use api flags for expanding macros.

alexander,
I ask to zabbix more information about {ITEM.VALUE} and {ITEM.LASTVALUE}
Their response
The same value in you case - it's not a problem, it's expected. Because when the alert was generated - the value caused it and it was latest value came to trigger before alert generation.
For traps I can recommend to use only {ITEM.VALUE} macro because {ITEM.LASTVALUE} may mislead in some cases.

In Attachment you can see in trigger {ITEM.VALUE} = {ITEM.LASTVALUE} so i suppose zabbix plugin trigger information so there isn't problem  side zabbix plugin
Howerer , an interesting information is in event information . (please see in attachment file )
So is it possible to have this information in plugin zabbix ( new column events )
Thanks Benoit

Unfortunately, an image was compressed. Can you attach high-res picture?

Alexander,
Please find new image
Benoit
De : Alexander Zobnin<EMAIL_ADDRESS>Envoyé : vendredi 26 mai 2017 09:12
À : alexanderzobnin/grafana-zabbix
Cc : DESFEUX Benoit DMGP/WHA; Author
Objet : Re: [alexanderzobnin/grafana-zabbix] [Bug report] problem with ITEM.VALUE and ITEM.LASTVALUE (#396)
Unfortunately, an image was compressed. Can you attach high-res picture?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/alexanderzobnin/grafana-zabbix/issues/396#issuecomment-304210079, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AR3lTRJxCyk0IMMTDNBDeNIgZYSFIjdxks5r9ntdgaJpZM4Ne3Sx.

Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc
pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler
a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,
Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.
This message and its attachments may contain confidential or privileged information that may be protected by law;
they should not be distributed, used or copied without authorisation.
If you have received this email in error, please notify the sender and delete this message and its attachments.
As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.
Thank you.


When using optional Configurations, Exceptions might occur

If a remote configuration is specified as optional, the internal data object of the RemoteConfigurationProvider might be
null. This can lead to Exceptions when trying to refer to the optional configuration.
If for instance compared to the local JSonConfigProvider, the data object is set to an empty dictionary instead of null.
Tested in a local setup with a self hosted config server instance.

Thank you for contributing!


Acrylic Opacity doesn't work in WIndows Terminal v1.6.10571.0

Windows Terminal version (or Windows build number)
1.6.10571.0
Hello everyone,
My installation of  Windows Terminal (v1.6.10571.0), from Microsoft Store doesn't render Acrylic Opacity.
Steps to reproduce

I have set "useAcrylic" property to be true
"acrylicOpacity" has been set to 0.5
Transparency Effects have been turned on in Settings > Personalization > Colors

Actual Behavior

Transparency in Calculator and the Settings menu doesn't work as well
My laptop runs on Integrated AMD Radeon RX Vega 10 Graphics as well as NVIDIA GeForce GTX 1650
Acrylic Opacity does not work in Windows Terminal as well

I'm just copy-pasting this from #1414 #7047 & #8563:

Acrylic doesn't work if there's not the GPU hardware for it. A Surface Studio Integrated AMD Radeon RX Vega 10 Graphics as well as NVIDIA GeForce GTX 1650 probably has the hardware, but it won't work if you're running the app in a VM or over remote desktop (for example).
Acrylic can be disabled by the system for a number of reasons, like being in power saver mode, or when accessing a machine over Remote Desktop
As a sanity check, is there Acrylic in the Start Menu?

Since acrylic isn't working in Calculator, then there must be some reason why you machine disabled it system-wide, not specific to the Terminal. If it was working in Calculator, but not the Terminal, I'd direct you to #7047

instead of this line
"acrylicOpacity": 0.5
use this
"opacity": 50,


Crash using umlauts in "User-Agent" string.

$ http-prompt www.orf.at
Version: 0.9.0
http://www.orf.at> User-Agent:"Ö"
Traceback (most recent call last):
File "/home/user/.local/bin/http-prompt", line 11, in
sys.exit(cli())
File "/usr/local/lib/python2.7/dist-packages/click-6.6-py2.7.egg/click/core.py", line 716, in call
return self.main(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/click-6.6-py2.7.egg/click/core.py", line 696, in main
rv = self.invoke(ctx)
File "/usr/local/lib/python2.7/dist-packages/click-6.6-py2.7.egg/click/core.py", line 889, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/local/lib/python2.7/dist-packages/click-6.6-py2.7.egg/click/core.py", line 534, in invoke
return callback(*args, **kwargs)
File "/home/user/.local/lib/python2.7/site-packages/http_prompt/cli.py", line 129, in cli
execute(text, context, listener=listener)
File "/home/user/.local/lib/python2.7/site-packages/http_prompt/execution.py", line 522, in execute
click.secho(str(err), err=True, fg='red')
UnicodeEncodeError: 'ascii' codec can't encode character u'\xd6' in position 166: ordinal not in range(128)

Fixed in v0.9.1. Thanks for reporting!


[FEATURE] limit csi node plugin to 1 in progress operation per volume

The csi node plugin should keep track of currently in progress operations for each volume.
And only allow a single operation per volume, this can be accomplished via a lock for a set of volumes.
The lock is only used to prevent access to the volume operations map.
A operation should be tried to be added on entering the CSI operation.
If an operation for that volume is already in progress the csi plugin should return
code.Aborted this will signal operation in progress and the call will be retried by kubernetes in the future.

CSI calls should be idempotent, but for example if you have a NodePublish / NodeUnpublish call for the same volume at the same time you might run into issues depending on the order of operations inside of the calls :)


JsonConvertException on Token Verification in PhpStorm

Description:
I encountered a JSON conversion exception in PhpStorm when using the CommitGPT plugin. This issue seems to occur during the verification of an OpenAI API token.
Environment
PhpStorm Version: 2023.2.2
CommitGPT Plugin Version: 0.7.1 Marc-R2
Operating System: Ubuntu 20.04.6 LTS x86_64
Steps to reproduce
1- Go to Settings > Tools > CommitGPT
2- Click on the link to generate an openai token
3- Generate the token and copy it
4- Paste it in the Openai Token input
5- Click on verify and I see "Openai token is not valid (unknown)"
6- I check my syslog with sysLog='tail -f -n200 /var/log/{messages,kernel,dmesg,syslog}'
Observed error log:

Nov 15 14:11:13 dell jetbrains-phpstorm.desktop[400775]: -> access-control-allow-origin: *
Nov 15 14:11:13 dell jetbrains-phpstorm.desktop[400775]: -> alt-svc: h3=":443"; ma=86400
Nov 15 14:11:13 dell jetbrains-phpstorm.desktop[400775]: -> openai-processing-ms: 174
Nov 15 14:11:13 dell jetbrains-phpstorm.desktop[400775]: -> openai-version: 2020-10-01
Nov 15 14:11:13 dell jetbrains-phpstorm.desktop[400775]: -> strict-transport-security: max-age=15724800; includeSubDomains
Nov 15 14:11:13 dell jetbrains-phpstorm.desktop[400775]: -> x-request-id: e93044abb6506e380268111b736a6855
Nov 15 14:11:13 dell jetbrains-phpstorm.desktop[400775]: HttpClient: RESPONSE https://api.openai.com/v1/models failed with exception: io.ktor.serialization.JsonConvertException: Illegal input

+1 same issue