Op type not registered 'swish_f32' in binary running

System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04):
TensorFlow installed from (source or binary):
TensorFlow version (or github SHA if from source):

Provide the text output from tflite_convert
---------------------------------------------------------------------------
NotFoundError                             Traceback (most recent call last)
<ipython-input-9-a62a8332a64b> in <module>
     10       verbose=1,
     11     use_multiprocessing=True,
---> 12     workers=4)

/usr/local/lib/python3.5/dist-packages/tensorflow/python/keras/engine/training.py in fit_generator(self, generator, steps_per_epoch, epochs, verbose, callbacks, validation_data, validation_steps, validation_freq, class_weight, max_queue_size, workers, use_multiprocessing, shuffle, initial_epoch)
   1513         shuffle=shuffle,
   1514         initial_epoch=initial_epoch,
-> 1515         steps_name='steps_per_epoch')
   1516
   1517   def evaluate_generator(self,

/usr/local/lib/python3.5/dist-packages/tensorflow/python/keras/engine/training_generator.py in model_iteration(model, data, steps_per_epoch, epochs, verbose, callbacks, validation_data, validation_steps, validation_freq, class_weight, max_queue_size, workers, use_multiprocessing, shuffle, initial_epoch, mode, batch_size, steps_name, **kwargs)
    255
    256       is_deferred = not model._is_compiled
--> 257       batch_outs = batch_function(*batch_data)
    258       if not isinstance(batch_outs, list):
    259         batch_outs = [batch_outs]

/usr/local/lib/python3.5/dist-packages/tensorflow/python/keras/engine/training.py in train_on_batch(self, x, y, sample_weight, class_weight, reset_metrics)
   1256         outputs = self.train_function(ins)  # pylint: disable=not-callable
   1257       else:
-> 1258         self._make_fit_function()
   1259         outputs = self._fit_function(ins)  # pylint: disable=not-callable
   1260

/usr/local/lib/python3.5/dist-packages/tensorflow/python/keras/engine/training.py in _make_fit_function(self)
   2175     ]
   2176     self._make_train_function_helper(
-> 2177         '_fit_function', [self.total_loss] + metrics_tensors)
   2178
   2179   def _make_test_function_helper(self, fn_name, outputs):

/usr/local/lib/python3.5/dist-packages/tensorflow/python/keras/engine/training.py in _make_train_function_helper(self, fn_name, outputs)
   2160             updates=updates,
   2161             name='train_function',
-> 2162             **self._function_kwargs)
   2163         setattr(self, fn_name, fn)
   2164

/usr/local/lib/python3.5/dist-packages/tensorflow/python/keras/backend.py in function(inputs, outputs, updates, name, **kwargs)
   3241       raise ValueError('Session keyword arguments are not support during '
   3242                        'eager execution. You passed: %s' % (kwargs,))
-> 3243     return EagerExecutionFunction(inputs, outputs, updates=updates, name=name)
   3244
   3245   if kwargs:

/usr/local/lib/python3.5/dist-packages/tensorflow/python/keras/backend.py in __init__(self, inputs, outputs, updates, name)
   3162         lifted_map = lift_to_graph.lift_to_graph(
   3163             init_tensors=init_tensors, graph=exec_graph, sources=inputs,
-> 3164             add_sources=True, handle_captures=True, base_graph=source_graph)
   3165
   3166         inputs = [lifted_map[i] for i in inputs]

/usr/local/lib/python3.5/dist-packages/tensorflow/python/eager/lift_to_graph.py in lift_to_graph(init_tensors, graph, sources, disallowed_placeholders, add_sources, handle_captures, base_graph)
    313         continue
    314
--> 315       _copy_non_source(op=op, graph=graph, op_map=op_map)
    316
    317     return op_map

/usr/local/lib/python3.5/dist-packages/tensorflow/python/eager/lift_to_graph.py in _copy_non_source(op, graph, op_map)
    158         dtypes=[x.dtype for x in op.outputs],
    159         attrs=op.node_def.attr,
--> 160         name=op.name)
    161   op_map[op] = copied_op
    162   for i, o in enumerate(op.outputs):

/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/func_graph.py in create_op(self, op_type, inputs, dtypes, input_types, name, attrs, op_def, compute_shapes, compute_device)
    450     return super(FuncGraph, self).create_op(
    451         op_type, inputs, dtypes, input_types, name, attrs, op_def,
--> 452         compute_device=compute_device)
    453
    454   def capture(self, tensor, name=None):

/usr/local/lib/python3.5/dist-packages/tensorflow/python/util/deprecation.py in new_func(*args, **kwargs)
    505                 'in a future version' if date is None else ('after %s' % date),
    506                 instructions)
--> 507       return func(*args, **kwargs)
    508
    509     doc = _add_deprecated_arg_notice_to_docstring(

/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/ops.py in create_op(***failed resolving arguments***)
   3477           input_types=input_types,
   3478           original_op=self._default_original_op,
-> 3479           op_def=op_def)
   3480       self._create_op_helper(ret, compute_device=compute_device)
   3481     return ret

/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/ops.py in __init__(self, node_def, g, inputs, output_types, control_inputs, input_types, original_op, op_def)
   1975     else:
   1976       if op_def is None:
-> 1977         op_def = self._graph._get_op_def(node_def.op)
   1978       # TODO(skyewm): op_def_library.apply_op() flattens the incoming inputs.
   1979       # Refactor so we don't have to do this here.

/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/ops.py in _get_op_def(self, type)
   3864     with c_api_util.tf_buffer() as buf:
   3865       # pylint: disable=protected-access
-> 3866       c_api.TF_GraphGetOpDef(self._c_graph, compat.as_bytes(type), buf)
   3867       # pylint: enable=protected-access
   3868       data = c_api.TF_GetBuffer(buf)

