can not add prefab to collidable tilemap

just it , or i still dont understand

Hey, can you please provide some details of your problem?

im trying to add spike game object to the tilemap named collidable ,,,,,,,,,,,but when i generate the map ,, that spike wont appear

Tilemaps are meant only for tiles. But you want to spawn a GameObject, right?
Not long ago, someone asked me how to include a GameObject prefab in a room template and then spawn it inside the room after the map is generated. Is that what you need?

i think i can use brush tile or what is that called ,,,,,,,,,,,,,

someting like game object tile ,, so , i dont use default brush but gameobject brush

and i want to ask other things ,, how to remove auto add rigi body and composite colider ? imean when i generate , i dont want to add rigibody and composite clider

You can implement your own TilemapLayersHandler (as a ScriptableObject) and assign it to the PayloadInitilaizer in the DungeonGenerator to achieve that. A brief description can be found here.
By default, this TilemapLayersHandler is used. I would suggest to copy the source of this class and simply remove the code that adds RigidBody and CompositeCollider. Then create an instance of the ScriptableObject and assign it to the PayloadInitializer.

extremely super cool ,thanks :D

i just want to make sure ,, we can not use this or there is some way to add this ?

because i want to add start and finish feature ,,i mean ,, auto add spawn point when i generate the map

I'havent used the GameObject Brush yet, so unfortunately I don't know how exactly that works and whether it can be used in the plugin.  But I think that you should be able to use a solution that I prepared for another user of the plugin. The idea is that you can add GameObjects to RoomTemplates and they are then instantiated after the level is generated.
Follow the description of how to do that:

"I created a simple pipeline task that will spawn game objects for you. You can find it here - https://gist.github.com/OndrejNepozitek/0316e90ebea833bd55576762c49ad4de
Usage:

Create instance of the task - Right click -> Create -> Dungeon generator -> Custom Tasks -> Spawn GameObjects
Add the task to the generator pipeline (see https://ondrejnepozitek.github.io/ProceduralLevelGenerator-Unity/docs/generatorSetup) after the generator itself
Open your room template and inside it create an empty "GameObjects" GameObject (the name is important - the task needs it to work)
Add GameObjects you would like to spawn as children of the "GameObjects"
Now after you generate your level, the pipeline task will go through all the spawned rooms, look for  "GameObjects" GameObject and then instantiate all its children (and correct their positions)"

So you would add your "Start" and "Finish" game objects to the corresponding room templates and the pipeline task should spawn them after your level is generated.
I want to include this functionality in the future releases of the plugin itself.

thanks a lot 🍡

extremely cool ,it works :D


Requirements

Hi,
Great work, do you have a requirements file for versions of TF and so on? I ran on the latest and found it was using some depreciated syntax.

sure, will make requirements.txt and push it in sometime

I have added requirements.txt, sorry for the late update.
https://github.com/hridayK/Detection-of-AI-generated-images/blob/main/requirements.txt


Assert should not be used outside of testing

assert should not be used in production because assert statements are discarded if the program is compiled to bytecode with the PYTHONOPTIMIZE turned on
https://github.com/pallets/flask/blob/master/flask/views.py#L148

Yes, that is an internal assertion.

@untitaker Can you explain what you mean by internal assertion?  If someone compiled flask to bytecode with PYTHONOPTIMIZE enabled that assert statement would be removed.

This assertion should never fail if Flask behaves correctly, so it's ok if it's removed in production.

Not having the check won't cause any bugs or security issues. In the very worst case you'd get a TypeError about NoneType not being callable. But that's imply that the a wrong method is allowed on the Flask routing level. So if everything is setup properly this assertion can't fail anyway.

@untitaker @ThiefMaster Understood, thank you


[nice-to-have] Add Fresh to framework comparison

The Fresh framework which is running on deno seems to serve a similar purpose as Astro and it would probably be nice to also include this https://docs.astro.build/en/comparing-astro-vs-other-tools/

Thanks for the suggestion @olee!
We’re not actively maintaining that page anymore as we found it hard to keep up with updates to all the different frameworks, so I don’t think we’re likely to find time to add new content.
I think this could be great material for a blog post comparing island architecture/performance between Fresh and Astro though.


bug(cast send): failed to get resolver from the ENS registry: buffer overrun while deserializing

Component
Cast
Have you ensured that all of these are up to date?

[X] Foundry
[X] Foundryup

What version of Foundry are you on?
0.2.0
What command(s) is the bug in?
cast send
Operating System
Linux
Describe the bug
I was testing a smart contract in forgery, I tried running this command as cast send $PRIVATE_KEY "sendNumber(uint256)" 1
And I'm continuously getting this error

Hi @krishhh16, would you mind running foundryup and re-running your example?

Hi @krishhh16, would you mind running foundryup and re-running your example?

Pretty sure I did that. But still no luck, I've been on the latest version the entire time

Component
Cast
Have you ensured that all of these are up to date?

[x]  Foundry
[x]  Foundryup

What version of Foundry are you on?
0.2.0
What command(s) is the bug in?
cast send
Operating System
Linux
Describe the bug
I was testing a smart contract in forgery, I tried running this command as cast send $PRIVATE_KEY "sendNumber(uint256)" 1
And I'm continuously getting this error

You get this  error when your command is wrong
if this is your full cast command then thats the problem
 cast send $PRIVATE_KEY "sendNumber(uint256)" 1
you need to pass the contract  address and and the --rpc-url

Tentatively marking as resolved, feel free to re-open with additional details if you are still experiencing issues with this.
What @block0xhash wrote, it could be that you are not passing all required arguments and it attempts to resolve an argument as an invalid ENS name. Order of arguments does matter.


Fixed UAA_CONFIG_FILE property ignored #499

[#499]: Added UAA_CONFIG_FILE property handling

Coverage decreased (-0.08%) to 84.583% when pulling 210e9bfb66119b135e144a6300c2048f7996c622 on vbaidak:patch-2 into 58cadeedd3a34b451faaeeb91b4eaf2bb51e7ec3 on cloudfoundry:develop.

Coverage decreased (-0.08%) to 84.583% when pulling 210e9bfb66119b135e144a6300c2048f7996c622 on vbaidak:patch-2 into 58cadeedd3a34b451faaeeb91b4eaf2bb51e7ec3 on cloudfoundry:develop.

Coverage decreased (-0.08%) to 84.583% when pulling 210e9bfb66119b135e144a6300c2048f7996c622 on vbaidak:patch-2 into 58cadeedd3a34b451faaeeb91b4eaf2bb51e7ec3 on cloudfoundry:develop.

Work in progress. Test added 08389ca73b0049caa47e2326fcd0fb78564bef79

Merged via e4f6096ac7feb4fe5f9f5a1c3afbc96c44993daf


Check for changes to AsepriteSlice

Allows changing the Slice after creation, ran into this issue whilst using this library for my game. If I should've been doing something else let me know.
Example code:
fn tile_update_slice(
    mut tile_query: Query<&mut AsepriteSlice>,
) {
    for mut slice in &mut tile_query {
        *slice = "different_slice".into();
    }
}

You are right. There is no good Option to change Tags. So this is a welcoming change.
But I think in the new code, you have the remove the With<NoLoaded> condition from the Or filter, else it will not trigger.

I did test the code myself and it produced the result I intended. The trigger should happen if either With<NotLoaded> or Changed<AsepriteSlice> are true.

Oh, totally miss read the ´or´ filter. You are correct. I am going to prepare a new release this evening


i18n(ko-KR): update install-and-setup.mdx

Description (required)

update install-and-setup.mdx
#9240
#10144

Related issues & labels (optional)

Closes #
Suggested label:

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

File
Note

ko/install-and-setup.mdx
Localization changed, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.

Once #10158 is merged, I expect to be able to merge this PR successfully.


migrate to manifest3

Checklist:

[x] replace browser_action with action
[x] move host permissions to the host_permission property
[ ] replace background script with service worker
[ ] ...?

See:

Firefox guide
Chrome guide

https://github.com/munron/mv3-vue-chrome-extension-template


Changes to inventory to get hosts in the current logged in cluster rather than all hosts globally

Instead of listing all of the nodes in all clusters, we list the nodes in the currently logged in cluster. We do this because for some environments, it's possible to have duplicate hostnames in some environments.
We get the required cluster value by running "tsh status --format=json"
Otherwise, the script is left as untouched as possible
Happy to make changes to documentation and tidy up as required - just tell me what you'd like done  - thank you for this work. It's clear and very readable.

Hey - thank you for merging! Really appreciate it


Facing error in the sysrepo related to sr_sub_rwlock

Please help with the below error if there is any particular reason behind the same:
sysrepo/src/common.c:2521: sr_sub_rwlock: Assertion `mode && timeout_abs && cid' failed.

What sysrepo version are you using? An error like this has already been fixed.


Problem of more than 12 KeyValuePairs

Hi, azixMcAze:
I am very like your serialize dictionary idea. I recently found a problem that I can't add new element when the dictionary count is more than 12.  This problem always happened after build an APK. This situation also happened in your example scene. My unity version is 5.4.0f3. How could I fix the problem?
Error Message:

IndexOutOfRangeException: Array index is out of range.
System.Collections.Generic.Dictionary2+Enumerator[System.String,System.String].MoveNext () (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Collections.Generic/Dictionary.cs:842) SerializableDictionary2[TKey,TValue].OnBeforeSerialize () (at Assets/SerializableDictionary/SerializableDictionary.cs:60)
UnityEditor.DockArea:OnGUI()

Excuse me, I had try it in Unity 2017 version. It's no problem!

Hi, I could indeed reproduce the problem with Unity 5.4
According to this Stack Overflow question, it is caused by a bug in Unity that's fixed in Unity 2017.
I'm closing the issue because I don't see how I can workaround this bug for previous versions of Unity


[Bug?][Hydrogen Demo Store] new customer account API: customer page error if their oder contains unfulfilled items

What is the location of your example repository?
https://github.com/shopify-apac-ts/b2b-headress-storefront
Which package or tool is having this issue?
Hydrogen
What version of that package or tool are you using?
2024.1.0
What version of Remix are you using?
2.5.1
Steps to Reproduce

In Admin, prepare a Shopify customer with one order without fulfillment (= create an order, do not fulfill).
Set up a Hydrogen demo store with customer account API settings as described in https://shopify.dev/docs/custom-storefronts/building-with-the-customer-account-api/getting-started
Attempt to login on the Hydrogen demo store

Expected Behavior
Login successful with order history shown.
Actual Behavior
Observed:
500 error on /account/orders
403 error on https://shopify.com/[STORE_ID]/account/customer/api/2024-01/graphql, "CustomerOrders"
Analysis:
Experimental code fixes the issue - see
https://github.com/shopify-apac-ts/b2b-headress-storefront/commit/a432cf8d47f2538cc98774c53cc84ec92bd7f4e7
I guess the original code cannot handle an unfulfilled order (= order.fulfillments.nodes has empty Array).
Good to hear your pro opinion! Thanks for checking out -

@nobu-shopify your fix looks good to me. Would you like to submit a PR?


Entry point redirection and default routers configuration

With the wonderful change in https://github.com/containous/traefik/pull/6417 it's now possible to configure automatic HTTP->HTTPS redirection for entrypoints. This issue proposes those changes to be configurable in the Helm chart as well.
Currently this could be done in values.yml like so:
additionalArguments:
  - --entrypoints.web.address=:80
  - --entrypoints.web.http.redirections.entryPoint.to=websecure
  - --entrypoints.web.http.redirections.entryPoint.scheme=https
  - --entrypoints.websecure.address=:443

Maybe something like it's configured in the YAML configuration:
entryPoints:
  web:
    address: :80
    http:
      redirections:
        entryPoint:
          to: websecure
          https: true

Hi @gaui,
Doing something like that will require us to do a lot of maintenance on the helm chart and will add a lot of complexity on it.
A 1:1 mapping between Traefik configuration and the helm chart will cause a lot of issue because today it is possible to customise the Traefik image.
The redirect on entry-point has been added in Traefik v2.2, today this version is not yet released (cf #96 ). Today we don't want to update the helm chart every time a new traefik version is released. And creating a 1:1 mapping will require to do it.
If you want to configure Traefik with YAML, I recommend you to create a ConfigMap with your Traefik configuration in YAML and use additionalArguments  and volumes to mount this config-map into Traefik
What is the benefit for you to configure things with YAML?

@mmatur Thank you for the explanation. I would like to minimize actions to set up, that is having only the values file to control static configuration. Currently it would require me to create the ConfigMap and apply it separately. Or is it possible via CLI and additionalArguments ?

The static configuration can be define:

In a configuration file
In the command-line arguments
As environment variables (I don't recommend)

https://docs.traefik.io/v2.1/getting-started/configuration-overview/#the-static-configuration

So the best solution would be to add static configuration via CLI and reference a ConfigMap (mounted to a volume) with the file provider?

I don't see the link between CLI and file provider.
With the CLI you can define all the static configuration (without a file)
Why do you do want to use the file provider?

@ldez I'm talking about referencing the dynamic configuration file via CLI.

Why do you want to use the dynamic configuration from a file?

@ldez Do you recommend using the CRD instead?

yes I recommend to use CRDs: it's simple, no configMap and it's k8s oriented (secrets instead of plain text for auth or certs)


ZC mode

Hi,
Using Ubuntu 18.04 TLS
The drivers are installed, zmap under ipv6 is compiled, normal too. The ipv6 version supports PF_RING, but does not support the most efficient ZC mode.
PF_RING Version <IP_ADDRESS>513
I get an error, can someone help me with this?
cmake -DWITH_PFRING=ON
make
Building C object src/CMakeFiles/ztests.dir/recv.c.o
/root/zmap/src/recv.c: In function 'handle_packet':
/root/zmap/src/recv.c:95:3: warning: 'ipv6_hdr' may be used uninitialized in this function [-Wmaybe-uninitialized]
fs_add_ipv6_fields(fs, ipv6_hdr);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 20%] Building C object src/CMakeFiles/ztests.dir/send.c.o
In file included from /usr/local/include/pfring_zc.h:19:0,
from /root/zmap/src/socket.h:18,
from /root/zmap/src/send.h:13,
from /root/zmap/src/send.c:9:
/root/zmap/src/send.c:69:24: error: expected '=', ',', ';', 'asm' or 'attribute' before '.' token
static struct in6_addr ipv6_src;
^
/root/zmap/src/send.c: In function 'send_init':
/root/zmap/src/send.c:94:65: error: 'ip_src' undeclared (first use in this function); did you mean 'ipv4_src'?
int ret = inet_pton(AF_INET6, (char *) zconf.ipv6_source_ip, &ipv6_src);
^
/root/zmap/src/send.c:94:65: note: each undeclared identifier is reported only once for each function it appears in
/root/zmap/src/send.c: In function 'send_run':
/root/zmap/src/send.c:292:2: warning: ISO C forbids nested functions [-Wpedantic]
struct in6_addr ipv6_dst;
^~~~~~
In file included from /usr/local/include/pfring_zc.h:19:0,
from /root/zmap/src/socket.h:18,
from /root/zmap/src/send.h:13,
from /root/zmap/src/send.c:9:
/root/zmap/src/send.c:292:18: error: expected '=', ',', ';', 'asm' or 'attribute' before '.' token
struct in6_addr ipv6_dst;
^
/root/zmap/src/send.c:292:18: error: expected expression before '.' token
/root/zmap/src/send.c:295:30: error: 'ip_dst' undeclared (first use in this function); did you mean 'ip6_dest'?
ipv6_target_file_get_ipv6(&ipv6_dst);
^
/root/zmap/src/send.c:386:43: error: 'ip_src' undeclared (first use in this function); did you mean 'ipv4_src'?
((struct in6_addr *) probe_data)[0] = ipv6_src;
^
src/CMakeFiles/ztests.dir/build.make:314: recipe for target 'src/CMakeFiles/ztests.dir/send.c.o' failed
make[2]: *** [src/CMakeFiles/ztests.dir/send.c.o] Error 1
CMakeFiles/Makefile2:151: recipe for target 'src/CMakeFiles/ztests.dir/all' failed
make[1]: *** [src/CMakeFiles/ztests.dir/all] Error 2
Makefile:151: recipe for target 'all' failed
make: *** [all] Error 2

Hello, did you solve this problem?

We don't have access to that version of PF_RING to test against. 10G support is simply broken. We should either remove it from ZMap, or reimplement it on top of dpdk.

What's the last known version, of PF_RING, zmap worked with?

My understanding is it will fixed with https://github.com/zmap/zmap/pull/637 on main.

Closing since fixed by #637.


Error: Got unexpected extra argument (hgnc_symbol)

Hello @prete
I have both meta and counts files. However, when I run my code, it gives me n error.
The code I run:
cellphonedb method statistical_analysis test_meta.txt test_counts.txt --iterations=10 --threads=2 hgnc_symbol
The error I get:
"Usage: cellphonedb method statistical_analysis [OPTIONS] META_FILENAME
COUNTS_FILENAME
Try 'cellphonedb method statistical_analysis --help' for help.
Error: Got unexpected extra argument (hgnc_symbol)"

Hi @Pedramto89, your command is missing the option argument for the gene format you need to use --counts-data=hgnc_symbol instead of just hgnc_symbol.
Your full command should look something like this:
cellphonedb method statistical_analysis test_meta.txt test_counts.txt --iterations=10 --threads=2 --counts-data=hgnc_symbol

Thanks so much @prete for your prompt response!
I could solve the problem by converting ensembl IDs and got the four files : pvalues, means, deconvoluted, significant_means.
Now I wanted to visualize the results but got an error:
cellphonedb plot dot_plot
This is the error:
"[ ][APP][15/01/23-11:42:50][ERROR] Unexpected error
Traceback (most recent call last):
File "/Users/pedram/opt/anaconda3/envs/cpdb/lib/python3.7/site-packages/cellphonedb/src/api_endpoints/terminal_api/plot_terminal_api_endpoints/plot_terminal_commands.py", line 38, in dot_plot
columns=columns)
File "/Users/pedram/opt/anaconda3/envs/cpdb/lib/python3.7/site-packages/cellphonedb/src/plotters/r_plotter.py", line 35, in wrapper
from rpy2.rinterface_lib.embedded import RRuntimeError
File "/Users/pedram/opt/anaconda3/envs/cpdb/lib/python3.7/site-packages/rpy2/rinterface_lib/embedded.py", line 7, in
from rpy2.rinterface_lib import openrlib
File "/Users/pedram/opt/anaconda3/envs/cpdb/lib/python3.7/site-packages/rpy2/rinterface_lib/openrlib.py", line 58, in
rlib = _dlopen_rlib(R_HOME)
File "/Users/pedram/opt/anaconda3/envs/cpdb/lib/python3.7/site-packages/rpy2/rinterface_lib/openrlib.py", line 51, in _dlopen_rlib
rlib = ffi.dlopen(lib_path)
OSError: cannot load library '/Library/Frameworks/R.framework/Resources/lib/libR.dylib': dlopen(/Library/Frameworks/R.framework/Resources/lib/libR.dylib, 0x0002): tried: '/Library/Frameworks/R.framework/Resources/lib/libR.dylib' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64')), '/System/Volumes/Preboot/Cryptexes/OS/Library/Frameworks/R.framework/Resources/lib/libR.dylib' (no such file), '/Library/Frameworks/R.framework/Resources/lib/libR.dylib' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64')), '/Library/Frameworks/R.framework/Versions/4.2-arm64/Resources/lib/libR.dylib' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64')), '/System/Volumes/Preboot/Cryptexes/OS/Library/Frameworks/R.framework/Versions/4.2-arm64/Resources/lib/libR.dylib' (no such file), '/Library/Frameworks/R.framework/Versions/4.2-arm64/Resources/lib/libR.dylib' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64'))"

That looks like an R-related error. Your issue seems to be realted to an R installation that doesn't match your conda env? I'd suggest trying to install that one using conda install r-base - r-ggplot2 - r-pheatmap -c conda-forge.
If you don't want to install that you can still use your R version to run the plotting scripts manually. You'll find them here: https://github.com/ventolab/CellphoneDB/tree/master/cellphonedb/src/plotters/R
Alternatively, don't use CellphoneDB native plotting and try a thrid party package like ktplots or ktplotspy.

@prete I do not think it might be R related as I am using by anaconda env.
Do you think it might be related to my laptop? (Mac M1)

Ah, yes Mac M1 have arm architecture instead of x86_64.
(mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64'))
There's a bigger issue where your conda may be intel installed and running with roseta as an emulator or using directly arm arch. However, keep in mind that the error you showed is looking for rlibs outside your conda env (/Library/Frameworks/R.framework/Resources/lib/libR.dylib). That means you should install those into your conda env or run R/Rstudio directly from whatever you've got install on your laptop and try to execture the scripts.
It may be easier for you to try ktplotspy since it's python and won't require you to have that R-python connection which seems to be failing.

Thank you @prete
The ktplotspy needs h5ad file and I am not sure which file exactly it requires.


Update automatic-vm-guest-patching.md - PowerShell command error

Update automatic-vm-guest-patching.md - PowerShell command for enabling/updating VM is wrong, using "Get-AzVM" you get the VM Object in the $VirtualMachine variable, after that you can perform any PowerShell commands with the "-VM $VirtualMachine" parameter, like the Set-AzVM* or the Update-AzVM*. Further the "Get-AzVM" command has no parameters for Credentials, OperatingSystem, ComputerName (just Name) or "VM". Also small update to the command "" for VM Status to have consistancy on this page to avoid user mistakes.

@maulikshah23
Can you review the proposed changes?
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

Thanks for submitting the fix @mbsnl

#sign-off


Add more bigwigaverageoverbed stats

Closes #38

Closes: #38

Just btw, I have a rebase over #44 at https://github.com/jackh726/bigtools/tree/ghuls/add_more_bigwigaverageoverbed_stats.
(Once I get that other PR merged, I'll get this updated for review comments - if you can't get to it in time - so we can get it merged)

Just btw, I have a rebase over #44 at https://github.com/jackh726/bigtools/tree/ghuls/add_more_bigwigaverageoverbed_stats.
(Once I get that other PR merged, I'll get this updated for review comments - if you can't get to it in time - so we can get it merged)

Looks like quite a bit of work in #44.
I was trying out returning a named tuple and got it to work, but noticed that my command was taking 5 seconds instead of around 4 seconds before.
So I decided to test creation times of tuples, dicts, named tuples and class instances. Named tuples seem to be the slowest to create:

In [1]: %timeit tuple_style = ('chr1\t3094805\t3095305\tchr1:3094805-3095305', 0.06325921607762575, 0.06325921607
   ...: 762575, 0.044780001044273376, 0.044780001044273376, 0.08956000208854675, 0.08956000208854675, 500, 500, 3
   ...: 1.629608038812876)
6.97 ns ± 0.0829 ns per loop (mean ± std. dev. of 7 runs, 100,000,000 loops each)

In [3]: %timeit dict_style = {"name": 'chr1\t3094805\t3095305\tchr1:3094805-3095305', "mean": 0.06325921607762575
   ...: , "mean0": 0.06325921607762575, "min": 0.044780001044273376, "min0": 0.044780001044273376, "max": 0.08956
   ...:<PHONE_NUMBER>75, "max0": 0.08956000208854675, "size": 500, "bases": 500, "sum": 31.629608038812876}
202 ns ± 6.27 ns per loop (mean ± std. dev. of 7 runs, 10,000,000 loops each)

In [5]: %timeit named_tuple_style = pybigtools.BigWigAverageOverBedSummaryStatistics(name='chr1\t3094805\t3095305
   ...: \tchr1:3094805-3095305', mean=0.06325921607762575, mean0=0.06325921607762575, min=0.044780001044273376, m
   ...: in0=0.044780001044273376, max=0.08956000208854675, max0=0.08956000208854675, size=500, bases=500, sum=31.
   ...:<PHONE_NUMBER>12876)
548 ns ± 23.2 ns per loop (mean ± std. dev. of 7 runs, 1,000,000 loops each)

class BigWigAverageOverBedSummaryStatisticsClass:
    def __init__(self, name, mean, mean0, min, min0, max, max0, size, bases, sum):
        self.name = name
        self.mean = mean
        self.mean0 = mean0
        self.min = min
        self.min0 = min0
        self.max = max
        self.max0 = max0
        self.size = size
        self.bases = bases
        self.sum = sum

In [12]: %timeit class_style = BigWigAverageOverBedSummaryStatisticsClass(name='chr1\t3094805\t3095305\tchr1:3094
    ...:<PHONE_NUMBER>', mean=0.06325921607762575, mean0=0.06325921607762575, min=0.044780001044273376, min0=0.0447
    ...:<PHONE_NUMBER>3376, max=0.08956000208854675, max0=0.08956000208854675, size=500, bases=500, sum=31.629608038
    ...: 812876)
449 ns ± 7.09 ns per loop (mean ± std. dev. of 7 runs, 1,000,000 loops each)

It would be nice if bigwigaverageoverbed would return mean, min ,max, (returning NaN if needed) mean0, min0 and max0 (returning 0.0 if needed):
-fn pybigtools(_py: Python, m: &PyModule) -> PyResult<()> {
+fn pybigtools(py: Python, m: &PyModule) -> PyResult<()> {
     m.add("__version__", env!("CARGO_PKG_VERSION"))?;
     m.add_wrapped(wrap_pyfunction!(open))?;
     m.add_wrapped(wrap_pyfunction!(bigWigAverageOverBed))?;
@@ -1366,5 +1382,25 @@ fn pybigtools(_py: Python, m: &PyModule) -> PyResult<()> {

     m.add_class::<EntriesIterator>()?;

+    let collections = PyModule::import(py, "collections").unwrap();
+    let namedtuple = collections.getattr("namedtuple").unwrap();
+    let bigwigaverageoverbed_summary_statistics = namedtuple
+        .call(
+            (
+                "BigWigAverageOverBedSummaryStatistics".to_object(py),
+                (
+                    "name", "mean", "mean0", "min", "min0", "max", "max0", "size", "bases", "sum",
+                )
+                    .to_object(py),
+            ),
+            None,
+        )
+        .unwrap();
+    m.add(
+        "BigWigAverageOverBedSummaryStatistics",
+        bigwigaverageoverbed_summary_statistics,
+    )
+    .unwrap();
+
     Ok(())
 }

I'm simultaneously both surprised and not that both dict and namedtuple have that much worse perf than a tuple.
I think, at least for now, I'm not so worried about the time difference. I imagine if speed is needed at that level, people would either drop down to Rust, or use some future API that allows batching and returning a pre-allocated array or something.
I think I probably agree that fully uncovered regions should return nan instead of 0. I'm less inclined to add more stats or change the semantics of those that exist compared to the ucsc tools, since that will either just get confusing or too much. For now, I'd recommend just calling values (which will have a robust enough API) and doing to summary stats on that.
I think I'm pretty happy with the branch I have at https://github.com/jackh726/bigtools/tree/ghuls/add_more_bigwigaverageoverbed_stats. I updated the API to match the comments above. Would love to hear your thoughts on it.

Looks good. Do you know how I can check that branch out to try it locally?

git fetch https://github.com/jackh726/bigtools.git bigtools_refactor_rebase2:bwaob_refactor
git checkout bwaob_refactor

should work

Managed to get the correct branch:
git fetch https://github.com/jackh726/bigtools.git ghuls/add_more_bigwigaverageoverbed_stats:bigtools_ghuls_add_more_bigwigaverageoverbed_stats

Help needs to be fixed:
    If ``"all"`` is specified, all summary statistics are returned in a named tuple.

    If a single statistic is provided as a string, that statistic is returned
    as a float.

    If a single statistic is provided as a string, that statistic is returned
    as a float or int depending on the statistic.

Giving an unknown statistic (like "all" does not trigger and exception or an error message:
In [32]: %%time
    ...: with pybigtools.open("test.bw", "r") as bw:
    ...:     x = list(bw.average_over_bed("consensus_peaks.bed", stats=["mean0"]))
    ...: x[0]
    ...:
    ...:
CPU times: user 4.93 s, sys: 36.2 ms, total: 4.97 s
Wall time: 4.96 s
Out[32]: 0.06325921607762575

In [33]: %%time
    ...: with pybigtools.open("test.bw", "r") as bw:
    ...:     x = list(bw.average_over_bed("consensus_peaks.bed", stats=["all"]))
    ...: x[0]
    ...:
    ...:
CPU times: user 90 µs, sys: 2 µs, total: 92 µs
Wall time: 95.8 µs
Out[33]: 0.06325921607762575

In [34]: %%time
    ...: with pybigtools.open("test.bw", "r") as bw:
    ...:     x = list(bw.average_over_bed("consensus_peaks.bed", stats=["all2"]))
    ...: x[0]
    ...:
    ...:
CPU times: user 49 µs, sys: 1e+03 ns, total: 50 µs
Wall time: 52.9 µs
Out[34]: 0.06325921607762575

In [35]: %%time
    ...: with pybigtools.open("test.bw", "r") as bw:
    ...:     x = list(bw.average_over_bed("consensus_peaks.bed", stats=["mean0", "mean", "min", "max", "size", "bases", "sum"]))
    ...: x[0]
    ...:
    ...:
CPU times: user 5.13 s, sys: 80 ms, total: 5.21 s
Wall time: 5.2 s
Out[35]:
(0.06325921607762575,
 0.06325921607762575,
 0.044780001044273376,
 0.08956000208854675,
 500,
 500,
 31.629608038812876)

It would be nice to have a method on BBIRead to reinitialize it (similar to seek(0), so that you can run e.g. multiple average_over_bed commands on the same bigwig filehandle.
with pybigtools.open("test.bw", "r") as bw:
    x = list(bw.average_over_bed("consensus_peaks_set1.bed", stats=["mean0"]))
    y = list(bw.average_over_bed("consensus_peaks_set1.bed", stats=["mean0"]))

Opening BED files as a Path does not work (works for opening the bigwig):
bw.average_over_bed(Path("file.bed"))

Help needs to be fixed:
    If ``"all"`` is specified, all summary statistics are returned in a named tuple.

    If a single statistic is provided as a string, that statistic is returned
    as a float.

    If a single statistic is provided as a string, that statistic is returned
    as a float or int depending on the statistic.

Done

Giving an unknown statistic (like "all" does not trigger and exception or an error message:

Strange...there is a test that shows that it does:
assert pytest.raises(ValueError, bw.average_over_bed, path, None, 'bad')
assert pytest.raises(ValueError, bw.average_over_bed, path, None, ['min', 'bad'])
assert pytest.raises(ValueError, bw.average_over_bed, path, None, ['min', 'all'])

It would be nice to have a method on BBIRead to reinitialize it (similar to seek(0), so that you can run e.g. multiple average_over_bed commands on the same bigwig filehandle.
with pybigtools.open("test.bw", "r") as bw:
    x = list(bw.average_over_bed("consensus_peaks_set1.bed", stats=["mean0"]))
    y = list(bw.average_over_bed("consensus_peaks_set2.bed", stats=["mean0"]))

This already should have worked - added a test to show.

Opening BED files as a Path does not work (works for opening the bigwig):
bw.average_over_bed(Path("file.bed"))

Added this + test

(feel free to just force push that branch to this PR branch - I can do it directly if you don't know how. Do want to give you credit for your work here)

Calculating multiple average_over_bed on the same BBIRead handle andd "all" statistics now works. Not sure what was wrong here with my installation.
In [14]: %%time
    ...: with pybigtools.open(Path("test.bw"), "r") as bw:
    ...:     y_list = list(bw.average_over_bed("consensus_peaks.bed", names=None, stats="mean0"))
    ...:     x_list = list(bw.average_over_bed(Path("consensus_peaks.bed"), names=None, stats="all"))
    ...: print(y_list[0], x_list[0])
    ...:
    ...:
0.06325921607762575 SummaryStatistics(size=500, bases=500, sum=31.629608038812876, mean0=0.06325921607762575, mean=0.06325921607762575, min=0.044780001044273376, max=0.08956000208854675)
CPU times: user 8.71 s, sys: 188 ms, total: 8.9 s
Wall time: 8.89 s

Raising an exception form a with block does not work for me:
import pybigtools
from pathlib import Path

# Don't import numpy to show with block does not pass exception.
# import numpy as np

In [2]: %%time
   ...: with pybigtools.open(Path("test.bw"), "r") as bw:
   ...:     y_list = list(bw.average_over_bed("consensus_peaks.bed", names=None, stats="mean0"))
   ...:     x_list = list(bw.average_over_bed(Path("consensus_peaks.bed"), names=None, stats="max"))
   ...: print(y_list[0], x_list[0])
   ...:
   ...:
0.06325921607762575 0.08956000208854675
CPU times: user 8.1 s, sys: 228 ms, total: 8.33 s
Wall time: 8.32 s

# Numpy is not imported, so the code should trow an exception, but doesn't:
In [3]: %%time
   ...: with pybigtools.open(Path("test.bw"), "r") as bw:
   ...:     y_array = np.fromiter(bw.average_over_bed("consensus_peaks.bed", names=None, stats="mean0"), dtype=np.float32)
   ...:     x_array = np.fromiter(bw.average_over_bed(Path("consensus_peaks.bed"), names=None, stats="max"), dtype=np.float32)
   ...: print(y_array[0], x_array[0])
   ...:
   ...:
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
File <timed exec>:4

NameError: name 'y_array' is not defined

In [4]: %%time
   ...: with pybigtools.open(Path("test.bw"), "r") as bw:
   ...:     y_array = np.fromiter(bw.average_over_bed("consensus_peaks.bed", names=None, stats="mean0"), dtype=np.float32)
   ...:     x_array = np.fromiter(bw.average_over_bed(Path("consensus_peaks.bed"), names=None, stats="max"), dtype=np.float32)
   ...: #print(y_array[0], x_array[0])
   ...:
   ...:
CPU times: user 47 μs, sys: 1 μs, total: 48 μs
Wall time: 50.5 μs

# In a normal with block it trows an exception:
In [5]: %%time
   ...: with open(Path("test.bw"), "r") as bw:
   ...:     y_array = np.fromiter(bw.read(), dtype=np.float32)
   ...:     x_array = np.fromiter(bw.read(), dtype=np.float32)
   ...: print(y_array[0], x_array[0])
   ...:
   ...:
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
File <timed exec>:2

NameError: name 'np' is not defined

# After importing numpy
import numpy as np

In [9]: %%time
   ...: with pybigtools.open(Path("test.bw"), "r") as bw:
   ...:     y_array = np.fromiter(bw.average_over_bed("consensus_peaks.bed", names=None, stats="mean0"), dtype=np.float32)
   ...:     x_array = np.fromiter(bw.average_over_bed(Path("consensus_peaks.bed"), names=None, stats="max"), dtype=np.float32)
   ...: print(y_array[0], x_array[0])
   ...:
   ...:
0.063259214 0.08956
CPU times: user 8.24 s, sys: 160 ms, total: 8.4 s
Wall time: 8.4 s

Minimal example:
In [11]: with pybigtools.open(Path("test.bw"), "r") as bw:
    ...:     raise ValueError("Some error")
    ...:

In [12]: with open(Path("test.bw"), "r") as bw:
    ...:     raise ValueError("Some error")
    ...:
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
Cell In[12], line 2
      1 with open(Path("test.bw"), "r") as bw:
----> 2     raise ValueError("Some error")

ValueError: Some error

Raising an exception form a with block does not work for me:

Thanks, this was a problem with #44, which is fixed now (with a test)

Raising an exception form a with block does not work for me:

Thanks, this was a problem with #44, which is fixed now (with a test)

I now assume that this Iwas the reason why invoking average_over_bed twice on the bigWig filehandle didn't work as I might have used some code that invoked an exception.
Exceptions are now raised properly.
Is there a timeframe for a 0.2.0 release with this pull request merged? We hope to use it soon in a package we want to publish.

Seems like bigWigAverageOverBed is semi deprecated:
https://groups.google.com/a/soe.ucsc.edu/g/genome/c/fh9nNK52Qrw/m/ITy1wlCBBQAJ

I now assume that this Iwas the reason why invoking average_over_bed twice on the bigWig filehandle didn't work as I might have used some code that invoked an exception.
Exceptions are now raised properly.

Good to hear

Is there a timeframe for a 0.2.0 release with this pull request merged? We hope to use it soon in a package we want to publish.

Maybe today, most likely sometime this weekend

Seems like bigWigAverageOverBed is semi deprecated: https://groups.google.com/a/soe.ucsc.edu/g/genome/c/fh9nNK52Qrw/m/ITy1wlCBBQAJ
If that is really the case, could the min0, max0 options being considered in the future? (could be behind a different flag than --min-max, so --min-max stays compatible with Kent tools).

Potentially! I do think that the general question of whether uncovered is treated as 0 or not is important - it's relevant to values too.

I think I probably agree that fully uncovered regions should return nan instead of 0. I'm less inclined to add more stats or change the semantics of those that exist compared to the ucsc tools, since that will either just get confusing or too much. For now, I'd recommend just calling values (which will have a robust enough API) and doing to summary stats on that.

Just pushed a commit for this.

Going to go ahead and merge this - happy to follow up on min0/max0.

Is there a timeframe for a 0.2.0 release with this pull request merged? We hope to use it soon in a package we want to publish.

Maybe today, most likely sometime this weekend

Great!

Seems like bigWigAverageOverBed is semi deprecated: https://groups.google.com/a/soe.ucsc.edu/g/genome/c/fh9nNK52Qrw/m/ITy1wlCBBQAJ
If that is really the case, could the min0, max0 options being considered in the future? (could be behind a different flag than --min-max, so --min-max stays compatible with Kent tools).

Potentially! I do think that the general question of whether uncovered is treated as 0 or not is important - it's relevant to values too.

I think in pyBigWig returns np.nan for those positions.

I think I probably agree that fully uncovered regions should return nan instead of 0. I'm less inclined to add more stats or change the semantics of those that exist compared to the ucsc tools, since that will either just get confusing or too much. For now, I'd recommend just calling values (which will have a robust enough API) and doing to summary stats on that.

Just pushed a commit for this.

Thanks.

Seems like UCSC does not have time to fix bigWigAverageOverBed: https://groups.google.com/a/soe.ucsc.edu/g/genome/c/fh9nNK52Qrw/m/ITy1wlCBBQAJ

Thank you for providing those details. Unfortunately, we don't have the bandwidth to fix this issue with bigWigAverageOverBed at this time.
However, we can point people to the bigtools suite in the future if they ask about tools with similar functionality.


[SPARK-27160][SQL] Fix DecimalType when building orc filters

What changes were proposed in this pull request?
DecimalType Literal should not be casted to Long.
eg. For df.filter("x < 3.14"), assuming df (x in DecimalType) reads from a ORC table and uses the native ORC reader with predicate push down enabled, we will push down the x < 3.14 predicate to the ORC reader via a SearchArgument.
OrcFilters will construct the SearchArgument, but not handle the DecimalType correctly.
The previous impl will construct x < 3 from x < 3.14.
How was this patch tested?
$ sbt
> sql/testOnly *OrcFilterSuite
> sql/testOnly *OrcQuerySuite -- -z "27160"

@dongjoon-hyun
Please review! I do think this should be backported to 2.4.x. And I will add unit tests later.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Test build #103493 has started for PR 24092 at commit 4be6d82.

Test build #103505 has started for PR 24092 at commit 591c3f4.

Test build #103505 has finished for PR 24092 at commit 591c3f4.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test build #103493 has finished for PR 24092 at commit 4be6d82.

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

Merged build finished. Test FAILed.

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

Merged build finished. Test PASSed.

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

Thank you for pinging me, @sadhen . I'll take a look today!

Retest this please.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/8930/
Test PASSed.

Test build #103517 has started for PR 24092 at commit 591c3f4.

cc @dbtsai since he is a release manager.

Can we add an end-to-end test to demonstrate the correctness bug?

Test build #103517 has finished for PR 24092 at commit 591c3f4.

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

Merged build finished. Test PASSed.

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

+1 for @cloud-fan 's opinion.
@sadhen , could you add another test case for that?

@dongjoon-hyun  @cloud-fan
Do you mean generating an ORC file with DecimalType, and read it using the native reader with predicate push down?

Yes, right, @sadhen .

@cloud-fan @dongjoon-hyun  Please review again.

Retest this please.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/9078/
Test PASSed.

Test build #103681 has started for PR 24092 at commit 08e158a.

Retest this please.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/9088/
Test PASSed.

Test build #103696 has started for PR 24092 at commit 08e158a.

Test build #103696 has finished for PR 24092 at commit 08e158a.

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

Merged build finished. Test PASSed.

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

Merged to master.

Hi, @sadhen . There is a conflict at branch-2.4. Could you make a PR against branch-2.4 please?

Since @sadhen looks busy and RC8 fails, I resolved the conflicts and back port this to branch-2.4.
cc @dbtsai since he is a release manager for 2.4.1.

Also, I tested and landed this on branch-2.3 for 2.3.4.


GroupId

We can create a team from an existing Office 365 ("Unified") group, by specifying the "GroupId".
But what is a "GroupId"? GroupId does not seem to be a property of a Unified Group, at least not when using Get-UnifiedGroup.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 549c7d86-87b3-5c82-d2b3-a0cc0b4faa11
Version Independent ID: b3377099-854a-50d0-0fe1-bbdd7ddec332
Content: New-Team (teams)
Content Source: teams/teams-ps/teams/New-Team.md
Service: teams-powershell
GitHub Login: @kenwith
Microsoft Alias: kenwith

GroupId is a property of a team, at least it is the id of the parent group. But it is not a property of a Unified group, which has id, identity, alias, GUID but not GroupId. It seems illogical to create a team from a Unified group by asking for something that is not a property of the group.
It seems to make more sense either to ask for one of the properties of the Unified Group, when creating a team from it. We already use Get-UnifiedGroup with -Identity. If it must be the Object Id of the AAD group, then maybe the parameter name should be changed to Object Id.

@officedocsbot assign @yogkumgit

Hello @Air-Git
In my tests, I used the ExternalDirectoryObjectId UnifiedGroup property

I can understand that the "GroupId" name can be misleading, for that, I kindly ask you to create a suggestion to Teams UserVoice.
What I can do at Documentation level, is add a text to the article clarify and help users like you, to find the correct id.
Thank you

@get-itips  Thank you very much for the contribution and updating the documentation with PR. @Air-Git Hope this update is helpful for you. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.

I think all it needs in the documentation is to say that GroupId refers to the ExternalDirectoryObjectId of the parent group.
I think the misunderstanding in the cmdlet arises because GroupId is a property of the team, but obviously the team with that property does not exist before you create it from a unified group, which does NOT have that property.

@Air-Git a clarifying note it's on the way to be published on the live version of the article. Thank you

@get-itips  Thank you very much for the contribution and updating the documentation with PR. @Air-Git Hope this update is helpful for you. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


Extracted Calibration Information not Utilized by tf2

I have installed the UR Robot Driver, extracted the calibration information from the robot and set the driver up to use that information by changing the kinematics_params parameter in ur_control_launch.py as described in this issue.
I have written a node that reads the current end effector pose using tf2_ros.Buffer.lookup_transform. A minimal example of my node is below:
import rclpy
import tf2_ros
from rclpy.node import Node

class TFTest(Node):
    def __init__(self):
        super().__init__('tf_test')

        self.tf_buffer = tf2_ros.Buffer()
        self.tf_listener = tf2_ros.TransformListener(self.tf_buffer, self)

        self.transform_timer = self.create_timer(0.1, self.transform_callback)

    def transform_callback(self):
        try:
            self.last_tf = self.tf_buffer.lookup_transform('base', 'tool0', rclpy.time.Time())
            self.tf_updated = True
        except tf2_ros.ConnectivityException as e:
            self.get_logger().warn("Failed to get transform from base to end effector")

        if self.last_tf:
            print(self.last_tf.transform.translation)

def main(args=None):
    rclpy.init(args=args)
    tf_test = TFTest()
    rclpy.spin(tf_test)

    tf_test.destroy_node()
    rclpy.shutdown()

if __name__ == '__main__':
    main()

The output of the node is something like:

geometry_msgs.msg.Vector3(x=0.11440437456172814, y=-0.4682725706540506, z=0.5879769079364487)

whereas the teach pendant displays something like:

(115.05, -468.18, 584.83)

The coordinates output by the above node do not seem to be affected by what calibration information I use, leading me to believe they're not using it at all. Is this intended behavior? Is there another way I should be getting the transform to the end effector, or is this a bug in the driver / tf2?
Thank you

As a debugging step, I also copied the contents of my custom kinematics.yaml file into the Universal_Robots_ROS2_Description/config/ur5/default_kinematics.yaml file, and I still see no change in the output end effector pose.

After some more debugging, it seems like part of the issue is inconsistent messages being published to the /tf topic.
I noticed that my example node above actually irregularly alternates between two values, with the less common of the two being pretty close to what's on the teach pendant:

ee pos: 0.11080233668334363 -0.4717967404531766 0.5568064775808639 (less common)
ee pos: 0.11018918709475961 -0.47206304103057 0.5598878236787377 (more common, incorrect)

This seems to be because the transforms published to /tf are not consistent (even though the robot is not moving). The more common, incorrect end effector position is returned when the most recent message on the /tf topic has had some rotation components rounded to 0.0. For example, here is what the first transform looks like when the incorrect end effector pose is returned:

frame_id: upper_arm_link
child_frame_id: forearm_link
transform: geometry_msgs.msg.Transform(translation=geometry_msgs.msg.Vector3(x=-0.4251354753856735, y=0.0, z=0.0), rotation=geometry_msgs.msg.Quaternion(x=0.0, y=0.0, z=0.7511925329895845, w=0.6600831602008127))

here is what the same transform looks like when the more correct end effector pose is returned:

frame_id: upper_arm_link
child_frame_id: forearm_link
0 : geometry_msgs.msg.Transform(translation=geometry_msgs.msg.Vector3(x=-0.4251354753856735, y=0.0, z=0.0), rotation=geometry_msgs.msg.Quaternion(x=0.0006167428612089586, y=-0.0002544616729952269, z=0.7511917598096455, w=0.6600837029283393))

A similar problem seems to occasionally occur for the fourth transform (forearm link to wrist_1_link). These always seem to occur at the same time (i.e. the rotation components are rounded to 0.0 in both the upper_arm to forearm and the forearm to wrist_1 transformation)

Thanks for reporting this, this looks like it would have to be further investigated. I consider the calibration correction one of the core features of this driver and if it isn't working correctly, we'll have to fix it!

A quick check with URSim: I get a consistent
geometry_msgs.msg.Vector3(x=-0.14396865671352146, y=-0.4356200608031923, z=0.20203002542838502)
(3.1166393514839523, 0.02508103277980295, -3.141121755220579)

with a corresponding

so not all seems to be wrong. However, I'll try to do a real-robot test next Monday and check again. Note: I've extended your script a little bit in order to also print the orientation:
import rclpy
import tf2_ros
from rclpy.node import Node
from tf_transformations import euler_from_quaternion

class TFTest(Node):
    def __init__(self):
        super().__init__('tf_test')

        self.tf_buffer = tf2_ros.Buffer()
        self.tf_listener = tf2_ros.TransformListener(self.tf_buffer, self)

        self.transform_timer = self.create_timer(1.0, self.transform_callback)

    def transform_callback(self):
        try:
            self.last_tf = self.tf_buffer.lookup_transform('base', 'tool0', rclpy.time.Time())
            self.tf_updated = True
        except tf2_ros.ConnectivityException as e:
            self.get_logger().warn("Failed to get transform from base to end effector")

        if self.last_tf:
            print(self.last_tf.transform.translation)
            orientation_q = self.last_tf.transform.rotation
            orientation_list = [orientation_q.x, orientation_q.y, orientation_q.z, orientation_q.w]
            print(euler_from_quaternion(orientation_list))

def main(args=None):
    rclpy.init(args=args)
    tf_test = TFTest()
    rclpy.spin(tf_test)

    tf_test.destroy_node()
    rclpy.shutdown()

if __name__ == '__main__':
    main()

@cpsiff the output in your second post do not really seem to surprise, though. Fluctuations in the sub-mm range are from my perspective unavoidable, since the reported joint values are also a bit noisy. However, 0.7mm deviation maybe seems a bit high for this explanation, joint values shouldn't be noisy in that precision range from my expecations.
However, the discrepancy between the reported tf and the values on the TP seem not right.... As said, this needs a deeper look with a real robot next week.

@fmauch Thank you for looking into this!
Note that in my second post, the fluctuation is 3mm in the z direction, even though the robot is not receiving any movement commands, and these fluctuations are happening something like a few times a second (say one in 20 messages at 75Hz). I agree that sub-mm fluctuations would not be concerning (you can see these on the teach pendant itself, for example), but these are larger fluctuations and the nature of it indicates to me that it's not coming from hardware. It's not random fluctuation around a mean, it's alternating between two distinct points.
The most concerning thing to me is that what calibration information (or lack of it) I use seems to have no effect on the reported end effector pose. I'm curious if you'll find the same thing. There's a chance that I'm doing something wrong with loading in the calibration information - I don't know how to check that it's working other than checking if the reported end effector poses change.
I have opened the calibration information file and confirmed that the information is in there (it's the same as it was in ROS 1).

@cpsiff I tested things with one of our robots today and I cannot reproduce the behavior that you are describing.
The tcp pose reported by the driver matches the one from the TP exactly when I launch it with the extracted calibration given. Since you don't experience any changes from using the calibration information: Can you confirm that you don't see the error
 [ERROR] [1694437624.484381456] [URPositionHardwareInterface]: The calibration parameters of the connected robot don't match the ones from the given kinematics config file. Please be aware that this can lead to critical inaccuracies of tcp positions. Use the ur_calibration tool to extract th
e correct calibration from the robot and pass that into the description. See [https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver/blob/main/ur_calibration/README.md] for details.

If everything is correct, you should see something like
[INFO] [1694437690.406932381] [URPositionHardwareInterface]: Calibration checksum: 'calib_1588877523983968359'.

in the logs.
Did you extract the calibration (and start the driver) while the robot was running (Motors switched on, brakes not necessarily released). Apparently that makes a difference, as calibration information is (internally) read by the controller while turning on as far as I have understood. We'll update the calibration_extraction instructions and code regarding this, but in the meantime it would be interesting whether that makes a difference for you.
If you keep experiencing problems, could you please post the complete output of your calibration extraction and your driver run?

@fmauch I have solved the problem - it was on my end. As far as I can tell there is nothing wrong with the driver.
My problem was that the launch file I was using (which launches ur_control.launch in addition to other things) included a robot state publisher, i.e.:
Node(
    package='robot_state_publisher',
    name='robot_state_publisher',
    executable='robot_state_publisher',
    output='screen',
    arguments=[urdf_path],
    parameters=[{'publish_frequency': 50.0,
                'robot_description': urdf_string}]
),

this was a remnant of some copy-pasted code that I didn't check carefully. The state publisher was publishing uncalibrated robot poses on the same topic. Once I removed it, my issue was resolved.
I also tested what happens if I try to read the calibration information at a different time. If the robot is off, the calibration script just hangs up on "[UR_Client_Library]: Failed to read from stream, reconnecting in 1 seconds...". If the robot is on at all (even before pressing "go to initialization screen" on the teach pendant), the calibration is extracted successfully. I don't think there's any way for a user to think they have good calibration info when they don't.
I do think there should be better documentation around how to use the extracted calibration information (as explained in #711) and confirm that it's working. If I had known to look in the console log for the calibration checksum, that could have saved me a lot of debugging time.
It might be worth reopening #791 as I doubt their underlying cause was the same as mine.
Thank you for your help.


style: 💄 update dashboard tags

https://metakeen.atlassian.net/browse/FEE-790

Codecov Report

Merging #292 (1fee9d8) into develop (927af87) will decrease coverage by 0.01%.
The diff coverage is 60.00%.

@@             Coverage Diff             @@
##           develop     #292      +/-   ##
===========================================
- Coverage    86.90%   86.89%   -0.02%
===========================================
  Files          535      535
  Lines         6730     6731       +1
  Branches       638      638
===========================================
  Hits          5849     5849
- Misses         795      796       +1
  Partials        86       86

Impacted Files
Coverage Δ

...s/DashboardTile/components/Header/Header.styles.ts
94.44% <ø> (ø)

...ponents/DashboardTile/components/Header/Header.tsx
80.76% <60.00%> (-3.24%)
:arrow_down:

Continue to review full report at Codecov.

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


Boot Integrity Services Entry Point - 16 bit entry point should be segment:offset

Make a struct return for Boot Integrity Services Entry Point's  16 bit entry point as segment and offset.
This is a bit messy to work with:
            if let Some(bis_entry_16) = data.bis_entry_16() {
                let bytes = bis_entry_16.to_le_bytes();
                let offset = u16::from_le_bytes(bytes[0..2].try_into().expect("u16 is two bytes"));
                let segment = u16::from_le_bytes(bytes[2..4].try_into().expect("u16 is two bytes"));
                println!(
                    "\t16-bit Entry Point Address: {:06X}:{:06X}",
                    segment, offset
                );
            }

It's actually not terrible, maybe leave it alone:
            if let Some(bis_entry_16) = data.bis_entry_16() {
                let segment = bis_entry_16 >> 16;
                let offset = bis_entry_16 & u16::MAX as u32;
                println!(
                    "\t16-bit Entry Point Address: {:06X}:{:06X}",
                    segment, offset
                );
            }


Optimize controller UI for large cluster/tables

We have large tables that have over 220k and 370k offline segments, that we almost always timeout trying to open the offline table page, as it seems the page was trying to load all segment data on the page. It would be great if the UI can be redesigned or tweaked to not trying to load all those data on page load, to make UI more responsive.

cc @joshigaurava @jayeshchoudhary @jadami10

yup, i think we can take the same strategy as the tables page and render everything separately

@Jackie-Jiang, noted.

I think this is more related to the backend. Currently, UI calls idealState and externalView APIs to show segments.
If there are 100 segments the API response will be faster, if there are 100k segments the API response will be slow. so UI can't do anything here to compensate for the slowness.
IMO we should have some pagination/search in the API, which UI can leverage to only show a subset of the segments.
But, I don't know the userflow here. maybe we always want to look at all the segments? or if we show only a subset of segments how do we consume them?
We can think about the common workflows here and decide based on user behavior. After this, there will be backend + UI changes.

@jayeshchoudhary Can you help list down all the data that the UI is collecting before the page is rendered? Then we can discuss how to reduce the data to be fetched for large tables.

I'm hoping to take a pass at this during the EOY slowdown. My approach is going to be:

decouple rendering from data loading
use loading skeletons while loading data

I'm going to tackle the biggest known issues first:

/size: this reaches out to servers for table size. and depending on current load, it can take ~forever. It also only populates numbers in the UI, so there's no reason to stop rendering the whole page
idealstate/externalview: this is known to be slow for large tables. It also causes memory issues in the browser tab, but i don't have an easy solution for that yet until things like the segment list do server side pagination. But this endpoint is mainly used to show the "status" of the table or the segments. Again, no need to block the whole UI from loading.


Day ahead prices

Hi,
Probably not an issue with the package, but rather on my knowledge side.
I stumbled upon this repository in my search for calculating/retrieving day ahead prices for energy and gas. With the entsoe API I managed to retrieve the day ahead prices. Is this also possible with the entsog API, and by extension with this package?
More specifically, I'm trying to get the day ahead prices for ZTP in Belgium (both ZTP Day Ahead and ZTP Weekend).
My apologies if this question is too far out of scope. I tried several queries using your library and managed to get a very extensive list of operator points (related to Fluxys/ZTP/...) and tariffs (although I had to revert to requests queries to narrow down the search scope so that the query would not take longer than 5 seconds). But none of those made me any wiser. Do you have any directions? (Hoping you would have gather some knowledge around this by building this library)
Thanks,
Olivier

Hi Olivier,
These prices are not incorporated in the ENTSOG platform. The tariffs you mentioned are merely the cost accompanied with utilizing a certain pipeline/point (as far as I know).
You should look towards ICE, they have (albeit not historical) the prices for TTF, ZTP and other gas hubs.
Kind regards,
Nicky

Hi Nicky,
That is unfortunate! Thanks for taking the time to answer and giving me a pointer on where to search next.
Either way, nice job on this package! You managed to create a nice set of functionality within it already.
Kind regards,
Olivier


Assert tests all returning true (Staging and Curr. Exp. Branches)

For the feature/curriculum-expansion branch only. When this branch is running locally, the challenge tests are all passing, even when no answer / incorrect code is typed into the editor. The assert messages aren't showing on screen anymore either - it's just the green check mark. This started happening sometime after the Monday, Sept 26th merges for the branch.
Update: confirmed issue on both feature/curriculum-expansion and staging branches.
Browser Information

Browser Name, Version: Both Chrome (53.0.2785.116 (64-bit)) and Firefox (49.0.1) are showing the same behavior.
Operating System: Mac OS X 10.11.3
Mobile, Desktop, or Tablet: Desktop

I noticed this on Tuesday just after midnight GMT, I had branched off staging.
I just thought I had broke something as I was working on tests...

So juts now I did
git pull upstream staging
node seed
gulp
Navigated to a challenge and just hit the Run Tests button and passed with a success toast. I entered no code into the editor.
I noticed two stack traces in the gulp terminal.
fcc:react-server render react markup and pre-fetch data +1m
  fcc:services:map en language requested +553ms
Warning: Failed prop type: Invalid prop `tests[0]` of type `string` supplied to `SidePanel`, expected `object`.
    in SidePanel (created by Connect(SidePanel))
    in Connect(SidePanel) (created by Challenge)
    in div (created by Col)
    in Col (created by Challenge)
    in div (created by Challenge)
    in Challenge (created by Connect(Challenge))
    in Connect(Challenge) (created by Challenges)
    in div (created by Challenges)
    in Challenges (created by Container(Challenges))
    in Container(Challenges) (created by Connect(Container(Challenges)))
    in Connect(Container(Challenges)) (created by RouterContext)
    in div (created by Row)
    in Row (created by FreeCodeCamp)
    in div (created by FreeCodeCamp)
    in FreeCodeCamp (created by Connect(FreeCodeCamp))
    in Connect(FreeCodeCamp) (created by RouterContext)
    in RouterContext
    in Provider
Warning: Failed prop type: Invalid prop `tests[0]` of type `string` supplied to `TestSuite`, expected `object`.
    in TestSuite (created by SidePanel)
    in SidePanel (created by Connect(SidePanel))
    in Connect(SidePanel) (created by Challenge)
    in div (created by Col)
    in Col (created by Challenge)
    in div (created by Challenge)
    in Challenge (created by Connect(Challenge))
    in Connect(Challenge) (created by Challenges)
    in div (created by Challenges)
    in Challenges (created by Container(Challenges))
    in Container(Challenges) (created by Connect(Container(Challenges)))
    in Connect(Container(Challenges)) (created by RouterContext)
    in div (created by Row)
    in Row (created by FreeCodeCamp)
    in div (created by FreeCodeCamp)
    in FreeCodeCamp (created by Connect(FreeCodeCamp))
    in Connect(FreeCodeCamp) (created by RouterContext)
    in RouterContext
    in Provider
  fcc:react-server react markup rendered, data fetched +912ms
  fcc:react-server html rendered and ready to send +5s
200 GET 7018.833 ms - /en/challenges/basic-javascript/escaping-literal-quotes-in-strings

Certainly looks like it is related

Wait, does #10886 mean we have to change all the tests?

@Bouncey - thanks for confirming, and adding that detail 👍 - I was trying to figure out what I broke locally, too. Staging was merged into the feature/curriculum-expansion branch Monday so likely same issue on both branches.

So I changed this:
"tests": [
        "assert(code.match(/\\\\\"/g).length === 6 && code.match(/[^\\\\]\"/g).length === 10, 'message: You should use two double quotes (") and four escaped double quotes (\").');",
        "assert(myStr === \"I am a \\\"double quoted\\\" string inside \\\"double quotes\\\".\", 'message: Variable myStr should contain the string: I am a \"double quoted\" string inside \"double quotes\".');"
      ],

to this:
"tests": [
        {
          "text": "You should use two double quotes (") and four escaped double quotes (\").');",
          "testString": "assert(code.match(/\\\\\"/g).length === 6 && code.match(/[^\\\\]\"/g).length === 10, 'message: You should use two double quotes (") and four escaped double quotes (\").');"
        },
        {
          "text": "Variable myStr should contain the string: I am a \"double quoted\" string inside \"double quotes\".');",
          "testString": "assert(myStr === \"I am a \\\"double quoted\\\" string inside \\\"double quotes\\\".\", 'message: Variable myStr should contain the string: I am a \"double quoted\" string inside \"double quotes\".');"
        }
      ],

and the tests worked, but the view is broken.
Initially, the test suite looks like it should, messages and icons.
If the test passes, green icons and messages
If the tests fail, initial icons (not fail) and no message
If the tests pass once again, green icons and sometimes a message, sometimes not.

@Bouncey You do not have to change all the tests

@BerkeleyTrue since 'tests as objects' was merged, the tests do not work on staging, unless they are converted to objects, and even then the tests suite ui is broken

I'll take a look.

PR up with fix

Can someone else test the PR? My experience is in the PR thread.

All assert tests are still returning true, even on beta.freecodecamp

@BerkeleyTrue it looks like this has become a blocking item for @HKuz's progress with the QA process.

This is also a blocking item for QA'ing PR's relating to challenge tests in general

@BerkeleyTrue @QuincyLarson  would reverting #10886 help @HKuz in the mean-time whilst trying to resolve this?


kb_itr_get broken

kb_itr_get() has a bug as proven by the attached test program
kbtree_itr_test.c.zip

This issue is (almost) fixed by PR #73; see. After extending the kb_itr_getp() fix to kb_itr_get() the quoted PR #73 passes the above test program.


Use KUBECONFIG_FOLDER (#81)

contributes to #81
Signed-off-by: lesleyannj<EMAIL_ADDRESS>

Thanks @lesleyannjordan


[Bug Report] Popover doesn't close if route changes

Element UI version
2.4.5
OS/Browsers version
Latest Chrome
Vue version
2.5.16
Reproduction Link
https://jsfiddle.net/mmx38qxw/4433/
Steps to reproduce
Change route, the popover won't close.
What is Expected?
Default user expectation is that popover will close on route change.
What is actually happening?
Popover not closing.

I think it isn't a bug of ElementUI. The router-view component renders the matched component for the given path. When route changes, only the router-view component renders. So the popover still opens.
<router-view></router-view>
<el-popover></el-popover>

Makes sense, thanks. How can I trigger a close on click? I have no option but to keep the popover outside of router-view.

@matthagemann
You can control it manually by setting trigger="manual"

@jikkai I cannot find documentation on that, except on popper.js itself: instance.hide() and instance.show(). How does that work in an Element environment?

@matthagemann Hope this demo can help you :)
https://jsfiddle.net/mmx38qxw/4538/


Segfault on macOS + clang when reading 1HTQ.pdb

To reproduce, start by downloading the 1HTQ structure, in PDB format from https://www.rcsb.org/structure/1htq
Reading the file leads to a segfault on macOS + clang (potentially other platforms too, I did not try). From the debugger, the issue happen when rehashing and updating the property map on the residues in https://github.com/chemfiles/chemfiles/blob/6c44422ae07debd8a96ad287ebc8375ce058b6bd/src/formats/PDB.cpp#L458
A possible culprit would be move/copy constructor of Property with string values. Pinging @frodofine (congrats on your PhD!) in case you have an idea what is going on here.

Hmm, I'll look into. I don't have access to a Mac because I cannot go onto campus, but I will try and reproduce the error on Windows or Linux.
Thanks!

If I find the motivation, I'll try to look a bit deeper into this. I wanted to fill an issue to not forget about it =)

Fixed by #329


Better active link handling on content page

Whilst doing testing with Glimmer 2, I was getting an infinite render issue, which was being caused by the active-link-wrapper mixin - I updated it to depend on the ember-cli-active-link-wrapper because it has a mixin.
Also, I moved the template content for the post item into the component itself - it seems like better practice then just doing {{yield this}} in the template.
With the release of Ember 2.10, this PR also introduces Glimmer2 support :tada: I did a cursory overview of all of the app's functionality and it all seemed to work for the most part - there were a couple of deprecations thrown in the editor but that's probably an editor issue and will debug it further later. will be done in a future PR

@kevinansfield Initially this PR was going to add glimmer2 support, but as that is dependent on the validations refactor it's probably best to just merge this as-is and then worry about glimmer2 support later.


test issue trying to tag people

@owendodd @nsimmons206 @lucaderosso

:wave:

fixed the mention autocomplete for design team members :)


Can't even SHOW_TABLES;

First off, ❤  the first-class TS support 😄
Before
mysql.query('SHOW TABLES')

Everything is fine 👍
After
mysql.query(sql`SHOW TABLES`)

👎

ER_EMPTY_QUERY: Query was empty

Any idea why this might be the case?
What is the proper way to debug this?

Taking a look. Based on the documentation (https://github.com/mysqljs/mysql#performing-queries) this should just work.

Just to clarify, are you using the MySQL module above?

Ok, I think I see the issue. It relates to: https://github.com/mysqljs/mysql/blob/master/lib/Connection.js#L39-L41.
The sql and values properties aren't actually enumerable. This isn't an issue with pg, I'll see if there's an easy way to change this here or in MySQL, but get and set is by default not enumerable in JS.

Went ahead and just fixed it here by making the keys enumerable: https://github.com/blakeembrey/sql-template-tag/pull/5.

Thanks!


Allow applicants to see basic information about all other applications

We'd like the ability for all applicants to see basic information about all other applications when specific conditions are met.
Conditions for applications to be shared:

The application submitted has fields marked as to be shared
On submission of application, applicant opts-in to sharing their application information
The application has been screened as within the scope of the open call (see #1948)

Conditions for applicants to view:

The account is assigned a role
The account is active/verified
The account has had an application meeting the above conditions within a set amount of time.

Requirements

A way to enable this feature that is fund/round independent

Also want to make sure all deployments don't have this enabled by default.

A page listing all of the applications (somewhere in /apply)
A way to select which field to check before including an application in the list
A way to select which fields to expose to applicants
An indication on the application form for applicants which fields will be shared

On the listing page

Base this off the All submissions table, using the same one or a new one if needed.
Display: Title, Status, Fund, Round, Submitted
Allow search and filters
Upon click, they go to the application page, but only see the fields that have been allowed for viewing.

If not possible, maybe on click an overlay with just the fields or another page?

Possible implementation

Create a new site setting called "Application sharing". Options within include: enable or disable; option to choose specific screening statuses; Application age to allow (in days); and notification template.
Upon enabling, a new form element is offered for applications called "Application sharing consent", which is a single checkbox field. Title, helptext, etc are all able to be customized as a normal field.
For all other application elements, there is a new checkbox option called "Share"
A check to make sure if any fields are marked "Share" the sharing consent element is included
When viewing the application, the field automatically lists the fields that will be shared so the applicant knows when they are giving consent
Upon conditions being met (ie when the application is screened), a notification goes out using the template, letting them know their application has been shared and that they can now view other applications.

cc @stuartmessenger and @scott-psycle. Would love to see y'all get cracking on this one and the dependency #1948. also @georgiamoon and/or anyone on your team who'd want to get involved on ui/ux.

An idea here — perhaps the easiest way to approach this would be to introduce a new type of "reviewer" role and handle this as basically a stage progression or a special "fund" for both applications and users?
Basically I'm thinking that you'd screen incoming applications and then move them into this "reviewer" pool OR move the applications (or a copy of the applications) to a fund and add the users as reviewers on that fund.
Does that make any sense as a potential approach?
Another idea would be to introduce a concept, e.g. groups or teams (maybe this exists already, I'm not sure) and a group might have access to applications or rounds of funds, and potentially other features that you might want to be limited to specific groups.

@frjo, mvp:

Create a new box on the right side called "Sharing"
Add an option just like the flag options "Share with applicants" available to role team
When checked, add applications to a list a submissions/shared
Submissions/shared fields: Title, Name, Email (no links to application pages)
Do not give applicants permission to view application pages.
Add submissions/shared to submissions/ page, with a show all going to submissions/shared like all the others.

@danblah coming back to this, I just almost pitched the same idea I wrote in May: https://github.com/OpenTechFund/hypha/issues/1934#issuecomment-627720080 of using a fund and a modified "Reviewer" role for this. Just flagging that that still feels like it'd potentially work for an MVP. I think you'd just need to basically duplicate the fields from the original applications into a new limited project pitch application form.

Group Settings in WagTail address this issue. These settings could be adjusted so applicants could access other applications and other data within the platform.


Change wording

Can you please change the word from Editor to Oracle ID ?

@alwyn-ixo this issue has been fixed


Remove meta packages, normalize on web actions.

Adds (whisk) authenticated web actions.
Removes result projection for http actions.
Fixes #1850.

This is very good to have this cleanup now.
Question I see that now the action can be "protected" meaning any valid subject with a valid keycan invoke.
How do you envision in the future on how to make the action "private" meaning only the owner subject can invoke it.

It could be by setting an annotation with a "invoke-key" that owner generates a value and set
It can be by reusing the anotation require-whisk-auth with another posible value "self", then as long an owkey owned by the owner of the action can invoke

How do you envision in the future on how to make the action "private" meaning only the owner subject can invoke it.

don't web export it - further the action will get the namespace of the authenticated user and can implement its own ACL.

But I want the benefit of being able to invoke it with http verbs in a private way from the apigateway or other backend, and not to have to incur into the cost of an invocation just to return auth error from inside the action, if I could avoid it by declaring that only the owner is allowed to invoke it then controller can do the auth for me and not waiste work to do the invocation of the action

This is adding authentication - not authorization. It's nearly semantic preserving with removing meta package support for web actions.
I don't dispute adding authorization would be useful - but outside of the scope of this pr, no?
Further you're touching on feature which are related to moving web action enhancements to the core API.

Yes all my comments are outside this PR
This PR as it is is well defined and complete.
I was just taking opportunity to have a comment about the new annotation require-whisk-auth
I don't have any further comments.
Good job 👍

Thanks @csantanapr - shall I assign to you pending reviews?

pg2/1073 approved.

pg2/1079 re-approved.

@cbickel @markusthoemmes could you review this PR, anything else to comment before merging this in?

@csantanapr  Looks good now 👍

merged 4550ac1316d4e1690b7d5e461c26977d7abca34a


Add compliance test for programming to a non-existent network-instance

also, please fix the Golang format.


horse25519 is not a library

The repository is intended to provide a standalone executable that does ed25519 vanity keypair generation.  It includes a copy of djb's ref10 ed25519 implementation lifted from supercop to avoid pulling in another dependency.
While it does use the API in an odd way, this is intentional as it already is doing something extremely exotic and unusual with respect to key generation.
https://github.com/Yawning/horse25519/blob/master/Makefile#L57
Edit: Corrected why the included sign API is somewhat wacky.

Thanks for the update, I'll push a PR to remove it from the official list and explain that carrying the vulnerable public ref10 api is not meant to be used externally. In theory though you can still have a copy of that lib but make that function private/protected so the vulnerable api is not exposed in the first place.

@Yawning a possible clear solution to avoid any accidental public exposure of the horse25519 repo is to completely remove the public signing api (and any other non-used api) from the copy pasted ref10 dep.

@kchalkias I don't disagree in principle, and acknowledge that people do tend to copy/paste and or cargo-cult a good amount of code.
That said, I would hope that no one will copy/paste things from the innards of a long-abandoned proof of concept, in a repository that I archived years ago.  While I may still be open to fixing this since I can probably just remove the sign api, there has to be a way for software authors to disown responsibility for maintaining code (short of deleting the repository, since the concept that I was trying to demonstrate is still useful).

Whowa, didn't think my comment in my repository would close this, sorry about that.
As the PR notes, I went and changed my modified crypto_sign to do the scalar-basepoint multiply, so even if someone copy-pastes it, it will be "safe".  It is somewhat unlikely that anyone would use a crypto_sign that takes an expanded form private key, but, I've seen code I wrote crop up in weirder places.
As a side note, thanks for the EdDSA verification semantics paper from a while back, it came in handy for a separate project.

I guess I'll reopen this since the issue is "addressed", sorry for the extra work.

Amazing job and a huge community thanks for your quick response and understanding; updated our the readme doc by putting horse25519 to the list of already fixed libs and pointing to @Yawning's PR.


NamedOperation parameter substitution allows execution of unauthorised Operations

See comment on #2090 - Whilst that issue fixes the addition of new named operations, there is a related issue where it is possible to substitute an operation using named operation parameters when executed the NamedOperation. Any operation that is substituted in this way is not subject to the authorisations check.
This could be resolved by having NamedOperation also implement the Operations interface (similar to the fix for #2090), and have the getOperations() method return any parameters that are instances of Operation. This way, the auth checking would be applied to any operations supplied by a user as a parameter.

I'll try this

We may want to consider operation chain scoring as well - see NamedOperationScoreResolver. Currently this looks up the named operation in the cache and returns the score associated with it. This should be updated so that any Operation returned by getOperations() is also considered and added to the score.

How do operation scores work? From my understanding the score is the authorisation level required to run an operation. A user needs an authorisation level equal to or greater than that of the operation? So when you say "added to the score" I need to set the score to the highest of all the operations?

Merged into develop.


Tab Keeps Closing

Tab keeps closing when it detects its out and tries to auto refresh. I filled out the red flags and put yes for test because I want to manually buy, I open the FE page on BB and then this issue occurs. Please help.

have you enabled pop ups for BestBuy.com and refreshed your browser ?

have you enabled pop ups for BestBuy.com and refreshed your browser ?

I literally remembered after posting the question that you mentioned to enable pop ups. Sorry about that, thank you for the bot <3


Issue with list.devices()

As pointed out by a user (#1), with the addition of I2C packages with a wide range of available addresses, this method becomes "buggy".
This method will be looked at, eventually:

It doesn't affect the primary functionality of this package as a wrapper to tie our I2C packages and I2C driver under a single package.
The logic for this method is complex and will take a while to find an appropriate solution.

Possible modification could be to list all possible devices for the address.

An ugly workaround:
pip3 uninstall sparkfun-ublox-gps

But at least the sample code from the README now works:
pi@raspberrypi:~ $ python3
Python 3.7.3 (default, Jul 25 2020, 13:03:44)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import qwiic
Error loading module `ublox_gps`: No module named 'ublox_gps'
>>> results = qwiic.list_devices()
>>> print(results)
[(16, 'Qwiic Titan GPS', 'QwiicTitanGps'), (91, 'Qwiic CCS811', 'QwiicCcs811'), (119, 'Qwiic BME280', 'QwiicBme280')]
>>>

@czanik I am going to hide your workaround, since it is more relevant to issue #8 and has caused some confusion... see https://github.com/sparkfun/Qwiic_Py/issues/12#issuecomment-770079723
However, I will copy over and note your workaround in issue #8.

@czanik I am going to hide your workaround, since it is more relevant to issue #8 and has caused some confusion... see https://github.com/sparkfun/Qwiic_Py/issues/12#issuecomment-770079723
However, I will copy over and note your workaround in issue #8.

Update: Currently, the list_devices() method is inoperable and there is an additional conflict from the Ublox GPS module's lack of listed addresses because it utilizes serial communication (https://github.com/sparkfun/Qwiic_Ublox_Gps_Py/issues/8).
If you are referencing this issue, please refrain from creating unnecessary duplicates.

Update: Currently, the list_devices() method is inoperable and there is an additional conflict from the Ublox GPS module's lack of listed addresses because it utilizes serial communication (https://github.com/sparkfun/Qwiic_Ublox_Gps_Py/issues/8).
If you are referencing this issue, please refrain from creating unnecessary duplicates.

This issue has been resolved with this commit: https://github.com/sparkfun/Qwiic_Py/commit/0b923c93b38bea51907b60ae4ed419f33bd5d2cc
Make sure that you are utilizing the package version 1.0.23 or later.
Closing


Update Scala.JS to 1.1.0

Getting
[info] Fast optimizing /home/travis/build/coursier/coursier/modules/core/js/target/scala-2.12/coursier-core-fastopt.js
[error] https://raw.githubusercontent.com/scala-js/scala-js/v1.1.0/javalanglib/src/main/scala/java/lang/System.scala(186:43:IdentityHashCode): Invalid expression tree
[error] There were 1 IR checking errors.
[error] (coreJS / Compile / fastOptJS) There were 1 IR checking errors.

Superseded by https://github.com/coursier/coursier/pull/1880.


bug: Collapsible ion-titles disappear from ion-header Toolbar

Bug Report
Ionic version:
[x] 5.1.0
Current behavior:
Large ion-titles nested in a collapsible ion-header (such as the example from the ion-toolbar ionic documentation) suddenly disappear after navigating to a sub-page and coming back from that page, leaving only the toolbar, slot=start buttons, and slot=end buttons.
Expected behavior:
Large ion-titles nested in a toolbar from a collapsible ion-header should still be visible even after navigating to another page and coming back from that page.
Steps to reproduce:
Set a collapsible header with a toolbar in a tab page following ionic documentation at "https://ionicframework.com/docs/api/toolbar" and the source code at "https://github.com/ionic-team/ionic-docs/blob/master/src/demos/api/toolbar/index.html".
Place a button-type div or ion-item content in the said page.
Build App via Capacitor with ionic cap open android to Android Studio.
Navigate to a sub-page and navigate back to parent page.
Large ion-titles from all tab-bar pages are not visible anymore.
Related code:
A sample application via GitHub:
https://github.com/roccosiffredi/Large_ion-icon_Bug
Sample code:
<ion-header mode=ios [translucent]="true">
  <ion-toolbar>
    <ion-title>
      Tab 1
    </ion-title>
  </ion-toolbar>
</ion-header>

<ion-content [fullscreen]="true">
  <ion-header mode=ios collapse="condense">
    <ion-toolbar>
      <ion-title size="large">Tab 1</ion-title>
    </ion-toolbar>
  </ion-header>

<ion-item type=button (click)="openContent()">
      <ion-avatar slot="start">

      </ion-avatar>
      <ion-label>

Yoda

Size matters not

Do or do not. There is no try...

      </ion-label>
    </ion-item>
  </ion-list>

</ion-content>

Other information:

Ionic info:

   Ionic CLI                     : 6.5.0 (C:\Users\Christopher\AppData\Roaming\npm\node_modules\@ionic\cli)
   Ionic Framework               : @ionic/angular 5.1.0
   @angular-devkit/build-angular : 0.803.26
   @angular-devkit/schematics    : 8.3.26
   @angular/cli                  : 8.3.26
   @ionic/angular-toolkit        : 2.2.0

Capacitor:

   Capacitor CLI   : 2.0.2
   @capacitor/core : 2.0.2

Utility:

   cordova-res : not installed
   @ionic/angular-toolkit        : 2.2.0

Capacitor:

   Capacitor CLI   : 2.0.2
   @capacitor/core : 2.0.2

Utility:

   cordova-res : not installed
   native-run  : 0.2.8

System:

   NodeJS : v12.9.1 (C:\Program Files\nodejs\node.exe)
   npm    : 6.10.2
   OS     : Windows 10

Issue still present

Thanks for the issue! This issue is being closed due to the lack of a code reproduction. If this is still an issue with the latest version of Ionic, please create a new issue and ensure the template is fully filled out.
Thank you for using Ionic!

Thanks for the reproduction. Can you please provide some additional steps to reproduce? I am unable to reproduce the issue using the steps provided.

IMPORTANT: This seems to be triggered when the fourth item in the ion-list is visited and after having refreshed the page.
Steps related to the specific reproduction provided are as follow:

Start the app using ionic serve
Scroll to activate collapsable header.
Title "Tab 1" is shrinked to smaller size but still apparent.
Open ion-items entitled "CLICK ME" that are nested in an ion-list.
This brings to content page entitled "extras".
Navigate back to Home Page.
The "Tab 1" is either shrinked to smaller size or is not apparent anymore.

Thanks for the follow up. I still am unable to reproduce the issue. What device/version are you seeing this issue on?

Hi, thanks for the quick reply!
I understand the problem now. The bug seems to happen when the device used is android but the modes for the headers are defined to mode=ios. This indeed does not happen to iOS devices when Inspect Element is used in Chrome. I thought it was possible to use this mode for material devices as well, if one happened to prefer iOS over material design.

It should work on Android devices in newer versions of Chrome. What version of Chrome are you testing this on?

If I could join the conversation with some potentially helpful insights. Looking at the example from the documentation: Collapsible Large Titles, running code included there
`

Click Me

Settings

Click Me

Settings

...
`
highlights the issues.
In Chrome, when switching between iOS and Android devices in device toolbar, if you add mode="ios" header is gone on Android - please refresh the page when you switch to Android.
Also, even without adding mode="ios" the code from the documentation, does not support both iOS and Android. <ion-searchbar></ion-searchbar> is not visible at all on Android, which might be considered a correct behaviour, however, there is no easy way that would allow you have collapsable search bar on iOS and also, at minimum visible on Android - does not even have to be collapsable.


Onboarding checklist: add report generation

Once https://github.com/impactasaurus/server/issues/176 and https://github.com/impactasaurus/server/issues/177 are complete, extend the onboarding checklist to include report generation.

Closed as duplicated by https://github.com/impactasaurus/app/issues/512


Suggestions: Add links to "Relative mouse movement and CoreWindow" in the See Also

A lot of people would come here looking for a way to track/ get mouse movement delta, which this article has nothing on it.
Adding a link to https://docs.microsoft.com/en-us/windows/uwp/gaming/relative-mouse-movement would help tremendously.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 6c6c666c-ca0d-adcb-945e-fdd430c933a1
Version Independent ID: e246ec70-8347-227f-2b1a-b126d3294cfb
Content: UIElement.PointerMoved Event (Windows.UI.Xaml) - UWP app developer
Content Source: https://cpubwin.visualstudio.com/DefaultCollection/windows-uwp/_git/winrt-api-build?path=%2fwinrt-api-build%2fwindows.ui.xaml.uielement.yml&version=GBlive&_a=contents
Product: windows
Git Login: wdg-dev-content
Microsoft Alias: wdg-dev-content

Thanks for the feedback, @Code-ScottLe. I've updated a number of related API topics with this link.


Copy-construct using initializer-list converts objects to arrays

I seem to have hit a bug in either this library / MSVC. Here's a minimal repro case:
struct MyObj {
 json mJson;
 explicit MyObj(json const& input) : mJson{input} {}
};

json j = json::object();
j["foo"] = "bar";
j["baz"] = "ba";
auto x = std::make_shared<MyObj>(j);

std::cout << obj->mJson.dump() << std::endl;

Output:
J: {"baz":"bah","foo":"bar"}
J: [{"baz":"bah","foo":"bar"}]

Interestingly, changing the initialiser from mJson{input} to mJson(input) produces the correct output:
J: {"baz":"bah","foo":"bar"}
J: {"baz":"bah","foo":"bar"}

I'm currently using 3.1.2 but confirmed it also reproduces on latest 3.4.0

Indeed, using braces when a initializer_list constructor is present will pick that constructor, this is a bit tricky.

This is expected behavior, I'm afraid.

Crikey thanks for the amazingly fast reply! I guess the solution is not to use braces for initialising members!

Looks like a Clang bug, since the output on Clang for both variants of the code is:
J: {"baz":"bah","foo":"bar"}
J: {"baz":"bah","foo":"bar"}

GCC behaves the same as MSVC in this case.
I'll file a bug over there. Thanks again for the fast replies!

Great! Please let us know about the progress of the filed bugs!

Clang developers pointed me to this: https://clang.llvm.org/cxx_dr_status.html#2137
Sounds like it’s an unresolved ambiguity in the c++ spec itself.