[WIP] NIFI-5176 Java 11 Build Compatibilty

This is a work-in-progress PR.
NiFi can be built and run on Java 11.
TODOs/needed fixes will be added here.
The first commit is from https://github.com/apache/nifi/pull/3174, which will be removed from this PR once https://github.com/apache/nifi/pull/3174 is merged to master.
Current status:

NiFi can be built on Java 11
NiFi starts successfully on Java 11
Several standard processors have been tested, and work.  Should an exhaustive list be supplied?
Provenance events displaying properly in the Provenance UI
Processors using Ignite dependencies will most likely not work.  A release of the Ignite dependencies compatible with Java 11 has not yet been made
JMS processors may not work.  ActiveMQ 5.15.8 does not work on Java 11.  Compatibility with Java 11 is expected in release 5.16.0.

Remaining tests:

Verify running securely with certs generated by the TLS Toolkit
Verify functionality with reverse proxies
Verify secured clusters work
Verify processors, controller services, reporting tasks work

The current status and remaining tests are not complete lists of issues/resolutions at this point.

@jtstorck speaking of dependency issues any issues with Lucene? In the past Lucene has had some weirdness around Java versions at least in the Java 7 days.

@MikeThomsen I haven't explicitly tested Lucene.  The tests run during the build are all passing, with a few exceptions for dependencies like Ignite and ActiveMQ that don't yet (the last time I checked) support Java 11.  I haven't seen any problems related to Lucene yet.
I'm in the process of creating smaller PRs based on the work done in this PR to make it easier to review and merge these changes to master.  That's the main focus at this point, and this PR will eventually be closed as the changes it contains are parceled out and merged to master.
Once these changes are all merged to master, we can address issues with individual components while running on Java 11.

@jtstorck FYI this can't cleanly rebase against master now.

I would expect that, @MikeThomsen.  Other changes are being applied to master that may conflict with changes I've made in this PR, and parts of this PR have been extracted from this PR already and applied to master.  Over time, all the changes from this PR will be merged into master in separate smaller PRs, and eventually this PR will be closed without merging.

I'm rebasing this PR onto master since a few of the individual PRs to move NiFi towards Java 11 compatible build have been merged.  This will make it easier to determine the remaining changes from that PR, and if it's worth pulling out any change-sets into separate PRs.  I'm assuming it'll be a good idea to isolate the Groovy changes made in PR 3404 in a separate PR, along with the Groovy changes from @MikeThomsen's Groovy PR (PR 3015).
After another rebase of PR 3404 onto master after the Groovy upgrade is merged the remaining changes may be manageable as the "final" PR to enable building on Java 11.  Folllow-on PRs for bug fixes and stability can be created to address specific issues.

Latest groovy is also 2.5.7

Latest groovy is also 2.5.7

On my local clone while rebasing against master, I tried using Groovy 2.5.7, but there's an issue that was fixed in Groovy 2.5.4 that has resurfaced in 2.5.7.
This issue occurs with Groovy 2.5.7 (with spock-core:1.2-groovy-2.5 and 1.3-groovy-2.5):
java.lang.IllegalAccessError: Update to non-static final field MySpec.field attempted from a different method ($spock_initializeFields) than the initializer method <init>
	at MySpec.$spock_initializeFields(MySpec.groovy:##)

The tests pass when Groovy 2.5.4 is used.
For now, I'm going to leave the Groovy version set to 2.5.4.

Rebased on top of PR 3547 (Groovy upgrade to 2.5.4) to slim the PR down to the remaining changes for Java 11.
There are still a few issues to address with this PR, the main one being TLS version 1.2 and 1.3.  When this PR was originally created, TLSv1.3 was not working on Java 11.  More investigation and testing is needed to resolve this, as NiFi on Java 11 should work with TLSv1.3.
Another issue is the ignoring of the RecordLookup tests, and the issue that was causing the error has since been fixed on master.  I'll rerun those tests and verify that they work again.
A third issue regarding components that do not support Java 11 yet (Ignite, ActiveMQ) may not be resolved before this PR is merged to master.  This will be an issue for those that want to build and run NiFi on Java 11 and use those components.  Those components should work fine if NiFi is built on Java 8.

I wonder if we should create a profile that excludes Igniate, ActiveMQ, etc. so people can get using it on Java 11 with a simple build on their own.

If no one has any objections, along with the rebase of the PR against master now that PR 3547 has been merged, I'd like to squash all of the commits into a single commit.  Following that, I'll address as many of the TODO/FIXME comments in subsequent commits, and then squash again once the PR is ready to be taken out of draft status.

Java 8 builds worked, Java 11 build worked until it timed out.

@MikeThomsen @ijokarumawak Would you mind reviewing this PR?  When testing, please use TLSv1.2, since we'll do separate PRs for TLSv1.3 support for NiFi under Java 11.
I'll continue to investigate why the Java 11 build times out on Travis, but it does complete locally.

@alopresto There are changes in this PR to nifi-security-utils's SSLContextFactory and clients of that class that you might want to review.

Manual build locally gave me this
[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running org.apache.nifi.util.db.TestJdbcCommon
[ERROR] Tests run: 20, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 1.924 s <<< FAILURE! - in org.apache.nifi.util.db.TestJdbcCommon
[ERROR] testConvertToAvroStreamForDateTimeAsLogicalType(org.apache.nifi.util.db.TestJdbcCommon)  Time elapsed: 0.018 s  <<< FAILURE!
java.lang.AssertionError: expected:<2017-05-09> but was:<2017-05-08>
	at org.apache.nifi.util.db.TestJdbcCommon.lambda$testConvertToAvroStreamForDateTimeAsLogicalType$5(TestJdbcCommon.java:675)
	at org.apache.nifi.util.db.TestJdbcCommon.testConvertToAvroStreamForDateTime(TestJdbcCommon.java:741)
	at org.apache.nifi.util.db.TestJdbcCommon.testConvertToAvroStreamForDateTimeAsLogicalType(TestJdbcCommon.java:671)

Manual build locally gave me this
[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running org.apache.nifi.util.db.TestJdbcCommon
[ERROR] Tests run: 20, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 1.924 s <<< FAILURE! - in org.apache.nifi.util.db.TestJdbcCommon
[ERROR] testConvertToAvroStreamForDateTimeAsLogicalType(org.apache.nifi.util.db.TestJdbcCommon)  Time elapsed: 0.018 s  <<< FAILURE!
java.lang.AssertionError: expected:<2017-05-09> but was:<2017-05-08>
	at org.apache.nifi.util.db.TestJdbcCommon.lambda$testConvertToAvroStreamForDateTimeAsLogicalType$5(TestJdbcCommon.java:675)
	at org.apache.nifi.util.db.TestJdbcCommon.testConvertToAvroStreamForDateTime(TestJdbcCommon.java:741)
	at org.apache.nifi.util.db.TestJdbcCommon.testConvertToAvroStreamForDateTimeAsLogicalType(TestJdbcCommon.java:671)

To work around this error (which happens on master as well), add -Duser.timezone=UTC.  I'm working on another branch to fix timezone issues in TestJdbcCommon, and a PR should be up on Monday.

I ran a full build of this with Oracle JDK <IP_ADDRESS> and Adopt OpenJDK 11, both builds passed all tests except for an unrelated test failure with timezone stuff JdbcCommon. I also ran a secure cluster on both JDKs and ran basic flows without any issues.
I'm a +1, nice work!

@jtstorck  should -Dmaven.surefire.arguments=-Duser.timezone=UTC be baked into the build at this point?

I'm also +1. Full clean build and contrib check passed and a secured NiFi cluster worked as expected. I used Oracle JDK 11.0.3. Thanks for your effort @jtstorck !

@jtstorck should -Dmaven.surefire.arguments=-Duser.timezone=UTC be baked into the build at this point?

It shouldn't.  Since that issue is outside of this PR, I don't think a workaround should be committed in this PR.  I'm tempted to remove the changes for the Travis build from this PR as well, so that the PR isn't held up by Travis failures.  I have another branch in which I was working on getting the build to pass on Travis with Java 11, but there are some issues with the time it takes to complete the build. The caching on Travis isn't working as I'd expect, and all the dependencies need to be downloaded for each Java 11 build.  If I remove the Travis changes from this PR, Travis would continue to build master with Java 8 only.  I'd submit a follow-on PR for the Java 11 build on Travis.

Need to update the Dockerfiles to use Java 11 base images, but other than that +1.

I'd like to keep the docker builds set to use Java 8 since the convenience binaries released are built with Java 8, until the minimum version of Java for NiFi is moved to Java 11.
Does anyone have specific issues with either of the above comments?
@alopresto, if you are a +1 on the Toolkit-related changes, then it looks like the PR is in a good spot to be merged, once the Travis concerns are either fixed or removed from this PR.

I've removed the .travis.yml changes from this PR.
@alopresto @thenatog Once you review and are a +1 on this PR, based on the other +1s already received, the PR can be merged.
I'll create a separate JIRA for adding a Java 11 build to Travis CI.

Reviewing

Created secure clusters, used ListenHTTP and InvokeHTTP processors and Remote Process Groups (sending back to input port on same cluster) with the following Java versions:
Build on JDK 1.8.0_172 and run on JRE 1.8.0_172.  ✅
Build on AdoptOpenJDK (build 11.0.5+10-201908101809) and run on JRE11.0.5+10.  ✅
Building on JDK 1.8.0_172 and run on JRE11.0.5+10 caused exceptions when attempting to send to local input port with RPG:
2019-08-13 18:17:07,946 WARN [Http Site-to-Site PeerSelector] o.apache.nifi.remote.client.PeerSelector Could not communicate with natog0.com:9551 to determine which nodes exist in the remote NiFi cluster, due to javax.net.ssl.SSLPeerUnverifiedException: Certificate for <natog0.com> doesn't match any of the subject alternative names: [natog1.com] 2019-08-13 18:17:07,946 WARN [Http Site-to-Site PeerSelector] o.apache.nifi.remote.client.PeerSelector org.apache.nifi.remote.client.PeerSelector@6d5e02f8 Unable to refresh Remote Group's peers due to Unable to communicate with remote NiFi cluster in order to determine which nodes exist in the remote cluster
But did not see this error on the previous builds (JDK8/JRE8, JDK11/JRE11). This is something that could be looked into separately as it looks like the expected combinations of build/runtime are working.
+1

My java -version outputs:
JDK8:
java version "1.8.0_172"
Java(TM) SE Runtime Environment (build 1.8.0_172-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.172-b11, mixed mode)

JDK11:
openjdk version "11.0.5" 2019-10-15
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.5+10-201908101809)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.5+10-201908101809, mixed mode)


Flesh out readme

This repo is now devoted to geoparquet. It should have a good readme to give people a clear picture of what they're getting involved in.

Include backwards compatibility commitments.
SemVer at 1.0? 0.2 or some one when we try to not break backwards compability.


Library version

Currently this is only usable from C++. I think QOIR would get a boost in real-world adoption if this would additionally be made available to non C++ developers like me by offering a library version of it with a documented API.
Even more so if binary builds would be offered here too. A DLL for Windows would be the easy part, because that will be immediately compatible to the whole Windows world. And maybe for Linux at least one Ubuntu LTS version build could be a start to get some package maintainers for various distros interested.
I'd be the first to come up with a simple C# interface to get this into the .NET world. Outside of reading C++ code to understand libraries and tools I use I don't have a lot of C++ experience, but at least I already managed to get a DLL compiled with "__declspec(dllexport)" added to the qoir_encode and qoir_decode functions and could verify that these functions actually landed in the resulting DLL.
Part of this GH issue (if anyone decides they actually want to work on it) might be some extra work to make this API more friendly for other languages, e.g. use types that are less C++ specific, more generic and/or more explicit about endianness or whether they are 32 bit vs. 64 and so on. Will check myself now with the DLL I produced how hard or easy it is in the current form to fill the parameters these functions need.

My PoC code is working fine utilizing this from C# on Windows, haven't tried Linux yet. I am using this on video data so it has to do a lot of work at 60 frames per second. With my test setup and test video loops CPU usage goes roughly 5% down compared to QOI and compression rate is 5% better than for QOI - which is what the benchmarks here indicated and therefore why I wanted to test a QOIR implementation in the first place, so I am very pleased with the result.
I am wondering whether I should release this as a separate wrapper class in its current state though, as stated above the implementation from C# perspective is not ideal, though also not as bad as I was afraid of in the beginning. The option to specify contextual_malloc_func and contextual_free_func is essential, otherwise e.g. the result buffer couldn't be free'd after it was used. But other libraries solve this by either providing a free() function of their own or allow to hand over pre-allocated buffers in the first place (as is possible with the source and "scratch space" buffers already, but not with the result buffer), which can also help avoid unnecessary allocations by reusing a static buffer or at least buffers from a memory pool, something that becomes relevant when working with a high number of frames per second with a high resolution.
What I did so far is:

create a modified version of qoir.h with added __declspec(dllexport) prefixes for qoir_encode/qoir_decode as mentioned above and compile a DLL from it
create another modified version of qoir.h with only the parts outside of the QOIR_IMPLEMENTATION define
use ClangSharpPInvokeGenerator on this modified version to generate C# wrapper code for invoking the DLL
implement calls to the wrapper code that fills the structs, prepares buffers and invokes the qoir_encode/qoir_decode functions

This is mostly what C# calls "unsafe" code. Tt doesn't matter for me because my project already uses lots of that and has no option to avoid that anyway. But if one was to release a real standalone C# wrapper it should probably hide this layer and put another managed code layer on top of it working with Spans to keep performance high while making the code more safe from C# perspective. Before putting effort into this I personally would wish for some adjustments as mentioned here first. Or get a clear statement that this won't happen, at least it would be a better base for any decisions about that.


Add the ability to make project public

For easy sharing of examples, it would be helpful if you could mark a project as 'public', so everyone with a Graphcool account can clone the project for easy setup. This would be helpful until we have an easy way to save all project elements locally.

With the new CLI version, sharing projects is easy as can be seen here: https://github.com/graphcool-examples/graphcool-examples.


code crash on unaligned matrices.

I see a lot of cases where things crash because the code want to load or store matrices (or arrays) ob unaligned memory.
This must be fixed first and foremost, as "external" practitioners doesn't make sizes of smart sizes.
I will begin with adding some tests.

Ok! I now have a test that can catch this.
How to solve it? Four suggestions:

Use BLAS as standard
Do everything unaligned
Check how aligned it is and then used registers that "fit" until we reached a aligned address
Add padding to all matrices

I think that BLAS will be slower. Doing everything unaligned will also be slow. Building up seems clumsy. I think adding padding  is the most promising approach. But how do we do it?

hmmm.... thinking again...
i tried today to add padding to all matrices. This has quite a lot of consequences. when saving and loading the matrices must be unpadded. This is very clumsy. maybe require that the "hidden" sizes must be a multiple of floats per register. then we pad with zeros if someone opens a "bad" sized net. I add a warning.

Yes! I think the right strategy is to "resize" on creation. If a layer has an unalignable (is that a word?) size at creation, then we just resize it up to a something that is alignable. Of course there is a problem when loading an external file as you have to pad in extra zeros, but I guess I can do.
There is of course a drawback as loading one net and then saving it back won't create the same file. Maybe this can be solve with an extra parameter bool _has_bin_modified?

Seems to work with #54


Fix label for input

Fixes #236

Hi.
I have the same issue, could you please update it?

Hi,
I can't get external  "label for" to work, tried with 0.14.1 (should have the fix merged in as far as I can tell).
What I see with debugger is that id value is correctly placed for the search input field, but because it has "display: none" initially, clicking the label does not change focus to input.
Example Plunkr: http://plnkr.co/edit/u8dIsIuy4L90sMNYUfud?p=preview
Any suggestions?

Closing due to history being broken (there should be no merge or revert commits), and this being significantly outdated.
Feel free to open a new PR with issues addressed re-implementing everything desired.


[com.google.fonts/check/interpolation_issues] Crash with fonttools>=4.46.0: AttributeError

Bug
From fonttools 4.46.0, the 'interpolation_issues' check crashes with:
AttributeError: 'str' object has no attribute 'location'

on this line.
Cause
This follows a change in fonttools' interpolation tester to return str names instead of GlyphSets in the absence of a names= parameter.
Suggested fix
The upstream change is an improvement as it ensures that names are strings by default; to accommodate this in FontBakery we have two options:

Use master_N_idx instead of master_N to identify and summarise the location at which interpolation issues were found; or
Provide an optional names parameter in our call to the interpolation tester (currently we instantiate a value with a different format but do not use it yet).

Both fixes should work for versions of fonttools from before and after the upstream change.
Related
In addition, we could add location summaries for "contour_order" issues (currently, we only summarise locations for "wrong_start_point" issues).

I am preparing a PR for this now 📝


Cleanup App Dependencies in Makefile

In Makefile we're listing all the dependencies that are required for each app, and also the common dependencies. But some of these seem redundant. We should be able to clean up these list and change the way we're creating the dependency list.
We recently found that one of the apps are not working because of a common dependency not being included. If we clean up the lists and make it more readable we can avoid such incident from happening again.

I can't find the issue that @karlcz brought up related to tagging the deployment files with versions. So I am just going to add the scope of this one..  Feel free to update my comments..
The chaise/ermrestjs deployment code should rename the files to include the file checksum (e.g. ermrest_.js) and get referenced properly in any scripts that depend on those files. To do this, we need to:

[ ] ....

@RFSH @jrchudy please fill in the detail..

I edited the previous comments, I feel like we need more discussion or at least more information about how we can actually achieve this. I don't think it's feasible to add version number to all of the dependencies in chaise. That can easily go out of control. We should consider merging the dependencies during the build, and then adding version.

Regarding tagging deployment files with versions, this has been done for most of the chaise assets excluding the vendor files.


[Feature Request] Option to Toggle List Type

Hi! Thank you for your work on this library, I just implemented it in the next version of my personal website/blog to generate a TOC for my blog posts since my previous library of choice was coupled to the Gatsby/Remark ecosystem.
I wanted to utilize un-ordered list instead of ordered list for my use case, but it did not appear there was a built-in option to change this and it required writing a custom pre-parser to change the tagType in the HAST before generating the HTML. I think this is a pretty straight forward use case that would be valuable as an optional toggle value in the library options.
Would you be open to this change? I am happy to create a PR to add this functionality if so.

I'm looking forward to this feature too, upvote 👍

@jodylecompte
It seems that this guy figured it out here #6 ... but failed to share his technique.
Maybe if we all chastise him vehemently he will share the answer ;)

