[Proposal] Support for inner-, center- and outer strokes

One thing I've always missed with SVGs is the ability to position a stroke relative to the curve/object it is being applied to.
Simple example would be: if i have a rectangle with 32×32 and apply a stroke of width 2 to it, it should either be 34×34 (centered), 32×32 (inner) or 36×36 (outer).
Request stems from brief comment interaction on Reddit - A challenger to the throne of vector graphics. SVG is dead, long live TinyVG!.
Within the same comment section someone rightly posed the question - what happens if you have a two points creating a line and you apply a stroke to it. How does center, inner and outer stroke options behave? To answer this I’d have to reach far into my tarnished memory and remember how it works in Adobe Illustrator which I last ran ~6-7 years ago. I think it simply defaults to center and and “grays out” inner and outer buttons in the stroke settings panel.

This is something I'm extremely interested in.
To emulate it in SVG I've had to employ workarounds such as duplicating the shape to mask in/out the stroke (mask-in for align inside, mask-out for align outside) or to create a specific path for the stroke. The first is easier to do, but can be prohibitive performance-wise and both of them make it more difficult to edit after the operation is performed.
I think in the case of a non-enclosed shape, forcing to centre makes the most sense. You could use the direction of each line segment to pick an arbitrary "outward" direction, which could be useful where a one-sided stroke could be useful - for example cliff markings on a map. That might be a little unintuitive however, if editors don't implement anything to differentiate that.
Another thought I have is that this doesn't necessarily be limited to "inward, outward, centered", you could have a normalized stoke offset instead. ie. -1.0 means offset inward by the stroke width (aligning it with the inside), 1.0 means offset outward by the stroke width (aligning it with the outside). +/-2.0 could place it  off the edge, and +/-0.5 could place only slightly off-center. I think this would be particularly useful for more arty users, though I appreciate that it might make renderer implementation more complex than it needs to be.

I think that having an arbitrary offset would make the renderer too complex. While this might be not too bad to implement if you're writing your own stroking/filling/etc. anyway (e.g. on an embedded platform), it is going to make trouble anytime someone tries to render TinyVG using standard graphics APIs. For instance, AFAICT Cairo does not have any support for one-sided or offset stroking. Implementing this feature without support of the underlying graphics lib's stroking API is going to be extremely annoying.

I'm still thinking about this issue, it's definitly a good use case to allow outer, centered and inner stroking, but i'm not sure if the additional rendering complexity is worth it.
I also have no idea how to implement that so it is correct, so if someone wants to do a prototype, i'd be happy!


Bump patchelf to 0.10

This release contains three years of bug fixes and improvements.

I've validated that the package can be built; but I am not sure it's enough of testing for such a core package. If not, I seek guidance / help.

needs to target staging branch

patchelfUnstable needs to point to this version now, and patchelfUnstable seems to include a patch to make it work with musl, which should probably be tested. Also maybe the tests can be enabled, unstable has them enabled for non-darwin.

@Infinisil see, this is what I was afraid of. ;)

I will propose for staging, sorry I forgot that this package is special.
How would I test with musl? I have no idea what it is (yet). But it seems to me that the patch you refer to is only for tests (that are disabled in this package because they still fail).
Tests still fail the same way (except that the number of failing tests is 25 now, not 24; I will update the counter in the comment). I can share output with you if interested.

@Infinisil I also have, perhaps silly, questions on patchelfUnstable:

How do I install it with nix-env? nix-env -f . -i patchelfUnstable gives me:

error: selector 'patchelfUnstable' matches no derivations

Why do we need it at all if it's the exact same version? Should we drop it? (Perhaps I misunderstand the goal of having an "unstable" package in the tree; if so, do you have a link to documentation for me to chew on to understand it better?)

Well the package isn't special per-se, it's just that there's a lot of things that depend on patchelf. We put such changes on staging to reduce total amounts of rebuilds of those lots of things, so we can bunch such updates together.
One of the most basic libraries, one almost every package uses is libc. musl is an alternate implementation of it, focusing on it being very small, very useful for embedded stuff. You can build musl versions through pkgsMusl: nix-build -A pkgsMusl.patchelf
Output would be nice yeah, just to get a sense of why it's failing.

nix-env -f. -iA patchelfUnstable, but I usually just nix-build -A patchelfUnstable and then use result/bin/.. to test things, then I don't need to install anything
We shouldn't drop it completely, because lots of things use patchelfUnstable, which would all fail if we removed it. In the future we might change patchelfUnstable to point to a new unstable version (without updating the normal patchelf).

One of the major things this PR needs is to figure out what other packages start failing to build with the newer version. For this I think it would be nice to add a hydra jobset. This might take a while to get merged :)
Ping @edolstra @domenkozar @dtzWill @Ericson2314 @jtojnar (people who are relevant for hydra jobs, and/or know a lot about staging stuff)

@Infinisil here is a pastebin with test failures: https://pastebin.com/9xGgW2h8 (I actually get the same errors when trying to build the patchelfUnstable package with no changes to the expression whatsoever).

