ImportError: DLL load failed: The specified module could not be found - while importing tensorflow

Please make sure that this is a build/installation issue. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:build_template
System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Windows 10
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device:
TensorFlow installed from (source or binary): pip install tensorflow
TensorFlow version:2.2
Python version: checked 3.6,3.7,3.8
Installed using virtualenv? pip? conda?: both pip and conda
Bazel version (if compiling from source): NA
GCC/Compiler version (if compiling from source): NA
CUDA/cuDNN version: NA
GPU model and memory: AMD Radeon(TM) Vega 8 Graphics

Describe the problem
facing the problem of module not found while loding DLL when importing tensorflow.
Tried with multiple options like python version, tensorflow versions etc.
is tesnorflow also supports ADM graphic drivers ?

Provide the exact sequence of commands / steps that you executed before running into the problem
import tensorflow as tf
Any other info / logs
import tensorflow
Traceback (most recent call last):
File "", line 1, in
import tensorflow
File "C:\Users\SaiKoushik\Anaconda3\lib\site-packages\tensorflow_init_.py", line 41, in
from tensorflow.python.tools import module_util as _module_util
File "C:\Users\SaiKoushik\Anaconda3\lib\site-packages\tensorflow\python_init_.py", line 40, in
from tensorflow.python.eager import context
File "C:\Users\SaiKoushik\Anaconda3\lib\site-packages\tensorflow\python\eager\context.py", line 35, in
from tensorflow.python import pywrap_tfe
File "C:\Users\SaiKoushik\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tfe.py", line 28, in
from tensorflow.python import pywrap_tensorflow
File "C:\Users\SaiKoushik\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 83, in
raise ImportError(msg)
ImportError: Traceback (most recent call last):
File "C:\Users\SaiKoushik\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 64, in
from tensorflow.python._pywrap_tensorflow_internal import *
ImportError: DLL load failed: The specified module could not be found.
Failed to load the native TensorFlow runtime.
See https://www.tensorflow.org/install/errors
for some common reasons and solutions.  Include the entire stack trace
above this error message when asking for help.

@sparachi1011
What is make/model of your cpu?
I suspect your cpu model does not support AVX instructions sets.See hardware requirements
Make sure to download the latest microsoft visual c++ redistributable from here.
.Also, please follow the instructions from to install from Tensorflow website.
Please, check Your CPU/Python is on 32 bits?Please, refer #36167 and see if it helps you.Please, refer similar issues #36167 #36151 #36138 #36054 #36045 #36020 #36003 #35988 #35903 #35880 #35865 #35805 #35789 #35773 #35772 #35767 #35766 #35749 #35721 #35618 #35204
Thanks!

hi @Saduf2019 ,
What is make/model of your cpu: Dell Inspiron 15 5000 series,
I suspect your cpu model does not support AVX instructions sets:: it support, its a ADM Ryzen 5 series(latest version from ADM family)
Make sure to download the latest microsoft visual c++:: yes i have installed MS Visual 2019.
I can able to install tensorflow 1.15 and keras 2.0 but unable to use the upgraded versions.
Please, check Your CPU/Python is on 32 bits?:: python in on 64bits.

@sparachi1011 Few questions.

did you notice the issue when you installed in virtualenv?
were you able to install and import TF1.15 without any issue?

Can you please uninstall TF all versions, uninstall python all versions, restart comp/laptop, install python 3.7, install TF2.3 and then check whether you can import without any issue. Thanks!


decode issue when mapping interface to mac and name

Discussed in https://github.com/joshschmelzle/lswifi/discussions/31

Originally posted by dwe1we4w November 16, 2022
I get an error when I use this command.  lswifi --json  -t -100Then I added gbk code according to the error information, and he was OK.
This is an error message：
Exception in thread Thread-1: Traceback (most recent call last):   File "c:\users\shaoshuai\appdata\local\programs\python\python38\lib\threading.py", line 932, in _bootstrap_inner     self.run()   File "c:\users\shaoshuai\appdata\local\programs\python\python38\lib\threading.py", line 870, in run     self._target(*self._args, **self._kwargs)   File "c:\users\shaoshuai\appdata\local\programs\python\python38\lib\site-packages\lswifi\wlanapi.py", line 1592, in WirelessInterfaceThread     ifaces[index] = WirelessInterface(info)   File "c:\users\shaoshuai\appdata\local\programs\python\python38\lib\site-packages\lswifi\wlanapi.py", line 903, in __init__     self.map_guid_to_mac_and_connection_name(self.guid, self.description)   File "**c:\users\shaoshuai\appdata\local\programs\python\python38\lib\site-packages\lswifi\wlanapi.py**", line 919, in map_guid_to_mac_and_connection_name     for line in output.decode().splitlines(): UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc1 in position 1: invalid start byte

Should be fixed in https://github.com/joshschmelzle/lswifi/releases/tag/v0.1.31


add media service

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 92.85714% with 1 line in your changes missing coverage. Please review.

Files with missing lines
Patch %
Lines

...in/java/com/fjb/sunrise/services/MediaService.java
92.30%
0 Missing and 1 partial :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.

Files with missing lines
Coverage Δ
Complexity Δ

.../java/com/fjb/sunrise/config/WebServletConfig.java
100.00% <100.00%> (ø)
6.00 <0.00> (ø)

...in/java/com/fjb/sunrise/services/MediaService.java
92.30% <92.30%> (ø)
4.00 <4.00> (?)

... and 4 files with indirect coverage changes


Disable 2FA per-environment?

2FA is great, but I really don't need to be dealing with it in my local dev environment. Is there any way to disable 2FA in the local environment, either for the entire site, or just for my user?

Yes, there is. You can use the config php file (see readme for details) to disable it per environment. The verifyBackEnd setting is probably what you need to set.


Infinite loop can occur if callback sets property

If a subscribed callback function sets it's own property, the resultant recursion results in an infinite loop and leads to a call stack exceeded error.

Solution in place to prevent the recursion.


"Headers is not defined" error message when setting up the API key

Hi, I noticed that when setting up the API key in my code, my Node.JS server just exits with this error message:

The same thing happens if I set the secret key inside a local function, I get the same error message in return. Any suggestions?

The identified issue was successfully resolved by upgrading the Node.js version from 16.13.1 to 18.12.0 on my side.


The first release

Could you make and publish the first release, please?
Currently using dependency "org.capnproto" % "runtime" % "0.1.0-SNAPSHOT" does not tie the client project into any specific version of capnp-java, and each client build might end up using a different capnp build.

I vote for the same, thanks.

This is now waiting on a response from https://issues.sonatype.org/browse/OSSRH-13527

Referencing "0.1.0" is working for my builds now

Release 0.1.0 at The Central Repository: https://search.maven.org/#search|ga|1|g%3A"org.capnproto"

Thanks!
Please could you also create a git tag 0.1.0 (https://github.com/dwrensha/capnproto-java/releases) for the commit that is in the release?
I'm currently pulling a specific sha of this git repo when compiling the compiler plugin. Would be nice to use the same tag for the compiler as for the runtime.

Good idea! Done: https://github.com/dwrensha/capnproto-java/releases/tag/v0.1.0


Company Custom Field - Export / Import Required

Problem -
User wants to import Excel sheet without need of going to each company and fill custom field
Requirements -

Exported sheet should be in format to re-import with values

export needed with filter expression selected, whatever filters user have selected, same objects should be exported with export functionality

Import sheet will create Custom field if not present, if nothing clash with existing custom fields according to custom field creation rules

This will be background task, will execute in jobs, job page will show task, but without details of objects, if details required then that will be additional 1 day work

Import will not create object, only if present then add custom field, ie. this module will not create Company / Contact / Project, if 1 found then custom field values will be added to object

Company creation can be done through Company page import. here it is not supported due to speed , processing issues

import sheet requires custom field with type , so system can process custom field and type
a. CustomFieldName(text) => sample
b. GSTNumber(text) => ASV123ASDF
c. AdharCart(number) =><PHONE_NUMBER>95
d. YearlyIncome(number) => 1,2,3,0.5,-10
e. IsNRI(bool) => true/false
f. Website(url) => https://www.google.com
g. ClientType(select) => options => GoldClass, SilterClass, Bronze Class

Field without type => (type) => (text) / (number) will be ignored by system, no default type is provided / developed, it is very complex as common sheet is processed for different import functionalities, we want keep sheet as common as possible that why not in favor to create default type => so, GSTNumber without any type can not be processed as GSTNumber(text) => User must provide type in order system consider column as CustomField Value

Custom Field with invalid cast type will be ignored

Custom Field with different type than System has will be ignored

No report is Generated for this Import, not developed in any manner, if required than additional - 3 days required to develop

Initiated by @vinpahilwani
Verified by @mitulpanch

This functionality is also required for Contact custom Field
Not required for Project (confirmed over phone with @vinpahilwani )

Company / Contact matching works same as Company Contact Import logic

type of Custom field can not be changed => these are hard coded casting => can not be changed

Export sheet can be reimported without column - row changes
Blank values custom field will be ignored by system,
Only filled value are considered to be processed
So emptying Custom Field value can not be processed by importing sheet

Sample sheet for clients will consist of 1 type of custom fields,
I will create sheet with some common types
@sureshsirvi please provide some default custom field that applies to all customers so that we can provide import sheet (like company contact import)
Company contact import sheet can be used here but that do not consist sample custom field that shows import module functionality

Common Custom Field

PAN : regex = "[A-Z]{5}[0-9]{4}[A-Z]{1}"
Aadhaar : regex = “^[2-9]{1}[0-9]{3}[0-9]{4}[0-9]{4}$”
TAN : regex = [A-Za-z]{4}[0-9]{5}[A-Za-z]{1}
CIN  : regex = ^([L|U]{1})([0-9]{5})([A-Za-z]{2})([0-9]{4})([A-Za-z]{3})([0-9]{6})$
GSTN : regex = ^[0-9]{2}[A-Z]{5}[0-9]{4}[A-Z]{1}[1-9A-Z]{1}Z[0-9A-Z]{1}$

yes for contact and company we require this feature


No ps command in WSLg system distro

Is your feature request related to a problem? Please describe.
When attempting to solve problems or indulging my curiosity as to what's going on in there, I want to see what's running under the covers. Without ps, it's inconveniently hard to find out!
Describe the solution you'd like
Please add ps to the system distro. /proc, ls, and cat together don't really cut it as a substitute!

I totally agree :-)... we used to have this, but some aggressive trimming of the packages remove it... we'll add this back.
You can do the following to add it back... but you'll need to do it every time you launch the system since the system distro is read-only and any changes to it are not persistent.
tdnf install procps-ng