just use css like this:
 .toc .toc-item::marker {
    font-size: 0px;
 }

To make it dot:
.toc .toc-item::marker {
  content: '·';
  font-weight: bold;
}

use  customizeTOC option.
const convertTocOlToUl = (node) => {
  if (!node) return node;
  if (node.tagName === 'ol') {
    node.tagName = 'ul';
  }
  node.children?.forEach((item) => {
    if (item.tagName === 'ol') {
      item.tagName = 'ul';
    }
    if (item.children) {
      item = convertTocOlToUl(item);
    }
  });

  return node;
};

use(rehypeToc, {
  customizeTOC: (node) => {
    return convertTocOlToUl(node);
  },
})

result

another option is just do it in css:
          '& nav ol': {
            listStyleType: 'disc',
          },
    ```


Changing BPM does not change Sustain Length step

Describe your bug here.
If you are to change your songs BPM in the 'song' tab, the length of new sustain notes is linked to the previous BPM. This stops happening after you leave and re-enter the chart editor.
For example, if you start with a song with 150 BPM, and decrease it to 142 BPM, the sustain length will still go up in 50's. When you leave and re-enter, it will correct itself and start going up in 53's
Command Prompt/Terminal logs (if existing)
No response
Are you modding a build from source or with Lua?
Source
What is your build target?
Windows
Did you edit anything in this build? If so, mention or summarize your changes.
Yes, this build is heavily modified, with things such as new menu layouts, added menus, and end-screens. I however, have not touched the charting editor.

holds are based on bpm thats why

The issue is that it doesn't work until you leave and re-enter the charting editor.
https://user-images.githubusercontent.com/59318029/147477697-cab4b79d-6c94-4236-9786-f255c977dd3b.mp4


Use serverSocket in middleware

I'd like to be able to reuse Karma's web socket in my middleware. I cannot do this because I run into circular dependency. Is there no way to do that?

It'd be super-nice to be able to use it via window.karma.socket as well. I just don't feel like creating a separate socket.io server should be required when Karma has one already.


Eventum: Add support for fetching custom fields as tags

:star2: What does this PR do?
Similar integration as to GitLab: https://github.com/toggl/toggl-button/pull/1639
:bug: Recommendations for testing
All changes should be tested across Chrome and Firefox.
This is probably not useful on its own, but pre-requisite for https://github.com/toggl/toggl-button/pull/1683

@tcrammond ping


Handling runtime errors in goroutines

Hello,
Thank you for libmill. Just been trying it out.  Here is my first query: How do you handle runtime errors in a co routine so that it doesn't bring down the entire program?
A test program is as below:
# include <stdio.h>
# include <libmill.h>

coroutine void f(int index, const char *text)
{
  printf("Worker %d, Message %s\n", index, text);
  printf("%f", index/0); // This will cause the first co routine to FPE but I want the others to continue
}

int main(int argc, char **argv)
{
  char str[10];
  for(int i=0;i<=100000; i++) {
    sprintf(str, "Text %d", i);
    go(f(i, str));
  }
  return 0;
}

I guess more generally, how would I implement http://blog.golang.org/defer-panic-and-recover using libmill?

There's nothing special about llibmill. It's just a library. Handle errors as you do in C.

Cool, thanks for your reply. closing.


Fix resource quota test case

@sangeethah This PR is to fix a bug in Resource quota test case, this bug appeared after the randomization of namespaces in k8s automation.

LGTM

LGTM


make OMONNXOpsIncTranslation returns empty files

Using onnx 1.7.0 in third_party/onnx, make OMONNXOpsIncTranslation produces empty files for OpBuildTable.inc and ONNXOps.td.inc.
Output of make OMONNXOpsIncTranslation:
$ make OMONNXOpsIncTranslation
Scanning dependencies of target OMONNXOpsTableGenIncGen
Generating ../../utils/ONNXOps.td.inc, ../../utils/OpBuildTable.inc
Your onnx may be too old.right version for opertion Dropout not found
Built target OMONNXOpsTableGenIncGen
Scanning dependencies of target OMONNXOpsBuildTableIncGen
Generating ../../utils/ONNXOps.td.inc, ../../utils/OpBuildTable.inc
Your onnx may be too old.right version for opertion Dropout not found
Built target OMONNXOpsBuildTableIncGen
Scanning dependencies of target OMONNXOpsIncTranslation
Built target OMONNXOpsIncTranslation

It seems the reason is that Drouput version is 13 which is not supported in the current third_party/onnx. It means that some PR changed OpBuildTable.inc and ONNXOps.td.inc by using a different onnx version.

Hi @tungld could you double check your third_party/onnx is up-to-date?
This is the link to the documentation of DropOut version 13 in the current version of ONNX package that sits under our third_party/onnx directory. Note that the specific ONNX commit we took does not correspond to an ONNX release.

Oops, my third_party/onnx is out-of-date. Updated it and don't see the issue. Thank you @tjingrant!


SSR architecture documentation

Summary
Adds documentation around the software architecture of this project.

Closes #47

That's updated in main, so we're good!


Some small improvements to help get the project running locally and run tests

Some small changes to get the app running locally for the first time:

Returning an empty dict from crawlers_gel_all_meta when the table is empty. Otherwise it throws TypeError: 'NoneType' object is not iterable in https://github.com/opennem/opennem/blob/master/opennem/crawl.py#L98
Add date_range to all crawlers to avoid TypeError: crawl_bom_capitals() got an unexpected keyword argument 'date_range'
Delete crawler_get_all_meta since it looks like dead code
generated_flow_station_id seems to take a NetworkRegionSchema in most cases (get_flows_query seems to be the exception) so changed the param to support that (fixed 4 tests).
Deleted some tests for dead code

Please review this PR carefully, I was just attempting to run the code, I don't really understand how the system works.

thanks @danielbreves this is awesome! i'll take a look at this on Monday morning. You can probably tell that we added things a bit ad-hoc when it comes to the crawlers :)


PyBaMM Version
23.2
Python Version
3.9.13
Describe the bug
Latexify does not work on an SPMe with a thermal submodel.
Steps to Reproduce
import pybamm
model = pybamm.lithium_ion.SPMe({"thermal": "lumped"})
model.latexify()
Relevant log output
model.latexify()
Traceback (most recent call last):

  Cell In[3], line 1
    model.latexify()

  File ~\AppData\Local\Programs\Python\Environments\gen-env\lib\site-packages\pybamm\models\base_model.py:1050 in latexify
    return Latexify(self, filename, newline).latexify()

  File ~\AppData\Local\Programs\Python\Environments\gen-env\lib\site-packages\pybamm\expression_tree\operations\latexify.py:245 in latexify
    var_symbol = sympy.Symbol(var.print_name)

  File ~\AppData\Local\Programs\Python\Environments\gen-env\lib\site-packages\sympy\core\symbol.py:296 in __new__
    return Symbol.__xnew_cached_(cls, name, **assumptions)

  File ~\AppData\Local\Programs\Python\Environments\gen-env\lib\site-packages\sympy\core\cache.py:70 in wrapper
    retval = cfunc(*args, **kwargs)

  File ~\AppData\Local\Programs\Python\Environments\gen-env\lib\site-packages\sympy\core\symbol.py:326 in __xnew_cached_
    return Symbol.__xnew__(cls, name, **assumptions)

  File ~\AppData\Local\Programs\Python\Environments\gen-env\lib\site-packages\sympy\core\symbol.py:301 in __xnew__
    raise TypeError("name should be a string, not %s" % repr(type(name)))

TypeError: name should be a string, not <class 'NoneType'>

It seems that the variable causing trouble is 'Volume-averaged cell temperature [K]'. Irrespective of what happens with #2762, this variable should be given a nice print name, like \bar{T}. This is a good issue to get started with PyBaMM, do you want to give it a go? Basically you need to define the print_name where the variable is defined:
https://github.com/pybamm-team/PyBaMM/blob/307836008f61d70b1afed537eea9aa7818b25f2e/pybamm/models/submodels/thermal/lumped.py#L38
However, it would also be good to:

Ensure other thermal models work too.
Add tests to check that.


Keep getting the error MissingTranslationId :helpwanted:

I want to use the allLanguages format. So I created a .json file named global.json that looks like this:
{
    "header": {
        "toggleNavigation": [
            "Cambiar navegación",
            "Toggle navigation"
        ],
        "home": [
            "Inicio",
            "Home"
        ],
        "company": [
            "Compañía",
            "Company"
        ]
    }
}

I decided to implement everything in my Root component as follows:
...
import allTranslations from "../translations/global.json";
...

class Root extends Component {

  constructor(props) {
    super(props);

    this.props.initialize({
      languages: [
        { name: "Spanish", code: "es" },
        { name: "English", code: "en" }
      ],
      translation: allTranslations,
      options: {
        renderToStaticMarkup
      }
    });

    this.props.addTranslation(allTranslations); // just to make sure it's loading the json dictionary

    this.props.setActiveLanguage("es"); // Although Spanish was added first in the list of languages, I want to make sure the active language is Spanish
  }

  render() {
    const { store, history } = this.props;
    return (
      <LocalizeProvider>
        <Provider store={store}>
          <ConnectedRouter history={history}>
            <App />
          </ConnectedRouter>
        </Provider>
      </LocalizeProvider>
    );
  }
}

Root.propTypes = {
   ...
};

export default withLocalize(Root);

Then, in a stateless controller named Header, I want to make use of the localize through the Translate component of the library.
import React from 'react';
import PropTypes from 'prop-types';
import { Translate } from "react-localize-redux";

const Header = (props) => {

    return (

...
...

                                    <Translate id="header.home" />

...
...

    );
};

Header.propTypes = {
    ...
};

export default Header;

I'm getting the error: Missing TranslationId: header.home for language: ${ languagecode }
I've followed the documentation but I don't know what I am doing wrong.
Any help? Something wrong that a more versed user of this great library can see at a first glance?
react version 16.4.2 and react-localize-redux version 3.4.1

@ron-camaron I don't think you can use withLocalize outside the LocalizeProvider component.
Try wrapping App with withLocalize and doing your initialisation there.


vertically adjust github icons

Fixes #28
Tested OK on GitHub with Chrome 85.

To me vertical-align: middle; and vertical-align: -2px; look exactly the same.
Can you confirm this?

@s-weigand nope, there is a 2 pixels difference for me (middle looks like -4px in my case...)

Ohh looks like Firefox allows me to change values in the injected script, but doesn't apply the changes.
While chome doesn't allow the changes at all.

Yeah... you can add it as an inline style on one icon just to see the difference.
I loaded the build folder as a Chrome extension and hit the extension reload button when changing code.

Anyway, since I'm just a fellow contributor and it looks like @dderevjanik didn't have much time for this extension in the last months, my suggestion would be to ask @kidonng to implement adding the class vscode-icon in #27.That way we can prevent the trouble of having a merge conflict when @dderevjanik has time again ^^

guys, sorry for a lot of inactivity recently.
finally I managed to have a time and look over all PRs and issues again.
Just asking, is this already included in #27 ? So we can close this one ?

Just asking, is this already included in #27 ? So we can close this one ?

The size has been adjusted to the same size as GitHub's: https://github.com/dderevjanik/github-vscode-icons/pull/27/files#diff-ff6b47a1ca1f34dcc3c93132786338318f688c8b1277ec6776d08ad181e11a55R97
But the .vscode-icon class is not included. I didn't remember seeing anything different without the class, so correct me if I'm wrong.

The missing class does make a visible difference, as shown in https://github.com/dderevjanik/github-vscode-icons/issues/28, thus this PR.

@antoinerousseau can I close this one and merge #27  ?

@dderevjanik I just tried #27 locally by building it and loading it into Chrome and the problem is the same.
I think you can merge #27 and then I'll update my PR.

@dderevjanik I've updated and tested my PR :)

@antoinerousseau thanks ! It looks much better now :)


Feature request: join table as alias

Would be nice if the .join api exposed an .as method to alias the table being joined. Would be useful for queries like knex('users').join('users', function () { this.as('referrer'); }).

Sending a PR soon.

Ok so I implemented the feature but when executing the query, the rows don't parse correctly into an object.

Oh ok, the problem was that both table had same column names and were "shadowing" each others. Fixed by "manually" prefixing all joined columns with .select(). Ready to send PR.

@olalonde  I was just going through old PRs looks like the one you sent didn't work so I'm closing it for now. This would be nice addition to have.
In addition to code and test PR should also have index.html update with documentation.

Something like below does not work ?
 knex('users').join('users as second', 'users.id', 'second.other_id')

@absolux yeah it works, I suppose this can be closed...


Coveralls

Codecov Report

Merging #6 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master       #6   +/-   ##
=======================================
  Coverage   79.31%   79.31%
=======================================
  Files           1        1
  Lines          29       29
=======================================
  Hits           23       23
  Misses          3        3
  Partials        3        3

Continue to review full report at Codecov.

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


Emails capped at 100 recipients per day

This has not yet been a problem for us; 100 recipients is a lot to go through in a day. However, I believe that we could have bursty traffic (especially if we are doing any amount of PR about this service). It would stink to make a big announcement, get a lot of traffic, and run over our 100 email limit early in the day.
The SendGrid API offers 12,000 monthly emails on their free version, which adds up to 400 per day. That daily count is pretty great, but the best part is that in the event of bursty traffic, we can go way over without risking a service outage for part of a day.
I'd like to stick email behind a simple abstraction layer (probably a single function) that allows us to select an email provider (GAE or SendGrid, or maybe some other some day). Then I'll implement it for SendGrid and set up a free account for us so that we can switch between GAE and SendGrid providers.
One question remaining is, would Yelp be interested in this change once it's implemented and tested? I think it is a worthwhile feature to upstream. Even if Yelp itself won't use it, more flexibility for emails makes it easier for other organizations to use while keeping it on a budget. On that question, I'd like to ping @rockdog and @sjaensch so we don't bother them with a PR they don't want :)

@brenns10 that sounds like a great feature, go for it!

Implemented, closing.


[plot] Fix zoom interaction

This PR adds the possibility to start drawing the zoom area on a selectable element of the plot (like a curve) closes #430

Ready for review

Works for me


fix(deps): update dependency mendix to ^10.16.49747

This PR contains the following updates:

Package
Type
Update
Change

mendix
dependencies
minor
^10.15.46408 -> ^10.16.49747

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

This PR has been generated by Renovate Bot.

Let's merge #1320 first

Merged!


Unable to find template "components/paginate.twig" on update

Hello,
I've pulled latest changes and got error on Redis and Memcache:
"Unable to find template "components/paginate.twig" (looked into: /usr/local/share/phpcacheadmin/src/../templates). in /usr/local/share/phpcacheadmin/templates/partials/keys_table.twig at line: 64 "
Here's the log of pull:
emote: Enumerating objects: 213, done.
remote: Counting objects: 100% (213/213), done.
remote: Compressing objects: 100% (86/86), done.
remote: Total 167 (delta 113), reused 133 (delta 79), pack-reused 0
Receiving objects: 100% (167/167), 148.57 KiB | 4.95 MiB/s, done.
Resolving deltas: 100% (113/113), completed with 35 local objects.
From https://github.com/RobiNN1/phpCacheAdmin
17342b8..38e08d7  master     -> origin/master
Updating 17342b8..38e08d7
Fast-forward
.github/workflows/static-analysis.yml                                |  30 +++++++++++
README.md                                                            |  24 +++------
assets/css/src.css                                                   |   4 ++
assets/css/styles.css                                                |   8 +--
composer.json                                                        |   6 ++-
index.php                                                            |  20 ++++++-
phpstan.neon                                                         |   2 +-
src/Admin.php                                                        |   4 +-
src/Config.php                                                       |   2 +-
src/Dashboards/DashboardInterface.php                                |   4 +-
src/Dashboards/Memcached/MemcacheCompatibility/Memcache.php          |  12 +++--
src/Dashboards/Memcached/MemcacheCompatibility/MemcacheInterface.php |   4 +-
src/Dashboards/Memcached/MemcacheCompatibility/Memcached.php         |   4 +-
src/Dashboards/Memcached/MemcachedDashboard.php                      |  20 +++----
src/Dashboards/Memcached/MemcachedTrait.php                          |  90 +++++++++++++++----------------
src/Dashboards/OPCache/OPCacheDashboard.php                          |   6 +--
src/Dashboards/OPCache/OPCacheTrait.php                              |  23 ++++----
src/Dashboards/Redis/GetValueTrait.php                               | 105 ------------------------------------
src/Dashboards/Redis/RedisDashboard.php                              |  22 ++++----
src/Dashboards/Redis/RedisFormTrait.php                              | 123 ------------------------------------------
src/Dashboards/Redis/RedisTrait.php                                  | 208 ++++++++++++++++++++++++++++++----------------------------------------
src/Dashboards/Redis/TypesTrait.php                                  | 240 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
src/Dashboards/Server/ServerDashboard.php                            |   4 +-
src/Helpers.php                                                      |  20 +++----
src/Http.php                                                         |  10 ++--
src/Paginator.php                                                    | 154 +++++++++++++++++++++++++++++++++++-----------------
src/Template.php                                                     |   6 +--
templates/components/input.twig                                      |   3 +-
templates/components/{paginate.twig => paginator.twig}               |  19 +++----
templates/dashboards/memcached/form.twig                             |  11 ++--
templates/dashboards/opcache.twig                                    |   6 +--
templates/dashboards/redis/form.twig                                 |   4 +-
templates/partials/keys_table.twig                                   |   4 +-
templates/partials/view_key.twig                                     |  28 ++++++----
twig.phar                                                            | Bin 0 -> 671823 bytes
35 files changed, 656 insertions(+), 574 deletions(-)
create mode 100644 .github/workflows/static-analysis.yml
delete mode 100644 src/Dashboards/Redis/GetValueTrait.php
delete mode 100644 src/Dashboards/Redis/RedisFormTrait.php
create mode 100644 src/Dashboards/Redis/TypesTrait.php
rename templates/components/{paginate.twig => paginator.twig} (60%)
create mode 100644 twig.phar

Delete cache folder

Thanks. All is good with the functionality, except the UI:

Yes, I noticed this as well when I installed magento for testing.
But it's good that someone actually uses this tool and helps me find these little problems.

We gonna use it for sure more, it looks really good and is easy to debug in case something happens and we want to check redis cache.

Pagination is also now fixed.


Register and unregister futures never complete

Hello,
I've found an issue with the plugin.
The issue is that the register and unregister static methods never complete the returned futures. Please check this repo.
Cheers,

Hi @francipvb
Thank you for opening an issue and providing sample code, I'll investigate it;

same problem on Android 10

result?.success(true) is never called for both of the method calls.

result?.success(true) is never called for both of the method calls.


Extract glimpse has no shape function

I'm receiving this error when calling tf.image.extract_glimpse:
No shape function registered for standard op: ExtractGlimpse
Could someone confirm that this is a problem with the API itself? If so, how can I go about implementing a solution?

I found this was a problem too, and hacked a solution together by registering a shape for it:
ops.RegisterShape("ExtractGlimpse")
def _ExtractGlimpseShape(op):
  """Shape function for ExtractGlimpse op."""
  input_shape = op.inputs[0].get_shape().with_rank(4)
  unused_size_shape = op.inputs[1].get_shape().merge_with(
      tensor_shape.vector(2))
  offsets_shape = op.inputs[2].get_shape().merge_with(
      input_shape[:1].concatenate([2]))
   offsets_shape = offsets_shape
   size_value = tf.ConstantValue(op.inputs[1])
  if size_value is not None:
    height = size_value[0]
    width = size_value[1]
  else:
    height = None
    width = None
  return [tf.TensorShape(
      [input_shape[0], height, width, input_shape[3]])]

Thanks a lot; can I just run this once in my own code, or do I have to paste it into some of the tensorflow files?

I've found an almost identical piece of code in /usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/attentions_ops.py
It must be that the code isn't being called correctly; how did you fix this? Or in which file should the code be pasted?

Thanks for reporting this - there is a bug in the imports for this code. I'm working on a fix, and it should be available soon.


Make node type for waypoint and ztunnel instead of using sidecar

Fixes https://github.com/istio/istio/issues/42313
Ztunnel update is in https://github.com/istio/ztunnel/pull/314 (but not required)
Please provide a description of this PR:

@howardjohn: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio_exp
a78ecca1d0e989ef7724c63f8ad32cfcf16a0f33
link
true
/test lint

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio_exp
a78ecca1d0e989ef7724c63f8ad32cfcf16a0f33
link
true
/test lint

integ-helm_istio_exp
a78ecca1d0e989ef7724c63f8ad32cfcf16a0f33
link
true
/test integ-helm

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio_exp
a78ecca1d0e989ef7724c63f8ad32cfcf16a0f33
link
true
/test lint

integ-helm_istio_exp
a78ecca1d0e989ef7724c63f8ad32cfcf16a0f33
link
true
/test integ-helm

gencheck_istio_exp
a78ecca1d0e989ef7724c63f8ad32cfcf16a0f33
link
true
/test gencheck

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio_exp
a78ecca1d0e989ef7724c63f8ad32cfcf16a0f33
link
true
/test lint

integ-helm_istio_exp
a78ecca1d0e989ef7724c63f8ad32cfcf16a0f33
link
true
/test integ-helm

gencheck_istio_exp
a78ecca1d0e989ef7724c63f8ad32cfcf16a0f33
link
true
/test gencheck

unit-tests-arm64_istio_exp
a78ecca1d0e989ef7724c63f8ad32cfcf16a0f33
link
true
/test unit-tests-arm64

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio_exp
a78ecca1d0e989ef7724c63f8ad32cfcf16a0f33
link
true
/test lint

integ-helm_istio_exp
a78ecca1d0e989ef7724c63f8ad32cfcf16a0f33
link
true
/test integ-helm

gencheck_istio_exp
a78ecca1d0e989ef7724c63f8ad32cfcf16a0f33
link
true
/test gencheck

unit-tests-arm64_istio_exp
a78ecca1d0e989ef7724c63f8ad32cfcf16a0f33
link
true
/test unit-tests-arm64

unit-tests_istio_exp
a78ecca1d0e989ef7724c63f8ad32cfcf16a0f33
link
true
/test unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio_exp
a78ecca1d0e989ef7724c63f8ad32cfcf16a0f33
link
true
/test lint

integ-helm_istio_exp
a78ecca1d0e989ef7724c63f8ad32cfcf16a0f33
link
true
/test integ-helm

gencheck_istio_exp
a78ecca1d0e989ef7724c63f8ad32cfcf16a0f33
link
true
/test gencheck

unit-tests-arm64_istio_exp
a78ecca1d0e989ef7724c63f8ad32cfcf16a0f33
link
true
/test unit-tests-arm64

unit-tests_istio_exp
a78ecca1d0e989ef7724c63f8ad32cfcf16a0f33
link
true
/test unit-tests

integ-operator-controller_istio_exp
a78ecca1d0e989ef7724c63f8ad32cfcf16a0f33
link
true
/test integ-operator-controller

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

Fixed those, thanks.. I really need a git hook to stop that

@howardjohn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-helm_istio_exp
a78ecca1d0e989ef7724c63f8ad32cfcf16a0f33
link
true
/test integ-helm

unit-tests_istio_exp
a78ecca1d0e989ef7724c63f8ad32cfcf16a0f33
link
true
/test unit-tests

integ-operator-controller_istio_exp
a78ecca1d0e989ef7724c63f8ad32cfcf16a0f33
link
true
/test integ-operator-controller

unit-tests-arm64_istio_exp
d65b6379ac3330d304c25b92ca4724ee1c8cdbc1
link
true
/test unit-tests-arm64

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-helm_istio_exp
a78ecca1d0e989ef7724c63f8ad32cfcf16a0f33
link
true
/test integ-helm

unit-tests_istio_exp
a78ecca1d0e989ef7724c63f8ad32cfcf16a0f33
link
true
/test unit-tests

unit-tests-arm64_istio_exp
d65b6379ac3330d304c25b92ca4724ee1c8cdbc1
link
true
/test unit-tests-arm64

integ-operator-controller_istio_exp
d65b6379ac3330d304c25b92ca4724ee1c8cdbc1
link
true
/test integ-operator-controller

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests_istio_exp
a78ecca1d0e989ef7724c63f8ad32cfcf16a0f33
link
true
/test unit-tests

unit-tests-arm64_istio_exp
d65b6379ac3330d304c25b92ca4724ee1c8cdbc1
link
true
/test unit-tests-arm64

integ-operator-controller_istio_exp
d65b6379ac3330d304c25b92ca4724ee1c8cdbc1
link
true
/test integ-operator-controller

integ-helm_istio_exp
d65b6379ac3330d304c25b92ca4724ee1c8cdbc1
link
true
/test integ-helm

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests-arm64_istio_exp
94143b4421cdca784e1f3c29dce8ecb953f883ef
link
unknown
/test unit-tests-arm64

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests-arm64_istio_exp
94143b4421cdca784e1f3c29dce8ecb953f883ef
link
unknown
/test unit-tests-arm64

lint_istio_exp
94143b4421cdca784e1f3c29dce8ecb953f883ef
link
unknown
/test lint

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests-arm64_istio_exp
94143b4421cdca784e1f3c29dce8ecb953f883ef
link
unknown
/test unit-tests-arm64

lint_istio_exp
94143b4421cdca784e1f3c29dce8ecb953f883ef
link
unknown
/test lint

unit-tests_istio_exp
94143b4421cdca784e1f3c29dce8ecb953f883ef
link
unknown
/test unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests_istio_exp
94143b4421cdca784e1f3c29dce8ecb953f883ef
link
unknown
/test unit-tests

lint_istio_exp
6bc10033401fe39647a951ec24eda2cac1419a61
link
true
/test lint

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


Update buy-or-edit-an-add-on.md

https://github.com/MicrosoftDocs/OfficeDocs-O365ITPro/issues/651
Added subscription.

@cmcatee-MSFT - PR is ready for final review based on issue #651.
Thank you.


fix: let the XML parser choose the character set encoding

this fixes XML parsing on platforms where the default character set encoding isn't UTF-8
Fixes #8

I test on Windows and Linux...
PS: Know anyone actually using the Visual Studio build_msvc files for bitcoind & bitcoin-qt builds? LOL :eyes:


[Help] How to align two view with left

If I have two label, and want to align these left with vertical. So how can Masonry do that?
Thank you.

After read the document I figure out it, the result code is make.left.equalTo(label2.left).


Add Logging

Right now, logging is only used to showcase vendored dependencies - the logs don't reach back to the Azure Functions Host -  they should be sent as a StreamingMessage

The Context struct seems to be a good place for the Logger

Also add example with Application Insights Go SDK for logging

ctx.Logger.Log should be ctx.Logger.Logf


NIFI-5174 Update README.md Minimum Requirements

Description of PR
NIFI-5174 Updates the project README.md to remove reference to ongoing work for compatibility with Java 11. Additional updates include removing outdated references to Git as a requirement for Bower, which is no longer used as of NIFI-2781.
NiFi 1.14.0 incorporated several important improvements supporting TLS 1.3 on both Java 8 and 11, which was one of the last remaining sub-tasks listed for NIFI-5174. With JDK 11 as one of the standard automated builds, and with all the current sub-tasks closed for NIFI-5714, additional work specific to Java 11 can be handled in separate issues.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[X] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?

[X] Does your PR title start with NIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[X] Has your PR been rebased against the latest commit within the target branch (typically main)?

[X] Is your initial contribution a single, squashed commit? Additional commits in response to PR reviewer feedback should be made on this branch and pushed to allow change tracking. Do not squash or use --force when pushing to allow for clean monitoring of changes.

For code changes:

[ ] Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi folder?
[ ] Have you written or updated unit tests to verify your changes?
[ ] Have you verified that the full build is successful on JDK 8?
[ ] Have you verified that the full build is successful on JDK 11?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-assembly?
[ ] If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-assembly?
[ ] If adding new Properties, have you added .displayName in addition to .name (programmatic access) for each of the new properties?

For documentation related changes:

[X] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check GitHub Actions CI for build issues and submit an update to your PR as soon as possible.

+1 LGTM, thanks for the update! Merging to main


Missing String Voltage, Current and Power pypowerwall running

Any suggestions of how to get String Voltage, Current and Power in the dashboard.
Everything else is working fine, pypowerwall is running and collecting other stats.

Those are only available with a Tesla inverter and panels (well, barring people other than @jasonacox  doing the hard yards to add non-Tesla apis to pypowerwall ...). I know I'd like to add data from our Fronius, but it's also a long way down my to do list.

Hi @maticks81 - @BuongiornoTexas is correct. The string data appears to only be available on Powerwall+ systems.  The string data is pulled from the device vitals API (e.g http://pypowerwall:8675/vitals) and shows up in the PVAC and PVS elements.

@jasonacox Notice the OP still has access to the Powerwall Temps panel even though they do not have a Powerwall+.
Can this be moved out of the Powerwall+ panel and into it's own panel like frequency, voltage and capacity panels? I do that but it makes updating the dashboard.json file a PITA. I also delete what remains in the Powerwall+ panel but I could just push the down arrow to hide it.

Good suggestion @aesculus - something like this?

Perfect. And I can just close that row and leave the label and save me 5 minutes every time you update the dashboard. :-)

@jasonacox Hi Jason, I recently added more ct's on my neurio to be able to monitor all 3 invertors separately vs the combined view. The ct info does populate on the vitals page CT0, CT1, CT2 how can I use this to populate string data on my non plus setup?

Hi @thenitz !  First, I have to mention that you are running Firmware 23.12.2 based on the screenshot. I have some bad news. When your system upgrades to anything beyond 23.44.3, you will lose access to the vitals data, unfortunately. We are working on a way to get the data back, but it won't be in the same format as the vitals. However, it does look like the tedapi payload that we are exploring does have the "neurio" data, but not sure what it would look like for you.  You can check out the status.py script at https://github.com/jasonacox/pypowerwall/tree/main/tools/tedapi:
   "neurio": {
        "isDetectingWiredMeters": false,
        "pairings": [],
        "readings": [
            {
                "dataRead": [
                    {
                        "currentA": 0.9900000095367432,
                        "reactivePowerVAR": -30.65999984741211,
                        "realPowerW": -9.609999656677246,
                        "voltageV":<PHONE_NUMBER>8447266
                    },
                    {
                        "currentA": 0.009999999776482582,
                        "reactivePowerVAR": -0.05999999865889549,
                        "realPowerW": 0.05000000074505806,
                        "voltageV": 121.75
                    },
                    {
                        "currentA": 0.009999999776482582,
                        "reactivePowerVAR": -0.029999999329447746,
                        "realPowerW": -0.05999999865889549,
                        "voltageV":<PHONE_NUMBER>5175781
                    },
                    {
                        "currentA": 0.009999999776482582,
                        "reactivePowerVAR": -0.10000000149011612,
                        "realPowerW": -0.019999999552965164,
                        "voltageV":<PHONE_NUMBER>8447266
                    }
                ],
                "serial": "VAH4600AB2155",
                "timestamp": "2024-02-20T21:06:35-08:00"
            }
        ]
    },

Having said all that, if you still want to use that data while you have it, you should see the NEURIO data in the raw bucket if you create a new dashboard panel and edit it.

My system upgraded so I can't confirm, but poke around in the dropdowns to see if you can find it. You could use that to create a Neurio panel.

Interesting are you in Cali?
I just manually forced an update the other day (replacement pw) so this is
the latest in our area (Tucson AZ)
On Tue, May 7, 2024, 9:24 PM Jason Cox @.***> wrote:

Hi @thenitz https://github.com/thenitz ! First, I have to mention that
you are running Firmware 23.12.2 based on the screenshot. I have some bad
news. When your system upgrades to anything beyond 23.44.3, you will lose
access to the vitals data, unfortunately. We are working on a way to get
the data back, but it won't be in the same format as the vitals. However,
it does look like the tedapi payload that we are exploring does have the
"neurio" data, but not sure what it would look like for you. You can check
out the status.py script at
https://github.com/jasonacox/pypowerwall/tree/main/tools/tedapi:
"neurio": {
"isDetectingWiredMeters": false,
"pairings": [],
"readings": [
{
"dataRead": [
{
"currentA": 0.9900000095367432,
"reactivePowerVAR": -30.65999984741211,
"realPowerW": -9.609999656677246,
"voltageV":<PHONE_NUMBER>8447266
},
{
"currentA": 0.009999999776482582,
"reactivePowerVAR": -0.05999999865889549,
"realPowerW": 0.05000000074505806,
"voltageV": 121.75
},
{
"currentA": 0.009999999776482582,
"reactivePowerVAR": -0.029999999329447746,
"realPowerW": -0.05999999865889549,
"voltageV":<PHONE_NUMBER>5175781
},
{
"currentA": 0.009999999776482582,
"reactivePowerVAR": -0.10000000149011612,
"realPowerW": -0.019999999552965164,
"voltageV":<PHONE_NUMBER>8447266
}
],
"serial": "VAH4600AB2155",
"timestamp": "2024-02-20T21:06:35-08:00"
}
]
},
Having said all that, if you still want to use that data while you have
it, you should see the NEURIO data in the raw bucket if you create a new
dashboard panel and edit it.
image.png (view on web)
https://github.com/jasonacox/Powerwall-Dashboard/assets/836718/60dd3311-56d8-4d75-996c-0f530fd40e32
My system upgraded so I can't confirm, but poke around in the dropdowns to
see if you can find it. You could use that to create a Neurio panel.
—
Reply to this email directly, view it on GitHub
https://github.com/jasonacox/Powerwall-Dashboard/issues/320#issuecomment-2099714286,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIYYCCJNU4TAPRJFZUDZYM3ZBGSIXAVCNFSM6AAAAAAZ3GRBBCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAOJZG4YTIMRYGY
.
You are receiving this because you were mentioned.Message ID:
@.***>

Yes, I'm in SoCal. I'm just jealous. I think a lot of us would have been happy to stay on that version. 😉

more info on versions:
I had a quick look at the rest of our firmware versions. my sister's house
is running 24.4.0 (she does not have a span panel)
my house is running 23.12.2 and my parents are running 23.44.0 the two of
us are using span panels and all three of these are non pw+. My boss's pw+
is running 24.4.0 also no span panel. Wondering if Span is maybe preventing
that update or if they're working with Tesla in some way.
On Wed, May 8, 2024 at 10:47 PM Jason Cox @.***> wrote:

Yes, I'm in SoCal. I'm just jealous. I think a lot of us would have been
happy to stay on that version. 😉
—
Reply to this email directly, view it on GitHub
https://github.com/jasonacox/Powerwall-Dashboard/issues/320#issuecomment-2101982500,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIYYCCPJA32A34G2CZDIZT3ZBMEVNAVCNFSM6AAAAAAZ3GRBBCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMBRHE4DENJQGA
.
You are receiving this because you were mentioned.Message ID:
@.***>

Interesting! I hope that is the case and they make a future version that brings back the vitals. I know, wishful thinking. :)
🤞 that you get to stay on 23.12.2.

@jasonacox
when adding to page cta and ctb are populating data but ctc reads 0 here is what i see from the vitals page right now. but screenshot shows raw data
"NEURIO--": {
"NEURIO_CT0_InstRealPower": 4958.68017578125,
"NEURIO_CT0_Location": "solar",
"NEURIO_CT1_InstRealPower": 1784.8399658203125,
"NEURIO_CT1_Location": "solar",
"NEURIO_CT2_InstRealPower": 3311.199951171875,
"NEURIO_CT2_Location": "solar",
"componentParentDin": "STSTSM--1232100-00-H--",
"firmwareVersion": "1.7.2-Tesla",
"lastCommunicationTime":<PHONE_NUMBER>,
"manufacturer": "NEURIO",
"meterAttributes": {
"meterLocation": [
"METER_X_CTA_I": 8.7535,
"METER_X_CTA_InstReactivePower": -333.0,
"METER_X_CTA_InstRealPower": -35.0,
"METER_X_CTB_I": 8.492,
"METER_X_CTB_InstReactivePower": -622.0,
"METER_X_CTB_InstRealPower": 54.0,
"METER_X_CTC_I": 0.0,
"METER_X_CTC_InstReactivePower": 0.0,
"METER_X_CTC_InstRealPower": 0.0,

Good job getting the graphs working!

"METER_X_CTA_I": 8.7535,
"METER_X_CTA_InstReactivePower": -333.0,
"METER_X_CTA_InstRealPower": -35.0,
"METER_X_CTB_I": 8.492,
"METER_X_CTB_InstReactivePower": -622.0,
"METER_X_CTB_InstRealPower": 54.0,
"METER_X_CTC_I": 0.0,
"METER_X_CTC_InstReactivePower": 0.0,
"METER_X_CTC_InstRealPower": 0.0,

That shows that the CTC meter is not working or disable.

double checked the wiring and reran the tesla setup the ct is reading but
it doesn't look like its getting passed through?
also wasn't sure if the data was multiplied by 2 already or if it needed
the multiplier added to it (since only 1 leg (1ct) is attached per inverter)
On Mon, May 13, 2024 at 8:06 PM Jason Cox @.***> wrote:

Good job getting the graphs working!
"METER_X_CTA_I": 8.7535,
"METER_X_CTA_InstReactivePower": -333.0,
"METER_X_CTA_InstRealPower": -35.0,
"METER_X_CTB_I": 8.492,
"METER_X_CTB_InstReactivePower": -622.0,
"METER_X_CTB_InstRealPower": 54.0,
"METER_X_CTC_I": 0.0,
"METER_X_CTC_InstReactivePower": 0.0,
"METER_X_CTC_InstRealPower": 0.0,
That shows that the CTC meter is not working or disable.
—
Reply to this email directly, view it on GitHub
https://github.com/jasonacox/Powerwall-Dashboard/issues/320#issuecomment-2109189901,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIYYCCKPGYZI3LWJKC5D5S3ZCF5S7AVCNFSM6AAAAAAZ3GRBBCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMBZGE4DSOJQGE
.
  The METER readings are for the utility power and unless you have 3 phase, you will only see 2 working.
The Neurio's are the ones usually set up to monitor the solar energy. You show 3:
"NEURIO_CT0_InstRealPower": 4958.68017578125,
"NEURIO_CT0_Location": "solar",
"NEURIO_CT1_InstRealPower": 1784.8399658203125,
"NEURIO_CT1_Location": "solar",
"NEURIO_CT2_InstRealPower": 3311.199951171875,
"NEURIO_CT2_Location": "solar",

You should see these matching what you get at http://localhost:8675/pod  (change localhost to your Dashboard address) as something like this:
"PW1_p_out": 460,
"PW1_q_out": -20,
"PW1_v_out": 242.9,
"PW1_f_out": 59.991,
"PW1_i_out": -11,

"PW2_p_out": 440,
"PW2_q_out": -10,
"PW2_v_out":<PHONE_NUMBER>0000002,
"PW2_f_out": 59.992000000000004,
"PW2_i_out": -10.700000000000001,

...

 The METER readings are for the utility power and unless you have 3 phase, you will only see 2 working.
The Neurio's are the ones usually set up to monitor the solar energy. You show 3:
"NEURIO_CT0_InstRealPower": 4958.68017578125,
"NEURIO_CT0_Location": "solar",
"NEURIO_CT1_InstRealPower": 1784.8399658203125,
"NEURIO_CT1_Location": "solar",
"NEURIO_CT2_InstRealPower": 3311.199951171875,
"NEURIO_CT2_Location": "solar",

You should see these matching what you get at http://localhost:8675/pod (change localhost to your Dashboard address) as something like this:
"PW1_p_out": 460,
"PW1_q_out": -20,
"PW1_v_out": 242.9,
"PW1_f_out": 59.991,
"PW1_i_out": -11,

"PW2_p_out": 440,
"PW2_q_out": -10,
"PW2_v_out":<PHONE_NUMBER>0000002,
"PW2_f_out": 59.992000000000004,
"PW2_i_out": -10.700000000000001,

...

oh I see my mistake I was searching RAW for CT and found the CTA CTB CTC and assumed it was for my solar. I just went through all options and couldn't find any Neurio or CTs in raw or vitals.

Look in the next dropdown for "neurio" - there may be several:

https://drive.google.com/file/d/10hSp-fpW_mEXkq-mFbmRIQyBtdPb9IhD/view?usp=sharing
been through all 3 dropdowns - also tried typing in neurio in 2nd field
after raw or vitals
and for the 3rd field tried these
NEURIO_CT0_InstRealPower; NEURIO_CT1_InstRealPower; NEURIO_CT2_InstRealPower
"NEURIO_CT0_InstRealPower": 5418.97998046875,
"NEURIO_CT0_Location": "solar", (tesla 7.x)
"NEURIO_CT1_InstRealPower": 2530.780029296875,
"NEURIO_CT1_Location": "solar", (tesla 3.x)
"NEURIO_CT2_InstRealPower": 6427.89990234375,
"NEURIO_CT2_Location": "solar", (solar edge 11.x)
On Wed, May 15, 2024 at 8:39 AM Jason Cox @.***> wrote:

Look in the next dropdown for "neurio" - there may be several:
image.png (view on web)
https://github.com/jasonacox/Powerwall-Dashboard/assets/836718/266afe19-b842-4b80-ae30-d39b1a9f8f49
—
Reply to this email directly, view it on GitHub
https://github.com/jasonacox/Powerwall-Dashboard/issues/320#issuecomment-2112884346,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIYYCCK5P3MKUZKS5EZYMCTZCN6TDAVCNFSM6AAAAAAZ3GRBBCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMJSHA4DIMZUGY
.
You are receiving this because you were mentioned.Message ID:
@.***>

I'm sorry @thenitz - without having access to vitals myself, I'm sort of poking around in dusty memory. I finally remember that we are NOT capturing any of the neurio data. If you look at telegraf.conf it will show you the URLs that are used to pull in data. You won't see any URL that will contain the vitals Neurio data.
[[inputs.http]]
	urls = [
		"http://pypowerwall:8675/aggregates",
		"http://pypowerwall:8675/soe",
		"http://pypowerwall:8675/strings",
		"http://pypowerwall:8675/temps/pw",
		"http://pypowerwall:8675/freq",
		"http://pypowerwall:8675/pod"
	]
	method = "GET"
	insecure_skip_verify = true
	timeout = "4s"
	data_format = "json"

You could add a URL for vitals in there and I would even suggest adding it to telegraf.local.

thanks was going nuts thinking I'm blind LOL
On Wed, May 15, 2024 at 8:56 PM Jason Cox @.***> wrote:

I'm sorry @thenitz https://github.com/thenitz - without having access
to vitals myself, I'm sort of poking around in dusty memory. I finally
remember that we are NOT capturing any of the neurio data. If you look at
telegraf.conf it will show you the URLs that are used to pull in data.
You won't see any URL that will contain the vitals Neurio data.
[[inputs.http]]
urls = [
"http://pypowerwall:8675/aggregates",
"http://pypowerwall:8675/soe",
"http://pypowerwall:8675/strings",
"http://pypowerwall:8675/temps/pw",
"http://pypowerwall:8675/freq",
"http://pypowerwall:8675/pod"
]
method = "GET"
insecure_skip_verify = true
timeout = "4s"
data_format = "json"
You could add a URL for vitals in there and I would even suggest adding it
to telegraf.local.
—
Reply to this email directly, view it on GitHub
https://github.com/jasonacox/Powerwall-Dashboard/issues/320#issuecomment-2113977870,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIYYCCJTHJPRNGD5BTJ36P3ZCQU47AVCNFSM6AAAAAAZ3GRBBCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMJTHE3TOOBXGA
.
You are receiving this because you were mentioned.Message ID:
@.***>


Indication of a japanese characters are piled at a integration terminal.

VSCode Version:1.2.0
OS Version:Windows 7 SP1, Windows 10 th2

Steps to Reproduce:

Set up japanese locale.
Launch Visual Studio Code
Run integration terminal.
Run "DIR" command at a integration terminal.

Indication of a japanese characters are piled at a integration terminal.

:+1:

Duplicate of https://github.com/Microsoft/vscode/issues/7062


There is an ability to attach file to message on UI but it's not working

There is an ability to attach file to message on UI but it's not working, when you attach a file try to send it, system asks to add a text message. When you add a text message and file, then send them message sends successfully but file disappears.

Add Ability to send just a files and display them on UI (Best practice: send file to object storage form FE and attach link to the message's field fileLink
add ability to send files with messages and display them

Thanks for the issue, currently I am in progress how to design file attachment process as simple as possible. It is planned feature.
However, If you have vision how to implement it in reliable way -- you are free to contribute :)

Yep, now I'm working on secure implementation of that and also have some suggestion about separate hardcoded strings inside of html elements to make them reusable.
I also admit that BE architecture is  a lot better than FE

Closed via https://github.com/MangoInstantMessenger/MangoMessengerAPI/pull/354


Update docs for v3

I'll try to get this done during the weekend.

@mjsalinger What do you think about using Sphinx/reStructuredText instead of Markdown and moving docs to readthedocs.org?
I'm kind of unhappy with the styling capabilities of Markdown regarding documentation. Plus, RTD would enable us to keep docs for each published version and automatically publish/update docs for new ones.

That's not a bad idea.  Given the complexity of the library, I think having more robust docs beyond a basic README is a good idea.

Porting What I already wrote from Markdown to reST was a bit more work than expected. I'm currently restructuring documentation and will try to get this out of the door early next week.

So, everything here: https://github.com/oauthjs/node-oauth2-server/wiki/Model-specification is outdated and is wrong for v3?

@jsilveira I think that Wiki article is partially (maybe mostly) up-to-date, but quite a few changes were made since it was written.

How's this going @maxtruxa?

Any update?

Any updates on this?

@maxtruxa can I help with this?

Any progress? It seems the project kinda stopped developing?

Hey guys, sorry this took so long. Docs are finally up and running.
I would appreciate any feedback you can provide on the PR (#369).

Closing in favor of #369.


Reverse the touch between application_choice and application_form

Context
Currently when an application_choice is updated by a provider the parent application_form is also updated.
This may cause some odd behaviours for other providers.
Changes proposed in this pull request
Reverse the touch relationship between application_choice and application_form.
Guidance to review
This is a Draft PR to discuss and get feedback.
Link to Trello card
123 - Example Trello card
Env vars

[ ] If this PR introduces new environment variables, they have been added to all necessary parts of the Azure config based on the documentation in the README

@RobertM905 can we mark this ready?

@tijmenb without this fix providers retrieving applications over the API will see them out of order. We're not 100% sure that we need to update ApplicationChoice when ApplicationForm is updated (this may never happen) but we ought to fix the bug

Ok, let's go for it. @RobertM905 can you rebase?


Added Visibility concerns for indexing a Model

Detailed that Algolia only indexes visible attributes for the Model, recommends setting up properly the $visibility properties and a way to override the masquerading.

Thanks for taking the time to update the documentation.
Despite this repository being deprecated, I'll merge this PR as it might help people still relying on it.
I'm hoping everyone will be able to switch to Laravel Scout in the near future.


embed through editor adds huge padding-bottom buffer on each embed

Embeds added through the hallo editor seem to wrap iframes inside of the following div with an inline style:
<div style="padding-bottom: 56.25%;" class="responsive-object">
 iframe
</div>

I had to override this in my project css with the following code:
.responsive-object {
  padding-bottom: 0px !important;
}

As best I can figure, the padding is inserted with the assumption that you include some other styles that then make the whole embed responsive. I've not actually found these styles in the documentation, but I have made some styles myself that seem to work. Try using these styles instead:
.responsive-object {
    position: relative;
}
.responsive-object iframe,
.responsive-object object {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

Correct, that padding is to automatically make any embedded object responsive in height and width, but it does assume the existence of some CSS.
It's documented here: http://docs.wagtail.io/en/v0.8.8/core_components/pages/writing_templates.html?highlight=responsive#responsive-embeds

Thanks much for posting this, Dave!
Will this documentation make it into the updated docs for the latest versions of wagtail?

It's moved around a little but yes, it's already there: http://docs.wagtail.io/en/latest/topics/writing_templates.html?highlight=responsive#responsive-embeds

Ah, cool. I couldn't find it with the search functionality in the docs, when I was searching, which led me to open this issue in the first place. Searching for "responsive-object" doesn't bring up any results:
http://docs.wagtail.io/en/latest/search.html?q=responsive-object&check_keywords=yes&area=default
Anyway... thanks again, this was very helpful. We're launching next week!

Reopening this issue, as this has caught plenty of people out, and relying on a snippet of CSS buried in the docs isn't really sufficient. Embeds should be made to work sensibly out of the box, either with or without responsive behaviour baked in.

I think the responsive behaviour should be removed. It's not like there's any shortage of example code or plugins out there to achieve it.

Sounds good to me. We'd need to come up with an upgrade path for people who are using the current responsive behaviour, though. I see that the current implementation relies on some server-side logic to calculate the embed's aspect ratio, which is why it has to be an inline style... @davecranwell, do the plugins/code examples you mention avoid the need for this server-side code?
If the server-side logic can't be avoided (or even if it can...), then one neat way of dealing with it would be to move the responsive code to a contrib module, and tell people 'to restore the old behaviour, add wagtail.contrib.responsive_embeds to INSTALLED_APPS'. (It looks like this ought to be possible with our existing richtext hooks, but no big deal if we need to add new ones.)

Most of the plugins I've seen calculate the aspect ratio of an embed from the width/height or attribute properties of the elements provided by the third party. e.g the Youtube iframe's widthandheight` props.
Not only does this mean the developer has to implement additional plugins themselves, but often they have to implement the same code umpteen times to account for different embedded media types. Having Wagtail do this for you, for anything, is definitely very nice in that respect.
Ideally I'd like to still provide this ratio information to developer, but without it actually taking effect on the elements. Perhaps that's not possible though.

