pytorch3d versions

Hi whenever I tried to install pytorch3D by pip3 install pytorch3d==0.7.4, it gives following error,
ERROR: Could not find a version that satisfies the requirement pytorch3d==0.7.4 (from versions: 0.1.1, 0.2.0, 0.2.5, 0.3.0) ERROR: No matching distribution found for pytorch3d==0.7.4
Do you have any idea what is the problem?

Hi! Actually, from pytorch3d, we just use the chamfer_distance loss, so you can try with an older version. In case it doesn't work, let me know, and we can try to figure it out.

Thank you for your reply, I used pytorch3d version 0.3.0, and pip3 does not let me install later versions due to compatibility between Pytorch version. Do you have anyway to work around with it?

You could also install it from source. Which CUDA version are you using? From here you can download it and to install it is the same as to install this repo, by using: pip3 install -e .

One further question, pytorch3d is only used in the refinement network. Did you manage to finish the training for the diffusion part?

I am using CUDA version 11.4.
And yes, I was able to finish the training of the diffusion part. Now I am trying to train the refinement network.
I am tried your suggested method, but it gives me error. The error is quite long, so I am attaching only the last part of the error.
`    ninja: build stopped: subcommand failed.
Traceback (most recent call last):
File "/opt/conda/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1672, in _run_ninja_build
env=env)
File "/opt/conda/lib/python3.7/subprocess.py", line 512, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.
The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/nas2/jacob/LiDiff/pytorch3d-0.7.4/setup.py", line 179, in <module>
    "": ["*.json"],
  File "/opt/conda/lib/python3.7/site-packages/setuptools/__init__.py", line 153, in setup
    return distutils.core.setup(**attrs)
  File "/opt/conda/lib/python3.7/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/opt/conda/lib/python3.7/distutils/dist.py", line 966, in run_commands
    self.run_command(cmd)
  File "/opt/conda/lib/python3.7/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "/opt/conda/lib/python3.7/site-packages/setuptools/command/develop.py", line 34, in run
    self.install_for_development()
  File "/opt/conda/lib/python3.7/site-packages/setuptools/command/develop.py", line 114, in install_for_development
    self.run_command('build_ext')
  File "/opt/conda/lib/python3.7/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/opt/conda/lib/python3.7/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "/opt/conda/lib/python3.7/site-packages/setuptools/command/build_ext.py", line 79, in run
    _build_ext.run(self)
  File "/opt/conda/lib/python3.7/site-packages/Cython/Distutils/old_build_ext.py", line 186, in run
    _build_ext.build_ext.run(self)
  File "/opt/conda/lib/python3.7/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "/opt/conda/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 709, in build_extensions
    build_ext.build_extensions(self)
  File "/opt/conda/lib/python3.7/site-packages/Cython/Distutils/old_build_ext.py", line 195, in build_extensions
    _build_ext.build_ext.build_extensions(self)
  File "/opt/conda/lib/python3.7/distutils/command/build_ext.py", line 449, in build_extensions
    self._build_extensions_serial()
  File "/opt/conda/lib/python3.7/distutils/command/build_ext.py", line 474, in _build_extensions_serial
    self.build_extension(ext)
  File "/opt/conda/lib/python3.7/site-packages/setuptools/command/build_ext.py", line 202, in build_extension
    _build_ext.build_extension(self, ext)
  File "/opt/conda/lib/python3.7/distutils/command/build_ext.py", line 534, in build_extension
    depends=ext.depends)
  File "/opt/conda/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 539, in unix_wrap_ninja_compile
    with_cuda=with_cuda)
  File "/opt/conda/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1360, in _write_ninja_file_and_compile_objects
    error_prefix='Error compiling objects for extension')
  File "/opt/conda/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1682, in _run_ninja_build
    raise RuntimeError(message) from e
RuntimeError: Error compiling objects for extension
----------------------------------------

Rolling back uninstall of pytorch3d
Moving to /opt/conda/lib/python3.7/site-packages/pytorch3d-0.3.0.dist-info/
from /opt/conda/lib/python3.7/site-packages/~ytorch3d-0.3.0.dist-info
Moving to /opt/conda/lib/python3.7/site-packages/pytorch3d/
from /opt/conda/lib/python3.7/site-packages/~ytorch3d
ERROR: Command errored out with exit status 1: /opt/conda/bin/python -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/nas2/jacob/LiDiff/pytorch3d-0.7.4/setup.py'"'"'; file='"'"'/nas2/jacob/LiDiff/pytorch3d-0.7.4/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(file) if os.path.exists(file) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' develop --no-deps Check the logs for full command output.`

Try running pip3 install -e -v .

It gives me the same error. Is it because I am trying to set up environment on JupyterLab?

The error doesn't seem to provide much information. Could you uninstall ninja and try running the command again? Ninja compile it in multithread and it gets hard to understand exactly where the error is.

I created a separate environment and followed the instructions https://github.com/facebookresearch/pytorch3d/releases/tag/v0.7.1, and it worked. It seems like some dependencies are missing. Also, based on your requirement it seems like pytorch3d 0.7.1 is more suitable.

Glad you managed to make it work. I will also update the requirements.txt since it seems that version 0.7.1 is easier to install with the other dependencies.

Hi, I was able to make train_refine.py running!
One additional note is that pytorch-lightning gave me an error, and I fixed it by downgrading setuptools to 58.2.0. I found this solution from https://github.com/Lightning-AI/pytorch-lightning/issues/12324#issuecomment-1067297952
Now I am running train_refine.py, and it looks like it is stuck at Validation sanity check. Is it expected behaviour?

It is not expected. You can try setting num_val_sanity_check=0 in train_refine.py file so it skips the sanity check

Hi again, I figured out the problem with validation getting stuck, I was using the wrong collation function (some mistakes done during the refactoring of the code before releasing it). Sorry about that, you can pull the repo and get the correct version now, with the same collation used in the experiments reported in the paper.

Thank you it is working now and thank you! I have another question.

In our experiments, we used batch_size: 8 and two GPUs, so it took around 5 hours per epoch. But I rerun it now with batch_size: 2 in one GPU and it is taking around 20h per epoch. It takes long mainly because of the chamfer_distance computation.

No, it just needs 5 epochs to get the results from the paper

During development I let it train for longer to compare the results but with 5 epochs was already enough, that is why in the config there is max_epoch: 100

Thank you very much! Lastly, if I want to check diffusion results without the refine model, which part of the diff_completion_pipeline.py should I look at?

You can use the provided refinement network weights and run the pipeline with your diffusion trained weights. In the pipeline output directory you should see two directories diff/ and refine/ the point clouds in diff/ will be the ones generated without the refinement

Thank you very much for all the help!


Use secrets.choice for generate_token

A new inspection was created.

The inspection completed: No new issues

Codecov Report

Merging #205 into develop will increase coverage by 0.01%.
The diff coverage is 100%.

@@             Coverage Diff             @@
##           develop     #205      +/-   ##
===========================================
+ Coverage    84.51%   84.52%   +0.01%
===========================================
  Files           28       28
  Lines         1104     1105       +1
===========================================
+ Hits           933      934       +1
  Misses         171      171

Impacted Files
Coverage Δ

werobot/utils.py
100% <100%> (ø)
:white_check_mark:

Continue to review full report at Codecov.

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

A new inspection was created.

The inspection completed: No new issues


[Bug] Datepicker default date sets to current date when the binding value is empty

Description
The date picker default date sets to the current date (today) when the given value of binding is empty/null/undefined.

Steps to reproduce the behaviour:

Add a table selectedRow property binding to the date picker default date
The evaluated value of the property is still a date but is expected to be empty / null / undefined

Important Details

Version: [Cloud / Self-Hosted vx.x]
OS: [e.g.MacOSX]
Browser [e.g. chrome, safari]
Environment [production, release, deploy preview]

This might be related to #4058

This might break existing applications where null / empty / undefined is converted to current date.
cc  @Tooluloope

cc: @riodeuno


Added transformations for quantification over special integer sets

[x] Tests added for any new code
[x] Ran make fmt-fix (or had formatting run automatically on all files edited)
[ ] Documentation added for any new functionality
[ ] Entry added to UNRELEASED.md for any new functionality

First part of #1407, without the plumbing.

Codecov Report

Merging #1431 (8ab0cf1) into unstable (d705130) will increase coverage by 0.02%.
The diff coverage is 85.00%.

@@             Coverage Diff              @@
##           unstable    #1431      +/-   ##
============================================
+ Coverage     74.57%   74.59%   +0.02%
============================================
  Files           358      359       +1
  Lines         11349    11369      +20
  Branches        542      526      -16
============================================
+ Hits           8463     8481      +18
- Misses         2886     2888       +2

Impacted Files
Coverage Δ

...alache/tla/pp/IntegerQuantificationOptimizer.scala
85.00% <85.00%> (ø)

...he/io/annotations/parser/CommentPreprocessor.scala
93.97% <0.00%> (+1.20%)
:arrow_up:

Continue to review full report at Codecov.

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


[dv] CSR backdoor support

Add backdoor for ip-level TB
Restruct dv_lib

move dv_base_reg* to a separate pkg
move csr_excl_item to dv_base_reg_pkg
update IP tb

Add tool options to support csr backdoor

TODO:

Add backdoor access in csr_seq like backdoor write, front read for check
Add backdoor support for top-level. Need to use same module instance name for reg block

Signed-off-by: Weicai Yang<EMAIL_ADDRESS>

@tjaychen @eunchan @msfschaffner
should we have a naming convention for register module instance? Currently, I found these name are used: u_reg, i_reg, i_reg_top. It will be easier to implement register backdoor access if we use a same name.
@msfschaffner  In alert_handler, one more hierarchy is added, which is i_reg_wrap.i_reg. Can we figure out this i_reg_wrap is added in reggen or remove this layer?

That would mean we could do i_<comporatble IP name>_reg_top in this case, would that work?

yes, this works for me

Is there a way we could specify the path to the reg top somewhere (e.g. in the IP hjson) or would that be undesirable?

it works for me if we can add another variable for the additional path in hjson likehier: i_reg_wrap

it works for me if we can add another variable for the additional path in hjson likehier: i_reg_wrap

Ok sounds like this could be a possible solution then. Let's wait for the other designers on the team to weigh in on this idea.

it works for me if we can add another variable for the additional path in hjson likehier: i_reg_wrap

Ok sounds like this could be a possible solution then. Let's wait for the other designers on the team to weigh in on this idea.

sounds good to me. So if this variable does not exist in the hjson, i guess it just means its the standard name like i_reg or something?
@msfschaffner do you think we need the comportable ip name in there also? Because there's no chance of conflict within in the ip itself (it's uniqufied a level above), I was thinking we could just stick with something like i_reg

