Complex /ex commands using server console or rcon

Is it possible to send multilined command?
I want to send commands similar to:
foreach <server.list_online_players> as:player:
        - teleport <[player]> <[player].location.add[<util.random.int[-1].to[1]>,0,<util.random.int[-1].to[1]>]>

or run tasks with arguments
/ex run task_name arg1 arg2 "arg3 with spaces"

I want to use /ex command as /ex foreach .... , but I don't know how to use it in single command line.
Now I'm using tasks, but I want to know how run tasks with parameters and then read parameters in my script.

Ask for basic help on Discord https://discord.gg/Q6pZGSR


Misc small changes to the TableReport

A few small adjustments after euroscipy discussions
Will add a few more soon

Yes, so I works fine on Firefox but not on Chrome.

cool thanks for checking!

I can't reproduce the issue on Chrome on Linux

Ok, so unless there is an easy fix, I guess we can skip this feature for Chrome on MacOS for now?

I'm guessing that's a significant proportion of users so I'd like to investigate a bit more (also I need to check the failing test)

ok @Vincent-Maladiere this one is ready now


Animated glitch Scans are changing site to agscomics

Source name
Animated glitch scans
Source language
English
Source link
https://anigliscans.xyz/
Other details
They have changed their site to https://agscomics.com/
Acknowledgements

[X] I have updated all installed extensions.
[X] I have opened WebView and checked that the source website is down.
[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a meaningful title with the source name.
[X] I will fill out all of the requested information in this form.

It's not changed they made two separate websites

No the me bhe close old one as no manhua is uploading on it just one slide

pointing to new site

No they may be closing old one as no manhua is uploading on it just one slide


Does this library supports state parameter

Does this library supports state parameter to retain the application state after redirect to third-party source.
As described in oauth2 RFC draft
   state
         RECOMMENDED.  An opaque value used by the client to maintain
         state between the request and callback.  The authorization
         server includes this value when redirecting the user-agent back
         to the client.  The parameter SHOULD be used for preventing
         cross-site request forgery as described in Section 10.12.

http://tools.ietf.org/html/rfc6749#section-4.1.1

Take a look at the GitHub example, it shows how to set the state parameter.


Test issue

test

Posting a mock update

looks like working @pavlovcik . I need your stress test for this feature

looks like working @pavlovcik . I need your stress test for this feature
right now, followUpTime: 1m, disqualifyTime: 10m

Unfortunately its not clear to me exactly how I should go about "stress" testing. Wouldn't this mean that we should be rapidly changing the conditions via labels across many issues?

I thought you originally have a plan for this lol

testing another feature on this issue

I thought you originally have a plan for this lol

We should discuss in the DMs and figure a plan. Currently working on something unrelated so my headspace is elsewhere.

@ubiquity-devpool@the-devpool

Well, there's a bug lol

@ubiquibot[bot] @ubiquibot

/assign

/assign

/assign

/assign

/assign

/assign

/assign

/assign

/assign

@0xcodercrane just reset the unassign to 4 days and 7 days and then lets just dogfood it on this repo. We will find bugs with real usage.

ok

/assign

/assign

/assign

/assign

debugging why the same comment has been posted twice. basically, the event triggered twice within a short period. need to handle this case.

/assign

/assign

/wallet 0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266

/wallet 0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266

/wallet 0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266

/wallet 0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266

/wallet 0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266

'/wallet 0x70997970c51812dc3a010c7d01b50e0d17dc79c8'

/wallet 0x70997970c51812dc3a010c7d01b50e0d17dc79c8

/assign

/assign

/assign

/assign


Jest does not allow asynchronous catching of rejected promises

Bug
Jest version: 22.4.3 (But was introduced in 21.x)
Config: None (all defaults)
Node version: 6.11.5, 8.9.4
Jest does not allow you to asynchronously attach a .catch() to a promise, even if it's added before the test itself is finished. The only difference between these two tests is that the catch is added within a setTimeout() in the second one.
// This passes after ~107ms (the expected amount of time)
test('Synchronous catching of promise', (done) => {
    const promise = Promise.reject(new Error('nope'));

    promise.catch((err) => console.log('Caught error: ', err.message));

    // At a later time, finish the test
    setTimeout(() => {
        console.log('here');
        done();
    }, 100);
});

// This fails after ~10ms, with error message "nope"
test('Async catching of promise', (done) => {
    const promise = Promise.reject(new Error('nope'));

    setTimeout(() => {
        promise.catch((err) => console.log('Caught error: ', err.message));
    });

    // At a later time (well after the catch() has been attached to the promise), finish the test
    setTimeout(() => {
        // We nver makes it to this point because Jest sees that promise was not caught immediately
        console.log('here');
        done();
    }, 100);
});

In Jest 20.x, only warnings are printed, and the test does not fail
(node:54613) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): Error: nope
(node:54613) PromiseRejectionHandledWarning: Promise rejection was handled asynchronously (rejection id: 2)