NotFoundError: Op type not registered 'swish_f32' in binary running on tensorflow-20190607-122214. Make sure the Op and Kernel are registered in the binary running in this process. Note that if you are loading a saved graph which used ops from tf.contrib, accessing (e.g.) `tf.contrib.resampler` should be done before importing the graph, as contrib ops are lazily registered when the module is first accessed.```

Also, please include a link to a GraphDef or the model if possible.

**Any other info / logs**

My running environment:
Tensorflow 2.0 alpha,
Python 3.5.3
on Google Cloud Platform.

Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached.

In order to expedite the trouble-shooting process, please provide a code snippet to reproduce the issue reported here. Also let us know whether you are using CPU/GPU version of TF 2.0 alpha and information about the platform (architecture and operating system). Thanks!

Most likely is that 'swish_f32' is a kind of user defined function (even though originally from tf.nn.swish) and stored in the GraphDef's library.function part. Somehow such function is removed during some actions, such as tf.graph_util.remove_training_nodes.

tf.compat.v1.disable_eager_execution() fixed that issue for me.

tf.compat.v1.disable_eager_execution() fixed that issue for me but I'm using the Python API for tflite convert.
EDIT: That's not helping at all though, because later I get errors with the tflite converter because it needs to be in eager execution.

It finally works for me. Thank you so much!

it looks like there is a new way (in TF 2.0?) to register gradients that works in eager mode:
@tf.custom_gradient
def swish(features):
    @tf.function
    def _grad(grad):
        sigmoid_features = tf.math.sigmoid(features)
        activation_grad = (sigmoid_features * (1.0 + features * (1.0 - sigmoid_features)))
        return grad * activation_grad

    return features * tf.nn.sigmoid(features), _grad

Most likely is that 'swish_f32' is a kind of user defined function (even though originally from tf.nn.swish) and stored in the GraphDef's library.function part. Somehow such function is removed during some actions, such as tf.graph_util.remove_training_nodes.

Thank you achandraa.  I encountered the same error when convert the efficientnet model (pb file) to tensorRT format. Removing tf.graph_util.remove_training_nodes before convert_variables_to_constants does resolve this error for me.
I am not sure if this change affects the final performance in inference though.

Most likely is that 'swish_f32' is a kind of user defined function (even though originally from tf.nn.swish) and stored in the GraphDef's library.function part. Somehow such function is removed during some actions, such as tf.graph_util.remove_training_nodes.

Thank you skyflynil. I encountered the same error when convert the efficientnet model (pb file) to tensorRT format. Removing tf.graph_util.remove_training_nodes before convert_variables_to_constants does resolve this error for me.
I am not sure if this change affects the final performance in inference though.

@captainst I think you can still keep the remove _training_nodes part. There is just some post processing to workaround this issue.
option 1: copy back the function part of the graphdef. suppose the graphdef before/after removing training nodes are graph_def and new_graph_def, you can do
for function_def in graph_def.library.function:     f function_def.signature.name == 'swish_f32':         new_graph_def.library.function.extend([copy.deepcopy(function_def)])
option 2:
inline the swish_f32 into the graphdef by using sigmoid and mul, it might be useful for TensorRT.

BTW, the new efficientnet for edge tpu seems to be a better choice for gpu device and tensorrt.

@skyflynil Many thanks. I am using jetrson NANO with classification stuffs. Although removing tf.graph_util.remove_training_nodes when freezing the keras model eliminates the error, the generated tensorRT model has problems and generate equal probabilities for each category (I was using softmax with 4 outputs), so the result is something like (0.25, 0.25, 0.25, 0.25).
I tried to inference using the normal tensorflow .pb file and it gave correct results. So I think that probably there is some incongruence during the process Keras model -> tensorflow pb -> tensorRT model. Still need to figure out.

Most likely is that 'swish_f32' is a kind of user defined function (even though originally from tf.nn.swish) and stored in the GraphDef's library.function part. Somehow such function is removed during some actions, such as tf.graph_util.remove_training_nodes.

Thank you skyflynil. I encountered the same error when convert the efficientnet model (pb file) to tensorRT format. Removing tf.graph_util.remove_training_nodes before convert_variables_to_constants does resolve this error for me.
I am not sure if this change affects the final performance in inference though.

@captainst I think you can still keep the remove _training_nodes part. There is just some post processing to workaround this issue.
option 1: copy back the function part of the graphdef. suppose the graphdef before/after removing training nodes are graph_def and new_graph_def, you can do
for function_def in graph_def.library.function:
     if function_def.signature.name == 'swish_f32':
        new_graph_def.library.function.extend([copy.deepcopy(function_def)])

option 2:
inline the swish_f32 into the graphdef by using sigmoid and mul, it might be useful for TensorRT.

Actually, some functions for graph optimization cause that problem.
These functions are :

strip_unused_lib.strip_unused
graph_util.remove_training_nodes
fold_batch_norms

The following code must be after these optimized functions.
for function_def in graph_def.library.function:      if function_def.signature.name == 'swish_f32':         new_graph_def.library.function.extend([copy.deepcopy(function_def)])

最有可能的是，“swish_f32”是一种用户定义的函数（即使最初来自 tf.nn.swish）并存储在 GraphDef 的 library.function 部分中。在某些操作（例如 tf.graph_util.remove_training_nodes）期间，以某种方式删除了此类功能。

this works for me!!  thank you !


Refactor the class ServiceBusHelper into multiple classes

To enable migrating the code to use the latest SDK tracks for Relay, Notification hubs, Event hubs and Service bus in a sensible manner, the class ServiceBusHelper should be split into multiple classes, one class for handling each messaging service. It is probably a good idea to have a common, abstract base class for all of them.
This should be done in multiple PRs.

I can spend some time to (make a start with) this issue. Initially I think it is easier to 'just move code' to separate classes without changing the implementation too much. This should make for smaller PRs that are easier to review.
I was also thinking of making a split between 'messaging actions' and 'management actions', though that might be going a bit overboard?

I was also thinking of making a split between 'messaging actions' and 'management actions', though that might be going a bit overboard?

Agree. Don't bother until there's a need for it.
Also, we should try to get away from "helpers". Those end up being classes with mixed concerns.

If think it would be nice if you split the classes between 'messaging actions' and 'management actions', but it does not need to be 100%. Just where you see you can do it without too much effort.


Integrated Portal tests not working

Maybe related to https://github.com/projectkudu/AzureFunctionsPortal/issues/1177
When attempting to use the built in test harness, nothing happens when "Run" is clicked. Appears that the command does not execute.

@alrod Please follow up

@alrod is this already fixed?  If so, please close.

@spboyer, do you have consistent steps to repro?

@alrod - you can use this repo to clone and setup as a new function deployed from a github repo.
https://github.com/spboyer/azdev-superhero-api
#1177 - still seems to be unresolved as well. Related?

Can't reproduce using https://github.com/spboyer/azdev-superhero-api
#1177 is closed.


Settings Button Does Nothing

The Setting button on the menu to the left does not do anything.

Another placeholder. We will have a settings menu up soon, even if it just routes to a blank page for now.


Added remaining repos for syncing

Depends on #25
┆Issue is synchronized with this Jira Task

@rchord @jezdez @LtDan33 @beeankha @awwad @chenghlee
Removed the archived conda/conda_build_single_folder_test repo from syncing.
What do we think is the future of the conda/conda_build_test_recipe? This fits the same pattern as the archived repo however it has had more recent activity (dependabot was enabled). Should we go ahead and lock this repo down as well (disable issues/actions/etc.) and possibly archive it?
We should specify in the README for both of these that any necessary changes should be reported to conda/conda and we'd unarchive/modify the repos as necessary from there?
Outside of these two test repos, are any of the other repos in the conda org that we should potentially treat differently from the others wrt triaging/labels/automations?

I haven't heard about wanting to archive the conda/conda_build_test_recipe repo, so I'm not sure what the ramifications are of that since conda-build relies on that. It sounds like it will still be available but not editable?

@rchord correct, when archived it becomes read-only, the other repo conda/conda_build_single_folder_test is also used in conda-build's test suite


use single walkthrough resource component

This fixes the problem where No resources available was displayed twice.
We are now only using one <WalkthroughResource ... > component and combine the walkthrough and task level resources in task.js. Also removes the no longer needed noHeadline option.

👀


Unregister function not working

Hi MrHertal,
I want to unregister the phone after sign out (so the phone no longer receive any call), and RNTwilioPhone.initialize() again after i sign in (the phone ready to receive call and can outgoing call)
I did using the function unregister(), but i still receive the call.
Can you guide me how to achieve the above process?
Many Thanks!!

Hi,
it should work, can you reproduce the issue on the example app?
Thanks.


Prevent mistakenly detecting multiple payments

Sometimes, we'll receive more than one payment notification for the same user. There is only 1 actual payment made but their client will send us two notifications which makes our system think that there were 2 separate payments without doing server-side validation.

This will be covered under the next major release.


Delegate Mission Request: Subsidized Audit Grants

Delegate Mission Request: Subsidized Audit Grants
Application Link
Make sure you’re logged in with Farcaster, and make sure you choose the correct S6 Mission field (this will be the same name as the title of this Mission Request).
If you're having trouble joining the Optimism Grants Council space, join via this invite link.

Delegate Mission Request Summary
This is a continuation of this Mission Request from last season: gather smart contract auditors to provide subsidized audits for promising projects determined by the Grants Council.
S6 Intent
Intent 3A
Proposing Delegate/Citizen
Anthias Labs
Total grant amount
250,000 OP
Should this Mission be fulfilled by one or multiple applicants?
Multiple
How will this Mission Request help accomplish the above Intent?
This Mission Request will help accomplish Intent 3A (helping the Collective grow the number of active developers across the Superchain) by helping with the cost of audits for new projects launching in the Optimism ecosystem. By assisting with the cost of audits for nascent but promising projects, we can grow the number of sustainable projects and developers across the Superchain.
What is required to execute this Mission Request?
To execute this Mission Request, we will need a pool of qualified auditors, multiple of which supported this Mission Request and its applicants in Season 5. We will also need a system to assess how projects are determined eligible for an audit grant–this will be handled primarily by our team at Anthias Labs and M4rio.eth, as the Audit Reviewers of the Grants Council for Season 6. Finally, we will need a pool of qualified projects to apply for audits. This program saw significant adoption in Season 5, so we do not envision this posing an issue for Season 6.
How should governance participants measure impact upon completion of this Mission?

Milestones

Audit Reviewer committee in place
Pool of qualified auditors elected
First pool of project applicants
First round of audit grants awarded

Metrics

Number of audit grants given
Quality of audit teams we are working with
Number of auditors working with

Impact

Usage data (per-project) for funded projects
Total TVL and/or fees generated by funded projects
Total team members of teams funded for audit grants that are now building across the Superchain

Has anyone other than the proposer contributed to this Mission Request?
No
Which metric will the success of this Mission Request be evaluated against?
The North star metric against which this Mission Request should be evaluated is # of active addresses interacting with grantee’s contracts, as this Mission Request plans to grow the number of active developers on the Superchain through the adoption of improved infrastructure and better open standards. This metric was suggested by the Foundation and approved by the Grants Council.

gm Julian! Vlady from Hacken here.
Thanks for crafting this RFP.

What is the deadline for submitting the auditor candidacy?

Also, could you confirm that the 'Application link' is intended for auditors or OP projects seeking subsidy?

Based on the questions from the Application, it seems it's more targeted at projects and their products seeking subsidy (e.g., questions about the user base, monetisation model, OP tokens distribution).


The server encountered an error. The incident has been reported to admins.

We are not able to work with the fund_accounts/validations api endpoint. It is throwing the below error :
{
"error": {
"code": "SERVER_ERROR",
"description": "The server encountered an error. The incident has been reported to admins."
}
}
The problem is not with the bank account data and API keys. What might be the reason ?

Looks like a bug. Can you share some of the information you'd sent in your request? This will help us track your request in logs and find out what went wrong.

Sure . CITI0000005 is the ifsc code we are transferring to, account number ends with 706.

Checked this, it looks like your account is currently not configured to use the fund account validation APIs. Could you raise a support ticket to have this enabled for your account? Specifically the pricing plan associated with your account needs to be updated to support this account validation flow as well.
Ideally the error message should've been a lot more clear and explained why this was happening. We'll try and get that fixed in parallel.

thanks. it is resolved. account was not configured before.

I am getting the same error what should I do?
https://prnt.sc/pbdmda

@srmehranzone Please follow @harman28's answer.

A humble request. And i spent way too much time on browser and finally after long time i found out this page. can you please take a minute of your life and make that error message more specific please !!

I am facing the same error. When I select the UPI apps ex: Phonepay it showing error like below
The server encountered an error. The incident has been reported to admins.
But in staging it is moving to the specific app?

I am facing the same error as well

I am also facing the same error

I got same The server encountered an error. The incident has been reported to admins. razorpay not fix this issue from 18 days . razorpay customer support team and technical team need free salary they are scammers

How to fix this The server encountered an error. The incident has been reported to admins.


update to beta.9

done https://github.com/AngularClass/angular2-webpack-starter/commit/da7ca7727aa71b6a711fad3d840577b3b35baca3


not working on pi zero

Hi,
Thank you for building this amazing project!
So I installed this repo on my raspberry pi 3 and everything works great. But then I did the same thing on my pi zero and Core.js starts as expected the accessories all show up but stop working after a few minutes. I reinstalled the whole pi zero several times but it's always the same thing it works for a few minutes and then all the devices are greyed out. Based on the debug messages the http sever seems to crash but unfortunately that doesn't really help me. I attached the debug messages below:
*** WARNING *** The program 'node' uses the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=node>
*** WARNING *** The program 'node' called 'DNSServiceRegister()' which is not supported (or only supported partially) in the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=node&f=DNSServiceRegister>
HAP-NodeJS starting...

 Tends to be a necessity...

@PatchworkBoy thank you so much for you reply.
I am not using WIFI I was using an Ethernet adapter. What do you mean by PowerManagement I thought that only applies to WIFI adapters?

What sort of power supply are you using for the pi zero?

I am using the regular pi power supply 5v 2.5A

I have it running on my raspberry pi zero fine.  I also have a pi3 with it running on that also.   Do you have both running at the same time?  I'm using a wifi adapter with mine and had some trouble with it due to power management as probably PatchworkBoy was eluding to but fixed it.  What sort of cpu usage are you getting when it's running.  Type in topin the command line


Abandoned project?

Hello
Is it active project or abandoned long time ago? I see the latest update was on May 9, 2019.
If it is abandoned then can someone suggest something similar editor which is open source and rich with functions like this?
I hope this project is not abandoned. When I tried the demo on the website then love of the first sight.
Thank you in advance all the answers.

Yes, this project is abandoned but it's still (mostly) working.
I think you can find many alternatives by searching on github, if you want I created a fork that I maintain when I have time: https://gitlab.com/cobalt-os-team/MeditorJS


RunPod.io template with a graphical interface for Dimensionx

Thank you for your work!
I made a RunPod.io template with a graphical interface for Dimensionx, so that anyone can use it regardless of what computer they have.
Available here: https://runpod.io/console/deploy?template=8pqb3dg7lq&ref=2pdhmpu1

Open a link
RunPod registration if you haven't already and uploading a few dollars.
Selecting an A40 machine
Choosing a template: DimensionX by Mp3Pintyo
After it starts, you have to wait until the Connect button turns purple. Let's click on it. Then a few more minutes until the 2 Connect to the HTTP button turns purple.
Port 7860: Starts a GUI to generate
Port 8888: starts the JupyterLab graphical interface where we access the files in the /workspace folder.

(Thanks to camenduru for the starting base, the gradio for interface and Cody for the programming.)
Special features:

The biggest challenge was solving the memory leak. The 2nd generated video was always unusable. I managed to solve it.
Prompt enhancement
Drop-down menu for upcoming Lora files
Automatic start option

Thanks for your interest and effort! I will feature your project on our GitHub page!

@mp3pintyo Thank you very much for your contribution, but I couldn’t find any template named DimensionX by Mp3Pintyo in the Runpod templates. Could you please clarify this step?

If the search engine didn't show it or if it wouldn't be found based on the link in the first post: https://www.runpod.io/console/explore/8pqb3dg7lq
Until x hours have been used, a new template does not always appear in the search engine on RunPod.

There is something wrong with RunPod. I'm temporarily stopping the template.

Its working again. I tried to implement the operation of 2 loras at the same time, but it has not yet succeeded.


Cartoon renderer produces strange (flipped) sheets

The cause of this problem is the same as #56. Ribbon2Renderer (cartoon) should also be changed so as to consider the direction of carbonyl groups in the sheet's binormal vector calculation.

同様に修正．ただしRibbonとコードを共通化は出来なかった． [91aee6cd68e3a24c4315d569975f8bd7a99ed77d]


docs: improve handling pypi packaging contents

coverage: 84.071%. remained the same
when pulling a23767eaf681561b9d659aabdc5be3b11ace8e3c on gcroci2-patch-3
into e422fb387e2b65d910a3488fda193c5112d5223c on main.


[BUG] Can't group control for OpenThread device

Reproduction steps
When testing the wifi device in the same way, group control works.
This is not the case for thread Demokit devices.
Is another procedure required to group control thread devices?
Below is the method I tested.
`0.  pairing
./chip-tool pairing ble-thread 3  hex:0e080000000000010000000300000f35060004001fffe0020811111111222222220708fd1758cddf0caf40051000112233445566778899aabbccddeeff030e4f70656e54687265616444656d6f010212340410445f2b5ca6f2a93a55ce570a70efeecb0c0402a0f7f8 20202021 3842

