[api] Observation space feature types

Currently, the observation space of each Entity is defined as a single flat list of features which are all assumed to be scalars:
https://github.com/entity-neural-network/incubator/blob/be33cae8355d0f79374718e2293983bfc5827779/entity_gym/entity_gym/environment.py#L86-L88
There are other feature shapes that we might want to support:

0D Tensor (scalar): Already have this
1D Tensor (vector): Already sort of supported since you can flatten it into scalars. but you could imagine a feature that consists of 32 scalar values which don't really make sense to name individually.
2D Tensor (matrix): Could represent e.g. a tilemap or image.
3D Tensor: Map with multiple layers/channels.
N-D Tensor: ???

As @jeremysalwen noted, explicitly modeling the structure of the input space in this has at least two advantages:

We allow for more efficient network architectures with deeper awareness of the feature structure, e.g. using ConvNet for maps.
We can support a richer set of actions tied to the observation space, e.g. selecting specific coordinates of a map

Another consideration is the allowed type of elements. Currently, we only support floats, but we should at least also support int/categorical features that can be one-hot encoded. (tracked in https://github.com/entity-neural-network/incubator/issues/23)

I'd like to start working on this. For a quick start we could simply refactor Entity.features to be a Dict[str, np.ndarray].
If we want to be more proper about this, we could introduce a new type Tensor that has a value property and a get_shape() method (and other convenience methods) and let Entity.features be a Dict[str, Tensor]. Tensor will simply be a wrapper around a numpy or torch tensor but it prevents us being tightly coupled to a single framework.
@cswinter and others, curious to hear your thoughts on this approach?

Some initial thoughts:

There are separate questions: (1) how do describe the observation space (currently Entity), and (2) what is the representation/memory layout of observations (currently np.NDArray[np.float32])

For (1), I think we want something more descriptive than an np.ndarray, maybe a set of dataclasses. To describe the shape of features, probably a tuple will do, similar to the shape property of np.ndarray/torch.tensor.
For (2), flattening everything into a single np.NDArray[np.float32] is the most straightforward/performant solution. For debugging purposes, we'll want an a method that can extract the value of a given feature from the flattened array.

We currently don't have any environments that actually have anything other than scalar features, or a network architecture that could make use of those.
Related issue which we'll need to take into consideration and might want to tackle first: https://github.com/entity-neural-network/incubator/issues/23

Thanks for the response @cswinter ! Perhaps there's some considerations I'm not seeing, but I think this and #23 can be solved together using the approach I outlined above, with some modifications. So a Tensor could be defined to be a Union[Continuous, Discrete]. For example, currently the observation space of MultiSnake looks like this:
  ObsSpace(
            {
                "SnakeHead": Entity(["x", "y", "color"]),
                "SnakeBody": Entity(["x", "y", "color"]),
                "Food": Entity(["x", "y", "color"]),
            }
        )

Instead of  "Food": Entity(["x", "y", "color"]), we could have something like:
"Food": Entity({
        "x":         Continuous(shape=(,)),    # scalar shape is an empty tuple
        "y":         Continuous(shape=(,)),
         "color":  Discrete(num_values=4) # categorical variable
    }),

Yep, that's pretty much what I had in mind!

Small suggestion, I think it would be good for the class names to be short since they will get written a lot of times. Maybe Float or Real instead of Continuous? Can't think of anything that would be shorter than Discrete.

Some random thoughts:

Discrete values could also have a shape. Maybe we want to separately specify types and shapes?
We may want to designate features as Discrete/Int (e.g. positions on a grid) and use them in e.g. absolute positional encodings or embeddings, but not one-hot encode them. Maybe the encoding should also be specified separately? Maybe that's not a good idea though.

Hey @cswinter I started implementing the interface we discussed: https://github.com/dtch1997/incubator/tree/feature/add_feature_types
A quick question: How set are you on having the internal representationfor an Entity instance be a single flat np.ndarray? It seems like that creates a few more problems because 1) the different feature values could have different data types and 2) we'd need to have functions for converting the internal representation to the correct data type / shape of the feature.
To me the most elegant solution would be to let an Entity instance (let's call it EntityValue) be a Dict[str, np.ndarray] instead of a flat np.ndarray which avoids having to do any conversion and also makes it much simpler to filter the features to form an ObservationSpace.
I was also thinking that we could allow Entity to be a hierarchial construct, i.e. Entity.features can be a Dict[str, Union['Entity', Variable] so that we can compose smaller entities to form larger ones. Let me know your thoughts.

Yeah I think something like the Dict[str, np.ndarray] might be what we want the API to ultimately look like, it's just going to be a good amount of work to still allow it to be performant and we'll have to be careful about how exactly it's set up. There's a couple of places that could become a bottleneck for environments that have more than a small number of features:

For an environment with many features, even just creating a Python object/numpy array for each feature and population the dictionary could be a bottleneck.
Concatenating observations from multiple environments into a batch will be slow if we have to iterate over a large Python dict. This can be avoided by environments implementing the VecEnv interface directly so might be OK.
Pushing a (batched) observation onto the sample buffer, and shuffling the sample buffer, will be too slow if we have to iterate over a large Python dict.
On each forward pass, we still need to turn all features into a contiguous tensor (or maybe one tensor per data type). Again, iterating over a large Python dict probably won't cut it.

I'm fairly sure this could all still be done efficiently in some maybe, maybe with a version of the RaggedBuffer type that supports multiple features and handles all the iterating over features internally. We probably still want to convert the more condensed representation used by the network architecture as soon as possible so we only need to perform the conversion once. Probably as soon as we receive the observation from the environment, and before feeding them to the network and pushing them onto the sample buffer.
The approach I would take is to first figure out what the efficient encoded representation of everything should be, since this is what we want the network architecture and PPO code to use (and also makes that code a lot simpler). Right now, our network architecture doesn't support anything other than a flat tensor of floats and it's slightly unclear how more complex things are going to work, so I think it makes sense to stills stick to that representation at least internally. We can then add a conversion layer that enables a more ergonomic API for environments, while still allowing them to directly supply the more efficient representation.

I was also thinking that we could allow Entity to be a hierarchial construct, i.e. Entity.features can be a Dict[str, Union['Entity', Variable] so that we can compose smaller entities to form larger ones. Let me know your thoughts.

We could already compose entities by just merging the feature dict (and merge in multiple instances of the same entity by prefixing the features). I suppose modeling this at the level of the API could allow for things like joint feature normalization across the sub-entities. My sense is that this would complicate a lot of code and wouldn't be worth the trouble at this time. But also I don't think I fully understand the use case for this yet, did you have a particular example in mind?

Yeah I think something like the Dict[str, np.ndarray] might be what we want the API to ultimately look like, it's just going to be a good amount of work to still allow it to be performant and we'll have to be careful about how exactly it's set up.

I see, okay. Concretely I was thinking of having both an object-oriented version and a flattened version of Observation. The object-oriented version can be used internally by Environment, such as in Environment._compile_feature_filter. Then it can be flattened once it is passed to the neural network. I haven't encountered any cases where you would need to do the reverse operation (going from flattened representation to the object-oriented one). IMO splitting it up like this would make implementation of new Environments a lot simpler and avoid most of the performance issues you described.
FWIW, in my work with OpenAI gym this is mostly how I manage complex observation spaces too. The gym.Env can have a dictionary space and it gets flattened down to an array when necessary with a generic wrapper class.

We could already compose entities by just merging the feature dict (and merge in multiple instances of the same entity by prefixing the features). I suppose modeling this at the level of the API could allow for things like joint feature normalization across the sub-entities. My sense is that this would complicate a lot of code and wouldn't be worth the trouble at this time. But I also don't think I fully understand the use case for this yet, did you have a particular example in mind?

I think there isn't a solid need for this yet in the currently implemented environments, but it might become a useful abstraction for more complex environments which have a natural hierarchy / structure to them. It's more of a forward-thinking design decision, we definitely don't have to worry about it for now.

I think the main use case for going from flattened -> object-oriented version would be things like debugging, logging metrics of (flattened) feature statistics, turning recorded sample traces back into features.


fix the git add issue

Fix #797, steps as below, @ecordell @njhale Correct me if I'm wrong.
mac:operator-lifecycle-manager jianzhang$ git stash
Saved working directory and index state WIP on master: 9ba3512c Merge pull request #741 from njhale/sub-status-proposal
mac:operator-lifecycle-manager jianzhang$ git add .
mac:operator-lifecycle-manager jianzhang$ git status
On branch master
Your branch is up to date with 'origin/master'.

Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

	modified:   vendor/github.com/sirupsen/logrus/.gitignore
	modified:   vendor/github.com/sirupsen/logrus/CHANGELOG.md
	modified:   vendor/github.com/sirupsen/logrus/README.md
	modified:   vendor/github.com/sirupsen/logrus/entry.go
	modified:   vendor/github.com/sirupsen/logrus/exported.go
	modified:   vendor/github.com/sirupsen/logrus/formatter.go
	modified:   vendor/github.com/sirupsen/logrus/go.mod
	modified:   vendor/github.com/sirupsen/logrus/go.sum
	modified:   vendor/github.com/sirupsen/logrus/json_formatter.go
	modified:   vendor/github.com/sirupsen/logrus/logger.go
	modified:   vendor/github.com/sirupsen/logrus/logrus.go
	modified:   vendor/github.com/sirupsen/logrus/text_formatter.go
	modified:   vendor/github.com/sirupsen/logrus/writer.go

mac:operator-lifecycle-manager jianzhang$ git commit -m "fix the git add issue"
[master 1ef64f5b] fix the git add issue
 13 files changed, 48 insertions(+), 352 deletions(-)

ci/prow/e2e-aws-olm

/test e2e-aws-olm

/test e2e-aws-olm

I don't think this PR is correct, though it's clear that somehow something got out of sync based on your git status output. The lower case version of logrus (github.com/sirupsen/logrus) should be at v1.2.0 while the upper case version (github.com/Sirupsen/logrus) should be at v1.1.0. This PR is changing the lower case version to v1.1.0.
Are you still seeing this issue on a fresh clone? This is so close to the recent rebase (March 28th) that I'm wondering if that is somehow related.

@jpeeler @njhale Sorry for the late to reply. Many thanks for your suggestions! It works now by following the below steps:
$ git fetch  --all
$ git rm -rf vendor
$ git commit -m "throw away xxx"
$ git reset --hard origin/master
mac:operator-lifecycle-manager jianzhang$ git status
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean
mac:operator-lifecycle-manager jianzhang$ git log
commit 33ccf629ecf1aa0f46a0acf7875fe97a37d5e499 (HEAD -> master, origin/release-4.1, origin/release-4.0, origin/master, origin/HEAD)
Merge: 4de8dd1a ab2f6721
Author: OpenShift Merge Robot<EMAIL_ADDRESS>Date:   Sat Apr 13 17:26:53 2019 -0700

    Merge pull request #811 from ecordell/progressing-timestamp

    chore(cvo): report progressing=true if the version has updated
...


Residual merge conflict on Orio website

Looking at http://brnorris03.github.io/Orio/ today, at the section Annotation Language Syntax, saw the following text:
Annotation Language Syntax
<<<<<<< HEAD
Orio annotation is denoted as a stylized C comment that starts with '/*@' and ends with @*/.
For instance, the annotation /*@ end @*/ is used to indicate the end of an annotated code region.
=======

Orio annotation is denoted as a stylized C comment that starts with '/*@' and ends with @*/.
For instance, the annotation /*@ end @*/ is used to indicate the end of an annotated code region.

The <<<<<<< HEAD  and ======= come from a merge conflict that wasnt completely handled.
Sorry if this is the wrong place.
I cant seem to find a repository for brnorris03.github.io

Thank you!


Update xsd.pl

The code as was meant that repeated validation failed. For example:
?- xsd_validate("test.xsd", "test.xml").
true.
?- xsd_validate("test.xsd", "test.xml").
false.

Good catch! I am pretty sure that the original code for ensure_flattened(Id, Id) was there to allow calls for xsd_validate/2 with IDs instead of file names for debugging purposes at some point. Apparently it's no longer working and we are missing the case an XML given by its name is already loaded, so the proposed change perfectly makes sense. Thank you!


Slug parser added. Removed few memory leaks

As in your issue I added slug parser.
When checked r3 lib found some memory leaks. Removed it
Added routing example that demonstrates usage of slug parser

Multithread error. Need more checks. Close it now

Thanks! You helped a lot !


Serious bug with the website!

By accident I found that there is ability to access any website on the Internet through Favicongrabber.com
Here's examples:
https://favicongrabber.com/download/https://rt.com/
https://favicongrabber.com/download/https://www.google.com/
https://favicongrabber.com/download/https://www.facebook.com/

Why is it an issue?


Source provenance needs some changes

Here's a current provenance attribute from a CAM-KP query:
{
'attribute_source': 'infores:cam-kp',
'attribute_type_id': 'biolink:original_knowledge_source',
'value': ['http://model.geneontology.org/5970219a00000766'],
'value_type_id': 'biolink:InformationResource',
'value_url': 'http://model.geneontology.org/5970219a00000766/59a6110e00000211'
}

There are 2 things that need to be changed:

There also needs to be another attribute that looks at least like:

'attribute_type_id': 'biolink:aggregator_knowledge_source',
'value': 'infores:cam-kp,

representing that this edge passed through cam kp.

the value of the original_knowledge_source should be something from the infores vocab.   I like how you are providing a more granular record id, but it's not what should go here, I think.   We should discuss with @mbrush how this more record level descriptor should be encoded....

I guess original_knowledge_source should be infores:go-cam.

Would this be closer to the mark:
"attributes": [
  {
    "attribute_source": "infores:cam-kp",
    "attribute_type_id": "biolink:aggregator_knowledge_source",
    "value": ["infores:go-cam" ],
    "value_type_id": "biolink:InformationResource",
    "value_url": "https://cam-kp-api-dev.renci.org"
  },
  {
    "attribute_source": "infores:go-cam",
    "attribute_type_id": "biolink:original_knowledge_source",
    "value": [ "http://www.geneontology.org/" ],
    "value_type_id": "biolink:InformationResource",
    "value_url": "http://model.geneontology.org/5df932e000003354"
  }
]

"attributes": [
  {
    "attribute_source": "infores:cam-kp",
    "attribute_type_id": "biolink:aggregator_knowledge_source",
    "value": "infores:cam-kp" ,
    "value_type_id": "biolink:InformationResource",
    "value_url": "https://cam-kp-api-dev.renci.org"
  },
  {
    "attribute_source": "infores:cam-kp",
    "attribute_type_id": "biolink:original_knowledge_source",
    "value": "infores:go-cam",
    "value_type_id": "biolink:InformationResource",
    "value_url": "http://model.geneontology.org/5df932e000003354"
  }
]

The value should always be an infores curie.  The attribute source is who created the attribute (always cam-kp).   The bottom attribute says that the original source of this edge is go-cam, and the top attribute says that it was then served by cam-kp.

Looks good now.


Add the possibility to pass personal number requirement to sign via BankIdSignProperties

#445 added the possibility to pass personal number requirement to sign via BankIdFlowOptions (using BankIdFlowService). I would like the same possibility via BankIdSignProperties (using BankIdInitiateSign).

PS. I will have a look at the code and see if I can manage a PR, but time is a bit short now just before summer unfortunately :(


Non-breaking API changes for pyfixest version 0.17.0

Hi @aeturrell , please see my comment in the associated PR: https://github.com/aeturrell/coding-for-economists/pull/69.
Best, Alex

Just released pyfixest 0.17.0 . You can find the full changelog here =)

#69 merged!


Question:  List all atomic test and save to file

I want to list all atomic test -> (Invoke-AtomicTest All -ShowDetailsBrief) and export the list to file. How to?

Disregard this question.  Found it ..
Invoke-AtomicTest All -ShowDetailsBrief | Out-File -FilePath C:\AtomicRedTeam\atomic-test-list.txt


Crash when opening inventory

Hi, when I open my inventory I crash instantly. The strange thing is that when I open a chest or other thing with gui that is not the inventory, the screen become blur (because of my mod blur) and there is no screen
Its horrible please help me.
Thanks.

I need a crashlog or a mod list to help.

I may be seeing a similar/same issue. When I try to open a container screen, I get the below error thrown. I am not crashing when I try to open my inventory, but my containers are simply not opening at all. the use action on them does nothing but the error.
Mods installed (first and last are my own, and the issue happens with my modded containers but not vanilla):

When I remove EMI, the screens work per usual.
[17:25:38] [Render thread/ERROR] (Minecraft) Error executing task on Client
 java.lang.NullPointerException: Cannot read field "keyboard" because "this.client" is null
	at net.minecraft.client.gui.screen.ingame.HandledScreen.handler$zoe003$init(HandledScreen.java:2232) ~[minecraft-project-@-merged-named.jar:?]
	at net.minecraft.client.gui.screen.ingame.HandledScreen.init(HandledScreen.java:93) ~[minecraft-project-@-merged-named.jar:?]
	at me.fzzyhmstrs.amethyst_imbuement.screen.AltarOfExperienceScreen.<init>(AltarOfExperienceScreen.kt:175) ~[main/:?]
	at me.fzzyhmstrs.amethyst_imbuement.registry.RegisterScreen.registerAll$lambda-1(RegisterScreen.kt:23) ~[main/:?]
	at net.minecraft.client.gui.screen.ingame.HandledScreens$Provider.open(HandledScreens.java:62) ~[minecraft-project-@-merged-named.jar:?]
	at net.minecraft.client.gui.screen.ingame.HandledScreens.open(HandledScreens.java:51) ~[minecraft-project-@-merged-named.jar:?]
	at net.minecraft.client.network.ClientPlayNetworkHandler.onOpenScreen(ClientPlayNetworkHandler.java:1053) ~[minecraft-project-@-merged-named.jar:?]
	at net.minecraft.network.packet.s2c.play.OpenScreenS2CPacket.apply(OpenScreenS2CPacket.java:37) ~[minecraft-project-@-merged-named.jar:?]
	at net.minecraft.network.packet.s2c.play.OpenScreenS2CPacket.apply(OpenScreenS2CPacket.java:11) ~[minecraft-project-@-merged-named.jar:?]
	at net.minecraft.network.NetworkThreadUtils.method_11072(NetworkThreadUtils.java:22) ~[minecraft-project-@-merged-named.jar:?]
	at net.minecraft.util.thread.ThreadExecutor.executeTask(ThreadExecutor.java:157) [minecraft-project-@-merged-named.jar:?]
	at net.minecraft.util.thread.ReentrantThreadExecutor.executeTask(ReentrantThreadExecutor.java:23) [minecraft-project-@-merged-named.jar:?]
	at net.minecraft.util.thread.ThreadExecutor.runTask(ThreadExecutor.java:131) [minecraft-project-@-merged-named.jar:?]
	at net.minecraft.util.thread.ThreadExecutor.runTasks(ThreadExecutor.java:116) [minecraft-project-@-merged-named.jar:?]
	at net.minecraft.client.MinecraftClient.render(MinecraftClient.java:1095) [minecraft-project-@-merged-named.jar:?]
	at net.minecraft.client.MinecraftClient.run(MinecraftClient.java:734) [minecraft-project-@-merged-named.jar:?]
	at net.minecraft.client.main.Main.main(Main.java:237) [minecraft-project-@-merged-named.jar:?]
	at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:461) [fabric-loader-0.14.8.jar:?]
	at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) [fabric-loader-0.14.8.jar:?]
	at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) [fabric-loader-0.14.8.jar:?]
	at net.fabricmc.devlaunchinjector.Main.main(Main.java:86) [dev-launch-injector-0.2.1+build.8.jar:?]

