[BUG] Could not open '/home/localadmin/.crc/cache/crc_libvirt_4.5.14/crc.qcow2': Permission denied

General information

OS: Linux  - Ubuntu
$ lsb_release -a
Distributor ID:	Ubuntu
Description:	Ubuntu 18.04.5 LTS
Release:	18.04
Codename:	bionic
Hypervisor: KVM
Did you run crc setup before starting it (Yes/No)? Yes
Running CRC on:  VM

CRC version
# Put `crc version` output here

CodeReady Containers version: 1.17.0+99f5c87
OpenShift version: 4.5.14 (embedded in binary)
CRC status
# Put `crc status --log-level debug` output here

DEBU CodeReady Containers version: 1.17.0+99f5c87
DEBU OpenShift version: 4.5.14 (embedded in binary)
CRC VM:          Stopped
OpenShift:       Stopped
Disk Usage:      0B of 0B (Inside the CRC VM)
Cache Usage:     13.04GB
Cache Directory: /home/localadmin/.crc/cache
CRC config
# Put `crc config view` output here

No output
Host Operating System
# Put the output of `cat /etc/os-release` in case of Linux
NAME="Ubuntu"
VERSION="18.04.5 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.5 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
# put the output of `sw_vers` in case of Mac
# Put the output of `systeminfo` in case of Windows

Steps to reproduce

crc setup
crc start -p ./pull-secret.txt --log-level debug

Expected
crc start
Actual
$ crc start -p ./pull-secret.txt --log-level debug
DEBU CodeReady Containers version: 1.17.0+99f5c87
DEBU OpenShift version: 4.5.14 (embedded in binary)
DEBU Total memory of system is<PHONE_NUMBER>48 bytes
WARN A new version (1.18.0) has been published on https://cloud.redhat.com/openshift/install/crc/installer-provisioned
INFO Checking if oc binary is cached
DEBU Running '/home/localadmin/.crc/bin/oc/oc version --client'
DEBU Found oc version 4.5.14
DEBU oc binary already cached
INFO Checking if podman remote binary is cached
DEBU Currently podman remote is not supported
INFO Checking if goodhosts binary is cached
DEBU goodhost binary already cached
INFO Checking minimum RAM requirements
DEBU Total memory of system is<PHONE_NUMBER>48 bytes
INFO Checking if running as non-root
INFO Checking if Virtualization is enabled
DEBU Checking if the vmx/svm flags are present in /proc/cpuinfo
DEBU CPU virtualization flags are good
INFO Checking if KVM is enabled
DEBU Checking if /dev/kvm exists
DEBU /dev/kvm was found
INFO Checking if libvirt is installed
DEBU Checking if 'virsh' is available
DEBU 'virsh' was found in /usr/bin/virsh
INFO Checking if user is part of libvirt group
DEBU Checking if current user is part of the libvirt group
DEBU Running '/usr/bin/groups localadmin'
DEBU Current user is already in the libvirt group
INFO Checking if libvirt daemon is running
DEBU Checking if libvirtd service is running
DEBU Running 'systemctl status virtqemud.socket'
DEBU Command failed: exit status 4
DEBU stdout:
DEBU stderr: Unit virtqemud.socket could not be found.
DEBU virtqemud.socket is not running
DEBU Running 'systemctl status libvirtd.socket'
DEBU Command failed: exit status 4
DEBU stdout:
DEBU stderr: Unit libvirtd.socket could not be found.
DEBU libvirtd.socket is not running
DEBU Running 'systemctl status virtqemud.service'
DEBU Command failed: exit status 4
DEBU stdout:
DEBU stderr: Unit virtqemud.service could not be found.
DEBU virtqemud.service is not running
DEBU Running 'systemctl status libvirtd.service'
DEBU libvirtd.service is running
INFO Checking if a supported libvirt version is installed
DEBU Checking if libvirt version is >=3.4.0
DEBU Running 'virsh -v'
INFO Checking if crc-driver-libvirt is installed
DEBU Checking if crc-driver-libvirt is installed
DEBU Running '/home/localadmin/.crc/bin/crc-driver-libvirt version'
DEBU Found crc-driver-libvirt version 0.12.10
DEBU crc-driver-libvirt is already installed
INFO Checking if libvirt 'crc' network is available
DEBU Checking if libvirt 'crc' network exists
DEBU Running 'virsh --connect qemu:///system net-info crc'
DEBU Checking if libvirt 'crc' definition is up to date
DEBU Running 'virsh --connect qemu:///system net-dumpxml --inactive crc'
DEBU libvirt 'crc' network has the expected value
INFO Checking if libvirt 'crc' network is active
DEBU Checking if libvirt 'crc' network is active
DEBU Running 'virsh --connect qemu:///system net-info crc'
DEBU libvirt 'crc' network is already active
INFO Checking if NetworkManager is installed
DEBU Checking if 'nmcli' is available
DEBU 'nmcli' was found in /usr/bin/nmcli
INFO Checking if NetworkManager service is running
DEBU Checking if NetworkManager.service is running
DEBU Running 'systemctl status NetworkManager'
DEBU NetworkManager.service is already running
INFO Checking if /etc/NetworkManager/conf.d/crc-nm-dnsmasq.conf exists
DEBU Checking NetworkManager configuration
DEBU NetworkManager configuration is good
INFO Checking if /etc/NetworkManager/dnsmasq.d/crc.conf exists
DEBU Checking dnsmasq configuration
DEBU dnsmasq configuration is good
INFO Loading bundle: crc_libvirt_4.5.14.crcbundle ...
INFO Checking size of the disk image /home/localadmin/.crc/cache/crc_libvirt_4.5.14/crc.qcow2 ...
INFO Creating CodeReady Containers VM for OpenShift 4.5.14...
ERRO Error creating machine: Error creating the VM: Error creating machine: Error in driver during machine creation: virError(Code=1, Domain=10, Message='internal error: process exited while connecting to monitor: 2020-11-06T18:46:51.523213Z qemu-system-x86_64: -drive file=/home/localadmin/.crc/machines/crc/crc.qcow2,format=qcow2,if=none,id=drive-virtio-disk0,aio=threads: Could not open backing file: Could not open '/home/localadmin/.crc/cache/crc_libvirt_4.5.14/crc.qcow2': Permission denied')
Error creating machine: Error creating the VM: Error creating machine: Error in driver during machine creation: virError(Code=1, Domain=10, Message='internal error: process exited while connecting to monitor: 2020-11-06T18:46:51.523213Z qemu-system-x86_64: -drive file=/home/localadmin/.crc/machines/crc/crc.qcow2,format=qcow2,if=none,id=drive-virtio-disk0,aio=threads: Could not open backing file: Could not open '/home/localadmin/.crc/cache/crc_libvirt_4.5.14/crc.qcow2': Permission denied')
Logs
Before gather the logs try following if that fix your issue
$ crc delete -f
$ crc cleanup
$ crc setup
$ crc start --log-level debug

Please consider posting the output of crc start --log-level debug  on http://gist.github.com/ and post the link in the issue.
Llink to the file here: https://gist.github.com/tpdanh/03345cc3bb6cbe4dc6a7f9feb3f38e5f

Also observing on latest: 1.18.0-4.6.1 with Ubuntu 18.04.5 LTS

Yes it is known. Please take a look at https://github.com/code-ready/crc/issues/1578
A fix should land in the next release for this.


Cannot save taken picture on Android Q

Expected Behavior
After taking a picture see the picture on the gallery list
Actual Behavior
After taking a picture, app back to gallery list, but the new picture is missing
Steps to Reproduce the Problem

Downloaded your sample app
Nothing changes simple run the sample
Click "Pick Image"
Click icon "Take Picture" and take the picture, app backs to gallery
App shows the gallery and there is no new picture

We have this situation also on in our app, but in the sample app is the same situation.
Specifications

Image Picker Version: 2.3.2
Android OS: Android 11
Phone: Pixel 3a

it is already resolved in PR #290, available in v2.4 https://github.com/esafirm/android-image-picker/releases/tag/2.4.0


Incorrect video feed for UVC devices in Chrome on Linux and ChromeOS

Hi it seems that UVC attached devices such as usb webcams or in my case hdmi->usb
dongles are not even working properly in Chrome, both on a couple of Chromebooks I have here (pixelbook on beta channel v68) and on a ubuntu 16.04 laptop running Chrome 69, though the devices are accessible just fine via native linux apps (eg. OBS) in ubuntu on same laptop. I can't try OBS on the Pixelbook as the linux container functionality there does not yet supported access to usb devies within the containers.
Interesting thing is that in Chrome on Ubuntu and on the Pixelbook, using the live demo for WBS the UVC device does show up in the list of available audio/video sources, but if selected, the video feed that is displayed is actually just for the builtin webcam not from the UVC source.
I suspect this is a bug in Chrome, but wanted to raise this here in case this is due to a bug in WBS,  before I went ahead and filed bugs reports in the Chromium bugtracker.