(Was originally mentioned in https://github.com/facebook/jest/issues/3251)

Duplicate of #5311 (although this has a better description 🙂)

@SimenB this is not a duplicate. #5311 is about a warning and what looks to me like a misunderstanding. In @gaearon's code, expect() will throw out of the test and leave promise dangling, hence garbage collected and warned about it not being caught. That's actually good.
This issue is a serious bug, it means one can't write code which asynchronously catches promise rejections. This is entirely unexpected.

Going back to jest 20 from 24 solves this, so it's obviously a regression.

It has the same underlying cause - we added our own 'unhandled rejection' handler. The change is a good one, as a random unhandled promise will fail your test (like a sync error) instead of either being swallowed or just printed as a warning. I think it's way more more often the case you want to fail tests on unhandled promise rejections than testing handlers. However, I think we should allow disabling it on a test by test basis if you explicitly want to test rejection handlers.
I think that can be tracked in #5311, or do you think it's orthogonal?

I'm having the same problem. Consider the following test:
it('terminates the test prematurely', async () => {
  const promise = new Promise((resolve, reject) => setTimeout(() => reject(new Error('Oops')), 0));
  await new Promise(resolve => setTimeout(resolve, 10));
  expect(promise).rejects.toThrow('Oops');
});

This creates a promise, does some asynchronous stuff, then expects that the promise fails. But execution never reaches the assertion. As soon as the promise rejects (while waiting for the timeout), the unit test is terminated and marked as failing.
I understand that #5311 has a similar cause, but I believe these are two different issues. My understanding is that #5311 describes the case that at the end of the test, promises are still dangling. This should be avoided. This issue, in contrast, describes the case that during test execution, a promise is not immediately subscribed to. This, in my opinion, is a perfectly valid scenario that should work.

What's more, the code may not even be part of the test suite, but of the system under test. Consider:
code-under-test.js
export async function codeUnderTest() {
  const promise = new Promise((resolve, reject) => setTimeout(() => reject(new Error('Oops')), 0));
  await new Promise(resolve => setTimeout(resolve, 10));
  return promise;
}

test.js
import { codeUnderTest } from '../src/code-under-test.js';

describe('codeUnderTest', () => {
  it('terminates the test prematurely', async () => {
    await expect(codeUnderTest()).rejects.toThrow('Oops');
  });
});

The function codeUnderTest is perfectly valid, yet fails any unit test that attempts to call it. Is there any workaround?

After much frustration, we were able to work around this issue by adding a dummy catch to the promise.
it('terminates the test prematurely', async () => {
  const promise = new Promise((resolve, reject) => setTimeout(() => reject(new Error('Oops')), 0));
  promise.catch(err => { return; });
  await new Promise(resolve => setTimeout(resolve, 10));
  await expect(promise).rejects.toThrow('Oops');
});

This will not solve the issue in an imported function, but should at least band-aid the problem in tests. It would be great if this ticket was re-opened as this issue appears to be disjoint from https://github.com/facebook/jest/issues/5311

Nice idea! I reworked it into a defuse function:
function defuse(promise) {
  promise.catch(() => {});
  return promise;
}

it('terminates the test prematurely', async () => {
  const promise = defuse(new Promise((resolve, reject) => setTimeout(() => reject(new Error('Oops')), 0)));
  await new Promise(resolve => setTimeout(resolve, 10));
  await expect(promise).rejects.toThrow('Oops');
});

Still, this is a workaround for a problem that I believe should be fixed.

Nice idea! I reworked it into a defuse function:
function defuse(promise) {
  promise.catch(() => {});
  return promise;
}

it('terminates the test prematurely', async () => {
  const promise = defuse(new Promise((resolve, reject) => setTimeout(() => reject(new Error('Oops')), 0)));
  await new Promise(resolve => setTimeout(resolve, 10));
  await expect(promise).rejects.toThrow('Oops');
});

Still, this is a workaround for a problem that I believe should be fixed.

Hi @DanielSWolf would you mind explaining how/why this fixes the issue? I just wrote a defuse function of my own which is ridding me of the Warning but I don't understand why.

@Rexman17 Let's walk through the function defuse.
promise.catch(() => {});

This line creates a new promise that catches and swallows any rejection (error) by the original promise. If the original promise succeeds with a value, the new promise succeeds with the same value. If the original promise fails, the new promise still succeeds, but with undefined as value.
But notice that this isn't what we return:
return promise;

What we return, instead, is the original promise. This means that any code using the "defused" Promise will behave exactly as if it were using the original promise. After all, it is the same promise. The only difference is that after the call to defuse, the original promise has a continuation. But a promise can have any number of continuations (.then(...), .catch(...)) attached to it, and there is no official way to access a promise's continuations, so there is no observable difference between promise before and after defusion.
Only that, apparently, Jest does some cheating and checks whether every promise has a .catch continuation when it fails. (I didn't check the source code to see how they do that.) And when Jest does that, it finds that the promise does indeed have a .catch continuation, so it's happy and doesn't bother us with its error heuristic.


Update enduser.id mapping

Reflecting the common-schema mapping update: https://github.com/microsoft/common-schema/pull/388
Note: need to consider this impact on the (stable) Java agent.

API change check
API changes are not detected in this pull request.

Hi @trask. Thank you for your interest in helping to improve the Azure SDK experience and for your contribution. We've noticed that there hasn't been recent engagement on this pull request. If this is still an active work stream, please let us know by pushing some changes or leaving a comment. Otherwise, we'll close this out in 7 days.

Keep it please. Need it for 3.5 release.

/reopen


This page needs an update on batch throttling

now a batch server has batch throttling enabled by default so that you cannot 'overcommit' threads

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

ID: 6465b985-b976-a032-6f05-e540ef844f30
Version Independent ID: d13d8e4c-36cd-21ea-1113-99774093458f
Content: Batch processing and batch servers
Content Source: articles/fin-ops-core/dev-itpro/sysadmin/batch-server-overview.md
Service: dynamics-ax-platform
Product: ****
Technology: ****
GitHub Login: @maertenm
Microsoft Alias: maertenm

Need input from my team. I have reached out.

@josaw1 @gertvdh issue has been addressed in #2010


vitess: 17.0.3 -> 18.0.2

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/vitess/versions.
meta.description for vitess is: A database clustering system for horizontal scaling of MySQL
meta.homepage for vitess is: https://vitess.io/
meta.changelog for vitess is: https://github.com/vitessio/vitess/releases/tag/v18.0.1
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 18.0.1 with grep in /nix/store/m0ab0npdksji648wa15gbhl5dblx53vi-vitess-18.0.1
found 18.0.1 in filename of file in /nix/store/m0ab0npdksji648wa15gbhl5dblx53vi-vitess-18.0.1

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
vitess

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/m0ab0npdksji648wa15gbhl5dblx53vi-vitess-18.0.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A vitess https://github.com/r-ryantm/nixpkgs/archive/6e16e774e62fa658b915f7a7d927847b562c32fb.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/6e16e774e62fa658b915f7a7d927847b562c32fb#vitess

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/m0ab0npdksji648wa15gbhl5dblx53vi-vitess-18.0.1
ls -la /nix/store/m0ab0npdksji648wa15gbhl5dblx53vi-vitess-18.0.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

vitess

Maintainer pings
cc @urandom2 for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/vitess/versions.
meta.description for vitess is: A database clustering system for horizontal scaling of MySQL
meta.homepage for vitess is: https://vitess.io/
meta.changelog for vitess is: https://github.com/vitessio/vitess/releases/tag/v18.0.2
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 18.0.2 with grep in /nix/store/larx3jn0pgx9ja64dbaarqraxxcyya2v-vitess-18.0.2
found 18.0.2 in filename of file in /nix/store/larx3jn0pgx9ja64dbaarqraxxcyya2v-vitess-18.0.2

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
vitess

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/larx3jn0pgx9ja64dbaarqraxxcyya2v-vitess-18.0.2 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A vitess https://github.com/r-ryantm/nixpkgs/archive/0b1884bfbf21b35cda226fe6ecc00b0057a2abca.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/0b1884bfbf21b35cda226fe6ecc00b0057a2abca#vitess

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/larx3jn0pgx9ja64dbaarqraxxcyya2v-vitess-18.0.2
ls -la /nix/store/larx3jn0pgx9ja64dbaarqraxxcyya2v-vitess-18.0.2/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

vitess

Maintainer pings
cc @urandom2 for testing.


🍒[cxx-interop] Import OS_OBJECT_DECL consistently with and without C++ interop enabled

Explanation: ClangImporter was not able to lookup NSObject when C++ interop is enabled, which caused types such as xpc_object_t from system module XPC to be imported differently: any OS_xpc_object without C++ interop vs any NSObject & OS_xpc_object with C++ interop enabled.
Scope: This alters the way NSObject type is looked up by ClangImporter.
Risk: Medium, this alters the code path that can be taken without having C++ interop enabled.
Original PR: https://github.com/apple/swift/pull/67116
rdar://110000787
(cherry picked from commit 5a6203251c7b9ae897ff74317921a191132adc39)

@swift-ci please test


Add tools back into cmdBar

https://github.com/KittyCAD/modeling-app/pull/2917/files#r1666203776 removed tools out of the cmd bar because the config expects individual events, not events with data (needs to be {type: 'change tool', data: 'line'} etc.

The tricky bit with this is that currently useStateMachineCommands, and more deeply the CommandSetConfig type, assume that there is one command per state machine event. What needs to be done is allow for there to be multiple commands per event, or divorce them in some way such that one state machine event maps to multiple commands each with different built-in, static payloads.
Maybe the mapping for command configurations should be inverted from how it is today. Instead of mapping from state machine events to command configs, we should allow command authors to create any set of configs they want, and just require that they specify what event they're gonna invoke and what (if any) payload will be included along with it.

Okay it seems that the other incorrect assumption that any command bar commands make (not just those tied to a state machine) is that every part of the defined payload is an argument that the user should be shown an input for. This use case calls for:

One state machine event ("change tool") to be associated with multiple command bar commands
Each of those commands have a payload ({ tool: SketchTool }) that the user has no input on, and thus they should be treated as if there are no arguments in the command bar


SC-159576 upgrade pnpm lock files

Approved and please approve any other PRs that have the same change as this. Also, please raise any risks with the product team and log them on your Shortcut story too.
Tagging @daviddeskpro for FYI

source: https://github.com/DeskproApps/asset-panda/pull/10#pullrequestreview-2245419681


Binary cross entropy produces negative results if input is more than 1

Issue type
Bug
Have you reproduced the bug with TensorFlow Nightly?
No
Source
source
TensorFlow version
2.6.12
Custom code
Yes
OS platform and distribution
Linux Ubuntu 22.04
Mobile device
Linux Ubuntu 22.04
Python version
3.11.8
Bazel version
No response
GCC/compiler version
No response
CUDA/cuDNN version
No response
GPU model and memory
No response
Current behavior?
Output: tf.Tensor(-1.7812711e-06, shape=(), dtype=float32)
Standalone code to reproduce the issue
import tensorflow as tf

a = tf.Variable([1.0000000597], dtype=tf.float32)
b = tf.constant([1.0], dtype=tf.float32)

loss = tf.keras.losses.binary_crossentropy(a, b)
print(loss)

Relevant log output
No response

@hguandl,
The loss is just a scalar that you are trying to minimize. It's not supposed to be positive! For instance a cosine proximity loss will usually be negative (trying to make proximity as high as possible by minimizing a negative scalar).
https://stackoverflow.com/questions/42264649/keras-binary-crossentropy-has-negative-values/47503934#47503934
Thank you!


"Doesn't seem to be a 360 picture, skipping picture"

I'm trying to upload photos created with the Street View app but I get the error  Donesn't seem to be a 360 picture, skipping picture (yes, the typo is actually on the error lol) They seem to work fine with 360 image viewers, and there is location data attached to them.
I don't have a proper 360 camera and cannot buy one.  Any way to fix this issue?

The tool reads the xmp metadata ( "ProjectionType" ) to determing if the image is a 360 or not.  I suppose your image doesn't contain this.
Maybe attach the picture here and I can take a look ?

Hi! Thanks for the quick reply. For now I was able to upload it with an app called Panorra, though the blue circle seems to only show up when you zoom in a good amount, not sure if that's normal or not.
Here is the picture: https://drive.google.com/file/d/1PP8iiOjd1PnFOzNY3svKaDaFCVxO04Eu/view?usp=drivesdk

Thanks for the picture.  At first glance the metadata looks fine :
exiftool PANO_20231019_121312_2.jpg
...
Projection Type                 : equirectangular
...

I'll dig some more a little later.
Thanks for reporting.

Added support for this alternative way of specifying 360 image.

Closing


Fix the Thanos Query deployment to use Thanos Store service

Thanos Query deployment is bound to 10902 on HTTP not 9090
Thanos Query needs Thanos Store address, not Prometheus address
Thanos Sidecar Service should really be the Thanos Store Service

Sorry, this might be conflicting / be outdated by #149.
We have started working on a separate project called kube-thanos which is focused specifically on Thanos. Only the sidecar should survive in kube-prometheus.

@metalmatze That is great. Have some home grown rules for Thanos that I was planning to add next. The new repository is a much better place for it.


Build error for advanced server example, Visual Studio 2017

Hi,
I'm trying to get started with a beast project and have copied the advanced server example verbatim from the documentation to get started. I've added the standard #include "stdafx.h" on top, everything else is identical. I get a build error in Visual Studio 2017 (version 15.7.3):

1>------ Build started: Project: cppweb, Configuration: Debug Win32 ------
1>cppweb.cpp
1>c:\dev\cppweb\cppweb.cpp(516): error C2530: 'self_': references must be initialized
1>c:\dev\cppweb\cppweb.cpp(516): note: This diagnostic occurred in the compiler generated function 'void http_session::queue::operator ()(boost::beast::http::message<isRequest,Body,Fields> &&)'
1>Done building project "cppweb.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

The build error doesn't make sense to me, self_ is initialized in the constructor. Any ideas?
Version of Beast
167
Steps necessary to reproduce the problem
Build advanced server example in Visual Studio 2017.
All relevant compiler information
Visual Studio 2017 version 15.7.3.
Boost 1.67.0 installed via NuGet.

No idea, this all compiles for me. I have never seen such an error. Try renaming work_impl::self_:
            // This holds a work item
            struct work_impl : work
            {
                http_session& this_;
                http::message<isRequest, Body, Fields> msg_;

                work_impl(
                    http_session& self,
                    http::message<isRequest, Body, Fields>&& msg)
                    : this_(self)
                    , msg_(std::move(msg))
                {
                }

                void
                operator()()
                {
                    http::async_write(
                        this_.socket_,
                        msg_,
                        boost::asio::bind_executor(
                            this_.strand_,
                            std::bind(
                                &http_session::on_write,
                                this_.shared_from_this(),
                                std::placeholders::_1,
                                msg_.need_eof())));
                }
            };

Same error.

1>------ Build started: Project: cppweb, Configuration: Debug Win32 ------
1>cppweb.cpp
1>c:\dev\cppweb\cppweb.cpp(516): error C2530: 'this_': references must be initialized
1>c:\dev\cppweb\cppweb.cpp(516): note: This diagnostic occurred in the compiler generated function 'void http_session::queue::operator ()(boost::beast::http::message<isRequest,Body,Fields> &&)'
1>Done building project "cppweb.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Making this_ a pointer instead of a reference seems to make it compile. Compiler bug?

Compiler bug?
Definitely. Are you on the latest Visual Studio?

Yes, 15.7.3 is the latest release.
Looks like a problem with the conformance mode flag, /permissive-, which is enabled by default for new projects since 15.5.
I can confirm that disabling conformance mode does the trick.

I forgot why I turned off /permissive-:
https://github.com/boostorg/beast/blob/93c35524a6125db3e6aeefc8abc826a810dd5d61/CMakeLists.txt#L27

I am investigating why Boost.Range produces a compilation error with */fpermissive-

This issue has been resolved.


[stable/airflow] inconsistent extraConfigmapMounts settings

Is your feature request related to a problem? Please describe.
Currently, there are two ways to apply extra* settings in templates:
{{- range .Values.airflow.extraConfigmapMounts }}
- name: {{ .name }}
  mountPath: {{ .mountPath }}
  readOnly: {{ .readOnly }}
  {{- if .subPath }}
  subPath: {{ .subPath }}
  {{- end }}
{{- end }}
{{- if .Values.airflow.extraVolumeMounts }}
{{- toYaml .Values.airflow.extraVolumeMounts | nindent 12 }}
{{- end }}

IMHO, there is little benefit wrapping extraConfigmapMounts than simply toYaml the raw content.  Even worse, the two methods are mixed in the same file with the same naming pattern.
Why do we need to remember extraConfigmapMounts is a wrapper but extraVolumeMounts is raw YAML?  This is extremely confusing.
Describe the solution you'd like
We may want to have all extra* settings to be raw YAML.  This will give the user more control over these hooks.
Something like:
{{- if .Values.airflow.extraConfigmapMounts }}
{{- toYaml .Values.airflow.extraConfigmapMounts | nindent 12 }}
{{- end }}
{{- if .Values.airflow.extraVolumeMounts }}
{{- toYaml .Values.airflow.extraVolumeMounts | nindent 12 }}
{{- end }}

@fengsi
I am fairly sure the reason we are not using toYaml is because the airflow.extraConfigmapMounts value is that different components are used under volumeMounts: and volume:.
Is there anything you are unable to do in the current setup?


test stencil store

Links

Developer considerations

On any task

[ ] Previous unit and e2e tests are passing
[ ] Perform dev QA

On new features

[ ] Add unit tests
[ ] Add e2e tests
[ ] Add documentation
[ ] Does the component have exportedparts for styling? If so, add unit a unit test for each exportedpart

On bugs

[ ] Add unit tests to prevent the bug from happening again

Developer QA steps

Nice work! 😃


RealSense D435 camera getting highest point's distance

Required Info

Camera Model
D435

Firmware Version
5.15.1

Operating System & Version
Ubuntu  22.04 LTS

Kernel Version (Linux Only)
6.5.0-14-generic

Platform
PC

SDK Version
<IP_ADDRESS>84

Language
Python

Segment
Others

Hi,
Is there a function in the RealSense camera SDK to determine the distance from the camera to the highest point of an object using bounding box coordinates (x1, y1, x2, y2)? If there isn't a function how can we achieve that?
Thanks.

Hi @erayak  If you know the distance from the camera to the highest point and you also know the angle then you may be able to calculate the height using trigonometry mathematics, as described at https://github.com/IntelRealSense/librealsense/issues/9297

Hi @MartyG-RealSense,
We don't know the highest point of the object we detected. Actually we are trying to do is finding the highest point of the detected object and get the distance from camera of that highest point. We think about the searching the highest point all through our coordinates with using get_distance function in the SDK. But that would slow the program so much. Is there any way other way to achieve that?
Also, the get_distance function uses angle information to calculate the distance, right? If not, it will calculate the distance larger or smaller than it actually is when the object moves away from 90 degrees below the camera, for example when the camera is on top and the object is in a plane below the camera.

Hi @MartyG-RealSense,
How do you think we can proceed for a solution? We are trying to use the function depth_frame.get_data() to achieve our goal, can we give specific coordinates as parameters?

Apologies for the delay in responding further.
If the background could be excluded from the image so that only the object is rendered on it, perhaps by using a post-processing Threshold filter, then the highest point could be the depth value on the object that is furthest from the camera.

Hi @erayak  Do you require further assistance with this case, please?  Thanks!

Hi @MartyG-RealSense thanks for your support

You are very welcome.  As you do not require further assistance, I will close this case.  Thanks again!


Full Screen Wizard css?

I had some help from @mathisscott to create a full screen modal here #1344.
Any chance I can get some help to do the same for a full screen wizard?
Luis

@luis-cortina
What version of Clarity are you using?

This css was good enough for me.
.modal-dialog.modal-xl {
width: 100%;
}
.clr-wizard.wizard-xl .modal-dialog {
height: 100%;
}


DirectXTK portfile building incorrect project for x86-uwp and x64-uwp

As I understand it, DirectXTK_Windows10.sln/.vcxproj is the UWP solution/project that should be built for DirectXTK -- however, the portfile does not differentiate and builds DirectXTK_Desktop_2017.sln for any triplet. That causes linker failures for dependent UWP projects.
Please note, that solution (DirectX_Windows10.sln) does not build the tools that are built under the Desktop solution. Thus the portfile would need to take that into account when installing MakeSpriteFont.exe XWBTool.exe.

This issue has been fixed. Thanks for reporting this issue.


Cleanup repo only in non-Codebuild environments

If the build is running in Codebuild, there is no cloned repo so we don't need to run the cleanup.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/approve
/cherrypick release-0.14


Example for using Node_redis library to push Data in Tile38 DB

Hi, I am trying to test out tile38 for my new project and due to lack of documentation I am facing trouble about how to go about pushing a sample dataset in DB.
It would be awesome if you could provide a Node_redis library example.
I also could not find the documentation needed about providing timestamp with new entries.
Any help is appreciated.

Hi @shailesh17mar,
Node_redis is supported. The trick is to call the client.send_command(name, args, callback) function in order to use Tile38 commands.
var redis = require("redis")
var client = redis.createClient(9851, "localhost")

client.send_command(
	"SET", ["fleet", "truck1", "POINT", "33", "-115"],
	function(err, reply){
		if (err){
			// ERROR
		}else{
			console.log(reply)
			// OK
		}
	}
)

client.send_command(
	"GET", ["fleet", "truck1"],
	function(err, reply){
		if (err){
			// ERROR
		}else{
			console.log(reply)
			// {"type":"Point","coordinates":[-115,33]}
		}
	}
)

I also added a link to the Tile38 wiki site. https://github.com/tidwall/tile38/wiki/node_redis-example
I agree with you that there should be more documentation.
Thanks for the suggestion and for trying out Tile38.

I will be trying out Tile38 with a large location db. Will tell you about my experience.

Sounds good. I look forward to the feedback.


refactor martenbuild.cs a little

It seems the CI gods are on my side today. Both builds green first time! :feelsgood:

@adamralph Thanks for the refactoring changes!


Ability to save in both languages

I'm using this plugin for at least a year and half and it's working great.
I have one new requirement now - ability to save a content as two pages simultaneously in both languages.
For an example, I have a website with two languages: English and French and I have News and NewsTranslation models. The default language is English.
When I save a content on English, the result is saving in the "news" table and in also in "news_translations" table too, the locale field is "en", but I want to create two records in the "news_translations" at the same time, so the both records will have different locale field "en" and "fr".
So, later the administrator can change the English text on the French version, instead of creating a new page every time for the translation manually.
Is this possible to achieve with this plugin?

Even if I think that this is a very bad behavior because you save something to the database which isn't right just to display it later in the UI.
The solution is to use the locale as first array key in a multi dimensional array:
$news = News::create([
    'en'  => ['headline' => 'Ability to save in both languages'],
    'fr'  => ['headline' => 'Possibilité de sauvegarder dans les deux langues'],
]);

But I rly recommend you to only save real data - and use the fallback logic and a multi-locale view for the administrator.

Hello Gummibeer,
Yes, I agree with you, but the client insists for this.
Here's my code:
News model:
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use Dimsav\Translatable\Translatable;

class News extends Model
{
  use Translatable;

  public $translatedAttributes = ['title', 'slug', 'body', 'status', 'user_id'];
}

news_translations table:
    public function up()
    {
        Schema::create('news_translations', function (Blueprint $table) {
          $table->increments('id');
          $table->integer('news_id')->unsigned();
          $table->string('locale')->index();

          $table->string('title');
          $table->string('slug')->unique();
          $table->text('body');
          $table->string('status');
          $table->integer('user_id');

          $table->unique(['news_id', 'locale']);
          $table->timestamps();
        });
    }

config/translatable.php
    'locales' => [
        'en' => 'English',
        'fr' => 'French',
    ],

NewsController
    public function store(Request $request)
    {
      $this->validate($request, [
        'title' => 'required',
        'body' => 'required',
      ]);

      $news = new News();
      $news->title = $request->title;
      $news->body = $request->body;
      $news->year_id = $request->year_id;
      $news->status = $request->status;
      $news->user_id = Auth::user()->id;

      if($request->hasFile('image')) {
        $path = $request->image->getClientOriginalName();
        $name = time() . '-' . $path;
        $news->image = $request->file('image')->storeAs('public/news', $name);
      }

      $news->save();

      return redirect(route('news.index'))->with('success_message', 'The news has been created!');
    }

How do I achieve this task?

Instead of doing the manual assignments I would go for the shorter fill versions. So in your Controller do:
// ...
$news = new News();
$news->year_id = $request->year_id;
$news->fill([
  'en' => $request->only(['title', 'slug', 'body', 'status', 'user_id']),
  'fr' => $request->only(['title', 'slug', 'body', 'status', 'user_id']),
]);
// ...

Thank you for your answer. I've just tried like this and I'm getting error:
Illuminate \ Database \ Eloquent \ MassAssignmentException
en
I've tried with adding

This should be based on your wrong configuration https://github.com/dimsav/laravel-translatable/blob/f1d5569b6c89da1e89dbe48b9bcbb9e54b0afa2c/src/Translatable/Translatable.php#L409-L431
It should be:
 'locales' => [
    'en',
    'fr',
],

I've changed into:
'locales' => [
    'en' => 'en',
    'fr' => 'fr',
],

otherwise if I put:
'locales' => [
    'en',
    'fr',
],

every page shows 404.
Now when I've tried again I'm getting this error:
Illuminate \ Database \ Eloquent \ MassAssignmentException
title

This is my code for the LanguageController :
<?php
namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Lang;

class LanguageController extends Controller
{
    public function switchLang(Request $request, $lang)
    {
        // Store the URL on which the user was
        $previous_url = url()->previous();

        // Transform it into a correct request instance
        $previous_request = app('request')->create($previous_url);

        // Get Query Parameters if applicable
        $query = $previous_request->query();

        // In case the route name was translated
        $route_name = app('router')->getRoutes()->match($previous_request)->getName();

        // Store the segments of the last request as an array
        $segments = $previous_request->segments();

        // Check if the first segment matches a language code
        if (array_key_exists($lang, config('translatable.locales'))) {

            // If it was indeed a translated route name
            if ($route_name && Lang::has('routes.' . $route_name, $lang)) {

                // Translate the route name to get the correct URI in the required language, and redirect to that URL.
                if (count($query)) {
                    return redirect()->to($lang . '/' .  trans('routes.' . $route_name, [], $lang) . '?' . http_build_query($query));
                }

                return redirect()->to($lang . '/' .  trans('routes.' . $route_name, [], $lang));
            }

            // Replace the first segment by the new language code
            $segments[0] = $lang;

            // Redirect to the required URL
            if (count($query)) {
                return redirect()->to(implode('/', $segments) . '?' . http_build_query($query));
            }

            return redirect()->to(implode('/', $segments));
        }

        return redirect()->back();
    }

}

As announced here, the project has been deprecated. Please use astrotomic/laravel-translatable.


Converting coordinates Viewportpoint and pixel and back

Hi
i have tried over 6 hours i dindt get it done. So im getting crazy. The problem:
I convert a pixel into a viewportPoint this way: "viewer.viewport.pointFromPixel(pixel);" in my OnMouseOver function. After that i save the coordinates of this viewportPoint (x and y).
Later in my MouseClick i want to do it backwards. So from the coordinates of the viewportPoint (x and y) that i have saved i want to get a pixel. I found "pixelFromPoint" method but this method need a viewportPoint-Object and i dont know how to create it. I just have the coordinates of the viewportPoint but not the Object at all.

You can create it like this:
var point = new OpenSeadragon.Point(x, y);

Are you sure ? Is this the way i get a pixel from a viewportPoint ?

I want to convert not to create just a pixel. Converting a viewportpoint coordinate. Like when i convert a event.position.x to a viewportpoint. So i want this only backwards

Is this the way i get a pixel from a viewportPoint ?

No, what I mean is that if you have x,y coordinates of a viewport point, you can create the point and call pixelFromPoint like this:
var point = new OpenSeadragon.Point(x, y);
var pixel = viewport.pixelFromPoint(point);

Let me know if this is not what you are looking for.

Thanks that works for me.


Add user docs with past presentation links

Description:
Add a page in our docs site that links all Envoy Gateway past presentations and slides
[optional Relevant Links:]

Any extra documentation required to understand the issue.

I can take this one if you could tell me where can I find those presentations. I'm thinking about an introduction of EG in the first Chinese community meeting. The past presentations can be very good inputs.

thanks ! here's the talk from Kubecon NA 2022 https://www.youtube.com/watch?v=3MUOZc8XNCc
@AliceProxy can you link the slides for that talk here ?


Correct return type on View facade's first()

I noticed my IDE (VS Code) was making a fuss about View::first() not returning a View instance, but a Factory (which it doesn't seem to return, since Illuminate\View\Factory returns a View instance (as noted in the factory docblock)
I added the correct return type to the View facade and added a small test assertion to ensure this type is returned (which might be useless, but I added it for good measure).

I noticed I was committing from the wrong user credentials, causing my gpg-signature to be unverified. Sorry about that.


evaluator: builtins used in disjunctions work differently with explicit vs implicit unification

What version of CUE are you using (cue version)?

$ cue version
cue version v0.8.2

go version go1.22.2
      -buildmode exe
       -compiler gc
       -trimpath true
     CGO_ENABLED 0
          GOARCH amd64
            GOOS linux
         GOAMD64 v1

Does this issue reproduce with the latest stable release?
Yes, 0.8.2.
What did you do?
exec cue vet works.cue
exec cue vet broken.cue
-- works.cue --
import "strings"

#valid: {
	name!: ( strings.HasPrefix("Foo") & strings.HasSuffix("Foo") ) | "an exception"
}

list: [...#valid]
list: [
	{name: "FooBarFoo"},
	{name: "FooBazFoo"},
	{name: "FooQuuxFoo"},
	{name: "an exception"},
]
-- broken.cue --
import "strings"

#valid: {
	name!: strings.HasPrefix("Foo") | "an exception"
	name!: strings.HasSuffix("Foo") | "an exception"
}

list: [...#valid]
list: [
	{name: "FooBarFoo"},
	{name: "FooBazFoo"},
	{name: "FooQuuxFoo"},
	{name: "an exception"},
]

What did you expect to see?
A passing test.
What did you see instead?
> exec cue vet works.cue
> exec cue vet broken.cue
[stderr]
list.3.name: 2 errors in empty disjunction:
list.3.name: invalid value "an exception" (does not satisfy strings.HasPrefix("Foo")):
    ./broken.cue:4:9
    ./broken.cue:4:27
    ./broken.cue:5:9
    ./broken.cue:13:9
list.3.name: invalid value "an exception" (does not satisfy strings.HasSuffix("Foo")):
    ./broken.cue:5:9
    ./broken.cue:4:9
    ./broken.cue:5:27
    ./broken.cue:13:9
[exit status 1]
FAIL: /tmp/testscript823009522/disjunctionsAndValidators.txtar/script.txtar:2: unexpected command failure

This is unrelated to builtins, as the following modification (using regular expressions instead of the strings functions) demonstrates:
exec cue vet works.cue
exec cue vet broken.cue
-- works.cue --
import "strings"

#valid: {
	name!: ( =~"^Foo" & =~"Foo$" ) | "an exception"
}

list: [...#valid]
list: [
	{name: "FooBarFoo"},
	{name: "FooBazFoo"},
	{name: "FooQuuxFoo"},
	{name: "an exception"},
]
-- broken.cue --
import "strings"

#valid: {
	name!: =~"^Foo" | "an exception"
	name!: =~"Foo$" | "an exception"
}

list: [...#valid]
list: [
	{name: "FooBarFoo"},
	{name: "FooBazFoo"},
	{name: "FooQuuxFoo"},
	{name: "an exception"},
]

> exec cue vet works.cue
> exec cue vet broken.cue
[stderr]
list.3.name: 2 errors in empty disjunction:
list.3.name: invalid value "an exception" (out of bound =~"^Foo"):
    ./broken.cue:4:9
    ./broken.cue:5:9
    ./broken.cue:13:9
list.3.name: invalid value "an exception" (out of bound =~"Foo$"):
    ./broken.cue:5:9
    ./broken.cue:4:9
    ./broken.cue:13:9
[exit status 1]
FAIL: /tmp/testscript500405284/disjunctionsAndValidators.txtar/script.txtar:2: unexpected command failure

The root cause is probably that I've simply misunderstood some nuance of disjunction unification, but I can't see it.

All of your examples work with evalv3's new disjunction algorithm :) the old one is just not great. I will add another regression test with your latest example.


Upgrade to svgicons2svgfont 2.0.2

https://github.com/nfroidure/svgicons2svgfont
There are breaking changes and new features (ligatures, several codepoints for the same icon).
You may want to use the same logic than the CLI util and gulp-iconfont to parse unicode and icon names in the file names https://github.com/nfroidure/svgicons2svgfont/blob/master/src/metadata.js
I'm available if you have any question / require any help on switching to the new API.

@nfroidure
Got it. I'll support this soon.


locate_locale dependencies

It will have warning prompt on Windows
warning: the following packages contain code that will be rejected by a future version of Rust: winapi v0.2.8
note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`

Do we remove this dependency? I found out that grammers only use it on android, however the implementation of locate_locale on android is:
use std::env;

fn env(name: &str) -> String {
	if let Ok(loc) = env::var(name) {
		loc.split(".").next().unwrap().into()
	} else {
		String::new()
	}
}

pub fn system() -> String {
    env("LC_ALL")
}

pub fn user() -> String {
    env("LANG")
}

grammers uses it on everything except Android (perhaps missed the not):
https://github.com/Lonami/grammers/blob/96f61a16b4c4ba5e33175fbaafae061dcbd4af25/lib/grammers-client/src/client/client.rs#L153
We could probably submit a PR to the crate in question to bump the winapi version, or pin ours.

I have submitted a pull request on locate-locale to resolve this issue (if the author of the repository can merge, the author's github activity has been unresponsive for a while

Seems your PR was merged but a release is yet to be made.

Yes, I received the notification yesterday, the author may be busy and forgot to post

Here's the future incompatibilities report it produced:
cargo report future-incompatibilities --id 162
The following warnings were discovered during the build. These warnings are an
indication that the packages contain code that will become an error in a
future release of Rust. These warnings typically cover changes to close
soundness problems, unintended or undocumented behavior, or critical problems
that cannot be fixed in a backwards-compatible fashion, and are not expected
to be in wide use.

Each warning should contain a link for more information on what the warning
means and how to resolve it.

To solve this problem, you can try the following approaches:

- Some affected dependencies have newer versions available.
You may want to consider updating them to a newer version to see if the issue has been fixed.

winapi v0.2.8 has the following newer versions available: 0.3.0, 0.3.1, 0.3.2, 0.3.3, 0.3.4, 0.3.5, 0.3.6, 0.3.7, 0.3.8, 0.3.9

- If the issue is not solved by updating the dependencies, a fix has to be
implemented by those dependencies. You can help with that by notifying the
maintainers of this problem (e.g. by creating a bug report) or by proposing a
fix to the maintainers (e.g. by creating a pull request):

  -<EMAIL_ADDRESS>  - Repository: https://github.com/retep998/winapi-rs
  - Detailed warning command: `cargo report future-incompatibilities --id 162 --package<EMAIL_ADDRESS>
- If waiting for an upstream fix is not an option, you can use the `[patch]`
section in `Cargo.toml` to use your own version of the dependency. For more
information, see:
https://doc.rust-lang.org/cargo/reference/overriding-dependencies.html#the-patch-section

The package `winapi v0.2.8` currently triggers the following future incompatibility lints:
> warning: `Debug` can't be derived on this `#[repr(packed)]` struct that does not derive `Copy`
>    --> C:\Users\L\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.2.8\src\macros.rs:263:29
>     |
> 263 |           #[repr(C)] #[derive(Debug)] $(#[$attrs])*
>     |                               ^^^^^
>     |
>    ::: C:\Users\L\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.2.8\src\mmreg.rs:290:1
>     |
> 290 | / STRUCT!{#[repr(packed)] struct WAVEFORMATEX {
> 291 | |     wFormatTag: ::WORD,
> 292 | |     nChannels: ::WORD,
> 293 | |     nSamplesPerSec: ::DWORD,
> ...   |
> 297 | |     cbSize: ::WORD,
> 298 | | }}
>     | |__- in this macro invocation
>     |
>     = note: `#[allow(unaligned_references)]` on by default
>     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
>     = note: for more information, see issue #82523 <https://github.com/rust-lang/rust/issues/82523>
>     = note: this warning originates in the derive macro `Debug` which comes from the expansion of the macro `STRUCT` (in Nightly builds, run with -Z macro-backtrace for more info)
>
> warning: `Debug` can't be derived on this `#[repr(packed)]` struct that does not derive `Copy`
>    --> C:\Users\L\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.2.8\src\macros.rs:263:29
>     |
> 263 |           #[repr(C)] #[derive(Debug)] $(#[$attrs])*
>     |                               ^^^^^
>     |
>    ::: C:\Users\L\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.2.8\src\mmreg.rs:299:1
>     |
> 299 | / STRUCT!{#[repr(packed)] struct WAVEFORMATEXTENSIBLE {
> 300 | |     Format: ::WAVEFORMATEX,
> 301 | |     Samples: ::WORD,
> 302 | |     dwChannelMask: ::DWORD,
> 303 | |     SubFormat: ::GUID,
> 304 | | }}
>     | |__- in this macro invocation
>     |
>     = note: `#[allow(unaligned_references)]` on by default
>     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
>     = note: for more information, see issue #82523 <https://github.com/rust-lang/rust/issues/82523>
>     = note: this warning originates in the derive macro `Debug` which comes from the expansion of the macro `STRUCT` (in Nightly builds, run with -Z macro-backtrace for more info)
>
> warning: `Debug` can't be derived on this `#[repr(packed)]` struct that does not derive `Copy`
>    --> C:\Users\L\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.2.8\src\macros.rs:263:29
>     |
> 263 |           #[repr(C)] #[derive(Debug)] $(#[$attrs])*
>     |                               ^^^^^
>     |
>    ::: C:\Users\L\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.2.8\src\usbspec.rs:26:1
>     |
> 26  | / STRUCT!{#[repr(packed)] struct USB_CONFIGURATION_DESCRIPTOR {
> 27  | |     bLength: ::UCHAR,
> 28  | |     bDescriptorType: ::UCHAR,
> 29  | |     wTotalLength: ::USHORT,
> ...   |
> 34  | |     MaxPower: ::UCHAR,
> 35  | | }}
>     | |__- in this macro invocation
>     |
>     = note: `#[allow(unaligned_references)]` on by default
>     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
>     = note: for more information, see issue #82523 <https://github.com/rust-lang/rust/issues/82523>
>     = note: this warning originates in the derive macro `Debug` which comes from the expansion of the macro `STRUCT` (in Nightly builds, run with -Z macro-backtrace for more info)
>
> warning: `Debug` can't be derived on this `#[repr(packed)]` struct that does not derive `Copy`
>    --> C:\Users\L\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.2.8\src\macros.rs:263:29
>     |
> 263 |           #[repr(C)] #[derive(Debug)] $(#[$attrs])*
>     |                               ^^^^^
>     |
>    ::: C:\Users\L\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.2.8\src\winusb.rs:8:1
>     |
> 8   | / STRUCT!{#[repr(packed)] struct WINUSB_SETUP_PACKET {
> 9   | |     RequestType: ::UCHAR,
> 10  | |     Request: ::UCHAR,
> 11  | |     Value: ::USHORT,
> 12  | |     Index: ::USHORT,
> 13  | |     Length: ::USHORT,
> 14  | | }}
>     | |__- in this macro invocation
>     |
>     = note: `#[allow(unaligned_references)]` on by default
>     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
>     = note: for more information, see issue #82523 <https://github.com/rust-lang/rust/issues/82523>
>     = note: this warning originates in the derive macro `Debug` which comes from the expansion of the macro `STRUCT` (in Nightly builds, run with -Z macro-backtrace for more info)
>


