Send video dimensions to the server

Fixes #38

Swift SDK can detect dimensions updates without relying on the LiveKit Server.
If the LiveKit server uses this information for video optimization purpose, it's better to have an API to report the dimensions change?

Swift SDK can detect dimensions updates without relying on the LiveKit Server. If the LiveKit server uses this information for video optimization purpose, it's better to have an API to report the dimensions change?

agreed, we should have an API to update the server when it changes.


Pass "signal" instead of "adm" from partner ad response.

Updated adapter to use the "signal" from the ad response instead of the adm.
Updated CHANGELOG, README, & build.gradle files to <IP_ADDRESS>.1

Similar ticket like: https://github.com/ChartBoost/chartboost-mediation-android-adapter-verve/pull/4/files but using the latest Verve version.


MRG: Revise TESTFLOW.rst

#64 Change all test documents about numpy test to pytest.

Coverage increased (+43.7%) to 98.485% when pulling 4fc393af734d10de3484bbf8bb8ae8d8c60b1cc9 on boyinggong:boyinggong-Issue#64 into 6bdde7af7af5e261aa9be3459c4a7892ccaee921 on berkeley-stat222:master.

@jarrodmillman This fail was due to the previous code from PR #82 running in the python 3 environment.  We can merge this if possible.

Coverage increased (+43.7%) to 98.507% when pulling fee6062e9890a02a3cccb1771f5effc7b8225019 on boyinggong:boyinggong-Issue#64 into 6bdde7af7af5e261aa9be3459c4a7892ccaee921 on berkeley-stat222:master.

@jarrodmillman I rebased after jiang fix the python 3 problem. Could we merge this now? Thanks.

Added changes in
https://github.com/berkeley-stat222/mousestyles/pull/93


SOVRN - Add video support to docs

Not ready for review yet

This is ready for review now.

because you have two separate PRs open on the same, it will create a merge conflict. Please add the header metadata in #3493 . Without the array and quotes
media_types: banner, video


View multiple diagrams

Describe what problem your feature request solves
Some projects have more than one diagram, but only one can be viewed at any one time
Describe the solution you'd like
provide ability to view multiple diagrams at the same time
Additional context
User request "Can I open multiple diagrams in their own windows so that I can see them side by side? We have up to 4 diagrams"

We are unlikely to implement this - it requires a restructuring of the application that we do not have the contributors for.
A workaround is to open multiple tabs (if using the web application) viewing the same project. This workaround will not work with the desktop application though.

I was just about to type up a feature request ticket for this, but I guess no need.
Anyway, I was wondering if it'd be possible to expose the backend locally when running the desktop app. As I understand it this is Electron and thus just an embellished browser engine with node.js and some extras, right? Can't the app expose the backend part so that instead of the browser built into the desktop app I could use "any" browser installed on the same system and therefore use the tab workaround you mention?
Just thinking out loud. I am not acquainted enough with Electron beyond the absolute basics.

If there is interest in this feature then it certainly can be reopened @exoosh


Error when len(prompt) + tokens_to_generate exceeds maximum sequence length

For prompts that exceed the maximum sequence length for a model, HELM currently detects this and skips examples as needs. I get the following message:
The original constructed prompt exceeded the max context length. Removed 4 in-context examples to fit it within the context window.
However, some servers (Megatron-LM, Anthropic) count the length of the prompt towards the maximum sequence length. HELM does not detect when the sum of these terms exceeds the sequence length and we currently get an error response from the server (with Megatron):
Length of prompt + tokens_to_generate longer than allowed

This is similar to #1520.

Do you know what is this limit for Megatron?

It turns out that this issue with Megatron was caused by the +1 in the max_request_length of the GPT2WindowService, which I fixed as part of the PR.
@yifanmai repoted this same issue with some Anthropic models, I believe. He asked me to file this issue and can probably elaborate on where he saw it.

I think Anthropic got fixed by #1553, but Palmyra is still broken: see #1571.


Access data from related entities in view

How can we access data of columns from related entities and add logic on those values?

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

ID: 186d9ef0-c2c9-31a5-9b19-88bc93a3f96e
Version Independent ID: d731ab26-30f3-f2e8-a1bc-a3b16cf8f567
Content: Display custom icons instead of values in list views with PowerApps
Content Source: ce/customize/display-custom-icons-instead.md
Service: crm-online
GitHub Login: @Mattp123
Microsoft Alias: matp

@sdgmits Thanks for your feedback. Can you provide more detail about what it is your asking with regards to accessing column data and what logic you want to apply on it? An example would help.

I have the same question.  As an example, in a 'contact' entity view which includes columns from the parent 'account' record, how can I include an 'account' column value in the determination of the icon to be displayed.

Yes, we also need a way to manipulate the test value in particular coulmn. Becuase we have row data already avaiable in JS function and hence we can concatenate the two or more columns into one column. It wil be pretty handy in case of app for app for outlook, because in global search or lookup we can not show more than three column (or two) coulmns in app for outlook.

Closing.


Add an option for writing JSON arrays of objects

The new write json --arrays-of-objects option writes all events arriving within the same batch into a JSON array. This is convenient when interfacing with REST APIs through the http connector.

...and a changelog entry.


 everywhere

With GHC 8.2.1, Hoed 0.4.0 installed using cabal install Hoed, and the following program:
import Debug.Hoed

fib :: Int -> Int
fib = observe "fib" fib'
fib' 0 = 0
fib' 1 = 1
fib' n = fib(n-1) + fib(n-2)

The observations are all <?>. This doesn't happen with Hood or with Hoed 0.3.x.
relude> :r
[1 of 1] Compiling Main             ( hoed-quickcheck.hs, interpreted )
Ok, 1 module loaded.
*Main> runO $ print $ fib 3
=== program output ===

2

=== program terminated ===
Please wait while the computation tree is constructed...

=== Statistics ===

27 events
5 computation statements
5 nodes + 1 virtual root node in the computation tree
5 edges in computation tree
computation tree has a branch factor of 1.6666666666666667 (i.e the average number of children of non-leaf nodes)

=== Debug Session ===
hdb> observe .*
--- stmt-1 ------------------------------------------
fib <?>

  = <?>
--- stmt-2 ------------------------------------------
fib <?>

  = <?>
--- stmt-3 ------------------------------------------
fib <?>

  = <?>
--- stmt-4 ------------------------------------------
fib <?>

  = <?>
--- stmt-5 ------------------------------------------
fib <?>

  = <?>
--------------------------------------------------------------------
hdb> exit

With Hood
HCi, version 8.2.1: http://www.haskell.org/ghc/  :? for help
[1 of 1] Compiling Main             ( hoed-quickcheck.hs, interpreted )
Ok, 1 module loaded.
*Main> runO $ print $ fib 3
2

-- fib
  { \ 0  -> 0
  , \ 1  -> 1
  , \ 2  -> 1
  , \ 3  -> 2
  }

The issue is probably in the Observable instance for functions. Looking at the generated core (ghc 8.2.2):

-- RHS size: {terms: 13, types: 16, coercions: 0, joins: 0/0}
$cobserver_a9Ub
$cobserver_a9Ub
  = \ @ a_a9U6 @ b_a9U7 _ _ fn_a6KF cxt_a6KG arg_a6KH ->
      gdmFunObserver
        $fObservablea $fObservablea cxt_a6KG fn_a6KF arg_a6KH

-- RHS size: {terms: 11, types: 14, coercions: 0, joins: 0/0}
$fObservable(->)
$fObservable(->)
  = \ @ a_a9U6 @ b_a9U7 $dObservable_a9U8 $dObservable_a9U9 ->
      C:Observable
        ($cobserver_a9Ub $dObservable_a9U8 $dObservable_a9U9)
        ($cconstrain_a9Uj $dObservable_a9U8 $dObservable_a9U9)