Can you verify that the problem device isn't present in the array printed by this code:
window.navigator.mediaDevices.enumerateDevices().then(devices => console.log(devices))`

Sorry, is the issue that you can see the device in the sources list, but the feed is from the default camera?

Yes, sorry I didn't make that more clear. That's exactly it, I have 2 UVC devices, they both show up in the sources list but selecting them just displays the built-in webcams actual video content.

Alright, let's make sure WBS isn't just grabbing the wrong stream. Get the device ID of the UVC device with the above snippet, and plug it into here (with dev console):
DEVICE = '78da83489276ec70f0068cba07fa4b6d797afd8b131017f72f11cb4308980ef8';  //<-- deviceId

window.navigator.getUserMedia({audio:{exact:DEVICE}, video:{exact:DEVICE}}, (stream) => {
  var vid = document.createElement('video');
  vid.srcObject = stream
  vid.controls = true
  document.body.appendChild(vid)
}, (err) => throw err)

If the created video element doesn't show your UVC stream, we know it's just a logic bug.

Thanks. I don't have access to the devices at the moment so I'll try this once I have them again tomorrow.


Not able to launch a default kernel

Hi All,
I'm programatically creating the sagemaker notebook instance, and wanted that any new notebook should open by default with a python3 kernel, however when I open up a notebook Could not find a kernel matching Python 3 , occurs giving a prompt to chose from the available kernels.
I searched online and tried out making additions to the jupyter_notebook_config.py in lifecycle scripts inside /home/ec2-user/.jupyter as
c.MultiKernelManager.default_kernel_name = 'python3', also tried
c.MultiKernelManager.default_kernel_name = 'conda-env-python3-py'

Noone of which seem to work.
How to solve this i.e. instead of asking for a prompt, directly loading the notebook with the said kernal. Also I noticed that this is particularly for the newly created instances, an instance that is stopped and restarted doesn't face this. Peculiar?
Thanks

Just add
sudo -u ec2-user -i <<'EOF'

python -m ipykernel install --user --name python3 --display-name python3

EOF

to the lifecycle start script. It'll take the default python environment and add it as a new kernel called python3 (which is what jupyter is looking for by default).

Hi @sauravjoshi - your original comment is correct that you should modify the Jupyter config for your default kernel, however, you likely need to restart the Jupyter service itself, see https://github.com/aws-samples/amazon-sagemaker-notebook-instance-lifecycle-config-samples/blob/master/scripts/set-env-variable/on-start.sh#L27 for example.
Let us know if this resolves your issue, or if you still have an issue. If we don't hear back soon, I will close this issue for inactivity. Thanks!

Thanks for the comments.


Input - really slow mouse movements not detected downwards or rightwards

Hi.
Moving really slowly (like 0.3cm/sec) results in the cursor not moving at all.

Only occurs when moving downwards or rightwards.
Does not occur when moving upwards or leftwards.
Occurs for the touchpad and the mouse.
Does not occur under libinput on X11

Note: on the touchpad I start from the middle to avoid any of the palm detection (which triggers if you start from top left or top right)
I confirmed I am using libinput on X using
arch:~$ grep -e "Using input driver " ~/.local/share/xorg/Xorg.0.log
[ 25022.988] (II) Using input driver 'libinput' for 'USB Optical Mouse'
[ 25023.031] (II) Using input driver 'libinput' for 'bcm5974'

My sway settings:
input * {
    accel_profile flat
    tap enabled
    scroll_method two_finger
    dwt enabled
    natural_scroll enabled
}

My X11 settings:
Section "InputClass"
    Identifier "libinput touchpad catchall"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*"
    Driver "libinput"

    Option "Tapping" "true"
    Option "NaturalScrolling" "true"
    Option "DisableWhileTyping" "true"
    Option "ScrollMethod" "twofinger"

    Option "AccelProfile" "flat"
EndSection

Version info:
arch:~$ pacman -Qi wlc-git
Version         : 0.0.5-1
arch:~$pacman -Qi sway-git
Version         : r1863.49afdb4-1
arch:~$ sway -v
sway version 0.9-38-g49afdb4 (2016-08-10, branch "master")

Thanks.

can you check if this solves your issue?
https://github.com/Cloudef/wlc/issues/166#issuecomment-237883598
@SirCmpwn maybe this could be added in the faq since a few people had this problem

Please report to wlc, and it's probably related to the issue @psgarsenal linked.


maint: additional boundary condition for posix.signal.signal

It took me quite some time to understand, that installed signal handlers are not called immediately. :-)
I was using a Lua-Wrapper around libpcap which exposes the pcap_loop function which is blocking. In order to unblock and return from it, one has to call pcap_breakloop which is typically performed from within a signal handler. Now that the pcap_loop call is blocking, the installed hook (via lua_sethook) never gets executed.

This is an excellent insight and update.  Approved and merged, thank you!


Make table full width when mouse hovered

This PR relates to https://github.com/cloudflare/cloudflare-docs-engine/pull/379.
Since https://github.com/cloudflare/cloudflare-docs-engine/pull/379 has been merged, this PR updates cloudflare-docs-engine with the latest version

By merging this PR, does that also merge in the changes from https://github.com/cloudflare/cloudflare-docs/pull/3231?

@kodster28 Yes, this PR contains changes from #3231


Fix useSignTypedData docs

Why:

Currently the code example for useSignTypedData is incorrect, so on the docs site it doesn't work.

How:

Add StarkNetDomain types to the signed object
Use the hook after the message const is initialized
Add info about EIP712

Thanks, must have changed since last time we updated it!


Create dbt converter for Airbyte Shopify source connector

The goal of this task is to ensure the Airbyte Shopify connector output can be used to run Fivetran's dbt analytical model.
Definition of Done:

Create a pull request that adds new tables or views, enabling the execution of Fiventran's dbt with Airbyte output data.
Update the documentation inside the connector folder to explain how to configure the user dbt package to run the analytical model.

Resources:

Check example of how it was done for Zendesk Support connector

Hey @marcosmarxm , Can you assign me this one?

@avirajsingh7 any updates if not I'm gonna unassigned you.

@marcosmarxm can u please assign this to me if the issue is available

@avirajsingh7 do you have an update? I know this connector there are a lot of to be done but need to update about the status.

@marcosmarxm not done much of work, you can assign this to @bala-ceg

@bala-ceg all yours.

@marcosmarxm, Please review the step 1

Fivetran
Airbyte

shopify__customer_cohorts
❌ it doesn't exist

shopify__customers
Customers

shopify__customer_email_cohorts
❌ it doesn't exist

shopify__customer_emails
❌ it doesn't exist

shopify__orders
Orders

shopify__order_lines
❌ it doesn't exist

shopify__products
Products

shopify__transactions
Transcations

shopify__daily_shop
❌ it doesn't exist

shopify__discounts
Discount Codes

shopify__inventory_levels
Inventory Levels

shopify__line_item_enhanced
❌ it doesn't exist

@bala-ceg can you check if the customer table has an object or array called cohors/emails?

yes,@marcosmarxm. customer table has emails

No can you confirm all missing tables have objects in the parent table?

Yes i have checked, those missing tables are not in any of the airbyte streams.


Provide setting for slidingExpiration time.

Currently this appears to use the DistributedCache default slidingExpiration time (20 minutes).  If this expires in the store, the application breaks.  Would be nice to configure this for a much longer expiration without having to change the store default.
e.g.
{
DataProtectionSlidingExpirationSeconds: 31536000 // 1 year
}

I can't reproduce it.

I'm not sure what you mean you can't reproduce it?   This isn't a bug - it's a lack of a feature.   The library doesn't provide a way to configure the desired TTL for DataProtection cache items... I don't believe it attempts to set the TTL anywhere either.  It is just using the default value for DistributedCache (1200 seconds) - which is inappropriate considering if the DataProtetion cache item expires it will break everything issued against those keys.
If you set up SQL DistributedCache provider, or Redis Provider in conjunction with this library it is easy to observe the TTL.


ISPN-5402 Group entry-related client events under a single interface

https://issues.jboss.org/browse/ISPN-5402

Not so sure this is so trivial, I might be wrong but won't this create binary compatibilities with clients which have compiled their applications with 7.1 and run with 7.2?

Also, I'm not sure there's a real need to do this at all. The way it is right now it works just fine. What's the problem you are trying to solve?

It's related to camel-infinispan work. I have a method which handles all event types and I'm trying to avoid casting to the more specific CacheEntryEvent{Created,Modified,Removed} types to obtain the entry key but probably it will break in the case you've mentioned.

Closing. I'll just use multiple casts.


Fix server timeout caused by a packet loss at Handshake

Update stream.send.max_data when handshake is complete.

add new get_max_data() for accessing send.max_data
change update_max_data()

#65

BTW this build failure is due to a change in rustfmt. Not that it matter too much, but we can squelch it with a a 1-liner https://github.com/cloudflare/quiche/pull/64/commits/591feb4233eb2d3f2529a93704f9b6c74e311527

Also, I fixed the rustfmt config in master, so please rebase to resolve the build failures.

The fundamental problem here is that we process STREAM frames as well as allow stream writes (including creating stream state) before the handshake is complete, which is probably wrong, so maybe we should just prevent that instead?

That was one of my initial thoughts but I figured it was by done on purpose to avoid blocking request processing while waiting for Handshake retransmits.
As I get more familiar with this part of the library, it seems weirdly inconsistent that we would start doing  things like request processing, while simultaneously delaying the read of the peer's transport params until handshake_complete.

The fundamental problem here is that we process STREAM frames as well as allow stream writes (including creating stream state) before the handshake is complete, which is probably wrong, so maybe we should just prevent that instead?

That was one of my initial thoughts but I figured it was by done on purpose to avoid blocking request processing while waiting for Handshake retransmits.
As I get more familiar with this part of the library, it seems weirdly inconsistent that we would start doing things like request processing, while simultaneously delaying the read of the peer's transport params until handshake_complete.

While looking at it I thought the similar thing but for now I think it is ok/right to delay stream write until handshake is done. On the other hand we may reject stream creation until handshake is complete but it may mean a packet loss from peer side, causing retransmit.

In any case we need a test for this case, can you look into adding one @junhochoi ?

Test case added at 7fe2f59

@LPardue yes, this was originally intended to allow support for receiving 0-RTT data though it hasn't been implemented yet. But note that applications can already enforce not reading data (e.g. process HTTP requests) before connection is established (and indeed we do in our applications), but the problem is that STREAM frames are still processed by the library, so stream state is initialized anyway.
@junhochoi I'm thinking maybe we could still process (decrypt and parse) a limited number of short header ("Application") packets before handshake is complete, but instead of processing the frames immediately they could be buffered and processed when the handshake is completed. This way we wouldn't need to drop packets, unless we receive more than a certain amount (5? 10? To avoid potential DoS).

I made 188588cdad2b6b65a31ed1cc98e3040444c8490b which should make it easier to implement the frame buffering I suggested in my previous comment, if someone wants to try.

@junhochoi I'm thinking maybe we could still process (decrypt and parse) a limited number of short header ("Application") packets before handshake is complete, but instead of processing the frames immediately they could be buffered and processed when the handshake is completed. This way we wouldn't need to drop packets, unless we receive more than a certain amount (5? 10? To avoid potential DoS).

Sounds like a good idea. e.g. client is doing POST with a big file. up to initcwnd (10?) will be acceptable. I think QUIC transport draft has something similar.

I looked into implementing the frame buffering thing and made https://github.com/cloudflare/quiche/pull/68. Note that this still allows applications to send data before the handshake is completed, but that can be implemnted separately (and shouldn't be a problem right now for the HTTP/3 use-case).

I looked into implementing the frame buffering thing and made #68. Note that this still allows applications to send data before the handshake is completed, but that can be implemnted separately (and shouldn't be a problem right now for the HTTP/3 use-case).

Thanks. I think the major difference here is whether to allow Application read the packets before Handshake completes -- #66 branch allows and #68 branch doesn't allow (instead it buffers packets). Good thing of #66 is during recovering lost Handshake packet server can read request stream, while #68 waits until Handshake completes and let Application read packets afterwards. (so #66 can be a little faster when origin latency is higher). Another aspect is whether to allow Application read packets (stream data) before Handshake fully completes can be a security concern. I think this can be acceptable because until Handshake fully completes server cannot send response back (write is blocked) and if nothing recovered this connection will be closed by timed out eventually.
To limit reading packets while Handshake, I added b008b0f from your #68 branch, basically without buffering, so now server accepts no more than initcwnd packets before Handshake complete.
PTAL @ghedo. Probably we need to choose between one of them.

#68 provides more compliant solution. Closing this one.


Work around swap_bytes on WebAssembly

Unfortunately neither u128 nor swap_bytes are supported directly by WebAssembly. So both implementations of folded_multiply are very slow.
I think an algorithm that takes both u64 values, turns them into a v128 vector and then does a bunch of swizzling and vector multiplications and co. probably would be the much faster solution. Here a Godbolt link with a little sketch:
https://rust.godbolt.org/z/jGGhYjGs8
I don't have enough knowledge about how to verify the quality, so I decided to not directly open a PR and instead first discuss the feasibility.

Do you have a good way to benchmark this? If so open a PR for that, and I'll play with it to make sure that quality is there.

I ran across this and thought I might be able to offer some small insight, but in the end not a huge amount. I personally use wasmtime for local benchmarking but I'm biased because I work on it too. Using that what I did was to put this in ~/.cargo/config.toml:
[target.wasm32-wasip1]
runner = 'wasmtime --dir .'

then I ran:
$ cargo bench --bench ahash -- fallback --save-baseline native
...
$ cargo bench --bench ahash --target wasm32-wasip1 -- fallback --baseline native

and got:

Output of cargo bench
Gnuplot not found, using plotters backend
Benchmarking fallbackhash/u8
Benchmarking fallbackhash/u8: Warming up for 3.0000 s
Benchmarking fallbackhash/u8: Collecting 100 samples in estimated 5.0000 s (683M iterations)
Benchmarking fallbackhash/u8: Analyzing
fallbackhash/u8         time:   [1.1904 ns 1.1941 ns 1.1982 ns]
                        change: [+170.14% +170.58% +171.08%] (p = 0.00 < 0.05)
                        Performance has regressed.
...
Benchmarking fallbackhash/u16
Benchmarking fallbackhash/u16: Warming up for 3.0000 s
Benchmarking fallbackhash/u16: Collecting 100 samples in estimated 5.0000 s (658M iterations)
Benchmarking fallbackhash/u16: Analyzing
fallbackhash/u16        time:   [1.5567 ns 1.5578 ns 1.5590 ns]
                        change: [+209.63% +210.00% +210.36%] (p = 0.00 < 0.05)
                        Performance has regressed.
...
Benchmarking fallbackhash/u32
Benchmarking fallbackhash/u32: Warming up for 3.0000 s
Benchmarking fallbackhash/u32: Collecting 100 samples in estimated 5.0000 s (587M iterations)
Benchmarking fallbackhash/u32: Analyzing
fallbackhash/u32        time:   [2.4698 ns 2.4707 ns 2.4720 ns]
                        change: [+389.02% +389.89% +390.66%] (p = 0.00 < 0.05)
                        Performance has regressed.
...
Benchmarking fallbackhash/u64
Benchmarking fallbackhash/u64: Warming up for 3.0000 s
Benchmarking fallbackhash/u64: Collecting 100 samples in estimated 5.0000 s (396M iterations)
Benchmarking fallbackhash/u64: Analyzing
fallbackhash/u64        time:   [1.5749 ns 1.5755 ns 1.5763 ns]
                        change: [+210.19% +211.21% +212.21%] (p = 0.00 < 0.05)
                        Performance has regressed.
...
Benchmarking fallbackhash/u128
Benchmarking fallbackhash/u128: Warming up for 3.0000 s
Benchmarking fallbackhash/u128: Collecting 100 samples in estimated 5.0001 s (205M iterations)
Benchmarking fallbackhash/u128: Analyzing
fallbackhash/u128       time:   [1.9035 ns 1.9046 ns 1.9060 ns]
                        change: [+206.84% +207.75% +208.60%] (p = 0.00 < 0.05)
                        Performance has regressed.
...
Benchmarking fallbackhash/strings
Benchmarking fallbackhash/strings: Warming up for 3.0000 s
Benchmarking fallbackhash/strings: Collecting 100 samples in estimated 5.0003 s (37M iterations)
Benchmarking fallbackhash/strings: Analyzing
fallbackhash/strings    time:   [134.09 ns 134.11 ns 134.14 ns]
                        change: [+75.955% +76.203% +76.449%] (p = 0.00 < 0.05)
                        Performance has regressed.
...

showing that, as expected, performance isn't as good on wasm likely due to the lack of specialized instructions. I decided to take a look at a hot loop by profiling with perf with Wasmtime and ran:
$ perf record -k mono wasmtime --profile jitdump --dir . target/wasm32-wasip1/release/deps/ahash-c5fdbc98849e7f48.wasm --bench --baseline native 'fallback.*str' --profile-time 10

Using perf to record JIT-generated code is "weird" so the report command looks like:
$ perf inject --jit -i perf.data -o perf.jit-data && perf report -i perf.jit-data

which showed 99% of runtime spent in this loop
       │441:┌─→mov     %eax,%ecx                                                                                ▒
       │    │  mov     0x0(%r13,%rcx,1),%rcx                                                                                ▒
       │    │  lea     0x8(%rax),%r11d                                                                                ▒
  8.97 │    │  mov     0x0(%r13,%r11,1),%r15                                                                                ▒
       │    │  mov     $0xfffffff0,%r11d                                                                                ▒
  0.00 │    │  add     %r11d,%r8d                                                                                ▒
       │    │  add     $0x10,%eax                                                                                ▒
  9.19 │    │  xor     criterion::bencher::Bencher<M,%rcx                                                                                ▒
       │    │  mov     %rcx,%r11                                                                                ▒
 10.43 │    │  bswap   %r11                                                                                ▒
       │    │  mov     %r15,%r14                                                                                ▒
       │    │  xor     criterion::bencher::Bencher<M,%r14                                                                                ▒
  8.76 │    │  imul    %r14,%r11                                                                                ▒
       │    │  bswap   %r11                                                                                ▒
       │    │  movabs  $0x452821e638d01376,%r14                                                                                ▒
  7.50 │    │  add     %r14,%r10                                                                                ▒
       │    │  xor     %r10,%r11                                                                                ▒
       │    │  xor     criterion::bencher::Bencher<M,%r15                                                                                ▒
  4.66 │    │  bswap   %r15                                                                                ▒
       │    │  imul    %rcx,%r15                                                                                ▒
       │    │  xor     %r15,%r11                                                                                ▒
  7.76 │    │  rorx    $0x29,%r11,%r10                                                                                ▒
       │    ├──cmp     $0x10,%r8d                                                                                ▒
  8.22 │    └──ja      441                                                                                ▒

which, given the three byte swaps, I believe is this function, the one in question here. Now interestingly Wasmtime is generating bswap instructions here despite WebAssembly not having a byte swap instruction. This is because Wasmtime specifically has pattern matching for LLVM-generated sequences of byte swaps to turn them into native bswap instructions. That means that this may not be a great baseline for WebAssembly engines that don't have this optimization.
Nevertheless if I replace folded_multiple with the version from @CryZe's Godbolt and recompile with RUSTFLAGS=-Ctarget-feature=+simd128 and run this in Wasmtime I get:
Gnuplot not found, using plotters backend
Benchmarking fallbackhash/strings
Benchmarking fallbackhash/strings: Warming up for 3.0000 s
Benchmarking fallbackhash/strings: Collecting 100 samples in estimated 5.0000 s (35M iterations)
Benchmarking fallbackhash/strings: Analyzing
fallbackhash/strings    time:   [142.70 ns 142.74 ns 142.79 ns]
                        change: [+87.155% +87.389% +87.577%] (p = 0.00 < 0.05)
                        Performance has regressed.

(it was 70-ish% before)
and the hot loop is now:
       │3eb:┌─→mov      %eax,%edx                                                                                ▒
       │    │  mov      (%r14,%rdx,1),%rdx                                                                                ▒
  0.55 │    │  lea      0x8(%rax),%r8d                                                                                ▒
  5.86 │    │  mov      (%r14,%r8,1),%r12                                                                                ▒
       │    │  mov      $0xfffffff0,%r8d                                                                                ▒
       │    │  add      %r8d,%esi                                                                                ▒
  0.60 │    │  add      $0x10,%eax                                                                                ▒
  6.26 │    │  xor      criterion::bencher::Bencher<M,%rdx                                                                                ▒
  0.62 │    │  xor      criterion::bencher::Bencher<M,%r12                                                                                ▒
  6.63 │    │  vmovq    %rdx,%xmm1                                                                                ▒
       │    │  vpinsrq  $0x1,%r12,%xmm1,%xmm1                                                                                ▒
  0.58 │    │  vpaddusb 0x31a(%rip),%xmm1,%xmm2        # 7c0 <criterion::bencher::Bencher<M>::iter::h5aab6de6fe2515cc+0x740>                                                                                ▒
  7.22 │    │  vpshufb  %xmm2,%xmm6,%xmm2                                                                                ▒
  0.00 │    │  vpsrlq   $0x20,%xmm1,%xmm3                                                                                ▒
       │    │  vpmuludq %xmm2,%xmm3,%xmm3                                                                                ▒
  0.58 │    │  vpsrlq   $0x20,%xmm2,%xmm4                                                                                ▒
  7.36 │    │  vpmuludq %xmm4,%xmm1,%xmm4                                                                                ▒
       │    │  vpaddq   %xmm4,%xmm3,%xmm3                                                                                ▒
       │    │  vpsllq   $0x20,%xmm3,%xmm3                                                                                ▒
  0.61 │    │  vpmuludq %xmm2,%xmm1,%xmm1                                                                                ▒
  8.34 │    │  vpaddq   %xmm3,%xmm1,%xmm1                                                                                ▒
  0.00 │    │  vpextrq  $0x1,%xmm1,%rdx                                                                                ▒
  0.56 │    │  movabs   $0x452821e638d01376,%r8                                                                                ◆
  7.56 │    │  add      %r8,%rcx                                                                                ▒
       │    │  xor      %rcx,%rdx                                                                                ▒
  0.57 │    │  vpextrq  $0x0,%xmm1,%rcx                                                                                ▒
  6.34 │    │  xor      %rcx,%rdx                                                                                ▒
       │    │  rorx     $0x29,%rdx,%rcx                                                                                ▒
       │    ├──cmp      $0x10,%esi                                                                                ▒
  4.45 │    └──ja       3eb                                                                                ▒

where this shows that vector instructions are used and geing generated. On x64 though I don't think the lowerings are that great, notably vpaddusb I think is a fallback when a better shuffle otherwise doesn't match.
Sorry if that was a bit more information than desired, but this is at least an example of benchmarking/comparison in a wasm runtime. Benchmarking in a browser-based runtime I think would be more difficult since you'd have to set up a runner/WASI implementation in JS. Those exist, but will require setup.

Also feel free to file this in the "too much information" category but the compiler explorer gist here uses u8x16_swizzle and that's what vpaddusb comes from and switching to i8x16_relaxed_swizzle (not in stable Rust yet) gets the native-to-wasm slowdown down to +78.206% for this one benchmark, which is much closer to the original version as-is in tree today as +76.203%, so I think simd could still be suitable to use here.


Use Paper's kick function for kick command if using Paper.

This lets formatting like colors and translation in the kick message.
Changes:

update to autoExecute.
remove the targets, target, and players prefixes in favor of no prefix.

Requested by Darwin

Done


Messages not going out.

Trying to get serilog to sink to Microsoft Teams, but nothing i'm doing is working. any ideas?
Writing to console still works fine.
I know the webhook endpoint works as i tested it using curl.
https://gist.github.com/clstr/85367e0a2130ba20b105a646569a63e5

Hum, I currently do not have access to a test teams room but I can see messages are being sent from the code you provided.
How was the teams room webhook setup?

@nelsonroliveira There isn't much in the of setting up a channel with a webhook, it is literally a 1 click process and it gives you the webhook address automatically.
https://docs.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook

Could you try with this plugin instead?

Sorry for the long delay. I have also no idea here. Whenever I tested it, it worked with the web hook...

@clstr Some news here? Is this fixed already?

@SeppPenner Sorry, I fell ill and never had the chance to take a look again. Maybe, I should close and try it again later?

@SeppPenner Sorry, I fell ill and never had the chance to take a look again. Maybe, I should close and try it again later?

Oh, no problem. Get well soon :) And if the issue occurs again, just create another issue or re-open this issue.


Add note on layer names

Provide additional clarification on layer names for those who may be coming from a DL background

Merging based on review through external channel


Add missing hints for org.thymeleaf.expression.Temporals

I will work on this.

Fixed by #96.

I apologize for leaving a comment on a long ago issue, but I'm really confused
This issue add hints for org.thymeleaf.expression.Temporals, but there are still a few express objects in the same package that have not been added:
org.thymeleaf.expression.Conversions
org.thymeleaf.expression.Lists

Is this done on purpose or simply missed?


new route module replacement request

hi, here is a high performanced route module, github url is https://github.com/julienschmidt/httprouter
there is a web framework which use this module make quite better performace
here is the discription url
https://github.com/gin-gonic
Gin is a HTTP web framework written in Go (Golang).
It features a Martini-like API with much better performance -- up to 40 times faster.
If you need smashing performance, get yourself some Gin.

routes config in file seems not not be convinient……
if revel can supply a option to use httproute, that will be much better
thanks very much!

no,route config in file is more convinence I think.

ok, thank you


Fix conditional in Module.named_parameters() to prevent infinite recursion

The problem is illustrated as follows:
For a module such as the following I added to the tests:
class DuplicateModule(Module):
    def __init__(self):
        super().__init__()
        self.p0 = dspy.Predict("question -> answer")
        self.p1 = self.p0

Running its named_parameters() method would result in infinite recursion. This is due to that Predict is both a Module and a Parameter. Thus, according to the original arrangement of the if statements, suppose that p0 is already visited. Then, by having the Predict instance already a member of the visited set and that it is a Module, the second condition would still execute when p1 is visited.
I originally discovered this problem when using assert_transform_module(), which calls Module.named_parameters() at some point.

Wonderful catch, thank you @theta-lin !!


Create mission scripts for standarized test cases

It would be nice to have mission scripts that execute

A four corner test
Drive though gate
etc...

This would allow for a more streamlined testing process and data collection about the system.

#133 I created a four corner mission. Was it something like this you had in mind?
If we want to test driving through a gate, I think we could use simulator_state_machine.py as it is now. Any other test missions I should implement?

#133 I created a four corner mission. Was it something like this you had in mind?
If we want to test driving through a gate, I think we could use simulator_state_machine.py as it is now. Any other test missions I should implement?


ValueError: Client secrets must be for a web or installed app.

if __name__ == '__main__':
     main()

         else:
             flow = InstalledAppFlow.from_client_secrets_file(
                 'credentials.json', SCOPES)
             creds = flow.run_local_server()

             client_config = json.load(json_file)

         return cls.from_client_config(client_config, scopes=scopes, **kwargs)

     @property

/anaconda/envs/py35/lib/python3.5/site-packages/google_auth_oauthlib/flow.py in from_client_config(cls, client_config, scopes, **kwargs)
         else:
             raise ValueError(
                 'Client secrets must be for a web or installed app.')

         session, client_config = (

Specifications

Python version (python --3.5)
OS (Linux)

As the error indicates, you likely have the wrong type of client or content in credentials.json. Please use the button in the quickstart to download the correct credentials.

Please use the button in the quick start to download
truly helpful...

for me, I had accidentally on purpose lopped of the "web" key in my json such that the credentials weren't nested under "web"
looked at the source code here, it will throw this error if a key of "web" or "installed" isn't present


info.mukel.telegrambot4s.api.TelegramApiException: Not Found

Hi!
I'm making a request with SendMessage, but info.mukel.telegrambot4s.api.TelegramApiException: Not Found
I looked into the code of info.mukel.telegrambot4s.methods.ApiRequest[R] and found this:
def methodName: String = getClass.getSimpleName.reverse.dropWhile(_ == '$').reverse
but this code return SendMessage, expected sendMessage (in Telegram API).

The Telegram Bot API is case-insensitive:
Maybe the chat_id is not valid anymore. How are you sending the SendMessage request?


Update UG

Fix formatting issues
Fix typos/misleading commands

Fix some Issues (From PE-D) regarding UG

Codecov Report
Base: 65.76% // Head: 65.76% // No change to project coverage :thumbsup:

Coverage data is based on head (b2f6442) compared to base (0ee912a).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff            @@
##             master     #149   +/-   ##
=========================================
  Coverage     65.76%   65.76%
  Complexity      627      627
=========================================
  Files           101      101
  Lines          2337     2337
  Branches        289      289
=========================================
  Hits           1537     1537
  Misses          692      692
  Partials        108      108

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


connection with api.skype.com is unencrypted

"http://api.skype.com" in WebConnector.java most probably should be "https://api.skype.com". Currently, login and password are being sent in clear text.

Thanks! Fixed.


Gerrit doesn't check for CLAs

On github every PR had an automatic check for CLA. The same thing should happen on Gerrit, so that we can more easily accept external patches through Gerrit.

Created b/69162736.

Gerrit should now require a signed CLA when uploading. The CQ should also reject patches without a signed CLA. I will do some testing and then close this issue.


fix: apply polymorphic to Dataset for serde

What this PR changes/adds
Fixes serialization/deserialization of Catalog by applying Polymorphic to Dataset
Why it does that
bug fix

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 74.88%. Comparing base (7f20ba5) to head (22777d7).
Report is 357 commits behind head on main.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4362      +/-   ##
==========================================
+ Coverage   71.74%   74.88%   +3.14%
==========================================
  Files         919     1063     +144
  Lines       18457    21323    +2866
  Branches     1037     1169     +132
==========================================
+ Hits        13242    15968    +2726
- Misses       4756     4832      +76
- Partials      459      523      +64

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Add component for graph

Generate a graph based on their desired parameters such as the number of vertices, edges, and their respective weights. The user can specify whether the graph is directed or undirected, and whether it contains cycles or is a tree.

Implemented the solution and tested it successfully. Closing the issue.


EdgeOS - hangs

Been trying the ctrld cmdline on EdgeOs but it crashes/hangs and cant really see any output why.
Service is running and has to be restarted.
During setup you'll also have to have your edgerouter using Ctrld DNS servers otherwise it will file if systemdns uses i.e google or cloudflare.
is there a way to specify log file location when using -vv ?

Yes, you can do it like so: --log /path/to/log.log  or using a config: https://github.com/Control-D-Inc/ctrld/blob/main/docs/config.md#log_path

Thanks, added it and will see what it sais next time it hangs

Thanks, please let us know what you find. Also, what specific router model + EdgeOS version are you using?

-06-15T19:04:56+02:00","time":"2023-06-15T19:04:56+02:00","message":"[40e8ff] could not resolve query on first attempt, retrying..."}
{"level":"debug","time":"2023-06-15T19:04:56+02:00","time":"2023-06-15T19:04:56+02:00","message":"[58db94] received response of 35 bytes in 23.078897355s"}
{"level":"error","time":"2023-06-15T19:04:56+02:00","time":"2023-06-15T19:04:56+02:00","message":"[a0f83a] all upstreams failed"}
{"level":"debug","time":"2023-06-15T19:04:56+02:00","time":"2023-06-15T19:04:56+02:00","message":"[a0f83a] received response of 35 bytes in 21.641610428s"}
{"level":"error","time":"2023-06-15T19:04:56+02:00","time":"2023-06-15T19:04:56+02:00","message":"[990b08] all upstreams failed"}
{"level":"debug","time":"2023-06-15T19:04:56+02:00","time":"2023-06-15T19:04:56+02:00","message":"[990b08] received response of 34 bytes in 25.091412933s"}
Running EdgeRouter X v2.0.9-hotfix.4

@achmeed if you can send me the complete log, it would be nice -<EMAIL_ADDRESS>Thanks

This is resolved in the latest release: https://github.com/Control-D-Inc/ctrld/releases/tag/v1.3.0


Extend example with controls to try out the module

The current example only shows the preview state:

Preview enabled: {{ $nuxt.isPreview }}

The example would be a good opportunity to add some controls to also showcase the other features:

enable preview via routing: <a href="/?preview=true&secret=...."
show it doesn't work without secret=
show how the location= option works
add a button to show $previewMode.enter() enables preview mode
add a button to show $previewMode.exit() exits preview mode
add a <PreviewModeBar />

Resolved in https://github.com/voorhoede/nuxt-preview-mode-module/pull/7 and https://github.com/voorhoede/nuxt-preview-mode-module/pull/8


Actions: Document "notice" workflow command

The core.notice toolkit function is documented, but the equivalent workflow command was not covered on this page.
Why:
Closes #9873
What's being changed:
Added notice workflow command documentation

Check off the following:

[x] I have reviewed my changes in staging (look for the latest deployment event in your pull request's timeline, then click View deployment).
[x] For content changes, I have completed the self-review checklist.

The core.notice toolkit function is documented, but the equivalent workflow command was not covered on this page.
Why:
Closes #9873
What's being changed:
Added notice workflow command documentation
Check off the following:

[x]  I have reviewed my changes in staging (look for the latest deployment event in your pull request's timeline, then click View deployment).
[x]  For content changes, I have completed the self-review checklist.
I wasn't finished and I couldn't edit comments before

@rcowsill
Thanks so much for opening a PR! I'll get this triaged for review :zap:


Great library but crashes too often

Hi,
I really like you library and I started using it in a pretty popular App.
After enrolling 0.5% of my users I start seeing crashes in crashlytics.
Some of them I just surrounded with try+ctach but others happen in the adpter and not in my call-stack so I can't propperly catch them without download and recompiling your source code.
I couldn't find version 0.3 source code and it's pretty intimidating to work with an early beta so I'm not sure what should be my next step.
Feel free to contact me to discuss further

Hi, which version are you using? I am almost done with next 3.0 version. And 0.3 test source is not out, cause I was doing a log of changes every day.

I"m using 2.2
Do you recommend I switch to 3.0 (from jcenter)?

Yes, of course. For you, I will upload 0.4. It is almost finished version. But you will have to change names of a few methods, nothing complicated. Feel free to contact me here.

And 2.2 has adapter bug.

Great, so let me know when 0.4 is is accessible in jcenter or elsewhere ?

Instead test version 0.4 I decided to upload version 3.0 :)). And it is already on jCenter.

Great, I will use that to continure the stages roll-out withou changing you code. closing the issue

This issue will be open for others. And if you will find some bug, please let me know. Thanks.

Great
You should probably fix the documentation to com.lapism.searchview.SearchView (from com.lapism.searchview.view.SearchView )

Oh...thanks :p. I will have to fix many things in documentation. Because you needed new version I released 3.0 earlier, so it is not done yet.

Version 3.0.1 is released.


Pose Input

Hi,
How can I create the position input for Cambridge dataset?
The format is different to 7 scene

Yes, input poses have to be 4x4 transformation matrices for our code. The Cambridge dataset format (translation vectors + quaternions) can be easily converted using a math library of your choice.

Hey,
On the same topic, I wanted to reproduce your reported performance number on Cambridge dataset, based on the pre-trained networks you provide.
To convert from Cambridge format to 4x4 transformation matrices, I used transforms3d.quaternions.quat2mat (from transforms3d package in python) which then I feed to the test code.
However, during test-time (and evaluation ) I get huge rotation errors for each pose (while translation error is okey)
for example:
for the input image seq1/frame00001.png in ShopFacade scene,
which have the following quaternions: [0.712261, 0.682691, -0.123193, 0.106962],
and translation: -0.157816 -10.413150 1.832074
I get the following matrix (after applying quat2mat() ):
9.4676524e-01      -3.2057519e-01     -2.9447146e-02      -1.5781600e-01
-1.5835781e-02     4.4984371e-02      -9.9886217e-01      -1.0413150e+01
3.2153509e-01,      9.4615430e-01       3.7513080e-02        1.8320740e+00
0.0000000e+00      0.0000000e+00      0.0000000e+00        1.0000000e+00
The predicted pose output ({Rodriguez},{translation}) of this image is : [{-1.51317 0.26542 -0.232277 }, {-0.0721703 -10.4599 1.81715} ]
when the result is compared to this gt pose in DSAC++ code I get the following rotError: 178.183[deg]
I wonder how exactly you covert from quaternions to 4x4 matrix, can you please help.
Thanks

This is how I convert the Cambridge poses. It could be that you have to invert the 4x4 matrix on top of that. This has to be done for either the Cambridge or the 7scenes poses to work with the DSAC++ code, but I do not recall which one atm.
import numpy as np
import cv2 as cv

# this is the 4-value quaternion from the Cambridge file
cam_rot = [float(r) for r in camera[4:]]

#quaternion to axis-angle
angle = 2 * math.acos(cam_rot[0])
x = cam_rot[1] / math.sqrt(1 - cam_rot[0]**2)
y = cam_rot[2] / math.sqrt(1 - cam_rot[0]**2)
z = cam_rot[3] / math.sqrt(1 - cam_rot[0]**2)

cam_rot = [x * angle, y * angle, z * angle]

cam_rot = np.asarray(cam_rot)
cam_rot, _ = cv.Rodrigues(cam_rot)

# this is the 3-value translation vector from the Cambridge file
cam_trans = [float(r) for r in camera[1:4]]
cam_trans = np.asarray([cam_trans])
cam_trans = np.transpose(cam_trans)
cam_trans = - np.matmul(cam_rot, cam_trans)

cam_pose = np.concatenate((cam_rot, cam_trans), axis = 1)
cam_pose = np.concatenate((cam_pose, [[0, 0, 0, 1]]), axis = 0)

Thanks a lot, that makes sense now.


Set position of node in json mode

Hi,
I'm not able to define the position of a node when I calculate my json object for the tree.
How can I achieve this?

Hi @dennismende
The position of a node is its position in the data array that is passed to the component.
There is no position attribute that you can set on a node.
If you sort your data array, the nodes will be rendered in that sorted order.


ER_NOT_SUPPORTED_AUTH_MODE

node -v: v13.6.0
npm -v: 6.14.3
mysql --version: 8.0.19
xmysql --version<EMAIL_ADDRESS>
issue steps provided:
cmd ran:
xmysql -h IP  -o IP:PORT -u USERNAME -p PASSWORD -d DBNAME -n APPPORT
error response:
code: 'ER_NOT_SUPPORTED_AUTH_MODE',   errno: 1251,   sqlMessage: 'Client does not support authentication protocol requested by server; consider upgrading MySQL client',   sqlState: '08004',   fatal: true

the client of tool si mysql 5 compliance? in this case is possibile to update it to 8.0?
thanks

https://github.com/mysqljs/mysql/issues/2046#issuecomment-396039909


Parking: TextEdit limitations

Name of Tester: Hammad
Feature: Parking
How to produce error:
Go to Parking. Add a vehicle. The model and the license should have a limit of how many characters can acutally be added to each field. Also We should limit the use of symbols in each of these feilds as atleast in license plate I dont think we need to use symbols.
Expected Result:
Restrict Symbol Input and Restrict word limit of Fields

The current length limit on iOS is 16 characters. We also currently disallow lower case characters and spaces. Please make sure that these limits exists on both text fields


Manage servers via API

I would like to manage my servers through an API. I have found the API docs at https://speca.io/PufferPanel/pufferd and the Swagger page built into PufferPanel at panel.example/swagger/index.html. But on both of these I haven't found a way to interact in any way with the servers (start, stop, restart etc.).
Is there a (hidden) API endpoint that I haven't found or is it at the moment simply not possible to interact with a server through an API?
Any hint is welcome.
Thanks for the awesome project.

Thank's for the reply, it worked. I will close the issue.


Feature/smhe 1674 fixes for pq

Fixes signal quality and ber values from simulator

https://jenkins.fdp.osgp.cloud/view/SMHE-cucumber/job/gxf-smhe-cucumber-build/81/


Please provide more detailed example

It’s not clear to me exactly how I define the birthdays...  I see from the readme which fields you expect but what’s not clear to me is where I define these... Do they go in the configuration.yaml ?

Same problem here, I do not understand how add this compent in the configuration file

This isn't a component, it's a python script - to see how to use it in homeassistant please scroll down the README file to the section 'Example configuration.yaml entry' - it's pretty self-explanatory.
The automation in that example runs the python script once a day, which creates/updates the countdown sensors.

If I understood this correctly, for each reminder, I will have separate yaml file inside python_scripts folder?

No, you just use an automation to run the script as many times as you need to create the number of sensors you need. Please see the example in the Readme

@mf-social
Thanks, I saw, everything is clear, except for the lovelace representation?
In your example you provided sensor.anniversary_our_wedding but where did you registered this sensor? and this sensor is which type?
show_header_toggle: false
title: Our Events
entities:
  - entity: sensor.anniversary_our_wedding
    secondary_info: '[[ {entity}.attributes.nextoccur ]]  ( [[ {entity}.attributes.years ]] Years )'
    type: 'custom:secondaryinfo-entity-row'```