Sounds like the contrib app is the way to go then. It would be nice if we could get that app to add the rest of the CSS as well, but that's probably best left for the future as a big-picture piece of development (i.e. "a standardised way for Wagtail pluggable apps to insert resources into the site front-end").

I second the optional contrib suggestion. Wagtail, by default, should not force any CSS into a web page. The reason that I chose Wagtail was because it seemed to best follow Django's "clean, pragmatic design" and forced allowed me to write my HTML templates from scratch.
I'm adding the CSS snippet from the Wagtail documentation to fix the issue, but I'm not happy about it.

Having discussed this with the team, the approach will be as suggested above. We move the current responsive behaviour into a new app, then remove all remaining responsiveness or dependency on CSS, from the embed system.
Embeds will also be better templated with an {% embed %} template tag, similar to the {% image %} which will provide access to deeper variables about an embed. Included in these "deeper variables" will be the ratio of the video which will continue to be calculated by Wagtail's internals. Front End developers wanting responsive embeds will be able to use these ratio information provided by the {% embed %} tag, to facilitate whatever CSS/JS tricky they choose to employ.

Adding @timheap's CSS fixes the padding following YouTube embeds (and makes them responsive), but makes Instagram embeds disappear. You should be able to reproduce on the Wagtail demo site using the default oEmbed provider.

