build dependencies

If the resulting COBOL environments should build with JSON and XML support you'd likely want to add libjson-c-dev and libxml2-dev.
Note: When building GnuCOBOL (only) you should not need autoconf; bzip2 and xz-utils only if you want those archive formats.

I required autoconf else the "./autogen.sh" I copied from the infra pull request complains about a missing autoconf.
bzip2 and xz-utils are required to uncompress the source archive and compress the resulting binaries.
I'll add libjson-c-dev and libxml2-dev if those are required to make a useful COBOL. I have no opinions myself, just finding the minimum requirements.

With those packages, the local build I just tested:
configure:  Dynamic loading:                             System
configure:  Use gettext for international messages:      yes
configure:  Use fcntl for file locking:                  yes
configure:  Use math multiple precision library:         gmp
configure:  screen I/O (no curses found):                NO
configure:  Use Berkeley DB for INDEXED I/O:             yes
configure:  Used for XML I/O:                            libxml2
configure:  Used for JSON I/O:                           json-c

(let me know if I'm building it wrong though please! I'm literally copy pasting from the https://github.com/compiler-explorer/infra/pull/951/files to get the autogen.sh)
Also in most other builds we use git or similar to grab tagged source, which then lets us pick up a "trunk" build that we then compile daily. If that's useful, let me know where best to pick up the latest code.

I required autoconf else the "./autogen.sh" I copied from the infra pull request complains about a missing autoconf.

Ah, if you use any release tarball (even nightly builds) you don't need autogen.sh, just start with configure (if there's no special need for a specific set of autotools for the build environment).

Also in most other builds we use git or similar to grab tagged source, which then lets us pick up a "trunk" build that we then compile daily. If that's useful, let me know where best to pick up the latest code.

That's of course very different (I wouldn't do it for released builds where a tarball is often best, because that's what most people would use on their environment and also what the distros use).
For "working code" (which then should be a separate version) it would be reasonable to pick via svn - because there's no official git mirror.
In this case pick both https://svn.code.sf.net/p/gnucobol/code/branches/gnucobol-3.x and https://svn.code.sf.net/p/gnucobol/code/trunk (trunk misses a bunch of 3.x where latest bugfixes for the 3.x release line currently go to, they will take some weeks to get into trunk where the work on "the next big things" is done).
...
Note: there is a semi-semi-official github mirror which is up-to-date, currently at https://github.com/OCamlPro/gnucobol3/, likely will be moved to https://github.com/OCamlPro/gnucobol (which also has automated updates) - i both cases "trunk=master".
For ncurses - I don't think that the godbolt page will use them (does it) so better keep it explicit disabled then.

If it's not a big deal then I'll stick with unpacking the pre-built named versions (and remove autotools). If we ever want to support daily builds, we can revisit. Thanks!

I'm now hitting issues with shared library paths. I'm installing with:
make prefix=${STAGING_DIR} install

it seems there's no rpath or similar set on the executables, testing from a staging dir:
# ldd /root/staging/bin/cobc
	linux-vdso.so.1 (0x00007ffda54e3000)
	libcob.so.4 => not found
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f4d679bd000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f4d67d1f000)

Any thoughts on how to handle this? We build in one location and then assume we can move it elsewhere. Will I have to use elfedit or similar to add a $ORIGIN/../lib rpath?

Any thoughts on how to handle this? We build in one location and then assume we can move it elsewhere. Will I have to use elfedit or similar to add a $ORIGIN/../lib rpath?

What about LDFLAGS='-Wl,-rpath,$ORIGIN/../lib' passed to configure? Note that this will also "leak" into generated COBOL modules which is possibly not what you want. PROGRAMS_LIBS could be used instead, but this isn't available in old GnuCOBOL versions.
In any case: If you want to move the libraries you may need to pass the path to libcob as part of the cobc invocation later, too...
... or, easiest solution for running: export LD_LIBRARY_PATH on the install site.

Yeah I'm just trying out the LDFLAGS trick now :) will keep you posted...

... or, easiest solution for running: export LD_LIBRARY_PATH on the install site.
not the easiest when we have 1000 ish compilers running on a fleet of ephemeral computers... which is why we like to make it so the binaries "just work" wherever they end up coming from :)

and inevitably, something in the various layers of make loses it. this from env 'LDFLAGS=-Wl,-rpath,$ORIGIN/../lib' ./build.sh 3.2-rc2 /tmp - fun and games trying to find the right number of escapes...
 0x000000000000001d (RUNPATH)            Library runpath: [RIGIN/../lib]

https://stackoverflow.com/questions/37060747/escaping-origin-for-libtool-based-project hahah not the first to find this out...

and inevitably, something in the various layers of make loses it. this from env 'LDFLAGS=-Wl,-rpath,$ORIGIN/../lib' ./build.sh 3.2-rc2 /tmp

Note: it is always preferable to specify LDFLAGS (or any other flags configure picks up) in the configure line (after the options), instead in the environment.

Great point: thanks!

./configure LDFLAGS="-Wl,-rpath,'\$\$ORIGIN/../lib'"

worked...

The interesting question now is if this still works when using that from a different install place with the compile and link phase of COBOL modules from cobc (the generated C files include a header from the installed place and link against the installed library); if it doesn't work you'd have to either auto-add -I / path/to/this/include -L /path/to/this/lib -Q '-Wl,-rpath,path/to/this/lib' to the used cobc options (either directly or via environment variables - see cobc --info to get a clue which ones you could set).

Thanks; I'll check on that shortly...

-I / path/to/this/include -L /path/to/this/lib -Q '-Wl,-rpath,path/to/this/lib' to the used cobc options

that seems an unfortunate thing to have to do...let's hope not...

ok latest building now at ... https://github.com/compiler-explorer/infra/actions/runs/4333430696

-I /path/to/this/include -L /path/to/this/lib -Q '-Wl,-rpath,path/to/this/lib' to the used cobc options

that seems an unfortunate thing to have to do...let's hope not...

You likely know, but If that's the case and you don't know the install dir from the outside you could get "part to this" via dirname $(dirname $(which cobc)).. from within the runner.

Thanks. We do know the install directory (we're aware when we run it). which cobc wouldn't find cobc in this instance, we will be running cobc with a fully qualified pathname (and it won't be on the PATH, which I hope isn't a problem)

ok next problem:
/opt/compiler-explorer/cobol/gcc-3.2-rc2/bin/cobc: error while loading shared libraries: libjson-c.so.4: cannot open shared object file: No such file or directory

there are runtime dependencies on those installed libraries...
Unfortunately I'm running out of time here and will have to look into this tomorrow.
For our needs; we need to be able to run a compiler somewhat "hermetically": that is, the installation directory (which can be anywhere on the machine) needs to contain all that's needed to run the compiler, minus libc and kernel libraries.  So far we've managed to get by with this for all the other compilers we use. We can probably "just" copy the required libraries into the lib directory of the install, but we're into a world of "but what if those libraries need libraries" etc etc.
One thought is to statically link those, if it's an option?
As you might appreciate our requirements are somewhat unusual given our setup: we can't have all these things as system installations as we need to support nearly 2,000 different compilers and their oddities!

At a push - I guess - we could add these runtime dependencies to our base image. but that's a pretty huge effort involving upgrading the base VM used on the whole site (and doesn't scale all that well...) It's there if we have to though!

fwiw the full ldd is:
root@ef4b285b2a02:~# ldd /root/staging/bin/cobc
	linux-vdso.so.1 (0x00007ffe37ba1000)
	libcob.so.4 => /root/staging/bin/../lib/libcob.so.4 (0x00007f8299b93000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f829999d000)
	libgmp.so.10 => /lib/x86_64-linux-gnu/libgmp.so.10 (0x00007f8299919000)
	libxml2.so.2 => /lib/x86_64-linux-gnu/libxml2.so.2 (0x00007f829975f000)
	libjson-c.so.4 => /lib/x86_64-linux-gnu/libjson-c.so.4 (0x00007f829974d000)
	libdb-5.3.so => /lib/x86_64-linux-gnu/libdb-5.3.so (0x00007f829959e000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f8299596000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f8299d7a000)
	libicuuc.so.66 => /lib/x86_64-linux-gnu/libicuuc.so.66 (0x00007f82993b0000)
	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f8299394000)
	liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f829936b000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f829921c000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f82991f9000)
	libicudata.so.66 => /lib/x86_64-linux-gnu/libicudata.so.66 (0x00007f8297736000)
	libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f8297554000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f8297539000)

Running on our actual production machines...

I see - not being in PATH is totally fine (but I'm quite sure you will need to either pass all those options along to the cobc invocation or check once which options it uses (see COB_CFLAGS and COB_LIBS in cobc --info) and set them inline adjusting the old install-path by the new.

there are runtime dependencies on those installed libraries...

Of course, as those are used at runtime to provide the support for XML, JSON and ORGANIZATION INDEXED.
I guess you have most of that in your base image... which is what your last ldd says it is, right?

That ldd was on my local machine. I'm going to run on a production image now... please hold :)

well, amazingly we have an interesting issue:
$ ldd /opt/compiler-explorer/cobol/gnucobol-3.2-rc2/bin/cobc
        linux-vdso.so.1 (0x00007ffc87224000)
        libcob.so.4 => /opt/compiler-explorer/cobol/gnucobol-3.2-rc2/bin/../lib/libcob.so.4 (0x00007fa18f260000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa18f05d000)
        libgmp.so.10 => /lib/x86_64-linux-gnu/libgmp.so.10 (0x00007fa18efd9000)
        libxml2.so.2 => /lib/x86_64-linux-gnu/libxml2.so.2 (0x00007fa18ee1f000)
        libjson-c.so.4 => /lib/x86_64-linux-gnu/libjson-c.so.4 (0x00007fa18ee0d000)
        libdb-5.3.so => /lib/x86_64-linux-gnu/libdb-5.3.so (0x00007fa18ec5c000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fa18ec56000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fa18f447000)
        libicuuc.so.66 => /lib/x86_64-linux-gnu/libicuuc.so.66 (0x00007fa18ea70000)
        libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fa18ea54000)
        liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007fa18ea2b000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fa18e8dc000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fa18e8b7000)
        libicudata.so.66 => /lib/x86_64-linux-gnu/libicudata.so.66 (0x00007fa18cdf6000)
        libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fa18cc14000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fa18cbf9000)

in fact
ubuntu@ip-172-30-1-12:~$ /opt/compiler-explorer/cobol/gnucobol-3.2-rc2/bin/cobc --info
cobc (GnuCOBOL) 3.2-rc2.0
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Keisuke Nishida, Roger While, Ron Norman, Simon Sobisch, Edward Hart
Built     Mar 05 2023 00:00:06
Packaged  Feb 11 2023 01:47:30 UTC
C version "9.4.0"

build information
build environment        : x86_64-pc-linux-gnu
CC                       : gcc
C version                : "9.4.0"
CPPFLAGS                 :
CFLAGS                   : -O2 -pipe -finline-functions -fsigned-char
                           -Wall -Wwrite-strings -Wmissing-prototypes
                           -Wno-format-y2k
LD                       : /usr/bin/ld
LDFLAGS                  : -Wl,-rpath,'$$ORIGIN/../lib'
                           -Wl,-z,relro,-z,now,-O1

GnuCOBOL information
COB_CC                   : gcc
COB_CFLAGS               : -pipe -I/usr/local/include -Wno-unused
                           -fsigned-char -Wno-pointer-sign
