Octree failure for C2C contour.

I was making a new C2C dataset and noticed that about a third of my C2C contours caused the Octree in Axom to crash. Many of these contours contain spline edges.
black65.contour
piece = line(start=(32cm,128cm), end=(38cm,147cm))
piece = line(end=(44cm,146cm))
piece = rz(units=cm,
  rz=44 146
     43 142
     36 125
     33 119
     30 117
     27 121
)

piece = line(end=(32cm,128cm))

black65.yaml
dimensions: 2
shapes:
- name: black65
  material: black
  geometry:
    format: c2c
    path: black65.contour

Klee command lines (note paths are different here for real files):
rzgenie7{whitlocb}36: data_collection_util --min 100 25 --max 150 50 --res 150 200 -p 1
[INFO]: Creating a box mesh of resolution (150,200) and bounding box { min:(100,25); max:(150,50); range:<50,25> }
[INFO]: After transformations, mesh has 30000 elements and (approximate) bounding box { min:(100,25); max:(150,50); range:<50,25> }
[INFO]: Saving mesh file 'box_2d'
rzgenie7{whitlocb}37: ../examples/quest_shaping_driver_ex --mesh-file box_2d.root --shape-file black65.yaml --method 0 -v -o 0 -p omp
[INFO]: After loading mesh has 30000 elements and (approximate) bounding box { min:(100,25); max:(150,50); range:<50,25> }
[INFO]: ========================Sampling InOut fields for shapes========================
[INFO]: --------------------------- Loading shape 'black65' ----------------------------
[INFO]: Reading file: ../../data/shaping/../contours/heroic_roses/black65.contour...
[INFO]: Loading contour with 4 pieces
[INFO]: ---------------------------- Generating the octree -----------------------------
[INFO]: Mesh bounding box: { min:(117.004,27); max:(173.182,52.2397); range:<56.1773,25.2397> }
[INFO]:   Generating InOutOctree over surface mesh with 208 vertices and 200 elements.
[INFO]: 	--Inserting vertices took 0.001122898 seconds.
[INFO]: 	--Updating mesh took 0.00115438 seconds.
[INFO]:   After inserting vertices, reindexed mesh has 200 vertices and 200 cells.
[DEBUG]: Inside InOutOctree::checkValid() to verify state of PR octree
[DEBUG]: --Checking that each vertex is in a leaf block of the tree.
[DEBUG]: done.
[DEBUG]: 	Inserting cells into level 0 took 0.000848126 seconds.
[DEBUG]: 	Inserting cells into level 1 took 0.000841897 seconds.
[DEBUG]: 	Inserting cells into level 2 took 0.000814332 seconds.
[DEBUG]: 	Inserting cells into level 3 took 0.000979541 seconds.
[DEBUG]: 	Inserting cells into level 4 took 0.0011968 seconds.
[DEBUG]: 	Inserting cells into level 5 took 0.00116284 seconds.
[DEBUG]: 	Inserting cells into level 6 took 0.00102629 seconds.
[DEBUG]: 	Inserting cells into level 7 took 0.000425237 seconds.
[DEBUG]: 	Inserting cells into level 8 took 0.000124968 seconds.
[DEBUG]: 	Inserting cells into level 9 took 7.7409e-05 seconds.
[DEBUG]: 	Inserting cells into level 10 took 4.3584e-05 seconds.
[DEBUG]: 	Inserting cells into level 11 took 5.0667e-05 seconds.
[DEBUG]: 	Inserting cells into level 12 took 5.459e-05 seconds.
[DEBUG]: 	Inserting cells into level 13 took 5.3638e-05 seconds.
[DEBUG]: 	Inserting cells into level 14 took 5.3061e-05 seconds.
[DEBUG]: 	Inserting cells into level 15 took 5.2852e-05 seconds.
[DEBUG]: 	Inserting cells into level 16 took 4.5964e-05 seconds.
[DEBUG]: 	Inserting cells into level 17 took 5.5759e-05 seconds.
[DEBUG]: 	Inserting cells into level 18 took 5.5097e-05 seconds.
[DEBUG]: 	Inserting cells into level 19 took 5.2937e-05 seconds.
[DEBUG]: 	Inserting cells into level 20 took 5.2406e-05 seconds.
[DEBUG]: 	Inserting cells into level 21 took 5.2285e-05 seconds.
[DEBUG]: 	Inserting cells into level 22 took 5.3281e-05 seconds.
[DEBUG]: 	Inserting cells into level 23 took 5.4209e-05 seconds.
[DEBUG]: 	Inserting cells into level 24 took 5.271e-05 seconds.
[DEBUG]: 	Inserting cells into level 25 took 5.3548e-05 seconds.
[DEBUG]: 	Inserting cells into level 26 took 5.3548e-05 seconds.
[DEBUG]: 	Inserting cells into level 27 took 5.3823e-05 seconds.
[DEBUG]: 	Inserting cells into level 28 took 5.3194e-05 seconds.
[DEBUG]: 	Inserting cells into level 29 took 5.3634e-05 seconds.
[ERROR]: Failed Assert: idx >= 0 && idx < SetPosition(m_data.size())
Attempted to access element 31 but map's data has size 31
** StackTrace of 12 frames **
Frame 1: axom::slic::logErrorMessage(std::string const&, std::string const&, int)
Frame 2: axom::slam::Map<axom::spin::OctreeLevel<2, axom::quest::InOutBlockData>*, axom::slam::Set<int, int>, axom::slam::policies::STLVectorIndirection<int, axom::spin::OctreeLevel<2, axom::quest::InOutBlockData>*>, axom::slam::policies::StrideOne<int> >::verifyPositionImpl(int) const
Frame 3: axom::slam::Map<axom::spin::OctreeLevel<2, axom::quest::InOutBlockData>*, axom::slam::Set<int, int>, axom::slam::policies::STLVectorIndirection<int, axom::spin::OctreeLevel<2, axom::quest::InOutBlockData>*>, axom::slam::policies::StrideOne<int> >::operator[](int)
Frame 4: axom::spin::OctreeBase<2, axom::quest::InOutBlockData>::getOctreeLevel(int)
Frame 5: axom::spin::OctreeBase<2, axom::quest::InOutBlockData>::refineLeaf(axom::spin::OctreeBase<2, axom::quest::InOutBlockData>::BlockIndex const&)
Frame 6: axom::quest::InOutOctree<2>::insertMeshCells()
Frame 7: axom::quest::InOutOctree<2>::generateIndex()
Frame 8: axom::quest::shaping::InOutSampler<2>::initSpatialIndex(double)
Frame 9: axom::quest::SamplingShaper::prepareShapeQuery(axom::klee::Dimensions, axom::klee::Shape const&)
Frame 10: main
Frame 11: __libc_start_main
Frame 12: ../examples/quest_shaping_driver_ex() [0x974f06]
=====

[ERROR]: Failed Assert: idx >= 0 && idx < SetPosition(m_data.size())
Attempted to access element 31 but map's data has size 31

I think this means that your quadtree only has 32 levels and it's trying to refine past there.
As a quick check, could you please reconfigure Axom with 64 bit indices via AXOM_USE_64BIT_INDEXTYPE
https://github.com/LLNL/axom/blob/a1ed65c0c4f9460b1ade310e8cca29395633d0f8/src/cmake/AxomOptions.cmake#L12
Another option is to increase the number of segments per knot span -- via the -n parameter in the shaping example: https://github.com/LLNL/axom/blob/a1ed65c0c4f9460b1ade310e8cca29395633d0f8/src/axom/quest/examples/shaping_driver.cpp#L139-L143
Uncommenting the following lines in InOutOctree might provide some additional useful information for debugging this
https://github.com/LLNL/axom/blob/a1ed65c0c4f9460b1ade310e8cca29395633d0f8/src/axom/quest/InOutOctree.hpp#L35-L45

I recompiled with 64-bit indices. It tries to refine more than before but still bails out. I tried -n values from 1 up to 1000 and that didn't seem to affect things either. I'll try having it write the VTK files for the octree.
    67	15:19	../examples/quest_shaping_driver_ex --mesh-file box_2d.root --shape-file black65.yaml --method 0 -v -o 0 -p omp
    68	15:19	../examples/quest_shaping_driver_ex --mesh-file box_2d.root --shape-file black65.yaml --method 0 -v -o 0 -p omp -n 4
    69	15:19	../examples/quest_shaping_driver_ex --mesh-file box_2d.root --shape-file black65.yaml --method 0 -v -o 0 -p omp -n 20
    71	15:19	../examples/quest_shaping_driver_ex --mesh-file box_2d.root --shape-file black65.yaml --method 0 -v -o 0 -p omp -n 1
    72	15:19	../examples/quest_shaping_driver_ex --mesh-file box_2d.root --shape-file black65.yaml --method 0 -v -o 0 -p omp -n 100
    73	15:20	history