@ghostwords Does this happen if you try the CSS from http://docs.wagtail.io/en/v0.8.8/core_components/pages/writing_templates.html#responsive-embeds ?

@gasman Yep ...
Without the CSS (previewing a YouTube video and an Instagram embed):

Note the padding after the video.
Same page, with the CSS (YouTube is good, Instagram is gone):

:+1:

I also have the issue. Is there any news about moving the responsive part to a contrib app?
The problem with instagram is also still present. A workaround I found is to disable the responsive behavior if no size is provided.
<div{% if ratio != "0" %} style="padding-bottom: {{ ratio }};" class="responsive-object"{% endif %}>
    {{ embed.html|safe }}
</div>

I'm working on the PR right now for this small fix.

Is the move of responsive embeds to contrib still in progress? I ran into this problem with the spurious padding-bottom rule yesterday, and lost a lot of time making it go away. I wish I'd known about that obscure bit of CSS earlier...

It should have been fixed in 1d33cc7838c647c95f4c228b35500851cbd5e6d9. You have the padding if you have a ratio available (if you have the size of the embed). What was your issue exactly?

My issue was that embedding a video into my page caused the div the video was in to be almost 60% taller than it was supposed to be, due to that padding-bottom style being added in the markup. I didn't want that extra padding, so I did a bunch of work to override the code that generated it. Then I discovered that bit of CSS in the docs, which makes the video's div look normal. So I undid all those code overrides, and everything seems to be fine, now.