I'm not seeing the issue with 0.2.0+1.19 by the way:

I figured out the issue for my particular problem, which was on my end, so I've hidden the above two comments. The original comment may still need pursuing if they provide details.

Closing it, that was one of my mods that was causing issues


TransformGeometryImageFilter for rotate series images but the out put images are the same as the input images

Description
TransformGeometryImageFilter for rotate series images but the out put images are the same as the input images.

codes
#include <itkImage.h>
#include <itkImageFileWriter.h>

#include <rtkCudaFDKConeBeamReconstructionFilter.h>
#include <rtkThreeDCircularProjectionGeometryXMLFile.h>
#include <rtkProjectionsReader.h>
#include <rtkConstantImageSource.h>
#include <itkTIFFImageIO.h>
#include <itkImageSeriesReader.h>
#include <itkImageFileWriter.h>
#include <itkNumericSeriesFileNames.h>
#include <itkInvertIntensityImageFilter.h>
#include <itkImageSeriesWriter.h>
#include <itkRescaleIntensityImageFilter.h>

#include <itkAffineTransform.h>
#include <itkResampleImageFilter.h>
#include <itkCenteredTransformInitializer.h>
#include <itkCenteredRigid2DTransform.h>

#include <itkCenteredEuler3DTransform.h>
#include <itkVersorRigid3DTransform.h>
#include <itkTransformGeometryImageFilter.h>

#include <cmath>
#define PI acos(-1)