Right, let me clarify. If A->B->C then A adds dependency on B and B adds dependency on C . If A does not import / use stuff directly from C, then we are good to go.
However, if A -> (B, C) and B -> C, then A needs to add dependency on both, B and C, rather than assume that the B -> C will take care of the ordering.
In this case, the cip_lib uses stuff from dv_lib as well as dv_base_reg. So rather than assume dv_lib takes care of dv_base_reg dependency, cip_lib should also add dependency on dv_base_reg. This is a recent recommendation from Phillip to ensure that the fusesoc dependency solver works correctly.

@sriyerg Thanks for explanation. Updated.

it works for me if we can add another variable for the additional path in hjson likehier: i_reg_wrap

Ok sounds like this could be a possible solution then. Let's wait for the other designers on the team to weigh in on this idea.

sounds good to me. So if this variable does not exist in the hjson, i guess it just means its the standard name like i_reg or something?
@msfschaffner do you think we need the comportable ip name in there also? Because there's no chance of conflict within in the ip itself (it's uniqufied a level above), I was thinking we could just stick with something like i_reg

Defaulting to something like i_reg or i_reg_top if the variable is absent sounds good to me.
Concerning the naming scheme question, this was just an example for how it could look like if we used the convention of always prefixing with i_<module name> (which our internal style guide recommends). I'm also fine with something simpler, since then we can default to a fixed name in case that variable is absent.

it works for me if we can add another variable for the additional path in hjson likehier: i_reg_wrap

Ok sounds like this could be a possible solution then. Let's wait for the other designers on the team to weigh in on this idea.

sounds good to me. So if this variable does not exist in the hjson, i guess it just means its the standard name like i_reg or something?
@msfschaffner do you think we need the comportable ip name in there also? Because there's no chance of conflict within in the ip itself (it's uniqufied a level above), I was thinking we could just stick with something like i_reg

Defaulting to something like i_reg or i_reg_top if the variable is absent sounds good to me.
Concerning the naming scheme question, this was just an example for how it could look like if we used the convention of always prefixing with i_<module name> (which our internal style guide recommends). I'm also fine with something simpler, since then we can default to a fixed name in case that variable is absent.

thanks for all the input. perhaps I will make a PR to change instance name of reg module to i_reg. Thanks


Make vine swinging less problematic

Sometimes kongs can't make a vine jump for some unknown reason (eg. Giant Mushroom vines)

Diddy's Beaver bother in Factory may need to be moved higher up, still possible to miss


cmp.ConfirmBehavior.MatchSuffix?

Hi and thank you for this fantastic plugin!
I'm looking for a middle ground between cmp.ConfirmBehavior.Replace and cmp.ConfirmBehavior.Insert.  Namely, a one that would complete foo_<TAB>_baz to foo_bar_baz right away given possible completions foo_bar_baz and foo_bar_quux.  It would ignore foo_bar_quux automatically by noticing it doesn't match the existing _baz suffix.  This is just like zsh's complete_in_word option.
I currently use cmp.ConfirmBehavior.Insert but have to constantly re-edit the suffix after inserting something in the middle of a word.
I don't think it's currently possible with nvim-cmp so this would be a feature request.  Curious what you think.

I really want this, has anyone implemented it before I spend time on it.

I don't think it's currently possible with nvim-cmp

I was just looking into this myself as I've been annoyed by this behavior for years (not just with nvim-cmp, but with literally every autocompletion system I've ever used), and I wonder if you might be able to hack something by tapping into the confirm_done event. It would be a huge hack, but you could basically delete the redundantly inserted suffix after insertion by detecting the duplicate. My main concern with it would be that it would be clunky and error prone, so a new ConfirmBehavior would probably be way more robust.

Hi.  Why you cannot use cmp.ConfirmBehavior.Replace?
It seems works for me.

It seems works for me.

The difference is subtle, and I think it might be due to this code that defaults to replacing on keyword boundaries.
If you have this text in a buffer (cursor position shown with ^) and you hit <Tab>:
// Going to do autocompletion here...
FooBazzzz
   ^

// And elsewhere there's this completion candidate:
FooBarBaz

With Insert behavior, FooBazzzz becomes FooBarBazBazzzz
With Replace behavior, FooBazzzz becomes FooBarBaz
With the hypothetical MatchSuffix behavior, FooBazzzz would become FooBarBazzzz

The example is contrived, of course, but hopefully it illustrates what the difference would be. Sometimes you really want to keep that zzz suffix around, because you're about to continue editing it, and removing it is a destructive operation that you can't undo without also undoing the autocompletion.
In the abstract, I think the difference between the behaviors can be described as:

Insert: "only ever add to the buffer, never remove anything" AKA "I don't mind having to delete trailing text after the completion sometimes".
Replace: "aggressively make the buffer match the completion, no matter what" AKA "I really hate having to delete trailing text after the completion, so do it for me unconditionally".
MatchSuffix: "try to preserve a trailing suffix that I might actually care about" AKA "I don't want to have to delete trailing text after the completion, but for the trivial cases where you can be sure I don't want it, get rid of it for me, and I'll handle it manually in the other cases".

Does that make sense?

Hm....  If so, MatchSuffix behavior is to edit the suffix after insertion?

Hm.... If so, MatchSuffix behavior is to edit the suffix after insertion?
And what is the cursor behavior after insertion when MatchSuffix?

Take a look at how zsh does it:

Thanks.  I get it.  If so, this is feature request.

Reading this thread has made me realize that there are actually two separate requests going on here.

The initial request is about having nvim-cmp recognize that the suffix helps disambiguate possible completions and having it select the resulting completion immediately without forcing the user to choose. That's what's shown in the Zsh Gif above.
The second request that I brought up here is about nvim-cmp replacing only the matching part of the suffix as opposed to replacing the entire 'keyword'.

They're related because they're both about what nvim-cmp should do when it does "in-word" completion, but they are actually separate requests.
I think I might have a couple of examples that do a better job at illustrating what I'm asking for than my previous attempt. These are two scenarios that I ran into today and which show why Replace doesn't quite do the right thing, but neither does Insert, motivating the desire to have a MatchSuffix option.
Example A:

I'm taking notes in a Kubernetes training session. The word "Kubernetes" appears several times in the document.
I have a line containing this text: "Services → Clusters → Data centers".
I realize that I want to clarify that the "Services" are Kubernetes services.
My goal is to make the line look like this: "(Kubernetes) Services → Clusters → Data centers"
I move the cursor to beginning of the line and type "(Kub".
The line now contains: "(KubServices → Clusters → Data centers".
I hit <Tab> (which is my mapping to accept the autocompletion) at this position: "(Kub<Tab>Services → Clusters → Data centers"
Because I have Replace behavior activated, nvim-cmp changes the line to: "(Kubernetes → Clusters → Data centers" (ie. it blows away the trailing "Services", requiring me to type it again).
In this instance Insert behavior would have done what I wanted, and MatchSuffix would have also; the line would contain "(KubernetesServices → Clusters → Data centers" and I'd just have to type the trailing ") ".

Example B:

I'm working on a source code file where there are instances of ProfilingData and AggregateProfilingData.
I realize that in one place where I wrote ProfilingData I should have written AggregateProfilingData.
I move the cursor before the word and type Agg.
The buffer now contains AggProfilingData.
I hit <Tab> at this position: Agg<Tab>ProfilingData
This time, Replace behavior does exactly what I want, changing the name to AggregateProfilingData, and MatchSuffix would have also.
In this case, Insert behavior would have done the wrong thing (producing AggregateProfilingDataProfilingData) and I would have had to delete the unwanted suffix[^with].

