Adopt OpenSSF Best Practices

Adopt OpenSSF best practices as described on the website.
https://bestpractices.coreinfrastructure.org/en
Basics:

TODO: Add issues

Change Control

TODO: Add issues

Reporting

#367

Quality

TODO: Add issues

Security

#367

Analysis

#363
#364
TODO: Add issues

I created a badge for slsa-verifier. We still need to go through and update it to figure out what best practices we are complying with and which we aren't and close the gaps.


Add a dual type for linear forms

This adds a type dual to FiniteElementState that represents a linear functional applied to a specific basis set. This is useful for denoting their topological space to ensure consistency in the function signatures as well as provide extra information when interpolations and projects are needed. Resolves https://github.com/LLNL/serac/issues/561

ping @goxberry @pmm14006 @sethwatts

Codecov Report

Merging #554 (d39d0cd) into develop (6999b83) will decrease coverage by 2.33%.
The diff coverage is 3.22%.

:exclamation: Current head d39d0cd differs from pull request most recent head b77ab18. Consider uploading reports for the commit b77ab18 to get more accurate results

@@             Coverage Diff             @@
##           develop     #554      +/-   ##
===========================================
- Coverage    96.16%   93.82%   -2.34%
===========================================
  Files          106      103       -3
  Lines         6489     6401      -88
===========================================
- Hits          6240     6006     -234
- Misses         249      395     +146

Impacted Files
Coverage Δ

src/serac/physics/solid.hpp
100.00% <ø> (ø)

...rc/serac/physics/utilities/finite_element_dual.hpp
0.00% <0.00%> (ø)

...c/serac/physics/utilities/finite_element_state.cpp
77.35% <0.00%> (-22.65%)
:arrow_down:

...c/serac/physics/utilities/finite_element_state.hpp
100.00% <ø> (ø)

src/serac/physics/solid.cpp
78.77% <4.54%> (-17.06%)
:arrow_down:

...rc/serac/coefficients/sensitivity_coefficients.cpp
0.00% <0.00%> (-100.00%)
:arrow_down:

...rc/serac/coefficients/sensitivity_coefficients.hpp
0.00% <0.00%> (-100.00%)
:arrow_down:

.../serac/physics/materials/hyperelastic_material.cpp
68.23% <0.00%> (-22.36%)
:arrow_down:

src/serac/physics/utilities/boundary_condition.cpp
83.69% <0.00%> (-7.61%)
:arrow_down:

... and 17 more

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 6999b83...b77ab18. Read the comment docs.

@jamiebramwell I'm wondering if it might make more sense to have an abstract base class for "finite element state" with two concrete subclasses: one for primal state and one for dual state. I'd think of FiniteElementState::gridFunc, FiniteElementState::gridFuncCoef, and so on as being appropriate for primal state, but not for dual state, yet FiniteElementDual will inherit those operations from FiniteElementState. Clearly, though, both would have common operations that should enable extracting underlying HypreParVector data, and it would make sense to have conversions from one type to the other via Riesz maps and their inverses. (Depending on what you want to support, move conversions or copy conversions would make sense.)

That all said, I agree with the aim of keeping Serac accessible to engineers, and don't know if the primal/dual distinction would violate that aim, even though it's sort of a generalization of a displacement/force pairing.

To supplement the discussion at yesterday's meeting, a couple papers for background:

R. Kirby, From Functional Analysis to Iterative Methods, SIAM Review 52 (2010), pp. 269-293 discusses how the primal-
dual pairing can be used as a natural preconditioner for linear systems.
preprint version: https://cpb-us-w2.wpmucdn.com/sites.baylor.edu/dist/6/32/files/2015/01/iterative-11k9q6j.pdf
journal version: https://epubs.siam.org/doi/abs/10.1137/070706914
T. Schwedes, D. A. Ham, S. W. Funke and M. D. Piggott, "Mesh Dependence in PDE-Constrained Optimization" in Mesh Dependence in PDE-Constrained Optimization, Mathematics of Planet Earth, D. Crisan and D. Holm, eds., Springer, Cham, Switzerland, 2017, pp. 53-78 discusses how the primal-dual pairing can be used as a natural preconditioner in optimization algorithms.
preprint version of chapter, listed as "An iteration count estimate for a mesh-dependent steepest descent method based on finite elements and Riesz inner product representation" on arXiv: https://arxiv.org/abs/1606.08069
book version: https://link.springer.com/book/10.1007/978-3-319-59483-5

The second reference is probably less mathematically demanding than the first.

@jamiebramwell I'm wondering if it might make more sense to have an abstract base class for "finite element state" with two concrete subclasses: one for primal state and one for dual state. I'd think of FiniteElementState::gridFunc, FiniteElementState::gridFuncCoef, and so on as being appropriate for primal state, but not for dual state, yet FiniteElementDual will inherit those operations from FiniteElementState. Clearly, though, both would have common operations that should enable extracting underlying HypreParVector data, and it would make sense to have conversions from one type to the other via Riesz maps and their inverses. (Depending on what you want to support, move conversions or copy conversions would make sense.)

Agreed about the dual state not really having a grid function. However, I've run into areas where I really want the ghost dofs on a dual vector, and the grid function is a nice solution for that. I could see having a completely separate class, but then I would be reimplementing a lot of the existing grid function stuff. Also, I'm hesitant to use an abstract base class as this is a fundamental data type and a "standard engineer" user might be confused why it's there. At the end of the day, I could go either way. Any thoughts @white238 @solberg2 @sethwatts @samuelpmishLLNL ?

However, I've run into areas where I really want the ghost dofs on a dual vector, and the grid function is a nice solution for that.

As opposed to getting ghost dof information from the mfem::ParFiniteElementSpace?

I could see having a completely separate class, but then I would be reimplementing a lot of the existing grid function stuff. Also, I'm hesitant to use an abstract base class as this is a fundamental data type and a "standard engineer" user might be confused why it's there. At the end of the day, I could go either way.

I don't have terribly strong opinions here. Another option would be to put all of the dual-related methods into serac::FiniteElementState and have a field indicating whether a type is primal or dual, which has its own tradeoffs. I support whatever makes sense to engineers.

I'm hesitant to use an abstract base class as this is a fundamental data type and a "standard engineer" user might be confused why it's there.