rzgenie10{whitlocb}74: ../examples/quest_shaping_driver_ex --mesh-file box_2d.root --shape-file black65.yaml --method 0 -v -o 0 -p omp -n 1000
[INFO]: After loading mesh has 30000 elements and (approximate) bounding box { min:(100,25); max:(150,50); range:<50,25> }
[INFO]: ========================Sampling InOut fields for shapes========================
[INFO]: --------------------------- Loading shape 'black65' ----------------------------
[INFO]: Reading file: black65.contour...
[INFO]: Loading contour with 4 pieces
[INFO]: ---------------------------- Generating the octree -----------------------------
[INFO]: Mesh bounding box: { min:(117.003,27); max:(173.191,52.241); range:<56.1885,25.241> }
[INFO]:   Generating InOutOctree over surface mesh with 8008 vertices and 8000 elements.
[INFO]: 	--Inserting vertices took 0.05346206 seconds.
[INFO]: 	--Updating mesh took 0.057164 seconds.
[INFO]:   After inserting vertices, reindexed mesh has 8000 vertices and 8000 cells.
[DEBUG]: Inside InOutOctree::checkValid() to verify state of PR octree
[DEBUG]: --Checking that each vertex is in a leaf block of the tree.
[DEBUG]: done.
[DEBUG]: 	Inserting cells into level 0 took 0.0394056 seconds.
[DEBUG]: 	Inserting cells into level 1 took 0.0401542 seconds.
[DEBUG]: 	Inserting cells into level 2 took 0.0394047 seconds.
[DEBUG]: 	Inserting cells into level 3 took 0.0398387 seconds.
[DEBUG]: 	Inserting cells into level 4 took 0.0387158 seconds.
[DEBUG]: 	Inserting cells into level 5 took 0.0380859 seconds.
[DEBUG]: 	Inserting cells into level 6 took 0.0369785 seconds.
[DEBUG]: 	Inserting cells into level 7 took 0.0366637 seconds.
[DEBUG]: 	Inserting cells into level 8 took 0.0393134 seconds.
[DEBUG]: 	Inserting cells into level 9 took 0.043724 seconds.
[DEBUG]: 	Inserting cells into level 10 took 0.0448544 seconds.
[DEBUG]: 	Inserting cells into level 11 took 0.0398023 seconds.
[DEBUG]: 	Inserting cells into level 12 took 0.0177181 seconds.
[DEBUG]: 	Inserting cells into level 13 took 0.003226 seconds.
[DEBUG]: 	Inserting cells into level 14 took 0.000486459 seconds.
[DEBUG]: 	Inserting cells into level 15 took 0.00010391 seconds.
[DEBUG]: 	Inserting cells into level 16 took 6.1299e-05 seconds.
[DEBUG]: 	Inserting cells into level 17 took 5.6829e-05 seconds.
[DEBUG]: 	Inserting cells into level 18 took 5.2722e-05 seconds.
[DEBUG]: 	Inserting cells into level 19 took 5.2153e-05 seconds.
[DEBUG]: 	Inserting cells into level 20 took 5.2938e-05 seconds.
[DEBUG]: 	Inserting cells into level 21 took 5.2704e-05 seconds.
[DEBUG]: 	Inserting cells into level 22 took 5.2787e-05 seconds.
[DEBUG]: 	Inserting cells into level 23 took 3.8653e-05 seconds.
[DEBUG]: 	Inserting cells into level 24 took 4.8654e-05 seconds.
[DEBUG]: 	Inserting cells into level 25 took 5.2857e-05 seconds.
[DEBUG]: 	Inserting cells into level 26 took 5.1888e-05 seconds.
[DEBUG]: 	Inserting cells into level 27 took 5.1765e-05 seconds.
[DEBUG]: 	Inserting cells into level 28 took 5.5824e-05 seconds.
[DEBUG]: 	Inserting cells into level 29 took 5.4209e-05 seconds.
[DEBUG]: 	Inserting cells into level 30 took 5.2562e-05 seconds.
[DEBUG]: 	Inserting cells into level 31 took 3.8275e-05 seconds.
[DEBUG]: 	Inserting cells into level 32 took 4.3656e-05 seconds.
[DEBUG]: 	Inserting cells into level 33 took 5.6962e-05 seconds.
[DEBUG]: 	Inserting cells into level 34 took 5.569e-05 seconds.
[DEBUG]: 	Inserting cells into level 35 took 5.5038e-05 seconds.
[DEBUG]: 	Inserting cells into level 36 took 5.5929e-05 seconds.
[DEBUG]: 	Inserting cells into level 37 took 5.5161e-05 seconds.
[DEBUG]: 	Inserting cells into level 38 took 4.0897e-05 seconds.
[DEBUG]: 	Inserting cells into level 39 took 3.7671e-05 seconds.
[DEBUG]: 	Inserting cells into level 40 took 5.2504e-05 seconds.
[DEBUG]: 	Inserting cells into level 41 took 6.5135e-05 seconds.
[DEBUG]: 	Inserting cells into level 42 took 5.6834e-05 seconds.
[DEBUG]: 	Inserting cells into level 43 took 5.5251e-05 seconds.
[DEBUG]: 	Inserting cells into level 44 took 5.458e-05 seconds.
[DEBUG]: 	Inserting cells into level 45 took 5.4434e-05 seconds.
[DEBUG]: 	Inserting cells into level 46 took 5.4326e-05 seconds.
[DEBUG]: 	Inserting cells into level 47 took 5.4478e-05 seconds.
[DEBUG]: 	Inserting cells into level 48 took 5.5238e-05 seconds.
[DEBUG]: 	Inserting cells into level 49 took 5.5875e-05 seconds.
[DEBUG]: 	Inserting cells into level 50 took 5.9103e-05 seconds.
[DEBUG]: 	Inserting cells into level 51 took 9.019e-05 seconds.
[DEBUG]: 	Inserting cells into level 52 took 0.000161286 seconds.
[ERROR]: Failed Assert: hasBlock(block)
Block {grid pt:<PHONE_NUMBER>756965,11018690529968019); level: 54} was not a block in the tree.
** StackTrace of 9 frames **
Frame 1: axom::slic::logErrorMessage(std::string const&, std::string const&, int)
Frame 2: axom::spin::OctreeBase<2, axom::quest::InOutBlockData>::operator[](axom::spin::OctreeBase<2, axom::quest::InOutBlockData>::BlockIndex const&)
Frame 3: axom::quest::InOutOctree<2>::insertMeshCells()
Frame 4: axom::quest::InOutOctree<2>::generateIndex()
Frame 5: axom::quest::shaping::InOutSampler<2>::initSpatialIndex(double)
Frame 6: axom::quest::SamplingShaper::prepareShapeQuery(axom::klee::Dimensions, axom::klee::Shape const&)
Frame 7: main
Frame 8: __libc_start_main
Frame 9: ../examples/quest_shaping_driver_ex() [0x97a866]
=====

When I plot the octree and surface grids in VisIt, it appears that this spline veers out from where it ought to be, kinking or turning inside out.

In tracing how the contour gets loaded, inside C2CReader::readContour, C2C library call is made to read the contour. Then the code iterates over the pieces in the contour and the piece that is messed up is turned to NURBS by c2c::toNurbs(). This ends up putting a NURBS curve in m_nurbsdata that has 8 control points (the file had 6) and indices 1,2 veer off to the right, causing the kink. The problem is likely in c2c::toNurbs.

I made a little program to just call c2c::toNurbs on the curve data:
#include <iostream>
#include <vector>
#include "c2c/C2C.hpp"

using std::cout;
using std::endl;

template <typename T>
std::ostream &
operator << (std::ostream &os, const std::vector<T> &v)
{
    os << "[";
    for(size_t i = 0; i < v.size(); i++)
    {
        if(i > 0)
            os << ", ";

        os <<  v[i];
    }
    os << "]";

    return os;
}

int
main(int argc, char *argv[])
{
    c2c::Contour contour = c2c::parseContour("black65.contour");
    auto lengthUnit = c2c::LengthUnit::cm;

    cout << "pieces:" << endl;
    for(auto *piece : contour.getPieces())
    {
        auto obj = c2c::toNurbs(*piece, lengthUnit);
        cout << "  -" << endl;
        cout << "    order: " << obj.order << endl;
        cout << "    knots: " << obj.knots << endl;
        cout << "    weights: " << obj.weights << endl;
        cout << "    controlPoints: " << obj.controlPoints << endl;
    }

    return 0;
}

Output
pieces:
  -
    order: 2
    knots: [0, 0, 1, 1]
    weights: [1, 1]
    controlPoints: [Point(32cm, 128cm), Point(38cm, 147cm)]
  -
    order: 2
    knots: [0, 0, 1, 1]
    weights: [1, 1]
    controlPoints: [Point(38cm, 147cm), Point(44cm, 146cm)]
  -
    order: 4
    knots: [0, 0, 0, 0, 0.234707, 0.492197, 0.745126, 0.88009, 1, 1, 1, 1]
    weights: [1, 1, 1, 1, 1, 1, 1, 1]
    controlPoints: [Point(44cm, 146cm), Point(48.5244cm, 160.378cm), Point(58.0123cm, 190.53cm), Point(36.0597cm, 129.114cm), Point(35.9747cm, 122.038cm), Point(29.356cm, 115.144cm), Point(27.7538cm, 119.126cm), Point(27cm, 121cm)]
  -
    order: 2
    knots: [0, 0, 1, 1]
    weights: [1, 1]
    controlPoints: [Point(27cm, 121cm), Point(32cm, 128cm)]

The "order 4" controlPoints have indices 1,2 (Point(48.5244cm, 160.378cm), Point(58.0123cm, 190.53cm)) that jerk the curve out to the right.

Hi @BradWhitlock and @kennyweiss,  I wanted to let you know that I am looking into this issue on the C2C side and will keep you posted.

Note: This problem is due to #979

Fixed in new C2C. Wait for next C2C update, which is imminent.

I confirmed that heroic_roses/black65.contour works as expected with<EMAIL_ADDRESS>in #1092
Here's the verbose output:
>./examples/quest_shaping_driver_ex --mesh-file box_2d.root --shape-file ../black65.yaml --method 0 -v -o 0
[INFO]: After loading mesh has 30000 elements and (approximate) bounding box { min:(100,25); max:(150,50); range:<50,25> }
[INFO]: ========================Sampling InOut fields for shapes========================
[INFO]: --------------------------- Loading shape 'black65' ----------------------------
[INFO]: Reading file: ../data/contours/heroic_roses/black65.contour...
[INFO]: Loading contour with 4 pieces
[INFO]: ---------------------------- Generating the octree -----------------------------
[INFO]: Mesh bounding box: { min:(117,27); max:(147,44); range:<30,17> }
[INFO]:   Generating InOutOctree over surface mesh with 208 vertices and 200 elements.
[INFO]: 	--Inserting vertices took 0.001024867 seconds.
[INFO]: 	--Updating mesh took 0.00104736 seconds.
[INFO]:   After inserting vertices, reindexed mesh has 200 vertices and 200 cells.
[DEBUG]: Inside InOutOctree::checkValid() to verify state of PR octree
[DEBUG]: --Checking that each vertex is in a leaf block of the tree.
[DEBUG]: done.
[DEBUG]: 	Inserting cells into level 0 took 0.000733595 seconds.
[DEBUG]: 	Inserting cells into level 1 took 0.00070705 seconds.
[DEBUG]: 	Inserting cells into level 2 took 0.000741019 seconds.
[DEBUG]: 	Inserting cells into level 3 took 0.000832415 seconds.
[DEBUG]: 	Inserting cells into level 4 took 0.000972374 seconds.
[DEBUG]: 	Inserting cells into level 5 took 0.000959351 seconds.
[DEBUG]: 	Inserting cells into level 6 took 0.000712731 seconds.
[DEBUG]: 	Inserting cells into level 7 took 0.000197013 seconds.
[DEBUG]: 	Inserting cells into level 8 took 3.0074e-05 seconds.
[INFO]: 	--Inserting cells took 0.00628789 seconds.
[DEBUG]: 	Coloring level 8 took 0.000198098 seconds.
[DEBUG]: 	Coloring level 7 took 0.00092091 seconds.
[DEBUG]: 	Coloring level 6 took 0.000819824 seconds.
[DEBUG]: 	Coloring level 5 took 0.000555386 seconds.
[DEBUG]: 	Coloring level 4 took 0.000180905 seconds.
[DEBUG]: 	Coloring level 3 took 7.6016e-05 seconds.
[DEBUG]: 	Coloring level 2 took 1.4458e-05 seconds.
[DEBUG]: 	Coloring level 1 took 2.377e-06 seconds.
[DEBUG]: 	Coloring level 0 took 2.337e-06 seconds.
[INFO]: 	--Coloring octree leaves took 0.00303081 seconds.
[DEBUG]: Inside InOutOctree::checkValid() to verify state of PM octree
[DEBUG]: --Checking that each vertex is in a leaf block of the tree.
[DEBUG]: --Checking that each cell is referenced by the leaf blocks containing its vertices.

[INFO]: 	--Regenerating the mesh took 0.00021413 seconds.
[INFO]:   Finished generating the InOutOctree.
[INFO]: After welding, surface mesh has 200 vertices  and 200 triangles.
[INFO]: -------------------- Querying the octree for shape 'black65'--------------------
[INFO]: 	 Sampling inout field 'inout_black65' took 0.688613304 seconds (@ 1,089,145 queries per second)
[INFO]: --------------Applying replacement rules over for shape 'black65'---------------
[INFO]: ================Generating volume fraction fields for materials=================
[INFO]: Generating volume fraction fields for 'mat_inout_black' material
[INFO]: In computeVolumeFractions(): sample order 9 | sample num qpts 25 |  total samples 750,000
[INFO]: Mesh has dim 2 and 30,000 elements
[INFO]: 	 Generating volume fractions 'vol_frac_black' took 0.183 seconds (@ 164,216 dofs processed per second)