Loading references

Hi
Is there a way to load references added to the project which I am debugging?
I mean, if I use nuget packages or reference another project's dll, it won't be available when I use this program -- the command will throw an exception saying that it can't find the referenced dll.
I also had this problem with netreload. I have worked around this problem by linking my source files around instead of referencing projects and instead of using nuget, I had to download source and also link it in the debugged project to be able to use netreload.
There seems to be same problem with this manager also. I don't know enough about .net to solve the problem my self.

Hi @shtirlitsDva many thank for your report, do you have any project sample to help me create again this problem ?

This issues can't create again, so I will close it like resolved.


Migrate flutter_gallery.cmx example to isolated storage

The "persistent-storage" Fuchsia component manifest feature is being replaced with "isolated-persistent-storage". See https://fuchsia-review.googlesource.com/c/fuchsia/+/250019

@zanderso @jonahwilliams Could one of you review this? It seems I can't explicitly "request a review" without write access to the repo.

Also, how easy/quick is it going to be roll this into fuchsia? I'm trying to eliminate all usages of "persistent-storage" quickly so I can remove it from the cmx schema and prevent new usages popping up. Is it just a matter of running update_3p_packages.py, merging the result, and manually rolling GI?

Rolling Flutter into Fuchsia is a little involved. I don't think we can guarantee that it can be done quickly, but I will try to get the autoroller unblocked tomorrow or Friday.