I think this is a valid concern, since users without a background FE theory could become confused. However, I would assume that most "standard engineer" users would just be using the solver interfaces to solve their PDEs and then visualize the results. In that setting, I don't think the existence of the dual fields would really come up, nor would the fact that they and primal fields derive from a common abstract base class.
People using the adjoint solvers, writing their own Functionals, etc. I would assume would have enough background to understand the differences between the fields with some documentation (possibly pointing to MFEM's page on the topic). I think it's worth the risk of some confusion to avoid duplicate implementations.

I think it's fine to have this class.
Really this is the place where you store "reactions" and "residuals" and things like that - in electromagnetics this is where you would store the "nodal currents", which you use to construct the circuit model.
Having some examples of it's use in the code would help the "regular engineer" use it.

I refactored this to remove the GridFunction view of a dual class.

I think this is a valuable update since, per the MFEM documentation, the GridFunction is a primal representation. I agree that all we need are access to local and true DOFs.

Will you be able to visualize the reaction forces?  Being able to visualize those things can be useful, also when you have convergence problems the nodal residuals.
From: Seth Watts @.>
Sent: Thursday, September 2, 2021 7:27 AM
To: LLNL/serac @.>
Cc: Solberg, Jerome M. @.>; Mention @.>
Subject: Re: [LLNL/serac] Add a dual type for linear forms (#554)
I refactored this to remove the GridFunction view of a dual class.
I think this is a valuable update since, per the MFEM documentation, the GridFunction is a primal representation. I agree that all we need are access to local and true DOFs.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://urldefense.us/v3/__https:/github.com/LLNL/serac/pull/554*issuecomment-911745033__;Iw!!G2kpM7uM-TzIFchu!mlwuMlDekWJUHjmun1eqlRf2wHzf6BH-Nw3B9upYg2ANedOJ_cvih8ydlxrLGh6t2A$, or unsubscribehttps://urldefense.us/v3/__https:/github.com/notifications/unsubscribe-auth/ANWLMLCK2343U2UNBLW73TDT76CR5ANCNFSM5COYWWGA__;!!G2kpM7uM-TzIFchu!mlwuMlDekWJUHjmun1eqlRf2wHzf6BH-Nw3B9upYg2ANedOJ_cvih8ydlxoPKLIKJQ$.
Triage notifications on the go with GitHub Mobile for iOShttps://urldefense.us/v3/__https:/apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675__;!!G2kpM7uM-TzIFchu!mlwuMlDekWJUHjmun1eqlRf2wHzf6BH-Nw3B9upYg2ANedOJ_cvih8ydlxpA0hw00w$ or Androidhttps://urldefense.us/v3/__https:/play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign*3Dnotification-email*26utm_medium*3Demail*26utm_source*3Dgithub__;JSUlJSU!!G2kpM7uM-TzIFchu!mlwuMlDekWJUHjmun1eqlRf2wHzf6BH-Nw3B9upYg2ANedOJ_cvih8ydlxpiD3kpmQ$.

Will you be able to visualize the reaction forces? Being able to visualize those things can be useful, also when you have convergence problems the nodal residuals.

Good point. I'll see if I can find a way to add this to the data store without making the grid function user-accessible.

Will you be able to visualize the reaction forces? Being able to visualize those things can be useful, also when you have convergence problems the nodal residuals.

Good point. I'll see if I can find a way to add this to the data store without making the grid function user-accessible.

I've thought about this, and I think it's possible but it would be a significant amount of work in the StateManager class. I propose we file an issue and look at this when it becomes necessary.

Will you be able to visualize the reaction forces? Being able to visualize those things can be useful, also when you have convergence problems the nodal residuals.

Good point. I'll see if I can find a way to add this to the data store without making the grid function user-accessible.

I've thought about this, and I think it's possible but it would be a significant amount of work in the StateManager class. I propose we file an issue and look at this when it becomes necessary.

Does making a grid function available get rid of the need for work in the State Manager class?  If so maybe I'd put the grid function back in, with requisit Caveat Emptor notices.

Will you be able to visualize the reaction forces? Being able to visualize those things can be useful, also when you have convergence problems the nodal residuals.

Good point. I'll see if I can find a way to add this to the data store without making the grid function user-accessible.

I've thought about this, and I think it's possible but it would be a significant amount of work in the StateManager class. I propose we file an issue and look at this when it becomes necessary.

Does making a grid function available get rid of the need for work in the State Manager class? If so maybe I'd put the grid function back in, with requisite [sic] Caveat Emptor notices.

MFEM's visualization interface -- mfem::DataCollection -- requires mfem::GridFunction objects. Usually, if one is constructing a load from an mfem::Coefficient, this mfem::Coefficient is projected onto an mfem::GridFunction for plotting. This projection is the Riesz representer of the assembled load in a corresponding mfem::LinearForm, so if only the mfem::LinearForm-like information is available, I imagine that computing the Riesz representer might be what a user would want, unless a user really does want to plot the entries of an assembled load. But I'm not sure what engineering nomenclature corresponds to "get the Riesz representer" because, despite being an engineer, most of what I know about finite element methods is from math books -- chemical engineering curricula don't typically cover finite element methods (at any level).

After thinking about this, I realized we could do this by using composition without inheritance. This avoids the duplication with the grid function capability but still uses the hardened state manager functionality under the hood. There's only one static cast in the state manager which abuses the fact that the "local dual vector" is really a grid function under the hood. I think this is the best of both worlds. Any thoughts @solberg2 @goxberry ?

If this solution is acceptable, I believe this PR is ready to go.

After thinking about this, I realized we could do this by using composition without inheritance. This avoids the duplication with the grid function capability but still uses the hardened state manager functionality under the hood. There's only one static cast in the state manager which abuses the fact that the "local dual vector" is really a grid function under the hood. I think this is the best of both worlds. Any thoughts @solberg2 @goxberry ?

I like using composition better than using inheritance in this situation. We have use cases where we'd want the entries of the underlying ParLinearForm and cases where we really want the Riesz representer of that ParLinearForm. From the perspective of keeping the FiniteElementDual API minimal, I think it makes sense to return the former and delegate to the user the responsibility of computing the latter, so your current implementation works for me.

it looks like 90% of the interface in FiniteElementState is duplicated from FiniteElementState, so it doesn't seem like composition is helping much:
class FiniteElementState {
 public:
  // parts in common with FiniteElementDual
  struct Options {
    int order = 1;
    int vector_dim = 1;
    std::unique_ptr<mfem::FiniteElementCollection> coll = {};
    mfem::Ordering::Type ordering = mfem::Ordering::byVDIM;
    std::string name = "";
    bool alloc_gf = true;
  };

  FiniteElementState(mfem::ParMesh& mesh, Options&& options);
  FiniteElementState(mfem::ParMesh& mesh, mfem::ParGridFunction& gf, const std::string& name = "");
  FiniteElementState(mfem::ParMesh& mesh, mfem::ParFiniteElementSpace& space, const std::string& name = "");

  mfem::ParMesh& mesh();

  mfem::ParFiniteElementSpace& space();
  const mfem::ParFiniteElementSpace& space() const;

  mfem::HypreParVector& trueVec();
  const mfem::HypreParVector& trueVec() const;

  std::string name() const;

  void initializeTrueVec();
  void distributeSharedDofs();

  FiniteElementState& operator=(const double value);

  template <typename Tensor>
  std::unique_ptr<Tensor> createOnSpace()

  // parts different from FiniteElementDual
  mfem::ParGridFunction& gridFunc();
  const mfem::ParGridFunction& gridFunc() const;

  void project(const GeneralCoefficient& coef)
  void project(mfem::Coefficient& coef)
  void project(mfem::VectorCoefficient& coef)

  FiniteElementState(mfem::ParMesh& mesh, FiniteElementState& fe_state, const std::string& name = "");
};

class FiniteElementDual {
 public:
  // parts in common with FiniteElementState
  struct Options {
    int order = 1;
    int vector_dim = 1;
    std::unique_ptr<mfem::FiniteElementCollection> coll = {};
    mfem::Ordering::Type ordering = mfem::Ordering::byVDIM;
    std::string name = "";
    bool alloc_local = true;
  };

  FiniteElementDual(mfem::ParMesh& mesh, Options&& options);
  FiniteElementDual(mfem::ParMesh& mesh, mfem::ParGridFunction& gf, const std::string& name = "")
  FiniteElementDual(mfem::ParMesh& mesh, mfem::ParFiniteElementSpace& space, const std::string& name = "")

  mfem::ParMesh& mesh();

  mfem::ParFiniteElementSpace& space();
  const mfem::ParFiniteElementSpace& space() const

  mfem::HypreParVector& trueVec();
  const mfem::HypreParVector& trueVec() const;

  std::string name() const;

  void initializeTrueVec();
  void distributeSharedDofs();

  FiniteElementDual& operator=(const double value)

  template <typename Tensor>
  std::unique_ptr<Tensor> createOnSpace()

  // parts different from FiniteElementState
  mfem::Vector& localVec();
  const mfem::Vector& localVec() const;
};

as opposed to
struct BaseClass {
  struct Options {
    int order = 1;
    int vector_dim = 1;
    std::unique_ptr<mfem::FiniteElementCollection> coll = {};
    mfem::Ordering::Type ordering = mfem::Ordering::byVDIM;
    std::string name = "";
    bool alloc = true;
  };

  BaseClass(mfem::ParMesh& mesh, Options&& options);
  BaseClass(mfem::ParMesh& mesh, mfem::ParGridFunction& gf, const std::string& name = "")
  BaseClass(mfem::ParMesh& mesh, mfem::ParFiniteElementSpace& space, const std::string& name = "")

  mfem::ParMesh& mesh()

  mfem::ParFiniteElementSpace& space()
  const mfem::ParFiniteElementSpace& space() const

  mfem::HypreParVector& trueVec()
  const mfem::HypreParVector& trueVec() const

  std::string name() const

  void initializeTrueVec()
  void distributeSharedDofs()

  FiniteElementDual& operator=(const double value)

  template <typename Tensor>
  std::unique_ptr<Tensor> createOnSpace()
};

struct FiniteElementState : public BaseClass {
  mfem::ParGridFunction& gridFunc();
  const mfem::ParGridFunction& gridFunc() const;

  void project(const GeneralCoefficient& coef);
  void project(mfem::Coefficient& coef);
  void project(mfem::VectorCoefficient& coef);
};

struct FiniteElementDual : public BaseClass {
  mfem::Vector& localVec();
  const mfem::Vector& localVec();
};

Note: might we also want project on the dual space?

also, if we're exposing members (by non-const reference) like this through methods,
  mfem::ParMesh& mesh();

  mfem::ParFiniteElementSpace& space();
  const mfem::ParFiniteElementSpace& space() const

  mfem::HypreParVector& trueVec();
  const mfem::HypreParVector& trueVec() const;

  std::string name() const;

is it different than just making them public member variables and letting the user access them directly?

Note: might we also want project on the dual space?

What would be the argument(s) to such a method? LinearFormIntegrators?

it looks like 90% of the interface in FiniteElementDual is shared with FiniteElementState, so it doesn't seem like composition is helping much

@samuelpmishLLNL For what it's worth, I agree with you from a pure software engineering perspective -- I made a similar comment earlier in the thread. However, from the discussion so far, my impression has been that having a common base class for primal and dual states creates its own set of UI problems, e.g., explaining to an engineer why such a base class exists (see this earlier comment).

it looks like 90% of the interface in FiniteElementDual is shared with FiniteElementState, so it doesn't seem like composition is helping much

@samuelpmishLLNL For what it's worth, I agree with you from a pure software engineering perspective -- I made a similar comment earlier in the thread. However, from the discussion so far, my impression has been that having a common base class for primal and dual states creates its own set of UI problems, e.g., explaining to an engineer why such a base class exists (see this earlier comment).

Exactly. I can either:

Inherit from FiniteElementState to encapsulate the dual nature in the type. However, this gives users direct access to the grid functions, which isn't a mathematically correct view of the data.
Include the FiniteElementState by composition. This allows all of the plotting niceties of the FiniteElementState without having direct access to the grid function, but it is a lot of boilerplate code.
Do not include FiniteElementState at all. This requires a lot of duplication in both the projection and restriction application as well as additional machinery needed to add to plot files.

This current iteration is option 1, but I can see arguments for the other 2 as well.

it looks like 90% of the interface in FiniteElementDual is shared with FiniteElementState, so it doesn't seem like composition is helping much

@samuelpmishLLNL For what it's worth, I agree with you from a pure software engineering perspective -- I made a similar comment earlier in the thread. However, from the discussion so far, my impression has been that having a common base class for primal and dual states creates its own set of UI problems, e.g., explaining to an engineer why such a base class exists (see this earlier comment).

Exactly. I can either:

Inherit from FiniteElementState to encapsulate the dual nature in the type. However, this gives users direct access to the grid functions, which isn't a mathematically correct view of the data.
Include the FiniteElementState by composition. This allows all of the plotting niceties of the FiniteElementState without having direct access to the grid function, but it is a lot of boilerplate code.
Do not include FiniteElementState at all. This requires a lot of duplication in both the projection and restriction application as well as additional machinery needed to add to plot files.

This current iteration is option 1, but I can see arguments for the other 2 as well.

The code I showed above does not have the gridfunction access problem described in point (1), it does not require the boilerplate introduced by forwarding accessors from composition in point (2), and does not have the duplication required by point (3).

Whoops! Typo! It currently has option 2.

Ahh, just looked at the code snippet. The only problem with that approach is it requires an "engineering" user to figure out why there is an abstract base class and following that to look up basic FiniteElementState functionality. I agree it is probably the cleanest solution though.

Ahh, just looked at the code snippet. The only problem with that approach is it requires an "engineering" user to figure out why there is an abstract base class and following that to look up basic FiniteElementState functionality. I agree it is probably the cleanest solution though.

The base class is not abstract, it implements its interface (note: there is no virtual anywhere in my code snippet).
I don't really understand the worry about someone asking the question "why is there a base class?". It was my understanding that inheritance was invented to address precisely this kind of problem (this collection of types sure have a lot of stuff in common, how could I avoid rewriting that same code in each one?)

Ahh, just looked at the code snippet. The only problem with that approach is it requires an "engineering" user to figure out why there is an abstract base class and following that to look up basic FiniteElementState functionality. I agree it is probably the cleanest solution though.

The base class is not abstract, it implements its interface (note: there is no virtual anywhere in my code snippet).
I don't really understand the worry about someone asking the question "why is there a base class?". It was my understanding that inheritance was invented to address precisely this kind of problem (this collection of types sure have a lot of stuff in common, how could I avoid rewriting that same code in each one?). Admittedly, the savings is only about 40-50% in our case, since we will likely only ever have 2 derived classes, but that still seems worth it to me.

A fair point. I will implement this and should have it done by mid-afternoon.

I pushed @samuelpmishLLNL 's idea. After implementing it, I agree it's much cleaner and worth putting in inheritance for.

I think I captured all of @samuelpmishLLNL 's comments. Thank you for the review!

also, if we're exposing members (by non-const reference) like this through methods,
  mfem::ParMesh& mesh();

  mfem::ParFiniteElementSpace& space();
  const mfem::ParFiniteElementSpace& space() const

  mfem::HypreParVector& trueVec();
  const mfem::HypreParVector& trueVec() const;

  std::string name() const;

is it different than just making them public member variables and letting the user access them directly?

I agree it's boilerplate, but I like having interface functions just in case we change the underlying implementation. Any thoughts @joshessman-llnl @white238 ?

also, if we're exposing members (by non-const reference) like this through methods,
  mfem::ParMesh& mesh();

  mfem::ParFiniteElementSpace& space();
  const mfem::ParFiniteElementSpace& space() const

  mfem::HypreParVector& trueVec();
  const mfem::HypreParVector& trueVec() const;

  std::string name() const;

is it different than just making them public member variables and letting the user access them directly?

I agree it's boilerplate, but I like having interface functions just in case we change the underlying implementation. Any thoughts @joshessman-llnl @white238 ?

I agree with @jamiebramwell .  It also allows you to place a breakpoint/print statement to aid in debugging.


Cannot undo after a save

try a command chain such as
favgame -> save -> undo
there is no command to undo now even though save doesnt affect the current state of the program.

the problem here is favgame hasnt been added as an undoable command yet.


"-species" flag seems to be required

Although that doesn't appear to be true from the README.

It is required for ATAQC. updated README for that.
Thanks.


perf: parallelize create dependencies processing

Fixes #886

@AgentEnder, Thanks for reviewing.
I noticed that the e2e tests have been failing for a while, and they are also blocking other PRs.
Would you like some help fixing those tests? I admit we would like to see this PR merged  :)

@AgentEnder, Thanks for reviewing.
I noticed that the e2e tests have been failing for a while, and they are also blocking other PRs.
Would you like some help fixing those tests? I admit we would like to see this PR merged  :)