write acl
./chip-tool accesscontrol read acl 3 0
./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null },{"fabricIndex": 1, "privilege": 4, "authMode": 3, "subjects": [3], "targets": [{"cluster": 6, "endpoint": 1, "deviceType": null}, {"cluster": 8, "endpoint": 1, "deviceType": null}] }]' 3 0

./chip-tool groupkeymanagement key-set-write '{"groupKeySetID": 42, "groupKeySecurityPolicy": 0, "epochKey0": "d0d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime0": 2220000,"epochKey1": "d1d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime1": 2220001,"epochKey2": "d2d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime2": 2220002 }' 3 0
./chip-tool groupkeymanagement write group-key-map '[{"groupId": 2, "groupKeySetID": 42, "fabricIndex": 1}]' 3 0
./chip-tool groupkeymanagement read group-key-map    3 0
./chip-tool accesscontrol read acl 3 0

create group
Next, program the chip-tool:
./chip-tool groupsettings add-group groupName groupId
./chip-tool groupsettings add-group grp2      0x0002

./chip-tool groupsettings add-keysets keyset Id  keyPolicy     validityTime         EpochKey
./chip-tool groupsettings add-keysets 42     0             0x000000000021dfe0   hex:d0d1d2d3d4d5d6d7d8d9dadbdcdddedf
./chip-tool groupsettings bind-keyset groupId    keysetId
./chip-tool groupsettings bind-keyset 0x0002     42
./chip-tool groupsettings  show-groups
./chip-tool groupsettings  show-keysets

Next, add bridge endpoint 3 to Group ID 0x0002:
./chip-tool groups add-group GroupID GroupName destination-id endpoint-id-ignored-for-group-commands
./chip-tool groups add-group 0x0002  grp2      3          1
./chip-tool onoff toggle 0xffffffffffff0002 1
`
Bug prevalence
Always
GitHub hash of the SDK that was being used
e5e93bf9af4adcb0ed69062a7b3aa7a8111ebeac
Platform
nrf, core
Platform Version(s)
No response
Anything else?
No response

@myddpp Are the devices joining the relevant multicast groups?  Do you have access to the device logs?
https://github.com/project-chip/connectedhomeip/issues/27631 talks about some Thread devices not being configured to support enough groups, but certainly says that just one group should work fine.

@myddpp Are the devices joining the relevant multicast groups?
@myddpp Hi, I am facing the similar issue that the matter-thread light (espressif esp32c6 based matter thread light) is not responding to the group command. I'm able to control the light through the chip-tool but it doesn't respond to group command. How can I know that the devices have joined the relevant multicast group?


Some Long Address Overflow

Description
Very long address should not be overflow like this.
Two close salin button made me confusing. Suppose to be different.

Tasks

[ ] (fix adress overflow)
[ ] (improve close salin button)

Hi mas @maziyank and @zainfathoni, I'm new in this project but I interest to contribute.
Problem
I found problem address overfrow from source data ~/data/wbw-sheets.json, in address string have tag html

Solution
I try add stripTags method from ~/lib/string-utils

how about this solution?

That make sense @fadillicious.
But instead of calling same function stripTags(contact.alamat) 3 times, any other way to make it more efficient?

That make sense @fadillicious.
but i am confusing since stripTags(contact.alamat) will remove all html tags, it leave only text. Right? Is still it necessary to passed to htmr function for rendering?
Also, instead of calling same function stripTags(contact.alamat) 3 times, i thinking about to make it more efficient.

Thank mas @maziyank for your response.
htmr function from existing code, in this case I only add stripTags.
Based on your input, maybe I can change code like this?

I create contactAddress variable with stripTags

then I call the variable

Also, instead of calling same function stripTags(contact.alamat) 3 times, i thinking about to make it more efficient.

We can do it by applying the stripTags in the upstream process, which is fetching the data in fetch-sheets.ts. To be more specific, I think it should be done in the contactReducer function here.

thank mas @zainfathoni for your suggestion, I have submit PR 🙏

@all-contributors please add @maziyank for bug


bazarr: 1.4.5 -> 1.5.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/morpheus65535/bazarr/releases.
meta.description for bazarr is: Subtitle manager for Sonarr and Radarr
meta.homepage for bazarr is: https://www.bazarr.media/
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.5.0 with grep in /nix/store/0i6rxq70717iv7bp6x1hypn3vlsszc0n-bazarr-1.5.0
found 1.5.0 in filename of file in /nix/store/0i6rxq70717iv7bp6x1hypn3vlsszc0n-bazarr-1.5.0

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

bazarr

Instructions to test this update (click to expand)

Either download from the cache:
nix-store -r /nix/store/0i6rxq70717iv7bp6x1hypn3vlsszc0n-bazarr-1.5.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nixpkgs-update-cache.nix-community.org/' \
  --option trusted-public-keys '
  nixpkgs-update-cache.nix-community.org-1:U8d6wiQecHUPJFSqHN9GSSmNkmdiFW7GW7WNAnHW0SM=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The nixpkgs-update cache is only trusted for this store-path realization.)
For the cached download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A bazarr https://github.com/r-ryantm/nixpkgs/archive/89e79d58769436a8cfd0d80ae28012d51134f2f3.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/89e79d58769436a8cfd0d80ae28012d51134f2f3#bazarr

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/0i6rxq70717iv7bp6x1hypn3vlsszc0n-bazarr-1.5.0
ls -la /nix/store/0i6rxq70717iv7bp6x1hypn3vlsszc0n-bazarr-1.5.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review

x86_64-linux

:white_check_mark: 1 package built:

bazarr

Maintainer pings
cc @d-xo for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

I ran with: sudo  /nix/store/0i6rxq70717iv7bp6x1hypn3vlsszc0n-bazarr-1.5.0/bin/bazarr --config /var/lib/bazarr --no-update true and it seems to work well. Have also deployed it to my *arr setup with no problems.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 368033

aarch64-darwin

:white_check_mark: 1 package built:

bazarr


Add test coverage

Add test coverage to the pipelines (see PyMAPDL pipelines) and the corresponding badge in the Readme.

#241


[Bug] Disabling overlay doesn't remove overlay context from HUD

The right click context menu still appears in the area the overlay was originally at. This only happens with in-game clicks (UI right clicks don't show the context menu).

Hey Tim, thanks for the report.
We noticed this a few days ago and the fix is just waiting for runelite's approval at https://github.com/runelite/plugin-hub/pull/6931


fix: linting passes again

With the AEgir 17.1.1 release StandardJS 12 was introduced, which lead
to new linting rules. Those rules made the linting fail. This commit
fixes those issues and also upgrades AEgir to 17.1.1 explicitly.

Thank for the review @alanshaw!


bluetooth: hci: rpmsg: use ipc service library

The Bluetooth HCI driver based on the RPMsg transport now uses the IPC
service module. The compatible Bluetooth sample - HCI RPMsg - has also
been migrated to the new IPC solution.
Signed-off-by: Kamil Piszczek<EMAIL_ADDRESS>

The Bluetooth HCI driver based on the RPMsg transport now uses the IPC service module. The compatible Bluetooth sample - HCI RPMsg - has also been migrated to the new IPC solution.

Is there any known sideeffect (positive or negative) of this change?

The Bluetooth HCI driver based on the RPMsg transport now uses the IPC service module. The compatible Bluetooth sample - HCI RPMsg - has also been migrated to the new IPC solution.

Is there any known sideeffect (positive or negative) of this change?

@Thalley, yes, there is.
This module has multi-instance support. You can assign different regions of shared memory to each IPC instance via DTS configuration.

Addressed outstanding review comments. Passing CI is still a work in progress.

This PR depends on the following PRs:
https://github.com/zephyrproject-rtos/zephyr/pull/43370
https://github.com/zephyrproject-rtos/zephyr/pull/43325

This PR depends on the following PRs: #43370 #43325

Both are merged now

The Bluetooth HCI driver based on the RPMsg transport now uses the IPC service module. The compatible Bluetooth sample - HCI RPMsg - has also been migrated to the new IPC solution.

Is there any known sideeffect (positive or negative) of this change?

Aside from what @kapi-no points out, there is no longer need for an nRF53-specific file under drivers/bluetooth/hci now, it's all generic!


Gate on AppVeyor in mozjs.

This change is

Depends on https://github.com/servo/mozjs/pull/101

servo/mozjs#101 has merged, and the Travis failures look like infra problems on their end.
@bors-servo r+

:pushpin: Commit a317440 has been approved by aneeshusa

:hourglass: Testing commit a317440 with merge d8f7f5f...

:sunny: Test successful - status-travis


Add middlewares to the config. (This can be useful if you want to pro…

…cess some treatment after the body-parser.)

Can you elaborate about your use cases?

@lencioni Hello,
The use case, is to implement a middleware that can read the body for each job and compare the version number with the hypernova-server version number. That assure to re-render the component if the cache version is not valid with the HS version and serve the urls for the rights assets (js + css) in the meta field.
Monolithe: construct the jobs to process (if the job is already in a distributed cache [Eg. redis] we set a flag that the job is already in cache and here is the cache version => hypernova-server intercept these jobs and should process only the jobs that are not cache valid.
This answers the problem of cache invalidation strategy when deploying newer version of hypernova-service.

you can access the express app after body-parser has been added by passing in a onServer callback to hypernova(config, onServer), that way you can add your middlewares after body-parser
https://github.com/airbnb/hypernova/blob/master/src/worker.js#L124


Add safe alternative to query_row

query_row_safe is functionally identical to query_row, but returns an SqliteError when it fails instead of panicking. This pull request also contains the changes contained in my other pull request, so that it will compile properly.

Thanks! I made a few small changes to the 1.0.0 updates (e.g., switching the return type from uint to c_int instead of usize to match sqlite), but otherwise this is all rolled into #11. Please let me know if anything there is amiss.


wrong arrow display

removing width from below css classes fixed the issue,
.header-year
.header-month
khalil

I think this is project specific, because I uploaded the code as is to github pages and it did not have this issue. Nor did it ever in any projects I use it in


feat(curriculum): add tests to css variables skyline

Checklist:

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the main branch of freeCodeCamp.
[x] All the files I changed are in the same world language, for example: only English changes, or only Chinese changes, etc.

@ShaunSHamilton was that a false positive from the bot?

@ShaunSHamilton not to worry, I was just wondering if the bot needed tweaking.

Will give this a play today. :)

Just to confirm, tests are passing now as expected :rocket:


Timeout

Describe the bug

I have never been able to log on with this addon, perhaps because I have a "+" in my gmail address.
Using HAOS
Core: 2023.1.7
Supervisor : 2023.1.1
OS: 9.5
Screenshots or Logs

`Starting...
/etc/cont-init.d/00-banner.sh: executing
Add-on: Epic Games Free
Automatically login and redeem promotional free games from Epic Games Store
Add-on version: 5fc6de6ce0306d51e1867b10e76e9dbd1343faa0-2023-01-28
You are running the latest version of this add-on.
System: Home Assistant OS 9.5  (aarch64 / raspberrypi4-64)
Home Assistant Core: 2023.1.7
Home Assistant Supervisor: 2023.01.1
Please, share the above information when looking for help
or support in, e.g., GitHub, forums
https://github.com/alexbelgium/hassio-addons
/etc/cont-init.d/01-custom_script.sh: executing
[08:10:39] INFO: Execute /config/addons_autoscripts/epicgamesfree.sh if existing
[08:10:39] INFO: ... no script found
/etc/cont-init.d/20-folders.sh: executing
/etc/cont-init.d/99-run.sh: executing
[08:10:40] INFO: Starting the app