It would be helpful if the css was bundled with wagtail so one could just include it at the top of their template
<link rel="stylesheet" href="{% static 'wagtail/css/some-name-like-responive-embeds.css' %}" />

I ran into this issue today and it sucked in about four hours of trying to figure out what is going on.  I was referred to this thread.  Creating an HTML element with an embedded style cannot be the correct solution can it?  This HTML gets created when embedding a Youtube video using the Rich Text editor  - the only way I can get rid of this style is to override it in my CSS using !important which is terrible and basically freezes any future changes to this style.

I was trying to understand what was the problem for embedding a video, but it was a basic css bug comes with wagtail.  But it is not clear will be fixed on new version or not.

This still occurs for me too in the rich text editor. I just clicked the "embed video" button and pasted the video.


nodediscovery: make LocalNode return a deep copy of localNode

as that object contains a few slices that will get modified after
StartDiscovery() is called

/test

/test-runtime


Error: Failed to invoke 'JoinGroup' due to an error on the server

Describe the bug
We're attempting to use Azure SignalR (with managed identities) with an Angular frontend and ASP.net Core backend.
For a particular method call I'll see the following error about 50% of the time:

Error: Failed to invoke 'JoinGroup' due to an error on the server.

We're supplying an object with 3 properties to the JoinGroup function.
From the Angular application this looks like the following:
const url = 'some url';