If you have time to look at them, absolutely. Things are a bit hectic on my side so I've not had time to check out what happened.
The failures on main are not all true failures, there's something weird with Nx cloud that I've also not had time to investigate. The pr failures are true failures though, so we should figure out why.

Those failures look legit now, so that's good 👍
Thanks for getting em fixed up

It looks like the CI failure on merge was due to nx format:check failing, so I ran nx format --all.

See https://cloud.nx.app/runs/PZ0uH8iPew


Inverse Folding predicted structures

Just to make sure, are the pdb files in the "Predicted 3D structures from inverse-folding models" predicted from AlphaFold2 model?

Hi @yxliu-TAMU -- yes, all predicted structures were obtained with AlphaFold2


Fixed macOS includes, and updated macOS CI

This is my fourth pull request on this repository.
Here is a summary of everything changed in this pull request.

Fixed references in various OSX files which were not being included properly, disallowing the build to actually happen.
Updated .travis.yml for macOS in order for it to have less verbose output, and also output as each file is compiled, rather outputting everything after the build is complete.
Upgraded the CMAKE_CXX_STANDARD to 14. Even thought it is currently at 11 and building, the compiler or CMake is likely upgrading this for us, due to a specific line of code noted in the comment below.

Please let me know if there is anything I could do to help get this pull request merged.

This is ready to be merged in it's current state.

Looks good to me


Return value from workers

Added result to TargetRun
Return value from worker run functions as part of TargetRun.result object.
Encapsulated status and result fields.
Added a way to reset WrappedTarget
Made TargetRun, TargetRunner, SchedulerRunSummary, TargetScheduler generic to support type safe results

Consuming result.value
const target = createBundleTarget(scripts, bundleRequest);

const targetGraphBuilder = new targetGraph.TargetGraphBuilder();
targetGraphBuilder.addTarget(target);
const graph = targetGraphBuilder.build();

const { targetRuns } = await this.#scheduler.run(target.cwd, graph, options.rerun);
const value = targetRuns.get(target.id)?.result?.value;
if (value) {
   console.log(value);
}

A super hard earned approved, thanks so much!

Thanks for your support, guidance and help


Do not crash when no warnings are emitted

Hi there 👋
This PR aims to address the bug mentioned in #7.
Best 🤗

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Add files via upload

I have added new project for angular. Kindly check and let us know in case of any queries. It's the new recommended code for angular.

i am adding the latest code.


fetch trust/install.sh using HTTPS

:pushpin: Commit 091fa57 has been approved by japaric

@homunkulus r+

:hourglass: Testing commit 091fa57 with merge 091fa57...

:broken_heart: Test failed - status-appveyor

:pushpin: Commit f33da60 has been approved by japaric

@homunkulus r+

:hourglass: Testing commit f33da60 with merge 6ee8081...

:sunny: Test successful - status-appveyor, status-travis
Approved by: japaric
Pushing 6ee80811386dd1f55c1103cb52a8e5c960236c8a to master...


having Egg-Eggplant-Plant-Combo-Seed-Mod in \mods causes black screen

Name the mod
Put the name(s) of affected mod(s) here.
Egg-Eggplant-Plant-Combo-Seed-Mod
Describe the bug
A clear and concise description of what the bug is.
When Egg-Eggplant-Plant-Combo-Seed-Mod is in \mods and the game starts, a black screen is shown and you need to press spacebar to get to the main menu.
How to reproduce
Include the steps you took to get the bug here.
Put Egg-Eggplant-Plant-Combo-Seed-Mod in \mods
Solution
How you think the bug should be resolved.
Remove Egg-Eggplant-Plant-Combo-Seed-Mod from \mods

Solution
go into mod info
change "id" to "ident"

fixed with ee5d65b4c71470fee313b33b4a6d0f9bc99d09eb


Set value to empty string when input value is invalid

Fixes #97

This change is

Needed to retarget in order to get a full CI build

Yeah I don't have push permission to this repo

Should have write access


Question about intersect function

I don't think it is correct to determine if two regions are intersected by comparing their bounding boxes.
For example, the following situation does not apply. Could anyone help me with this please? Thanks in advance.

你好，我非常开心发现你和我遇到了相同的看法
我修改了insection函数，考虑了欧氏距离
def intersect(a, b):
    set_a = set(a["position"])
    set_b = set(b["position"])
    for (y1, x1) in set_a:
        if (y1 + 1, x1) in set_b or (y1 - 1, x1) in set_b or (y1, x1 + 1) in set_b or (y1, x1 - 1) in set_b:
            return True
    return False

其中position包括当前区域的所有位置（y1,x1）,(y2,x2)……


Canada Holiday Error - Observed Christmas Day

This year, the Observed Christmas holiday in Canada was on Monday 27th Dec and following Observed Boxing Day was Tue 28th Dec
https://github.com/dr-prodigy/python-holidays/blob/94d767706111b9b725bf33c122ef4f7f64566f7a/holidays/countries/canada.py#L251
Logic here states that if Christmas falls on a Saturday, the observed Holiday is on Friday.
Now I haven't gone back in time to validate the pattern, but either it needs to be double-checked or an exception added for times when Saturday holidays are observed on Monday.
Current List generated for 2021:
2021-01-01 New Year's Day
2021-02-15 Family Day
2021-04-02 Good Friday
2021-04-05 Easter Monday
2021-05-24 Victoria Day
2021-07-01 Canada Day
2021-08-02 Civic Holiday
2021-09-06 Labour Day
2021-10-11 Thanksgiving
2021-12-24 Christmas Day (Observed)
2021-12-25 Christmas Day
2021-12-27 Boxing Day (Observed)
2021-12-31 New Year's Day (Observed)

Hi,
this is already being analyzed / reviewed on #579
Marking as duplicate.. Let's follow up there, thx!


generateVariable unable to handle type unions

The following test intermittently fails with the following error:
Test Case 'ProgramBuilderTests.testTypeInstantiation' started at 2021-11-03 09:00:22.498
Fuzzilli/ProgramBuilder.swift:520: Assertion failed: Unexpected type encountered .integer | .object()

What follows is saelo's analysis of this issue:
I think the issue here is that generateType might generate e.g. a TypedArray from the JavaScriptEnvironment (that's correct), then generateVariable tries to call the corresponding constructor and attempts to obtain argument variables (that's also correct), but for TypedArrays, the constructor is defined to take .integer | .object(...):
https://github.com/googleprojectzero/fuzzilli/blob/1c33ac3cefb0771978a3f8f1185ac77fca703b14/Sources/Fuzzilli/Core/JavaScriptEnvironment.swift#L390
(also correct), but generateVariable can't yet handle type unions (that is, I think, the issue).

This issue appears to happen elsewhere, too, not just during tests. During a fuzzing session with a debug build, I got this assertion failure: Fuzzilli/ProgramBuilder.swift:520: Assertion failed: Unexpected type encountered .integer | .float | .string

This is now fixed since we no longer use generateVariable(): https://github.com/googleprojectzero/fuzzilli/commit/e264abb403c3c63b713d20c8649f0840a59a08cd


Deployment Research

Where to deploy it and how?!

AWS and Heroku examined, during discussions with colleagues, Heroku has been chosen for the deployment platform.


better support for cloning large dbt packages

add --depth 1 to git clone command for dbt deps

Fixed by #342


tests: posix: pthread: split into pthread_t and pthread_attr_t tests

