Converting integer :values range to a minimum/maximum numeric Range

https://github.com/swagger-api/swagger-core/wiki/Datatypes

Some model properties may be restricted to a fixed set of values. To support this use case, the property field can have an optional enum property, which supports a list of allowable values, or a minimum/maximum numeric Range. For example:

"Pet": {
  "id": "Pet",
  "description": "A pet is a person's best friend",
  "required": [
    "name",
    "id"
  ],
  "properties": {
    "status": {
      "type": "string",
      "description": "pet status in the store",
      "enum": [
        "available",
        "pending",
        "sold"
      ]
    },
    "happiness": {
      "type": "integer",
      "format": "int32",
      "description": "how happy the Pet appears to be, where 10 is 'extremely happy'",
      "minimum": 1,
      "maximum": 10
    },
  ...

So the Ineteger Range should be converted to minimum/maximum numeric Range, right?

The string range can be converted to string, and the Integer range can be converted to a minimum/maximum numeric Range.As this, it would avoid the large range problem,but it's not perfect.

I see. I think I want to merge this, CHANGELOG?

updated.


pkg/selinux: various fixes

TestSELinux was not setting the MCS dir which caused the paths of every
MCS to be in the root of the file system (the path is calculated as
fmt.Sprintf("%s/%s", mcsdir, mcs) and mcsdir was the empty string by
default). This was making the test to fail when it runs as non-root.
The test failure was non-obvious because of the way the algorithm to get
a unique MCS is implemented. We first try to create the MCS file with a
random category pair and, if it doesn't work, we continue with a
different random category pair. Since we can't write to the MCS
directory, we'll continue doing this until the test times out and we
don't print any errors when we can't create the MCS file.
Let's clean this package a bit.

Incorporated #2724 <3

LGTM but could do with another review, @lucab ?

Aside from two cases where the error checking looks weird, LGTM.

I would not merge as is. A bunch of remarks:

error reporting in general looks weird
this is effectively switching from crypto/rand to math/rand. Commit should mention somewhere why it makes sense given current usage
this looks like we are further forking an already smelly code, which is not rkt specific. Can't this be externalized to something better instead?

The selinux package is part of libcontainer, so we can either pull in all of libcontainer or live with a fork.

I addressed https://github.com/coreos/rkt/pull/2723#discussion_r65220880 and reverted to using crypto/rand.
I opened https://github.com/coreos/rkt/issues/2727 to discuss externalizing pkg/selinux.

This looks already better to me. Let's squash this changes in two logical commits (test fixes and code package cleanup) and I'll have another pass at it. That way it should also be easier to move upstream and ignite the discussion there.

Done.

Fixes https://github.com/coreos/rkt/issues/2711

LGTM now. I'm just bouncing this back to @jonboulle for a final double check given the multiple reworks.

LGTM


Replace ReactPHP with Icicle

https://github.com/icicleio/icicle
Let's try it out. The current implementation isn't too heavily dependent on ReactPHP. Mostly interested in Icicle's concurrency module.

Here's an idea, why not make the core project separate/abstracted enough, that you can use either.

Closing this issue because I'm not really wanting to switch frameworks for the time being. :)


Running example fails on computation of forces

I am running the example script with the following package versions
moleculekit 1.5.6
torch 1.13.0a0+08820cb
Cuda is available, and there is one device available.
from torchmd.forces import Forces
print(torch.cuda.is_available())
print(torch.cuda.device_count())
print(torch.cuda.current_device())
forces = Forces(parameters, cutoff=9, rfa=True, switch_dist=7.5)
# Evaluate current energy and forces. Forces are modified in-place
Epot = forces.compute(system.pos, system.box, system.forces, returnDetails=True)

print(Epot)#print(system.forces)
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
Input In [20], in <cell line: 7>()
      5 forces = Forces(parameters, cutoff=9, rfa=True, switch_dist=7.5)
      6 # Evaluate current energy and forces. Forces are modified in-place
----> 7 Epot = forces.compute(system.pos, system.box, system.forces, returnDetails=True)

File /opt/conda/lib/python3.8/site-packages/torchmd/forces.py:278, in Forces.compute(self, pos, box, forces, returnDetails, explicit_forces)
    276     pot[i][v] += E.sum()
    277 elif v == "lj":
--> 278     E, force_coeff = evaluate_LJ(
    279         nb_dist,
    280         ava_idx,
    281         self.par.mapped_atom_types,
    282         self.par.A,
    283         self.par.B,
    284         self.switch_dist,
    285         self.cutoff,
    286         explicit_forces,
    287     )
    288     pot[i][v] += E.sum()
    289 elif v == "repulsion":

File /opt/conda/lib/python3.8/site-packages/torchmd/forces.py:374, in evaluate_LJ(dist, pair_indeces, atom_types, A, B, switch_dist, cutoff, explicit_forces)
    371 def evaluate_LJ(
    372     dist, pair_indeces, atom_types, A, B, switch_dist, cutoff, explicit_forces=True
    373 ):
--> 374     atomtype_indices = atom_types[pair_indeces]
    375     aa = A[atomtype_indices[:, 0], atomtype_indices[:, 1]]
    376     bb = B[atomtype_indices[:, 0], atomtype_indices[:, 1]]

RuntimeError: indices should be either on cpu or on the same device as the indexed tensor (cpu)

Hi, can you pull the master branch and try again? I made a small fix which might solve this https://github.com/torchmd/torchmd/commit/851eb99eb4080a4b1943fae1d42f54eee1e137f9

It's still failing on that line with a different error.
from torchmd.forces import Forces
print(torch.cuda.is_available())
print(torch.cuda.device_count())
print(torch.cuda.current_device())
forces = Forces(parameters, cutoff=9, rfa=True, switch_dist=7.5)
Evaluate current energy and forces. Forces are modified in-place
Epot = forces.compute(system.pos, system.box, system.forces, returnDetails=True)

print(Epot)#print(system.forces)
True
1
0

RuntimeError                              Traceback (most recent call last)
Input In [10], in <cell line: 5>()
3 print(torch.cuda.device_count())
4 print(torch.cuda.current_device())
----> 5 forces = Forces(parameters, cutoff=9, rfa=True, switch_dist=7.5)
6 # Evaluate current energy and forces. Forces are modified in-place
7 Epot = forces.compute(system.pos, system.box, system.forces, returnDetails=True)
File /opt/conda/lib/python3.8/site-packages/torchmd/forces.py:40, in Forces.init(self, parameters, terms, external, cutoff, rfa, solventDielectric, switch_dist, exclusions)
38 self.par = parameters
39 if terms is None:
---> 40     raise RuntimeError(
41         'Set force terms or leave empty brackets [].\nAvailable options: "bonds", "angles", "dihedrals", "impropers", "1-4", "electrostatics", "lj", "repulsion", "repulsioncg".'
42     )
44 self.energies = [ene.lower() for ene in terms]
45 for et in self.energies:
RuntimeError: Set force terms or leave empty brackets [].
Available options: "bonds", "angles", "dihedrals", "impropers", "1-4", "electrostatics", "lj", "repulsion", "repulsioncg".

forces = Forces(parameters, cutoff=9, rfa=True, switch_dist=7.5, terms=["bonds", "angles", "dihedrals", "impropers", "1-4", "electrostatics", "lj"])
Try with this


Remove Series wrappers for OnlineStats

Now that we have new releases of OnlineStats[Base], we no longer need to wrap stats in a Series.

Does this require a version update in REQUIRE?

Ah, yep.  Added it.


Flutter build apk failed

this is my log:
Flutter crash report; please file at https://github.com/flutter/flutter/issues.
command
flutter build apk
exception
ProcessException: ProcessException: Permission denied
Command: /home/saeedhpro/other/softwares/flutter/.pub-cache/hosted/pub.dartlang.org/device_id-0.2.0/android/gradlew -I=/home/saeedhpro/other/softwares/flutter/packages/flutter_tools/gradle/aar_init_script.gradle -Pflutter-root=/home/saeedhpro/other/softwares/flutter -Poutput-dir=/home/saeedhpro/works/projects/arabzade/send_tracking_data/send_tracking_app/build/app -Pis-plugin=true -Ptarget-platform=android-arm,android-arm64,android-x64 assembleAarRelease
#0      _DefaultProcessUtils.run (package:flutter_tools/src/base/process.dart:266:37)
<asynchronous suspension>
#1      buildGradleAar (package:flutter_tools/src/android/gradle.dart:548:33)
#2      buildPluginsAsAar (package:flutter_tools/src/android/gradle.dart:711:13)
<asynchronous suspension>
#3      buildGradleApp (package:flutter_tools/src/android/gradle.dart:257:11)
#4      _AsyncAwaitCompleter.start (dart:async-patch/async_patch.dart:45:6)
#5      buildGradleApp (package:flutter_tools/src/android/gradle.dart:218:28)
#6      buildGradleApp (package:flutter_tools/src/android/gradle.dart:415:19)
#7      _asyncThenWrapperHelper.<anonymous closure> (dart:async-patch/async_patch.dart:73:64)
#8      _rootRunUnary (dart:async/zone.dart:1134:38)
#9      _CustomZone.runUnary (dart:async/zone.dart:1031:19)
#10     _FutureListener.handleValue (dart:async/future_impl.dart:139:18)
#11     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:680:45)
#12     Future._propagateToListeners (dart:async/future_impl.dart:709:32)
#13     Future._completeWithValue (dart:async/future_impl.dart:524:5)
#14     Future._asyncComplete.<anonymous closure> (dart:async/future_impl.dart:554:7)
#15     _rootRun (dart:async/zone.dart:1126:13)
#16     _CustomZone.run (dart:async/zone.dart:1023:19)
#17     _CustomZone.runGuarded (dart:async/zone.dart:925:7)
#18     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:965:23)
#19     _microtaskLoop (dart:async/schedule_microtask.dart:43:21)
#20     _startMicrotaskLoop (dart:async/schedule_microtask.dart:52:5)
#21     _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:118:13)
#22     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:175:5)

flutter doctor
[✓] Flutter (Channel stable, v1.12.13+hotfix.9, on Linux, locale en_US.UTF-8)
    • Flutter version 1.12.13+hotfix.9 at /home/saeedhpro/other/softwares/flutter
    • Framework revision f139b11009 (8 weeks ago), 2020-03-30 13:57:30 -0700
    • Engine revision af51afceb8
    • Dart version 2.7.2

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /home/saeedhpro/Android/Sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-29, build-tools 29.0.2
    • ANDROID_HOME = /home/saeedhpro/Android/Sdk
    • Java binary at: /softwares/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
    • All Android licenses accepted.

[✓] Android Studio (version 3.5)
    • Android Studio at /softwares/android-studio
    • Flutter plugin version 42.1.1
    • Dart plugin version 191.8593
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)

[✓] Proxy Configuration
    • HTTP_PROXY is set
    • NO_PROXY is .github.com,.getcomposer.org,.laravel.com,.packagist.org,.npmjs.org,localhost,<IP_ADDRESS>,.yarnpkg.com,https://production.cloudflare.docker.com
    • NO_PROXY contains <IP_ADDRESS>
    • NO_PROXY contains localhost

[✓] Connected device (2 available)
    • SM J701F          • 5200acc94e1cb43d    • android-arm • Android 9 (API 28)
    • Samsung Galaxy S6 • <IP_ADDRESS>:5555 • android-x86 • Android 7.1.1 (API 25)

• No issues found!

Related to  https://github.com/flutter/flutter/issues/47038 https://github.com/flutter/flutter/issues/50880


[Editor] Add a new base class to allow to add a drawing in the SVG layer.

This patch makes a clear separation between the way to draw and the editing stuff. It adds a class DrawEditor which should be extended in order to create new drawing tools.
As an example, the ink tool has been rewritten in order to use it.

/botio-linux preview

/botio test

/botio integrationtest

@calixteman sorry for bugging you, but I noticed that the editor stops working completely if you try to pinch to zoom, none of the tools work after that.

@calixteman sorry for bugging you, but I noticed that the editor stops working completely if you try to pinch to zoom, none of the tools work after that.
device used: iPad Pro 4gen with iPadOS 17.7.1

I know it doesn't work correctly with either this PR or without, it's why I already mentioned in https://github.com/mozilla/pdf.js/pull/19108#issuecomment-2500784290 that I've a patch built on top of this one in order to fix all the touch issues when drawing.

Okay, sorry for not understanding it in the first place! thank you for explaining

Some of the browsertest failures seem to be real errors, see e.g.
TEST-UNEXPECTED-FAIL | test failed tracemonkey-highlight-editor-print | in firefox | page1 round 1 | Loading PDF document: can't access property Symbol.iterator, source is undefined at _nextTask/<@http://<IP_ADDRESS>:49433/test/driver.js:705:47

/botio test

/botio integrationtest

/botio browsertest


nixopsUnstable fails to build on nixos-unstable (66e8dceabcd)

Steps To Reproduce
Steps to reproduce the behavior:

nix-shell -p nixopsUnstable

Build log
[root@ralph:~]# nix-shell -p nixopsUnstable
this derivation will be built:
  /nix/store/kyrsh82b697w77py5m89jwwxyghxwjws-nixops-with-plugins-2.0.0-pre-7220cbd.drv
building '/nix/store/kyrsh82b697w77py5m89jwwxyghxwjws-nixops-with-plugins-2.0.0-pre-7220cbd.drv'...
Sourcing python-remove-tests-dir-hook
Sourcing python-catch-conflicts-hook.sh
Sourcing python-remove-bin-bytecode-hook.sh
Sourcing pip-build-hook
Using pipBuildPhase
Using pipShellHook
Sourcing pip-install-hook
Sourcing python-imports-check-hook.sh
Using pythonImportsCheckPhase
Sourcing python-namespaces-hook
unpacking sources
unpacking source archive /nix/store/0ynbnj0dnjagpgfvcvban49ggz0w2igw-nixops-7220cbd
source root is nixops-7220cbd
setting SOURCE_DATE_EPOCH to timestamp 315619200 of file nixops-7220cbd/tests/unit/test_util.py
patching sources
Removing path dependencies
Finished removing path dependencies
Removing git dependencies
Finished removing git dependencies
installing
Running Sphinx v4.5.0
making output directory... done

Exception occurred:
  File "/build/nixops-7220cbd/nixops/state.py", line 10, in <module>
    class StateDict(collections.MutableMapping):
AttributeError: module 'collections' has no attribute 'MutableMapping'
The full traceback has been saved in /build/sphinx-err-go4bjf21.log, if you want to report the issue to the developers.
Please also report this if it was a user error, so that a better error message can be provided next time.
A bug report can be filed in the tracker at <https://github.com/sphinx-doc/sphinx/issues>. Thanks!
error: builder for '/nix/store/kyrsh82b697w77py5m89jwwxyghxwjws-nixops-with-plugins-2.0.0-pre-7220cbd.drv' failed with exit code 2

Notify maintainers
@adisbladis @aminechikhaoui @domenkozar @edolstra @rbvermaa
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[root@ralph:~]# nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 5.15.47, NixOS, 22.11 (Raccoon), 22.11pre387779.66e8dceabcd`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.9.1`
 - channels(root): `"nixos"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

Looks like there is already a PR to address this at #178811
And fwiw I had to bisect this to fix my config, first bad commit is 11ea0e99b713744b5e76141fb26a3d4b4d16c507

Closing since the linked PR was merged. (Not sure why merge of the linked PR didn't close this...)


Incorrect agent result

Not found as a BOT:
APIs-Google (+https://developers.google.com/webmasters/APIs-Google.html)
Source https://support.google.com/webmasters/answer/1061943?hl=en

Thanks for this. Would you like to submit a PR?


chore(deps): update dependency @rollup/plugin-commonjs to v22

Description

Additional context

What is the purpose of this pull request?

[x] Bug fix
[ ] New Feature
[ ] Documentation update
[ ] Other

Before submitting the PR, please make sure you do the following

[x] Read the Contributing Guidelines.
[x] Read the Pull Request Guidelines and follow the Commit Convention.
[x] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
[x] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
[x] Ideally, include relevant tests that fail without this PR but pass with it.

@NMinhNguyen Are you still working on this PR?

@NMinhNguyen Are you still working on this PR?

Not actively, no, sorry. Feel free to pick up where I left off

@NMinhNguyen Are you still working on this PR?

Not actively, no, sorry. Feel free to pick up where I left off

Thanks for the quick reply.
It seems we need to follow the advice given here to make it all work again, but I'm completely unfamiliar with this area of the codebase so I'd have a difficult time taking this on.

Interesting, test-serve works fine locally for me. This should fix the build errors https://github.com/vitejs/vite/pull/7894/commits/8b43995e89274004b939e193323a14bf0520a97c

@fwouts did you have other fixes for the serve tests that aren't in that branch? The one there doesn't seem to make a difference. It is strange, maybe this is something with the rollup version? The commonjs plugin shouldn't affect serve.

@fwouts did you have other fixes for the serve tests that aren't in that branch? The one there doesn't seem to make a difference. It is strange, maybe this is something with the rollup version? The commonjs plugin shouldn't affect serve.

Here's my old PR attempt, I think it might be this particular line: https://github.com/vitejs/vite/pull/7892/files#diff-5ac5675edd621a639999ba602b8795d985ca4bc7c9098473e6692d04e34291d9

nr build vite core, then test-serve fails locally too
nr dev vite core, then test-serve works without problems 🤔
@bluwy was proposing we may want to look into using esbuild during build for CJS, as it was proposed also by Evan before

@bluwy was proposing we may want to look into using esbuild during build for CJS, as it was proposed also by Evan before

I do agree this is the better solution in the longer term. We'll be much less likely to see build-specific issues. If this could be tackled for Vite 3, it would be amazing!

I've add a commit which excludes ts-node from bundle. I don't understand why it started to be bundled.🤔
But this fixes test-serve.
I tested updating plugin-node-resolve but it did not fix this.
Also when I don't set minThreads/maxThreads to 1, test-build finishes incompletely without any error messages. It only shows ELIFECYCLE  Command failed with exit code 1.. I'm using windows10+node 16.15.0.

I do agree this is the better solution in the longer term. We'll be much less likely to see build-specific issues. If this could be tackled for Vite 3, it would be amazing!

Testing appreciated 😉

https://github.com/vitejs/vite/pull/8280

Closing as #8743 was merged.


TLS handshake error

What version of Traefik are you using (traefik version)?
1.1.2
What is your environment & configuration (arguments, toml...)?
Running on Azure using Azure Load Balancer in front of two manager nodes. Running traefik on one manager.
Running traefik in docker swarm mode with command
docker service create --name traefik \
--constraint 'node.role == manager' \
--network traefik-net -p 80:80 -p 443:443 -p 8080:8080 \
--mount type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock,ro=true \
--mount type=bind,src=/path/to/traefik.toml,dst=/traefik.toml,ro=true \
--mount type=bind,src=/path/to/acme,dst=/etc/traefik/acme,ro=false \
traefik:v1.1.2

traefik.toml is standard with swarmmode set to true
What did you do?
Started the service
What did you expect to see?
No TLS errors
What did you see instead?
I get numerous of the following messages (every 30 seconds or so).
2017/01/07 12:50:25 server.go:2317: http: TLS handshake error from \
<IP_ADDRESS>:3416: read tcp <IP_ADDRESS>:443-><IP_ADDRESS>:3416: read: \
connection reset by peer

As a side note, I have ondemand set to true and succeed in getting the ACME certificate:
time="2017-01-07T12:30:14Z" level=info msg="Preparing server http &{Network: Address::80 TLS:<nil> Redirect:0xc420325350 Auth:<nil> Compress:false}"
time="2017-01-07T12:30:14Z" level=info msg="Preparing server https &{Network: Address::443 TLS:0xc4201b1980 Redirect:<nil> Auth:<nil> Compress:false}"
time="2017-01-07T12:30:14Z" level=info msg="Starting server on :80"
time="2017-01-07T12:30:15Z" level=warning msg="ACME.StorageFile is deprecated, use ACME.Storage instead"
time="2017-01-07T12:30:15Z" level=info msg="Generating ACME Account..."
time="2017-01-07T12:30:18Z" level=debug msg="Building ACME client..."
time="2017-01-07T12:30:18Z" level=info msg=Register...
time="2017-01-07T12:30:19Z" level=debug msg=AgreeToTOS...
time="2017-01-07T12:30:19Z" level=info msg="Starting provider *provider.Docker {\"Watch\":true,\"Filename\":\"\",\"Constraints\":null,\"Endpoint\":\"unix:///var/run/docker.sock\",\"Domain\":\
"REDACTED.com\",\"TLS\":null,\"ExposedByDefault\":true,\"UseBindPortIP\":false,\"SwarmMode\":true}"
time="2017-01-07T12:30:19Z" level=info msg="Starting provider *main.WebProvider {\"Address\":\":8080\",\"CertFile\":\"\",\"KeyFile\":\"\",\"ReadOnly\":false,\"Auth\":null}"
time="2017-01-07T12:30:19Z" level=info msg="Retrieving ACME certificates..."
time="2017-01-07T12:30:19Z" level=debug msg="Loading ACME certificates [REDACTED.com]..."
time="2017-01-07T12:30:19Z" level=info msg="Starting server on :443"
time="2017-01-07T12:30:19Z" level=debug msg="Docker connection established with docker 1.13.0-rc5 (API 1.25)"
time="2017-01-07T12:30:19Z" level=debug msg="Filtering container without port and no traefik.port label traefik"
time="2017-01-07T12:30:19Z" level=debug msg="Configuration received from provider docker: {}"
time="2017-01-07T12:30:19Z" level=debug msg="Last docker config received more than 2s, OK"
time="2017-01-07T12:30:19Z" level=info msg="Server configuration reloaded on :80"
time="2017-01-07T12:30:19Z" level=info msg="Server configuration reloaded on :443"
time="2017-01-07T12:30:20Z" level=debug msg="Challenge Present REDACTED.com"
time="2017-01-07T12:30:21Z" level=debug msg="Challenge GetCertificate 3bb03cc32185ea2403220ebf82ad439b.77e067e113f9e50b16dcbd94cd914382.acme.invalid"
time="2017-01-07T12:30:21Z" level=debug msg="ACME got challenge 3bb03cc32185ea2403220ebf82ad439b.77e067e113f9e50b16dcbd94cd914382.acme.invalid"
time="2017-01-07T12:30:21Z" level=debug msg="Challenge CleanUp REDACTED.com"
time="2017-01-07T12:30:27Z" level=debug msg="Loaded ACME certificates [REDACTED.com]"

I tried checking the code in server.go but it seems to me that it's not the server.go file from traefik (it doesn't have the same format as log output from traefik), also line 2317 is too large.

Also port 3416 seem to vary. In another setup I now get
2017/01/08 13:08:44 server.go:2317: http: TLS handshake error from <IP_ADDRESS>:1504: read tcp <IP_ADDRESS>:443-><IP_ADDRESS>:1504: read: connection reset by peer

After some more investigation and snooping around I could deduce that <IP_ADDRESS> comes from the ingress network:
$ docker inspect network ingress
[
    {
        "Name": "ingress",
        "Id": "zo68p55cvxo8pt6j5scf9sfcr",
        "Created": "2017-01-08T12:38:41.3815157Z",
        "Scope": "swarm",
        "Driver": "overlay",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "<IP_ADDRESS>/16",
                    "Gateway": "<IP_ADDRESS>"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Containers": {
            "9e1a38a89a28a2145cbe6be52da61a6fe55f900b69a1620d722925cb414d5450": {
                "Name": "traefik.1.o9ff835y1he90mfxvcirne01k",
                "EndpointID": "0f9b97180d95e4ec89de822c03dfccaecca01ca13ce6313775be7cd7fddfae99",
                "MacAddress": "02:42:0a:ff:00:04",
                "IPv4Address": "<IP_ADDRESS>/16",
                "IPv6Address": ""
            },
            "ingress-sbox": {
                "Name": "ingress-endpoint",
                "EndpointID": "9f7fad26707b892ddc138fb81274c9407e1f0476a6dc436bc68b254a28d460fc",
                "MacAddress": "02:42:0a:ff:00:03",
                "IPv4Address": "<IP_ADDRESS>/16",
                "IPv6Address": ""
            }
        },
        "Options": {
            "com.docker.network.driver.overlay.vxlanid_list": "4096"
        },
        "Labels": {},
        "Peers": [
            {
                "Name": "kalejdo-manager-1-fa66ff43304f",
                "IP": "<IP_ADDRESS>"
            }
        ]
    }
]

@ralphtheninja I see similar issues in kubernetes. Connections in kubernetes are showing tcp connections to IPs that are non-existent, but are attributed to the same line in the same file.
Currently it doesn't affect operations, and can be ignored. I will be looking into it at a later date.

@dtomcej Ok! At first I thought it was something going on with Azure and the load balancer. I'm guessing something is trying to connect to traefik over tls via the ingress endpoint?

@dtomcej I know what this is about now. It's from one of the probes in the azure load balancer.

Seeing this same issue on 1.12 on Docker Swarm on Azure (although I only see it reproduce on a Traefik instance sitting across a VPN).
For us, the IP address referrred to exists on the other side of our VPN. Enter containers on the same local network as traefik shows that the IP resolves. However we still hit this error within the traefik container. Restarting the container resolves it


Value Error at inference

How to resolve this error please?
Also I want to know if this model can be used to segment images outside the 22 classes mentioned in the paper.
I'm planning to use it for lung nodules segmentation.

How to resolve this error please?
Also I want to know if this model can be used to segment images outside the 22 classes mentioned in the paper.
I'm planning to use it for lung nodules segmentation.

Hi,
It seems like there is no fg pixel in your label. I suggest you check your support label data to make sure it contains your interested fg classes.
MedLSAM could be used to segment any anatomical structure and organs, but not the lesions and diseases. So it could not segment lung nodules.

Thanks for the reply.
Can you please provide some training scripts and methodologies so one can train this model for nodule detection?

Author

Hi,
Sorry for the late reply. We have added the training code here: https://github.com/openmedlab/MedLSAM/tree/main/train


Collapsible header click handling

It looks like elements inside the header have the click handler attached, but the event target is the clicked element itself, and this has the "active" class added to it. To reproduce, click one of the icons in the collapsible demo, it will have the class "active" added to it.
Relevant code:
https://github.com/Dogfalo/materialize/blob/master/js/collapsible.js#L79

Fixed in<PHONE_NUMBER>e9bbabdffe4d31e2a405fe14d47bad


Now we can check the commits and diffs


Review of Ruby advice

This advice has not changed in the last 6 months.
I've removed 'de facto' in favour of plainer English.

This has been given de facto approval


feat(map): add neighboring rows with latitude/longitude as pins

Working off of: https://github.com/dxos/dxos/issues/7571
Add a new hook to detect the rows we're interested in, then uses it to display them in Article and Section views.
Hook details:
/**
 * Find table rows that are in the same collection as the map.
 * Return the ones with `latitude` and `longitude` fields,
 * converted to `Marker`s.
 *
 * NOTE: This collects rows from all the collections the map is in,
 * even if there's more than one. At the time of writing this behavior
 * won't be exercised since being included in multiple collections
 * is disabled in the UI.
 *
 * If we enable being in more than one collection again we should
 * reconsider what behavior we actually want in that case.
 */
export const useMapDetectLocations = (map: MapType): Marker[] => {

I've busted something with how I'm using useQuery, looking into it now. This is the error:
Warning: The final argument passed to useMemo changed size between renders. The order and size of this array must remain constant.

Previous: [, options, , type, , properties, , text, , predicate, , not, false, and, or, ]
Incoming: [[object Object], options, , type, , properties, , text, , predicate, , not, false, and, or, , , [object Object],[object Object]]
    at MapSection (http://localhost:5173/@fs/Users/ian/code/dxos/packages/apps/plugins/plugin-map/src/components/MapSection.tsx?t=1724944654037:19:23)

I think the above may be due to me changing the number of filters passed to useQuery in my code (since I'm turning each detected schema into an or), combined without how useQuery works:
https://github.com/dxos/dxos/blob/e1cc207280cb469215711a83034c6a06ac13afe6/packages/sdk/react-client/src/echo/useQuery.ts#L44
There's also the issue of the arrays that I'm passing as deps too like here:
https://github.com/dxos/dxos/pull/7583/files#diff-517ad06639b0e181c204301747b34f39593ab62bbc62b8a47058f2ed77e4040eR70
...so right now there are two causes of variable length deps in the useMemo inside of useQuery.

Added markup popups showing titles, screenshot:


Dice Roller

Necessary

[x] Don't start on 0d0
[x] Fix cursor shape and position (maybe use a sprite instead of lines?)
[x] The new "Total" value flashes briefly then is cleared when the dice start rolling rather than only being shown when the die stop
[x] Have B button roll dice too, unless you can think of a better thing for it to do

Optional

[x] Colorize it, see oddEvenFill() to fill polygons
[ ] Randomize different numbers per-die when rolling rather than having them all be the same number
[x] Display history, like "1d6: 4, 2d8: 10" maybe in a vertical list. Maybe press B to swap between roll history and dice?

@ScrumpySipper feel free to fill this out if you have other ideas or tasks

All necessary changes fixed on diceRollerFixes branch. Will hop on option changes tomorrow or next day. Do you think it would be necessary to have history remember the state of each die in a roll or just the total? Also, colorizing/sprites will take me a bit to familiarize myself with.

Great progress!

Sprites are not necessary if you already fixed the cursor. They're simple to use though and there are examples everywhere. You can also ask in slack for a hand there.
Filling a shape uses this algorithm
https://en.wikipedia.org/wiki/Even–odd_rule
If memory serves, you draw your shape, then call the function with the square bounds around your shape to fill it, then draw text over the fill. Melee menu does it, for an example.

The branch now contains code to fill the dice with a solid color. Due to how the polygons are drawn, there can be horizontal rows with single pixels or places where the outline is 2 pixels thick. I implemented a modification of oddEvenFill called oddEvenFillFix which can fill empty convex shapes with arbitrarily thick outlines or horizontal rows containing outline without need for fill. This is definitely much slower than the normal oddEvenFill, so I might switch to using sprites. Do you know how to paint background images (ideally a tileable wooden tabletop texture here) without significant performance hits? I'm having trouble finding how it's implemented in the fighter.

There's an implementation of flood-fill for MFPaint here which might work for your use-case. The implementation is supposedly fairly optimized but I've never actually tried using it as part of the rendering cycle.
If that performs OK for you, I'll move it into bresenham.h and get it merged into main. Actually, I should probably do that regardless...

Just to start, you're rolling dice, and you really don't have to be worrying about performance unless you're doing something really wrong (which you aren't). The ESP32-S2 has horsepower! Don't be afraid to lean on it.

I implemented a modification of oddEvenFill called oddEvenFillFix which can fill empty convex shapes with arbitrarily thick outlines or horizontal rows containing outline without need for fill.

lol, I don't know how late it was when I wrote this gem:
WARNING!!! This is very finicky and is not guaranteed to work in all cases.

As a personal exercise I tried to make oddEvenFill() work better in more cases. I did this without looking at 7fb7d8337a48c7200fbbab19dc24598c550d5e4a. I don't think it's meaningfully slower (three branches per loop). You're free to use it if it works for you:
void oddEvenFill(display_t* disp, int x0, int y0, int x1, int y1,
                 paletteColor_t boundaryColor, paletteColor_t fillColor)
{
    // Enum declaration to be used later
    typedef enum {
        OE_OUTSIDE,
        OE_BOUNDARY_GOING_IN,
        OE_INSIDE,
        OE_BOUNDARY_GOING_OUT
    } oddEvenState_t;

    SETUP_FOR_TURBO( disp );

    // Adjust the bounding box if it's out of bounds
    if(x0 < 0)
    {
        x0 = 0;
    }
    if(x1 > disp->w)
    {
        x1 = disp->w;
    }
    if(y0 < 0)
    {
        y0 = 0;
    }
    if(y1 > disp->h)
    {
        y1 = disp->h;
    }

    // Iterate over the bounding box
    for(int y = y0; y < y1; y++)
    {
        // Assume starting outside the shape for each row
        oddEvenState_t oe = OE_OUTSIDE;
        // start this as some not-boundaryColor
        paletteColor_t prevPixel = boundaryColor + 1;
        // Iterate across the row
        for(int x = x0; x < x1; x++)
        {
            paletteColor_t currPixel = GET_PIXEL(disp, x, y);
            // If a boundary is being entered
            if(boundaryColor != prevPixel && boundaryColor == currPixel)
            {
                // Pick the boundary state based on the current state
                if(oe == OE_OUTSIDE)
                {
                    oe = OE_BOUNDARY_GOING_IN;
                }
                else
                {
                    oe = OE_BOUNDARY_GOING_OUT;
                }
            }
            // If a boundar is being exited
            else if(boundaryColor == prevPixel && boundaryColor != currPixel)
            {
                // Pick the inside/outside state based on the current state
                if(oe == OE_BOUNDARY_GOING_IN)
                {
                    oe = OE_INSIDE;
                }
                else
                {
                    oe = OE_OUTSIDE;
                }
            }

            // If we're in-bounds, color the pixel
            if(OE_INSIDE == oe)
            {
                TURBO_SET_PIXEL_BOUNDS(disp, x, y, fillColor);
            }
            prevPixel = currPixel;
        }
    }
}

Do you know how to paint background images (ideally a tileable wooden tabletop texture here) without significant performance hits?

Yes I do, and the magic is .fnBackgroundDrawCallback. Create a function, set that in the mode struct, and the system will call it when it's time to draw a portion of the background. It is not called for the whole background in one shot. Looking at the source, it's done in 280x16 px slices. This is a consequence of how drawDisplayTft() uses DMA to send one buffer of TFT data while filling another. Note that if you use this callback you must redraw the whole scene each time your .fnMainLoop is called.
As far as tiling a texture, in general, loadWsg(), drawWsgSimpleFast(), and freeWsg() are used for images. Just make sure your image is in the assets folder first and the build should take care of converting and packing it. You get to figure out math and boundaries and that kind of stuff. It shouldn't be bad if your texture is 16px tall (or you use two textures to make a 32px tiled texture).
Also remember that you're limited to the web safe color palette. The converter will resample and dither images automatically, but you may not get really great colors for wood.
For reference:
/**
 * This function is called when the display driver wishes to update a
 * section of the display.
 *
 * @param disp The display to draw to
 * @param x the x coordiante that should be updated
 * @param y the x coordiante that should be updated
 * @param w the width of the rectangle to be updated
 * @param h the height of the rectangle to be updated
 * @param up update number
 * @param numUp update number denominator
 */
void (*fnBackgroundDrawCallback)(display_t* disp, int16_t x, int16_t y, int16_t w, int16_t h, int16_t up,
								 int16_t upNum );

Added background wood texture, marginally more pleasant dice, and a history log along the left margin to branch. Please weigh in on how the history log looks as-is and whether it seems necessary to move it into its own menu in the state machine.

I like the wood, and the history doesn't need to be moved into it's own menu.
It does feel imbalanced, so I'd recommend moving the dice to the right and spacing them out a little more. With the extra space you can also add a space to the history entry like 6d12: 50 instead of 6d12:50. It's a little hard to read when it's so tight.

I rebalanced the display and changed the selection cursor to a little golden sprite

Okay I think I'm comfortable with the state of this mode now

Oh yeah, I like the look of that!

@ScrumpySipper PR merged. Is this good to close?
Also don't forget to put your name in the credits
https://docs.google.com/forms/d/e/1FAIpQLSeEfgAl3xgTlYi8ixvJD_MFG-SOUfdU0OcD_HtRUyjUc6XnqA/viewform?usp=sf_link


Fix message truncation

DNS over HTTPS messages can exceed the 512 limit from RFC 1035.
Instead of simply truncating incoming data, maybe return io.ErrShortBuffer (as is done here).

Alternatively, emulate a TCP connection (for both cache.go and doh.go), which allows larger messages.
This involves not implementing net.PacketConn, and a few protocol changes.

Also, ensure server truncated messages (TC bit set) are not cached in cache.go, respecting RFC 1035.

Now returning io.ErrShortBuffer, so it doesn't go unnoticed.
But the real fix is to emulate a TCP connection.


Update README.md

add xformers installation command to README file

xformers is already getting installed by the requirements.

xformers is already getting installed by the requirements.

nice, will go ahead and close


vite vue ts build errors

Hello Ghiura Alexandru!
could you please support vite with vue ts - because thats the recommended way to start a vue3 project now.
It works fine with development server (npm run dev) but can't build it:
If you make a brand new vite vue ts project like so:
ralph@centauri:~/testspace$ npm create vite@latest my-vue-app --template vue
Need to install the following packages:
create-vite@latest
Ok to proceed? (y) y
✔ Select a framework: › vue
✔ Select a variant: › vue-ts
Scaffolding project in /home/ralph/testspace/my-vue-app...
Done. Now run:
cd my-vue-app
npm install
npm run dev
And then add your example "Linechart.vue" from your website, plug it in the Helloworld.vue and compile it like this:
ralph@centauri:~/testspace/my-vue-app$ npm run build

<EMAIL_ADDRESS>build
vue-tsc --noEmit && vite build

node_modules/vue3-charts/dist/components/Chart/index.vue.d.ts:1:71 - error TS2307: Cannot find module '@/types' or its corresponding type declarations.
1 import { ChartAxis, ChartConfig, Data, Direction, Margin, Size } from '@/types';
~~~~~~~~~
node_modules/vue3-charts/dist/components/Layer/index.vue.d.ts:1:27 - error TS2307: Cannot find module '@/types' or its corresponding type declarations.
1 import { LayerType } from '@/types';
~~~~~~~~~
node_modules/vue3-charts/dist/components/Line/index.vue.d.ts:1:23 - error TS2307: Cannot find module '@/types' or its corresponding type declarations.
1 import { Point } from '@/types';
~~~~~~~~~
node_modules/vue3-charts/dist/components/Treemap/index.vue.d.ts:1:30 - error TS2307: Cannot find module '@/types' or its corresponding type declarations.
1 import { Margin, Size } from '@/types';
~~~~~~~~~
node_modules/vue3-charts/dist/hooks/useBars.d.ts:2:27 - error TS2307: Cannot find module '@/types' or its corresponding type declarations.
2 import { Rectangle } from '@/types';
~~~~~~~~~
node_modules/vue3-charts/dist/hooks/useChart.d.ts:1:23 - error TS2307: Cannot find module '@/models' or its corresponding type declarations.
1 import { Chart } from '@/models';
~~~~~~~~~~
node_modules/vue3-charts/dist/hooks/usePoints.d.ts:2:23 - error TS2307: Cannot find module '@/types' or its corresponding type declarations.
2 import { Point } from '@/types';
~~~~~~~~~
node_modules/vue3-charts/dist/types/index.d.ts:1:27 - error TS7016: Could not find a declaration file for module 'd3-axis'. '/home/ralph/testspace/my-vue-app/node_modules/d3-axis/src/index.js' implicitly has an 'any' type.
Try npm i --save-dev @types/d3-axis if it exists or add a new declaration (.d.ts) file containing declare module 'd3-axis';
1 import type { Axis } from 'd3-axis';
~~~~~~~~~
node_modules/vue3-charts/dist/types/index.d.ts:2:29 - error TS7016: Could not find a declaration file for module 'd3-shape'. '/home/ralph/testspace/my-vue-app/node_modules/d3-shape/src/index.js' implicitly has an 'any' type.
Try npm i --save-dev @types/d3-shape if it exists or add a new declaration (.d.ts) file containing declare module 'd3-shape';
2 import { PieArcDatum } from 'd3-shape';
~~~~~~~~~~
Found 9 errors in 8 files.
Errors  Files
1  node_modules/vue3-charts/dist/components/Chart/index.vue.d.ts:1
1  node_modules/vue3-charts/dist/components/Layer/index.vue.d.ts:1
1  node_modules/vue3-charts/dist/components/Line/index.vue.d.ts:1
1  node_modules/vue3-charts/dist/components/Treemap/index.vue.d.ts:1
1  node_modules/vue3-charts/dist/hooks/useBars.d.ts:2
1  node_modules/vue3-charts/dist/hooks/useChart.d.ts:1
1  node_modules/vue3-charts/dist/hooks/usePoints.d.ts:2
2  node_modules/vue3-charts/dist/types/index.d.ts:1

Hi @ralpheichelberger,
I will take a look at this week and get back with an answer.
Thanks,
Alexandru

Hi @ralpheichelberger,
I have been following your steps and it works fine for me, I could not reproduce your error, build & dev works fine.
https://ibb.co/nCV3hnf
Here are my dependencies:
"dependencies": {
    "vue": "^3.2.25",
    "vue3-charts": "^1.1.31"
  },
  "devDependencies": {
    "@vitejs/plugin-vue": "^2.3.1",
    "typescript": "^4.5.4",
    "vite": "^2.9.5",
    "vue-tsc": "^0.34.7"
  }

My app:
<script lang="ts">
import { defineComponent } from 'vue'
import Chart from './components/Chart.vue'

export default defineComponent({
  name: 'App',
  components: { Chart },
  setup() {

  }
})
</script>

<template>
  <div class="coinainer">
    <Chart />
  </div>
</template>

and the chart:
<template>
  <Chart
    :size="{ width: 500, height: 400 }"
    :data="data"
    :margin="margin"
    :direction="direction">

    <template #layers>
      <Grid strokeDasharray="2,2" />
      <Line :dataKeys="['name', 'pl']" />
    </template>

  </Chart>
</template>

<script lang="ts">
import { defineComponent, ref } from 'vue'
import { Chart, Grid, Line } from 'vue3-charts'

const plByMonth = [
  { name: 'Jan', pl: 1000, avg: 500, inc: 300 },
  { name: 'Feb', pl: 2000, avg: 900, inc: 400 },
  { name: 'Apr', pl: 400, avg: 400, inc: 500 },
  { name: 'Mar', pl: 3100, avg: 1300, inc: 700 },
  { name: 'May', pl: 200, avg: 100, inc: 200 },
  { name: 'Jun', pl: 600, avg: 400, inc: 300 },
  { name: 'Jul', pl: 500, avg: 90, inc: 100 }
]

export default defineComponent({
  name: 'LineChart',
  components: { Chart, Grid, Line },
  setup() {
    const data = ref(plByMonth)
    const direction = ref('horizontal')
    const margin = ref({
      left: 0,
      top: 20,
      right: 20,
      bottom: 0
    })

    return { data, direction, margin }
  }
})
</script>

can you try again and make sure you have the latest vue3-charts version.
Thanks,
Alexandru

Hello Alexandru!
your example works alright. But if I want to integrate it in to my app it fails to build again.
I have now updated all libraries and still can't build the project without those very same errors.
How can find the problem? There must be a difference, but I really can't see it.
Any hint?
package.json:
{
"name": "backoffice",
"version": "0.1.2",
"scripts": {
"serve": "vite preview",
"build": "vue-tsc --noEmit && vite build",
"dev": "vite --host"
},
"dependencies": {
"axios": "^0.24.0",
"dexie": "^3.2.0",
"jose": "^4.3.7",
"material-design-icons-iconfont": "^6.1.1",
"normalize.css": "^8.0.1",
"sass": "^1.45.1",
"vue": "^3.2.26",
"vue-class-component": "^8.0.0-rc.1",
"vue-router": "^4.0.12",
"vue3-charts": "^1.1.31",
"vuestic-ui": "^1.4.0-alpha1"
},
"devDependencies": {
"@vitejs/plugin-vue": "^2.3.1",
"pug-loader": "^2.4.0",
"sass-loader": "^12.4.0",
"typescript": "^4.5.4",
"vite": "^2.9.7",
"vue-cli-plugin-vuestic-ui": "^1.0.5",
"vue-tsc": "^0.34.11"
}
}
every else is ident with yours


Feature Request: JS Message_bus client side message count

Javascript message count would be useful when displaying messages.
I noticed https://github.com/SamSaffron/message_bus/blob/master/assets/message-bus.js#L74
callback.last_id = message.message_id;, but I couldn't figure out how to get the id into a nice variable.
For example now I have to do this instead of just using the message count for each message.
  var page = 1;
  var msg_count = 1;
  var div = "#get"+page;
  MessageBus.subscribe('/my_channel:'+channel, function(msg) {
    var obj1 = msg_count % 3 == 0 ? true : false;
    var obj2 = msg_count % 3 == 1 ? true : false;
    var obj3 = msg_count % 3 == 2 ? true : false;
    if ((page == 1) && obj2) {
      //do something
    }
    if (obj2) {
      //do something
    }
    if (page == 1) {
      //do something
    }
    if(obj2) {
      //do something
    } else if (obj3) {
      //do something
    } else if (obj1) {
      //do something
      page++;
      div = "#get"+page;
    }
    msg_count++;
  });```

ouch that looks really fragile, cant you simply look at the channel name when deciding on dispatch?

yes lol which is why I was hoping to use a message_id. I am using it to determine when to display attributes on the page. For example the first message sent will initialize divs and some headers on the page. Also some exchanges might contain a title, the actual message, or attributes about the message that I want to display.

That is a bit of an odd design, why not introduce channels?
Regarding ids, the callback is invoked with (message, global_id,
message_id) so you can access this data as you wish.
On Sat, Aug 27, 2016 at 6:10 AM, Daniel Weller<EMAIL_ADDRESS>wrote:

yes lol which is why I was hoping to use a message_id. I am using it to
determine when to display attributes on the page. For example the first
message sent will initialize divs and some headers on the page. Also some
exchanges might contain a title, the actual message, or attributes about
the message that I want to display.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/SamSaffron/message_bus/issues/127#issuecomment-242838822,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAUXZiwiR0Er7h0B6_dCb2fP2zb6qknks5qj0hRgaJpZM4Ji-ak
.

Thank you. I didn't realize that was possible.


refactor: refactor plugin to TypeScript

This PR refactors the plugin to TypeScript. Also updated the Makefile, to the following:
gen: $(BUF_V1_MODULE_DATA) $(yarn) ## Generate files from proto files
	@printf "$(ansi_format_dark)" $@ "generating files..."
	@$(buf) generate
	@$(MAKE) gen-wkt
	@printf "$(ansi_format_bright)" $@ "ok"
	@$(yarn) --cwd mdx
	@$(MAKE) gen-mdx
	@$(yarn) --cwd website
	@$(MAKE) gen-plugin

// ...
gen-mdx: $(yarn)
	@$(yarn) --cwd mdx build
	@PWD=$(mdx_dir) $(yarn) --cwd mdx emit

gen-plugin: $(yarn)
	@$(yarn) --cwd website build-plugin

So for fresh clones, we only need to do make gen and all should be in order.
Signed-off-by: Try Ajitiono<EMAIL_ADDRESS>

Agreed, yes. The plugin especially cannot be re-generated on runtime (when docusaurus start is running), so that really needs to go in there. I'll take it today. Thanks for the review @dio!


Fix/alpha banner open new window text

Changes in this PR:
amended previous work that was merged to include some support text that says the link will open in a new tab.
Trello card / Rollbar error (etc)
https://trello.com/c/f8tx63pI/1045-✔-aa-alpha-banner-accessibility-improvements
Screenshots of UI changes:
Before

After

[ ] Requires env variable(s) to be updated

Codecov Report

Merging #783 (608eb5a) into main (269f661) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #783   +/-   ##
=======================================
  Coverage   93.06%   93.06%
=======================================
  Files          30       30
  Lines        1226     1226
  Branches       62       62
=======================================
  Hits         1141     1141
  Misses         68       68
  Partials       17       17

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

 ✔ AA | Alpha banner accessibility improvements

I feel like "(opens in new tab)" shouldn't be bold


chef-client breaks with "403" Forbidden during bootstrap

Description
Bootstrapping boxes running chef-client 11.5.0 (either latest or v11.5.0) break with the following error on the client side:
template[/etc/sysconfig/chef-client] action create
(remote-exec):
(remote-exec):     ================================================================================
(remote-exec):     Error executing action `create` on resource 'template[/etc/sysconfig/chef-client]'
(remote-exec):     ================================================================================

(remote-exec):     Net::HTTPServerException
(remote-exec):     ------------------------
(remote-exec):     403 "Forbidden"

A subsequent chef-client run seems to solve the issue. I am quite puzzled as the cookbook is cached locally.
We are using defaults for no_lazy_load true on the client side and ['opscode-erchef']['s3_url_ttl'] = 28800 on the server-side, so it doesn't look like a timeout waiting on the server.
Workarounds
This is what works:

Using Chef Infra v15.2.20 and chef-client v11.2.0
Chef Infra v16.1.16 and a patched recipes/systemd_service.rb chef-client cookbook.
chef infra v16.1.16 and hosted chef.

Chef Version
chef-client
16.1.16, but was able to reproduce with 15.2.20
cat /etc/redhat-release
CentOS Linux release 8.1.1911 (Core)

chef-server
[root@chef-server-1 ~]# rpm -qa |grep chef
chef-server-core-13.2.0-1.el7.x86_64
chef-manage-2.5.16-1.el7.x86_64
chef-16.1.16-1.el7.x86_64

Client Output
 (remote-exec):     ------------------------
 (remote-exec):     403 "Forbidden"

 (remote-exec):     Resource Declaration:
 (remote-exec):     ---------------------
 (remote-exec):     # In /var/chef/cache/cookbooks/chef-client/recipes/systemd_service.rb

 (remote-exec):      28: env_file = template "/etc/#{conf_dir}/#{env_file}" do
 (remote-exec):      29:   source "default/#{dist_dir}/#{conf_dir}/chef-client.erb"
 (remote-exec):      30:   mode '0644'
 (remote-exec):      31:   notifies :restart, 'service[chef-client]', :delayed
 (remote-exec):      32: end
 (remote-exec):      33:

 (remote-exec):     Compiled Resource:
 (remote-exec):     ------------------
 (remote-exec):     # Declared in /var/chef/cache/cookbooks/chef-client/recipes/systemd_service.rb:28:in `from_file'

 (remote-exec):     template("/etc/sysconfig/chef-client") do
 (remote-exec):       action [:create]
 (remote-exec):       default_guard_interpreter :default
 (remote-exec):       source "default/redhat/sysconfig/chef-client.erb"
 (remote-exec):       declared_type :template
 (remote-exec):       cookbook_name "chef-client"
 (remote-exec):       recipe_name "systemd_service"
 (remote-exec):       owner nil
 (remote-exec):       group nil
 (remote-exec):       mode "0644"
 (remote-exec):       variables {}
 (remote-exec):       path "/etc/sysconfig/chef-client"
 (remote-exec):       verifications []
 (remote-exec):     end

 (remote-exec):     System Info:
 (remote-exec):     ------------
 (remote-exec):     chef_version=16.1.16
 (remote-exec):     platform=centos
 (remote-exec):     platform_version=8.1.1911
 (remote-exec):     ruby=ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-linux]
 (remote-exec):     program_name=/usr/bin/chef-client