Here's a screenshot:


Errors in the build panel are matched but not linked

Related to #201 and #207, but the problem remains for me.
Here is my .atom-build.json:
{
  "cmd": "sbt",
  "name": "SBT compile",
  "args": ["compile"],
  "sh": false,
  "cwd": "{PROJECT_PATH}",
  "errorMatch": [
    "\n\\[error\\] (?<file>[^:\\n]+):(?<line>\\d+):"
  ]
}

Here is an example output from sbt:
[error] /Users/laughedelic/dev/ohnosequences/loquat/src/main/scala/ohnosequences/loquat/manager.scala:94: not found: type Instuctions
[error]     lazy val normalScenario: Instuctions[Unit] = {

The error is matched, because I can jump to it, but there is no clickable link in the panel.

It works well for me (note: I am cating a file containing your sample output, the error match is the same).

Do you have custom CSS which may override it?

hi! I've tried similar configuratino with cat and it worked for me too and then I figured out what's the problem. It's just that by default sbt output contains color codes and one needs to use -Dsbt.log.noformat=true option to filter them out. With this option the linking feature works fine :+1:
It's strange though that jumping to error worked. Can it be that output that is shown in the panel is different from what is parsed for the errors list?

Allright. It is indeed matching on the output, as is. This should generally be no problem if the parts of the regular expression does not change color. Otherwise it is probably better to not output color codes while error matching

@noseglid I'm seeing the same problem in 0.56.0

@adammw Unfortunately inserting links was one feature I had to dispose of when moving to term.js. I might look into getting that back in in the future, but I wanted to get the already big release out first.


Using exists() instead of count() for existance checks

This can potentially improve performance especially on large databases.

@vstoykov nice! LGTM

Thanks! Ok to merge


Hide combat-related icons from signals/rich text menus

reported by @dperelman: In the rich text item selection menu (e.g. when naming a train stop), I noticed there were a lot of icons related to things that had been removed from the game, including remnants of military entities.
See discussion in #55

Here's a work-in-progress on removing enemies: ac4edb3. The useful part is that I managed to make dummies for "turret" and "unit-spawner" (although it should probably have a dummy "unit" to spawn instead of assuming "compilatron" exists). It seems like actually removing the entities should fit into the existing mechanism for removing military entities, but I didn't quite figure that out. Combat robots should probably also be removed here.
After that, the remaining military rich text items are the artillery flare (data_raw.hide("artillery-flare", "artillery-flare")) and the wall and biter damage explosions that appear when these items are hidden/removed. I'm not sure what effect setting the "hidden" flag on all explosions actually has other than removing them from that menu, but you could hide just the two that show up, I guess. Although I wonder if them showing up there means there's no references to them that the game detects?

I have a branch https://github.com/dperelman/Pacifist/tree/exp/hide-all-rich-text that gets rid of all of the icons and I think does it in a reasonable way by searching for everything that Pacifist removes references to and removes those (and adds more dummies to cover the newly empty categories). I need to test a bit more and split it out into a couple PRs for the separate pieces, which I'll probably do tomorrow.


Chore. Update mev-cometbft to v0.34.27-mev.18

copy of the https://github.com/neutron-org/neutron/pull/276 but with another destination branch

https://github.com/neutron-org/neutron-tests/actions/runs/5576953381


Remove  from maventask.md

With the next release there's also no need to use the jcenter repo anymore.

Codecov Report

Merging #1827 into master will increase coverage by <.01%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #1827      +/-   ##
============================================
+ Coverage     80.34%   80.34%   +<.01%
+ Complexity     1960     1950      -10
============================================
  Files           325      325
  Lines          5515     5500      -15
  Branches       1023     1023
============================================
- Hits           4431     4419      -12
+ Misses          557      555       -2
+ Partials        527      526       -1

Impacted Files
Coverage Δ
Complexity Δ

...rturbosch/detekt/formatting/OffsetsToLineColumn.kt
77.77% <0%> (-1.17%)
0% <0%> (ø)

...itlab/arturbosch/detekt/core/ProcessingSettings.kt
76.66% <0%> (-0.08%)
5% <0%> (-10%)

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 435b03e...479bbe9. Read the comment docs.


Multi line string issue

When using multi line string in typescript, the code colouring is broken.
let name = '\
Dirk \
Baeumer \
'

Ported from https://github.com/Microsoft/TypeScript-Sublime-Plugin/issues/392

We'd have to make sure that something like this:
let x = "abcd\\
"

doesn't get considered multiline
I wonder if this is just a matter of switching these from
  qstring-double:
    name: string.double.ts
    begin: '"'
    end: '"|(?=$)'
    patterns:
    - include: '#string-character-escape'

to
  qstring-double:
    name: string.double.ts
    begin: '"'
    end: '"|(?=(\\\\)+[^\]$)'
    patterns:
    - include: '#string-character-escape'

We do need to set up a test suite to test both cases. Though it might be tricky to set up CI for sublime text as UI manipulation is required. Maybe something can be done using atom / code

Fixed by #102


Convert to title case without stripping punctuation like commas and periods.

If I want to convert this:
one two three. four, five
into this:
One Two Three. Four, Five
there is no way to currently do this.

It also seams to strip html brackets. "one two three" turns into "One Two Em Three Em"

It also strips colons and apostrophes.
from:
What's on the table: who knows?
to:
What S On The Table Who Knows

+1 I would love for this to be fixed/implemented.

+1. I use this extension a lot and having it strip out punctuation is really a pain.

+1. This command is actually not doing Title Case, since any title can have punctuation.

Another test case: Allow "neutral" arguments --> Allow "Neutral" Arguments

Side node: The functionality is implemented at https://github.com/blakeembrey/change-case. Thus, one should check if the upstream library already supports this featre and "just" an update of the dependency is necessary.


fix(minifier): fix keep_var keeping vars from arrow functions

#4680  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @Boshen and the rest of your teammates on  Graphite


Fixed the XSS injection attach

XSS bug fixed, detail: https://github.com/gogf/gf/issues/2129

Codecov Report
Base: 76.49% // Head: 76.50% // Increases project coverage by +0.00% :tada:

Coverage data is based on head (f87cc6a) compared to base (127e8af).
Patch coverage: 0.00% of modified lines in pull request are covered.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #2171   +/-   ##
=======================================
  Coverage   76.49%   76.50%
=======================================
  Files         580      580
  Lines       48087    48091    +4
=======================================
+ Hits        36785    36790    +5
  Misses       9291     9291
+ Partials     2011     2010    -1

Flag
Coverage Δ

go-1.15-386
76.47% <0.00%> (-0.03%)
:arrow_down:

go-1.15-amd64
76.51% <0.00%> (-0.01%)
:arrow_down:

go-1.16-386
?

go-1.16-amd64
76.49% <0.00%> (-0.01%)
:arrow_down:

go-1.17-386
76.49% <0.00%> (-0.02%)
:arrow_down:

go-1.17-amd64
76.51% <0.00%> (-0.01%)
:arrow_down:

go-1.18-386
76.43% <0.00%> (+0.01%)
:arrow_up:

go-1.18-amd64
76.44% <0.00%> (-0.02%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

net/ghttp/ghttp_response_write.go
35.45% <0.00%> (-1.34%)
:arrow_down:

os/gfsnotify/gfsnotify_watcher_loop.go
83.19% <0.00%> (-1.69%)
:arrow_down:

contrib/registry/polaris/polaris_watcher.go
73.21% <0.00%> (+5.35%)
:arrow_up:

os/gcache/gcache_adapter_memory_lru.go
97.82% <0.00%> (+8.69%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Add default TTL for server based trials

This add a default 48 hour TTL to trials that were suggested by the server (we don't default the TTL for manually created trials because the only record of their existence is in the cluster, we also don't default the TTL for trials whose approximate runtime is greater then 48 hours).
After this change you can still keep trials in your cluster indefinitely, even for server suggested trials, by explicitly setting the ttlSecondsAfterFinished on the trial template to -1 (a TTL of 0 indicates the trial should be immediately deleted).

I still don't know how I feel about this. I'm not a huge fan of default automatic clean up; it can be unexpected in very unpleasant ways.

I still don't know how I feel about this. I'm not a huge fan of default automatic clean up; it can be unexpected in very unpleasant ways.

I think what's pushing me forward with this is that we can get the same outcome with redskyctl get trials -- redskyctl get trials postgres-example -o csv. I feel like that's often neglected today because we rely on kubectl get trial instead.


Reference in Article does not exist - broken link and no instructions

Issue in ./help/quicksilver/workfront-fusion/apps-and-their-modules/workfront-proof-modules.md
Note the paragraph below references 'build' and links to 'build' in "this article" - but there is no 'build' section

Proof Type
Specify whether you want the proof that is created to have a basic workflow or an Automated Workflow.Then fill out the fields that display for the proof type you chose. For example, if you chose Automated Workflow, fill out the Workflow Stages field to configure the stages.You can use output from the Build module here if you include and run that module earlier in the scenario. For more information, see Build in this article.

Proof Type
Specify whether you want the proof that is created to have a basic workflow or an Automated Workflow.
Then fill out the fields that display for the proof type you chose. For example, if you chose Automated Workflow, fill out the Workflow Stages field to configure the stages.
You can use output from the Build module here if you include and run that module earlier in the scenario. For more information, see Build in this article.

Hi,
Regarding this page of the Workfront documentation (https://support.workfront.com/hc/en-us/articles/360007108774), you wrote:
"Note the paragraph below references 'build' and links to 'build' in 'this article' - but there is no 'build' section."
Thank you for pointing that out. I've removed the confusing reference.
Thanks for helping to improve the Workfront documentation!


GetInformation feature

Adds feature which reads metadata from the document information dictionary.  The PdfDocument class contains a new GetInformation method which returns a PdfInformation class.  This class contains details about the Pdf such as author, title, subject, create date, etc.  Also added a code to the example GUI which displays all of the information extracted from the PDF (select Information under the Tools menu).

FPDF_GetMetaText returned a \0 character which is now stripped and I've merged the changes back into the project.


[core-http] [Service Bus] Enable and verify proxy support for HTTP requests in Node and Browser

This issue tracks efforts required for the Atom API support for Service Bus SDK and is based on motivation to ensure the user experience of passing in the ProxyOptions is same or better since azure-sb implementation in azure-sdk-for-node repo.
Related issues https://github.com/Azure/azure-sdk-for-js/pull/5009 https://github.com/Azure/azure-sdk-for-js/issues/3121
https://github.com/Azure/azure-sdk-for-js/issues/3465
Another item which is an improvement and more of a Track 2 consideration, is to enable proxy support in browser based requests. This isn't applicable as proxy settings are controlled by the browser and due to security reasons, this cannot be modified using client scripts.

Closing as we discussed about the user experience for this and addressed it as part of #4922
Previously, the proxy settings have been tested using local instance of Squid


update packages

:white_check_mark: Build TheIdServer 4.0.1-fix-dependencies1-0009 completed (commit https://github.com/Aguafrommars/TheIdServer/commit/730b47439f by @)


replace node_redis with ioredis

switch to ioredis, for more stable version, better performance and iojs compatibility

I have a few reservations about this.

I'm happy with node-redis. I haven't even heard of someone having stability issues with node-redis.
To get iojs compat, we just need to update our ancient redis module dep from 0.10.1 (Feb 17, 2014) to the later versions.
To get the same higher performance with node-redis, just install hiredis (same as with ioredis).
I really dislike dependencies that require compilation (hiredis).

they can blow up later because an underlying library / binary was updated. ("If you use hiredis, be sure to rebuild it whenever you upgrade your version of node. There are mysterious failures..." -- hiredis docs).
Our (very few) compile-time dependencies generate an inordinate amount of support / install issues.
IMO (I worship at the church of uptime), hiredis should not be a dependency. Add it to the docs, suggest it, emphatically even, but please don't require it.

redis transactions are in use but not all uses (see karma plugin) are updated by this PR.
Because redis is loaded in so many places, I'd much rather see it get encapsulated in a library so that switching between node-redis and ioredis and whether or not to install/update/use hiredis was a config file setting.

I'm happy with node-redis. I haven't even heard of someone having stability issues with node-redis.
I use redis in a 60-80k req/s API and there sometimes (more as i like) brake the node-redis but ioredis doesn't. And I have even a little room for improvement with ioredis.

To get iojs compat, we just need to update our ancient redis module dep from 0.10.1 (Feb 17, 2014) to the later versions.
Thats right, this is an option.

To get the same higher performance with node-redis, just install hiredis (same as with ioredis).
This is recommend on production systems. ;)

I really dislike dependencies that require compilation (hiredis).
I have added it because i used it in production systems that have massive mail to process. So its a win, but it is not a must have dep.

redis transactions are in use but not all uses (see karma plugin) are updated by this PR.
What is not updated and need to be updated? My tests works like excepted.

Because redis is loaded in so many places, I'd much rather see it get encapsulated in a library so that switching between node-redis and ioredis and whether or not to install/update/use hiredis was a config file setting.
That is a good point. I'll think about it again.

Here's my 2c.
Personally - I've used node_redis with hiredis since this beginning.  I've never used node-redis standalone and I've not had any issues with it so far.
However - I hadn't discovered ioredis until you pointed it out and it's obvious that it is a major improvement over node_redis (e.g. support for sentinel and cluster (completely missing in node_redis) and much better pubsub and Lua support).
I have extensive non-public plugins that all use node_redis that will need to be modified to run with ioredis - but it's something that I'm going absolutely going to do.
Just because we have a bunch of plugins that use redis now doesn't mean we shouldn't convert them all to use ioredis and discard node_redis completely particularly as we're moving to a new point release.   Why bother with the effort of writing a library to encapsulate it?  Seems totally unnecessary to me and I can see it causing more issues than it's worth given that ioredis and node_redis treat empty replies differently - there's far more scope for bugs.
Anyone with non-public plugins (like me) just has to deal with it - it's hardly a problem running both modules in the interim and it's not like this is going to break an existing installation using node_redis already.

redis 2.0.x is there, with breaking changes (maybe) same as ioredis. i'll check differences today.
Ref: https://github.com/haraka/haraka-nosql/issues/2

There shall be one Redis to rule them all. Eventually.

I'm closing this now because:

it has branch conflicts (my fault)
since the merge of the new redis plugin, the other plugins that use redis now inherit from a common redis plugin, erasing my points 5 and 6 above.
a future PR that replaced node_redis with hiredis would be much smaller
a PR could support both node_redis and hiredis, much like how we choose which syslog module, or geoip module, based on which one successfully loads at run time.

So what have you decided? Another PR for ioredis? Or no ioredis in foreseeable future?

My 2 cents. We have a complicated stack for our primary project, with Redis our primary store, supported by Elasticserch and MongoDB. Our main Redis is a cluster, so we follow the driver adoption pretty closely. We are seeing others adopt ioredis -- which is supported by http://www.alibaba.com/. I really can't see ioredis going away now.

The primary reasons this PR wasn't merged straight away were that it affected a number of plugins and it forced everyone to use ioredis. Now that we have a redis module which most (all?) the redis-using plugins inherit from, a new PR could be created that made choosing between node-redis and ioredis a config file setting, or even a "detect which is installed and use it."


Revert "[Test] Make timeout.py signal an error when the timeout is hit."

Reverts swiftlang/swift#76009.
Speculatively revert this change to see if it fixes a (probably) false timeout in SILOptimizer/large_nested_array.swift.gyb. E.g. here: https://ci.swift.org/job/oss-swift-package-macos/

@swift-ci smoke test

@swift-ci please smoke test


Add tsup config, fix package exports

Fixed:

package.json main points to dist/index.js which doesn't exist
.cjs files are built, but not pointed to

huge oversight on my part - nice catch. i did update the build script - don't need those cli args with the config right?

Yeah, you can skip those.

I'm just a lurker, no point in doxxing myself. I'm building a product for my SaaS startup though and may get back to you if I end up using the library and/or contribute enough to get credited as an user or a contributor.

and why aren't you showing up as a contributor?

I don't know, probably caching.


Make the survey available for changes after completion

See documentation:
https://surveyjs.io/Documentation/Library/#states
I think it can be possible to have the survey completed but enable going back and changing the answers.

Current workflow is working for users; after completion, can hit back to edit, or reload the saved JSON file.


[Android] TalkBack doesn't work on the right screen on dual screen smartphone

Steps to Reproduce
Reproducible on any flutter app.

Open flutter app on dual screen device (Surface Duo 1/2 for example)
Move the app to the right screen
Enable Android TalkBack (screen narrator)
Try to click/move focus to any item in the app.

When the app open on left the screen, or in dual screen mode, TalkBack works as expected.

flutter doctor -v
[✓] Flutter (Channel stable, 2.5.3, on macOS 12.0.1 21A559 darwin-x64, locale en-US)
    • Flutter version 2.5.3
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 18116933e7 (7 weeks ago), 2021-10-15 10:46:35 -0700
    • Engine revision d3ea636dc5
    • Dart version 2.14.4

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/.../Library/Android/sdk
    • Platform android-31, build-tools 30.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 13.1, Build version 13A1030d
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2020.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)

[✓] VS Code (version 1.62.3)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.29.0

[✓] Connected device (3 available)
    • Maksym’s iPhone (mobile) • 00008101-000E61993684001E • ios            • iOS 15.0.2 19A404
    • macOS (desktop)          • macos                     • darwin-x64     • macOS 12.0.1 21A559 darwin-x64
    • Chrome (web)             • chrome                    • web-javascript • Google Chrome 96.0.4664.55

• No issues found!

Hi @lookuper, Thanks for filing the issue. Please share your output of flutter doctor -v on which the app was built.

Hi @lookuper, Thanks for filing the issue. Please share your output of flutter doctor -v on which the app was built.

Added. Also any Android app supports left/right/dual screen TalkBack function as expected.

Writing a few of my findings here. I have found two separate bugs while investigating this:
Steps to reproduce:

Make sure TalkBack is inactive.
Start the app on the right screen (hello world from flutter create . should do)
Start TalkBack using a hardware shortcut (to ensure no UI refresh is triggered by touch)
Use a gesture shortcut to make TalkBack dump what it sees to logs

I have seen two different behaviours unfold:

Node positions are out of the bounds of the Activity, making them invisible to TalkBack

Some node bounds are reported on the left screen (offset is 0,0) and because the root node and the activity are reported on the right screen (offset is 1410, 0), TalkBack considers them invisible.
Note that sometimes some of the nodes are reported correctly. The first node considered a "View" is always reported wrong, and because that is the root of everything, they are all considered invisible even when the numbers seem right for an individual node.
TalkBack also complains that there are focusable nodes that are not visible (Focus, is focusable and has no visible children: prints node information)
I suspect that this bug can be reproduced on tablets or other devices with multi-window support.

The Accessibility Bridge has an empty Semantics tree.

The logs from TalkBack only have a root view (corresponding to FlutterView) with no children.
The Flutter semantics tree is communicated to the Flutter accessibility bridge only if accessibility is enabled. This is by design.
From debugging, I noticed that the semantics map cached inside the accessibility bridge is empty in some situations when it should be populated.
Seems like enabling accessibility does not also trigger a Semantics tree update in certain situations. I have yet to reliably reproduce the behavior.
This version of the bug should be reproducible on any Android device, although I did only test on a Surface Duo.

Regardless of the exact way it fails, using the steps to reproduce on a Surface Duo always ends up providing no accessibility for users.
For behavior no 1, at this point I am not sure if there is something unusual happening on the Surface Duo or if this can be reproduced using a tablet with multi-window support. Testing on a tablet should shed light on that.
For behavior no 2, it looks like a race condition in the way that accessibility is both enabled in the bridge and the semantics is populated and should be reproducible on any Android device.


Fix History Bug

changed position of the if clause to only save domain when its unresolvable

Was already addressed with #12.
Thanks a lot!


Where can I find Custom Quality Profileid?

Where do I find this to use my own Quality profiles in sonarr and radarr?

Look at https://<radarr_url>/radarr/api/v3/qualityprofile?apiKey=<apiKey> then you want the value from the id field, not the index in the array.
Or https://<radarr_url>/api/v3/qualityprofile?apiKey=<apiKey>


Should tslib be a production dependency?

Describe the bug
When I try to import VSCodeButton (import { VSCodeButton } from '@vscode/webview-ui-toolkit/react';), I'm getting the following error:
    Cannot find module 'tslib' from '../../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.2.1_react<EMAIL_ADDRESS>
    Require stack:
..../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.2.1_react<EMAIL_ADDRESS>..../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.2.1_react<EMAIL_ADDRESS>..../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.2.1_react<EMAIL_ADDRESS>..../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.2.1_react<EMAIL_ADDRESS>...........

In ./dist/button/index.js there is an import of tslib (import { __decorate } from "tslib";), but tslib is defined as dev dependency of vscode-webview-ui-toolkit.

To reproduce
Run the import as above

Desktop (please complete the following information):

OS Version: macOS 13.1
Toolkit Version: 1.2.1

I'm using pnpm version 7.5.2

Hey @mtorp thanks for the bug report!
Could you create and share a GitHub repo with a small reproduction of this bug? I've tried to reproduce it, but have been unable to do so at this point.

Hi @hawkticehurst,
I've haven't been able to reproduce the issue. I'm not sure what the problem was but it suddenly disappeared after I reran pnpm install.
Sorry for reporting the issue before investigating it further.

@mtorp no worries at all! Thanks for the update :)

Hello, I am facing the same issue in release 1.2.2 (also happening with 1.2.1)
See the first import in dist/button/index.js:
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
import { __decorate } from "tslib";
import { attr } from '@microsoft/fast-element';
import { Button as FoundationButton, buttonTemplate as template, } from '@microsoft/fast-foundation';
import { buttonStyles as styles } from './button.styles.js';

Visible at
https://www.npmjs.com/package/@vscode/webview-ui-toolkit/v/1.2.2?activeTab=explore
I am also getting the same issue with @microsoft/fast-web-utilities not being listed as a dependency but used in dist/radio-group/index.js.
NB: I'm using yarn pnp

Hey @FlorentHoareau, thanks for following up!
Could you try to give specific steps to reproduce this issue? I have continued to be unable to reproduce this on my end.
Also based on @mtorp's experience, perhaps you might want to try reinstalling your dependencies. Maybe even delete node_modules too.

Hi @hawkticehurst
Sure, you can reproduce it with these steps (I'm using node 18.x but I guess any would do):
corepack enable
corepack prepare yarn@stable --activate
yarn dlx create-react-app --template typescript vscode-webview-ui-tooklit-tslib-issue
cd vscode-webview-ui-tooklit-tslib-issue
rm src/App.test.tsx
yarn add @vscode/webview-ui-toolkit

Replace src/App.tsx with:
import React from 'react';
import { VSCodeButton } from "@vscode/webview-ui-toolkit/react";

function App() {
  return (
    <VSCodeButton/>
  );
}

export default App;

and then yarn start should fail with these errors:
Module not found: Error: Can't resolve 'tslib' in '/home/florent/vscode-webview-ui-tooklit-tslib-issue/.yarn/__virtual__/@vscode-webview-ui-toolkit-virtual-8baf9fd80e/0/cache/@vscode-webview-ui-toolkit-npm-1.2.2-243130d45d-fd41c59310.zip/node_modules/@vscode/webview-ui-toolkit/dist/button'
ERROR in ./.yarn/__virtual__/@vscode-webview-ui-toolkit-virtual-8baf9fd80e/0/cache/<EMAIL_ADDRESS>3:0-35
Module not found: Error: Can't resolve 'tslib' in '/home/florent/vscode-webview-ui-tooklit-tslib-issue/.yarn/__virtual__/@vscode-webview-ui-toolkit-virtual-8baf9fd80e/0/cache/@vscode-webview-ui-toolkit-npm-1.2.2-243130d45d-fd41c59310.zip/node_modules/@vscode/webview-ui-toolkit/dist/button'

ERROR in ./.yarn/__virtual__/@vscode-webview-ui-toolkit-virtual-8baf9fd80e/0/cache/<EMAIL_ADDRESS>3:0-85
Module not found: Error: Can't resolve '@microsoft/fast-web-utilities' in '/home/florent/vscode-webview-ui-tooklit-tslib-issue/.yarn/__virtual__/@vscode-webview-ui-toolkit-virtual-8baf9fd80e/0/cache/@vscode-webview-ui-toolkit-npm-1.2.2-243130d45d-fd41c59310.zip/node_modules/@vscode/webview-ui-toolkit/dist/radio-group'

As a bonus you also get the issue with the missing "@microsoft/fast-web-utilities" that I listed in my previous message.
NB: with this template, you also get an error from eslint, but it's not related.
Hope this helps.

I'm currently solving this issue by adding a .yarnrc.yml in project root to override the dependencies of this package:
Add in .yarnrc.yml:
packageExtensions:
  "@vscode/webview-ui-toolkit@*":
    dependencies:
      "@microsoft/fast-web-utilities": ^6.0.0
      tslib: ^2.1.0

And then run
yarn
yarn start

And it will work without errors.

Thank you so much, this does help!
I'm following the steps now and ran into an issue when trying to run:
yarn dlx create-react-app --template typescript vscode-webview-ui-tooklit-tslib-issue

The error reported:
yarn run v1.22.19
error Couldn't find a package.json file in "/some/folder/path/on/my/computer"
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Did you run into this at all and/or have any thoughts on why that might be showing up? A bit confused because yarn dlx is basically the same as npx right? I would assume it shouldn't matter that I don't have a package.json in the directory where I'm running this command

Which version of yarn are you using ? (looks like it's 1.22.19 ?) You need at least v2.
If you run corepack prepare yarn@stable --activate you should get yarn -v returning 3.5.1 (as of today)

And yes basically yarn dlx is the same as npx (so no package.json required) but it will use yarn's cache and resolution methods instead of npm.

Nice, the wrong version of yarn was the issue. Thank you for the catch!
Also, I was able to reproduce the issue, so I'm happy to reopen this and put it on the list of things to do.
As some general expectation setting, however, I've been mentioning to everyone that the toolkit is really tightly resourced at this time (myself and one other person split our time between this project and a handful of others), so it might take longer than usual to tackle this.
With that said, I'm hopeful that switching tslib from a dev dep to a primary dep won't have many (or any) secondary consequences, and thus not too much work to resolve.

Thanks again for the follow-up and reproduction steps!

Thanks for your followup and no worries for the time it takes since the fix on user-side is easy enough.
By the way it all comes from
        @attr public appearance: ButtonAppearance;

(https://github.com/microsoft/vscode-webview-ui-toolkit/blob/cef7378cfe5f5d6f7157d3fd12569bff9b5f5eae/src/button/index.ts#LL29C1-L29C44)
But I don't see anywhere where you actually use the @attr part which requires this extra production dependency (but I'm not a typescript expert)

Awesome, thanks for understanding :)
Also oh yeah @attr is framework-specific syntax for defining attributes on any given component. So while not used in any of the button code I write, under the hood FAST (the framework) is using that declaration to set up an appearance attribute on the button component.
Regardless, it's great to know that @attr is where the need for tslib stems from, so thank you again for calling that out! I'll definitely take a closer look and see if there's anything I can potentially finesse or adjust

Sorry it took so long but tslib will now be a production dependency starting in our next minor release (v1.4.0)! Please do let me know if you run into anymore issues in the future :)


scRNA-seq data normalization for PCA

PCA expects Gaussian distributed data, whereas raw scRNA-seq data is integral. The heuristic in the field is to apply the following transformations:
$\ell_n = \sum_g X_{ng}$
$y_{ng} = \log(1 + C \times X_{ng} / \ell_n)$
$z_{ng} = (y_{ng} - \mu_g) / \sigma_g$
where $C = 10,000$ is a "pseudocount", and:
$\mu_g = \frac{1}{N}\sum_n y_{ng}$
$\sigma^2_g = \frac{1}{N}\sum_n (y_{ng} - \mu_g)^2$
Feature whitening, i.e. dividing by $\sigma_g$, is considered "optional" and is sometimes skipped (reasoning: a more variable gene is likely to be a more biologically informative gene, and we should not throw out that information).
This normalization recipe introduces two problems:

The recipe is an integral part of the PCA transformation of the data, and applying a learned PCA transformation to user's data requires the knowledge of the parameters of this normalization recipe: $C$, $\mu_g$, and $\sigma_g$.
$\mu_g$ and $\sigma_g$ must be calculated from full batch data

The first problem is easy to solve:  we create a LogNormalizationTransform module which is passed the PCA module. The parameters of the transformation naturally become part of the state of the PCA module.
The second problem, i.e estimation of full batch $\mu_g$ and $\sigma_g$, can be done in 3 different ways:

A single-pass estimation using BigQuery; $\mu_g$ and $\sigma_g$ would then be written to the .var metadata, and C to the .uns dictionary.
A single-pass estimation from AnnData chunks; this can be parallelized, but will be inevitably slower than the previous approach and add one extra epoch of data loading.
Online estimation: we can use ideas from BatchNorm (and SyncBatchNorm for parallelization) to estimate $\mu_g$ and $\sigma_g$ from minibatches; we can also increase the exponential moving average (EMA) window as training proceeds to stabilize the estimates.

I added the LogNormalize transform in #15. @mbabadi isn't it a bit redundant that we have the mean parameter both in LogNormalize and ProbabilisticPCA?


KeyError: 'openai_api_version'

Checked other resources

[X] I added a very descriptive title to this issue.
[X] I searched the LangChain documentation with the integrated search.
[X] I used the GitHub search to find a similar question and didn't find it.
[X] I am sure that this is a bug in LangChain rather than my code.
[X] The bug is not resolved by updating to the latest stable version of LangChain (or the specific integration package).

Example Code
import os
from langchain_openai import AzureChatOpenAI
api_base = os.getenv("AZURE_OPENAI_ENDPOINT")
api_key= os.getenv("AZURE_OPENAI_API_KEY")
api_version=os.getenv("OPENAI_API_VERSION"),
model_name = 'gpt-4' #Replace with model deployment name
llm = AzureChatOpenAI(
api_key=api_key,
azure_endpoint=api_base,
azure_deployment=model_name,
openai_api_version = api_version,
temperature=0
)
Error Message and Stack Trace (if applicable)
Traceback (most recent call last):
File "d:\Develop\CodeProjects\chatgpt4v-demo\langchainApp.py", line 11, in
llm = AzureChatOpenAI(
File "D:\Develop\anaconda3\lib\site-packages\langchain_core\load\serializable.py", line 120, in init
super().init(**kwargs)
File "pydantic\main.py", line 339, in pydantic.main.BaseModel.init
File "pydantic\main.py", line 1100, in pydantic.main.validate_model
File "D:\Develop\anaconda3\lib\site-packages\langchain_openai\chat_models\azure.py", line 125, in validate_environment
values["openai_api_version"] = values["openai_api_version"] or os.getenv(
KeyError: 'openai_api_version'
Description
I want to instantiate AzureChatOpenAI correctly
System Info
libs:
langchain                     0.1.11
langchain-community           0.0.25
langchain-core                0.1.29
langchain-openai              0.0.8
langchain-text-splitters      0.0.1
openai                        1.12.0
platform:
Windows
python version: 3.9.16

Hey there! I tried reproducing your issue in a unit test to no avail. Maybe one of the environment variables you're populating isn't actually there? This seems to be happening in a part that should be getting populated by pydantic though...
Another suggestion is to update your pydantic version.
https://github.com/langchain-ai/langchain/pull/18703

Hey there! I tried reproducing your issue in a unit test to no avail. Maybe one of the environment variables you're populating isn't actually there? This seems to be happening in a part that should be getting populated by pydantic though...
Another suggestion is to update your pydantic version.
#18703

I am sure that the value of the environment variable exists.
my .env
OPENAI_API_VERSION=2024-02-15-preview
AZURE_OPENAI_API_KEY=XXXX
AZURE_OPENAI_ENDPOINT=https://XXX.openai.azure.com

and
pydantic version=2.6.3


Question for real-time performance

Hello, thanks for this great work !
Have you tried the model on real-time object detection problem ?
If so, how was the performance ?
I am searching for a model to run on jetson for real-time drone detection.
Thank you in advance

Hi Ahmetf1,
Thanks for reaching out. Regarding your question, it won't be real-time if you want to use both stages. One stage can give more FPS but at the cost of a slight accuracy drop. Based on your dataset nature, stage 1 can perform really well. Also, you can reduce the number of patches per image to 4 to improve FPS. This will depend on your dataset's nature. You'll have to run it on jetson for performance evaluation.
Regards,
Waseem

Thanks for your helpful advice. I will share the result if a give it a try.


Please considering support 'using tag to generate forerign keys'

This is first time I use Gorm, it's really amazing and very easy to use.
But it cost me lots of time to figure out how to make 'foreign key' work, which I thought should already be perfect for a long time.
I searched most articles on StackOverflow, Reddit, GitHub and even Qiita, but no satisfied way to support foreign key .
Here are the issues:

You can use gorm:"foreignkey:", but it doesn't create any foreign key, not like primary_key, that's quite counter-intuitive.
You need use gorm:"type:int REFERENCES user(id) ON DELETE CASCADE" for PostgteSQL#450.
You need use db.Model(Email{}).AddForeignKey("user_id", "user(id)", "CASCADE", "CASCADE") for MySQL, because above tag doesn't work in MySQL.
You need use gorm:"type:int REFERENCES user(id) ON DELETE CASCADE" + db.Exec("PRAGMA foreign_keys = ON") for SQLite because AddForeignKey() doesn't work for SQLite and 'foreign_keys = off' is default setting in SQLite#390.
None of above things are mentioned in document.
I am still confusing what's the usage of tag gorm:"foreignkey:XXX", it doesn't create any foreign key or contribute cascade delete/insert/update/retrieve.

It's complex if you want to use foreign key and support several databases.
The biggest problem is:
We can't find a way to support MySQL/SQLite/PostgreSQL simultaneously if we want to use foreign key.
If you change DB, you also need change code to define model, because Gorm has not universal definition to create foreign key.
But in fact, most databases support using same SQL and syntax to create foreign keys(ref).
Does supporting 'tag generating foreign key' impact migrate and loop reference case?#258
No, I am not sure.
I think providing a new choice wouldn't make anything worse, since people can still fallback to use old way to create  foreign key.
Not supporting 'using tag generating foreign key' has caused many issues:

Incompatible code: if you switch DB, you need change both model definition and application code.
Unmaintainable code:
Refer other table/field name in a model definition is worse than referring other model name.
Should avoid using AddForeignKey() as possible because it's not compatible, unless you need handle loop reference or other cornner case.
Lead to counter-intuitive usage, lots of questions are about why foreign key doesn't work as expect.
Difficult to document.
Need more educate effort.

This issue has been reported again and again since 2013, lots of time wasted to figure out why foreign key doesn't work and how make it work, but no essential improvement was made.
Foreign key is still much more important and common used everywhere, against loop reference(if I'm wrong, please correct me).
Support 'tag generating foreign key' can resolve most above issues, without making anything worse.
People can still use AddForeignKey()  to handle cornner case like 'loop reference in PostgreSQL'.
If they don't need  'loop reference', they can use tag to generate most tables and foreign keys, that would be great.
My suggestions:

Gorm can provide an universal way(tag) to define most models and foreign keys.
Just use AddForeignKey() to handle cornner case(like loop reference in PostgreSQL)#258
Document these conner cases, let user to choose using tag or AddForeignKey().

I understand balancing features is quit difficult than I thought, lots of thing need considering, please consider it.
Great thanks for your amazing work.

Did you or anyone else find out anything about ManyToMany?
Are there any workarounds needed?

@dalu I haven't reach ManyToMany yet, but soon I will. If I meet similar problems, I will update this thread.

@cjun714 have you been able to continue working on this?
I myself use postgress so I'm not that much blocked by it but the whole thing is very confusing and irritating...

I ran into the same problem. When using sqlite3, the "foreignkey" tag does not add a foreign key to the table. The document does not explicitly indicate the method of creating the foreign key. Foreign keys are useful features for many people. If you can't provide good support for foreign keys, it will greatly affect the use of orm.

Adding a tag (or actually three tags) would be the best option in my opinion too.
It also adds another benefit. If the Model knows about foreign keys, soft-deletes couls also behave appropiately, setting DeletedAt of children fields to the same time that the parents.
Proposed syntax:
type User struct {
    gorm.Model
    Name    string
    Surname string
}

type CreditCard struct {
    gorm.Model
    Number         string
    ExpirationDate time.Time
    Owner          User `gorm:"ForeignKey:ID;OnUpdate:Cascade;OnDelete:Cascade"`
}

That would create the following foreign key:

Name of the column: "owner", taken from the struct's field after applying the usual transformation.
Destiny table: "users", taken from the struct's field type. If we already have a model that represents this table, whi should we have to write the table's name again? That would mean that the code will break if we change the default table name of User and would be harder to debug. Get it from the model and avoid these problems.
Destiny column: "id", taken from the ForeignKey tag. The tag ForeignKey without any value should default to ForeignKey:ID so that it defaults to gorm.Model's behavior.
ON UPDATE behavior: "CASCADE", taken from "OnUpdate" tag.
ON DELETE behavior: "CASCADE", taken from "OnDelete" tag.

As for how to solve the PostgreSQL issue with non-already-existing tables, I would probably add a method to the Dialect interface DelayForeignKeyCreation() bool and if it returns true, instead of creating the foreign keys with a TABLE CREATE command you will wait for all the tables to be migrated and then issue the ALTER TABLE commands mas with AddForeignKey.

any news?

Really useful summary thanks @cjun714
Would you consider adding a page that recap how to setup foreign keys on the different databases supported to the wiki until this is addressed in v2 ?

@camathieu sorry for late response, I am not familiar with GitHub wiki feature and I haven't coding db related code anymore,  above content is all I found, I haven't dig it any more. I hope author or maintainers can add related content into doc, that will be more helpful, thanks.

I'm using SQLite for testing and MySQL for production.
Anyway to have it support both?

3. db.Model(Email{}).AddForeignKey

you can't believe it.
In 2022, they remove db.Model().AddForeignKey method.
We cannot add any foreign key. Amazing.
4 years passed, the official manual haven't updated!
Cool project! Cool contributors! Cool manuals!


Add Japanese Language to the default messages

Hi, thank you for creating a good library.
I am translating this validation message to Japanese.
Could you check this and add it to this library?

oh, I missed it.
thank you for checking.
I fixed it.
Could you check it again?


Add paginations to DATE facets on results pages

Problem Description:
The facets are causing performance issues. This ticket will cover the facet of DATES only.
Expected Behavior/Solution:
ML will return the activity streams and paginations will be required for facets containing lists.
For facets on the results page, the frontend will make a request to both the first page and last page of the date results to get the earliest and latest dates. From there, the frontend can generate the range input fields with a minimum and maximum year.
Requirements:

TBD

Needed for promotion:
If an item on the list is not needed, it should be crossed off but not removed.

[ ] Wireframe/Mockup - Mike
[ ] Committee discussions - Sarah
[ ] Feasibility/Team discussion - Sarah
[ ] Backend requirements - TBD
[ ] Frontend requirements- TBD
[ ] Are new regression tests required for QA - Amy
[ ] Questions
List of questions for discussions. Answers should be documented within the issue.

UAT/LUX Examples:

EAny search result
Specefic link TBD

Dependencies/Blocks:

Blocked By: https://github.com/project-lux/lux-marklogic/issues/160
Blocked By: https://github.com/project-lux/lux-marklogic/issues/161
Blocked By: https://github.com/project-lux/lux-middletier/issues/65

Related Github Issues:

All other facets: https://github.com/project-lux/lux-frontend/issues/252

Related links:

These links can consist of resources, bugherds, etc.

Wireframe/Mockup:
Place wireframe/mockup for the proposed solution at end of ticket.

Closing as this was covered by #252.


Sulfur 34 missing from isotopologue generation

Even though the threshold for generation is far lower than the abundance of sulfur-34, I noticed that it is glaringly absent from generate_all_isos.
Need to get to the bottom of this!

Fixed in #2


Where do i get "compile-ligo"?

I wanted to use yarn command with "compile-ligo". Where do I get this dependancy?

Have you tried running yarn install?


Server-side's calculation function

Its input is {date->number}, population, data_type.
data_type can be either "Cases" or "Deaths".
and it returns  {
'7DayAverage' + data_type: week_ave,
'7DayAverage' + data_type + 'Value': week_ave_value,
'perCapita' + data_type: per_capita,
'perCapita' + data_type + 'Value': per_capita_value,
'pctChange' + data_type + 'Value': pct_increase_value
}
To speed up the download, we only return the time_series every even date.
The graph looks the same, but with half the data.
NOTE: we only return the entire time-series when needed (graphs). Otherwise we only return the value for the date we are observing, aka the latest date.
7DayAverageValue and perCapitaValue could very well be calculated in the front-end, but I think it looks simpler if we always return a value for average, perCapita and pctChange and time-series is optional.

Any updates here, or should we close this PR? The comments still stand though.

Still working on this PR. Will have an update soon. Don’t close it. Thanks!

There are three individual commits:

Move calculation_data from _NEW to its original folder.
Changes + New Unit Tests for moving_average and pct_increase.
Documentation about calculations performed in README.md.

Also, I no longer calculate the single values for the latest date and let the front-end pick whatever date it wants.
Pct_increase is now calculated for the entire time_series.

Please avoid force-pushing if possible so we can keep commit history (and I can only review changes since last commit). Otherwise it's a full review every time.


Vote should be blocked after showing results

Fixed here https://github.com/esnaveiro/voting-booth/issues/7


Removes trailing whitelines in build as text

The whitespaces at the end of lines in the "Build as text" seem out of place, and they appear in copy/pasted builds. Would it be okay to remove them?

Hello.
Those two spaces are needed so that the line breaks are correctly displayed on reddit. Without them, a build copy paster on reddit would display on a single line. I figured they didn't really matter outside of reddit. Is there a problem with them (outside the "they are useless, let's remove them") ?

I see, then it makes sense. I don't have a strong argument in favor of removing them other than they're highlighted by my text editor and it's ... ugly? Not too much of an issue, I can remove them myself.
However, if you want to format for Reddit, may I suggest you insert 4 spaces at the beginning of the line instead of trailing whitespaces? This will signal the markdown to create a <code> block and formatting will be preserved. Thoughts?

The only problem I see with 4 spaces at the start of the line is that it would be visible if pasted to another site than reddit, like a forum. The trailling spaces have the advantage to stay "neutral" on most sites. I'll think about it.


Training Stuck at the pbar stage

I encounter a small problem during running this command:
python Main.py --data-name ml_10m --save-appendix _mnhp100 --data-appendix _mnph100 --max-nodes-per-hop 100 --testing --epochs 40 --save-interval 5 --adj-dropout 0 --lr-decay-step-size 20 --ensemble --dynamic-dataset
The training just stuck here for hours:

I made certain that Python ==3.8.1 Pytorch==1.4.0, Torch Geometric == 1.4.2. Not certain what is wrong. Thanks for your help in advance!

Hi, IGMC needs to generate an independent enclosing subgraph for each rating. Because ML_10M is too large, the program is just waiting for the finish of the first epoch. You may check the cpu usage that it is indeed running.
To alleviate this issue, you may append "--max-train-num 100000" for example, so that IGMC only uses 100K ratings as training data. You may also append "--sample-ratio 0.2 --max-nodes-per-hop 50" for example to downsample each hop's neighbors to reduce subgraph sizes. These are the current remediations. But improving IGMC's scalability is the ultimate solution :)

Thank you very much for the prompt reply. If convenient, could you please give a rough estimation of how much computation is needed? For example, for ML_10M, what was your experiment environment and how long does it take?

The paper did not use this dataset. I haven't fully run on this dataset too. If no downsampling is used, my estimate is it will take a week or two to finish. But the run time will vary significantly depending on your setting. You can always reduce "--sample-ratio", "--max-nodes-per-hop", "--max-train-num" or "--epochs" to reach an acceptable time. IGMC is relatively robust to these hyperparameters.

Okay. Thanks!


Load testing on CLAMAV

Acceptance Criteria

[ ] Verify the load testing on CLAMAV and fetch some metrics on the current configuration
[ ] Testing the correct configuration on CPU and Memory limits and request and if the existing one fails.

@andrewsignori-aot to investigate and bring back to the architecture meeting


Save token after successful authentication when an ClientTokenServices is provided.

Fixes gh-498
In addition to this it would be nice if ClientTokenServices is injected by auto-configuration (even when null) to avoid customization of both the filter and the rest template.

Thanks. Did you fill out the contributor's agreement (link in README)?

I did right after I filed the pull request. I selected 'spring-security' and named you as project lead; is that correct?

That's fine. It's an automated system but I don't always get the notifications.

When this feature will be available ? Also, is it safe to store token based only on authentication.getName(), resource.getClientId() and resource.getScope as implemented in DefaultClientKeyGenerator.extractKey method ?
I think there is a very good chance to face a collisions between OAuth2 providers in oauth_client_token table.
What do you think ?

I think you have some very unusual providers if they have identical client id and scope names.

For example in my current implementation authentication.getName() returns null. This way I think I'll have the only one record (authentication_id will be based for many users only on the same client_id and same scopes) in  oauth_client_token table

Your Authentication is broken then, I guess. If you need to support null names then you should provide your own ClientKeyGenerator.

Yeah.. I see it now.. According to UserDetails.getUsername() method contract it can't return null.. Right now struggling with a following question http://stackoverflow.com/questions/34920743/spring-security-userdetails-and-username

@KeesKoffeman Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

Hello. What status it pull request? When will these changes committed?

@KeesKoffeman Thank you for signing the Contributor License Agreement!

I've resyncd the PR and it looks like besides the conflict that this should be all set. Any chance of a merge soon?

@bvulaj With the addition of setClientTokenServices(ClientTokenServices) on the Filter, this could only get into the next minor release which would be 2.4. We haven't scheduled 2.4 as of yet and it likely won't be released for a couple months at least.

@KeesKoffeman As you may be aware, this project is scheduled to reach EOL. Please see the announcement for further details.
I'm going to close this PR as it doesn't make sense to merge these changes given the status of the project.


Is is possible to train this to get better results?

Would like to know if it's possible to train bark on custom data.

I may even say :


Adapt CMDI profile to add extra fields to categorize the vocabularies with additional options for the users

In order to search and present the vocabularies with useful metadata, we suggest to add these new fields to the vocabulary metadata (in the editor): https://docs.google.com/spreadsheets/d/1GzK0bd_-1-oyfmHZO2t7F7k2po9EO8rs/edit?gid=1344450306#gid=1344450306. Together with menzowindhouwer we follow the steps needed to configure these fields in the CMDI editor.
Note: This issue was originally created in the structured data team repository on July16, 2024:
https://github.com/knaw-huc/team-structured-data-backlog/issues/4#issue-2410737588

We changed the profile: now it has to be updated in the editor.
For @kerim1 to reformat the current cmdi records which can then be loaded into the editor.


esxi add maintenance mode

esxi add maintenance mode

Ran the pre-commit hooks for you :+1:
But yeah, this deffo needs tests


kmmo: Update pre-built GPU driver container image version to 2.0.0

Signed-off-by: Hersh Pathak<EMAIL_ADDRESS>

It looks good to me.


Pin markup safe also

Jinja <3 (via markupsafe) broke today. See
https://github.com/pallets/jinja/issues/1585#issuecomment-1043892628
As they get further way from Python 3.5, we should either move the
Consumer to a modern version of Python (we know that part of the
library will not need to run on old Ubuntu versions as machine
charms) or pin the whole thing.

Would be great to get this merged as it's breaking downstream CI as well. For example, I've hacked around it in https://github.com/canonical/operator/pull/668/files#diff-d899f68301edb06393d5435313801f676fc892f1484aa76f10d82c36e5e022f2R26


Generates the HTML to publish to GH Pages

Preparing to publish to GH Pages on every new release automatically.
Preview link: https://tbd54566975.github.io/tbdex-js/index.html

I want to add a reminder about this PR: https://github.com/TBD54566975/tbdex-js/pull/52
While we dont address this we will keep seeing duplicated definitions across the docs... http-client and http-server are replicating the protocol definitions...

Ideally we want it to be exactly like tbdex-kt docs: https://tbd54566975.github.io/tbdex-kt/index.html
See how lean is the http-client package:

cc @KendallWeihe @mistermoe


Example does not compile

Before you open an issue
If the issue is with an ASP.NET Core document, open the issue with the Content feedback button at the bottom of that document page.
If the issue is:

A simple typo or similar correction, you can submit a PR. See the contributor guide for instructions.
A general support question, consider asking on a support forum site.
A site design concern, create an issue at MicrosoftDocs/Feedback.
A problem completing a tutorial, compare your code with the completed sample.
A duplicate of an open or closed issue, leave a comment on that issue.

Issue description
I wonder how this example of yours works at all. You declare a static class and put a constructor in it (class name and constructor name does not match by the way). Furthermore, if you can't have a constructor in a static class, how will you inject the IJSRuntime object.
    using Microsoft.AspNetCore.Components;
    using Microsoft.JSInterop;
    using System.Threading.Tasks;

    namespace MyLib
    {
           public static class MyLibElementRefExtensions
           {
                  private readonly IJSRuntime _jsRuntime;
                  public MyJsInterop(IJSRuntime jsRuntime)
                  {
                         _jsRuntime = jsRuntime;
                  }

                 public static Task Focus(this ElementRef elementRef)
                 {
                        return _jsRuntime.InvokeAsync<object>(
                                "myLib.focusElement", elementRef);
                 }
           }
     }

Software versions
Check the .NET target framework(s) being used, and include the version number(s).

[ ] .NET Core
[ ] .NET Framework
[ ] .NET Standard

If using the .NET Core SDK, include dotnet --info output. If using .NET Framework without the .NET Core SDK, include info from Visual Studio's Help > About Microsoft Visual Studio dialog.

dotnet --info output or About VS info
<replace>

Hello @miroslavp ... The updates to the topic for Preview 3 are covered by https://github.com/aspnet/AspNetCore.Docs/pull/11675, which are awaiting review by engineering. We'll merge the updates asap.


HCBuckets destroys water sources with a bucket

No way to cancel the setBlockState in ItemBucket::onItemRightClick

Can't you just use the bucket fill event and cancel it if the state is water? I recall iguana tinker tweaks did something similar, and my buckets fire the event.


Files from S3Downloader should be world readable, not read-writeable

Currently these end up as -rw-rw-rw, changing this so only the owner has write
cc @kenbreeman

:ship:

🚢


Load whole models

I have some models which includes also others:
public List...
So I want to load all the models with all included lists.
How can this be done?

if you have a Model which lazy-loads List data, have your model implement LoadFromCursorListener and in the onLoadFromCursor() method call the lazy-loaders. that will give you all of the data on-load. Also I am considering adding an annotation to enable these kind of methods to load automatically.

Thank you very much! :-)
Is this also described in the wiki or included in the project?

I'm very interested in the annotation. Do you or anybody else have an example?

apparently not yet. Let me add those when I find time. Ill mark this to resolve.

What I do here is lazy-load the List when I need it. It would be something like
class Person extends BaseModel {
    private List<Toy> toys;

    public List<Toy> getToys() {
        if (toys == null)
            toys = new Select().from(Toy.class)// the rest of the select here
        return toys
    }
}

So, when I need the toys, I just use person.getToys(). If the list is already fetched, I get it from "memory". If not, Select will fetch it and the returns.

@tsuharesu But if you are loading/select a Person the toys aren't selected/loaded also.
I want to select Person and also ALL other models inside.

class Person extends BaseModel implements LoadFromCursorListener {
    private List<Toy> toys;

    public List<Toy> getToys() {
        if (toys == null)
            toys = new Select().from(Toy.class)// the rest of the select here
        return toys
    }

@Override
public void onLoadFromCursor(Cursor cursor) {
  getToys();
}
}

What I'm saying is I may add an annotation like:

@Call(methods = {LOAD, DELETE})
public List<Toy> getToys() {
        if (toys == null)
            toys = new Select().from(Toy.class)// the rest of the select here
        return toys
    }

Which could call this method in the generated class on load, deletion, save, etc... so it's more managed and less manual.

@agrosner The annotation would be really helpful - for all (load/delete/save/..)!
Can't wait to get this. ;-)

@agrosner Any news? Integrated?

@agrosner I really need this.
This issue was closed but added to milestone 2.0.0


Fix pagination

@xavijam could you take a look?

If bulider and editor look correct in IE, Firefox, Chrome and Safari, :es:.

rock solid


chore(main): release zeta-web 0.3.0

:robot: I have created a release beep boop
0.3.0 (2024-12-03)
✨ New Features

(UX-641) Bottom Sheet (#134) (a5a3bf9)
(UX-645) Breadcrumb (#135) (55a942e)
(UX-648) FAB (#133) (92c9338)
(UX-671) Dropdown Menu (#140) (daa6986)
added divider and spacer to navbar (3583209)
Added notification value to control size of populated and unpopulated notification indicator (3583209)
added sneaky hidden css variable for horizontal dialog header (89d7495)
created fab (92c9338)
created snackbar (380b8c2)
Updated avatars (#136) (006577b)
UX-1043: Created avatar rail (#137) (e450847)
UX-650: Created segmented control (#139) (d26a1a5)
UX-673: Created upload item (#141) (e3824b4)
UX-679: Range Selector (#155) (a8a1922)
UX-687: Created navigation rail (#142) (c1980dd)
UX-701: snackbar (#145) (380b8c2)
UX-715: Created Appbar (#138) (304100e)

🪲 Bug Fixes

(UX-983) Update In Page Banner (#132) (3cf284f)
changed "dropdown-text" to "text-dropdown" (daa6986)
dropdown-item slotted icon (daa6986)
Fixed issues on progress circle where the upload variant couldn't be scaled. Also added documentation for the cancel event. (#123) (ea05ad9)
hidden input field slider (#156) (c0061ba)
moved flavor off base button (#148) (1f30171)
navbar item colour (3583209)
segmented-item-style (#143) (4872c4a)
Updated chips to match designs (#126) (115be08)
UX-1050: Change icon to use slot (b14c243)
UX-994: Update Navigation Bar (#129) (3583209)
ZetaDialog - dialog overflowed contents (897ce98)

📈 Documentation

added Actions to Button (897ce98)
added comments to fab.ts and fab.styles.js (92c9338)
added demo animation on snackbar (380b8c2)
added documentation for divider and spacer in navbar (3583209)
added missing figma and storybook links (#147) (d8791ba)
created snackbar docs (380b8c2)
documented all css "part"s (897ce98)
fixed switch css vars bleeding into each other (#128) (6a0cf74)
Improved documentation to include other variants (92c9338)
Updated storybook with new props (3583209)

⛓ Dependencies

automated: Update tokens (#131) (cf8b282)
Update zeta-icons library (#121) (36071d2)

🧪 Tests

added click event to utils.ts (55a942e)
Added spacer test (3583209)
added storybook test package (897ce98)
added test file for navbar with accessibility test (3583209)
added tests for action-menu-button (daa6986)
added tests for breadcrumbs (55a942e)
Added tests for navigation bar (3583209)
organising tests into groups (#153) (4cd0328)

🧹 Miscellaneous Chores

started adding missing Event Definitions (897ce98)
Update code (#157) (3760a96)
ZetaDialog - improved layouts in dialog, added named events (897ce98)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

zeta-web-v0.3.0
:sunflower:


Feature request: Don't panic when a subsegment can't be found

When I run this code on my local machine, I don't expect a panic.
package main

import (
	"fmt"
	"io"
	"os"

	"github.com/aws/aws-xray-sdk-go/xray"
)

func main() {
	c := xray.Client(nil)
	resp, err := c.Get("https://google.com")
	if err != nil {
		fmt.Printf("failed to access Google: %v\n", err)
		os.Exit(1)
	}
	io.Copy(os.Stdout, resp.Body)
}

But it panics!
panic: failed to begin subsegment named 'google.com': segment cannot be found.

I was hunting around in the docs to find out how to suppress this behaviour. I'd like my code to use X-Ray, if it's available, but if it's not, I don't care.
I found that I can set an environment variable, but that's a pain, because I'd even have to set that environment variable to run some unit tests or integration tests locally.
AWS_XRAY_CONTEXT_MISSING=IGNORE_ERROR

As per the Go Proverbs, don't panic please. 😁
Suggestions:

Change the default behaviour so that it doesn't panic because this is unexpected. If you really must panic, explain in the panic message how to fix or disable it.
Make it more obvious that this would happen, and provide a way to turn off this behaviour without an environment variable (or document it if there is).

Hey @a-h,
Looks like panic is expected in your code because you're trying to create a subsegment without creating a segment first.  Yeah you're right you can avoid panic using IGNORE_ERROR option which would just ignore the panic and continue execution of your code.

Thanks @bhautikpip, I understand why it happens, that's not the point of the issue.
I'm saying that it's a footgun that the default behaviour of the library is to panic over nothing.
The current default behaviour is not expected, see https://go.dev/blog/defer-panic-and-recover and https://go.dev/blog/errors-are-values

The convention in the Go libraries is that even when a package uses panic internally, its external API still presents explicit error return values.

i.e. the API should return an error value (or do nothing) rather than panic. It's total overkill to crash the program just because an XRay subsegment can't be created.

Yeah that's fair. Right now xray.BeginSubSegment API would panic if it does not find it's parent segment. To avoid this with the current state of the SDK you can set AWS_XRAY_CONTEXT_MISSING as IGNORE_ERROR or LOG_ERROR. I can mark this ask as an enhancement.

I'd love to see this SDK follow an error handling pattern that is inline with what the Go community agrees on.


fix: add unit test for createGlobalStyle when style tag is detached from DOM and then remove the rules

The same fix for canary:
https://github.com/styled-components/styled-components/pull/2707
In canary, the sheet instance is saved in constructor, so this.sheet always exists when trying to delete CSS rules.
So no code change needed, just add the unit test.

@probablyup
Np, thank you. :)


MenuLink.js:21 Uncaught TypeError: (0 , _reactEmotion2.default) is not a function

Bug or support request summary
While using alpha v10, I started the server, ran storybook and saw a white screen (no content rendered). When opening the browser console. I saw an error MenuLink.js:21 Uncaught TypeError: (0 , _reactEmotion2.default) is not a function. When pausing the script before the error occurred I noticed that reactEmotion.default.default is likely the expected value, so it seems that reactEmotion is getting double wrapped or something. This package is being used by storybook's "MenuLink" component, which is why I'm opening this up here.
Steps to reproduce
I upgraded from v3 to v4 on an existing project. This project does auto generate examples rather than manually specifying stories. Not sure if that is related in anyway.
Please specify which version of Storybook and optionally any affected addons that you're running
"@storybook/addon-actions": "^v4.0.0-alpha.10",
"@storybook/addon-console": "^1.0.0",
"@storybook/addon-info": "^v4.0.0-alpha.10",
"@storybook/addon-knobs": "^v4.0.0-alpha.10",
"@storybook/addon-links": "^v4.0.0-alpha.10",
"@storybook/react": "^v4.0.0-alpha.10",
"babel-core": "^6.26.3",
"lodash": "^4.17.10",
"prop-types": "^15.6.1",
"react": "16.4.1",
"react-dom": "16.4.1",
"react-intl": "^2.4.0",
"react-storybook-addon-props-combinations": "^1.0.1",
"react-storybook-decorator-background": "^1.0.5",
"webpack": "^4.14.0",

Screenshots / Screencast / Code Snippets (Optional)
Uncaught TypeError: (0 , _reactEmotion2.default) is not a function
    at<EMAIL_ADDRESS>(MenuLink.js:21)
    at __webpack_require__ (bootstrap:721)
    at fn (bootstrap:98)
    at<EMAIL_ADDRESS>(index.js:17)
    at __webpack_require__ (bootstrap:721)
    at fn (bootstrap:98)
    at<EMAIL_ADDRESS>(style.js:12)
    at __webpack_require__ (bootstrap:721)
    at fn (bootstrap:98)
    at<EMAIL_ADDRESS>(index.js:39)

@parris were you able to resolve this?

Hi, currently running v4.0.0-alpha.14 on a project that was upgraded from v3. Having the same issue when loading iframe.html.
@parris How were you able to resolve this?

@dustinhorton and @srounce so the reason I closed this ticket was because I figured the problem was actually in my configuration and integration with storybook rather than it directly being the fault of storybook. Below is my config, I basically removed module concatenation plugin and add more resolvers:
const path = require('path');
const CopyWebpackPlugin = require('copy-webpack-plugin');
const { plugins, resolve, rules } = require('../my-webpack-config.js');

module.exports = (storybookBaseConfig) => {
  storybookBaseConfig.module.rules = storybookBaseConfig.module.rules.concat(rules);
  // I removed module concatenation plugin because it seemed problematic (I thought)
  storybookBaseConfig.plugins = plugins.slice(1).concat(
    storybookBaseConfig.plugins,
  );
  // I don't think the right extensions were compiling
  storybookBaseConfig.resolve = Object.assign({}, resolve, {
    extensions: ['.js', '.jsx', '.json'],
  });
  return storybookBaseConfig;
};

I don't think posting my full webpack config is particularly useful. Basically, my recommendation is to drop plugins and add the "extensions" field to "resolve".


update gradle version

upgrade the Gradle version as recommended per the last version of the android studio.
Update Build tools and Android SDK version to 28
Changed minSdkVersion to 19
force compatibility to Java 1.8
Updated butterknife as artifact was not available anymore.
Fix linting issues

Not sure why butterknife it's failing, I'll spend more time on it later.

@tonilopezmr If you want to have a look at it, appreciate it.

Thanks to the help of @tonilopezmr we have now this build working again!


Option for excluding patterns when searching for test files

If https://github.com/SamirTalwar/smoke/issues/88 is implemented, adding the option to exclude test file patterns makes sense by giving a string (possibly containing wildcards). The flag can be --exclude-name.

Closing this; we can consider it part of #88.


Add map visualization using Vega

Initial version of a Vega map. Some notes and questions:
I looked at using a separate file vega-spec.ts for holding the specification, but since we need component values like this.results it would have to involve more passing values back and forth via functions, so I didn't do that.
Reusability. It might make sense to make certain things configurable while keeping the rest of the spec the same, e.g. options to use a background map of land mass without borders as here, and another one with country borders. On the other hand there might be all kinds of configurable things per corpus, like background colors, symbol sizes, and desired map center and zoom level (could also be dynamic based on search results, but that is more involved and even then a corpus default config may be desirable). So it could make sense to allow providing a vega spec per corpus that uses a Vega visualization. Or maybe we postpone such issues till it becomes relevant.
I first looked at Luka's experiment in this branch, but found that using vega-embed makes various things like tooltips easier.
Background geodata. At some point I ran into issues with data not loading from CDN due to CORS headers, so I added a local asset from world-atlas. But actually it does work now from CDN:
@@ -161,7 +161,7 @@ export class MapComponent implements OnChanges {
             "data": [
                 {
                     "name": "world",
-                    "url": "assets/world-atlas/land-110m.json",
+                    "url"<EMAIL_ADDRESS>                     "format": {
                         "type": "topojson",
                         "mesh": "land",

Do we have a preference for local or cdn? The local file does come with a different ISC license. Alternatively we could generate our own topojson files from Natural Earth data, which is public domain.
Lastly, I'm not sure what the best approach for lifecycle is here. I think currently this.vegaMap is only guaranteed to exist at ngAfterViewInit, but is expected by functions used in ngOnChanges. This works in practice, but I suppose it isn't correct?

Reusability. It might make sense to make certain things configurable while keeping the rest of the spec the same, e.g. options to use a background map of land mass without borders as here, and another one with country borders. On the other hand there might be all kinds of configurable things per corpus, like background colors, symbol sizes, and desired map center and zoom level (could also be dynamic based on search results, but that is more involved and even then a corpus default config may be desirable). So it could make sense to allow providing a vega spec per corpus that uses a Vega visualization. Or maybe we postpone such issues till it becomes relevant.

Of course, it would be nice if this implementation can readily be reused in future corpora where documents have associated coordinates, and it's really the design philosophy of I-analyzer that analysis modules are independent of corpora.
However, there is no such thing as a "normal" or "neutral" map representation, so it's hard to judge now what kind of map would make sense for future corpora, or what should be configurable. I recommend against building lots of options "just in case".
Currently, I-analyzer doesn't really have a system to add visualisation configurations per corpus. (Though some things are set implicitly based on elasticsearch mappings and such.) So even if you know what to configure, there is a question of where these options would even go.
For what it's worth, my intuition would be:

Whether or not political borders are relevant (and if so, which) is definitely going to depend on the corpus, but I think it's an acceptable choice to only offer land masses for now.
Background colours, symbol sizes, etc., are all aesthetic choices that should be made for the whole application to maintain a consistent look. We don't offer these kind of options for other visualisations either. (That is, not per corpus.)
It would be a shame if the centre or zoom level end up being hard coded, because that will really affect reusability. Setting this dynamically is probably preferable since, as mentioned, we don't actually have a configuration system for things like this. You might get better UX if this is based on the complete corpus rather than the queryset.

In the long term, a plugin system for visualisations would make it more acceptable to have a visualisation plugin tailored to a single corpus, or might include a system to add some configurations per corpus.

It would be a shame if the centre or zoom level end up being hard coded, because that will really affect reusability. Setting this dynamically is probably preferable since, as mentioned, we don't actually have a configuration system for things like this. You might get better UX if this is based on the complete corpus rather than the queryset.

Right, it's better for this to be dynamic. The most straightforward way to do that is probably via a Vega transform, but that will be based on the current results rather than the whole corpus. If we want to have it per corpus, we are probably back to needing a corpus configuration system for such options. Maybe a separate backend method that calculates the center or bounding box for the corpus is possible, but that seems wasteful?

If we want to have it per corpus, we are probably back to needing a corpus configuration system for such options. Maybe a separate backend method that calculates the center or bounding box for the corpus is possible, but that seems wasteful?

It's plausible that elasticsearch can give you a bounding box for the whole index super efficiently (i.e., that it optimises storage for that kind of question), so then there wouldn't really be any meaningful waste in making an aggregation request during runtime. That's just speculation, though.

Jep, Elasticsearch can do bounding box queries:
https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-geo-bounding-box-query.html


[Angular] remove the server wrapper from angular sample app

Description
I have looked into the Angular Universal  solution and they do not seem to inclulde 2 tasks for building the server bundle. After some researching I have found a few simple changes in the setup of the sample Angular, which seem to produce a valid server bundle, but not only with just one build task (build:server), also half the bundle size!
Motivation
By omitting the server wrapper, we can remove the need for its additional configuration and the build:task. This definitly speeds up the development process. As a bonus: the output of the bundle is half its original size.
How Has This Been Tested?
I have tested this in our own corporate setup. We have implemented it there and was asked to provide a pull request.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation update (non-breaking change; modified files are limited to the /docs directory)

Checklist:

[x] I have read the Contributing guide.
[x] My code follows the code style of this project.
[x] My code/comments/docs fully adhere to the Code of Conduct.
[ ] My change is a code change and it requires an update to the documentation.
[ ] My change is a documentation change and it requires an update to the navigation.

@EvtK I'm wondering, I did build using your changes and I got size of the dist folder: 9.14 mb
And without your changes: 9.01mb...