<EMAIL_ADDRESS>entrypoint-config
node dist/src/entrypoint-config.js

Setting timezone: Europe/London
Run on startup: true
[2023-01-29 08:10:52.913 +0000] INFO: Started epicgames-freegames-node
COMMIT_SHA: "5fc6de6ce0306d51e1867b10e76e9dbd1343faa0"
BRANCH: "master"
DISTRO: "alpine"
[2023-01-29 08:10:53.495 +0000] INFO: Checking free games for<EMAIL_ADDRESS>user<EMAIL_ADDRESS>[2023-01-29 08:11:39.216 +0000] ERROR: Encountered an error during browser automation. Saved a screenshot for debugging purposes.
user<EMAIL_ADDRESS>errorFile: "error-2023-01-29T08:11:30.677Z.png"
[2023-01-29 08:11:39.231 +0000] ERROR: Navigation timeout of 30000 ms exceeded
user<EMAIL_ADDRESS>err: {
"type": "TimeoutError",
"message": "Navigation timeout of 30000 ms exceeded",
"stack":
TimeoutError: Navigation timeout of 30000 ms exceeded
at LifecycleWatcher._LifecycleWatcher_createTimeoutPromise (/usr/app/node_modules/puppeteer/src/common/LifecycleWatcher.ts:220:12)
"name": "TimeoutError"
}
[2023-01-29 08:11:39.284 +0000] WARN: Current version
COMMIT_SHA: "A SHA HASH"
BRANCH: "master"
DISTRO: "alpine"
Run once: false
Setting cron schedule as 5 16 * * *`
Additional context

Hi,
I was trying to setup this addon pretty much at the same time as you were.
As the webpage is showing up, I deduce your "baseurl" parameter is correctly setup.
Then, just try to add this one :
"browserNavigationTimeout": 300000,
I added it at the beginning of the config file, just after the "loglevel" parameter.
This will extend the waiting time before raising the timeout error. If you are on a RPi just like me, it will help a lot.

Awesome! Thanks for the tip ☺
On Sun, 29 Jan 2023, 13:16 Biscotte31, @.***> wrote:

Hi,
I was trying to setup this addon pretty much at the same time as you were.
As the webpage is showing up, I deduce your "baseurl" parameter is
correctly setup.
Then, just try to add this one :
"browserNavigationTimeout": 300000,
I added it at the beginning of the config file, just after the "loglevel"
parameter.
This will extend the waiting time before raising the timeout error. If you
are on a RPi just like me, it will help a lot.
—
Reply to this email directly, view it on GitHub
https://github.com/claabs/epicgames-freegames-node/issues/317#issuecomment-1407661163,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKG2A4ZYJ7BBYREAIF4Q5LDWUZUSHANCNFSM6AAAAAAUKDXWF4
.
You are receiving this because you authored the thread.Message ID:
@.***>

This worked for me, thanks!
On Sun, 29 Jan 2023, 14:00 Pete OneOfThePetes, @.***>
wrote:

Awesome! Thanks for the tip ☺
On Sun, 29 Jan 2023, 13:16 Biscotte31, @.***> wrote:

Hi,
I was trying to setup this addon pretty much at the same time as you were.
As the webpage is showing up, I deduce your "baseurl" parameter is
correctly setup.
Then, just try to add this one :
"browserNavigationTimeout": 300000,
I added it at the beginning of the config file, just after the "loglevel"
parameter.
This will extend the waiting time before raising the timeout error. If
you are on a RPi just like me, it will help a lot.
—
Reply to this email directly, view it on GitHub
https://github.com/claabs/epicgames-freegames-node/issues/317#issuecomment-1407661163,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKG2A4ZYJ7BBYREAIF4Q5LDWUZUSHANCNFSM6AAAAAAUKDXWF4
.
You are receiving this because you authored the thread.Message ID:
@.***>


[UX][Publisher] Switch Endpoint URL Test and Advanced Endpoint Configuration button

Description:
User tend to click on Advanced Endpoint Configuration button when testing the endpoint URL.  Need to switch two buttons.

Suggested Labels:
UX, improvement
Affected Product Version:
2.2.0

PR - https://github.com/wso2/carbon-apimgt/pull/5474


6.0 Release Plan

For an ipywidgets 6.0, widgetsnbextension 2.0, and jupyter-js-widgets 2.1 release:

[x] Email mailing list about this issue: https://groups.google.com/forum/#!topic/jupyter/_CP6rOrlo5M
[ ] Resolve (or bump) remaining issues for 6.0
[ ] Check against recent notebook 5.0 beta
[ ] Write high-level changelog and announcement
[ ] Release an RC
[ ] Wait a few days for any bug reports
[ ] Release final

Note that jupyterlab_widgets is still necessarily alpha, since the underlying platform, JupyterLab, is alpha.
CC @ellisonbg, @SylvainCorlay.

FYI, we have an ongoing google doc that we starting working on. I can share it privately with Brian too.

https://gist.github.com/SylvainCorlay/5e747b76ebe6c31b9af2cbb27fe6d881

I should be able to work on the design stuff on Sat...

@ellisonbg would you be ok going ahead with the RC?
I don't think that the design should change any sizing of widgets because this would be a breaking change for anyone relying on the current proportions.

Not thrilled about that, but can live with it. I think the current sizes
are pretty painful in certain cases and the 6.0 release would have been a
great time to fix that. But pushing it off until a 7.0 release is probably
fine. I know you have all worked really hard to get 6.0 ready and overall
it is looking amazing. Dealing with the sizing issue at this point would
probably delay things a good amount, so I am fine not digging into that.
Maybe another question to ask: can all of the widgets be resized using
public APIs?
There are some other non-sizing related style things I think we should fix
before 6.0 goes out the door. I am fine with a beta being cut, but I would
be a bit hesitant to call it an RC as I know some style things will change.
But as long as you all don't mind changing styles in the middle of an RC
cycle that is fine.
I should note that some of the reason we have been slow to work on the
design stuff is that installing widgets continues to be super painful. I
spent almost 2 hours with Cameron last Friday trying to get him a properly
installed dev master - and I failed. I think I know all the tricks:

Remove an uninstall all old extensions
git clean -xdf
git reset --hard upstream/master
Run the dev install script

I have some ideas on things that could help, and will open an issue on
that. Eventually I was able to get a dev install on my own system so I can
do some of the style work myself.
On Thu, Feb 16, 2017 at 9:46 AM, Sylvain Corlay<EMAIL_ADDRESS>wrote:

@ellisonbg https://github.com/ellisonbg would you be ok going ahead
with the RC?
I don't think that the design should change any sizing of widgets because
this would be a breaking change for anyone relying on the current
proportions.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ipython/ipywidgets/issues/1116#issuecomment-280404756,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABr0EBx8xuNJHhjZB1iqsGYmIrBacnYks5rdIuPgaJpZM4MCD9L
.

--
Brian E. Granger
Associate Professor of Physics and Data Science
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
<EMAIL_ADDRESS>and<EMAIL_ADDRESS>

Maybe another question to ask: can all of the widgets be resized using
public APIs?

Yes, all layout-related css properties of the top-level DOM element are accessible through the layout property.
We also have a a new style property which is per-widget specific and does not map directly to CSS. You can do e.g. slider.style.handle_color = 'blue'.

There are some other non-sizing related style things I think we should fix
before 6.0 goes out the door. I am fine with a beta being cut, but I would
be a bit hesitant to call it an RC as I know some style things will change.
But as long as you all don't mind changing styles in the middle of an RC
cycle that is fine.

👍  on doing non-layout related things in this. I would like to call it RC because we have done 10 non-public betas and announcing a beta 11 is not great.

I should note that some of the reason we have been slow to work on the
design stuff is that installing widgets continues to be super painful. I
spent almost 2 hours with Cameron last Friday trying to get him a properly
installed dev master - and I failed. I think I know all the tricks:

Remove an uninstall all old extensions
git clean -xdf
git reset --hard upstream/master
Run the dev install script

I have some ideas on things that could help, and will open an issue on
that. Eventually I was able to get a dev install on my own system so I can
do some of the style work myself.

I have felt that pain more than most and I think that ipywidgets is the main victim of the design issues current extension system. I really want to be involved in the discussion before we decide on anything final this time. The JEP on the jupyter server has notably items on the precedence semantics of things
things installed / enabled / disabled at different precedence levels, conf.d etc...

I highly recommend deleting any user settings and installing into a clean conda environment using the instructions in https://github.com/ipython/ipywidgets/blob/master/dev-install.sh.

I would like to call it RC because we have done 10 non-public betas and announcing a beta 11 is not great.

We really should have called them alphas, and this the beta, but we can't rewind the clock very well.

I want to insist making a realease. It is blocking a lot of people and a lot of advanced users are using the betas and opening issues about it (which makes me more confident about this release than the previous ones). Then we will be able to improve things iteratively with minor releases.
The gap of the code base with the last actual release is huge (front-end language change, web contexts, serialization specs, use of phosphor, etc...) and I have trouble recognizing the old codebase.

Doing a separate conda env helps in some cases, makes things worse in
others:

You can still have user and system installed extensions that cause
problems. The only way of really dealing with it is to delete/disable all
extensions under sys prefix/user/syste
(you are fully aware of this!) If it were just widgets that needed to be
installed into the conda env that would be done thing. But in this case,
Cameron or I also need a current master dev build of notebook and
jupyterlab - each of which are non-trivial themselves. Cameron had a a
conda env for widgets, but his notebook/lab installs were on his main conda
env. I removed that env and told Cameron to not use envs for this.
In general, I can barely keep a single conda env working, let alone
multiple of them...

The other thing that would really help the install situation is to provide
a top level package.json that allows a dev to easily call/run sub directory
package.jsons. It is much more granular than the single devinstall.sh
script, which conflates building and installing and makes too many
assumptions/decisions.
On Thu, Feb 16, 2017 at 10:22 AM, Jason Grout<EMAIL_ADDRESS>wrote:

I highly recommend deleting any user settings and installing into a clean
conda environment using the instructions in https://github.com/ipython/
ipywidgets/blob/master/dev-install.sh.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ipython/ipywidgets/issues/1116#issuecomment-280414544,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABr0LD8TKBFNKyjMfRQ2MR4CS9cTBo-ks5rdJP4gaJpZM4MCD9L
.

--
Brian E. Granger
Associate Professor of Physics and Data Science
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
<EMAIL_ADDRESS>and<EMAIL_ADDRESS>

Sylvain - an RC or the actual final release? I am fine with an RC moving
forward...
You mention non-public betas - in the future, I would love it if all betas
were public and announced on the mailing list. Otherwise it is too
difficult for folks not working on it everyday to follow progress as a
release nears.
On Thu, Feb 16, 2017 at 10:28 AM, Brian Granger<EMAIL_ADDRESS>wrote:

Doing a separate conda env helps in some cases, makes things worse in
others:

You can still have user and system installed extensions that cause
problems. The only way of really dealing with it is to delete/disable all
extensions under sys prefix/user/syste
(you are fully aware of this!) If it were just widgets that needed to be
installed into the conda env that would be done thing. But in this case,
Cameron or I also need a current master dev build of notebook and
jupyterlab - each of which are non-trivial themselves. Cameron had a a
conda env for widgets, but his notebook/lab installs were on his main conda
env. I removed that env and told Cameron to not use envs for this.
In general, I can barely keep a single conda env working, let alone
multiple of them...

The other thing that would really help the install situation is to provide
a top level package.json that allows a dev to easily call/run sub directory
package.jsons. It is much more granular than the single devinstall.sh
script, which conflates building and installing and makes too many
assumptions/decisions.
On Thu, Feb 16, 2017 at 10:22 AM, Jason Grout<EMAIL_ADDRESS>wrote:

I highly recommend deleting any user settings and installing into a clean
conda environment using the instructions in
https://github.com/ipython/ipywidgets/blob/master/dev-install.sh.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ipython/ipywidgets/issues/1116#issuecomment-280414544,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABr0LD8TKBFNKyjMfRQ2MR4CS9cTBo-ks5rdJP4gaJpZM4MCD9L
.

--
Brian E. Granger
Associate Professor of Physics and Data Science
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
<EMAIL_ADDRESS>and<EMAIL_ADDRESS>
--
Brian E. Granger
Associate Professor of Physics and Data Science
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
<EMAIL_ADDRESS>and<EMAIL_ADDRESS>

Opened #1119 on top-level packaging stuff.

Sylvain - an RC or the actual final release? I am fine with an RC moving
forward...
You mention non-public betas - in the future, I would love it if all betas
were public and announced on the mailing list. Otherwise it is too
difficult for folks not working on it everyday to follow progress as a
release nears.

I meant the actual release shortly (a week?) after the RC.
That making actual (pre) releases was necessary because of the multi-package nature of the project. Things like the sphinx extension would not have been possible to fully without actual releases. Hopefully 6.0 should be  the last coordinated release of all the packages of the widgets repo which should evolve independently after the split.

The thing is that a lot of things (sage notebook convergence, third party widgets releases) are blocking on this, and the gap with the previous version is likely to be too large.

I would love it if all betas
were public and announced on the mailing list

In this case, I think the beta releases have been way too frequent for that - however an issue that people could subscribe to (such as this one), or announcing on the chat channel, I think would be good.

I think a release a week after the RC sounds fine. The style changes shouldn't take much work and I talked to @cameronoelsen today about our working on it in the next few days...

I filed #1125, based on Sylvain's initial change listing - let's collaboratively edit that PR to get a high-level changelog for the announcement.

Also, we should check that the style attribute of dropdowns work. Since we switched to using select, I think that is broken. See https://github.com/ipython/ipywidgets/blob/master/ipywidgets/widgets/widget_selection.py#L229

Okay, I think we're cleared for takeoff - no more open issues! 👏

well, we do have two PRs - one documentation one, and one for the changelog.

CC @JamiesHQ as well...

OK, the second RC is up and announced on the mailing list.

We've released! Drawing up release notes now...


chore(deps): upgrade dev dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-dev-dependencies-k8s-31-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 4787

Questions ?
Please refer to the Backport tool documentation


Toggle Focus makes a folder or note not open-able

A few days ago I chose some folders and notes and selected "Toggle focus" just to learn what this feature does, but nothing happened except that I lost the ability of opening such notes (or folder notes).
Now I cannot open such notes from the file tree unless I use switcher (Ctrl+O) or use right click and select "Open folder note" (unless it is just a note and not a folder)
I've tried to look for any entry within plugin's folder at JSON files... but I was unsuccessful.
I'm using Obsidian v1.5.8
Can you help me with this issue? Maybe would exist any kind of cache or whatever that I can delete to restore the normal behavior?
Regards

Hi again,
I've found Issue #134 and after doing the changes mentioned there for main.js, I was able to use the File Tree as usual.
Hope that helps to solve te issues!
Regards


ios- Picking multiple images and videos directly from Gallery.

Hi guys, I am trying to Pick Multiple Images and Videos from the gallery. In ios its only opening files folder. Is there a way to open gallery and pick multiple images? Thanks.

Hi @RAMSHEER, not at this point. Right now you are only able to pick multiple files from the files app in iOS. In android you are free to choose whatever folder you want.
I may add this possibility in the future. As of now, to pick from gallery, you must select files individually with FileType.IMAGE.
Thank you.

@RAMSHEER +1
@miguelpruivo I'm having the need as well for picking multiple-images in the Gallery of iOS.
Thanks

Yes please!
Tested all these packages

https://pub.dev/packages/photo_manager

https://pub.dev/packages/photo

https://pub.dartlang.org/packages/multi_image_picker

https://pub.dartlang.org/packages/flutter_multiple_image_picker

https://pub.dartlang.org/packages/custom_multi_image_picker

https://pub.dartlang.org/packages/multiple_image_picker

None of them support this and the Flutter team refers to these packages as the reason not to build multi picker support on the image_picker library...

@lifenautjoe none of those support it? They look like they’re exactly what you’re looking for. 👀
Anyway, this is a requested feature that might be implemented in the feature.

None of them do, the only one that I could have used to build my own multi image picker: https://pub.dev/packages/photo_manager , has a critical memory management bug ... Could you provide some orientation into how would you build this?
Perhaps I can give it a try, not really an iOS dev though 😬

This could be implemented in the future, but currently it will have to wait as I don't have much time right now for it. 😞  I'm closing this because it is already mentioned in the #99.


When/why Rebass instead of Theme UI

I understand Rebass and Theme UI complement each other, but I'm a bit unsure of when or why one would use Rebass when there's Theme UI?
Does Rebass just provide a bunch on prebuilt primitives for convenience, that I would inevitably end up building (probably more poorly) using Theme UI?

From my understanding, they both use the Theme Specification and provides an sx prop.
rebass components are reusable primitive components ready to go out of the box with good default styles. All rebass components are essentially Box components that compose of styled-system which gives you the ability to style via props. Check out the source code; it's very digestible packages/rebass/src/index.js.
theme-ui doesn't come with any reusable primitive components. So yes, you will probably end up building those components yourself.

Thanks for the response, this solidifies my understanding. I ended up using reflexbox as a separate dependency and basically built my own primitives with theme-ui using the rebass source as a frame of reference. Thanks again!

I've done the exact same thing and the developer experience has been awesome so far! 😄

Doesn't Theme UI has its own components? Why you say theme ui doesn't come with any reusable primitive components? @epilande
See https://theme-ui.com/components
For example, it mentions The Box & Flex layout components are similar to the ones found in Rebass, but are built with Emotion and @styled-system/css. at the layout section https://theme-ui.com/layout/#box--flex
I am new to the two libraries and it seems to me that Theme UI is trying to consolidate all the good parts of styling tools, and become a closed loop library, while rebass is more open to be used with other tools. Kinda like IOS and Android.

Also, is reflexbox part of rebass now? https://rebassjs.org/reflexbox/

Doesn't Theme UI has its own components? Why you say theme ui doesn't come with any reusable primitive components? @epilande

My comment from a month ago is now invalid; Components in theme-ui were just added very recently. https://github.com/system-ui/theme-ui/pull/411

Thanks for pointing me to that pull request! @epilande

Currently I want to learn building a design system (for learning), since theme-ui already includes the primitive component, such us Box and Flex and also supports color-modes. This means that I only need to use theme-ui without rebass right? My current understanding is that theme-ui is the full version of rebass. Cmiiw.. :bowing_man:

@jeffryang24 yes, this issue was opened before @theme-ui/components was published. Rebass is an older project which has informed a lot of the direction and ideas in Theme UI. Rebass will probably continue to exist in its current API for those who have adopted the library, but if you're starting from scratch, Theme UI offers a lot more besides components

Hi, I was following this thread. I recently started a React component library of some higher-level components that use Rebass as a foundation. When I was looking at them, ThemeUI seemed more suited for building out apps/sites (with the MDX stuff and gatsby plugin), so I went with Rebass. Would you recommend migrating to ThemeUI even for a component library?

@jeffryang24 yes, this issue was opened before @theme-ui/components was published. Rebass is an older project which has informed a lot of the direction and ideas in Theme UI. Rebass will probably continue to exist in its current API for those who have adopted the library, but if you're starting from scratch, Theme UI offers a lot more besides components

Hello, @jxnblk this helps a lot.
How would you compare Reflexbox to Theme UI?

I know this issue is closed but it's the only pertinent discussion I was able to find online. I'm a TypeScript developer. Based on what I'm seeing, the only reason to choose Rebass over Theme-UI at the moment is that type definitions for @theme-ui/components are still being worked on. Once those are finished, I believe Theme-UI is a full replacement of Rebass and more. Is that the concensus?

I want to add my two cents for anyone deciding between rebass / theme-ui for the first time.
I tried out theme-ui's components but ended up going with rebass using the theme-ui theme because theme-ui forces you into using the sx prop for most props like height and flexDirection even for the <Flex element itself.
I'm not going to use those properties in my themes and don't want to nest most of my style props every time I need one, so I used rebass.

@embryCODE To be honest, why not avoid this confusion all together and just eliminate Rebass altogether? I've never understood the need for three libraries, two of which (theme-ui and rebass) are basically doing the same thing. From "lowest level" to "highest level":

styled-system is a core library for designing a component system
rebass is a few components built using styled-system
theme-ui is rebass but with even more components

If that's true... why bother confusing people? It would make a lot more sense to just have styled-system for those that want to go it alone and theme-ui for those who want a head-start. You're building a component system either way, it just depends on where you want to start from.

@cereallarceny Yeah, I think the main thing is that it was a little unclear that theme-ui is the next rebass. Once I understood that that was the case, then I knew that I didn't need both, especially now that theme-ui has so many great components. Why not indicate on rebassjsj.org that theme-ui is the new thing?

Does Theme UI work with Styled Components?

@clehene https://theme-ui.com/guides/styled-components/

Just when I thought I'd figured out the ever so minuscule differences between Rebass & Theme-UI, Reflexbox arrives on the scene. 😅
So will piggyback on @embryCODE comment and take that Theme-UI is the lib that prevails?

@UiCandy I think Reflexbox is an even older version of some bits of Rebass? In any case it would really help to clarify the prevalence of each library... one of those simple comparison tables maybe with checks and crosses?
Am I missing something here or is it correct that theme-ui is still missing a bunch of type definitions that rebass does have? When I change the component imports from rebass to theme-u', it starts complaining about <Flex /> not supporting the properties flexWrap, width, etc. If theme-ui is the newer library, shouldn't it at least have the same basic type defs?

@UiCandy I think Reflexbox is an even older version of some bits of Rebass? In any case it would really help to clarify the prevalence of each library... one of those simple comparison tables maybe with checks and crosses?
Am I missing something here or is it correct that theme-ui is still missing a bunch of type definitions that rebass does have? When I change the component imports from rebass to theme-u', it starts complaining about <Flex /> not supporting the properties flexWrap, width, etc. If theme-ui is the newer library, shouldn't it at least have the same basic type defs?


Question: Which version is for Tekken 8 Demo?

I want to try the performace tweaks, because my system is not very powerfull, before buying the game

They updated the demo one last time before the game released and broke compatibility with the overlay. I don't think there's a version that works with it. You probably should be ok since the game is heavily optimized and theres potato stage mods / this program for extra performance + upscalers and engine.ini's too for extra perf. Honestly buy it on steam and you can try it for two hours of playtime and still be able to refund it.

Does the version that released yesterday work with tekken 8 demo?


refactor websockets to be more idiomatic

The current WebSocket api is closely modeled after the JavaScript WebSocket api which is functional but seems like a strange fit inside of a rust program. This PR is meant to refactor the WebSocket api to feel more rust-y.
Inspiration was taken from several other rust http frameworks (primarily axum and warp) but some of the restrictions JavaScript places on us requires us to make some changes. The biggest different in my opinion is that we don't use a Sink for sending messages through the WebSocket, which is because send does not return a promise for when it has finished sending the message and I thought having an async trait that always acts synchronously is strange.
This PR is a draft so if you have opinions on what the WebSocket api should look like leave your opinion, I'd love some feedback on this.

https://github.com/cloudflare/workers-rs/pull/133/files#diff-9429c18070f1b18618d23f33d40eb65a6e19ce99be5ffeaf5744cd5db2526de9R58
idk why I can't leave a comment in the PR inline there, but I'd change send_with_binary to send_with_bytes. not critical, but if you rename the MessageEvent methods to match Request ones, it makes more sense.


DBeaver: Selecting array of structs returns error

Describe the bug
select array[(1,2)]::struct<a integer, b integer>[] as measurements;
returns Cannot invoke "String.hashCode()" because "typeName" is null in DBeaver SQL console
https://github.com/dbeaver/dbeaver/issues/36198
Error message/log
No response
To Reproduce
No response
Expected behavior
No response
How did you deploy RisingWave?
No response
The version of RisingWave
No response
Additional context
No response

I believe this is a bug on the database side. The ResultSetMetaData#getColumnTypeName method returns null for such a column.
Is there a way to obtain a type name for complex columns? If PostgreSQL's JDBC driver is incompatible with your database, could you offer a different solution?

The JDBC metadata also incorrectly reports the second column being of type varchar:
select (1,2)::struct<a integer, b integer> as measurement;


ListWidget: weird index access

There is an access to properties to this.rendered here where a string is used (key_${start + i}), however it seems that this.rendered is only filled with index as number, not as string.

Oh great catch!


links to mp3 files are relative to channel URL, not the dropbox links

Dropcaster sounds way cool - we were thinking it allowed us to host purely out of dropbox, but when we run it we get urls to the mp3s  relative to channel URL, not the dropbox links that we were expecting.  Are we doing something wrong?
:title: 'Agile Book Club Podcast'
:description: 'AgileVentures.org panelists discussion on selected books and topics relating to agile development, team collaboration, and software engineering.'
:url: 'https://www.agileventures.org'

example from index.rss:
   <item>
      <title>Ep. 5: Agile Book Club podcast - Fifty Quick Ideas to Improve your User Stories by Adzic/Evans</title>
      <itunes:author>AgileVentures.org</itunes:author>

      <itunes:subtitle>Episode 5: Sam and Michael discuss the following...</itunes:subtitle>
      <itunes:summary>Episode 5: Sam and Michael discuss the following sections of "Fifty Quick Ideas to Improve your User Stories" by Gojko Adzic and David Evans:

-Put a best before date on stories
-Set deadlines for addressing major risks</itunes:summary>

      <itunes:image href=""/>
      <enclosure url="https://www.agileventures.org/ep._5__agile_book_club_podcast_-_fifty_quick_ideas_to_improve_your_user_stories_by_adzic_evans.mp3" length="31059440" type="audio/mp3"/>
      <link>https://www.agileventures.org/ep._5__agile_book_club_podcast_-_fifty_quick_ideas_to_improve_your_user_stories_by_adzic_evans.mp3</link>
      <guid isPermaLink="false">1fcbf4022f1b93cef9750850b1c758ad54926b01</guid>
      <pubDate>Wed, 17 Jan 2018 13:08:47 +0000</pubDate>
      <itunes:duration>1756</itunes:duration>

    </item>

we thought that the link would be to the dropbox link to the mp3 https://www.dropbox.com/s/uc0bap0hjk070c7/ep.5__agile_book_club_podcast-_fifty_quick_ideas_to_improve_your_user_stories_by_adzic_evans.mp3?dl=0 or is that not how the system works?

Okay, so I guess this system used to work when dropbox allowed relative linking in the public folder.
I've now managed to make it work by publishing to githubpages https://github.com/AgileVentures/agile-book-club-podcast
ideally the README should be updated with appropriate instructions and the project renamed as githubpagescaster or similar ...

FYI - it also works with free heroku hosting

You can also set it up with s3 / digital ocean spaces and use https://github.com/s3tools/s3cmd to sync your local folder to the static asset host.

@dkhgh wow thanks for that suggestion. This works great!

@dkhgh Nice approach! Would you be willing to describe that in the README (in reasonable detail)?

@dkhgh I can add to the readme if you are busy, LMK

@dkhgh Nice approach! Would you be willing to describe that in the README (in reasonable detail)?

@dkhgh I can add to the readme if you are busy, LMK

I can do it tomorrow / Thursday the earliest, I'll check back here and update the readme 👍

#78 was merged. @tansaku, please re-open if your issue was not solved with that patch.


Add String.fromUtf8?

Unlike String.fromUtf8Unchecked, this one should check for valid UTF-8. In fact, since we have to decode the string anyway to figure out its character length, we might as well remove the former function.

However all String.Pos-based functions immediately work for an Utf8Unchecked without any extra decoding because the UTF8 size is just the ByteArray size and can be cached from the start.

I'm not quite sure what you mean. String eagerly, always caches the number of code points.

My bad, indeed there is an eager utf8_strlen call in the constructor and the "unchecked" is not any faster.


Native image cannot be loaded multiple times

This error based on offline discussions:
C:\Users\brthor\code\cli\build\package\Microsoft.DotNet.Cli.Layout.targets(64,5): error MSB4062: The "Microsoft.Build.Tasks.Copy" task could not be loaded from the assembly Microsoft.Build.Tasks.Core, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a. Native image cannot be loaded multiple times Confirm that the <UsingTask> declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask. [C:\Users\brthor\code\cli\build.proj]

Creating a standalone repro of this is proving challenging but I have shared a repro offline with
@rainersigwald and @cdmihai
Using this issue for tracking workarounds we are making for this issue.

@rainersigwald @brthor @cdmihai I've been asked to help out with these MSBuild issues, and I've already picked up #658. This issue looks to be related (at least to the extent that it has to do with assembly loading).
Would it be possible for one of you to share the repro with me?

To repro:

clone https://github.com/dotnet/cli
checkout the feature/msbuild branch
Remove these lines https://github.com/dotnet/cli/blob/feature/msbuild/build.proj#L47-L52
build from the root of the repo

@eerhardt Thanks!

@eerhardt I'm not able to reproduce the issue using the provided steps. With or without the <Message> element in build.proj, the build succeeds.

@tmeschter If the entire MSBuildWorkaroundTarget and references are removed do you see the behavior?

Also comment out the Exec call on line 79:
https://github.com/dotnet/cli/blob/feature/msbuild/build.proj#L79

The issue seems to occur when the root project doesn't use any built-in tasks (like Message or Exec), and it imports a separate .targets file that uses a built-in task (like Message or Exec).

@brthor @eerhardt Still can't repro this, even after removing the MSBuildWorkaroundTarget and all references to it, and removing the Exec call on line 79. Of course, without the Exec call the build fails with an unrelated problem...

Moving this to build/Microsoft.DotNet.Cli.Prepare.targets instead of deleting it might help get the repro.
https://github.com/dotnet/cli/blob/feature/msbuild/build.proj#L75-L80

@brthor Can you please make the repro inducing edits in a separate branch and link it here? Would make it easier for multiple people to repro the issue by just checking out a branch and building.

@cdmihai @tmeschter

Can you please make the repro inducing edits in a separate branch and link it here? Would make it easier for multiple people to repro the issue by just checking out a branch and building.

That was the purpose of the offline shared repro. Is that repro not usable for debugging?

@brthor Unfortunately VS crashes when trying to load symbols for the copy of Microsoft.Build.dll used by that offline repro. And when I drop in locally-built MSBuild binaries I end up with assembly version mismatches. So at the moment I'm trying to construct a simpler repro with newer bits.

It sounded like @anurse had a repro of this bug as well.  Maybe he has an separate branch that you can checkout.

I don't have a very convenient repro yet, it's tied into our build system which isn't a great standalone example yet.

@tmeschter
I've pushed a branch exhibiting the repro.
git checkout brthor/repro750
build.cmd /t:BuildDotnetCliBuildFramework
build.cmd /t:InitializeCommonProps

I had some trouble getting a solid repro, a target in a file that only called built in tasks didn't seem to trigger it. A target calling a custom task followed by the built in task when the target isn't in the top level project did trigger it. I don't know if that info will be useful :smile:

@brthor Great; that does reproduce the issue.
The exception occurs while running this command:
E:\Projects\cli\.dotnet_stage0\x64\dotnet.exe E:\Projects\cli\.dotnet_stage0\x64\sdk\1.0.0-featmsbuild-003411\MSBuild.exe /p:Architecture=x64 /t:InitializeCommonProps build.proj
However, if I replace the Microsoft.Build*.dll binaries under 1.0.0-featmsbuild-003411 with locally-built bits and run that command again it works.
I notice that the original Microsoft.Build.* binaries under E:\Projects\cli.dotnet_stage0\x64\sdk\1.0.0-featmsbuild-003411 are about twice as large as my locally-built bits. Are these actually NGEN'd bits (despite the lack of a .ni.dll suffix)? If so, how were they produced?
Note that I know almost nothing about the dotnet CLI and its use, so I'll need a certain amount of hand-holding to understand how this is all supposed to work.

Indeed @tmeschter We do crossgen these bits.
They're produced here
https://github.com/dotnet/cli/blob/feature/msbuild/build/Microsoft.DotNet.Cli.Compile.targets#L193
Feel free to ping me with any questions on this :smile:

@brthor Does the CrossGen task produce .pdbs for these bits? Actually, any suggestions you have on how to debug through these bits would be helpful.

/cc @eerhardt
@tmeschter In the past I haven't needed to do anything special for crossgen'd binaries besides pointing at the pdb in the VS debugger.
Do you have the Pdbs for the binary which is already crossgend? It comes from the msbuild nuget package, but I'm not sure where symbols are published.

/cc @gkhanna @johnchen0 Can you provide some guidance here?

Can someone summarize the problem :) ?

@gkhanna79
The problem appears to be that ordering targets which invoke custom/builtin tasks in msbuild in a certain way produces an error that can only be reproduced when the MSBuild binaries are crossgend.
The error we're seeing is posted above but the interesting part is:
Native image cannot be loaded multiple times
@tmeschter Is working to debug the crossgend MSBuild bits and looking for any guidance on how to do the debugging there.

@brthor This issue doesn't repro if the MSBuild binaries are not crossgend--is that an option for you?

I did some debugging and found what happened: MSBuild first loaded Microsoft.Build.Utilities.Core.dll using AssemblyLoadContext.LoadFromAssemblyPath. It then tried to load a type from Microsoft.Build.Tasks.Core.dll, which depends on Microsoft.Build.Utilities.Core.dll. While resolving this dependency, the runtime decides to reload Microsoft.Build.Utilities.Core.dll, probably because the previous load was in the wrong context. When Microsoft.Build.Utilities.Core.dll had been compiled by CrossGen, the second load was disallowed, since we don't allow multiple loads of a DLL containing native code, thus generating an error.
@gkhanna79: How is AssemblyLoadContext.LoadFromAssemblyPath expected to interact with other types of assembly loads?

@tmeschter
This would reduce the performance of dotnet build. Hopefully we could instead drive the bugfix in crossgen or msbuild (wherever it exists). Disabling it temporarily may be an option.
Thanks for the great info @JohnChen0

Based on @JohnChen0's analysis, this seems like an issue with CrossGen or the runtime. At least, it isn't clear to me what MSBuild could or should be doing differently

We will investigate what can be done from the runtime to prevent this issue, but this will take some time, and we don't yet know what are the possibilities. In the mean time, there are a couple of ways to unblock CLI build:

Use IL image for MSBuild, as @tmeschter suggested. (Probably enough to use IL image for just Microsoft.Build.Utilities.Core.dll, though I haven't tried it.)
Modify MSBuild's implementation of AssemblyLoadContext.Resolve, so it returns null if the target assembly is on the TPA list, instead of calling AssemblyLoadContext.LoadFromAssemblyPath. This should cause the runtime to load the assembly from TPA.

@JohnChen0 What if MSBuild simply used the default AssemblyLoadContext rather than creating a derived type? It seems like that would keep all of the loads in the same context, and effectively avoid the issue.
@AndyGerlicher @rainersigwald Do you know why we're creating our own AssemblyLoadContext rather than simply using the default? We could handle loading dependencies by hooking the AssemblyLoadContext.Resolve event.

The default AssemblyLoadContext is an abstract class, and thus can't be used directly. If MSBuild only loads assemblies from TPA, then it can rely on runtime's own assembly probing mechanism, and doesn't need to use AssemblyLoadContext. However, I suspect MSBuild needs to load assemblies from arbitrary paths specified by build projects, in which case it needs a derived AssemblyLoadContext. The recommendation is for its implementation of AssemblyLoadContext to distinguish between assemblies on the TPA and those not on the TPA, and only explicitly load assemblies not on the TPA.

@JohnChen0 I meant could/should we just use the object returned by AssemblyLoadContext.Default.
Also, could you define "TPA"?

Modify MSBuild's implementation of AssemblyLoadContext.Resolve

Not Resolve event but Load override of custom AssemblyLoadContext should return null to allow the TPA (DefaultContext) binder to perform the bind.
@tmeschter Think of TPA (Trusted Platform Assembly) list as the set of binaries that constitute the app (and thus, are referred to by their respective package entries in app.deps.json).
If all the assemblies that need to be loaded are known ahead of time, then ensure that they are part of the app and listed in app.deps.json. This will make them always be loaded from a single (Default) loadcontext.
If you do not know their path ahead of time BUT know that the ones that need to be loaded from a single context, then in your custom AssemblyLoadContext's Load override, check for the assembly and load it in the default Context using AssemblyLoadContext.Default.LoadFromAssemblyPath.

@gkhanna79 Thanks; that is good to know.
Let me ask a more general question: under what circumstances would it make sense to derive from AssemblyLoadContext rather than simply use AssemblyLoadContext.Default and hook the Resolve event to help find assemblies?

AssemblyLoadContext is about providing isolation to load same or different versions of a given assembly at runtime. Typically, developers do not have to worry about this. However, when dealing with scenarios like Plugin infrasturcture, the plugin infra needs to think about such issues and use AssemblyLoadContext to provide isolation for such loads.
Resolving event is a mechanism to enable a given load context have a fallback mechanism to point to assembly if one is not already loaded within the load context.
The specific issue you are running into is about attempting to load a given SharedFX assembly twice - this should not be required to be done since SharedFX is already part of the DefaultContext. Thus, you should consider returning null from the Load override.

@gkhanna79 Can you define "SharedFX"? Is it the same as "TPA"?
How do I know if a given assembly is part of the SharedFX and/or TPA?

Yes, it is the same as TPA.
You can determine the path to the SharedFX and check if the assembly exists there or not. If not, then this is an app specific assembly and the Load override should know how to load it.

Is there an API to get the path to the SharedFX?

Is there an API to get the path to the SharedFX?

The way we get it in the CLI is using this code:
https://github.com/dotnet/cli/blob/feature/msbuild/src/Microsoft.DotNet.Cli.Utils/Muxer.cs#L45
        public static string GetDataFromAppDomain(string propertyName)
        {
            var appDomainType = typeof(object).GetTypeInfo().Assembly?.GetType("System.AppDomain");
            var currentDomain = appDomainType?.GetProperty("CurrentDomain")?.GetValue(null);
            var deps = appDomainType?.GetMethod("GetData")?.Invoke(currentDomain, new[] { propertyName });

            return deps as string;
        }

        private bool TryResolveMuxerFromParentDirectories()
        {
            var fxDepsFile = GetDataFromAppDomain("FX_DEPS_FILE");
            if (string.IsNullOrEmpty(fxDepsFile))
            {
                return false;
            }

            var fxDir = new FileInfo(fxDepsFile).Directory

Worth noting that @eerhardt 's solution requires you to be using the dotnet.exe host, and not corerun.

and not corerun.

I didn't think corerun supports the Shared FX at all. So yes, it can't can't be used with the code above.

My take away from all this is that there's basically no way to correctly implement an AssemblyLoadContext without some rather deep knowledge of the runtime environment.
If an AssemblyLoadContext should always/generally avoid loading an assembly that is part of the "SharedFX" and instead let the default context handle it, then that should be the default behavior. My AssemblyLoadContext shouldn't even be asked about it unless it opts out of that default.
Further, since the application gets to decide whether or not to crossgen assemblies, my library shouldn't have to think about them at all when loading an assembly.
At this point I think I'm probably going to remove MSBuild's AssemblyLoadContext in favor of using whatever is returned by AssemblyLoadContext.Default and hooking its Resolve method.

Is there any way general way to probe the TPA @gkhanna79 @JohnChen0 ?
Only looking in the sharedfx directory seems like it could be fragile in the long term, also doesn't the host also place the assemblies in the app's deps.json on TPA?

Do you want to chat before you make the change @tmeschter? It will be good to have context on why MSbuild had one in the first place and figure out the right next steps.
Also, you may run into https://github.com/dotnet/coreclr/issues/5837 with Resolving event, so lets chat on how you can achieve your intended goal.

Is there any way general way to probe the TPA @gkhanna79 @JohnChen0 ?

Unless TRUSTED_PLATFORM_ASSEMBLIES property is published (like FX_DEPS_FILE), then no.

@gkhanna79 MSBuild more or less copied the one from Roslyn: https://github.com/dotnet/roslyn/blob/d6f8dc441a1a3b749b5082579f582892236b1584/src/Compilers/Helpers/CoreClrAnalyzerAssemblyLoader.cs
However, Roslyn no longer implements an AssemblyLoadContext either. It now simply grabs the existing one and hooks the Resolving event.
The MSBuild requirements are pretty simply. We need to be able to load assemblies from arbitrary file paths. We also need to be able to load their dependencies, which we assume are located immediately next to them (or are supplied by the app/system, in which case we shouldn't have to think about them at all). We don't care about isolating one "plug-in" from another.

@tmeschter Roslyn is actually creating its own LoadContext (see https://github.com/dotnet/roslyn/blob/56f605c41915317ccdb925f66974ee52282609e7/src/Scripting/Core/Hosting/AssemblyLoader/CoreAssemblyLoaderImpl.cs#L37) and using its Load override to override what the DefaultContext may return.

We need to be able to load assemblies from arbitrary file paths

Do you know these paths ahead of time? Also, are you going to run against .NET Core RTM or using the CoreCLR that comes from CoreCLR master (since that will determine whether you need to workaround the Resolving bug or not)?

@gkhanna79 That implementation of AssemblyLoadContext is solely for scripting scenarios (e.g. csi.exe/C# Interactive Window); it is not used in the C# or VB compilers themselves.
The paths are not known ahead of time.
I don't know if we're going to run against .NET Core RTM or the CoreCLR from CoreCLR master.
Would this be another option: have our AssemblyLoadContext forward all load requests the default context, and only try to resolve an assembly if the default context can't? I'm not sure how that would differ from simply hooking the Resolving event on the default context, but maybe there's something I'm missing.

have our AssemblyLoadContext forward all load requests the default context, and only try to resolve an assembly if the default context can't?

This sounds reasonable approach, by doing something like AssemblyLoadContext.Default.LoadFrom* in the Load override of your LoadContext implementation.

@gkhanna79 One issue with that approach is that I need to catch all exceptions that arise from AssemblyLoadContext.Default.LoadFrom* and ignore them, and then move on to checking the paths specific to my loader. Doable, but a bit ugly.
I also tried simply hooking the Resolving event of the AssemblyLoadContext.Default instance, with the handler locating the assembly and then calling AssemblyLoadContext.Default.LoadFromAssemblyPath. This works to the extent that I can find and load the assembly, but then immediately dies with an ExecutionEngineException as soon as we try to execute any code in the new assembly. Any idea about that one?

@brthor Assuming I can produce MSBuild bits with a fix, how should I go about updating the repro to test those new bits?

Patching the stage0 that gets downloaded as a part of the build under .dotnet_stage0/sdk/... should do it.

@brthor  You mean .dotnet_stage0/x64/sdk, for example? Since those are crossgen'd binaries, how do I patch them?

yes that is the directory i mean. You'll need to crossgen the binaries you are placing there. That is required to get the repro at all right?

dies with an ExecutionEngineException as soon as we try to execute any code in the new assembly.
@tmeschter This is the issue [https://github.com/dotnet/coreclr/issues/5837] I mentioned in the thread above. To workaround this is why you will need to catch the exception in your Load override.

@brthor Yes, the binaries have to be crossgen'd for the problem to repro.
How can I find the command line that was used to produce the crossgen'd MSBuild binaries? Otherwise I'm just going to be guessing about what arguments to pass to crossgen.exe.

@brthor packages versioned 0.1.0-preview-00033-160829 should have the theoretical fix. I think @tmeschter was trying to validate that it worked, but from our (offline) conversation you might be willing to take them already.

We have an important PR failing due to this issue. I'm about to try taking the build referenced by @rainersigwald to see if it fixes.

We ended up side-stepping this issue and not validating the fix at the moment. We needed to get a PR through and taking a new MSBuild requires a separate PR into CLI. We'll keep an eye out for this issue.

@nateamundson is hitting this issue with some local changes

Here are some more details about the scenario in which I see this issue.

I'm doing a local of build of the dotnet/cli repo, using the latest MSBuild version in that repo (0.1.0-preview-00038-160914).
I'm building my changes in https://github.com/dotnet/cli/pull/4191.
In addition to those changes, I removed "Test" from the build targets in build.proj to make the build get to the Publish step quicker and because I've sometimes been seeing unrelated errors in the Test target.
The error occurs both when doing a clean build (with git clean -xdf before building) and when not doing a clean build.

Time Elapsed 00:11:27.72

MSBUILD : error MSB1025: An internal failure occurred while running MSBuild.
Unhandled Exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.IO.FileLoadException: Native image cannot be loaded multiple times
at System.Diagnostics.StackTraceSymbols..ctor()
--- End of inner exception stack trace ---
at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at System.Activator.CreateInstance(Type type)
at System.Diagnostics.StackFrameHelper.InitializeSourceInfo(Int32 iSkip, Boolean fNeedFileInfo, Exception exception)
at System.Diagnostics.StackTrace.CaptureStackTrace(Int32 iSkip, Boolean fNeedFileInfo, Thread targetThread, Exception e)
at System.Diagnostics.StackTrace..ctor(Exception e, Boolean fNeedFileInfo)
at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)
at System.Exception.GetStackTrace(Boolean needFileInfo)
at System.Exception.ToString(Boolean needFileLineInfo, Boolean needMessage)
at System.Exception.ToString(Boolean needFileLineInfo, Boolean needMessage)
at Microsoft.Build.CommandLine.MSBuildApp.Execute(String[] commandLine)
at Microsoft.Build.CommandLine.MSBuildApp.Main(String[] args)
Failed to build
At C:\Repos\cli\run-build.ps1:79 char:31

if($LASTEXITCODE -ne 0) { throw "Failed to build" }

                          ~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : OperationStopped: (Failed to build:String) [], RuntimeException
FullyQualifiedErrorId : Failed to build

I'm seeing the same issue on a clean local build when synced to rel/1.0.0 of cli without any local changes.

Since this only repros when the MSBuild binaries have been CrossGen'd, I need to be able to do that in order to properly test any potential fix. Until I get detailed instructions on how to do that I'm effectively blocked from further progress on this issue.

@tmeschter - see the following build scripts that we use to crossgen all of the assemblies in the CLI:
MSBuild Crossgen Task:
https://github.com/dotnet/cli/blob/rel/1.0.0/build_projects/dotnet-cli-build/Crossgen.cs
InitCrossgenProps Target:
https://github.com/dotnet/cli/blob/rel/1.0.0/build/crossgen/Microsoft.DotNet.Cli.Crossgen.targets
Invoking the Crossgen Task:
https://github.com/dotnet/cli/blob/rel/1.0.0/build/Microsoft.DotNet.Cli.Compile.targets#L193-L201

Coreclr also looks to have some docs
https://github.com/dotnet/coreclr/blob/master/Documentation/building/crossgen.md
👍

@naamunds I'm unable to repro this when building your changes in dotnet/cli#4191. I did the following:

Checked out your commit (95f0141).
git clean -xdf
Updated build.proj to remove "Test" from the CLITargets property.
.\build.cmd

It takes a while, but the command completes successfully.

@tmeschter I investigated this a little more and found that the error only occurs when the publish step is executed.  For this to happen on a local build, you'll need to set four environment variables:
set PUBLISH_TO_AZURE_BLOB=1
set STORAGE_ACCOUNT=<Azure Storage account name>
set STORAGE_CONTAINER=<Azure Storage container name>
set STORAGE_KEY=<Azure Storage account access key>
You can use an Azure Storage account in a personal Azure subscription (e.g. your MSDN subscription).
To re-run the build with the same Storage info, you'll also need to set the following environment variable:
set OverwriteOnPublish=true

Also, because of a recent breaking change, you'll need to instead use commit 88a1bdd6 (or later).

@naamunds Thanks, I'll give that a try.

@naamunds @brthor I'm not convinced this is still the same issue. Even if it is, I don't think there's much we can do about it on the MSBuild side since we're not participating in this assembly load and have no control over it.
My assessment of the situation is that there's no safe way to use CrossGen'd images and custom AssemblyLoadContexts in the same program due to bug https://github.com/dotnet/coreclr/issues/6695.
I may yet try to eliminate MSBuild's use of a custom AssemblyLoadContext, but I'm not 100% sure it will help here.