knife node show mynode.mydomain -a chef_client
  chef_client:
    backup_path:    /var/lib/chef
    bin:            /usr/bin/chef-client
    cache_path:     /var/cache/chef
    chef_license:   accept
    chkconfig:
      start_order: 98
      stop_order:  2
    conf_dir:       /etc/chef
    config:
      chef_server_url:         https://chef-server-1.mydomain/organizations/myorg/
      exception_handlers:
      log_level:               info
      log_location:            STDOUT
      node_name:               mynode.mydomain
      report_handlers:
      start_handlers:
      syntax_check_cache_path: /var/chef/syntaxcache
      validation_client_name:  myorg/-validator
      verbose_logging:         true
      verify_api_cert:         true
    cron:
      append_log:            false
      environment_variables:
      hour:                  0,4,8,12,16,20
      log_file:              /dev/null
      mailto:
      minute:                0
      nice_path:             /bin/nice
      path:
      use_cron_d:            false
      weekday:               *
    daemon_options:
      -f
      -L /var/log/chef/client.log
    init_style:     systemd
    interval:       1800
    load_gems:
    log_dir:        /var/log/chef
    log_file:       client.log
    log_perm:       640
    log_rotation:
      options:
        compress
        missingok
        notifempty
      postrotate:
      prerotate:
    logrotate:
      frequency: daily
      rotate:    30
    reload_config:  true
    run_path:       /var/run/chef
    server_url:     https://chef-server-1.domain/organizations/myorg
    splay:          300
    systemd:
      restart: always
      timeout: false
      timer:   true
    task:
      frequency:          minute
      frequency_modifier: 30
      name:               chef-client
      password:
      start_date:
      start_time:
      user:               SYSTEM