int main(int argc, char * argv[])
{
  if (argc < 6)
  {
    std::cerr << "Usage: " << argv[0] << " input_folder series_format image_start_index image_end_index output.mha"
              << std::endl;
    std::cerr << "etc.: " << argv[0] << " E:/DATA/CT/800Pic/ 00000000_%d.tif 0 805 output.mha" << std::endl;
    return EXIT_FAILURE;
  }

  using InputPixelType = uint8_t;
  using OutputPixelType = float;
  const unsigned int Dimension = 3;

  using InputImageType = itk::CudaImage<InputPixelType, Dimension>;
  using OutputImageType = itk::CudaImage<OutputPixelType, Dimension>;

  std::cout << "****** loading img... ******" << std::endl;

  using NameGeneratorType = itk::NumericSeriesFileNames;
  auto nameGenerator = NameGeneratorType::New();
  nameGenerator->SetSeriesFormat(std::string(argv[1]) + "/" + std::string(argv[2]));
  const unsigned int first = std::stoi(argv[3]);
  const unsigned int last = std::stoi(argv[4]);
  nameGenerator->SetStartIndex(first);
  nameGenerator->SetEndIndex(last);
  nameGenerator->SetIncrementIndex(1);

  using ReaderType = itk::ImageSeriesReader<InputImageType>;
  auto reader = ReaderType::New();
  reader->SetImageIO(itk::TIFFImageIO::New());
  reader->SetFileNames(nameGenerator->GetFileNames());

  try
  {
    reader->Update();
  }
  catch (itk::ExceptionObject & e)
  {
    std::cerr << "Exception in file reader: " << e.what() << std::endl;
    return EXIT_FAILURE;
  }
  std::cout << "****** load img finish. ******" << std::endl;

  //--------------------------
  using TransformType = itk::VersorRigid3DTransform<double>;
  auto transform = TransformType::New();

  // Set up transforms
  InputImageType::PointType center;
  center.Fill(0.0);

  itk::Vector<double, Dimension> translation;
  translation.Fill(0.);

  itk::Vector<double, Dimension> rotationAxis;
  rotationAxis[0] = 0.0;
  rotationAxis[1] = 0.0;
  rotationAxis[2] = 1.0;
  double rotationAngle = 90; // Radians
  transform->SetCenter(center);
  transform->Translate(translation);
  transform->SetRotation(rotationAxis, rotationAngle);
  using FilterType = itk::TransformGeometryImageFilter<InputImageType, InputImageType>;
  auto filter = FilterType::New();
  filter->SetTransform(transform);
  // filter->SetInputImage(reader->GetOutput());
  filter->SetInput(reader->GetOutput());
  std::cout << "filter->SetTransform() " << transform << *filter->GetTransform() << std::endl;
  TRY_AND_EXIT_ON_ITK_EXCEPTION(filter->Update());

  itk::ImageSeriesWriter<itk::CudaImage<uint8_t, Dimension>, itk::CudaImage<uint8_t, 2>>::Pointer writer1 =
    itk::ImageSeriesWriter<itk::CudaImage<uint8_t, Dimension>, itk::CudaImage<uint8_t, 2>>::New();

  writer1->SetSeriesFormat(std::string("E:/DATA/CT/800Pic/byte2IC2rotate/" + std::string(argv[2])));
  writer1->SetStartIndex(0);
  writer1->SetIncrementIndex(1);

  writer1->SetInput(filter->GetOutput());
  writer1->Update();

  return EXIT_SUCCESS;
}

thks for your reply!

What is the result of writing reader->GetOutput()?

What is the result of writing reader->GetOutput()?
I apologize for sharing an incorrect code result. I have already corrected the title of the issue. The output of the code is that the output images are the same as the input images. This means that the TransformGeometryImageFilter is not working as expected. The code I provided was written based on ITK’s test example, itkTransformGeometryImageFilterTest. Thank you.

What is the result of writing reader->GetOutput()?

The result of writing reader->GetOutput() is the same as input images.

The pixel buffer should remain exactly the same. Only the image metadata should be modified. What tool are you using to visualize images? If it ignores metadata, of course you will not notice a difference. If you write out the result as an .mha image, you should be able to notice the different in the metadata using a text editor (such as Notepad++). You might also consider using OrientImageFilter, if TransformGeometryImageFilter does not do what you want.

The pixel buffer should remain exactly the same. Only the image metadata should be modified. What tool are you using to visualize images? If it ignores metadata, of course you will not notice a difference. If you write out the result as an .mha image, you should be able to notice the different in the metadata using a text editor (such as Notepad++). You might also consider using OrientImageFilter, if TransformGeometryImageFilter does not do what you want.

Thks for your reply. mha is different from image in terms of data structure.I'll try.thk!!!


Make the concepts, localizedConcept and ManagedConcept according to model

Currently concept contains localizedConcepts but in the model localizedConcept inherits from concept and managedConcept contains the list of all localized concepts.
So this ticket is to update the glossarist implementation according to concept-model.

@ronaldtse Can you clarify the difference between Ref and ConceptSource terms? According to the concept-model, Ref and ConceptSource are 2 different models having different properties but in the current implementation in the iev-data repo Ref is being used and it has the properties of both plus some additional properties which are

link
original
clause

So my questions are,

Which model should include these extra properties, the Ref model or the ConceptSource model?
Currently from iev-data the sources key is saved in the Ref model but if we separate the keys into different models then how should we handle the incoming payload? E.g
currently, the payload for authoritative sources is like

  authoritative_source: {
    "ref" => {
      "id" => "",
      "source" => "",
      "version" => ""
    },
    "clause" => "",
    "link" => "",
    "relationship" => {
      "type" => "",
      "modification" => ""
    },
    "original" => "",
  }.compact

but according to the concept-model, this should go into the ConceptSource model with type = authoritative but the concept source model does not handle other fields like clause, link and ref.
What do you suggest? how should I handle this? should I change the ConceptSource model to add the following fields (This will result in duplicate fields in 2 different models)?

You have to look at the big picture model which is Concept. A Concept contains ConceptSources, a ConceptSource contains a <<Bibliography>> Citation.
ConceptSource is supposed to link to another Concept, so it would have some metadata about what that source concept is. Eg. status, type (authoritative, etc) in addition to a Citation.
Where do you see Ref? Do you mean Citation?
The Citation model in defined in relaton-models.  A citation is an information resource typically has a name, link and locality.
Just refer to the concept-models diagrams on the first page, all the definitions are shown there. Description of the models can be found inside the lutaml definitions.

Where do you see Ref?

@ronaldtse The Ref model is in the current implementation of glossarist. It has some fields that are not present anywhere in the concept-model and those fields are being sent over in the payload from the iev-data, i.e link, original, and clause.
I just want to confirm should I add those fields to some other model or remove those fields?

You should rename Ref into Citation, and create a new ConceptSource class.

You should rename Ref into Citation, and create a new ConceptSource class.

Sounds good 👍

@HassanAkbar has this been completed? Thanks.

@ronaldtse I think this is completed. Let me just confirm this and then I’ll close this ticket.

Thanks, if so please close it.


Vite is not working properly with sveltekit

Describe the bug
[vite] Error when evaluating SSR module /src/routes/__layout.svelte:
Error: Cannot find module '/home/marcgodard/Documents/GitHub/gs-web/package.json' imported from '/home/marcgodard/Documents/GitHub/gs-web/node_modules/vite/dist/node/chunks/dep-f5552faa.js'
Reproduction
By running npm run start
System Info
System:
    OS: Windows 10 10.0.22000
    CPU: (8) x64 Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz
    Memory: 863.19 MB / 7.77 GB
  Binaries:
    Node: 14.17.4 - C:\Program Files\nodejs\node.EXE
    npm: 7.11.2 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Edge: Spartan (44.22000.120.0), Chromium (98.0.1108.43)
    Internet Explorer: 11.0.22000.120
  npmPackages:
    @sveltejs/adapter-node: ^1.0.0-next.33 => 1.0.0-next.67
    @sveltejs/adapter-static: ^1.0.0-next.13 => 1.0.0-next.26
    @sveltejs/kit: next => 1.0.0-next.260
    svelte: ^3.41.0 => 3.46.4

Used Package Manager
npm
Logs
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to https://github.com/vuejs/core instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

Fixed in #6488

Fixed in #6488

How could I update the vite new version in sveltekit ?


German translation (Initial)

Initial German translation with the following remarks:

Several terms (incl. "Dashboard" and SNMP related ones) kept in English for their obscure nature and general use of them in German as well
No checking of length compared to UI done so far
Really just a 5min job, hopeful it's still useful, though

Nice work @johannrichard :)

Thanks for this, I'll merge this and hopefully push a new update to the stores within the next week or so.

👍 You're welcome. Wasn't sure if you were still working on the App. :-)


INA228

Hello,
I was curious if there is a INA228 of this driver being developed (or in the pipeline) for this chip?
Respectfully,
RobTillaart

@caoxuan19961206
Moved the issue to the new INA228 repository so it has the right context.

@caoxuan19961206
Added quite some functionality to the library.
If you have time, please verify if it works.

@caoxuan19961206
Develop branch is now functionally complete.
If you have time, please verify if it works.

Thank you very much for helping me. I have tested INA228_demo and INA228_dump_config, and they can work normally

@caoxuan19961206
Thanks for testing!
I hope that the values you got make sense and are accurate.
One more question, which board do you use?

@caoxuan19961206
A new 0.1.3 version released today, fixes a few bugs so have a look.


Retrieving full glyph drawing data from drawGlyph & PathCollector