TL;DR - This series of changes is mainly concerned with better testsuite hygiene. It shuffles existing tests around and manages state better with ZTEST_SUITE()
The posix_apis.pthread_execution and posix_apis.pthread_termination tests were quite unorganized. It was no longer feasible to maintain testsuite state in a coherent way.
This became particularly apparent after work was started on embedding struct posix_thread_attr inside of struct posix_thread, and using pthread_attr_t to maintain thread stack allocation details (See #67178).
The change that embeds struct posix_thread_attr inside of struct posix_thread will follow shortly.

make some additional NULL checks in lib/posix/pthread.c
create barrier.c and move the barrier test to it
move the pthread_condattr_t test to cond.c
move tests from pthread.c that operate on pthread_attr_t to pthread_attr.c
keep tests in pthread.c that operate on pthread_t inside of pthread.c

(Partially)
Fixes #67091

I guess I could squash the last two commits into one.

✅  rebased to fix merge conflict


error: allow backtrace Option to be Display on stable

This prevents the need for users to do backtrace feature-checking for code that wishes to use Display for a backtrace and also compile on stable.

Why wouldn't the user just test if the option is None?

Ohhh… I see what's going on. What if we just used some already available type like Option (which also implements Display)

I don't understand? Option<Option<?>>? Option only implements Display if T also does.
The idea here is to have the same traits as Backtrace so the type system doesn't complain on stable.

@Fishrock123 sorry, forgot that comments don't auto escape < — typed Option<String>. the String part is what would change

I would rather it be a type that implements exactly the same traits as Backtrace, personally.

Ultimately, the correct answer here is that it would be Option<!>, using the never type to denote that it will only ever be None. (And also because never is able to auto-implement all basic traits. Or something.)

Yep, agreed that ! would be ideal if stable


added «Managing Humans» to Other books

Thank you for the list! Found a lot of new exciting things to browse through.
One thing that I didn't find there — is «Managing Humans». This one is must read for anyone involved in managing people in IT. I see all the time people asking about is one-on-one's really important or how to manage crisis — it is all there.
Also it's absence in the list is way stranger due to Rands in Repose mentioned several times in README.
So I added it. If you find it suitable — please accept PR.
Have a nice day!

Usually, I'd read the book before adding it, but since it's from Rands... let's add it! Thanks @dobrowins!


remove registry org and image name from generated charts

These values have been bubbled up into image.repository. Some registries do not have organizations and image.name was never being changed, so it made sense to simplify the verbiage.
closes #278
closes #220

@bacongobbler,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

Codecov Report

Merging #281 into master will increase coverage by 0.06%.
The diff coverage is 50%.

@@            Coverage Diff            @@
##           master    #281      +/-   ##
=========================================
+ Coverage   31.24%   31.3%   +0.06%
=========================================
  Files          27      27
  Lines        1741    1728      -13
=========================================
- Hits          544     541       -3
+ Misses       1118    1109       -9
+ Partials       79      78       -1

Impacted Files
Coverage Δ

cmd/draft/installer/install.go
0% <ø> (ø)
:arrow_up:

pkg/draft/server.go
0.62% <ø> (ø)
:arrow_up:

cmd/draft/init.go
2.02% <0%> (+0.11%)
:arrow_up:

pkg/draft/context.go
74.28% <100%> (+5.05%)
:arrow_up:

pkg/linguist/linguist.go
33.33% <0%> (-1.29%)
: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 08695cf...da843e4. Read the comment docs.

Manually testing this on my own cluster seems to work!


Ensure that footer renders at the bottom of page

When there is little content in the body of the page, the footer is rendered directly beneath that content and leaves a significant space underneath. The footer should render at the bottom of the page when there is not enough content to fill the screen, but should not be pinned to the bottom regardless of scroll position

@gsidebo I'm assigning it to you since you have associated a PR that fixes this issue.


pyproject.toml: Add PEP 508 specifications

Fedora is going to use this information in the future.
References:
<EMAIL_ADDRESS>https://www.python.org/dev/peps/pep-0518/#build-system-table
Signed-off-by: Till Maas<EMAIL_ADDRESS>

Coverage remained the same at ?% when pulling e243ae1bef9e10eebdf46ed20bad8259d7bb273f on tyll:pep518 into 055f39eac9043e6f6800e89c3359e13b979534ae on nmstate:master.

@cathay4t the commit you reviewed was missing a change to the MANIFEST.in file that I had locally. I added it, please merge if happy. I rebased it.


Can't set up dev environment/fibers won't compile

I'm on node v20.5.0, and wanting to contribute something (a debounce to avoid swamping a server), I've cloned the repo and attempted to npm install. @wdio/sync and/or webdriverio at the current version brings in fibers, which has a "NOTE OF OBSOLESCENCE" next to it. On my machine, Apple Silicon, the node_gyp that that brings in cannot compile. There's an early EBADENGINE warning against @wdio/sync which suggests this would only work between nodes 12 and 15.x. There are a bunch of deprecations too, but I'm ignoring those for now in an effort to get npm test and npm run build to work.
I'm primarily Ruby rather than JS, so apologies if I've missed something critical. I've checked the contributing guidelines and I think I'm good, but I'll happily take notes.
WARNING: large log ahead
npm WARN old lockfile
npm WARN old lockfile The package-lock.json file was created with an old version of npm,
npm WARN old lockfile so supplemental metadata must be fetched from the registry.
npm WARN old lockfile
npm WARN old lockfile This is a one-time fix-up, please be patient...
npm WARN old lockfile
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '<EMAIL_ADDRESS>npm WARN EBADENGINE   required: { node: '>=12.0.0 <16' },
npm WARN EBADENGINE   current: { node: 'v20.5.0', npm: '9.8.0' }
npm WARN EBADENGINE }
npm WARN deprecated<EMAIL_ADDRESS>This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-json-strings instead.
npm WARN deprecated<EMAIL_ADDRESS>This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead.
npm WARN deprecated<EMAIL_ADDRESS>This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.
npm WARN deprecated<EMAIL_ADDRESS>This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead.
npm WARN deprecated<EMAIL_ADDRESS>This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.
npm WARN deprecated<EMAIL_ADDRESS>See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated<EMAIL_ADDRESS>CircularJSON is in maintenance only, flatted is its successor.
npm WARN deprecated<EMAIL_ADDRESS>Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
npm WARN deprecated<EMAIL_ADDRESS>The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2
npm WARN deprecated<EMAIL_ADDRESS>Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
npm WARN deprecated<EMAIL_ADDRESS>The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm WARN deprecated<EMAIL_ADDRESS>babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.
npm WARN deprecated<EMAIL_ADDRESS>Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated<EMAIL_ADDRESS>See https://github.com/lydell/source-map-resolve#deprecated
npm WARN deprecated<EMAIL_ADDRESS>Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)
npm WARN deprecated<EMAIL_ADDRESS>this version had an improper engines field added, update to 1.1.1
npm WARN deprecated<EMAIL_ADDRESS>no longer maintained
npm WARN deprecated<EMAIL_ADDRESS>This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-unicode-property-regex instead.
npm WARN deprecated<EMAIL_ADDRESS>< 19.4.0 is no longer supported
npm WARN deprecated<EMAIL_ADDRESS><EMAIL_ADDRESS>is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.
npm ERR! code 127
npm ERR! path /Users/russ/dev/accessible-autocomplete/node_modules/fibers
npm ERR! command failed
npm ERR! command sh -c node build.js || nodejs build.js
npm ERR!  System Darwin 21.6.0
npm ERR! gyp ERR! command "/opt/homebrew/Cellar/node/20.5.0/bin/node" "/opt/homebrew/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--release"
npm ERR! gyp ERR! cwd /Users/russ/dev/accessible-autocomplete/node_modules/fibers
npm ERR! gyp ERR! node -v v20.5.0
npm ERR! gyp ERR! node-gyp -v v9.4.0
npm ERR! gyp ERR! not ok
npm ERR! node-gyp exited with code: 1
npm ERR! Please make sure you are using a supported platform and node version. If you
npm ERR! would like to compile fibers on this machine please make sure you have setup your
npm ERR! build environment--
npm ERR! Windows + OS X instructions here: https://github.com/nodejs/node-gyp
npm ERR! Ubuntu users please run: `sudo apt-get install g++ build-essential`
npm ERR! RHEL users please run: `yum install gcc-c++` and `yum groupinstall 'Development Tools'`
npm ERR! Alpine users please run: `sudo apk add python make g++`
npm ERR! sh: nodejs: command not found

npm ERR! A complete log of this run can be found in: /Users/russ/.npm/_logs/2023-11-17T09_08_42_283Z-debug-0.log

Hi @rgarner
I've had a quick go with the following combination:

Node.js v14.21.3 (with npm v6.14.18)
Python v3.10 (for node-gyp compatibility)

Regarding the errors, it looks like there were breaking changes in Python v3.11+ but v3.10 worked

@colinrotherham thanks! I installed pyenv, then pyenv install 3.10, which installed 3.10.13 and after pyenv local 3.10.13, tried again (I've also tried with 3.10.1), but I get the same npm ERR! ../src/fibers.cc:27:65: error: no member named 'kFinalizer' in 'v8::WeakCallbackType':
➜  accessible-autocomplete git:(main) ✗ npm install
npm WARN old lockfile
npm WARN old lockfile The package-lock.json file was created with an old version of npm,
npm WARN old lockfile so supplemental metadata must be fetched from the registry.
npm WARN old lockfile
npm WARN old lockfile This is a one-time fix-up, please be patient...
npm WARN old lockfile
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '<EMAIL_ADDRESS>npm WARN EBADENGINE   required: { node: '>=12.0.0 <16' },
npm WARN EBADENGINE   current: { node: 'v20.5.0', npm: '9.8.0' }
npm WARN EBADENGINE }
npm WARN deprecated<EMAIL_ADDRESS>This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-json-strings instead.
npm WARN deprecated<EMAIL_ADDRESS>This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead.
npm WARN deprecated<EMAIL_ADDRESS>This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead.
npm WARN deprecated<EMAIL_ADDRESS>This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.
npm WARN deprecated<EMAIL_ADDRESS>This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.
npm WARN deprecated<EMAIL_ADDRESS>See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated<EMAIL_ADDRESS>CircularJSON is in maintenance only, flatted is its successor.
npm WARN deprecated<EMAIL_ADDRESS>Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
npm WARN deprecated<EMAIL_ADDRESS>The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2
npm WARN deprecated<EMAIL_ADDRESS>Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
npm WARN deprecated<EMAIL_ADDRESS>The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm WARN deprecated<EMAIL_ADDRESS>babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.
npm WARN deprecated<EMAIL_ADDRESS>Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated<EMAIL_ADDRESS>See https://github.com/lydell/source-map-resolve#deprecated
npm WARN deprecated<EMAIL_ADDRESS>Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)
npm WARN deprecated<EMAIL_ADDRESS>this version had an improper engines field added, update to 1.1.1
npm WARN deprecated<EMAIL_ADDRESS>no longer maintained
npm WARN deprecated<EMAIL_ADDRESS>This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-unicode-property-regex instead.
npm WARN deprecated<EMAIL_ADDRESS>< 19.4.0 is no longer supported
npm WARN deprecated<EMAIL_ADDRESS><EMAIL_ADDRESS>is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.
npm ERR! code 127
npm ERR! path /Users/russ/dev/accessible-autocomplete/node_modules/fibers
npm ERR! command failed
npm ERR! command sh -c node build.js || nodejs build.js
npm ERR!  System Darwin 21.6.0
npm ERR! gyp ERR! command "/opt/homebrew/Cellar/node/20.5.0/bin/node" "/opt/homebrew/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--release"
npm ERR! gyp ERR! cwd /Users/russ/dev/accessible-autocomplete/node_modules/fibers
npm ERR! gyp ERR! node -v v20.5.0
npm ERR! gyp ERR! node-gyp -v v9.4.0
npm ERR! gyp ERR! not ok
npm ERR! node-gyp exited with code: 1
npm ERR! Please make sure you are using a supported platform and node version. If you
npm ERR! would like to compile fibers on this machine please make sure you have setup your
npm ERR! build environment--
npm ERR! Windows + OS X instructions here: https://github.com/nodejs/node-gyp
npm ERR! Ubuntu users please run: `sudo apt-get install g++ build-essential`
npm ERR! RHEL users please run: `yum install gcc-c++` and `yum groupinstall 'Development Tools'`
npm ERR! Alpine users please run: `sudo apk add python make g++`
npm ERR! sh: nodejs: command not found