erchef.log
020-06-17 22:49:52.743 [error] {<<"method=GET; path=/organizations/myorg/; status=403; ">>,"Forbidden"}

Stacktrace
Generated at 2020-06-17 20:13:02 +0000
Net::HTTPServerException: template[/etc/sysconfig/chef-client] (chef-client::systemd_service line 28) had an error: Net::HTTPServerException: 403 "Forbidden"
/opt/chef/embedded/lib/ruby/2.7.0/net/http/response.rb:124:in `error!'
/opt/chef/embedded/lib/ruby/gems/2.7.0/gems/chef-16.1.16/lib/chef/http.rb:239:in `streaming_request'
/opt/chef/embedded/lib/ruby/gems/2.7.0/gems/chef-16.1.16/lib/chef/cookbook/remote_file_vendor.rb:66:in `get_filename'
/opt/chef/embedded/lib/ruby/gems/2.7.0/gems/chef-16.1.16/lib/chef/cookbook_version.rb:307:in `preferred_filename_on_disk_location'
/opt/chef/embedded/lib/ruby/gems/2.7.0/gems/chef-16.1.16/lib/chef/provider/template_finder.rb:40:in `find'
/opt/chef/embedded/lib/ruby/gems/2.7.0/gems/chef-16.1.16/lib/chef/provider/template/content.rb:32:in `template_location'
/opt/chef/embedded/lib/ruby/gems/2.7.0/gems/chef-16.1.16/lib/chef/provider/template.rb:43:in `block in define_resource_requirements'
/opt/chef/embedded/lib/ruby/gems/2.7.0/gems/chef-16.1.16/lib/chef/mixin/why_run.rb:309:in `assert'
/opt/chef/embedded/lib/ruby/gems/2.7.0/gems/chef-16.1.16/lib/chef/provider/template.rb:41:in `define_resource_requirements'
/opt/chef/embedded/lib/ruby/gems/2.7.0/gems/chef-16.1.16/lib/chef/provider.rb:207:in `run_action'
/opt/chef/embedded/lib/ruby/gems/2.7.0/gems/chef-16.1.16/lib/chef/resource.rb:591:in `run_action'
/opt/chef/embedded/lib/ruby/gems/2.7.0/gems/chef-16.1.16/lib/chef/runner.rb:74:in `run_action'
/opt/chef/embedded/lib/ruby/gems/2.7.0/gems/chef-16.1.16/lib/chef/runner.rb:108:in `block in run_all_actions'
/opt/chef/embedded/lib/ruby/gems/2.7.0/gems/chef-16.1.16/lib/chef/runner.rb:108:in `each'
/opt/chef/embedded/lib/ruby/gems/2.7.0/gems/chef-16.1.16/lib/chef/runner.rb:108:in `run_all_actions'
/opt/chef/embedded/lib/ruby/gems/2.7.0/gems/chef-16.1.16/lib/chef/runner.rb:132:in `block in converge'
/opt/chef/embedded/lib/ruby/gems/2.7.0/gems/chef-16.1.16/lib/chef/resource_collection/resource_list.rb:96:in `block in execute_each_resource'
/opt/chef/embedded/lib/ruby/gems/2.7.0/gems/chef-16.1.16/lib/chef/resource_collection/stepable_iterator.rb:115:in `call_iterator_block'
/opt/chef/embedded/lib/ruby/gems/2.7.0/gems/chef-16.1.16/lib/chef/resource_collection/stepable_iterator.rb:86:in `step'
/opt/chef/embedded/lib/ruby/gems/2.7.0/gems/chef-16.1.16/lib/chef/resource_collection/stepable_iterator.rb:104:in `iterate'
/opt/chef/embedded/lib/ruby/gems/2.7.0/gems/chef-16.1.16/lib/chef/resource_collection/stepable_iterator.rb:55:in `each_with_index'
/opt/chef/embedded/lib/ruby/gems/2.7.0/gems/chef-16.1.16/lib/chef/resource_collection/resource_list.rb:94:in `execute_each_resource'
/opt/chef/embedded/lib/ruby/2.7.0/forwardable.rb:235:in `execute_each_resource'
/opt/chef/embedded/lib/ruby/gems/2.7.0/gems/chef-16.1.16/lib/chef/runner.rb:130:in `converge'
/opt/chef/embedded/lib/ruby/gems/2.7.0/gems/chef-16.1.16/lib/chef/client.rb:714:in `block in converge'
/opt/chef/embedded/lib/ruby/gems/2.7.0/gems/chef-16.1.16/lib/chef/client.rb:709:in `catch'
/opt/chef/embedded/lib/ruby/gems/2.7.0/gems/chef-16.1.16/lib/chef/client.rb:709:in `converge'
/opt/chef/embedded/lib/ruby/gems/2.7.0/gems/chef-16.1.16/lib/chef/client.rb:733:in `converge_and_save'
/opt/chef/embedded/lib/ruby/gems/2.7.0/gems/chef-16.1.16/lib/chef/client.rb:288:in `run'
/opt/chef/embedded/lib/ruby/gems/2.7.0/gems/chef-16.1.16/lib/chef/application.rb:292:in `run_with_graceful_exit_option'
/opt/chef/embedded/lib/ruby/gems/2.7.0/gems/chef-16.1.16/lib/chef/application.rb:268:in `block in run_chef_client'
/opt/chef/embedded/lib/ruby/gems/2.7.0/gems/chef-16.1.16/lib/chef/local_mode.rb:42:in `with_server_connectivity'
/opt/chef/embedded/lib/ruby/gems/2.7.0/gems/chef-16.1.16/lib/chef/application.rb:251:in `run_chef_client'
/opt/chef/embedded/lib/ruby/gems/2.7.0/gems/chef-16.1.16/lib/chef/application/base.rb:335:in `run_application'
/opt/chef/embedded/lib/ruby/gems/2.7.0/gems/chef-16.1.16/lib/chef/application.rb:68:in `run'
/opt/chef/embedded/lib/ruby/gems/2.7.0/gems/chef-bin-16.1.16/bin/chef-client:25:in `<top (required)>'
/usr/bin/chef-client:171:in `load'
/usr/bin/chef-client:171:in `<main>'