We added this support in version 1.0.22 of WSLg which has been released earlier today. To update, please run the following from an elevated command prompt:
wsl --shutdown
wsl --update


Generated Full Name From First and Last Name If Not Available (merge to develop)

Summary
Generated Full Name From First and Last Name If Not Available.
Only use first name and last name in server side to build user. This PR allows displaying full name from the first name and last name if full name was not passed from LMS so that the signup page displays the correct full name.
Checklist

[x] Ran make check-style to check for style errors (required for all pull requests)
[x] Ran make test to ensure unit and component tests passed

 Improve first/last/full name handling


Bump nbconvert from 6.5.3 to 7.16.4

Bumps nbconvert from 6.5.3 to 7.16.4.

Release notes
Changelog
Commits

Fixes #116.

/condalock

/condalock


[narwhal] Do not deserialize pubKeys when used as identifiers

Narwhal uses pubKeys as identifiers but we should ensure we're only using its bytes and not deserializing to points. WIP
Generally ensure, we don't overdeserialize pubkeys

I've looked a bit into this and PublicKeys are indeed used as map keys in a few places. However, all deserialization of public keys (calls to PublicKey::from_bytes*) are going through NarwhalConfiguration::get_public_key which is only called by the new_epoch and new_network_info methods where the given validators' public keys are parsed from a NewEpochRequest and NewNetworkInfoRequest. So while using public keys as keys in these maps may be a bit overkill, I don't think there's any over-deserialization going on, and the public keys are, when used as keys in a map, just used in their cached serialized form because the Hash and PartialEq implementations for PublicKey just considers the keys' byte representation.

I've also checked for indirect calls to deserialize that could include a public key, but couldn't find any.


[ACR] az acr check-health: Fix docker pull bug

Description

Fix az acr check-health : Error image operating system "linux" cannot be used on this platform
Fix the bug that az acr check-health always throws "DOCKER_PULL_ERROR" for Windows container
Before:

After:

Testing Guide

az acr check-health --name myregistry --ignore-errors --yes
History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change.
[Component Name 2] az command b: Add some customer-facing feature.

This checklist is used to make sure that common guidelines for a pull request are followed.

[x] The PR title and description has followed the guideline in Submitting Pull Requests.

[x] I adhere to the Command Guidelines.

@yugangw-msft Could you help to review?

add to S169

How about output error without modification?
This line is not very robust. Usually, we should rely on error code rather than string matching.
if DOCKER_PULL_WRONG_PLATFORM in stderr:

How about output error without modification?
This line is not very robust. Usually, we should rely on error code rather than string matching.
if DOCKER_PULL_WRONG_PLATFORM in stderr:

We knew string matching is definitely not a good practice, but unfortunately it seems to be the only way to implement this, since currently Docker CLI does not return different exit codes to distinguish different errors types.
I found this [Proposal] docker pull return code issue in their repo is still open...

This PR is ready for review

Can anyone help to merge if no more concerns?


Enable CMake build

This PR allows test binaries to build built and executed on OS X and Linux (and Windows) with a Python script:
python ./scripts/build.py --tests
I've added a CMakeLists file, a Python build script that triggers CMake and added GSL to a submodule.
I can break this PR up if only bits of it are useful.
I will follow this up with a Travis-CI PR to enable CI on Linux and macOS.
This PR replaces #10 with identical functionality but correct handling of case-sensitive filenames.

Thanks, Jonathan.


ansible -B does not return ansible_job_id (page 37)

This appears to be a long-standing issue with Ansible, as seen here:
https://github.com/ansible/ansible/issues/15988
I commented on that thread with what I found, but I will copy+paste it here as well:
Attempting to do the ad-hoc command of:
ansible multi -b -B 3600 -a "yum -y update"
only returns:
<IP_ADDRESS> | SUCCESS | rc=0 >>
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.den1.denvercolo.net
 * extras: mirrors.cat.pdx.edu
 * updates: mirrors.centos.webair.com
No packages marked for update

<IP_ADDRESS> | SUCCESS | rc=0 >>
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.nodesdirect.com
 * extras: repos.mia.quadranet.com
 * updates: mirror.atlantic.net
No packages marked for update

<IP_ADDRESS> | SUCCESS | rc=0 >>
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.den1.denvercolo.net
 * extras: mirror.jax.hugeserver.com
 * updates: mirrors.centos.webair.com
No packages marked for update

when it should be returning something like:
background launch...
<IP_ADDRESS> | success >> {
    "ansible_job_id": "763350539037",
    "results_file": "/root/.ansible_async/763350539037",
    "started": 1
}
... [other hosts] ...

Same here.

I'm seeing this as well.
Both with yum module and with the command supplied in the book.
Also, I'm not having luck testing this on other remote servers.
Do all Ad-Hoc commands support running in the background?

@wtnebel - They should... but they don't always.
I would recommend adding feedback to the upstream issue https://github.com/ansible/ansible/issues/15988

Still waiting on a response for that one. Thanks Jeff!
Does anyone have an example set-up of it working correctly? I'm wondering if there's some issue with my specific versions/distributions of Ansible/Python/Host OS/Target OS.

Looks like there is a change in the pipeline that will address this issue soon:
https://github.com/ansible/ansible/pull/59935

Well... that was merged, and is in devel. I might get a chance to test it out soon...

Using Ansible 2.8.3:
$ ansible -i inventory multi -b -B 3600 -a "yum -y update"
 [WARNING]: Consider using the yum module rather than running 'yum'.  If you need to use command because yum is insufficient you can add 'warn:
false' to this command task or set 'command_warnings=False' in ansible.cfg to get rid of this message.

<IP_ADDRESS> | CHANGED | rc=0 >>
Loaded plugins: fastestmirror
Determining fastest mirrors
 * base: mirror.mobap.edu
 * extras: mirror.genesisadaptive.com
 * updates: mirror.mobap.edu
No packages marked for update

<IP_ADDRESS> | CHANGED | rc=0 >>
Loaded plugins: fastestmirror
Determining fastest mirrors
 * base: mirror.fileplanet.com
 * extras: mirror.pit.teraswitch.com
 * updates: mirror.mobap.edu
No packages marked for update

<IP_ADDRESS> | CHANGED | rc=0 >>
Loaded plugins: fastestmirror
Determining fastest mirrors
 * base: mirror.mobap.edu
 * extras: mirror.mobap.edu
 * updates: mirror.mobap.edu
No packages marked for update

Using latest devel:
$ ansible -i inventory multi -b -B 3600 -a "yum -y update"
 [WARNING]: Consider using the yum module rather than running 'yum'.  If you need to use command because yum is insufficient you can add 'warn:
false' to this command task or set 'command_warnings=False' in ansible.cfg to get rid of this message.

<IP_ADDRESS> | CHANGED => {
    "ansible_job_id": "169825235950.3572",
    "changed": true,
    "cmd": [
        "yum",
        "-y",
        "update"
    ],
    "delta": "0:00:01.768099",
    "end": "2019-08-20 21:43:14.836283",
    "finished": 1,
    "rc": 0,
    "start": "2019-08-20 21:43:13.068184",
    "stderr": "",
    "stderr_lines": [],
    "stdout": "Loaded plugins: fastestmirror\nLoading mirror speeds from cached hostfile\n * base: mirror.fileplanet.com\n * extras: mirror.pit.teraswitch.com\n * updates: mirror.mobap.edu\nNo packages marked for update",
    "stdout_lines": [
        "Loaded plugins: fastestmirror",
        "Loading mirror speeds from cached hostfile",
        " * base: mirror.fileplanet.com",
        " * extras: mirror.pit.teraswitch.com",
        " * updates: mirror.mobap.edu",
        "No packages marked for update"
    ]
}
<IP_ADDRESS> | CHANGED => {
    "ansible_job_id": "10147166642.3560",
    "changed": true,
    "cmd": [
        "yum",
        "-y",
        "update"
    ],
    "delta": "0:00:01.690709",
    "end": "2019-08-20 21:43:14.788515",
    "finished": 1,
    "rc": 0,
    "start": "2019-08-20 21:43:13.097806",
    "stderr": "",
    "stderr_lines": [],
    "stdout": "Loaded plugins: fastestmirror\nLoading mirror speeds from cached hostfile\n * base: mirror.mobap.edu\n * extras: mirror.mobap.edu\n * updates: mirror.mobap.edu\nNo packages marked for update",
    "stdout_lines": [
        "Loaded plugins: fastestmirror",
        "Loading mirror speeds from cached hostfile",
        " * base: mirror.mobap.edu",
        " * extras: mirror.mobap.edu",
        " * updates: mirror.mobap.edu",
        "No packages marked for update"
    ]
}
<IP_ADDRESS> | CHANGED => {
    "ansible_job_id": "379379275450.3575",
    "changed": true,
    "cmd": [
        "yum",
        "-y",
        "update"
    ],
    "delta": "0:00:01.799457",
    "end": "2019-08-20 21:43:14.877410",
    "finished": 1,
    "rc": 0,
    "start": "2019-08-20 21:43:13.077953",
    "stderr": "",
    "stderr_lines": [],
    "stdout": "Loaded plugins: fastestmirror\nLoading mirror speeds from cached hostfile\n * base: mirror.mobap.edu\n * extras: mirror.genesisadaptive.com\n * updates: mirror.mobap.edu\nNo packages marked for update",
    "stdout_lines": [
        "Loaded plugins: fastestmirror",
        "Loading mirror speeds from cached hostfile",
        " * base: mirror.mobap.edu",
        " * extras: mirror.genesisadaptive.com",
        " * updates: mirror.mobap.edu",
        "No packages marked for update"
    ]
}