-- RHS size: {terms: 4, types: 3, coercions: 0, joins: 0/0}
$cobserver_a9Vl
$cobserver_a9Vl
  = \ @ a_a9Vj -> observeOpaque (unpackCString# "<?>"#)

-- RHS size: {terms: 4, types: 5, coercions: 0, joins: 0/0}
$fObservablea
$fObservablea
  = \ @ a_a9Vj -> C:Observable $cobserver_a9Vl $cconstrain_a9Vq

It is clear that the cobserver_a9Ub worker function is throwing away the Observable dictionaries received. I can't quite explain why this happens, it seems wrong to me.

I tried several things and nothing could dissuade GHC from using the <?> instance in the a->b instance when both are in the same module.
The solution is to make sure the catch-all instance is not in scope when the a->b instance is declared. Moving it to the Debug.Hoed module is the easiest way to accomplish this.
I'll add the fix to my PR.


Support code blocks fenced with "cpp"

The pygments lexer, commonly used by Markdown parsers, supports "cpp" in addition to "c++" as format specifier for C++ code (see https://pygments.org/docs/lexers/#pygments.lexers.c_cpp.CppLexer). Add support fenced blocks with "cpp", in the same way "c++" is supported.

Thanks for you contribution! This looks good 👍


Enhance the message to the user when we are unable to publish due to a missing renv.lock file

While the existing message is correct, we can do better in directing the user on how to resolve the issue. We do have additional information shown within the R Packages view, but its presence is not highly visible unless the user expands the section (while reacting to the small warning icon).

As shown in the screenshot, renv::status can provide us with some better guidance to the user, if we simply display what they are output.

This issue requests that the messages be updated to better guide the user on how to resolve the issue.

IMO we should "just" pass the renv::status() through if we can. The maintainers of renv have spent time crafting messages about how to get into a good state, no need to reinvent the wheel
cc @gregswinehart

My current recommendation would be that we provide immediate viewing of their first paragraph, and then offer an additional mechanism to easily view their entire output (such as by clicking on a link which would bring up a modal dialog).

We could also offer abbreviated output or say "renv::status() indicated there are issues" or the like. And then instruct folks to run renv::status() and follow the instructions it provides. No need to add additional machinery and a modal to display long output of renv::status() when the next things someone will need to do is run renv::status() in the console.

We also should think about these two scenarios slightly differently (since what we tell people to do will be different):

If there is no renv infrastructure at all (in other words: no indication this project has ever used renv) either telling folks to do that (or, ideally, we come back to #2405 in this case to give folks an easy on-ramp to renv)
if there is renv infrastructure, but the lockfile is missing, we should direct folks to renv::status() and fixing that way

There may be other scenarios too, but the first is likely to happen when folks haven't ever used renv before or don't know about it at all, so we will need a slightly different message there (or an easier onramp like #2405 )


Remove py26 support

Remove support for Python 2.6
Fixes #28

Coverage remained the same at 100.0% when pulling 7afe16a296b1282d1deab0454be0dea652c37bfe on jscn:remove-py26-support-28 into a9ac2cf4e9a6d29d2d5e4ea62b0c0645243719da on clarkduvall:master.

Coverage remained the same at 100.0% when pulling 7afe16a296b1282d1deab0454be0dea652c37bfe on jscn:remove-py26-support-28 into a9ac2cf4e9a6d29d2d5e4ea62b0c0645243719da on clarkduvall:master.

Coverage remained the same at 100.0% when pulling 7afe16a296b1282d1deab0454be0dea652c37bfe on jscn:remove-py26-support-28 into a9ac2cf4e9a6d29d2d5e4ea62b0c0645243719da on clarkduvall:master.

Coverage remained the same at 100.0% when pulling 7afe16a296b1282d1deab0454be0dea652c37bfe on jscn:remove-py26-support-28 into a9ac2cf4e9a6d29d2d5e4ea62b0c0645243719da on clarkduvall:master.

Thanks for the change! I ended up merging #49 since there were conflicts on this PR. Sorry it took so long for me to get to it!


Error with the latest flutter sdk and just importing "package:flutter_map/flutter_map.dart" in a hello world app

Compiler message:
file:///C:/Users/Usuario/AppData/Roaming/Pub/Cache/hosted/pub.dartlang.org/flutter_image-1.0.0/lib/network.dart:75:31: Error: The argument type 'Null Function(StringBuffer)' can't be assigned to the parameter type 'Iterable Function()'.

'StringBuffer' is from 'dart:core'.
'Iterable' is from 'dart:core'.
'DiagnosticsNode' is from 'package:flutter/src/foundation/diagnostics.dart' ('file:///c:/flutter/packages/flutter/lib/src/foundation/diagnostics.dart').
Try changing the type of the parameter, or casting the argument to 'Iterable Function()'.
informationCollector: (StringBuffer information) {
^
file:///C:/Users/Usuario/AppData/Roaming/Pub/Cache/hosted/pub.dartlang.org/flutter_image-1.0.0/lib/network.dart:168:65: Error: The argument type 'String' can't be assigned to the parameter type 'DiagnosticsNode'.
'DiagnosticsNode' is from 'package:flutter/src/foundation/diagnostics.dart' ('file:///c:/flutter/packages/flutter/lib/src/foundation/diagnostics.dart').
Try changing the type of the parameter, or casting the argument to 'DiagnosticsNode'.
context: '$runtimeType failed to load ${instructions.uri}',
^
file:///C:/Users/Usuario/AppData/Roaming/Pub/Cache/hosted/pub.dartlang.org/cached_network_image-0.7.0/lib/src/cached_network_image_provider.dart:46:31: Error: The argument type 'Null Function(StringBuffer)' can't be assigned to the parameter type 'Iterable Function()'.
'StringBuffer' is from 'dart:core'.
'Iterable' is from 'dart:core'.
'DiagnosticsNode' is from 'package:flutter/src/foundation/diagnostics.dart' ('file:///c:/flutter/packages/flutter/lib/src/foundation/diagnostics.dart').
Try changing the type of the parameter, or casting the argument to 'Iterable Function()'.
informationCollector: (StringBuffer information) {
^
Compiler terminated unexpectedly.
Running Gradle task 'assembleRelease'...
Running Gradle task 'assembleRelease'... Done                      12.0s
Gradle task assembleRelease failed with exit code 1

this is showing errors for a few different packages, specifically flutter_image, try filing the issue there unless you think this is specific to flutter_map. Thanks!

flutter upgrade
git clone https://github.com/johnpryan/flutter_map.git
cd flutter_map/example
flutter build apk
Running "flutter packages get" in example...                       15.7s
Initializing gradle...                                            108.7s
Resolving dependencies...
224.8s (!)
Compiler message:
file:///Users/admin/Downloads/OpenGL/flutter_map/lib/src/layer/mbtiles/mbtiles_image_provider.dart:93:31: Error: The argument type 'Null Function(StringBuffer)' can't be assigned to the parameter type 'Iterable Function()'.

'StringBuffer' is from 'dart:core'.
'Iterable' is from 'dart:core'.
'DiagnosticsNode' is from 'package:flutter/src/foundation/diagnostics.dart' ('file:///Users/admin/Downloads/flutter/packages/flutter/lib/src/foundation/diagnostics.dart').
Try changing the type of the parameter, or casting the argument to 'Iterable Function()'.
informationCollector: (StringBuffer information) {
^
file:///Users/admin/.pub-cache/hosted/pub.dartlang.org/flutter_image-1.0.0/lib/network.dart:75:31: Error: The argument type 'Null Function(StringBuffer)' can't be assigned to the parameter type 'Iterable Function()'.
'StringBuffer' is from 'dart:core'.
'Iterable' is from 'dart:core'.
'DiagnosticsNode' is from 'package:flutter/src/foundation/diagnostics.dart' ('file:///Users/admin/Downloads/flutter/packages/flutter/lib/src/foundation/diagnostics.dart').
Try changing the type of the parameter, or casting the argument to 'Iterable Function()'.
informationCollector: (StringBuffer information) {
^
file:///Users/admin/.pub-cache/hosted/pub.dartlang.org/flutter_image-1.0.0/lib/network.dart:168:65: Error: The argument type 'String' can't be assigned to the parameter type 'DiagnosticsNode'.
'DiagnosticsNode' is from 'package:flutter/src/foundation/diagnostics.dart' ('file:///Users/admin/Downloads/flutter/packages/flutter/lib/src/foundation/diagnostics.dart').
Try changing the type of the parameter, or casting the argument to 'DiagnosticsNode'.
context: '$runtimeType failed to load ${instructions.uri}',
^
file:///Users/admin/.pub-cache/hosted/pub.dartlang.org/cached_network_image-0.7.0/lib/src/cached_network_image_provider.dart:46:31: Error: The argument type 'Null Function(StringBuffer)' can't be assigned to the parameter type 'Iterable Function()'.
'StringBuffer' is from 'dart:core'.
'Iterable' is from 'dart:core'.
'DiagnosticsNode' is from 'package:flutter/src/foundation/diagnostics.dart' ('file:///Users/admin/Downloads/flutter/packages/flutter/lib/src/foundation/diagnostics.dart').
Try changing the type of the parameter, or casting the argument to 'Iterable Function()'.
informationCollector: (StringBuffer information) {
^
Compiler terminated unexpectedly.
Running Gradle task 'assembleRelease'...
Running Gradle task 'assembleRelease'... Done                      25.6s
Gradle task assembleRelease failed with exit code 1

what version of the flutter sdk are you using? there's a new version of the flutter_image package that you could try using:
dependency_overrides:
  flutter_image: 2.0.0-dev.1

Flutter 1.5.9-pre.148 • channel master • https://github.com/flutter/flutter.git
Framework • revision d53115ab2e (3 hours ago) • 2019-05-09 12:43:51 -0700
Engine • revision 644db5a49c
Tools • Dart 2.3.0 (build 2.3.0-dev.0.5 dbe80f3397)
Running "flutter packages get" in example...                        2.2s
Initializing gradle...                                              5.7s
Resolving dependencies...                                          44.8s
Compiler message:
file:///Users/admin/Downloads/OpenGL/flutter_map/lib/src/layer/mbtiles/mbtiles_image_provider.dart:93:31: Error: The argument type 'Null Function(StringBuffer)' can't be assigned to the parameter type 'Iterable Function()'.

'StringBuffer' is from 'dart:core'.
'Iterable' is from 'dart:core'.
'DiagnosticsNode' is from 'package:flutter/src/foundation/diagnostics.dart' ('file:///Users/admin/Downloads/flutter/packages/flutter/lib/src/foundation/diagnostics.dart').
Try changing the type of the parameter, or casting the argument to 'Iterable Function()'.
informationCollector: (StringBuffer information) {
^
file:///Users/admin/.pub-cache/hosted/pub.dartlang.org/flutter_image-1.0.0/lib/network.dart:75:31: Error: The argument type 'Null Function(StringBuffer)' can't be assigned to the parameter type 'Iterable Function()'.
'StringBuffer' is from 'dart:core'.
'Iterable' is from 'dart:core'.
'DiagnosticsNode' is from 'package:flutter/src/foundation/diagnostics.dart' ('file:///Users/admin/Downloads/flutter/packages/flutter/lib/src/foundation/diagnostics.dart').
Try changing the type of the parameter, or casting the argument to 'Iterable Function()'.
informationCollector: (StringBuffer information) {
^
file:///Users/admin/.pub-cache/hosted/pub.dartlang.org/flutter_image-1.0.0/lib/network.dart:168:65: Error: The argument type 'String' can't be assigned to the parameter type 'DiagnosticsNode'.
'DiagnosticsNode' is from 'package:flutter/src/foundation/diagnostics.dart' ('file:///Users/admin/Downloads/flutter/packages/flutter/lib/src/foundation/diagnostics.dart').
Try changing the type of the parameter, or casting the argument to 'DiagnosticsNode'.
context: '$runtimeType failed to load ${instructions.uri}',
^
file:///Users/admin/.pub-cache/hosted/pub.dartlang.org/cached_network_image-0.7.0/lib/src/cached_network_image_provider.dart:46:31: Error: The argument type 'Null Function(StringBuffer)' can't be assigned to the parameter type 'Iterable Function()'.
'StringBuffer' is from 'dart:core'.
'Iterable' is from 'dart:core'.
'DiagnosticsNode' is from 'package:flutter/src/foundation/diagnostics.dart' ('file:///Users/admin/Downloads/flutter/packages/flutter/lib/src/foundation/diagnostics.dart').
Try changing the type of the parameter, or casting the argument to 'Iterable Function()'.
informationCollector: (StringBuffer information) {
^
Compiler terminated unexpectedly.
Running Gradle task 'assembleRelease'...
Running Gradle task 'assembleRelease'... Done                      33.2s
Gradle task assembleRelease failed with exit code 1

Same error for me ... and I'm blocked to deliver my app :(
Any workaround / suggestion ?

dependency_overrides:
flutter_image: 2.0.0-dev.1
didnot work
[√] Flutter (Channel beta, v1.7.8+hotfix.2, on Microsoft Windows [Version 10.0.17763.557], locale
en-US)
• Flutter version 1.7.8+hotfix.2 at D:\flutter
• Framework revision 2e540931f7 (5 days ago), 2019-07-02 09:31:07 -0700
• Engine revision b1cb0d9e9b
• Dart version 2.4.0

Future<ui.Image> _loadImage(img.ImageProvider imageProvider) async {
var stream = imageProvider.resolve(img.ImageConfiguration.empty);
var completer = Completer<ui.Image>();
void listener(img.ImageInfo frame, bool synchronousCall) {
var image = frame.image;
completer.complete(image);
stream.removeListener(listener);
}
stream.addListener(listener);
return completer.future;
}
this part is also having an error


Shap for RNN models

Hi,
Thank you for this great work. Do you have any plans to make it possible to explain RNN/LSTM models? Right now I have to make the explanation with LIME and then I plot it with force_plot.

Ok. And DeepExplainer also deals with models with 3D input (samples x timesteps x features)?
When I try to use DeepExplainer I get following error:

I guess the reason is the same as described in #218. I have to wait for v0.23, right?

@hcthorsen I would try that again on 0.23 and make sure you still get the same error before we look into it. NotEqual produces a boolean output, so it would be good to know how it is being used in your model to compute the model output. In theory we can pass attributions though a boolean function by considering True as 1 and False as 0, but I would like to make sure we know how it is being used first.

@amirjalilifard I think the real answer is to create a text_plot or a series_plot that are specifically designed to display that data. However, if you want to make a force_plot you can just flatten the attribution array you get from DeepExplainer down to 1D (or 2D for an area plot) and then pass it to force plot. You will just need to pass the right feature names then so you know what instance each feature came from (like pulse (1) or pulse (2) for instances 1 and 2).
If you have a time series with 20 sample instances each of which has 5 features, then you can stack them into a 20 x 5 array and pass that to force plot. If you then sort by original sample order you will see the attributions for all 20 times points stacked over time.

I managed to get the DeepExplainer working after the new update to v0.23. As mentioned earlier I work with a LSTM classifier. Like @amirjalilifard I would like to to make a force_plot, that illustrates the contribution of the different features with timesteps as the x-axis. I can make the force_plot, but it's not making much sense. All the contributions are very small, and it's far from adding up to the prediction. In the example below there is 49 timesteps and 75 features, so shap_values[0][1] is a 49*75 array.

If the sum does not match the model output plus the base value then
something is wrong. Would you mind trying the Gradient Explainer and seeing
if it works? If it does then that will narrow it down to something with
DeepExplainer. Thanks.
On Sun, Aug 26, 2018 at 12:52 PM hcthorsen<EMAIL_ADDRESS>wrote:

I managed to get the DeepExplainer working after the new update to v0.23.
As mentioned earlier I work with a LSTM classifier. Like @amirjalilifard
https://github.com/amirjalilifard I would like to to make a force_plot,
that illustrates the contribution of the different features with timesteps
as the x-axis. I can make the force_plot, but it's not making much sense.
All the contributions are very small, and it's far from adding up to the
prediction. In the example below there is 49 timesteps and 75 features, so
shap_values[0][1] is a 49*75 array.
[image: image]
https://user-images.githubusercontent.com/30860976/44632363-ac339a00-a979-11e8-8649-488e2a3b0f6c.png
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/slundberg/shap/issues/213#issuecomment-416065622, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ADkTxYsGUHuBMnXRgzvR8J-QMhTYjw7zks5uUvxsgaJpZM4V5kSc
.

I found out why the sum does not match the model output plus the base value.
My sequences are not of the same length, so I pad with zeros and use a masking layer.
The masking layer confuses the DeepExplainer. If I remove the masking layer the sum of the SHAP values and base value adds up to the prediction. Do you know if there is a way to keep masking?

Great! Could you share the piece of code that makes the masking layer? That
way I can figure out which low-level TF operation it creates that might
cause the problem.

I just started with a very simple model. Sorry about the screenshot, but I work in an environment where I can't copy/paste text):

Thanks. When I get a chance I'll add a masking layer to the current LSTM
example for DeepExplainer and see if I can reproduce the problem.
On Mon, Aug 27, 2018 at 2:30 PM hcthorsen<EMAIL_ADDRESS>wrote:

I just started with a very simple model. Sorry about the screenshot, but I
work in an environment where I can't copy/paste text):
[image: image]
https://user-images.githubusercontent.com/30860976/44687284-1bc88880-aa51-11e8-9fcd-219907669fe2.png
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/slundberg/shap/issues/213#issuecomment-416375518, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ADkTxfcL6GT0KSbdp57s2tEf-zS77AT-ks5uVGUNgaJpZM4V5kSc
.

Hi, I'm also having trouble with the prediction value given with the sum of contributions, when using a LSTM model. I'm working on pytorch and I also have input data with variable sequence, so I suspect that it's because of the padding that I did. To try to prevent this issue, I did some modifications to the DeepExplainer in my forked version (essentially, I added the option to indicate the original sequence lengths when calling the model's feedforward method). However, although it seems to assign a bigger contribution to relevant features, the sum of the contributions is still wrong, as you can see in the force plot bellow:

Real output values for this sequence:

@AndreCNF it is hard to debug without a concrete example. Could you share a small stripped down notebook that demonstrates the issue?

Hi @slundberg. Thank you for answering. Here's a simple notebook demonstrating the problem with a dummy dataset: https://github.com/AndreCNF/shap-variable-sequence-pytorch-debug
I can't provide the original data that I'm using, as it's not public. But this simple example is enough to show that contribution scores don't add up to the real output value.

Thanks! I looked through (and ran) the example, and it is involved enough that it will take more time to dig through I think. For example could you clarify what the output of the model is in relation to the inputs? Normally I get outputs from a model that have the same first dimension as the input dataset, but in your case that's not how it seems to be working.
Also @gabrieltseng may have some insights here.

Thank you @slundberg for looking through the example! Essentially, I'm working on Electronic Medical Records, where we have a time series for each patient, with variable sequence length. The output that we want to predict is related to the well being of the patient / disease progression, and so each instance of each time series has its own output label. As such, the output's dimension would be [batch_size, max_sequence_length, 1], being that there is only one output and that we need to do padding on the time series, adding fake instances, so that every sequence has the same length (equal to the longest on the batch).

Hi @AndreCNF ,
RNNs aren't yet supported for the PyTorch DeepExplainer (there should be a warning that pops up to let you know which modules aren't supported yet). In this case, the explainer assumes the module is linear, and makes no change to the gradient. Since RNNs contain nonlinearities, this is probably contributing to the problem.
You can see the layers which are explicitly supported here: https://github.com/slundberg/shap/blob/master/shap/explainers/deep/deep_pytorch.py#L352
Adding RNN support for the PyTorch DeepExplainer is definitely planned, but is a little tricky because - since a lot of stuff is hidden in PyTorch's C++ backend - RNN layers can't be broken down into their simpler operations.

As an additional note, using the GradientExplainer instead of theDeep Explainer should work.

Hi again @slundberg and @gabrieltseng. Thank you for discussing the issues with me. Meanwhile, I've tried both the Gradient and the Kernel Explainers and both were still not complying with local accuracy (sum of SHAP values different from the real output). So, I've changed a bit Kernel Explainer's code in my forked version of SHAP. Now, everything seems to be working fine for RNNs on PyTorch! I've also published an article on Towards Data Science about SHAP and also this adaptation to RNNs: https://towardsdatascience.com/interpreting-recurrent-neural-networks-on-multivariate-time-series-ebec0edb8f5a

Hello,
Is there any way to support 3D input/output Keras models using DeepExplainer?
The shapes for the input and output vectors are (batch size, sequence length, features) and (batch size, sequence length, 1). This is how I build the model and the error when using DeepExplainer.
num_features = 20
num_outputs = 1

model = Sequential()
model.add(LSTM(units=128, return_sequences=True, activation='relu', input_shape=(None, num_features)))
model.add(TimeDistributed(Dense(units=128, activation='relu')))
model.add(TimeDistributed(Dense(units=num_outputs, activation='sigmoid')))

model.compile(loss='binary_crossentropy', optimizer='Adagrad')

Does SHAP analysis with KernelExplainer work for say a VARMAX model - will that be possible?

@shamitb VARMAX is just a linear model so you can use the formula phi_i = beta_i * (x_i - E[x_i]) to compute the SHAP values from each of the coefficients. If you want to not have the residuals as some of the input features (i.e. map those back to the original time series) then you might need to write that out and see if it is a linear dependence on the original data.

@AndreCNF great in depth article! Sorry I was avoiding email a bit during vacation this summer and missed when you posted this in August. In the not to distant future I want to take some time to consider how to improve support for deep time series models. Sounds like what you are working on if very related and would love to see more when I get to working on that!

I am working on a multivariate time series data. I saw the demo of SHAP on LSTM for IMDB sentiment classification. In that case, SHAP explains the contribution of each word. In wording embedding, all the dimensions at a time step represent a word. But in the case of multivariate time series, each dimension at a time step represents a feature. Is it possible for SHAP to explain the contribution of each feature at a time step?

@wmmxk Yes, if you use GradientExplainer then you get attributions of the same shape as your input and you can add them up how you like. For KernelExplainer you might need to write a bit of a wrapper to toggle things how you want.

@slundberg Thanks so much for your reply. That is cool.

I have a TCN (Temporal convolutional network) code written on Tf2.0. I used both GradientExplainer and DeepExplainer and for both I am getting this error:
AssertionError: <class 'model.TCN'> is not currently a supported model type!
Would you please help me what is the problem?

don't use keras subclass

@pablovicente @slundberg  did you find a way to make it work for 3D data?

@Nazanin84 : I guess you should try GradientExplainer

@slundberg @AndreCNF
I am using LSTM pytorch model , my input is sequence of length 341 and I am tring to use DeepExplainer or GradientExplainer and I  got an Runtime error when I try to calculate the shap values because the gradients.
raise RuntimeError(“grad can be implicitly created only for scalar outputs”)
RuntimeError: grad can be implicitly created only for scalar outputs
Any suggestions to make it works.

Did you find the solution ?

Hello,
Is there any way to support 3D input/output Keras models using DeepExplainer? The shapes for the input and output vectors are (batch size, sequence length, features) and (batch size, sequence length, 1). This is how I build the model and the error when using DeepExplainer.
num_features = 20
num_outputs = 1

model = Sequential()
model.add(LSTM(units=128, return_sequences=True, activation='relu', input_shape=(None, num_features)))
model.add(TimeDistributed(Dense(units=128, activation='relu')))
model.add(TimeDistributed(Dense(units=num_outputs, activation='sigmoid')))

model.compile(loss='binary_crossentropy', optimizer='Adagrad')

Did you find the solution ?

Im also trying to use a 3d input sequence, but I am getting same error. Did someone come up with a solution?

shap_values = explainer.shap_values(X) when i use this the error will occur RuntimeError: grad can be implicitly created only for scalar outputs Did someone come up with this solution?

DeepExplainer is one option that is designed for deep models. I just pushed a new version that will land in v0.23 so if you run into issues try the github master :)

is DeepExplainer useful for all models , for example the model i made on transformer

Hello I'm trying to interpret a TCN model with the DeepExplainer function in shap, and I keep getting the following warning. What should I do to solve it? Looking forward to getting your reply!

Hi, I'm having some trouble using GradientExplainer with an LSTM binary classifier. The sum of the SHAP values doesn't match the model output plus the base value. Similar to @hcthorsen, I'm using a masking layer to handle sequences of different lengths. I'm using SHAP version 0.43.0 and Python version 3.8.12. Any suggestions? Thanks!


Input Bar hidden by Input Accessory View

We don't know why but suddenly the input bar is no longer visible as long as the keyboard is shown.
We tried versions 1.5, 1.6 and master (at commit 5a442257664f76c99458db1b21c849a7fe8756ab) and the issue does always occur.
I think this is related to https://github.com/slackhq/SlackTextViewController/pull/230#issuecomment-130754698 but no separate issue was created for that problem yet.
Looking at the view hierarchies we see that the SLKInputAccessoryView is sitting in front of the SLKTextInputbar.
Why does the empty SLKInputAccessoryView have a background color and a non-zero height set? From what I understand it's not supposed to display anything.
Without Keyboard

With Keyboard

@dzenbot that branch works fine - the input bar is visible again :)
Keyboard panning also works, although it's a bit buggy when you scroll the keyboard all the way down and then up again without lifting your finger. When the keyboard is all the way up again then finally lift the finger. Keyboard won't stay but be dismissed instead. Works fine in Messages app.


The location map is not going to work any more

Google now requires a Google Maps JavaScript API Key :(
Not a big deal to get one but without it the map will not work.
Thanks for this project, it's been a great help :)
P.S. I've submitted a similar issue to braziljs/conf-boilerplate

@ls6 I know how to get the api key, but I have no idea how to make my project use it.  Any idea how to utilize it within this project?

Yes :)
In the layouts/index.html file change line 46 from:
<script src="https://maps.google.com/maps/api/js?sensor=false"></script>
to
<script src="https://maps.google.com/maps/api/js?key=YOUR_KEY"></script>
Good luck with your conference 👍

Thanks @ls6

You both rock.  thanks a bunch.  Thanks to this project I got my first website in 15 years up and running in 2.5 hours, and it looks WAY better than I could have done myself.  It was a little funny.  I run cloud systems all day long and can run with the best of them, but when it came to actually authoring a website... let's just say my ignorance of web became very apparent very quickly.


Context menu does not react to zoom and pan movements

What platform were you using when you found the bug?

React Flow / Svelte Flow version: "@xyflow/svelte": "^0.1.15"
Browser and version: Arc
OS and version: Mac

Live code example
https://svelteflow.dev/examples/interaction/context-menu
Describe the Bug
SvelteFlow's context menu does not react to zoom and pan effects. This can be seen from SvelteFlow's own example:
https://svelteflow.dev/examples/interaction/context-menu
Seems like there is no way to get around this issue now. Would be great if the context menu react to zoom and to be able to hide the context menu when panning. (I can't hide the context menu on pan currently because there is no callback when pan happens)
Steps to reproduce the bug or issue

Go to https://svelteflow.dev/examples/interaction/context-menu
Right click to open context menu
Try to zoom and pan

Expected behavior

Context menu should react to scale/zoom
It should be hidden when panning

Screenshots or Videos
https://github.com/user-attachments/assets/958c17ce-6352-4f8a-8fa5-03f721669255
Additional context
No response

Native context menus usually disappear on scroll or dragging. That's how I did it with my context menu and it feels pretty good. If you want it to move with the pane you would have to make it relative to that. Right now it's positioned relative to the container wich doesnt move.


cannot compile start here example

while compiling i am getting this error
i tried to change module selection but still cannot compile it . ! any one had this error ?
C:\Users\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.2.0/tools/sdk/include/ip_addr.h:56:128: error: invalid operands of types 'ip_addr*' and 'int' to binary 'operator>>'
#define IP2STR(addr) (uint8_t)(addr & 0xFF), (uint8_t)((addr >> 8) & 0xFF), (uint8_t)((addr >> 16) & 0xFF), (uint8_t)((addr >> 24) & 0xFF)
                                                                                ^

C:\Users\Documents\Arduino\libraries\easyMesh-master\src\easyMeshAP.cpp:40:19: note: in expansion of macro 'IP2STR'
               IP2STR( &ipInfo.netmask ) );

               ^

exit status 1
Error compiling for board NodeMCU 0.9 (ESP-12 Module).

Remove your esp8266 package from the Boards Manager,
Close Arduino IDE
Delete this folder :  %AppData%\Local\Arduino15\packages\esp8266\
Delete this folder :  %AppData%\Local\Arduino15\staging\packages
Open Arduino IDE
Install Esp8266 package from Boards Manager

I hope it will work

Or if you want the long version  https://github.com/Coopdis/easyMesh/issues/15

Thanks for your guide , it worked fine now !
Kudos to you !
On Thu, Oct 27, 2016 at 11:41 PM, Attiq Aamir<EMAIL_ADDRESS>wrote:

Remove your esp8266 package from the Boards Manager,
Close Arduino IDE
Delete this folder : %AppData%\Local\Arduino15\packages\esp8266\
Delete this folder : %AppData%\Local\Arduino15\staging\packages
Open Arduino IDE
Install Esp8266 package from Boards Manager

I hope it will work
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Coopdis/easyMesh/issues/16#issuecomment-256778253,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABSFxUcEF19Lks95iemAlZhI1XgJbzZyks5q4RqXgaJpZM4KizwT
.

--
Always consider your responsibility towards a cleaner world, Go Green and
recycle, use alternative energy .
Jason Markham
JasonKits
Visit my webpage at http://freesolarenergy.1colony.com
Visit my webshop at http://jasonkits.bigcartel.com

Hi all, this is my first post on Git so have mercy:)
I cannot compile "starthere" because of a lot of undefined stuff e.g. meshSentCb. I thought I knew why: there is a typo in eashMeshConnection.cpp, But changing that into easy (y instead of h ) didn solve the issue.
Running Ubuntu 16.04 64 bit and Arduino 1.6.13. All other suggestions as only one lib and correct SimpleList.h are done. It seems like there is missing a referral but I cannot find to what. PArt of the debug:
easyMeshSTA.cpp:29: undefined reference to easyMesh::meshSentCb(void*)' ~/Arduino/libraries/easyMesh/easyMeshSTA.cpp:29: undefined reference to easyMesh::meshReconCb(void*, signed char)'
libraries/easyMesh/easyMeshSTA.cpp.o: In function easyMesh::scanTimerCallback(void*)': ~Arduino/libraries/easyMesh/easyMeshSTA.cpp:87: undefined reference to easyMesh::meshDisconCb(void*)'
What am I missing?
Rob


Respect StatusLED configuration at ShutdownLED when shutdown sequence is cancelled and the led share the same GPIO

fixes #1983

I would like to keep the led on when the shutdown sequence (holding the shutdown button for the "hold time") is cancelled and a StatusLED is configured.
It should be off when the sequence is cancelled and no StatusLED is configured.

Yeah, like this so far.
How can this be improved by using object oriented approach?

Thanks for this PR! 🎉
could you check the Python unit tests, which are currently failing and try to fix them in this PR?
https://github.com/MiczFlor/RPi-Jukebox-RFID/actions/runs/4454707894/jobs/7824072075?pr=1997

Thanks for this PR! tada
could you check the Python unit tests, which are currently failing and try to fix them in this PR? https://github.com/MiczFlor/RPi-Jukebox-RFID/actions/runs/4454707894/jobs/7824072075?pr=1997

Thanks for looking into it.
I was thinking out loud in this PR so far and this is not complete and I don't expect the checks to pass. I also did not test anything in here.
I converted this to draft now and I hope that the checks are not running any longer.
I created this PR, because I wanted to start with fixing it, though I have no clear way on how to implement it. Doing something sometimes helps rather than thinking days about it.
I appreciate help on how to integrate this fix properly.
If you can, try to understand my thoughts and notes above and look at the current progress. It's not much and the fix is not hard to do, but there are some design decisions to make. I am happy to hear some hints.
I plan to continue this when I find some free time.

Tested in unit tests so far and I am happy with it.
Final test with this code on the real hardware has to be done with the following configurations:

[ ] StatusLED and ShutdownButton not present (Just to see if there are errors)
[ ] StatusLED present and ShutdownButton absent
[ ] StatusLED absent and ShutdownButton present
[ ] StatusLED and ShutdownButton present, but sharing a different LED (Cannot really test it - I only have one LED)
[ ] StatusLED and ShutdownButton present, but sharing a different LED (This test tests issue #1983)

Should the test adoptions go into a separate commit? @s-martin ?

I think the tests never finish because of a while loop never suggesting in on the test systems.
See https://github.com/topas-rec/RPi-Jukebox-RFID/blob/71d05d79c357c5e7663628599bc9b69a04d878b3/components/gpio_control/GPIODevices/led.py#L39

I think the tests never finish because of a while loop never succeeding in on the test systems.
See https://github.com/topas-rec/RPi-Jukebox-RFID/blob/71d05d79c357c5e7663628599bc9b69a04d878b3/components/gpio_control/GPIODevices/led.py#L39

Yeah, that could be the issue.
A method to overcome such scenarios could be mocking the methods during the tests.
please have a look here for starters: https://docs.python.org/3/library/unittest.mock-examples.html

I already mocked it by adding a mock inside that file led.py. Then the test works.
I added it in there because it has an include for os.system which shadows (I think) the mock for the system function from the file that holds the tests .
Mocking inside the file led.py would then be present in production.

Made mocking work in #2034.
Merge this after #2034.


Allow initial conditions to return a tuple?

Right now, the implementation of calc_error_norms requires the return value to be a vector-like quantity. If one would naively return a tuple of values instead of an SVector or Vector, we get an error in calc_error_norms in src/callbacks_step/analysis_dg2d.jl:42:
https://github.com/trixi-framework/Trixi.jl/blob/4b2f5f3ee676b04dca11586bcab4ae0ca9f7a178/src/callbacks_step/analysis_dg2d.jl#L42
LoadError: MethodError: no method matching -(::Tuple{Float64}, ::StaticArrays.SArray{Tuple{1},Float64,1,1})
[...]

If one is to implement a new IC outside of Trixi, the return value thus needs to be either [a, b, c] (bad for performance) or @Trixi.SVector [a, b, c] (bad for style). Thus IMHO we should either drop the assumption that everything is an SVector (which could potentially be hard, since we do use them a lot internally and probably will miss a place or two) or document somewhere that we assume all nodal states to be always SVectorized.

Since it seems to be quite natural to use vector operations on the conserved variables for me, I would prefer keeping the internals using SVectors as they are.
A slightly related question: Why do you prefer @SVector [a, b, c] instead of SVector(a, b, c)?

Since it seems to be quite natural to use vector operations on the conserved variables for me, I would prefer keeping the internals using SVectors as they are.
A slightly related question: Why do you prefer @SVector [a, b, c] instead of SVector(a, b, c)?

Why do you prefer @SVector [a, b, c] instead of SVector(a, b, c)?

This is just a relict of convention: I think we started out with this (at least in the advection equation) and now it is used in most places. Personally, I'd prefer the second version since it is what the macro will evaluate to anyways (I assume).

I would prefer keeping the internals using SVectors as they are.

Absolutely. But are you thus implying we should also keep our remaining code such that it only works with proper AbstractVector-like data structures? In this case, we might want to document this somewhere. Also, should we consider re-exporting SVector?

Why do you prefer @SVector [a, b, c] instead of SVector(a, b, c)?

This is just a relict of convention: I think we started out with this (at least in the advection equation) and now it is used in most places. Personally, I'd prefer the second version since it is what the macro will evaluate to anyways (I assume).

I would prefer keeping the internals using SVectors as they are.

Absolutely. But are you thus implying we should also keep our remaining code such that it only works with proper AbstractVector-like data structures? In this case, we might want to document this somewhere. Also, should we consider re-exporting SVector?

But are you thus implying we should also keep our remaining code such that it only works with proper AbstractVector-like data structures? In this case, we might want to document this somewhere.

Yes, that's what I would prefer.
Re-exporting SVector sounds good to me :+1:

But are you thus implying we should also keep our remaining code such that it only works with proper AbstractVector-like data structures? In this case, we might want to document this somewhere.

Yes, that's what I would prefer.
Re-exporting SVector sounds good to me :+1:

SVector is re-exported from Trixi in #434

Yes, this can be closed. Thanks for #434.


Make a new release

With dune 2.0 integration Octavius blocks dune upgrade by depending on jbuilder.transition. I see that it was upgraded in the master, but wasn't released in opam.

Thanks for reporting. I'll take a look and make a release.

Just in case it helps to have a direct link to what has changed since the last release: https://github.com/ocaml-doc/octavius/compare/v1.2.1..master

I created a release. Closing this in favor of https://github.com/ocaml/opam-repository/pull/15418. Thanks again.


Still having issues with AND filters on same column

Hey,
I'm still having trouble with the query string &filter.tags.name=$eq:2D&filter.tags.name=$and:$eq:Singleplayer. The issue seems to stem from applying the equality operator $eq separately to each tag name. The 'tags' field is an array of objects, and the current method doesn't give the results I want.
The SQL query it generates is trying to find games with both tags at the same time using the equality operator, resulting in an empty dataset. I'd prefer a functionality like $contains for more complex arrays or a solution allowing the use of 'AND' conditions with these specific tags.
Here's the SQL example it generates:
WHERE ( 1=1 AND ("__root_tags_rel"."name" = ? AND "__root_tags_rel"."name" = ?) ) AND ( "__root"."deleted_at" IS NULL ) -- PARAMETERS: ["2D","Singleplayer"]

The tags are stored as objects with associated data, like:
Game -> Tags -> Tag 1 -> name: Singleplayer <- filter
                      relatedGames
                      id
                      etc
             -> Tag 2 -> name: 2D <- filter
                      relatedGames
                      id
                      etc

I want to find games with both 'Singleplayer' and '2D' tags. While the $in operator helps find games with either tag, it doesn't meet the requirement of finding games only with both tags.
Is there a way to achieve this or a workaround allowing the use of 'AND' conditions for these specific tags or using $contains for more complicated arrays?
Am i doing something wrong? Do you have a test that covers this maybe?
By the way:
?filter.tags.name=$contains:2D,Singleplayer results in
WHERE ( 1=1 AND ("__root_tags_rel"."name" @> ?) ) AND ( "__root"."deleted_at" IS NULL )) "distinctAlias" ORDER BY "distinctAlias"."__root_id" ASC NULLS LAST, "__root_id" ASC LIMIT 100 -- PARAMETERS: [["2D","Singleplayer"]]
error:   ┏ error +2s
error:   ┃ [ 1] [Unhandled SqliteError occurred: unrecognized token: "@"]
error:   ┃ [ 2] {
error:   ┃ [ 3]   context: 'LoggingExceptionFilter',
error:   ┃ [ 4]   error: SqliteError: unrecognized token: "@"

Related: https://github.com/ppetzold/nestjs-paginate/issues/402
Additional Info:
paginate(query, this.gamesRepository, {
      paginationType: PaginationType.TAKE_AND_SKIP,
      defaultLimit: 100,
      maxLimit: NO_PAGINATION,
      nullSort: "last",
      relations: ["tags"],
      sortableColumns: [
        "id",
        "title",
        "release_date",
        "rawg_release_date",
        "created_at",
        "size",
        "metacritic_rating",
        "average_playtime",
        "early_access",
        "type",
      ],
      searchableColumns: ["title", "description"],
      filterableColumns: {
        id: true,
        title: true,
        release_date: true,
        created_at: true,
        size: true,
        metacritic_rating: true,
        average_playtime: true,
        early_access: true,
        type: true,
        "genres.name": true,
        "tags.name": true,
      },
      withDeleted: false,
    });

$contain only works with arrays. not 1:m
$and looks good to me. possibly a bug? 🤔 what's the full query it generates? and what do you think is missing to give you the correct result?

Hi there @ppetzold , just returned from a short trip.
 Specifically in the WHERE clause. The condition
("__root_tags_rel"."name" = $1 AND "__root_tags_rel"."name" = $2)

is looking for one tag where the name is both "2D" and "Singleplayer" simultaneously, which is not possible.
Correct me if im wrong but if we want to find entries that have both the "2D" and "Singleplayer" tags (among others of course), we would need to check for each tag separately and use an appropriate JOIN condition, right?

@ppetzold Hi Philipp, I hope you're doing well. Just checking if you had a moment to look into the issue. Not wanting to bother you, but i am about to publish a larger release of my backend on christmas eve to about 2000 users, and the filters on the same columns are causing me trouble ux-wise by broadening searches instead of narrowing them down.
No rush, but if you could take a peek before, it would be a huge help. Thanks a bunch, and happy holidays in advance! 🎄😊

does &filter.tags.name=$eq:2D&filter.tags.name=$or:$eq:Singleplayer work?
otherwise I suggest to get a bit hacky for your release. like handle the query param filter.tags manually and pass to where config as needed.
there are just so many edge cases on filtering on relations which are not handled well yet. relationships type, inner/outer join etc.

@vsamofal
Certainly, because amazons intention is to maximize sales by showing you as much as possible to buy. However, in situations such as a digital library, it is essential to use filters to narrow down searches according to individual preferences.
If you explore Steam and specifically search for Multiplayer Coop games, you'll notice fewer results compared to a general multiplayer search.
Similarly, when using booking.com to locate a hotel with a double bed near the city center, you wont receive hotels that are 10km away from the city center just because they have a double bed right?
It's undoubtedly a valid use case. Some services even offer both AND and OR based filtering with a switch.

@vsamofal Excuse me for the following sarcastic answer, but well, congratulations on your keen insight into booking.com's data structure. I must have missed the memo about you being their top data architect. My apologies suggesting such a unreasonable use case.
But fear not, for I shall enlighten you further. Prepare to be mindblown by 10 more examples off the top of my head where my use case isn't just a unique snowflake:

Filtering blog posts by multiple tags (e.g., "programming" AND "tips").
Searching for recipes with specific ingredients (e.g., "chocolate" AND "almonds").
Academic research papers tagged with both "science" AND "technology."
Filtering Job listings requiring skills in both "Python" AND "JavaScript."
News articles covering events in both "politics" AND "economy."
Music tracks categorized as both "rock" AND "instrumental."
Movie recommendations with genres like "comedy" AND "thriller."
Software tools compatible with both platforms "Windows" AND "Mac."
Finding Digital art showing both "impressionism" AND "surrealism" styles.
DIY projects combining materials like "wood" AND "metal."

You do see a pattern... right? As soon as you group entities into n:n-relationships with categories, tags, platforms, time-periods or genres and want to offer a search to find combinations of these you will bump into my problem. Do you still find my use case as rare as before?

@Alfagun74 I provided you queries that may do this, but because it's many to many and you need to have 2+ rows on this after joining it's tricky, I'm not really sure how we can generalize it, and PR's are always welcome here, if you have an idea how to do it properly without breaking whatever is already available.


[Bug]: Options of Select Field Inside JSON Form Displayed Incorrectly While Scrolling

Is there an existing issue for this?

[X] I have searched the existing issues

Description
If there's a Select type of field in a JSON Form towards the bottom, the options menu either gets displayed outside the form or jumps into another position and gets misaligned when scrolling. This happens in both edit and deployed mode.

Steps To Reproduce

Add a JSON Form with a Select field towards the bottom.
Click on the Select field to open the options menu.
Scroll up and down as shown in the attached loom recording.

Public Sample App
No response
Issue video log
https://www.loom.com/share/9890c15635024632ba3a1823d0216de0
Version
Cloud v1.8.7-SNAPSHOT
 Front conversations

To fix this for both Select and MultiSelect, We'd need to disable scrolling when the dropdown is opened.
This is the same method we took for MultiSelect Widget and Menu button in Table Widget.
Just Observed there seems to be a regression on the Menu button in the Table Widget😂😂😂.
But to solve these issues, we'd need to disable scrolling till the dropdown closes
cc @dilippitchika
https://user-images.githubusercontent.com/31691737/206643809-dffbbe4c-3d04-4ad4-ac0b-49e7dc76e57d.mov

Ok cool, looks like we need a decision for all popovers in widgets and how scrolling should behave then.


[Single sign-on / Federated authentication for applications][RC Based][OIDC]

Single Sign-On / Federated authentication for a web application with OIDC
Discover OIDC metadata and register OIDC application dynamically
Request object support
Basic profile
Implicit profile
Hybrid profile
End-user consent and claim mapping
Logout

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


widget-styling-guide

Please use the form below, leaving the prefilled data to help us. Thank you.
Page link: widget-styling-guide
Document link: native-styling-element-guide.md
My Issue/Suggestion
Element name is wrong for Badge widget with custom styling.
I tried to apply custom styling on the text element of a Badge widget. This did not work until I changed the 'text' element to 'caption' then my styling worked. Should the documentation not state there is a caption element on Badge instead of text?

Hello @thomasvlok ,
Thank you for letting us know about this code issue. We have fixed the issue here: https://github.com/mendix/docs/pull/6692
Thank you for contributing to the documentation,
Connor


Documentaton of Integration, NoxSimpleType and UserInterface classes.

Documented new Integration classes, i.e. database, file, http and message queue
Documented NoxSimpleType
Documented UserInterfaceType

Merged with #56


Couldn't load x509 key pair, no such file or directory

Trying to launch a Swarm manager using the following command:
docker run -d -p 2375:2375 swarm manage --tlsverify --tlscacert=~/ca.pem --tlscert=~/cert.pem --tlskey=~/key.pem token://<token>

For some reason, the container doesn't seem to launch due to the following error:
level=fatal msg="Couldn't load X509 key pair (/home/<user>/cert.pem, /home/<user>/key.pem): open /home/<user>/cert.pem: no such file or directory. Key encrypted?"

I can confirm that all certs were created using the same CA and that the certs are indeed at the root of the user's home directory. Not sure what's missing.
SLES 12
Docker 1.6.2, build 7c8fca2
Image -> Swarm:latest

Hey @anweiss, because you are using docker run to launch swarm you should mount the host directory containing certs as a data volume for those certs to be available inside the container.
docker run -d -v <host-directory>:/certs -p 2375:2375 swarm manage --tlsverify --tlscacert=/certs/ca.pem --tlscert=/certs/cert.pem --tlskey=/certs/key.pem token://<token>

Thanks @abronan! Can't believe I missed that lol. Closing


Avoid join() with same thread on segment commit

Avoid calling Thread.join() with the same thread on segment commit,
as that causes the segment replace to deadlock, causing GC issues
due to live references still being held.

duplicate of #691

Except this one passes travis :)

Current coverage is 64.23% (diff: 100%)

No coverage report found for master at 8e23062.

Powered by Codecov. Last update 8e23062...2b5db57

LGTM

I used to have a timeout there before, but removed the timeout since helix allows unlimited time to transition from CONSUMING to ONLINE.
This transition can take as much time as it takes to build and replace the segment (or, as much time as it takes to download and replace the segment).
I guess 10 minutes is high enough (I used to have 30s before I think), but it is something to keep in mind.
Also, I realized (overnight :-) that this call can happen in the query thread, when releasing segments. When we replace a segment, we call destroy() on the realtime segment only if there are no queries currently using that segment. If there are queries, then the last query to release the realtime segment will call destroy() on it. We should modify the comments to include this note.
Perhaps it is better to check if the thread is alive and then call join.

We need a way to pass the "shutting down" state somewhere, but AFAIK at the moment there isn't a good way to do it.

Thinking about this, we shouldn't ever hit that 10 minute timeout. Kafka is configured with a relatively short timeout (can't remember offhand if it's 10s or 60s) and is the only blocking operation in that thread. After the blocking operation, the consumption loop should notice the shutting down flag (it's also correctly marked as volatile) and exit. As such, the consumption loop shouldn't stay blocked for an extended period of time.
The 10 minute is just a sanity check that we shouldn't hit; if we do, then on shutdown it will stay hung and we'll be able to relatively easily diagnose that situation by looking at a thread dump.


iframe visualization does not work

[x] I have checked the superset logs for python stacktraces and included it here as text if any
[x] I have reproduced the issue with at least the latest released version of superset
[x] I have checked the issue tracker for the same issue and I haven't found one similar

Superset version
0.17.1
Expected results
Iframe getting rendered.
Actual results
An error occurred while rendering the visualization: TypeError: e.render_template is not a function
Steps to reproduce
Go to any data source
select iframe visualization
tried with default youtube url and other website like google.com
@mistercrunch @ascott

I found the same problem on superset 0.17.3
Here is my solution. I use Markup visualization rather than iFrame, and set Markup Type as html. Put <iframe> tag in code.
<iframe src="http://example.com" height="600" width="800" style="width:100%;"></iframe>

thanks @yumminhuang  for the workaround

Verified Fixed on 0.17.6


[doc] add youtube videos

[x] #433
[ ] #431
[ ] #432

Currently youtube video cannot be rendered due to  https://github.com/vuejs/vitepress/issues/4194


Correct concurrent use of stdin : user input field

Hey there, I'm totally new to gocui / term-box etc.
I am trying to make a simple frame in which on can type text in an input field and when hitting enter, the field is cleared, and text appended to another view.
However, when using the /_examples/stdin.go method, the program just freezes before even displaying the frames.
How should I go about it ?

You can have a key binding to KeyEnter that handles the Buffer and resets everything. You can knit together a solution using the different examples in _examples.

Is stdin still being updated as I type in a view ? If yes, that's fairly easy

When you type in a view, the data is stored in an internal buffer that can be accessed with v.Buffer(), and cleared with v.Clear(). See the docs for details.

Oh and, g.SetCurrentView("...") seems not to give the stdin focus to the given frame ...

I'm not sure what you mean. Could you elaborate on what you're trying to do exactly and what part of it isn't working as expected?

Sure, there I have a small snippet that sets the focus on thein view.
g.SetCurrentView("in")

if err := g.MainLoop(); err != nil && err != gocui.ErrQuit {
	panic(err)
}

In my keybind initializing phase I have (when pressing Return) this :
// removed error handling for conciseness
in_view, err := g.View("in")
out_view, err := g.View("out")
out.Println(in_view.Buffer())
in_v.Clear()

which redirects the content of the in_view buffer to the out view. However, the only content I can manage to have printed correctly is the initial content of in_view. That is to say, that when I type anything, the content is not being reported to in at all (checked with raw println(.) as well).

Correct me if I'm wrong @jroimartin
I don't think views have a Println() method. The correct way to print to a view is to call fmt.Fprintln(v, data).
Also, the g.SetCurrentView() should be called after the g.SetView() declaration.

I know they don't have the Println method :) I implemented it in my custom view type

Well, even with everything setup as expected and asked by the doc, the production is not really what expected ... Are you sure the stdin content is redirected to the .Buffer() method of the view ? @libeclipse

Anything that is typed into an editable view ends up in the Buffer.
On Sun, 13 Nov 2016, 14:56 Spriithy<EMAIL_ADDRESS>wrote:

Well, even with everything setup as expected and asked by the doc, the
production is not really what expected ... Are you sure the stdin content
is redirected to the .Buffer() method of the view ? @libeclipse
https://github.com/libeclipse
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jroimartin/gocui/issues/83#issuecomment-260191003,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AIhznxBYmkh-_0aQVvokYjULIuCJkjl9ks5q9yUfgaJpZM4KwsLM
.

First things first,
_examples/stdin.go reads from stdin and dumps the read data in hex to a view. It can be used as follows:
$ cat /bin/ls | go run _examples/stdin.go

Now, I think you don't want to read from stdin but from other view. So, you need something like this:
https://gist.github.com/jroimartin/364810d993fbf7dca8f79fc45dd9e5fa
Is that right?

BTW the correct approach here would be to create an input widget using the Manager interface and so on. So, take this just as a quick example :)

Hey, thanks for the reply!
Well, that's clearly what I wanted to do! haha I just couldn't get my view to be editable
Thanks for the work done so far and the help!

Great! 👍


Create directory if not already exists

It would be useful if the directory for the fits output was created if it didn't already exist. For the example config to work, I had to first create a union_maps folder.

Got it. I plan on doing a large restructuring of directories soon. Essentially an entire codebase reworking to ensure scalability and extensibility. I'm going to raise an issue for my restructuring but I will address your output directory wishes in my rebuild!


What is dataset_parser.generator?

Traceback (most recent call last):
File "train.py", line 12, in
from dataset_parser.generator import data_generator
ImportError: No module named dataset_parser.generator
What error is it?How can I solve it?

Sorry for the late reply.
Perhaps this is caused by not adding the init.py file to the dataset_parser folder.
Please create an init.py empty file once in the dataset_parser folder and run train.py again.


[Question] How do you make Rollup to watch for changes in sass partials with this?

I have already thrown hours into this and I can't figure it out.
This plugin works great with rollup-watch when you change the main .scss file, which you are importing in your index.js (or whatever your entry point is), but... how you make it to rebundle when you change something in any of your partials?
If you modularize your sass, maybe you don't edit your main.scss file at all. Mine is just a list of @import sentences... So, I import only this file and it calls all the partials. But... it only rebundles if you change the main scss file, so... it renders a bit useless/frustrating.
I guess you're using it and, I hope, you're using partials, so, how you do it?
Any help, please? Thanks :D.

My package.json important part looks like this:
"main": "build/js/bundle.js",
  "scripts": {
    "dev": "rollup -c --watch",
    "reload": "browser-sync start --server 'build' --files 'build'",
    "start": "npm-run-all --parallel reload dev",
    "test": "echo \"Error: no test specified\" && exit 1"
  },

In rollup.config.js my rollup-plugin-css is:
scss({
      outputStyle: 'compressed',
      output: 'build/styles/bundle.css',
    }),

And, of course, in my index.jsx I have:
import '../styles/main.scss';

In the project I'm using this for, index.jsx is kind of the main.scss, so it contains most of the imports. The imported files don't contain other imports. But I see your usecase.
I would recommend to not include your styles like that. Instead use node-sass => node-sass -w -r.
And only include specific styles into your components.
On the other hand, it would be interesting to see if the sass compiler returns a list of imported files and if it's possible to add these as modules such that rollup-watch can watch them.

Ups. Sorry, I redacted an answer to this a few days ago, for I forgot to send it ^_^U.
You helped so much with that answer, thanks!
In fact, one of my problems was caused by certain part of the README, that drove me to a misunderstanding. I'm talking about this part:

Usage

// entry.js
import './reset.css'

I understood here: «You need to import your styles in your JavaScript entry file with this plugin».
But just after read your comment, I realized (and tried it) that... I can import my .scss files... in any JavaScript file and it will update the bundle.css :D. So perfect.
So now I ended with an folder structure where I have a folder for each component and in that folder I have the proper .jsx file and the .scss specific to that component.
So, actually, at least to this simple exercise/project, I'm not even using partials, because organizating the SCSS this way, I don't need it.
When I need to do something more complex, maybe I will need partials for it, and yet, solve this problem. But, for now, I'm good ;).
And yes, obviously, there was the node-sass choice... but the idea was to integrate it with Rollup, if possible, instead of using it directly. But you are right: sometimes is good to keep up with the KISS principle, I guess :þ.
Many thanks again, @thgh 👍 . And sorry again for my delay :(.
Note: if I deal with this situation in the future and get it solved, I will tell you (if I remember :þ).

A somewhat dirty solution is to use the provided watch option, something like this: watch: glob.sync('src/**/*.@(sa|sc|c)ss'). Of course this will watch all files. But that's also how you'd do it in grunt/gulp...


ENV keywork only applies to root user.

When running the Dockerfile sequence:
USER root

USER nonroot
ENV PATH bla
The PATH variable of the root user has been set to the "bla" value, not the nonroot user.
I expect that after the USER x keyword all actions are against that user x, not root.
(Version 1.4.0-2, From the archlinux standard repo)
Archlinux : 3.17.6-1-ARCH #1 SMP PREEMPT Sun Dec 7 23:43:32 UTC 2014 x86_64 GNU/Linux

Seems to work for me. Using this Dockerfile:
FROM ubuntu
RUN useradd -p please dug
USER dug
ENV foo=bar
RUN whoami && env
I get:
---> Running in 9dd373a002af
dug
HOSTNAME=66be2f8db7c1
foo=bar
HOME=/home/dug
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/
Is there some other variant I need to use to see the issue?

Hi Dough, thanks for replying.
I see the correct behaviour on docker 1.4.1 (Like you showed).
We saw this on docker on ubuntu which uses version 0.9.1. After
upgrading to the 1.4.1 version this is now working ok.
Since it is an old version issue this issue can be closed.
Cheers Philip
On 06/01/15 04:02, Doug Davis wrote:

Seems to work for me. Using this Dockerfile:
FROM ubuntu
RUN useradd -p please dug
USER dug
ENV foo=bar
RUN whoami && env
I get:
---> Running in 9dd373a002af
dug
HOSTNAME=66be2f8db7c1
foo=bar
HOME=/home/dug
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/
Is there some other variant I need to use to see the issue?
—
Reply to this email directly or view it on GitHub
https://github.com/docker/docker/issues/9681#issuecomment-68718909.

No longer present in current docker version.


The string in the address bar overflows when the path is too long against one blob container

Storage Explorer Version: 1.20.0-dev
Build Number: 20210602.8
Branch: main
Platform/OS: Windows 10/ MacOS Big Sur 11.3
Architecture: ia32/x64
How Found: Exploratory testing
Regression From: Previous release (1.18.1)
Steps to Reproduce

Expand one non-ADLS Gen2 storage account -> Blob Containers.
Create a blob container with name 'blobcontainer01blobcontainer01blobcontainer01blobcontainer01' -> Create a folder with name 'anewvirtualblobdirectory'.
Upload a blob to the folder.
Click the address bar to show the path -> Click the blank part in the editor.
Press Tab.
Check the string in the address bar doesn't overflow.

Expected Experience
The string in the address bar doesn't overflow.

Actual Experience
The string in the address bar overflows.

Additional Context

This issue doesn't reproduce on Linux Ubuntu 18.04.
Here is the video to reproduce this issue.

@v-xianya I am not able to reproduce this. Can you please verify using the latest build?

@craxal Verified on the latest build main/20210610.4. Reproduce.

Hi @craxal thanks for being patience.
Yes, this issue can be reproduced by pressing Tab when the address bar is in edit mode. And it works fine if press Enter.
BTW. I can still reproduce this issue by clicking on the blank part of the blob container's editor when the address bar is in edit mode.🙁