const options: IHttpConnectionOptions = {
   accessTokenFactory: async () =>  await service.getToken(),
   transport: HttpTransportType.WebSockets,
   withCredentials: false
};

const hub = new HubConnectionBuilder()
      .withUrl(url, options)
      .configureLogging(LogLevel.Debug)
      .withAutomaticReconnect()
      .build();

await hub.start();

// This is the call that fails about 50% of the time.
const msg = await this.hub.invoke<string>('JoinGroup', {
    organizationId: '1bf751e8-67cd-4fb0-89cc-206c31371ac1',
    environmentId: '02a03e43-839b-4f71-88b1-d809d26a0499',
    recoveryPlanId: '9c18d9b7-a58f-4f8f-8c46-aedc996dc304'
});

From the ASP.net core application our hub looks like the following:
public async Task<string> JoinGroup(RecoveryGroupName group)
{
    await Groups.AddToGroupAsync(Context.ConnectionId, group.ToString());
    return "You've joined a group!";
}

And the RecoveryGroupName looks like the following:
public record RecoveryGroupName
{
    public required Guid OrganizationId { get; init; }
    public required Guid EnvironmentId { get; init; }
    public required Guid RecoveryPlanId { get; init; }

    // Right now I'm just creating a new string here each time ToString is called.
    // Once I get this bloody this working I'll fix it.
    public override string ToString()
        => $"{OrganizationId}_{EnvironmentId}_{RecoveryPlanId}";
}