Hmm... it seems polling doesn't work though—it waits until the very end and then gives all the job statuses. If I add -P 0 explicitly, it immediately dumps the ansible_job_id and everything. Strange behavior, maybe another bug?
At least the job IDs can be dumped if using -P 0 now.

To give more clarity:
ansible -i inventory multi -b -P 0 -B 3600 -m shell -a "while true; do echo test; sleep 5; done"

Ends up dumping:
<IP_ADDRESS> | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "ansible_job_id": "789829881512.4267",
    "changed": true,
    "finished": 0,
    "results_file": "/root/.ansible_async/789829881512.4267",
    "started": 1
}
...

But the following:
ansible -i inventory multi -b -B 3600 -m shell -a "while true; do echo test; sleep 5; done"

Sits forever. I would think it should poll every 10 seconds? If I add in -P 10, and wait over a minute, I still see no output.
The docs do indicate that polling should work like I'd expect... https://docs.ansible.com/ansible/latest/user_guide/intro_adhoc.html#time-limited-background-operations

Tried with:

Ansible 2.9.0-devel (as of today): failed
Ansible 2.8.3: failed
Ansible 2.7.0: failed
Ansible 2.6.0: failed
Ansible 2.5.0: failed
Ansible 2.4.0: failed
Ansible 2.3.0: failed
Ansible 2.2.0: failed
Ansible 2.1.0: failed
Ansible 2.0.0: failed
Ansible 1.9.1: shows status immediately, then updates every 10 seconds

(Failed == there seemed to be no live polling)

Ansible 1.9.1 help:
  -P POLL_INTERVAL, --poll=POLL_INTERVAL
                        set the poll interval if using -B (default=15)

Ansible 2.8.4 help:
  -P POLL_INTERVAL, --poll=POLL_INTERVAL
                        set the poll interval if using -B (default=15)

I opened an upstream issue: https://github.com/ansible/ansible/issues/61015

Actual upstream issue to follow: https://github.com/ansible/ansible/issues/14681

For now I'll update that section of the book to mention background tasks, but mention that polling does not work with realtime CLI output, so you can either run the task and it will complete and give final output and Job IDs, or run the task and immediately background it with -P 0 and it will give you the job IDs to check later.

Closing this issue as the text will now default to presuming -P doesn't do anything unless set to -P 0 (in which case it immediately prints the job IDs and exits).


Equivalent to AWS Service Catalog

AWS Service Catalog isn't listed in this page and I think it should be.
My feeling is that it would be in the marketplace section and that the equivalent would be Azure Managed Applications

Thanks for reporting - this issue is under review. This is a Microsoft Internal DevOps Bug ID # 362013

Thanks for reporting - this issue is under review. This is a Microsoft Internal DevOps Bug ID # 362013

This was added with previous updates.


Children components are not rendered after build

After building the project, children components are not rendered, while on dev-server everything is fine.
Ways to implement the issue:

Bare install the repo,
Create any component, use Input decorator for passing data to the component
Use newly created component in the template of any other components
Define the component in app.module.ts in declarations property
Run build npm run build

When serving from dist, the defined component is not rendered.
My project got big, and when I build it says:
Template parse errors:
Can't bind to 'isfixed' since it isn't a known property of 'rkrt-header'.

even if I already defined the components in my app.module.ts, while on dev-server everything is fine.
I even tried declaring it in directives property within the component, but same error.
Please help to solve the issue

It is a known bug with RC5 to be fixed on RC6 (which is due for early this week).
You can see more here https://github.com/angular/angular/issues/10618

@Foxandxss Thanks for the quick reply, will wait for RC6 impatiently.


Component to create: button

Official link to component description & demo: http://dev.office.com/fabric/components/button
Screenshot of web analytics for the original http://officeuifabric.com site by @andrewconnell. Use this to see what are the most popular components: http://imgur.com/gallery/buUcyQv

Spec:

<uif-button>Create account</uif-button>

<uif-button class="uif-primary"></uif-button>

<uif-button class="uif-command">
  <uif-icon>plus</uif-icon>
  Create account
</uif-button>

<uif-button class="uif-compound uif-disabled"
            uif-description="Description for button label">
  Create account
</uif-button>

<uif-button class="uif-hero">
  <uif-icon>plus</uif-icon>
  Create account
</uif-button>

After short research I'm not sure how about uif-description, but I think it should be OK to create uif-icon - it looks like other components are using that as well, e.g. ListGrid example (https://github.com/OfficeDev/Office-UI-Fabric/blob/master/src/components/List/List.Grid.html), with icons assigned to ListItem (therefore I also assume it would work for ListItem).

I struggle with the description as well... But how else to address it? Looks like a span with a class nested within it is how material does it at times