COB_DEBUG_FLAGS          : -ggdb3 -fasynchronous-unwind-tables
COB_LDFLAGS              : -Wl,-rpath,$$ORIGIN/../lib
COB_LIBS                 : -L/usr/local/lib -lcob
COB_CONFIG_DIR           : /usr/local/share/gnucobol/config
COB_COPY_DIR             : /usr/local/share/gnucobol/copy
COB_MSG_FORMAT           : GCC
COB_OBJECT_EXT           : o
COB_MODULE_EXT           : so
COB_EXE_EXT              :
64bit-mode               : yes
BINARY-C-LONG            : 8 bytes
endianness               : little-endian
native EBCDIC            : no
extended screen I/O      : disabled
variable file format     : 0
sequential file handler  : built-in
indexed file handler     : BDB
mathematical library     : GMP
XML library              : libxml2
JSON library             : json-c

so - our administration system can't install it (as part of the install is to run the program to ensure it works, and if it doesn't it rejects...). But by (happy!?) coincidence we already have those libraries on our image. I'll update our admin installer so it is OK with things and then I need to pause.

Well, I checked it in, but unfortunately I can't update our admin installer: it's a different OS and thus can't run libjson-c-4 (it has only v5 available). I need to bail, but this is one of the reasons we try and build things as sealed as possible (it becomes a nightmare to update OSes if you need to rebuild ~3TB of compilers and libraries...)

Sorry - I've actually was so in "support mode" that I've forgot that there will be no running of the generated sources!
Then definitely change --with-db --with-json=json-c to --without-db --without-json - the compiler wont use that at all.
And as libxml2 (via libob which links that in) is only used in the compiler to verify uris "in depth" instead of "in general" I'd likely go with --without-xml2, too.... and drop those dependencies from the builder.
Note: This will make the cobc binary executable on the runner (it otherwise only gets in GMP, which you likely have with a matching version and libc and possibly libm), to make it actually working you'd need to use one of the following approaches:

use a wrapper for cobc which first sets  COB_CONFIG_DIR and COB_COPY_DIR and passes -I to the appropriate place where the libcob.h for that installed version is (in your example -I /opt/compiler-explorer/cobol/gnucobol-3.2-rc2/include).
or
if it would be always installed in /opt/compiler-explorer/cobol/gnucobol-3.2-rc2 (or another fixed path) change the configure invocation in the builder to use --prefix=/opt/compiler-explorer/cobol/gnucobol-3.2-rc2  and everything will just work out of the box

Suggested changes done with https://github.com/compiler-explorer/cobol-builder/pull/3; still open is the question: do we know the final "target" directory during building? If yes then we can fix the problems we otherwise need to tackle when running the compiler by just adding --prefix, as noted in the commit discussion.


Let ttnn.reshape support 0 volume tensors

Ticket
#15284
Problem description
torch.reshape support cases with zero element. For example:
torch_input_tensor = torch.ones([0, 5])
reshape_tensor = torch.reshape(torch_input_tensor, [0, 0, 5])
print(reshape_tensor.shape)
# torch.Size([0, 0, 5])

Similarly, in torch_ttnn, there are scenarios involving zero-element tensors where operations are lowered from a torch operation to ttnn.reshape.
This PR adds support for such cases.
What's changed

Let ttnn.reshape support 0 element
Add zero element unittest

Checklist

[ ] Post commit CI passes
[ ] Blackhole Post commit (if applicable)
[ ] Model regression CI testing passes (if applicable)
[ ] Device performance regression CI testing passes (if applicable)
[ ] New/Existing tests provide coverage for changes

Since I re-wrote reshape, I just merged this PR with my new stuff but to get full generality we need this pushed in ASAP.

@swimdi please rebase and address all comments, we want to get this in ASAP
CC: @ayerofieiev-tt

@swimdi please rebase and address all comments, we want to get this in ASAP
CC: @ayerofieiev-tt

I've rebased, please take a look


c++ implementation of activation abstract + bindings

In GitLab by @cmastalli on Jul 23, 2019, 14:10

In GitLab by @cmastalli on Jul 23, 2019, 14:10
assigned to @cmastalli

In GitLab by @cmastalli on Jul 23, 2019, 14:46
changed title from c++ implementation of action abstract + bindings to c++ implementation of acti{+vati+}on abstract + bindings

In GitLab by @cmastalli on Jul 23, 2019, 14:46
changed the description

In GitLab by @cmastalli on Jul 24, 2019, 13:48
mentioned in merge request !180

In GitLab by @cmastalli on Jul 24, 2019, 13:48
closed


Added Support for YAML Configuration

This adds a new module under org.apache.deltaspike.modules:deltaspike-yaml-module-impl, which includes an implementation of ConfigSource for YAML support, and depends on snakeyaml.

@struberg could also review this one?