[^with]: With something like <C-[ (to leave INSERT mode) and then dFP.
I run into examples like this multiple times per day, and in my (subjective) experience:

Insert behavior works great when appending (a common case), but when prepending (also a common case) it only sometimes does what I want.
Replace behavior also works great when appending, and when prepending (also a common case) it only often does what I want, but not always.
MatchSuffix behavior would work great when appending, and when prepending it would almost always do what I want.

In practice, having to delete an unwanted suffix is a bit annoying, but it's not as painful as having to restore text which was deleted undesirably, so MatchSuffix would avoid the pain that sometimes comes with Replace, but it would frequently avoid the annoyance that can come with Insert mode.
Sorry about the wall of text, but I couldn't find a more concise way to describe it! 🙇

The initial request is about having nvim-cmp recognize that the suffix helps disambiguate possible completions and having it select the resulting completion immediately without forcing the user to choose. That's what's https://github.com/hrsh7th/nvim-cmp/issues/1716#issuecomment-2237082589.

Hm...  It seems suffix matcher instead of confirming.

In this instance Insert behavior would have done what I wanted, and MatchSuffix would have also; the line would contain "(KubernetesServices → Clusters → Data centers" and I'd just have to type the trailing ") ".

Well, it works well on Insert, but it does not work well on MatchSuffix.
Because the cursor position is:
(KubenetesServices| <- here.
It is not (Kubernetes|Services.
You need to modify the code in normal mode.

I think the cursor behavior is complex.

The cursor lands at the end of the matched suffix which I think is a good choice.

If so,

With the hypothetical MatchSuffix behavior, FooBazzzz would become FooBarBazzzz

The cursor position is:
FooBarBaz|zzz
It is true?
Please describe it for me.

With the hypothetical MatchSuffix behavior, FooBazzzz would become FooBarBazzzz

The cursor position is:
FooBarBaz|zzz
It is true?

Valid question.  There are basically two options where the cursor could land after completion:

FooBarBazzzz|
FooBarBaz|zzz

Of those two I think 2. makes more sense because it affords the possibility to correct the suffix in rare cases where suffix doesn't end the keyword.  Most of the time, it's going to be Foo|<TAB>Baz -> FooBarBaz|.

With the hypothetical MatchSuffix behavior, FooBazzzz would become FooBarBazzzz

The cursor position is:
FooBarBaz|zzz
It is true?

Good question.  @wincent and I seem to be proposing two conflicting specifications here.

@wincent's: Foo|<TAB>Bazzzz -> FooBarBaz|zzz, assuming available completion FooBarBaz.

Me: Foo|<TAB>Bazzzz -> NO CHANGE!  Why? Because completions are only offered if the suffix exhausts the completed keyword fully, so it would only complete if we were completing Foo|<TAB>Baz, not  Foo|<TAB>Bazzzz.

So what I'm proposing is more restrictive but if you chose a completion at some point, you can be sure the keyword isn't misspelled.
I'm not 100% sure which behaviour is better TBH.  Perhaps it should be configurable?  I'm open to feedback here.

In this instance Insert behavior would have done what I wanted, and MatchSuffix would have also; the line would contain "(KubernetesServices → Clusters → Data centers" and I'd just have to type the trailing ") ".

Well, it works well on Insert, but it does not work well on MatchSuffix.
Because the cursor position is:
(KubenetesServices| <- here.
It is not (Kubernetes|Services.
You need to modify the code in normal mode.

I would actually think that it would be (Kubernetes|Services; given that it didn't complete Services, it shouldn't jump to the end of that.

The cursor position is:
FooBarBaz|zzz
It is true?

That is what I'd intuitively expect.
Here's one more thing to consider: the interaction of the different behaviors with the experimental "ghost text" feature. At the moment, I believe the ghost text always shows what would be inserted with Insert behavior; it doesn't show only the part of the completion that would appear in the buffer if a Replace behavior completion was accepted, not does it show what would be inserted if we added this hypothetical MatchSuffix behavior. I don't think that's a deal breaker, but in an ideal world, ghost text would show as close as possible to what's going to be added to the buffer if you accept a completion.

So what I'm proposing is more restrictive but if you chose a completion at some point, you can be sure the keyword isn't misspelled. It also feels less surprising. What's important, such behaviour still works in both Example A and B.

Thanks for bringing this up; I hadn't noticed this detail about your proposal (and I'd have to think a while before forming an opinion about which variant is better).

So what I'm proposing is more restrictive but if you chose a completion at some point, you can be sure the keyword isn't misspelled. It also feels less surprising. What's important, such behaviour still works in both Example A and B.

OK.  So it work for Example B, but not A.
Because Kubernetes not matched to Services.

I would actually think that it would be (Kubernetes|Services; given that it didn't complete Services, it shouldn't jump to the end of that.

It jumps to the end when it is matched only the suffix is matched?
It is OK.

The example is contrived, of course, but hopefully it illustrates what the difference would be. Sometimes you really want to keep that zzz suffix around, because you're about to continue editing it, and removing it is a destructive operation that you can't undo without also undoing the autocompletion.

But this is wrong?
@adaszko : Complete candidate only matched to suffix
@wincent : Insert candidate if not matched to suffix, Replace the candidate if it is matched to suffix
Hm...  They are conflicted desire.

Here's a thought: To make Example A work, ConfirmBehavior.MatchSuffix could first try to perform a restrictive match on the suffix as I described above and if it doesn't match any candidates, perform ConfirmBehavior.Insert as a fallback.

Yes.  It is @wincent 's idea.

Great, so we have an agreement on the specification then?

Here's a thought: To make Example A work, ConfirmBehavior.MatchSuffix could first try to perform a restrictive match on the suffix as I described above, and if it doesn't match any candidates, perform ConfirmBehavior.Insert as a fallback.

If the behavior is OK, Yes.

Here's a thought: To make Example A work, ConfirmBehavior.MatchSuffix could first try to perform a restrictive match on the suffix as I described above, and if it doesn't match any candidates, perform ConfirmBehavior.Insert as a fallback.

If the behavior is OK, Yes.

Yes, such behaviour totally works for me.
FWIW, I realised zsh can be configured to behave like that too:
setopt complete_in_word
zstyle ':completion:*' completer _complete _prefix


nwg-menu hidden by full-screen windows

I use the WayfireWM compositor and I noticed that when I open nwg-menu on a desktop/workspace where a window is displayed full screen the menu is not visible. It is open and I can see it via an Alt + Tab keyboard action (or by switching to another workspace) but I am unable to access it on the workspace where I opened the menu.
It looks like the corresponding window is at the bottom of the stack when it should be at the top and focused so the user is able to interact (type in the search field... or tab through the entries... or click on an entry... etc.)
Note, that I have no idea who is misbehaving in this instance — is this an nwg-menu problem or a WayfireWM problem?

Haven't used Wayfire for several months, so I'm not sure. On sway fullscreen is fullscreen: covers everything.

I get your point. Due to some problems with the Wayfire panel I started using full screen instead of maximize. The difference being apparently that with full screen the decorations (titlebar and such... as well as menu bars etc.) are removed and the useful part of the window occupies the entire screen while in maximized mode the original layout of the window is left as is and the window is only stretched so as to occupy all the available display area... So if you have a panel that is not set to autohide the WM will leave well alone and display your stretched window above or below it using whatever space is left (i.e. the entire screen minus what's used up by the panel). On a Windows desktop and look-alikes you would hit F11 to switch to full screen mode and click on something resembling a small square (next to the _ that is supposed to mean minimize) or use the 'Maximize' option in the  menu in order to maximize the window.
Now I eventually discovered that with Wayfire you need to use the 'grid' plugin to set a keyboard shortcut that lets you maximize the focused window as opposed to 'full-screening' it.
In other words I was confused and everything appears to be working as planned.

BTW, I need a fresh install of Wayfire. What's on my disk is heavily out of date. I'm quite curious what's new.

I'm not involved in Wayfire in any way… just another Joe User looking for a barebones Wayland DE that I can adapt to my requirements… I would suggest you get in touch with the Wayfire developers e.g. via irc<EMAIL_ADDRESS>or Matrix… I have found them to be very reactive and remarkably patient with outsiders.. as it happens two of the main weaknesses of the current version are the panel and the applications menu… ;-)

I know ammen99 and soreau. They do a great work, and their wf-shell misses nothing but more time. AFAIK, for now they are more focused on the compositor itself. But I haven't seen Wayfire for several months, so I may be wrong.


Workflow Archive database connections are not closed

Pre-requisites

[X] I have double-checked my configuration
[X] I can confirm the issues exists when I tested with :latest
[ ] I'd like to contribute the fix myself (see contributing guide)

What happened/what you expected to happen?
About two days after upgrading Argo to v3.4.5, my team noticed, that workflows are not archived anymore.
We are using a Postgres database manged by Azure to archive workflows.
When digging into the error, we noticed that the number of active connections to our database only increases over time, and eventually hits the limit of active connections. This then results in workflows not being archived anymore.
We did a manual restart of the argo workflows controller, which then closes the connections as expected.
This was the initial configuration in our configmap that caused the issues:
persistence:
    archive: true
    nodeStatusOffLoad: true
    postgresql:
      database: argo
      host: ***
      passwordSecret:
        key: ***
        name: ***
      port: ***
      ssl: true
      sslMode: require
      tableName: argo_workflows

To resolve the issues, we tried to add the connectionPool setting as seen below, but that did not change anything.
persistence:
    connectionPool:
      maxIdleConns: 100
      maxOpenConns: 0
    archive: true
    nodeStatusOffLoad: true
    postgresql:
      database: argo
      host: ***
      passwordSecret:
        key: ***
        name: ***
      port: ***
      ssl: true
      sslMode: require
      tableName: argo_workflows

For now we had to revert to argo workflows v3.4.4, and the issue was gone.
Version
v.3.4.5
Paste a small workflow that reproduces the issue. We must be able to run the workflow; don't enter a workflows that uses private images.
Applies to all of our workflows

Logs from the workflow controller
time="2023-02-10T08:50:22.633Z" level=info msg="Enforcing history limit for 'WORKFLOW1'" namespace=NAMESPACE1 workflow=WORKFLOW1
time="2023-02-10T08:50:22.634Z" level=info msg="Enforcing history limit for 'WORKFLOW2'" namespace=NAMESPACE2 workflow=WORKFLOW2
time="2023-02-10T08:50:22.634Z" level=info msg="Enforcing history limit for 'WORKFLOW3'" namespace=NAMESPACE3 workflow=WORKFLOW3
time="2023-02-10T08:50:22.634Z" level=info msg="Enforcing history limit for 'WORKFLOW4'" namespace=NAMESPACE4 workflow=WORKFLOW4
time="2023-02-10T08:50:22.634Z" level=info msg="Enforcing history limit for 'WORKFLOW5'" namespace=NAMESPACE3 workflow=WORKFLOW5
time="2023-02-10T08:50:22.634Z" level=info msg="Enforcing history limit for 'WORKFLOW6'" namespace=NAMESPACE2 workflow=WORKFLOW6
time="2023-02-10T08:50:22.634Z" level=info msg="Enforcing history limit for 'WORKFLOW7'" namespace=NAMESPACE2 workflow=WORKFLOW7
time="2023-02-10T08:50:22.634Z" level=info msg="Enforcing history limit for 'WORKFLOW8'" namespace=NAMESPACE2 workflow=WORKFLOW8
time="2023-02-10T08:50:22.634Z" level=info msg="Enforcing history limit for 'WORKFLOW9'" namespace=NAMESPACE4 workflow=WORKFLOW9
time="2023-02-10T08:50:25.013Z" level=info msg="Get leases 200"
time="2023-02-10T08:50:25.025Z" level=info msg="Update leases 200"
time="2023-02-10T08:50:27.417Z" level=info msg="Watch configmaps 200"
time="2023-02-10T08:50:29.709Z" level=info msg="List workflows 200"
time="2023-02-10T08:50:30.037Z" level=info msg="Get leases 200"
time="2023-02-10T08:50:30.048Z" level=info msg="Update leases 200"
time="2023-02-10T08:50:32.638Z" level=info msg="Enforcing history limit for 'WORKFLOW1'" namespace=NAMESPACE1 workflow=WORKFLOW1
time="2023-02-10T08:50:32.638Z" level=info msg="Enforcing history limit for 'WORKFLOW2'" namespace=NAMESPACE2 workflow=WORKFLOW2
time="2023-02-10T08:50:32.638Z" level=info msg="Enforcing history limit for 'WORKFLOW3'" namespace=NAMESPACE3 workflow=WORKFLOW3
time="2023-02-10T08:50:32.639Z" level=info msg="Enforcing history limit for 'WORKFLOW4'" namespace=NAMESPACE4 workflow=WORKFLOW4
time="2023-02-10T08:50:32.639Z" level=info msg="Enforcing history limit for 'WORKFLOW5'" namespace=NAMESPACE3 workflow=WORKFLOW5
time="2023-02-10T08:50:32.639Z" level=info msg="Enforcing history limit for 'WORKFLOW6'" namespace=NAMESPACE2 workflow=WORKFLOW6
time="2023-02-10T08:50:32.639Z" level=info msg="Enforcing history limit for 'WORKFLOW7'" namespace=NAMESPACE2 workflow=WORKFLOW7
time="2023-02-10T08:50:32.639Z" level=info msg="Enforcing history limit for 'WORKFLOW8'" namespace=NAMESPACE2 workflow=WORKFLOW8
time="2023-02-10T08:50:32.639Z" level=info msg="Enforcing history limit for 'WORKFLOW9'" namespace=NAMESPACE4 workflow=WORKFLOW9
time="2023-02-10T08:50:34.618Z" level=info msg="Watch pods 200"
time="2023-02-10T08:50:35.056Z" level=info msg="Get leases 200"
time="2023-02-10T08:50:35.070Z" level=info msg="Update leases 200"
time="2023-02-10T08:50:35.421Z" level=info msg="Watch workflowtasksets 200"
time="2023-02-10T08:50:40.082Z" level=info msg="Get leases 200"

Logs from in your workflow's wait container
-

Here you can see the number of active connections to the database, that increase over time. At the sharp drops, the controller was restarted manually.

v3.4.5 is also broken with https://github.com/argoproj/argo-workflows/issues/10490

@sxllwx do u think this is caused by https://github.com/argoproj/argo-workflows/pull/10140 ?

We are also running into this issue. Added the workaround from @n1klasD so far.

maybe related to https://github.com/argoproj/argo-workflows/pull/10300

maybe related to #10300

Postgres SSL changes are not related to any connection change and didn't change any code which is related to postgres connection
And @10300 changes are not yet released but committed into the master after v3.4.5 release (See the latest release changelog) and waiting for the release and this changes is for adding SSL certificate while making connection to postgress with sslmode as require|verify-ca|verify-full|prefer.
After the release argo helm chart changes has to be merge.

I can't see any CHANGELOG.md entries for v3.4.5 that looks likely to have caused this. Perhaps we could modify the code to use a default value for connMaxLifetime: 300s so this value is always set.
@reddymh would you like to submit a PR?

@alexec  I can do this change by adding the default connection max lifetime to 300s if this is not defined in the configmap.

I believe the issue is introduced here: https://github.com/argoproj/argo-workflows/pull/10218
It update configs and DB sessions of the workflow controller along with every updates of the configmap; but the problem is it doesn't close the old session before creating new one.


Reset button tricks user at anagram entry

The manual anagram entry box requires the user hit 'enter' after typing.  BUT displaying RESET right below the box could lead users, and has led me, to reset instead of submitting.  It DOES submit on rerun but it looks funky.  Perhaps remove the reset button until an anagram has been entered?  Force them to enter nothing if they just want to reset at that point?

Possible that its better to leave clearer instructions and more space rather than hiding the button, but resetting early seems to cause strange behavior.

Leaving open for now but putting a pin in it.

Moved button.


Missing kombu requirement

I have Celery installed correctly, but running
celery -A plenario.celery_app worker --loglevel=info &

Gives the following error:
[2] 19006
ubuntu@ip-172-31-7-130:~/EDE/plenario$ Traceback (most recent call last):
  File "/usr/local/bin/celery", line 7, in <module>
    from celery.__main__ import main
  File "/usr/local/lib/python2.7/dist-packages/celery/__init__.py", line 131, in <module>
    from celery import five  # noqa
  File "/usr/local/lib/python2.7/dist-packages/celery/five.py", line 20, in <module>
    from kombu.five import monotonic
ImportError: No module named kombu.five

Requirements.txt is missing kombu.

That's curious. Kombu is included in Celery's dependencies (https://github.com/celery/celery/blob/master/requirements/default.txt), so pip should pick it up (in theory). I'm gonna call this a one-off unless we see others have a problem with this.


Unable to change port used by the built server

I seem to be unable to change the server port from the default 8000.
I've tried:

PORT=69420 deno run -A /build/mod.ts
Adding server: { port: 69420 } to vite.config.ts

How do I do it correctly?

There is an open PR to change the port https://github.com/dbushell/sveltekit-adapter-deno/pull/11
I will merge that today and release a new version

PR was merged PORT is available in v0.15
https://github.com/dbushell/sveltekit-adapter-deno#change-the-port-or-hostname

Thank you @dbushell for rapid response.
Changing ports works perfectly now, but setting HOST=<IP_ADDRESS> doesn't alter the host :(
The server always binds to <IP_ADDRESS>


Website needs to be manually deployed to reflect changes?

Looking at the GitHub Actions workflow, it looks like it is only targeting pull request reviews.
Does the website need to be manually deployed?

No, Netlify deploy automatically every time PR is merged.


How can i use node packages in TagUI? - try api step or Python packages

I wanna use request module in TagUI script, What should i do ? 😄  Thanks in advance.
request - npm
var request = require('request')
request({
    url: "https://www.test.com/api",
    method: "POST",
    headers: {
        "content-type": "application/json",
    },
    body: JSON.stringify(requestData)
}, function(error, response, body) {
    if (!error && response.statusCode == 200) {
    }
});

Hi @githubcyc I'm afraid that TagUI is not based on Node.js. Its JavaScript engine is PhantomJS, thus there is no access to Node.js packages. In a future release, we are doing a POC to migrate to Node.js.
In the meantime, you can consider using the api step to see if that works for you, more details here - https://github.com/kelaberetiv/TagUI#api
Alternatively, you can try using the Python integration to use the Python requests package instead, more on Python integration - https://github.com/kelaberetiv/TagUI#python-integration

Closing issue for time being until further inputs, let me know how it goes @githubcyc !

@kensoh thanks for ur quick reply. 😄
It seems the following codes works in TagUI script.  fs may be a basic module for javascript.
var fs = require('fs')
flow_data = fs.read('xxx')

Yes this is because fs module is included as part of PhantomJS engine.
More on other modules included with PhantomJS - https://phantomjs.org/api/


[Feature] Quick-console with automatic login

I find myself doing scroll click click click click type click scroll multiple times on a daily basis. (The last scroll is because the login 'form' takes up screen estate so the console doesn't fit on my screen in it's entirety.)
If Portainer would remember what user was used to login last, we could have a single click login on the container overview page.
Here is a mockup of what I mean:

Those little Quick Console icons/buttons would directly open and login to a console on a new tab.
:sparkles:

Just a quick proof of concept, reusing the popover menu proposed in #1377:

I like this, although I would personally really really prefer a one-click solution. E.g. those 4 icons can easily fit in average screen estate. Something roughly illustrated with these terrible emoticons, which you can substitute with the clean black and white icons using imagination:
[running] [:bar_chart: :exclamation: :station: :information_source:] [portainer-dev] [image] [ports]
Now I can hold ctrl and click 5 different console-icons to open a shell to 5 containers in new tabs.
Also, I barely ever check "stats" and "logs". And I don't understand what "inspect" does. Isn't that the same as details? Then we're left with "console".
If there are really use cases for frequently opening stats and logs, I propose the option to:

Choose which icons appear in the Quick list (for me: console only), and
Choose wether or not you want them grouped into a [+] link that you need to click first (for me: no).

Love this.. although a heading of “Quick” doesnt make sense.. “Open” or “Launch”  would be clearer.
Rgds,
Neil Cresswell
On 18/11/2017, at 2:31 AM, 1138-4EB <notifications<EMAIL_ADDRESS>wrote:
Just a quick proof of concept, reusing the popover menu proposed in #1377https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_portainer_portainer_pull_1377&d=DwMCaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=0fx0h4vB56iTLpw2McH1ZD6TqG_QGpbggVOB-PfMJpM&m=kR5vZkISzrtCjGpJUKYELPrk_BYAgcdAWjPPImETqlA&s=6oiByuY9tTfkEQIhtgN1WdE8bZBRKzniCW74NhK3En4&e=:
[containersquick]https://urldefense.proofpoint.com/v2/url?u=https-3A__user-2Dimages.githubusercontent.com_6628437_32949588-2Daf2e892c-2Dcba3-2D11e7-2D8baf-2D2d3dc24c047a.gif&d=DwMCaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=0fx0h4vB56iTLpw2McH1ZD6TqG_QGpbggVOB-PfMJpM&m=kR5vZkISzrtCjGpJUKYELPrk_BYAgcdAWjPPImETqlA&s=Kj_WemCEE8lhSqm3go5Xt8gI8Sj-O0HB80du2kdn5Mk&e=
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_portainer_portainer_issues_1400-23issuecomment-2D345244237&d=DwMCaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=0fx0h4vB56iTLpw2McH1ZD6TqG_QGpbggVOB-PfMJpM&m=kR5vZkISzrtCjGpJUKYELPrk_BYAgcdAWjPPImETqlA&s=AXjaaWeOlHLv7ZQMxumKLTzrmAph3JbqTJ54OXYqri4&e=, or mute the threadhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AWGrladBso4AH1mh-2DweGL1J0iZvYmLzDks5s3YqNgaJpZM4Qh8Zi&d=DwMCaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=0fx0h4vB56iTLpw2McH1ZD6TqG_QGpbggVOB-PfMJpM&m=kR5vZkISzrtCjGpJUKYELPrk_BYAgcdAWjPPImETqlA&s=Dbma4WExb5SpgKCw-UrD3VvZsLH9EZ9LlAYQO3sIsOI&e=.


Bluebird type example

First of all, thanks so much for these interfaces, they are truly amazing. But after using a bit of iflow-bluebird, I'm confused on how to type my promises.
I tried:
import Promise from 'bluebird'

const promise: Promise<string> = Promise.resolve('hello')

promise.then(hello => console.log(hello))

…which throws an error:
  6: const promise: Promise<string> = Promise.resolve('hello')
                    ^^^^^^^^^^^^^^^ type application of identifier `Promise`. Expected polymorphic type instead of
  6: const promise: Promise<string> = Promise.resolve('hello')
                    ^^^^^^^^^^^^^^^ class type: BluebirdPromise

So then I tried this:
import Promise from 'bluebird'

const promise: Promise = Promise.resolve('hello')

promise.then(hello => console.log(hello))

…which also didn't work. I believe this is because of this line which wraps BluebirdPromise with Class, is it possible to remove the Class wrapper?

I'm usually doing this in a global libdef.
import BluebirdPromise from 'bluebird';
declare var Promise: BluebirdPromise;

Overwrites the global Promise with bluebird.

Oh, so import Promise from 'bluebird' doesn't replace bluebird locally?

Exactly.
Not sure but flow does it that way.

Thanks!


Load test on VerneMQ

Hi,
Please give a document or an input on how to run load test on Vernemq with MQTT as client.

@Akashlv7 Thanks. I'm afraid you're going to have to research this.
We have a very old blog post regarding vmq_mzbench here, it's potentially outdated: http://vernemq.com/blog/2016/08/26/loadtesting-mqtt-brokers.html
But this is by no means your only option. There's many options for MQTT loadtesting.

@Akashlv7 Thanks. I'm afraid you're going to have to research this.
We have a very old blog post regarding vmq_mzbench here, it's potentially outdated: http://vernemq.com/blog/2016/08/26/loadtesting-mqtt-brokers.html
But this is by no means your only option. There's many options for MQTT loadtesting.


Feature request: ability to select which fields end up in mail to form submitter

Title tells it all: Ability to select if the field will end up in the mail to the one who completed the form

Not interested in this sorry.

BTW if necessary, you can simply customize the email template to check for particular fields and either show them or not.

You can't specify a template on a per-form basis (at least not visible from the admin) so this would work global. In the end it would confuse end-users since for them fields would simply not show up in the mail without any visible reason why.


Convert::Bencode: init at 1.03

Motivation for this change
Package Perl::Bencode, a simple pure-perl module needed by some scripts for working with torrent files.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Please change commit message to follow CONTRIBUTING.MD.

@aanderse fixed

@kazcw thanks!
@GrahamcOfBorg build perlPackages.ConvertBencode perldevelPackages.ConvertBencode


Add solution of data structures in c++

I would like to add some data structure solutions. Can I proceed?

For each solution you have, please open a pull request.
Please review pull request #35 as an example pull request and format your pull requests accordingly also make sure to include the problem listing in the README


TEP-0127: Larger Results via Sidecar Logs - Feature flags

This PR addresses some changes in https://github.com/tektoncd/pipeline/pull/5828.
Moved config to enable access to sidecar logs into a different folder so that it is not installed by default. Also removed docs for installation (will be added in the final PR) so that it does not suggest that the feature is ready for use.

Changes

Submitter Checklist
As the author of this PR, please check off the items in this checklist:

[x] Has Docs included if any changes are user facing
[x] Has Tests included if any functionality added or changed
[x] Follows the commit message standard
[x] Meets the Tekton contributor standards (including
functionality, content, code)
[x] Has a kind label. You can add one by adding a comment on this PR that contains /kind <type>. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tep
[x] Release notes block below has been updated with any user facing changes (API changes, bug fixes, changes requiring upgrade notices or deprecation warnings)
[x] Release notes contains the string "action required" if the change requires additional action from users switching to the new release

Release Notes
Moved config to enable access to sidecar logs into a different folder.

/kind feature

@afrittoli this PR addresses your comments in https://github.com/tektoncd/pipeline/pull/5828. I hope I haven't missed anything 😄

sorry I don't understand the relationship between PR title Larger Results via Sidecar Logs - Feature flags and the changes. It looks like we mainly remove the installation docs and move config files (roles related config). Why the PR naming is feature flags?

it's trying to address comments that were left after the feature flags PR was merged.I could rename it a bit to reflect that this is a bit of a cleanup to the merged PR.

it's trying to address comments that were left after the feature flags PR was merged.I could rename it a bit to reflect that this is a bit of a cleanup to the merged PR.
I think rename it would be better.
btw this PR is labeled as feature yet it looks more like a cleanup

it's trying to address comments that were left after the feature flags PR was merged.I could rename it a bit to reflect that this is a bit of a cleanup to the merged PR.

I think rename it would be better. btw this PR is labeled as feature yet it looks more like a cleanup

Done

/lgtm

/retest

/retest


fix: invalid user operation error mesages to correctly serialize bigint fields

Without the replace to correctly convert bigint values in the uo struct to serializable format, errors for invalid user operation (which we use before signing any user operation) fail to generate error messages. Was caught while using staging environment for e2e testing.

Without replacer:

With replacer:

Pull Request Checklist

[ ] Did you add new tests and confirm existing tests pass? (yarn test)
[ ] Did you update relevant docs? (docs are found in the site folder, and guidelines for updating/adding docs can be found in the contribution guide)
[ ] Do your commits follow the Conventional Commits standard?
[ ] Does your PR title also follow the Conventional Commits standard?
[ ] If you have a breaking change, is it correctly reflected in your commit message? (e.g. feat!: breaking change)
[ ] Did you run lint (yarn lint:check) and fix any issues? (yarn lint:write)
[ ] Did you follow the contribution guidelines?

PR-Codex overview
This PR focuses on updating the error message in useroperation.ts to handle bigint values properly.
Detailed summary

Updated error message handling to stringify bigint values in UserOperationStruct properties.

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

We should probably be doing deepHexlify and making sure that wherever the error is thrown that's being handled correctly


Do not compile flag for files and folders

At the moment DocDown sends the whole folder in which the Strategy.md is to the server to compile. This can cause to unexplainable failures during compiling when the folder also includes other large files e.g. skripts.
It would be nice if one could mark files and folders which do not have to be send to the server. For example in an extra file or in the meta-block.
Containing also not compilable data in the main folder is espacially usefull when you want to verion your work via Git e.g.

Added in d4fe320. Released with <IP_ADDRESS>.
Files and folders you want to exclude from compilation can be selected via a button in the context menu of the workspace explorer. They can be included the same way again. Excluded items are slightly transparent.


the elasticsearch library renamed (?) bulk_index

The new api is called bulk() but seems to accept the same parameters :-)
Steps to reproduce:
Environment Setup:
    * git clone https://github.com/Sparrho/bungiesearch.git
    * mkvirtualenv bungiesearch
    * cd tests
    * pip install -r requirements.txt (Installs elasticsearch 2.1.0)

* (bungiesearch)erebus:tests valentin$ python manage.py  test

Traceback (most recent call last):
  File "manage.py", line 9, in <module>
    execute_from_command_line(sys.argv)
  File "/Users/valentin/.virtualenvs/bungiesearch/lib/python2.7/site-packages/django/core/management/__init__.py", line 351, in execute_from_command_line
    utility.execute()
  File "/Users/valentin/.virtualenvs/bungiesearch/lib/python2.7/site-packages/django/core/management/__init__.py", line 325, in execute
    django.setup()
  File "/Users/valentin/.virtualenvs/bungiesearch/lib/python2.7/site-packages/django/__init__.py", line 18, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/Users/valentin/.virtualenvs/bungiesearch/lib/python2.7/site-packages/django/apps/registry.py", line 108, in populate
    app_config.import_models(all_models)
  File "/Users/valentin/.virtualenvs/bungiesearch/lib/python2.7/site-packages/django/apps/config.py", line 198, in import_models
    self.models_module = import_module(models_module_name)
  File "/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/Users/valentin/Projects/bungiesearch/tests/core/models.py", line 5, in <module>
    class Article(models.Model):
  File "/Users/valentin/.virtualenvs/bungiesearch/lib/python2.7/site-packages/django/db/models/base.py", line 189, in __new__
    new_class.add_to_class(obj_name, obj)
  File "/Users/valentin/.virtualenvs/bungiesearch/lib/python2.7/site-packages/django/db/models/base.py", line 324, in add_to_class
    value.contribute_to_class(cls, name)
  File "/Users/valentin/Projects/bungiesearch/bungiesearch/managers.py", line 36, in contribute_to_class
    from .signals import get_signal_processor
  File "/Users/valentin/Projects/bungiesearch/bungiesearch/signals.py", line 7, in <module>
    from .utils import update_index, delete_index_item
  File "/Users/valentin/Projects/bungiesearch/bungiesearch/utils.py", line 6, in <module>
    from elasticsearch.helpers import bulk_index
ImportError: cannot import name bulk_index

Okay, merged, sorry for the delay!

Any idea when this will be released?

Yes, I'll make sure to do that in the next eighteen hours, I'll have time.
Best regards,
Christopher Rabotin.
On Nov 5, 2015 01:14, "Jason Spafford"<EMAIL_ADDRESS>wrote:

Any idea when this will be released?
—
Reply to this email directly or view it on GitHub
https://github.com/Sparrho/bungiesearch/pull/113#issuecomment-153922443.

I realize my reply sounded aggressive but I want to say thank you more than anything. I think BungieSearch is a great effort!

No worries at all, I didn't find it aggressive 😉
Best regards,
Christopher Rabotin.
On Nov 5, 2015 01:23, "Jason Spafford"<EMAIL_ADDRESS>wrote:

I realize my reply sounded aggressive but I want to say thank you more
than anything. I think BungieSearch is a great effort!
—
Reply to this email directly or view it on GitHub
https://github.com/Sparrho/bungiesearch/pull/113#issuecomment-153923873.

@NullSoldier , version 1.2.2 has been released on pypi.


Feature request? Recording one loop of a pattern in curve mode

Thought I posted this on here, but maybe forgot to save.
Let's say I'm using MI Shades DC output in the Performer CV In to manually draw a shape. How can I hit record, draw in the curve within a single loop of the sequencer, and stop recording before the sequence loops starts to overwrite the curve? Can I get the Performer to run the pattern a single time and then stop? (Don't tell me to buy a Planar! :)
One obvious workaround is to put the clock through a VCA where the gate was opened for a single loop of the pattern and then off for long enough to shut off the clock and/or save the pattern, but could there be some internal "loop once and record" ability in the curve track?

Hi there,
I was able to do this by setting up a 4-step Curve track set at 1 bar clock division (each step is 4 beats/1 bar long), and have step 1 do a max flat curve, and steps 2/3/4/ with nothing. That is routed to control Record on/off.  So Performer can now record for 1 bar and play back for 3 bars before recording again. Or, just stop after the one bar - but having that 4-step patched to control Record you can definitely stop recording after 1 bar.

hey Bachelard, this is rayultine from Muff! Thank you for coming up with a great solution to this problem. :)

hey! nice to see you here :) i actually had a lot of fun figuring that out. it did make me realize that the Record function does apply to all the Curve tracks when it's activated. It didn't affect the 4-step track that was switching the Record on/off because I think the step resolution was maybe too low/big (1 bar per step), but when I created more Curve tracks in the project, those also captured the incoming CV. So, one of my related requests to this one would be to be able to target the Record status on a per-track basis. OR, be able to assign CV and CV/Gate input source per track rather than per project.


About offline maps.

Hello,
I've experimented using MapsForge .map file with OSMBonusPack/MapsForgeForOSMDroid module which maybe causes a problem when we want to display several .mp files at same time.
But at least it seems to be usable at any zoom level with files of reasonable size.
And I also had a look at this solution of MOBAC but after 3 hours, I'm still waiting for my atlas created for Corsica at level 16. And I'm afraid about the size obtained for the map file!
So, I'd like some advices to use OSMDroid with offline maps. What's the good solution.
Does it exists reay made map files on Internet for OSMDroid offline use? Except MapForge.
Is it possible to use several map files the time as France is cutted out in several departments (at least for MapForge), but as I see with Sygic for example, it's certainly possible to have all France in one map only.
Regards,
Alain

I recommend viewing the Wiki for the creation of Offline Map Tiles
OpenStreetMaps used to offer a wiki page to download ZIPs of regions, but that is no longer available it seems.
osmdroid includes a tool called OSMMapTilePackager, I suggest reading the README. It includes sample commands to pull regions such as France

Hi ZKjellberg,
hmm well, as I said, using MOBAC seems not to be a reliable solution for creating map of more than a city.
OSMDroid is a really interesting solution to replace googleMap but for offline solution, I think that MapsForge is maybe better.
At least up for now.
But I'm still interesting for other opinions.
Alain

Those are really the only options besides geopackage. If you want offline maps, you have to pay for it in terms of storage


Please add license = "MIT" to bower.son

we have scanner to look for js artifact license, however since the package.json not present, but bower.json is

The package.json is present and it does contain license: MIT entry.

@dantran @witoldsz if you install via bower, you get only what's needed for Bower and that leaves out package.json
I just went ahead and made a quick PR.


feat: RPC - starknet_getBlockWithTxHashes

Pull Request type

Please check the type of change your PR introduces:

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no API changes)
[ ] Build-related changes
[ ] Documentation content changes
[ ] Testing
[ ] Other (please describe):

What is the current behavior?

Issue Number: #188
What is the new behavior?

add starknet_getBlockWithTxHashes rpc endpoint.

Does this introduce a breaking change?

[ ] Yes
[x] No

Other information
Response example:

hey @dubzn what is the status on this PR ?

hey @dubzn what is the status on this PR ?

hey Abdel, thanks for ask! I'm currently working on this, but I'm stuck with the integration tests. I've been talking to @EvolveArt and @tdelabro to see how I can make progress, but I haven't been able to finish it yet. The 'problem' I'm having is explained here, but to summarize: when creating a block with transactions, for some reason, it's not found when requested through the provider. I understand that for each Substrate block, we have a corresponding Starknet block. I think where I'm failing is that when I create a block, it gives me the hash of a Substrate block, but when I call getBlockWithTxsHashes(), I need the hash of the corresponding Starknet block, but I couldn't find an example of the conversion. Today, I was planning to work on implementing the conversion of StarknetBlock to SubstrateBlock (already implemented in .rs but not in .ts) and vice versa. The tests that are currently implemented are basic because they simply check that the response is not 'undefined'.

hey @dubzn what is the status on this PR ?

hey Abdel, thanks for ask! I'm currently working on this, but I'm stuck with the integration tests. I've been talking to @EvolveArt and @tdelabro to see how I can make progress, but I haven't been able to finish it yet. The 'problem' I'm having is explained here, but to summarize: when creating a block with transactions, for some reason, it's not found when requested through the provider. I understand that for each Substrate block, we have a corresponding Starknet block. I think where I'm failing is that when I create a block, it gives me the hash of a Substrate block, but when I call getBlockWithTxsHashes(), I need the hash of the corresponding Starknet block, but I couldn't find an example of the conversion. Today, I was planning to work on implementing the conversion of StarknetBlock to SubstrateBlock (already implemented in .rs but not in .ts) and vice versa. The tests that are currently implemented are basic because they simply check that the response is not 'undefined'.

ok thanks for the detailed answer. @EvolveArt please help @dubzn tomorrow if you can. if you cant I will have a look later this week and help you

This item belongs to payment request #096ED4 on OnlyDust:

from abdelhamidbakhta to dubzn
1 item included
$750 for 1 day and 4 hours of work


Prevent lag metric from going below 0

Lag can often appear to be negative due to the highwaters being less up to
date than the consumer's offset. A negative lag doesn't make sense, and
isn't actually correct, so nicer to report 0 instead.
Fixes https://github.com/braedon/prometheus-kafka-consumer-group-exporter/issues/21

Hi @braedon,
How is it possible that HW is less up to date than committed offset?

@Matzz the exporter reads the consumer groups' committed offsets from the __consumer_offsets topic, so gets them essentially "live". The high watermarks, however, are requested from the brokers on a scheduled job - every 10s by default. During that 10s gap between updating the water marks, the consumer groups can consume past the (old) high water mark, appearing to have a negative lag.
It's the same issue as described in the README.


Nuke nodes should have better support for roles

As far as I can tell, there is currently no way to specify a role in the OCIODisplay or OCIOColorSpace nodes.
The utility of being able to do this is clear--the OCIOLogConvert node is effectively just the OCIOColorSpace node that uses the compositing_log and scene_linear roles.
It would be nice to be able to use other, user-specified, roles in Nuke....

I believe support for roles is coming in Nuke 12, which is still in beta (using Foundry's version of the OCIO plugins, which differ from those in this repo).

Confirmed in Nuke 12 (toward the bottom of feature list):
https://www.foundry.com/products/nuke/new-releases#link1013


Update cloudwatch, dynamodb, kinesis, s3, sns, ... to 2.26.29

About this PR
📦 Updates

software.amazon.awssdk:cloudwatch
software.amazon.awssdk:dynamodb
software.amazon.awssdk:kinesis
software.amazon.awssdk:s3
software.amazon.awssdk:sns
software.amazon.awssdk:sqs

from 2.26.21 to 2.26.29
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "software.amazon.awssdk" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "software.amazon.awssdk" }
}]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #1227.


Error: getaddrinfo ENOTFOUND https://plex.tv/api/v2/pins?strong=true

Getting this error in the console when attempting to use the example in the Readme.

Hi @AugusDogus,
Per pull request #11, this should be resolved, please reopen this issue otherwise.
Thank you


Enable user to specify IAM roles

A customer needs to specify preexisting IAM roles - because they do not have permissions to create IAM and application resources with the same roles - so that they can deploy LISA into their managed account.

Hey @jebbens, thank you for bringing this to our attention! We will review this PFR for potential inclusion in our next release. I will keep you up to date here!

Hey there @jebbens - This was resolved with this PR and will be included in our next release. Thanks!


Errors

What do you need?
Guidance on errors, for example 404s.
There'd be a cross over with UI-KIT content.

https://github.com/govau/content-guide/issues/56


add breaking changes warning to README.md

@ar3s3ru is this the kind of thing you were after?

Yes, I like it! Thanks a lot for this 😄


Hide local dev server as irrelevant if not an ae standard app

fixes #1067

Are we pursuing the other idea we discussed about showing the appengine-web.xml location in the run config UI and invalidating the run config based on that to reduce the amount of magic?

I think so. But we can still mark it as irrelevant if its not an AE standard app right? This doesn't prevent the user from creating one, just hides it a bit.

Yeah, sounds good. Was wondering if we wanted to do it in the same PR, but it's probably better not to.


Change erroneous documentation for .flex-fill

Fixes #26803
The current documentation for .flex-fill indicated that the flex items would have equal widths, regardless of content. This update ensures that the documentation reflects the fact that the width of the flex items depends on their actual content.
As per https://github.com/twbs/bootstrap/issues/26803#issuecomment-411993254 a change to the actual behaviour of .flex-fill might be preferable, but this fix at least addresses the problems in the documentation.

@mdo: another PR was merged and didn't notice we had this one too. Not sure which one is better, so I'll let you tackle this one.

This change was made 1 year ago and still doesn't reflect on latest version at https://getbootstrap.com/docs/4.1/utilities/flex/#fill
...

@mariusa That's because 4.1 isn't the latest version.

Site should be updated:

https://getbootstrap.com/docs/4.1/utilities/flex/#fill


site: add button style choice docs related to semantics

Guidelines might be a bandaid
Symptom of too many secondary styles
Had that other math-based chart of Button style choosing

Triage:
Add some basic guidelines.

With CTA design about to get a refresh, there's no need to add guidelines for the current ones. We can re-visit this later.


[MLF] Add support for multiple modules in Model Library Format

This PR implements this RFC: https://github.com/apache/tvm-rfcs/pull/76
cc @areusch @gromero

@mkatanbaf could you try this out and verify it's working for you?

@areusch sure, working on it now!


[ISV-1053] Check whether certProject.operator_distribution value matches with config of submission repo

I have placed this condition in get-cert-project-related-data.yml because it is easy and efficient to get the value of certProject.operator_distribution here.
cc @amisstea


is this Plugin Maintained ?

Hi Amol,
Your Package is very important for people like who uses Flutter For Mobile Development
I Don't Have Any Idea About Native Android / IOS Development
First Timer in Mobile App Development and Flutter is my Platform
Request You to Maintain the Package and Fix the Bugs would be a great favor on None-Native Developers
Thank You

@AmolGangadhare Any Update ?

+1

+2

+3

+4

+5

+6

+7

Definitely abandoned, could always fork it and start fixing it.

any updates

could u update this? @moha-b


Close by clicking outside of the image - "lightbox"

Hi guys,
firstly, thanks a lot for your work!
I have a small problem with the plugin, I can't manage to replace the lightbox closing button functionality by clicking anywhere outside of the current image.
I've tried something like this, but it doesn't work...
buttons:  {
close : ".tos-wrapper"
}
Could you help me please?
Thank you very much!

doesn't work for me with this code... whats wrong ??

1

2


Fix error on nil decode

I would get the following error when a value is empty in consul:
Error: Evaluation Error: Error while evaluating a Function Call, Error
from DataBinding 'hiera' while looking up 'dropwizard::instances':
undefined method `unpack' for nil:NilClass
My patch will make sure that the nil is returned directly to hiera which
knows how to deal with it.
It will also prevent the error that is currently happening when
Base64.decode64() is running against a nil value

This looks very good, thank you!


Error with design file

I have a very basic question: when I run the xcpengine with docker I get the error as below:
Constructing a pipeline based on user specifications
····································································
· [D][/design/design.dsn]
INFO: /root/matlab/startup.m does not exist ... creating
sed: couldn't edit /design/design.dsn: not a regular file
· [I][/scratch]
· [C][/cohort/cohort.csv]
Error in read.table(file = file, header = header, sep = sep, quote = quote,  :
no lines available in input
Calls: read.csv -> read.table
Execution halted
· [O][/xcpOutput]
· [M][Executing serially]
····································································

there is sure docker or singularity  binding. can you  post the command ?

Thanks! the problem resolved! I needed to change the paths and give permission to folders!
Sorry!

@nooshinjava I know this was a while ago but do you happen to remember what permissions/paths you needed to change? I'm running into the same problem, but I think all my permissions are open...

Hi,
For me it wasn't a path permission problem. I found such command as below
which worked for me.
singularity run --cleanenv -B /XCP
/XCP/simg/xcpEngine-latest.simg
-d /XCP/designs/fc-36p_spkreg.dsn
-c /XCP/cohort_file/cohort.csv
-o /XCP/xcpOutput
-i /XCP/Work
-t 1
On Tue, Aug 4, 2020 at 5:53 PM bwinsto2<EMAIL_ADDRESS>wrote:

@nooshinjava https://github.com/nooshinjava I know this was a while ago
but do you happen to remember what permissions/paths you needed to change?
I'm running into the same problem, but I think all my permissions are
open...
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/PennBBL/xcpEngine/issues/311#issuecomment-668678191,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALX4F5M557IWYY62ZLCM3H3R7AVGHANCNFSM4K7IACQA
.


Explicitly specify content-type in prompt template

Closes https://github.com/ipfs-shipyard/ipfs-desktop/issues/1728.
This PR explicitly specifies utf-8 content-type in the template for the "Download..." dialog so non-roman languages don't blow out.
Tested in Mac Big Sur only; would appreciate a look in Linux/Windows.
Before

After

Thank you for fixing it!

Thank you for fixing it!


bugfix: fixed valid props table content of CoreAvatarGroup

fixed prop table of spacing and varient

Please review now


Middleware implements the action, which does limit the logic.

What steps will reproduce the problem?
Currently, middleware contains logic, which is difficult to redefine and to vary. For example, at IpFilter, I want to redirect (either internal or external).
What is the expected result?
I would delegate middleware functions to a Match class.
new Match(new Csrf())->notMatch(new CsrfFail());
new Match(new Csrf())->notMatch(new HttpRedirect('/invalid-csrf', 302));

new Match((new IpFilter())->withIpMatch('<IP_ADDRESS>'))->notMatch(new HttpForbidden())
new Match((new IpFilter())->withIpMatch('<IP_ADDRESS>'))
  ->notMatch(new InternalRedirect('/security/access-denied', ['param' => 2222]));

// I don't know an example, but it could also happen:
new Match(...)->match(...)->notMatch(...);

// hard case
new Match(new Any(
  new Csrf(),
  (new IpFilter)->withIpMatch('<IP_ADDRESS>')
))->notMatch(new HttpBadRequest());

What do you get instead?
https://github.com/yiisoft/yii-web/blob/3398f9b5ccdeea2365d51f62498f4e1ce03910a8/src/Middleware/IpFilter.php#L31-L33
https://github.com/yiisoft/yii-web/blob/3398f9b5ccdeea2365d51f62498f4e1ce03910a8/src/Middleware/Csrf.php#L36-L42

Q
A

Version
1.0.0-under-development

PHP version
-

Operating system
-

Even better:
class Csrf extends MatchMiddleware
{
  function __construct() {
    $this->notMatch(
       new ResponseStatus(400),
       new ResponseContent('Unable to verify your data submission.')
    );
    // or
    $this->notMatch(new CsrfFail());
  }
}

new Csrf();   // normal case

// with override
new Csrf()->notMatch(
  new ResponseStatus(400),
  new Route('/error/csrf-error'),
  (new LogRequest())->withData()
);
// or
new Csrf()->notMatch(
  new CsrfFail(),
  new Route('/error/error-page',['type' => 'csrf']),
  (new LogRequest())->withData()
);

Some degree of flexibility won't hurt but I don't like to introduce inheritance from MatchMiddleware. The logic in it is simple if and callback execution. No need to extract it.
For CSRF middleware it makes no sense to behave differently in case of failure to verify code.
IpFilter customization is OK but let's create a separate issue about that.

For more comment on CSRF:
Yii2 allowed us to elegantly inform the user in the event of a CSRF error. And what's more, it made it possible to run even more important tracking code (eg google analytics).
Obviously, in most cases, it is attack (empty or not exists the CSRF), but for an incorrect configuration, the end user is not necessarily wrong (eg validationKey is not filled in and always generates a new one during init deployment). In extreme cases, the framework may also have an bug.

OK. It makes sense but let's keep these separate. One case - one issue.


Activate rdt res_ctrl in resmanager

Signed-off-by: cheimu<EMAIL_ADDRESS>Ⅰ. Describe what this PR does
https://github.com/koordinator-sh/koordinator/pull/94#issuecomment-1120709905
Ⅱ. Does this pull request fix one issue?

Ⅲ. Describe how to verify it
Ⅳ. Special notes for reviews

/assign @hormes @jasonliu747

@cheimu Nice, thanks for your contribution. Please follow the instruction to fix the DCO error.😁

Codecov Report

Merging #127 (52b3eb6) into main (5b00789) will decrease coverage by 0.01%.
The diff coverage is 0.00%.

:exclamation: Current head 52b3eb6 differs from pull request most recent head 9648af8. Consider uploading reports for the commit 9648af8 to get more accurate results

@@            Coverage Diff             @@
##             main     #127      +/-   ##
==========================================
- Coverage   56.39%   56.38%   -0.02%
==========================================
  Files          78       78
  Lines        7364     7366       +2
==========================================
  Hits         4153     4153
- Misses       2838     2840       +2
  Partials      373      373

Flag
Coverage Δ

unittests
56.38% <0.00%> (-0.02%)
:arrow_down:

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

Impacted Files
Coverage Δ

pkg/koordlet/resmanager/resmanager.go
54.01% <0.00%> (-0.49%)
:arrow_down:

Continue to review full report at Codecov.

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

@cheimu Nice, thanks for your contribution. Please follow the instruction to fix the DCO error.😁

Done. 😄

/lgtm

/approve


Some old report style files cannot be run on Net6 platform

Some old report style files cannot be run on Net6 platform, and the error message is that the operation does not support this platform. My report style file is as follows:

`

using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Windows.Forms;
using System.Drawing;
using System.Data;
using FastReport;
using FastReport.Data;
using FastReport.Dialog;
using FastReport.Barcode;
using FastReport.Table;
using FastReport.Utils;
namespace FastReport
{
public class ReportScript
{

private void ReportSummary1_BeforePrint(object sender, EventArgs e)
{
  if(!((Boolean)Report.GetColumnValue("CustomOrderDto.FinishedGlasses")))
  {  Table2.Visible=false;
    ReportSummary1.Height=  ReportSummary1.Height-Table2.Height;
  }
}

}
}

`


Refactor classes in game.dart file to separate files

See #286

Pushed a new commit with comma fixes


Clean better.

Did it in fact previously do no cleaning at all?

There was cleaning, but only of what Automake knew about (.o files, binaries, that sort of things). Protocol buffer generated output (protoc stuff) isn't known by Automake, so it wasn't cleaned, and the version.cc file that I generated with a rule nearby.
Not a big deal, we rarely do make clean, but if we do it, we'd expect all generated files to get deleted.


Deserialize null to struct type property with JsonConverter throw no exception in .NET 6

Source/destination types
public class TestCalss
{
    public NonNullType Value { get; set; }
}

public struct NonNullType
{
}

Source/destination JSON
{"Value":null}

Expected behavior
.NET Framework 4.8:
Newtonsoft.Json.JsonSerializationException: Error setting value to 'Value' on 'Program+TestCalss'.
Actual behavior
No exception in .NET 6.
Steps to reproduce
The code below throw exception in .NET Framework 4.8 (as expected), but throw no exception in .NET 6.

// <PackageReference Include="Newtonsoft.Json" Version="13.0.3" />

using Newtonsoft.Json;
using System;

internal class Program
{
    public class TestCalss
    {
        public NonNullType Value { get; set; }
    }
    public struct NonNullType
    {
    }

    public class MyJsonConverter : JsonConverter
    {
        public override bool CanConvert(Type objectType) => objectType == typeof(NonNullType);

        public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) => null;

        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { }
    }

    private static void Main(string[] args)
    {
        var json = "{\"Value\":null}";

        var c = JsonConvert.DeserializeObject<TestCalss>(json, new MyJsonConverter());

        Console.WriteLine("DONE");
        Console.ReadKey();
    }
}

The code below throw exception in .NET Framework 4.8 (as expected), but throw no exception in .NET 6.

Well, dotnetfiddle has no Framework 4.8 target, but it has a Framework 4.7.1 target. And your code does NOT throw in 4.7.1.: https://dotnetfiddle.net/ItXTNG
But there is something unusual going on in your 4.8 exception stack trace. Note that there is a DynamicValueProvider involved that should not be involved if you were to actually execute the code as in your report.
I modified your code example so the Value property setter throws an exception to see the actual stacktrace when setting the property fails: https://dotnetfiddle.net/ikz2p5 Note that there is no DynamicValueProvider appearing in the stacktrace.
This makes me believe that the 4.8 code you are running is different from the one in your report. If not, can you please share the project (by attaching a zip file with the project to a github comment) that contains the code in your question and builds an 4.8 executable causing the exception you see?

Thank you @elgonzo , here's the code.
JsonNetBugDemo.zip
And here's my test result.

Also, I tried changing the framework version to 4.7.2, and can got same exception. I can also confirmed that I can reproduce the issue on different computer.

Looks like the https://dotnetfiddle.net/bw3oKz is using a old Json.NET version 11.
4.0.30319.42000
Newtonsoft.Json, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed
DONE

Looks like the https://dotnetfiddle.net/bw3oKz is using a old Json.NET version 11.

Oh dang. Despite selecting 13.0.2, dotnetfiddle still uses 11.0.x. for ye'olde Framework targets. Thanks for noticing.
I can reproduce the issue on my end (using with the simple settins as in your exampleproject), both with the current 13.0.3 and the old 11.0.2 dotnetfiddle insisted on using. There is indeed a difference in behavior between the Newtonsoft.Json assembly flavours for the old Framework 4.x targets and the flavours for .NETStandard 1.x and 2.0 offered by the Newtonsoft.Json nuget package.
(Dotnetfiddle properly pulled the wool over my eyes here; not only did it use 11.0.x instead of the selected 13.0.2, it also apparently seems to use one of the Newtonsoft.Json netstandard flavours instead of the net45 flavour the build tool would select. Aargh...)


Let end user to configure  MFA as preferred for self care portal and applications discoverable

Description of the Feature

User should able to define additional authentication factors for an accessible Service Provider.

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


Building a command using a Tree-like syntax

This PR adds the CommandTree class, which provides an alternate way for building a command, using a tree structure. This aims to mirror Brigadier's command registration system, but using components of the CommandAPI.
This involved making lots of changes to the internals of CommandAPICommand, mainly moving parts of it into parent classes so that the CommandTree can inherit the same code. This is to hopefully make the code more maintainable for future changes.
A CommandMetaData class has also been introduced to help store a command's metadata in a single object, which was required for the tree structure, but also massively reduces the number of argument for some methods in CommandAPIHandler.
A command can be built as follows
new CommandTree("treeexample")
	//Set the aliases as you normally would
	.withAliases("treealias")
	//Set an executor on the command itself
	.executes((sender, args) -> {
		sender.sendMessage("Root with no arguments");
	})
	//Create a new branch starting with a the literal 'integer'
	.then(new LiteralArgument("integer")
		//Execute on the literal itself
		.executes((sender, args) -> {
			sender.sendMessage("Integer Branch with no arguments");
		})
		//Create a further branch starting with an integer argument, which executes a command
		.then(new IntegerArgument("integer").executes((sender, args) -> {
			sender.sendMessage("Integer Branch with integer argument: " + args[0]);
		})))
	.then(new LiteralArgument("biome")
		.executes((sender, args) -> {
			sender.sendMessage("Biome Branch with no arguments");
		})
		.then(new BiomeArgument("biome").executes((sender, args) -> {
			sender.sendMessage("Biome Branch with biome argument: " + args[0]);
		})))
	.then(new LiteralArgument("string")
		.executes((sender, args) -> {
			sender.sendMessage("String Branch with no arguments");
		})
		.then(new StringArgument("string").executes((sender, args) -> {
			sender.sendMessage("String Branch with string argument: " + args[0]);
		})))
	//Call register to finish as you normally would
	.register();

This resulted in a small modification to the Argument to add the executes methods, but none of these return Argument so the below code will not compile.
new CommandAPICommand("badexample")
	//.executes returns `ArgumentTree` so this does not compile
	.withArguments(new LiteralArgument("node").executes((sender, args) -> {
		sender.sendMessage("This will not compile as .executes no longer returns an argument");
	}))
	.register();

This is to avoid potential confusing use cases like the above code. It does however mean that any argument operations (withPermission, replaceSuggestions etc) must be performed before any calls to executes; code will probably be more readable this way anyway.
Methods such as withAliases, and withShortDescription are only available on the root node to keep it simple as well.
Hopefully this will make it much easier to build complex commands with less code!

Assuming this still allows the "old" syntax for command registration, I think I'll allow this.
When I originally designed the CommandAPI's command registration methods, I specifically chose NOT to use a tree structure like Brigadier because it can cause a huge hindrance to the readability of the code (especially when using tabs/spaces to indicate "what comes after what"). I had originally wanted a "similar to Bukkit command declarations" form of code rather than a tree structure.
That said, given that this is entirely optional for developers (and the normal command registration methods (I presume) work fine), giving more choice for developers is always a good thing.
I'll get back to this PR once I've had the time to play around with it myself.

Yes the existing registration is untouched. This is an optional extra way to do it.
This tree implementation actually converts each executable into a CommandAPICommand internally for registering so it's really just a layer on top of the existing registration to make complex commands easier to define.

Tested, everything works as expected. Happy with the result :)

There is a bug actually, Line 42 in ArgumentTree should use a mutable list definition, List.of is immutable and causes problems for nested arguments beyond depth 2. Lists.newArrayList solves this.

There is a bug actually, Line 42 in ArgumentTree should use a mutable list definition, List.of is immutable and causes problems for nested arguments beyond depth 2. Lists.newArrayList solves this.

Fixed in commit 2b327650


work with ops to spin up a neo4j VM

we've not used neo4j as a datastore in DLSS, as far as i know, so this is somewhat uncharted territory.
neo4j is a graph DB that runs on the JVM:  https://neo4j.com/

we now have a neo4j instance up and running, and i was able to connect to it using the desktop client from my laptop.
i can give connection info in channel.
closing this, as i think it's done.


S3 bucket creation fails with error, ClientError: An error occurred (IllegalLocationConstraintException) when calling the CreateBucket operation

I am following the example listed on https://github.com/Miserlou/Zappa/tree/master/example but I am getting the below error - somehow the LocationConstraint keyword in the create_bucket is not specified.
ERROR- ClientError: An error occurred (IllegalLocationConstraintException) when calling the CreateBucket operation: The unspecified location constraint is incompatible for the region specific endpoint this request was sent to.
stack trace(venv) Chaithanyas-MacBook-Pro:zappa_dev chaithanya$ zappa deploy dev
Calling deploy for environment dev..
Downloading and installing dependencies..
100%|██████████████████████████████████████████| 36/36 [00:06<00:00,  5.59pkg/s]
Packaging project as zip..
Oh no! An error occurred! :(
==============
Traceback (most recent call last):
File "/Users/chaithanya/zappa_dev/venv/lib/python2.7/site-packages/zappa/cli.py", line 1847, in handle
sys.exit(cli.handle())
File "/Users/chaithanya/zappa_dev/venv/lib/python2.7/site-packages/zappa/cli.py", line 345, in handle
self.dispatch_command(self.command, environment)
File "/Users/chaithanya/zappa_dev/venv/lib/python2.7/site-packages/zappa/cli.py", line 377, in dispatch_command
self.deploy()
File "/Users/chaithanya/zappa_dev/venv/lib/python2.7/site-packages/zappa/cli.py", line 461, in deploy
self.zip_path, self.s3_bucket_name)
File "/Users/chaithanya/zappa_dev/venv/lib/python2.7/site-packages/zappa/zappa.py", line 562, in upload_to_s3
Bucket=bucket_name,
File "/Users/chaithanya/zappa_dev/venv/lib/python2.7/site-packages/botocore/client.py", line 251, in _api_call
return self._make_api_call(operation_name, kwargs)
File "/Users/chaithanya/zappa_dev/venv/lib/python2.7/site-packages/botocore/client.py", line 537, in _make_api_call
raise ClientError(parsed_response, operation_name)
ClientError: An error occurred (IllegalLocationConstraintException) when calling the CreateBucket operation: The unspecified location constraint is incompatible for the region specific endpoint this request was sent to.

the bucket name was not unique. resolved the error by giving a unique bucket name :-)

Was not unique within what domain? I am getting this error and I do not already have a bucket with the intended name.

Thanks for pointing out the actual error (bucket name needs to be unique), the error from AWS could just say that the bucket name is not unique instead of the useless error that it returns which makes you think that the issue is something completely different.


reverse the min/max calculation

Currently, we use TSP as an example which tries to minimize the path. This doesn't follow the convention of GA. GA tries maximize the fitness value. We should reverse our implementation to follow the convention of GA.

https://github.com/PyOCL/oclGA/commit/6a297d24ca82ced5ec1bdf80ab6977f30799ba1b
https://github.com/PyOCL/oclGA/commit/6a1281539423615302dec65dcd9ba3f9abcf6c6f

@kilikkuo
You can close an issue with the commit with the sentence like this in github:
Fixed #18 - what had you done
Once your commit pushed, the issue 18 is closed by itself.

@kilikkuo
You can close an issue with the commit with the sentence like this in github:
Fixed #18 - what had you done
Once your commit pushed, the issue 18 is closed by itself.

Awesome ! Learned : )

Awesome ! Learned : )


FSharpType.IsUnion returns false for unions with private constructors

Is this intended?
Microsoft (R) F# Interactive version 4.1
Copyright (c) Microsoft Corporation. All Rights Reserved.

For help type #help;;

> type Foo1 = Code of string
- type Foo2 = private Code of string
-
- open FSharp.Reflection
- FSharpType.IsUnion(typeof<Foo1>) |> printfn "%b"
- FSharpType.IsUnion(typeof<Foo2>) |> printfn "%b";;
true
false
type Foo1 = | Code of string
type Foo2 = private | Code of string
val it : unit = ()

I also got the same result when compiling an F# with dotnet SDK 2.1.401 (FSharp.Core 4.5.2).

This evals to true, so maybe it works according to specs but it's a bit unexpected:
FSharpType.IsUnion(typeof<Foo2>, System.Reflection.BindingFlags.NonPublic)

I'm noticing that most of the reflection methods need the BindingFlags.NonPublic flag for unions with private constructors (also for records). I guess it's intended so I'll close the issue. Sorry for noise, blame @forki ;)

Yes always blame on Remmidemmi track...
Am Mi., 7. Nov. 2018, 16:51 hat Alfonso Garcia-Caro <
<EMAIL_ADDRESS>geschrieben:

I'm noticing that most of the reflection methods need the
BindingFlags.NonPublic flag for unions with private constructors (also
for records). I guess it's intended so I'll close the issue. Sorry for
noise, blame @forki https://github.com/forki ;)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/visualfsharp/issues/5876#issuecomment-436671091,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AADgNA2BpHz4kYFiyh7KHQ2V9maBzFBIks5uswGSgaJpZM4YSSRM
.

@alfonsogarciacaro
Don't apologise for making this noise! You pointed me to the fix and so I didn't need to raise this as an issue myself. ie.
if FSharpType.IsUnion(typ, true) then
People like me have a much happier life because of the hard work of people like you.

Thanks a lot for your words @pbachmann Happy to make you happy!


Logging does not label newly added nodes with logging-infra-fluentd=true

Testing the support to deploy the logging addon, I notice that only the nodes which are available at the time the logging addon is first installed get labeled with logging-infra-fluentd=true. This results in the logs from the pods running on the new nodes not being collected by fluentd.
I believe that this is caused by the following code from https://github.com/IshentRas/cookbook-openshift3/blob/master/providers/openshift_deploy_logging.rb#L534-L554:
    unless ::File.file?(node['cookbook-openshift3']['openshift_hosted_logging_flag'])
      # ... (snip)

      execute 'Set Fluentd Labels for all nodes' do
        command "#{node['cookbook-openshift3']['openshift_common_client_binary']} label node --all ${key}=${value} --overwrite --config=#{FOLDER}/admin.kubeconfig"
        environment(
          'key' => node['cookbook-openshift3']['openshift_logging_fluentd_nodeselector'].keys.first.to_s,
          'value' => node['cookbook-openshift3']['openshift_logging_fluentd_nodeselector'].values.first.to_s
        )
end

Where the node labels are set only when the flag file (/usr/local/share/info/.logging) is not present on the master filesystem.

In my wrapper cookbook, I use the following workaround:
# workaround https://github.com/IshentRas/cookbook-openshift3/issues/258
execute 'Set Fluentd Labels for all nodes (workaround for IshentRas/cookbook-openshift3#258)' do
  command "#{node['cookbook-openshift3']['openshift_common_client_binary']} label node --all ${key}=${value} --overwrite --config=#{Chef::Config['file_cache_path'] + '/hosted_logging'}/admin.kubeconfig"
  environment(
    'key' => node['cookbook-openshift3']['openshift_logging_fluentd_nodeselector'].keys.first.to_s,
    'value' => node['cookbook-openshift3']['openshift_logging_fluentd_nodeselector'].values.first.to_s
  )
  not_if "[[ $(#{node['cookbook-openshift3']['openshift_common_client_binary']}  get node -l '!logging-infra-fluentd' --no-headers | wc -l) = 0 ]]"
  only_if { helper.logging_enabled? } # <---- my own helper
end

I will work tomorrow on a clean PR to run the execute['Set Fluentd Labels for all nodes'] from https://github.com/IshentRas/cookbook-openshift3/blob/master/providers/openshift_deploy_logging.rb#L542-L548 outside of the "if" and run it only if there are nodes which are not labeled yet (the not_if from my workaround).


TestOneSplit3B progress may be much slower when leader is 5 before partition [1,2,3,4] [5]

In TestOneSplit3B, I find that facing the partition [1,2,3,4] [5], the test progress is much slower when the leader before partition is 5 .
I read cluster.go roughly and find that the cluster determines the leader via the heartbeat from leader peer, however under network partition, [1, 2, 3, 4] will elect a new leader, thus there are two leader sending region heartbeats to scheduler. But it looks like MockSchedulerClient don't distinguish these region heartbeats, it just set leader via the latest heartbeat.
func (m *MockSchedulerClient) RegionHeartbeat(req *schedulerpb.RegionHeartbeatRequest) error {
        ......
	regionID := req.Region.GetId()
	for _, p := range req.Region.GetPeers() {
		delete(m.pendingPeers, p.GetId())
	}
	for _, p := range req.GetPendingPeers() {
		m.pendingPeers[p.GetId()] = p
	}
	m.leaders[regionID] = req.Leader
        ......
}

So when the stale leader send the most recent heartbeat to scheduler before the cluster propose a command, the cluster will propose  command on the stale leader for a while, then it will switch to another peer, thus the progress is much slower.
I wonder this issue is related to my implementation or test framework. Maybe a possible workaround is to transfer leader to another when the leader is 5.

It's expected cause it's hard to distinguish which one is the available leader.

Got it, thank you.