Interestingly, when I build pkgsMusl.patchelf from regular 0.10 derivation (not unstable), I get only a single failure: https://pastebin.com/TG3Keexz which can be fixed with the following patch (adopted from unstable derivation):
diff --git a/pkgs/development/tools/misc/patchelf/default.nix b/pkgs/development/tools/misc/patchelf/default.nix
index 355d3979822..1c3df031f75 100644
--- a/pkgs/development/tools/misc/patchelf/default.nix
+++ b/pkgs/development/tools/misc/patchelf/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, autoreconfHook }:

 stdenv.mkDerivation rec {
   name = "patchelf-0.10";
@@ -8,9 +8,18 @@ stdenv.mkDerivation rec {
     sha256 = "1wzwvnlyf853hw9zgqq5522bvf8gqadk8icgqa41a5n7593csw7n";
   };

+  # Drop test that fails on musl (?)
+  postPatch = stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
+    substituteInPlace tests/Makefile.am \
+      --replace "set-rpath-library.sh" ""
+  '';
+
   setupHook = [ ./setup-hook.sh ];

-  doCheck = false; # fails 8 out of 24 tests, problems when loading libc.so.6
+  nativeBuildInputs = [ autoreconfHook ];
+  buildInputs = [ ];
+
+  doCheck = stdenv.hostPlatform.isMusl;

   meta = with stdenv.lib; {
     homepage = https://nixos.org/patchelf.html;

Gosh, what a mess I make with pull requests here.

(New PR is https://github.com/NixOS/nixpkgs/pull/58715)


Update test_news.py

Short description of what this resolves:
Changes proposed in this pull request:

Fixes: #

Thank you for taking the time to contribute! This is sincerely appreciated. 😇
(Powered by GitMate.io)


Fix cartfile format for compatible version

Codecov Report

Merging #19 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #19   +/-   ##
=======================================
  Coverage   81.42%   81.42%
=======================================
  Files          16       16
  Lines         646      646
=======================================
  Hits          526      526
  Misses        120      120

@scottphc I think you may want to add something like carthage update to travis.yml file, because on Travis frameworks do not exist. I may be able to dig this later today or tomorrow, hopefully we'll find setup that works best.

I may send another MR instead if I have free time.


Thread safety?

Is this library intended to be thread safe? I seem to be able to be able to segfault it when running these tests in parallel, but not when limiting it to a single thread: https://github.com/sfackler/rust-pg_query/blob/2169d608e0f4df4f17a7798f662393f9dd3f9e66/pg_query/src/lib.rs#L68
pg_query ❯ env RUST_TEST_THREADS=1 cargo test
     Running target/debug/pg_query-773a16cd18fc4144

running 2 tests
test test::err ... ok
test test::ok ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured

   Doc-tests pg_query

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured

pg_query ❯ env RUST_TEST_THREADS=2 cargo test
     Running target/debug/pg_query-773a16cd18fc4144

running 2 tests
WARNING:  01000: problem in alloc set pg_query_parse: detected write past chunk end in block 0x7f9568219000, chunk 0x7f9568219190
LOCATION:  AllocSetCheck, aset.c:1354
WARNING:  01000: problem in alloc set pg_query_parse: bad single-chunk 0x7f95682191b0 in block 0x7f9568219000
LOCATION:  AllocSetCheck, aset.c:1337
WARNING:  01000: problem in alloc set pg_query_parse: bogus aset link in block 0x7f9568219000, chunk 0x7f95682191b0
LOCATION:  AllocSetCheck, aset.c:1346
WARNING:  01000: problem in alloc set pg_query_parse: detected write past chunk end in block 0x7f9568219000, chunk 0x7f95682191b0
LOCATION:  AllocSetCheck, aset.c:1354
WARNING:  01000: problem in alloc set pg_query_parse: found inconsistent memory block 0x7f9568219000
LOCATION:  AllocSetCheck, aset.c:1364
error: Process didn't exit successfully: `/home/sfackler/rust/rust-pg_query/pg_query/target/debug/pg_query-773a16cd18fc4144` (signal: 11, SIGSEGV: invalid memory reference)

To learn more, run the command again with --verbose.'

@sfackler Apologies, there should be a big warning about this, but I didn't add one - its not thread-safe right now. In concurrent languages you need a mutex around the parser (thats how I've done the Go binding).
I'm curious, was it previously thread safe for you when linking to the PostgreSQL source? (I haven't investigated if the memory management and parser can be safely used in a threaded context)

Cool, makes sense.
I'm not sure about the thread safety story with the old setup - it was only ever used in a single threaded context.

@sfackler Makes sense. Do you think it'd be helpful if the C library itself had a mutex around the parser? (i.e. instead of adding them in all the other languages)

@sfackler Alright, so I've debugged this a bit more. We might actually be able to make it thread-safe by using thread-local storage for all global variables.
Even just marking the memory management variables __thread seems to do the trick. I've pushed up a test branch in https://github.com/lfittl/libpg_query/tree/thread-safety - maybe you can give it a try?
(still need to work this transformation into the LLVM extraction code, but that should be fairly straightforward)


fix countlines

fix coutlines

Sorry @yazanmonshed, I'm missing the context for this—what's this change about?


Symbol Editor Add-In Confusing when working with new Military Overlay template

When I use the current released version of the symbol editor add-in, which works with 2525D, with the new Military Overlay template, which has two schemas and two maps (one for 2525D and one for 2525 B change 2), I can add symbols to the 2525D map, but there is no warning or alert when I switch to the 2525Bc2 map.
I can:

find and customize D symbols in the add-in, and add them to the D map with the "add to map" function
switch to the B map, continue clicking on the map with the "add to map" function, and get no warning when no symbols are being added to the map
switch back to the D map, and see that the symbols were being added to that map all along.

I'm proposing some sort of warning when using the symbol editor add-in, particularly the new version which will work for both 2525D and 2525Bc2, when you switch away from the map that matches the schema in which you are working.
@csmoore I think that we are probably not going to break up the military overlay template that has both a D and Bc2 schema, map, etc. so the symbol editor add-in will need to work in a project that contains both of these schemas.
@lfunkhouser @nfeuerstein  @dfoll FYI

So just to clarify:

If there are multiple maps in a project (one map with one version of the schema/standard and one with the other or without)
If the user tries to add a military feature to a layer in a map that is not the current focus map
Issue a warning and cancel the operation

@csmoore yes, your comment clarifies the enhancement I'm trying to capture.

Ready to verify with the prebuilt addin provided or from daily after the PR merge.

verified fixed.


Mismatch between node version in docker and circle

Repro steps:

clusternator init a new project
Choose 'node current' (6.0)
Note that the Dockerfile uses node 6, but circle.yml is still at 4.4.4

Pretty sure this is my fault. Looking into it.


iOS  平台text标签

加载大号（比如76px）粗（比如700）字体（比如1234），有的时候出来是斜的，而且显示不全，不必现，不知道你们遇到没？

有出现，不知道什么原因。特别是渲染大量数据的时候

感谢你的反馈，Weex目前是隶属于Apache Software Foundation的项目，因此在Gtihub渠道我们鼓励使用英文反馈问题。下面我将使用Google Trasnlate将你的问题翻译成英语，并以英语回答。

Load large (such as 76px) thick (such as 700) font (such as 1234), sometimes it is oblique, and the display is not complete, do not have to be present, I do not know if you encountered?

Please provide a demo, which will make debugging so much easier.
Also, please follow the issue template when you report a bug. The more information you give, the faster issue will be resolved.
Thanks

As there is no update, I will just close the issue.
Feel free to reopen it with you demo

Text tags occasionally render problems in bold and large fonts,I uploaded two pictures to show that there was a problem.Please don't close it. There is a high chance of recurrence in the project. I just set up a class selector like this. {
"fontSize": "72",
"color": "#FFFFFF",
"fontWeight": "700"
},

This is before Compilation ：{
font-size: 72px;
color: white;
font-weight: 700;
}

Has the problem been solved?

同样出现过。text组件在原生端是用 textview做的。没有文本组件吗？ 对应原生的 label不好吗？


tracking: make foyer compatible with stable rust

[x] trait_alias
[x] lint_reasons
[x] bound_map
[x] associated_type_defaults
[x] cfg_match
[x] let_chains
[x] offset_of
[x] associated_type_bounds
[x] ptr_metadata
[x] allocator_api
[x] strict_provenance
[x] get_mut_unchecked
[x] error_generic_member_access
[x] lazy_cell
[x] box_into_inner
[x] try_trait_v2
[x] pattern

for offset_of , it seems already stable ?
https://github.com/rust-lang/rust/issues/106655

for offset_of , it seems already stable ? rust-lang/rust#106655

Yep. But currently foyer is using the same rust-chain with RisingWave. I'm working on decoupling.

Done via #317


auro-combobox not taking required parameter

Describe the bug
auro-combobox is not taking the required parameter. Even though we pass it, it still says optional.
To Reproduce
Steps to reproduce the behavior:

Go to 'test env link below'
You should see in the planbook combobox the "(optional)" inside even though we are passing the required parameter.

Expected behavior
The expected behavior should be that we don't have the "(optional)" in the search box

Desktop (please complete the following information):

OS: [MacOS]
Browser [chrome, firefox]

Additional context
Code Link
Testing Env

having required={true} solve the issue.

@jesussilverioea what framework is this you are working in? React or Svelte?
Keep in mind, HTML booleans are not true or false. Many boolean attributes will simply use the existence of the attribute as true and the absence as undefined. According to the HTML spec, the actual definition of this is disabled="disabled". Also, disabled="false" is also true because the attribute is present.
Different frameworks see these HTML boolean values differently.
For your case, I would also try disabled={disabled} and I would assume that would work as expected and this would be more reflective of the actual HTML state.


Add option to disable preview on long-pressing cell

Hi, @zhangao0086.
I added an option to disable preview on long-pressing cell.
If there are no problems, I would appreciate if you could merge this.
Thank you for your amazing library!

Merged! Thanks for your PR!!!


Monolog version 2.4.0 incompatible with PHP versions <8

The file src/Monolog/Attribute/AsMonologProcessor.php in monolog version 2.4.0 uses constructor property promotion (lines 31-33) which was introduced in PHP version 8.0.
When used in PHP 7.4, one sees the following:
PHP Parse error:  syntax error, unexpected 'public' (T_PUBLIC), expecting variable (T_VARIABLE) in [...]/vendor/monolog/monolog/src/Monolog/Attribute/AsMonologProcessor.php on line 31.
The issue here is the fact that the composer.json file and therefore the monolog/monlog packagist page lists the PHP version requirement as ">=7.2".

I would love to see the constructor property promotion usage removed. The next best thing would be updating the composer.json. This is a backwards incompatible change. In keeping with semantic versioning, this should become version 3.0.0.

Attributes are a php8 feature so you cannot use this class on 7.4 anyway and I'm not sure what you are doing?

