Concering Inconsistent Results Based On * Operator

Description
I raised a github issue in the NumPyro github pages that there was a drastic incorrect difference in  MCMC inference results depending on the use of * operator, and was redirected to the jax folk. As you may see below, the exact same mathematical operators (factorized versus unfactorized) create serious problems for gradients affecting Hamiltonian MCMC sampling. I am a bit suprised simple arithmetic difference like this causes such problems.

@mlpotter It is better to raise those numerical issues to jax folks. You can just create a function with arguments are latent variables and try to see if there are differences in the evaluation. You use the following code to make an issue in jax.
import jax.numpy as jnp

t1 = jnp.array([0., 1.])
t2 = jnp.array([1., 2.])

def f1(k, r):
    lam = jnp.power(-jnp.log(r), 1 / k)
    p = jnp.exp(-(jnp.power(t2*lam, k) - jnp.power(t1*lam, k)))
    return p.sum()

def f2(k, r):
    lam = jnp.power(-jnp.log(r), 1 / k)
    p = jnp.exp(-(jnp.power(t2, k) - jnp.power(t1, k)) * jnp.power(lam, k))
    return p.sum()

print(jax.device_get(jax.value_and_grad(f1, (0, 1))(0.1, 0.9)))
print(jax.device_get(jax.value_and_grad(f2, (0, 1))(0.1, 0.9)))

which returns
(array(1.89246643), (array(nan), array(nan)))
(array(1.89246643), (array(-0.07768232), array(1.0791475)))

I believe it is coming from how a log(0) is being handled in the gradient, but f2 handles this fine and f1 fails.
What jax/jaxlib version are you using?
jaxv 0.3.20, jaxlibv 0.3.21
Which accelerator(s) are you using?
cpu
Additional system info
Edition	Windows 10 Home
Version	21H2
Installed on	12/8/2021
OS build	19044.2006
Experience	Windows Feature Experience Pack 120.2212.4180.0
NVIDIA GPU info
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 522.25       Driver Version: 522.25       CUDA Version: 11.8     |
|-------------------------------+----------------------+----------------------+
| GPU  Name            TCC/WDDM | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ... WDDM  | 00000000:01:00.0  On |                  N/A |
| N/A   51C    P8     9W /  N/A |   1613MiB /  8192MiB |      2%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      1532    C+G   ...e\root\Office16\EXCEL.EXE    N/A      |
|    0   N/A  N/A      5940    C+G   ...wekyb3d8bbwe\Video.UI.exe    N/A      |
|    0   N/A  N/A      7152    C+G   C:\Windows\explorer.exe         N/A      |
|    0   N/A  N/A     10432    C+G   ...5n1h2txyewy\SearchApp.exe    N/A      |
|    0   N/A  N/A     10592    C+G   ...2txyewy\TextInputHost.exe    N/A      |
|    0   N/A  N/A     11036    C+G   ...artMenuExperienceHost.exe    N/A      |
|    0   N/A  N/A     11436    C+G   ...5n1h2txyewy\SearchApp.exe    N/A      |
|    0   N/A  N/A     13388    C+G   ...cw5n1h2txyewy\LockApp.exe    N/A      |
|    0   N/A  N/A     14824    C+G   ...oot\Office16\POWERPNT.EXE    N/A      |
|    0   N/A  N/A     19884    C+G   ...2gh52qy24etm\Nahimic3.exe    N/A      |
|    0   N/A  N/A     22196    C+G   ...lPanel\SystemSettings.exe    N/A      |
|    0   N/A  N/A     24464    C+G   ...y\ShellExperienceHost.exe    N/A      |
|    0   N/A  N/A     28308    C+G   ...oot\Office16\POWERPNT.EXE    N/A      |
|    0   N/A  N/A     29336    C+G   ...a\bin\win64\cefhelper.exe    N/A      |
|    0   N/A  N/A     36180    C+G   ...022a\bin\win64\MATLAB.exe    N/A      |
|    0   N/A  N/A     36512    C+G   ...ge\Application\msedge.exe    N/A      |
|    0   N/A  N/A     37892    C+G   ...perience\NVIDIA Share.exe    N/A      |
+-----------------------------------------------------------------------------+

Thanks for the report – I dug into this a bit, and I suspect this is the issue at play here:
import jax
import jax.numpy as jnp

t = 0.0

def f1(r, k):
  return jnp.power(t * r, k)

def f2(r, k):
  return jnp.power(t, k) * jnp.power(r, k)

print(jax.grad(f1)(1., 0.1))
# nan
print(jax.grad(f2)(1., 0.1))
# 0.0

You can maybe understand why this is happening by thinking about applying the chain rule to the two expressions. For the first we get something like this:

$f1(x) = (0 \cdot x)^k$
$df1/dx = k \cdot 0 \cdot (0x)^{k - 1}$
$df1/dx = 0.1 \cdot 0 / 0^{0.9}$
$df1/dx = NaN$

For the second we get something like this:

$f2(x) = 0^k \cdot x^k$
$df2/dx = 0^k \cdot k \cdot x^{k - 1}$
$df2/dx = 0 \cdot 0.1 / x^{0.9}$
$ df2/dx = 0$

That is, even when computing the derivatives of this kind of expression purely symbolically, the order of operations actually matters in terms of whether the gradient is defined!
I'm not sure what the resolution is here, but I hope that shines some light on what might be going on.

Yes the chain rule derivatives make sense from the purely symbolic standpoint, it is just odd that somewhere/somehow RSTAN accounts for this during MCMC inference.
It seems like if you have $(0*x)^k$ that that automatic differentiation package should prune this computation from the backpropagation graph because of course the derivative should be zero wrt x when this happens.

Thanks - agreed that autodiff should be able to handle this case correctly. Let me think about it a bit...

So, digging into this a little more, and unfortunately I think it will have to be marked as "working as intended". Given the mechanism behind JAX's autodiff system (and other autodiff systems in general), it's generally problematic if your computation includes units that produce infinities. In your case, you have a computational unit that produces an infinity as part of your expression (namely, jnp.power(t1 * x, k) when 0 < k < 1 and t1 == 0)
Identifying this problem within a large computation can be tricky, but JAX does provide the jax_debug_nans and jax_debug_infs flags that can be used to better isolate exactly where the problem comes up.
In this case, there are three possible approaches you might use:

re-express your computation in a way that avoids producing infinities. That's what your f2 effectively does
define a custom derivative rule for the particular combination of values that is leading to the problem. For example, you could have def mul_pow(t, x, k): return jnp.power(t * x, k) and define a custom jvp/vjp that correctly handles the case of $t = 0$ for $0 < k < 1$
Within the computation, use the double-where trick to avoid the problematic value; for example you could replace power(t * x, k) with where(t == 0, 0, power(t * x, k)

Which one you use probably depends on your particular application. Hope that helps!


Building mutlple fields in one App

I recently finished building a config-screen and field in a create-contentful-app. It works great, everything looks good on contentful.com after I bundled it and pushed it up.
My next task is to build another field to use on Contentful. Is it possible to have 2 separate field widgets in one create-contentful-app?
My reason for including them in the same app is that there are a variety of helpers/hooks that I would use in both. So optimally I could be both in the same repo/app.

Hey Tom,
It would be possible to have two apps in the same repo, as long as their build processes were kept separate. So you could have a parent folder which contained all of the shared functionality you'd like to use in both apps. Then two "packages" which would be your separate apps. Each would have their own package.json and dependencies, but could import functions from the parent folder. In essence, a monorepo, though I don't know if its worth setting up a monorepo tool unless the project will grow.
You could take a look at our marketplace apps repo for an example. Just check out the 'apps' folder in the project

Sounds good :)


Question: How best to handle ETW (un)registration under MSIX?

Title says it all, really. I don't want to have to use the old ReportEvent API, although I will if I have to, as that API is fully supported under MSIX. ETW enables a far easier-to-browse experience in Event Viewer, as ETW traces are shown in their own list view, while ReportEvent-generated events from all applications are mashed together.
Registration of an ETW .man file isn’t too hard: run wevtutil.exe im path\to\package\etw\app.man /rf:path\to\package\etw\messages.dll /pf:path\to\package\etw\messages.dll from my app’s code. However, there is no good way to call wevtutil.exe um upon uninstall, as MSIX gives no opportunity for an app to run code during the removal process. As such, dangling references in the system to the now-deleted messages.dll file will cause problems the next time the user or an app reads from the ETW database. What is the best way to accomplish this task?
(As an aside, why I am I not using the APIs in TraceLoggingProvider.h, which are far easier to use? Because AFAICT messages created via those APIs aren’t archived in the the Event Viewer, only streamed via realtime trace logging. If I am wrong about this, I’d be happy to hear it.)

MSIX does not support register/unregister of the ETW manifest during install/uninstall. This is a functionality gap that the MSIX team is investigating, but there is no support at present. I don't know of any supported way to accomplish your goal of writing to EventLog via ETW. I agree that this is frustrating.
You are correct about TraceLoggingProvider.h not working in this scenario, largely for the same reason. Note that registering a manifest serves two purposes:

It configures EventLog to listen for your events (i.e. it tells EventLog: when you see an event with Provider GUID "ABC" and Channel/Keyword set to "ABC/Operational", please record it in the "ABC/Operational" log).
It registers the decoding information for Provider GUID "ABC".

When you're using TraceLogging, you don't need purpose 2, but you still need purpose 1, so TraceLogging doesn't solve the problem.


Change OSL to Version 1.11.9 and LLVM to Version 9

Before merging, I still have to update OSL in the Linux and Windows dependency package, to have every OS work on the same (major) version.

I think the change in #2900 (in the cmake file) should fix the function was not declared errors in osl.

Thank you for the hint.
I removed it, as well as the SeExpr.

Thank you for the hint.
I removed it, as well as the SeExpr.


Bad incomplete swap status

When alice claims bob's deposit and is not allowed to claim alice payment, the history shows "Invalid Date"

Also, it leaves exchange trade status tab blank and locks up balance section

Is this fixed in the latest release?


Automatically retrieve links in an object property

Is there a way to automatically retrieve links in a payload that looks like the below?
personprojectsesByPersonid: [ ],
personskillsesByPersonid: [
    {
        _links: {
            skillsBySkillid: {
                href: "http://localhost:8985/api/skills/1"
            },
            personByPersonid: {
                href: "http://localhost:8985/api/people/4"
            }
        }
    },
    {
        _links: {
            skillsBySkillid: {
                href: "http://localhost:8985/api/skills/2"
            },
            personByPersonid: {
                href: "http://localhost:8985/api/people/4"
            }
        }
    }
],

Hi @morious
well it would be possible if you change the implementation but out of the box it is not possible to parse this kind of response. The module was created for a Spring Data REST back end. You can configure it with these properties https://github.com/guylabs/angular-spring-data-rest#configuration-of-the-springdatarestadapter but this is all what you can configure.
If possible you can change the response to fit the format or create a fork which works with this response.
Thanks and regards,
Guy


ippserver encryption