npm ERR! A complete log of this run can be found in: /Users/russ/.npm/_logs/2023-11-17T10_45_49_459Z-debug-0.log

Ah sorry @rgarner are you able to run Node.js 14 on Apple Silicon?
This line tells me you're on a Node.js 20 release:
npm WARN EBADENGINE   current: { node: 'v20.5.0', npm: '9.8.0' }

Ah sorry @rgarner are you able to run Node.js 14 on Apple Silicon?
This line tells me you're on a Node.js 20 release:

I'll get nvm and try again! (it's compiling but it is a several MB wall of deprecations so far)
If it's the case that these versions are required to be in alignment for contribution, would it help to have a .python_version and a .node_version for development at the root?

@colinrotherham that's got it, thanks! npm test just finished running.

Thanks @rgarner that's great
Good point regarding Python, was new to me today that v3.11 broke node-gyp in Node.js v16's npm!
I'll see if we can add an update with this project under maintenance

For the purposes of context, I'm going to leave the log you get when you use the right node (14.x) with the wrong version (>=3.11) of Python, before adding a .python_version in a PR:
ValueError: invalid mode: 'rU' while trying to load binding.gyp
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/Users/russ/.nvm/versions/node/v14.21.3/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:351:16)
gyp ERR! stack     at ChildProcess.emit (events.js:400:28)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:285:12)
gyp ERR! System Darwin 21.6.0
gyp ERR! command "/Users/russ/.nvm/versions/node/v14.21.3/bin/node" "/Users/russ/.nvm/versions/node/v14.21.3/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--release"
gyp ERR! cwd /Users/russ/dev/accessible-autocomplete/node_modules/fibers
gyp ERR! node -v v14.21.3
gyp ERR! node-gyp -v v5.1.1
gyp ERR! not ok

I've avoided this issue by removing @wdio/sync in https://github.com/alphagov/accessible-autocomplete/pull/612/commits/eb5318c13befcd69a9913b9310b3ab6ddbb3259d as part of:

https://github.com/alphagov/accessible-autocomplete/pull/612


Even using with-db, the oui.tsv file still needs to be local.

Unless I've misunderstood how Oui::default is meant to work, the path assets/oui.csv still needs to be present whilst using the with-db feature flag. If I build an executable and move it somewhere it can't see that path, it bails saying that it can't find the file.
I cloned the repo, deleted this check, and now it does what I expect: to have the OUI database built in without needing the dir and CSV file near the executable.

You'r actually right. I'm sorry. I missed that out...
I initially did not have it, but then later I added just to check if that folder and the file remains. My bad.
I have removed that check now, and its updated including in crates.io with:
mac_oui = "0.3.1"
Thank you very much for pointing that out

No worries. Thanks so much for the prompt fix!
On Wed, 24 Feb 2021 at 13:44, marirs<EMAIL_ADDRESS>wrote:

Closed #1 https://github.com/marirs/mac-oui/issues/1.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/marirs/mac-oui/issues/1#event-4371021887, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAPIHYPQUV7FUTIVXRBDE53TAT7DVANCNFSM4YDDR2WA
.


Add a deletion safegaurd mechanism for csi resources

Addition to the based upon branch, adding a check to verify there is no PVs created by us prior deletion of the operator in order to prevent a scenario where dormant storage is present with no possible access by the user.

@bernerhat what's the update on this PR?

code still needs to be tested atm.

/hold

/lgtm

/unhold


Codegen: Production builds of Atlas are broken.

When building Atlas with NODE_ENV="production" Atlas components can't be imported into other applications.  Imports probably need a change so components can be imported correctly. Does not happen with developmemt builds.

https://github.com/DigitalRiver/react-atlas/pull/233

Fixed by Pato in above pull.


Add Nearley Grammar icon

Fixes none
Changes proposed:

[x] Add

Adds the .ne (Nearley grammar file) icon. Couldn't find an icon so I made my own one.

I strongly suggest to open an issue (please follow the instructions) for this and let us decide on the icon.

Just to reference the issue: #2079
Also the vscode-icons team is strongly against using letter for icons unless the official documentation made use of it.
So after a quick search: Nearly Proposed Logo.
Cheers!

Correction:
Name is Nearley not nearly.
extension is .ne not .nearly.

Don't worry only the icon name is wrong.


Bugfix: added new pages and relevent links

Description
A clear and concise description of what the PR does.

This PR does the following:

Adds new pages
Fixes support bar links

Related Issues
Link any related issues using the format Fixes #issue_number.
This helps to automatically close related issues when the PR is merged.

Placeholder: "Fixes #338"

Changes
List the detailed changes made in this PR.

Fixed a bug in support section

Checklist

[x] I have performed a self-review of my code
[x] I have commented my code, particularly in hard-to-understand areas
[x] My changes generate no new warnings
[x] I am working on this issue under GSSOC

@Suman373 Please add in hacktoberfest and gssoc labels

@Suman373 Please add in hacktoberfest and gssoc labels

Right now we are not opted in for hacktoberfest. Let the PA add the topic and then we will update the hacktoberfest  label and merge it so that u can get points accordingly.

@Trisha-tech  I'd really appreciate if can add in hacktoberfest-accepted label to my PR/MR


Mint Rune custom --postage

Hey,
is it right that the postage is to safe future tx of the inscription and can someone explain why the --postage is [default: 10000sat]?
I see some TX with postage of 330Sats for Rune Mints. What if i set the postage to 0?
Example:
ord --cookie-file /.cookie --data-dir /... wallet mint --fee-rate 12 --rune UNCOMMON.GOODS --destination <XYZ> --postage 330sats

Hi TheRealFuture42 - the postage is to set the size of the utxo.  The default is 10,000 sats and that is to make sure the utxo is big enough to be sent around and have the fees taken from itself without having to provide another utxo.  The postage is subject to the dust limit and so it can not be set beneath it.
In the future, please present questions like these in the Ordicord.  We have a #tech-support channel with lots of mods and trusted tech helpers who answer questions like this all the time.  You will usually receive a much quicker response then when posting to the Github.


How to bind select_refactor() to a key?

Thanks for creating the plugin! It works nicely when used through : command line. Unfortunately I have no idea how to map it to F6. Here's what I tried:
vnoremap <F6>    <cmd>lua require('refactoring').select_refactor()<CR>

I get the menu, but then I get the following error:
E5108: Error executing lua ...ah/.vim/plugged/plenary.nvim/lua/plenary/async/async.lua:14: The coroutine failed with this message: ....vim/plugged/refactoring.nvim/lua/refactoring/region.lua:153: attempt to get length of a nil value
stack traceback:
        [C]: in function 'error'
        ...ah/.vim/plugged/plenary.nvim/lua/plenary/async/async.lua:14: in function 'callback_or_next'
        ...ah/.vim/plugged/plenary.nvim/lua/plenary/async/async.lua:40: in function 'on_confirm'
        /usr/local/share/nvim/runtime/lua/vim/ui.lua:93: in function 'input'
        ...m/plugged/refactoring.nvim/lua/refactoring/get_input.lua:8: in function 'returned_function'
        ...ah/.vim/plugged/plenary.nvim/lua/plenary/async/async.lua:26: in function 'callback_or_next'
        ...ah/.vim/plugged/plenary.nvim/lua/plenary/async/async.lua:40: in function 'step'
        ...ah/.vim/plugged/plenary.nvim/lua/plenary/async/async.lua:43: in function 'execute'
        ...ah/.vim/plugged/plenary.nvim/lua/plenary/async/async.lua:113: in function <...ah/.vim/plugged/plenary.nvim/lua/plenary/async/async.lua:112>
        ...ugged/refactoring.nvim/lua/refactoring/pipeline/init.lua:70: in function 'run'
        ...lugged/refactoring.nvim/lua/refactoring/refactor/106.lua:535: in function <...lugged/refactoring.nvim/lua/refactoring/refactor/106.lua:524>
        ...h/.vim/plugged/refactoring.nvim/lua/refactoring/init.lua:31: in function 'refactor'
        ...h/.vim/plugged/refactoring.nvim/lua/refactoring/init.lua:49: in function 'select_refactor'
        [string ":lua"]:1: in main chunk

I tried asking on #neovim IRC chat, but unfortunately I got no response there.

Hi @d33tah. Thanks for opening an issue. Apologies for the late reply, but I just tried this map and it seems to be working for me. Are you still having this issue?