This might be a bug in this cookbook, but offhand it just looks like it explodes with the first template resource that it hits, which happens to be this resource.  But there's nothing here which indicates a root cause.  The real problem is why the template file is either not getting synchronized or is not where it is supposed to be. If the run list was changing the location of the cookbook cache path that would cause it to not be there, but would also cause all the recipes to not be found, so I'd expect other hard errors to happen.  Or something could be manually removing those cookbook files from the cache I guess.  But offhand with the information at hand here it seems impossible for this to happen with no_lazy_load true set.  So I can't suggest what else might be wrong, or have any idea of what the bug really is.  If you can boil it down to a test-kitchen recipe which can be pushed up to github, then it could be replicated and investigated, but if this is something that only happens in your environment, then its going to be hard/impossible to debug remotely.

probably fixed by https://github.com/chef-cookbooks/chef-client/pull/697


Remap a key to a shortcut

Summary of the new feature/enhancement

Proposed technical implementation details (optional)

Closing this as a duplicate to #3290


Safari support for the Filesystem access API

https://news.ycombinator.com/item?id=30394737
https://chromestatus.com/feature/6284708426022912

https://webkit.org/blog/12257/the-file-system-access-api-with-origin-private-file-system/ as well, but it's already marked as partial.
Testing for it using https://tests.caniuse.com/native-filesystem-api seems to simple to graduate to full support and https://wpt.fyi/results/file-system-access?label=master&label=experimental&aligned&q=file system access seems still a bit too much partial…?