Same issue here, VS Code returns an error.
Solution?
public function __construct(?string $channel = null, ?string $handler = null, ?string $method = null) {

Attributes are a php8 feature so you cannot use this class on 7.4 anyway and I'm not sure what you are doing?

Thank you for the quick response.
The attribute class isn't used in the PHP 7.4 project I'm referencing, but the monolog vendor directory is preloaded into opcache. This is done for performance purposes but with monolog version 2.4.0 that is also where this issue arises.
The file can be explicitly excluded from preloading, but I would like to hear your thoughts first.

Fixed in https://github.com/Seldaek/monolog/commit/508df120fac348c1e7ed6e590d83c549fa95434e - please upgrade to 2.5.0

Thank you kindly!


Web3d quantized attributes

This pull request is for reviewing an initial implementation of the WEB3D_quantized_attributes extension to glTF.
There are still a few issues to be resolved both in this implementation and the proposed specification. Feel free to try it out with the included sample model; comments and suggestions are welcome.

Update CHANGES.md

Can you include a brief README.md in Specs/Data/Models/Box-Quantized that says this is the box model, but modified so the position and normal attributes are quantized?

Does the extension spec say anything any quantizing accessors that are used for indices?  To keep the implementation simple, it should say that the accessor must only be used for attributes.

@pjcozzi Will add a README, and yes quantization is only to be used on attributes. I'm currently working on implementing some of the feedback from @mlimper and @MarcoHutter on the glTF issue I opened.

Most specifically, the approach is going to change from unpacking the buffers, to just applying the decodeMatrix to the model matrix and leaving the data as-is, which should be faster and less complicated.

Most specifically, the approach is going to change from unpacking the buffers, to just applying the decodeMatrix to the model matrix and leaving the data as-is, which should be faster and less complicated.

Yes, exactly!

Let me know when this is ready for another review.

This update takes in some suggestions from this thread.
In this approach, the model shader is modified to decode the attributes and use the decoded version in places where the original was used. This may not be the best approach, and I am open to suggestions.
In my first go at this, I tried applying the decode matrix to the model matrix directly to avoid modifying the shaders. It think this is better because it allows for attributes to be quantized or not with the same model matrix with no issues.

There are jsHint warnings; check the CI - https://travis-ci.org/AnalyticalGraphicsInc/cesium/builds/128397413

Did you see these comments: https://github.com/AnalyticalGraphicsInc/cesium/pull/3891#issuecomment-217155734 and https://github.com/AnalyticalGraphicsInc/cesium/pull/3891#issuecomment-217154703?

Remind me - what attributes did you test this with?  Positions?  Or positions and normals?

In my first go at this, I tried applying the decode matrix to the model matrix directly to avoid modifying the shaders. It think this is better because it allows for attributes to be quantized or not with the same model matrix with no issues.

Let's discuss in person today.  There are trade-off to think through, including precision and animations.

TODO:
[ ] Add support for additional attribute types
[ ] Resolve min and max issue
...Related to #3925, min and max in quantized models according to the spec should be the encoded min and max. Right now I have them as the decoded one because that is a lot more convenient in Cesium.

@pjcozzi I think I hit all of your suggestions; this should be ready for another look

Related to #3925, min and max in quantized models according to the spec should be the encoded min and max. Right now I have them as the decoded one because that is a lot more convenient in Cesium.

Is it hard to just decode them once?

Did you test this with a model with animations to make sure that when the model matrix is updated from an animation targeting a node, the CPU concatenation works as expected?

Related to #3925, min and max in quantized models according to the spec should be the encoded min and max. Right now I have them as the decoded one because that is a lot more convenient in Cesium.
Is it hard to just decode them once?

It's not hard to decode them once. The issue is that there are places in Cesium that use accessor.min and accessor.max expecting them to be the decoded max and min, which wouldn't be the case if I were following the spec to a 't' right now.

Did you test this with a model with animations to make sure that when the model matrix is updated from an animation targeting a node, the CPU concatenation works as expected?

CPU concatenation isn't supported yet. However animations do work correctly with shader decoding.

@pjcozzi I've resolved the accessor min and max issue to be in line with the spec. To do this, I've added a class for performing operations on arbitrary matrices. I figured that was better than shoehorning something in (also because for vec4 attributes, the decodeMatrix would have to be a mat5).
Let me know if you like what I have so far, and if you do I'll finish fleshing it out and add tests for it.

The Cesium implementation now assumes that decodeMin and decodeMax are provided for POSITION attributes.
I also removed the code for general matrix operations.

That change looks good...nice and simple.
Let me know when you want another review for all of this.

@pjcozzi This is ready for a look whenever you get a chance

@lasalvavida merge in master.  You may have a trivial conflict in CHANGES.md.

As discussed offline, I am going to hold off on reviewing the rest of this as part of it may move to gltf-pipeline for a simplifying extension spec change.

@pjcozzi Updated, no spec change required and a much cleaner implementation

Just to confirm, there also won't be a separate PR for gltf-pipeline?

@lasalvavida can you run code coverage, and make sure all the new code in Model.js is covered? https://github.com/AnalyticalGraphicsInc/cesium/tree/master/Documentation/Contributors/TestingGuide#run-all-tests-with-code-coverage-build-instrumentforcoverage-first

Just those comments.
This gets simpler with each iteration!

Just to confirm, there also won't be a separate PR for gltf-pipeline?

I do still need to open up my PR for the gltf-pipeline generation of quantized models, but the code that was removed from here doesn't need to be in there.

@lasalvavida can you run code coverage, and make sure all the new code in Model.js is covered? https://github.com/AnalyticalGraphicsInc/cesium/tree/master/Documentation/Contributors/TestingGuide#run-all-tests-with-code-coverage-build-instrumentforcoverage-first

Ran code coverage; model.js has 98% coverage. There is only one spot in my code that isn't well covered here
Needing to fill in identity uniforms for mismatched cases isn't tested for all data types, mat4 is touched by the CesiumMilkTruck-Mismatch test. Do we want more mismatched test models to cover all of those cases, or is what we have sufficient?

@pjcozzi I think I hit all of your suggestions; this should be ready for another look whenever you're ready

Do we want more mismatched test models to cover all of those cases, or is what we have sufficient?

If it is easy enough, then let's do it, but I'd prefer to limit the total number of test models so we don't bloat the repo, so ideally we would have one test model that covers all the mismatch cases.

Updated.

If it is easy enough, then let's do it, but I'd prefer to limit the total number of test models so we don't bloat the repo, so ideally we would have one test model that covers all the mismatch cases.

I agree; I need to think about this a little bit to see if I can come up with a clever way to integrate them all into one simple model.

If it is easy enough, then let's do it, but I'd prefer to limit the total number of test models so we don't bloat the repo, so ideally we would have one test model that covers all the mismatch cases.
I agree; I need to think about this a little bit to see if I can come up with a clever way to integrate them all into one simple model

Sounds good.  I will do a final review of this in the meantime.  Once we give it the OK, I still want to wait to merge it until gltf-pipeline is ready, then we'll merge both, and this will ship in Cesium 1.23.

Also merge in master to fix probably a trivial conflict in CHANGES.md.

Just those minor comments.

I just had a look at the changes. This seems all fine - thanks a lot for letting me have a look. Keep up the great work!

@pjcozzi Updated. The MilkTruck mismatch model now has mismatched VEC4 - POSITION, VEC3 - NORMAL, and VEC2 - TEXCOORD which covers all mismatched cases. Code coverage confirms this.

@mlimper once again, thanks so much for the review!  It is deeply appreciated.

@lasalvavida test coverage and everything else look great!  I added a task list to the top of this issue so that we'll merge this when other dependencies are merged.
This will ship in Cesium 1.23 no problem!

@lasalvavida merge master.  There is probably a trivial conflict in CHANGES.md.

Will do. I'm also going to quickly add a simple Box test for SCALAR attributes.

Updated

Nice!  This is close.  We just need:

[ ] Add checkbox to online model converter

@lasalvavida can you merge in master?  There is probably a trivial conflict in CHANGES.md.

@pjcozzi The checkbox has been added. This should be good to merge whenever you're ready.

@pjcozzi The checkbox has been added. This should be good to merge whenever you're ready.

I tested with the Cesium aircraft and balloons models, and it produced the same models with and without checking the quantization box.

@pjcozzi I tried to reproduce but I actually can't get the online model converter to work at all right now. It just says An unkown error has occured.

I'm also seeing some errors on the page:

I tested with the Cesium aircraft and balloons models, and it produced the same models with and without checking the quantization box.

That's doesn't seem right, those models are being quantized fine when I run the converter locally.

@lasalvavida can you merge in master?

@pjcozzi done

Code coverage looks good!
This is most likely ready to merge, but I want to wait for https://github.com/AnalyticalGraphicsInc/gltf-pipeline/pull/97#issuecomment-229446823 and https://github.com/AnalyticalGraphicsInc/gltf-pipeline/pull/97#issuecomment-229447996 in case they reveal any issues in Cesium.


Delete unused config in ompl planning tutorial

Description
It looks like this config folder is not used at all. Instead, moveit_resources_panda is used.

Ah, I understand better now. That config file was left as an example. I still think it's better to remove it b/c one would expect the config file in the folder to be the one that's used. Done.
(Also fixed a launch typo)


Typescript definition support

Hello, just wondering whether this is somewhere in the pipeline of things to add for the library?
TypeScript support is really the way to go in my humble opinion since it is become more and more prominent in the angular world.
Best regards,
Dennis

Hi,
What exactly would you expect when you say definition support?? I'm not familiarized with Typescript yet, but I think the only way to do it compatible is to rewrite commangular with typescript. If not.. I really don't know what I have to add to give that support.

Simply stated, a TypeScript definition file lets you work with ES5 code (in this case commangular) in a TypeScript way.
@see https://github.com/borisyankov/DefinitelyTyped
@see http://www.typescriptlang.org/Handbook#writing-dts-files
The question was more if you were considering supporting this already, not a call to action.
It is an open source community so who knows when it will pop up ;)
Cheers