Today or Friday is fine. I can also temporarily remove topaz/packages/examples/flutter_gallery from topaz/packages/examples/all, which will let me go ahead and delete the "persistent-storage" feature until this rolls.


ADD: sample from latest version of Rainbow (Leonardo)

@egouden Thanks for adding this. You would need to update the registry as written here https://github.com/openradar/open-radar-data#adding-new-datasets. Please also mention the new data in the README.md.
Are there any changes in the format which need to be tackled here?

The PR has been updated. I see unexpected changes related to other data files.
There are some changes between the Rainbow 5.36 version<PHONE_NUMBER>000600dBZ.vol) and the last version (5.59). I wanted to share this information. I am not sure what should be considered as a change in format and what should be the guidelines for sharing such changes in this project. This is an open question related to this pull request.

Thanks Edouard, I'll have a look at the failing CI runs. Otherwise this PR looks fine so far.

Let's try the new file over at xradar. Thanks for adding, @egouden.


run make regen-requirements

Update to fix https://github.com/python/buildmaster-config/security/dependabot/31

This change upgrades buildbot from 3.10 to 3.11. I failed to find the changes: https://github.com/buildbot/buildbot/issues/7429


[main] Upgrade to latest dependencies

Cron -knative-prow-robot
/cc knative/operations-wg-leads
/assign knative/operations-wg-leads
Produced by: knative-extensions/knobots/actions/update-deps