Define 'type' of sensor?
The sensor is 'registered' in the automation that runs the script.
- service: python_script.date_countdown
        data:
          name: Our wedding
          type: anniversary
          date: 14/02/1994

I assumed, that this automation "register" sensors by its name right?
I tried to invoke automation with service call automation.turn_on but nothing happens, I cant see the sensors.
I also restarted HA, but sill nothing.
Even I changed trigger for my automation, to trigger on switch state on
So, definitely, I have a problem with recognising those sensors..

Here is my automation example:
  trigger:
    - platform: state
      entity_id: switch.living_room_main_light
      from:  'off'
      to:  'on'
    # - platform: time
    #   at: '00:00:01'
    # - platform: homeassistant
    #   event: start
  action:
    - service: python_script.date_countdown
      data:
        name: Stefan's Birthday
        type: birthday
        date: 03/09/1989
    - service: python_script.date_countdown
      data:
        name: Ivan comming
        type: event
        date: 28/02/2020

Do you have
python_script:
Somewhere in your configuration.yaml?

Yes, I have

When you trigger the automation, any errors in the log?

@stefancvetkovic - is this still a problem or have you sorted it?


Stacked Services - Get Compiler error

When you see something similar to below you're most likely not using the stable branch of flutter. If that's the case you'll have to override the get package version to point to the dev-master version. It's the version on the right side of the two versions here
In your pubspec.yaml file add
dependency_overrides:
  get: '2.0.9-dev'