@see https://github.com/DefinitelyTyped/DefinitelyTyped/pull/6064/


Implement extensions/plugins in separate modules through runtime inheritance

Solve lookup of "any identifiers (in the SId namespace of the model) belonging to an object class defined by an SBML Level 3 package as having mathematical meaning." (validation rule 10215 reference)


Unable to download Next Major artifacts or create a container with it.

PLEASE DO NOT INCLUDE ANY PASSWORDS OR TOKENS IN YOUR ISSUE!!!
Describe the issue
Unable to download Next Major artifacts or create a container with it as its get an error.
Full output of scripts
PS C:\Windows\system32> New-BcContainer -accept_eula -artifactUrl "........." -assignPremiumPlan -isolation process
BcContainerHelper is version 5.0.3
BcContainerHelper is running as administrator
HyperV is Disabled
UsePsSession is True
Host is Microsoft Windows Server 2016 Standard - 10.0.14393.5921
Docker Client Version is 19.03.14
Docker Server Version is 19.03.14
Removing Session bcserver
Removing container bcserver
Removing Desktop shortcuts
Removing C:\ProgramData\BcContainerHelper\Extensions\bcserver
Downloading artifact /sandbox/23.0.11333.0/w1
Downloading C:\Users\user1\AppData\Local\Temp\f0dceebc-a76e-496f-84ef-cae69b5b0745.zip
Downloading using WebClient
Could not download from CDN..., retrying from blob storage in 2 seconds...
Downloading using WebClient
Download-Artifacts Telemetry Correlation Id: 636fc993-4c46-4043-90dd-3adb5b344a11
New-BcContainer Telemetry Correlation Id: e831cdf9-c135-40c4-9b56-7391157ec67f
Exception calling "DownloadFile" with "2" argument(s): "The remote server returned an error: (403) Forbidden."
Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.
AuthenticationFailedServer failed to authenticate the request. Make sure the value of Authoriz
ation header is formed correctly including the signature.
RequestId:e8080987-401e-0021-3138-ab084f000000
Time:2023-06-30T09:53:06.7295040ZSignature fields not well formed.
At C:\Program Files\WindowsPowerShell\Modules\BcContainerHelper\5.0.3\Common\Download-File.ps1:98 char:17

            throw (GetExtendedErrorMessage $_)

            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : OperationStopped: (Exception calli...Detail>:String) [], RuntimeException
FullyQualifiedErrorId : Exception calling "DownloadFile" with "2" argument(s): "The remote server returned an error: (403) Forbidden."
Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.

AuthenticationFailedServer failed to authenticate the request. Make sure the value of Aut
horization header is formed correctly including the signature.
RequestId:e8080987-401e-0021-3138-ab084f000000
Time:2023-06-30T09:53:06.7295040ZSignature fields not well formed.

The url I copied from GetArtifacts Url , wasn't copied all the way, and special characters were inserted.


Problem: We don't know what to put in a governance document

What should we include in the first iteration of a 'good-enough' governance process?
References

Moore, Sam. "Exploring Models for Community Governance." (2021).
Lazy Consensus | Apache Software Foundation
Voting and vetoes | Galaxy Project

Good job, team!


build failed

does build failed means this them isn't working?
I was using it and it was going good. after reinstall the gem now it isn't work no more and the style is broken

The "build failed" icon means that the unit tests are not running cleanly at this time. It is not directly related to your issue, which I don't have enough information to help with from your description.


Copy component does not copy and is also missing from the docs

Copy is exported and available to use, but it's not actually documented. Running yarn build:docs doesn't seem to create any docs either.
Copy is also a poor name since it doesn't actually have any of the copying logic. It appears to be a component that provides feedback via a popover (not the popover component, to be clear) when clicked. CopyButton uses Copy as a wrapper and provides the actual copying logic here.

Copy has been removed in v0.62.0.


Update menu styles so they position nicely within the new wicket grid

Hey @steveswinsburg. I've cleaned up the styles to match the new grid.  I tried to add a css class 'title' to the column headers where possible.  However, I wasn't sure how to do that for the Course Grade column.. I'm sure there's a trick I'm missing!  It'd be great if we can keep the markup consistent between columns and headers to keep the CSS/Javascript from getting crazy ;)

Ah.. and also I don't think there's anything that precludes using the wicket:ids on these menu links. I haven't changed the template for any of these links, so as longs as we put the wicket callback on the anchor and retain the bootstrap-esque markup we'll be good.

Ok awesome, and yes I'll make sure we get consistent markup. Feel free to adjust the HTML if you need, just leave the wicket:ids on there. Cheers :)


Added admin client support for listing table names

This pull request adds a new admin client method named ListTableNamesByNamespace (same name as the HBase protobuf interface command). Given a context and a namespace, it will return a list of table names.
It is currently possible to achieve by scanning the hbase:meta table, but since it is keyed by both table and region, it doesn't scale well to large HBase installations where tables may have a very large amount of regions (for my particular case, this change reduced response time from multiple seconds to <1 second).

Codecov Report

Merging #97 into master will decrease coverage by 0.5%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master      #97      +/-   ##
==========================================
- Coverage   58.85%   58.34%   -0.51%
==========================================
  Files          21       22       +1
  Lines        2134     2156      +22
==========================================
+ Hits         1256     1258       +2
- Misses        806      827      +21
+ Partials       72       71       -1

Impacted Files
Coverage Δ

admin_client.go
0% <0%> (ø)
:arrow_up:

hrpc/list.go
0% <0%> (ø)

region/client.go
82.57% <0%> (+0.82%)
:arrow_up:

Continue to review full report at Codecov.

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

implemented via https://github.com/tsuna/gohbase/pull/124


IMAP Hi Histogram L1A processing

Change Summary
Add L1A processing of Hi Hist packets.
Overview
I am opening this PR before finalizing test coverage in order to get feedback before fully fleshing out test coverage.
New Dependencies
None
New Files

imap_processing/hi/l1a/histogram.py

House the L1A processing specific to the hist packet (SCI_CNT)

Deleted Files
None
Updated Files

imap_processing/hi/hi_cdf_attrs.py

add histogram specific cdf attributes

imap_processing/hi/l1a/hi_l1a.py

add code into branch for processing histogram packets
add branch for unexpected APIDs with logging

imap_processing/hi/packet_definitions/hi_packet_definition.xml

Modify xtce definition for Hi histogram packets, breaking out ESA_STEP and ACQ_START fields

imap_processing/test/hi/test_l1a.py

preliminary test coverage for L1A processing of histogram packets

Testing
One unit test added - I plan to refine this test and possibly add more after getting initial feedback

You do still need to appease pre-commit it looks like before merging.

@all-contributors please add @subagonsouth for code!


Fix annotations

This PR adds the annotation flag to apko build for equivalence with publish.
It also fixes a bug where the annotations from the yaml config were deleted.
This PR could do with some tests - I'd appreciate any advice on where/how to add these.

Looks good, can we get a test as well?

Yeah, I wanted to do this, but wasn't quite sure where to put it! I was hoping there was a similar test I could crib from.


dont skip layer providers

Sometimes the requests for empty collections are faster then requests that return collections with data. I replaced the takeWhile with a take and a filter

 Layerliste wird nach laden des UI nicht angezeigt

I don't think this is a good solution. Now, we query 10x even though we could stop after the first batch.
Here is my take:
diff --git a/projects/core/src/lib/datasets/add-data/add-data.component.ts b/projects/core/src/lib/datasets/add-data/add-data.component.ts
index 26106181..f50870c8 100644
--- a/projects/core/src/lib/datasets/add-data/add-data.component.ts
+++ b/projects/core/src/lib/datasets/add-data/add-data.component.ts
@@ -1,5 +1,5 @@
 import {Component, OnInit, ChangeDetectionStrategy, Input} from '@angular/core';
-import {filter, mergeMap, Observable, range, reduce, take} from 'rxjs';
+import {concatMap, first, Observable, range, reduce, takeWhile} from 'rxjs';
 import {LayerCollectionNavigationComponent} from '../../layer-collections/layer-collection-navigation/layer-collection-navigation.component';
 import {LayerCollectionService} from '../../layer-collections/layer-collection.service';
 import {LayoutService, SidenavConfig} from '../../layout.service';