We improved our implementation of this API in Safari 15.4. Please test again.


Add bolt modules install

Use Case

[x] Users should be able to configure a list of modules their project depends on under a modules key in bolt-project.yaml (and not bolt-default.yaml), and install those modules with bolt module[s]/project install.

If no Puppetfile is present the command will generate a Puppetfile based on modules defined in bolt-project.yaml then install that puppetfile.
If a Puppetfile is present and it contains all the modules in modules.yaml bolt will install that Puppetfile.
If a Puppetfile is present and it is missing declared modules, or it can not be simply parsed the user will be instructed to rerun after deleting or moving it or with the --no-resolve/--force flag. The dependencies will not be validated every run since the puppetfile is expected to pin each module explicitly.
Modules should be installed to .modules/. .modules/ shouldn't be added to the modulepath, though users can add it manually to their modulepath.
Users should be able to copy-paste module definitions from module dependency definitions in metadata.json into this file and Puppetfile will be considered a machine-only file for most users.

To ticket:

[x] bolt puppetfile show-modules -> bolt module[s]/project show . Deprecation can happen later.
[x] bolt generate-types -> bolt module[s]/project generate-types
[x] Add PowerShell cmdlet Install-BoltModule / Install-BoltProject
[ ] Update docs. This should happen last so docs don't go live for a feature that is flagged.