I can't figure out why this is happening!!
I don't see any errors from the server (nothing in the logs or console when running locally).
I've set EnableDetailedErrors to true but that made no difference.
builder.Services
    .AddSignalR(opt => opt.EnableDetailedErrors = true)
    .AddAzureSignalR(option => /* Setting up connection string etc */);

All I see in the browser is the following:

Am I doing something wrong here?
How can I troubleshoot this? There are no error messages!
One thing I've noticed is if I set ServerStickyMode to Required I don't see the issue:
builder.Services
    .AddSignalR(opt =>
    {
        opt.EnableDetailedErrors = true;

    })
    .AddAzureSignalR(option =>
    {
        option.ServerStickyMode = ServerStickyMode.Required;
        option.Endpoints =
        [
          new ServiceEndpoint(new Uri("ourUrl"), tokenCredential)
        ];
    })

Why does this fix my issue?
I didn't think we needed sticky sessions since we're using Azure SignalR..
Any insight from you folks would be really appreciated!
I've enabled additional server side logging via:
"Microsoft.AspNetCore.SignalR": "Debug",
"Microsoft.AspNetCore.Http.Connections": "Debug"

But this doesn't show any errors even when I recreate the error.
All I see is the following additional logging:

[10:36:52 DBG] OnConnectedAsync started.
[10:36:52 DBG] Found protocol implementation for requested protocol: json.
[10:36:52 DBG] Completed connection handshake. Using HubProtocol 'json'.
[10:36:52 INF] SignalR client XFxkllJJ3TX7P9bhhN1eBQfLK5oAY02 connected
[10:36:53 DBG] Received hub invocation: InvocationMessage { InvocationId: "0", Target: "JoinGroup", Arguments: [ 5ec7ee49-6153-0862-189d-4ee6b5713fd8_294a4a76-f9f8-4f91-3522-08dc9ad378bc_df61c54d-c80c-4ab0-c990-08dcd1aa483c ], StreamIds: [  ] }.