It's a bit tricky after all. My previous example is not the best one, as button wraps  element in a , but for List.Grid, it wraps it in a
.
In best case scenario uif-icon should output only the  element with appropriate class, but then it would take a lot of effort (or I'm wrong?) to adjust icon handling for different components (assuming putting that logic in the icon directive). Or maybe it would be possible to handle that per component rather than put a lot of conditional logic in icon directive?

I don't see the icon directive being different across different directives... they all seem to render the same thing out... just the .
For other components, I'd have to look at how the material guys handled it...

I agree - icon directive in outputs  in the end, but from what I saw different components can put some additional wrapping around icons, e. g. for button:
<button class="ms-Button ms-Button--primary">

</button>

and for list item:

  ...

    ...

I'm just thinking aloud how to handle those different 'wrapping' scenarios - I might be over-thinking the whole thing however.

No i don't think you are... good observation here. I'll do some investigation in ngmaterial... need to find some instances where they have to deal with it... like if you can have some context to your container

Looking at the examples above, the ListItem icon is wrapped in a div.ms-ListItem-action which seems like a part of ListItem action rather than an icon wrapper. As for the button: why shouldn't the button be responsible for correctly rendering its icon? In that way you would add a button with an icon inside and the button figures out how that icon should be properly wrapped to be rendered as designed in the Fabric. In both cases the icon would remain as-is and the wrapping would be done by the parent component.

While I see your point, one of the ideas of the directives is to make implementation a bit easier. In the case of list item, agreed... it's part of the action so that's not something you'd add to the icon. But in the case of the button, it's icon+button specific so I would think it would make sense to have either the button / icon know about the wrapper that needs to be rendered.

To what extent is this scenario different than for example handling a textfield with placeholder which also requires additional markup? What if we added an attribute you can set on the button directive which would render the icon markup? I'm not sure if this would allow us to reuse the existing icon directive but it would abstract away the icon markup and make it easier for devs to use buttons with icons.

Are you proposing...
<uif-button uif-icon="plus">Create Account</uif-buton>

I think that's what you're saying. We wouldn't do this... if it's content within the button, which the icon is, then that would be done as you see above in my spec. Doing it this way ^^^ is not great for reuse.

That's what I was thinking about indeed. I've had a quick look at ngMaterial and it seems like they don't have the challenge because Material doesn't use icon wrappers.
Given that icons are reused in different components in Fabric, each having their own wrappers, it would be better if the icon wrapping logic was a part of the component rather than the icon. The latter would require a long switch statement to cater for the different wrappers for different components.

I'll look at a few different options... we've collectively gone way off topic talking about icons here... there's an issue for icons :) #40
I've got the simple icon directive working locally... worst case any wrapping can be manually added but I'll look at what wrapping options there are... ideally at the container level (ie: button) and not at the child level (ie: icon).

I've been looking into the possibility of accessing child elements of a directive template. If it worked we could use it to examine the contents of  and wrap any  found with additional markup.

Made a few tweaks to the spec:

removed uif- prefix from the disabled attribute... there's already a valid HTML element for disabling controls so why not reuse it as it's less to learn for consumers as it will do the same thing
added support for telling the directive to render the button using <button> or

Touching base... how's it going with the directive?

Totally fair question @jjczopek ! This is a “spare time” project right now… i’m spending most of my time with it managing it (keeping issues updated, merges, etc). Trying to get some stuff done to simplify and distribute this role among us… but until then…
you can see my status on the button in my fork… I’ve got the tests & demo done, just implementing  the directive now: https://github.com/andrewconnell/ng-officeuifabric/tree/issue14-button


Run in Sipeed Maix Bit

I'm training for 2 classes and for detection, everything went well in the training, but when I'm going to run on a sipeed maix bit, through Maixpy, I always get an error whether it is the 2006 memory error or the others in version v3 / v4, whether or not using a card from memory. What is the correct script to run detection with Axelerate and what firmware version?

I realized that there are several parameters to adjust, such as the outputs the firmware and maybe it is interesting to say, (at least for me because all the models I trained gave a problem because the kmodel output is always greater than 3mb) anyway, I think it is interesting say that:
Step 1 - Use the minimum firmware with the latest ide with v4 support to use in Maixpy or without ide directly in the terminal (I couldn't see the output in the terminal but maybe it is from the script, I will study it yet).
Step 2 - The script for v4 that is here in your example scripts works
Step 3 - But it only works for sd card loading (all models I trained gave more than 3mb)
Step 4 - Between tests always remember to press the reset button
Step 5 - When training, it is easier to use Roboflow.com to resize the images and store them.
Great job, I used transferlearning too and I'm delivering a great job to my college in Brazil

Use the minimum firmware with the latest ide with v4 support to use in Maixpy or without ide directly in the terminal (I couldn't see the output in the terminal but maybe it is from the script, I will study it yet).
Yes. I normally build firmware myself, with kmodelv4 support, IDE and optionally ulab/video. It is ~1.6 Mb in size.

The script for v4 that is here in your example scripts works
Yes. aXeleRate uses nncase v0.2.0-beta4, which outputs kmodelv4

But it only works for sd card loading (all models I trained gave more than 3mb)
If you plan to use Micropython firmware, you should use MobileNet2_5, MobileNet5_0,, MobileNet7_5 or Tiny Yolo backends. You probably have used MobileNet1_0, which is too large to fit in memory IF Micropython is used. MobileNet1_0 can be used if you're writing C code for K210.

Between tests always remember to press the reset button
Yes.

When training, it is easier to use Roboflow.com to resize the images and store them.
Not sure why. aXeleRate automatically resizes and even augments the images.

Anyways, it should work with latest version of Micropython firmware with kmodel v4 support.
The memory needed to run the model depends on backend chosen.

Perfectly.
I will change the backend, Thanks

Me and my teammates worked on two projects using MobileNet1_0 on 2 models, one was classification and the other was object detection. These were tight fits, and we had to use the maixpy_v0.6.2_41_g02d12688e_minimum_with_kmodel_v4_support custom firmware to make it work.
The object classification one was just a basic test, probably 150+ images, but the classification one we were using almost 2000 images, and it worked fine.
Salve irmão

Eu e meus colegas de equipe trabalhamos em dois projetos usando MobileNet1_0 em 2 modelos, um era classificação e o outro era detecção de objetos. Eram ajustes apertados e tivemos que usar o maixpy_v0.6.2_41_g02d12688e_minimum_with_kmodel_v4_supportfirmware customizado para fazê-lo funcionar.
A classificação de objetos foi apenas um teste básico, provavelmente mais de 150 imagens, mas a classificação estávamos usando quase 2.000 imagens e funcionou bem.
Salve irmão

HAHAHA adorei o Salve irmão

I also used this with the ide, it worked well here, I used a pre-trained network to improve the performance with 430 images, maybe I should increase the bank or not because I will already deliver this work.


[Python] UTC Timezone Equality is case sensitive

Describe the bug, including details regarding any error messages, version, and platform.
Not sure if this is a bug but I found the behavior surprising
>>> import pyarrow as pa
>>> pa.timestamp("us", "utc") == pa.timestamp("us", "utc")
True
>>> pa.timestamp("us", "utc") == pa.timestamp("us", "UTC")
False

I suppose it is doing a very literal string comparison on the timezone
Component(s)
Python

The comparison of DataTypes is done in Arrow C++ and for timestamps it is comparing the exact timezone string (it is saved as a string) as you have mentioned.
To do a logical comparison of timezones one should probably use a dedicated library for that. In Python you could try with:
>>> import pytz
>>> pytz.timezone(pa.timestamp("us", "UTC").tz)
<UTC>
>>> pytz.timezone(pa.timestamp("us", "utc").tz)
<UTC>
>>> pytz.timezone(pa.timestamp("us", "utc").tz) == pytz.timezone(pa.timestamp("us", "UTC").tz)

and then separately compare the timestamp unit:
>>> pa.timestamp("us", "utc").unit == pa.timestamp("us", "UTC").unit
True

Thanks for the input @AlenkaF . Another option I would propose is to disallow "utc" and force "UTC". The former is technically not part of the Timezone Database List
For instance, if you try to do the same thing in polars you get an error. Taking a slightly modified example from their docs
>>> import polars as pl
>>> ts = ["2021-03-27 03:00", "2021-03-28 03:00"]
>>> tz_naive = pl.Series("tz_naive", ts).str.to_datetime()
>>> tz_aware = tz_naive.dt.replace_time_zone("utc").rename("tz_aware")

yields:
ComputeError: unable to parse time zone: 'utc'. Please check the Time Zone Database for a list of available time zones

I came across this issue when trying to exchange arrow data across the different libraries

We actually also raise an error if you try to use the lower case "utc", exactly for that reason of not being part of the database. For example:
In [18]: arr_naive = pa.array([pd.Timestamp("2021-01-01 09:00")])

In [19]: pc.assume_timezone(arr_naive, "utc")
...
ArrowInvalid: Cannot locate timezone 'utc': utc not found in timezone database

However, the issue here is that we don't do any validation of the timezone at all at construction time of the type (or when reading in a file, or ..).
I assume one reason for this is because there is not necessarily a guarantee that a timezone database is available to perform this check (i.e. typically on windows).


FR: In between workflow caching

Something to take a look at:
https://snakemake.readthedocs.io/en/stable/executing/caching.html
Would be great for genomes and indices.

We implicitly do this by having all the paths point there. But maybe something to think about whether or not it makes sense for us. I am not sure :)


Added coins and a store. Added more theme settings.

Removed a ton of empty pages, which looked like:

Fixed accounts not being detected.
Added coins. (new settings too!)
Added a store. (/store, /buyram, /buydisk, /buycpu, /buyservers)
Modified /api/userinfo to show how much coins a user has.
Added /api/setcoins.
On the administrator page, you could set someone's coins.
More settings on pages.json.
There were probably more updates I added that I forgot of.

** Fixed https://github.com/real2two/dashactyl/issues/9


well known redirected to unknown site

I wanna create for preparoma.cerise-concept.com but got error with this log
https://acme-v01.api.letsencrypt.org/acme/authz/n46Ua9ilrEr1MPwkYv0wAxzJAoQiZbbwQsFJjyABWwM

Hi.
Sorry for the one month delay. Are you still experiencing this issue ?

No activity on this issue for more than 3 months, closing.


Only show videos

Hey how can I manage to only show videos?
I use:
config.screens = [.video]
config.startOnScreen = .video
but it always crashes immediately
moreover it always crashes when I try to switch the sections (library to photo or video)
my code
    var config = YPImagePickerConfiguration()

    config.showsVideoInLibrary = true
    config.onlySquareImagesFromLibrary = false
    config.libraryTargetImageSize = .original
    config.usesFrontCamera = false
    config.showsFilters = false
    config.shouldSaveNewPicturesToAlbum = false
    config.videoCompression = AVAssetExportPresetMediumQuality
    config.albumName = "123"
    config.videoFromLibraryTimeLimit = 60
    config.screens = [.video]
    config.startOnScreen = .video
    config.wordings.libraryTitle = "One"
    config.hidesStatusBar = false
    YPImagePicker.setDefaultConfiguration(config)
    let picker = YPImagePicker()
    picker.delegate = self

it works fine with photos, if I use library it displays videos and images but I only want it to show video....
while Im at it, how can I mute a video? it keeps on playing

@SashaMeyer
That's weird :)
You should be able to only show video with just config.screens = [.video]
config.startOnScreen = .video would be redundant in this case.
Here is the code that I tested against the master branch which worked :
        var config = YPImagePickerConfiguration()
        config.showsVideoInLibrary = true
        config.onlySquareImagesFromLibrary = false
        config.libraryTargetImageSize = .original
        config.usesFrontCamera = false
        config.showsFilters = false
        config.shouldSaveNewPicturesToAlbum = false
        config.videoCompression = AVAssetExportPresetMediumQuality
        config.albumName = "123"
        config.videoFromLibraryTimeLimit = 60
        config.screens = [.video]
        config.startOnScreen = .video
        config.wordings.libraryTitle = "One"
        config.hidesStatusBar = false
        YPImagePicker.setDefaultConfiguration(config)
        let picker = YPImagePicker()
//        picker.delegate = self // Why did you have delegate here?
        picker.didSelectImage = { [unowned picker] img in
            // image picked
            print(img.size)
            self.imageView.image = img
            picker.dismiss(animated: true, completion: nil)
        }
        picker.didSelectVideo = { [unowned picker] videoData, videoThumbnailImage, url in
            // video picked
            self.imageView.image = videoThumbnailImage
            picker.dismiss(animated: true, completion: nil)
        }
        picker.didCancel = {
            print("Did Cancel")
        }
        present(picker, animated: true, completion: nil)

Are you using the latest version 2.8.1 ?

What iOS version/ Device version is the crash happening on?
Could you log the crash logs if you have some more info ?

Concerning "crashes when I try to switch the sections (library to photo or video)", it shouldn't happened neither :/
Library showing only videos is not supported at the moment but this looks like a desirable feature.
I encourage you to open a separate issue for that one :)
Concerning muting videos, tapping on them should pause them, isn't in your case?
Cheers,

i am using 2.8.1 as a version and it crashes on the simulator iPhone x
its pausing them but after a couple of seconds it starts playing again, I will further test it now on a real device, the simulator may be bugging

app always crashes, even with your code and on real device, iPhone 8 sim and iPhone X sim

Pausing videos is not supported in 2.8.1
However you can clone multilpeSelection branch directly and it's support pausing.

@SashaMeyer
Question: Are you testing on the Example Project or in a separate project that you made?
On the latest release 3.1.0, here is the code that works on my side (on iPhone X)
This replicates your use case aka library only showing videos + Video section.
var config = YPImagePickerConfiguration()
config.library.mediaType = .video
config.showsFilters = false
config.video.compression = AVAssetExportPresetMediumQuality
config.albumName = "123"
config.screens = [.library, .video]
config.startOnScreen = .video
config.wordings.libraryTitle = "One"
config.hidesStatusBar = false

let picker = YPImagePicker(configuration: config)

// Single Video implementation.
picker.didFinishPicking { items, _ in
    self.selectedItems = items
    self.selectedImageV.image = items.singleVideo?.thumbnail
    picker.dismiss(animated: true, completion: nil)
}

present(picker, animated: true, completion: nil)

Could you try that code and tell me if you still have the issue?
Also if any crash occurs, could you report the log? It's very hard to find the cause without more information :)
Side note:
In your first post you say "it always crashes when I try to switch the sections (library to photo or video)"
There must be an issue since when using config.screens = [.video] there should be no other screens than video! so no way to pan between modes 🙃
PS: The video playing in background was a bug that has been fixes in latest releases.
Hope this helps,

@SashaMeyer Any updates?

closing for lack of activity, feel free to reopen if needed :)