Questions:

[x] bolt module install or bolt modules install or bolt project install? Do a user test
--no-resolve or --force? --force makes more sense

Closed by #2106


:children_crossing: Obtain token for 3rd party linters the same way as for others

@tiulpin let's discuss


Example request - Visium

Would it be possible to show a simple example from a 10x Visium output from Space Ranger and how TACCO can interact with it? Even just read in and annotate the spatial data. I am having trouble with the formatting when following the ''Slide-Seq Mouse Colon'' and ''Mapping single cells into space'' tutorials at the tc.tl.annotate() step and the same method for a Visium would be useful to many.

Hi @cathalgking, thanks for the suggestion! We plan to include a full Visium example in the next minor release. TACCO does not include IO features and relies on other packages for that. As soon as the data is in an anndata, the same tc.tl.annotate call should just work. Here the essence of the example:
import anndata as ad
import squidpy as sq
import tacco as tc

# Load data with anndata and squidpy
adata_ref = ad.read_h5ad(<path/to/single/cell/reference/h5ad>)
adata_vis = sq.read.visium(<path/to/visium/spacerange/folder/>)
adata_vis.var_names_make_unique()

# Annotate with TACCO
annotation_key = 'celltype' # categorical obs key in adata_ref
result_key = 'celltype_annotated' # new compositional obsm key in adata_vis
tc.tl.annotate(adata_vis, adata_ref, annotation_key=annotation_key, result_key=result_key)

I hope that helps!

Thanks @JWatter

@JWatter Is a single-cell reference absolutely required for using TACCO? Or can it be ran reference free?

@JWatter How can I use your above example to plot the Visium image? I am testing this with a public single-cell reference and when I try to plot the image with TACCO scatter or heatmap, the image is not shown. Ideally, I would like a visium image with the spots or group of spots annotated, if there is a function that can show that? Thanks

Regarding your second comment:
As Tacco is agnostic about the details of the method producing the data, it does not support "special features" of individual experimental methods (at least not yet). And having a matching H&E image associated with expression data is not a generic feature of all spatial omics methods. But other tools have specialized functionality for this. If you already used squidpy for reading the Visium data (as suggested in the example above), then you might want to check out their plotting capabilities. AFAIK they can plot categorical annotation on top of an H&E image. You can extend the Visium example above by
# generate categorical majority annotation from compositional annotation
categorical_key = 'maximum_celltype' # new categorical obs key in adata_vis
tc.utils.get_maximum_annotation(adata_vis, result_key, result_key=categorical_key)
# plot categorical annotation on top of H&E image
sq.pl.spatial_scatter(adata_vis, color=categorical_key)

Hope this helps!

Thanks @JWatter for the above info. I ran through a Visium dataset according to the example. It seems as if the annotations were transferred to the Visium image as shown below. However, is it possible to calculate a confidence score for each label? some metric to associate each label transferred with the spatial spot as in the below image. The vast majority of spots here seem to be associated with the same label. Of course it depends on the input single-cell reference, but is there a way to then filter annotations based on that confidence score?
Also, your example did not include any clustering. Does that not matter for the TACCO label annotation? Or should the data have been ran through some clustering algorithm beforehand?
`
import anndata as ad
import squidpy as sq
import tacco as tc
Load data with anndata and squidpy
adata_ref = ad.read_h5ad("/PATH/tabula-muris-senis-droplet-processed-official-annotations-Large_Intestine.h5ad")
adata_ref
A1 = sc.read_visium(path="/PATH/A1/outs",
count_file='filtered_feature_bc_matrix.h5')

A1.var_names_make_unique()
Annotate with TACCO
annotation_key = 'cell_ontology_class' # categorical obs key in adata_ref
result_key = 'celltype_annotated' # new compositional obsm key in adata_vis
tc.tl.annotate(A1, adata_ref, annotation_key=annotation_key, result_key=result_key)
categorical_key = 'maximum_celltype' # new categorical obs key in adata_vis
tc.utils.get_maximum_annotation(A1, result_key, result_key=categorical_key)
plot categorical annotation on top of H&E image
#sq.pl.spatial_scatter(A1, color=categorical_key)
sc.pl.spatial(A1, color=categorical_key, bw=True, palette='Paired')`

Re compositional VS categorical annotation: As hinted to in the example, TACCO (like all other annotation transfer methods for mixtures) generates a compositional annotation. That means that we assign fractions of the annotation categories to each observation. E.g., most of your Visium spots contain contributions of multiple different cell types. To plot compositional annotations we provide the tc.pl.scatter function. But as you realized before, this does not plot H&E images. Squidpy on the other hand can plot H&E images, but on top of that only multiple categorical annotations simultaneously or one continuous annotation per plot, but not compositional annotation. The line tc.utils.get_maximum_annotation(A1, result_key, result_key=categorical_key) takes the compositional annotation output from TACCO and creates a categorical annotation from it, i.e. it takes only the majority celltype per spot and forgets about the rest. Then it is not unexpected to be left with the majority celltype of the reference. As proxy for a categorical confidence you can take the compositional cell type fraction for the majority type. For more discussion about compositional VS categorical annotation I recommend checking out the TACCO paper.

Re clustering: Clustering is not a value on its own, but a means to achieve something. One could do a clustering e.g. on top of cell type fractions (i.e. the compositional annotation result), or on top of the expression directly factoring in spatial proximity between spots to get a region annotation. This can be done done with TACCO (and other tools as well) to get some flavor of region annotation. Check out e.g. https://simonwm.github.io/tacco/notebooks/slideseq_mouse_colon.html#Find-spatially-contiguous-regions-of-comparable-expression-patterns to get an example for finding regions in a similar dataset.

Regarding your first comment: Some reference is always required: the method has to know what it should annotate. But that reference does not need to be a single cell RNA seq dataset. In principle, reference profiles in the .varm slot of an otherwise empty reference AnnData would be enough to create a working reference. A little less hacky way would be to create a fresh anndata with the profiles of the cell types instead of cells and add a .obs column containing the cell types of these profiles. You can also add multiple representative profiles per cell type as "cells". Tacco would then automatically populate the .varm slot and run the annotation. So a single-cell reference is not absolutely required for annotation with Tacco, but highly recommended.
Here is a quick pseudocode as starting point for experiments with a self-made marker-based reference:
# adata is the data to annotate
# create profiles for your annotations
# the closer the profiles match those appearing in your data, the better the annotation will be
# if you can get them from FACS sorted bulk sequencing that should be a good reference, too.
cell_types = ['typeA','typeB','typeC']
reference_profiles = pd.DataFrame(0.0,index=cell_types,columns=adata.var.index)
reference_profiles.loc['typeA', ['SAMD11', 'NOC2L', 'KLHL17']] = [42.0, 17.0, 73.0] # replace with real marker genes
reference_profiles.loc['typeB', ['SAMD11', 'NOC2L', 'PLEKHN1']] = [5.0, 32.0, 23.0]
reference_profiles.loc['typeC', ['PLEKHN1', 'PERM1']] = [12.0, 9.0]
# create a reference from your profiles
reference = ad.AnnData(reference_profiles)
reference.obs['cell_type'] = reference_profiles.index
# treat it similar to a regular single cell reference (some annotation methods might have issues with it...)
tc.tl.annotate(adata, reference)