Not sure if this PR is totally in the spirit of what BlackRenderer is aiming to do, but was chatting with @SophiaDesign about supporting COLRv1 in Coldtype & she suggested integrating BlackRenderer. I got to playing around with it and realized that with some minor modifications to the drawGlyph method & the PathCollector, it would be pretty easy to get all the drawing data necessary to reconstruct COLRv1 drawings in Coldtype.
Coldtype itself splits the text shaping & the text rendering steps, so the current direct-render strategy of BlackRenderer doesn't quite fit, but with a few returns in font.py & some extra data being saved in the PathCollector, Coldtype can retrieve what to draw and then hold off on drawing until later. (I also experimented with pulling some of BlackRenderer’s COLRv1 skia shader-mapping out into static functions that could be called from Coldtype, but that felt a little out-of-scope here. I'll admit I've only got linear gradients working properly in Coldtype at the moment, but that was the immediate goal to support animating https://github.com/SophiaDesign/Foldit)
All in all, this PR is as much of a question as it is a suggestion/feature-request. I would love to be able to call into the BlackRenderer shaping pipeline, but if all those new returns and the expanded PathCollector don't feel at home, I completely understand!
(And just for kicks here's a little end-to-end integration with Coldtype & the modified BlackRenderer:)
https://user-images.githubusercontent.com/89770/187273083-d18903f4-20fd-4b2d-addf-47395014020d.mp4

Hi Rob, thank you for your interest!
I'm trying to wrap my head around what you need, and why you wrote it the way you did. Do you need the hierarchical tree structure of the COLRv1 glyphs, instead of the flattened Canvas calls?
I'm mostly curious how the Canvas API is insufficient for recording the data that you need.
I'm not quite comfortable with the modifications to font.py, as they seem to serve only this specific backend.

Hi Just — thanks for taking a look at it! Yeah I think that's exactly it, that the Canvas doesn't maintain the glyph hierarchy / doesn't have that GlyphInfo recorded anywhere. That said, as soon as you mentioned that, I realized the only reason I need the hierarchy was because my original idea was to have BlackRenderer handle the harfbuzz step as well, so it was necessary in that case, but you're totally right that I can read the paths directly from the canvas.
Which also means the only change I'm proposing is that change to the PathCollectorCanvas, which is a pretty minimal change and I can just create my own backend class in Coldtype itself, so... I guess there's really no need for a PR after all!
Thanks again for taking a look — will close this.


Logging

Hello, somehow with latest master version I do not seem to get out any logging from the peercalls server other than the initial lines below, even when I set and export PEERCALLS_LOG="*":

info [                main] Using config: {BaseURL: BindHost:<IP_ADDRESS> BindPort:3000 .......}
info [                main] Listen local_addr=<IP_ADDRESS>:3000

Any idea what may be causing this?
Thanks for any help.

There was a change in the logging package, can you try using ** instead of *?

Hi, thanks that helps indeed, I get room, connection and signals logged. However, since the README example mentions -sdp and pion:* stuff I was expecting more, is there a way to have sdp's logged server-side, sdp:debug does not seem to do anything?
Btw I see a growing namespace ...et_handler:mesh:mesh:mesh:mesh:mesh..... for the Send signal logging, seems a small glitch there.

Btw I see a growing namespace

Thanks for the report, here's a fix for that: https://github.com/peer-calls/peer-calls/pull/255
The logs you're looking for should be under **:signaller:trace, see server/wrtcsignaller.go for more info.
However, these are only relevant to SFU network mode, looks like we don't log the signals for Mesh mode. You should be able to enable debug logging in dev console to log signals (localStorage.debug = 'peercalls:sdp') and refresh the page.

Thanks for the fix and pointing me in right direction. I added logging of mesh signal payloads with simple addition:
--- a/server/mesh.go
+++ b/server/mesh.go
@@ -75,6 +75,9 @@
 				log.Info("Send signal to", logger.Ctx{
 					"target_client_id": targetClientID,
 				})
+				log.Trace("Payload", logger.Ctx{
+					"payload": signal.Signal,
+				})
 				err = adapter.Emit(targetClientID, message.NewSignal(roomID, message.UserSignal{
 					Signal: signal.Signal,
 					PeerID: clientID,


xlc compiler

Describe the bug
Cannot build with XL compiler on Summit at OLCF. Error message:
In file included from /gpfs/alpine/mat190/scratch/jeanluc/GIT/Umpire/src/umpire/strategy/MixedPool.cpp:8:
In file included from /gpfs/alpine/mat190/scratch/jeanluc/GIT/Umpire/src/umpire/strategy/MixedPool.hpp:10:
In file included from /usr/lib/gcc/ppc64le-redhat-linux/4.8.5/../../../../include/c++/4.8.5/map:62:
/usr/lib/gcc/ppc64le-redhat-linux/4.8.5/../../../../include/c++/4.8.5/bits/stl_multimap.h:130:41: error: 'rebind'
following the 'template' keyword does not refer to a template
typedef typename _Alloc::template rebind<value_type>::other
^~~~~~
/gpfs/alpine/mat190/scratch/jeanluc/GIT/Umpire/src/umpire/strategy/QuickPool.hpp:150:5: note: in instantiation of
template class 'std::multimap<unsigned long, umpire::strategy::QuickPool::Chunk *, std::less,
umpire::strategy::QuickPool::pool_allocator<std::pair<const unsigned long, umpire::strategy::QuickPool::Chunk
*> > >' requested here
SizeMap::iterator size_map_it;
^
In file included from /gpfs/alpine/mat190/scratch/jeanluc/GIT/Umpire/src/umpire/strategy/MixedPool.cpp:8:
In file included from /gpfs/alpine/mat190/scratch/jeanluc/GIT/Umpire/src/umpire/strategy/MixedPool.hpp:10:
In file included from /usr/lib/gcc/ppc64le-redhat-linux/4.8.5/../../../../include/c++/4.8.5/map:60:
/usr/lib/gcc/ppc64le-redhat-linux/4.8.5/../../../../include/c++/4.8.5/bits/stl_tree.h:335:24: error: type 'int'
cannot be used prior to '::' because it has no members
typedef typename _Alloc::template rebind<_Rb_tree_node<_Val> >::other
^
/usr/lib/gcc/ppc64le-redhat-linux/4.8.5/../../../../include/c++/4.8.5/bits/stl_multimap.h:136:17: note: in
instantiation of template class 'std::_Rb_tree<unsigned long, std::pair<const unsigned long,
umpire::strategy::QuickPool::Chunk *>, std::_Select1st<std::pair<const unsigned long,
umpire::strategy::QuickPool::Chunk *> >, std::less, int>' requested here
_Rep_type _M_t;
^
/gpfs/alpine/mat190/scratch/jeanluc/GIT/Umpire/src/umpire/strategy/QuickPool.hpp:150:5: note: in instantiation of
template class 'std::multimap<unsigned long, umpire::strategy::QuickPool::Chunk *, std::less,
umpire::strategy::QuickPool::pool_allocator<std::pair<const unsigned long, umpire::strategy::QuickPool::Chunk
*> > >' requested here
SizeMap::iterator size_map_it;
^
To Reproduce
(using modules loaded by default)
module load cmake
mkdir build
cd build
cmake -DCMAKE_CXX_COMPILER=xlc++ ..
make
Expected behavior
Complete build
Compilers & Libraries (please complete the following information):

Compiler & version: xl/16.1.1-5
CUDA version (if applicable):

Additional context
Was able to build successfully with gnu compiler

Closing this for now - please reopen if you have more problems.


wtclient: add DeactivateTower and TerminateSession commands

The Issues
This PR addresses 2 main issues that exist today:

On startup, the wtclient iterates through all the sessions that it has and then uses those to determine which towers can be seen as candidates.  This doesnt really make sense for a few reasons:

We could have added a tower and the done a restart before any sessions get created with that tower. Today, this tower would not be considered for session negotiation on restart since it has no sessions.
We could have sessions with an old tower that is no longer usable and yet we will still iterate through all of its sessions to see if any of them are active and then we might still load this tower. This is very inefficient & will result in many error logs about the tower not being connectable.

If anything strange happens with the current active session resulting in it not being able to send backups to the server, there is no way for a user to get the client to move on to another session. This can cause the entire client to be frozen just on one session. Sessions do have a "Status" but that status is either "Active" or "inactive" and it is entirely controlled by the tower being created (activate all sessions) or removed (inactivate all sessions). So there is no fine grained control available for sessions yet.

The Solutions:

To solve issue 1) we introduce a Status to a persisted Tower along with a DeactivateTower method and command that a user can use. If a tower's status is "Inactive" then it wont be loaded on start-up and neither will any of its sessions.
We change the meaning of a session's Inactive status to rather mean "Terminal" and we change the logic so that re-adding a tower through "CreateTower" no longer changes the status of sessions & "RemoveTower" also does not. Only a call to "DeleteCommittedUpdates" or a manual instruction from the user via the "TerminateSession" call will now set a session's status to "terminal".

Side Effects:
Changing the session "Inactive" status to mean "terminal" means that any session currently in the "inactive" state will never be "active" again. I argue that this is ok since: 1) the session would only have been in the "inactive" state if a user manually requested "RemoveTower" for the corresponding tower meaning they were probably having issues with that tower anyways. 2) All tower clients are still altruistic meaning that this will not mean that they paid for sessions that they can no longer use.
Fixes: https://github.com/lightningnetwork/lnd/issues/8221 (step 2)
Fixes: https://github.com/lightningnetwork/lnd/issues/7949
Fixes: https://github.com/lightningnetwork/lnd/issues/6397
Replaces: https://github.com/lightningnetwork/lnd/pull/7545

note to self to add a commit here which ensures that a tower is loaded as an active tower even if all the sessions we have for the tower are exhausted.

@bitromortac: review reminder
@guggero: review reminder

Thanks @bitromortac  🙏  I think I've addressed all your comments


Add functionality to handle Expression Updates to GUI2

Pull Request Description
Implements #7783. Adds functionality to handle and store expression updates, as well as show the output type of node.
https://github.com/enso-org/enso/assets/1428930/31ffff78-ff2c-4e0b-bcde-ddc507cc0226
Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:

[x] The documentation has been updated, if necessary.
[x] Screenshots/screencasts have been attached, if there are any visual changes. For interactive or animated visual changes, a screencast is preferred.
[x] All code follows the
Scala,
Java,
and
Rust
style guides. In case you are using a language not listed above, follow the Rust style guide.
All code has been tested:

[x] Unit tests have been written where possible.
[x] If GUI codebase was changed, the GUI was tested when built using ./run ide build.

Merged with develop and refactored the expression updates a bit to better integrate with new execution context class.


(WIP) [MM-4819] Add and use MinimumHashtagLength setting

Summary
Add the setting about MinimumHashtagLength in system console, and use the setting for checking if message has hashtag.
Ticket Link
https://github.com/mattermost/mattermost-server/issues/9156
https://mattermost.atlassian.net/browse/MM-4819
Checklist

[x] Ran make check-style to check for style errors (required for all pull requests)
[x] Ran make test to ensure unit and component tests passed
[x] Added or updated unit tests (required for all new features)
[ ] Needs to be implemented in mobile (link to PR or User Story)

I think this is NO...

[x] Has server changes (please link)

https://github.com/mattermost/mattermost-server/pull/10248

[x] Has UI changes

Add setting to Database in system console

[x] Includes text changes and localization file (.../i18n/en.json) updates

I have a question and a note.
Question
With this PR, Mattermost can't recognize one-character hashtag, and I think that it makes sense. And if we support one-character hashtag, we must tackle with complex regexp.
https://github.com/mattermost/mattermost-webapp/blob/master/utils/text_formatting.jsx#L373
Should we support one-character hashtag?
Note
Since before, Mattermost has seemed to have a bug for recognizing hashtags.

This screenshot was taken on pre-release.mattermost.com.
Two messages on the above picture looks same, but only the latter is recognized as hashtag. That is because the latter has a space after #疑問.
Mattermost recognizes two-character hashtag as hashtag when it is included in post with three or more characters.
I've fixed this bug by this PR, and added tests for that behaviour.

@hmhealey or @esethna would you know the answer to the above?

Are one-character hashtags common in CJK languages? If not, I don't think we need to support them since the main goal of this change is to improve support for hashtags in those languages.
For reference, Slack and Twitter do support 1-character hashtags, but I don't think they're a use case we need to support, at least for Latin-based languages

@hmhealey Thanks for your comments!
I searched for twitter, some people seem to be using one-character hashtags, and it has meanings. So I'll try to support one-character hashtag.

@kaakaa One-character hashtags might also require need server changes as well. If it ends up being a lot of work to support them and they're only rarely used, I think it's fine to leave them out for now. Two-character hashtags seem much more important from what I understand.

@hmhealey I have tried to support one-character hashtag, but it's difficult for me now... As you say, I want this PR to be intended to support two-character hash tags.

Yes, please remove WIP label!

Thanks for removing that, @hanzei. This'll be ready for PM and QA review then once the server changes are in

Code looks good to me, thanks @kaakaa!

Setup Test Server label detected. Spinmint test server created if build succeeds (checks pass and no conflicts with base branch).

Spinmint test server created at: https://i-0e2c82193b3bf6f08.test.spinmint.com
Test Admin Account: Username: sysadmin | Password: sysadmin
Test User Account: Username: user-1 | Password: user-1
Instance ID: i-0e2c82193b3bf6f08

@mkraft there may be a bug on this spin mint.  When I try to add a channel to the group (so that I can test the removal) It is showing the add teams modal and the channel list is not returned.  Can you please take a look?

@mkraft Sorry about that - you are correct this was for #2429.

Spinmint test server destroyed

Setup Test Server label detected. Spinmint test server created if build succeeds (checks pass and no conflicts with base branch).

Spinmint test server created at: https://i-0d90cb2a3e6574f4a.test.spinmint.com
Test Admin Account: Username: sysadmin | Password: sysadmin
Test User Account: Username: user-1 | Password: user-1
Instance ID: i-0d90cb2a3e6574f4a

Spinmint test server destroyed

Ah...Sorry for my unintended closing PR.

Setup Test Server label detected. Spinmint test server created if build succeeds (checks pass and no conflicts with base branch).

Spinmint test server created at: https://i-008bd87999b4e5f66.test.spinmint.com
Test Admin Account: Username: sysadmin | Password: sysadmin
Test User Account: Username: user-1 | Password: user-1
Instance ID: i-008bd87999b4e5f66

@kaakaa Would you please merge master into your branch? Hopefully this can be merged soon.
@saturninoabril Would you please review when you have the time?

Spinmint test server destroyed

Merged 👍
Thanks @hanzei and @saturninoabril !

Spinmint test server destroyed

Spinmint test running for more than 7 days. This test server was terminated.


Mongo Driver

Whenever I try to run unpubd on a kubernates cluster It gives me that following error
errmsg: Unsupported OP_QUERY command: count. The client driver may require an upgrade. For more details see https://dochub.mongodb.org/core/legacy-opcode-removal, code: 352, codeName: UnsupportedOpQueryCommand} package:shelf/src/middleware/logger.dart 32  logRequests.<fn>.<fn>.<fn>
Should I Manually downgrade or upgrade the mongo db database ?

I'm not going to be much help here as I'm not a mongo expert.
I would try upgrading the mongo package.
As an alternate you can get a free license on https://onepub.dev which provides the same service without having to maintain your own server.
Disclaimer: I'm the founder of OnePub.


active-directory-saas-bambubysproutsocial-tutorial.md classic azure portal that no longer available

I guess note should be modified, because classic portal no longer available
">[!Note]:

This embedded guide is brand new in the new Azure portal, and we’d love to hear your thoughts. Use the Feedback ? button at the top of the portal to provide feedback. The older guide for using the Azure classic portal to configure this application can be found here.-->"

https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/active-directory/active-directory-saas-bambubysproutsocial-tutorial.md

Hey @SychevIgor - Thanks for your feedback! Could you provide this feedback by revisiting the original document page (on http://docs.microsoft.com) and using the "Give documentation feedback" feature in bottom of the page? That way, your valuable feedback is funneled through our appropriate internal processes where the content authors and subject matter experts will get notified, and issues will get resolved in timely manner.

@SychevIgor Thanks for the feedback. We are actively investigating and will get back to you soon.

@SychevIgor Please note as stated by Mike, create a GIT Hub Feedback on this document - Tutorial: Azure Active Directory integration with Bambu by Sprout Social so that we can work with you to understand which section is outdated and probably update the document if required.
I will move ahead and close this issue. Once you create the issue on above document, I will gladly work with you on it.

@MohitGargMSFT could you open the source codes in a raw version and press ctrl+f ?
In this case you will find the following text
">[!Note]:
This embedded guide is brand new in the new Azure portal, and we’d love to hear your thoughts. Use the Feedback ? button at the top of the portal to provide feedback. The older guide for using the Azure classic portal to configure this application can be found here.-->"

@SychevIgor Thanks for reporting! The note section you pointed out is already commented in repo and hence, not visible in actual live document.
The PR to remove the comment from document is created and it will be merged soon. Thanks again for pointing this out, please open a new issue to let us know if there is something else that we can help you with.


Indices Operator

Indices Operator for Int Tensors
Checklist

[ x ] Confirmed that run-checks all script has been executed.
[ x ] Made sure the book is up to date with changes in this PR.

Related Issues/PRs
None
Changes
Added a indices function for int tensors. This is similar to pytorches meshgrid, or numpys indices functions though with slightly different arrangement. For example, the output of Tensor::<B, 2, Int>::indices::<3>(Shape { dims: [2, 3] }, &device); would be:
[[[0, 0],  [0, 1],  [0, 2]],
 [[1, 0],  [1, 1],  [1, 2]]],

Testing
Added a super basic but functional test to make sure indices produces some expected typical outputs.

@nathanielsimard what do you think about the naming for this method? (see my comments for possible suggestions)

Alright, everything has been renamed and moved around. Feel free to review, let me know if there are any other changes we would like. I think I moved it into the backend ops correctly (based on narrow).


Have Docker check iptables for return code and retry

Description
Iptables can return "Resource temporarily unavailable.\n (exit status 4)" when it receives an EAGAIN from the kernel, mostly from concurrency issues of multiple iptables processes attempting to alter the table. The Docker daemon should check the return code and if it's 4, retry the iptables command again.

Steps to reproduce the issue:

Start up a privileged container
Inside of it, make a while loop of executing any iptables add or drop rule repeatedly.
Instruct Docker daemon to start or stop a container that has a port mapping

Describe the results you received:
msg="Error on iptables delete: iptables failed: iptables --wait -t filter -D DOCKER ! -i docker0 -o docker0 -p tcp -d <IP_ADDRESS> --dport 80 -j ACCEPT: iptables: Resource temporarily unavailable.\n (exit status 4)"
Describe the results you expected:
Docker daemon should see the return code of 4 and retry deleting/adding the iptables rule.
Additional information you deem important (e.g. issue happens only occasionally):
Iptables binaries on the host have a lock that they try to get (/run/xtables.lock or a unix socket) and will wait until it's grabbed. However, inside of a container that lock will be different, so iptables on the host and the container will both attempt to run at the same time, causing this issue.
https://patchwork.ozlabs.org/patch/287955/
^ shows that iptables should return exit code 4 to indicate when an EAGAIN is returned by the kernel.
Output of docker version:
core@ip-10-0-4-216 ~ $ docker version
Client:
 Version:      1.10.3
 API version:  1.22
 Go version:   go1.5.4
 Git commit:   3cd164c
 Built:
 OS/Arch:      linux/amd64

Server:
 Version:      1.10.3
 API version:  1.22
 Go version:   go1.5.4
 Git commit:   3cd164c
 Built:
 OS/Arch:      linux/amd64

Output of docker info:
docker info
Containers: 12
 Running: 11
 Paused: 0
 Stopped: 1
Images: 3
Server Version: 1.10.3
Storage Driver: overlay
 Backing Filesystem: extfs
Execution Driver: native-0.2
Logging Driver: json-file
Plugins:
 Volume: local
 Network: bridge null host
Kernel Version: 4.6.3-coreos
Operating System: CoreOS 1068.9.0 (MoreOS)
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 14.69 GiB
Name: ip-10-0-4-216.us-west-2.compute.internal
ID: KM3E:O5RO:B7FD:JB5L:AU4L:5QAM:LN2N:BRXM:L4YC:HF4E:3G7O:LES3

Additional environment details (AWS, VirtualBox, physical, etc.):

Closing as duplicate of https://github.com/docker/docker/issues/12547
Please feel free to continue the discussion there, this bug needs some love to get fixed


Adopt list of supported Identity Wallets

Please add Identity Wallet Mobile apps that would like to be supported, and comment on the idea of implementing a QR Code flow.

Transmute ID is a PWA, but we have the ability to scan QR Codes, I think we can support the DID Auth Flow. Our codebase is JavaScript. Our approach would likely not be reusable by mobile wallets because of the client-server architecture.

BloomID is an identity wallet with the ability to scan QR codes and route deep links for credential sharing and authentication. Server side is Typescript. Clients are in Swift and Java using a shared c++ crypto library for signing. If anything is useful for other wallets we would be open to packaging it into an open source repo.

I'll make an announcement on the Aries call tomorrow to mention companies who want to join should come in here and comment.

Evernym has a mobile agent with an identity wallet that uses QR codes, but I'm not sure what it would take for it to be a "supported identity wallet." What would this actually entail?

Uport is using React Native, and scans QR code. Our app is far from ready but my efforts so far is going in that direction

Excellent, thanks kicking off the conversation.
For an Identity Wallet to be supported, it must implement protocol / data structures necessary to complete the interop demo (a simple credential issuance and presentation flow).
While some of these concepts are still being ironed out, we do have some higher confidence assertions:

The Auth Flow will use OIDC SIOP, a client will need to sign and verify ES256K JWT, that are encoded in QR Codes.

The client will likely need to render a W3C VC format as described here: https://github.com/decentralized-identity/interop-project#credential-format

I think we should focus on OIDC SIOP to start.
That means that the clients will need to be able to sign and verify ES256K JWT, and scan QR Codes.
It sounds like there are a couple different languages which would need to be supported.
I suggest we build a javascript SDK for demoing this first, and then we can figure out how to get interoperability tests for Java, C++, etc...

@OR13 yes, I'm setting up the respective repositories in GitHub in the course of the Authentication WG.

Jolocom SmartWallet is in React Native with ability to scan QR codes. there is deep linking for credential sharing and authentication. backend is Typescript.

Seems like QR Codes are well supported, but the question is what data is presented in the QR Code.
I think we will likely find that existing apps have varying expectations here.
If the QR Code is exactly a JWT, I think thats the easiest for interoperability.

@OR13 if the QR codes is "exactly a JWT", would that mean that someone scanning it using the iPhone camera (not via an app) would not have a good user experience since it wouldn't know what app to launch?

yes, good point, from discussions elsewhere. We seem to be heading for a URI format like:
openid://<jwt>
app://<jwt>
app://expand?request=<jwt>
We probably need some kind of spec hosted in the DIF that organizes these approaches.

@OR13 if the QR codes is "exactly a JWT", would that mean that someone scanning it using the iPhone camera (not via an app) would not have a good user experience since it wouldn't know what app to launch?

Yes! But we could register the URL scheme with IANA, then there is a chance that the behaviour changes on iOS. We are trying to do this for openid://.
Another approach is to use custom MIME-types but the UX would still be very unusual.

yes, good point, from discussions elsewhere. We seem to be heading for a URI format like:
openid://<jwt>

openid should not be used for credential issuance, only for openid requests.

We probably need some kind of spec hosted in the DIF that organizes these approaches.

Yes, and if we decide on a custom URL scheme, then we should also register it with IANA.

Having the QR code exactly be a JWT simplifies the flow, but it might lower the bar a bit if the QR were just a URL.  If it were assumed that flow started with fetching the JWT from a URL 1st, then the QR becomes optional and the barrier to entry would be lower.  It would enable features like direct linking for mobile devices where a QR presents a bit of a chicken/egg problem (the phone can't scan its own screen).

Hi. We (Netis/AceBlock) have a working SSI Mobile app, a web-snippet (QR code part) and a backend agent for verifying the OIDC-SSI token for a year. Our QR Code content is a JWT. We also implemented the mobile-browser-mobile-SSI app (deep link) functionality. The mobile part is in Java, web part in JS, server-side part in JS. A year ago the OIDC implementations did not support the ES256K JWT signatures, nor OIDC-SSI tokens.
Core parts of the libraries will be open source. If you need any help/input, let me know.
(the phone can't scan its own screen) -- we have solved this using deep-links. For interoperability, all SSI apps should follow the same URI format.

@alenhorvat please add links to any implementations if possible, especially your existing URI format, thanks for adding your voice.

Here is the demo page: https://id.aceblock.com/  (Mobile app is not public, yet. V1 is for the demo, V2 is expected to be available by end of the year.)
Web-site JS module: https://www.npmjs.com/package/@aceblock/aceblock-login-qr
Auth. flow is the same as OIDC-SSI (and also DID-AuthN SIOP).
I will provide more info about the URI in the following days.

We just released a CLI which replicates much of the functionality for the Bloom app for prototyping and testing purposes. https://github.com/hellobloom/bloom-credential-playground
It is not yet compliant with the interop mechanisms for did creation, credential issuance, etc but my plan is to prototype the interop features in the CLI then migrate it into the mobile app when ready.

URI Format: at the moment we're using: app_name:base64_encode(oidc_request) <- this should be standardized (e.g., ssi:oidc_auth: for an OIDC-SSI compliant authentication). The oidc_request complies with the OIDC-SSI and DID-Auth SIOP (for authentication only). VC/Attestation request flows are not defined at the moment. Question: are deep-links and QR codes secure way of transferring information from a client to an SSI Agent?

I would not consider a QR code a secure method of transferring information. They should be considered an insecure method of transmitting data.

If the QR Code is a JWE... its as secure as JWE...
Size limits of QR Codes means usually they will be either a resource that can be protected with whatever authorization scheme or a JWE... I'd love to to see OIDC SIOP actually tested in the wild, before we got any further down the QR Code rabbit whole for AuthZ / credential exchange.

OIDC SIOP in the wild: https://www.linkedin.com/posts/truu-id_passwordless-digitalpassport-seeyouinthefuture-activity-6589215033199259648-NRel

If the QR Code is a JWE... its as secure as JWE...
Size limits of QR Codes means usually they will be either a resource that can be protected with whatever authorization scheme or a JWE... I'd love to to see OIDC SIOP actually tested in the wild, before we got any further down the QR Code rabbit whole for AuthZ / credential exchange.

Yes, this is a better way of saying what I was trying to.


BCDR code snippet: Azure Function polling Azure Queue for events

Creating a draft PR for review and tracking. Code will not be checked in to the repository.

Could you also copy the steps that you included in the OneNote as a comment at the start of the file?

@avanigupta This looks good. After the code is finalized, we should set this up and keep it running for a few days to make sure there are no unexpected errors, etc.


Use non-blocking I/O to fix #563

It turns out that Termion is already capable of handling I/O without consuming too much input. The hint is that it expects non-blocking input, as per this snippet:
        let mut buf = [0u8; 2];
        let res = match source.read(&mut buf) {
            Ok(0) => return None,
            Ok(1) => {
                match buf[0] {
                    b'\x1B' => Ok((Event::Key(Key::Esc), vec![b'\x1B'])),
                    c => parse_event(c, &mut source.bytes()),
                }
            }
            Ok(2) => {

One would expect a read call not to return 0 under normal circumstances. It could return 0 e.g. on ctrl+d (not really useful in an interactive context), or if a non-blocking read did not have any available data.
Tested using the program in https://github.com/gyscos/cursive/issues/563. Before this commit, it would drop the first two characters:
Enter your message here:
asfdasdf
Your message was: "fdasdf\n"

After this commit, it returns all the characters
Enter your message here:
asdfasdf
Your message was: "asdfasdf\n"

I suppose that if we want to commit to Unix-only (which seems reasonable, since Termion is Unix-only?), then we can omit the background event-reading thread altogether. We can just poll for events in a regular non-blocking fashion. I suspect the code leaks memory for the blocking input case, since we will poll for events much faster than we will produce them.

Hi, and thanks for the work! It's awesome to have actual non-blocking IO for the input, thanks for spending the time to find out how it was done! :)
I think restricting to Unix and relying on non-blocking-ness is totally fine, especially for termion which, as you said, doesn't support anything else anyway. Non-blocking input should map nicely to the current Backend trait, and a simpler implementation is always welcome.
I'm also still uneasy about the "read request channel" thing - last time it lead to a loads of issues, including poor performance, deadlocks, and overall making things more complicated than they should. The version in this PR looks better, but if we can avoid it, I say we should.
If/When we bring this to crossterm, we'll want to find a solution that applies to windows as well. I hope we can find a way to make windows non-blocking, so we could remove the input thread there too.
It seems kbhit might help there? That or PeekConsoleInput. In either case that's for later, and maybe for crossterm itself to integrate it.

Updated. If we commit to Unix-only non-bkocking reads, then we can get rid of the input threqd/channels altogether, which makes it much simpler.

Looks perfect! Thanks again for all that! :D

Hi, I guess this patch has been out there a while and has been OK, but it could lead to one of the most annoying bugs I've ever had to debug, so I feel I have to mention it here.
On many Unix boxes, stdin and stdout are file descriptorors pointing to the same file description. This is because stdout and stderr are just a dup of stdin. Setting nonblocking sets the flag on the file description, which implies two things that are unintuitive.
One, that making stdin nonblocking also made stdout nonblocking. That may have implications on apps using this crate.
Two, that closing your program does not restore the blocking flag. So, any subsequent programs which expect stdin/out to be nonblocking will be broken. This has surfaced for me before when npm set stdin to nonblocking and then subsequent processes in my shell script always failed, but only if npm had been run before them, and then only if within a shell script, not at the prompt (because the prompt set stdin to blocking, guarding against this).
So, we should always make a best effort to set stdin back to blocking before exiting, which I don't see code in this patch to do, but I am new to Rust so I might be missing it. Thanks for reading 😃
SO Answer on how to undo, if it impacts your terminal -- https://stackoverflow.com/a/48011063
An old writeup / warning -- https://web.archive.org/web/20161023162000/https://jdebp.eu/FGA/dont-set-shared-file-descriptors-to-non-blocking-mode.html

That's a great point!
Just updated the termion backend to set the blocking flag back to true when de-initializing the backend.


Hubs and Staff page

Would also be good to get a staff and hubs page  so we and others can see who is who and where

DisposableBasic gives you a "Hubs" page, but I'm not sure on the Staff page.


StartFocus causing scroll

I changed
this.element.style.top = (-100).toString() + 'px';
to
this.element.style.width = 0;
this.element.style.height = 0;
this.element.style.top = (100).toString() + 'px';

and it seemed to fix them problem of scrolling to the top of a page when an input gains focus.

You'll still be able to scroll up, but it depends on how far down your game is on the page. I haven't tought about setting the width/height to zero but I will test it to see if it'll still work on all device.

I found it worked more as I expected hiding the input off to the left rather than above the game. Since I use iframes to display the game, the absolute is not relative to the page hosting the game. There is still some scrolling, but at least it scroll to the game rather than above it.


How to find out latest heatbeat details notification time in springboot application

Hi All,
I want capture  the latest heartbeat(sent to Eureka) time in springboot application.
Thanks in advance.
Harinath.

Hi Ryan, I have requirement to display latest heartbeat time, container launch time and target container id for all micro services in my tool which will be used management. so , i'm checking how to find out latest heartbeat time received by Eureka from all applications.
Can you please  help suggest me some idea ?
Thanks in advance.
Harinath.

Have you tried listening for HeartbeatEvent?

Closing due to age of the question. If you would like us to look at this issue, please comment and we will look at re-opening the issue.


replay function through functions UI?

Hello,
I was previously running the functions runtime manually in my app service, and just moved everything to a functions app. When utilizing the runtime manually, I was able to replay a function through the Webjobs dashboard. It appears this is no longer possible.
Is it possible to do so through the function app UI in the Azure portal or some other method? This was really useful for testing.
Thanks,
James

We likely could expose those APIs, but it is only supported for a small subset of our bindings. Unfortunately, we don't think we'll pursue this.

@christopheranderson if this is something that won't be pursued, is there a better way to repeatedly test a function? As I mentioned, it was really useful when making changes; being able to replay the function made testing very simple.
Thanks!

@jamesdixon When you're running the functions from the portal, you can specify the input via the test tab. Any changes you make to that test data is saved. Can you not put your parameters there, and hit the run button?

@paulbatum thanks for the tip. I'm coming from the "old school" version of not having the function UI (did everything through the webjobs dashboard).

@jamesdixon no worries, should I consider this resolved then?

@paulbatum I believe I closed this a bit prematurely.
While I can certainly use the run feature, the missing piece for me is replaying functions directly from the invocation log. This was previously possible through the webjobs dashboard.
For example, I had a number of functions that for some reason never finished. Rather than having to manually input that data to the function and run it, it would be much faster just to be able to replay it. I realize this may not be high priority, but I've found it to be super useful when something fails or I'm testing.
Thanks!

@jamesdixon makes sense. We can leave this open to track the feature request.

I should note that one of the reasons we have lately been de-emphasizing the dashboard and focusing more on app insights is that the dashboard has some significant scalability limits. I am not sure if its feasible to capture all function invocation inputs in a replayable fashion without incurring those limits. That said, not all functions have to run at high scale, so maybe the answer here is to continue using the dashboard if you want the replay feature, and to just be aware of the limits.
Actually now I want to clarify - have you tried accessing the dashboard for your function app? Just go to https://<appname>.scm.azurewebsites.net/azurejobs/#/functions.

I should note that one of the reasons we have lately been de-emphasizing the dashboard and focusing more on app insights is that the dashboard has some significant scalability limits.

Can you explain what you mean by this? When you say app insights, are you talking about the functions interface available via the portal?

Actually now I want to clarify - have you tried accessing the dashboard for your function app? Just go to https://.scm.azurewebsites.net/azurejobs/#/functions.

I have, but the replay option wasn't available there either. If it was available, I'd definitely be more than willing to continue using that functionality through the dashboard.

Basically for functions we are in the process of making Application Insights the default monitoring experience. The dashboard won't be enabled at this point (unless you enable it yourself).
Regarding replay: just spoke with our resident dashboard expert and you're correct. When you using functions, the logging integration with the dashboard works differently and it does not allow for replay. So I'll leave this open.


[RFC] Add a BESS wrapper

(not meant to be merged, but to request for comments)
This PR adds support for NetBricks pipelines to be embedded as a BESS (https://github.com/NetSys/bess) module. NetBricks ports (or more specifically, queues) correspond to BESS input/output gates. Once packets arrive at an input gate of module in BESS, a NetBricks pipeline picks them up and process them to the completion, then resulting output packets are placed at an output gate(s) of the BESS module.
The corresponding BESS module code is of the netbricks branch BESS repository.
The implementation can be broken into three components:

CallbackPort (framework/src/interface/port/cb_port.rs): A port that allows user-defined functions for packet RX/TX. This should be generic enough for other types of virtual ports to be implemented without having to make any modification to the framework code.
bessnb library (test/bessmod): A cdylib crate that creates a libbessnb-XXX.so file.  This file is self-contained (no additional Rust library is required) and is dynamically loaded by the BESS wrapper module. The library is implemented on top of CallbackPort.
bessmod test program (also in test/bessmod): This is a pure Rust sample program that tests the bessnb library.

Changes I don't like much:

e2d2::native::zcsi::mbuf::* is exported public. This was to give MBuf access to the bessmod test program. There might be corresponding higher-level types and functions I missed out.
init_mod() embeds hardcoded pipelines. I couldn't find any more general way (e.g., replicating a pipeline for each input/output pair with a lambda function), since pipelines may have different ways to connect ports and NFs.
Excessive raw pointer usage and pointer copies.

Although not really relevant to this PR, a few patches were also added to address issues in build.sh.

For the mbuf thing, I wonder if packet would suffice for you. That is the usual wrapper for this. I need to look more carefully at the code itself though.


Exception on edit of middleware server

When trying to edit Middleware server an error occurred:

undefined method `supported_types_and_descriptions_hash' for #Class:0x00000002293270 [middleware_server/edit]
@miq-bot add_label providers/hawkular, bug
Cc @abonas

@lucasponce wasn't this fixed in #8238 ?
potential duplicate of #8103
@miq-bot add_label ui

This is weird.
It was fixed on master with #7365 and #8238.
Which branch has this issue ?

Not sure which branch but there is no option for adding server like that in newer UI.

That is the expected behaviour.
Middleware Servers can't be added manually in ManageIQ, they are managed by the provider (Hawkular).

@vprusa please close the issue if it's not reproducible any longer. thank you


Switch - show case in graph

The Switch action doesn't show the "case" in the graph
Flow:

Graph:

This is now part of the 2.0.0 release


Cognitive Search samples issue

Section link

Reason:
'search(java.lang.String, com.azure.search.documents.models.SearchOptions, com.azure.core.util.Context)' is not public in 'com.azure.search.documents.SearchAsyncClient'. Cannot be accessed from outside package
Suggestion:
Update to client.search("hotel", searchOptions)

Section link

Reason:
''listIndexers(com.azure.core.util.Context)' is not public in 'com.azure.search.documents.indexes.SearchIndexerAsyncClient'. Cannot be accessed from outside package
Suggestion:
Update to indexerAsyncClient.listIndexers())
joshfree, AlexGhiondea, meeraharidasa ans samvaity for notification.

Please open it in https://github.com/Azure/azure-sdk-for-java repo


An graphql client (ported from lokka) for meteor with Android DDP as transport

https://github.com/harisvsulaiman/Lokka-java

Thanks for sharing!
Is it feature complete? Does it work as expected? Or is it a work in progress?

Work in progress

Okay, please get back to us in this issue when it's finished. Maybe, we should reference your work in the Extensions.md file then.


[zh] sync safely-drain-node.md

Sync with en.
content/zh-cn/docs/tasks/administer-cluster/safely-drain-node.md

Preview: https://deploy-preview-39018--kubernetes-io-main-staging.netlify.app/zh-cn/docs/tasks/administer-cluster/safely-drain-node/

@windsonsea There is conflict to be fixed.

/approve

/lgtm


[AutoPR datafactory/resource-manager] [Data Factory]Add property blockSizeInMB for AzureBlobStorageWriteSettings and AzureBlobFSWriteSettings

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/6954

(message created by the CI based on PR content)


Fixes in type annotations suggested by mypy

Interesting, didn't know about mypy, something learned :)


Merge pull request #561 from iKostanOrg/master

Merge pull request #560 from iKostanOrg/kyu6
Summary by Sourcery
Refactor test cases in 'test_array_diff.py' to use parameterized tests and add a new GitHub Actions workflow to enforce Python docstring style checks using pydocstyle on the 'kyu6' branch.
Enhancements:

Refactor test cases in 'test_array_diff.py' to use parameterized tests for improved readability and maintainability.

CI:

Add a new GitHub Actions workflow 'pydocstyle_kyu6.yml' to enforce Python docstring style checks using pydocstyle on the 'kyu6' branch.

@sourcery-ai review


Auto backup

Automatic backup of camera.ui (settings, recordings etc) with adjustable time within ui

🎉 A new version of camera.ui
A new version of camera.ui is currently under active development. An initial alpha/beta release and previews are coming soon. Stay tuned for exciting updates: https://github.com/seydx/camera.ui/issues/448 .
This version will no longer be developed / fixed. The new version contains many novelties and fixes (most important is for HKSV recording).


cleanup and components work

🤖 AutoRest automatic publish job 🤖
> will publish once PR gets merged

🤖 AutoRest automatic publish job 🤖
> will publish once PR gets merged

🤖 AutoRest automatic publish job 🤖
> will publish once PR gets merged

🤖 AutoRest automatic publish job 🤖
> will publish once PR gets merged

win32-x64 restart

linux-x64 restart

🤖 AutoRest automatic publish job 🤖
> will publish once PR gets merged


Add ScopeMirror traversal to state.js

Replace the FrameMirror.localValue code path with ScopeMirror
traversal and rewrite the arguments collector to only serialize
arguments which are not matched by name with a more deeply-scoped
value.

@matthewloring @ofrobots PTAL

@ofrobots @matthewloring CI is now green and ready for another look

Could this PR include tests for the case where nested variables have the same name? Also, is this the change that resolves error objects defined in catch blocks?

@matthewloring updated

Let's look into the 0.12/4.0 behavioral difference from the failing test.

@ofrobots @matthewloring any traction on this?

LGTM w/ nit on my end. We should have ofrobots@ take a look at the version dependencies introduced in the tests.

Could we add additional tests for each of the internal bugs addressed in this issue.

@matthewloring @ofrobots Feedback integrated, looks like Travis is having troubles right now and the builds are just sitting there. Tested locally with Node.JS 0.12 and 6.3.1

Not sure why v5 failed, passes locally on my machine and that test was not touched. Travis won't let me restart the build though.

LGTM with a few nits. Let's get a final sign off from @ofrobots.

@matthewloring @ofrobots Updated

lgtm once comments are addressed

@ofrobots @matthewloring Updated. I don't have the power to merge in though

You have the power now.


Fixed sv_SE formatting

Long date does not work well for Bangle.js2
This aligns with default locale en_GB.

Thanks!


add support for "runs on host" for VM detail

This could be an integration point between the cockpit-machines(-ovirt-provider) and ovirt-web-ui.
The flow could be like this:

When opening the VM detail, checking if the user can see also the host on which the VM is running on (not sure how, maybe need to check the permissions of the user, maybe could be understood from the REST response of the GET /vms/.
If the user does have permission to see it, add a new field "runs on host" to the VM detail
next to the value, there should be a link or button saying "go to host" which would redirect to that host's cockpit

For longer host name:

and narrow screen:

What about rendering the (on [HOST_NAME]) separately as a first entry of the second column (right above the Consoles).
Sort of Runs on:      [LINK_TO_HOST]


Delete TaskRepository

If you delete TaskRepo.tsk in FileTreeView, the Taskrepo.tsk in the Task folder is still available.

Done :+1:


Broken links on "Check out these samples on GitHub"

As per title. The links take you to a broken github page.

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

ID: 1ab0e1be-fcfe-6f77-d5c0-3ad4d16bbe97
Version Independent ID: 168f8515-2da3-0b7e-a8bf-ef87f3d21274
Content: Send or receive events from Azure Event Hubs using JavaScript (latest) - Azure Event Hubs
Content Source: articles/event-hubs/event-hubs-node-get-started-send.md
Service: event-hubs
GitHub Login: @spelluru
Microsoft Alias: spelluru

Thanks for the feedback and bringing this to our notice . At this time we are reviewing the feedback and will update the document as appropriate .

@SandeepShah89  : I just checked and the links are just working fine for me . Am I looking at the wrong place ? Can you check again and let us know .

We are closing this issue as we have not heard back from you , you can always re-open the issue if you think that appropriate .


[FLINK-11249] FlinkKafkaProducer011 can not be migrated to FlinkKafkaProducer

What is the purpose of the change
Adding migration test for the universal FlinkKafkaProducer and the FlinkKafkaProducer011.
Brief change log

Implemented a new KafkaMigrationTestEnvironmentImpl that allows to save the tmp files of the KafkaBroker.
changed 'KafkaBaseTest` to allow modification of the desired Kafka test Environment Implementation.
Implemented FlinkKafkaProducerMigrationVersionTest that test migration of FlinkKafkaProducer from pre-made 1.7 savepoint to master without pending transactions.
Implemented FlinkKafkaProducer011MigrationTest that test migration of FlinkKakfaProducer011
from pre-made 1.7 savepoint to master without pending transactions.
Implemented FlinkKakfaProducerMigrationOperatorTest that test migration from FlinkKafkaProducer011 master savepoint to FlinkKafkaProducer master without pending transactions

Verifying this change
This change added tests and can be verified as follows:

FlinkKafkaProducerMigrationVersionTest
FlinkKakfaProducerMigrationOperatorTest
FlinkKafkaProducer011MigrationTest

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

So I tried to migrate a job with a FlinkKafkaProducer011 to a FlinkKafkaProducer locally by using a a flink version built from @yanghua PR. And the Exception org.apache.flink.util.StateMigrationException: The new state serializer for operator state must not be incompatible still persist. So I guess this PR doesn't totally fixes the issue.

Note to other reviewers, this is a companion pull request to this PR: https://github.com/apache/flink/pull/7405
@pnowojski is actively reviewing the changes there, but he's away for 2 weeks.

There were couple of issues with the tests that you proposed @tvielgouarin. One of them was that you were catching and ignoring the exception in your tests and this was hiding some issues, while tests were "passing" and there was quite a lot of code duplication. I have reimplemented most of it and opened another PR  (it has some refactoring/clean ups):
https://github.com/apache/flink/pull/7677
The equivalent code to your PR is this commit from my PR.

The Jira issue has been resolved by now.


Allow oracle failures on Travis CI

I give up, I have no idea what to do about this, so just ignore the errors.

P.S. It's really weird how it seems getting worse and worse with time, in the beginning these errors didn't happen at all under Xenial, then they started to appear, then they became more frequent and now I can't get a single good build after restarting the job 5 times. So it probably has something to do with the load of Travis servers (the only thing likely to increase with time), but this still doesn't help with actually fixing the problem.


Add OIDC env vars and metadata url

Fix #1334

Rebased. Still works :)

@ymage would you mind verifying if PR 1397 effectively replaced the efforts of this PR appropriately?

Hi @AzorianMatt
Well, it looks like a better good start.
I would like to add 2 more things from my PR :

the docker_config part in the configs/docker_config.py file from my PR to get it enabled from ENV vars.
the default value for SAML_ENABLED as False as you can see in powerdnsadmin/routes/index.py

Wdyt ?

I updated my PR to keep the needed part


Cleanup

Things that make no sense outside of Mapbox:

https://github.com/mapbox/docbox/blob/master/src/components/content.js#L8-L14
https://github.com/mapbox/docbox/blob/e90ffea98be29081a214b4f542bd41cfc9a88f5f/src/components/section.js#L15

Done in 3679b993004c832ffaa26163977e818feee10c46


update instagram behavior

Motivation
ARI-5747
Description
update selector for detail image

Good catch but that class name still looks a little gnarly and likely to change soon. Can we try something a little less likely to be random?
My quick tests with something like this in the browse console seem to do result in the same lists.
document.querySelectorAll("a>div[role='button']")

Thanks, @BitBaron!  That selector looks like it captures the same, and it may well not need an update again so soon.
I've updated the PR.


author-can-merge: false does not seem to work

Hiya,
As one of the criteria in a labeler.yml file, I have the following:
 labels:
   - label: "Status: triage"
     draft: false
     author-can-merge: false

I'd expect
The Status: triage label to be added to all non-draft PRs where the author doesn't have commit rights in the repo.
What actually happened
The Status: triage label does not get added to PRs from outside contributors (who don't have commit rights to the repo).
Other info
I haven't tested yet if it works when I set it as follows, but if it does, I'd still find that counter-intuitive, as I'd expect author-can-merge: false to be respected.
labels:
  - label: "Status: triage"
    negate: true
    draft: false
    author-can-merge: true

Hi @jrfnl, what version are you using?

Nevermind, I just pushed a fix. I've added an extra test with the final condition you wanted to set.

Should be fixed in https://github.com/srvaroa/labeler/releases/tag/v1.8.1
Thanks for reporting. Let me know if this works as expected

Thank you for the quick response @srvaroa ! I am using srvaroa/labeler@v1, so the fix should come in automatically and as the repo I'm using it in is hyper-active at this moment (I'm taking over a big project in a fork, so people are porting their old PRs to the new repo), I should be able to let you know how things are going soon!

I will update v1 to point at v1.8.1 first thing tomorrow!

v1 is updated

@srvaroa I've been checking new PRs for a few days now and something still doesn't seem right.
The "triage" label now gets added to all PRs, even those of people who can merge in the repo.

Hi @jrfnl i will take a look asap. Is this in a public repo where I can take a look at the logs?

@srvaroa Appreciated and yes, the repo is public. Sorry, I didn't add links before as, while the repo is public, the news that the repo existed was not, but an announcement was made last week ;-)
Workflow file: https://github.com/PHPCSStandards/PHP_CodeSniffer/blob/master/.github/workflows/label-new-prs.yml
Config: https://github.com/PHPCSStandards/PHP_CodeSniffer/blob/master/.github/labeler.yml
Logs: https://github.com/PHPCSStandards/PHP_CodeSniffer/actions/workflows/label-new-prs.yml
Here is one where the "triage" label now correctly got added for a contributor who doesn't have commit: https://github.com/PHPCSStandards/PHP_CodeSniffer/actions/runs/7144614939/job/19458612350
And here is one where the "triage" label incorrectly got added to one of my own PRs, while I do have commit: https://github.com/PHPCSStandards/PHP_CodeSniffer/actions/runs/7148232941/job/19468964257

@jrfnl it looks like the implementation of that condition was not considering all the roles that allow for committing to the base branch, only OWNER.
This is released as v1.8.2, the v1 floating reference is also updated. Let me know if this makes things work as expected.

@jrfnl it looks like the implementation of that condition was not considering all the roles that allow for committing to the base branch, only OWNER.

Interesting as I would have expected that repo to identify me as an owner too.
I'm the owner of the organisation + the admin of the repo, which effectively makes me the owner.
Could this be because this repo was originally a fork and was "decoupled" ?

This is released as v1.8.2, the v1 floating reference is also updated. Let me know if this makes things work as expected.

Will do! Thanks @srvaroa for working on this!

I noticed in the logs you linked above that the action resolved the author as non-owner, so I suspected this was the problem. The fix is needed anyway, but do let me know if it doesn't evaluate as expected for your PRs and I'll look further into it.
Thanks for the bug reports!

I noticed in the logs you linked above that the action resolved the author as non-owner, so I suspected this was the problem. The fix is needed anyway, but do let me know if it doesn't evaluate as expected for your PRs and I'll look further into it.
Thanks for the bug reports!

It may be a few days/week before I have enough info to evaluate fully.
There are basically three kind of PRs I'd like to see come in to be able to say for sure:

One from me (should not get "triage" label).
One from a member in the organisation who has triage permission on the repo, but does not have commit (should get "triage" label).
One from an outside contributor to the repo (should get "triage" label).

Will let you know how I get on.


support aeson-2.0

I tried building with aeson-2.0:
hlint                     > /tmp/stack-91f78a6ca82eb843/hlint-3.3.4/src/Config/Yaml.hs:141:36: error:
hlint                     >     • Couldn't match type: Data.Aeson.KeyMap.KeyMap Value
hlint                     >                      with: Map.HashMap T.Text Value
hlint                     >       Expected: Parser (Map.HashMap T.Text Value)
hlint                     >         Actual: Parser Object
hlint                     >     • In the expression: pure x
hlint                     >       In an equation for ‘parseObject’:
hlint                     >           parseObject (getVal -> Object x) = pure x
hlint                     >     |
hlint                     > 141 | parseObject (getVal -> Object x) = pure x
hlint                     >     |                                    ^^^^^^

3.3.4 doesn't work with aeson-2.0, but HEAD does. We need a new release.

New release out - 3.3.5 supports aeson-2.0


Add find_package(PythonInterp) to CMake

Python is required
Previously you'd have to manually pass PYTHON_EXECUTABLE on Windows

@swift-ci please smoke test

Can you do a clean test as well since this is a CMake change?

Or you know what...

@swift-ci Please clean smoke test

Cheers! Didn't know about clean smoke test. Let me know if you're happy with the change or have any comments

feel free to merge at your leasure


How to prevent overlap?

For my use case, I do not want any foreground images to overlap when being placed in a background image. Is there a way to prevent this from happening?

See PR #13 for one potential solution.


"Fortran 77" vs "FORTRAN 77"

Reported by jmattsson on 20 Sep 2013 11:16 UTC
The spec calls for the language specifier of an external function declaration to be "builtin", "C" or "FORTRAN 77". Modelica.Math uses "Fortran 77" in some functions, and "FORTRAN 77" in some.
Either all such instances of "Fortran 77" should be changed to "FORTRAN 77", or the spec should be changed to state that this language specifiers are case insensitive. The first option seems easier.

Migrated-From: https://trac.modelica.org/Modelica/ticket/1278

Comment by hansolsson on 24 Sep 2013 08:56 UTC
Language group:
Change MSL and section 12.9.3 to use all-caps FORTRAN 77.

Comment by hansolsson on 23 Oct 2013 13:12 UTC
Using all-caps FORTRAN 77 in spec in r7102; since it is the correct name of the language.
Note that the spelling was changed to Fortran in Fortran 90; so Fortran is also acceptable.
--
MSL still needs to be updated.

Comment by dietmarw on 15 Nov 2013 13:30 UTC
80th Design Meeting is long over ... closing that milestone and still open tickets set back to *undecided*.

Modified by jmattsson on 21 Nov 2013 08:28 UTC

Comment by jmattsson on 31 Mar 2014 11:04 UTC
53811e532df7e84b7b35b62e2447ff157493f90b
Changed external clauses in trunk MSL to use "FORTRAN 77" instead of "Fortran 77", as per above.

Comment by jmattsson on 19 Oct 2015 13:45 UTC
fd9fbe6d278bea0cf6bd8bfdfc9c807ad1469574
Merged 53811e532df7e84b7b35b62e2447ff157493f90b to maintenance branch for 3.2.1.

Modified by beutlich on 23 Oct 2015 10:07 UTC

Changelog modified by beutlich on 23 Oct 2015 10:07 UTC
Corrected the capitalization of "Fortran 77" in external clauses of Modelica.Math functions


fix columns width on long rowset - it should not change while scrolling

https://github.com/user-attachments/assets/cd151d11-1b68-44f6-974c-d1be43e5c25b


⚠ Bofrost.de has degraded performance

In f788d3f, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 7209 ms

Resolved: Bofrost.de performance has improved in 34f9beb.


After installation problem

I have installed NOJ on my site as per instructions and everything went fine but when i open the home page it is stuck on the preloader page
Preparing NOJ
I could still access the admin.. but not the frontend page as it is stuck with Preparing NOJ.. any advise?

any help

any help


As a controller, I can leave feedback on a pilot

Pending feedback from consultation

Provide a list of ATC sessions conducted
Sessions older than X period, not displayed.
Select a session
Provide a list of pilots, in relation to that session, that feedback can be left on.

Related to #600

Closed by #888


[BUG] NotSslRecordException: not an SSL/TLS record - When using docker

Describe the bug
I get the following error when trying to query data from opensearch via docker compose:
io.netty.handler.codec.DecoderException: io.netty.handler.ssl.NotSslRecordException: not an SSL/TLS record
To Reproduce
Using the following docker compose file:
version: '3.9'
services:
  es:
    image: opensearchproject/opensearch:1.0.1
    environment:
      - cluster.name=opensearch-cluster
      - node.name=opensearch-node1
      - bootstrap.memory_lock=true
      - "DISABLE_SECURITY_PLUGIN=true"
      - "discovery.type=single-node"
      - "OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m" # Set min and max JVM heap sizes to at least 50% of system RAM
    ulimits:
      memlock:
        soft: -1
        hard: -1
      nofile:
        soft: 65536
        hard: 65536
    volumes:
      - opensearch-data2:/usr/share/opensearch/data # Creates volume called opensearch-data1 and mounts it to the container
    ports:
      - 9200:9200
  kibana:
    image: opensearchproject/opensearch-dashboards:1.0.1
    container_name: opensearch-dashboards
    ports:
      - 5601:5601 # Map host port 5601 to container port 5601
    expose:
      - "5601" # Expose port 5601 for web access to OpenSearch Dashboards
    environment:
      OPENSEARCH_HOSTS: '["https://es:9200"]' # Define the OpenSearch nodes that OpenSearch Dashboards will query

The code I use to connect to and query is the same as I am using for elasticsearch 7.10. Everything works as expected in elasticsearch but not in opensearch. I've also tried a few different versions on opensearch and all of them yield the same result.
Expected behavior
I would expect this to work out of the box, just like with elasticsearch 7.10.

Is this issue similar to https://github.com/opensearch-project/OpenSearch/issues/4864? If so, can you try the suggestion shared in #4864?

Possibly relevant Ubuntu package updates for OpenJDK security update 5719-1. This updated to TLS 1.3 by default, and there may be dependencies which don't.  @RyanNoelk more info on your operating system and JDK would be helpful to either rule this out or further troubleshoot.

@RyanNoelk the NotSslRecordException you reported should have been followed by a long string of digits, which are hex encoding of a possibly helpful error message.  Could you please provide that as well as a complete stack trace?

This issue may also be relevant.  OpenSearch is secure by default, while ES is not.  Can you try the --insecure switch?  https://github.com/opendistro-for-elasticsearch/sample-code/issues/169