Subreddit navigation

Fixed:

Typos
Imports
Added:
ignore yarn
subreddit navigation
Little bit of ES6

Some of these are just suggestions, feel free to modify as you please.

Thanks! I will look through the changes tomorrow or on Monday

Done

I will merge and play with it a little :)

Just fixed the loadMore() to work within subreddits, I'll add another PR in a sec, beware :laughing:

I'm going to the cinema so i'll check it later :)


Use intrinsics when microsoft-clang or microsoft-intel-clang is compiler, except for division in which case use intrinsic uint128

Intrinsic division will not be supported on msvc x64 with clang or intel-llvm because of linker errors.   If those errors can be resolved, will restore.

Resolved with commit 3744006.


"Failed to find chart in repo" message appeared for local chart

Reproduce

Install chart from local file system helm install .
Open helm-dashboard
Message "Failed to find chart in repo" will appear

Related

Related
UI - https://github.com/komodorio/helm-dashboard/blob/bedb356b02f5cb6cd861ad2f16db55d1c674b3a6/pkg/dashboard/static/actions.js#L21
The backend response
[GIN] 2022/11/24 - 16:53:54 | 500 |   34.611458ms |       <IP_ADDRESS> | GET      "/api/helm/repo/search?name=REDACTED"
Error #01: Error: no repositories configured

Thanks for reporting!


Geo-compose: add identify methods and microapp

-Adds all identify methods to the GeoViewProxy
- These are added as methods with default parameters rather than the overload pattern used in view-based GeoView
- identifyLayer and identifyGraphicsOverlay are both renamed to be identify overloads to match swift

Modifies GeoViewProxy and MapViewProxy to ensure only one GeoView is cached and accessed
Adds a microapp to demonstrate identify and use of the MapViewProxy by tapping on recent earthquake events.

@puneet-pdx The insets behavior was overcomplicating this microapp, so I have removed it entirely and it can potentially be covered as a follow-up

Thanks @gunt0001 @puneet-pdx I have made all those changes


Support dates and times in formulas

I'd love to be able to calculate "Days since" for a column where I'm using it to track chores that need to be done around the house. I'd love to be able to do something like:

thing
date
days since

Thing 1
2021-08-29
$-1 - today()

And have it render as:

thing
date
days since

Thing 1
2021-08-29
1 day

+1 for this request. It would be great to be able to time diff like

START
END
DURATION

09:45
10:30
45

Be sure to check out the comments in #45 when implementing this.
Consider the difference between times and durations.


Publish compiled extension to maven repo and Github releases?

Although a trivial matter for one to compile oneself, they are still extra steps.
Excluding one's need to typically create custom versions of a SyntheticLoadGenerator, the extension itself is general enough to just compile without any changes.
Have you thought to publish a compiled version to maven so others can easily pull it into their maven projects using JMeter? And/or publish to Github releases for download skipping need to compile ourselves?
By the way, there is a JMeter maven plugin:
https://github.com/jmeter-maven-plugin/jmeter-maven-plugin

Patches welcome. :)

For the casual reader coming across this item, see issue #10.


settings templates.path

Hello,
When I want to set templates.path with config() method:
config(array(
    'debug' => true,
    'templates.path' => 'custom_path',
));

it does not work because templates dir is set by view() method only
which is called from constructor.
so I have to
add
$app->view($app->config('view'));

But i dont want to change view class so calling config should be enough.

Darek.

Hi Darek. That's a valid concern. I recently changed Slim so that the View was assigned its template path when the Slim app is constructed. However, it is also useful, as you've shown, to ensure the View has the latest template path upon render. I'll push a fix soon so that the View is assigned its template path during Slim instantiation and during render.

ok, thanks for answer.

I've pushed a fix to the develop branch so that the View's template path is set right before render. This fix will be available in the stable 1.6.0 release later this month.


Move ALL logic out of main.ts

Please do not report security vulnerabilities here. Submit all security issues to<EMAIL_ADDRESS>Thank you in advance for helping us to improve this library! Please read through the template below and answer all relevant questions. Your additional work here is greatly appreciated and will help us respond as quickly as possible. Finally, to avoid duplicates, please search existing Issues before submitting one here.
By submitting an Issue to this repository, you agree to the terms within the Code of Conduct.
Describe the problem you'd like to have solved
Move ALL logic out of main.ts as this will make it more testable so we can test uses cases such as raised in #24.
Describe the ideal solution

A clear and concise description of what you want to happen.

Alternatives and current work-arounds

A clear and concise description of any alternatives you've considered or any work-arounds that are currently in place.

Additional context

Add any other context or screenshots about the feature request here.

won't do


NetworkedMultiplayerEnet: Add disconnecting/kicking peers

Adds the ability to disconnect/kick peers from servers in NetworkedMultiplayerEnet.
Also some comment/code cleanup in the surrounding code.
Tested, seems to work fine. Closes #16452.
Not sure if this should be cherry-picked? It shouldn't break compability, only adds a new method.

Thanks, updated. Way neater now :)

Fixed, thanks faless :)

Thank you for your contribution, good job :+1:


No instrumentation

@ipolevoy , @ericbn
Obviously, don't merge this. I was hoping to push it against a testing branch, but didn't see one. Perhaps you guys could create a no_instrument branch for me.
BUT, I've got every unit test passing, with removed instrumentation from activejdbc.
Figuring out the associations was the hardest part, but everything was laid out very cleanly.
Refactoring some things in the Registry class was also difficult. Basically to keep the code down, it dynamically adds your models to the registry as you use them. You can also optionally call a Model.init(), which I found necessary in a few places where associations went through an intermediary table like DoctorsPatients. Overall though, its working great.
It uses the solution I suggested in issue #392 , where basically in your table definitions file, you create a publicly available instance of your model(I used caps to keep the syntax the same everywhere, but all caps might be more in line with java standards).
public class Doctor extends Model {
	public static Doctor Doctor = new Doctor();
}

Then when you want to use it, just do a static import:
import static org.javalite.activejdbc.test_models.Doctor.Doctor;

The syntax for fetching, saving, updating, is exactly the same, as should be obvious from every test passing. /activejdbc/src/test/java/org/javalite/activejdbc/ModelTest.java is probably the best example for how its working.
The impetus for this for me, was the fact that I have sub projects of subprojects that could potentially use activejdbc, but instrumenting would make this really difficult. A simple maven <dependency> will not do instrumentation as you said @ipolevoy , but just copies the bytecode.
We can talk about the tradeoffs of using instances, vs doing post-compile instrumenting. I'd really appreciate it if you guys would take a look and tell me what I've done idiotic here.

@tchoulihan , first I can say that what you did here is ingenious. The code looks to be exactly what it needs to be, and there is no instrumentation, while tests are passing (I take your word for it).
However, there are things with the way you implemented it, that will prevent from adopting your approach. some are inconveniences, and some are semantic problems.
Inconveniences:
The necessity to do a static import:
import static org.javalite.activejdbc.test_models.Doctor.Doctor;

this to me looks like unnecessary code in my project. Lets say this is a minor inconvenience.
Definition of static member of self in each model:
public static Person Person = new Person();

same as above, looks like adding more noise to my otherwise clean model just to make the framework happy
Semantic issues:
Definition of static member of self in each model:
public static Person Person = new Person();

Besides being an inconvenience, this is also a semantic issue. Any Java developer looking at this will throw arms in the air and cry: "why???".
Instance variable name is the same as class name!
Instance name and class name lead to confusion
The instance name is the same as the class name, making it immediately hard to comprehend when you look at code outside this class. Each time, you will have to wrap your head around this, to recognize that methods are called on instance, and not class.
Additionally, it is against Java practice to start variable names with a capital. Look through any Java project source code and find one instance of it - you will not find any.
Ultimately, when I see this: Person, I do not know anymore that this is: instance variable, or a class.
For these reasons, we will not be merging this PR, but you get special appreciation for your effort and ingenuity!

@ipolevoy @ericbn
Thanks for taking a look at this. That's very understandable, I just wanted to show you guys an alternate way to get around instrumentation.

The necessity to do a static import

I totally agree, this is certainly inconvenient. In my project, I keep a single Tables.java class that contains all the members like this:
	@Table("Cart_view")
	public static class CartView extends Model {}
	public static final CartView CARTVIEW = new CartView();

	@Table("Cart_group")
	public static class CartGroup extends Model {}
	public static final CartGroup CARTGROUP = new CartGroup();

Which means I only have to do a single static import whenever I want to use activejdbc.
import static com.xxx.db.Tables.*;

Instance name and class name lead to confusion

My preference is to use all caps, as is standard for constants in java. This also makes it obvious whether you're using an instance or a class name, but with this PR, variable names are up to the user.
public static final Person PERSON = new Person();