Hi @JWatter
What exactly would bet the values for this reference profile?
If we have 12 cell types, according to your example, would we then have 12 rows (celltypes) and then the columns would be the markers for all cell types? And the dataframe values, would be the sum of counts for any given cell type for a given marker?
Thanks

Hi @Rafael-Silva-Oliveira,
You can set the values of the reference however you like. For example just write a 1 when the marker gene corresponds to that specific cell type, and 0 otherwise. If you have a reason to believe that the counts for some marker gene might be higher than those for another one in a certain cell type, then you can enter those values as well. This information can come from a reference data set, e.g. scRNA seq or FACS sorted bulk RNA seq. But this information cannot be straightforwardly taken from the spatial data which you want to annotate.

Hi @Rafael-Silva-Oliveira,
You can set the values of the reference however you like. For example just write a 1 when the marker gene corresponds to that specific cell type, and 0 otherwise. If you have a reason to believe that the counts for some marker gene might be higher than those for another one in a certain cell type, then you can enter those values as well. This information can come from a reference data set, e.g. scRNA seq or FACS sorted bulk RNA seq. But this information cannot be straightforwardly taken from the spatial data which you want to annotate.

Perfect, I'll give it a shot! Yeah, just after reviewing what I posted, doesn't make much sense to give an example with the ST data that I want to annotate (should've used the scRNA reference instead!). Thank you again :)


UI customization not working?

Describe the bug
When I change the values in my .env file for UI customization, changes are not reflected when the app is ran locally.
To Reproduce
Steps to reproduce the behavior:

Clone the git repo
Once cloning is complete, pull to make sure to have the newest version of the repo
make a .env file in the root directory of the folder
copy & past the contents of .env.sample into .env
add a value for the UI customization variables
start the web app in the CLI (./start.cmd)
UI has not changed

Expected behavior
I expected for the UI to have been personalized to my use case.
Screenshots

Configuration: Please provide the following

gpt-35-turbo-16k
Is chat history enabled? no
Are you using data? no

Hi, it is not working for me neither, how did you solve it ?
Thanks.

Heya, the code where they import the actual .env file is placed after the declaration of the UI variables. Just need to put it above those and it's fixed!


Add type filters to AnimationPlayer's "Add Track"

(My first contribution btw)
Adds type filters to the SceneTreeDialogs that come from AnimationPlayer's "Add Track" button.
The Add Track button has several types of tracks that require specific node types, but currently present a full SceneTreeDialog, and throw an error if you provide the wrong type.
Fixes https://github.com/godotengine/godot/issues/55944 which describes this issue specifically for Audio tracks.

The SceneTreeDialog that appears when Add Track > Audio Playback Track is selected. Now with the correct filters!

Property, Call Method, Bezier Curve have no filters
Blend Shape has a Meshinstance3D filter
3D Position, Rotation, Scale tracks have a Node3D filter
Audio has AudioStreamPlayer(2D/3D) filter
Animation has AnimationPlayer filter

I've tested the SceneTreeDialog in the inspector (export nodepath), works the same as usual. However, I'm not sure where else to find the prompts for the SceneTreeDialog in the editor for further testing.
I see it's in a few different places in the code such as:

EditorInterface
EditorPropertyNodePath (The one I tested)
MultiMeshEditor
Particles3DEditorPlugin
ReplicationEditor
All these examples set filters once after creating the dialog, so they should be unaffected.

Related, I did notice the SceneTreeDialog's set_valid_types was not set up correctly to be called on the same instance of SceneTreeDialog multiple times.
Seems the current workaround was deleting and recreating it.
See also this comment: https://github.com/godotengine/godot/blob/61accf060515416da07d913580419fd8c8490f7b/editor/editor_interface.cpp#L283-L290
I took a stab at fixing this issue, clearing the filter's label and types before setting it. It works, but it appears there's an existing bug with the SceneTreeDialog that if you call set_valid_types while the dialog is on the editor scene tree, the filter icons don't show up.
I could see the icon correctly gets set on the TextureRect gets the correct icon with set_meta(), but for some reason it doesn't show up.
I couldn't figure that one out, so I work around this by calling remove_child() add_child() around set_valid_types. This provides the correct view in the above screenshot.

The previous SceneTreeDialog example, with remove_child() and add_child() lines removed.

I've fixed the more consistent error message, but I occasionally get this one:
core/object/object.h:1036 - Condition "slot >= slot_max" is true. Returning: nullptr
So far I've only been able to replicate it quickly toggling between a Property and a Property with a filter, like Position 3D, opening the SceneTreeDialog, closing it with Esc, and opening a different one.
I guess if you don't spam open/close the Add Track dialog it should be fine. I'm not sure what causes this particular error message, so I could use some feedback if it would prevent the PR from being merged or can be ignored.

Thanks! Congratulations on your first contribution! 🎉


PHP needs to be a minimum version of PHP 5.3.6 and maximum version of PHP 7.1.*

For configuration or updating questions please read the README and UPGRADE documentation,
or visit: https://gitter.im/PHP-CS-Fixer
When reporting an issue (bug) please provide the following information:
The PHP version you are using ($ php -v):
=> ....................................
PHP 7.2.7 (cli) (built: Jun 23 2018 11:20:05) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.7, Copyright (c) 1999-2018, by Zend Technologies
PHP CS Fixer version you are using ($ php-cs-fixer -V):
=> ....................................
Unable to get version from above command, but I am sure I installed 2.12.2
composer global require friendsofphp/php-cs-fixer:2.12.2
The command you use to run PHP CS Fixer:
=> ....................................
Trying to run simple --version grab, produces above

@julienfalque I am following what you are saying (makes good sense) but I believe I am still having this issue, even when executing from where you are outlining

When you write php-cs-fixer bash searches for the binary from $PATH directories.
Try ./php-cs-fixer --version.

@kubawerlos OK, got it working!  Using the following
~/.composer/vendor/bin/php-cs-fixer

And when configuring with VSCode, had to set
...
  "php-cs-fixer.executablePath": "~/.composer/vendor/bin/php-cs-fixer"
...


browser issue

any events like long press is not working on safari

Can you please elaborate

I can't reproduce the issue on Safari, either Mobile or Desktop. Works fine in the demo. Closing.


Create Container with BCContainerHelper in VM Windows 10

Hello Freddy,
Our infrastructure department is testing a new release of Windows 10 for our company.
On this windows 10 we have an error when creating BC containers.
Input Cmdlet
$ArtifactUrl = Get-BCArtifactUrl -type Onprem -version 17 -country us -select Latest
$credential = New-Object pscredential 'admin', (ConvertTo-SecureString -String 'P@ssword1' -AsPlainText -Force)
New-BcContainer -accept_eula -artifactUrl $artifactUrl -auth UserPassword -containerName BC17W1 -Credential $credential -isolation hyperv  -updatehost
Output Msg:

Always thanks for your help.
Pedro

This looks like a problem in your firewall.
If you try in a CMD prompt to run the
docker pull mcr.microsoft.com/businesscentral:10.0.19042.572
you will probably have the same error.
Nothing I can fix from here.


fix(@schematics/angular): build in --prod mode by default

Reintroduce #221, which has (also) disappeared from new schematics...
Would be really nice to include this before final v6. :)
@filipesilva @hansl @Brocco @StephenFluin

Please see https://github.com/angular/devkit/pull/629.
TLDR; We will not enable prod builds by default as some people use environment variables that point to production servers (which they should) but don't expect npm run build to use prod servers. It's dangerous, and it's not much to change it on your project if that's what you want. Safety first.
Closing this as working as intended.


修正openstack状态

这个 PR 实现什么功能/修复什么问题:
修正openstack状态
是否需要 backport 到之前的 release 分支:

release/2.8.0

/cc @swordqiu

/cherrypick release/2.8.0

Codecov Report

Merging #520 into master will decrease coverage by 0.02%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master    #520      +/-   ##
=========================================
- Coverage    7.43%    7.4%   -0.03%
=========================================
  Files         345     345
  Lines       54273   54273
=========================================
- Hits         4034    4020      -14
- Misses      49864   49876      +12
- Partials      375     377       +2

Flag
Coverage Δ

#aFlag
7.4% <ø> (-0.03%)
:arrow_down:

Impacted Files
Coverage Δ

pkg/util/rbacutils/rabc.go
68.56% <0%> (-5.31%)
:arrow_down:

Continue to review full report at Codecov.

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

/lgtm
/approve


Change AMQ_STORAGE_USAGE_LIMIT to AMQ_MEMORY_LIMIT

Fixes CLOUD-1350
This change will give a better context about what that env var does in the A-MQ configuration
Signed-off-by: Ricardo M Oliveira<EMAIL_ADDRESS>

suppressed by https://github.com/jboss-openshift/application-templates/pull/388


callback for USB CDC_ACM line changes needed

Is your enhancement proposal related to a problem? Please describe.
In my Zephyr application, I want to react to USB CDC_ACM line changes. In my specific case, I know that the host application always triggers the "case SET_CONTROL_LINE_STATE" in usb/device/class/cdc_acm.c whenever it open the USB serial connection. So I wanted to reset some internal "hanging" state when this happened.
There already is a callback function in this file, but quite limited: it can only report baud rate changes. On Discord, it was said that it's not okay to make this callback more generic (e.g. by making it send two parameters instead of just the baudrate). Because this is seen to be a stable API.
Describe the solution you'd like
I wrote a new patch with a 2nd callback, more universal. Instead of just be able to notify others about baud rate change, it can report any call to SET_LINE_CODING or SET_CONTROL_LINE_STATE.
I then asked on Discord if this would be acceptable. Johann F said that he'll NAK the patch, because there is a generic Zephyr notification system in need. He also suggested that I write an enhancement report on github, so that my need is recorded.
I attach my suggested path. Inside my application, I just do ...
static void usb_serial_dte_cb(const struct device *dev, uint32_t param, uint32_t data)
{
	LOG_DBG("dte cb, dev %p param %d, data %d", (void*) dev, param, data);

	if (param == SET_CONTROL_LINE_STATE) {
		for (int i = 0; i < ARRAY_SIZE(usb_peers); i++) {
			struct peer *usb_peer = &usb_peers[i];
			if (usb_peer->dev != dev)
				continue;
			usb_peer->rx_buf_len = 0; // forget all received JSON characters
			usb_peer->tokens = 0;
			ring_buf_reset(&usb_peer->tx_ring);
			LOG_DBG("reset");
		}
	}
}

