Simple Boolean constraint fails to return all valid solutions

What version of OR-Tools and what language are you using?
Version: ortools==9.0.9048
Language: Python
Which solver are you using (e.g. CP-SAT, Routing Solver, GLOP, BOP, Gurobi)
CP-SAT
What operating system (Linux, Windows, ...) and version?
Distributor ID: CentOS
Description:    CentOS Linux release 7.3.1611 (Core)
Release:        7.3.1611
What did you do?
Steps to reproduce the behavior: Run the following program
from ortools.sat.python import cp_model

class VarArraySolutionPrinter(cp_model.CpSolverSolutionCallback):
    """Print intermediate solutions."""

    def __init__(self, variables):
        cp_model.CpSolverSolutionCallback.__init__(self)
        self.__variables = variables
        self.__solution_count = 0

    def on_solution_callback(self):
        self.__solution_count += 1
        print([self.Value(v) for v in self.__variables])

    def solution_count(self):
        return self.__solution_count

model = cp_model.CpModel()

vars = [
    model.NewIntVar(0, 1, 'a'),
    model.NewIntVar(0, 1, 'b')
]

print(type((vars[0] != 0) or (vars[1] != 0)))
model.Add(((vars[0] != 0) or (vars[1] != 0)))
model.AddHint(vars[0], 0)

solver = cp_model.CpSolver()
status = solver.SearchForAllSolutions(model, VarArraySolutionPrinter(vars))

print(solver.StatusName(status))

What did you expect to see
Constraint says either of the variables is non 0
This means, 0, 1 is a valid solution
<class 'ortools.sat.python.cp_model.BoundedLinearExpression'>
[0, 1]
[1, 0]
[1, 1]
OPTIMAL

What did you see instead?
<class 'ortools.sat.python.cp_model.BoundedLinearExpression'>
[1, 0]
[1, 1]
OPTIMAL

Make sure you include information that can help us debug (full error message, model Proto).
Anything else we should know about your project / environment

model.Add(((vars[0] != 0) or (vars[1] != 0))) is not supported
You cannot use and, or, min, max, sort in constraints.
If you had updated to 9.0, it would have thrown an error.

@lperron I am on ortools==9.0.9048, but no error is thrown

@lperron Any other way to achieve this? Can I extend the code locally to define boolean operations?

Have you read https://github.com/google/or-tools/blob/stable/ortools/sat/doc/channeling.md ?

You are right about the error, != 0 is the only case we allow the bool operator on a BoundedLinearExpression.
If you print the object, instead of its type, you will see: a in [-9223372036854775808..-1, 1..9223372036854775807]
which is vars[0] != 0. As this is an object (i.e. non null), python or does not evaluate the second term.

Thanks for the report. I have improved the code to properly raise an exception in that case.

NotImplementedError: Evaluating a BoundedLinearExpr 'a in [-9223372036854775808..-1, 1..9223372036854775807]' as a Boolean value is not supported.

Have you read https://github.com/google/or-tools/blob/stable/ortools/sat/doc/channeling.md ?

yeah @lperron, but it feels a bit of work to convert a simple implication in that format.
Here is the minimal code I needed (and had to spend quite a bit of time to get to it) to randomize 2 variables such that they both never will be 0 together
from ortools.sat.python import cp_model

class VarArraySolutionPrinter(cp_model.CpSolverSolutionCallback):
    """Print intermediate solutions."""

    def __init__(self, variables):
        cp_model.CpSolverSolutionCallback.__init__(self)
        self.__variables = variables
        self.__solution_count = 0

    def on_solution_callback(self):
        self.__solution_count += 1
        print([self.Value(v) for v in self.__variables])

    def solution_count(self):
        return self.__solution_count

model = cp_model.CpModel()

vars = [
    model.NewIntVar(0, 1, 'a'),
    model.NewIntVar(0, 1, 'b'),
    model.NewBoolVar('bool')
]

model.Add(vars[0] == 0).OnlyEnforceIf(vars[2])
model.Add(vars[0] != 0).OnlyEnforceIf(vars[2].Not())
model.Add(vars[1] != 0).OnlyEnforceIf(vars[2])

# model.Add(vars[0] != 2).OnlyEnforceIf(vars[2].Not())

solver = cp_model.CpSolver()
status = solver.SearchForAllSolutions(model, VarArraySolutionPrinter(vars))

print(solver.StatusName(status))

Output
[0, 1, 1]
[1, 0, 0]
[1, 1, 0]
OPTIMAL

The solver is quite fast and this feels like a major hurdle before aggressive usage by layman.
SystemVerilog is designed for constraints and has a very intuitive interface, where users can write constraints without having to know anything about implementation.
Can we overload more operators or do something else to get more boolean operators like we have linear boolean expression operators overloaded now?
I think that gives a big boost in usage

Sorry, this is a conscious decision not to do this.  It is either error
prone or impossible to do
Furthermore, i do not want the API to create additional constraints
silently.
Le mar. 14 sept. 2021 à 19:07, Krishna @.***> a écrit :

Have you read
https://github.com/google/or-tools/blob/stable/ortools/sat/doc/channeling.md
?
yeah @lperron https://github.com/lperron, but it feels a bit of work to
convert a simple implication in that format.
Here is the minimal code I needed (and had to spend quite a bit of time to
get to it) to randomize 2 variables such that they both never will be 0
together
from ortools.sat.python import cp_model
class VarArraySolutionPrinter(cp_model.CpSolverSolutionCallback):
"""Print intermediate solutions."""
def __init__(self, variables):
    cp_model.CpSolverSolutionCallback.__init__(self)
    self.__variables = variables
    self.__solution_count = 0

def on_solution_callback(self):
    self.__solution_count += 1
    print([self.Value(v) for v in self.__variables])

def solution_count(self):
    return self.__solution_count

model = cp_model.CpModel()
vars = [
model.NewIntVar(0, 1, 'a'),
model.NewIntVar(0, 1, 'b'),
model.NewBoolVar('bool')
]
model.Add(vars[0] == 0).OnlyEnforceIf(vars[2])
model.Add(vars[0] != 0).OnlyEnforceIf(vars[2].Not())
model.Add(vars[1] != 0).OnlyEnforceIf(vars[2])
model.Add(vars[0] != 2).OnlyEnforceIf(vars[2].Not())
solver = cp_model.CpSolver()
status = solver.SearchForAllSolutions(model, VarArraySolutionPrinter(vars))
print(solver.StatusName(status))
Output
[0, 1, 1]
[1, 0, 0]
[1, 1, 0]
OPTIMAL
The solver is quite fast and this feels like a major hurdle before
aggressive usage by layman.
SystemVerilog is designed for constraints and has a very intuitive
interface, where users can write constraints without having to know
anything about implementation.
Can we overload more operators or do something else to get more boolean
operators like we have linear boolean expression operators overloaded now?
I think that gives a big boost in usage
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/google/or-tools/issues/2762#issuecomment-919345595,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACUPL3JGY7YHDHCVMUCREFDUB56LTANCNFSM5D7TURLA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

from ortools.sat.python import cp_model

class VarArraySolutionPrinter(cp_model.CpSolverSolutionCallback):
    """Print intermediate solutions."""

    def __init__(self, variables):
        cp_model.CpSolverSolutionCallback.__init__(self)
        self.__variables = variables
        self.__solution_count = 0

    def on_solution_callback(self):
        self.__solution_count += 1
        print([self.Value(v) for v in self.__variables])

    def solution_count(self):
        return self.__solution_count

model = cp_model.CpModel()

vars = [
    model.NewIntVar(0, 1, 'a'),
    model.NewIntVar(0, 1, 'b')
]

