ARROW-10572: [Rust][DataFusion] Use aHash instead of FnvHashMap

Use ahash https://github.com/tkaitchuck/aHash for hashing algorithm.
Difference is mainly visible in group_by benches:
aggregate_query_group_by 15 12
                        time:   [2.0644 ms 2.0869 ms 2.1100 ms]
                        change: [-5.4843% -4.1892% -2.8525%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 2 outliers among 100 measurements (2.00%)
  2 (2.00%) high mild

Benchmarking aggregate_query_group_by_with_filter 15 12: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 5.0s. You may wish to increase target time to 9.6s, enable flat sampling, or reduce sample count to 50.
aggregate_query_group_by_with_filter 15 12
                        time:   [1.8875 ms 1.9006 ms 1.9140 ms]
                        change: [-9.8182% -8.4717% -7.1023%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 5 outliers among 100 measurements (5.00%)
  1 (1.00%) high mild
  4 (4.00%) high severe

There appears to be a diff int he CI tests:
https://github.com/apache/arrow/pull/8654/checks?check_run_id=1392391221

---- execution::context::tests::count_distinct_integers_aggregated_single_partition stdout ----
thread 'execution::context::tests::count_distinct_integers_aggregated_single_partition' panicked at 'assertion failed: `(left == right)`
  left: `["a,3,2,2,2,2,2,2,2,2", "b,1,1,1,1,1,1,1,1,1", "c,3,2,2,2,2,2,2,2,2"]`,
 right: `["a,3,2,2,2,2,2,2,2,2", "c,3,2,2,2,2,2,2,2,2", "b,1,1,1,1,1,1,1,1,1"]`', datafusion/src/execution/context.rs:1077:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- execution::context::tests::count_distinct_integers_aggregated_multiple_partitions stdout ----
thread 'execution::context::tests::count_distinct_integers_aggregated_multiple_partitions' panicked at 'assertion failed: `(left == right)`
  left: `["b,5,4,4,4,4,4,4,4,4", "a,5,3,3,3,3,3,3,3,3", "c,1,1,1,1,1,1,1,1,1"]`,
 right: `["a,5,3,3,3,3,3,3,3,3", "c,1,1,1,1,1,1,1,1,1", "b,5,4,4,4,4,4,4,4,4"]`', datafusion/src/execution/context.rs:1105:9

Which is likely due to the change in order of the output (the values appear to be the same) which is not surprising given a change in the hash algorithm -- perhaps the test just needs to be updated

I prefer using t1ha than ahash, which proven to be sound.

I prefer using t1ha than ahash, which proven to be sound.

The t1ha crate is Licensed under zlib License.  I don't think that is compatible with Apache (ahash is).

Do we have a feel for the performance implications of this change for large data sets as opposed to the micro benchmarks?

A nice overview is listed here: https://github.com/tkaitchuck/aHash/blob/master/compare/readme.md comparing aHash to other algorithms. aHash passes the full suit of https://github.com/rurban/smhasher , FnvHash has some weak points.
@andygrove any way to test it? I recently also used it for the polars project where it brought around 20-30% speed ups to group by and hash join vs SeaHasher: https://github.com/ritchie46/polars/pull/128

@Dandandan Thanks for the links. That addresses my concern. We do have a benchmark crate in this repo with instructions for running a TPC-H with larger data sets but I don't see any reason not to go ahead and merge this.

Tests need fixing with the new behavior (un-sorted aggregate results). I think that we could sort the testing results in native rust (as opposed to in datafusion), so that when a test fails, it is easier to figure out whether it was the sort node or the aggregate node that caused the issue.

In past lives, we have addressed the "output order of group by may not be sorted" by normalization in the test suite itself (aka sort the output record batch in the test itself).

I ran the TPC benchmark and saw no noticeable difference in performance, so LGTM.

I ran the TPC benchmark and saw no noticeable difference in performance, so LGTM.

Thanks. At least no noticeable regression then.

I think this is good to go -- what do you think @jorgecarleitao  / @andygrove ?


Localhost.run - not getting the Sub-domain name from the log

Hello,
I am using the Localhost.run service because its free.
Here is my configuration -
hostname: localhost.run
ssh_port: 22
username: autossh
remote_forwarding:
  - localhost.run:80:<IP_ADDRESS>:8123
other_ssh_options: '-v'
force_keygen: false

Even though the connection works, but, I can not find the subdomain name from the log details.
==============================================================
Welcome to localhost.run!
Follow your favourite reverse tunnel at [https://twitter.com/localhost_run].
**You need a SSH key to access this service.**
If you get a permission denied follow Gitlab's most excellent howto:
https://docs.gitlab.com/ee/ssh/
*Only rsa and ed25519 keys are supported*
To set up and manage custom domains go to https://admin.localhost.run/
More details on custom domains (and how to enable subdomains of your custom
domain) at https://localhost.run/docs/custom-domains
To explore using localhost.run visit the documentation site:
https://localhost.run/docs/
==============================================================
** your connection id is 4de07fb0-777c-43e0-9ec4-589d360XXXXXX, please mention it if you send me a message about an issue. **
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering public key: /data/ssh_keys/autossh_rsa_key RSA SHA256:HL7Z3tI+X/iCe1V5AjLxx0cPthbzTSdJbQX8KCHdt2g explicit
debug1: Server accepts key: /data/ssh_keys/autossh_rsa_key RSA SHA256:HL7Z3tI+X/iCe1V5AjLxx0cPthbzTSdJbQX8KCHdt2g explicit
debug1: Authentication succeeded (publickey).
Authenticated to localhost.run ([<IP_ADDRESS>]:22).
debug1: Remote connections from localhost.run:80 forwarded to local address <IP_ADDRESS>:8123
debug1: Entering interactive session.
debug1: pledge: network
debug1: remote forward success for: listen localhost.run:80, connect <IP_ADDRESS>:8123
debug1: All remote forwarding requests processed

As you can see, I can't get the subdomain name!
The log ends there.....

Hey, cool service.
I get your point but how do we best solve this? Where would you normally expect this subdomain name and do you have any clue how to read it?

So here is the thing. We use autossh to connect the tunnel. Any of the parameters probably hides the line you are missing. My suggestion is you install autossh, copy the command from the script, then try around to understand which command line argument is the culprit. Happy to help fixing the issue if you figure out what it is ;)
Here is the command: https://github.com/ThomDietrich/home-assistant-addons/blob/aeb2187a0cd783c660a23b7e96c769231673b30f/autossh/run.sh#L73

Anything you wanna add?

Hello, I am back.
How can I test the command by removing the -N argument?

P.S. In you documentation/manual, pls do mention that the 'remote_forwarding' should be like this - 80:HomeAssistantIP:8123

Not sure about your suggestion, why is this not correct? https://github.com/ThomDietrich/home-assistant-addons/blob/master/autossh/DOCS.md#option-remote_forwarding=

Sure, I will help you.

I stopped using localhost.run service as technically its useless.
The temporary URL changes after random time interval.


params should support valueFrom

All params value fields (e.g. pipelinerun, taskrun, pipelineresource) should support valueFrom similar to container env support -- see https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.15/#envvar-v1-core and https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.15/#envvarsource-v1-core
To start with we should support configMapKeyRef and secretKeyRef to avoid having to add extra fields like secrets to some of our PipelineResources and to let us parameterize PipelineResources from a PipelineRun.

Sounds reasonable to me! @skaegi any chance you could provide an example of what this syntax would look like?

Yes and I'm also signing up for doing this.

/assign

I started to look at this closer. The question to answer is how the data should be reflected back.
If one uses a Value, its just as its done today.

If we support a valueFrom, should it be an envVar or volume?
We can't verify the type unless we pull the value which seems odd.
The current Secrets can be deprecated and replaced with Secrets via valueFrom hence the question above regarding env vars vs volumes.
I am also assuming we wouldn't carry over the optional behavior and just fail if set.

We might also want to figure out how to support "fieldref" https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.16/#envvarsource-v1-core
I've had a couple of cases where I wanted the metadata.name to be injected via param

I think in retrospect this might be a mis-feature. I've yet to have a case where I can't get at the data I need every bit as cleanly in an individual step using env or by 'volume/volumeMount' and a param for reference name.

Ok. So my statement above still holds so closing.

I've yet to have a case where I can't get at the data I need every bit as cleanly in an individual step using env or by 'volume/volumeMount' and a param for reference name

The use case would be reusing existing task definitions that may only be setup to accept string params. Altering the task definition may not be a desirable approach, particularly if using OCI bundles.
For instance, I would like to use the githu-app-token from the catalog as an OCI bundle, but I'd rather not put my installation ID in the pipeline run definition (associated with my source code). Since the application ID will be the same for every repository I build (as they're all from one organization), it would be really helpful if I could put it in a ConfigMap on my build cluster and just reference that from the PipelineRun.
Is that a fair use case, or am I missing an obvious alternative way of doing things?


std.objectKeysValues fails tk lint

I believe it is because https://github.com/google/go-jsonnet/commit/fed90cd9cd733a87f9fb27cfb32a3e08a7695603 is not in any official release. Can Tanka use an unreleased version ? Technically std.objectKeysValues it is present in 0.20.0, but not in the linter definitions.
ref: https://github.com/google/go-jsonnet/issues/713

Unfortunately there are 18 other commits in main before that fix. We will probably do a release of Tanka before this is available in a go-jsonnet release but perhaps there is a way to ping the maintainers there and ask if they could do a release in the near future 🙂


'Uncaught ReferenceError: breakpoints is not defined' after updating

Hello, I just updated from version 1.x to 2.x and the website doesn't look right (the 'jump to' sections is not smooth, and the fonts and images look wonky).
I get this error on the console:
Uncaught ReferenceError: breakpoints is not defined
    <anonymous> .../user/themes/big-picture/assets/js/main.js:15
    <anonymous> .../user/themes/big-picture/assets/js/main.js:219
[main.js:15:3](.../user/themes/big-picture/assets/js/main.js)

breakpoints is defined in assets/js/breakpoints.min.js and is loaded in templates/partials/head.html.twig. Did you try to clear your browser and Grav's cache? Can you check that breakpoints.min.js is loaded on your site?

Thank you very much for this, since I use a custom theme, extending this one, I didn't have the linecalling the .js in my custom head. Problem solved.


Automatic linking issues catches a error when message sent to it on DMs.

Description
The Bot should skip when a message is sent to it on DMs since it is checking for the category and the DMChannel has no category.
    message.channel.category.id in WHITELISTED_CATEGORIES
AttributeError: 'DMChannel' object has no attribute 'category'

Steps to Reproduce
Send a DM message to your test bot, and check your terminal.
Behaviour
Should ignore the message which isn't being done currently,
Possible Solutions
if isinstance(message.channel, discord.DMChannel):
            # This command is only Server specific
            return

Would you like to implement a fix?
Note: For high-priority or critical bugs, fixes may be implemented by staff.

[ ] I'd like to implement the bug fix
[x] Anyone can implement the bug fix

I'd like to work on this. There's a few other places that don't behave well when the ctx is from a DMChannel, I'll sort those at the same time.


Moment.js Refactor

Reworking the time-sensitive-content widget logic. The bug of not reverting back to a basic widget post-templateRetireDate was largely fixed with the change in the partial. It was happening because we were getting into a place where showTimeSensitiveContent == false and showBasicContent == false
That's been replaced by a check for the presence of a callToAction. The rest of the refactor revolves around using actual Dates in the logic, rather than the strings, and breaking decision making blocks out into unit-test-able functions.
resolveTemplateStatus smells a little funky.  I think it reads a little clearer like this, but I'd be ok refactoring it as a switch.

refactor of #592 with moment js.

Contributor License Agreement adherence:

[x] This Contribution is under the terms of Individual Contributor License Agreements (and also Corporate Contributor License Agreements to the extent applicable) appearing in the Apereo CLA roster.

:notebook: Codeclimate is flagging TODO comments left for future ES2016+ refactoring

Shoot, sorry. I used "Rebase and merge" on my pull request instead of just a merge, which I think wouldn't have caused the conflicts.

Shoot, sorry. I used "Rebase and merge" on my pull request instead of just a merge, which I think wouldn't have caused the conflicts.

No worries, a simple rebase off master resolves the conflicts.

I read up on moment and love it.
+1 for using moment.

Glad you like it!
At Node Interactive the Moment team announced that there is a proposal in to TC39 to use Moment as a reference implementation for new unitTime and relativeTime APIs for ES2019+.

I'm not a big fan of this resolveDate function, though it's hard for me to put exactly what it is. I think we need to refactor the logic. [...] This becomes a pretty simple online moment call then. Now typing, I am just grumpy about this logic having to be needed.

I'm open to suggestions. I simply ported over the existing logic.
For making more dramatic changes I would probably need to have a live API with real data to test against.

I propose stronger documentation stating that behavior for dates is that you provide an ISO date with time stamp, or it defaults to the beginning of the day.

:+1: that would likely fallout side the scope of this current refactor.

Also, I generally don't like TODO's. I feel like they just hang around until a refactor happens anyways. I'm all for GitHub issues though.

:man_shrugging: Okay, the GitHub issue would just hang around until a refactor happens as well.

Try running this locally. To do that, I mvn clean install uportal-app-framework, then pull down and change widget-creator to pull in the SNAPSHOT version, mvn clean package then mvn jetty:run

Changes have been rebased off uPortal-Project:master branch and fix for invalid date detection has been added.


(Bug) Profile - Edit: Phone input field not loaded well

It should look like the 2 other input fields.

Verified as done at the Dev env v0.20.1
Profile page and Phone fields look good both from browser and from iFrame (like in Skype, in Slack, in Telegram and Instagram)

That's the wrong scree this is about the edit screen, press edit, where you
see the phone number with the flag

@AnastasiiaOdnoshevna wrong screen checked

Checked for "Edit profile" page
The "phone" field is displayed like the "username" and "e-mail" fields
Dev env v0.20.2
Checked on the:
LG V30+ // Android 8.0
Desktop: Windows 10 // Google Chrome 81.0.4044.129

@yaroslav-fedyshyn-nordwhale still happens on desktop

@sirpy @AnastasiiaOdnoshevna
I think the reason why it happening is the cached code. Please use the incognito mode browser to prevent code cache. It does not appear for me anytime after the fix even switching fast between screens - the phone input looks the as email and username firlds

@sirpy @yaroslav-fedyshyn-nordwhale
Reproduced in Incognito on iPhone 7//13.4.1
Not reproduced on Xiaomi Mi A3//10.0
QA env v0.20.3-0

Tested as in the ordinary tab as in the incognito tab. The phone number field is displayed without emphasizing(line below)
Checked on DEV V0.21.0
LG V30+ // Android 8.0 // Google Chrome 81.0.4044.138
Desktop: Windows 10 // Google Chrome Version 83.0.4103.6


Create configuration tables for services (users, participants, devices)

Might need to store configs for services also.
optional : id_user, id_participant, id_device
required: id_service
JSON format
optional date?
local VS remote ?
per PC?
GUI for configuration, how to describe fields, scope ?

Also add API queries for Device/Participants/Users/Services


some css changes

Just came across your css today and will be using it from now on.  I did make a few changes after going through it... some specific to my own project, but might be useful.  If anything, the validation focus additions I made should be added to the project.
/*CUSTOM SELECT2 STUFF GOES HERE*/
/*for everything to be correct font-size*/
.select2-container--bootstrap4 {
    font-size: $font-size-base !important;
}

/*search field*/
.select2-container--bootstrap4 .select2-search--dropdown .select2-search__field {
	padding-left: calc(.5rem - 1px);
	padding-right: .5rem;
}

/*results for current rendered selection*/
.select2-container--bootstrap4 .select2-selection--single .select2-selection__rendered {
	padding-left: $input-padding-x;
	padding-right: $input-padding-x;
}

/*dropdown*/
.select2-container--bootstrap4 .select2-dropdown {
	z-index:$zindex-dropdown; /*z-index 1000*/
}

/*dropdown results for items*/
.select2-container--bootstrap4 .select2-results__option {
	padding-left: $input-padding-x;
	padding-right: $input-padding-x;
}

/*dropdown results for optgroup titles*/
.select2-container--bootstrap4 .select2-results__group {
	padding-left: $input-padding-x;
	padding-right: $input-padding-x;
	background-color: $gray-100;
}

/*dropdown results for nested items (like in optgroups)*/
.select2-container--bootstrap4 .select2-results__options--nested .select2-results__option {
    padding-left: calc(#{$input-padding-x + .75rem});
    padding-right: $input-padding-x;
}

/*dropdown selected*/
.select2-container--bootstrap4 .select2-dropdown .select2-results__option[aria-selected=true] {
	background-color: lighten($primary, 47%);
	color: #333;
}

/*dropdown hover*/
.select2-container--bootstrap4 .select2-results__option--highlighted,
.select2-container--bootstrap4 .select2-dropdown .select2-results__option--highlighted[aria-selected=true] /*comment this line out to not highlight selected item*/ {
	background-color: $primary;
	color: #fff;
}

/*dropdown arrow color*/
.select2-container--bootstrap4 .select2-selection--single .select2-selection__arrow b {
	border-color: $gray-500 transparent transparent transparent;
}

/*validation focus*/
select.is-invalid ~ .select2-container--bootstrap4 .select2-selection {
    box-shadow: 0 0 0 $input-btn-focus-width rgba($danger, .25);
}
select.is-valid ~ .select2-container--bootstrap4 .select2-selection {
	box-shadow: 0 0 0 $input-btn-focus-width rgba($success, .25);
}

@morrow95 Thanks for your feedback. But this is just your own project specific customization, isn't this? Or are there any general problems?

@ttskch i also had to change the rules a bit. the variables used by @morrow95 are from bootstrap.
this is my full code:
`@import '~bootstrap/scss/functions';
@import '~bootstrap/scss/variables';
@import '~bootstrap/scss/mixins';
@import '~select2';
@import<EMAIL_ADDRESS>.select2-container--bootstrap4 .select2-selection--multiple .select2-selection__rendered
{
display: block !important;
padding: 0 $input-padding-x calc($input-padding-y - 1px) $input-padding-x !important;
}
.select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice
{
margin-top: calc($input-padding-y - 1px);
}
.select2-container--bootstrap4.select2-container--focus.select2-container--open .select2-selection
{
border-bottom: 1px solid $gray-400 !important;
}
`

@DrJele I don't know why your modifications are needed. Could you please show some problem reproducing html?

my modifications fix two things for a multiple select with ajax:

i see a black line at the bottom when the choice list disapears, only during the transition.
when i select the first option the row height of the select2 control grows by one pixel.

i posted my modifications just to show that what @morrow95 says it is posible and useful .. to use the variables from the bootstrap scss, since most people using this theme also use the bootstrap css.

@morrow95 thanks for your fix, I also added:
This fix border and radius between search input and results list.
.select2-container--bootstrap4.select2-container--open .select2-selection {
    border-bottom: 0;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}

and this make the select more responsive:
.select2-container--bootstrap4 {
    font-size: $font-size-base !important;
    width: 100% !important;
}


Should the glyph.isEmpty method be a property?

Having this as a method doesn’t seem consistent with the rest of the API.

Also, it counts lib data as “something in the glyph”. Where did this come from?

+1 and I don't know. Lib shouldn't return True

Done in https://github.com/robofab-developers/fontParts/commit/acbf0f789bcb2f61c65a0cdf6bb3d7ed96d71b93. Presence lib won't return False now.

Thinking about this some more, should having a guideline count as "something in the glyph"? Perhaps this is better as a method with kwargs that default to only checking outlines and components, but allow for checking guidelines, anchors, and lib? The way I'd want to use this to to see if there are outlines, but can see that one may want to check the other things.

I'm wondering what this method is actually useful for now that glyphs have grown so complex. I'm leaning towards deprecating it altogether in favor of more explicit if not glyph.contours and not glyph.components ....

I'm open to that. I liked this as a convenience method, but tbh I didn't realize it was in RoboFab until this in FontParts, so perhaps the explicit is better.


Add Apache Iceberg as a destination

Add support for loading data to and from Apache Iceberg (https://iceberg.apache.org/).

Hi @jcorrado76! We currently have Iceberg planned to be release towards the end of Q2 (Roadmap)
Is this something urgent for you? If so, when would you need it by?

Hi @thomaschung408, it's not urgent. I don't need it. I just thought it'd be a good idea, and wanted to make sure it got on the roadmap. Thanks!

Got it! Appreciate the feedback @jcorrado76 ! Will keep you and this thread posted. Stay tuned!

@thomaschung408 We are currently investigating the migration of our streaming data transformation pipelines (IoT asset -> MQTT -> Kafka -> Python -> Kafka Connect -> Iceberg on S3) to Mage. Support for writing Iceberg data would come in very handy, as it would allow us to retire our custom Kafka Connect Iceberg sink.
So if a prioritization of this feature is possible, it would be highly appreciated!
Thanks in advance!

@a-m-w We'll have Iceberg as a streaming destination available by the end of next week! I'll reach out to you when it's available. :)

Great news, thank you very much! Looking forward to hearing from you!


Improve mapping to GISAID field "Passage details/history"

Prepend specimen processing if  "virus passage" was selected.
Replace all "unknown" values with blanks. So no more "lab host;unknown;passage method".
Suggested algorithm:
If virus passage is selected from specimen processing:
  Add virus passage

If lab host is selected and not null value:
  Add lab host
If passage number is selected and not a null value:
  Add passage number
If passage method is selected and not a null value:
  Add passage method`

@griffie Is this the only GISAID field we have to worry about? Are there any other concatenated fields that you want to replace "unknown" values with blanks?

Hmmm, I think Specimen Source too. There are 7 possible fields, all yellow, but not all may apply to the sample so there will be null values in some of them. Can we just concatenate info from the fields with no null values e.g. concatenate "nasophrynx" from anatomical part and "swab" from collection device, but ignore the other fields if they just have "not applicable"?

I can do that. So every field with multiple mapped values, right?

Yes, I think so.


[feature] could this repo support deploy for static

I like the style of this repo.
I would like to deploy this to nginx, so i change
import adapter from '@sveltejs/adapter-auto';
to
import adapter from '@sveltejs/adapter-static';
and change the adaptor to
adapter: adapter({ 			pages: 'build',  			assets: 'build',  			fallback: 'index.html',  			precompresses: true, 			strictpermalink: false 		}),
after i run npm run build, it shows many different exceptions.
So what is the corrent way to support deploye for static mode?

There are a couple of options that won't work in Static mode. Search, tags, and Open Graph image. All that should be removed or changed for this to work in static mode. Besides that, many packages must be updated (including Svelte/kit itself, since back then it was still RC).
Doing a static version of this has been on my to-do list for a while, but I don't have an ETA.

ok. i see.
I would deploy this by using adaptor-node instead. Thanks a lot!


Learn 2 Ape

Overview
github.com/ApeAcademy
Specification

[x] How to setup Python env (pipx)
[ ] How to contribute (pyenv)
[x] How to install ape tutorial
[x] ERC 20 tutorial
[ ] Ape init template
[ ] NFT tutorial
[ ] Other Tutorials
[ ] Convert contracts to cookiecutter (dependent on which smart contract or project we want to convert)
[ ] Make cookies out of brownies

Dependencies
Include links to any open issues that must be resolved before this feature can be implemented.

We're checked for ERC 20 Tutorial -

@ahoymrag ✅

@fubuloubu since we added the ape-template. Should we make a 2 min video on how to use it? to satisfy the Ape init ?

@fubuloubu since we added the ape-template. Should we make a 2 min video on how to use it? to satisfy the Ape init ?

Yes, I would say needs a video

@Ninjagod1251 Whenever you get a moment, let's break this ticket down into whatever is remaining and close this one out.

Updated ready for launch!

https://github.com/ApeWorX/ape/pull/768
This is to help with deployment tutorial

[ ]  Ape Accounts
[ ]  Interacting with Ape
[ ] Understanding the Tech Doc

3 more scripts have been added to guide a user to best use Ape

Closing the ticket and moving it to a place to keep better track
https://github.com/ApeWorX/academy/issues


chore: automatic backport

Add a workflow for automatically backporting changes to our various release branches.
The way it works is for every PR that needs backporting, add a backport <branch-name> label to the PR.
Once the PR is closed and merged, the workflow will create backport PRs for the branch names specified in the labels.
Currently we put this burden on repository maintainers, i.e external contributors don't have to worry about and should operate as normal.

The backport to k8s-20/main failed:
The process '/usr/bin/git' failed with exit code 1

To backport manually, run these commands in your terminal:
# Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add .worktrees/backport-k8s-20/main k8s-20/main
# Navigate to the new working tree
cd .worktrees/backport-k8s-20/main
# Create a new branch
git switch --create backport-498-to-k8s-20/main
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick --mainline 1 b401cce30f686e903dc48d65fe8cb7be97135462
# Push it to GitHub
git push --set-upstream origin backport-498-to-k8s-20/main
# Go back to the original working tree
cd ../..
# Delete the working tree
git worktree remove .worktrees/backport-k8s-20/main

Then, create a pull request where the base branch is k8s-20/main and the compare/head branch is backport-498-to-k8s-20/main.


Error on fetch:  node_modules/angular2-dynamic-component/index

Error on fetch:  node_modules/angular2-dynamic-component/index
I get this compile error when attempting to use angular2-busy.  I checked and noticed that angular2-dynamic-component isn't even a dependency.

Maybe your npm version did not install the secondary dependencies in a flat way, and you may install them manually:
npm install --save<EMAIL_ADDRESS>npm install --save<EMAIL_ADDRESS>

After those two dependencies, there was another dependency on core-js/es7/Reflect, and I gave up and reverted to 1.0.1 which works fine.

Sorry for the missing of the system.config.js introduction. The README has been updated.

I had a similar problem with 1.02 and resolved by adding the missing info from system.config.js.  like damoncasale, I then also got 404 errors with core-js (mine was actually core-js/es6/reflect).  I installed 1.0.1 and it now works fine for me too.

I've got the same behaviour
ts-metadata-helper and angular2-dynamic-component are resolved, but "reflect" is not:

Now the module does not rely on angular2-dynamic-component any more.


speaker page linked with track

Issue #676

[x] Add links of Speaker page sessions with Track page.
[x] Add location info in popover

Current coverage is 43.77% (diff: 0.00%)

Merging #686 into development will not change coverage

@@           development       #686   diff @@
=============================================
  Files                6          6
  Lines              651        651
  Methods             70         70
  Messages             0          0
  Branches           105        105
=============================================
  Hits               285        285
  Misses             366        366
  Partials             0          0

Powered by Codecov. Last update 67e1561...1859074


Saving corrupts equipment screen

This is what the equipment screen looks like if I open it right after saving. I'm using mGBA. In case this doesn't happen to everyone, I attached my save file, but note that you have to save again before opening the equipment screen to trigger this glitch.
Corrupted equipment screen.zip

I see you just fixed something related to this screen 6 hours ago. I take it this will fix the issue once a new patch is released?

Nevermind, I just saw your latest post on the Romhacking.net forums. It seems you have indeed already fixed it. Sorry to bother you.

Thanks for reporting, fixed in 7e92b15.  The Status submenu only has 9 tiles of space but it needs to clear 10 tiles.
-[Unknown]


chore: enable the use eszip feature flag for edge functions

🎉 Thanks for submitting a pull request! 🎉
Summary
Updates the CLI to utilise the eszip changes for edge functions.
For us to review and ship your PR efficiently, please perform the following steps:

[internal] Open a bug/issue before writing your code 🧑💻. This ensures we can discuss the changes and get feedback from everyone that should be involved.
[x] Read the contribution guidelines 📖. This ensures your code follows our style guide and
passes our tests.
[n\a] Update or add tests (if any source code was changed or added) 🧪
[n\a] Update or add documentation (if features were changed or added) 📝
[ ] Make sure the status checks below are successful ✅

A picture of a cute animal (not mandatory, but encouraged)

Are we sure to enable this for all cli users? On LD I see it is only on for 5 users.

@danez oh, strange. This has been changed whilst I was away. I'll double-check what's happened here, it was fully on before. Good spot.


Bug in Matrix2D class

CAUTION! For some reason when using the operator * to multiply a scalar with a matrix, the initial matrix values are scaled instead of returning a scaled copy of the matrix.

In ISAAR.MSolve.Numerical.LinearAlgebra.Matrix2D.cs replace
    public static Matrix2D operator *(Matrix2D A, double b)
    {
        Matrix2D AA = new Matrix2D(A.data as double[,]);
        for (int i = 0; i < A.Rows; i++)
            for (int j = 0; j < A.Columns; j++)
                AA[i, j] = AA[i, j] * b;
        return AA;
    }

with
    public static Matrix2D operator *(Matrix2D A, double b)
    {
        var scaled = new Matrix2D(new double[A.Rows, A.Columns]);
        Array.Copy(A.data, scaled.data, A.data.Length);
        scaled.Scale(b);
        return scaled;
    }

I have already done so and it doesn't seem to break anything else. Only IGA code uses that operator as far as my repo knows, so let's hope no one else depends on that side effect. The change will also be included in my next pull request.

This was fixed at some point. Anyway this class is no longer in use as of #126.


QA and stable release branch?

what's your guy's QA process and release?
I tried the code twice. For the first time, it builds but I was unable to search for any models. For today, the build is simply broken.
note: function defined here
--> /Users/davidshao/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wasmedge-sys-0.19.1/src/utils.rs:49:15
|
49 | pub(crate) fn check(result: WasmEdge_Result) -> WasmEdgeResult<()> {
|               ^^^^^ -----------------------
error[E0610]: u32 is a primitive type and therefore doesn't have fields
--> /Users/davidshao/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wasmedge-sys-0.19.1/src/types.rs:386:50
|
386 |                         u64::from_be_bytes(value.Data)
|                                                  ^^^^
error[E0610]: u32 is a primitive type and therefore doesn't have fields
--> /Users/davidshao/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wasmedge-sys-0.19.1/src/types.rs:393:46
|
393 |                     u64::from_be_bytes(value.Data)
|                                              ^^^^
Some errors have detailed explanations: E0117, E0308, E0425, E0531, E0610.
For more information about an error, try rustc --explain E0117.
The following warnings were emitted during compilation:
warning<EMAIL_ADDRESS>[wasmedge-sys] searching for existing libwasmedge install
warning<EMAIL_ADDRESS>[wasmedge-sys] searching for libwasmedge at LibWasmEdgePaths { lib_dir: "/Users/davidshao/.wasmedge/lib64", inc_dir: "/Users/davidshao/.wasmedge/include" }
warning<EMAIL_ADDRESS>[wasmedge-sys] searching for libwasmedge at LibWasmEdgePaths { lib_dir: "/Users/davidshao/.wasmedge/lib", inc_dir: "/Users/davidshao/.wasmedge/include" }
warning<EMAIL_ADDRESS>[wasmedge-sys] found libwasmedge at LibWasmEdgePaths { lib_dir: "/Users/davidshao/.wasmedge/lib", inc_dir: "/Users/davidshao/.wasmedge/include" }
warning<EMAIL_ADDRESS>[wasmedge-sys] generating bindgen header "/Users/davidshao/src/moxin/target/debug/build/wasmedge-sys-e43c08d727d8ebae/out/wasmedge.rs"
error: could not compile wasmedge-sys (lib) due to 98 previous errors

Thanks for reporting the problem! We updated our README to reflect the need to upgrade the WasmEdge version, which is a requirements to build the application.
Please try the following commands:
curl -sSf https://raw.githubusercontent.com/WasmEdge/WasmEdge/master/utils/install_v2.sh | bash -s -- --version=0.14.0
source $HOME/.wasmedge/env

Said that, you're question is totally fair. What you can expect to be fully stable at this point is what is released. However, we're currently discussing and working on improving our dev process to have better quality assurance in our main branch without damaging our iteration speed.

with updated code and WASM, I got link error this time:
(on M2 MacBook Pro)
23cc47fb21a9 in libwasmedge_sys-a58c0e8b8f346bb9.rlib(wasmedge_sys-a58c0e8b8f346bb9.wasmedge_sys.462b2a9bc189eb77-cgu.3.rcgu.o)
"WasmEdge_ValTypeIsRef", referenced from:
wasmedge_sys::types::$LT$impl$u20$core..convert..From$LT$wasmedge_sys..ffi..WasmEdge_ValType$GT$$u20$for$u20$wasmedge_types..ValType$GT$::from::h45c123cc47fb21a9 in libwasmedge_sys-a58c0e8b8f346bb9.rlib(wasmedge_sys-a58c0e8b8f346bb9.wasmedge_sys.462b2a9bc189eb77-cgu.3.rcgu.o)
"WasmEdge_ValTypeIsV128", referenced from:
wasmedge_sys::types::$LT$impl$u20$core..convert..From$LT$wasmedge_sys..ffi..WasmEdge_ValType$GT$$u20$for$u20$wasmedge_types..ValType$GT$::from::h45c123cc47fb21a9 in libwasmedge_sys-a58c0e8b8f346bb9.rlib(wasmedge_sys-a58c0e8b8f346bb9.wasmedge_sys.462b2a9bc189eb77-cgu.3.rcgu.o)
"_WasmEdge_ValidatorCreate", referenced from:
wasmedge_sys::validator::Validator::create::hf3f58a9c8b3eb606 in libwasmedge_sys-a58c0e8b8f346bb9.rlib(wasmedge_sys-a58c0e8b8f346bb9.wasmedge_sys.462b2a9bc189eb77-cgu.3.rcgu.o)
"_WasmEdge_ValidatorDelete", referenced from:
_$LT$wasmedge_sys..validator..Validator$u20$as$u20$core..ops..drop..Drop$GT$::drop::h316710f4a629bce4 in libwasmedge_sys-a58c0e8b8f346bb9.rlib(wasmedge_sys-a58c0e8b8f346bb9.wasmedge_sys.462b2a9bc189eb77-cgu.3.rcgu.o)
"_WasmEdge_ValidatorValidate", referenced from:
wasmedge_sys::validator::Validator::validate::h829cf2bfcd5f5715 in libwasmedge_sys-a58c0e8b8f346bb9.rlib(wasmedge_sys-a58c0e8b8f346bb9.wasmedge_sys.462b2a9bc189eb77-cgu.3.rcgu.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: could not compile moxin (bin "_moxin_app") due to 1 previous error

@juntao @L-jasmine Can you help to diagnose this issue?

@thinkinginmath It looks like you have the wrong version of libwasmedge, so check that it links to 0.14

Maybe you can do a
wasmedge --version

to see the current version? Thanks.

it is 0.14.0
% wasmedge --version
wasmedge version 0.14.0
does the current build assume certain MacOS version? Mine is Version 13.2.1 (22D68).
I looked at the error, and found this:
ld: warning: object file ../src/moxin/target/debug/deps/liblibsqlite3_sys-8fee68f835b046c4.rlib(0343851c9008f270-sqlite3.o)) was built for newer macOS version (13.3) than being linked (13.0)
ld: warning: ignoring file ../.wasmedge/lib/libwasmedge.tbd, building for macOS-arm64 but attempting to link with file built for unknown-unsupported file format ( 0x7B 0x0A 0x20 0x20 0x22 0x6D 0x61 0x69 0x6E 0x5F 0x6C 0x69 0x62 0x72 0x61 0x72 )
Undefined symbols for architecture arm64:
"_WasmEdge_ASTModuleDelete", referenced from:
_$LT$wasmedge_sys..ast_module..Module$u20$as$u20$core..ops..drop..Drop$GT$::drop::h0b85422a05d0309d in libwasmedge_sys-a58c0e8b8f346bb9.rlib(wasmedge_sys-a58c0e8b8f346bb9.wasmedge_sys.462b2a9bc189eb77-cgu.3.rcgu.o)
"_WasmEdge_ExecutorCreate", referenced from:
....
....
wasmedge_sys::validator::Validator::validate::h829cf2bfcd5f5715 in libwasmedge_sys-a58c0e8b8f346bb9.rlib(wasmedge_sys-a58c0e8b8f346bb9.wasmedge_sys.462b2a9bc189eb77-cgu.3.rcgu.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

or does the project  work on MacOS with m2 processor at all?

We know Moxin works fine on M1 and M3 processors, so M2 "should" work as well.
Have you tried the "release" version of the Moxin and install directly to see if that version works? It is the most stable one currently until we fix up some recent changes that's affecting stability.
The release versions can be downloaded here:
https://github.com/moxin-org/moxin/releases/tag/v0.1.0-alpha
or
https://moxin.app

It appears that when you built it the first time, you installed WasmEdge 0.13 and then we updated to WasmEdge 0.14. When you build it the second time, it is still finding the old Wasmedge library file.
Can I ask you to re-install wasmedge like this?
rm -rf /usr/local/wasmedge

curl -sSf https://raw.githubusercontent.com/WasmEdge/WasmEdge/master/utils/install_v2.sh | bash -s -- --version=0.14.0

source $HOME/.wasmedge/env

Then you can run git pull and cargo build. Thanks.

it is 0.14.0 % wasmedge --version wasmedge version 0.14.0
does the current build assume certain MacOS version? Mine is Version 13.2.1 (22D68).
I looked at the error, and found this: ld: warning: object file ../src/moxin/target/debug/deps/liblibsqlite3_sys-8fee68f835b046c4.rlib(0343851c9008f270-sqlite3.o)) was built for newer macOS version (13.3) than being linked (13.0) ld: warning: ignoring file ../.wasmedge/lib/libwasmedge.tbd, building for macOS-arm64 but attempting to link with file built for unknown-unsupported file format ( 0x7B 0x0A 0x20 0x20 0x22 0x6D 0x61 0x69 0x6E 0x5F 0x6C 0x69 0x62 0x72 0x61 0x72 ) Undefined symbols for architecture arm64: "_WasmEdge_ASTModuleDelete", referenced from: _$LT$wasmedge_sys..ast_module..Module$u20$as$u20$core..ops..drop..Drop$GT$::drop::h0b85422a05d0309d in libwasmedge_sys-a58c0e8b8f346bb9.rlib(wasmedge_sys-a58c0e8b8f346bb9.wasmedge_sys.462b2a9bc189eb77-cgu.3.rcgu.o) "_WasmEdge_ExecutorCreate", referenced from: .... .... wasmedge_sys::validator::Validator::validate::h829cf2bfcd5f5715 in libwasmedge_sys-a58c0e8b8f346bb9.rlib(wasmedge_sys-a58c0e8b8f346bb9.wasmedge_sys.462b2a9bc189eb77-cgu.3.rcgu.o) ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

Please provide the complete compilation error message. I need more information. Thank you.

Closing due to lack of activity.


Extending the supported data types

I have used this library to interact with numPy from a simple Tcl program, to see whether this would work and what would be required for a convenient API. I ran into a number of issues, some of which have already been solved, but I would appreciate advice on a number of things: like what is an efficient way to pass numerical data to and fro?

Arjen,
This library seems rather dead -- maybe try to get DKF to take a look and interest.  He has done a decent amount of Python also.

Hi Gerald,
I intend (and Steve Landers does too) to talk about this in the online
conference. Pity if it is indeed dead.
Regards,
Arjen
Op ma 19 okt. 2020 om 16:56 schreef Gerald Leter<EMAIL_ADDRESS>
Arjen,
This library seems rather dead -- maybe try to get DKF to take a look and
interest. He has done a decent amount of Python also.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/aidanhs/libtclpy/issues/5#issuecomment-712223101, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAN6YR7RGTL5JFWDDAYYDTDSLRHQLANCNFSM4SV3RMSA
.

Hi @arjenmarkus
First off, regarding death, I'll be honest - I don't use Tcl these days so don't plan to do any more work on this repo. I'm happy to review and merge PRs (or add contributors), or provide guidance to interested parties on ways to go about things - the codebase is tiny, under 600 lines of mostly error handling. Alternatively I would be open to talking about contracting - sadly there are only so many hours in the day for hobby work!
To answer your second question: it really depends. Generally speaking the best way to make FFI across language boundaries fast (particularly for high level languages like Python and Tcl) is to move data as little over the boundary as possible.
So, with a more complete libtclpy and numpy pseudocode (I've not really used it), you'd do something like
py eval {
    def do_things(num_list, logline):
        print(logline)
        arr = numpy.array_from_list(num_list)
        arr.reverse()
        return arr.to_python_list()
}
set mylist [list 1 2 3]
set out [py call -typed do_things "list<number>" $mylist string "hello"]
puts $out

(note: the -typed argument doesn't exist today, so everything is passed as a string, which is bad - there is no decent workaround, you'll need to use JSON or something, it'll be slow)
If you didn't want to do it in one shot (allowing you to call functions freely later on), you'd take the classic approach for Tcl C extensions and return a handle, like:
py eval {
    def make_array(num_list):
        return tclpy.Handle(numpy.array_from_list(num_list))
}
set mylist [list 1 2 3]
set arr [py call -typed make_array "list<number>" $mylist]
puts $arr; # something like "tclpy0x123456abcd"
py destroy $arr

(note: handles don't exist today - a workaround would be to create a python function stashing the array in globals() with a randomly generated name and use that as the handle)
However, if you just want numpy then you probably want to create a set of bindings around the numpy C bindings itself. This is a hassle, as you're just recreating bindings that already exist in Python, but chops out one hop of the Tcl -> Python -> numpy dance if you really want speed.
[1] Example handle stashing (untested):
def to_handle(array):
    handle = str(uuid.create())
    globals()[handle] = array
    return handle
def from_handle(handle):
    return globals()[handle]

Thanks for this analysis, My current plan is to use the package "as is" to
see where improvements are needed/desirable. Of course, when I (or
somebody) get to use it on actual large problems, efficient data management
becomes really important. That would be an interesting situation :).
One of the attractive aspects of the package is that the code size is
indeed so limited.
Op do 22 okt. 2020 om 00:05 schreef Aidan Hobson Sayers <
<EMAIL_ADDRESS>
Hi @arjenmarkus https://github.com/arjenmarkus
First off, regarding death, I'll be honest - I don't use Tcl these days so
don't plan to do any more work on this repo. I'm happy to review and merge
PRs (or add contributors), or provide guidance to interested parties on
ways to go about things - the codebase is tiny, under 600 lines of mostly
error handling. Alternatively I would be open to talking about contracting

sadly there are only so many hours in the day for hobby work!

To answer your second question: it really depends. Generally speaking the
best way to make FFI across language boundaries fast (particularly for high
level languages like Python and Tcl) is to move data as little over the
boundary as possible.
So, with a more complete libtclpy and numpy pseudocode (I've not really
used it), you'd do something like
py eval {
def do_things(num_list, logline):
print(logline)
arr = numpy.array_from_list(num_list)
arr.reverse()
return arr.to_python_list()
}
set mylist [list 1 2 3]
set out [py call -typed do_things "list" $mylist string "hello"]
puts $out
(note: the -typed argument doesn't exist today, so everything is passed
as a string, which is bad - there is no decent workaround, you'll need to
use JSON or something, it'll be slow)
If you didn't want to do it in one shot (allowing you to call functions
freely later on), you'd take the classic approach for Tcl C extensions and
return a handle, like:
py eval {
def make_array(num_list):
return tclpy.Handle(numpy.array_from_list(num_list))
}
set mylist [list 1 2 3]
set arr [py call -typed make_array "list" $mylist]
puts $arr; # something like "tclpy0x123456abcd"
py destroy $arr
(note: handles don't exist today - a workaround would be to create a
python function stashing the array in globals() with a randomly generated
name and use that as the handle)
However, if you just want numpy then you probably want to create a set
of bindings around the numpy C bindings itself. This is a hassle, as you're
just recreating bindings that already exist in Python, but chops out one
hop of the Tcl -> Python -> numpy dance if you really want speed.
[1] Example handle stashing (untested):
def to_handle(array):
handle = str(uuid.create())
globals()[handle] = array
return handle
def from_handle(handle):
return globals()[handle]
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/aidanhs/libtclpy/issues/5#issuecomment-713903799, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAN6YR44OUUG5ODA7D2SEEDSL5LKRANCNFSM4SV3RMSA
.

FYI I've just bumped the library support (only) Python 3, since Python 2 is now dead

Great, I will have a look asap. Currently preparing a presentation on this for the online Tcl conference.


use a numerical version in META (_NUM strips leading v)

since the 0.1 release is v0.1 in META now...

actually, your release does not fill any watermark at all (the tarball still contains %%VERSION_NUM)... you might want to install topkg-care opam package and do a topkg tag, topkg distrib and topkg publish

Yes. I switched to a topkg release process following advice (that's my first try) and I used it a bit blindly... Thanks for the tip, I'll look into using it properly!

Finally fixed. I understood topkg workflow in the end, topkg help release is really nice.


Specmatic not overriding global security

Description
In OpenAPI 3, defined a SecurityScheme at global level but then override it at certain endpoints to not use security,but specmatic is not overriding security schema.
Steps to reproduce
openapi: 3.0.0
...
1) Define the security scheme type (HTTP bearer)
components:
  securitySchemes:
    bearerAuth:            # arbitrary name for the security scheme
      type: http
      scheme: bearer
      bearerFormat: JWT    # optional, arbitrary value for documentation purposes

2) Apply the security globally to all operations
security:
  - bearerAuth: []         # use the same name as above

3) Now I want to override global security schema bearerAuth for specific endpoint
paths:
  /unprotected/path:
    get:
      security: []

Expected behavior
Specmatic should not expect bearerAuth for /unprotected/path endpoint but it is throwing below error
REQUEST\n  \n     Authorization header is missing in request
System Information:

OS & version: MAC OS 14.4.1
Specmatic version: latest
JDK version: openjdk 17.0.11

Additional context
This is really blocking me to proceed further , Quick workaround/help would be appreciated , Thanks !!
@harikrishnan83 @samyakOO7 pranavgawri

hello @Rajaneeshkumar, thanks for reporting the issue. We will take a look.

hello @Rajaneeshkumar, thanks for reporting the issue. We will take a look.

Any update pls !!

hello @Rajaneeshkumar , this issue is fixed and will be part of our upcoming release. I will keep you posted. Thanks.

hello @Rajaneeshkumar , this issue is fixed and will be part of our upcoming release. I will keep you posted. Thanks.

Thanks !!
Please make this fix available for specmatic-node as well.

@Rajaneeshkumar currently the release is planned for 30th December 2024 (Monday).

@Rajaneeshkumar We have just published release 2.0.50 (Node module is also updated). FYI. Thanks.


refactor(ast): rename visit_enum to visit_ts_enum_declaration.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#3954
#3998  👈
#3995
#3994
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @rzvxa and the rest of your teammates on  Graphite

I don't get why these formatting issues pop up after merging the down stack, I'll fix it and let you know.


Bug#10: Unable to configure TCPSink through App/web.config in case of…

… using IP address

I have addressed all of your concerns

closes #10


plug-in will not load on docker-homebridge, wrong path to dependency.

Plug-in fails to load on docker-homebridge (HB 1.5.0) with
[9/8/2022, 1:27:16 AM] ====================
[9/8/2022, 1:27:16 AM] ERROR LOADING PLUGIN homebridge-bed-control:
[9/8/2022, 1:27:16 AM] Error: Cannot find module 'hap-nodejs/dist/lib/definitions'
Require stack:
- /homebridge/node_modules/homebridge-bed-control/dist/bedAccessory.js

The container runs HB with extra flags: -P /var/lib/homebridge/node_modules --strict-plugin-resolution so the correct path to hap-nodejs is homebridge/node_modules/hap-nodejs
Prepending homebridge/node_modules/ in line 4 of bedAccessory.js allows the plug-in to run.

Thanks, I was wondering if I was missing a dependency or something. Do you know how to make tslint happy in my dev area after changing the import?

Thanks, I was wondering if I was missing a dependency or something when I saw that. I added it as a local dependency instead of relying on the homebridge version, which should fix it.

That I’m not sure of. I just know what I had to change to get it working in docker. Maybe recreate the same path for the homebridge core modules? On Sep 7, 2022, at 22:26, DeeeeLAN @.***> wrote:
Thanks, I was wondering if I was missing a dependency or something. Do you know how to make tslint happy in my dev area after changing the import?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

Thanks, I think it should be fixed now.


Clarify slideup overlap constraints

Sections 17.3.2 and 17.3.4 both say:

The destination vector register group cannot overlap the mask register if LMUL>1, otherwise an illegal instruction exception is raised.

Should this be:

The destination vector register group cannot overlap the mask register if LMUL>1 and the instruction is masked, otherwise an illegal instruction exception is raised.

As written, it might suggest that v0 may never be used as a destination for these instructions when LMUL>1, which I don't believe is the intention.

Closing, as duplicate of #416


KubeCon Docs Sprint: Update page weights for content/en/docs/concepts/scheduling-eviction

contributes to https://github.com/kubernetes/website/issues/35093
Updates page weights in content/en/docs/concepts/scheduling-eviction
Before my changes:

After my changes:

cc @nate-double-u

/kind cleanup

@haosdent Please perform a rebase.
/label tide/merge-method-squash

/remove-label tide/merge-method-squash
This will need a merge or rebase I'm afraid. A rebase against main is better. @haosdent if you'd like, one of the website maintainers can do that rebase and update this PR with those changes.
Should we do that?

@sftim sure!

Hi @haosdent, could you resolve the merge conflicts on this before we merge it in?

Actually, looking closer, it seems like this work was done in a prior PR.
I'm going to close this as complete. Thanks for participating in the docs sprint @haosdent!

Noted, thanks @nate-double-u


Add more languages

Add more languages
code-executor currently supports most of the languages in src/langs. More languages need to be added so that code-executor can fulfill all requirements for popular use-cases such as Competitive Coding websites.
Structure
To add languages, you can add a Dockerfile and a start.sh script like in Python.

Note: Make sure to test the Dockerfile and the start.sh script with some sample code before making a PR to the dev branch.

Added some languages in #32


Chain Break Method in "XXXEmbeddingComposite" cann't use "MinimizeEnergy"

import dimod
from minorminer import find_embedding
from dwave.system.composites import FixedEmbeddingComposite
from dwave.system.samplers import DWaveSampler
from dwave.embedding import chain_breaks

#make qubo
Q = {(0,1):1, (0,2):1, (0,3):1, (1,2):1, (1,3):1, (2,3):1 , (0,0):1, (1,1):1, (2,2):1, (3,3):1}
S = {(0,1):1, (0,2):1, (0,3):1, (1,2):1, (1,3):1, (2,3):1}
bqm = dimod.BinaryQuadraticModel.from_qubo(Q)

#make sampler & embedding
sampler = DWaveSampler(...)
embedding = find_embedding(S,sampler.edgelist,verbose=1)
composite = FixedEmbeddingComposite(sampler,embedding)

#calc. by D-wave with MinimizeEnergy
cbm = chain_breaks.MinimizeEnergy(bqm,embedding)
result = composite.sample(bqm,num_reads=10,auto_scale=True,chain_break_method=cbm)

This code does not run successfully. Here is the error message:
Traceback (most recent call last):
  File "minimizeenergy_test.py", line 20, in <module>
    result = composite.sample(bqm,num_reads=10,auto_scale=True,chain_break_method=cbm)
  File "XXX\site-packages\dwave\system\composites\embedding.py", line 403, in sample
    return super(LazyFixedEmbeddingComposite, self).sample(bqm, **parameters)
  File "XXX\site-packages\dwave\system\composites\embedding.py", line 219, in sample
    chain_break_fraction=chain_break_fraction)
  File "XXX\site-packages\dwave\embedding\transforms.py", line 413, in unembed_sampleset
    unembedded, idxs = chain_break_method(record.sample, chain_idxs)
  File "XXX\site-packages\dwave\embedding\chain_breaks.py", line 332, in __call__
    variables = [chain_to_var[frozenset(chain)] for chain in chains]
  File "XXX\site-packages\dwave\embedding\chain_breaks.py", line 332, in <listcomp>
    variables = [chain_to_var[frozenset(chain)] for chain in chains]
KeyError: frozenset({4})

I think the cause of this error is treatment of qubit variable label.
For example in this case :
In BinaryQuadraticModel, the qubit variable label is [624, 625, 627, 628, 629, 630].
but, In unembed_sampleset, the qubit variable label is [0,1,2,3,4,5,6].
Environment:

OS: [Windows 7]
Python version: [3.6.5]
dwave-system version:[0.7.5]

I would like to apologize for my poor English.
Regards.

Thanks for the bug report! I took a look and this has actually uncovered some problems with the way that the chain_breaks are implemented.
You are correct that the problem is the qubit/variable labels. Specifically, the chain break resolution methods have the following api: cbf(samples, chains) where samples is an array-like of the sample values and chains is an iterable of chains where the chains are defined in terms of the columns of the samples.
MinimizeEnergy meanwhile accepts a bqm and an embedding on construction, which means we have a mapping from the binary quadratic model to the target graph labels (in this case the qubit labels). What is missing is map from the target graph labels to the columns of samples.
Here is a deterministic version of the failing example from above:
Q = {(0, 1): 1, (0, 2): 1, (0, 3): 1, (1, 2): 1, (1, 3): 1, (2, 3): 1,
     (0, 0): 1, (1, 1): 1, (2, 2): 1, (3, 3): 1}
S = {(0, 1): 1, (0, 2): 1, (0, 3): 1, (1, 2): 1, (1, 3): 1, (2, 3): 1}
bqm = dimod.BinaryQuadraticModel.from_qubo(Q)

G = dnx.chimera_graph(4)
sampler = dimod.StructureComposite(dimod.ExactSolver(), G.nodes, G.edges)
embedding = {0: [55], 1: [48], 2: [50, 53], 3: [52, 51]}
composite = FixedEmbeddingComposite(sampler, embedding)

cbm = chain_breaks.MinimizeEnergy(bqm, embedding)
composite.sample(bqm, chain_break_method=cbm).resolve()

This cannot be fixed under the current API. One solution would be to pass sample set and embedding into the chain break resolution methods, rather than just the samples and chains. We could also accept samples and chains for backwards compatibility reasons.


Adding configuration/instructions into README. #30

Coverage remained the same at 96.683% when pulling b4c4656720c9b7d10d119d80f82659d0939f4a85 on issue_30 into d4d013cee6710aa68e7ed8846058ab2d439a8e1e on master.


Refactor timers in Fullnode and Validator

Rather than using a dynamic array to store the timers an AA is used with
the key an integer. The timers are then accessed using enums defined in
Fullnode and Validator to make sure the right timer is accessed.

This was a much needed change, thanks! But CI does not like it.

Rebased on latest.

Included in https://github.com/bosagora/agora/pull/3000/commits which is green so will close this one.


vue-cli-service build --mode=production no longer works when used together with --watch

Version
3.0.0-rc.3
Reproduction link
https://github.com/wolthers/vue-cli-bug
Steps to reproduce
Check out https://github.com/wolthers/vue-cli-bug
Run npm run watch in the project directory
What is expected?
Project should be recompiled on file changes in production mode
What is actually happening?
Project is recompiled in development mode

There is no way to override mode if the build command is run and the watch flag is provided.
Bug was introduced in with any @vue/cli version after beta.16 in this commit: https://github.com/vuejs/vue-cli/commit/3193b0dc3b5445656a8b94425345e3c8475f7533.

const mode = name === 'build' && args.watch ? args.mode || 'development' : args.mode || this.modes[name] should do it


According to api doc, modify upload http code from 200 to 201

According to api doc, modify upload http code from 200 to 201 #13

See https://github.com/HangarMC/hangar-publish-plugin/issues/13#issuecomment-2342870367


add ImageSpan support ?

Duplicate of this one: https://github.com/klinker24/Android-TextView-LinkBuilder/issues/28


Set Type, Hostname and User fields on all messages

Three additional properties on the message send to elmah.io can be set automatically.

@nblumhardt That's a great idea. Thx!

:+1:


Opacity/FadeTransition should wrap child widgets in a RepaintBoundary

In the engine an opacity layer is rendered by rendering child layers, performing a render target switch, and then blending the resulting texture with the opacity. This texture created by child rendering is cached, and if the child layers have not changed (as determined by the layer identity/id), the texture can be re-used on subsequent frames even as the opacity itself updates.
Unfortunately in many circumstances the framework does not hit this fast path. For example, consider the following code which uses AnimatedSwitcher and its default FadeTransition:
import 'package:flutter/material.dart';

void main() {
  runApp(const MaterialApp(
    checkerboardRasterCacheImages: true,
    home: Scaffold(
      body: Example(),
    ),
  ));
}

class Example extends StatefulWidget {
  const Example({Key? key}) : super(key: key);

  @override
  State<Example> createState() => _ExampleState();
}

class _ExampleState extends State<Example> {
  bool alternate = false;

  void _switch() {
    setState(() {
      alternate = !alternate;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Column(
      children: <Widget>[
        Container(height: 100),
        TextButton(onPressed: _switch, child: const Text('Switch')),
        AnimatedSwitcher(
          duration: const Duration(milliseconds: 250),
          child: Container(
            key: ValueKey<bool>(alternate),
            child: Column(
              children: <Widget>[
                Container(
                  width: 200,
                  height: 200,
                  color: Colors.red,
                  child:
                      alternate ? const Text('TITLE A') : const Text('TITLE B'),
                ),
              ],
            ),
          ),
        ),
      ],
    );
  }
}

If you observe this on device, you will notice that the raster cache checkerboard flashes - because each new frame gets a new entry as the children are not reused. This can also be observed in the timeline, where each frame has a RasterCachePopulate call indicating the texture created by child rendering has been recreated. Note that this is significantly easier to observe if the child rasterization is more complex.

If we replace the Container in the example above with a RepaintBoundary, then we get cached rendering:

To ensure that opacity performance can hit the fast path more frequently, we should update the Opacity and FadeTransition widgets to insert a RepaintBoundary child. This may have an impact on subpixel rendering. To evaluate I will run tests in google3 and report back. The expected impact of this change is improved raster times in applications that use AnimatedSwitcher, FadeTransition, and Opacity.

FYI @goderbauer

In general, we recommend against animating the Opacity widget (AnimatedOpacity or a FadeTransition should be used instead). Does the repaint boundary here actually buy us anything if you follow that advice?

This isn't particular to animated opacity though. For example, consider the following example in which opacity is constant but a parent is animating. Without the repaint boundary we throw away the child texture for the opacity rendering on every frame, which is tremendously wasteful compared to reusing it.
import 'package:flutter/material.dart';

void main() {
  runApp(const MaterialApp(
    checkerboardRasterCacheImages: true,
    home: Scaffold(
      body: Example(),
    ),
  ));
}

class Example extends StatefulWidget {
  const Example({Key? key}) : super(key: key);

  @override
  State<Example> createState() => _ExampleState();
}

class _ExampleState extends State<Example> with TickerProviderStateMixin {
  late final AnimationController _controller = AnimationController(vsync: this, duration: const Duration(seconds: 1));
  late final Animation<Offset> _position = _controller.drive(
    Tween(begin: const Offset(0.0, 0.0), end: const Offset(1, 1.0)));

  @override
  void initState() {
    super.initState();
    _controller.reset();
    _controller.forward();
    _controller.addStatusListener((status) {
      if (status == AnimationStatus.completed) {
    _controller.reset();
    _controller.forward();
      }
    });
  }

  @override
  Widget build(BuildContext context) {
    return Column(
      children: <Widget>[
        Container(height: 100),
        SlideTransition(
          position: _position,
          child: Opacity(
            opacity: 0.9,
            includeRepaintBoundary: false,
            child: Container(
              child: Column(
                children: <Widget>[
                  Container(
                    width: 200,
                    height: 200,
                    color: Colors.red,
                    child: const Text('A'),
                  ),
                ],
              ),
            ),
          ),
        ),
      ],
    );
  }
}

Here is the gif showing repaint on each frame:

Then with the RepaintBoundary inserted:

I'm going to re-open this issue since I'm not quite satisfied with the solution after reading more details in 101810.

The SlideTransition should have a RepaintBoundary around its child otherwise it reconstructs the entire tree under it every time it changes its value.
The tree is supposed to reuse objects wherever it can, but I think container widgets have trouble doing this because their children "might" be different if they are repainting and we don't really track "no, you still have the same children and nothing below you changed so you can reuse your layer" except at a RepaintBoundary which is specifically created for that task. If there was a RepaintBoundary under the SlideTransition then not only would the conditions for the opacity remain stable for caching, but it wouldn't have to be reconstructed every frame. Putting a RepaintBoundary underneath it does stabilize it for caching purposes, but the real culprit is the animation above it that is forcing the tree to rebuild on every frame.

Here is a variation of your first example that works much more smoothly when you click the Add RepaintBoundary button which puts the RepaintBoundary as the child of the animating widget. There is no flashing and the cache is reused between frames.

Variation on first example
import 'package:flutter/material.dart';

void main() {
  runApp(const MaterialApp(
    checkerboardRasterCacheImages: true,
    home: Scaffold(
      body: Example(),
    ),
  ));
}

class Example extends StatefulWidget {
  const Example({Key? key}) : super(key: key);

  @override
  State<Example> createState() => _ExampleState();
}

class _ExampleState extends State<Example> {
  bool alternate = false;
  bool isolate = false;

  void _switchChild() {
    setState(() {
      alternate = !alternate;
    });
  }

  void _toggleIsolation() {
    setState(() {
      isolate = !isolate;
    });
  }

  @override
  Widget build(BuildContext context) {
    Widget animatedChild = Container(
      key: ValueKey<bool>(alternate),
      child: Column(
        children: <Widget>[
          for (int i = 0; i < 200; i += 20)
            Container(
              width: 200,
              height: 20,
              color: HSVColor.fromAHSV(1.0, i * 360 / 200, 1.0, 1.0).toColor(),
              child: alternate ? Text('TITLE A'*5) : Text('TITLE B'*5),
            ),
        ],
      ),
    );
    if (isolate) {
      animatedChild = RepaintBoundary(
        key: ValueKey<bool>(alternate),
        child: animatedChild,
      );
    }
    return Column(
      children: <Widget>[
        Container(height: 100),
        TextButton(onPressed: _switchChild, child: const Text('Switch child')),
        AnimatedSwitcher(
          duration: const Duration(seconds: 2),
          child: animatedChild,
        ),
        TextButton(onPressed: _toggleIsolation, child: Text('${isolate ? 'Remove' : 'Add'} RepaintBoundary')),
      ],
    );
  }
}

In your second example, we're not just throwing away the texture used by the opacity in raster caching, we're throwing away the entire opacity layer and creating a new one from scratch.
Adding a RepaintBoundary around the child of the SlideTransition should fix this. Note that RepaintBoundary would include the OpacityLayer inside it.
Here is the example again with a button to toggle adding a RepaintBoundary around it which makes it run smoother and doesn't thrash the cache.

Click to expand!
import 'package:flutter/material.dart';

void main() {
  runApp(const MaterialApp(
    checkerboardRasterCacheImages: true,
    home: Scaffold(
      body: Example(),
    ),
  ));
}

class Example extends StatefulWidget {
  const Example({Key? key}) : super(key: key);

  @override
  State<Example> createState() => _ExampleState();
}

class _ExampleState extends State<Example> with TickerProviderStateMixin {
  late final AnimationController _controller = AnimationController(vsync: this, duration: const Duration(seconds: 1));
  late final Animation<Offset> _position = _controller.drive(
      Tween(begin: const Offset(0.0, 0.0), end: const Offset(1, 1.0)));

  bool isolate = false;

  void _toggleIsolation() {
    setState(() {
      isolate = !isolate;
    });
  }

  @override
  void initState() {
    super.initState();
    _controller.reset();
    _controller.forward();
    _controller.addStatusListener((status) {
      if (status == AnimationStatus.completed) {
        _controller.reset();
        _controller.forward();
      }
    });
  }

  @override
  Widget build(BuildContext context) {
    Widget animatedChild = Opacity(
      opacity: 0.9,
      child: Container(
        child: Column(
          children: <Widget>[
            Container(
              width: 200,
              height: 200,
              color: Colors.red,
              child: const Text('A'),
            ),
          ],
        ),
      ),
    );
    if (isolate) {
      animatedChild = RepaintBoundary(child: animatedChild);
    }
    return Column(
      children: <Widget>[
        Container(height: 100),
        TextButton(onPressed: _toggleIsolation, child: Text('${isolate ? 'Remove' : 'Add'} RepaintBoundary')),
        SlideTransition(
          position: _position,
          child: animatedChild,
        ),
      ],
    );
  }
}

Definitely, I investigated adding the repaint boundary but I wasn't satisfiied with that solution because I suspect that there are more cases in the framework or third party code where we're missing repaint boundary like behavior. Thus I've started investigating whether we can make more Render Objects behave like repaint boundaries. (https://github.com/flutter/flutter/issues/101941) It doesn't quite work yet, but with that change it is possible to avoid rebuild without adding another layer - which triggers the case where we drop the raster cache entries of the displayListLayer on the floor


Add D&D 5 advantage use case

The README didn't have an example of rolling with advantage. Now it does.

Thanks, Naomi!


better support for setting env. vars when building packages

My specific problem is w/ xmlsec, as discussed before in issues #106 and #257 by other buildpack users but could easily be any other python package (w/ c deps).
I've added apt buildpack to install required dependencies when building xmlsec package:
$ heroku  buildpacks
=== app Buildpack URLs
1. https://github.com/heroku/heroku-buildpack-apt
2. https://github.com/heroku/heroku-buildpack-python

$ cat Aptfile
libxml2
libxml2-dev
libxmlsec1
libxmlsec1-dev

$ cat .profile.d/apt_paths.sh
export PATH=/app/.apt/usr/bin:$PATH
export C_INCLUDE_PATH=/app/.apt/usr/include:/app/.apt/usr/include/xmlsec1:$C_INCLUDE_PATH
export CPLUS_INCLUDE_PATH=/app/.apt/usr/include:/app/.apt/usr/include/xmlsec1:$CPLUS_INCLUDE_PATH
export INCLUDE_PATH=/app/.apt/usr/include:/app/.apt/usr/include/xmlsec1:$INCLUDE_PATH
export LIBRARY_PATH=/app/.apt/usr/lib/x86_64-linux-gnu:/app/.apt/usr/lib/i386-linux-gnu:/app/.apt/usr/lib:$LIBRARY_PATH
export LD_LIBRARY_PATH=/app/.apt/usr/lib/x86_64-linux-gnu:/app/.apt/usr/lib/i386-linux-gnu:/app/.apt/usr/lib:$LD_LIBRARY_PATH
export PKG_CONFIG_PATH=/app/.apt/usr/lib/x86_64-linux-gnu/pkgconfig:/app/.apt/usr/lib/i386-linux-gnu/pkgconfig:/app/.apt/usr/lib/pkgconfig:$PKG_CONFIG_PATH
export CPATH=/app/.apt/usr/include:$CPATH
export CPPPATH=/app/.apt/usr/include:$CPPPATH

so when I run heroku run bash and try to install xmlsec, it works w/o problems:
$ heroku run bash
Running bash on ⬢ app... up, run.5444
~ $ which pip
/app/.heroku/python/bin/pip
~ $ pip freeze
libxml2-python==2.7.8
~ $ pip install xmlsec
Collecting xmlsec
  Downloading xmlsec-0.6.1.tar.gz
Collecting lxml>=3.0 (from xmlsec)
  Downloading lxml-3.6.1.tar.gz (3.7MB)
    100% |████████████████████████████████| 3.7MB 129kB/s
Installing collected packages: lxml, xmlsec
  Running setup.py install for lxml ... -
done
  Running setup.py install for xmlsec ... done
Successfully installed lxml-3.6.1 xmlsec-0.6.1
~ $

to  achieve the same thing during the build I've added:
$ cat bin/pre_compile
APP_BIN_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
source $APP_BIN_DIR/../.profile.d/apt_paths.sh

but this fails although the the env should be the same as for heroku run bash:
...
remote:            In file included from src/xmlsec/constants.c:288:0:
remote:            src/xmlsec.h:1:27: fatal error: xmlsec/xmlsec.h: No such file or directory
remote:             #include <xmlsec/xmlsec.h>
remote:                                       ^
remote:            compilation terminated.
remote:            error: command 'gcc' failed with exit status 1
remote:
...

while I can't be sure why, I'm guessing I missed some bin/lib/include env settings in python buildpack which makes the same env in one-off dyno different from build env.
the solution is to build my own buildpack and I'm hoping I'm wrong.

Ah so pre_compile is run in a sub-shell (see: here and here - note the sub-env's use of ( ... ) for the sub-shell), presumably to prevent people's custom scripts from breaking the build (eg by changing the working directory).
However this does mean any variables that are exported won't be set in the parent bash process.
This made things harder than they need be for me recently too, when trying to vendor a newer libmysqlclient, which I ended up working around by creating symlinks instead (here).
@kennethreitz would you be open to adjusting the pre_compile/post_compile scripts such that they don't run in a sub-env, but instead reset things like working directory and shell options (eg errexit mode) afterwards? This would mean people can at least export the variables they need, whilst hopefully still minimising the things people can break.
Given the hooks are listed as experimental and will typically only be used by more advanced users, I think it's probably fine to make them slightly less resilient to human error, if it means they're actually more useful for vendoring libraries etc.
Many thanks :-)


Fix option name in error log

Because there is no option --version:xxx but --npm-version xxx.
Cannot test, because ATM I'm having issues with npm (and thus using this module)

Thank you!


[SPARK-36891][SQL] Add more coverage on vectorized Parquet decoding

What changes were proposed in this pull request?

Add a new test suite ParquetVectorizedSuite to provide more coverage on vectorized Parquet decoding logic, with different combinations on column index, dictionary, batch size, page size, etc.
To facilitate the test, this also refactored SpecificParquetRecordReaderBase and makes the Parquet row group reader pluggable.
Why are the changes needed?

Currently ParquetIOSuite and ParquetColumnIndexSuite only test on the high-level API which is insufficient, especially after the introduction of column index support, for which we want to cover various combinations involving row ranges, first row index, batch size, page size, etc.
Does this PR introduce any user-facing change?

No.
How was this patch tested?

Added new test suite.

Test build #143738 has started for PR 34149 at commit 5c89eae.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48249/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48249/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/48249/

Test build #143738 has finished for PR 34149 at commit 5c89eae.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/143738/

cc @viirya @cloud-fan @dongjoon-hyun @sadikovi too

Test build #143782 has started for PR 34149 at commit c11dc70.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48294/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48294/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/48294/

Test build #143782 has finished for PR 34149 at commit c11dc70.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/143782/

Thanks @dongjoon-hyun @sadikovi @viirya ! I've addressed most of your comments. Could you take another look?

Thanks all!


[zlaski/memset-model] QL model for memset and friends

LGTM.  Most of our suggestions are actually requests for improvements, not fixes, so feel free to defer them as future work.

This PR LGTM now. It needs

Geoffrey's review,
qlformat, and
to be taken out of Draft state.

I believe this PR is now mergeable.  I'd like to get it merged so that I may continue work on https://github.com/Semmle/ql/pull/1933.

It looks like @geoffw0 has no objections, so I'll merge this.


Determine if Trunk based development is best suited

What is it that I would like to do?
Investigate the feasibility of doing trunk based development, rather than having strict rules/processes setup for what is essentially a playground project.
Why do I want to do this?

Doing a GitFlow approach just seems overkill for my needs
This is a playground project afterall, why not try something new

How do I think it would be best to do this?
~Do some research on the topic and write up an RFC that I can always refer back to on this matter.~

After a little pondering and chatting with some colleagues on this matter, I believe this to be the best approach to running with this project.
It is a small project, that I and I alone are doing, so no need to go overboard with git flow. This will cover all my needs and ensure a git history for getting the work done.
A little more on this... https://trunkbaseddevelopment.com/

develop has been merged into main, the branch rules/protections update and the branch deleted accordingly. Going forward, I shall only make use of the main branch for small changes and `feature branches for larger changes.


Fix incorrect PRIMARY constant & "Join Now" font color

As discussed in #1268
"Join Now" button should use the same color #425af2" as our design system's primary color
https://app.zeplin.io/project/5ecaed1b2522d9280f1a4792/screen/5ed038667f1f399a291b343e
This could be addressed in one of two ways - 1) just update the rule(s) to use #425af2.
Or 2) refactor our client/src/constants/colors.js constants file and usage. We have PRIMARY set as "6A7EFC" and ROYAL_BLUE set as #425AF2. The latter is mostly used as the primary color despite the former's existence. It is is used in a few places including "Join Now" button, even though it is not in our design system color palette at all:

2 is ideal, but needs to be done careful so as to not break what already exists. Best to just delete this line https://github.com/FightPandemics/FightPandemics/blob/ef8ad0872d26783c74f2fafb6dc870854a43cbf2/client/src/constants/colors.js#L1 - and use replace usage of PRIMARY as ROYAL_BLUE wherever it is defined.

@joshmorel   Looks like a simple fix but I'll review and let you know if I have any questions.


Inline styles instead of class attribute

Is it possible to get inline styles instead of classes like in the example below?
http://quilljs.com/playground/#class-vs-inline-style

sure if you are using ng-quill, quilljs is a dependency and so installed with if you run npm install.
So you have access to "Quill" itself and register or configure own or existing modules, formats and so on.
But like in this example --> you have to build your own custom toolbar.


fori loop with indexing wrong result on gpu

Description
Recently I wrote a searchsorted function which works on multidimensional arrays, and I noticed that I was getting wrong results on gpu.
Here is a minimal reproducer, where the wrong result is introduced somewhere in the jax.lax.fori_loop.
import jax
import jax.numpy as jnp
import numpy as np
from functools import partial

print(jax.devices())

def le2(k1, k2):
    assert k1.shape == k2.shape
    assert k1.shape[-1] == 2
    assert k2.shape[-1] == 2
    return (k1[..., 0] < k2[..., 0]) | ( (k1[..., 0] == k2[..., 0]) & (k1[..., 1] <= k2[..., 1]))

@partial(jax.jit, static_argnames='dtype')
def searchsorted_via_scan(sorted_arr, query, dtype=jnp.int32):
    assert sorted_arr.ndim == 2
    assert query.shape[-1] == sorted_arr.shape[-1]

    def body_fun(_, state):
        low, high = state
        mid = jax.lax.div(low + high, dtype(2))
        go_left = le2(query, sorted_arr[mid])
        return jax.lax.select(go_left, low, mid), jax.lax.select(go_left, mid, high)

    n = len(sorted_arr)
    n_levels = int(np.ceil(np.log2(n + 1)))
    shape = query.shape[:-1]
    init = jnp.full(shape, dtype(0)), jnp.full(shape, dtype(n))
    return jax.lax.fori_loop(0, n_levels, body_fun, init)[1]

n = 4
i = jnp.arange(n, dtype=jnp.int32)
# i is the sorted_arr
i = jnp.concatenate(jnp.broadcast_arrays(i[:, None, None], i[None, :, None]), axis=-1).reshape(-1, 2)
# query the first 3 elements
j = i[:3]

# gpu with jit
res_gpu_jit = searchsorted_via_scan(i,j)
print('gpu,jit', res_gpu_jit)

# gpu without jit
with jax.disable_jit():
    res_gpu_nojit = searchsorted_via_scan(i,j)
print('gpu,no jit', res_gpu_nojit)

#cpu
res_cpu = jax.jit(searchsorted_via_scan, backend='cpu')(i,j)
print('cpu', res_cpu)

and I get the output
[gpu(id=0)]
gpu,jit [16 16 16]
gpu,no jit [0 1 2]
cpu [0 1 2]

whereas I would expect [0 1 2] also on the gpu when under jit.
Going back I believe it this bug was introduced somewhere between jax/jaxlib 0.4.4 (correct result) and 0.4.6 (wrong result).
I also tried with jaxlib and xla compiled from head (both from this afternoon), but the bug still appears.
What jax/jaxlib version are you using?
jax/jaxlib 0.4.14
Which accelerator(s) are you using?
GPU
Additional system info
No response
NVIDIA GPU info
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.105.17   Driver Version: 525.105.17   CUDA Version: 12.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  Tesla T4            Off  | 00000000:00:04.0 Off |                    0 |
| N/A   49C    P8     9W /  70W |      0MiB / 15360MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+```

Thanks for the clear report – digging a bit further I found that this is due to the le2 function acting differently under JIT:
import jax
import jax.numpy as jnp

def le2(x, y):
    return (x[0] < y[0]) | ((x[0] == y[0]) & (x[1] <= y[1]))

x = jnp.array([0, 1])
y = jnp.array([0, 0])

print(le2(x, y))
# False
print(jax.jit(le2)(x, y))
# True

Where we see the incorrect result only on GPU. I suspect there's some sort of algebraic simplification of boolean operators to blame.

Thanks for the quick answer, actually it seems to be caused by the <.
If I instead use not and >= it works, i.e. :
def le2(x, y):
    return ~(x[0] >= y[0]) | ((x[0] == y[0]) & (x[1] <= y[1]))

Reported upstream in https://github.com/openxla/xla/issues/4803

@jakevdp I just checked with jaxlib compiled with xla from head and it is indeed fixed now.
I would be happy for this issue to be closed as soon as xla gets updated in jax.

Thanks for checking that this fixes the issue! The XLA fix should make it into the next jaxlib release.


[Feature]:

Describe the problem you're having

Describe the solution you'd like
so good
Screenshots

Closing as there is no suggestion here. Please open a new issue and provide more details. Thanks!


metacontroller.app points to old repo

I'm working on upgrading our metacontroller, and saw that http://metacontroller.app/ points to the old repo, and is still using old dependencies.
Should maybe turn it into an placeholder page or point it to https://metacontroller.github.io/metacontroller/?

hi @Kyrremann , we are not in possession of that domain. cc: @AmitKumarDas
Maybe @enisoc can help here ?

Ah, that explains it! Hopefully that can be fixed :)

I previously gave @AmitKumarDas the domain transfer auth code for metacontroller.app, but it looks like he either decided not to take it or just hasn't gotten around to it.

I just could not get around it. I had even got the metacontroller.io domain (very costly).
Finally thought to use github pages and avoid renewing the domain every year.

can we just shutdown metacontroller.app ? To just not mislead other people ?

or it will expire soon ?

@AmitKumarDas If you still want metacontroller.app, I think the transfer code I gave you in a DM on k8s slack should still work. If you don't want it anymore, I can shut it down as @grzesuav suggested. Otherwise it wouldn't expire until May.

@enisoc I feel metacontroller.app is good to shutdown.
In addition, do you both agree that current github pages model i.e. https://metacontroller.github.io/metacontroller/ is good thing to do. I really do not have much expertise here.

I also think we should shut down metacontroller.app, as that is mainly the reason why I made this issue. I hadn't noticed that the app-site was the old project, while github pages was the new one.
Personally I like the github pages model, but maybe move the documention to the metacontroller.github.io-repo, so the address be a bit shorter and prettier?

OK I have shut down the metacontroller.app Netlify site. If you want, I can set metacontroller.app to forward to https://metacontroller.github.io/metacontroller/ until it expires in May since I already paid through then. I can also go ahead and delete the domain entirely if you prefer.

Thanks @enisoc . Forwarding metacontroller.app to GitHub pages site will be the best IMO.

thanks :) closing the issue


Fix: direction rtl the vertical text displaced

New Pull Request
summary of changes: in src/assets/apexchart.css added direction: ltr !important;  to  .apexcharts-canvas  class.
And the result: when the user uses apexchart.js the the  .apexcharts-canvas div inside #chart will always be ltr even if the user changes the app direction like: direction: ltr !important; won't affect the chart.

Fixes #4660
Type of change
Please delete options that are not relevant.

[x] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] My changes generate no new warnings
[x] New and existing unit tests pass locally with my changes
[x] My branch is up to date with any changes from the main branch

Please only include apexcharts.css and remove all other files from the PR

Ok @junedchhipa  I will
thanks


Usage in VueJS application

I'm trying to integrate this into a VueJS project using single file components.  In my main.js I am importing the library with require('wheelnav') and it seems to import correctly.  However, whenever I attempt to use it (per the demo), I receive the following errors:

colorpallette not defined I remove the line
icon not defined I  substitute strings
cannot read property 'length' of undefined

A bit more information on what each of these items is and where they come from might be helpful.  Of course, it's possible you've placed it in the docs and I've missed it.  🤔

Unfortunately the source is in a private repo.  😖  However, if I can steal some time in the next little bit I'll see if I can't get it working in a "clean" app.

I don't know any public Vue component.


Add new challenge: Advanced Streaming

The original idea for the Advanced Streaming challenge was for it to be an evolution of the Eth Streaming challenge, adding the ability for partial withdrawals and streaming with any ERC20 token. However, it looks like the Eth Streaming challenge already includes partial withdrawals, making the ERC20 streaming feature the only difference between the level 1 and level 2 challenges.
@escottalexander should we add some more features to spice up the level 2? Or do you think the ERC20 streaming is enough of difference?
If ERC20 streaming is enough, I have a working version of the challenge, and just need a custom-stream branch created to PR into.
If you think the second challenge needs a bit more, some ideas to beef it up could be:

the owner could choose a different token for each stream they create
the user could choose which token they want to receive when withdrawing, maybe from an owner-whitelisted selection. And the contract would need to have a sufficient balance of the chosen token.
the user could choose which token they want to receive when withdrawing, and the stream contract interacts with a uniswap router to swap ETH => desired token, then sends to the user

Let me know what you think. Thanks!

Awesome work! The custom-stream branch has been created. Feel free to submit a PR and we will go from there. Thanks!


NPE when calling com.google.cloud.bigquery.BigQuery.getTable(...)

Relevant part of the exception:
    at com.google.cloud.bigquery.StandardTableDefinition$StreamingBuffer.fromPb(StandardTableDefinition.java:113)
    at com.google.cloud.bigquery.StandardTableDefinition$Builder.<init>(StandardTableDefinition.java:147)
    at com.google.cloud.bigquery.StandardTableDefinition$Builder.<init>(StandardTableDefinition.java:119)
    at com.google.cloud.bigquery.StandardTableDefinition.fromPb(StandardTableDefinition.java:283)
    at com.google.cloud.bigquery.TableDefinition.fromPb(TableDefinition.java:172)
    at com.google.cloud.bigquery.TableInfo$BuilderImpl.<init>(TableInfo.java:157)
    at com.google.cloud.bigquery.Table.fromPb(Table.java:348)
    at com.google.cloud.bigquery.BigQueryImpl.getTable(BigQueryImpl.java:353)

We suspect this is happening because the table we are trying to get seems to have a streaming buffer that is empty. Here is what some of the table info looks like:
...
 "numBytes": "85168232",
 "numLongTermBytes": "0",
 "numRows": "144534",
 "creationTime": "1468884348851",
 "lastModifiedTime": "1469135551174",
 "type": "TABLE",
 "location": "US",
 "streamingBuffer": {
  "estimatedRows": "0",
  "estimatedBytes": "0"
 }

From all the documentation it looks like this maybe isn't supposed to happen at all. But, it seems to be happening here, and resulting in an NPE.

At this point, we believe the issue is caused when streamingBufferPb.getOldestEntryTime() comes back null. We have a table where this is the case. See the UI below:

@mtagle @criccomini Thanks for the report and sorry for the latency, I will get into this ASAP and keep you posted.

@mtagle @criccomini FYI gcloud-java 0.2.7 is now out and fixes this issue


NuHepMC Reader and Generator

A generator to read the NuHepMC file standard that is based on the HepMC3 file format.
The generator is selected in the macro file via /mygen/generator hepmc3; the file is specified using /mygen/hepmc3file <FILEPATH>. By default, the generator will read vector positions from the file, though in the case that isotropic positions need to be generated the command /mygen/hepmc3PositionGen true can be added to the macro file.
This now requires that there is a version of HepMC3 installed. Instructions for this can be found on the HepMC3 GitLab page. Installing using a package manager is the easiest and most foolproof way of doing this.

Got hepmc installing in the CI, so will commit a few of the typo suggestions to force it to run on this

CI runs! 🎆
In terms of testing this, I think it'd be good to do an equivalency test between the same NEUT events in rootracker & hepmc formats run through WCSim. If things are working correctly, things should be identical (so should pass the complete_comparison.C WCSim script).
@pabloferm mentioned in a talk at the software meeting last week that there is a conversion tool to switch between NEUT file types, so I think this is doable.
Pablo, I wonder if you have a pair of test files available such that we can do this test?

@JackFannon and @tdealtry , sorry for the delay. So nice to have this already implemented, thanks a lot! I do have a few files with both formats produced with https://github.com/neut-devel/neutvect-converter/

Looks great. Thanks @JackFannon Think all that's left is confirming you get the same primary particles when using a rootracker file vs a nuhepmc files

@JackFannon and @tdealtry , sorry for the delay. So nice to have this already implemented, thanks a lot! I do have a few files with both formats produced with https://github.com/neut-devel/neutvect-converter/

Hi @pabloferm ! Would you please be able to share a couple of these files with me? I have a neut output file but I'm unsure in how to get this in the rootracker format. I only need a quick comparison so any pair of rootracker and hepmc3 files would be great.

Sure, how you should I share them with you? They are around 100 MB. I can send you a link if you give me your email.

Hi, I've done some validations that Tom and I discussed over Mattermost:
I've compared the 3-momenta and initial positions between the HepMC3 input file and the WCSim output tree and they match up 1 to 1. The units for the position get converted from mm to cm inside WCSim at some point, though I think this is unavoidable without modifying the WCSimEventAction class. Let me know what you think and if you want to see any more checks!

Great thanks @JackFannon! Will merge this after we get the CI back up & running

The CI is only failing for WCTE. I'm certain that this is because it's running on your branch (rather than the result of the merge), and you've not pulled in the recent WCTE changes. So I'm going to merge now
Thanks @JackFannon !


Stationary feature

Hi guys, congratulations, your plugin works great.
Is there any chance to send positions when the device is stationary? I have a case where I need to determine if the device is stationary more than X minutes so it would be useful that it sends positions when it is stationary, even at low frequency, for example 1 position every 10-15 minutes. Also It would be acceptable that these positions repeat the coordinates of the last GPS position.
What do you think? Thanks!

Impossible.  When iOS goes to stationary-mode, it turns of std
location-services.  When std location-services are switched off, iOS
automatically suspends the application.  When in the stationary-state,
there is no code running; the app is asleep.
On Mon, Jun 1, 2015 at 2:05 PM, Esteban Picone<EMAIL_ADDRESS>wrote:

Hi guys, congratulations, your plugin works great.
Is there any chance to send positions when the device is stationary? I
have a case where I need to determine if the device is stationary more than
X minutes so it would be useful that it sends positions when it is
stationary, even at low frequency, for example 1 position every 10-15
minutes. Also It would be acceptable that these positions repeat the
coordinates of the last GPS position.
What do you think? Thanks!
—
Reply to this email directly or view it on GitHub
https://github.com/christocracy/cordova-plugin-background-geolocation/issues/192
.

--
Chris Scott
Transistor Software http://www.transistorsoft.com

Do you think that setting distanceFilter to a low value could help in my scenario?
Thanks

#distanceFilter is only used while std. location-services have been
activated, after exiting stationary-mode.
On Mon, Jun 1, 2015 at 2:47 PM, Esteban Picone<EMAIL_ADDRESS>wrote:

Do you think that setting distanceFilter to a low value could help in my
scenario?
Thanks
—
Reply to this email directly or view it on GitHub
https://github.com/christocracy/cordova-plugin-background-geolocation/issues/192#issuecomment-107668697
.

--
Chris Scott
Transistor Software http://www.transistorsoft.com


docs: add homebrew installation instructions

Summary
This PR adds installation instructions for Biome's homebrew formula.
Related to https://github.com/biomejs/biome/issues/209

Supported systems are:

macOS (x86_64 and arm64)
Linux x86_64