@@ -47,12 +47,11 @@ export class AddDataComponent implements OnInit {
         const MAX_NUMBER_OF_QUERIES = 10;
         const BATCH_SIZE = 20;
         return range(0, MAX_NUMBER_OF_QUERIES).pipe(
-            mergeMap((i) => {
+            concatMap((i) => {
                 const start = i * BATCH_SIZE;
-                return layerService.getRootLayerCollectionItems(start, BATCH_SIZE);
+                return layerService.getRootLayerCollectionItems(start, BATCH_SIZE).pipe(first());
             }),
-            take(MAX_NUMBER_OF_QUERIES),
-            filter((collection) => collection.items.length > 0),
+            takeWhile((collection) => collection.items.length > 0),
             reduce((acc, collection) => {
                 const buttons: Array<AddDataButton> = collection.items.map((item) => ({
                     name: item.name,
``

i tested your suggestion and it also works fine. so why not

bors merge

bors merge


x/tools/gopls: lsprpc.go errors

gopls version
--
go env
set GO111MODULE=
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\MSI\AppData\Local\go-build
set GOENV=C:\Users\MSI\AppData\Roaming\go\env
set GOEXE=.exe
set GOEXPERIMENT=
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=C:\Users\MSI\go\pkg\mod
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=C:\Users\MSI\go
set GOPRIVATE=
set GOPROXY=https://proxy.golang.org,direct
set GOROOT=C:\Program Files\Go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLCHAIN=auto
set GOTOOLDIR=C:\Program Files\Go\pkg\tool\windows_amd64
set GOVCS=
set GOVERSION=go1.23.1
set GODEBUG=
set GOTELEMETRY=local
set GOTELEMETRYDIR=C:\Users\MSI\AppData\Roaming\go\telemetry
set GCCGO=gccgo
set GOAMD64=v1
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=0
set GOMOD=F:\Documents\go prj\base\go.mod
set GOWORK=
set CGO_CFLAGS=-O2 -g
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-O2 -g
set CGO_FFLAGS=-O2 -g
set CGO_LDFLAGS=-O2 -g
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -fno-caret-diagnostics -Qunused-arguments -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=C:\Users\MSI\AppData\Local\Temp\go-build655128628=/tmp/go-build -gno-record-gcc-switches

What did you do?
I was customizing visual studio code to work with golang, and ran into errors when installing the language server.
What did you see happen?
I saw some undefined errors in lsprpc.go in the terminal.
What did you expect to see?
Completing the gopls installation without errors.
Editor and settings
{
"workbench.colorTheme": "Rapture"
}
Logs
--

Related Issues and Documentation

x/tools/gopls: unable to find package #38271 (closed)
x/tools/gopls:  #39980 (closed)
x/tools/gopls: keeps crashing in VSCode on fresh go installation #66028 (closed)
x/tools/gopls: reporting "no views" when starting ( go installed from msys2 ) #68305 (closed)
x/tools/cmd/gopls: panic "illegal file offset" #32639 (closed)
x/tools/gopls: support gopls for 1.12 (current - 4) #39146 (closed)
gopls: Unable to build on vscode #35531 (closed)
x/tools/gopls: Go error notification #44693 (closed)
x/tools/gopls: could not import  xxxx (no package for import xxxx) #42828 (closed)
x/tools/gopls: gopls crash with vscode-go in remote development #39789 (closed)

(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)

I saw some undefined errors in lsprpc.go in the terminal.

Could you be more specific as to

which version of gopls are you using;
which errors have you seen?

* which version of gopls are you using;

* which errors have you seen?

Gopls is not installed due to errors. The latest version on golang.org is 0.16.2.

C:\Users\MSI\go\pkg\mod\golang.org\x\tools\gopls@v0.16.2\internal\lsprpc\lsprpc.go:104:10: undefined: autoDialer
C:\Users\MSI\go\pkg\modules\golang.org\x\tools\gopls@v0.16.2\internal\lsprpc\lsprpc.go:119:17: undefined: newAutoDialer
C:\Users\MSI\go\pkg\modules\golang.org\x\tools\gopls@v0.16.2\internal\lsprpc\lsprpc.go:147:16: undefined: autoNetwork
C:\Users\MSI\go\pkg\modules\golang.org\x\tools\gopls@v0.16.2\internal\lsprpc\lsprpc.go:526:15: undefined: autoNetwork
C:\Users\MSI\go\pkg\modules\golang.org\x\tools\gopls@v0.16.2\internal\lsprpc\lsprpc.go:527:10: undefined: autoNetwork

what's in<EMAIL_ADDRESS>

what's in<EMAIL_ADDRESS>
There is no such file in the path you specified.

what's in<EMAIL_ADDRESS>
There is no such file in the path you specified.

that would be your issue then
something on your system (maybe antivirus or similar) is interfering with the go module cache and corrupting module downloads.
this is outside the control of go.


How to incorporate google tag manager into Nuxt?

Hello,
I'm struggling to put google tag manager into nuxt. I just need to inject the script onto the page and then for vue to use it.
Thanks

Try google tag manager module

@awronski Thank you! Works wonder

This module does not exist anymore.

@adrianoresende it exist, link wrong https://github.com/nuxt-community/modules/tree/master/packages/google-tag-manager
Although the one you linked seems like a valid one too. Dont know what the differences :)


Introduce Bulk Delete

This feature is now available at RepoDb.SqlServer.BulkOperation (>= v1.0.4-beta3)


[opentelemetry-cpp] Update to v1.8.2

[x] Changes comply with the maintainer guide
[x] SHA512s are updated for each updated download
[ ] The "supports" clause reflects platforms that may be fixed by this new version
[ ] Any fixed CI baseline entries are removed from that file.
[x] Any patches that are no longer applied are deleted from the port's directory.
[x] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[x] Only one version is added to each modified port's versions file.

All features test pass on the following triplets:
x86-windows
x64-windows
x64-windows-static


Output size difference is always the same size as actual output

Hi,
Love the idea of this plugin ! Has anybody got it working ?
For me the output of the plugin is always the same the actual file size output, i.e. it never compares with previous builds
I.e. sample output
vendors~admin~create-bet~login.bundle.9aa89c670076013d8fb7.js ⏤  20.9 kB (+20.9 kB)
                                                      main.css ⏤  2.18 kB (+2.18 kB)
                           main.bundle.ca78aa7c8d6b80d6a794.js ⏤  8.28 kB (+8.28 kB)
                                                         2.css ⏤  107 B (+107 B)
                      dashboard.bundle.c2606a256910c68c213f.js ⏤  1.17 kB (+1.17 kB)
                     create-bet.bundle.3b2e0767f6308ec7e4ca.js ⏤  1.23 kB (+1.23 kB)
                                                         4.css ⏤  205 B (+205 B)
                          admin.bundle.5740df303ba85130515a.js ⏤  3.02 kB (+3.02 kB)
                          login.bundle.96773d2bb3d6c67df42a.js ⏤  1.04 kB (+1.04 kB)
                   vendors~main.bundle.73fbc0215d9b89852b15.js ⏤  149 kB (+149 kB)
                                                    index.html ⏤  541 B (+541 B)

And here is my sample webpack config  :
https://github.com/stevenfitzpatrick/mybettingslips/blob/master/build-utils/webpack.prod.js
And yes I tried to change the order of the size plugin putting it first / last always same result.

I have the same issue. I would expect plugin to create some file which is used to compare the size, but nothing like this is happening.

Are you using a plugin to clear your output directory? If so, that will break this plugin.
#6 provides a way forward that would circumvent this issue.

Yes, @developit I am using rimraf I think this issue could be closed in favour of #6

Looks like this might also be releated to [chunkhash], which I just added support for.


Maven repository down?

I'm getting this when I try to build:
Steves-iMac:PreferencesFX shannah$ gradle jar
:compileJava

FAILURE: Build failed with an exception.

* What went wrong:
Could not resolve all dependencies for configuration ':compile'.
> Could not find at.bestsolution.efxclipse.rt:org.eclipse.fx.ui.controls:3.0.0.
  Searched in the following locations:
      https://jcenter.bintray.com/at/bestsolution/efxclipse/rt/org.eclipse.fx.ui.controls/3.0.0/org.eclipse.fx.ui.controls-3.0.0.pom
      https://jcenter.bintray.com/at/bestsolution/efxclipse/rt/org.eclipse.fx.ui.controls/3.0.0/org.eclipse.fx.ui.controls-3.0.0.jar
      https://repo1.maven.org/maven2/at/bestsolution/efxclipse/rt/org.eclipse.fx.ui.controls/3.0.0/org.eclipse.fx.ui.controls-3.0.0.pom
      https://repo1.maven.org/maven2/at/bestsolution/efxclipse/rt/org.eclipse.fx.ui.controls/3.0.0/org.eclipse.fx.ui.controls-3.0.0.jar
      https://jitpack.io/at/bestsolution/efxclipse/rt/org.eclipse.fx.ui.controls/3.0.0/org.eclipse.fx.ui.controls-3.0.0.pom
      https://jitpack.io/at/bestsolution/efxclipse/rt/org.eclipse.fx.ui.controls/3.0.0/org.eclipse.fx.ui.controls-3.0.0.jar
      http://maven.bestsolution.at/efxclipse-releases/at/bestsolution/efxclipse/rt/org.eclipse.fx.ui.controls/3.0.0/org.eclipse.fx.ui.controls-3.0.0.pom
      http://maven.bestsolution.at/efxclipse-releases/at/bestsolution/efxclipse/rt/org.eclipse.fx.ui.controls/3.0.0/org.eclipse.fx.ui.controls-3.0.0.jar
  Required by:
      com.dlsc:PreferencesFX:1.3.0-SNAPSHOT

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 7.737 secs

Am I doing something wrong?  Is there a jar only distribution I can download directly without having to build it?

We are planning to deploy the project to jcenter and maven central soon. Until then you will need to build the JAR yourself. I am hoping that the missing dependency will be available soon.

On 5 Apr 2018, at 21:44, Steve Hannah<EMAIL_ADDRESS>wrote:
I'm getting this when I try to build:
Steves-iMac:PreferencesFX shannah$ gradle jar
:compileJava
FAILURE: Build failed with an exception.

What went wrong:
Could not resolve all dependencies for configuration ':compile'.

Could not find at.bestsolution.efxclipse.rt:org.eclipse.fx.ui.controls:3.0.0.
Searched in the following locations:
https://jcenter.bintray.com/at/bestsolution/efxclipse/rt/org.eclipse.fx.ui.controls/3.0.0/org.eclipse.fx.ui.controls-3.0.0.pom
https://jcenter.bintray.com/at/bestsolution/efxclipse/rt/org.eclipse.fx.ui.controls/3.0.0/org.eclipse.fx.ui.controls-3.0.0.jar
https://repo1.maven.org/maven2/at/bestsolution/efxclipse/rt/org.eclipse.fx.ui.controls/3.0.0/org.eclipse.fx.ui.controls-3.0.0.pom
https://repo1.maven.org/maven2/at/bestsolution/efxclipse/rt/org.eclipse.fx.ui.controls/3.0.0/org.eclipse.fx.ui.controls-3.0.0.jar
https://jitpack.io/at/bestsolution/efxclipse/rt/org.eclipse.fx.ui.controls/3.0.0/org.eclipse.fx.ui.controls-3.0.0.pom
https://jitpack.io/at/bestsolution/efxclipse/rt/org.eclipse.fx.ui.controls/3.0.0/org.eclipse.fx.ui.controls-3.0.0.jar
http://maven.bestsolution.at/efxclipse-releases/at/bestsolution/efxclipse/rt/org.eclipse.fx.ui.controls/3.0.0/org.eclipse.fx.ui.controls-3.0.0.pom
http://maven.bestsolution.at/efxclipse-releases/at/bestsolution/efxclipse/rt/org.eclipse.fx.ui.controls/3.0.0/org.eclipse.fx.ui.controls-3.0.0.jar
Required by:
com.dlsc:PreferencesFX:1.3.0-SNAPSHOT

Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED
Total time: 7.737 secs
Am I doing something wrong? Is there a jar only distribution I can download directly without having to build it?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/dlemmermann/PreferencesFX/issues/2, or mute the thread https://github.com/notifications/unsubscribe-auth/AJF7XU44NK26cB-6wygCs1EtobJDPKB8ks5tlnQCgaJpZM4TJDEW.

For the meantime I made a shadowJar containing all dependencies and am putting it out here for anyone who wants it:
PreferencesFX-1.3.0-SNAPSHOT.zip

Thanks.  Looks like the repo's back up now also.


Question

Is it possible to use keyv sqlite or with mongodb in multiple processes at same time?
I mean one database with two diff processes?

Hi @KasaiKonoru - yes you can run multiple instances at the same time. In this example you will see multiple instances of the same data store using name spacing:
const users = new Keyv('redis://user:pass@localhost:6379', { namespace: 'users' });
const cache = new Keyv('redis://user:pass@localhost:6379', { namespace: 'cache' });

await users.set('foo', 'users'); // true
await cache.set('foo', 'cache'); // true
await users.get('foo'); // 'users'
await cache.get('foo'); // 'cache'
await users.clear(); // undefined
await users.get('foo'); // undefined
await cache.get('foo'); // 'cache'

if you are wanting to use two different storage adapters you can easily do that by just creating a new instance of each:
const keyvMongo = new Keyv('mongodb://user:pass@localhost:27017/dbname');
const keyvSqlite = new Keyv('sqlite://path/to/database.sqlite');

//then just use them from the instance you want.

if you are looking to use them the same then check out @keyv/tiered package:
const Keyv = require('keyv');
const KeyvSqlite = require('@keyv/sqlite');
const KeyvTiered = require('@keyv/tiered');
const remoteStore = () => new Keyv({
	store: new KeyvSqlite({
		uri: 'sqlite://test/testdb.sqlite',
		busyTimeout: 30_000,
	}),
});
const localStore = () => new Keyv();
const remote = remoteStore();
const local = localStore();
const store = new KeyvTiered({remote, local});
const keyv = new Keyv({store});
keyv.on('error', handleConnectionError);

Thanks But I mean:
I can use the same database from anaother node js project? 2 different applications with one database?

Yes you totally can. For MongoDb the default collection is keyv

Nice. Thank you


About LSSViewTransformerBEVStereo and LSSViewTransformerBEVDepth

Hi, thanks again for your great work!
I have a qustion about the LSSViewTransformerBEVStereo  . The code is:
class LSSViewTransformerBEVStereo(LSSViewTransformerBEVDepth):
    def __init__(self,  **kwargs):
        super(LSSViewTransformerBEVStereo, self).__init__(**kwargs)
        # (D, fH_stereo, fW_stereo, 3)  3:(u, v, d)
        self.cv_frustum = self.create_frustum(kwargs['grid_config']['depth'],
                                              kwargs['input_size'],
                                              downsample=4)

Whats the difference between LSSViewTransformerBEVDepth and LSSViewTransformerBEVStereo? Since  self.cv_frustum is not used.

https://github.com/Yzichen/FlashOCC/blob/0b424984e922a006b4e4b99832f853e6dca0b591/projects/mmdet3d_plugin/models/detectors/bevstereo4d.py#L84-L94
In fact, it is used, in order to calculate the stereo depth.

thanks!


(MVP) Build an Alert that shows up after form submissions.

Use the UIKit "modal Overlay" structure to display a clean Notification alert, when Files are submitted. Good for feedback/responsiveness of the app, and the "feel" of the website.

***As a secondary change; we should prevent submissions for incomplete forms. This would avoid creating websites with missing parameter fields.


GPG keys dont have user ID

I have been trying to use this to convert an RSA to a PGP for signing but I can't seem to get it to produce a key with a user ID that's correct
 # Generate the private key with user ID
 81           nix --experimental-features 'nix-command flakes' run \
 82             github:Mic92/ssh-to-pgp/289ffc2651b797327afa6e5c74cdcd510a52b71a \
 83             -- \
 84             -name "Key" \
 85             -comment "hello" \
 86             -email<EMAIL_ADDRESS>\
 87             -private-key \
 88             -i ~/.ssh/id_rsa \
 89             -o private_key.gpg
 90
 91           # Generate the public key with user ID
 92           nix --experimental-features 'nix-command flakes' run \
 93             github:Mic92/ssh-to-pgp/289ffc2651b797327afa6e5c74cdcd510a52b71a \
 94             -- \
 95             -name "Key" \
 96             -comment "hello" \
 97             -email<EMAIL_ADDRESS>\
 98             -i ~/.ssh/id_rsa \
 99             -o public_key.gpg

+ gpg --batch --import public_key.gpg
gpg: directory '/home/runner/.gnupg' created
gpg: WARNING: server 'keyboxd' is older than us (2.4.4 < 2.4.5)
gpg: Note: Outdated servers may lack important security fixes.
gpg: Note: Use the command "gpgconf --kill all" to restart them.
gpg: key B942DXXXXXXXXXX: new key but contains no user ID - skipped
gpg: Total number processed: 1
gpg:           w/o user IDs: 1
+ gpg --batch --import private_key.gpg
gpg: WARNING: server 'keyboxd' is older than us (2.4.4 < 2.4.5)
gpg: Note: Outdated servers may lack important security fixes.
gpg: Note: Use the command "gpgconf --kill all" to restart them.
gpg: key B942DXXXXXXXXXX: new key but contains no user ID - skipped
gpg: key B942DXXXXXXXXXX: failed to re-lookup public key: No public key
gpg: error reading 'private_key.gpg': No public key
gpg: import from 'private_key.gpg' failed: No public key
gpg: Total number processed: 0
gpg:           w/o user IDs: 1
gpg:       secret keys read: 1

Not sure if I'm missing anything but it looks like the user id is not being added to the keys

I also stumbled upon this.
Looks like 88e2c92fc406502b518a46aac59ef42723804d7e introduced this behavior.
I'm using version 1.1.2 as a workaround, which doesn't contain this commit.

Same here -- if you try to import with --allow-non-selfsigned-uid, the resulting key is imported with a R (restricted) flag:
pub   rsa4096/0xAAF923671E232ADE 1970-01-01 [SCEAR]
      Key fingerprint = D35D 58BE D6E4 3D3C 981B  70CE AAF9 2367 1E23 2ADE
uid                   [ unknown] root (Imported from SSH) <root@localhost>

GPG then refuses to encrypt anything with this public key:
$ sops secrets.yaml
Error encrypting the data key with one or more master keys: [failed to encrypt new data key with master key "d35d58bed6e43d3c981b70ceaaf923671e232ade": could not encrypt data key with PGP key: github.com/ProtonMail/go-crypto/openpgp error: key with fingerprint 'd35d58bed6e43d3c981b70ceaaf923671e232ade' is not available in keyring; GnuPG binary error: failed to encrypt sops data key with pgp: gpg: d35d58bed6e43d3c981b70ceaaf923671e232ade: skipped: Unusable public key
gpg: [stdin]: encryption failed: Unusable public key]

If someone wants to switch back to golang's pgp library, I would merge the change. I personally don't see any utility for this tool anymore. I use mostly age or ed25119 ssh keys. And sops itself supports gnupg out-of-the box.

No you don't need to use the ssh rsa host key. Just convert the ed25519 host key to age and use that.


Make .exec() return promise when no callback is provided. (To be used with generators/node-fibers async workflow)

When using promises in waterline models is necessary to call then to execute the query, which is perfect, but if one is using synchronous-like workflow by using generators or a library like asyncawait or co or even ES7 async/await in the future, calling .then sounds confusing when reading it. So i'm proposing a little syntactic sugar to use in these cases.
Making exec to return a promise when called with no callback argument, or an alias like defer or execAsync  to the then method.
Here is the current workflow using ES7 async/await (Just for simplicity):
Note: When using a library like yortus asyncawait, those keywords are actually functions and when using using generators, the yield keyword is used instead of await.
// Some requires
var User = Waterline.Collection.extend({/* ... */}});
async function() {
    try {
      var data = await User.find().then();
      console.log('results', data);
    } catch (error) {
      // Handle error
    }
}

Proposed sugar method worflow
// Some requires
var User = Waterline.Collection.extend({/* ... */});
async function() {
    try {
      var data = await User.find().exec();
      console.log('results', data);
    } catch (error) {
      // Handle error
    }
}

I think this feature makes makes the code more readable when using this kind of workflow, which is something we all probably will be using in the near future, if not already....
Pst: This is my first time proposing a feature here, if i made a mistake, please let me know :)

Hi @Zaggen, this looks interesting. Tell me, is returning a promise for .exec() a best practice or a common thing in a synchronous-like workflow? I mean would people using such workflow expect for .exec() to return a promise?
I would say this shouldn't be too difficult, the changes should be done in deferred.js but I'd like to understand if this is where the community is going towards.

Hi @dmarcelino,  indeed for this to work a promise is needed,  it will only work with one.

Hey @Zaggen, my question was more in the sense to figure out what people are already using outside waterline/sails. Is there any convention for what that keyword should be?
To me it looks like the solution would be for the CRUD methods to return the promise, such as:
var data = await User.find();

@dmarcelino Not quite sure, i don't think there is already a convention for dealing with this workflows and any ORM in js, but i think we should follow the sync conventions used by others frameworks/ORM in any language, like Active Record on Rails, so just as you proposed, that should be the cleanest way to do it, i just thought it could be complex that way, but if it is doable with out breaking much, what you proposed should be the best pattern.

If the deferred class inherited from Promise, would that work for us?
https://github.com/balderdashy/waterline/blob/master/lib/waterline/query/deferred.js
I'd rather .exec not return a promise, since it seems it's specifically for callbacks.  Also, even though waterline doesn't allow this right now, User.create({}).exec() could definitely appear to be a no-op on create.

If the deferred class inherited from Promise, would that work for us?

I believe so, yes.

@dmarcelino Does waterline optimize the query to be executed when exec() is called? I mean, if i call user.find().limit(5), those 2 chained methods result in a single query right?, if that the case, then there is no way (at least to me) to know which chainable method is supposed to be the last one and call exec internally to return a promise, so i  was thinking, that maybe we could make all of those query methods (find,limit,etc) to return a promise-like obj, that we can chain methods to it, with out using then (so we have the same interface that you proposed), and we can make a call to setInmediate() to call .exec().then() on that promise-like obj, and trigger the db call. Does this makes sense?, i'm not quite sure on how to implement that promise-like obj/state machine, but if you guys think this is a good idea, i might get hands into it and make a PR, i haven't read any of the waterline internals so it might take a while, but i'm guessing i'm the only one needing this right now, but i hope everybody starts using this feature soon.
Let me know what you think, if there is an easier or better approach to this, or else.

if i call user.find().limit(5), those 2 chained methods result in a single query right?

Precisely.

then there is no way (at least to me) to know which chainable method is supposed to be the last one

Not sure about this part either...

maybe we could make all of those query methods (find,limit,etc) to return a promise-like obj, that we can chain methods to it

I'm not sure how promise-like deferred.js is but it's already being returned by those chain methods.

I'm not sure how promise-like deferred.js is but it's already being returned by those chain methods.
In that case it might be easier, i'll check into it.

@dmarcelino @devinivy I finally took the time to read deferred.js, and after reading it i realized that it already has what we need, since like dario said, is a promise-like fn, it has a then method that promisifies exec and calls it to return a real promise, and that .then method on the defered is all that it needs to work. I should have test it before waiting to have time to read the file though, but at least is good news, the functionality is already there, it might be a good idea to add some info to the docs regarding this.
Note: I've test it with yortus asyncawait and co + generators and works as expected.
# Using coffeescript for simplicity

# co + generators
co ->
    data = yield Service.find()

# asyncawait
do async ->
    data = await Service.find()

Good to know it works, thanks for letting us know!

@dmarcelino You welcome. It seems waterline is even better that i thought :)

but when we use exec method, it is not return promise object, it is still a callback method.
let user = await User.find({username: "test"}).populate("userRole").exec()

that will return error back.

@clonn sorry, that's not supported.  exec() is specifically for use with callbacks.

@clonn When i initially suggested this feature, i assumed generators/fibers needed a real promise, that is why i was using it like this: await User.find().then() , i did thought that it would be ideal to just remove the .then and it'll get clearer, just as any synchronous api (like in rails) , just as @dmarcelino suggested,  but i just didn't tried that option.
So after reading the deferred 'class' i realized there was no need to do such change as returning a promise when .exec() is called with no callback (which was clearer empty and lone .then but not as clear as with nothing after the query op) , .exec() as @devinivy pointed out, is designed for callbacks and should remain in that way.
The thing is, generators/fibers don't care if is not a full implementation of a promise, as long as is a thenable (an object that has a then method) and that thenable in turn returns a real promise, this is because they are pretty much iterators (with push-pull capabilities), so in this case waterline returns a deferred, which has the .exec and .then methods, among others, and that then method returns a promise, so our generator iterates on the first .then and then the second one.
So just don't add .exec or .then at the end, it works as it is right now and is way better than what i suggested.
Like this:
let user = await User.find({username: "test"}).populate("userRole")
Pst: There are more options to use with generators than just promises like thunks, arrays (for parallel execution), generators, etc.

Thanks for compiling this info!

@devinivy You welcome, i hope it helps those interested in using waterline with generators/fibers  :)

@Zaggen  thanks for your explain, i discover that, when we use sails.js 0.11.2, it used "waterline": "~0.10.17", that is not fully support promise yet.
if need use await, have to install newer than "waterline": "^0.10.28", it works well.
thanks


datapicker popup format is ignored

I am using following popup format
e-uib-datepicker-popup="yyyy-MM-dd"
however, when I load the page and start editing my form, the date 05/15/1984 is shown as
Tue May 15 1984 00:00:00 GMT-0400 (Eastern Daylight Time)
I tried to set e-datepicker-options but it didn't help
while looking at the source code, I can see datepicker-popup being set twice:
inputDatePicker.attr('datepicker-popup', this.attrs.eDatepickerPopupXEditable || 'yyyy/MM/dd' );
inputDatePicker.attr('is-open', this.attrs.eIsOpen);
inputDatePicker.attr('date-disabled', this.attrs.eDateDisabled);
inputDatePicker.attr('datepicker-popup', this.attrs.eDatepickerPopup);
can this cause the bug?
thanks!
We have following versions:
angular 1.4.7,
bootstrap 3.3.4
angular-bootstrap 1.1.2
angular-xeditable 0.1.9

@sveller , you can easily find out yourself - just comment out one line or another and try.
Would be great if you submit a pull request with a fix.

@eugef,
no luck - even if I hardcode
inputDatePicker.attr('datepicker-popup', 'dd/MM/yyyy' );
I still get date shown the same way as before
Tue May 15 1984 00:00:00 GMT-0400 (Eastern Daylight Time)

@sveller I think the issue is because you are appending "uib" into your property.  You would need to update the source code to retrieve uib-datepicker-popup value and set it on the tag.

ive noticed that you may need to add an e-init-date attribute also, that together with (e-uib-datepicker-popup="yyyy-MM-dd") fixed the format on the input when the calendar is clicked.


Missing parent: GO:0160103   tRNA (guanine(26)-N2/guanine(27)-N2)-dimethyltransferase activity

GO term ID and label for which you request a new superclass

GO:0160103   tRNA (guanine(26)-N2/guanine(27)-N2)-dimethyltransferase activity

New superclass (parent) suggested

shouldn't this be is_a
GO:0004809 | tRNA (guanine-N2-)-methyltransferase activity

Reference(s), if appropriate

See PAINT, not filtered
https://www.pombase.org/gene/SPBC25D12.05

This term will be obsoleted GO:0004809 | tRNA (guanine-N2-)-methyltransferase activity

Oh yes!


Restricted Requests - Assignments and Conditions - IAO

As an IAO manager
I want to restrict access to Restricted requests
so that I can ensure the privacy of applicants, and have strong control over who has responsibility of the request

Assumptions & Scope
Restricted requests are typically assigned to the manager of a team, and the manager designates someone on their team that can work on the request. In most cases, this is usually a request handled by a FOI Specialist, and a Manager.
In addition - requests are not always processed by the usual team, for example, a restricted PSA request could be handled by the analyst and manager of a team other than the Social Education Team. Auto-Assignments must be disabled for restricted requests.
Assignments can not be done at the queue level, it must be assigned to a person.
Primary Assignments will show all active IAO users within the system, so that managers have the flexibility to assign as they see fit.
The watcher feature can only be activated with the drop down, it will not have the quick watch function.
What is IN scope?
What is NOT in scope?
Acceptance Criteria
Scenario 1: Change Request State - Open

GIVEN a Restricted request is in "Intake in Progress"
WHEN the user updates the state to open
THEN the update state modal will appear
AND the IAO assignment will remain the same

Scenario 2: Assign Request - Intake Manager

GIVEN a Restricted Request is in the Open State
WHEN the Intake manager clicks on the primary assignment
THEN the names that will populate will be all IAO users.

Scenario 3: Assign Request - Complete Action

GIVEN a Restricted Request is in any state
WHEN  a user is selected from the assignment list
THEN a modal will pop out with the options to continue or cancel
https://jacklyn808742.invisionapp.com/console/share/3W2O64AP5C/978958615

Scenario 4: Assign Request - Continue

GIVEN the Intake manager is on the restricted assignment modal
WHEN the manager selects continue
THEN the modal will close, and the user assignment will update

Scenario 5: Assign Request - Cancel

GIVEN a user is on the restricted assignment modal
WHEN the user selects Cancel
THEN the modal will close, and the user assignment will remain as it was

Scenario 6: Assign Watcher

GIVEN a Restricted Request is in any state
WHEN the Intake manager clicks on the watcher assignment drop down
THEN they will see all active IAO users

Scenario 7: Assign Watcher - Complete Action

GIVEN a Restricted Request is in any state
WHEN  the user is selected from the watcher list
THEN a modal will pop out with the options to continue or cancel
https://jacklyn808742.invisionapp.com/console/share/3W2O64AP5C/978958614

Scenario 8: Assign Watcher - Continue

GIVEN the Intake manager is on the restricted watcher modal
WHEN the user selects continue
THEN the modal will close, and the watcher assignment will update

Scenario 9: Assign Watcher - Cancel

GIVEN a user is on the restricted watcher modal
WHEN the user selects Cancel
THEN the modal will close, and the watcher assignment will remain as it was

Scenario 10: Un-Assign Watcher

GIVEN the Intake Manager is on a restricted request with the watcher drop down activated
AND a user is already assigned as a watcher
WHEN the user removes the assigned watcher as such
THEN the user shall be removed as a watcher, and be unable to interact with the request.

Scenario 11: Can't Assign to Team Queue

GIVEN a user is on a restricted request
WHEN they activate the assignment drop down
THEN any IAO team names will be greyed out an unselectable

*Scenario 12: User other than Intake Manager Unable to Assign

GIVEN a user is on a restricted request
AND they are NOT the Intake manager
THEN the assignment and watching functions will be disabled
AND the user will be unable to change the assignment or watcher

Dependencies? What is the impact of this dependency? (If so, link dependency in the ticket, make it visible in a team´s backlog)
Validation Rules? (If yes, list here)
Design
@xxx - please link the Design here
Definition of Ready

[ ] Is there a well articulated User Story?
[ ] Is there Acceptance Criteria that covers all scenarios (happy/sad paths)?
[ ] If there is a user interface, is there a design?
[ ] Does the user story need user research/validation?
[ ] Does this User Story needs stakeholder approval?
[ ] Design / Solution accepted by Product Owner
[ ] Is this user story small enough to be completed in a Sprint? Should it be split?
[ ] Are the dependencies known/ understood? (technical, business, regulatory/policy)
[ ] Has the story been estimated?

Definition of Done

[ ] Passes developer unit tests
[ ] Passes peer code review
[ ] If there's a user interface, passes UX assurance
[ ] Passes QA of Acceptance Criteria with verification in Dev and Test
[ ] Confirm Test cases built and succeeding
[ ] No regression test failures
[ ] Test coverage acceptable by Product Owner
[ ] Ticket ready to be merged to master or story branch
[ ] Developer to list Config changes/ Update documents and designs
[ ] Can be demoed in Sprint Review
[ ] Tagged as part of a Release
[ ] Feature flagged if required
[ ] Change Management activities done?

Assignment Conditions and Restrictions re: Restricted requests cc @JHarrietha-AOT @lmullane @liseandtea

Ok this one has been written out now - I think I've at least captured the IAO requirements for watching. Assumption - we will need to create keycloak groups for each manager to be a part of to differentiate them from existing users when a request is flagged as "Restricted" - managers can then have analysts added to this group that will be working on those restricted requests.

Need to catch up for assignments , ball estimate for 13

Updated story to remove number of watcher restrictions, and opened up assignment list to all IAO

@m-prodan Can you have a quick look at the designs and let me know if you have any changes to the wording. Links in Scenario 4 & 8

Updated AC for consistent experience, restrictions will be on any state after a file is restricted

@aparna-aot @richard-aot - per our conversation, updated the AC

@aparna-aot
Just one update for this ticket:
Scenario 7
Currently, the watcher modal lists the user's team and their username:

However, can this be made to display the user's display name in FOI Mod:

The UI design uses 'username', but I think, instead, we would want the 'displayname' of the user..

@KyEggleston Updated modal with display name is in DEV now. You can verify now. Thanks!

Confirmed display name is now present in the modal - closing ticket.


Stop processing when we encounter the end of the stream

@eosipov any thoughts?

Does it needs to be tested?

Thanks for getting back to me. Yes, it does need a test. I will add a test case. Apologies for the oversight.

No worries, if you are sure it works, we can merge, looks legit. Thanks for the patch!