/test serving-upgrade-tests
/test eventing-upgrade-tests

/test eventing-upgrade-tests

/test eventing-upgrade-tests
/lgtm
/approve

/test eventing-upgrade-tests

/test eventing-upgrade-tests

/test eventing-upgrade-tests


Fixed typos in CONTRIBUTING.md

Fixed two small typos (begginer -> beginner, websit -> website)

Not accepting minor issues @nicholeboaz


Fix bugs found with TATP.

While testing TATP, we found that the system segfaults when the predicate columns are not selected.
For example: SELECT colA FROM foo WHERE colB = 1 segfaults.
This PR fixes that issue by including the predicate columns in the list of input column oids.
We should be able to benchmark TATP with this branch.

Will merge after CI.


how to change video play speed ?

how to change video play speed ?
i want change the speed of the video. like 1.5x\2x\5x three speed.

Is there update on having change play speed for videos on {N}?

For anyone who's struggling with player speed, for Android just add into videoplayer.android.js the following lines:
    Video.prototype.changeSpeed = function (speed) {         this.player.setPlaybackParams( this.player.getPlaybackParams().setSpeed(speed) );     }
For iOS the code - according to the specific player documentation - should be as above. I can't test it though, if any apple user can confirm I'll make a PR soon.
 Video.prototype.changeSpeed = function (speed) {         this.player.setPlaybackParams( this.player.getPlaybackParams().setSpeed(speed) );     }


template/profile/localVariables for "character"

(not an issue but a feature suggestion or a query if it might be possible to implement)
as of writing, "characters" made on the characters tab are only constant strings that has no other functions other than the dialog node
maybe there would be merit to having a dedicated space where the user could type in information about the "character"?
ie,
Name:
sex:
age:
defining feature:
personality:
background story:
having those information are important on building a story.
there are also "statistics" values that could be added such as
HP:
MP:
str:
etc
i know they could easily be added as the current implementation of variables, but having variables like those is in the long run, messy
ie
char1_hp
char2_hp
These information are also highly dependent on what story would be written, so maybe leaving them as just "custom" info would suffice
you could look at them as local variables inside the characters themselves instead of having them as global variables
(big thanks about the Variable parsing ^_^)

Interesting!

v2.0.0 introduces a new Character Tag System, allowing to assign dynamically defined data to characters and expose them in textual nodes. They can as well be modified using Tag-Edit node and checked using Tag-Pass, in runtime.
I think they cover most of what you suggested.
For numeral statistics (HP, score, etc.) the solution might be to [still] use Variables, but tags offer many advantages for everything else with expected values or enumerated data.


Capistrano

Inspired by this task and referring to #161
Should work out of the box with rails applications running figaro ~> 1.0.0

Added a couple of helpers to load application.yml values in capistrano recipes.

Wow this would be awesome ... but 2015?


[SPARK-45355][SQL][DOCS] Fix function groups in Scala Doc

What changes were proposed in this pull request?
to make functions in Scala Doc consistent with SQL references
Why are the changes needed?
many functions in https://spark.apache.org/docs/latest/api/scala/org/apache/spark/sql/functions$.html were not in the proper groups
Does this PR introduce any user-facing change?
yes, e.g.
before:

after:

How was this patch tested?
manually check
Was this patch authored or co-authored using generative AI tooling?
no

https://github.com/apache/spark/blob/master/connector/connect/client/jvm/src/main/scala/org/apache/spark/sql/functions.scala
Does this file also need to be fixed?

https://github.com/apache/spark/blob/master/connector/connect/client/jvm/src/main/scala/org/apache/spark/sql/functions.scala
Does this file also need to be fixed?

I think it can be fix in separate PR

also cc @cloud-fan @HyukjinKwon

@zhengruifeng Thank you for the fix.
Could we have a discussion here before to merge this PR?
It seems some functions can belong to multiple groups simultaneously. For example, str_to_map should be considered as a string function or a map function? The input is a string and it returns a map.

@beliefer str_to_map's corresponding expression StringToMap belongs to group map_functions

thank you all, merged to master


Play Beat

Is your extension request related to a problem? Please describe.
No
Describe the solution you'd like.
A music player which continues to play music as we browse. Please assign this issue to me.
Describe alternatives you've considered.
It can play music continuously as one browses.
Add any other context or screenshots about the extension here.
No response

Please assign this to me

@akanksha0209 There is already an extension Music Mode you can think of any enhancement in this.


Cutter doesn't support KML that has style info

Describe the bug
If you use a KML string that has style information in cutter, then the "Use KML" button will not work. It seems to do nothing and you have to hit Cancel. This causes the cutter to not function. The cutter should just ignore style info in KML and just use the geometry.
To Reproduce
Launch cutter and try to enter the following KML:
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom">
<Document>
<name>Colorado-cut.kml</name>
<StyleMap id="m_ylw-pushpin">
<Pair>
<key>normal</key>
<styleUrl>#s_ylw-pushpin</styleUrl>
</Pair>
</StyleMap>
<Style id="s_ylw-pushpin">
<IconStyle>
<scale>1.1</scale>
<Icon>
<href><http://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png</href>>
</Icon>
<hotSpot x="20" y="2" xunits="pixels" yunits="pixels"/>
</IconStyle>
</Style>
<Placemark>
<name>Colorado-cut</name>
<styleUrl>#m_ylw-pushpin</styleUrl>
<Polygon>
<tessellate>1</tessellate>
<outerBoundaryIs>
<LinearRing>
<coordinates>
-110.7776263201427,35.53161528029643,0 -99.53079450587306,35.54408930925293,0 -99.90217507891799,42.16534523299527,0 -110.4195190941151,42.31227872447421,0 -110.7776263201427,35.53161528029643,0
</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
</Document>
</kml>

Click "Use KML" button