And fetching would just be
PERSON.find(...

I'm actually using this branch in a project of mine, because when I don't have to instrument, it scales and unit tests easily.

@tchoulihan , if you use IntelliJ Idea, you can call instrumentaion with one click. This is the reason I do not see this as a problem at all. Good luck with your project.


Update Audience and Stability annotations for basic classes

First pass on adding annotations for the most basic classes.

Codecov Report

Merging #4169 into master will increase coverage by 0.1%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##             master    #4169     +/-   ##
===========================================
+ Coverage     67.06%   67.17%   +0.1%
  Complexity       20       20
===========================================
  Files          1037     1037
  Lines         51454    51454
  Branches       7201     7201
===========================================
+ Hits          34510    34565     +55
+ Misses        14581    14513     -68
- Partials       2363     2376     +13

Impacted Files
Coverage Δ
Complexity Δ

...main/java/org/apache/pinot/filesystem/PinotFS.java
78.57% <ø> (ø)
0 <0> (ø)
:arrow_down:

...va/org/apache/pinot/filesystem/PinotFSFactory.java
84.37% <ø> (ø)
0 <0> (ø)
:arrow_down:

...he/pinot/core/query/pruner/ValidSegmentPruner.java
57.14% <0%> (-28.58%)
0% <0%> (ø)

...pache/pinot/core/util/SortedRangeIntersection.java
83.82% <0%> (-7.36%)
0% <0%> (ø)

...impl/dictionary/DoubleOnHeapMutableDictionary.java
75.55% <0%> (-6.67%)
0% <0%> (ø)

...pinot/core/operator/docidsets/OrBlockDocIdSet.java
84.9% <0%> (-3.78%)
0% <0%> (ø)

.../org/apache/pinot/transport/netty/NettyServer.java
80.8% <0%> (-3.04%)
0% <0%> (ø)

.../impl/dictionary/BaseOffHeapMutableDictionary.java
81.03% <0%> (-2.88%)
0% <0%> (ø)

...r/helix/SegmentOnlineOfflineStateModelFactory.java
66.01% <0%> (-1.95%)
0% <0%> (ø)

...pby/NoDictionarySingleColumnGroupKeyGenerator.java
86.53% <0%> (-1.93%)
0% <0%> (ø)

... and 25 more

Continue to review full report at Codecov.

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


Add dynamimc loading for existing "img" elements

Related links:
http://www.html5gamedevs.com/topic/20128-pixijs-loader-loading-assets-from-sever-path-not-url/
https://github.com/pixijs/pixi.js/issues/2323

Fixed: 09e4861cff9e32f68a19f2fb2578535879d15fe7


Use csc2dense to convert csr-matrix to dense

I found cusparseScsc2dense API, that can convert csc matrix to f-contiguous array. I fixed csr_matrix.toarray with this method to return c-contiguous array.

LGTM

any recent progress?


parca-agent: format C code according to GNU formatting guidelines

Formatted parca-agent-bpf.c according to GNU code formatting guidelines using clang-format.
Basically running clang-format --style=GNU parca-agent.bpf.c ;)

Do you mind adding this to the makefile?

Sure :)

Added. I don't know how you manage developer environments, so I did not include installation of clang-format application in Makefile.

Perfect, thank you so much!


step switching in CreateFullPage

What package(s) are you using?

[x ] Cloud & Cognitive
[ ] Legacy/CDAI
[ ] Legacy/Security

What did you want to know?
After completing the steps, "Change" links are displayed on the summary page to allow user switching to a specific step to change the input and go back to the summary page. Is it feasible for CreateFullPage? Can you advise how to implement it?
Is it feasible to click the step titles in the left influencer to go to a step and how? Thanks.
Relevant information
My CreateFullPage contains several steps and the last step is a summary page that contains some links for user to go to a specific step.

Hey @qi-wang! 👋   Do you have designers working on your team? It would be helpful to discuss this behavior in more detail with your team's designers and the designers who worked on the CreateFullPage and CreateTearsheet components. Thanks!

The request was from our UX designer. Here is the desired behavior:

Ideally the user can switch to any step by clicking a step title in Influencer. The disableSubmit condition is still checked. If a step is not valid to go,  CreateFullPage stays in the current step. The step titles in Influencer do not have to be links but are enabled for user interactions.
"Change" links on the summary page (last page) leads to various steps. For example, user input field1 in step1, and input field2 in step2. There are "Change" links beside field1 and field2 values on summary page. When user clicks the link beside field1, the CreateFullPage component switches to step1. When user clicks the link beside field2, the CreateFullPage component switches to step2. If CreateFullPage can be enhanced to expose the control of currentStep, this behavior would be feasible.

For now I'm programmatically calling the click event on the Back and Next buttons to archive this. Here is the code FYI.
    const gotoStep = param => {
        if (typeof(param) === 'object') { // param is the event object
            param = param.target.id;
        }
        const index = param.substring(param.length - 1); // get the step index from the node id
        console.log("go to step: " + index);

        // get current step
        const li = document.querySelector('.bx--progress-step--current');
        const currentStep = li.querySelector('.bx--progress-step-button').getAttribute('index');
        const diff = currentStep - index;
        const backBtn = document.querySelector('.exp--action-set__action-button.bx--btn--secondary');
        const nextBtn = document.querySelector('.exp--create-full-page__create-button');
        if (backBtn) {
            // go backward
            for (let i = 0; i < diff; i ++) {
                backBtn.click();
            }
            // go forward
            if (diff < 0) {
                for (let i = diff; i < 0; i ++) {
                    setTimeout(() => {
                        nextBtn.click();
                    }, 100);
                }
            }
        }
    }

    componentDidMount() {
        const steps = document.querySelectorAll('.bx--progress-label');
        for(let i =0; i<steps.length;i++ ){
            steps[i].setAttribute('id', 'progress-' + i); // add id with step index to titles in influencer
            steps[i].addEventListener('click', this.gotoStep); // add handler for click event on the step titles
        }
    };

Thanks for looking into this request.

I see. I think it would be helpful to have your designers speak with @andrea-gm, she worked on the designs for this component and I think would be interested in hearing more about your use case.
One thing I would be careful of in the code you shared above is hardcoding our prefix exp directly inside of a querySelector. The prefix for our component library is changing soon. What you should do instead is something like this:
import { pkg } from "@carbon/ibm-cloud-cognitive/es/settings";
...
...
const backBtn = document.querySelector(`${pkg.prefix}--action-set__action-button.bx--btn--secondary`);
...
...

Even with this approach, the carbon prefix bx is still hardcoded and I believe in Carbon v11 the prefix is changing to cds so just be careful about that.

Thanks for the information about the prefix. Our designer has retired early this week. You may contact me if there are any questions regarding the use case.


#1607 User Roles Part 2 (Implementation)

Author checklist

[ ] Include primary ticket number in title - e.g. "#123 New styling for widget" - and any additional tickets in description
[ ] Fill in the details below and delete as appropriate
[ ] Be proactive in getting your work approved 💪

What's included?
Implement the following User Roles:

Digital Super User
Operations Senior Manager
Operations Team Member
Other JAC Staff

View only access (no editing, creating or processing)

See digital-admin #703 User Roles Part 2 (Implementation) for backend implementation.
The ideas of implementation of user role:

Store roleId and corresponding permissions in custom claims of auth token like idTokenResult.claims.r and idTokenResult.claims.rp.

Use function adminSyncUserRolePermissions to sync up role permissions in idTokenResult.claims.rp.

Store enabledPermissions of each role in roles collection.

According to the idTokenResult.claims.rp to check permissions on UI using the following method:
<template>
  <div v-if="hasPermission(PERMISSIONS.database.permissions.canCreate.value)">
    protected content
  </div>
</template>

<script>
import Permission from '@/components/Permission';
export default {
  extends: Permission,
};
</script>

Modify both src/permissions.js in admin repo and functions/shared/permissions.js in digital-admin repo if need add more permissions.

Who should test?
✅ Product owner
✅ Developers
✅ UTG
How to test?
Run cloud functions locally:

Open digital-admin repo and switch to feature/703-user-roles-part2-implementation branch.

Run admin website:

Go to User Management page and change user role.
Reload the page to make new role work.
Go to the corresponding page to check if role check works.

Risk - how likely is this to impact other areas?
🟠 Medium risk - this does change code that is shared with other areas
Additional context
Include screen grabs, video demo, notes etc.
Related permissions
Permissions have been added / updated. Details:

Database (firestore security rules)

Can create (d1)
Can update (d2)
Can delete (d3)

Users

Can enable users (u1)
Can change user role (u2)
Can edit role permissions (u3)
Can delete users (u4)
Can create roles (u5)

Exercises

Can approve exercise (e1)
Can add notes to exercise (e2)
Can reset exercise (e3)
Can amend after launch (e4)
Can publish an exercise as live (e5)
Can delete candidate character information (e6)
Can delete qualifying test (e7)
Can create exercises (e8)
Can update exercises (e9)

Candidates

Can view all candidates (c1)
Can update candidates (c2)
Can add notes to candidates (c3)

Notifications

Can update notifications (n1)

PREVIEW:DEVELOP
can be OFF, DEVELOP or STAGING