@pranavrao145 yup, still having it. Here's my neovim version:
NVIM v0.8.0-dev+377-gae02c02f1
Build type: RelWithDebInfo
LuaJIT 2.1.0-beta3
Compilation: /usr/bin/gcc-11 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -DNVIM_TS_HAS_SET_MATCH_LIMIT -DNVIM_TS_HAS_SET_ALLOCATOR -O2 -g -Og -g -Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99 -Wshadow -Wconversion -Wdouble-promotion -Wmissing-noreturn -Wmissing-format-attribute -Wmissing-protbute=pure -Wsuggest-attribute=const -Wsuggest-attribute=malloc -Wsuggest-attribute=cold -Wvla -fstack-protector-strong -fno-common -fdiagnostics-color=always -DINCLUDE_GENERATED_DECLARATIONS -D_GNU_SOURCE -DNVIM_MSGPACK_HAS_FLOAT32 -DNVIM_UNIBI_HAS_VAR_FROM -DMIN_LOG_LEVEL=3 -I/home/runner/work/neovim/neovim/build/cI/home/runner/work/neovim/neovim/.deps/usr/include -I/usr/include -I/home/runner/work/neovim/neovim/build/src/nvim/auto -I/home/runner/work/neovim/neovim/build/include
Compiled by runner@fv-az97-493

Features: +acl +iconv +tui
See ":help feature-compile"

   system vimrc file: "$VIM/sysinit.vim"
  fall-back for $VIM: "/share/nvim"

Run :checkhealth for more info

Let me know if you need any more details.

@d33tah Please provide which refactor option you selected from select_refactors and a code snippet of what you are trying to refactor. We cannot debug from the current provided information.

@teddylear
Here's a recording:
https://asciinema.org/a/105AndA80LZhtyKhwLtWFx7kO
And here's the codebase:
https://github.com/hakierspejs/ksiemgowy/tree/autocorrect_based_on_reported_balance
I'm ready to provide any more needed information :)

@d33tah I found the issue. Currently you don't have any region selected because you are still in visual mode when trying to call Extract Function and not in normal mode. For most languages this would result in a "Scope is nil" error, but not for python as I just confirmed locally. So that means for Extract Function you need to go from visual mode back to normal mode. I can add a check for Extract Function to make this a more explicit error.

@d33tah I merged a fix to this issue making the error much more clear. I'm going to close this issue for now, please re-open if it's not resolved.


[Event Request] Table 5876 Phys. Invt. Order Line - OnBeforeFindsetOnTestQtyRecorded

Hi Team,
In table 5876 we need new publisher in procedure TestQtyRecorded:

    [IntegrationEvent(false, false)]
    local procedure OnBeforeFindsetOnTestQtyRecorded(var PhysInvtOrderLine: Record "Phys. Invt. Order Line"; var PhysInvtRecordLine: Record "Phys. Invt. Record Line")

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


Review of ORM design

Description:
$subject

[Update] We had the second round of review this week. In the meeting, we decided to look into different applications where we use hibernate to connect to the database and create a requirement doc. We are currently working on it

We have finalised the initial design for Ballerina persist layer. Next step is to create a POC for the design.
Design Document: https://docs.google.com/document/d/1hDa9pTZYmT3GbGdUrFZCaOenGIsTc5P9/edit#


Too many files in the repository.

I think people are sending pull requests at the eleventh hour. lol


Issue #4125 fix

A small css rule change to allow the twitter follower count box to be fully seen, rather than being cut off

thanks!


ng-click should do some helpful accessibility things by default

I often see naive developers doing this:
Click me

Click me

What would really be better is this:
<button ng-click="..." class="link">Click me</button>
<button ng-click="..." class="reset">Click me</button>

plus css styles to make the classes do the right thing.
However, it seems that this is too much to ask of developers.  To help folks out would be nice if ng-click automatically assigned the correct accessibility attributes if not already specified (role="button" tabindex="0") and handle all the right input handling (e.g. pressing enter, spacebar) to communicate to assistive technology that this element is actually a button , unless a role is explicitly specified already.
This would likely increase code size a little bit, so maybe it makes sense to put this extra logic into the ngAria module so that it is opt-in.

@DmitryEfimenko I've yet to think up a good reason to not use a real element when needed eg. button or anchor etc. and if I did I sure wouldn't sleep well that night :) But giving it some thought you could draw up a directive to handle such with ngAria: http://codepen.io/joe-watkins/pen/azzraM


Keep document updated

(A place holder ticket for document updated)

I decided to keep documents updated in wiki space, not in source code.
https://github.com/dakusui/jcunit/wiki
I don't need this ticket any more.


(Feature) Balance update with polling

164221385
Replace wss subscription to events with event polling. As filter is not working properly (was returning a subset of the total list of filters), I had to implement an in-client filter to replace.
Implemented undux store. Tested and implemented in NameForm. Replaced AccountProvider with undux store.
Updated snapshots for the tests. Note: balance and entitlement are not being updated. This need to be fixed in a future.

@dminones, please feel free to adapt the tests, as I wasn't able to do so. The further I can go, I got an error stating that the undux Container wasn't available.
In regard to the store. I've moved the logic that was inside AppNavigation to a utils, and triggers it after the Account is created/ready.
Please have a look and let me know your thoughts.
@sirpy, same for you.
Thanks!

Suggested changes here @fernandomg

@fernandomg i've tested and there in did seems to be some bug with getPastEvents('Transfer').
It works ok with other contracts such as getPastEvents('PaymentWithdraw')


feat: Add ECO-Pass KIT

Description
With this PR we want to integrate the ECO-Pass KIT into the Tractus-X Website.
The KITs repository can be found here
Pre-review checks
Please ensure to do as many of the following checks as possible, before asking for committer review:

[x] DEPENDENCIES are up-to-date. Dash license tool. Committers can open IP issues for restricted libs.
- there is no code present within this KIT
[x] Copyright and license header are present on all affected files

LGTM - please add legal notice to your pictures asap. https://eclipse-tractusx.github.io/docs/release/trg-7/trg-7-07

The legal notice files are within the resource directories. The are named like this ..license as described in TRG-07-08 for Self-Created Images


module 'pathlib' has no attribute 'os'

Description
when scraping, all downloads are failing. looking at the log file reveals

this is happening regardless of config settings, even with the default config

OS: Windows 10
Versions 3.12.9 & 3.12.8 (i tried downgrading to test)
python 3.13.1

Do not use python 3.13.x. Many here have had issues using it. Recommend using python 3.11.6 which seems to be the most stable for this scraper.

i did not know that, ill try it

yup, that was it. Thank you!


Add static analysis

so this way people can run these tools locally, before they hit CI.

@Nyholm thats all fair! I tend to stick to by project installs for some reason. I will merge for the moment, but like you said if the dependencies get messy we can definitely remove it.


PartialEq

I might be able to solve this problem #540 like this, but

I wonder if this PartialEq is important, can i remove it?
#[derive(Clone, Debug, PartialEq, DeriveEntityModel)]
#[sea_orm(table_name = "person")]
pub struct Model {
    #[sea_orm(primary_key, auto_increment = false)]
    pub id: i32,
    pub name: String,
    #[sea_orm(ignore)]
    pub animals: Vec<Animal>,
}

Or I can fix this by Custom Active Model?

I wonder if this PartialEq is important, can i remove it?

You can safely remove it.

I wonder if this PartialEq is important, can i remove it?

You can safely remove it.

Thank you very much for your reply


fix graphql linting

What is the context of this PR?
Noticed we weren't having linting for graphql files anymore. This fixes that
How to review
Purposefully add an error to a graphql file, lint, ensure it complains

 Fix graphql linting


Deploy vm without postfix number in name

This will allow to create VM's hostname and name without postfix number when var.vm_count == 1.

Hello,
Can you modify to :
name             = "${var.vm_name_prefix}${var.vm_count == 1 ? "" : "-${count.index}"}"
Without the hyphen when var.vm_count == 1.
Thank you

@Antoine98 You are totally right. Changes were made. Thank you!

I haven't maintained this module in a very long time, and I don't have the vSphere infra to test any changes on, so I'm closing this in preparation of archival.
If you found the module useful, feel free to fork it!


v1.2.5

Judging from the amount of commits it seems the master branch was never used? Either way. Merging this.


fix: add variables and glossary items to TOC

 Demo
🎫 Ticket

🧰  Changes
Previously, if adding a variable or glossary item to a heading, it would
not get rendered in the table of contents. This PR adds glossary terms
and variables to the table of contents parser to fix that.

This PR was released!
🚀 Changes included in v6.25.0-next.2

This PR was released!
🚀 Changes included in v6.25.0-next.2

This PR was released!
🚀 Changes included in v6.25.0

This PR was released!
🚀 Changes included in v6.25.0