Rebased with master.
Changed version from 1.9.5 to 1.9.6.
Updated the docs, as previously it was very verbose and repeated information.
Moved MapUtilsTest.java to correct module. (I had it in the yaml-impl module before, but it should've been in core-api.
Fixed bug where nested YAML arrays with only null values yielded unexpected behavior.
Renamed module from yaml-configuration to yaml.

Please just let me know if any of the changes adverse!

Rebased with master.
Changed version from 1.9.6 to 1.9.7.
Addressed style issue. (missing space after cast)
Updated snakeyaml dependency version from 1.29 to 1.33.

CI failure appears to be a misconfiguration. :thinking:
Hoping both my PRs can be reviewed/merged at some point?! ^-^'
I appreciate you're all busy, but could be nice to get these merged before more updates are pushed out.

Any hope to drop snakeyaml dep? It has, as jackson, some cve open and a hard time to fix them so it is a nightmare for projects consuming it.
Rest looks ok to me.

We could drop it if it was desired, but we'd still need to either replace it with another library, or have our own.
If I recall, I thought SnakeYAML was a solid choice for two reasons:

It's reasonably popular and still maintained.
I can see that it's used in other Apache projects, namely commons-configuration.

There are other libraries we could swap this out for, though. There's an endorsed list on the YAML website.
Only looking at the Java options (i.e. ignoring potential use of JNI):

snakeyaml/snakeyaml-engine
snakeyaml/snakeyaml
EsotericSoftware/yamlbeans
decorators-squad/eo-yaml
OpenHFT/Chronicle-Wire

Or alternatively, we could make something from scratch, though that'd a lot of work. ^-^'

Well just the parsing side is not a lot of work, in particular cause we don't care about the perf enhancements a lib like that can bring (thinking to memory optimization/buffer/cache).
That said a very valid option for me would be to not do a yaml module but a generic Map<String, Object> flattenization module, then the user would load the file as he wants (protected abstract Map<String, Object> load();in the abstractGenericMapModel` class) - including whatever yaml lib he uses - and we would flatten the map (visiting object and supporting most of common default types: map, list recursively but String, primitives, BigDecimal, BigInteger as scalars).
This enables to not bring any drawback and still be a one liner (+spi file) for end user which is probably saner.
The main issue with libs like that is the fact it enables mapping as well as generic deserialization - the only we care, right.
The mapping (object) brings issues and CVE we don't want - actually we probbaly don't want to justify more than explaining we we can't exploit some of them.
Can it be a compromise?
Else +1 to implement our own light parser.

Finally catching up with personal projects again, and reviewing old PRs related to them.
For now, I've just rebased the changes with master and ensured the project still compiles and passes tests. I have not dropped the SnakeYAML dependency yet.
I'll have to look back at this and see what's the best approach. :thinking:

Else +1 to implement our own light parser.

@rmannibucau Do you think implementing a lightweight/read-only YAML parser that only loads properties into a Map is still worthwhile? Reading your comment again, I do appreciate the motivation and benefits that come from it. I think it's sensible, but figured I'd get confirmation before I commit time to work on it.

@SethFalco I think it makes sense but while snakeyaml is extracted I'm also ok - btw v2 is out and fixes 1.33 CVE ;). A yaml-light support - a bit better than https://github.com/yupiik/fusion/blob/master/fusion-httpclient-parent/fusion-kubernetes-client/src/main/java/io/yupiik/fusion/kubernetes/client/internal/LightYamlParser.java which is limited to one kind of file - would make sense but due to the EE path I'm not sure it is worth the investment so I'll let you judge now.

I think it makes sense but while snakeyaml is extracted I'm also ok - btw v2 is out and fixes 1.33 CVE ;)

Ahh nice, I tried to check Maven Central before, but it was down when I was working on this.
Thanks for pointing that out!

I'm not sure it is worth the investment so I'll let you judge now.

If we're willing to use SnakeYAML, I would much prefer that, over the intricacies of writing the parser myself, even if derived from another project.
But if other maintainers have any problem with this, do raise it, and I'll be willing to evaluate other options. I'm on the side of reducing maintenance by using the library, but I do appreciate the benefit of reducing code surface and dependency by going DIY.
For now, I'll update this PR to the latest SnakeYAML version at least.

Hey hey!
Is there anything I can do to help get this merged soon?


Pg Web Bookmark Invalid

Is there an existing issue for this?

[x] I have searched the existing issues

Describe the bug
I use pgweb along with postgres in my app host, I believe the connection to the db is auto wired via bookmark in pg web. however when I select the bookmar it complains dial tcp: lookup host.docker.internal on <IP_ADDRESS>:53: no such host

Expected Behavior
No response
Steps To Reproduce
Here is the code which is responsible for creating the db and the pgweb containers
var dbusername = builder.AddParameter("db-username", secret: true);
var dbpassword = builder.AddParameter("db-pass", secret: true);

var postgres = builder.AddPostgres("postgres", dbusername, dbpassword)
                .WithPgWeb()
                .WithLifetime(ContainerLifetime.Persistent);

var database = postgres.AddDatabase("conductor");

Exceptions (if any)
No response
.NET Version info
➜  Conductor.AppHost git:(master) ✗ dotnet --info
.NET SDK:
 Version:           9.0.100-rc.2.24474.11
 Commit:            315e1305db
 Workload version:  9.0.100-manifests.3424025a
 MSBuild version:   17.12.0-preview-24473-03+fea15fbd1

Runtime Environment:
 OS Name:     ubuntu
 OS Version:  24.04
 OS Platform: Linux
 RID:         linux-x64
 Base Path:   /home/shrikanth/dotnet/sdk/9.0.100-rc.2.24474.11/

.NET workloads installed:
 [aspire]
   Installation Source: SDK 9.0.100-rc.2
   Manifest Version:    8.2.2/8.0.100
   Manifest Path:       /home/shrikanth/dotnet/sdk-manifests/8.0.100/microsoft.net.sdk.aspire/8.2.2/WorkloadManifest.json
   Install Type:        FileBased

Configured to use loose manifests when installing new manifests.

Host:
  Version:      9.0.0-rc.2.24473.5
  Architecture: x64
  Commit:       990ebf52fc

.NET SDKs installed:
  9.0.100-rc.2.24474.11 [/home/shrikanth/dotnet/sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 9.0.0-rc.2.24474.3 [/home/shrikanth/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 9.0.0-rc.2.24473.5 [/home/shrikanth/dotnet/shared/Microsoft.NETCore.App]

Other architectures found:
  None

Environment variables:
  Not set

global.json file:
  Not found

Learn more:
  https://aka.ms/dotnet/info

Download .NET:
  https://aka.ms/dotnet/download

Anything else?
No response

What version of aspire are you using?


Highlight last signin method's button

How to test. Go to /signin, click any social login button, return back to signin you'll see that button is active.
Closes #3901.

@BerkeleyTrue let me know if I should move JavaScript to main.js.

This would be easier to test more extensively on Beta.  I only have GitHub set up locally.

@bugron I think it is fine where it is at now.

@BerkeleyTrue done. Removed multiple assignments, we don't actually need them and added try..catch. Let me know if I did that in a wrong way.

As soon as someone QA's this it can be merged

I edited signin.jade to add the (e) and it appeared to work properly.

@SaintPeter fixed.

:+1:


fix: make SessionAuth openapi_schema use backend_config.key

When SessionAuth is implemented in project open api security scheme cookie key is generated as Set-Cookie.
This PR makes cookie name as user-defined cookie key.

Starlite 1.45.1 samples

Swagger

Redoc

Element

Current PR sample

Swagger

Redoc

Element

PR Checklist

[x] Have you followed the guidelines in CONTRIBUTING.md?
[x] Have you got 100% test coverage on new code?
[ ] Have you updated the prose documentation?
[ ] Have you updated the reference documentation?

@all-contributors add @asomethings code


Update to isa-tab not working when i_Investigation.txt is not in same subfolder as AssayData and SampleSheet

Describe the bug
For SODAR project 1f59198a-358c-43a4-9d5e-0e34b3cfcfad I can not update project SampleSheet and AssayData via cubi-tk sodar add-ped or cubi-tk sodar upload-sheet because i_Investigation.txt is placed in ./isatab subfolder. Log outputs:
[I 230802 08:52:46] Starting cubi-tk sodar add-ped
[I 230802 08:52:46]   config: Config(config=None, verbose=False, sodar_server_url=None, sodar_url='https://sodar.bihealth.org/', sodar_api_token=***, dry_run=False, show_diff=False, show_diff_side_by_side=False, sample_name_normalization='snappy', batch_no='18', yes=True, library_type='WES', library_layout='PAIRED', library_kit='Agilent SureSelect Human All Exon V8', library_kit_catalogue_id='S33266340', instrument_model='Illumina NovaSeq 6000', no_warnings=False, platform='ILLUMINA', project_uuid='1f59198a-358c-43a4-9d5e-0e34b3cfcfad', input_ped_file=<_io.TextIOWrapper name='/scratch/helmuth/tmp/iRODS_sodar_1f59198a-358c-43a4-9d5e-0e34b3cfcfad_2308.tsv/v8.ped' mode='rt' encoding='UTF-8'>)
[I 230802 08:52:46] -- downloading sample sheet --
[I 230802 08:52:46] Starting cubi-tk sodar download-sheet
[I 230802 08:52:46]   config: Config(config=None, verbose=False, sodar_server_url=None, sodar_url='https://sodar.bihealth.org/', sodar_api_token=***, makedirs=False, overwrite=False, dry_run=False, yes=True, show_diff=False, show_diff_side_by_side=False, project_uuid='1f59198a-358c-43a4-9d5e-0e34b3cfcfad', output_dir='/tmp/tmpr4vuw1gx')
[I 230802 08:52:47] Writing /tmp/tmpr4vuw1gx/isatab/i_Investigation.txt
[I 230802 08:52:47] About to write file contents to /tmp/tmpr4vuw1gx/isatab/i_Investigation.txt
Traceback (most recent call last):
  File "/opt/conda/miniconda3/envs/cubi-tk/bin/cubi-tk", line 33, in <module>
    sys.exit(load_entry_point('cubi-tk', 'console_scripts', 'cubi-tk')())
  File "/opt/software/HUM/cubi-tk.new/cubi_tk/__main__.py", line 123, in main
    res = cmds[args.cmd](args, parser, subparsers.choices[args.cmd] if args.cmd else None)
  File "/opt/software/HUM/cubi-tk.new/cubi_tk/sodar/__init__.py", line 93, in run
    return args.sodar_cmd(args, parser, subparser)
  File "/opt/software/HUM/cubi-tk.new/cubi_tk/sodar/add_ped.py", line 142, in run
    return cls(Config(**args)).execute()
  File "/opt/software/HUM/cubi-tk.new/cubi_tk/sodar/add_ped.py", line 167, in execute
    yes=True,
  File "/opt/software/HUM/cubi-tk.new/cubi_tk/sodar/download_sheet.py", line 135, in execute
    out_path, isa_dict["investigation"]["path"], isa_dict["investigation"]["tsv"]
  File "/opt/software/HUM/cubi-tk.new/cubi_tk/sodar/download_sheet.py", line 163, in _write_file
    show_diff_side_by_side=self.config.show_diff_side_by_side,
  File "/opt/software/HUM/cubi-tk.new/cubi_tk/common.py", line 254, in overwrite_helper
    with out_path_obj.open("wt") as output_file:
  File "/opt/conda/miniconda3/envs/cubi-tk/lib/python3.7/pathlib.py", line 1208, in open
    opener=self._opener)
  File "/opt/conda/miniconda3/envs/cubi-tk/lib/python3.7/pathlib.py", line 1063, in _opener
    return self._accessor.open(self, flags, mode)
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/tmpr4vuw1gx/isatab/i_Investigation.txt'

[I 230802 09:04:48] Starting cubi-tk sodar upload-sheet
[I 230802 09:04:48]   config: Config(config=None, verbose=False, sodar_server_url=None, sodar_url='https://sodar.bihealth.org/', sodar_api_token=***, project_uuid='1f59198a-358c-43a4-9d5e-0e34b3cfcfad', input_investigation_file='samplesheet/isatab/i_Investigation.txt')
Traceback (most recent call last):
  File "/opt/conda/miniconda3/envs/cubi-tk/bin/cubi-tk", line 33, in <module>
    sys.exit(load_entry_point('cubi-tk', 'console_scripts', 'cubi-tk')())
  File "/opt/software/HUM/cubi-tk.new/cubi_tk/__main__.py", line 123, in main
    res = cmds[args.cmd](args, parser, subparsers.choices[args.cmd] if args.cmd else None)
  File "/opt/software/HUM/cubi-tk.new/cubi_tk/sodar/__init__.py", line 93, in run
    return args.sodar_cmd(args, parser, subparser)
  File "/opt/software/HUM/cubi-tk.new/cubi_tk/sodar/upload_sheet.py", line 68, in run
    return cls(Config(**args)).execute()
  File "/opt/software/HUM/cubi-tk.new/cubi_tk/sodar/upload_sheet.py", line 90, in execute
    isa_data = isa_support.load_investigation(self.config.input_investigation_file)
  File "/opt/software/HUM/cubi-tk.new/cubi_tk/isa_support.py", line 48, in load_investigation
    with (i_path.parent / study.info.path).open() as s_file:
  File "/opt/conda/miniconda3/envs/cubi-tk/lib/python3.7/pathlib.py", line 1208, in open
    opener=self._opener)
  File "/opt/conda/miniconda3/envs/cubi-tk/lib/python3.7/pathlib.py", line 1063, in _opener
    return self._accessor.open(self, flags, mode)
FileNotFoundError: [Errno 2] No such file or directory: 'samplesheet/isatab/s_*****.txt'

To Reproduce
Steps to reproduce the behavior:

Start samplesheet update via cubi-tk sodar add-ped
Get error message

Expected behavior
An update should work via  cubi-tk sodar add-ped or cubi-tk sodar add-ped .
Additional context
See also internal issue under https://gitlab.cubi.bihealth.org/cubi-collaborations/cubi-medgen/-/issues/140
Workaround
A workaround is to use cubi-tk sodar download-sheet  to download all ISATAB files and manually move i_Investigation from ./isatab subfolder into root to be alongside SampleSheet and AssayData. A local isatab update via  cubi-tk isa-tab add-ped  followed by an upload via cubi-tk sodar upload-sheet 1f59198a-358c-43a4-9d5e-0e34b3cfcfad ./i_Investigation.txt gives expected results. However, I am not sure if there now exist two files i_Investigation.txt in the project, i.e. one in root and one in ./isatab

@xiamaz

This is a bit odd. ~Does this only happen for this project?~

Also project 4ad70119-1beb-4505-a17a-fe2c05b15f89

I've understood you placed the i_Investigation.txt in ./isatab/ on purpose. Why is that? Also, is this live on SODAR? Does cubi-tk sodar download-sheet include this subfolder?

I did not place the files there. We are only contributing data and I saw that my update via cubi-tk add-ped does not work correctly. I will switch to cubi-tk sodar download-sheet .. & cubi-tk isa-tab add-ped for now.
The main problem here is that project might contain multiple incoherent versions of SampleSheet files in various subfolders.

The reason you're seeing these errors is probably due to the fact that the ISA-tab internal file locations do not consider this additional subfolder i.e. cubi-tk sodar add-ped looks for s_* and a_* files in ./isatab and does not find any because they are in ./

I presumed that this is the reason.

I've just looked into they output of cubi-tk sodar download sheet 4ad70119-1beb-4505-a17a-fe2c05b15f89 test and there was no ./isatab folder present - is this different for you (or did you already update that project now?)

I've just looked into they output of cubi-tk sodar download sheet 4ad70119-1beb-4505-a17a-fe2c05b15f89 test and there was no ./isatab folder present - is this different for you (or did you already update that project now?)

That's correct! I updated both project already with the last batches. For last update of 4ad70119-1beb-4505-a17a-fe2c05b15f89 via cubi-tk sodar add-ped I got a TextIOWrapper error:
[I 231007 17:36:49] Starting cubi-tk sodar add-ped
[I 231007 17:36:49]   config: Config(config=None, verbose=False, sodar_server_url=None, sodar_url='https://sodar.bihealth.org/', sodar_api_token=***, dry_run=False, show_diff=False, show_diff_side_by_side=False, sample_name_normalization='snappy', batch_no='3', yes=True>
[I 231007 17:36:49] -- downloading sample sheet --
[I 231007 17:36:49] Starting cubi-tk sodar download-sheet
[I 231007 17:36:49]   config: Config(config=None, verbose=False, sodar_server_url=None, sodar_url='https://sodar.bihealth.org/', sodar_api_token=***, makedirs=False, overwrite=False, dry_run=False, yes=True, show_diff=False, show_diff_side_by_side=False, project_uuid='4>
[I 231007 17:36:49] Writing /tmp/tmpcky0jspu/i_Investigation.txt
[I 231007 17:36:49] About to write file contents to /tmp/tmpcky0jspu/i_Investigation.txt
[I 231007 17:36:49] Writing /tmp/tmpcky0jspu/s_medgen_exomes_selektivvertrag.txt
[I 231007 17:36:49] About to write file contents to /tmp/tmpcky0jspu/s_medgen_exomes_selektivvertrag.txt
[I 231007 17:36:49] Writing /tmp/tmpcky0jspu/a_medgen_exomes_selektivvertrag.txt
[I 231007 17:36:49] About to write file contents to /tmp/tmpcky0jspu/a_medgen_exomes_selektivvertrag.txt
[I 231007 17:36:49] -- downloading sheet succeeeded --
[I 231007 17:36:49] -- updating sample sheet --
[I 231007 17:36:49] Starting cubi-tk isa-tab add-ped
[I 231007 17:36:49]   config: Config(verbose=False, config=None, sodar_server_url=None, sodar_api_token=***, no_warnings=False, sample_name_normalization='snappy', yes=True, dry_run=False, show_diff=False, show_diff_side_by_side=False, batch_no='3', library_layout='PAIR>
Traceback (most recent call last):
  File "/opt/conda/miniconda3/envs/cubi-tk/bin/cubi-tk", line 33, in <module>
    sys.exit(load_entry_point('cubi-tk', 'console_scripts', 'cubi-tk')())
  File "/opt/software/HUM/cubi-tk.new/cubi_tk/__main__.py", line 123, in main
    res = cmds[args.cmd](args, parser, subparsers.choices[args.cmd] if args.cmd else None)
  File "/opt/software/HUM/cubi-tk.new/cubi_tk/sodar/__init__.py", line 93, in run
    return args.sodar_cmd(args, parser, subparser)
  File "/opt/software/HUM/cubi-tk.new/cubi_tk/sodar/add_ped.py", line 142, in run
    return cls(Config(**args)).execute()
  File "/opt/software/HUM/cubi-tk.new/cubi_tk/sodar/add_ped.py", line 197, in execute
    input_ped_file=self.config.input_ped_file,
  File "/opt/software/HUM/cubi-tk.new/cubi_tk/isa_tab/add_ped.py", line 674, in execute
    with open(self.config.input_ped_file, "rt") as inputf:
TypeError: expected str, bytes or os.PathLike object, not _io.TextIOWrapper

Ok, this looks like an unrelated issue. In fact, I believe this one was fixed in #127/#128 and your version of cubi-tk is just outdated. Please update by either running
git pull origin main
pip install -e .

or by starting over with a new conda environment as we recommend Python 3.10 by now and updated a few dependencies.
That being said, please let us know if there's another SODAR project which is currently having the issue of creating a isatab/ subfolder for i_Investigation.txt after cubi-tk sodar download-sheet.

@sellth You are right! Our cubi-tk was really outdated with version 0.2.0+47.g23ca740. I installed from cubi-tk/release v0.3.1:
>cubi-tk --version
cubi-tk 0.3.0+66.ge0dbd46

Now I can use cubi-tk sodar add-ped correctly!
Thanks for assistance.

That's great to hear! I would however recommend to install from main. I'll try to push a new release v0.4.0 soon.

Those branches are automatically created and deleted by our release system. If you want reproducible installs, you should aim for one of the tagged releases. The latest release has quite a lot of bug fixes and new features which is why v0.3.1 was skipped. I would therefore recommend using it like so: git fetch && git checkout v0.4.0 && pip install -e .
That being said, if you still have the commit hash previously tagged as branch release-v0.3.1 you can also install from there: git checkout <hash>

I don't track the git hash because a branch existed. For now I will work with 0.4.0 and try to keep the hash.

No need to track the hash for v0.4.0 as this commit is tagged.


APT whitelist request for g++-6 in TRUSTY

An attempt to get it working after the failed build in #3802.
Trying version 6 (highest available in ppa:ubuntu-toolchain-r-test). Can get the lower versions later if this passes.

Closed in #4204.


NVidia: Partial rewrite, Explicit sync, Addition of missing information

Hey vax and other maintainers, hoping this PR finds you well.
This PR is my attempt to clean up and add to the Nvidia page. Currently, there is some vital missing information concerning explicit sync and flickering as a whole. I also aimed to correct parts and make other parts easier to understand.
Please let me know if there is formatting issues, typos, or other things you need clearing up or changing, I'll be happy to get involved.
Edit: I can add a small piece regarding joining the discord server and asking for further support in the #hyprland-nvidia channel. Let me know if that would be a nice addition.

Quick question. When making commits would you like me to squash them or leave them seperate

doesnt matter we squash them on merge

Thank you for your proposed changes - I've implemented them. Let me know what you think.
Maybe I should ask again, but should we have a part on asking for further support in the discord at #hyprland-nvidia?

Maybe I should ask again, but should we have a part on asking for further support in the discord at #hyprland-nvidia?

Sure.

Edit; after testing with the envvar, it seems to make Vesktop and Obsidian run under wayland with ELECTRON_OZONE_PLATFORM_HINT=auto however it didn't seem to affect Spotify.

Vesktop and Obsidian use Electron, while Spotify uses Chromium Embedded Framework, which is a bit different. Regardless, we should include that env var as it simplifies the configuration.

Thanks for the clear up. I've now mentioned the discord server briefly at the end of the page and I've also replaced some of the flickering section with the envvar. CEF is now referenced there too.
Let me know if we need any other changes. tbh, most of this page will become obsolete over the next few weeks as the 555 drivers roll into beta.


How to style on keypress

Hi,
I was wondering how or If I can edit the input on keydown or keypress?
In the working jsfiddle https://jsfiddle.net/icebob/88n7c1L8/ when a user presses on a key, the input box loses focus. I would like to keep focus and have the focus style applied when I press on any key. Is there any way I can do this?

Which browser?

chrome

I tried, but I don't find error with focus. When I'm writing to input it doesn't lost focus. (in Chrome)

Try clicking on the keyboard only. When I use my keyboard, the input does not lose focus either, but when actually I click on the letters, it loses focus for a second.


ModuleNotFoundError: No module named 'models'

hello,i was trying to Convert PyTorch model to ONNX format:
when i  run
python scripts/convert_to_onnx.py --checkpoint-path default_checkpoints/checkpoint_iter_10000.pth
there has a problem:
cui@cui-virtual-machine:~/lightweighthumanposeestimation$ python scripts/convert_to_onnx.py --checkpoint-path default_checkpoints/checkpoint_iter_10000.pth
Traceback (most recent call last):
File "scripts/convert_to_onnx.py", line 5, in
from models import with_mobilenet
ModuleNotFoundError: No module named 'models'
can you help me ?
thank you very much

Hi! Looks like something is broken with the install. Do you have models directory inside ~/lightweighthumanposeestimation?

hi,i have the models directory inside ~/lightweighthumanposeestimation,and i have init.py in models.I used the direct download of your project
------------------ 原始邮件 ------------------
发件人:                                                                                "Daniil-Osokin/lightweight-human-pose-estimation.pytorch"                                                                                @.>;
发送时间: 2021年5月18日(星期二) 凌晨2:11
@.>;
<EMAIL_ADDRESS>主题: Re: [Daniil-Osokin/lightweight-human-pose-estimation.pytorch] ModuleNotFoundError: No module named 'models' (#179)
Hi! Looks like something is broken with the install. Do you have models directory inside ~/lightweighthumanposeestimation?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Ok, execute export PYTHONPATH=./ in the terminal before running the script.

好的，export PYTHONPATH=./在运行脚本之前在终端中执行。

thanks

Ok, closing.


allow publishing via website

If a user has a bkr file but no beaker client they should still be able to publish it by simple form upload.

from this page https://pub.beakernotebook.com/#/create_publication

What are thoughts on, for users that are logged in, placing the "Create" button where the "Get Started" button is for users who are not logged in (since get started is not displayed for users logged in) and that button can lead to the upload publication form?

:+1:


Accordion CSS dependency?

What should happen?
The accordion should still have the JS events fired, whether the accordion is styled or not.
What happens instead?
Nothing. No classes added or removed.
Possible Solution
I searched online and couldn't really find a reason/explanation as to why or how the CSS is required/a dependency. Don't have the CSS as a dependency.
Test Case and/or Steps to Reproduce (for bugs)
https://codepen.io/Gilipe/pen/ProweL
Context
I still want the expected default functionality while applying my own design to the accordion (without having to remove with a find comb/override CSS).
Your Environment

Foundation version(s) used: Latest
Browser(s) name and version(s): Google Chrome, Latest
Device, Operating System and version: MBP, MacOS, Latest

Checklist

[x] I have read and follow the CONTRIBUTING.md document.
[x] There are no other issues similar to this one.
[x] The issue title and template are correctly filled.

Hi @Gilipe,
which events do you mean?

Hi @Gilipe,
a normal accordion works. See https://codepen.io/DanielRuf/pen/pXoJNP
What you use is the responsive accordion tabs element which has to check the current mediaquery using a CSS font rule. See https://github.com/zurb/foundation-sites/blob/develop/js/foundation.responsiveAccordionTabs.js#L4 and https://github.com/zurb/foundation-sites/blob/develop/js/foundation.util.mediaQuery.js#L97 and also https://github.com/zurb/foundation-sites/blob/develop/js/foundation.util.mediaQuery.js#L113

https://foundation.zurb.com/sites/docs/media-queries.html#javascript

The MediaQuery utility uses the Sass breakpoint settings and requires the Foundation CSS to be imported. For Sass users, you need to include either foundation-everything() or foundation-global-styles().

I would categorize this as a feature request. An accordion with no styles kind-of defeats the purpose of  a framework. The CSS is required to show and hide the containers of the accordion.
I can a need for being able to use any HTML elements (which is a feature) and having it minimally styled. Maybe this is more of a Foundation 7 direction.

@DanielRuf Sorry but that's not really answering why the JS would not function without CSS in place, at least for the accordion. It's adding/removing classes, why is CSS a dependency here? https://codepen.io/DanielRuf/pen/pXoJNP First accordion doesn't work at all, 2nd accordion click Accordion 1, then Accordion 3 as an example. I'd get it if both 1/2 slid up/closed but it feels like weird/unexpected/buggy behaviour.
@rafibomb But why is the CSS required for the JS to function? It's not a feature request, I just don't understand why a visual representation is required for JS to work behind the scenes. In my example at least, it just flat out doesn't work without the foundation CSS.

I can see a need for being able to use any HTML elements (which is a feature) and having it minimally styled.

How about just not styled at all, if the CSS is supposed to handle the visuals and JS is adding active states, allow the user to decide how the accordion looks without having to fight/overwrite against the default CSS.

I'm still not understanding the difference, why would the responsive accordion break without CSS? DOM events should still occur, no?

Hi @Gilipe,
Please see https://github.com/zurb/foundation-sites/issues/11774#issuecomment-500611600

Hey @DanielRuf,
Thanks for helping out with this.
I've updated my codepen to have one with the data-responsive-accordion-tabs and data-accordion.
data-accordion still has events fire off, CSS or not. But not data-responsive-accordion-tabs without CSS.
https://codepen.io/Gilipe/pen/ProweL

data-accordion still has events fire off, CSS or not. But not data-responsive-accordion-tabs without CSS.

Because the responsive utility methods initialize the needed components and registers the needed event listeners so this is expected.

1 more question for clarification and then I'll mark this topic closed, but I'm still confused why if I removed only the CSS styling, it stops the JS from working?

Because the responsive utility methods initialize the needed components and registers the needed event listeners so this is expected.

This just doesn't answer that question. Sorry for my ignorance.

As explained in https://github.com/zurb/foundation-sites/issues/11774#issuecomment-500610783, the current Foundation breakpoint settings are set as font-family and read by the JS utilities. The JS part does not have the breakpoint setting which is generated from _settings.scss.

https://github.com/zurb/foundation-sites/blob/develop/dist/css/foundation.css#L434-L435


Sent request not moved to messages if accepted

When the other party accepts a sent request, it's not moved to messages yet (a page-reload is necessary to achieve that)

The corresponding system-message arrives in the messaging agent, but doesn't trigger an action. Only when the other person writes another message, the connection is reloaded and moved to the messages tab.

the parsed message:
{
  "msg:FromOwner": {
    "hasContent": "https://satsrv04.researchstudio.at:8889/won/resource/event/2420533366590789600#content",
    "hasMessageType": "msg:OpenMessage",
    "hasReceivedTimestamp": "1464858960385",
    "hasReceiver": "https://satsrv04.researchstudio.at:8889/won/resource/connection/c7g6qrnhvma76hmi2vgz",
    "hasReceiverNeed": "https://satsrv04.researchstudio.at:8889/won/resource/need/5320894344315314000",
    "hasReceiverNode": "https://satsrv04.researchstudio.at:8889/won/resource",
    "hasSender": "https://satsrv04.researchstudio.at:8889/won/resource/connection/ny855t77bl1eokb9s94n",
    "hasSenderNeed": "https://satsrv04.researchstudio.at:8889/won/resource/need/5758462646457268000",
    "hasSenderNode": "https://satsrv04.researchstudio.at:8889/won/resource",
    "hasSentTimestamp": "1464858959224",
    "referencesSignature": null,
    "hasFacet": "won:OwnerFacet",
    "hasRemoteFacet": "won:OwnerFacet",
    "hasTextMessage": "yes i can see this message i accept!",
    "uri": "https://satsrv04.researchstudio.at:8889/won/resource/event/2420533366590789600"
  },
  "msg:FromExternal": {
    "hasCorrespondingRemoteMessage": "https://satsrv04.researchstudio.at:8889/won/resource/event/2420533366590789600",
    "hasReceivedTimestamp": null,
    "hasSender": "https://satsrv04.researchstudio.at:8889/won/resource/connection/ny855t77bl1eokb9s94n",
    "hasSentTimestamp": "1464858960418",
    "referencesSignature": null,
    "uri": "https://satsrv04.researchstudio.at:8889/won/resource/event/5fqddnltj1fkdc1ik6jo"
  }
}

the appended text-message already gets correctly shown in the messages tab.


How can decompress char*/std::string data

How can i use zstr  decompress  char*  or std::string data?
Could you please give me an example ?
Thanks!

How about:
std::string data = "...";
std::istringstream input_str_stream( data );
zstr::istream gzip_stream( iss );
// ... read from the stream as needed


Automatic RepaintBoundaries for FadeTransition children

I have a quite transition-heavy app and recently I discovered that tree in a lot of places is aggresively recached because of FadeTransition (with checkerboardRasterCacheImages). Basically, almost each time I use the FadeTransition, I have to put the RepaintBoundary to prevent aggressive updates. Automatically apply boundaries would be hard, because transitions are often combined together, however I think there's a space for exploration.
In the meantime a simple tip in performance doc would be also useful I think. It could be inserted in this section https://flutter.dev/docs/perf/rendering/ui-performance#checking-for-non-cached-images
Something like

Consider wrapping a child of FadeTransition with RepaintBoundary. This will ensure that the underlying tree is not cached too often.

A simple example like this would show that tree is constantly cached (the checkerboard is constantly flickering).

Code sample
import 'dart:math' as math;
import 'package:flutter/material.dart';

void main() async {
  runApp(App());
}

class App extends StatefulWidget {
  const App({Key key}) : super(key: key);

  @override
  State<App> createState() => _AppState();
}

class _AppState extends State<App> with SingleTickerProviderStateMixin {
  AnimationController controller;

  @override
  void initState() {
    super.initState();
    controller = AnimationController(vsync: this, duration: const Duration(seconds: 4));
    controller.forward();
    controller.addStatusListener((status) {
      if (status == AnimationStatus.completed)
        controller.reverse();
      else if (status == AnimationStatus.dismissed)
        controller.forward();
    });
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      checkerboardRasterCacheImages: true,
      theme: ThemeData.light(),
      home: AnimatedBuilder(
        animation: controller,
        builder: (context, child) => FadeTransition(
          opacity: controller,
          child: child,
        ),
        child: Scaffold(
          body: Center(
            child: const Image(
              image: NetworkImage('https://flutter.github.io/assets-for-api-docs/assets/widgets/owl.jpg'),
            ),
          ),
        ),
      ),
    );
  }
}

flutter doctor -v
[√] Flutter (Channel master, 2.3.0-2.0.pre.219, on Microsoft Windows [Version 10.0.19041.985],
    locale ru-RU)
    • Flutter version 2.3.0-2.0.pre.219 at C:\dev\src\flutter
    • Upstream repository git@github.com:nt4f04und/flutter.git
    • Framework revision aa9b2d914c (3 days ago), 2021-05-14 14:54:03 -0700
    • Engine revision 5c33fa9113
    • Dart version 2.14.0 (build 2.14.0-117.0.dev)

[√] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at C:\Users\danya\AppData\Local\Android\sdk
    • Platform android-30, build-tools 30.0.2
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.7.7)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.7.30621.155
    • Windows 10 SDK version 10.0.19041.0

[√] Android Studio (version 4.1.0)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[√] IntelliJ IDEA Community Edition (version 2020.3)
    • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.3.3
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart

[√] VS Code (version 1.56.2)
    • VS Code at C:\Users\danya\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.22.0

[√] Connected device (4 available)
    • sdk gphone x86 (mobile) • emulator-5554 • android-x86    • Android 11 (API 30) (emulator)
    • Windows (desktop)       • windows       • windows-x64    • Microsoft Windows [Version
      10.0.19041.985]
    • Chrome (web)            • chrome        • web-javascript • Google Chrome 90.0.4430.212
    • Edge (web)              • edge          • web-javascript • Microsoft Edge 90.0.818.46

• No issues found!

No RepaintBoundary
Scaffold wrapped in RepaintBoundary

Hi @nt4f04uNd
Thanks for filing the issue
Reproduced on the following channels

stable
master

✅
✅

Check flutter doctor -v outputs for each channel below

flutter doctor -v
[✓] Flutter (Channel stable, 2.0.6, on Microsoft Windows [Version 10.0.19042.964], locale en-US)
    • Flutter version 2.0.6 at C:\Users\Taha\Code\flutter_stable
    • Framework revision 1d9032c7e1 (3 weeks ago), 2021-04-29 17:37:58 -0700
    • Engine revision 05e680e202
    • Dart version 2.12.3

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at C:\Users\Taha\Code\SDK
    • Platform android-30, build-tools 30.0.3
    • Java binary at: C:\Users\Taha\Code\android-studio\jre\bin\java.exe
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6842174)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[✓] Visual Studio - develop for Windows (Visual Studio Community 2019 16.9.5)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.9.31229.75
    • Windows 10 SDK version 10.0.19041.0

[!] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.dev/docs/get-started/install/windows#android-setup for detailed instructions).

[✓] VS Code (version 1.56.2)
    • VS Code at C:\Users\Taha\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.22.0

[✓] Connected device (4 available)
    • IN2011 (mobile)   • c9d8ee0c • android-arm64  • Android 11 (API 30)
    • Windows (desktop) • windows  • windows-x64    • Microsoft Windows [Version 10.0.19042.964]
    • Chrome (web)      • chrome   • web-javascript • Google Chrome 90.0.4430.212
    • Edge (web)        • edge     • web-javascript • Microsoft Edge 89.0.774.63

! Doctor found issues in 1 category.

[✓] Flutter (Channel master, 2.3.0-2.0.pre.254, on Microsoft Windows [Version 10.0.19042.964], locale en-US)
    • Flutter version 2.3.0-2.0.pre.254 at C:\Users\Taha\Code\flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision e716ac19e8 (3 hours ago), 2021-05-18 00:04:02 -0700
    • Engine revision 3cda7f5807
    • Dart version 2.14.0 (build 2.14.0-119.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at C:\Users\Taha\Code\SDK
    • Platform android-30, build-tools 30.0.3
    • Java binary at: C:\Users\Taha\Code\android-studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6842174)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[✓] Visual Studio - develop for Windows (Visual Studio Community 2019 16.9.5)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.9.31229.75
    • Windows 10 SDK version 10.0.19041.0

[✓] Android Studio (version 4.2.0)
    • Android Studio at C:\Users\Taha\Code\android-studio
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6842174)

[✓] VS Code (version 1.56.2)
    • VS Code at C:\Users\Taha\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.22.0

[✓] Connected device (4 available)
    • IN2011 (mobile)   • c9d8ee0c • android-arm64  • Android 11 (API 30)
    • Windows (desktop) • windows  • windows-x64    • Microsoft Windows [Version 10.0.19042.964]
    • Chrome (web)      • chrome   • web-javascript • Google Chrome 90.0.4430.212
    • Edge (web)        • edge     • web-javascript • Microsoft Edge 89.0.774.63

• No issues found!

✅ : Reproducible ❌: Not Reproducible

Closing in favor of https://github.com/flutter/flutter/issues/101597


Manual Wicket page mounting replaced with annotations

Coverage decreased (-0.1%) to 68.138% when pulling 1b9b68cd2c9bb4ccad0f958a9346389cedc01594 on goostleek:wicketstuff-annotations into 4b55c4002957b5f69433f88e9f4f2fffe04f52fe on tdziurko:master.


Recommend different default port other than 5000

I was able to get this running on Apple Silicon but port 5000 is used for Control Center for AirPlay functionality on Mac.

I updated the default port to use 7000, thanks for the suggestion @panupans.

@panupans  Can you share the changes you made to make this work in m1 . I am facing this issues
1.) if device type is 'cpu' -> engine itself not running
2.) if device type is 'cuda'  docker is closing with 135 exit code
Sorry if this is wrong place to ask


Integration weekend tunes

Proposed changes

Checklist

[x] Run colcon build
[x] Write documentation
[ ] Test on your machine
[ ] Test on the robot
[ ] Create issues for future work
[x] Triage this PR and label it

I cleaned up the standup animation a bit, so I would prefer testing it again on the real hardware before merging.

Does this also close #520 ?

Does this also close #520 ?

No not yet.


Modify boiler_fuel_eia923 transform to yield natural primary key

The boiler_fuel_eia923 should have a natural primary key of:

report_date
plant_id_eia
boiler_id
fuel_type_code

However, there are 4032 rows out of 1.14 million that actually do contain data, and are duplicates on the basis of that primary key. 100% of them are natural gas, and contain no information about ash or sulfur content -- they are nothing but mmbtu. We could definitely aggregate them into unique rows with the above natural primary key.
Should we do that? Should the be summed? Might they actually be reporting errors in which just one of the records should be retained?
This came out of Issue #846

Looking at the raw data shows that these 'duplicate' boiler rows refer to different prime movers (CA and CT) connected to the same boiler. This only applies to combined cycle plants, which is why they are all gas. The prime mover column is absent from the pudl.output.eia923.boiler_fuel_eia923 table, which is why it was hard to discern.
I interpret the boiler_fuel table as a denormalized list of graph edges connecting three things: fuels, prime movers, and boilers.  But because most prime_mover to boiler relationships happen to be 1:1, and the EIA title is "boiler_fuels", I think we mistakenly dropped the prime mover column and have been presenting it as a table only about boiler to fuel relationships. I think prime mover must be part of the primary key, and probably this table should be split into two separate edge lists: fuels to boilers, and boilers to prime_movers (I'd have to think more about that).
We can certainly aggregate to boilers, but it changes the meaning of the table. We would lose the ability to distinguish CT energy inputs from (I believe) CA supplementary boiler energy inputs.

The HRSGs sometimes (about half of them, based on the rate of non-zero CA fuel values in this table) have auxiliary heating capability, so do have their own fuel consumption independent of the CT. This low-efficiency supplementary heat seems to be used for seasonal peaking, based on the monthly fuel usage shapes I saw. It is generally much smaller than the fuel used by the CTs, like 1-2 orders of magnitude.
Also, the raw 860 Generator spreadsheet has a column Can Bypass Heat Recovery Steam Generator? (we don't include it in pudl for some reason) that shows that only about 30% of CTs can run as standalone GTs as of 2019.
I mentioned graph edge deletion in case it impacted connected-component/subplant identification. I guess it's really graph node deletion - aggregating a CT and CA together into a single node distorts the graph. I'll take a look at the BGA and unit_id processes for interference.

oh I was looking in generators_eia860 where a bunch of the other columns from the spreadsheet were located. I didn't realize those were normalized out.


tickets/DM-48235: Add node selection documentation

Rendered documentation looks fine to me; merging.


OpenAI Realtime API

Feature request
I see this package: https://pub.dev/packages/openai_realtime_dart/versions but doesn't seem like it exists?
Motivation
Would be awesome, but obviously no rush as it just came out
Your contribution
I am willing to test it out, feedback, etc

Hey @Jonovono,
I'm working on it 🙂
I have a first working implementation that I'm planning to release in the following days.
I'll let you know when it's live.

@Jonovono I've released v0.0.1:

https://pub.dev/packages/openai_realtime_dart
https://github.com/davidmigloz/langchain_dart/tree/openai_realtime_dart-v0.0.1/packages/openai_realtime_dart

It follows the same structure as the official reference client. Currently, it doesn't have types. I'm waiting for OpenAI to release the spec to generate the types automatically.


Looking for set and get video play rate

Hi,
I am looking for a APIs that can set and get video player rates. This way I can play the video in slow motion (or in fast motion, if needed). Please let me know how to accomplish this.
I greatly appreciate your help.
thanks
-Vittal
email-dot-vittal-at-gmail-dot-com

Hi @vittalk this should be possible given the current architecture but would require a small library change. I'd happily accept accept a pull request with this feature. You'll need to add a method which calls evaluatePlayerMethod with the appropriate YouTube iFrame player command. Let me know if you have any questions, thanks! https://developers.google.com/youtube/iframe_api_reference

Whoops, didn't mean to close this!


Is it possible to Implement a Cyber repl

Hello. Is it possible to implement a cyber repl? I am attempting to do so with the wasm-web build and I (understandably) cannot get values to persist in memory between eval runs. Is there any way to get this kind of thing working with cyber?

Currently the only way to persist vars is to bind a Map object created by the host which continues to persist across evals (it rebinds the map object everytime). Here's a test that demonstrates this: https://github.com/fubark/cyber/blob/13a7bef28a5dcc766e0694ce8d053b3dc0d9812e/test/behavior_test.zig#L672
But you might want something like Python, Lua, etc. where you can freely use variables without declaring them. Those languages are purely dynamic and have a global variable scope so it works well by default. One way to achieve the same effect in Cyber is to recompile an object method for each eval. This object type would contain a Map field and implement the magic method ($missingField, which doesn't exist atm.) Since methods allow you to reference members without an explicit self it would be emulating a global variable scope. This hasn't been implemented yet but it should work in theory.

Just had another idea... We could also expose an API to get all the static vars and increase their reference count by 1 and manage them so they aren't cleaned up for the next eval. Local vars would still be tricky to persist, but there could be a transpile step where var a = 123 could be replaced with var .a = 123 (the new syntax that will replace Root.a).

Ah nice, thank you for linking to a test/example. The ergonomics of seeing the global values against the imported map should actually work well for my needs.
Although yeah, would not work for a repl. The reference count trick def seems interesting. I definitely like the new .a syntax.


Misc. BACKUP edits

Clarify UX for locality-aware incremental backup / restore. Closes #7335.
Add information about full cluster restore and zone configs. Closes #7112.

This change is

Online preview: http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/279a7ecd35521b3710777347236faf5fb8dca2e0/
Edited pages:

v20.1/backup-and-restore-advanced-options.md

@ericharmeling do you mind doing one last review for me since ryan is OOO?

Online preview: http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/8d11d76ca5e676f00d511204c88d47e581e559ae/
Edited pages:

v20.1/backup-and-restore-advanced-options.md

Online preview: http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/34cfddbc6c1440877c8a52edbfa038fabd7e5601/
Edited pages:

v20.1/backup-and-restore-advanced-options.md


Invalid provisional profile error after using ipa build and deliver.

I've been using the fastlane tool provided at: https://fastlane.tools to generate provisional profiles and submit apps to iTunes connect.
Sequence of commands:
$fastlane init
$cert
$produce
$sigh
Following this the provisional profile corresponding to distribution on App store is automatically downloaded. After which the deliver command is executed and as per the guide this statement was added in the deliverfile -
ipa do
system("ipa build --verbose")
 "./AppName.ipa"
end
It successfully generates the .ipa file but fails to submit the app to iTunes connect. The following error is generated -

[15:57:54]: [Transporter Error Output]: ERROR ITMS-90161: "Invalid Provisioning Profile. The provisioning profile included in the bundle com.razeware.ScaryBugsZo [Payload/ScaryBugsZo.app] is invalid. [Missing code-signing certificate]. A Distribution Provisioning profile should be used when submitting apps to the App Store. For more information, visit the iOS Developer Portal."

Although on using the same provisional profile generate by fastlane I'm able to upload the build using xCode. My final goal is to automate submission of multiple apps on iTunes connect from a single apple ID. For this, sigh is successfully generating provisional profiles. I need to a way to automate uploading the build either by using deliver or some other method.
I believe the error is in using ipa build because it doesn't receive the certificate generated by sigh. Because manually generating a .ipa build from xCode by installing sigh provisional profile is working with deliver.

Check out this guide on code signing: https://github.com/KrauseFx/fastlane/blob/master/docs/CodeSigning.md
You'll need to pass the provisioning profile using environment variables to your Xcode project file

On using the method in codesigning.md, i added the following in the fastfile,

# use the UDID of the newly created provisioning profile
ENV["PROFILE_UDID"] = Actions.lane_context[Actions::SharedValues::SIGH_UDID]

ipa(scheme: "Release")

But following error is generated -

Basically, there's an issue between sigh and ipa (building the project) and deliver.

@Srthk Please manually run the command that is shown to you and share the full output :+1:

How can I manually run such a command on shell-
ENV["PROFILE_UDID"] = Actions.lane_context[Actions::SharedValues::SIGH_UDID]
I added them in the fast file as suggested in the guide and it gave the error shown in the image in my previous comment.

I think I might have resolved the issue. It worked when using ipa(configuration: "Release") instead of ipa(scheme: "Release"). Retesting it for a different app just to be sure.

Okay, let me know how it works out.

The above worked when uploading an updated build for an app but failed when uploading a brand new app on iTunes connect. The same error is coming again on using the Environment variable method. Is there a lane example of using code signing to generate .ipa file from scratch.
Error image: https://cloud.githubusercontent.com/assets/7152922/8775946/c0631178-2f0a-11e5-936d-ae54b4ac5311.png

Hi @Srthk!
Is this still an issue? I'm sure you've seen the new awesome gym tool. Did you give that a try? Is it working better for you?
Thanks!

Going to close this issue since it has been open for a while without comment.


Release 1.0.0-pre7

This PR updates the framework and the web library version to 1.0.0-pre7.
Third party dependencies for Java are updated upstream. Third party dependencies for JS are updated.

@armiol, PTAL.
We might want to incorporate the changes from #81 into the new version. Maybe, we should merge that PR first.


Upgrade to inventory 0.19.x.Final.

This require updates to how integration tests are run, because inventory
now needs datasources defined in the server.
This should enable you to go async again...

Huh, so seeing the tests on Travis passing for commit 1b15409 and NOT passing for e31d4f1 I wonder if the failures are environmental? The difference between inv 0.19.0.Final and 0.19.1.Final are JUST in the way they're built. The relevant code is completely identical.

@jmazzitelli, could you please try restarting those tests on Travis to see if this fails again?

On 20 Sep 2016, at 13:55, Lukas Krejci wrote:

@jmazzitelli, could you please try restarting those tests on Travis to
see if this fails again?

I restarted it.

Note, @metlos, I had restarted it once before and it had failed, I believe, at the same place twice.  We'll see how this one goes...

This seems to be failing consistently in the same place - at least, the past two times.

we need to find out why travis is failing here. It did it again, in the exact same spot. Something is wrong. And I suspect it travis-specific, but I am not sure.

I've created another pr to try and get this past Travis. It has an exceptionally nice round number #256 :smile:

What is the status of this one @metlos ?

I gave up on this...

we got it to go green on inventory 1.0.0.Final in another PR. closing this


Velocity progress event parameters undefined

The docs state, "The event implementation relies on library's native progress event if available." The progress event fires but the values for "complete", "remaining", "start", and "tweenValue" are undefined. Is this a bug or should I get the values a different way?

Hi, sorry about that, english is not my motherlanguage and probably I've not expressed the concept in the proper way in the docs. I was talking about, let's say, "internal implementation", it means that internally I use that event so the frequency is the same and it will fire almost in the same instants using Tweene or the native library by itself.
About those values, they are not available in any way. However there are two methods - not documented yet but they are already in the code - that you could use to get the current elapsed time (in seconds or milliseconds, based on the default time unit you have choosen) and current progress percent (a value between 0 and 1). Inside the progress method, you can refer them with this.time() and this.progress(), unless you have provided a different scope for the event handler callback.
You can easily obtain the "remaining" value doing something like this.duration() - this.time().
As a general rule, every event handler in Tweene has no parameters by default, but you can pass your own values to them and change the scope object too.

Thanks! I'm having a fun time with Tweene. I'm really looking forward to a seek feature.

I'm already working on the seek feature. I'm very busy at work too, so it will take a little bit more, but it is already under development.
Stay tuned :)


 It's not very intuitive. Suggestion: Lazy, as it is primary used for lazy initializing struct attributes.

Closed by #57


Using evaluate.py - is it functional?

Since I see no mention of it in anywhere, I'm wondering if evaluate.py is functional?
First I had to modify it to use it at all, then when I tried using it at all on my custom data, I got bad results despite knowing the model is performing quite well.
So to test it, I took 20 ground truth labels, copied them and added fake scores between 0.9 and 1.0. I may be misunderstanding mAP (low number of examples makes the metric weird, but I have 'perfect' detection here), but it seems I should be getting reasonably high scores? For cars, I get
Car<EMAIL_ADDRESS>0.70, 0.70:
bbox AP:27.2727, 54.5455, 63.6364
bev  AP:0.0000, 0.0000, 0.0000
3d   AP:0.0000, 0.0000, 0.0000
aos  AP:27.27, 54.55, 63.64

Not even consistent between evaluations. Why 0 BEV and 3D, is it not running on those metrics? I don't see anything to do with calibration in the eval code, so shouldn't be an issue with reference frames. I'm lost. Is something wrong with this code?

How did you fill the 2D information with your data when evaluation?

@jihanyang
On custom data I set the 2D bounding box to "0 0 50 50" and set all other fields to 0.
But as I explained above, even using the ground truth as "prediction labels", the score is low.

I have the same problem, don´t know why

I am also trying to figure out how to tweak the evaluation code to be useful with custom datasets. Still getting 0 on 3D metric.

me too

I still didnt figured it out. I wouldnt recommend to use the evaluation because there is a massive bug.

@jacoblambert
Hello, Have you ever evaluated on the official KITTI benchmark, Can I set 2D bb -KITTI required to (0, 0, 50, 50) since my detection is only BEV? Does it affect the evaluation result? Thank you

@hoangduyloc if you are using test.py then I think there is no problem.
This thread is about evaluate.py, it seems bugged. I've tried to disentangle the code but could not locate the problem yet.

@hoangduyloc if you are using test.py then I think there is no problem.
This thread is about evaluate.py, it seems bugged. I've tried to disentangle the code but could not locate the problem yet.

Oh, yes. I do if using for the test so we can set arbitrary. But when evaluating on Official KITTI Benchmark, It requires accurate 2D BB information. But the reason is I can't have accurate Height value because I predict on BEV image so it affects my evaluation.

Using the official (offline) KITTI cpp evaluation code, I confirmed there was nothing wrong with my labels. For example using the "fake" labels created from the ground truth ones (irrelevant classes removes, added scores) everything seeems fine:
start to eval image 2D bounding boxes...
car_detection AP: 100.000000 100.000000 100.000000
  start to compute aos ...
car_orientation AP: 100.000000 100.000000 100.000000
start to eval bird's eye view bounding boxes...
car_detection_ground AP: 100.000000 100.000000 100.000000
start to eval 3D bounding boxes...
car_detection_3d AP: 100.000000 100.000000 100.000000

and then evaluate.py results:
Car<EMAIL_ADDRESS>0.70, 0.70:
bbox AP:0.0425, 0.0535, 0.0719
bev  AP:0.0085, 0.0126, 0.0155
3d   AP:0.0043, 0.0052, 0.0066
aos  AP:0.03, 0.04, 0.05
Car<EMAIL_ADDRESS>0.70, 0.70:
bbox AP:0.0117, 0.0147, 0.0198
bev  AP:0.0023, 0.0035, 0.0043
3d   AP:0.0012, 0.0014, 0.0018
aos  AP:0.01, 0.01, 0.01
Car<EMAIL_ADDRESS>0.50, 0.50:
bbox AP:0.0425, 0.0535, 0.0719
bev  AP:0.0273, 0.0366, 0.0466
3d   AP:0.0150, 0.0222, 0.0284
aos  AP:0.03, 0.04, 0.05
Car<EMAIL_ADDRESS>0.50, 0.50:
bbox AP:0.0117, 0.0147, 0.0198
bev  AP:0.0075, 0.0101, 0.0128
3d   AP:0.0041, 0.0061, 0.0078
aos  AP:0.01, 0.01, 0.01

I can't figure out what's wrong with the evaluation.py code that is different from the normal evaluation...

Since I couldn't solve this in PCDet repo, I'm resorting to using official eval code. I made some script to transfer whatever your format is to KITTI format, then you can run the cpp code simply: https://github.com/jacoblambert/label_to_kitti_format

@jacoblambert I think the problem you mention is the same as the one discussed here and here. The rotated IOU algorithm in the eval library cannot handle the case where the orientations are identical (this is a bug of course).


Bug revise of MutatingWebhookName mismatching

Fixes #702
Proposed Changes

Modify referenced MutatingWebhookName of KafkaChannel.

ref. https://github.com/kaidotdev/eventing-contrib/blob/fix-kafka-mutating-webhook-name/kafka/channel/config/500-webhook-configuration.yaml#L18

Release Note

@googlebot I signed it!

/ok-to-test

/test pull-knative-eventing-contrib-build-tests

/test pull-knative-eventing-contrib-build-tests

/lgtm
/approve


Update Why Flax NNX guide

@cgarciae @IvyZX

Why Flax NNX is now in the reRestructuredText format instead of Markdown.
Changing the format.

Rebasing, then reopening the PR.

:thinking: RTD build failures cc @cgarciae

Removing the legacy quick_start to fix the RTF test, as discussed @IvyZX @cgarciae

Fixing how a numbered list (1.... 2.... 3...) is rendered.

Just waiting for the preview to complete.
https://readthedocs.org/projects/flax/builds/25896179/

thanks!


⚠ AtmoLive02 Server has degraded performance

In d1e89e8, AtmoLive02 Server ($ATMOLIVE02) experienced degraded performance:

HTTP code: 200
Response time: 12385 ms

Resolved: AtmoLive02 Server performance has improved in 85baff1.


fix build with recent boost version

Hi,
This PR mainly use a const ref in a boost::fusion::vector, to fix build in recent boost versions.
Cf. https://github.com/stack-of-tasks/pinocchio/issues/511
It also add CI, but not for 14.04.
Right now, the tests are not passing, so this raises #128

Are you compiling with C++11 on?

Yes, this bug appears only in C++11.
If you try https://godbolt.org/z/aHrEBe and add -std=c++98 or -std=c++11, it will work in all boost version in the first case, and you will have compilation errors with boost 1.66 / 1.67 in the second.


handle private repo

Fix of error observed here: https://github.com/insightsengineering/citril/actions/runs/10437589102/job/28903940741

introduce max-iter param
better while loop stopping condition
better error printout

I have read the CLA Document and I hereby sign the CLA


Feas_history, SVM, reweighting, improved KNN with tighttol parameter.

Coverage reduction due to a finicky test. Everything passing otherwise. Merging.

Coverage reduction due to a finicky test. Everything passing otherwise. Merging.


Blue-Button doesn't parse through all of the Telecom use cases

Blue-Button currently doesn't have the functionality of parsing through multiple telecom use cases.
ie. Home, Work, Mobile, Email
Is there an expected update for this feature?

I've updated the repository description to reflect that the project isn't really under active development anymore. I'm happy to review pull requests if you end up working on issue. I've also linked to a fork which I haven't check out in a long time, but seems to be under more active development (https://github.com/amida-tech/blue-button) and so may be worth trying out

Thanks @sankarravi, I've been meaning to do that. I feel the same way, happy to look at PRs, but generally pointing people to other projects/efforts.

Thanks for the update. I'll checkout the other fork.

Just curious, was this government sponsored? ie. Grant work...

@jonathanparrish Yea, a bit of everything. The Blue Button initiative has had broad support across federal gov (mostly HHS, VA), non-profits (like the California Health Care Foundation, and private industry (like Amida). OSS FTW!


Decoding of publicKeyObject not possible?

Hi 👋
I have a very weird problem. I basically follow the instruction to decode the  attestationObject and get the publicKeyObject. However, it does not seem to work for me. I am basically copying the code from the website, but it already starts with the cbor.decode not being able to decode the attestationObject. After a lot of trying I was able to get it working by encoding the object as Base64 buffer. If I don't do this the decoding fails with "data errors".
  const options: PublicKeyCredentialCreationOptionsJSON = {
    challenge: getCreationChallenge?.toString(),
    attestation: "direct",
    pubKeyCredParams: [
      {
        alg: -7,
        type: "public-key",
      },
    ],
    rp: {
      id: "localhost",
      name: "SimpleWebAuthn",
    },
    user: {
      id: "5678",
      displayName: "username",
      name: "username",
    },
    timeout: 1000,
    authenticatorSelection: {
      authenticatorAttachment: "platform",
    },
    excludeCredentials: [],
  };

    const cred = await startRegistration(options);
    const decoded = cbor.decode(Buffer.from(cred.response.attestationObject, "base64"));
    console.log("Decoded:", decoded);
    const { authData } = decoded;
    console.log("Auth data:", authData);
    // get the length of the credential ID
    const dataView = new DataView(new ArrayBuffer(2));
    const idLenBytes = authData.slice(53, 55);
    idLenBytes.forEach((value, index) => dataView.setUint8(index, value));
    const credentialIdLength = dataView.getUint16();

    // get the credential ID
    const credentialId = authData.slice(55, 55 + credentialIdLength);

    // get the public key object
    const publicKeyBytes = authData.slice(55 + credentialIdLength);

    // the publicKeyBytes are encoded again as CBOR
    const publicKeyObject = cbor.decode(publicKeyBytes.buffer);
    console.log("Public Key:", publicKeyObject);

The output looks like following:
Decoded:
{fmt: 'packed', attStmt: {…}, authData: Uint8Array(164)}
attStmt
:
{alg: -7, sig: Uint8Array(71)}
authData
:
Uint8Array(164) [73, 150, 13, 229, 136, 14, 140, 104, 116, 52, 23, 15, 100, 118, 96, 91, 143, 228, 174, 185, 162, 134, 50, 199, 153, 92, 243, 186, 131, 29, 151, 99, 69, 0, 0, 0, 0, 173, 206, 0, 2, 53, 188, 198, 10, 100, 139, 11, 37, 241, 240, 85, 3, 0, 32, 75, 163, 246, 187, 39, 249, 246, 251, 139, 88, 71, 14, 158, 23, 247, 135, 190, 129, 158, 112, 203, 85, 24, 9, 225, 228, 108, 195, 178, 197, 40, 69, 165, 1, 2, 3, 38, 32, 1, 33, 88, 32, 24, 0, 231, …]
fmt
:
"packed"
[[Prototype]]
:
Object

Auth data: Uint8Array(164) [73, 150, 13, 229, 136, 14, 140, 104, 116, 52, 23, 15, 100, 118, 96, 91, 143, 228, 174, 185, 162, 134, 50, 199, 153, 92, 243, 186, 131, 29, 151, 99, 69, 0, 0, 0, 0, 173, 206, 0, 2, 53, 188, 198, 10, 100, 139, 11, 37, 241, 240, 85, 3, 0, 32, 75, 163, 246, 187, 39, 249, 246, 251, 139, 88, 71, 14, 158, 23, 247, 135, 190, 129, 158, 112, 203, 85, 24, 9, 225, 228, 108, 195, 178, 197, 40, 69, 165, 1, 2, 3, 38, 32, 1, 33, 88, 32, 24, 0, 231, …]

Public Key:
{fmt: 'packed', attStmt: {…}, authData: Uint8Array(164)}
attStmt
:
{alg: -7, sig: Uint8Array(71)}
authData
:
Uint8Array(164) [73, 150, 13, 229, 136, 14, 140, 104, 116, 52, 23, 15, 100, 118, 96, 91, 143, 228, 174, 185, 162, 134, 50, 199, 153, 92, 243, 186, 131, 29, 151, 99, 69, 0, 0, 0, 0, 173, 206, 0, 2, 53, 188, 198, 10, 100, 139, 11, 37, 241, 240, 85, 3, 0, 32, 75, 163, 246, 187, 39, 249, 246, 251, 139, 88, 71, 14, 158, 23, 247, 135, 190, 129, 158, 112, 203, 85, 24, 9, 225, 228, 108, 195, 178, 197, 40, 69, 165, 1, 2, 3, 38, 32, 1, 33, 88, 32, 24, 0, 231, …]
fmt
:
"packed"
[[Prototype]]
:
Object

So, the weird thing is that somehow my publicKeyObject looks again like my attestationObject? Also the function getUint16 is supposed to have an offset parameter (see here)(This is currently wrong on the website). However this does also not change the behaviour for me. Any idea what is going on?
One remark: It seems strange, that there is no convenient way to decode the whole attestation object and that the users have to do it themselves. Is there a reason?
Thank you so much for your help!
Best,
Hagen

Hello @h4gen, I haven't had a lot of time to dive into this, but one thing that might be throwing things off is trying to use Buffer.from(..., 'base64') to decode any values out of startRegistration(). Base64URL is used exclusively in the public API of any of SimpleWebAuthn's methods, and so trying to decode these using base64 instead is probably not helping your attempts to manually peel apart these data structures.

I'm going to close this out, it's been three weeks without a response. Please feel free to re-open if you need to continue troubleshooting this.

@h4gen did you manage to extract the public key somehow?
@MasterKale I see it should be easy as the following snippet:
const pubkey = await crypto.subtle.importKey(
  'spki',
  attestation.getPublicKey(),
  { name: "ECDSA", namedCurve: "P-256" },
  true,
  ['verify']
);

But how do I get the  that decodedAttestationObject.attStmt.attestedCredentialData exposing the getPublicKey method?


Add keras freeze graph model for tensorflow example

Some issues have mentioned that they have some need to freeze graph model to use for tensorflow. I'm providing an example here.
https://github.com/fchollet/keras/issues/4491

Does not clearly belong in core Keras; please consider submitting to Keras contrib repo instead.

Where is the keras contrib?


Enable look-up by secondary index in cache

This is an enhancement to our cache to let you optionally create a store that can build a secondary index on its data.  The main use case is I want to have a store that holds a bunch of resources across namespaces, and I want to be able to then interface with that store by asking to retrieve only the resources in namespace X.
If folks are good with this pattern, I will adopt it in the admission control handlers for resource quota and limit range.
@smarterclayton @ironcladlou @erictune

Really cool idea. I made some comments inline.

@ironcladlou thanks for the feedback, will update per your comments.
after speaking with @markturansky , we thought it would be useful to support multiple index funcs.  I am going to take another pass at this work with that concept in mind.

The single index function could also be a composite of index functions.

Added support for giving multiple index functions, and then ability to get an index by its name.
Addressed @ironcladlou feedback to make sure cache works fine as both an Indexer and a Store.
Please review and provide any further feedback.

Updated to ensure that when updating an object in the indices that it handles removal before addition.  Current indexing is incremental.  An obvious solution to limiting lock contention is not there for me right now because I need the oldObject in the context of a lock in order to do removal.  I think this is a good first step and should not block the PR.

Any other comments or issues with this PR?

LGTM

LGTM

will merge this tomorrow if the oncall doesn't get to it first.


Issue 461: Update login page

This pull request includes:

Updated loginProviders.html to fix an issue with the rendering of the UI on UAT where the ESA-API registered service is configured and shouldn't be displayed to the user.
Added additional makefile recipes for repeated tasks.
Added volume mount to docker-compose.yml so that config settings can be modified without having to rebuild the CAS image. This does require the Tomcat service to be restarted, which a make target was added to facilitate the restart.

@bsatoriu I've successfully deployed this to DIT. Since I don't have access to deploy to UAT, could you please review this code, and if it looks good, merge it in and deploy the WAR file that is on DIT located at ~/cas.war to UAT?

Looks good @anilnatha. This is deployed to UAT.

Thanks @bsatoriu.  I take it you didn't come across any errors in the logs like we did during the first deployment?
Also, were you still planning on updating the description we observed in UAT, "MAAP API 10000- wildcard."

@anilnatha, I just updated the service name and description on UAT.
I actually came across an issue building the docker image locally (see exception below). Might be a configuration problem on my side. I'll DM you if I need help getting that resolved.
bsatoriu@RAYL-C01304 maap-auth-cas % sudo make build-images -f makefile
Password:
docker-compose build
Building cas
[+] Building 127.8s (11/32)
 => [internal] load build definition from Dockerfile                                                                                0.0s
 => => transferring dockerfile: 2.58kB                                                                                0.0s
 => [internal] load .dockerignore                                                                                0.0s
 => => transferring context: 72B                                                                                0.0s
 => [internal] load metadata for docker.io/library/ubuntu:18.04                                                                                3.2s
 => [internal] load build context                                                                                0.0s
 => => transferring context: 640.72kB                                                                                0.0s
 => [ 1/28] FROM docker.io/library/ubuntu:18.04@sha256:0fedbd5bd9fb72089c7bbca476949e10593cebed9b1fb9edf5b79dbbacddd7d6                                                                                4.5s
 => => resolve docker.io/library/ubuntu:18.04@sha256:0fedbd5bd9fb72089c7bbca476949e10593cebed9b1fb9edf5b79dbbacddd7d6                                                                                0.0s
 => => sha256:0fedbd5bd9fb72089c7bbca476949e10593cebed9b1fb9edf5b79dbbacddd7d6 1.41kB / 1.41kB                                                                                0.0s
 => => sha256:fc0d6af5ab38dab33aa53643c4c4b312c6cd1f044c1a2229b2743b252b9689fc 529B / 529B                                                                                0.0s
 => => sha256:5a214d77f5d747e6ed81632310baa6190301feeb875cf6bf9da560108fa09972 1.46kB / 1.46kB                                                                                0.0s
 => => sha256:284055322776031bac33723839acb0db2d063a525ba4fa1fd268a831c7553b26 26.71MB / 26.71MB                                                                                3.0s
 => => extracting sha256:284055322776031bac33723839acb0db2d063a525ba4fa1fd268a831c7553b26                                                                                1.4s
 => [ 2/28] RUN apt-get update && apt-get install -y default-jdk supervisor curl && rm -rf /var/lib/apt/lists/* && apt-get clean                                                                        118.2s
 => [ 3/28] RUN groupadd tomcat                                                                                0.3s
 => [ 4/28] RUN useradd -s /bin/false -g tomcat -d /home/tomcat tomcat                                                                                0.4s
 => [ 5/28] WORKDIR /tmp                                                                                0.0s
 => [ 6/28] RUN curl -O https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.54/bin/apache-tomcat-9.0.54.tar.gz                                                                                0.6s
 => ERROR [ 7/28] RUN echo "83430f24d42186ce2ff51eeef2f7a5517048f37d9050c45cac1e3dba8926d61a1f7f5aba122a34a11ac1dbdd3c1f6d98671841047df139394d43751263de57c3 /tmp/apache-tomcat-9.0.54.tar.gz" | sha512s  0.4s
------
 > [ 7/28] RUN echo "83430f24d42186ce2ff51eeef2f7a5517048f37d9050c45cac1e3dba8926d61a1f7f5aba122a34a11ac1dbdd3c1f6d98671841047df139394d43751263de57c3 /tmp/apache-tomcat-9.0.54.tar.gz" | sha512sum -c -:
#10 0.401 sha512sum: WARNING: 1 computed checksum did NOT match
#10 0.401 /tmp/apache-tomcat-9.0.54.tar.gz: FAILED
------
executor failed running [/bin/sh -c echo "${SHA} /tmp/apache-tomcat-9.0.54.tar.gz" | sha512sum -c -]: exit code: 1
ERROR: Service 'cas' failed to build : Build failed
make: *** [build-images] Error 1

@bsatoriu The URL used to download Apache tomcat is returning a 404 at the moment. I've had this happen on other projects when needing to download Apache files where it intermittently goes down and comes back online randomly.

@bsatoriu I have found another location where they store their binaries that persists older versions.
I'll get this fixed and push it out so you can test the docker config.


Window colours?

Would be neat to show how to customise colours of windows, not just the Theme. For example, when Light Theme is picked, the Terminal window is practically impossible to use. Seems to be no way of selecting foreground / background colours for this window, I was hoping this article would explain how.

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

ID: 86994b58-45d2-1490-02e9-3d1e7b09a23e
Version Independent ID: 08ac7422-416b-4286-27d1-741b5c98a6bd
Content: Customizing the IDE - Visual Studio for Mac
Content Source: mac/customizing-the-ide.md
Product: visual-studio-mac
Technology: vs-ide-general
GitHub Login: @heiligerdankgesang
Microsoft Alias: dominicn

@jeremy-songtradr -- thank you for your feedback.  Please let me know if this page is helpful:

How to: Change fonts and colors for the editor in Visual Studio

@WilliamAntonRohm thanks for the reply - but this does not cover the question.
Mac Visual Studio, as far as I can tell, has not got the same options as the link you sent me, which is for Windows Visual Studio.
https://docs.microsoft.com/en-gb/visualstudio/ide/reference/how-to-change-fonts-and-colors-in-the-editor?view=vs-2019
If you can point me in the direction of the same page in MacOS Visual Studio, that would be great, but I can't find it. The only options I can find are under Preferences -> Environment -> Visual Style to select a theme.

@jeremy-songtradr -- thank you for your followup.  This article may be more helpful, so you can create a custom scheme:

Applying Languages and Themes


Catch executes query twice

If I handle catch in a separate section of code it seems to run the query twice.
var db = knex('product_group')
        .select('id', 'brand', 'variety')
        .where({
            brand: 'Blah'
        })
        .orderBy('variety');

    db.then(function (groups) {
        return res.json(groups);
    });

    db.catch(next);

{ __cid: '__cid1',
  method: 'select',
  options: undefined,
  bindings: [ 'Blah' ],
  sql: 'select "id", "brand", "variety" from "product_group" where "brand" = $1 order by "variety" asc' }
{ __cid: '__cid2',
  method: 'select',
  options: undefined,
  bindings: [ 'Blah' ],
  sql: 'select "id", "brand", "variety" from "product_group" where "brand" = $1 order by "variety" asc' }

    var db = knex('product_group')
        .select('id', 'brand', 'variety')
        .where({
            brand: 'Blah'
        })
        .orderBy('variety');

    db.then(function (groups) {
        return res.json(groups);
    }).catch(next);

{ __cid: '__cid1',
  method: 'select',
  options: undefined,
  bindings: [ 'Blah' ],
  sql: 'select "id", "brand", "variety" from "product_group" where "brand" = $1 order by "variety" asc' }

According to issue 4760, calling .then() more than once will run the query more than once, even though the documentation says otherwise. Without digging deeper, this appears to be the same or a similar issue, and that calling .then() and also .catch() will run the query multiple times. Either way, issues like these two seem like showstoppers for using knex with promise error handling, or even with complex async/await logic. When writing such logic, there are reasons to await a query in more than one place in the code so that everything runs as expected, even when queries may complete at different times.
#4760


Update copyright footer in conf.py

Change year from 2013 to 2020 in copyright footer.

Thanks for the contribution, but dates in copyright notices should not be updated - the date indicates the date of first publication. See this document for an explanation.


Multiple forwarding rules

Hey,
Is it possible to have several forwarding rules?
For example:
one@example.com:one@output.com,two<EMAIL_ADDRESS>Note I separated two rules with a comma

Try semicolon as divider:
one@example.com:one@output.com,two<EMAIL_ADDRESS>See https://github.com/huan/docker-simple-mail-forwarder/blob/master/entrypoint.sh

Great, can see it as an example in the code, also now when searching for a semicolon in the readme I found:
https://github.com/huan/docker-simple-mail-forwarder#3-hardcore
Thanks!

it does not work... if i use just one email rule everything works correctly... but if  add second, i see everything same in logs, it generate dkim stuff for both domains... but smtp not listen on 25 port... only difference is i added semicolon separated next domain
btw. i use docker-compose.
example i changed just domains i dont want share real ones... both are correctly set
this does not work
- SMF_CONFIG='@xyz.com:xyz@gmail.com<EMAIL_ADDRESS>this is ok
SMF_CONFIG='<EMAIL_ADDRESS>

nope it just does not work... i really hate people like you, who are not able make so simple service like that, and spam google results with your bad work... go to hell...