model.AddBoolOr([vars[0], vars[1]])
model.AddHint(vars[0], 0)

solver = cp_model.CpSolver()
solver.parameters.enumerate_all_solutions = True
status = solver.Solve(model, VarArraySolutionPrinter(vars))

print(solver.StatusName(status))


The README is out of date

It looks like, at least, the tag syntax and the dune stanza's in the README are out of date.
It would probably be helpful to put the tutorial material under test, by preprocessing the dune stanzas into the markdown and running the README through mdx itself itself (or something).
(btw, I've had a fantastic time making use of this library! :) )

Hi, the tag syntax presented in the README (the HTML comments) is the "new" syntax, it's the only one advised in the README. The "old" syntax (in the block header) is still supported for now for legacy users, but may disappear in future versions (and is still used in the tests).
(I haven't followed the recent developments for the dune stanza, it may be out of date indeed)

Oh interesting. Something must be amiss with my installation then. Perhaps the new tag syntax isn't released? Here's a minimal example:
With
$ ocaml-mdx --version
1.6.0

In min-example.md, I have
```sh set-FOO=foo
$ echo $FOO
```

<!-- $MDX set-BAR=bar -->
```sh
$ echo $BAR
```

And the first first sets the env var as expected but the second doesn't:
$ ocaml-mdx test ./min-example.md && diff min-example.md min-example.md.corrected
2a3
> foo
7a9
>

Ah yeah, that's it. I pinned to this repo (instead of installing from opam), and it's now working as documented:
$ ocaml-mdx test ./min-example.md && diff min-example.md min-example.md.corrected
2a3
> foo
7a9
> bar

Yeah it's not released yet.
We should be able to cut a release soon though as quite a lot of features and fixes have been merged since the last one. We'll also work on the documentation as I think not all features are documented atm. In particular we should also mention the dune stanza in the README!


Pre-req links need updating

Under pre-reqs, the CF Command line and Java links aren't going to the correct pages.

Updated links in readme. Closing.


About Open Manipulator parts and Assembled selling.

Is it okay for a third party to sell Open Manipulator parts and cron?

Hi :)
OpenManipulator is not selling product yet.
But you can sell Dynamixel and other parts for third party.
If they want to any supports for operating OpenManipulator with ROS or OpenCR,
they could open a ticket in Github issue page.
Thanks.
Darby

Thank you for reply.
I am writing this Issue as open case study for the Open Manipulator to grow all over the world.
There is no notation of License in the Repository, but what kind of licenses are the design data of the Open Manipulator parts and assemblies?
OnShape interprets Public's data as license free.
It's the same?

Main software of OpenManipulator is released under the Apache 2.0 license
and Hardware is Open Source Hardware Statement of Principles and Definition v1.0.

Thank you very much.
I will contact you again when concrete cases occur.

Thank you very much.
I will contact you again when concrete cases occur.


Consolidate alluxio.exception.status.Status with gRPC io.grpc.Status.Code

These classes are almost identical. We should be able to replace our alluxio.exception.status.Status with io.grpc.Status.Code
This should happen before we release 2.0 since it affects backwards compatibility.

This is done.

@ggezer can you link to the PR?

@ggezer is this ticket addressed? If yes, I will close this issue

saw previous discussion, I will close this issue


Change the initial inspector of the sidebar upon feature selection

Old behavior: The preset list is shown when selecting a feature without tags (except area=yes) and that is not member of a relation. Otherwise show the editor.
New behavior: The preset list is shown when selecting a new feature or a vertex without tags. Otherwise show the editor.

Sounds good to me!
Also nice to rename isUsed() to something more descriptive.


Make the @yamada-ui/number-input component headless

script: make-component-headless
package: @yamada-ui/number-input
Description
Currently, the @yamada-ui/number-input component has minimal styles set within the component's source code.
We want to make this style transferable to the theme and make the component headless, enabling more flexible UI customization.
Problem Statement/Justification
By making the @yamada-ui/number-input component headless, we can achieve more flexible styling tailored to the project.
Proposed Solution or API
The styles within the component are mostly defined by css: CSSUIObject and set to a prop named __css. We will transfer these styles to the packages/theme/src/components.
The code below is just an example and not the actual code.
packages/components/input/src/input-group.tsx
const css: CSSUIObject = {
- width: "100%",
- display: "flex",
- position: "relative",
  ...styles.container,
}

packages/theme/src/components/input.ts
baseStyle: {
  container: {
+   width: "100%",
+   display: "flex",
+   position: "relative",
  },
  field: {
    width: "100%",
    minWidth: 0,
    outline: 0,
    position: "relative",
    appearance: "none",
    transitionProperty: "common",
    transitionDuration: "normal",
    _disabled: {
      opacity: 0.4,
      cursor: "not-allowed",
    },
  },
  element: {
    color: ["blackAlpha.600", "whiteAlpha.700"],
  },
},

[!TIP]
In cases where the styles within the component are dynamically changed, there may be instances where it is not possible to transfer the styles to the theme.
In such cases, it needs to be discussed in this issue. Please feel free to send comments to this issue.

Additional Information
The @yamada-ui/number-input component exists in packages/components/number-input/src. You need to check all the components in this folder and if they contain styles internally, you need to modify them.
This change could have a significant impact on projects using Yamada UI, so we will work on it within the scope of v2.0.
Please create the branch for working on this issue from the remote branch v2.0, and direct your pull requests to the v2.0 branch as well.
Please select major for the changeset and create a pull request.

@hirotomoyamada
Can I try this issue?

@kate-masaki
Hi, thanks for the comment!
Yes, pls.

Fixed #1991


Python issues

[ ] requirements.txt is importing python's libs
[ ] extra.utils dep is broken and is not either used

Note: PR is comming

Please check the PR @Gadersd 🙏


Issue with Gender mapping : changes in pull request

It looks like the mapping in code was looking at specific text not code and possibly mapped the wrong value.
Updated has been applied in the pull request and will need to be checked.
•	Add gender to “other” if “not specified“ gender in ITK message is provided and also changed the mapping from the display to code

For more info on the gender:
For reference, here’s the ITK codes
& here’s the FHIR codes

Fixed in 0.8.0 release.


nixos/version: remove nixpkgs commit rev from initrd

Description of changes
This avoids unnecessary initrd rebuilds when nothing in the initrd would have changed aside from the nixpkgs revision. I'm not actually sure how much this realistically saves for the average person but I mean, it's probably non-zero?
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

This avoids unnecessary initrd rebuilds when nothing in the initrd would have changed aside from the nixpkgs revision. I'm not actually sure how much this realistically saves for the average person but I mean, it's probably non-zero?

Well most importantly this saves precious space on the boot / EFI partition, right?

Well most importantly this saves precious space on the boot / EFI partition, right?

If it saves a non-zero amount of space for the average person, that is where the space would be saved, yeah

thanks! I can confirm that this indeed saves a nontrivial amount of space on boot partition.


Etcher doesn’t open on Windows 10

Etcher version: 1.4.4
Operating system and architecture: Windows 10 x64

When I run Etcher from the start menu or by clicking the .exe directly, no window appears, although a process is started which lingers around until I kill it manually.
Applies to both portable and standard builds. Tried launching as administrator and as user.

Duplicate of #1866 ?

Duplicate of #1866


Question about  ablation experiments

Hello, first of all, thank you very much for your work. I have a question that makes me very confused, and I hope to get your answer:
I want to try one of the ablation experiments you wrote about in your paper, replacing the SeCu loss with the standard cross entropy loss, and I just change the calculation of loss_c as follows: loss_proj_c += criterion(proj_c1 / self.tw, label) + criterion(proj_c2 / self.tw, label), without changing any other Settings. The result is very strange and I think I misunderstood it. I would be very grateful if you could give me a little more detailed guidance

Hi,
Can you please elaborate your result? Is it for CIFAR or ImageNet?

Hello, I also encountered the same problem, aiming to use standard cross entropy loss, but the training results collapsed and eventually the acc diverged. I would like to ask what should be done with CE's training mode. The data set used is CIFAR.

And then this is the final training result。

Hi,
Training with standard cross-entropy loss is unstable and can collapse. This phenomenon is also observed on ImageNet. Therefore, we proposed SeCu to mitigate the problem.

Hello, thank you for your reply. In fact, I want to try to reproduce the CE results in the ablation experiment based on your open source code, as shown in the figure. But there has been no effect similar to the paper, so I would like to ask how to adjust the code structure for this problem.

Then here is the paper picture

Please try the modification as congxin0920.

I will close the issue and you can reopen it if there are any further questions.


Reset Actions not working

After deleting a category in the Token Action HUD I can't get the category back. F.e. I deleted the category "General". I thought, the "Reset Actions" button would bring the category back, but that wasn't the case. The category was still missing after that.

Also just typing "General" into the field with the groups creates a new group "General", but without the standard content, i.e. the Bennies.
I could only bring back the "General" category via the "Reset HUD" option in the module options and an reload. But after doing so, I had to reconfigure the HUD for all my players. So an easier way would be appreciated.

Token Action HUD Core: 1.4.9
Token Action HUD SWADE: 0.6.1
Swade System: 3.0.4
Foundry VTT: 11.302
Browser: Google Chrome

This update might resolve this issue
https://github.com/Larkinabout/fvtt-token-action-hud-core/releases/tag/1.4.10

There's an important difference between the 'Reset Actions' operation and the 'Reset HUD' module setting to be aware of.

Reset Actions resets the actions within groups for the selected actor only. So, if you remove an action that is added by default it will be re-added.
Reset HUD resets the groups for the user back to the default layout. So, if you delete a group that is added by default it will be re-added.

This is because the layout of actions (their order and whether they are shown or hidden) is stored per actor, but the layout of groups is stored per user.
If the case of this issue, you'd want to use the 'Reset HUD' module setting for Token Action HUD Core.

Like I said in my first post, the "Reset HUD" button in the module setting for Token Action HUD Core works.
What's not working for me is the "Reset Actions" button has no effect. F.e. I delete all categories under "Skills", press "Reset Actions" and there are still no catehories under "Skills". The "Reset Action" button seems to have no effect at all.
If you can't reproduce it, can I help you with some data? What do you need?

Token Action HUD Core: 1.4.11
Token Action HUD SWADE: 0.7.0
Swade System: 3.0.4
Foundry VTT: 11.304
Browser: Google Chrome

Just to let you know, I updated to 0.7.2, reseted the Token Action HUD via the "Reset HUD" option and still have the same problem.
F.e. I added some stuff to the "General" section:

And didn't see any changes after "Reset Actions":

Not a big deal, since the "Reset HUD" button is working, but after using that, I have to reconfigure the HUD settings for all my players.

I'll test the behavior of this on DND using the action token hud for dnd and will replicate to swade.

same behaviour on the DND HUD.. I'll keep investigating.

Just to clarify the 'Reset Actions' operation resets actions within groups, it doesn't reset the groups themselves. Once you start editing the HUD, there's no halfway reset, you either need to start over or just delete the groups that you previously added but don't want anymore.

@Larkinabout when we click on reset actions, is it possible to HUD  core remove action for that group and call a function in action handle passing the group to reset the actions? This way we can add a feature to the sysstem huds to reset a specific group (hud core removes and each other hud needs to rebuild it)
It's a change that requires all other huds to change to write the _reloadActions function.  Maybe can also allow to setup a config variable to true or false and disable this behavior to keep compatibility with is already in place, and if a hud wants to implement it, also need to change this variable to true.

Hm, I fear, I still don't get it or it doesn't work like expected. Per default the group "Attributes" shows "Attributes" and "Derived Stats". I delete the "Derived Stats" within that group. Later I press the "Reset Actions" button.

Hopefully this illustrates what 'Reset Actions' does:

It resets the actions within groups, it doesn't add/remove groups or restore the HUD to the default layout.
I've chosen not to add a 'Reset Groups' operation as they are easy to add or remove and for the whole HUD, the 'Reset HUD' can be used. In the future, I may extend it so that there's a reset actions operation per group, but resetting individual groups is better done by removing or adding them.

@Larkinabout when we click on reset actions, is it possible to HUD core remove action for that group and call a function in action handle passing the group to reset the actions? This way we can add a feature to the sysstem huds to reset a specific group (hud core removes and each other hud needs to rebuild it)

As a core operation I think it'd end up confusing users if the button does a different thing for different systems.
If I can understand what function you're trying to achieve, it may be it can be added as a core feature.

@Vogliadicone since the misunderstanding has been solved can we close this issue?

Sure.


python3Packages.luftdaten: 0.6.5 -> 0.7.1

Motivation for this change
Update to latest upstream release 0.7.1
Change log:

https://github.com/home-assistant-ecosystem/python-luftdaten/releases/tag/0.7.1
https://github.com/home-assistant-ecosystem/python-luftdaten/releases/tag/0.7.0

Enable tests
Fix build (https://hydra.nixos.org/build/159187257)
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 147396 run on x86_64-linux 1

2 packages built:

python38Packages.luftdaten
python39Packages.luftdaten

The httpx constraint was why I included it in https://github.com/NixOS/nixpkgs/pull/141974.

The httpx constraint was why I included it in #141974.

Ähh, I missed that.

Cherry-picked it from #141974 and update to 0.7.1 applied.

Result of nixpkgs-review pr 147396 run on x86_64-linux 1

2 packages built:

python38Packages.luftdaten
python39Packages.luftdaten


Dev server crashes after clean installation | @babel/plugin-proposal-private-property-in-object version is not meant to be imported. Something is importing

Version
create-nuxt-app: v5.0.0
Steps to reproduce
node v16.17.1
npm 8.15.0
link to the package.json

run:

npx create-nuxt-app foo

Select prompted options

? Project name: foo
? Programming language: TypeScript
? Package manager: Npm
? UI framework: None
? Template engine: HTML
? Nuxt.js modules: Axios - Promise based HTTP client, Progressive Web App (PWA)
? Linting tools: ESLint, Prettier
? Testing framework: None
? Rendering mode: Universal (SSR / SSG)
? Deployment target: Server (Node.js hosting)
? Development tools: (Press <space> to select, <a> to toggle all, <i> to invert selection)
? Continuous integration: None
? Version control system: Git

run:

cd foo
npm run dev

What is Expected?
Start of the dev server
What is actually happening?
Server crashes with an error:
 ERROR  Failed to compile with 1 errors                                                                  friendly-errors 13:13:19

 ERROR  in ./.nuxt/client.js                                                                  friendly-errors 13:13:19

Module build failed (from ./node_modules/babel-loader/lib/index.js):                                                                  friendly-errors 13:13:19
Error: [BABEL] C:\work\foo\.nuxt\client.js: --- PLACEHOLDER PACKAGE ---
This @babel/plugin-proposal-private-property-in-object version is not meant to
be imported. Something is importing
@babel/plugin-proposal-private-property-in-object without declaring it in its
dependencies (or devDependencies) in the package.json file.
Add "@babel/plugin-proposal-private-property-in-object" to your devDependencies
to work around this error. This will make this message go away.

Full text of the error
if i add @babel/plugin-proposal-private-property-in-object to dev dependencies, then nothing happens.
Error appears on different PCs, win 11, or ubuntu

Fix in progress at https://github.com/nuxt/nuxt/pull/21488

This should be resolved in the edge channel shortly (using nuxt-edge), or in the next release (2.17) which we plan for this weekend.
Let me know if not and I'll reopen.


Ethernet support for ESP32

Hardware description: Olimex ESP32-GATEWAY

I'm currently trying to implement support of Ethernet for the ESP32 with microROS, however, the ESP-IDF API looks really complicated, so I tried to use https://github.com/espressif/arduino-esp32/tree/master/libraries/Ethernet in conjunction with this project.
However, it isn't working as expected:
E (1014) esp.emac: emac_esp32_init(349): reset timeout
E (1015) esp_eth: esp_eth_driver_install(214): init mac failed
[  1018][E][ETH.cpp:323] begin(): esp_eth_driver_install failed
[  4079][E][WiFiUdp.cpp:183] endPacket(): could not send data: 118

Do you have any tips or ideas on how to implement Ethernet support for the ESP32 into microROS?

Not related to micro-ROS

Is it not planned to extend micro-ROS to allow Ethernet as a transport layer with an ESP32 just like with the Teensy 4.1?

If you have a valid transport layer for micro-ROS using Ethernet and Platform.IO please contribute with a PR


Added week granulation and week locale handling.

Adding week granulation and handling for weeks to be humanized.
2160000 was changed to 554400 since it's no longer 30 days but 7 days to the next granulation.
2419200 was chosen as the high boundary without the 1.5 multiplier for week granulation since any higher and it would interfere with months granulation.

Codecov Report

Merging #529 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master   #529   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          14     14
  Lines        3385   3410   +25
  Branches      235    238    +3
=====================================
+ Hits         3385   3410   +25

Impacted Files
Coverage Δ

arrow/locales.py
100% <ø> (ø)
:arrow_up:

arrow/arrow.py
100% <100%> (ø)
:arrow_up:

tests/arrow_tests.py
100% <100%> (ø)
: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 c67fb5c...8388c6d. Read the comment docs.

Hey @krisfremen just spotted this PR while going through the issues. Can you bring the branch up to date and post an example of the week granulation working. Then I can merge this in.

@systemcatch sounds good, I will get to it soon.


fix bug in dbvt2

when insert a leaf into the dbvt if the leaf come from a removal from
another dbvt tree then its parent field can be whatever so it must be
override.
also we could reset parent to Root when removing a leaf ? that would
be more logical

Seems correct. Thanks!


The schema statements execution returns ok but still insert failed saying no schema found

My application needs to create graph schema online everytime. The  session.execute() function executes schema statments well and returns nebula::ErrorCode::SUCCEEDED. But I still fail when I invoke session.execute() to insert vertexes.  If I add some delay time between the two actions , it works well. It seems that there is a delay for schema creatation, what should I do to tell when could I execute insertion commands after execution of  schema statemetns?

You could check the error code, retry when get ErrorCode::ERR_TAG_NOT_FOUND, ErrorCode::ERR_EDGE_NOT_FOUDN

You could check the error code, retry when get ErrorCode::ERR_TAG_NOT_FOUND, ErrorCode::ERR_EDGE_NOT_FOUDN

Is there explicit method to check if schema creation is ok?  There may be some other errors when I execute insert statements imedatelly after schema creation.
Errors found below:
1:
with error code: -8;Storage Error: Invalid space vid len.

2:
 error code: -12;SemanticError: No schema found for `Library'

You could check the error code, retry when get ErrorCode::ERR_TAG_NOT_FOUND, ErrorCode::ERR_EDGE_NOT_FOUDN

Is there explicit method to check if schema creation is ok? There may be some other errors when I execute insert statements imedatelly after schema creation.
Errors found below:
1:
with error code: -8;Storage Error: Invalid space vid len.

2:
 error code: -12;SemanticError: No schema found for `Library'

Or you could sleep heartbeat_interval_secs seconds.

We have noticed that the issue you created hasn’t been updated for nearly a month, so we have to close it for now. If you have any new updates, you are welcome to reopen this issue anytime. Thanks a lot for your contribution.


[forms] Do not display a negatve character count

In updateCharacterCount, test if the character count is positive, if not return 0

Isn't it more informative to show the negative count than show 0?

I think that for us devs it is, but for the normal user it can be weird and not intuitive.
In my opinion the best solution would be to block adding any additional character once the counter reaches zero, but that would complexify the code for updatevalue and getvalue ( that i don't understand already haha )


[request]show both per second, and per minute on vein overlay in map view.

I'd like to see both, instead of just one or the other. it would looks something like the image below

Thanks for the suggestion, the feature is now available in 1.1.0 version.
To see both unit, edit config file and set both ShowItemsPerSecond and ShowItemsPerMinute to true.

ty doing that now


Race condition results in update()'s initial raf to be thrown away

Hi!
Thanks for the great component!
My use-case involves the parent component to scroll the scrollbars to some position (specific row in a table), so I calculate the position and scroll on componentDidMount, like this:
componentDidMount() {
...
   this.refs.scrollbars.scrollTop(this.refs.tableBodyTbody.children[0].offsetHeight * rowIndex);
...
}

There seems to be race condition, when handleScroll() can be called in the same time initial update() is called, handleScroll's RAF may cancel update's RAF which will result in the setScrollbarVerticalStyle() and setScrollbarHorizontalStyle() not to be called.
My suggested solution in this PR is unifying the update styles function(s) from handleScroll() and update.

Thx for the PR! I updated the code while I was playing with the examples. I took your changes and put them in an own commit. Therefore this PR is not merged. (You can find your changes in v2.1.0)

Tnx!


WIP: Support BDF trigger + status channels

See #60 and the BioSemi format description. Basically the approach here is that we read the "status" signal into its own dedicated type that sits alongside EDF.Signal and EDF.AnnotationsSignal. When reading the actual values, we take the first two bytes as the trigger and the last as the status. If I'm reading BioSemi's description correctly, the individual bits of these signals mean something, so I've opted for now to read them as UInt16 and UInt8 rather than some other 2-byte type and Bool.
Still to do: More thorough understanding + tests.

Yeah, you're reading that correctly. It's not uncommon to encode things with a bit mask.


Create invite system for beta users to be sent a unique signup link

Create a means to send beta users a link to their email that will invite them to the signup page in Issue #193.
AS HelloGOV SuperAdmin, logged in under the "admin" user account
WHEN I want to invite a new beta user to be a HelloGOV organization administrator
I WANT TO have a place to enter their email, sending them a unique link that will lead them to the signup page.
I'm pretty agnostic on how we get this done. The key requirement is that we can invite someone with a one-time use link that can't be shared so that we don't have unauthorized users signing up for the closed beta.

Thanks for finding this menu at https://www.hellogov.app/admin, can you please add a link to "Invite Users" (superadmin account only) in the sidebar navigation?


Outdated info about DeviceInfo.Name result

https://github.com/MicrosoftDocs/xamarin-docs/blob/cc5e6d826407c475fd7b816313cfd1fcb139877d/docs/essentials/device-information.md#L37-L38
Latest Apple doc: https://developer.apple.com/documentation/uikit/uidevice/1620015-name?language=objc

Microsoft support for Xamarin will end on May 1, 2024 for all Xamarin SDKs including Xamarin.Forms. In preparation for this, all issues and PRs in this repository are being closed.
.NET MAUI is the replacement for Xamarin.Forms, and it's documentation can be found here.


Inject SSH keys during initial start

At the moment we are (re-)using a single set of SSH keys for the creation of the images, and they are also used for login/configuring during start of the VM.
We should however move to a way in which keys are assigned to an instance on initial start, eg. create the keys, create a disk image (or ISO), mount to the VM, and on initial start replace the SSH keys to be unique to this instance.

would we want to inject the users SSH key as a possibility? If so, we allow access to the VM ... and this is like the behaviour of the installer... just wonder, do we want this?

@gbraad what if a user doesn't have SSH key setup and also this will be problematic for windows, I want to go with what we had in minishift, attaching the userdata as a separate disk and consume it as a part of script which run with a unit file.

I would not go down this route as this is tremendously slow on Windows as the image will have to be written three times.

We have removed that that logic during the refactor 8b1b441 and need to
be added back since we want to send ssh keys as part of user data.

Inject can be done by using the generic key and then replace them on first connection with SSH with a new key. This key generation can happen within CRC and passed to the driver (but can also be completely contained within CRC). I do not believe the driver axctually has to know about SSH and user to connect with. The driver should ONLY have to deal with hypervisor related interaction.

a datadisk means there needs to be logic inside the VM to handle the extraction of a bitstream... it also needs to have this implementation of 'creation' happening in at least 4 different implementation (libvirt, hyperv, hyperkit and virtualbox), while a replacement from just CRC by connecting to the VM, replacing with a new key, can be shared among all implementations (without having to write support for a non-supported platfom like vbox)

This one has been fixed by the commit listed in that issue.


Support for cursors

The Mermaid Chart VSCode plugin does not currently support "cursors". Please update the oauth client to support
'cursor://MermaidChart.vscode-mermaid-chart'
@sidharthv96

Bump (having same problem).

@knsv ping

bump

bump same issue but also with windsurf its a 400 error and something to do with the url (e.g. windsurf vs vscode)


KAFKA-8869: Remove task configs for deleted connectors from config snapshot

Jira
Currently, if a connector is deleted, its task configurations will remain in the config snapshot tracked by the KafkaConfigBackingStore. This causes issues with incremental cooperative rebalancing, which utilizes that config snapshot to determine which connectors and tasks need to be assigned across the cluster. Specifically, it first checks to see which connectors are present in the config snapshot, and then, for each of those connectors, queries the snapshot for that connector's task configs.
The lifecycle of a connector is for its configuration to be written to the config topic, that write to be picked up by the workers in the cluster and trigger a rebalance, the connector to be assigned to and started by a worker, task configs to be generated by the connector and then written to the config topic, that write to be picked up by the workers in the cluster and trigger a second rebalance, and finally, the tasks to be assigned to and started by workers across the cluster.
There is a brief period in between the first time the connector is started and when the second rebalance has completed during which those stale task configs from a previously-deleted version of the connector will be used by the framework to start tasks for that connector.
This fix aims to eliminate that window by preemptively clearing the task configs from the config snapshot for a connector whenever it has been deleted.
An existing unit test is modified to verify this behavior, and should provide sufficient guarantees that the bug has been fixed, since the cause of the behavior has been narrowed down to incorrect values in the taskConfigs field for the ClusterConfigState provided by the KafkaConfigBackingStore.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@ncliang, @gharris1727, @MichaelDrogalis, would you mind taking a look at this when you have a chance?

@rhauch, @kkonstantine would one of you mind taking a look when you have a chance?

ok to test

jdk8: success
jdk11: success
jdk14: single failure on known flaky test: org.apache.kafka.streams.integration.EosBetaUpgradeIntegrationTest.shouldUpgradeFromEosAlphaToEosBeta[true]

Merged to trunk and backported to 2.5, 2.4 and 2.3


typeahead-on-select($item, $model, $label) and scope

typeahead-on-select sould accept the current scope as a parameter so other scope properties could be changed on select...
Is there any way of passing the current scope to that function?

https://github.com/angular-ui/bootstrap#need-help


Ability for users to change their own passwords

Describe the feat you'd like
All users should have the ability to change their own passwords. It seems that right now only Staff Users can change everyone's passwords, including their own, but regular users have no means to set or reset their own passwords.
Is your feature request related to a problem? Please describe.
At this point, the only way for a user's password to be changed is to have a Staff User do it. Allowing users to self-serve password changes will make the system more secure as the staff users who would change a user's password would ideally have no possible of means of knowing the password a user selected.

@iostat Yes, user management is lacking. If you think about other obvious enhancement like that, don't hesitate to create an issue. Thanks!

Happy to help! This is by far the nicest Salt dashboard I've come across so far, so thanks for all your hard work!

It's fixed on develop branch and will be included in next release.
Normal users are now able to see only themselves in Users view, and update all of their settings except is_staff status . They are not able to create or delete users.

Available on 2019.2.5 and 3000.1.0


[Business Approvals Kit - Feature]: Integrate with Process Mining

Is your feature request related to a problem? Please describe.
No response
Describe the solution you'd like
Tightly integrate Approvals stages and actions (Nodes) with Process Mining.
Describe alternatives you've considered
No response
Additional context?
No response
AB#1810

Can you please elaborate on what exactly you mean by tightly integrate Approval stages and nodes with process mining.
May be with some examples will help understanding the possibilities. Thanks.

At the moment Process Mining only shows the Business Approval workflow as an one entity and does not show details of any sub-components like stages or nodes.


Question about demo.py

I am curious how demo.py works, Should we convert testing images into DNF by diffusion model then use resnet50 in the demo.py to do binary classification?

Hello, demo.py is the file in CNNDetection, not work for DNF. I will slove this problem in following updates.


Complete missing translations for existing languages

Added missing translations for the languages present in the internationalization folder. Spanish (es-ES), being the language with the most missing phrases, was checked manually by me (thankfully I know it to some extent). For the other languages, the minor additions were made using a language model. Although the additions are minor, a review by someone knowing these languages would be appreciated.

Oh I didn't notice it's included in #68, thanks!


Add groovydoc for missing methods/classes, publish docs from Jenkins

ptal @AbletonDevTools/gotham-city, thanks!

LGTM 👍


[RFC] Support FSDP2

What does this PR do?
Prototype implementation for porting from FSDP V1 to FSDP V2. There are couple of open questions in this PR that would need comments and discussion.

Do we want to maintain FSDP V1 as is and add a experimental parallel to FSDP V2?
When we want to maintain 2 versions, should we maintain separate FSDP plugins and distributed types for each versions?
For HF/transformers users, using fsdp_config, how we want to allow them to choose between these versions?
How we want prepare 2D mesh for HSDP, should that be an input from user?

Preliminary run of this PR and results
The current version of the PR has been tested for basic functionality (full shard) and compared with previous FSDP V1 implementation.

Key
Value

Model
Maykeye/TinyLLama-v0

Mesh size
2 GPUs

sharding
full shard

Memory

Loss Parity

Throughput
TODO
Fixes #2873
Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[x] Did you read the contributor guideline,
Pull Request section?
[ ] Was this discussed/approved via a Github issue or the forum? Please add a link
to it if that's the case.
[ ] Did you make sure to update the documentation with your changes? Here are the
documentation guidelines, and
here are tips on formatting docstrings.
[ ] Did you write any new necessary tests?

Who can review?
@muellerzr

@ByronHsu FYI - thoughts?

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

@kmehant thanks for starting this PR! I was looking at FSDP2 support in accelerate and landed here!

Do we want to maintain FSDP V1 as is and add a experimental parallel to FSDP V2?

Yes please! It looks like FSDP2 will be in a public API in the next torch release (2.6): https://github.com/pytorch/pytorch/commit/d815efcc3632f4a670b0aeba61d644cd52987e29 , so maybe things are somewhat stable ?  But many of the older config parameters (like auto_wrap_policy) are simply not there in V2 so I'd prefer if accelerate users get time to migrate.

When we want to maintain 2 versions, should we maintain separate FSDP plugins and distributed types for each versions?

Hmm if the new API had supported most of the V1 configurations, I would think having only a feature flag would be enough -i.e something like ACCELERATE_FSDP2_ENABLED. But looking at the API differences: https://github.com/pytorch/torchtitan/blob/main/docs/fsdp.md#fsdp1--fsdp2-api-differences
I think just having a feature flag + a different plugin FullyShardedDataParallelPluginV2 is better.

For HF/transformers users, using fsdp_config, how we want to allow them to choose between these versions?

It looks like accelerate doesn't do much validation for the config parameters in fsdp_config until plugin initialization. So in the accelerate config, specifying enable_fsdp2 should be fine , and users would be expected to list only v2 parameters in fsdp_config  - this is validated when FullyShardedDataParallelPluginV2 is initialized.

cc @muellerzr curious to know if this already in the pipeline internally from HF!


chore(internal): close show me how ab test for graph theme

This PR aims to close the Show Me How AB Test for Graph Theme Tip.
Taking into account the results of the experiment, we are able to conclude that we need to make the most of both worlds. In order to leverage this insight, we open both views, show me how, and graph view. This would serve as an external trigger for the user to take action.
Dendron Extended PR Checklist
Code
Basics

[x] code should follow Code Conventions
[x] circular dependency check: make sure your code is not introducing new circular dependencies in plugin-core.  See Avoiding Circular Dependencies.
[x] sticking to existing conventions instead of creating new ones

eg: if configuration for utilities are already in one module or package, add future utilities there as well

Extended

General

[x] check whether code be simplified
[x] check if similar function already exist in the codebase. if so, can it be re-used?
[x] check if this change adversely impact performance

Operations

[~] when shipping this change, will it just work or will it introduce additional operational overhead due to complicated interface or known bugs?

Architecture

[~] check if code is introducing changes on a foundational class or interface. if so, call for design review if needed

eg: making changes to DNode

Instrumentation
Basics

[~] if you are adding analytics related changes, make sure the Telemetry docs are updated

Extended

[~] can we track the performance of this change to know if it is successful?

eg: see usage for export pod

Tests
Basics

[ ] Write Tests
[ ] Confirm existing tests pass
[x] Confirm manual testing
[ ] Common cases tested
[ ] 1-2 Edge cases tested
[ ] If your tests changes an existing snapshot, snapshots have been updated

Extended
NA
Docs
NA
Close the Loop
Extended

[~]  is this a developer BREAKING change? if another person cloning from this branch will need to adjust their dependencies or mental model of the architecture, then it is. if this is the case, make sure this is communicated according to Close Loop

eg: breaking dev change due to new dependency

Could you also mark the experiment note as concluded and upload it to Airtable
[[Ending an A/B Test|dendron://private/area.metrics.sop.ab-testing#ending-an-ab-test]]

Oh, this is already done :) the experiment is : Graph Theme Feature Showcase Test


option to disable pylint

there should be a python.pylintEnabled option, like the python.linting.pylintEnabled option in the python extension.
currently i get pylint errors when i open projects that don't use pylint, so i have to manually disable the extension when using those projects and re-enable it when switching back to projects that do

You can disable an extension on a per-workspace basis, so you shouldn't have to manually control for it at a global level beyond deciding if you want an extension enabled or disabled most of the time.

this bug still exist years later @karthiknadig

@abdullzz the comment here tells you how to do it https://github.com/microsoft/vscode-pylint/issues/15#issuecomment-1069693830


[SMALLFIX]replace anonymous type with lambda

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/624/
Test PASSed.


6th DL to migrate fails

Tim, sorry again to open so many issues, but we just tried to migrate 6 lists and the 6th never started.  I tracked it down to this code:

   if ($global:threadNumber -eq 1)
   {
       out-logfile -string "This is the master thread responsible for triggering operations."
       out-logfile -string "Search status directory and count files - if file count = number of threads - 1 thread 1 can proceed."

       #Do the following until the count of the files in the directory = number of threads - 1.

       do
       {
           start-sleepProgress -sleepString "Other threads are pending.  Sleep 5 seconds." -sleepSeconds 5
       } until ((get-statusFileCount) -eq ($totalThreadCount - 1))

Note the UNTIL clause
The first few times this code is executed Get-StatusFileCount returns "5" and $TotalThreadCount returns "5".  Then eventually the status files for threads 2-5 are cleaned up and Get-StatusFileCount returns 1, so the until condition is never satisfied.
I did some digging and here is what I found...
I believe the status file for thread #1 (ThreadOneStatus.txt) is supposed to be cleaned up.  But in the code where new-office365dl is executed (Github lines 3038-3062, DLConversionV2.psm1), you have it looping because the command fails the first few times.  When it fails, it uses out-logFile.
Code:
out-logfile "Attempting to create the DL in Office 365."
$stopLoop = $FALSE
[int]$loopCounter = 0

do {
    try {
        new-office365dl -originalDLConfiguration $originalDLConfiguration -grouptypeoverride $groupTypeOverride -errorAction STOP

        #If we made it this far then the group was created.

        $stopLoop=$TRUE
    }
    catch {
        if ($loopCounter -gt 10)
        {
            out-logFile -string $_ -isError:$TRUE
        }
        else
        {
            out-logfile -string "Unable to create the distribution list on attempt.  Retry"
            $loopCounter=$loopCounter+1
        }
    }
} while ($stopLoop -eq $FALSE)

Out-Logfile has code that re-creates the status file if there is a terminating error.  The inability to create the O365 DL is a terminating error and so ThreadOneStatus.txt is created from the out-logfile function and never cleaned up.
Code from Out-LogFile:
#If the output to the log is terminating exception - throw the same string.
    if ($isError -eq $TRUE)
    {
        if ($global:ThreadNumber -gt 0)
        {
            out-statusFile -threadNumber $global:ThreadNumber
        }

        write-error $logString
        disable-allPowerShellSessions

        if ($isAudit -eq $FALSE)
        {
            Start-ArchiveFiles -isSuccess:$FALSE -logFolderPath $logFolderPath
        }
        exit
    }
}

If ThreadOneStatus.txt were not created during this call to out-logfile, or cleaned up afterwards then there would be 4 status files in the folder and the UNTIL condition might be satisfied

That's the point of gitHub - review the code and make comments - clone the repository and your own goodies.

@adamdrayer - here's the latest status.
I finally worked out what is happening here.  It's somewhat convoluted.
So - a while back I took a code change to deal with retriable errors.  For example, when you delete a distribution list and then rapidly try to recreate it -> it would often error due to service cache.  You can see failures also like the dual write failures between azure ad and exchange.  Essentially there are things that originally would fail and bail the entire migration -> and now we sleep and retry.
This is accomplished by using the do -> while with stoploop.
So what's happening here.
Enter do / while.
Attempt for example new-o365DL.
Enter create new o365DL function.
Encounter error creating the dl.
Call out-file with isError:$TRUE
Enter out-file isError section.
---Write status file.
---Write-error is called with the default error preference continue.
-----This throws a new error.
This new error is caught by the do while in the main function.
The new DL attempt is made again.
So you're analysis was spot on.  The status file go created, then the function came back and did what it was supposed to do.  The script continues - but the status file remains.
The fix at least NOW is pretty simple.
Enter do / while.
Attempt for example new-o365DL.
Enter create new o365DL function.
Encounter error creating the dl.
Call out-file with isError:$TRUE
Enter out-file isError section.
---Write-error is called with the default error preference continue.
-----This throws a new error.
---Write status file.
This new error is caught by the do while in the main function.
The new DL attempt is made again.
The status file is moved outside of write-error.  In this instance - we're totally abusing write-error here using it to essentially rethrow the original error already handled in the try catch.  Since the functions that all call up to this use errorAction STOP -> the do while catch fires and grabs it.
We'll definitely need to find a better way to do this.
In the event of standard errors - the STOP does not originate through out-file and since error action preference is continue write-error just shows it on the screen and then it continues on creating the status file.
The latest build is stress testing now.  I'll update here when it's published.

This tested well - version 2.4.7 released to powershell gallery.

Will test today and let you know.  Thanks so much!

Closing

Sorry for not getting back to you on this.  This worked for us.


Add Amazon SNS destination in Alerting

 Issue by monitoringit
Thursday Aug 08, 2019 at 11:31 GMT
Originally opened as https://github.com/opendistro-for-elasticsearch/alerting/issues/91

Is there a way to build Amazon SNS destination in opendistro Alerting?
Amazon SNS destination is available in Aws elasticsearch service but when we install opendistro plugin in self hosted elasticsearch i only see amazon chime, custom webhook and slack as the only options available? I am using 6.7.1 elasticsearch.

 Comment by dbbaughe
Thursday Aug 15, 2019 at 22:32 GMT

Hi @monitoringit,
Currently we do not support Amazon SNS destination in Open Distro version. We need to create an Open Distro friendly implementation of Amazon SNS destination.
We can keep this open to track progress and future requests of this destination.
Thanks,
Drew

 Comment by monitoringit
Thursday Aug 15, 2019 at 23:00 GMT

Thanks Drew!
Is that something i can build custom into my stack? I really like amazon
sns and would love to add it in opendistro as destination. Any pointers
will be helpful.
Also, can custom webhook to be used to send messages to amazon sns? If yes,
do you have any snippets of that config?
On Thu, Aug 15, 2019, 6:32 PM Drew Baugher<EMAIL_ADDRESS>wrote:

Hi @monitoringit https://github.com/monitoringit,
Currently we do not support Amazon SNS destination in Open Distro version.
We need to create an Open Distro friendly implementation of Amazon SNS
destination.
We can keep this open to track progress and future requests of this
destination.
Thanks,
Drew
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/opendistro-for-elasticsearch/alerting/issues/91?email_source=notifications&email_token=AG6BTHLLDT3LEOUIQHYFPNTQEXKQPA5CNFSM4IKJKKEKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD4NFTQY#issuecomment-521820611,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AG6BTHJTDI7L3G74OYGDFYTQEXKQPANCNFSM4IKJKKEA
.

I've configured alerting using SNS topic on my OpenSearch cluster, not sure it helps anyone. This approach can fan out to other AWS services allowing any dynamic option desired.

With Alerting having now migrated to the Notifications plugin (as of version <IP_ADDRESS>), SNS is now supported as a channel via Notifications. Closing this issue.


uint

Implement unsigned integers as a sub-type of signed integers.
There is no reason for not typing them and the distinction is often very important (e.g. a uint can be used as an index to an array, whereas an int can't).

Fixed by 047e2d4.


remove console logs; update logger to pino

List of fixed issues (if they exist):

add pino logger (see #769)
add new eslint rule to avoid console.log statements making it into builds

new logLevel can be set to debug | info | warn | error | silent (default is info)
I have tried to do this in a non-invasive way, meaning that I wrapped the pino logger using our existing logger in order to minimise code changes.

@jens-ox and @neurolabusc , the pino logger was actually causing build and test errors since I couldn't get it to play nice with tsup/esbuild, but worked fine in vite's dev mode.
I chose to remove pino and implemented a simple logger that replicates the basic functionality that pino was providing us. I have also added unit tests for the logger to ensure that it works (with logLevels) as it should. I think the logging in niivue is much improved now.
I have removed all console.log statements and everything that is logged is done via the new logger wrapper.


HCMovement Config

Currently there is no way, to add other Mods Blocks as "Roads" or as "Dirt" to HCMovement.
Maybe add an option to set the movementSpeed attribute for each block individually (custom Road "Tiers")

I will add this into the ModTweaker BWM support.


Eliminate potential Pyyaml security vulnerability

Analysis Description
In PyYAML before 4.1, the yaml.load() API could execute arbitrary code. In other words, yaml.safe_load is not used.

Source:  MITRE
Description Last Modified:  06/27/2018

Impact
CVSS v3.0 Severity and Metrics:
Base Score: 9.8 CRITICAL
Vector: AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H (V3 legend)
Impact Score: 5.9
Exploitability Score: 3.9

Attack Vector (AV): Network
Attack Complexity (AC): Low
Privileges Required (PR): None
User Interaction (UI): None
Scope (S): Unchanged
Confidentiality (C): High
Integrity (I): High
Availability (A): High

CVSS v2.0 Severity and Metrics:
Base Score: 7.5 HIGH
Vector: (AV:N/AC:L/Au:N/C:P/I:P/A:P) (V2 legend)
Impact Subscore: 6.4
Exploitability Subscore: 10.0

Access Vector (AV): Network
Access Complexity (AC): Insufficient_Info
Authentication (AU): None
Confidentiality (C): Partial
Integrity (I): Partial
Availability (A): Partial
Additional Information:
Allows unauthorized disclosure of information
Allows unauthorized modification
Allows disruption of service

All integration tests pass.

uninformed question going solely by the text you've pasted: Does https://github.com/sproutsocial/mendel/blob/master/mendel/util.py#L101 need to be updated to a safe_load?

@r4v5 indeed it does. Updated!


Add additional unit tests for KinesisSink

The KinesisSink class is lacking test coverage, particularly for the conditional statements. Unit tests should answer questions like, "what if iamRole is not provided?" or "What if the Kinesis stream name is blank?"
The current tests use MockedStatic to easily abstract away dependencies on the AWS SDK. These patterns can be re-used to extend the tests.

I would like to work on this.

Looks like this issue is ready to be closed, isn't it?


Cannot create Image

Description
Not able to create docker image from maven command.
[Add feature/bug description here]
How to reproduce
mvn package docker:build
[Add steps on how to reproduce this issue]
What do you expect
[Describe what do you expect to happen]
What happened instead
[Describe the actual results]
Software:

docker version: v1.10.2
docker-maven-plugin version:0.41
maven version: 3.2.5

Full backtrace
[Paste full backtrace here]
[DEBUG] Writing Dockerfile:
FROM java
ADD /abc.jar //
ENTRYPOINT ["java", "-jar", "/abc.jar"]
[INFO] Building image MyIMAGE/abc
[DEBUG] Auth Config null
[DEBUG] Registry Config Json {"":{"serveraddress":"","password":"","auth":"","email":"","username":""}}
[DEBUG] Registry Config Encoded eyIiOnsic2VydmVyYWRkcmVzcyI6IiIsInBhc3N3b3JkIjoiIiwiYXV0aCI6IiIsImVtYWlsIjoiIiwidXNlcm5hbWUiOiIifX0=
Mar 02, 2016 6:29:08 PM org.apache.http.impl.execchain.RetryExec execute
INFO: I/O exception (java.net.SocketException) caught when processing request to {s}->https://<IP_ADDRESS>:2376: Broken pipe

(java.net.SocketException) caught when processing request to {s}->https://<IP_ADDRESS>:2376: Broken pipe

sounds like an issue communicating with your docker daemon. It's not clear that this has anything to do with the plugin itself.

+1

I encountered this issue when I used uppercase characters in the image name, try to use lowercase only:
MyIMAGE/abc => my-image/abc

Can the plugin automatically toLowerCase() the imageName to avoid this problem and allow any properties to be used. Seems like a pain to use the gmaven-plugin to do this.


Vector cells

This branch addresses the issue discussed in #71 .
This has the following changes:-

Introducing a new class called Vector Class. OVCs/BVCs will be child classes of this class.

Using this class the user can now have any custom manifold if they so choose (in a specific API)
extends the display manifolds functionality of FoV to all types of Vector Cells (allocentric and egocentric)
Solved some bugs related to display_manifolds
Now the default manifold maps  are a part of the utils. Also have the 'hartley'/'uniform'/'random' manifolds

A small caveat for the OVCs. Now instead of being randomly assigned to objects. Now one can passed a preferred object type

@TomGeorge1234 you were right calculating the relative positions of the cells in the display_manifold function does not cause major speed problems. Adopted that now.
So essentially one would be able to change the tuning_distance just by changing this object variable

I like it. More convinced now that this is the most sensible way to do things. Some proposed changes (mostly linguistic):

Instead of "manifold_function" lets call this parameter "cell_arrangement" which can be (for now) if ["random" ,"uniform_manifold","diverging_manifold"]. This allows us to distance ourselves from the terms manifold and hartley which are a bit specific/loaded (we can use them in the comments to clarify).

The method _create_manifold() should be renamed set_vector_cell_parameters
The utils functions get_uniform_manifold() and get_hartley_manifold() could go to create_uniform_fov_array() and create_diverging_fov_array()
display_manifold() --> display_fov_cells() but here we should have an alias function dispaly_manifold() which links to the new names and throws a deprecation warning.

VectorCells doesn't need a "name" parameters
For plotting might look into vectorising with matplotlib.collections.EllipseCollection(widths, heights, angles, *, units='points', **kwargs) as opposed to looping over the cells in a for-loop. Tbh I don't know if ellipse collections actually just does a loop in which case it may not be worth the effort. I also could figure out how to set the position of each ellipse, only the angles and sizes.
Deprecation warnings on the old contribs FoVCells to send people to the new flashy fov vector cells in Neurons.py

Optional but not essential

get_hartley_manifold() has a fixed parameter inside it called beta. This determines the rate of perspective increase and I found that 5 is a nice amount so hard set it at that. We might make this a parameter of the function. Importantly it is the same beta as that which defaults to 12 in VectorCells line 1100 so maybe theres a saving we could use here.

I'll think of more and we can chat tomorrow. Getting there and thanks again for the work!

Seems like the checks are running now :)


Support Ruby 3.2 forwarded rest and keyword rest args

Motivation
This PR adds Sorbet support for forwarded rest and keyword rest args, which were introduced in Ruby 3.2.
For example:
def foo(*)
  bar(*)
end

def baz(**)
  quux(**)
end

This PR can be read commit-by-commit. The first few commits add parsing for ForwardedRestArg and ForwardedKwrestArg nodes and have corresponding commits in the whitequark parser. The remaining commits add support for these nodes in Desugar.cc. I heavily based the implementation there on the implementation of forwarded args (def foo(...); bar(...); end).
Test plan
See included automated tests.

How do you reference the ** in the method signature?


Upgrade from 0.5.x to 0.6.x

Is there any release notes for the 0.5.x to 0.6.x?
I tried to upgrade the gem, but it appears that all the old images that were generated from previous version are broken. In the readme, the newer version will have a token generated to each files.
GET /attachments/:token/:backend_name/:id/:filename

So how do I regenerate all files with the token digest? Or I just have to configure Refile.secret_key and it will automatically regenerate?

See: https://github.com/refile/refile/blob/master/History.md

Also, you shouldn't have to regenerate anything, unless you've cached the URLs to the files somewhere, which is something you shouldn't do. You might see a spike in traffic due to CDN misses as you upgrade though.

@jnicklas I'm serving assets over an api in a microservices-style architecture. In my case caching the url is a must, as I don't have access to the helper methods in the other applications. Is there a way to selectively sign these requests so that it is backwards compatible?

@jnicklas If I use the same secret key in the other apps and implement this method:
https://github.com/refile/refile/blob/master/lib/refile.rb#L451
I should be able to determine the correct hash of the file. Do you think this is possible? I'm concerned that OpenSSL::Digest.new("sha1") may return different values on different servers.

@jnicklas I feel as though this tokenization should still be optional. I'm opening this issue back up because I don't see any easy way to migrate to 0.6.x.


New calculator

This is the new calculator of torchmd-net. The idea is to have a way to transform the units of measure of energy and forces to run a molecular dynamic simulation with torchmd that works only with forces in kcal/mol/A.

[x] update calculator in torchmd-net
[ ] add the new argument output_transform  in torchmd/run.py when the external module is built.

Example of yaml file to run the simulation with torchmd using the output_transform :
external:
  module: torchmdnet.calculators
  file: [path to the NNP ckpt]
  output_transform: 'lambda energy, forces: (energy * 23.0609, forces * 23.0609)' # eV->kcal/mol, eV/A->kcal/mol/A

Why do you need to convert forces? If energy is converted, the backpropagation should give the compatible force units.

Can't you just do def calculate(self, pos, box, units) and accept kcal/mol or eV?
Example from parameterize
class XTBCalculator:
    def __init__(self, calculateForces=True) -> None:
        self._name = "xTB"
        self.calculateForces = calculateForces

    def calculate(self, coords, elements, units="kcalmol", charge=None):
        from xtb.interface import Calculator, Param
        from xtb.libxtb import VERBOSITY_MUTED

        elements = np.array([periodictable[el].number for el in elements])
        hartree_to_kcalmol = 627.509474
        angstrom_to_bohr = 1.8897259886

        energies = []
        forces = []
        for f in range(coords.shape[2]):
            calc = Calculator(
                Param.GFN2xTB,
                elements,
                coords[:, :, f] * angstrom_to_bohr,
                charge=charge,
            )
            calc.set_verbosity(VERBOSITY_MUTED)
            res = calc.singlepoint()
            energies.append(res.get_energy())
            if self.calculateForces:
                forces.append(-res.get_gradient())

        energies = np.array(energies)
        forces = np.stack(forces, axis=0)
        if units.lower() == "kcalmol":
            energies *= hartree_to_kcalmol
            forces *= hartree_to_kcalmol * angstrom_to_bohr
        elif units.lower() == "hartree":
            pass
        else:
            raise RuntimeError("Invalid units")
        return energies, forces

It must convert energy and forces since it is applied after computing the forces.
I think it make sense to do it this way because it doesn't constrain the units of the neural network. You can train it with any unit and then choose the appropriate conversion.
One idea could be to define preset transforms, e.g. eV -> kcal/mol instead of relying on a lambda function. The lambda could be a fallback if the required preset doesn't exist.

Can you review this again, please?

@AntonioMirarchi is this still relevant?

Yes, if you want to run a molecular dynamic on torch-md using a model trained in torchmd-net with units of measure different from kcal/mol and kcal/mol/A because you need to transform it.


Feature request - Select all or multiple items for downloading

I often need offline access to my manga when I read them. This implies I need to select the volumes I want to download and then download them.
The current possibility is to select volumes one by one, which is tedious when selecting all or a larger number of volumes.
A select all button, or better yet a start and stop selection functionality (where one would select the first and last item and the app would automatically select all items in between), would be very useful.

Really though. I main use this on a tablet, and unless I'm at home or some place with WiFi, I can't really use it. I'd like to just be able to download the entire manga I'm on like HakuNeko can.