fix: load the tsconfig extends with the specific extension name. (support for<EMAIL_ADDRESS>

support load the tsconfig extends like that The following code is shown
{
  "extends"<EMAIL_ADDRESS>  "compilerOptions": {
    "module": "CommonJS",
    "declaration": true,
  },
}

branch is created from 1.x

fix the issue #112 in<EMAIL_ADDRESS>

@fengmk2<EMAIL_ADDRESS>


Rename C# string extensions to follow GDScript

breaks-compat
Follow up to d9d77291bca8dd1e87aa4d9e40de96d99e5ef1f6.
Renames String.Extension -> String.GetExtension() and String.BaseName() -> String.GetBaseName().
This makes those methods more consistent with GDScript and with the GetBaseDir method.

Thanks!


Converting to json

Hello. When I am trying to call JSON.stringify on the root, I get "Converting circular structure to JSON" Error.

Hi, I think this may help you: http://stackoverflow.com/questions/30193137/transforming-a-tree-back-to-json-using-tree-model-js


support for deploying different branches

gridify works right now by cloning the default branch and deploying the services specified in Procfile. I think it would be great if the user could deploy using another branch he is developing on instead of having to merge it into default branch.

we can address this one in another milestone


fix(deps): update terraform terraform-ibm-modules/iam-account-settings/ibm to v2.10.5

This PR contains the following updates:

Package
Type
Update
Change

terraform-ibm-modules/iam-account-settings/ibm (source)
module
patch
2.10.4 -> 2.10.5

Release Notes

terraform-ibm-modules/terraform-ibm-iam-account-settings (terraform-ibm-modules/iam-account-settings/ibm)
v2.10.5
Compare Source
Bug Fixes

deps: update terraform terraform-ibm-modules/cbr/ibm to v1.23.5 (#336) (f6613bd)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline


Support for configuring prometheus metrics collector

CloudWatch Agent already supports this: https://github.com/aws/amazon-cloudwatch-agent/blob/main/translator/config/schema.json#L757C13-L758C27
It should be possible to give the prometheus configuration for agent to use instead of the file pointed by "prometheus_config_path" property.
Currently one needs to deploy another CloudWatch agent just to collect Prometheus metrics.

There is a current feature gap with the amazon-cloudwatch-observability helm chart with prometheus. We are aware of the issue and are discussing it internally.
In the meantime if you wanted prometheus metrics you would have to use something like this: https://github.com/aws-samples/amazon-cloudwatch-container-insights/tree/536ba3dd2b8af060182fad4e5972568b2ee9452c/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus


[zh] Concepts files to sync for v1.21

Below are files out-of-sync as of 2021-04-22 in v1.21.
The list can be divided into several groups for work.

Concepts/Configuration

5	5	content/en/docs/concepts/configuration/overview.md
4	3	content/en/docs/concepts/configuration/configmap.md
17	22	content/en/docs/concepts/configuration/secret.md
9	20	content/en/docs/concepts/configuration/manage-resources-containers.md

Concepts/Scheduling

24	13	content/en/docs/concepts/scheduling-eviction/assign-pod-node.md
4	6	content/en/docs/concepts/scheduling-eviction/scheduling-framework.md
8	6	content/en/docs/concepts/scheduling-eviction/scheduler-perf-tuning.md
1	1	content/en/docs/concepts/scheduling-eviction/resource-bin-packing.md
2	0	content/en/docs/concepts/scheduling-eviction/kube-scheduler.md
1	1	content/en/docs/tasks/manage-gpus/scheduling-gpus.md

Concepts/Storage

14	8	content/en/docs/concepts/storage/ephemeral-volumes.md
5	28	content/en/docs/concepts/storage/storage-capacity.md
2	2	content/en/docs/concepts/storage/volume-pvc-datasource.md
2	2	content/en/docs/concepts/storage/storage-classes.md
19	15	content/en/docs/concepts/storage/volumes.md

Service (1)

57	3	content/en/docs/concepts/services-networking/network-policies.md
21	26	content/en/docs/concepts/services-networking/endpoint-slices.md
16	16	content/en/docs/concepts/services-networking/dual-stack.md

Service (2)

35	4	content/en/docs/concepts/services-networking/service.md
32	30	content/en/docs/concepts/services-networking/service-topology.md

Service (3)

4	3	content/en/docs/concepts/services-networking/ingress-controllers.md
14	2	content/en/docs/concepts/services-networking/ingress.md
40	12	content/en/docs/concepts/services-networking/dns-pod-service.md

Pods

2	3	content/en/docs/concepts/workloads/pods/pod-lifecycle.md
1	1	content/en/docs/concepts/workloads/pods/pod-topology-spread-constraints.md
4	4	content/en/docs/concepts/workloads/pods/disruptions.md
4	4	content/en/docs/concepts/workloads/pods/init-containers.md
2	2	content/en/docs/concepts/workloads/pods/ephemeral-containers.md

Job

148	16	content/en/docs/concepts/workloads/controllers/job.md

Workload Controllers

3	3	content/en/docs/concepts/workloads/controllers/ttlafterfinished.md
9	4	content/en/docs/concepts/workloads/controllers/cron-jobs.md
42	0	content/en/docs/concepts/workloads/controllers/replicaset.md
10	9	content/en/docs/concepts/workloads/controllers/replicationcontroller.md

Concepts/Architecture

2	0	content/en/docs/concepts/architecture/cloud-controller.md
6	6	content/en/docs/concepts/architecture/control-plane-node-communication.md
25	8	content/en/docs/concepts/architecture/nodes.md
2	2	content/en/docs/concepts/overview/components.md

Concepts/Extend Kubernetes

1	1	content/en/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins.md
61	3	content/en/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins.md
3	3	content/en/docs/concepts/extend-kubernetes/api-extension/custom-resources.md
1	3	content/en/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation.md
9	10	content/en/docs/concepts/extend-kubernetes/_index.md

Concepts/Containers

22	6	content/en/docs/concepts/containers/images.md
3	2	content/en/docs/concepts/containers/runtime-class.md
1	0	content/en/docs/concepts/containers/container-environment.md
16	17	content/en/docs/concepts/containers/container-lifecycle-hooks.md

Concepts/Objects

4	1	content/en/docs/concepts/overview/working-with-objects/names.md
13	3	content/en/docs/concepts/overview/working-with-objects/namespaces.md
4	1	content/en/docs/concepts/overview/working-with-objects/labels.md
2	2	content/en/docs/concepts/overview/working-with-objects/object-management.md

Concepts/Policy

82	9	content/en/docs/concepts/policy/resource-quotas.md
3	1	content/en/docs/concepts/policy/pod-security-policy.md

Concepts/Admin

19	1	content/en/docs/concepts/cluster-administration/system-metrics.md
4	1	content/en/docs/concepts/cluster-administration/logging.md
1	0	content/en/docs/concepts/cluster-administration/addons.md

/language zh
/triage accepted
/help

I will update this section：

Concepts/Configuration

5	5	content/en/docs/concepts/configuration/overview.md
4	3	content/en/docs/concepts/configuration/configmap.md
17	22	content/en/docs/concepts/configuration/secret.md
9	20	content/en/docs/concepts/configuration/manage-resources-containers.md

/assign

/remove-help

Great we have got this done.
/close


IntervalJoin Operator

PR for issue #1206. As Spark defines range join, currently I implemented a kind of join with join condition the second table join key < first table join key the second table join key + constant interval (bound value can be included).
Suppose there are two tables:

order:

time_create
order_amount

2021-07-01
1

2021-07-02
2

2021-07-03
3

2021-07-10
4

2021-07-14
4

2021-07-15
5

2021-07-20
5

week:

time_start
week

2021-07-01
1

2021-07-08
2

2021-07-015
3

We would like to find out which week the order is belongs to, then we need to write SQL like:
SELECT * FROM order JOIN week order.time_create >= week.time_start AND order.time_create < week.time_start + 7
Then we can choose left bound included, right bound excluded, and time interval type as day, interval value = 7.
gif demo:

@Yicong-Huang Hello, sorry for the late update. I refactored the code to make it cleaner and understandable. Please see if there are some other problems


Unable to extend Std__ libraries

Environment

name
version

IDEA version         LATEST

Luanalysis version
[1.2.2

OS
MacOS

What are the steps to reproduce this issue?
math.additionalFunction = function()

end

What happens?
An error saying "No such member 'additionalFunction' found on type 'std__Math' " and seemingly no way to extend the math class with annotations.
math = math ---@class myMath : std__Math`

doesn't work
---@class myMath : std__Math

math = math ---@type myMath

also doesn't work
What were you expecting to happen?
The ability to extend the math class or any other standard library in some way.
math is now always seen as std__Math (by type infer and error inspection) and as far as I can see there's no way to change this

This is a big issue for me as well, as I was using EmmyLua before and thought about migrating to Luanalysis as it offers a few nicer things. However my code base heavily extends 'table' which now isn't recognized by Luanalysis and thus has errors all over the place. Can anyone tell me where in the code this change from EmmyLua is made, then I could change that myself?


trim cron string

https://issues.redhat.com/browse/RHOAIENG-9537
Description
the user can end up with an error while submitting a scheduled run because of white space to avoid this I have trim white spaces from cron string

How Has This Been Tested?

Create a scheduled run
Change the Trigger type to cron
at @every 5m with a space at the end
check if the scheduled run is created successfully without any error

Test Impact

Request review criteria:

Self checklist (all need to be checked):

[x] The developer has manually tested the changes and verified that the changes work
[x] Commits have been squashed into descriptive, self-contained units of work (e.g. 'WIP' and 'Implements feedback' style messages have been removed)
[x] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[ ] The developer has added tests or explained why testing cannot be added (unit or cypress tests for related changes)

If you have UI changes:

[ ] Included any necessary screenshots or gifs if it was a UI change.
[ ] Included tags to the UX team if it was a UI/UX change.

After the PR is posted & before it merges:

[ ] The developer has tested their solution on a cluster by using the image produced by the PR to main

/lgtm


Hardcoded Python location in bin.py and helper.py

The shebang in the bin.py and helper.py programs uses a hardcoded Python location instead of using env. Switching this over would allow asafw to work on platforms that don't put python3 in /usr/bin, like on macOS.

Thanks Joe, we hadn't tested on OS X. Glad you found a fix. Feel free to send any other PR if you have any other problem.


Why don't the code examples in the README call apply()?

I was trying to use this library to intercept an HTTP response on a Node app. I followed the code examples in the README and was confused that nothing was being intercepted.
I was about to give up on the library as broken. Then I noticed that the interceptors have an apply() method. I added this to my code and got my intercepted responses!
Why don't the code examples in the README call apply()? Is it not always necessary? Is it just assumed that the user will somehow know to call it? It would be nice to have this clarified in the readme.

Hey, @def-gthill. Oh wow, what an oversight on my part. Those examples should use .apply() whenever they showcase the interception. There should be no assumptions when it comes to using it.

Awesome, thanks!

Released: v0.17.4 🎉
This has been released in v0.17.4!

📄 Release notes
📦 npm package

Make sure to always update to the latest version (npm i @mswjs/interceptors@latest) to get the newest features and bug fixes.

Predictable release automation by @ossjs/release.


Fix #5328. Right side icon label & only icon label

Fix for #5328.
Demo: https://semantic-ui-icon-labels-svkkckiprz.now.sh/

This was fixed in https://github.com/fomantic/Fomantic-UI/pull/388 and releases in Fomantic UI v.2.7.2, a community fork of Semantic UI.


Fixing issue with commit search results deserialization #601

As part of this cleanup, can you please add HTMLURL to type Commit struct in git_commits.go (I cam across this while looking at the parents response)?
Also, in search.go can you please rename Total in type CommitsSearchResult struct to TotalCount for consistency?
Since these are breaking API changes, we also need to bump the version number.
Thank you!

@gmlewis All fine for TotalCount.
For HTMLURL in Commit, I think it's fine right now.
If you take a look at https://developer.github.com/v3/search/#search-commits results are represented as CommitResult which does have HTMLURL
type CommitResult struct {
       ...
        Commit      *Commit  `json:"commit,omitempty"`
	HTMLURL     *string     `json:"html_url,omitempty"`
	....
}

Also for RepositoryCommit as a result of https://developer.github.com/v3/repos/commits/#get-a-single-commit
type RepositoryCommit struct {
	...
        Commit      *Commit  `json:"commit,omitempty"`
        HTMLURL     *string  `json:"html_url,omitempty"`
	...
}

So, as I understand both result structures are wrappers around a commit with a specific HTMLURL, this is inline with github docs.
Also parents in get single commit don't have html_url
...
"parents": [
    {
      "url": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e",
      "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e"
    }
  ],
...

As far as I see in docs for other endpoints parents array is always just a reference to parent commits it never contains actual commit data, so maybe the best thing would be to create new struct to that represents that like:
type CommitReference {
        SHA *string  `json:"sha,omitempty"`
        URL *string  `json:"url,omitempty"`
        HTMLURL *string  `json:"html_url,omitempty"`
}

and change RepositoryResult and CommitResult to be:
type RepositoryCommit struct {
        ...
	Parents     []CommitReference `json:"parents,omitempty"`
        ...
}

type CommitResult struct {
        ...
	Parents     []CommitReference `json:"parents,omitempty"`
        ...
}

What do you think?

Also, in search.go can you please rename Total in type CommitsSearchResult struct to TotalCount for consistency?

@gmlewis, I don't think we should do this. At least not in this PR. It makes things inconsistent. Look at the rest of search.go:
// RepositoriesSearchResult represents the result of a repositories search.
type RepositoriesSearchResult struct {
	Total             *int         `json:"total_count,omitempty"`
	IncompleteResults *bool        `json:"incomplete_results,omitempty"`
	Repositories      []Repository `json:"items,omitempty"`
}

// IssuesSearchResult represents the result of an issues search.
type IssuesSearchResult struct {
	Total             *int    `json:"total_count,omitempty"`
	IncompleteResults *bool   `json:"incomplete_results,omitempty"`
	Issues            []Issue `json:"items,omitempty"`
}

// UsersSearchResult represents the result of a users search.
type UsersSearchResult struct {
	Total             *int   `json:"total_count,omitempty"`
	IncompleteResults *bool  `json:"incomplete_results,omitempty"`
	Users             []User `json:"items,omitempty"`
}

Do you see how it'd be inconsistent to change Total to TotalCount only in CommitsSearchResult?
// CommitsSearchResult represents the result of a commits search.
type CommitsSearchResult struct {
	TotalCount        *int            `json:"total_count,omitempty"`
	IncompleteResults *bool           `json:"incomplete_results,omitempty"`
	Commits           []*CommitResult `json:"items,omitempty"`
}

// CodeSearchResult represents the result of a code search.
type CodeSearchResult struct {
	Total             *int         `json:"total_count,omitempty"`
	IncompleteResults *bool        `json:"incomplete_results,omitempty"`
	CodeResults       []CodeResult `json:"items,omitempty"`
}

We've discussed this at https://github.com/google/go-github/pull/520#discussion_r98727959 previously.
@gmlewis Can you open an issue about this instead, so we can come to a decision and address all similar structs at once? But let's keep it out of scope of this PR.
@amirilovic Please revert TotalCount to Total for now.

OK, SGTM.
Opened: https://github.com/google/go-github/issues/605
Sorry for the trouble, @amirilovic.

About HTMLURL in Commit, I agree with @gmlewis that we should add it there.
@amirilovic, it's pretty subtle as to why.
If you look at our https://godoc.org/github.com/google/go-github/github#GitService.GetCommit method, it returns Commit. It maps to https://developer.github.com/v3/git/commits/#get-a-commit GitHub API endpoint, and its example output does not contain a "html_url" field:
{
  "sha": "7638417db6d59f3c431d3e1f261cc637155684cd",
  "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/7638417db6d59f3c431d3e1f261cc637155684cd",
  "author": {
    "date": "2014-11-07T22:01:45Z",
    "name": "Scott Chacon",
    "email"<EMAIL_ADDRESS>  },
  "committer": {
    "date": "2014-11-07T22:01:45Z",
    "name": "Scott Chacon",
    "email"<EMAIL_ADDRESS>  },
  "message": "added readme, because im a good github citizen",
  "tree": {
    "url": "https://api.github.com/repos/octocat/Hello-World/git/trees/691272480426f78a0138979dd3ce63b77f706feb",
    "sha": "691272480426f78a0138979dd3ce63b77f706feb"
  },
  "parents": [
    {
      "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/1acc419d4d6a9ce985db7be48c6349a0475975b5",
      "sha": "1acc419d4d6a9ce985db7be48c6349a0475975b5"
    }
  ]
}

However, GitHub API documentation is not always 100% up to date and does not always show all fields that the real API returns. This is an example of that.
If you hit that endpoint for real, it includes "html_url" field. For example, try:
https://api.github.com/repos/octocat/Hello-World/git/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d
{
  "sha": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d",
  "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d",
  "html_url": "https://github.com/octocat/Hello-World/commit/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d",
  "author": {
    "name": "The Octocat",
    "email"<EMAIL_ADDRESS>    "date": "2012-03-06T23:06:50Z"
  },
  "committer": {
    "name": "The Octocat",
    "email"<EMAIL_ADDRESS>    "date": "2012-03-06T23:06:50Z"
  },
  "tree": {
    "sha": "b4eecafa9be2f2006ce1b709d6857b07069b4608",
    "url": "https://api.github.com/repos/octocat/Hello-World/git/trees/b4eecafa9be2f2006ce1b709d6857b07069b4608"
  },
  "message": "Merge pull request #6 from Spaceghost/patch-1\n\nNew line at end of file.",
  "parents": [
    {
      "sha": "553c2077f0edc3d5dc5d17262f6aa498e69d6f8e",
      "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/553c2077f0edc3d5dc5d17262f6aa498e69d6f8e",
      "html_url": "https://github.com/octocat/Hello-World/commit/553c2077f0edc3d5dc5d17262f6aa498e69d6f8e"
    },
    {
      "sha": "762941318ee16e59dabbacb1b4049eec22f0d303",
      "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/762941318ee16e59dabbacb1b4049eec22f0d303",
      "html_url": "https://github.com/octocat/Hello-World/commit/762941318ee16e59dabbacb1b4049eec22f0d303"
    }
  ]
}

Also note that parents have "html_url" field too.
So, Commit should have HTMLURL.
They've probably added it more recently, and didn't update their old documentation examples.

@shurcooL Good point.

@shurcooL Anything else that needs to be done here?

Merging.


Because  of react-native-screen TextInput.onChangeText called with outdated value

Hello. I find a really strange bug.
Switching between screens lead to additional call of TextInput.onChangeText.
Scenario: Se have 2 screens:

Open Screen 1 with TextInput.
Redirect to Screen 2.
Redirect back to Screen 1 and in the same time change value of TextInput.

Expected behavior: input value should be changed.
Actual behavior: input value is not changed.
Repository with reproduce:
https://github.com/vrozaev/react-native-screens-text-input-bug-reproduce

I had the same problem with react-native 0.59.5 and react-native-screens alpha 22.
this.setState({ text }) should not invoke onChangeText function.

Thanks for preparing the repro app, it's been very helpful wit tracking this issue down. Managed to fix it in #313 and will publish it in the next release (likely in a couple of days)

Closing as the fix has been published on npm already. In case you still experience this problem please comment here or start a new issue.


CP3108 Staff Dashboard - Backend Modifications for Assessment Uploader

Context
This PR is for modifying the backend API to support the Assessment Uploader component for the CP3018 Staff Dashboard project. The Assessment Uploader, also called the GroundControl, provides an interface for staff to manage assessments for the course. Staff can upload, delete, publish or update assessments through this interface.
Implementation

Added multiple routes to aid with the uploading, deleting, publishing and updating of assessments.
Modified and added various methods in xml_parserand in assessments to handle the additional routes. The 'parse_xml' method now returns the error message if there is any error in parsing.
Modified how the is_published field for assessments work. Unpublished assessments are now viewable by staff and admin.
Assessments have the 'is_published' field set to false by default when it is parsed.
Changed the all_published_assessments in cadet/assessments/assessments.ex to all_assessments. Returns all assessments/all published assessments depending on the role of the user.
Added a new field, isPublished, to the assessment overview.
XML files for assessments no longer require the 'startdate' and 'enddate' tags. The assessments will now have a default start and end date relative to the time it was uploaded at.
Existing tests have been modified to accommodate the modifications made.

Other Information
Corresponding PR to cadet-frontend: PR 1080
More info on the wiki: Assessment Uploader

Pull Request Test Coverage Report for Build 2904

98 of 124 (79.03%)  changed or added relevant lines in 5 files are covered.
3 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-1.6%) to 90.023%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

lib/cadet_web/controllers/assessments_controller.ex
30
36
83.33%

lib/cadet/assessments/assessments.ex
45
65
69.23%

Files with Coverage Reduction
New Missed Lines
%

lib/cadet/jobs/xml_parser.ex
3
92.5%

Totals

Change from base Build 2901:
-1.6%

Covered Lines:
1155

Relevant Lines:
1283

💛  - Coveralls


onChange is not called if user removes date via text input manually

If the user uses the text input and manually erases the date, onChange is never called to reflect this, leaving undefined / false values as possibly undetectable.
Expected Behavior

If the text input is manually cleared, onChange should be called with undefined values.
If the text input contains an invalid date, it could perhaps return an error saying so.

Current Behavior

If the text input is manipulated to contain an invalid date, or no date at all, the onChange event never fires.

Steps to Reproduce (for bugs)

attach a console statement to the onChange handler to verify it runs
choose a date using the date picker.
using the text input manually alter the date - invalid values or blank values won't trigger onChange

Context
Although there is the "x" button, users still get confused as to why clearing out the date manually doesn't work.
Your Environment

Version used: v. 5.0.1
Browser Name and version: Safari
Operating System and version (desktop or mobile): mac sierra

just covering my bases here but sorry if I'm being dumb and just missing some obvious option. Thanks!

There is the onBlur()-function which you could use to detect if the user leaves focus and then do a manual check of the value.
...
value={this.state.date}
onBlur={(e) => {
        const typedDate = new Date(e.target.dataset.formattedvalue);
        this.setState({date: typedDate})
}}
...

@p4sI  if user clicks a button directly after fill the datepicker onBlur never is going to be trigger.