The KML in the description appears to be malformed; specifically this line:
<href><http://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png</href>>
That said, I wonder if the real issue here is that the "Invalid KML" dialog that appears is being obscured because it has the same z-index as the "Paste KML" dialog:

Yep, it does appear to be malformed KML.
The obscured "Invalid KML" dialog issue was fixed within the last week:  https://github.com/google/earthenterprise/pull/1356

Since the dialog issue has been fixed and the KML was actually invalid, then I'll close this ticket


Read Russian text in console

How can Russian text be read from the console? I tried like this
var answer = stdin.readLineSync(encoding: Encoding.getByName('utf-8')!)!;

and like this
stdin.transform(utf8.decoder);

but if you try to print a string using print, then nothing will be output.
Additional:
answer.codeUnits.forEach(print);
// output
// 0
// 0
// 0
// 0

I enter simple words:

привет
нет
да

Most likely your terminal input is not UTF-8. It could be Windows-1251. In that case, all the characters you input have codes >= 128, and most >= 160, which means that the bytes are likely to be invalid UTF-8. UTF-8 decoding then either fails, or if being lenient, gives you a replacement character.
Try decoding with a Cyrillic code page instead of UTF-8, possibly latinCyrillic from package:convert. Or maybe you need to create a table for Windows 1251 (which appears to be different from ISO-8859-5 Latin-Cyrillic).

Most likely your terminal input is not UTF-8. It could be Windows-1251. In that case, all the characters you input have codes >= 128, and most >= 160, which means that the bytes are likely to be invalid UTF-8. UTF-8 decoding then either fails, or if being lenient, gives you a replacement character, which could explain the 0 values.
Try decoding with a Cyrillic code page instead of UTF-8, possibly latinCyrillic from package:convert. Or maybe you need to create a code page table for Windows 1251 (which appears to be different from ISO-8859-5 Latin-Cyrillic).
(Or maybe it's something else, but try this first, or show us the actual bytes you receive from stdin).

My windows terminal (cmd, powershell) is running in (utf-8 65001) mode, so this shouldn't be a problem.
I also looked at the actual bytes that come to me from stdin, all the same zeros. I tried setting the latinCyrillic mode as you wrote, but still nothing works, I also tested it with other tables.
BUT I decided to open not the Windows terminal - git bash, and run my code, it did not work with the latinCyrillic parameter, and when I replaced it back with utf-8, it worked! It turns out a problem in the Windows terminal, although the same utf-8 is set in its settings, I will figure it out, thank you very much for the answer.
When I find out I will write here and close the issue, or can you help me if you know the answer :)

As it turned out, I have a problem with all windows terminals, even if I put internal git bash in vs code, then nothing will work, it will only work if I open external git bash

Hey! @cocahonka Please reopen the issue - it's still there. Not only you have problem - no one on Windows can read input in cyrillic. It's quite critical for cross-platform CLI tools.

//cc @aam

I don't think this issue has much to do with Dart rather with very complicated story of how encoding works in Windows Command line prompt/Powershell. You can check https://stackoverflow.com/questions/57131654/using-utf-8-encoding-chcp-65001-in-command-prompt-windows-powershell-window to get a sense of what's involved in using utf8 in windows shell.

@aam Thanks for the answer and link! Encoding in Windows are truly horrible, but I'm still think that's a Dart problem. That why:

When you try stdin.readByteSync() - you just got zeros for Cyrillic symbols.
If you pass Cyrillic string as an argument: utils.dart -t"Русская строка" - it's works.
If you try interactive input in any other CLI, for example written in Python - it's works.
Any described by link actions doesn't make any difference: you can change chcp, system settings, environment variables - still zeros.

So it's just unusable on Windows and we can't get it working from Dart code or system/environment settings.

When you try stdin.readByteSync() - you just got zeros for Cyrillic symbols.

Right, and it has little to do with Dart. You will get the same if you use copy con file.txt and enter some Cyrillic characters: file.txt will have nulls instead of characters.
Note if you pass file content as a stdin to the Dart program, the bytes will arrive to Dart program correctly.
Microsoft Windows [Version 10.0.18363.1916]
(c) 2019 Microsoft Corporation. All rights reserved.

C:\src\dart-sdk\sdk>type kuka.txt
╨┐╤Ç╨╕╨▓╨╡╤é

C:\src\dart-sdk\sdk>chcp 65001
Active code page: 65001

C:\src\dart-sdk\sdk>type kuka.txt
привет

C:\src\dart-sdk\sdk>type kuka.txt | out\ReleaseX64\dart line.dart
[208, 191, 209, 128, 208, 184, 208, 178, 208, 181, 209, 130, 13, 10]

C:\src\dart-sdk\sdk>out\ReleaseX64\dart line.dart
привет
[0, 0, 0, 0, 0, 0, 13, 10]
^Z

C:\src\dart-sdk\sdk>type line.dart
import 'dart:io';

main() async {
        stdin.listen(
                (line) { print(line); }
        );
}
C:\src\dart-sdk\sdk>

Faced a similar situation while rewriting one console program from node js to dart.
I have 2 problems:

There is no analogue of Completer Function as Node Readline, as well as an analogue of such an interface in dart, solved by workaround (https://github.com/timsneath/dart_console/issues/42#issuecomment-1120338664)
Lack of Cyrillic support. In nodejs, this works correctly, even though I'm running the code on Win 10

In nodejs app:

In dart app:
use stdin.transform(utf8.decoder).transform(LineSplitter())

stdin.readLineSync(encoding: utf8)

stdin.readByteSync()


Feature release version ?

Hi, can you identify which version of D365FO this new feature appears in - we have checked 10.0.16 and cannot see it ?

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

ID: 18ac9c7f-45bb-f8b0-5a28-7dc36ff312b1
Version Independent ID: 45a7f839-cf3e-4cdb-1c01-d901dad2e74b
Content: Manage standard cost updates - Supply Chain Management | Dynamics 365
Content Source: articles/supply-chain/cost-management/manage-standard-cost-updates.md
Service: dynamics-ax-applications
Product: ****
Technology: ****
GitHub Login: @AndersGirke
Microsoft Alias: mguada

@andypicking - thanks for the question.
@kamaybac - can you address this question?

@andypicking , the feature was released in 10.0.17, which is why you don't see it. As mentioned in this topic, you'll need to enable it in feature management in 10.0.17.


Multichannel output

I've trawled through the Web Audio API standard and suspect this isn't possible yet. But, in case it is. I've an audio interface with 16 outputs. I can route the browser through this and Tone has visibility over the amount of outputs available:
console.log(Tone.Destination.maxChannelCount)
// 32

What I'm looking for is the ability to route different synths to different output channels. Something like:
const synthA = new Tone.FMSynth()
const synthB = new Tone.MembraneSynth()
synthA.connect(0)
synthB.connect(2)

Is this possible?
Many thanks.
Pete.

I think what you're looking for can already be done with the ChannelSplitterNode and ChannelMergerNode.
Tone.js comes with a wrapper for both of them called Split and Merge respectively.
I hope this helps.

Thanks @chrisguttandin I'll give this a try. Are the docs generated from this repo? Ie. if I get a working example together can I contribute to the docs by opening a PR?
Many thanks,
Pete.

Yes, the docs are generated from the source code. I'm not the owner of this repo but I would assume that @tambien values your contribution to the docs.

Grand.


Need a way to De-Duplicate Links to other WD-Objects

On importing Properties or the whole Entity, Links to other Entities are created using their Labels, rather than their Entity-ID,
which is great for readability.
But these Labels are not unique in WikiData, which is a Problem.
Example:
Import Q525 (Sun) results in the following Properties:
different from:
  - "[[WD/WD~sun]]"
  - "[[WD/WD~Sonne]]"
  - "[[WD/WD~Sonne]]"
  - "[[WD/WD~Sonne]]"
  - "[[WD/WD~RV Sonne]]"

Which is also ambiguously displayed in the WikiData Web UI: https://www.wikidata.org/wiki/Q525#P1889
Please give us the means to disambiguate this e.g. by a configuration-switch for appending the WikiData-ID
or a Format-String for the Link, instead of only a Prefix.

Hi, I created a Pull-Request to make the generated InternalLink more flexible. Please consider merging this: https://github.com/samwho/obsidian-wikidata-importer/pull/9


implement (strings) user details storage

This PR is part of solution #265 and the effort of splitting #438 into smaller chunks.
It allows storing UserDetail in sub-bucket in userDetailsBucketName top-level bucket. Currently supports only the email, but can be extended to store any kind of data in the future.
This sub-bucket can store any string data. To use it for storing lists, let's say a list of subscriptions, we would need to store them as a comma-separated string. I don't know if we should care about it and switch to storing slices for that, or support both strings and slices of strings.

@umputun everything is fixed, the only part left to be done is migrator.
I believe existing won't change after migrator will be written and would be grateful for review of the current code.

Migrator is implemented, the only thing left is to:

[ ] Cover migrator-related code with tests

I've removed engine.ListDetails interface (and embedded it into engine.UserDetail) and enabled user's details deletion for deleteme requests.
The only thing missing now is store interfaces that will be used within rest_private, but I'd prefer to write at the same time as API access to this data. I consider this done, please review.

@umputun I've again thoughtfully gone trough this code and after the last cleanup of comments and clarifying constants names see no further points of improvements, please review.


Add new local project tree item icon round #2

The current icon makes me 😢 so I tried adapting the Azure datalake icon  to fit what we need.

Current
Proposed

~Another option would be to add a lil down arrow like this to signify it's the local project:~
~Not sure if an arrow is the best indicator tho.~

One problem with using ThemeIcon is that some themes hide folder icon. As far as the standard VS Code icon themes go, folder icons only show up in the Minimal theme (not Seti or None).


what is new in 1.1.0

Can you say what is new with version 1.1.0 from 1.0.6????

You are right, I haven't updated the changelog for a long time. Now it is updated: https://github.com/intuit/sdp/blob/master/CHANGELOG.md


Under Ubuntu - Cline Does Not Save API Keys in VSCode

Which API Provider are you using?
Google Gemini
Which Model are you using?
any google LLM and openai compatible
What happened?
Under Ubuntu, when using the Cline extension in Visual Studio Code, I have noticed that the API Keys for all LLM models are not saved after restarting the editor. This prevents access to the models without having to re-enter the keys each time VSCode is launched.
Steps to reproduce

Install the Cline extension in Visual Studio Code.
Enter the API Keys for the LLM models.
Restart Visual Studio Code.
Verify that the API Keys are not saved and must be entered again.

Relevant API REQUEST output
No response
Additional context
No response

When you launch the extension does it bring you to the welcome page again? I have not seen anyone else experience this! Can you pls confirm you're on the latest version 2.1.4?


Add Host Assurance Policy

Fix: #52

making generic data/resource for assurance policies
with assurance-type triggering the API endpoints with payload.

I do personally prefer this approach, but a big warning that when this goes out, this will be a big breaking change.

Raised simple one without breaking changes https://github.com/aquasecurity/terraform-provider-aquasec/pull/92


The Exported file has misaligned Days and duplicate events

The exported ics contains events such that they are duplicated, this is basically due to ERP using two rows in some columns. It is Simply Pathetic, here is the example of extra row:

I first appologize for doing the closing/reopening/closing. I never have done that in Github so It was a mistake.
The commit #99b4db3 does most of the fixing.
The problem was solved using the fact that the duplicate rows did not have a <td> element having class tableheader to contain the names of the weekdays.


Add information for samples browser in readme

Thanks for opening this PR, @Youssef1313.
I think that two things are necessary before we can actually recommend that code examples be integrated into the Samples Browser:

Since the repo houses both samples and code snippets, we need to define what code might be a candidate for inclusion in the Samples Browser .
Diagnostics tools to identify configuration issues need to be more widely available.

For the moment, I'm going to close this PR. When some progress is made in the second area, we can reopen the PR and add criteria for Sample Browser candidates.


Store order of annotations for loading snippet view

I am investigating adjustable height of text editor. Just come up with a raw idea which may help.
We may traverse an array from document.getElementById('annotations').childNodes which returns a sorted array of annotations.

In the screenshot I created 4 annotations. After that I dragged the last one to the second place, and the order of annotation in the array is 'updated'.


add two extra test that explain array slicing

The first example shows that slicing an array with no parameters returns a copy of the original array that has the same values. The second test shows that even though both arrays have the same values, its actually a COPY not a reference to the same object.

Hey should I close this?


Update README.md

Modified the layout of the main description of the README section

Made README part more descriptive and clear


My SSH key for push is not working

$ git push deis
<EMAIL_ADDRESS>password:

michael at risin in ~/project on master*
$ deis  keys:list
=== michael Keys
GitHub@miracle2k ssh-rsa AAAAB3Nz...@miracle2k
michael@risin    ssh-rsa AAAAB3Nz...hael@risin

Any suggestions has to how I can debug this? I can't figure out where the keys are stored, or which logs to check.

did you add the key to your ssh agent? If it's not in your local SSH agent, SSH will not attempt to negotiate a handshake with it. ssh-add ~/.ssh/id_rsa

ssh-add -l will show you what public key fingerprints your agent is using when attempting handshakes.

I think my local setup should be alright. The key is used for servers, Github and so on and works fine.
When opening a SSH connection directly, I see this:
debug1: Authentications that can continue: publickey,password
debug3: start over, passed a different list publickey,password
debug3: preferred publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Users/michael/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply

So it seems the key is being attempted.

Any logs from the builder? If it's failing to retrieve keys from the controller it should report the issue.

So, trying again a few days later it started working; I got a message about the host key changing, so maybe the builder service restarted.
I'm pretty sure I checked the builder logs previously though and there was nothing.


allow users to specify additional form settings

This allows the user to specify a form settings model in their own code base that must inherit from wagtailstreamforms.models.AbstractFormSetting and will enable end users to save additional data such as email settings against each form.
Model Example:
from wagtailstreamforms.models.abstract import AbstractFormSetting

class AdvancedFormSetting(AbstractFormSetting):
    name = models.CharField(
        max_length=255
    )

and in settings:
WAGTAILSTREAMFORMS_ADVANCED_SETTINGS_MODEL = 'example.AdvancedFormSetting'

this will then enable the advanced button on each form:

which will give an edit screen to update the settings:

these settings will then be available in all form processing hooks a user defines:
@register('process_form_submission')
def test_advanced_settings(instance, form):
    print(instance.advanced_settings.name)

This is good, could be even better if the advanced settings can be a part of the edit view as another tab section.


Duckdns/LE Cert Issue

I have everything set up properly, but I use a duckdns address along with LE certificate. When I try and run a command, I'm giving an HTTP 404 error. My assumption is that duckdns/le isn't allowed with willow because I've heard it requires extra processing/memory for those certs.  Would it be possible to make that combination usable, as I know that is a popular setup for HA users

404 error usually means the server couldn't be resolved, is there a possibility that the hostname isn't reachable on the network willow is on? Also do you have tls turned on in config?

I am able to access the hostname on my network.  I do have tls on.  In the Home Assistant Host field I have  xxxxx.duckdns.org and then Home Assistant Port of 443.  If I got to https://xxxxx.duckdns.org:443 I'm directed to my home assistant frontend.

Do you get a reply if going to /api/ on that url? Also have you tried just using the local address of your HA instance? Since the traffic never leaves the local network (willow talks to HA through a direct websocket) there's no need to use the public hostname. 😊

Probably also should have asked this first, what version of Home Assistant are you running?

@longunmin - Thanks for providing your Home Assistant config settings - do you have TLS enabled in addition to port 443 and host? Seeing as you're getting 404 you almost certainly are but it can't hurt to confirm.
HTTP 404 means the host could be resolved and connects successfully but the path was not found on the server, which is strange as you've already validated it works from your browser. Are your Willow devices on the same network as the machine you can connect to to HA with your browser?

@nikito If I just use https://xxxx.duckdns.org:443/api/ I get 401 unauthorized.  However, if I use a rest command with the url and authorization using an HA long lived access token, I get a valid status code.  For HA, I am forwarding my ports (8123/443) and using duckdns as the external url, so that I can have remote access.  This means that the internal IP doesn't resolve to HA anymore, so I can't use the Internet IP for willow.  This could be achieved using a reverse proxy (NGINX), but if possible, I'm trying to avoid that, as I worry about breaking other parts of my setup.  I am on HA 2023.1.7 running in docker.
@kristiankielhofner yes both the willow and HA are on the same network.  And yes, I have TLS enabled

Yes I think at minimum 2023.5 is needed, though it may not hurt to go to the newest version. Looking at the HA blog I think 2023.5 was the earliest version they added this API (Think this was the first release in the Year Of Voice). :)

Perfect. I will aim to get to 2023.5 and report back.

Note it's 2023.5 or later. If you're going through the effort to upgrade you should try to get to the most recent release supported by your configuration.

@nikito @kristiankielhofner I upgraded to 2023.5.6 but I am still getting the 404 error

Have you set up an assistant in HA? If you go to your lovelace interface, do you see the assist icon?

Is there a proxy of some sort in between Willow and HA? Something like nginx, etc?
Try running this:
curl -v -X POST https://YOUR_HOSTNAME_AND_PORT/api/conversation/process

@kristiankielhofner ok that fixed it. Adding in the assist config.  Now it is just giving me no matching HA intent, but that's because I haven't build anything up yet.  So was never a duckdns issue.  Thank you!

Sometimes it's the obvious, I guess. Thanks @nikito !

@kristiankielhofner ok that fixed it. Adding in the assist config. Now it is just giving me no matching HA intent, but that's because I haven't build anything up yet. So was never a duckdns issue. Thank you!

Just for your information, there's built in intents in HA that should work "out of the box", such as turn on/off lights and areas. However for them to work, you have to go into the Expose tab of your assistant settings and expose those devices to the assistant. I think by default nothing is exposed unless you choose to make it exposed. :)


custom_3rd_party_libs_update_aperturedb-cpp

Purpose
Mod to allow for custom loaction of NLohmann's Json library.

This PR is obsolete/redundant now.


Support resetting network to clean state even after protocol upgrade

It would be nice to have a supported workflow to reset a network back to a clean state, pointing at the original binary, even after undergoing protocol upgrade. Something like the following vegacapsule commands:

Stop network
Reset all
Start network

Currently, when I attempt the above steps, I still see the network attempting to load the wrong binary, and then panic, complaining about snapshots, like in this log file:
visor-0-with-vega.stderr-2022-09-14T123458+0100.log
After chatting to @karlem , we've agreed that currently the reset command does nothing to reset visor config, which would probably be a useful thing for it to do.
The "workaround" choices right now, are:

Arrange the downgrade via another protocol vote, or
Blow away the old network directory entirely and bootstrap a new network