Hi,
I compiled ippsample project on Windows, and now I'm trying to turn encryption on, with option -C config-directory, but receive:
Unknown option "-C".
Options:
-2                      Supports 2-sided printing (default=1-sided)
-M manufacturer         Manufacturer name (default=Test)
-P                      PIN printing mode
-a attributes-file      Load printer attributes from file
-c command              Run command for every print job
-d spool-directory      Spool directory (default=/tmp/ippserver.8944)
-f type/subtype[,...]   List of supported types (default=application/pdf,image/jpeg)
-h                      Show program help
-i iconfile.png         PNG icon file (default=printer.png)
-k                      Keep job spool files
-l location             Location of printer (default=empty string)
-m model                Model name (default=Printer)
-n hostname             Hostname for printer
-p port                 Port number (default=auto)
-r subtype              Bonjour service subtype (default=_print)
-s speed[,color-speed]  Speed in pages per minute (default=10,0)
-v[vvv]                 Be (very) verbose

What is the issue in my case?
Thanks!

Yeah, right now the Windows support in ippsample is broken, working on it...


[chore] Update webhook URL

Notes for Reviewers
This PR fixes #
Signed commits

[ ] Yes, I signed my commits.

// @leecalcote


I think this challenge have a bug.

Challenge Return Early Pattern for Functions has an issue.
User Agent is: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.80 Safari/537.36 Core/1.47.933.400 QQBrowser/9.4.8699.400.
Please describe how to reproduce this issue, and include links to screenshots if possible.
My code:

// Setup
function abTest(a, b) {
  // Only change code below this line
  if(a<0||b<0)
    {
      return typeof(c);
    }

  // Only change code above this line

  return Math.round(Math.pow(Math.sqrt(a) + Math.sqrt(b), 2));
}

// Change values below to test your code
abTest(2,-2);

The Console return "undefined", but this challenge submit fail.

This does indeed return undefined. I looked at the test briefly and wonder if it's not the strict equality === that is not allowing this to pass. Could someone confirm?

@JamsonKwok It returns "undefined" not undefined. Your if statement should just return undefined not the typeof of some undefined variable which will result in a string.
Don't forget a typeof(typeof(undefined)) is a string.

@marhyorh good catch! @JamsonKwok as @marhyorh has said, the test requires that the return be the key word undefined.

I am wondering it says return undefined, does it mean it will return undefined in the output area?

yes @vectorhsi Consider asking for help in the help chat room on Gitter instead of the issues here. Happy coding.


Network range should be <IP_ADDRESS>/16 not <IP_ADDRESS>/24 in example

Step 3 says to create workers with network range of <IP_ADDRESS>/16, but the example shows --metadata pod-cidr=10.200.${i}.0/24
Is that a typo? or am I just not understanding correctly.
https://github.com/kelseyhightower/kubernetes-the-hard-way/blob/master/docs/03-compute-resources.md

The Kubernetes cluster CIDR range is defined by the Controller Manager's --cluster-cidr flag. In this tutorial the cluster CIDR range will be set to <IP_ADDRESS>/16, which supports 254 subnets.

Create three compute instances which will host the Kubernetes worker nodes:

for i in 0 1 2; do
gcloud compute instances create worker-${i}
--async
--boot-disk-size 200GB
--can-ip-forward
--image-family ubuntu-1804-lts
--image-project ubuntu-os-cloud
--machine-type n1-standard-1
--metadata pod-cidr=10.200.${i}.0/24
--private-network-ip <IP_ADDRESS>${i}
--scopes compute-rw,storage-ro,service-management,service-control,logging-write,monitoring
--subnet kubernetes
--tags kubernetes-the-hard-way,worker
done

The rest of the tutorial requires each worker node to have pod-cidr range 10.200.${i}.0/24. I don't think it's a typo because the cluster needs to have access to <IP_ADDRESS>/16 in order to assign 10.200.${i}.0/24

It is a typo. Should be /24

The Kubernetes cluster CIDR range is defined by the Controller Manager's --cluster-cidr flag. In this tutorial the cluster CIDR range will be set to <IP_ADDRESS>/24, which supports 254 subnets.

Reasons:

Using /24 while creating worker
/16 will give 65534 subnets, but as the above statement is 254 which is /24
In most of the places, people choose Pod-CIDR range in /24 which give 254 pods per node.


callback :set_user_by_token has not been defined