void some_init_code()
{
	for (int i = 0; i < ARRAY_SIZE(usb_peers); i++) {
		cdc_acm_dte_callback_set(usb_peers[i].dev, usb_serial_dte_cb);
                ....
}

https://0x0.st/oWhY.txt -- first patch attempt, modifies the current callback
https://0x0.st/oWh0.txt -- second patch attempt, creates a completely new callback


[HxToast] Crash during render tree build when using a high-contrast ThemeColor

Title. Repo link with minimal sample that reproduces the issue can be found here: jolaquai/HxToastDangerMessageProblem
While I have no idea about the nitty-gritty of Blazor or Component development, wading through the Blazor and Havit.Blazor sources showed that the exception comes from Havit.Blazor.Components.Web.Bootstrap.HxToast.BuildRenderTree(RenderTreeBuilder) because for ThemeColor.Danger, HasContrastColor() returns true.
This causes BuildRenderTree(RenderTreeBuilder) to attempt to write data-bs-theme="dark" into the "last non-attribute frame" (which is currently a RenderTreeFrameType.Region), which obviously fails Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder.AssertCanAddAttribute().

@crdo Fixed the crash, but probably needs some more work on visual result:

@jolaquai Thanks for reporting the issue. We were able to reproduce the crash and will fix it for the next release.


Waterfall

It is possible to create a waterfall layout using MagazineLayout? I have cells with different height, but they're being accommodated in the same Y-AXIS.

Hey @Dfmarulanda - waterfall layout isn't something that's currently on the roadmap to support, mostly due to it being quite a large departure in behavior from the way layout currently works.


Since yesterday unique click counter doesn't work anymore, it's equal to click counter.

Hello @Zovi3U could you please send me some affected URLs which you encountered?

Hello @Zovi3U, thanks for pointing out the issue. We recently updated the URL statistics logic to optimize the redirection time, and while the update worked, it introduced a bug. We’ve identified the problem and will have it fixed by the end of the day.

@Zovi3U The bug is fixed successfully, thanks for pointing it out!


The on_limit_message for the WHILE loop does not output the correct variable value if the variable is updated inside the loop

The variable '${message}' is initialized before the WHILE loop, and its value is updated within the WHILE loop. If the WHILE loop times out, 'on_limit_message=${message}' outputs the content of the variable initialized before the loop.
    ${message}    Set Variable    before while loop
    WHILE    ${TRUE}    limit=0.5    on_limit_message=${message}
        ${message}    Set Variable    in while loop
        Sleep    1s
    END

Expected message: in while loop
Actual message: before while loop

I am waiting in a loop for a specific state, and it would be convenient if the last state could be printed when a timeout occurs.


populate ui:options dynamically

I am wondering whether it's possible to have a dropdown that list the github team names the user is part.
I collect the user details here:

title: Enter your Github details
properties:
githubUserName:
title: Github User Name
type: string
description: Your Github ID
githubPAT:
title: Github Personal Access Token
type: string
description: Your PAT

Expecting this to be dropdown and dynamically populated
- title: Choose your Github team
required:
- githubTeamName
properties:
githubTeamName:
title: Github Team Name
type: string
enum:
- ABC
- BCD
default: ABC
Currently the team names are hardcoded (ABC, BCD) but I am expecting that to be populated after user enters github id and pat by calling github api - https://api.github.com/user/teams

This could be solved by adding a custom ui:field. The EntityPicker is a good example: It reads entity names from the catalog and provides them as selectable options. There could be a GitHubTeamPicker that gets the current user auth via githubAuthApiRef, makes a request to the GitHub API, and provides the groups.


ECMASCRIPT_2015 output omits variable function parameters used by 'arguments'

Closure Compiler (http://github.com/google/closure-compiler)
Version: v20190415
Built on: 2019-04-17 17:05

Example source:
class c {
    /**
     * @param {...*} a
     */
    Fire(a) {
        console.log(arguments.toString());
    }
}

var x = new c();
x.Fire(1,2,3,4)

Using ECMASCRIPT5 for language_out produces valid code:
# java -jar compiler.jar --language_out ECMASCRIPT5 --language_in ECMASCRIPT6 --compilation_level  ADVANCED_OPTIMIZATIONS --js bug.js --js_output_file out.js

function a(){}a.prototype.a=function(b){console.log(arguments.toString())};(new a).a(1,2,3,4);

Using ECMASCRIPT_2015 omits the function parameters(1,2,3,4):
# java -jar compiler.jar --language_out ECMASCRIPT_2015 --language_in ECMASCRIPT6 --compilation_level  ADVANCED_OPTIMIZATIONS --js bug.js --js_output_file out.js

'use strict';class a{a(){console.log(arguments.toString())}}(new a).a();

Changing Fire to use the spread operator does work, but generates kind of silly code (converts to an array then back to arguments)
    Fire(...a) {
        console.log(...a);
    }

becomes:
'use strict';console.log(...[1,2,3,4]);

Created internal issue http://b/131256934

I believe this is the intended behavior, no? Deleting the unused argument reduces the size of the code.

In my opinion, using 'arguments' within the function means that all arguments are potentially used. Switching from --language_out ECMASCRIPT5 to --language_out ECMASCRIPT_2015 is changing the behavior of the compiled script, which feels wrong. With this behavior, you can't pass a variable number of arguments to another function that also accepts a variable number of arguments.

@kdkd looks like this was fixed back in May by https://github.com/google/closure-compiler/commit/71660dfaa6a1c74b1bedf4694e37177cccc8df21. I can reproduce your original example with v20190513 but not v20190528 or later versions. Now the compiled output is:
'use strict';class a{a(b){console.log(arguments.toString())}}(new a).a(1,2,3,4);


Python Binding Compilation Error

Bug description
Python Binding Compilation Error
Reproduction steps
Compile the devel branch from source
Screenshots

System

Ubuntu 23.10

Additional
What is the compatible version of casadi for the new pinocchio?

Seems like the Eigenpy version is too low. Upgrading to 3.6 will fix this problem. Perhaps version requirement can be added to the CMakeLists?


Nuget package for release 0.5.1

Hi,
Very excited about the revival of Solrnet!
Is there a new version of SolrNet Nuget package on the way?

Hi @Edminsson, it is in the works. However I am in the process of getting the permissions to get it released. In theory it will take a few weeks

Thanks @xavier-morera. Looking forward to it.

Will tackle also: https://github.com/SolrNet/SolrNet/issues/264

Looking forward to this.  About to start a Solr backed project and would be nice to have the nuget package.

@xavier-morera Do you have an update on this?  We are anxiously awaiting this

I got permissions two days ago for Nuget. I am in NY this week on site and will work on this next week when I get back. I have activities at night and then travel back.

Nuget updated to 0.7.1. Will configure automatic deployments with AppVeyor in the short term


Integrate timed request message with IM command

Client:
Adding support to CommandSender to send Timed Invoke messages.
Add support to cluster objects to retrieve metadata about whether timed invoke is needed.
Server:
Adding support to CommandHandler to process Timed Invoke messages.
Add annotations to the XML to support tagging commands as needing timed invoke.
Add metadata to generated Ember command descriptors to indicate if timed invoke is needed

Adding support to CommandSender to send Timed Invoke messages.

Done in #12465

Add support to cluster objects to retrieve metadata about whether timed invoke is needed.

Done in #12380

Adding support to CommandHandler to process Timed Invoke messages.

Done in #12389

Add annotations to the XML to support tagging commands as needing timed invoke.

Done in #12365

Add metadata to generated Ember command descriptors to indicate if timed invoke is needed

Done in #12389 and #12365
At this point, just timed write client remains, which is #12567


Text Messages are comming in full length, but the audio is sometimes cutoff at the end

This issue is for a: (mark with an x)
- [x ] bug report -> please search issues before submitting
- [ ] feature request
- [ ] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)

Minimal steps to reproduce

Start the realtime Low Level Client
Create a session with turn_detection null
Recored the audio then send a commit and response.create
Messages are comming in and the transcript gets completly transmitted but the audio is sometimes cutoff at the end

Any log messages given by the failure
[RealtimeRelay] Relaying "session.updated" to Client
[RealtimeRelay] Relaying "input_audio_buffer.append" to OpenAI
[RealtimeRelay] Relaying "input_audio_buffer.append" to OpenAI
[RealtimeRelay] Relaying "input_audio_buffer.append" to OpenAI
[RealtimeRelay] Relaying "input_audio_buffer.append" to OpenAI
[RealtimeRelay] Relaying "input_audio_buffer.append" to OpenAI
[RealtimeRelay] Relaying "input_audio_buffer.append" to OpenAI
[RealtimeRelay] Relaying "input_audio_buffer.commit" to OpenAI
[RealtimeRelay] Relaying "response.create" to OpenAI
[RealtimeRelay] Relaying "response.audio.delta" to Client
[RealtimeRelay] Relaying "response.audio.delta" to Client
[RealtimeRelay] Relaying "response.audio_transcript.delta" to Client
[RealtimeRelay] Relaying "response.audio.delta" to Client
[RealtimeRelay] Relaying "response.audio_transcript.delta" to Client
[RealtimeRelay] Relaying "response.audio_transcript.delta" to Client
[RealtimeRelay] Relaying "response.audio_transcript.done" to Client
[RealtimeRelay] Relaying "response.content_part.done" to Client
Expected/desired behavior

OS and Version?

Chrome

Versions
. rt-client-0.4.7.tgz
Mention any other details that might be useful
I also tried to capture the audio like this
       client.on("conversation.updated", async ({ item, delta }) => {
            if (delta?.audio) {
                wavStreamPlayer.add16BitPCM(delta.audio, item.id);
                if (isConnected) {
                    startAudioAnalysis();
                }
            }
            // Decode and attach audio file if available
            if (item.status === "completed" && item.formatted.audio?.length) {
                const wavFile = await WavRecorder.decode(
                    item.formatted.audio,
                    24000,
                    24000,
                );
                item.formatted.file = wavFile;
            }
            conversationItems = client.conversation.getItems();
        });

Thanks! We'll be in touch soon.

Turn detection set to type none doesnt seem to be working for me, but works fine on the openai realtime api


I want to prevent user to type hyphen and dot but after implementing it with onKeyDown event, I am not able to focus back to previous input box

__

### ****

Thank you for your interest in my package.
If you want to prevent the user from typing in specific characters, you can use the onChangeRegex props.
Example: https://coded-bear.github.io/react-otp-field/

OKay I got it! Issue was with isTypeNumber prop, I have removed it and its working fine, thank you.


Make configuration path configurable

I would like to be able to use MRSK in other projects and environments (ie. Laravel). While Laravel also stores it's project configuration in the /config folder, it uses .php files as opposed to .yml. Within the context of a Laravel app it would make more sense to me to store the deploy.yml file in the project root which is why I would like to be able to configure it.
Think this will be a nice issue for me to dabble with Ruby a bit. There are also quite a few directions we could take this in. I'm currently thinking about writing out a .mrskrc on init that will contain this and similar configuration settings in the future. Thoughts?

I'd like to take a stab at this myself. Seems like an easy issue I can use to familiarize myself with the Ruby syntax again 😃

Thanks @kjellberg, missed that option. Let's park the idea of a .mrskrc configuration file for now and see whether other usecases arrive that may warrant adding something like that in the future.

Hi @99linesofcode you metioned Laravel. Do you have some example repo integrating Kamal with Laravel. Thanks and sorry if this a bit off-topic on this issue

Hi @andresgutgon,
No example repository unfortunately but here's the gist of what I did to deploy a Laravel application succesfully:

Create a base image that copies your source code into /app and host it on a container registry (for example on Github);
Add a healthcheck endpoint (i.e. /up). I've used Spatie's Laravel Health;
Define your deploy.yml and secrets;
Run Kamal. Here is the alias I used when it was still mrsk:

# mrsk
alias mrsk="docker run -it --rm -v $PWD:/workdir -v $HOME/.gitconfig:/root/.gitconfig -v $SSH_AUTH_SOCK:/ssh-agent -v /var/run/docker.sock:/var/run/docker.sock -e SSH_AUTH_SOCK=/ssh-agent ghcr.io/mrsked/mrsk:latest"

Below is an example of the deploy.yml I used:
service: APP_NAME

image: GITHUB_ACCOUNT/
servers:
  - SERVER_IP

registry:
  server: ghcr.io
  username: 99linesofcode
  password:
    - MRSK_REGISTRY_PASSWORD

builder:
  multiarch: false

healthcheck:
  path: /up
  port: 80

Good luck!

Thanks! I'll try and let you know


Remove tests/pos-with-compiler-cc

Claim that deletion bounty!!

When merging we can also close the issue to restore these tests #20813