update efficiency of calculating binomial coefficients

I can make a formal PR/Issue, but just sitting on my phone talking with chatGPT trying to figure out how to efficiently calculate binomial coefficients,I was looking at how you solve binomial coefficients in this package; @stdlib/math-base-special-binomcoef, and was wondering if a solution such as this would be better?
function binomialCoefficientLog(n, k) {
  if (k > n) return 0;
  if (k === 0 || k === n) return 1;

  let logSum = 0;
  for (let i = 0; i < k; i++) {
    logSum += Math.log(n - i) - Math.log(i + 1);
  }

  return Math.exp(logSum);
}

This basically breaks it down to it's most simplest form (with log for maintaining precision) by stopping the loop once we reach k, so only calculating necessary values. Basically O(k) time complexity and O(1) space complexity.
Obviously error handling would need to be added but in a nutshell this is what I was thinking.

@blazeshomida Thanks for opening this issue. The main concern I have for your proposed implementation is precision loss. Especially for large n and k, you will likely have significant error accumulation. The current implementation attempts to minimize error.

@kgryte So I've just done some simple testing in codesandbox, and I see your point with precision loss because of the use of logarithms. However, with a slight revision, you can achieve a closer result to what you're currently using, although I have seen slight differences near the end with very large numbers.
This approach sacrifices a bit of precision when reaching numbers larger than e, but any result smaller than that is accurate. It's not so much an update to make it better, just a slightly different approach, trading off precision for efficiency.
function binomialCoefficient(n: number, k: number) {
  if (k > n) return 0;
  if (k === 0 || k === n) return 1;
  if (n - k < k) k = n - k;

  let result = 1;
  for (let i = 0; i < k; i++) {
    result *= (n - i) / (i + 1);
  }
  return result;
}

This function leverages symmetry and calculates only necessary values up to k, achieving O( k ) time complexity and O( 1 ) space complexity. While it may introduce slight precision loss for very large numbers, it offers an efficient alternative for most practical purposes.

Some related discussion: https://github.com/stdlib-js/stdlib/issues/1155.
There may be an opportunity for adding a "fast" and less accurate version to @stdlib/math/base/special/fast, which is where we house other similar functions. In that case, I'd be slightly more inlined to simply use our older implementation (see https://github.com/stdlib-js/stdlib/blob/d54143e5d29e8c320914df3e989dab7f923a5b31/lib/node_modules/%40stdlib/math/base/special/binomcoef/lib/main.js).


YUNIKORN-585: Create a Failing app state in shim side

What is this PR for?
Create a "Failing state" for the application in the shim side and take care of corresponding events transition.
What type of PR is it?

[ ] - Improvement

Todos

[ ] - Task

What is the Jira issue?
https://issues.apache.org/jira/browse/YUNIKORN-585
How should this be tested?
Screenshots (if appropriate)
Questions:

[ ] - The licenses files need update.
[ ] - There is breaking changes for older versions.
[ ] - It needs documentation.

@manirajv06  I restarted the tests, but it failed again. Can you please investigate on the cause of the failure?

@manirajv06 I restarted the tests, but it failed again. Can you please investigate on the cause of the failure?

It is complaining about "key", "operator" etc as unknown fields. I don't think it is related to this change.

@kingamarton as we discussed earlier, travis errors not related to this change. Can we take a final look and commit?

@kingamarton as we discussed earlier, travis errors not related to this change. Can we take a final look and commit?

I restarted the precommit tests and now there are some unit test failures, can you please check them?


Initial change for new clusterCurator controller

Signed off by @jnpacker
Issue Ref: https://github.com/open-cluster-management/backlog/issues/9911
Resource Profile Ref:

Supports running the original controller binary and the new controller binary
Adjust the resource values of the controller deployment for the new Controller binary

/hold

Wait for CRD

CRD is delivered.
The chart has been adjusted to work with old and new binaries
Tested the chart still deploys fine with old binaries
/unhold
/cc @hanqiuzh @leena-jawale

/lgtm


FactoryBot::AttributeDefinedStatically improvement

I agree that we should declare attribute values as blocks if attribute values are method calls
# bad
kind [:active, :rejected].sample

# good
kind { [:active, :rejected].sample }

# bad
closed_at 1.day.from_now

# good
closed_at { 1.day.from_now }

but I don't think it's necessary if attribute values are static, like
# I don't think it's bad
count 1

# I don't think it's good
count { 1 }

If you think it's correct, I'll send a PR.

We used to have a FactoryBot/StaticAttributeDefinedDynamically cop that checked this exact thing. But it was removed in rubocop-rspec v1.28.0 when FactoryBot/AttributeDefinedStatically was added – see #666 – as a consequence of FactoryBot deprecating static attributes.


Dynamic convolution draft

Info

Make the reference implementation of Convolution work with dynamic shapes
Depends on #1199
Disables some reference compile passes when shape is dynamic
Runs compute_shape() during eval() when the instruction has a dynamic output shape

Issues/TODO

ONNX parser handle unknown shape to dynamic shape
Rerun passes when shape given?
Memoize the compute_shape()?
Allow setting padding/strides/dilation at evaluation?
Need to error out when kernel shape is incompatible (ex. kernel is larger than image)
Other tests?

Made as regular PR by mistake.


removed GHC-OPTIONS