I am using setup devise_token_auth for an API backend to a mobile app.
I am using:
devise (4.0.3)
devise_token_auth (0.1.37)
omniauth (1.3.1)
omniauth-facebook (3.0.0)
Rails 5.0.0.rc1 with API-only option
Everything works fine with email as a provider
In order to properly implement Facebook login in the client, and still be able to authenticate on the server, I am following the method indicated in the omniauth-gem:
https://github.com/mkdynamic/omniauth-facebook
See Section: Client-side Flow with Facebook Javascript SDK
which basically says to handle all login in the client, and once the user logins, redirect the client to the API callback URL at auth/facebook/callback and let Omniauth parse the signed cookie.
Since I am using devise_token_auth, at this point the gem should suppossedly generate a token and login with provider:facebook instead of provider:email.
First I had to turn on sessions in the middleware since omniauth needs them for some reason.
But now my problem is that I am getting this error when calling GET auth/facebook/callback regardless of any parameters/cookies being present:
ArgumentError (Before process_action callback :set_user_by_token has not been defined)
Full stack trace follows.
Any help would be appreciated.
Started GET "/auth/facebook/callback" for <IP_ADDRESS> at 2016-05-30 14:43:47 -0500
ActiveRecord::SchemaMigration Load (0.2ms)  SELECT "schema_migrations".* FROM "schema_migrations"
ArgumentError (Before process_action callback :set_user_by_token has not been defined):
activesupport (5.0.0.rc1) lib/active_support/callbacks.rb:641:in block (2 levels) in skip_callback' activesupport (5.0.0.rc1) lib/active_support/callbacks.rb:637:in each'
activesupport (5.0.0.rc1) lib/active_support/callbacks.rb:637:in block in skip_callback' activesupport (5.0.0.rc1) lib/active_support/callbacks.rb:568:in block in __update_callbacks'
activesupport (5.0.0.rc1) lib/active_support/callbacks.rb:566:in reverse_each' activesupport (5.0.0.rc1) lib/active_support/callbacks.rb:566:in __update_callbacks'
activesupport (5.0.0.rc1) lib/active_support/callbacks.rb:636:in skip_callback' actionpack (5.0.0.rc1) lib/abstract_controller/callbacks.rb:210:in block (3 levels) in module:ClassMethods'
actionpack (5.0.0.rc1) lib/abstract_controller/callbacks.rb:93:in block in _insert_callbacks' actionpack (5.0.0.rc1) lib/abstract_controller/callbacks.rb:92:in each'
actionpack (5.0.0.rc1) lib/abstract_controller/callbacks.rb:92:in _insert_callbacks' actionpack (5.0.0.rc1) lib/abstract_controller/callbacks.rb:209:in block (2 levels) in module:ClassMethods'
devise_token_auth (0.1.37) app/controllers/devise_token_auth/omniauth_callbacks_controller.rb:5:in <class:OmniauthCallbacksController>' devise_token_auth (0.1.37) app/controllers/devise_token_auth/omniauth_callbacks_controller.rb:2:in module:DeviseTokenAuth'
devise_token_auth (0.1.37) app/controllers/devise_token_auth/omniauth_callbacks_controller.rb:1:in <top (required)>' activesupport (5.0.0.rc1) lib/active_support/dependencies.rb:477:in load'
activesupport (5.0.0.rc1) lib/active_support/dependencies.rb:477:in block in load_file' activesupport (5.0.0.rc1) lib/active_support/dependencies.rb:662:in new_constants_in'
activesupport (5.0.0.rc1) lib/active_support/dependencies.rb:476:in load_file' activesupport (5.0.0.rc1) lib/active_support/dependencies.rb:375:in block in require_or_load'
activesupport (5.0.0.rc1) lib/active_support/dependencies.rb:37:in block in load_interlock' activesupport (5.0.0.rc1) lib/active_support/dependencies/interlock.rb:12:in block in loading'
activesupport (5.0.0.rc1) lib/active_support/concurrency/share_lock.rb:117:in exclusive' activesupport (5.0.0.rc1) lib/active_support/dependencies/interlock.rb:11:in loading'
activesupport (5.0.0.rc1) lib/active_support/dependencies.rb:37:in load_interlock' activesupport (5.0.0.rc1) lib/active_support/dependencies.rb:358:in require_or_load'
activesupport (5.0.0.rc1) lib/active_support/dependencies.rb:511:in load_missing_constant' activesupport (5.0.0.rc1) lib/active_support/dependencies.rb:203:in const_missing'
activesupport (5.0.0.rc1) lib/active_support/inflector/methods.rb:270:in const_get' activesupport (5.0.0.rc1) lib/active_support/inflector/methods.rb:270:in block in constantize'
activesupport (5.0.0.rc1) lib/active_support/inflector/methods.rb:266:in each' activesupport (5.0.0.rc1) lib/active_support/inflector/methods.rb:266:in inject'
activesupport (5.0.0.rc1) lib/active_support/inflector/methods.rb:266:in constantize' activesupport (5.0.0.rc1) lib/active_support/dependencies.rb:583:in get'
activesupport (5.0.0.rc1) lib/active_support/dependencies.rb:614:in constantize' actionpack (5.0.0.rc1) lib/action_dispatch/http/request.rb:93:in controller_class'
actionpack (5.0.0.rc1) lib/action_dispatch/routing/route_set.rb:44:in controller' actionpack (5.0.0.rc1) lib/action_dispatch/routing/route_set.rb:30:in serve'
actionpack (5.0.0.rc1) lib/action_dispatch/routing/mapper.rb:16:in block in <class:Constraints>' actionpack (5.0.0.rc1) lib/action_dispatch/routing/mapper.rb:46:in serve'
actionpack (5.0.0.rc1) lib/action_dispatch/journey/router.rb:39:in block in serve' actionpack (5.0.0.rc1) lib/action_dispatch/journey/router.rb:26:in each'
actionpack (5.0.0.rc1) lib/action_dispatch/journey/router.rb:26:in serve' actionpack (5.0.0.rc1) lib/action_dispatch/routing/route_set.rb:725:in call'
actionview (5.0.0.rc1) lib/action_view/digestor.rb:12:in call' omniauth (1.3.1) lib/omniauth/strategy.rb:186:in call!'
omniauth (1.3.1) lib/omniauth/strategy.rb:164:in call' omniauth (1.3.1) lib/omniauth/strategy.rb:186:in call!'
omniauth (1.3.1) lib/omniauth/strategy.rb:164:in call' omniauth (1.3.1) lib/omniauth/builder.rb:63:in call'
rack-attack (4.4.1) lib/rack/attack.rb:100:in call' rack (2.0.0.rc1) lib/rack/session/abstract/id.rb:222:in context'
rack (2.0.0.rc1) lib/rack/session/abstract/id.rb:216:in call' actionpack (5.0.0.rc1) lib/action_dispatch/middleware/cookies.rb:613:in call'
warden (1.2.6) lib/warden/manager.rb:35:in block in call' warden (1.2.6) lib/warden/manager.rb:34:in catch'
warden (1.2.6) lib/warden/manager.rb:34:in call' rack (2.0.0.rc1) lib/rack/etag.rb:25:in call'
rack (2.0.0.rc1) lib/rack/conditional_get.rb:25:in call' rack (2.0.0.rc1) lib/rack/head.rb:12:in call'
activerecord (5.0.0.rc1) lib/active_record/migration.rb:552:in call' actionpack (5.0.0.rc1) lib/action_dispatch/middleware/callbacks.rb:38:in block in call'
activesupport (5.0.0.rc1) lib/active_support/callbacks.rb:97:in __run_callbacks__' activesupport (5.0.0.rc1) lib/active_support/callbacks.rb:750:in _run_call_callbacks'
activesupport (5.0.0.rc1) lib/active_support/callbacks.rb:90:in run_callbacks' actionpack (5.0.0.rc1) lib/action_dispatch/middleware/callbacks.rb:36:in call'
actionpack (5.0.0.rc1) lib/action_dispatch/middleware/executor.rb:12:in call' actionpack (5.0.0.rc1) lib/action_dispatch/middleware/remote_ip.rb:79:in call'
actionpack (5.0.0.rc1) lib/action_dispatch/middleware/debug_exceptions.rb:49:in call' actionpack (5.0.0.rc1) lib/action_dispatch/middleware/show_exceptions.rb:31:in call'
railties (5.0.0.rc1) lib/rails/rack/logger.rb:36:in call_app' railties (5.0.0.rc1) lib/rails/rack/logger.rb:24:in block in call'
activesupport (5.0.0.rc1) lib/active_support/tagged_logging.rb:70:in block in tagged' activesupport (5.0.0.rc1) lib/active_support/tagged_logging.rb:26:in tagged'
activesupport (5.0.0.rc1) lib/active_support/tagged_logging.rb:70:in tagged' railties (5.0.0.rc1) lib/rails/rack/logger.rb:24:in call'
actionpack (5.0.0.rc1) lib/action_dispatch/middleware/request_id.rb:24:in call' rack (2.0.0.rc1) lib/rack/runtime.rb:22:in call'
activesupport (5.0.0.rc1) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in call' actionpack (5.0.0.rc1) lib/action_dispatch/middleware/executor.rb:12:in call'
actionpack (5.0.0.rc1) lib/action_dispatch/middleware/static.rb:136:in call' rack (2.0.0.rc1) lib/rack/sendfile.rb:111:in call'
rack-cors (0.4.0) lib/rack/cors.rb:80:in call' railties (5.0.0.rc1) lib/rails/engine.rb:522:in call'
puma (3.4.0) lib/puma/configuration.rb:224:in call' puma (3.4.0) lib/puma/server.rb:569:in handle_request'
puma (3.4.0) lib/puma/server.rb:406:in process_client' puma (3.4.0) lib/puma/server.rb:271:in block in run'
puma (3.4.0) lib/puma/thread_pool.rb:114:in `block in spawn_thread'

Using the latest master from Github directly in Gemfile solves this:
gem 'devise_token_auth', :git => 'git://github.com/lynndylanhurley/devise_token_auth.git'


Dynamic way to disable jobs depending on the map. Disable QM, Warden and Chaplain on saltern.

Also a dynamic way to set starting positions depending on the map.

this does only mean starting jobs right? or does this mean that, per map, the HOP should/should not be able to assign even the job title either?

@Zumorica  uh, king? 👑

@F77F Making both an option in the future could be nice (i.e. some map can absolutely not have cmo, for example.) but isn't necessary

Done.


Disallow TimeSpan TimerTrigger format

See: https://github.com/Azure/azure-webjobs-sdk-script/issues/398

@mathewc can I ask why to disallow rather than allow?

Documentation says it's a go: https://azure.microsoft.com/en-us/documentation/articles/functions-bindings-timer/#format-of-schedule-expression

To trigger every 15 seconds:

"schedule": "00:00:15",
"runOnStartup": false,

Yeah, the doc is out of sync with the actual implementation. Who you gonna trust, the doc, or the guy who wrote all the code? ;)
I actually wish I never added support for the TimeSpan format in the TimerTrigger to begin with. W.r.t functions, the reason for disallowing is because it complicates our schedule management to have multiple ways of scheduling. We're actually only honoring valid cron expressions currently, which is the issue you reported.

Understand. The disconnect between doco and code is definitely not good :)
At least the portal will no longer accept TimeSpans :)

We've also fixed the doc: https://github.com/Azure/azure-content-pr/pull/25325. That update will go live soon.


Consider support for low trust environments

We run an app integration platform so our connectors/adapters need to be able to run in de-privileged AppDomains.
I've identified at least three classes of issues that prevent this SDK from being used in de-priv'd AppDomains namely:

Calls to System.Environment.GetEnvironmentVariable
Attempts to access Filesystem - specifically to query endpoints.json (in my opinion, FS reads should be put in try catch blocks so code can fall through to obtaining endpoints.json from embedded resource)
Custom implementations of GetObjectData in Exception objects (can't be done because GetObjectData is decorated with SecurityCritical

There are a number of StackOverflow users who have posted questions around how to get the SDK to work in low trust. Almost all appear to be running the SDK under IIS and they end up using a higher priv account to resolve which is a security concern.
To resolve these issues for our own purposes, I added a compile symbol SANDBOX and made changes to the above areas. AFAIK, only the Core project requires these changes.
You can see these at https://github.com/Flowgear/aws-sdk-net/commit/2e601c7c38e04903aac15c933e297cfe692d0e5b - this is not ready for PR but I would like to hear whether you would consider a PR and whether the approach of SANDBOX symbol is appropriate.

We are open to a PR to support low trust environments but I don't want to have to produce yet another assembly which it seems like using the symbol approach would be. The difficult issue will be the GetObjectData problem.


Mapping location to appear as a local disk in VM

How would I go about mapping a share/location to a drive letter that would appear as a local drive to Windows in the VM?
Thanks for this!

See https://support.microsoft.com/en-us/windows/map-a-network-drive-in-windows-29ce55d1-34e3-a7e2-4801-131475f9557d for an example.
That way you can mount //host.lan/Data to a drive called X:. Its a feature of Windows.

Thanks.  THAT I know how to do but it won't appear as a local drive to the OS - it will appear as a mapped network drive.  I'm looking for a way (other than using something, say, Dokan in the VM) to map to a drive that will appear s a local/physical drive to the VM


Release @google-cloud/logging v4.4.0

This pull request was generated using releasetool.

Release is at https://github.com/googleapis/nodejs-logging/releases/tag/v4.4.0

The release build has started, the log can be viewed here. :sunflower:

:egg: You hatched a release! The release build finished successfully! :purple_heart:


Self-hosted Screen-Sharing

I noticed the Pluginfree-Screen-Sharing is using the services at firebaseio.com
Is that possible to self hosted it?
Which node.js file we could use to start the services?
Thanks,

Hello, @muaz-khan Is it possible to share desktop screen without using any extension ? Just by capturing the screen stream and displaying it ?? what constraints should i use ??


[ASR] update platform ; bump asr sdk

1,  enable LWIP_TCPIP_CORE_LOCKING default
2,  enable CHIP_DEVICE_CONFIG_ENABLE_EXTENDED_DISCOVERY default
3,  fix adjusting BLE adv interval may not take effect
4,  reduce BLE adv interval max times to stay in Matter spec ranges

@shubhamdp


css problems

Hi,
I just installed drone through the .deb-Package.
Everything seems to work except for the interface UI.

I looked in the chrome developer tools and any resources seems to be loaded correctly.
Any ideas on how to fix it?

recently released 0.4 version where this should no longer be an issue


Crash

Crash with https://modrinth.com/mod/pipeblocker, https://pastebin.com/NBA3twKg
https://github.com/Minecraft-Malware-Prevention-Alliance/PipeBlocker/issues/22
forge <IP_ADDRESS>59 1.12.2 Windows 10

pipeblocker issue. not healer related. also as a hint try use a more recent build of java8 instead of whatever curse launcher installed for you, e.g. one of these


Rename "metadataStoreUri" to "metadataCacheUri"

In the config dict, for ocean-lib-py and ocean-lib-js (and elsewhere), there's a field 'metadataStoreUri' which typically points to aquarius.
That status quo label is there for historical reasons: when aquarius was actually the storage for metadata. But this is no longer the case. Now, the blockchain is the storage and aquarius is simply the cache.
To rectify this, I recommend renaming to 'metadataCacheUri'.
Tasks:

[ ] Rename in ocean.py
[x] Rename in ocean.js
[x] Rename in react
[x] Rename in market
[x] Identify other docs & components that use 'metadataStoreUri', and rename them too

@kremalicious challenge accepted :)
Given that the only remaining thing is in ocean.py repo, I moved this issue to that repo.

@mariacarmina can you confirm that ocean.py has been re-deployed to pip? Once yes, we can close this.

I think it was automatically closed due to merging process.

I think it was automatically closed due to merging process.

Yep! No worries, I've reopened until pip deployment done :)

v0.5.10 is already released in pypi.


updated implementation of encode function from Headers to follow rfc9110

re-implemented encode  function according to https://www.rfc-editor.org/rfc/rfc9110.html#name-field-lines-and-combined-fi

Codecov Report

Merging #1355 (b75b43d) into main (64d48a9) will increase coverage by 0.06%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main    #1355      +/-   ##
==========================================
+ Coverage   60.76%   60.82%   +0.06%
==========================================
  Files          71       71
  Lines        2480     2484       +4
  Branches       85       80       -5
==========================================
+ Hits         1507     1511       +4
  Misses        973      973

Impacted Files
Coverage Δ

zio-http/src/main/scala/zhttp/http/Headers.scala
88.46% <100.00%> (+2.09%)
:arrow_up:

Continue to review full report at Codecov.

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


How android app client  will communicate with server using sms?

I want to ask a question How Android App will communicate ( send location updates ) with Traccar Server using SMS when internet connection is not available.
Is it send sms to SMPP and SMPP server will communicate with server? i want to know to mechanism behind this.

It does not.

than how can i get location updates without internet connection to Traccar server?  Traccar Server will not get location updates when internet is not available?

Please help me because my client require this feature too.. but from Traccar details i am confused and not able to decide is it working or not, and if working than what is the mechanism and which things i need to configure to got updates without internet connection.

Traccar Client can't send data without internet connection. It does not support SMS communication at the moment.

I think you should add this feature for two ways communication using SMS...

I will consider it, but I don't think I would have time to work on it any time soon.

I want to ask you one more question.. if i purchase traccar account with monthly charges, than still i require to purchase VPS server?

No, subscription already includes VPS hosting.

for real time update in android app i have to use firebase or something using php webservices?

No, you don't need any of that.

so how can get real time update and events on my android app's google map?

You can use Traccar API. Specifically WebSocket. Check Traccar Manager app for more details. It already uses it.

Thanks @tananaev i will check again :)


markdownlint-cli2 throws an exception for a custom rule

Thank you for your great linting tools. They really help, but now I stuck with an error.
I'm making a custom rule for markdownlint. Previously, I successfully made some. But unfortunately, after some updates, markdownlint-cli2 started to throw an exception for every custom rule. Everything works like a charm from the JS API, but fails in the case of markdownlint-cli2.
Here is my setup:

inline-code-check.js

// @ts-check

'use strict'

const { forEachInlineChild, addError } = require('markdownlint-rule-helpers')

module.exports = {
  names: ['inline-code-check'],
  description: 'Rule that reports an error for any inline code',
  tags: ['test'],
  function: (params, onError) => {
    forEachInlineChild(params, 'code_inline', async function forToken (token) {
      addError(onError, token.lineNumber, 'Inline code')
    })
  }
}

.markdownlint-cli2.jsonc

{
  "customRules": [
    "./lib/inline-code-check"

  ],
  "config": {
    "default": true,
    "inline-code-check": true
  }
}

inlinecode.md

# Header

### wrong header

`some inline code`

test.js

const inlineCodeCheck = require('./lib/inline-code-check.js')
const markdownlint = require('markdownlint')

const options = {
  files: [
    './inlinecode.md'
  ],
  config: {
    default: true,
    'inline-code-check': true
  },
  customRules: [inlineCodeCheck],
  resultVersion: 2
}

markdownlint(options, function callback (err, result) {
  if (!err) {
    console.log(result.toString())
  }
})

Using API
/usr/local/bin/node /Users/user/test.js
./inlinecode.md: 5: inline-code-check Rule that reports an error for any inline code [Inline code]
./inlinecode.md: 3: MD001/heading-increment/header-increment Heading levels should only increment by one level at a time [Expected: h2; Actual: h3]

Process finished with exit code 0

Using markdownlint-cli2
$ markdownlint-cli2 ./inlinecode.md
markdownlint-cli2 v0.6.0 (markdownlint v0.27.0)
Finding: ./inlinecode.md
Linting: 1 file(s)
Summary: 2 error(s)
inlinecode.md:1 inline-code-check Rule that reports an error for any inline code [This rule threw an exception: Cannot read properties of undefined (reading 'markdownit')]
inlinecode.md:3 MD001/heading-increment/header-increment Heading levels should only increment by one level at a time [Expected: h2; Actual: h3]

What may cause such problems?
UPD
I bumped markdownlint version in markdownlint-cli2 and the error has gone
$ markdownlint-cli2 ./inlinecode.md
markdownlint-cli2 v0.6.0 (markdownlint v0.28.0)
Finding: ./inlinecode.md
Linting: 1 file(s)
Summary: 2 error(s)
inlinecode.md:3 MD001/heading-increment/header-increment Heading levels should only increment by one level at a time [Expected: h2; Actual: h3]
inlinecode.md:5 inline-code-check Rule that reports an error for any inline code [Inline code]

This looks like a duplicate of https://github.com/DavidAnson/markdownlint/issues/759. If your custom rule is using the installed version of markdownlint-rule-helpers instead of specifying it's own, then changes in the newest version may cause problems when run with an older markdownlint (as currently used by markdownlint-cli2).

Thanks for a clue!
I've downgraded markdownlint and markdownlint-rule-helpers in package.json and everything works fine now
    "markdownlint": "^0.27.0",
    "markdownlint-rule-helpers": "^0.18.0"


--npes_output_server argument being ignored

I'm trying to run a split model/oserver case on one node due to the difficulty in getting nodes currently on Discover, MAPL develop branch as of today (12/7) I have the model set to use 12 cores (NX: 2 NY: 6) and am running GEOS like this:
mpirun -np 18 GEOSgcm.x --npes_model 12 --npes_output_server 6 --logging_config 'logging.yaml'
It appears to be ignoring both npes arguments are just running the model on 18 cores. Was the intent of the --npes_output_server argument that you could run like this and I am seeing a bug or am I misunderstanding?

Something seems to be broken in develop. I tried running on 2 nodes, asked explicitly for 24 cores per node, model on 24 cores, server on a node (24 cores) and it still just tries to run the model on 48 cores.

I believed I have run that small jobs before and it seemed OK. I will try again.

Matt tried 2.4 and says it works. 2.4 does not have the cap in gridcomps which is now in develop. I'm wondering if that somehow broke flap. From the prints I put in, it seems like any command line options are just being ignored.

nevermind, apparently you have to explicitly toggle something in the gcm_run.j script, just setting the server nodes to something in the AGCM.rc is not enough. False alarm.

I was too hasty. 24-24 works (24 cores for the model, 24 cores for the server on a separate node). However,
mpirun -np 18 GEOSgcm.x --npes_model 12 --npes_output_server 6 --logging_config 'logging.yaml'

seems to cause a hang with develop

For above to work, we need to pass in "isolate_nodes=.false." which is not in the flap.  I will fix it

There is some special logic for when all the cores fit on one node, which your case maybe does?   I did that to allow using an external server or my laptop - so that I could test locally.   It's probably not been exercised in a couple of years now and that logic could now be broken with the new command line options.

Ah - I had not read @weiyuan-jiang 's message.    Yes -that seems related.

@bena-nasa can you try the branch https://github.com/GEOS-ESM/MAPL/compare/feature/wjiang/pass_in_isolated_node ?
add " --isolate_nodes .false. " in the command line should work.  I don't know why gcm broke for me.  I believe it is not related to this branch because it passes the init stage

closing this. I think the PR from the referenced branch fixed this.


Support branch filtering for push requests

Add a new setting to the Repo Config page which allows users to provide a list of branches which should trigger a build on push.
By default an empty list should mean build on a push to any branch, but if the user providers a list of branches e.g. "master, dev" then builds should only be triggered when a push occurs to those branches.
This would allow developers to make multiple commits to development branches without triggering a build. Then a build would be triggered when the developer creates a pull request (if the repo was configured to run builds for pull requests). When the merge request was accepted it would be a push to master, which would trigger a build.

@divercraig in the .drone.yml file you can configure a white-list list of branches that should be built. Any branch not in this list will be ignored. Hope that helps!
branches:
  - master
  - develop

@bradrydzewski this suggestion has the problem that it also prevents pull requests from being built.
Can we please re-open the issue?

In this case, I think the fix is to use the base branch name instead of the head branch name for pull requests when evaluating the branches block in the yaml [1]
[1] https://developer.github.com/v3/activity/events/types/#webhook-payload-example-13

@bradrydzewski one issue with using the base branch instead of HEAD for merge requests is that this will mean evaluations like
when:
    branch: master

will be true for merge requests. How do you prevent steps like publish or deploy occurring for merge requests?

@divercraig publish and deploy steps are always skipped for pull requests. We also support filtering based on build event type (hook, pull request, tag, deploy) that can be used to filter out pull requests:
when:
  event: pull_request

+1 that would be very useful

We're also running into this problem. Every push to a feature branch triggers a build both for the branch and again for the PR. Like @divercraig I tried using the branches whitelist and it prevented PRs from building entirely.

adding a quick note here since this came up recently in Gitter. Right now we are storing the source branch in the database for pull requests, which as far as I can tell, is only for UI / display purposes.
we should therefore be able to switch from the source branch to the target branch in the database. We will still need to visually display the source branch in the UI. We have an existing, unused field, called refspec which is generally formatted like refs/heads/master:refs/remotes/origin/master, which we should be able to use to store the source branch, which can be parsed out in the UI and rendered on the screen.
Hopefully that all makes sense. Let's plan this for 0.5.1+ or 0.6

#1866 fixes this issue by storing the target branch for pull request, instead of the source.

I noticed in the documentation:

Deployments are triggered at the end of a successful build. Note that deployment steps are not executed for pull requests or failed builds.

I'm wondering if this has to be the case. I'd like to publish pull request builds to our private registry under their own repo. This is because I want to be able to run the code in a production like environment prior to merging.
I could see being able to filter by pull_request and then creating a separate publish step for that trigger. However, it seems that isn't possible.
Can I accomplish a publish on PR? Or is that not supported by Drone?


Update svi_test.ipynb

To avoid a TypeError: _optimize_tf() got an unexpected keyword argument 'max_iters', max_iters needs to be replaced by maxiter

We have merged this using #361 thanks very much


Toggle window server

EDIT:
that should be “toggle window server”
My apologies
Would it be possible to set a flag to choose which access methods are enabled e.g. via web, vnc, myjdownloader, or a combination thereof but not all?
running the window server consumes resources that aren’t necessary if only using my jdownloader, and securing both http and VNC is a pain if I only really need one of the two.
I run on synology, and my preferred configuration is the same as the synology package, which is headless with access only by my jdownloader and therefore very lean. But I don’t think there is a way to duplicate this setup

With the latest image, JDownloader can run un "headless" mode.


Allow values of delay and max distance as low as 1

Unless it's technical limitation, there is no reason to limit minimal values at 5. A shift of 5px is very perceptible unlike 1px.
Kinda related, https://github.com/Marko19907/OLEDShift/issues/8 animation can probably be done as just a series of 1px shifts with small delay, although optimization could be an issue.

Yeah, that makes sense for the distance, but if someone for example sets a very large distance and 1 second as the delay, it can be hard to exit the program and stop the movement. Happened during development several times 😂
As for the animations, I tried that initially, but if I recall correctly, it looked choppy and the CPU usage wasn't ideal. I'm hoping there's a Windows API that can do that way more efficiently or I can allow the user to disable it maybe

I also noticed performance issues, tried this with windowed games and got micristutter every time movement happens (although less than with my ahk solution)
https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-begindeferwindowpos?redirectedfrom=MSDN
https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-deferwindowpos?redirectedfrom=MSDN
https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-enddeferwindowpos?redirectedfrom=MSDN
Did you consider using these instead of SetWindowPos?

Yeah, that makes sense for the distance, but if someone for example sets a very large distance and 1 second as the delay, it can be hard to exit the program and stop the movement. Happened during development several times 😂

Just blacklist program tray popup

Hmmm, nope, completely missed that. I might play around with those API calls one weekend 🤔

Just blacklist program tray popup

Yeah, that could work, I'll do that!


i18n(it): Updated every file at "root level"

Description (required)

Updated contribute.mdx, editor-setup.mdx, getting-started.mdx and recipes.mdx

The failed check is a broken link check. It complaints about /it/community-resources/content/#ricette-e-guide not being there. #6836 fixes this because I translated that also :)


Android instructions

Hi,
How do we run an Android example? Seems to have instructions missing...

Android is still a work in progress. See #51

Any progress ?

Any estimation on this? Can I help?

Android support has been merged, you can try and keep me in touch if you have any problems. ;)

Hi @jujumoz, could you provide some instructions on which API key we need for the Android component? I am a little lost trying to find the right one.

@morelazers mind sharing how you were able to configure it? I created a YouTube Data API key and loaded it in via prop but I'm still getting "An error occurred while initializing the YouTube player."

I also added the SHA1 fingerprint in the Google Dev Console.
Are you using Genymotion or AVD? I wonder if it's an issue with Google Play services on my AVD.

@joncursi I was using a device. The problem I was having is that I did not recompile after installing the module.
I turned on the YouTube Data API v3 and then created a generic API key in the dev console, this "worked" for me. I haven't had a chance to fully test on Genymotion/AVD/Device yet because of another issue, but I can see that the player is initialising.

@morelazers @joncursi
I'm having the same issue...  "An error occurred while initializing the YouTube player".
I did the following:

Created a project in Google APIs
Enabled YouTube Data API v3
Used create credentials to create an unrestricted API key

Have you both had any luck getting this to work? Is there something I'm missing?

@jonohodgson Are you running on device or emulator?

@morelazers running on emulator

Sorry for taking so long - here's a code sample that works for me. Are you passing in the apiKey to the component as a prop?
<YouTube
  ref="youtubePlayer"
  videoId={videoId}     // The YouTube video ID
  play={false}          // control playback of video with true/false
  hidden={false}        // control visiblity of the entire view
  playsInline={true}    // control whether the video should play inline
  loop={false}          // control whether the video should loop when ended
  modestbranding={true}
  apiKey={"MY_API_KEY"}

  onReady={(e)=>{this.setState({isReady: true})}}
  onChangeState={(e)=>{this.setState({status: e.state})}}
  onChangeQuality={(e)=>{this.setState({quality: e.quality})}}
  onError={(e)=>{this.setState({error: e.error})}}
  onProgress={(e)=>{this.setState({currentTime: e.currentTime, duration: e.duration})}}

  style={{alignSelf: 'stretch', height: 300, backgroundColor: 'black', marginVertical: 10}}
>

Thanks for the reply. Yeah that's exactly what I was doing. I can embed the Youtube video in a WebView and it plays, but when I use react-native-youtube I get the error on Android.

Hm, you have definitely made sure everything is linked etc? Sometimes rnpm will fail so it's best to double-check it all manually. And then make sure you're rebuilding the project with react-native run-android


desaparece opciones

closes#72
Describe your changes
Issue ticket number and link
Checklist before requesting a review

[x ] I have performed a self-review of my code.
[x ] I have reviewed my code and used the established color palette for the project.
[x] I have reviewed my code and used the established font for the project.

The code is perfect, congratulations.
What I would ask is that we try to homogenize the pullrequest and the way we do the commits and comments with the rest of the team. We will try to do all of them in English, and the PRs we will try to complete all the information in its place (the description, the issue closure and the ticks).
Otherwise, all good, good job.

Thank you very much, I'm very happy.
You are right, you must follow the rules we established to create the pull. I solve it now.


2.0 Variables improvement (+ Settingeditor improvements)

Dialogic variables
You can now create and manage dialogic variables from the settings. They can be grouped in a folder structure.
Variables are managed entirely by the Variables Subsystem.

You can reference them in texts like {MyVariable} or {MyFolder.MySubfolder.MyVariable}.

You can set them with the Set Variable event.

You can get and set them by writing Dialogic.VAR.MyVariable = "Hello" or Dialogic.VAR.MyFolder.MySubgolder.MyVariable += 10

Variable editor
The variable editor in the settings supports drag and drop for folders and  variables.

Subsystems can have settings editors
In the get_required_subsystems() method of events you can now add a third element to each subsystem specifying the settings editor scene (a path). This scene is added as a tab to the settings editor.
The variables editor is added as such a subsystem editor for example.
pros:

makes the settings editor cleaner
makes adding custom settings for "dialogic plugins" easier

I would avoid using the terms folders for this, since the term is never used this way. Something like category or section should be a more fitting term. You wouldn't call the inspector sections folders, so this should be similar to that.


Support keyValueIterator

Currently this code will result in invalid loop head:
<for ${key => value in iterable}>

Strange, I used them often with react-next

I just realized why hxx says so. Because I am using coconut and tink_lang gets into the way, converting key => value into function(key) return value which is what hxx sees. Shall we disable tink_lang's arrow lambda in haxe 4?


Photon space power law

PR Description
Adds photon space broken power law.
Compare with f_bpow and bknpower.
The broken power law bins flux properly and uses an analytical antiderivative of a power law to do so.
The documentation is (mostly?) in line with other stuff I've seen in sunxspex so far.
Needs more tests!
Fixes #101

Codecov Report
Patch coverage: 25.80% and project coverage change: -0.29 :warning:

Comparison is base (22935b5) 55.01% compared to head (78d93a5) 54.73%.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #102      +/-   ##
==========================================
- Coverage   55.01%   54.73%   -0.29%
==========================================
  Files          19       20       +1
  Lines        3119     3148      +29
==========================================
+ Hits         1716     1723       +7
- Misses       1403     1425      +22

Impacted Files
Coverage Δ

sunxspex/__init__.py
100.00% <ø> (ø)

sunxspex/photon_power_law.py
25.80% <25.80%> (ø)

... and 1 file with indirect coverage changes

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

Remote branch got corrupted so I'm re-opening


[Storage] Support Table/Queue, Shareusage, list deleted container.

/check-enforcer reset

/check-enforcer evaluate


Show current Color

Would be a good addition to show the current color next to the color menu.

After looking for a while, seemed to have been solved by 45a1806597305af8fa6b6179c07a0dc390bef12f


[ERROR] R Call errored, is R available ?

Hi, it is my first time to use cdt, after installed by:
pip install cdt
I ran:
from cdt.causality.graph import GES
obj=GES()
then I got this error:

I'm working with cdt 0.5.21 , python 3.6.12 and torch 1.4.0, no GPU.
Thank you for your help!

Hello, Have you installed R on your device ?
Otherwise, using the docker images would be a good alternative !
Best,
Diviyan

Hello, Have you installed R on your device ?
Otherwise, using the docker images would be a good alternative !
Best,
Diviyan

Thank you for your help, I installed R 4.0.3, but there are new errors when installing packages, some of the R packages are not available, you can see in the screenshot below:

Since I have never used docker，could you please share with me more details to use docker images to solve this problem, or share with me  a tutorial website.Thank you so much!

Ok then R is installed, no problem on that part.
D2C is not used in the code, so it shouldn't pose any kind of problem for now.
The issue might arise from the Rpath given to python. I think you need to specify cdt.SETTINGS.rpath to your path installation

Still the initial error!

What path did you provide for cdt.SETTINGS.rpath ?

I think you need to add 'Rscript' :
That makes:
cdt.SETTINGS.rpath = 'D:\Program Files\R\R-4.0.3\bin\Rscript

The discussion at #70 might be useful for you
Best,
Diviyan

Thank you sooooooo much, @Diviyan-Kalainathan .
It works by configuring  rpath.

Great! I'll close this issue

Hello, Have you installed R on your device ? Otherwise, using the docker images would be a good alternative ! Best, Diviyan

Hi,
I have the same problem.
I installed R on my computer and set the cdt.SETTINGS.rpath. but still got the same error:
"R Call errored, is R available ?"
R Call errored, is R available ?
FileNotFoundError                         Traceback (most recent call last)
 in
----> 1 model_pc = cdt.causality.graph.PC(CItest='gaussian', method_indep='corr', alpha=0.01, njobs=None, verbose=None)
2 # graph_pc = model_pc.predict(df)
3 graph_pc = model_pc.predict(df, skeleton)
4
5 # visualize network
~\Anaconda3\lib\site-packages\cdt\causality\graph\PC.py in init(self, CItest, method_indep, alpha, njobs, verbose)
173                  njobs=None, verbose=None):
174         """Init the model and its available arguments."""
--> 175         if not (RPackages.pcalg and RPackages.kpcalg and RPackages.RCIT):
176             raise ImportError("R Package (k)pcalg/RCIT is not available. "
177                               "RCIT has to be installed from "
~\Anaconda3\lib\site-packages\cdt\utils\R.py in getattribute(self, name)
130         out = object.getattribute(self, name)
131         if out is None and not object.getattribute(self, 'init'):
--> 132             availability = self.check_R_package(name)
133             setattr(self, name, availability)
134             return availability
~\Anaconda3\lib\site-packages\cdt\utils\R.py in check_R_package(self, package)
144             bool: True if the package is available, False otherwise
145         """
--> 146         test_package = not bool(launch_R_script(Path("{}/R_templates/test_import.R".format(os.path.dirname(os.path.realpath(file)))),
147                                                      {"{package}": package}, verbose=True))
148         return test_package
~\Anaconda3\lib\site-packages\cdt\utils\R.py in launch_R_script(template, arguments, output_function, verbose, debug)
195         except Exception as e:
196             print("R Call errored, is R available ?")
--> 197             raise e
198
199     else:
~\Anaconda3\lib\site-packages\cdt\utils\R.py in launch_R_script(template, arguments, output_function, verbose, debug)
190     if output_function is None:
191         try:
--> 192             output = subprocess.call([str(rpath), "--vanilla", str(scriptpath)],
193                                     stdout=subprocess.DEVNULL,
194                                     stderr=subprocess.DEVNULL)
~\Anaconda3\lib\subprocess.py in call(timeout, *popenargs, **kwargs)
338     retcode = call(["ls", "-l"])
339     """
--> 340     with Popen(*popenargs, **kwargs) as p:
341         try:
342             return p.wait(timeout=timeout)
~\Anaconda3\lib\subprocess.py in init(self, args, bufsize, executable, stdin, stdout, stderr, preexec_fn, close_fds, shell, cwd, env, universal_newlines, startupinfo, creationflags, restore_signals, start_new_session, pass_fds, encoding, errors, text)
856                             encoding=encoding, errors=errors)
857
--> 858             self._execute_child(args, executable, preexec_fn, close_fds,
859                                 pass_fds, cwd, env,
860                                 startupinfo, creationflags, shell,
~\Anaconda3\lib\subprocess.py in _execute_child(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, unused_restore_signals, unused_start_new_session)
1309             # Start the process
1310             try:
-> 1311                 hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
1312                                          # no special security
1313                                          None, None,
FileNotFoundError: [WinError 2] The system cannot find the file specified

Hi, I had the same problem. Adding this: cdt.SETTINGS.rpath = 'C:/Program Files/R/R-4.2.2'
(without the binary) was a kind of half solution. Now, I face another problem.


Identifiers validation failed for dataset Taxonomy and geography of species of the genus Parrya in the flora of Uzbekistan

Identifier validation failed for the dataset Taxonomy and geography of species of the genus Parrya in the flora of Uzbekistan:

Crawler attempt: 32
Publishing organization: Institute of Botany of the Academy of Sciences of the Republic of Uzbekistan
Publishing country: UZBEKISTAN
Installation: Uzbekistan IPT
Number of occurrences indexed for this dataset at the time of the issue: 401
Cause: GBIF ID problems exceed 50% threshold: 100% duplicates; 401 total records; 401 absent records
Pipelines execution steps: http://api.gbif.org/v1/pipelines/history/execution/3754302/step

New IDs sample:

Old IDs sample:

103
104
105
106
107
108
109
110
111
112

Publisher email
Hello,
I am contacting you from the GBIF Secretariat about a dataset published by the Taxonomy and geography of species of the genus Parrya in the flora of Uzbekistan : https://doi.org/10.15468/6kfxuc.
We noticed that the occurrenceIDs were changed. We have temporarily paused the ingestions of this dataset.
As you might already know, when an occurrence record has a new occurrenceID for a given dataset, our system considers it to be a new occurrence.
This means that it will be given a new gbifid and a new occurrence URL (like this one: https://www.gbif.org/occurrence/1252968762) and the old gbifid and URL will be deprecated.
In this case, this means that the occurrence URLs would be deprecated when ingesting the newest versions of these datasets.
We would like to check with you if those changes were intentional. Do you know if this is the case?
Please let us know, thanks! We are happy to resume the dataset ingestion.
Note that some users rely on those occurrence URLs and gbifids (like https://bionomia.net for example). In an attempt to improve
the stability of the occurrence URLs and gbifids, we have implemented a warning system to detect these type of changes in datasets (see this news item).
If the data publisher can provide us with a list of old and new occurrenceIDs per record, we can avoid the identifier and URL changes. Could that be an option?
Please let us know if you have any question. Thanks!
All the best,

You can skip/fix identifier validation using the registry UI.

Identifier validation still  failing for the dataset Taxonomy and geography of species of the genus Parrya in the flora of Uzbekistan:

Crawler attempt: 33
Publishing organization: Institute of Botany of the Academy of Sciences of the Republic of Uzbekistan
Publishing country: UZBEKISTAN
Installation: Uzbekistan IPT
Number of occurrences indexed for this dataset at the time of the issue: 401
Cause: GBIF ID problems exceed 50% threshold: 100% duplicates; 401 total records; 401 absent records
Pipelines execution steps: http://api.gbif.org/v1/pipelines/history/execution/3756836/step

New IDs sample:

Old IDs sample:

103
104
105
106
107
108
109
110
111
112

Publisher email
Hello,
I am contacting you from the GBIF Secretariat about a dataset published by the Taxonomy and geography of species of the genus Parrya in the flora of Uzbekistan : https://doi.org/10.15468/6kfxuc.
We noticed that the occurrenceIDs were changed. We have temporarily paused the ingestions of this dataset.
As you might already know, when an occurrence record has a new occurrenceID for a given dataset, our system considers it to be a new occurrence.
This means that it will be given a new gbifid and a new occurrence URL (like this one: https://www.gbif.org/occurrence/1252968762) and the old gbifid and URL will be deprecated.
In this case, this means that the occurrence URLs would be deprecated when ingesting the newest versions of these datasets.
We would like to check with you if those changes were intentional. Do you know if this is the case?
Please let us know, thanks! We are happy to resume the dataset ingestion.
Note that some users rely on those occurrence URLs and gbifids (like https://bionomia.net for example). In an attempt to improve
the stability of the occurrence URLs and gbifids, we have implemented a warning system to detect these type of changes in datasets (see this news item).
If the data publisher can provide us with a list of old and new occurrenceIDs per record, we can avoid the identifier and URL changes. Could that be an option?
Please let us know if you have any question. Thanks!
All the best,

You can skip/fix identifier validation using the registry UI.

Identifier validation still  failing for the dataset Taxonomy and geography of species of the genus Parrya in the flora of Uzbekistan:

Crawler attempt: 34
Publishing organization: Institute of Botany of the Academy of Sciences of the Republic of Uzbekistan
Publishing country: UZBEKISTAN
Installation: Uzbekistan IPT
Number of occurrences indexed for this dataset at the time of the issue: 401
Cause: GBIF ID problems exceed 50% threshold: 100% duplicates; 401 total records; 401 absent records
Pipelines execution steps: http://api.gbif.org/v1/pipelines/history/execution/3756868/step

New IDs sample:

Old IDs sample:

103
104
105
106
107
108
109
110
111
112

Publisher email
Hello,
I am contacting you from the GBIF Secretariat about a dataset published by the Taxonomy and geography of species of the genus Parrya in the flora of Uzbekistan : https://doi.org/10.15468/6kfxuc.
We noticed that the occurrenceIDs were changed. We have temporarily paused the ingestions of this dataset.
As you might already know, when an occurrence record has a new occurrenceID for a given dataset, our system considers it to be a new occurrence.
This means that it will be given a new gbifid and a new occurrence URL (like this one: https://www.gbif.org/occurrence/1252968762) and the old gbifid and URL will be deprecated.
In this case, this means that the occurrence URLs would be deprecated when ingesting the newest versions of these datasets.
We would like to check with you if those changes were intentional. Do you know if this is the case?
Please let us know, thanks! We are happy to resume the dataset ingestion.
Note that some users rely on those occurrence URLs and gbifids (like https://bionomia.net for example). In an attempt to improve
the stability of the occurrence URLs and gbifids, we have implemented a warning system to detect these type of changes in datasets (see this news item).
If the data publisher can provide us with a list of old and new occurrenceIDs per record, we can avoid the identifier and URL changes. Could that be an option?
Please let us know if you have any question. Thanks!
All the best,

You can skip/fix identifier validation using the registry UI.

Hello, dear GBIF helpdesk,
I am a publisher of the Institute of Botany of the Academy of Sciences of the Republic of Uzbekistan. I published the dataset, and I tried to prepare a list of the relationships between the old occurrenceIDs and the new occurrenceIDs for migrating GBIF identifiers.
parrya.txt
Please help me deal with the identifier issues.
Kumush

Identifier validation still  failing for the dataset Taxonomy and geography of species of the genus Parrya in the flora of Uzbekistan:

Crawler attempt: 35
Publishing organization: Institute of Botany of the Academy of Sciences of the Republic of Uzbekistan
Publishing country: UZBEKISTAN
Installation: Uzbekistan IPT
Number of occurrences indexed for this dataset at the time of the issue: 401
Cause: GBIF ID problems exceed 50% threshold: 100% duplicates; 401 total records; 401 absent records
Pipelines execution steps: http://api.gbif.org/v1/pipelines/history/execution/3758133/step

New IDs sample:

Old IDs sample:

103
104
105
106
107
108
109
110
111
112

Publisher email
Hello,
I am contacting you from the GBIF Secretariat about a dataset published by the Taxonomy and geography of species of the genus Parrya in the flora of Uzbekistan : https://doi.org/10.15468/6kfxuc.
We noticed that the occurrenceIDs were changed. We have temporarily paused the ingestions of this dataset.
As you might already know, when an occurrence record has a new occurrenceID for a given dataset, our system considers it to be a new occurrence.
This means that it will be given a new gbifid and a new occurrence URL (like this one: https://www.gbif.org/occurrence/1252968762) and the old gbifid and URL will be deprecated.
In this case, this means that the occurrence URLs would be deprecated when ingesting the newest versions of these datasets.
We would like to check with you if those changes were intentional. Do you know if this is the case?
Please let us know, thanks! We are happy to resume the dataset ingestion.
Note that some users rely on those occurrence URLs and gbifids (like https://bionomia.net for example). In an attempt to improve
the stability of the occurrence URLs and gbifids, we have implemented a warning system to detect these type of changes in datasets (see this news item).
If the data publisher can provide us with a list of old and new occurrenceIDs per record, we can avoid the identifier and URL changes. Could that be an option?
Please let us know if you have any question. Thanks!
All the best,

You can skip/fix identifier validation using the registry UI.

Thanks @rukayaj and @aliyevakumush77  the occurrenceIds have been migrated.


Can I see my balance at N-th block?

Hello. Can I see my balances at N-th block? Can you add this ability in future?

The main reason why it is hard, because past states can be reached only with on-the-fly rollbacks from the current state.
So it is hard to implement in common, but it can be done for accounts with not so much transactions.
Will look into it.

I see this site: https://dev.pywaves.org/balances/
is working by "reports-principle".
But I think this can be realized by caching the requests,
if sorting by assets will be available,
then this can be just cached, after request.
For example:
Request: "WavesExplorer, show me all transactions of token X for address ADDRESS".
Response: "blah-blah - all transactions for token X for ADDRESS + blocks".
Then, only blocks and amounts are cached for this token X for this ADDRESS.
And then, there is more easy to get balance for token X for N-th block,
and collect this values for many tokens.
Else, if this balances was not been requested, then just nulls there or actual balance, according last regularry report.


Light bulb color control

I managed to start up the bulb using localkey and dps changed to 20 based on the flow1.js example
are there any examples to change to white/color, and select color for the bulb?
See documentation link is only stated in a picture.
thanks

i figured it out by debugging the output of the light and sending commands from smart life app :)
is there any way to listen the output of devices that are usually offline and connect only when an event is present ?
like water leak detectors, motion sensors, etc ?

is there any way to listen the output of devices that are usually offline and connect only when an event is present ?

tuyaDAEMON solves the problem using tuya-cloud and a 'brige': see [TRIGGER topic](https://github.com/msillano/tuyaDAEMON/tree/main/ tuyaTRIGGER) and see also the [minimum flow] (https://github.com/msillano/tuyaDAEMON/tree/main/extra/tuyaTRIGGER for node-red users) to get it working.
The trick requires a 'smart switch' that acts as a "brige", but, since only the "countdown" function is used, the switch is still available for any purpose.
Best regards.
m. s.


Support a case insensitive flag for include/exclude patterns

It would be helpful if the the include/exclude patterns could support a case-insensitive flag or prefix. I'm primarily a Windows user and the case sensitivity has caught me out several times already, but other than helping to avoid such accidents, I would also find it useful generally.

Good point, thanks for mentioning it.


Use Infura v1 for now

This PR reverts our Infura usage to v1 for now

I'm seeing an issue with eth_getBalance  locally, but whatever, I'll close this in favour of #202 anyway.

The method eth_getBalance does not exist/is not available


Build back end for additional feedback data on AirTable

Acceptance Criteria
Include the following fields in Airtable
Required fields:

[x] service_id
[x] rating
[x] time stamp
[x] users locale
Optional fields:
[x] comment
UX:
[x] Clicking on the submit button on the service review screen sends service_id, rating, locale and optionally comment
[x] Users see a Thank you for your contribution message when they submit review

Steps for QA:

Navigate to any service that you have not previously rated before.
Click on any smiley face

[x] Notice that you are navigated to a new screen prompting you to leave a comment
[x]  Notice the smiley face you clicked on is outlined in teal
[x] Notice that you can change this

Optionally leave a comment
Click on the submit button

[x] Notice you are brought back to the service detail screen
[x] Notice the Thank  you for contribution message pop up.

Android users:
5. Click on the back button

[x] See that you are NOT brought back to the service review screen

Airtable users:

[x] Verify that your rating, comment?, current locale and the serviceId is correctly sent into Airtable.

QA PASS 1.60.0


support transferToAccountId32 for Tokens

First, deploy the new contract, then get the stored bytes and call set_code


Popover with trigger:"manual focus" always pops up automatically when button is clicked

It doesn't wait for .popover('show')

Yes, that's exactly what focus is supposed to do. Admittedly, it's not clear to me whether it's sensical to combine manual with any other triggers like you're doing here.

I want to have a popover that shows only manually, but hides when a user clicks outside.

You'll have to use manual and handle all the showing/hiding entirely on your own then.

Keeping this open as, at the least, a documentation issue. And possibly we should make trigger combos involving manual throw an error.

@hnrch02 @XhmikosR Do you guys agree that combining manual with other triggers is nonsensical? Or am I missing something?

I agree, doesn't make a lot of sense – something to add to our option checker in v4 for sure

Should this be closed then?

@ghost

I want to have a popover that shows only manually, but hides when a user clicks outside.

Were you able to implement what you wanted? I need something similar. Any snippets?


Support of Framework.Net resources

To be able to use that in xaml: ="{lex:Loc Key=PresentationCore:ExceptionStringTable:DeleteText}"
I had to add an if to make it works. I think that it is not the best way, I did not check the whole structure.
WPFLocalizeExtension.Providers.ResxLocalizationProviderBase
~Line 482

                resManager = GetResourceManagerFromType(resourceManagerType);
            }
            else
            {
                if (resManagerNameToSearch.StartsWith("."))
                {
                    resManagerNameToSearch = resManagerNameToSearch.Remove(0, 1);
                    resManagerNameToSearch = resManagerNameToSearch.Replace(ResourceFileExtension, string.Empty);
                }
                resManager = new ResourceManager(resManagerNameToSearch, assembly);
            }

@BeePerNet I justed merged the PR so this will be in the next release. I will close that issue


Pangeo upgrade

Pangeo upgrade to in-between image: 2022.09.21

I messed up. I've created a gituation and I don't know how to solve it ... will open a new PR in a new branch.


feat: add UrlSafeBase64.isSafe

Summary

Add UrlSafeBase64.isSafe
Definition of safe: both url-safe and base64

A. a-z, A-Z, 0-9, and _ -

Reference:

Which special characters are safe to use in url? - StackExchange ProWebMasters
What are the safe characters for making URLs? - StackOverflow

Linear Issue Reference

LOG-1378

Testing

empty string → true
url-safe string → true
non-url-safe string → false

@simeng-li @wangsijie @xiaoyijun @gao-sun @darcyYe
(PS: We also need to able to use @eng to mention all team members in silverhand-io. How to enable it?)

re-define safe: both url-safe and base64
renamed from isUrlSafe to isSafe


Migrate all tests to JUnit 5

As suggested in #202, all unit tests should be migrated to the now available JUnit version 5.

This should be ready to review now.
It would be nice to get an opinion on wether switching to Spring 5 is desired.

@florianluediger
Unfortunately running gradle test does not actually run the tests.
This means we have to generate the missing classes first and then run the tests manually.
To fix this you can add these lines to the main gradle.build file.
In the dependencies block inside the subprojects block:
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:${junit5_version}"
and also in the subprojects block:
    test {
        // Enable JUnit 5 (Gradle 4.6+).
        useJUnitPlatform()
    }

Doing this will cause all tests to be run when building, by running ./gradlew test or the test task in the Gradle tab in IntelliJ Gradle->verification->test. And you will not need to copy anything.

Thanks for the hint, this seems to work fine now.

@florianluediger
As it turns out, you can run also run the tests from within the project explorer or run individual tests by telling IntelliJ to use the Gradle Test Runner, I have created a wiki page that describes how to do this. Feel free to edit that page if anything is unclear or something new comes up :)


Unable to add fields to connection

I am trying to resolve fields in the second argument of t.connection, but it is unable to see the extra fields that I add in my resolver. TypeScript seems to throw away this information.
I get Argument of type 'string' is not assignable to parameter of type 'never'. on the 'count' literal in my expose.
builder.objectField(Viewer, 'assignedTickets', (t) =>
  t.connection(
    {
      type: Ticket,
      nullable: true,
      args: {
        orderBy: t.arg({
          type: [TicketsOrderBy],
          defaultValue: [
            { priority: 'Ascending' },
            { createdDate: 'Descending' },
          ],
        }),
        status: t.arg({
          type: [AssignedTicketsStatusInput],
          defaultValue: ['InProgress'],
        }),
        priorities: t.arg({
          type: [TicketsPriorityInput],
        }),
      },
      resolve: async (parent, args, { tickets }) => {
        let count = 0;
        const result = await resolveOffsetConnection(
          { args },
          async ({ offset, limit }) => {
            const { status, orderBy, priorities } = args;

            const { data } = await tickets.ticketsGetAllV2({
              skip: offset,
              limit,
              assignedTo: parent.id,
              status: status ?? undefined,
              sort: mapOrderByToMiddlewareFormat(orderBy),
              priority: mapPrioritiesInputToMiddleware(priorities),
            });
            count = data.count;

            return data.results.map(ticketMapper);
          }
        );

        return result && { count, ...result };
      },
    },
    {
      fields: (t) => ({
        count: t.exposeInt('count'),
      }),
    }
  )
);

Currently I work around it by creating a ConnectionObject and explicitly type it.
type ConnectionObjectResolveShape<
  T,
  Extras extends Record<string, any>
> = ConnectionShape<
  SchemaTypes,
  NonNullable<ParentShape<SchemaTypes, T>>,
  boolean
> &
  Extras;

const TicketsConnection = builder.connectionObject<
  typeof Ticket,
  ConnectionObjectResolveShape<typeof Ticket, { count: number }>
>({
  type: Ticket,
  name: 'TicketsConnection',
  fields: (t) => ({
    count: t.exposeInt('count'),
  }),
});

Looks like there is some sort of type issue caused by result being nullable.  I can't fix it imideatly because I am in the middle of some big changes and I don't want to cause more conflicts until its done, but the easy work around for now is to return { count, ...result! }  result does not look like its actually nullable there, its just nullable because of how the helper is typed.

Fix for this is merged, should be published in the next couple minutes


[All Packages] Pass keys in all packages

Eliminate ThirdwebStorage empty creation in SDK
Create new getValidChainRPCs in the chains package
Pass clientId in react-core, react, react-native and unity-bridge
Pass clientId and secretKey in: wallets, sdk, storage
Delete all default api keys
Warn devs when not passing a clientId - they will get limited access to our services
Rename paper's clientId to paperClientId

When passing neither apiKey or thirdwebApiKey in React - I'm getting below warning which is confusing.
This is happening because thirdwebApiKey is not undefined and is the DEFAULT_API_KEY because of sdk options schema

There are a few places where ThirdwebStorage is initialized without apiKey

sdk/src/evm/core/classes/transactions.ts
sdk/src/evm/functions/utils/cache.ts
sdk/src/solana/sdk.ts
sdk/src/solana/server/index.ts

@MananTank can your PR: https://github.com/thirdweb-dev/js/pull/1319 on top of this one?

What are we thinking about the RPC - if no apiKey is provided then we use the default API key?

Issues

wallet's apiKey is not passed to connectors - connector is always using the default apiKey
connectors' chains array is updated to use default apiKey but not the wallet
Magic wallet already has a apiKey - what should we do about that?
should we pass down the apiKey to wallets from react-core too?

/release-pr

/release-pr

./release-pr

./release-pr

/release-pr

/release-pr

/release-pr

/release-pr

./release-pr

/release-pr

/release-pr

/release-pr

/release-pr


[FEATURE] New Command to convert asyncapi document to multiple format

Why do we need this improvement?
There are multiple formats of the asyncapi file that are yaml or JSON or yml. Need a separate commands to covert yaml to json or vice-versa
How will this change help?
Increase the developer experience in cli
Screenshots

How could it be implemented/designed?
Need to write a function to change one format to another format.
🚧 Breaking changes
No
👀 Have you checked for similar open issues?

[X] I checked and didn't find a similar issue

🏢 Have you read the Contributing Guidelines?

[X] I have read the Contributing Guidelines

Are you willing to work on this issue?
Yes I am willing to submit a PR!

Hi @AayushSaini101,
Thanks for your work on this project! I was wondering if it's possible to use the API for this conversion of yaml to json or vice versa. Would this be the recommended approach?
Looking forward to your response. Thanks again!

Hi @AayushSaini101,
Thanks for your work on this project! I was wondering if it's possible to use the API for this conversion of yaml to json or vice versa. Would this be the recommended approach?
Looking forward to your response. Thanks again!

@toffee-k21 if the library is small in size you can use it otherwise try to implement the logic to convert

I would like to work on this.
by using js-yaml
similar to how it is being done while converting in studio
Will raise a PR once it is done.


if (!item.title) throw new Error("No title provided from RSS reader.

I have an odd issue with this RSS feed<EMAIL_ADDRESS>for some reason, in the past of the feed, there was some items without title, because they were coming from Telegram and telegram does not have the concept of title for RSS feed constructed from it.
So I removed telegram and verified that all current items in the feed have a tittle, but for some reason, no matter what I do the app throws errors with this RSS feed.
[Fri, 14 Jul 2023 12:47:38 GMT] - [bsky.rss] Posting new item (undefined) /build/app/utils/rssHandler.ts:111     if (!item.title) throw new Error("No title provided from RSS reader.");                            ^ Error: No title provided from RSS reader.     at parseString (/build/app/utils/rssHandler.ts:111:28)     at Object.<anonymous> (/build/app/utils/rssHandler.ts:60:18)     at Generator.next (<anonymous>)     at /build/app/utils/rssHandler.ts:8:71     at new Promise (<anonymous>)     at __awaiter (/build/app/utils/rssHandler.ts:4:12)     at FeedSub.<anonymous> (/build/app/utils/rssHandler.ts:45:42)     at FeedSub.emit (node:events:513:28)     at FeedSub.emit (node:domain:489:12)     at /build/node_modules/feedsub/src/feedsub.ts:161:37 error Command failed with exit code 1. info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command. yarn run v1.22.19 $ ts-node ./app/index.ts [Fri, 14 Jul 2023 12:47:42 GMT] - [bsky.rss] Started RSS reader. Fetching from<EMAIL_ADDRESS>every 5 minutes.
So I was wondering, would it be possible to skip items without titles ?
or perhaps refresh the cache of the feed (if there is any ?)

I'll look into this issue, I can make a feature to skip items with no titles

Actually, I overlooked this - You can remove the $title element from your config.json's string parameter and then set publichEmbed to false and it should work fine. The logs will show undefined as the post, but I can work on fixing this. Hopefully, this helps!

Ohhh yeah that's simple !!
thanks for this quick fix !


Update shard generators to use data generators

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%. Comparing base (39f8f41) to head (9180028).

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #106   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           68        68
  Lines         1353      1354    +1
  Branches       101       101
=========================================
+ Hits          1353      1354    +1

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


Omit unreadable bodies from logging interceptor

It would be nice to only log the bodies of human readable content-types. With image heavy applications also using OkHttp as Picasso's downloader using Level.BODY produces lots of noise.
Content-Type: image/jpeg
Content-Length: 57634
Accept-Ranges: bytes
Access-Control-Allow-Origin: *
Date: Wed, 17 Feb 2016 15:14:45 GMT
Etag: "5c21b2b-e122-52b7fec4f1540"
Last-Modified: Thu, 11 Feb 2016 15:08:29 GMT
Server: ECS (ord/269B)
X-Cache: HIT
OkHttp-Sent-Millis:<PHONE_NUMBER>753
OkHttp-Received-Millis:<PHONE_NUMBER>767
������JFIF����H��H��������C��
����C
... etc x 1000
If this is something you all would be open to fixing I'd love to help :)

We probably need a simple heuristic to detect plaintext.
Here’s my proposal:

Decode the body as UTF-8
Count replacement characters (U+FFFD) and other non-printable control characters (U+0000, etc.) in the first 16 codepoints of the decoded body.
If the count is ≥ 2, we consider it non-text and don’t print.

Checking 2 of 16 is arbitrary. Ideally it matches well with this:
https://en.wikipedia.org/wiki/List_of_file_signatures

http://stackoverflow.com/questions/7110750/how-do-popular-source-control-systems-differentiate-binary-files-from-text-files
http://eli.thegreenplace.net/2011/10/19/perls-guess-if-file-is-text-or-binary-implemented-in-python

Thanks @alexrwegener !


⚠ Bofrost.be has degraded performance

In ebe81bd, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 2093 ms

Resolved: Bofrost.be performance has improved in a8f856b.


Asks for github password when I mistype plugin name

I wanted to install python_open_module.vim the other day, so I typed :PluginInstall python_open_module.vim.
I got a prompt Username for 'https://github.com': instead of a message that such a module doesn't exist (because it's actually :PluginInstall python_open_module without .vim).

hi the plugin show you this because it can not search it from github/vim-scripts,maybe it is exits in other people's repo ,so it want you type the usename

@mgedmin it's a bit tricky to detect that state… Any ideas are welcomed!
Possible workaround: poke with curl for 40X before running git clone

It's surprisingly hard to discover how to ask git not to ask for passwords (Google failed me, git's man pages for clone/fetch also), but I discovered one way that works:
$ git clone https://github.com/nosuch/repo
Cloning into 'repo'...
Username for 'https://github.com': ^C

$ GIT_ASKPASS=true git clone https://github.com/nosuch/repo
Cloning into 'repo'...
remote: Repository not found.
fatal: Authentication failed for 'https://github.com/nosuc/repo/'

GIT_ASKPASS is documented in gitcredentials(7) and git-config(1).
On non-POSIX systems you'd probably have to find some other binary that exits without an error and doesn't produce any output.  Although perhaps the Git for Windows distribution ships a true.exe in its copy of Mingw?  It ships a bash, so why not true?

i can not understande what you want!
if you want git push without type the passward,i think you should add
[credential]
helper = store

to ~/.gitconfig

I want :PluginInstall something-that-does-not-exist to tell me such a plugin doesn't exist, instead of asking for my GitHub username and password..

GIT_ASKPASS is documented in gitcredentials(7) and git-config(1).

@mgedmin great find!
You can do let $GIT_ASKPASS='true' in .vimrc and it should not ask pass anymore.
Let me know how it works for you!

@mgedmin: created #667 to implement it.
Closing this issue.


fix: Use correct project coordinator profile link.

I noticed a typo as a casual reader. Previously, the link appears to be a copy/paste error in originally writing the page.

Done. I pruned down to a single entry (Captain only, and not Captain + TPM) and removed parentheticals, as to match the style of the remainder of the team page.

Thanks @rduplain!


glm2json converter fails to output the object original property settings (filesave_options=ALLINITIAL)

Problem description
When gridlabd glm2json converter is used to output JSON file, the object original property settings are not correctly recorded.
Steps to reproduce

Set the filesave global parameters:
#set glm_save_options=ORIGINAL
#set filesave_options=ALLINITIAL
Use the following command to output JSON file
gridlabd BU0001_glmfile_ts.glm -o res.json
In the json output file, only the the first load object N_800003816 keeps the original load shape settings, e.g.
"constant_power_A_real": "load_shape_A*8048.07+0",
"constant_power_B_real": "load_shape_B*8048.07+0",
"constant_power_C_real": "load_shape_C*8048.07+0",
"constant_power_A_reac": "load_shape_A*2645.27+0",
"constant_power_B_reac": "load_shape_B*2645.27+0",
"constant_power_C_reac": "load_shape_C*2645.27+0",
For the other load objects, original load shape settings are replaced with numeric values.

Expected behavior
For all the load objects, the original load shape settings should be output to json file.
System information

GridLAB-D version:
HiPAS GridLAB-D 4.2.1-200527 (develop) Linux

Attachments
The model files and the json output file are attached
BU0001_JSON.zip

The specification of some loads in BU0001_glmfile_loads.glm are invalid. For example:
object load
{
	name N_800003816;
	phases ABC;
	nominal_voltage 2523.021;
	constant_power_A_real load_shape_A*8048.06666667;
	constant_power_B_real load_shape_B*8048.06666667;
	constant_power_C_real load_shape_C*8048.06666667;
	constant_power_A_reac load_shape_A*2645.27159075;
	constant_power_B_reac load_shape_B*2645.27159075;
	constant_power_C_reac load_shape_C*2645.27159075;
}

is valid because the load shape is being written to a variables of type double, which is valid.
However, the next load is defined as
object load {
	name N_800003814;
	phases ABC;
	nominal_voltage 2523.021;
	constant_power_A load_shape_A*4037.919;
	constant_power_B load_shape_B*4037.919;
	constant_power_C load_shape_C*4037.919;
	constant_power_A load_shape_A*1327.1997933;
	constant_power_B load_shape_B*1327.1997933;
	constant_power_C load_shape_C*1327.1997933;
}

which is invalid because constant_power_A is a complex quantity, while the load shape can only generate a double value. The GLM loader tolerates this because the underlying double of a complex value is its real part.  However, the JSON write does not detect this as a valid inverse mapping to obtain the initial value and ignores it.
To avoid this problem, change the object definition to
object load {
	name N_800003814;
	phases ABC;
	nominal_voltage 2523.021;
	constant_power_A_real load_shape_A*4037.919;
	constant_power_B_real load_shape_B*4037.919;
	constant_power_C_real load_shape_C*4037.919;
	constant_power_A_reac load_shape_A*1327.1997933;
	constant_power_B_reac load_shape_B*1327.1997933;
	constant_power_C_reac load_shape_C*1327.1997933;
}


Focus disappears in CommandBarFlyout with SecondaryCommands, no PrimaryCommands

Describe the bug

When using the CommandBarFlyout with SecondaryCommands and without PrimaryCommands, the focus can still land on the "See less" button part of the PrimaryCommands panel even though it isn't visualized.
Focus isn't really lost, since it can be recovered by continuing to arrow through the items. But it is confusing.
Steps to reproduce the bug

Steps to reproduce the behavior:

Open a CommandBarFlyout instance that uses SecondaryCommands, but no PrimaryCommands.
Use arrow keys to move focus beyond the first or last item.
Observe the focus disappears and the "See less" button tooltip is displayed.

<Page
    x:Class="CommandBarFlyoutTest.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:CommandBarFlyoutTest"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:winui="using:Microsoft.UI.Xaml.Controls"
    mc:Ignorable="d"
    Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">

    <StackPanel Spacing="4" Margin="48">
        <TextBlock>Invoke the button to show the flyout, then use the arrow keys to navigate up.</TextBlock>
        <TextBlock>You should see the focus visual disappear and a tooltip for the "See less" button, a part of the non-visible primary commands section of the CommandBarFlyout control.</TextBlock>
        <TextBlock>I would expect to not be able to focus on the "See less" button if it is not being visualized.</TextBlock>
        <Button Name="ShowButton" Content="Show flyout">
            <Button.Flyout>
                <winui:CommandBarFlyout Opened="OnFlyoutOpened" Closed="OnFlyoutClosed">
                    <winui:CommandBarFlyout.SecondaryCommands>
                        <AppBarButton Label="Option 1" />
                        <AppBarButton Label="Option 2" />
                    </winui:CommandBarFlyout.SecondaryCommands>
                </winui:CommandBarFlyout>
            </Button.Flyout>
        </Button>
    </StackPanel>
</Page>

using System.Linq;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;

namespace CommandBarFlyoutTest
{
    public sealed partial class MainPage : Page
    {
        public MainPage()
        {
            this.InitializeComponent();

            Loaded += OnLoaded;
        }

        private void OnLoaded(object sender, RoutedEventArgs e)
        {
            // Set initial focus on load.
            ShowButton.Focus(FocusState.Keyboard);
        }

        private void OnFlyoutOpened(object sender, object e)
        {
            if (sender is Microsoft.UI.Xaml.Controls.CommandBarFlyout flyout)
            {
                var firstItem = flyout.SecondaryCommands.FirstOrDefault();
                if (firstItem is AppBarButton button)
                {
                    // Set focus to the first item.
                    button.Focus(FocusState.Programmatic);
                }
            }
        }

        private void OnFlyoutClosed(object sender, object e)
        {
            // Set focus back to the show button.
            ShowButton.Focus(FocusState.Programmatic);
        }
    }
}

Expected behavior

I would expect to not be able to focus on the "See less" button if it is not being visualized.
Screenshots

Button:

Flyout opened:

Focus is hidden, "See less" is visible:

Version Info

NuGet package version: Microsoft.UI.Xaml 2.6.2

Windows app type:

UWP
Win32

Windows version
Saw the problem?

Insider Build (22000)
Yes

May 2021 Update (19043)

October 2020 Update (19042)

May 2020 Update (19041)

November 2019 Update (18363)

May 2019 Update (18362)

October 2018 Update (17763)

April 2018 Update (17134)

Fall Creators Update (16299)

Creators Update (15063)

Device form factor
Saw the problem?

Desktop
Yes

Xbox

Surface Hub

IoT

Additional context

Hi, there, i am able to reproduce the issue. I will check and try to fix the same.


remove logstash config

What are your changes?
Remove the Logstash configuration from the ELK-filtering section. Logstash was removed from the ELK setup section as we log direct from Filebeat into ElasticSearch, so this doesn't apply anymore.
What type of changes does your doc introduce?

[X] Bug fix
[ ] New feature

What is the urgency level of this change?

[ ] Blocker
[ ] High
[X] Medium

I have completed these items:

[X] I have tested all commands and code snippets.
[ ] I have built locally and tested for broken links and formatting.
[ ] I have made this change for all affected versions (e.g. 1.7, 1.8, and 1.9).
[X] My doc follows the style guide: https://github.com/dcos/dcos-docs#contributing.

Ping @emanic, @sascala, or @joel-hamill for reviewing pull request changes.
If you included a comment with your commit, it appears here:

Can one of the admins verify this patch?

cc: @malnick

@fernandosanchezmunoz do we need this change for 1.9 as well?

My understanding is that 1.9 changes things and we do logging and monitoring differently, so I´m not sure this applies "as is". @malnick would likely have the answer!