@HalcyonJAC this is looking good so far. Keen to see the sister ticket (digital-platform#705) finished so it can all be tested together.
In priority order testing will involve.
Essential

Check that Firestore documents are only accessible for roles with the correct permission
Check that Cloud Functions only work for roles with the correct permission
Check that Cloud Storage folders are only accessible for roles with the correct permission

Important

Admin, Apply and Assessments UIs inform user when they attempt an action they do not have permission for
OR
Admin, Apply and Assessments UIs hide functionality if the user role does not have permission


Add Lab Color Sliders not working

When I add Lab divs in the html in index.html (from the documentation page), the JavaScript should create the sliders and everything in the renderColorSliders function. But run it and try it out, the Lab color sliders don't move.
I think the problem is at line 118 (in the codePen bellow), or it's on line 102.
Here's a code sample of what I mean:
CodePen

Hi @Horray ,
you forgot to write what to do in line 117:
if (child.id) {
    child.children[0].style.width = ((color.RND[type][mode] - ...

So, child.children[0].style.width =  is missing.
Still, Lab is different (negative values and no normalized value range) so it might be more complex to solve that...
BTW: I'm happy to help out if things are not clear with color picker, but I can't spend too much time helping people programming their own things. Please don't put issues on this page that are not really related to clorPicker. Thanks.

Oh okay. I understand! But the reason I did ask it here, was because it's related to the documentation page and color.js.
But thanks anyway for your earlier help!

Also, the more I look into it, the more I think the problem is with the setColor function, which ultimately is convertColors function. So I don't think this is off topic.

With setColor you can set a color (or part of a color) and it will then calculate all the other color spaces and return an object including all those:
myColor.setColor({
    r: 200,
    g: 100
}, 'rgb', 1);

Inspect the returned Object to see what you get

With a little outside help, I got the L working correctly but the A and B has weird behavior. I added some code to the slideMove function:
sliderMove = function (e) {
    if (type === 'Lab') {
        var currentLab = myColor.colors.Lab;
        var factor = (e.clientX - startPoint.left) / currentTargetWidth;
        currentLab[mode] = (mode === 'L') ? factor * 100 : (factor * 255) - 128;
        var hex = myColor.convertColor(currentLab, 'Lab2HEX');
        myColor.setColor(hex, 'hex');
    } else {
        var newColor = {};
        newColor[mode] = (e.clientX - startPoint.left) / currentTargetWidth * max[type][mode][1];
        myColor.setColor(newColor, type);
    }
}

CodePen

That's because you convert to HEX and then set color. The color space of Lab is way bigger then RGB mode...
To set a color, you can just manipulate the color object and then set the color by passing an empty object:
if (type === 'Lab') {
    var currentLab = myColor.colors.Lab;
    var factor = (e.clientX - startPoint.left) / currentTargetWidth;
    factor = factor > 1 ? 1 : factor < 0 ? 0 : factor;
    currentLab[mode] = (mode === 'L') ? factor * 100 : (factor * 255) - 128;
    myColor.setColor({}, 'Lab');
}

Thank you very much! It finally works!!

Hi @Horray,
I just updated colorPicker with a demo on how to realize Lab sliders.
Just pull the newest version, remove the comments of the sliders in the index.html and you can use them. Be aware that I changed all the id="rgbr" like DIVs...

Thank you very much! You're a great help!


Adding new translations doesn't automatically add them to en_us.txt

Basically, when you make a new translation for a new thing, it doesnt get automatically added to the en_us.txt file, or any others for that matter. This is a problem, as then the message throws an error and doesnt print at all, which is sort of a problem. I think I got a solution, which would be to separate out the list of translations which is inside world-edit.sc to a global file which is always automatically saved to the translations map, and then we check if the incoming files have all the translations, and if not we just add the missing ones, instead of replacing them, so that then the old translations work, and the new ones as well.

I can fix this, but lemme just wait for #19 to get accepted


MRG, ENH: Add array-spacing plugin and reorganize deps

Playing around with CIs a bit:

Add flake8-array-spacing plugin. It allows us to remove some # noqa lines, which is nice. Not 100% sure we want this, but I want to see if it works at least.
Remove pytest, flake8, and related things from the mne env and requirements.txt. Now these files only contain what is necessary to get 100% functionality out of MNE-Python.
Create requirements_testing.txt and doc/requirements.txt with the additional requirements for running tests and building docs, respectively.

This simplifies our CI code a bit, which is nice. I'm not expecting the CIs to come back happy on the first try, but folks should feel free to have a look and see if they're happy with the overall structure for when I can get the CIs to cooperate.

I went back and forth on the naming, too. But I figured having one under doc/ was better than another root-level file. But we don't have a better place for the _testing.txt one. I guess I could rename tools to testing...?

I figured having one under doc/ was better than another root-level file.

A bloated root-level doesn't bother me, FWIW, as long as the filenames are well organized.  requirements.txt, requirements_testing.txt, and requirements_docs.txt seems fine to me.  I'd also change server_environment.yml to environment_server.yml or perhaps environment_headless.yml

I'd also change server_environment.yml to environment_server.yml or perhaps environment_headless.yml

Let's hold off on this one, I'm hoping that maybe we won't need it after https://github.com/pyvista/pyvista/pull/824 (?)

thx @larsoner
we'll deal with notebook test failure next week


WIP: Add nginx site template for Laravel projects

Add an nginx vhost configuration for Laravel projects. Note the web_directory parameter will also need to be adjusted to /vagrant/public in parameters.yml in every project.

This PR is a : New feature

[ ] Documentation is written
[ ] parameters.yml.dist is updated
[ ] playbook.yml.dist is updated
[ ] Changelog was updated

I don't have time nor interest to continue working on this, feel free to take this over.


Add files via upload

👎

235 Bytes password-list.  "RAR" Niice..
👎 Close, spam.

Now he approves on 2nd acc 😅

Hi guys
On Sat, Jul 2, 2022, 6:41 PM Becky773 @.***> wrote:

@.**** approved this pull request.
—
Reply to this email directly, view it on GitHub
https://github.com/Hack-with-Github/Awesome-Hacking/pull/140#pullrequestreview-1026755505,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AZZ6UPZKJDUCJWG7HNK2RDLVSA2GVANCNFSM52NQ53IQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***
com>

Hello, I did not see what was written to me because I was in my medical
studies. My brother, who is 14 years old, I do not know what he did. Thank
you
شكرا لك على كل شي
في الأحد، ٣ يوليو ٢٠٢٢ ١:٥٣ م SAEEDALBAJI @.***> كتب:

Closed #140 https://github.com/Hack-with-Github/Awesome-Hacking/pull/140
.
—
Reply to this email directly, view it on GitHub
https://github.com/Hack-with-Github/Awesome-Hacking/pull/140#event-6923141127,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AZXY2XPKJX52NUSH25IKGDTVSFWKVANCNFSM52NQ53IQ
.
You are receiving this because you commented.Message ID:
@.***
com>


libdwarf CVE-2022-32200

The following security vulnerability in libdwarf has been published.

libdwarf 0.4.0 has a heap-based buffer over-read in _dwarf_check_string_valid in dwarf_util.c.

https://nvd.nist.gov/vuln/detail/CVE-2022-32200
We have two vulnerable versions:

20210528
0.4.0

The patch we need to apply is:

https://github.com/davea42/libdwarf-code/commit/8151575a6ace77d005ca5bb5d71c1bfdba3f7069

Maintainer:

@Atry

Please reference the CVE id with Fixes: CVE-2022-32200 in the commit message.

We cannot easily apply the patch provided by the upstream to the default version because the code base directory layout  changes

@mweinelt Could you take a look at #179620, please?

@mweinelt , I wonder how you noticed this vulnerability. Is there certain vulnerability workflow that ensures that every CVE in any package would be addressed or at least marked as knownVulnerability.

I tried to find out how I first heard of this vulnerability, but I can't find the source anymore. It was neither an email nor on IRC.
We have a coordination channel for security issue triage on Matrix. It's #security:nixos.org.

Thank you for the information.


Wrong Spelled URL in 58th & 64th & 80th line

Hello Reviewer,
I found Misspelled shortform of URL in  storage-blobs-introduction.md under Headings Containers and Blobs
Issue: Wrong Spelled shortform of URL in 58th & 64th & 80th line.
Before changes: URI
After changes: URL

In the 58th & 64th & 80th line of ' articles/storage/blobs/storage-blobs-introduction.md ', I observed URI stands for "Uniform resource identifier".
With your permission Can I add the Full abbreviation of URI like changing to URI(Uniform resource identifier)?
If yes then I will create PR please mam allow me to change. @tamram
Thank you.

@dheerajy1 - sure, go ahead. Please add it only to the first instance (line 58, I believe).

@dheerajy1 - sure, go ahead. Please add it only to the first instance (line 58, I believe).


Country Profile > Previous Events > Past Events: Add the missing filters and labels

Task description
Past Events section is missing Events and Last 10 years filters. The chart is also missing People Exposed/Likely Affected label in Y-axis
Link to replicate
https://go-web-ifrc.dev.datafriendlyspace.org/countries/14/profile/previous-events
Screenshot (UI design)

@frozenhelium Please add the label "People Exposed/Likely Affected"

Time filter doesn't work correctly due to this:
https://github.com/IFRCGo/go-web-app/issues/500#issuecomment-2117116679


Parser should detect invalid arguments in user keyword definition

If you have a keyword like
Example
    [Arguments]    invalid
    No operation

using it fails because the argument syntax is incorrect. This error is detected only at the execution time, though, meaning that tools that use Robot's parser do not see any error. A prime example is the LSP plugin that doesn't show any error with the above keyword currently. This is especially problematic with new users that may accidentally use something like $[var] instead of correct ${var}.
We should move this error detection to the parser. Most likely the LSP plugin would then show the error without any changed on its side. Error detection by the parser was enhanced considerably in RF 4.0 and, for example, invalid FOR loop variables are nowadays detected already by the parser. There may still be other similar cases where error reporting could be enhanced, though, and separate issues should be submitted about them.

A small benefit of detecting errors in arguments already during parsing is, that we know about them when constructing the executable keyword and can report all errors in one go.


why upgrade to hooks?

I've been trying to upgrade from react-table 6 to 7 but have found it impossible.  I'm wondering what the reasons for the internal upgrade to react hooks were.  Implementing a table feels like an order of magnitude more complex now.  Features seem to have gone missing.  The docs aren't as clear.  From a users perspective, what has improved between v6 and v7?

Yeah I agree with you @npomfret ..
Until now, I am still avoiding react hooks, because of closure hell.
In my opinion, hooks is awesome and solve some cases, but I don't think hooks are readable in complex application..
I can see lately some great react library have been migrating to hooks and end support for class component.. it makes me consider coming back to angular.. :'(

Yeah, I'm sure hooks are awesome when used in the right way, but I've had to abandon list library in favour of react-bootstrap-table-next as it's so much simpler to implement.
Re-writing this lib with hooks is a fine idea if it makes the internals more elegant, but there's no reason for the user to be affected.

@npomfret @efriandika I never used v6, but v7 is insanely powerful. From small tables to Asana tasklist style. User just handles the UI now, which makes it even more so. It sounds like v6 became a burden to maintain. https://github.com/tannerlinsley/react-table/issues/1897#issuecomment-593175711

It's all tradeoffs. V6 was insane internally, but had a pretty great DX for drop-in solutions. However it wasn't very performant (or as good as it could have been), it was VERY difficult to style and extend, and it was a pain to maintain. V7 by contrast is headless, thus it has the ultimate flexibility in UI theming and extension and (for now) at the cost of not providing a drop-in solution like v6. V7 has become extremely easy to maintain, fix, upgrade etc, but as you said, it's all hooks now to make that possible.
Some of the "drop-in"-ness will return with time, but for now, I'm focusing on building a very strong core of performance, reliability and flexibility. Opinionated UI can either be done by you now, or by me much later after the core has been fleshed out more.


Clusters menu: click to zoom in not zooming

It's possible I'm misunderstanding the option in the brief text, but in the clusters menu, when I hover over (or click on) a map feature, the brief text informs me that "This is the merging of 9 points. Click to zoom in." but when I click on the document, no zooming-in takes place (in the prototype ArcticCBM atlas in Safari, Firefox or Chrome).  Does the message mean that I should manually double-click repeatedly in the atlas to zoom in to some level I find pleasing?  Or is one click at the document supposed to spur the a zoom to the local area containing the merged points?

There are two standard modes for cluster click:

Perform a multi-document selection
Perform a zoom and centre on the cluster

Currently, the module is set to "multi-document selection". However, the pop-up bubble associated with clusters does not reflect that.
Which mode would you prefer? Should I change the mode or change the pop-up bubble.

I have changed the test site. The pop-up bubbles have been modified when hovering over a cluster. Please, let me know what you think.

Thanks JP - Sorry I wasn't able to get back to you on this yesterday.
I've just had a look and for this mode of the cluster click functionality, I think the hover/bubble text is logical now in that it explains what I should expect to see in the information panel.
Is it difficult to set it to the click and zoom mode so that I can test the behavior that way too?
I don't feel that I'm the best person to speak as to which mode should be active in the atlas - but I should test both and then can at least advise as appropriate if someone seeks my opinion.

I have discussed with Amos about your atlas. After reflecting on how the data is added, we think your best approach is to use the multi-select option.


Rewind the request body for retries

Fixes #193
prepareRequest in HTTP Sender returns a http.Request https://github.com/open-telemetry/opamp-go/blob/deb33889ff1aac0d542a9fd08f946461cccfc1c7/client/internal/httpsender.go#L201
We have the backoff retry strategy for failed requests; however, underlying transport would close the request body and should be rewound for any subsequent attempt. This creates a thin wrapper around the http.Request that helps to rewind the body before making a request. We hijack and close the underlying connection to simulate the connection error case.

Since the code has changed, do you mind squashing into one commit and updating the PR description to reflect what the code does? I will then do another review pass.

@tigrannajaryan @srikanthccv are we good to merge this? I also started facing the similar issue.


Animation Playables have an inconsistent frame delay

I've made a test project with a Mecanim AnimatorController with some exit time transitions at time 1 with transition duration 0 compared to a SimpleAnimation component that just queues each of the animations. It also compares them to my Animancer plugin based on SimpleAnimation (which is also why I submitted it as a Unity bug rather than posting it publicly here).
The first animation plays properly at the same time for each of them.
At the end of that animation the SimpleAnimation and Animancer systems both play the next animation at the same time. These calls occur in the same frame during their PlayableBehaviour.ProcessFrame call, and they both set the new animation state to be playing.
One frame later the new SimpleAnimation state time updates, but the Animancer time is still at 0 and it stays one frame behind.
Stopping at any point in the animation to compare the poses of each model shows Mecanim one frame ahead of SimpleAnimation which is one frame ahead of Animancer.
Running the test again shows Mecanim only a tiny bit ahead of SimpleAnimation, but not one full frame. The code and everything else is exactly the same, I can only assume it's some inconsistency based on the frame rate or something.
My bug report has a video and screenshot showing the difference. The Case Number is 1049025.

The lack of reply to this is an example of why animus builds.

I did get a reply to my bug report, but it was just the usual "Thank you for reporting this issue. We have been able to reproduce it and have sent it for resolution with our developers." and I haven't heard anything since.
It's really frustrating because they're like "now you can access the same API that Mecanim is built on" which sounds great. They've had the system for years so it should be fairly robust and well documented. But no, somehow it's a buggy mess, missing key features, and the documentation is atrocious.

@SilentSin , sorry that I can't help with your problem, but I am suffering from a different issue.
You have said that you can queue multiple animations, but I am unable to.
Basically, when I queue up multiple animations, there is a very weird infinite loop that occurs after the last animation finishes playing. Instead of returning to my original "idle" animation, it just loops all the queued animations over and over again. It's almost like the Simple Animation does not remove the queued animation after it finishes playing. I'm having trouble debugging this to determine why. Wondering if you also found this issue and sorted it out somehow? I made an Issue post here: https://github.com/Unity-Technologies/SimpleAnimation/issues/45


Parse difference with MRI for un-parenthesized method calls with an un-bracketed hash argument

This is broken in mruby @ 3.2.0, but fixed on master as of mruby/mruby@eea72ec84a61d5f3c2180c32ecc0c34f317ff648 (latest HEAD when I tested). We'll want to resync our fork.
This results in some breakage in the enforced specs. The specs themselves tend to invoke Kernel#send like this.
describe :env_update, shared: true do
  it "adds the parameter hash to ENV" do
    ENV["foo"].should == nil
    ENV.send @method, "foo" => "bar"
    ENV["foo"].should == "bar"
    ENV.delete "foo"
  end

  it "yields key, the old value and the new value when replacing entries" do
    ENV.send @method, "foo" => "bar"
    ENV["foo"].should == "bar"
    ENV.send(@method, "foo" => "boo") do |key, old, new|
      key.should == "foo"
      old.should == "bar"
      new.should == "boo"
      "rab"
    end
    ENV["foo"].should == "rab"
    ENV.delete "foo"
  end
end

which results in this spec failure:
ENV.merge! adds the parameter hash to ENV
ArgumentError: wrong number of arguments (given 1, expected 1)

MRI
$ irb
[3.2.2] > def doit(sym, hash); end
=> :doit
[3.2.2] > doit :sym, "abc" => "xyz"
=> nil

muby
Artichoke's REPL using mruby 3.2.0
$ cargo run --bin airb -q
artichoke 0.1.0-pre.0 (2023-05-18 revision 6761) [x86_64-apple-darwin]
[rustc 1.69.0 (84c898d65 2023-04-16) on x86_64-apple-darwin]
>>> def doit(sym, hash); end
=> :doit
>>> doit :sym, "abc" => "xyz"
Traceback (most recent call last):
        2: from (airb):1
        1: from (airb):1:in doit
ArgumentError (wrong number of arguments (given 1, expected 2))

mruby master @ eea72ec84a61d5f3c2180c32ecc0c34f317ff648
$ ./bin/mirb
mirb - Embeddable Interactive Ruby Shell

> def doit(sym, hash); end
 => :doit
> doit :sym, "abc" => "xyz"
 => nil

This upstream PR looks relevant:

https://github.com/mruby/mruby/pull/5812

It looks like a small, self-contained to the parser. It should be easy to cherry-pick and see if it works.
Make sure to add a regression test in the artichoke-backend integration tests!


Sandbox example on integrating excalidraw as a cdn package isn't working

Was trying to integrate excalidraw in my app.
Used this example given in the docs as reference but the the buttons fail with an error (Attached error pic for reference)

The current sandbox has an incorrect version dependency for react and react-dom.
This fork contains an quick fix for the issue. I hope it helps someone. 🙂
https://codesandbox.io/s/excalidraw-in-browser-forked-8zd726

Oops missed this, the demo has been fixed and updated to use React 18 🚀


Sexplib 0.9 (Feedback wanted!)

This pull request is mostly to get comments from OCaml packages (especially Jane Street packages) maintainers.
It seems that Nixpkgs contains lots of Jane Street packages at version 113.33.03.
Recently they have been moving to 0.9 with (it seems) quite a few differences in the way those are compiled / installed.
I need a few of these packages at version 0.9+, among them sexplib.
I have created the builder newBuildOcamlJane to generically build any of those packages. I'd appreciate feedback on that.
I've also added a package for sexplib version 0.9.1: at first I just wanted to replace version 113.33.03 with version 0.9.1 but a lot of packages depend on it, so it implies updating many many packages. Also some of the new versions of these packages have new dependencies, so it requires adding new packages as well. I am ready to do it, but I'd like feedback before.
Do you mind the new builder and does it seem OK to you? I probably could have modified the current builder to check if the version is before or after v0.9 but that would have been more complex and would have created unnecessary dependencies.
Do you confirm that updating all those packages (at once) is the way to go?
cc @maurer @ericbmerritt @vbgl

P.S., can someone who has that power retrigger the OSX build? It appears to have failed during the installing nix stage, which I'm 99% sure wasn't this change, but OCaml + OSX tends to have surprising failures so it'd be good to see whether it works.

@maurer Thanks for your comment. After some thinking, I reached the same conclusion. Let me add a few other 0.9 packages to this PR so as to confirm that the new builder works fine for all of them.

@vbgl Just found out while adding package core that you had already added package base and a few other at version 0.9. Though, you are not testing for OCaml version >= 4.03.
About the file organization I wonder where this is going, since some Jane Street packages are in ocaml-modules/ and some others are in sub-directory janestreet/ (the most recent version being found indifferently in one or the other).

My newOcamlJaneBuilder was actually not working when building packages with dependencies. I've changed it to something reproducing what @vbgl did in his derivation of base.

Actually, my new version does not work either (ppx_optcomp fails to build). I had incorrectly tested the build on my machine.

OK fixed. This was because I was using buildInputs instead of propagatedBuildInputs for OCaml package dependencies.

My approach here does not scale. Here is a better proposal: #25658