The second is better (but still not great), since the first assumes we don't even run into issues which leave the network in a broken state, which we may very well do testing the feature. The latter loses all current network logs, which isn't great for issue traceability in CI, so we'd need to manually write some test code to preserve and restore those log files.
(Cannot currently view these tests in CI, since they don't yet run there, but can view the code here)

Hey @jgsbennett @jeremyletang
As we have a workaround for this, I propose this be moved to a stretch for now based on other work remaining ahead of the trading enabled vote?

Per this comment , it would be nice to do this ticket at some point, since then the system tests wouldn't need to guess about which network is currently in use by vegacapsule when it wants to reset things.


Add Fairy Ring Helper Plugin

First and foremost, this was originally done by @yoyo421 at #1632, but there were suggestion to switch to VarbitChanged event as fairy rings use varbits. I didn't know how to to send this PR over to his existing PR, so I just created this separate one, luckily all his commits stayed (I will squash most of them ie checkstyles and merges).
Description: Updates the teleport button text with the location of the fairy ring code. If the code is invalid, or a location doesn't exist for it, it will return Invalid location, otherwise the destination of the code.

@Infinitay Thank you for upgrading my code. I will learn about varbits and use them when I need in the future.


feat: new variable command

Resolves #2452. For theorems, section variables are now conditionally included when elaborating the theorem body and sending the result to the kernel based on their use in the header; elaboration of the header is unchanged. Definitions as well are unchanged for now because it looks like adapting them will take more follow-up work: changing their behavior broke more than 30 tests while changing theorems' behavior broke one.
Specifically, section variables are included if they

are directly referenced by the theorem header,
are included via the new include command in the current section,
are directly referenced by any variable included by these rules, OR
are instance-implicit variables that reference any variable included by these rules.

For porting, a new option deprecated.oldSectionVars is included to locally switch back to the old behavior.
TODO: testing, docs, possibly more conveniences

are instance-implicit variables that reference any variable included by these rules.

Should this be "are instance-implicit variables and all referenced variables are included by these rules."
For example, if I have
variable {R : Type*} [CommRing R] {M : Type*} [AddCommGroup M] [Module R M]

If only one of R/M is referenced, Module R M should not be included.
(I would also love it if include supports binder updates)

are instance-implicit variables that reference any variable included by these rules.

Should this be "are instance-implicit variables and all referenced variables are included by these rules."? For example, if I have

Makes sense to me, updated.

(I would also love it if include supports binder updates)

Would include {v} be equivalent to variable {v} include v? I'm not sure yet what to think about such overloading of semantics

Yes, those would be equivalent.
In Mathlib we are striving towards using variable {v} and include v only using in (i.e. variable {v} or include v is banned, you should solely use variable {v} in and include v in).
If we follow that rule, then the ability to write include {v} means that we don't need variable {v} anymore in Mathlib, since all its uses can be replaced by include.

Yes, those would be equivalent.
In Mathlib we are striving towards using variable {v} and include v only using in (i.e. variable {v} or include v is banned, you should solely use variable {v} in and include v in). If we follow that rule, then the ability to write include {v} means that we don't need variable {v} anymore in Mathlib, since all its uses can be replaced by include.

@fpvandoorn, I've finally started looking at Mathlib under this PR (the lean-pr-testing-4814 branch). (It is going to be epic! :-)
I've already encountered a few places where is seems rather inconvenient for only using include ... in, rather than bounded by a section. Please see https://github.com/leanprover-community/mathlib4/commit/c3ec6bedfaddc035e24f86a44099089854a7d13c for the first two examples I encountered.

Re: looking at Mathlib on this PR. So far there are two classes of problems: typeclasses hypothesis being included which should not be (for which the new linter is really helpful), and variables with need an include.
Fixing the first class of problems requires either adding sections to bound variable [...] scopes, using variable ... in, or reordering results.
I propose that for anyone working on the Mathlib branch for this PR, we try to backport all the changes of the first form.
A reasonable workflow seems to be:

As you make changes on lean-pr-testing-4814, any changes that use include (i.e. which will not work on master), you immediately stage.
But any changes for excluding typeclasses hypotheses you leave unstage.
At suitable intervals, make a commit of the stages changes on lean-pr-testing-4814
Then stash the remaining changes, make a new branch off master, make a PR from it, and then merge that branch back to lean-pr-testing-4814.

(We have have following a similar workflow for the byAsSorry branch, c.f. zulip discusssion.)
This is going to be a massive adaptation exercise to get this working, and I will need help to get it done.

are instance-implicit variables that reference any variable included by these rules.

Should this be "are instance-implicit variables and all referenced variables are included by these rules."? For example, if I have

Makes sense to me, updated.

@Kha, I think this change may have not worked as intended. In Mathlib on lean-pr-testing-4814 I am seeing:
section Trans

variable [IsTrans N r] (m n : M) {a b c d : N}

--  Lemmas with 3 elements.
theorem act_rel_of_rel_of_act_rel (ab : r a b) (rl : r (μ m b) c) : r (μ m a) c :=
  _root_.trans (act_rel_act_of_rel m ab) rl

theorem rel_act_of_rel_of_rel_act (ab : r a b) (rr : r c (μ m a)) : r c (μ m b) :=
  _root_.trans rr (act_rel_act_of_rel _ ab)

end Trans

failing with failed to synthesize IsTrans N r, despite both the arguments of IsTrans being mentioned in the theorem statement.
(I have no idea why in Mathlib the first argument of IsTrans is explicit rather than implicit -- I'll investigate that too...)
Let me know if you'd like a minimization of this.

@Kha, another bug, where typeclass arguments that are included transitively can be include with multiplicity, apparently!
Again on lean-pr-testing-4814, in Mathlib.Order.Monotone, we see:
variable (α) [Preorder α] [Nonempty α] [NoMinOrder α] [NoMaxOrder α]

/-- If `α` is a nonempty preorder with no minimal or maximal elements, then there exists a strictly
monotone function `f : ℤ → α`. -/
theorem exists_strictMono : ∃ f : ℤ → α, StrictMono f := by
  inhabit α
  rcases Nat.exists_strictMono' (default : α) with ⟨f, hf, hf₀⟩
  rcases Nat.exists_strictAnti' (default : α) with ⟨g, hg, hg₀⟩
  refine ⟨fun n ↦ Int.casesOn n f fun n ↦ g (n + 1), strictMono_int_of_lt_succ ?_⟩
  rintro (n | _ | n)
  · exact hf n.lt_succ_self
  · show g 1 < f 0
    rw [hf₀, ← hg₀]
    exact hg Nat.zero_lt_one
  · exact hg (Nat.lt_succ_self _)

resulting in the signature
Int.exists_strictMono.{u} (α : Type u) [Preorder α] [Preorder α] [Nonempty α] [NoMinOrder α] [NoMaxOrder α] :
  ∃ f, StrictMono f

where apparently [Preorder α] has been added twice, once because [NoMinOrder α] needs it and again because  [NoMaxOrder α] needs it.
Again, please let me know if you'd like an minimisation.

And another problem, @Kha! We have places in Mathlib where people have add implicit arguments that could otherwise be automatically included instance arguments, on the principle that it is faster/better to find these by unification from later arguments that to redo typeclass search.
Here's an example from Mathlib in Mathlib.Algebra.GroupWithZero:
@[simp]
lemma coe_copy {_ : MulZeroOneClass α} {_ : MulZeroOneClass β} (f : α →*₀ β) (f' : α → β) (h) :
    (f.copy f' h) = f' := rfl

lemma copy_eq {_ : MulZeroOneClass α} {_ : MulZeroOneClass β} (f : α →*₀ β) (f' : α → β) (h) :
    f.copy f' h = f := DFunLike.ext' h

It's perfectly okay on master to just omit these, and instead we get corresponding instance arguments included.
However on lean-pr-testing-4814, we get warning, because the signature becomes:
MonoidWithZeroHom.coe_copy.{u_2, u_3} {α : Type u_2} {β : Type u_3} [MulZeroOneClass α] [MulZeroOneClass β] :
  ∀ {x : MulZeroOneClass α} {x_1 : MulZeroOneClass β} (f : α →*₀ β) (f' : α → β) (h : f' = ⇑f), ⇑(f.copy f' h) = f'

I'm uncertain the best way to proceed here. Probably we ought to make the variable inclusion mechanism robust to this, and decline to include instance arguments if there are already there as implicit arguments. In this particular case it's fine to just remove them, but I don't think that is always going to be true.
Again, let me know if you want a minimization.

And more. :-)
We may need to pull in typeclass arguments because they mention the type of an included argument, not just the argument itself.
For example in Mathlib we have in Mathlib.Algebra.Ring.Divisibility.Basic:
variable [Semigroup α] [Semigroup β] {F : Type*} [EquivLike F α β] [MulEquivClass F α β] (f : F)

theorem map_dvd_iff {a b} : f a ∣ f b ↔ a ∣ b :=
  let f := MulEquivClass.toMulEquiv f
  ⟨fun h ↦ by rw [← f.left_inv a, ← f.left_inv b]; exact map_dvd f.symm h, map_dvd f⟩

theorem MulEquiv.decompositionMonoid [DecompositionMonoid β] : DecompositionMonoid α where
  primal a b c h := by
    rw [← map_dvd_iff f, map_mul] at h
    obtain ⟨a₁, a₂, h⟩ := DecompositionMonoid.primal _ h
    refine ⟨symm f a₁, symm f a₂, ?_⟩
    simp_rw [← map_dvd_iff f, ← map_mul, eq_symm_apply]
    iterate 2 erw [(f : α ≃* β).apply_symm_apply]
    exact h

Here include f on MulEquiv.decompositionMonoid (or just writing it as an explicit argument) doesn't suffice to pull in [MulEquivClass F α β].
Making matters worse, if we just change the theorem statement to
theorem MulEquiv.decompositionMonoid
    [MulEquivClass F α β] (f : F) [DecompositionMonoid β] : DecompositionMonoid α where

then we get the incorrect warning:
included section variable '[MulEquivClass F α β]' is not used in 'MulEquiv.decompositionMonoid', consider excluding it

I can work around this by just not making it a section variable at all and instead including it directly in both theorems here.
(As above with minimization. :-)

Yes, those would be equivalent.
In Mathlib we are striving towards using variable {v} and include v only using in (i.e. variable {v} or include v is banned, you should solely use variable {v} in and include v in). If we follow that rule, then the ability to write include {v} means that we don't need variable {v} anymore in Mathlib, since all its uses can be replaced by include.

@fpvandoorn, I've finally started looking at Mathlib under this PR (the lean-pr-testing-4814 branch). (It is going to be epic! :-)
I've already encountered a few places where is seems rather inconvenient for only using include ... in, rather than bounded by a section. Please see leanprover-community/mathlib4@c3ec6be for the first two examples I encountered.

We should probably not strive to do this immediately. Another thing we can consider is to have (in the long-term) no explicit variables, instead repeating those in each theorem statement. That should also reduce the number of includes.
But given your example we maybe want to allow having a global include directly after the corresponding variable statement. Then whenever that variable is visible it will have the include statement.

@Kha, another bug, where typeclass arguments that are included transitively can be included with multiplicity, apparently!
Again on lean-pr-testing-4814, in Mathlib.Order.Monotone, we see:
variable (α) [Preorder α] [Nonempty α] [NoMinOrder α] [NoMaxOrder α]

/-- If `α` is a nonempty preorder with no minimal or maximal elements, then there exists a strictly
monotone function `f : ℤ → α`. -/
theorem exists_strictMono : ∃ f : ℤ → α, StrictMono f := by
  inhabit α
  rcases Nat.exists_strictMono' (default : α) with ⟨f, hf, hf₀⟩
  rcases Nat.exists_strictAnti' (default : α) with ⟨g, hg, hg₀⟩
  refine ⟨fun n ↦ Int.casesOn n f fun n ↦ g (n + 1), strictMono_int_of_lt_succ ?_⟩
  rintro (n | _ | n)
  · exact hf n.lt_succ_self
  · show g 1 < f 0
    rw [hf₀, ← hg₀]
    exact hg Nat.zero_lt_one
  · exact hg (Nat.lt_succ_self _)

resulting in the signature
Int.exists_strictMono.{u} (α : Type u) [Preorder α] [Preorder α] [Nonempty α] [NoMinOrder α] [NoMaxOrder α] :
  ∃ f, StrictMono f

where apparently [Preorder α] has been added twice, once because [NoMinOrder α] needs it and again because [NoMaxOrder α] needs it.
Again, please let me know if you'd like an minimisation.

This looks correct in that there is already a [Preorder \a] in context. But also #2789 comes in and prevents us from removing the duplicate assumption unless broken into two lines.
variable (α)
variable [Nonempty α] [NoMinOrder α] [NoMaxOrder α]

Probably we ought to make the variable inclusion mechanism robust to this, and decline to include instance arguments if there are already there as implicit arguments.

I'm a bit wary of comparing parameter types by equality (which one?). I assume one alternative would be to name the instances and use binder updates instead?

failing with failed to synthesize IsTrans N r, despite both the arguments of IsTrans being mentioned in the theorem statement.

Fixed

Here include f on MulEquiv.decompositionMonoid (or just writing it as an explicit argument) doesn't suffice to pull in [MulEquivClass F α β].

Fixed

I am rebasing on nightly-with-mathlib (regenerating update-stage0 commits), in order to keep the Mathlib adaptation branch viable.

Sigh, the merge conflict with master occurs after nightly-with-mathlib. I will see if Mathlib's nightly-testing is compatible with master, and if so rebase this onto master.