remove no warn name shadwoing flags
Still 5 todo? or only two?
C:\TorXakis\sys\behavedefs\src\BTShow.hs (1 hit)
Line 8: {-# OPTIONS_GHC -fno-warn-orphans #-}
C:\TorXakis\sys\server\test\CmdLineParserSpec.hs (1 hit)
Line 6: {-# OPTIONS_GHC -fno-warn-orphans #-}
C:\TorXakis\sys\server\test\Spec.hs (1 hit)
Line 7: {-# OPTIONS_GHC -F -pgmF hspec-discover #-}
C:\TorXakis\sys\valexpr\test\Spec.hs (1 hit)
Line 6: {-# OPTIONS_GHC -F -pgmF hspec-discover #-}
C:\TorXakis\test\sqatt\test\Spec.hs (1 hit)
Line 7: {-# OPTIONS_GHC -F -pgmF hspec-discover #-}

@capitanbatata are the GHC OPTIONS for HSPEC mandatory?

Yes. They are needed for test discovery

Strange 'stack build' and 'stack test' executed fine on my laptop....
But 'elem' seems still shadowing....

Are you sure that you're running the hspec tests? Maybe they are silently ignored:
https://hspec.github.io/hspec-discover.html

Seemed that some packages missed -Wall and -Werror in their test set.


[Docs] Promote Meshery Adapter for NGINX SM to beta

Current State:
The Meshery Adapter for NGINX SM is in beta state.
Desired State:
The following areas should reflect a "beta" status for this adapter:

[ ] The README in the root of this repo.
[x] https://docs.meshery.io/service-meshes/adapters/nginx-sm.

Related - https://github.com/layer5io/meshery.io/issues/398
Contributor Resources

Meshery documentation site
Meshery documentation source
Instructions for contributing to documentation

Good sir, @bartkalanski, while your in the README, will you promote Meshery adapter for Kuma and Meshery adapter for Open Service Mesh to "stable" and do so in the docs.meshery.io and meshery.io as well?

Good sir, @bartkalanski, while your in the README, will you promote Meshery adapter for Kuma and Meshery adapter for Open Service Mesh to "stable" and do so in the docs.meshery.io and meshery.io as well?

Yes no problem, I'll get this done by tomorrow eve!


stack_oriented is not a supported tag in config.json

Result for configlet lint:
The `tags` array contains `paradigm/stack_oriented`, which is not one of the allowed values:

Tracks are annotated with tags to allow searching for tracks with certain tags.
Tags must be chosen from our list of supported tags.
Tags should be selected based on the general usage of their language.
For more information on tags and the list of supported tags see:
https://exercism.org/docs/building/tracks/config-json#h-tags

That is probably a problem for another repository if we want to keep it that way.

You need to fetch the latest configlet version first

Ah, nice. So it was on my side.


tests/frontend/buildtrack.py::test_build_track_inconsistent() - useless broken test

See original issue on GitLab
In GitLab by [Gitlab user @tristanvb] on Jan 1, 2018, 10:08
This test attempts to check something... not exactly clear what it's trying to assert; but one might expect it to assert the different results one might get when... tracking an inconsistent pipeline ?
In any case, this does a lot of loops and generates element files for each loop (takes a long time due to I/O)
Then, for each loop, the test asserts that it will receive a LoadError.
The LoadErrorReason which is raised is always the same, there is no project.conf to be found, because I guess one was not generated.
This is just taking time (to run test) and space (loc) for nothing, best would be to figure out what the test is trying to test, and actually make it test that.

In GitLab by [Gitlab user @tristanvb] on Jan 1, 2018, 10:19
assigned to [Gitlab user @tristanvb] and unassigned [Gitlab user @tlater]

In GitLab by [Gitlab user @tristanvb] on Jan 1, 2018, 15:21
mentioned in commit 54265b7a9e6f493796bcb9c65682a73013e2a600

In GitLab by [Gitlab user @tristanvb] on Jan 2, 2018, 12:12
closed via merge request !205

In GitLab by [Gitlab user @tlater] on Jan 25, 2018, 14:11
mentioned in commit f7c7f5dd951e23e1fee6aa00b90dfdb756dad1e9


Switch content tagger to use simple form medium

Trello: https://trello.com/c/UZtlasW8/69-switch-content-tagger-to-use-simple-form-medium

Cool, looks good. I'm going to try this in a browser to see if there are any changes.
Could you squash the commits?

squashed

Hmm, the tagging form doesn't work with the new input (doesn't show current values, sends the wrong thing to publishing-api). Same story for the taxon form.

The tagging is working for me, but I just saw that it's not picking up the current parent taxons, going to investigate.
Tagging

Saved Mainstream browse pages

Saved Topics

### Taxon

Tagging works for me too now. Perhaps some caching on my end. Sorry!

Any idea why contacts-admin had the two initializers instead of one?

I thought contacts-admin was using Bootstrap, but after a quick look I couldn't find it.
I've removed it from here because we don't need it

This app also uses bootstrap (via admin template). I was wondering why it was in seperate files and multiple configs, vs just one config.

Ah! I see what you mean now, I will try to merge it in one.

I think now it's ok to have another review. Thanks

@tijmenb I've updated the commit


[AIRFLOW-2088] Fix duplicate keys in MySQL to GCS Helper function

Make sure you have checked all steps below.
JIRA

[x] My PR addresses the following Airflow JIRA issues and references them in the PR title. For example, "[AIRFLOW-XXX] My Airflow PR"

https://issues.apache.org/jira/browse/AIRFLOW-2088

Description

[x] Here are some details about my PR, including screenshots of any UI changes:
Remove the duplicate key in MySqlToGoogleCloudStorageOperator in the type_map helper function that maps from MySQL fields to BigQuery fields.

Tests

[x] My PR adds the following unit tests OR does not need testing for this extremely good reason:
Minor change

Commits

[x] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

[x] Passes git diff upstream/master -u -- "*.py" | flake8 --diff

Codecov Report

Merging #3022 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #3022   +/-   ##
=======================================
  Coverage   73.19%   73.19%
=======================================
  Files         177      177
  Lines       12415    12415
=======================================
  Hits         9087     9087
  Misses       3328     3328

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 e6973b1...af43e09. Read the comment docs.

Thanks!


Host HA not working properly

ISSUE TYPE

Bug Report

COMPONENT NAME

NFS Primary Storage

CLOUDSTACK VERSION

<IP_ADDRESS>

CONFIGURATION

advanced networking
primary storage on NFSv3
host ha enabled on the cluster with a specific host dedicated to HA
OS / ENVIRONMENT

management server with OS centOS7
hosts with OS Ubuntu 22.04
SUMMARY

If I shutdown a host, it keeps a lock on NFS mount that prevent all VMs that were running on it to automatically restart on the dedicated HA host.
Also the lock prevents to start these VMs until the host is online again and able to release the lock.
STEPS TO REPRODUCE

In a cluster with primary storage NFSv3, shutdown a host with VMs running on it

EXPECTED RESULTS

The lock is released as soon as the host is down, or after a short delay.

ACTUAL RESULTS

The lock is not released until the host is back online

@cdfgallo this sounds like an issue with nfs where locks are kept until a proper umount has been done. I would expect this to happen if a host gracefully shuts down. if a host crashes it would not happen, at least not in older nfs versions afairc.
we might have to add a shutdown script to take care of that, but that will only help on gracefull shutdowns.

@DaanHoogland this issue happens when a host is not gracefully shutdown (lost power) or it lose network connections.
I haven't tried to shutdown gracefully the host as I would put it into maintenance mode before doing so.

@DaanHoogland this issue happens when a host is not gracefully shutdown (lost power) or it lose network connections. I haven't tried to shutdown gracefully the host as I would put it into maintenance mode before doing so.

I don't think that test would make a lot of sense in real life. Can you test this setup with NFSv4

So it is an expected behaviour that a host being down keeps the lock on VMs file on NFSv3? In this case we need for sure to try NFSv4

this is a downside of NFSv3, yes.

On NFS4 I have no issues. I'm closing this issue. Thank you @DaanHoogland !


Symptoms of failure to update the sequence parameters

Circumstances: 1st sequence is uploaded & run, and then 2nd sequence is uploaded & run.
Symptoms: sometimes running the 2nd sequence returns incorrect results (distorted images). Re-upload of the 2nd sequence usually helps.
Possible explanation: failure to update some parameter of the 2nd sequence.
If it happens again, I'll save the logs.

Should be resolved in us4r-api version 0.6.4. Closing due to inactivity.


Update travis build

This is a test PR to see if an updated coverage/travis configuration is OK. The update is to run the default Maven goal. This adds apache-rat:check and javadoc:javadoc goals to those currently tested.
It removes the customisation of the jacoco coverage rules so that the commons parent is used. This makes the checks stricter but coverage is high so this is fine.
Previously checks were performed in the after_success phase which is allowed to fail. Thus if checks failed then this would be lost and checks had no effect on reporting bad PRs. This updates to run the default maven goal with all checks. If successful then coverage reports will be submitted.
A profile has been added to disable checks in the JDK 7 build as this uses plugins that require JDK 8.

Coverage decreased (-0.009%) to 99.284% when pulling 802b4fa4f921ef10387a7ed5b519b20bdbd1db95 on aherbert:update-travis-build into d85eb21467f3088076dca41752bad4a1d6ae03dc on apache:master.


Improve release tag/branch organization

branch/tag organization for different releases is currently very confusing.
My experience looks like:

The bevy book recommends running git checkout v0.4.0 to checkout a released version of bevy: https://bevyengine.org/learn/book/getting-started/
0.4 is a little out of date but its easy to change to 0.5.
So I do git checkout v0.5.0 but then bevy fails to build because v0.5 is actually broken by notify's custom versioning system.
Then I go through much adventuring where I attempt to file a PR to fix this issue against the v0.5.0 tag which turns out to be impossible to make a PR against a tag. PRs need to be made against a branch.
Finally realize that there is already a branch made that fixes this issue release-0.5.1. I can build the 0.5 examples now.

A quick fix to make this easier for people trying to follow the book would be to make a tag for v0.5.1 and use that in the book.
A proper fix to make development easier for everyone would be to create a branch for each minor release instead of a tag.
That is, a branch for v0.4 a branch for v0.5 and so on.
Development for all patch releases for 0.5 (0.5.1, 0.5.2, 0.5.3 etc) would go into the v0.5 branch.
This makes it easier to check out the latest working examples for v0.5 and makes it easier to track development of patch releases for 0.5.
wgpu is an example of a project that follows this strategy and it works well for them.

Especially that 0.5 is broken, when using git checkout v0.5.0. There is a thread somewhere about using 0.5.1 but 0.5.1 is not available, you have to use latest instead.
https://githubmemory.com/repo/bevyengine/bevy/issues/2530

Looking at this again I can see that there is actually a latest branch which I totally missed!
I still think having a branch per minor release would be a good way to manage fixes for them.
But what bevy has atm does have some advantages so feel free to close this issue if you are happy with the current system.


Why is there a constant score for OOV?

This line gives a score of -1000 (which is declared here), to any n-gram which contains an OOV.
Why have you used this approach instead of getting an OOV based score from the language model itself? My guess is because the LM used by you is developed using common_crawl dataset and is heavily pruned, so it makes sense to have a much stricter OOV check. Is the same approach necessary for a language model which is not built using Common_crawl and uses our own higher quality dataset?

To punish those candidate sequences containing OOV, we set a very small score for beam path having OOV. However, this strategy is rarely related to the quality of LM. For your case, I think it's better to do some experiments. Let the results tell whether to use this strategy or not.

@pkuyym  Thank you very much for your insights!
My understanding of the OOV Penalty strategy that you use was the sheer size of the dataset (common_crawl) which you've used. The vocab for such LM trained using common_crawl will be huge and hence chances of a word being OOV are very rare.
The Language Model that we're building uses a much smaller dataset relative common crawl dataset but is of much higher quality (it is manually verified). But because of the size is small, vocab will be small than common_crawl. Then the chances of a word to be an OOV should be higher. That is why I don't think it will be the best strategy for us to use OOV Penalty. Do you think this to be a right rationale for not going with OOV Penalty? We are thinking of following changes:

Language Model:

No Pruning
No <unk> tokens for rare words

Ctcdecode:

Skip OOV_SCORE completely
Whenever an OOV is encountered, set word_index=0 and use that index for getting the LM score.


How to defer Aurelia lifecycle invocation when you also need a  element (cannot use if.bind).

@EisenbergEffect I had a conversation with you on Gutter concerning how I can defer a section of my DOM, being the inner html of a custom element, from being activated by Aurelia until I want it to be activated.
By "activated" I mean that part of the DOM not instantiating its view model objects, not executing the lifecycle methods, no binding, etc. Functionally it's like what happens when you put a custom element in a template but forget the require element for it.
The application is a tab control. The tab page content of a particular tab must not activate until such time as the tab is first made visible. Imagine you had 15 tabs each with a data list component on it - it is wasteful loading 15 lists of data upfront if the user is never going to look at that tab page.
You suggested if.bind and for a regular situation that does the job perfēctly.
But if you think of a tabpage custom element and what its template might be,  it is not much more than a lightweight container for tab page "content" injected using the <content> element, wrapped by  a means to show or hide that content. In my case show.bind and if.bind are employed on two outer divs, with the content element inside that.
It should be a no brainer except it doesn't work.
Unfortunately if.bind cannot be used with <content> because no content is ever shown. Another issue that I found on here says this is the result of how Shadow DOM works.
Do you have any suggestions on how to achieve my objective?

You could process the content of each tab item, adding a wrapper div to the end user's content. The wrapper would container the if.bind against the active tab. In this way you conditionally evaluate the content itself and the content projection element  remains statically defined.
You may consider using a special custom attribute instead of if...perhaps a lazy attribute that doesn't create the view until it first becomes true but just hides things when it becomes false.
Does that make sense?

You've just described my workaround as I currently have it!  It's also the reason for many questions about processContent() :-)
Do you foresee having a better way to solve this in future?

The trick is determining if there's a general issue and seeing how we can improve that while still maintaining the constraints I talked about in the other issue as well as our need to support shadow dom (which does create its own issues). Outside of tabs, are there other use cases you can identify where this is needed?
Another idea is to use process content to separately compile the consumer's content into a view factory. Attach that view factory to the instruction so it can be received by the tab item in its constructor. Then, inside the tab item element, simply create the view when the tab is activated. You can use the bind hook to grab the bindingContext and overrideContext so that you can bind the child view with the same scope.
This would avoid the use of the extra element and let you control the instantiation, showing, caching of the tab item content directly. However, it wouldn't work with the shadow dom, but wouldn't be necessary. You could just use noView on the tab item and have a ViewSlot injected so you can dynamically render its own view based on the end user content. Does that make sense?

@kevmeister68,

By "activated" I mean that part of the DOM not instantiating its view model objects, not executing the lifecycle methods, no binding, etc
...
The application is a tab control. The tab page content of a particular tab must not activate until such time as the tab is first made visible. Imagine you had 15 tabs each with a data list component on it - it is wasteful loading 15 lists of data upfront if the user is never going to look at that tab page.

I accomplished this (tabs control that didn't activate tab before making it visible) with compose element:
<div if.bind="activeTab">
    <compose model.bind="commonModelForAllTabs" view-model="./${activeTab}/${activeTab}"></compose>
/div>

I pass only some common data model for all tabs (commonModelForAllTabs) and load tab-specific content when the tab is activated.
As You can see here, I've created a subfolder for each tab, that contains custom element (js and html with the same name as the folder name) and when the tab is clicked i update activeTab property that then triggers activation of the correct custom element that is used as tab content. Then the custom element lifecycle kicks in that give You a chance to load tab-specific data from the server to be shown in tab content.
I know that my use-case is not exactly what You initially had in mind:

how I can defer a section of my DOM, being the inner html of a custom element, from being activated by Aurelia until I want it to be activated.

...but just maybe You don't need that anyway to achieve the main goals (the first 2 quotes of You in the beginning of my reply).
Anyway it has worked for me really well and it was no-brainer to implement it :) (also in a very flexible way, for example to 1) decide what tabs to show 2) what tab to activate by default, if one needed to be activated by default)

@atsu85 Thanks for the suggestion. I know there are numerous "workarounds" (I have my own also), but I am focused on a solution that is elegant from the perspective of the component user. My fundamental objective from the outset has been to have a tab control that was easy to "consume" by a user of it. I wanted the HTML to look like this:
<ui-tabcontrol>
    <ui-tabpage>
        <tab-heading>
            Details
        </tab-heading>
        <tab-content>
            More Aurelia-stuff.
        </tab-content>
    </ui-tabpage>
</ui-tabcontrol>

There are plenty of workarounds to get the outcome, but I want to get the nicety of the implementation and the outcome.

Sorry it's taken me a while to respond. I don't think there are a huge number of examples that "need" the functionality I am proposing, but widgets such as tab controls, accordions, and wizards all come to mind as UX constructs that may or may not actually use a given UX "sub-element" (eg. tab-page, accordion page, wizard page etc).
Other than that, your suggestion makes sense. The only downside is complexity.
When you say inject the ViewSlot do you mean actually @inject the ViewSlot and then inject the view into that slot when required?
I'm all for simple things being simple to do and all that, I'm not sure if this overly complex for the user case.
Which brings me to another question - is there any plans for a  type element that doesn't involve Shadow DOM. I know that might be the wrong question, as the right question might be having a

Any component that has both a view and end-use content, requires shadow dom otherwise there's no way to produce the final rendered output. Somehow the content tree and the view tree need to be merged. That's what shadow dom does. However, if you don't want that, you can simply put the @noView() decorator on your component and Aurelia won't invoke the templating engine to render a view for your component. Instead, you could process your own content and decide how to render your component.
You can use @inject(ViewSlot) on any component to get a ViewSlot which points at the content of the custom element. You can then viewSlot.add(view) to adds views into that content of your element. You get View instances from calling create on a ViewFactory. You get ViewFactory instances from calling compile on the ViewCompiler. So, you could have a custom implementation that uses the processConetent hook to grab it's content and pass that to the ViewCompiler to compile a ViewFactory. You could then store that on the instruction object that is passed to the processContent decorator. This allows you to cache your compiled view factory for later use because you can later inject(TargetInstruction) into your component and retrieve the factory you generated. You can then use that factory to create views and push them into the slot at will. It's not that complicated. Let me see if I can whip up an example.

@noView()
@processContent(compileTabContent)
@inject(Container, ViewSlot, TargetInstruction)
export class TabItem {
  @bindable isActive;

  constructor(container, viewSlot, instruction) {
    this.container = container;
    this.viewSlot = viewSlot;
    this.contentFactory = instruction.elementInstruction.contentFactory;
  }

  isActiveChanged(newValue) {
    if (newValue) {
      if (this.view) {
         //todo add a class to show the view
        this.ensureBound();
      } else {
         this.view = this.contentFactory.create(this.container);
         this.viewSlot.add(this.view);
         this.ensureBound();
      }
    } else if (this.view) {
      //add some classes to hide the view
      this.view.unbind();
    }
  }

  bind(bindingContext, overrideContext) {
    this.isBound = true;
    this.bindingContext = bindingContext;
    this.overrideContext = overrideContext;
    this.ensureBound();
  }

   ensureBound() {
     if (this.view && this.isActive && this.isBound) {
       this.view.bind(this.bindingContext, this.overrideContext)
     }
   }

  unbind() {
    this.isBound = false;

    if (this.view) {
      this.view.unbind();
    }
  }
}

function compileTabInstruction(compiler, resources, node, instruction) {
  let fragment = DOM.createDocumentFragment();
  //consider adding a div to wrap the user content so it's easier to hide show

  while (node.firstChild) {
    fragment.appendChild(node.firstChild); //copy the content of your element into a fragment
  }

  instruction.contentFactory = compiler.compile(fragment, resources); //compile the fragment
}

Thanks Rob, I will experiment with this. Your two posts above have probably been amongst some of the most enlightening posts I have read that enable me to understand Aurelia better.

Note that I didn't test the code above...just wrote that up directly in github, but it should give you a good start.


PyObjC requires macOS to build

Hi, attempted using windows as mentioned in the readme, however received the following error:
× Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [2 lines of output]
      running egg_info
      error: **PyObjC requires macOS to build**
      [end of output]

Can you confirm this works on windows?

Hi, I got the same issue on Windows.
I checked the code and didn't find any references to PyObjC directly.
So I removed the PyObjC requirements, install again, and run it.
It seems to run just fine, so maybe that's different question to the author.
What's the PyObjC used for?

(I tested on Windows v22H2 BTW)


Synthesis failed for nodejs-os-config

Hello! Autosynth couldn't regenerate nodejs-os-config. :broken_heart:
Here's the output from running synth.py:
al reproducible form can be obtained by modifying arguments sha256 = "8d11f06b408ac5f1c01da3ca17f3a75dc008831509c5c1a4f24f9bde37792a57"
DEBUG: Call stack for the definition of repository 'gapic_generator_python' which is a http_archive (rule definition at /home/kbuilder/.cache/bazel/_bazel_kbuilder/a732f932c2cbeb7e37e1543f189a2a73/external/bazel_tools/tools/build_defs/repo/http.bzl:296:16):
 - <builtin>
 - /home/kbuilder/.cache/synthtool/googleapis/WORKSPACE:224:1
DEBUG: Rule 'com_googleapis_gapic_generator_go' indicated that a canonical reproducible form can be obtained by modifying arguments sha256 = "12bfed7873f085093cd60615bd113178ecf36396af0c2ca25e6cd4d4bebdd198"
DEBUG: Call stack for the definition of repository 'com_googleapis_gapic_generator_go' which is a http_archive (rule definition at /home/kbuilder/.cache/bazel/_bazel_kbuilder/a732f932c2cbeb7e37e1543f189a2a73/external/bazel_tools/tools/build_defs/repo/http.bzl:296:16):
 - <builtin>
 - /home/kbuilder/.cache/synthtool/googleapis/WORKSPACE:261:1
DEBUG: Rule 'gapic_generator_typescript' indicated that a canonical reproducible form can be obtained by modifying arguments sha256 = "ca322b5e7b0d03b3cc44a90444e3a7f944c9ba3345f0505ee48c8e715d19dd95"
DEBUG: Call stack for the definition of repository 'gapic_generator_typescript' which is a http_archive (rule definition at /home/kbuilder/.cache/bazel/_bazel_kbuilder/a732f932c2cbeb7e37e1543f189a2a73/external/bazel_tools/tools/build_defs/repo/http.bzl:296:16):
 - <builtin>
 - /home/kbuilder/.cache/synthtool/googleapis/WORKSPACE:280:1
DEBUG: Rule 'gapic_generator_csharp' indicated that a canonical reproducible form can be obtained by modifying arguments sha256 = "40ddae63d2729ef5ccbd8b60123327ea200ce9400d0629238193ff530dcaea18"
DEBUG: Call stack for the definition of repository 'gapic_generator_csharp' which is a http_archive (rule definition at /home/kbuilder/.cache/bazel/_bazel_kbuilder/a732f932c2cbeb7e37e1543f189a2a73/external/bazel_tools/tools/build_defs/repo/http.bzl:296:16):
 - <builtin>
 - /home/kbuilder/.cache/synthtool/googleapis/WORKSPACE:318:1
DEBUG: Rule 'bazel_skylib' indicated that a canonical reproducible form can be obtained by modifying arguments sha256 = "1dde365491125a3db70731e25658dfdd3bc5dbdfd11b840b3e987ecf043c7ca0"
DEBUG: Call stack for the definition of repository 'bazel_skylib' which is a http_archive (rule definition at /home/kbuilder/.cache/bazel/_bazel_kbuilder/a732f932c2cbeb7e37e1543f189a2a73/external/bazel_tools/tools/build_defs/repo/http.bzl:296:16):
 - <builtin>
 - /home/kbuilder/.cache/synthtool/googleapis/WORKSPACE:35:1
Analyzing: target //google/cloud/osconfig/v1:osconfig-v1-nodejs (1 packages loaded, 0 targets configured)
Analyzing: target //google/cloud/osconfig/v1:osconfig-v1-nodejs (1 packages loaded, 6 targets configured)
INFO: Call stack for the definition of repository 'npm' which is a yarn_install (rule definition at /home/kbuilder/.cache/bazel/_bazel_kbuilder/a732f932c2cbeb7e37e1543f189a2a73/external/build_bazel_rules_nodejs/internal/npm_install/npm_install.bzl:411:16):
 - <builtin>
 - /home/kbuilder/.cache/bazel/_bazel_kbuilder/a732f932c2cbeb7e37e1543f189a2a73/external/build_bazel_rules_nodejs/index.bzl:87:5
 - /home/kbuilder/.cache/synthtool/googleapis/WORKSPACE:293:1
Analyzing: target //google/cloud/osconfig/v1:osconfig-v1-nodejs (1 packages loaded, 6 targets configured)
ERROR: An error occurred during the fetch of repository 'npm':
   yarn_install failed: yarn install v1.19.1
[1/5] Validating package.json...
[2/5] Resolving packages...
[3/5] Fetching packages...
info If you think this is a bug, please open a bug report with the information provided in "/home/kbuilder/.cache/bazel/_bazel_kbuilder/a732f932c2cbeb7e37e1543f189a2a73/external/gapic_generator_typescript/yarn-error.log".
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
 (error An unexpected error occurred<EMAIL_ADDRESS>Request failed \"404 Not Found\"".
)
ERROR: /home/kbuilder/.cache/synthtool/googleapis/google/cloud/osconfig/v1/BUILD.bazel:269:1: //google/cloud/osconfig/v1:osconfig_nodejs_gapic depends on @gapic_generator_typescript//:protoc_plugin in repository @gapic_generator_typescript which failed to fetch. no such package '@npm//@bazel/typescript': yarn_install failed: yarn install v1.19.1
[1/5] Validating package.json...
[2/5] Resolving packages...
[3/5] Fetching packages...
info If you think this is a bug, please open a bug report with the information provided in "/home/kbuilder/.cache/bazel/_bazel_kbuilder/a732f932c2cbeb7e37e1543f189a2a73/external/gapic_generator_typescript/yarn-error.log".
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
 (error An unexpected error occurred<EMAIL_ADDRESS>Request failed \"404 Not Found\"".
)
ERROR: Analysis of target '//google/cloud/osconfig/v1:osconfig-v1-nodejs' failed; build aborted: no such package '@npm//@bazel/typescript': yarn_install failed: yarn install v1.19.1
[1/5] Validating package.json...
[2/5] Resolving packages...
[3/5] Fetching packages...
info If you think this is a bug, please open a bug report with the information provided in "/home/kbuilder/.cache/bazel/_bazel_kbuilder/a732f932c2cbeb7e37e1543f189a2a73/external/gapic_generator_typescript/yarn-error.log".
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
 (error An unexpected error occurred<EMAIL_ADDRESS>Request failed \"404 Not Found\"".
)
INFO: Elapsed time: 4.259s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (1 packages loaded, 6 targets configured)
FAILED: Build did NOT complete successfully (1 packages loaded, 6 targets configured)

2020-08-06 04:18:26,978 synthtool [DEBUG] > Wrote metadata to synth.metadata.
DEBUG:synthtool:Wrote metadata to synth.metadata.
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 102, in <module>
    main()
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 94, in main
    spec.loader.exec_module(synth_module)  # type: ignore
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/kbuilder/.cache/synthtool/nodejs-os-config/synth.py", line 29, in <module>
    library = gapic.node_library(name, version)
  File "/tmpfs/src/github/synthtool/synthtool/gcp/gapic_bazel.py", line 52, in node_library
    return self._generate_code(service, version, "nodejs", **kwargs)
  File "/tmpfs/src/github/synthtool/synthtool/gcp/gapic_bazel.py", line 183, in _generate_code
    shell.run(bazel_run_args)
  File "/tmpfs/src/github/synthtool/synthtool/shell.py", line 39, in run
    raise exc
  File "/tmpfs/src/github/synthtool/synthtool/shell.py", line 33, in run
    encoding="utf-8",
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 438, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['bazel', '--max_idle_secs=240', 'build', '//google/cloud/osconfig/v1:osconfig-v1-nodejs']' returned non-zero exit status 1.
2020-08-06 04:18:27,030 autosynth [ERROR] > Synthesis failed
2020-08-06 04:18:27,030 autosynth [DEBUG] > Running: git reset --hard HEAD
HEAD is now at 5fbafec docs: add links to the CHANGELOG from the README.md for Java and Node (#38)
2020-08-06 04:18:27,036 autosynth [DEBUG] > Running: git checkout autosynth
Switched to branch 'autosynth'
2020-08-06 04:18:27,041 autosynth [DEBUG] > Running: git clean -fdx
Removing __pycache__/
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 690, in <module>
    main()
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 539, in main
    return _inner_main(temp_dir)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 670, in _inner_main
    commit_count = synthesize_loop(x, multiple_prs, change_pusher, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 375, in synthesize_loop
    has_changes = toolbox.synthesize_version_in_new_branch(synthesizer, youngest)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 273, in synthesize_version_in_new_branch
    synthesizer.synthesize(synth_log_path, self.environ)
  File "/tmpfs/src/github/synthtool/autosynth/synthesizer.py", line 120, in synthesize
    synth_proc.check_returncode()  # Raise an exception.
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 389, in check_returncode
    self.stderr)
subprocess.CalledProcessError: Command '['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'synth.metadata', 'synth.py', '--']' returned non-zero exit status 1.

Google internal developers can see the full log here.

Autosynth passed, closing! :green_heart:


Package in JSR when consumed with bunx fails type check

Repro repo: https://github.com/nikitavoloboev/python
The package: https://jsr.io/@nikiv/utils
Code for package: https://github.com/nikitavoloboev/ts-utils

As shown above, code works but LSP is failing on types.

This issue has been reported by others so its not tied to my specific setup. Something is off about either how JSR publishes the types or tsconfig or something else, unclear.
Thank you for the help. ♥

tried above and all kinds of tsconfig configurations, all failed.

It's like the types are not present in the JSR?

Took a look into this and it's a bug in our npm transform. When we generate the declaration file we're still pointing imports to the original *.ts files. But because those are transpiled to *.js too and not shipped within the npm package, these files are not found anymore.
Steps to reproduce

Publish this package:

// bar.ts
export function add(a: number, b: number): number {
  return a + b;
}

// foo.ts
export { add } from "./bar.ts";

// deno.jsonc
{
  "name": "@marvinh-test/re-export",
  "version": "0.0.1",
  "exports": {
    ".": "./foo.ts"
  }
}

Install generated npm tarball: npx jsr add @marvinh-test/re-export


Build package with other LTS versions

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Currently the package pins the version of openjdk to 8 or 11. This change adds the other variants for other LTS versions.
   "ant-1.10.14-h707442c_0.conda": {
      "arch": "x86_64",
      "build": "h707442c_0",
      "build_number": 0,
      "depends": [
        "openjdk >=11.0.15,<11.1.0a0"
      ],
      "license": "Apache-2.0",
      "md5": "a6b59c1510cfa09367458df212ef4e82",
      "name": "ant",
      "platform": "linux",
      "sha256": "d2b72b16f333e113e42d292ceee5d8c54c2cf49b79f67019f9dc529baf9c315a",
      "size": 2340672,
      "subdir": "linux-64",
      "timestamp":<PHONE_NUMBER>490,
      "version": "1.10.14",
      "time_modified":<PHONE_NUMBER>,
      "license_family": "APACHE"
    },

    "ant-1.10.14-h859abef_0.conda": {
      "arch": "x86_64",
      "build": "h859abef_0",
      "build_number": 0,
      "depends": [
        "openjdk >=8.0.332,<8.1.0a0"
      ],
      "license": "Apache-2.0",
      "md5": "62a8b5498d8169c3e52cda780e2dce68",
      "name": "ant",
      "platform": "linux",
      "sha256": "2728d0c608533c7dcd19fff2d28fa277965f0533f26cae5447404eac157ad0dd",
      "size": 2328929,
      "subdir": "linux-64",
      "timestamp":<PHONE_NUMBER>177,
      "version": "1.10.14",
      "time_modified":<PHONE_NUMBER>,
      "license_family": "APACHE"
    },

@conda-forge-admin, please rerender

Thanks for the PR!

You are welcome and thank you for the review.


Rethink the process

@Starttoaster There may be errors in this!

Hey, @szepeviktor ! Great work, and I have been considering doing something similar to this. I will be making some time to test this out before merging but wanted to say thank you for your interest and support in advance!


Fix component tests with JSX using babel-core preprocessor instead of…

Add a temporary workaround branch:
fix component tests with JSX using babel-core preprocessor instead of babel-jest;
fix "Failed to get mock metadata" errors for component tests by adding unmockedModulePathPatterns.

Thanks!  Very much appreciated!


added numericpattern34.cpp

@aryashah2k i have done this pattern. Have a look.

pattern 33 also done


Java ice adapter

@Geosearchef what is this i thought you merged the ice adapter changes pls close if outdated

No, it wasn't merged, all releases are built off this branch currently

@Geosearchef then why dont we merge? Do you want to port it to v2 branch? Or are you missing the rights to?

Downlord didn't want to merge it

Well then i will merge it. It further blocks everything. I can not work like this.... If we have yet another develop branch


Increase thread safety

Currently, we have a number of
dealii::MultithreadInfo::set_thread_limit(1);

in the tests. We should get rid off them and make sure that everything works with multiple threads.

Duplicate of #185.


support rendering bitmaps or textures

Is there an example showing how to create and display an ImageBitmap?

[0] https://developer.mozilla.org/en-US/docs/Web/API/ImageBitmap

seems like streaming a video from ffmpeg or a webcam feed or even just an image buffer is not possible at the moment. my particular use case involves displaying and scanning qrcodes on mobile. Looks like I might be able to get away without this by rendering the qrcode in svg and using existing apps for qrcode scanning.
use dioxus::prelude::*;
use qrcode::render::svg;
use qrcode::QrCode;

#[allow(non_snake_case)]
#[inline_props]
pub fn Svg(cx: Scope, xml: String) -> Element {
    let svg = xml
        .strip_prefix(r#"<?xml version="1.0" standalone="yes"?>"#)
        .unwrap_or(&xml);
    cx.render(rsx! {
        div {
            script {r#"
                const parent = document.currentScript.parentElement;
                parent.innerHTML = '{svg}';
            "#}
        }
    })
}

#[allow(non_snake_case)]
#[inline_props]
pub fn Qrcode<'a>(cx: Scope<'a>, data: &'a [u8]) -> Element<'a> {
    let code = QrCode::new(data).unwrap();
    let svg = code.render::<svg::Color>().build();
    cx.render(rsx! {
        Svg {
            xml: svg,
        }
    })
}

so qrcode scanning works great on android by handling it in kotlin and using some jni calls to start the qrcode scanning activity and get the results.
I don't see how this would work on ios as the webview is launched in full screen. I need some way of transitioning from a webview screen to a native screen and then back to a webview screen. any ideas on how that could work?

Sorry this issue sat so long - there's not really a clear issue here per se other than

how to do qrcode rendering
how to render an image on android/ios
how to do multiple non-webview views

I've split these issues out into their own things (1 is virtual files, 2 is dynamic assets, 3 is alternative mobile views). Technically all of this is possible today but we just don't have any guides for it, so I've moved it into our docs checklist.


Components not being unmounted when map is under

See question on SO along with codesandbox example of issue:
https://stackoverflow.com/questions/52755024/react-native-maps-doesnt-unmount-components-when-under-strictmode

Not normally one to :+1: issues, but being as this is new and has no comments yet, I didn't know if a "subscribe" would be good enough to show the intention, so just a quick comment to say I too am seeing this issue.

Actually my situation is a bit different to this one (but ultimately the same, see end of post). My issue is that under strict mode, sometimes markers appear on the map (if present on or around the "load" of the map) and then get re-rendered shortly after and then doubled up as the previous markers are not removed.
Also it's worth my saying that it's not just markers - it's possible all map adornments. Certainly it is happening for me for Markers and a Circle too.
So, going back to my specific variant of this issue, I have been able to see what the cause of the issue is, though I'm not entirely sure of the best fix.
For me, it's because the Google Maps Marker object is set up and attached to the map in construct but only removed from the map in componentWillUnmount. This creates a situation in some cases whereby a marker that is constructed but never mounted leaves markers on the map.
So the underlying issue not actually a strict mode thing - simply an issue with the way that construct/mount/unmount is done in r-g-m.
However, strict mode has that exact situation happen: for me, without strict mode I never see a marker component construct without also being mounted, but under strict mode I see a construct with no mount. Why that is the case I am not sure, but there it is.
For reference, I was able to test this by simply adding some console.logs to the constructor, cDM, cDU and cWU methods of the r-g-m Marker class directly in my node_modules. You should be able to do the same, or use a proxy component as I do in a demo below.
So now, generalising this to the original issue encountered by @urikphytech, it appears to be the same thing - on mount, two markers are created but the first is constructed by never mounted. Here's a fork of @urikphytech's codesandbox demo with a proxy component (you'll want to open the console). Notice that as soon as you turn strict mode on, you get two "constructed" calls.
https://codesandbox.io/s/k95k7k1243
As such, I think the only fix for React's strict mode is to not do the Google Maps instantiation and initialisation in the component's constructor. Or maybe you can keep the initialisation in the constructor but only call setMap in cDM when you know you definitely mounted.

Also worth me saying that I added an answer to the SO post to the same effect but I think I did a semi-decent job of summarising what I said above, so here's the link should @tomchentw or another maintainer wish to get the TL;DR version of the above.

Yes! Great job! As you said, there is actually a Marker being constructed but not mounted.
This is due to:

Strict mode can’t automatically detect side effects for you, but it can help you spot them by making them a little more deterministic. This is done by intentionally double-invoking the following methods:
Class component constructor method
The render method
setState updater functions (the first argument)
The static getDerivedStateFromProps lifecycle

from: https://reactjs.org/docs/strict-mode.html
When moving the setMap call to cDM the codesandbox works.
Another issue we're gonna have with migrating to v17 is that this library heavily uses the legacy context api. I'm planning on migrating it to the new context when I have the time...
Thanks!

Ahh yes I forgot about the fact that string mode intentionally messes you about in order to prod you in the direction of compliance. Well there you go, it's working! :)


Updated Tools and Contrib READMEs

Updated Tools README to mention Ecowitt Weather Tool
Updated Weather Contrib README to include link to discussion

Thanks @BJReplay !


feat: Added Multiple workflows in GitHub Workflows Folder

Fixes Issue #440

Changes proposed

Added multiple Workflows in .github/workflows Folder for Using Different Purposes

Screenshots

Note to reviewers

Above workflows are added whatever Mentioned in My Issue Description.

Hi @Susmita-Dey . Please Review on this PR and Add Valid Level Label and GSSOC'23 Label. Thank You !


The current main.go follows the same design.
We can make the code simpler and more go-native by getting rid of unnecessary env variables.
Env variables that are necessary before running scorecard are https://github.com/ossf/scorecard-action/blob/main/entrypoint.sh#L26-L28 - basically the ones required via command line.
Other env variables, such as https://github.com/ossf/scorecard-action/blob/main/entrypoint.sh#L29-L34 and https://github.com/ossf/scorecard-action/blob/main/entrypoint.sh#L51-L53 can be safely replaced by native go variables.
@naveensrinivasan is this something you have bandwidth for?
cc @azeemshaikh38 @rohankh532

+1. In fact, I think we should Golang-ify the code more. Especially, we should move away from running Scorecard as a bash script and run it as a library instead.

@naveensrinivasan is this something you have bandwidth for?

I can do this after I am done with the things I am working on. I think this can wait.

@rohankh532 will work on using API instead of CLI as part of the crowdsourcing the results. Is that still the plan?

@rohankh532 has agreed to work on this. Thanks Rohan!

This is done. Closing.

Re-opening. I thought the plan was to move to using Scorecard's Go APIs instead of running it in a bash process - https://github.com/ossf/scorecard-action/issues/107#issuecomment-1043193349?

you're right. I though we could create a different issue for this since "remove env variable" is effectively done. Fine to keep it here, though.

Makes sense. I updated the title.

@rohankh532 Are you planning to finish this up? I am planning to write some tests which will change based on this. I wanted to understand so that I can plan based on that.

@rohankh532 Are you planning to finish this up? I am planning to write some tests which will change based on this. I wanted to understand so that I can plan based on that.

Yeah I can. Are there any docs on Scorecard's Go APIs?

Here is the CLI code that parses the command line and invokes the API https://github.com/ossf/scorecard/blob/v4.1.0/cmd/root.go
and here are the docs for the Scorecard
<EMAIL_ADDRESS>

I'm pretty stuck on this, could someone else take over?

@rohankh532 sure, you can leave this unassigned for now.

I'll pick this up, as part of https://github.com/ossf/scorecard/issues/1683.

Thanks @justaugustus!

Starting on this here: https://github.com/ossf/scorecard-action/pull/122

Closing this #122

Continuing in https://github.com/ossf/scorecard-action/issues/79.


Pstudio Bid Adapter: initial release of documentation

This is initial PR with PStudio bid adapter
🏷 Type of documentation

[x] new bid adapter

📋 Checklist

[x] Related pull requests in prebid.js or server are linked -> (https://github.com/prebid/Prebid.js/pull/10980)
[x] For new adapters check submitting your adapter docs

@muuki88 it could be merged, because PR with code is already merged :) https://github.com/prebid/Prebid.js/pull/10980

Thanks for the ping ❤ merged


URRROS2BaseSensorComponent add publisher to ROS2Node

https://github.com/rapyuta-robotics/rclUE/pull/103
URRROS2BaseSensorComponent::InitializePublisher()
Add SensorPublisher to ROS2Node's Publishers after custom pre-initializing, so they will be registered to destroy as owning robot get destroyed

Do you have further comments?


getAuthenticatorAssuranceLevel() triggers "getSession() could be insecure" warnings

Bug report

[x] I confirm this is a bug with Supabase, not with my own application.
[x] I confirm I have searched the Docs, GitHub Discussions, and Discord.

Describe the bug
Despite not using getSession() anywhere in my code, I am still receiving (numerous) console warnings stating the following:

Using the user object as returned from supabase.auth.getSession() or from some supabase.auth.onAuthStateChange() events could be insecure! This value comes directly from the storage medium (usually cookies on the server) and many not be authentic. Use supabase.auth.getUser() instead which authenticates the data by contacting the Supabase Auth server.

After doing some investigation, this issue seems to only occur when checking the user's MFA status via supabase.auth.mfa.getAuthenticatorAssuranceLevel(). If I remove or replace this call with a static return of 'aal2' values, the warnings disappear in console.
I am using Next.js and server-side rendering with the App router + supabase/ssr.
To Reproduce

Follow the guide to set up supabase in a Next.js project as per the docs here.
Add a function that performs server-side MFA validation as per the docs here.

This function should be run on the server (eg. Server component) and call supabase.auth.mfa.getAuthenticatorAssuranceLevel().
In my implementation, the currentLevel property of this call is compared against the defined/expected AAL level for that route, then - if they don't match the expected level` redirects them to the appropriate page (login page, enter MFA code page, dashboard page)

Call/await this function in a page or layout.
Run the app and then visit a page where this function is called.

Expected behavior
Since I have not called/used getSession() anywhere, I should not be seeing warnings in the console about getSession().
System information

OS: Windows
Browser: n/a
Version of supabase-js: 2.43.1
Version of @supabase/ssr: 0.3.0
Version of Node.js: 20.9.0

Additional context
I did some investigation and it seems like getAuthenticatorAssuranceLevel() is referencing the session.user object in this line:
private async _getAuthenticatorAssuranceLevel(): Promise<AuthMFAGetAuthenticatorAssuranceLevelResponse> {
    return this._acquireLock(-1, async () => {
      return await this._useSession(async (result) => {
        // ...

        const verifiedFactors =
          session.user.factors?.filter((factor: Factor) => factor.status === 'verified') ?? []
               // ^----

Some suggestions/thoughts:

Is getAuthenticatorAssuranceLevel() also meant to be treated as an insecure on the server (like getSession())? If so, this probably needs to be reflected more clearly in the docs to prevent a developer from trying to protect routes based only on MFA status (this is possible since a logged-out user would return null for currentLevel and nextLevel).
Could the getAuthenticatorAssuranceLevel() be made more secure server-side by calling _getUser? Then the resulting value could be referenced as user.factors instead of session.user.factors. I assume this would add quite a lot of overhead to this function.
If we don't want to force every implementation of getAuthenticatorAssuranceLevel() to call _getUser by default, could it be an option to pass a user to getAuthenticatorAssuranceLevel() so the developer can define if they want the method to be secure on the server?
If none of the above is possible, at the very least the warning probably needs to be supressed for this method since it is confusing and irrelevant considering getSession() has not been used anywhere in the code.

I haven't explored too deeply into the source code so hopefully these thoughts make sense.

There is a PR for that #909

Are there any updates on this? We are also using Next.js with the latest SSR package and implementing getAuthenticatorAssuranceLevel() in the middleware to check the users' AAL level. Our logs are flooded with warnings:
"Using the user object as returned from supabase.auth.getSession() or from some supabase.auth.onAuthStateChange() events could be insecure! This value comes directly from the storage medium (usually cookies on the server) and many not be authentic. Use supabase.auth.getUser() instead which authenticates the data by contacting the Supabase Auth server."
Which makes it really hard to debug and read console logs for anything (un)related to Supabase in our app.

No updates on this that I'm aware of. There are several places in the code where this happens, besides this method: some examples are updating a user, setting a session, and refreshing a session - if executed on the server side of course. I believe there might be a couple of others.
I'm hoping that after they get some more auth things completed in the next couple of months, that they decide this warning is unneeded and just remove it.

omg thank you for posting this.  I've been chasing down my particular source of this incessant warning, and eventually traced it to this same getAuthenticatorAssuranceLevel() function.
I suppose unless the maintainers switch this function to use getUser() the correct course of action would be to only use getAuthenticatorAssuranceLevel() on the client side... has anyone gotten this working on their end before I go down that route?
If it's the case that getAuthenticatorAssuranceLevel() Is only intended to be called on the client side, it would be nice for that to be added to the docs, and have a more explicit warning emitted

Ok I reimplemented my code to do this check on the client side and the warnings went away.  In my case I have a layout file covering an entire Dashboard section of my website, and inside that layout I have a useEffect that checks assurance level and either shows the MFA screen, or the dashboard as appropriate:
export function DashboardWithMFA({ user, userDetails, entitlements, children }: DashboardProps) {
    const [readyToShow, setReadyToShow] = useState(false)
    const [showMFAScreen, setShowMFAScreen] = useState(false)
    const supabase = createClient()

    useEffect(() => {
        ; (async () => {
            try {
                const { data, error } = await supabase.auth.mfa.getAuthenticatorAssuranceLevel()
                if (error) {
                    throw error
                }

                if (data.nextLevel === 'aal2' && data.nextLevel !== data.currentLevel) {
                    setShowMFAScreen(true)
                }
            } finally {
                setReadyToShow(true)
            }
        })()
    }, [])

    return (
        <>
            {readyToShow && showMFAScreen ?
                (
                    <AuthMFA onSuccess={() => setShowMFAScreen(false)} />
                ) : (
                    <DashboardContainer user={user} userDetails={userDetails} entitlements={entitlements}>{children}</DashboardContainer>
                )
            }
        </>
    )
}

Hope this helps someone out there!

Hey @k-thornton, the warning was to remind us that the token was retrieved from a storage medium (cookies) which could be tampered by the user, right? Which means that there is no secure way of getting the user's aal with the getAuthenticatorAssuranceLevel() function?

I hope that the problem will be solved. I can't imagine that moving the query to the client is the best solution when middleware should be the cleanest solution

@antonsarg I just verify the jwt token with the jwt_secret and then decode the payload like suggested here

Hey folks,
An update here - A fix is in the works. We'll soon move to an asymmetric model where getSession will be lower risk since we'll only be releasing the public key.

@J0 So what is the best way to go for now especially for production?

@J0 So what is the best way to go for now especially for production?

https://supabase.com/docs/guides/auth/auth-mfa#server-side-rendering
Based on the docs I'm reasonably convinced the intended method is to do all of the Multi-Factor AAL checking on the client side, in "use client" code.  No security warnings that way, and my code more or less matches the docs.
That feels like the way it was intended to be implemented.

Hey, while waiting for a cleaner version of a fix for this, I wanted to share I how dealt with the issue. It was happening when using  getAuthenticatorAssuranceLevel in a NextJS middleware. I am now using this, and it does not trigger and issue, despite supabase.auth.getSession() being used there :shrug:  :
  const {
   data: { user },
 } = await supabase.auth.getUser()

 let isHighestAssuranceLevel = true
 if (user) {
   // Check if they have the highest authentication level.
   // Since getAuthenticatorAssuranceLevel triggers errors. We copy-pasted and
   // modified it's internal implementation here.
   // See https://github.com/supabase/auth-js/issues/910.
   const res = await supabase.auth.getSession()
   if (res.error || !res.data.session?.access_token) {
     throw new Error(`Error fetching session: ${res.error}`)
   }
   const payload = decodeJWTPayload(res.data.session?.access_token)

   let currentLevel: AuthenticatorAssuranceLevels | null = null
   if (payload.aal) {
     currentLevel = payload.aal
   }

   let nextLevel: AuthenticatorAssuranceLevels | null = currentLevel
   const verifiedFactors = user.factors?.filter((factor: Factor) => factor.status === 'verified') ?? []
   if (verifiedFactors.length > 0) {
     nextLevel = 'aal2'
   }

   isHighestAssuranceLevel = !(nextLevel === 'aal2' && nextLevel !== currentLevel)
 }

This chunk of code is inserted in the middleware's code, as shown in the step 4 of this documentation page : https://supabase.com/docs/guides/auth/server-side/nextjs?queryGroups=router&router=app
(then I do some additional redirect according to the isHighestAssuranceLevel value, but this is out of context for this issue)


Response Time Passed

Quick on guys,
Is there a way of finding out the time between a tickets creation date, and the first response in working hours?
I know that there are fields for both Creation Date, and First Response Date and Time, however the UI displays the time that's passed with is working or supported time.  Is this information available, or do I have to go to great lengths and come up with a complex calculation taking in our opening hours & holiday days?
Thanks
D

Hi @MadRainbow, sorry about the terribly late reply. As far as I can tell you will have to the calculation yourself. There are no properties on a ticket that holds this information.


[WIP - READY] Paging implemented. Issue commands working

I've marked it WIP due to the time of day, and since I'd like to get some reviews on this.
The problem with issue commands not working before was that we weren't taking into consideration the paging that github does for its results. As such, we were never retrieving any commands to run.
This PR fixes that, and also sets a timestamp pointer indicating how far back in time we must look to find new commands to run.
Apologies for any linting errors I'm sure are going to show up. I'll get them with another PR.
Also don't look too close at the code, it's pretty ugly. It definitely could have used an actual database haha

Also don't look too close at the code

Number 1 warning sign of a possible democratic crisis ;)

Apologies for any linting errors I'm sure are going to show up. I'll get them with another PR.

You should probably fix them in this PR because it's bad to merge in CI-failing code. Also #412 tries to prevent it, so may as well fix it in case that gets merged first. All the linting errors are pretty minor and should be able to be fixed in a couple minutes. After that, I'll give my +1.

Flake must be broken. I have no idea why it can't resolve the module name.

Remember, Travis tests a merge into master, not the branch of the PR. That's very helpful.

Good find.

@andrewda Yeah I think we're overwhelming Travis.

There's a bug with chaosbot's status message. The time remaining keeps fluctuating from a few minutes to a few hours.

@PlasmaPower When GitHub's response times skyrocketed and it went down earlier, Travis was overwhelmed by delays which still haven't cleared.

Looks like the commands are being detected


Other expenses

Currently, Other expenses are limited to whole numbers not decimals.
To get around this, Brian has created other Rates that are $0.10
Investigate if it is possible to change this to be able to enter decimal amount in the quote and expense.

Maybe actually possible?

Seems to be a firefox defect.

Should be this part of the code:
https://github.com/ucdavis/Harvest/blob/main/Harvest.Web/ClientApp/src/Quotes/WorkItemsForm.tsx#L206-L219


Run GET requests successfully through insomnia

GIVEN a functional Express.js API
WHEN I open API GET routes in Insomnia Core for categories, products, or tags
THEN the data for each of these routes is displayed in a formatted JSON

completed


WIP: Fix Windows CMake build

Add Windows environment variable for OpenCl to search path
Link openvx into vxu
Don't link against pthread on Windows
Add basic rmake.py

@LakshmiKumar23 can you try this PR on windows?

@LakshmiKumar23 can you try this PR on windows?

@kiritigowda Builds successfully. Can be merged

@lawruble13 is this branch ready to be merged?

@lawruble13 can you sync with TOT and let me know if this good to merge? Thanks!

@lawruble13 -- PR #844 adds full support to Windows CMake Build. Please verify and sync.

Obsolete, functionality added by #844.


Can window controller manage from JS ?

When open xcode see the window controller area with window controller native buttons. (close, fullscreen)
Can we change that area from JS ?
For example: set height 120, put select box the center, use right side of support links.

Answer is no. There's not control over the top level window from JS. There is a setting you can do on the root view for sizing, but that won't affect the Window. If you want to change the default size of the window you can do that in the storyboard.
Somewhat related issue for Windows here. But this sort of thing is likely to remain native-specific per platform, not unified across JS.


Can input 20 non-ASCII characters in Comments textbox on Account Settings page, but get error when save the comments

Docker version: 1.12.3
Harbor: 0.4.5

Login to Harbor
Click Admin->Account Settings
Try to input 20 Non-ASCII characters (for example, "系统管理员系统管理员系统管理员系统管理员")
Click Save button

Actual Result: Got error "Failed to update user. Change user profile error: Comment with illegal length"
Expected Result: It should not allow user to input 20 non-ASCII characters in Comments textbox or give user a clear error message to let user know the maximum number of characters allowed.
NOTE:

The maximum number of ASCII characters allowed input in the Comments textbox  is 20.

Fixed with PR #1139


Updates environment to include when for events detail page

The event's detail templates require this context processor to work.
@kave

looks good to me


get_bgp_neighbors generates keyerror exception on vMX

Running:
napalm-base (0.24.1)
napalm-junos (0.10.1)

Generated the following exception:
>>>Test get bgp neighbors
Traceback (most recent call last):
  File "test_junos.py", line 41, in <module>
    bgp_neigh = device.get_bgp_neighbors()
  File "/home/kbyers/VENV/py27_venv/local/lib/python2.7/site-packages/napalm_junos/junos.py", line 574, in get_bgp_neighbors
    _get_bgp_neighbors_core(instance_neighbors)
  File "/home/kbyers/VENV/py27_venv/local/lib/python2.7/site-packages/napalm_junos/junos.py", line 538, in _get_bgp_neighbors_core
    py23_compat.text_type(neighbor_details['local_id'])
KeyError: u'local_id'

Show bgp summary showed the following:
pyclass@juniper1> show bgp summary
Groups: 1 Peers: 1 Down peers: 1
Table          Tot Paths  Act Paths Suppressed    History Damp State    Pending
inet.0
                       0          0          0          0          0          0
Peer                     AS      InPkt     OutPkt    OutQ   Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped...
<IP_ADDRESS>            65416          0          2       0       0     5:38:09 Active

Reproduced this against the development branch. Here is what neighbor_details dictionary contains right before KeyError exception:
$ python test_bgp.py
Password:
{u'is_enabled': True, u'uptime': 0, u'remote_as': 102, u'address_family': {}, u'remote_id': u'', u'local_as': 101, 'peer_as': 102, u'is_up': False, u'description': u''}

Here is what neighbor_details looks like when it works (BGP session is up):
{u'is_enabled': True, 'tables': 'inet.0', u'uptime': 0, u'remote_as': 102, u'address_family': {}, 'received_prefixes': 0, u'remote_id': u'<IP_ADDRESS>', u'local_as': 101, 'sent_prefixes': 0, 'local_id': '<IP_ADDRESS>', 'peer_as': 102, u'is_up': True, 'accepted_prefixes': 0, u'description': u''}


Fabrics Page

Get this page working. Accessed in the notebook from the More menu. There is already a placeholder page. See Strabo Spot 1 for functionality. Uses the 3 forms in assets/forms/fabrics.

From @nicolasmroberts: View 3D Structures - Fabrics on this page instead of in 3D Structures

@jessicagood Here is the mockup for Fabrics Page. As you mention above, Fabrics from 3D structures should appear in the notebook page, maybe under a heading of "Fabrics (Depreciated Version)"

Each main button ("planar fabric" for example) pops up a modal with the rest of the kobo form.

Just like measurements tab, once there is a fabric, it appears in the notebook. Tapping on that brings you to the existing "form input" style page.

If the user switches from "Fault" to "Igneous" or "Metam." after having input some data without saving, a warning pops up that gives the user an opportunity to save or discard the existing fabric.

@nicolasmroberts Can you look at the post from Mar 9 above? Still not sure what detail is important to see in the list.

The list should contain all top headers (I.e., “planar magmatic”) that have been selected for the fabric.

Do we want the fabric list items alphabetized or just the most recently entered/edited at the top?

@nicolasmroberts I know this page is to be reworked. Let me know when someone has made any necessary changes to the KoBo forms (without removing or changing the name of current fields, though the labels can be changed) and how the UI is changing.

Updated with commit d1404e75307b1fe193427bb748a36449dfd05df5 following form updates by @alexanderlusk. @panamint55 decided there was not enough data in the previous form formats to worry too much about the changes to forms. Fields missing in the new format found in the following spreadsheet
MissingFieldsResponse_Alex.xlsx
.

@nicolasmroberts @ellennelson10 You may want to revisit the Quick Entry modals as some of the fields used no longer exist, for example the cohesive, foliated fields for fault rock.

@alexanderlusk You may want to change some of the field labels where the label is posed as a question. For example, 'Add structural fabric(s)' should probably just be 'Structural Fabrics'. And 'Kinematic indicator(s)?' should just be 'Kinematic Indicators'. There are others too.

Fabrics forms updated with commit cb46afa so this page may be good to come out of testing mode? @panamint55 @nicolasmroberts @ellennelson10

@ellennelson10 @panamint55 Any updates on this or do we pull it out of testing mode?

Will review and send a message when done.

I updated the Koboforms, mainly for constancy (e.g., Planar fabrics vs planar fabric).
Can we have the "Spatial Configuration" options be under one button on the fault tab similar to how the kinematic indicators or planar fabrics are? (See Photo)

@panamint55 Is "Fault" the best descriptor for it's representative tab? It seems like "Structural"  fabrics would be more encompassing?

First two bullet points fixed with commits 844e28aa18f2621a559348a473a8d4b707ec0548 and 35bcdc052a64c226e64e7b9b0e501f89fb7a5c2b
@panamint55 & @ellennelson10 It is easy to change the tab to say 'Structural' instead of 'Fault.' If that is what you agree on please let me know.

Structural is much better.

Then to make it make match we'd change the Fault & Shear Zone Fabrics label on the Fabrics page to Structural Fabrics as well? Does that still what you want?

@panamint55 said yes to previous comment via phone
Fixed with commit c06b0e1072ec21a0ed7d91c367ad78044af1f8ac


Node does not terminate when it errors

On Windows when the node erros it does not terminate. This can be reproduced by passing --topology with some non-existing file.  The exception is thrown, but it's not shown in the console making it difficult to debug the problem.

Closing this. Please reopen if this is still relevant.

Last time I checked this was still the case; It's better not to close bug's without asking, some people might get rather annoyed by that (although not me).


Wiki - Recommended CSP settings

Hi together,
sorry for opening an issue regarding this topic, but there's no better place for asking this question.
The wiki states that only one extension wins when CPS injection is used to modify the header:
https://github.com/ghacksuserjs/ghacks-user.js/wiki/4.1-Extensions
I knew that uBlock Origin and Canvas Blocker interfere if the mentioned settings are checked for both. But how does it look with extensions like Canvas Blocker + Clear URLs?
The wiki doesn't mention a special setting for a range of extensions which needs to be unchecked.
Do some extensions use CSP injection by default, which means that I need to uncheck my Canvas Blocker settings (Block data URL pages) when using Clear URLs for example?
Would you even recommend to check special settings to increase privacy?
The wiki states only how to uncheck these settings, there's no recommendation about what should be checked.
Is the setting "Block data URL pages" of CanvasBlocker recommended to be checked?
Best regards
Edit: I'd really appreciate if someone could tell me what would be the best CSP setting for following extensions:

uBlock Origin (Does it per Default do something with CSP?)
CanvasBlocker (It enabled "Block data URL pages" per default - Is this recommended?)
ClearURLs (What does it to with CDP? Or does it nothing and is just a recommended extension?)

see #664 - there is no definitive answer

The entries below are some features you could consider disabling (or achieving another way) to reduce CSP header injection issues, depending on what extensions you use. It is up to you to determine what mix you want

It also depends how you use those extensions. For example, I want uMatrix to always win, so I try and disable/lessen all other extensions using CSP header injection e.g. I don't use uBO to block any fonts and instead use a different method/extension, etc


should useIgnoreFiles and followSymlinks search options be required?

Issue Type: Bug
Testing https://github.com/Microsoft/vscode/issues/55405
The useIgnoreFiles and followSymlinks search options seem to always be sent for every type of search provider. Should these be marked as required on the SearchOptions interface?
VS Code version: Code - Insiders 1.26.0-insider (573d53815e74f8e4a52c2b6665f5ba9a92dbd341, 2018-08-01T05:23:16.805Z)
OS version: Darwin x64 17.7.0

@roblourens maxResults seems to be actually optional, it's not returned for provideFileIndex

That actually shouldn't be on the common query options, good catch


trying to load a file that doesn't exist shows a messy IOError page

Instead it should redirect to root and show a flash warning

update: it  now shows a nicer error page, but you should still get a 404 instead of a 500/IOError

Still a bug, replaced with #458.


headphone static noise

Thank you for your  share, I successfully  installed Catalina on my Dell m4800.
I find three problems:

static noise from the headphones
some USB ports on the Dell Dock E-Port Plus PR02X Advanced Port Replicator not work
PR02X dual display port for 5K display only 4K

Please check other code audio
I don't have Dell Dock?
I don't have a 4K or 5K display to try
Sorry!

Thank you again for the great job.

the headphones static noise can be solved like this with layoutid 28

Thank you for sharing!
Code 28 is not right for me but will work for everyone!


Adding accessibility properties as per #12

Thank you very much for your contribution! Looks like there are some conflicts with the master branch, so I will need to review further and make corrections tomorrow before merging.


Fruits Classification

Deep Learning Simplified Repository (Proposing new issue)
:red_circle: Project Title : Fruits Classification
:red_circle: Aim : Create a DL model to classify the images of the fruits given in the dataset.
:red_circle: Dataset : https://www.kaggle.com/datasets/moltean/fruits
:red_circle: Approach : Try to use 3-4 algorithms to implement the models and compare all the algorithms to find out the best fitted algorithm for the model by checking the accuracy scores. Also do not forget to do a exploratory data analysis before creating any model.

📍 Follow the Guidelines to Contribute in the Project :

You need to create a separate folder named as the Project Title.
Inside that folder, there will be four main components.

Images - To store the required images.
Dataset - To store the dataset or, information/source about the dataset.
Model - To store the machine learning model you've created using the dataset.
requirements.txt - This file will contain the required packages/libraries to run the project in other machines.

Inside the Model folder, the README.md file must be filled up properly, with proper visualizations and conclusions.

:red_circle::yellow_circle: Points to Note :

The issues will be assigned on a first come first serve basis, 1 Issue == 1 PR.
"Issue Title" and "PR Title should be the same. Include issue number along with it.
Follow Contributing Guidelines & Code of Conduct before start Contributing.

:white_check_mark: To be Mentioned while taking the issue :

Full name :
GitHub Profile Link :
Email ID :
Participant ID (if applicable):
Approach for this Project :
What is your participant role? (Mention the Open Source program)

Happy Contributing 🚀
All the best. Enjoy your open source journey ahead. 😎

Hey @abhisheks008, I'd like to try and solve this.
Full name : Valiaparambil Ryan Taffy
GitHub Profile Link : https://github.com/vryan-06
Email ID<EMAIL_ADDRESS>Approach for this Project : Would initially try with CNN and explore more. (Suggestions if any would be helpful)
Participant role : SSOC - 2022

Issue assigned to you @vryan-06

@vryan-06 updates please.

Using data augmentation and CNN I achieved an accuracy of 94% whereas using VGG16 I achieved 89% around. I'm now trying to do it using Resnet. DL is a little new to me so I'm taking a little longer time, sorry.

@vryan-06 thanks for sharing the update, take your time.


[POC][5.5] Allow chaining multiple queue jobs

The code here is a (fully functional) proof of concept, so it's not fully fleshed out and has no tests.

To test, run php artisan queue:chain-table to publish the queue chain table migration. Then run php artisan migrate to actually create the table.  For example:
dispatch([new SomeJob(1), new SomeJob(2), new SomeJob(3)])->chain(
    new RunsAfterOthersHaveCompleted(),
);

All 3 SomeJobs will run in parallel. When they're done, the final one will run.

You can construct these chains as complex as you need them to be. At each step, you can have as many parallel jobs as needed. Here's another example:
dispatch([new SomeJob(1), new SomeJob(2)])->chain(
    [new SomeOtherJob(1), new SomeOtherJob(2)],
    [new YetAnotherJob(1), new YetAnotherJob(2)]
);

The SomeJobs will run in parallel. When done, the SomeOtherJobs will run in parallel. Finally, all YetAnotherJobs will run in parallel.
If you're familiar with JS promises, the above is similar to this:
Promise.all([someJob(1), someJob(2)])
       .then(() => Promise.all([someOtherJob(1), someOtherJob(2)]))
       .then(() => Promise.all([yetAnotherJob(1), yetAnotherJob(2)]));

Oh this is fantastic!

Good Job Man

Could this be extended to allow chaining queued mailables (or anything that can be queued, really)? I've got a use case where I'm batching recipients in groups of 100 and sending an email. I would like to update the state of something once all email jobs have completed.
This is easily done if all email batches are executed synchronously inside another job but afaik not possible (well… without significant extra work) if the mail is pushed onto a queue.

Instead of queueing the mail directly, you can create a simple job that sends the mail synchronously. Then you can dispatch those wrapper jobs onto the queue, and chain to your heart's content.

Yeah, I considered that. It just feels less elegant.

Looks good. As you use the example of JS promises, just for clarity in this scenario:
dispatch([new SomeJob(1), new SomeJob(2), new SomeJob(3)])->chain(
    new RunsAfterOthersHaveCompleted(),
);

If any of the SomeJob instances fail, then presumably RunsAfterOthersHaveCompleted won't be run? What happens to it?

I had to implement something along these lines manually on more than one occasion so to have it baked into the framework would be handy.

This has race conditions so can't be merged as is. Going to close for now rather than leave it hanging out here in an unmergable state.


refactor element spec... maybe...

Currently, apx! macro:
<hello prop1="val"/>

Is syntactic sugar for:
Element::create(hello,Props_hello{prop1: "val"})

This more or less forces the use of the macro, because the code without the macro looks very ugly. As an alternative, instead of having elements just be functions that take props, they can actually be part of the struct. The way to define an element would then be slightly different. Instead of:
struct MyElement {
    pub prop1: String
}

#[function_component]
fn my_element(p:MyElement, c:Elements)->Elements {
}

... it would be ...
#[component]
struct MyElement {
    pub prop1: String
}

impl Component for MyElement {
    fn render(p:Self) {
    }
}

Then, the #[component] macro could actually create a builder. Also it would add the children prop to the struct. (for this reason it cannot be a derive macro, since derive macros cannot modify the struct or add to it). It would now be possible to write:
MyElement::new().prop1("hello")

And if it takes children:
MyElement::new().prop1("hello").children(/*...*/)

And then the XML would just be syntactic sugar for the above.
Advantages:

It is possible to create components without XML.
The documentation will look a bit better, since now the props struct and function ends up being documented as separate things.

Disadvantages:

The components are still function components. They are not instances, state information is still managed with use_state, etc. However, if the render function is part of a struct, it kind of makes them look like React class components, even though they are not. This might be confusing.

https://stackoverflow.com/questions/46620790/how-to-call-a-method-that-consumes-self-on-a-boxed-trait-object

I went ahead and did it...
the signature of the render function is render(self:Box<Self>)->Elements which seems to work...
Here is an example without XML:
https://github.com/limikael/appy/blob/master/examples/noxml/src/main.rs


Question about controlling an other hyperion+RPi

Hi,
First of all thanks for your great job.
I would like to know if it is possible to communicate with an other RPi to control a second remote Led strip. Explanation :
I have a first RPi running OpenElec + hyperion + led strip on my TV and wired to my network. This works fine.
I have a second RPi running OpenElec + hyperion +led strip hidden in my ceiling and connected to my network through Wifi. I can control these leds using your App.
What I would like to do is when I play a movie with the first RPi, the second one reacts and controls its own leds (in order to have the top-border colors of my tv on my ceiling).
Is it feasable with your configuration file ?
Thanks a lot

@alucard29 can be closed?
think the forwarder is what you searchin for?

Hi,
Yes you can. Thanks
Regards

Could you close it please? I have no rights. Thanks
Von meinem iPhone gesendet

Am 03.03.2016 um 09:05 schrieb alucard29<EMAIL_ADDRESS>Hi,
Yes you can. Thanks
Regards
—
Reply to this email directly or view it on GitHub.


Add map presence check to onMoveEnd handler, fixes #3522

This will prevent _onMoveEnd handler from execution if it is called by L.Util.throttle after layer removal.

Is this needed at all after #3524?

@IvanSanchez, yes, since L.Util.throttle works by scheduling _onMoveEnd to execute after a certain delay. So if we remove a layer during that delay, the layer will be already removed when the handler is called. See https://github.com/Leaflet/Leaflet/issues/3522 for more details.


Allow disabling camelcase rule for class members

@pbredenberg I think we can address this long-standing issue with our linting rules now that [1] is closed.
Example of problem we encounter constantly because of our static class member naming convention:
public static from_buffer(b: Buffer, startingOffset: number): Foo { // eslint-disable-line camelcase

[1] https://github.com/typescript-eslint/typescript-eslint/issues/590

CC @jimjenkins5

@jthomerson @jimjenkins5 @yokuze
I created a PR on @silvermine/eslint-config with this implemented

@jthomerson @jimjenkins5 @yokuze
I created a PR on @silvermine/eslint-config with this implemented


PR#182 addon: arbiter documentation + parameter replset_arbiter for mongodb::server

The README currently does not give a hint how to configure an arbiter node for a replica set. That feature has been introduced with pull request #182.
It should also be possible to configure an arbiter by parameter replset_arbiter of mongodb::server.

Hi @pecharmin, thanks for the PR. Travis had some issues and I restarted the job.

@bastelfreak The Travis jobs still seem broken caused by ruby errors during bundle. Can you please have a look at them?

@pecharmin the errors were caused by issues on the CI platform. Can you please rebase?

@pecharmin can you please take a look at the failing spec tests and rebase against our current master branch?

Only failing because arbiter is nil instead of expected undef :thinking:


Support statement cache

Description
When using SQLAlchemy > 1.4 with the dialects available here we get the following warning:
sqlalchemy.exc.SAWarning: Dialect database:driver will not make use of SQL
compilation caching as it does not set the 'supports_statement_cache'
attribute to ``True``. This can have significant performance implications
including some performance degradations in comparison to prior SQLAlchemy
versions. Dialect maintainers should seek to set this attribute to True
after appropriate development and testing for SQLAlchemy 1.4 caching
support. Alternatively, this attribute may be set to False which will
disable this warning.

The dialects we inherit from (PGDialect_asyncpg, PGDiaclect_psycopg2rdsiam) support statement caching, so our Dialects do to. However, this needs to be explicitly indicated in our Dialect class to be enabled in SQLAlchemy.
We therefore propagate the support_statement_cache value from the Dialect we inherit from if it is explicitly set there (for compatibility with older versions).
Type of Change

[X] Bug Fix

Checklist

[X] I have read the contributing guidelines
[X] Existing issues have been referenced (where applicable)
[X] I have verified this change is not present in other open pull requests
[X] Functionality is documented
[X] All code style checks pass
[] New code contribution is covered by automated tests
[X] All new and existing tests pass

Also bumped versions in tox.ini

LGTM, thanks a lot @zach-b!


make eks user managed / aws managed chapter titles parallel

Under EKS section in intro, change chapters:
Customer Managed
Managed Control Plane
->
Customer Managed Data Plane
Amazon Managed Control Plane

fixed


Add watchOS and tvOS to the party!

This PR adds watchOS and tvOS support to LoremIpsum.

@SlaunchaMan: Hi Jeff, I’m in the process of spring cleaning my open source projects. I just refreshed LoremSwiftum which I’m still using in my projects but I no longer have use for LoremIpsum. As you’ve been quite active with PRs I was wondering whether you’d like to become a co-maintainer of this library?

@SlaunchaMan: After posting my comment I noticed that I’ve already asked you the same question and you agreed. Is this still the case?

@lukaskubanek Sure thing! Looks like I also need to freshen up this PR.

@SlaunchaMan: I’ve added you as a maintainer of this repository. Feel free to do whatever you think is the best for the library.

@lukaskubanek Everything is all set for a 2.0 release, but I don’t have access to do the pod trunk push. Want to do the honors?

@lukaskubanek It worked! 🎉


container exit code should default to 125

We should only report the exit code in inspect if the container
has exited, otherwise it is not really defined.
Signed-off-by: Daniel J Walsh<EMAIL_ADDRESS>

Will settle for @mheon Alternative and hopefully the run/start calling wait will stop a container from returning success on failure.


Some books are not opening in offline mode.

Describe the bug
Some of the books are not accessible in offline mode. It shows 404 error.
The list of the books are as follows:

Ukrainian

Cicadas Song
Colours

Lugandan

Colours
Hide and seek

@Ashish1998 -- @dz4va reports that we've pushed changes and this is ready for testing again. Fingers crossed and let us know what you find!

Hiii @burrage
If we play a book in online mode, only that book is opening in offline mode the other books in the same language as well as other language is not opening, it shows "web page not found".
https://github.com/curiouslearning/FeedTheMonsterJS/assets/99384703/80f0b263-ebf7-48c5-8219-94f4188050a6

Hiii @burrage  now i am not facing the issue i am able to play the books in offline.

Great catch @Ashish1998 !
@dz4va Is this something you would want @ashishkrr's help on digging into while you focus on getting the Assessment ready for test deployment in development?


[ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: [firebase_auth/unknown] com.google.firebase.FirebaseException: An internal error has occurred. [ CONFIGURATION_NOT_FOUND ]

i am getting this error. can u guide. but i enable authentication in firebase console too

@kdhanapriya
When you open an issue, please use new issue template and fill out requested details so that we'll have enough details to work with.
See this similar SO link and check if it helps. Else, please ask support questions on stackoverflow.
The error indicates configuration is not setup between your app and firebase or is incorrectly done.


Enhancement: Results tabs

Description
Orchestras Tab and Singers Tab
Add Material UI - Card for each orchestra and singer
Tracks tab
Add search button
Add data table that has the next structure:

Orchestra
Singer
Title
Date
Style

Typescript example for results
export interface TitleProps {
  Orchestra: string
  Title: string
  Singer: string
  Style: string
  Composer: string
  Author: string
  Date: string
}
export interface SearchResults {
  Orchestra: string[],
  Singer: string[],
  Title: TitleProps[]
}