I've also enabled the trace tool but again it doesn't show that there is any errors!

Can anyone help me with this?
To Reproduce

Exceptions (if any)

Further technical details

Your Azure SignalR SDK version: 1.25.2
Your SignalR Client SDK version: ^8.0.0

You could enable EnableDetailedErrors in your app server so that your client side could see the detailed exception thrownservices.AddSignalR(o=>o.EnableDetailedErrors = true).AddAzureSignalR()

If ServerStickyMode to Required you don't see the issue, there are several possibilities:

You have different versions of app server connecting to the same Azure SignalR using the same hub name, so the client is actually routed to an old version of app server which has a different logic handling the JoinGroup method and thus throw. In this case, You could try specify a different ApplicationName option to see if the issue persists.

services.AddSignalR()
     .AddAzureSignalR(options => options.ApplicationName= "A");

In your JoinGroup method you have some state dependencies which are created during the client Negotiation step, for example, you have some auth middleware to store some data in memory when the client negotiates with your app server, and you expect to use that data inside JoinGroup method.

Hi @vicancy, so I have already enabled the detailed errors in Program.cs (I mentioned in my original post) but it still never shows me any exceptions.
The JoinGroup method is very simple, it just adds the incoming connection ID to a group.

You have different versions of app server connecting to the same Azure SignalR using the same hub name

So let's say we have our production API service deployed in Kubernetes connected to Azure SignalR.
Now let's say I'm also running the API service locally on my dev machine which is also connected to the same Azure SignalR service as the API service running in kubernetes.
Would this potentially cause this issue?
If the answer is yes, how should I handle this in a production scenario when the API service running in k8 has multiple instances running? Should I create a custom (random) application name for each running instance of the API service?

So let's say we have our production API service deployed in Kubernetes connected to Azure SignalR.
Now let's say I'm also running the API service locally on my dev machine which is also connected to the same Azure SignalR.

When you run the API service locally on your dev machine that connects to the same Azure SignalR, then your local dev machine and your production API services are all considered as running instances for the same app, and your production connections might route to your local API. Usually we use a separate Azure SignalR instance for dev/test purpose. You could also use a different ApplicationName for different stages.

how should I handle this in a production scenario when the API service running in k8 has multiple instances running

This depends on your scenario. Are these k8s instances sharing the same Hub logic or not? If they are multiple instances for the same Hub logic, they are the same ApplicationName. If they are for different purpose and having different Hub logic, then they should use different ApplicationNames to isolate from others.
You could also try logging the exceptions thrown in the method in your app server side to view the detailed error:
public class YourHub: Chat{
    private ILogger _logger;
    public YourHub(ILogger<YourHub> logger){
        _logger = logger;
    }

    public void JoinGroup(){
       try{
               ...
       }catch(Exception e){
          _logger.LogError(e...)
       }
   }
}


[BUG] rapids-colab.sh script fails to properly install the libraries in several instances

Describe the bug
Colab script has several new issues:

when installing 0.11 nightlies, cudf is installed as =.10
when installed a stable release, like 0.10, the script fails
when installing xgboost, the script fails with a 404 error
when all libraries are installed in 0.11, cudf and cugraph throw Attribute errors around features that have been removed for 0.11

cudf errror: AttributeError: type object 'cudf._lib.gpuarrow.CudaRecordBatchStreamReader' has no attribute 'reduce_cython', which was removed in https://github.com/rapidsai/cudf/commit/e5192de83d7d3a568796cadfdd4159236d6ec665
cugraph error (coming soon)

Creating a PR for fixing 1,2, and 3 https://github.com/rapidsai/notebooks-contrib/pull/233.  May do a quick merge to get users working in Colab with v0.10 and we can fix 0.11 after.  Thoughts @randerzander ?


fix(advisories): Delete Rancher 2.9 advisories

These packages have been withdrawn

@EyeCantCU let me know when this is ready for review/merge and i will take care

Thank you, will do! Fighting to get a withdraw through (constantly cancelled out by other workflows)

@cpanato this is ready to go, but validation fails as it can't checkout the advisories repo. Any ideas on how we'd resolve that?


SD-JWT VC implementation

Implementation of SD-JWT VC draft 5.
Todo

Tests, tests, tests
Integration with credentials created through identity_credential
Verification & validation
Properly encode Rendering Metadata

Hi I was just wondering what is the current status of this work :)
Currently when using this branch like this:
[dependencies]
identity_credential = { git = "https://github.com/iotaledger/identity.rs", branch = "feat/sd-jwt-vc", default-features = false, features = [
    "validator",
    "credential",
    "presentation",
    "domain-linkage",
    "sd-jwt-vc"
] }

which results in a couple of compilation errors:
$ cargo check
    Checking identity_credential v1.3.1 (https://github.com/iotaledger/identity.rs?branch=feat/sd-jwt-vc#654b188e)
error[E0433]: failed to resolve: use of undeclared crate or module `futures`
 --> /home/nander/.cargo/git/checkouts/identity.rs-3c836f09661bc7fb/654b188/identity_credential/src/sd_jwt_vc/metadata/vc_type.rs:1:5
  |
1 | use futures::future::BoxFuture;
  |     ^^^^^^^ use of undeclared crate or module `futures`

error[E0433]: failed to resolve: use of undeclared crate or module `futures`
 --> /home/nander/.cargo/git/checkouts/identity.rs-3c836f09661bc7fb/654b188/identity_credential/src/sd_jwt_vc/metadata/vc_type.rs:2:5
  |
2 | use futures::future::FutureExt;
  |     ^^^^^^^ use of undeclared crate or module `futures`

error[E0308]: mismatched types
   --> /home/nander/.cargo/git/checkouts/identity.rs-3c836f09661bc7fb/654b188/identity_credential/src/sd_jwt_vc/builder.rs:233:46
    |
233 |       .fold(builder, |builder, (key, value)| builder.insert_claim(key, value));
    |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `SdJwtBuilder<H>`, found `Result<SdJwtBuilder<H>, Error>`
    |
    = note: expected struct `SdJwtBuilder<_>`
                 found enum `std::result::Result<SdJwtBuilder<_>, sd_jwt_payload::Error>`
help: consider using `Result::expect` to unwrap the `std::result::Result<SdJwtBuilder<H>, sd_jwt_payload::Error>` value, panicking if the value is a `Result::Err`
    |
233 |       .fold(builder, |builder, (key, value)| builder.insert_claim(key, value).expect("REASON"));
    |                                                                              +++++++++++++++++

error[E0599]: no method named `boxed` found for `async` block `{async block@/home/nander/.cargo/git/checkouts/identity.rs-3c836f09661bc7fb/654b188/identity_credential/src/sd_jwt_vc/metadata/vc_type.rs:105:3: 105:13}` in the current scope
   --> /home/nander/.cargo/git/checkouts/identity.rs-3c836f09661bc7fb/654b188/identity_credential/src/sd_jwt_vc/metadata/vc_type.rs:153:4
    |
105 | /   async move {
106 | |     // Check if current type has already been checked.
107 | |     let is_type_already_checked = passed_types.contains(&current_type);
108 | |     if is_type_already_checked {
...   |
152 | |   }
153 | |   .boxed()
    | |   -^^^^^ method not found in `{async block@/home/nander/.cargo/git/checkouts/identity.rs-3c836f09661bc7fb/654b188/identity_credential/src/sd_jwt_vc/metadata/vc_type.rs:105:3: 105:13}`
    | |___|
    |

Some errors have detailed explanations: E0308, E0433, E0599.
For more information about an error, try `rustc --explain E0308`.
error: could not compile `identity_credential` (lib) due to 4 previous errors

I have quickly resolved them a couple of weeks ago myself just to make it work (see this).

After solving the mentioned issues and no further comments or reviews from your side we would be ready to release.


Fix firebase

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 74.19%. Comparing base (75b3b94) to head (7da5c1a).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main       #9   +/-   ##
=======================================
  Coverage   74.19%   74.19%
=======================================
  Files          59       59
  Lines         810      810
  Branches      140      140
=======================================
  Hits          601      601
  Misses        113      113
  Partials       96       96

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


fix: reset page number to 1 on filter

fixes: #36
bugfix: Resetting the page number to 1 on adding a filter.

Reset page number on filter should happen here
let me know if you need help @harshithpabbati. Thanks for your contribution.

Reset page number on filter should happen here
let me know if you need help @harshithpabbati. Thanks for your contribution.

Hey @phamhieu, is this what you are looking for?

Hey @phamhieu, is this what you are looking for?

you are nearly there @harshithpabbati.
I have a question. you reset page value on ADD_FILTER and UPDATE_FILTER, why don't you reset page value on REMOVE_FILTER action?

Hey @phamhieu, is this what you are looking for?

you are nearly there @harshithpabbati.
I have a question. you reset page value on ADD_FILTER and UPDATE_FILTER, why don't you reset page value on REMOVE_FILTER action?

Yes, on removing a filter it might add few more rows/pages so I think there won't be any issue saying that there's no data in that page, do you think we should reset on removing as well?

@phamhieu made the required changes :)

Thanks @harshithpabbati, lgtm