Excpected or similar output below. Anything with get in the paths provided.
Compiler message:
../../AppData/Roaming/Pub/Cache/hosted/pub.dartlang.org/get-1.17.3/lib/src/snackbar/snack_route.dart:279:8: Error: The method 'SnackRoute.install' has more required arguments than those of overridden method 'OverlayRoute.install'.
void install(OverlayEntry insertionPoint) {
^
/C:/flutter/packages/flutter/lib/src/widgets/routes.dart:41:8: Context: This is the overridden method ('install').
void install() {
^
Compiler message:
../../AppData/Roaming/Pub/Cache/hosted/pub.dartlang.org/get-1.17.3/lib/src/snackbar/snack_route.dart:279:8: Error: The method 'SnackRoute.install' has more required arguments than those of overridden method 'OverlayRoute.install'.
void install(OverlayEntry insertionPoint) {
^
/C:/flutter/packages/flutter/lib/src/widgets/routes.dart:41:8: Context: This is the overridden method ('install').
void install() {
^
../../AppData/Roaming/Pub/Cache/hosted/pub.dartlang.org/get-1.17.3/lib/src/routes/default_route.dart:242:9: Error: No named parameter with the name 'animation'.
animation: animation,
^^^^^^^^^
/C:/flutter/packages/flutter/lib/src/cupertino/route.dart:436:3: Context: Found this candidate, but the arguments don't match.
CupertinoFullscreenDialogTransition({
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../AppData/Roaming/Pub/Cache/hosted/pub.dartlang.org/get-1.17.3/lib/src/snackbar/snack_route.dart:289:18: Error: Too many positional arguments: 0 allowed, but 1 found.
Try removing the extra positional arguments.
super.install(insertionPoint);
^
../../AppData/Roaming/Pub/Cache/hosted/pub.dartlang.org/get-1.17.3/lib/src/routes/default_route.dart:242:9: Error: No named parameter with the name 'animation'.
animation: animation,
^^^^^^^^^
/C:/flutter/packages/flutter/lib/src/cupertino/route.dart:436:3: Context: Found this candidate, but the arguments don't match.
CupertinoFullscreenDialogTransition({
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../AppData/Roaming/Pub/Cache/hosted/pub.dartlang.org/get-1.17.3/lib/src/snackbar/snack_route.dart:289:18: Error: Too many positional arguments: 0 allowed, but 1 found.
Try removing the extra positional arguments.
super.install(insertionPoint);
^
Target kernel_snapshot failed: Exception: Errors during snapshot creation: null
build failed.

This solved it, thanks! This issue happened to me on the Master branch. I will make sure to switch to the Stable branch from now on in order to avoid further problems.

Important Note:
After the 1.17.0 release, this issue is still happening.
We need to use the  same configuration to avoid errors.
dependency_overrides:
  get: '2.0.9-dev'

We don't have to use this configuration:
dependency_overrides:
  get: '2.0.9-dev'

This issue was resolve on this pr: #35.


client/app.ts (3, 42): Cannot find module 'angular2/angular2'.

Trying to go through your angular2 tutorial and constantly keep hitting this road block.
Does anyone know how I can resolve this?
Error:
client/app.ts (3, 42): Cannot find module 'angular2/angular2'.
The code in question:
/// <reference path="../typings/angular2-meteor.d.ts" />

import {Component, View, bootstrap} from 'angular2/angular2';

@Component({
    selector: 'app'
})
@View({
    templateUrl: 'client/app.html'
})
class Socially { }

bootstrap(Socially);

Maybe the leading slash on typing is looking in your root directory. You may want to just try:
///  i
Or some other variety of path modification
—
Sent from mobile
On Tue, Dec 22, 2015 at 4:41 PM, James<EMAIL_ADDRESS>wrote:

Trying to go through your angular2 tutorial and constantly keep hitting this road block
Does anyone know how I can resolve this?
Error:
client/appts (3, 42): Cannot find module 'angular2/angular2'
The code in question:
/// <reference path="/typings/angular2-meteordts" />
import {Component, View, bootstrap} from 'angular2/angular2';
@Component({
    selector: 'app'
})
@View({
    templateUrl: 'client/apphtml'
})
class Socially { }
bootstrap(Socially);

Reply to this email directly or view it on GitHub:
https://github.com/Urigo/angular-meteor/issues/996

The tutorial seems to be outdated. For me it worked after changing the import statement to:
import {Component, View} from 'angular2/core';
import {bootstrap} from 'angular2/bootstrap';

@barbatus should we update the tutorial?

Looks like the tutorial has been updated already.

Hey guys, the tutorial has been updated for the Angular2 Beta right after its release, I don't know where you find issues like that?

ok closing

i though I had an error too, and landed to this page.
Perharps you should mention near "0.5  Create root component"  something like
"Here you got 'Error:
client/app.ts (3, 42): Cannot find module 'angular2/angular2'.'
message in terminal, don't care we will fix it later"

Following the tutorial from: http://www.angular-meteor.com/tutorials/socially/angular2/bootstrapping I've got the same error with meteor 1.2.1 from scratch:
$ meteor create socially-ng2-ionic2
Created a new Meteor app in 'socially-ng2-ionic2'.

To run your new app:
  cd socially-ng2-ionic2
  meteor

If you are new to Meteor, try some of the learning resources here:
  https://www.meteor.com/learn

$ cd socially-ng2-ionic2/
$ meteor add urigo:angular2-meteor

Changes to your project's package version selections:

barbatus:angular2       added, version 0.8.5_2
barbatus:ng2-compilers  added, version 0.1.1
barbatus:ts-compilers   added, version 0.2.8_4
barbatus:typescript     added, version 0.1.5
systemjs:systemjs       added, version 0.18.4
urigo:angular2-meteor   added, version 0.4.2

urigo:angular2-meteor: Angular2 and Meteor integration
$ meteor remove blaze-html-templates

Changes to your project's package version selections:

blaze-html-templates   removed from your project
caching-html-compiler  removed from your project
templating             removed from your project
templating-tools       removed from your project

blaze-html-templates: removed dependency
$ meteor remove ecmascript
ecmascript: removed dependency
$ meteor add barbatus:ionic2-meteor

Changes to your project's package version selections:

barbatus:ionic2-meteor  added, version 0.1.6

barbatus:ionic2-meteor: Ionic2 Npm packaged for Meteor
[seba@ccnotstreu socially-ng2-ionic2]$ meteor
[[[[[ ~/meteor-projects/socially-ng2-ionic2 ]]]]]

=> Started proxy.
=> Started MongoDB.
client/app.ts (1, 31): Cannot find module 'angular2/core'.
client/app.ts (3, 25): Cannot find module 'angular2/platform/browser'.
client/app.ts (5, 25): Cannot find module 'ionic2-meteor'.
***** New typings have been added *****      /
typings/angular2/core.d.ts
typings/angular2/core_amb.d.ts
typings/angular2/common.d.ts
typings/angular2/common_amb.d.ts
typings/angular2/platform/browser.d.ts
typings/angular2/platform/browser_amb.d.ts
typings/angular2/router.d.ts
typings/angular2/router_amb.d.ts
typings/angular2/angular2.d.ts
typings/angular2-meteor/angular2-meteor.d.ts
typings/ionic2-meteor/ionic-framework/ionic.d.ts
typings/ionic2-meteor/ionic2-meteor.d.ts
Add typings in tsconfig.json or by references in files.
=> Errors prevented startup:

   While processing files with urigo:angular2-meteor (for target web.browser):
   <anonymous>: socially-ng2-ionic2.html has wrong layout
   at Error (<anonymous>)
   at compilers/html_compiler.js:26:15
   at Array.forEach (native)
   at HtmlCompiler.processFilesForTarget (compilers/html_compiler.js:18:11)

   While processing files with urigo:angular2-meteor (for target os.linux.x86_64):
   <anonymous>: socially-ng2-ionic2.html has wrong layout
   at Error (<anonymous>)
   at compilers/html_compiler.js:26:15
   at Array.forEach (native)
   at HtmlCompiler.processFilesForTarget (compilers/html_compiler.js:18:11)

I first created this app.ts
import {Component, View} from 'angular2/core';
import {MeteorApp} from 'ionic2-meteor';
import {bootstrap} from 'angular2/platform/browser';

@Component({
    selector: 'app'
    })
@View({
    template: 'Hello World!'
    })

class Socially {}

bootstrap(Socially);

Finally I left the file like this:
import {Component, View} from 'angular2/core';

import {bootstrap} from 'angular2/platform/browser';

@Component({
    selector: 'app'
    })
@View({
    template: 'Hello World!'
    })

class Socially {}

bootstrap(Socially);

@gentunian your socially-ng2-ionic2.html has wrong layout for the package, i.e., it contains Template tag. This actually is noted in the tutorial, i don't know how clear it's stated but most seems be able to grasp it properly. Second, it's better to place html files in client folder, boilerplate app has it in the root.

@barbatus you were right about templating, my idea was to show the error related to the issue. I removed all previously generated files and I left only the app.ts and the index.html for paste the error:
$ meteor
[[[[[ ~/meteor-projects/socially-ng2-ionic2 ]]]]]

=> Started proxy.
=> Started MongoDB.
client/app.ts (1, 31): Cannot find module 'angular2/core'.
client/app.ts (3, 25): Cannot find module 'angular2/platform/browser'.
=> Started your app.

=> App running at: http://localhost:3000/

Despite that getting the error complaining about modules, "Hello World!" is printed.

Hey read carefully first step to the end, everything is explained there.

ooops! such a shame I made noise on this. Sry

Ok, I've just found that using
/// <reference path="typings/angular2-meteor/angular2-meteor.d.ts" />

inside client/app.ts won't work, because is referring to typings inside client directory:
client/app.ts (2, 31): Cannot find module 'angular2/core'.
client/app.ts (3, 25): Cannot find module 'angular2/platform/browser'.
client/app.ts (1, 1): File 'client/typings/angular2-meteor/angular2-meteor.d.ts' not found.

This is working ok:
/// <reference path="../typings/angular2-meteor/angular2-meteor.d.ts" />

Thanks,

Hi!
I did this tutorial a few times ago and everything ok, today I started and it seems there is an issue with angular2-meteor-polyfills depenency, I follow steps but this modulo doesn't load properly, I tried to add it manually with npm and it started to work but with some error in console:
Failed to parse SourceMap: http://localhost:3000/packages/547fdeddd5a1d8584f76b2afdac14ed10d216a74.map
I hope this is useful, you are doing a great job ;)
thanks

Hi, FYI angular2-meteor-polyfills dependency is also not loading for me either while walking through the tutorial.

Getting the same issue using polyfills

I've found in the documentation a way to run the app when getting the error install.js:78 - Uncaught Error: Cannot find module 'angular2-meteor-polyfills/browser'

Install the dependency by running meteor npm install --save angular2-meteor-polyfills
Add import 'angular2-meteor-polyfills' to app.ts file

Try again to run the app.
I think they didn't include 'angular2-meteor-polyfills' module in the barbatus:angular2-runtime package, but I'm not sure...

same has @dvdgarcia (without error ...yet). Thx @berndverhofstadt
@Urigo Maybe a note on the bootstrap tutorial page until better days ?

I also had to run "meteor npm install --save angular2-meteor-polyfills", without needing the import statement.

+1

Also had to run "meteor npm install --save angular2-meteor-polyfills", thanks @berndverhofstadt !

@berndverhofstadt @nebiljabari @showplans @yaiceltg @khiewshikai or anyone else care to submit a PR the first bootstrapping chapter to update with new instructions?

Ok, I've read carefully all the steps in this issue, but I cant solve the problem. Can someone help me? I'm trying to study this tutorial http://www.angular-meteor.com/tutorials/socially/angular2/bootstrapping using Cloud9, even following all the instructions I still not able to see the "Hello World" in my browser:
I got those messages:
In console of Cloud9
[[[[[ ~/workspace ]]]]]

=> Started proxy.
=> Started MongoDB.
client/app.ts (2, 33): Cannot find module '@angular/core'.
client/app.ts (3, 27): Cannot find module '@angular/platform-browser-dynamic'.
client/app.ts (5, 22): Cannot find module './app.html'.

Unable to resolve some modules:

  "reflect-metadata" in /home/ubuntu/workspace/client/app.ts (web.browser)
  "@angular/core" in /home/ubuntu/workspace/client/app.ts (web.browser)
  "@angular/platform-browser-dynamic" in /home/ubuntu/workspace/client/app.ts (web.browser)

If you notice problems related to these missing modules, consider running:

  meteor npm install --save reflect-metadata @angular

=> Started your app.

=> App running at: http://<IP_ADDRESS>:8080/

And in the inspection of the browser:
modules-runtime.js:439 Uncaught Error: Cannot find module 'angular2-meteor-polyfills/browser' modules-runtime.js:439 Uncaught Error: Cannot find module 'reflect-metadata'

Can you show us your package.json file ?
Your node_modules folder have the corrolated dependencies ?
Question: by default Meteor run on port 3000 unless we specified one. Is it you who decided to run on 8080 ?

meteor --port $IP:$PORT ==> https://socially-fidelis-1.c9users.io (works fine)
pakage.json
{   "name": "socially",   "private": true,   "scripts": {     "start": "meteor run"   },   "dependencies": {     "meteor-node-stubs": "~0.2.0"   } }
tsconfig.json
{   "compilerOptions": {     "experimentalDecorators": true,     "module": "commonjs",     "target": "es5",     "isolatedModules": false,     "moduleResolution": "node",     "emitDecoratorMetadata": true,     "removeComments": false,     "noImplicitAny": false,     "sourceMap": true   },   "filesGlob": [     "client/**/*.ts",     "server/**/*.ts",     "typings/**/*.d.ts"   ],   "exclude": [     "node_modules"   ] }
typings.json
{   "name": "socially",   "dependencies": {     "es6-promise": "registry:npm/es6-promise#3.0.0+20160211003958"   },   "globalDependencies": {     "es6-shim": "registry:dt/es6-shim#0.31.2+20160602141504",     "meteor": "registry:env/meteor#1.3.0+20160713172414"   } }

I think it was what I suspected.

Having similar problem but with @angular/core , one question.. should use angular2 or @angular ? very confused

@mariohmol You should run : meteor npm i -S @angular/core

@angular = official package | angular2 = unofficial package

I suggest you to use the boilerplate who holds all the standard packages needed to start
meteor create --example angular2-boilerplate your-project-name or run directly
git clone https://github.com/bsliran/angular2-meteor-base your-project-name
and then run meteor npm i

Cool!!! Cause I made using the whatsapp clone.. its old style...  will start from the scratch then! Thanks!

I just saw that this boilerplate is not using ionic2 .. and the way the whatsapp clone was designed i think is better as well , example app\pages\chat has css, js,html for each module
This seem to be updated with angular2.1 specs

https://www.angular-meteor.com/tutorials/whatsapp2/ionic/chats-page

@mariohmol sorry Mario I didn't know you was targeting specifically the What's App Clone Tutorial on my first comment.
Ok so let me be clear, this tutorial is wrote with Angular1 and more precisely Angular1.5(+) "not" Angular2. So indeed the boilerplate I suggest you will not match
PS: I mean by (+) Angular1.5.1, Angular1.5.2 etc...


Error Message after I create a new space

Feature Request
Context
Story
As a peoplemover user
I want to be able to access the new space I just created without an error message
So that I know I am not doing anything wrong

Acceptance Criteria
Given I create a new space
When I click it
Then I don't get a 404 error message
Notes
Sara & Mike experienced this on Monday 7/27 when they tried creating a new space. They got error messages at first. Sara left the dashboard and clicked back, then it worked. Mike had to log out and then log back in for it to work without getting an error message.

Could not reproduce in stage
Was able to reproduce this in prod, but could not reproduce this in stage. May have been fixed by implementation of ADFS. I recommend pushing to prod when ADFS is complete and rechecking this bug.


DefaultAzureCredential authentication doesn't work on TextTranslationClient

azure-ai-translation-text:
1.0.0b1
Windows
3.9

Describe the bug
Using DefaultAzureCredential with TextTranslationClient is failing when trying to acquire token.
To Reproduce
Steps to reproduce the behavior:
credential = DefaultAzureCredential()
translator_client = TextTranslationClient(credential=credential, endpoint=endpoint)
translator_client.translate(content=[input_text_item], to=[target_language])

Expected behavior
To be able to acquire token and to make a translation call.
Additional context
args = (<azure.identity._credentials.client_secret.ClientSecretCredential object at 0x000002CBE22CD2B0>, 'https://api.microso...tion_policy': <azure.core.pipeline.policies._authentication.BearerTokenCredentialPolicy object at 0x000002CBFF49BAC0>})
kwargs = {'claims': None, 'tenant_id': None}
auth_error = ClientAuthenticationError("Authentication failed: unhashable type: 'dict'")

    @functools.wraps(fn)
    def wrapper(*args, **kwargs):
        try:
            return fn(*args, **kwargs)
        except ClientAuthenticationError:
            raise
        except Exception as ex:  # pylint:disable=broad-except
            auth_error = ClientAuthenticationError(message="Authentication failed: {}".format(ex))
>           raise auth_error from ex
E           azure.core.exceptions.ClientAuthenticationError: Authentication failed: unhashable type: 'dict'

Thanks for reaching out.
DefaultAzureCredential is a chain of credentials.
Could you share which credential you expected to work?

The environment credential
Get Outlook for Androidhttps://aka.ms/AAb9ysg

From: Xiang Yan @.>
Sent: Wednesday, September 20, 2023 8:55:13 PM
To: Azure/azure-sdk-for-python @.>
Cc: Yossi Ben-David @.>; Author @.>
Subject: Re: [Azure/azure-sdk-for-python] DefaultAzureCredential authentication doesn't work on TextTranslationClient (Issue #32158)
Thanks for reaching out.
DefaultAzureCredential is a chain of credentials.
Could you share which credential you expected to work?
—
Reply to this email directly, view it on GitHubhttps://github.com/Azure/azure-sdk-for-python/issues/32158#issuecomment-1728194685, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A46BZNQMT2ZY5X3YG7LW763X3MUYDANCNFSM6AAAAAA5ABW2TI.
You are receiving this because you authored the thread.Message ID: @.***>

Could you enable logging and share the logs with use?
You can add code like
import logging
logging.basicConfig(filename='c:/temp/log.log', level=logging.DEBUG)

to enable debug logging.

        This method is called automatically by Azure SDK clients.

        :param str scopes: desired scopes for the access token. This method requires at least one scope.
        :raises ~azure.core.exceptions.ClientAuthenticationError: no credential in the chain provided a token
        """
        within_credential_chain.set(True)
        history = []
        for credential in self.credentials:
            try:
                token = credential.get_token(*scopes, **kwargs)
                _LOGGER.info("%s acquired a token from %s", self.__class__.__name__, credential.__class__.__name__)
                self._successful_credential = credential
                return token
            except CredentialUnavailableError as ex:
                # credential didn't attempt authentication because it lacks required data or state -> continue
                history.append((credential, ex.message))
            except Exception as ex:  # pylint: disable=broad-except
                # credential failed to authenticate, or something unexpectedly raised -> break
                history.append((credential, str(ex)))
                _LOGGER.debug(
                    '%s.get_token failed: %s raised unexpected error "%s"',
                    self.__class__.__name__,
                    credential.__class__.__name__,
                    ex,
                    exc_info=True,
                )
                break

        within_credential_chain.set(False)
        attempts = _get_error_message(history)
        message = self.__class__.__name__ + " failed to retrieve a token from the included credentials." + attempts \
                  + "\nTo mitigate this issue, please refer to the troubleshooting guidelines here at " \
                    "https://aka.ms/azsdk/python/identity/defaultazurecredential/troubleshoot."
        _LOGGER.warning(message)
>       raise ClientAuthenticationError(message=message)
E       azure.core.exceptions.ClientAuthenticationError: DefaultAzureCredential failed to retrieve a token from the included credentials.
E       Attempted credentials:
E       	EnvironmentCredential: Authentication failed: unhashable type: 'dict'
E       To mitigate this issue, please refer to the troubleshooting guidelines here at https://aka.ms/azsdk/python/identity/defaultazurecredential/troubleshoot.

{path}\lib\site-packages\azure\identity\_credentials\chained.py:101: ClientAuthenticationError

The log shows the values you set in the EnvironmentCredential did not work.
Please ping me and we can work offline.

I talked with the engineers working on the SDK and they planned to add support for default azure credentials on the official non beta release.

Took offline.


Obtain autorization code from loginPopup instead of token(s)

Core Library
MSAL.js v2 (@azure/msal-browser)
Wrapper Library
MSAL React (@azure/msal-react)
Public or Confidential Client?
Public
Description
loginPopup sends a request to /oauth2/token to obtain access_token and id_token immediately after obtaining authorization_code in its implementation. But I want to obtain authorization_code directly from my public client and redeem it for accesss_token in our server.
Source
External (Customer)

@okapies Can you give me more details about your scenario? Is your server also AAD?

My application plans to use AAD for authenticating our customer. MSAL makes the customer authenticate themself on the popup window to obtain authorization_code immediately before fetching an access_token, but there is no way to obtain authorization_code directly in our client. I want to redeem it for access_token in our API server instead of the client.

@okapies We do not support this scenario as msal-browser is a SPA type app and the auth code redeems only a SPA RT which has a shorter validity in comparison (more details here) with server end token fetch (say @msal-node).
Can you explore msal-node if it fits your case?

Thanks for the response. But our server (API) is not written in node.js and I would like to make MSAL handle the popup window feature out of the box. I think "getting an authorization code on SPA right before redeeming it on API" scenario does not contradict with your policy. What do you think?

@okapies We do not plan to support this for now, couple reasons:

Server support for this scenario of swapping a code from the client-side to be redeemed at the service is not available afaik. (We support the reverse).
The API support of emitting a code instead of tokens is not something we can invest in at this point.

@derisen can these folks create a custom scope for their API to address this scenario? Can you share the guidance?

Thanks for the detailed explanation. It seems it can be achieved by simply decoupling two logic (fetching code and token). but more difficult than I think?

It is not the logic. The "code" cannot be swapped at the server end i.e., if you have a SPA app fetching the auth code, you cannot redeem it for a web app for tokens. The server forbids it. Hope this makes it clear.

@okapies @sameerag apologies, I've missed this.
@okapies if your sole purpose is to check if a user that has signed in to your client app is authorized to call your API server (i.e. is the user authorized to access this resource?), your client app needs to acquire an access token and send it to the server as part of the request. You do not need to (and should not) redeem an authorization code obtained in the client app on the server side for this -check out the samples: React SPA calling Express web API and Angular SPA calling .NET web API.
There may be scenarios where you would like to sign-in a user both to your client-side app and the server-side app at the same time. In that case you can use the Hybrid SPA flow -however I'm guessing this is not what your current scenario needs.

@derisen
Thanks for your response. I'm worry about the case when a received access token is a fake one issued by third-party (malicious) OAuth2 client. The API cannot safely validate that the token is actually issued by our client. I just need authorization code instead of access token for this purpose. What should I do?

@okapies that's right, the incoming access token should be validated. There are azure ad token validation libraries for different languages -the samples I shared shows how to do this in Node.js or .NET -is your server in a different language/platform?

Yes, I checked it but the returned access token is not a valid JWT (starting with EwB instead of eyJ). It seems non-Azure AD accounts don't support JWT formatted access token. How do I handle our case?

@okapies "EwB..." indicates you are looking at an access token for Microsoft Graph. This is not a token meant for your API server, and you are not supposed to send it to your web API for accessing resources (you won't be able to validate it anyways). You can read more on access tokens and resources here.
Other than that, there should be no issues with tokens issued to MSA accounts. Please take some time to go through the samples I've shared, it should clarify the aspects of bearer token usage.

Thanks for the useful information. I went thourough the documents and the samples you mentioned but I don't understand how to get JWT-formatted access token for our application regardless of origin of the account. We always need valid JWT-formatted access token for verification because our users can be both MSA and AAD.
As said before, Azure AD account gives us JWT (eyJ...) while MSA account gives not (EwB...) in the following code:
import { PublicClientApplication } from '@azure/msal-browser';
import type { AuthenticationResult, Configuration, PopupRequest } from '@azure/msal-browser';

const msalConfig: Configuration = {
  auth: {
    clientId: '...',
  }
};

const loginRequest: PopupRequest = {
  scopes: ['User.Read', 'openid', 'profile', 'email'],
  prompt: 'select_account',
};

const handleLogin = (instance: PublicClientApplication) => {
  instance.loginPopup(loginRequest).then((value: AuthenticationResult) => {
    fetch(
      'https://api.example.com/login/microsoft',
      { access_token: result.accessToken }
    ).then((data: any) => { ... });
  });
}

const MicrosoftSocialAuthButton = () => {
  const msalInstance = useMemo(() => new PublicClientApplication(msalConfig), []);
  return <Button onClick={() => handleLogin(msalInstance)}></Button>
}

@okapies the problem is that you are requesting below an access token for Microsoft Graph, NOT for your own web API.

const loginRequest: PopupRequest = {
scopes: ['User.Read', 'openid', 'profile', 'email'],
prompt: 'select_account',
};
const handleLogin = (instance: PublicClientApplication) => {
instance.loginPopup(loginRequest).then((value: AuthenticationResult) => {
fetch(
'https://api.example.com/login/microsoft', // our login API
{
method: 'POST',
body: { access_token: value.accessToken },
},
).then((data: any) => { ... });
});
}

Instead, the scope should be your web API's APP ID URI followed by the scope name you defined in your application.

const loginRequest: PopupRequest = {
scopes: ['api://my-web-api-client-id/my_scope'],
prompt: 'select_account',
};

If you look at the app registration steps in the sample I've shared, it instructs you to create a custom scope for your API, and then request permissions to it in your SPA.
So to summarize the misunderstanding here, every access token is meant for a certain resource/API and cannot be used for accessing other resources/APIs. You tell MSAL what resource/API you need an access token for via the scopes property in the request object that you pass to acquireToken* method.

@derisen Thanks. I tried and successfully got a JWT-formatted access token for our custom API scope! I have one more question: how to access /users/me or /oidc/userinfo by using the issued access token from our API server?
As you said, the scopes for Microsoft Graph cannot combine with custom scopes for our application, so the acquired JWT-formetted access token doesn't have an ability to access to the user profile in Microsoft Graph. This behavior is reasonable but doesn't suit our use case.
$ python
>>> jwt.decode(token, public_key, algorithms=['RS256'], audience=['{app ID}'])
{'ver': '2.0', 'iss': 'https://login.microsoftonline.com/9188040d-6c67-4c5b-b112-36a304b66dad/v2.0', 'aud': '{app ID}', 'scp': 'login'}

$ curl https://graph.microsoft.com/oidc/userinfo -H 'Authorization: Bearer eyJ...'
{"error":{"code":"InvalidAuthenticationToken","message":"Access token validation failure. Invalid audience.","innerError":...}}

@okapies in that case you have 2 options:

You could either obtain Microsoft Graph API tokens in your client app and call the /users/me etc directly from your client app. That means your client app needs to acquire tokens separately for each resource (Microsoft Graph API and your own API server). Here's a sample that shows how to acquire tokens for multiple different resources.
Or if you need to call the Graph API from your API server, you could look into the on-behalf-of flow. For instance, this sample shows how to implement OBO flow using MSAL Node.

@derisen Thanks for your kind advice. I'll look into the on-behalf-of flow!


Make View class Htmlable

By making View implement Htmlable, it's no longer necessary to call new HtmlString($view->render()) before passing it to a view - e.g. in the $paginator->render() method.
There are two concrete examples of this in the Laravel Paginator classes (see code changes), and another in my Laravel Breadcrumbs package:
$html = $this->viewFactory->make($view, compact('breadcrumbs'))->render();

return new HtmlString($html);

Becomes:
return $this->viewFactory->make($view, compact('breadcrumbs'));

But those aren't the reason for suggesting the change - I'd also like to use it within an application to approximate CakePHP's View Cells:
class InboxCell
{
    public function display(...)
    {
        // ... calculate several things ...

       return view('cells.inbox', $data);
    }
}

@inject('inbox', 'App\ViewCells\InboxCell')

{{ $inbox->display(...) }}

(There are other ways I could achieve the same result, but this is the cleanest code I've come up with.)
I think this is backwards-compatible (I can't think why anyone would rely on the paginator render method returning HtmlString specifically, or a view's output being escaped by e()) so it's targeted at 5.8, but I can rebase it if you'd prefer.

Thanks for the PR. Please could you send this to the master branch. :)

It's BC breaking because the type returned by the render function is no longer string, for the pagiator, even though it's stringish. ;)

@GrahamCampbell Actually it never was string - the docblock was just wrong!
     * @return string
     */
    public function render($view = null, $data = [])
    {
        return new HtmlString(

https://github.com/laravel/framework/blob/5.8/src/Illuminate/Pagination/Paginator.php#L105-L109
Do you still want it on master?

Hey @davejamesmiller. The change from the concrete htmlstring return type to the contract is also a breaking change so the master branch is probably better suited.

Ah, I see. Thanks for looking into this. :)


Support flow annotations for prop types

Support for flow type annotations is coming to react-docgen via https://github.com/reactjs/react-docgen/pull/48 (note: PR is not yet merged but works locally and looks ready)
With this PR, the styleguide will use the flow annotation if it is present, and fall back to the propType if it isn't.
The syntax looks like this:
type Props = {
  /* The title of the box */
  title: string;
}

class Box extends React.Component {
  props: Props;
  render (): React.Element {
    return <h1>{this.props.title}</h1>;
  }
}

Looks like it’s safe to merge now, isn’t it?

@sapegin yep, it's safe

Thanks!

But be aware that the returned types differ between propTypes and flow due to the different options one has in flow.
see https://github.com/researchgate/react-docgen/blob/add-flow-type-support/README.md#types


Arthropoda level seems to be incorrect

Dear developer,
I'm using PR2 and mothur to do taxonomic assignment on my 18S metabarcoding data. I found that Maxillopoda, Branchiopoda, and Insecta etc. were assigned to the Family level, but they should be in the Class level. The entire Metazoa seems to be shifted... Could you please have a look at the issue? Thanks and have a good one!
Best,
Michelle

Hi Michelle
Thank you for your message.  Unfortunately, PR2 using a fixed number of levels (currently 9) does not offer much flexibility and we have chosen to compress some taxonomy paths, which is at odd with the recognized taxonomy.  Having Insecta at the class level would not allow squeezing the existing higher taxonomic path (Arthropoda	Hexapoda) between "subdivision" and "class".  PR2 is not really optimized for Metazoa unfortunately, and we will have an in-depth look in the future, but this will take some time.
Thank you again for your support of PR2. Daniel

Hi Daniel,
Thanks for your prompt reply!
Do you have any recommendations on reference database if I would like to focus on metazoan? Thanks!
Best,
Michelle
From: Daniel Vaulot @.>
Date: Monday, January 8, 2024 at 5:10 PM
To: pr2database/pr2database @.>
Cc: Michelle Cheng @.>, Author @.>
Subject: Re: [pr2database/pr2database] Arthropoda level seems to be incorrect (Issue #43)
You don't often get email from @.*** Learn why this is importanthttps://aka.ms/LearnAboutSenderIdentification
Hi Michelle
Thank you for your message. Unfortunately, PR2 using a fixed number of levels (currently 9) does not offer much flexibility and we have chosen to compress some taxonomy paths, which is at odd with the recognized taxonomy. Having Insecta at the class level would not allow squeezing the existing higher taxonomic path (Arthropoda Hexapoda) between "subdivision" and "class". PR2 is not really optimized for Metazoa unfortunately, and we will have an in-depth look in the future, but this will take some time.
Thank you again for your support of PR2. Daniel
—
Reply to this email directly, view it on GitHubhttps://github.com/pr2database/pr2database/issues/43#issuecomment-1880617462, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A5BCD6URPCHOU6BH4HT3FGTYNOZZRAVCNFSM6AAAAABBQ6LA5OVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOBQGYYTONBWGI.
You are receiving this because you authored the thread.Message ID: @.***>

Unfortunately at present for 18S there is no good database for Metazoans...

I see… Many thanks and have a good day!
From: Daniel Vaulot @.>
Date: Monday, January 8, 2024 at 5:15 PM
To: pr2database/pr2database @.>
Cc: Michelle Cheng @.>, Author @.>
Subject: Re: [pr2database/pr2database] Arthropoda level seems to be incorrect (Issue #43)
You don't often get email from @.*** Learn why this is importanthttps://aka.ms/LearnAboutSenderIdentification
Unfortunately at present for 18S there is no good database for Metazoans...
—
Reply to this email directly, view it on GitHubhttps://github.com/pr2database/pr2database/issues/43#issuecomment-1880623609, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A5BCD6UEV5VJLSTZFBHIOA3YNO2J3AVCNFSM6AAAAABBQ6LA5OVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOBQGYZDGNRQHE.
You are receiving this because you authored the thread.Message ID: @.***>


Syntax highlighters

[ ] JetBrains IDE (Goland)
[ ] VSCode
[ ] Atom (WIP)
[ ] Sublime
[ ] vim

Relevant:
https://www.jetbrains.org/intellij/sdk/docs/reference_guide/custom_language_support.html

Hi,
I just published a VSCode extension that provides syntax highlighting for Tengo.
Feel free to use it, and don't hesitate to fill issues if something is wrong.
https://github.com/lissein/vscode-tengo

need JetBrains IDE (Goland) Syntax highlighter

Something new for goland?


Participation dashboard

Mentors should be able to see all their mentees password.
This may require new fields for mentors (mentees).

Password? Do you mean participation?

I'm with Nate on this...

:)

moving to next milestone as it's not necessary for the first influx of users

@seveibar this is done right?

Yes thanks


data: TanmayBhosale

Fixes Issue

Changes proposed

Check List (Check all the applicable boxes)

[ ] My code follows the code style of this project.
[ ] My change requires changes to the documentation.
[ ] I have updated the documentation accordingly.
[ ] All new and existing tests passed.
[ ] This PR does not contain plagiarized content.
[ ] The title of my pull request is a short description of the requested changes.

Screenshots

Note to reviewers

Made the changes! Thank you for the input!


"True" Mirrored Mode

This PR add support to "true" mirrored mode where the image on odd displays is flipped horizontally. The old "mirrored" mode has been renamed to "cloned".
Existing users will have to manually switch to the new mirroring behavior otherwise they will stay in the old mode.
Here's some previews:

Hi @justMaku  !
Thanks a lot for the PR, this looks pretty cool ! I'm going to be pretty busy in the coming days so I may not be able to merge and release a new version until monday.
I saw you put the new mirrored at the end of the enum so that's great, it won't mess with current user's settings.
One things come to mind, it looks like you're using the index in which the system has called us. Off the top of my head, we're called on main screen first then the other screens. But it's not position dependant. If you had an iMac with one screen on the right, and one on the left, you'd want main (0) normal, and 1 and 2 flipped too to keep the effect.
I'm not sure that's a big issue as the number of complex screen configuration users is pretty small, and they may not want a double flipping anyway in that case I mentionned (may look a bit jarring unlike a 2 way mirror effect which looks pretty cool I think).
I do have some code do detect screen's relative position but it's a big mess because you can have screens in 2 directions with overlap, so I'd avoid going in there. And in the same way, if vertical mirroring, I'm not sure flipping would be good, that would truly be jarring ;)
So I'd say let's add it as is, and if people with more complex configurations wants more, it can always be perfected a bit.
Thanks again!

Well, didn't hear back from you but merging as is.


Updated DotNet String Split function

Thank you Gunnar! I will merge the pull request and upload the latest version of the wrapper to this repo. I had to make a few adjustments :-)