Mono: OSX exports build errors with System.Net.Http namespace and possibly System.Net.ServicePointManager initialization

Godot version:
3.1 mono official
OS/device including version:
Windows 10 && OSX Mojave 10.14.3 (built on both machines)
Issue description:
My game uses Nakama, a third party open source backend, and their .NET client, which relies on the core System.Net.Http library. Everything works fine in the editor in Windows 10 && OSX, and in exported builds for Windows.
However, when attempting to export to OSX from either machine, I get the same error in the exported build when attempting to login, where it appears the System.Net.Http library hasn't been bundled in the exported build (or something, I'm not sure, a bit new to Mono's package management). Below is the error reproduced using just the core System.Net.Http API (linked repo + zip below as well).
error! System.NullReferenceException: Object reference not set to an instance of an object.
  at System.Net.ServicePointManager.FindServicePoint (System.Uri address, System.Net.IWebProxy proxy) [0x0010d] in <9d34f015e4174611857eb4e1bfe180ff>:0
  at System.Net.HttpWebRequest.GetServicePoint () [0x00021] in <9d34f015e4174611857eb4e1bfe180ff>:0
  at System.Net.HttpWebRequest.set_Proxy (System.Net.IWebProxy value) [0x00014] in <9d34f015e4174611857eb4e1bfe180ff>:0
  at System.Net.Http.HttpClientHandler.CreateWebRequest (System.Net.Http.HttpRequestMessage request) [0x00108] in <e27dc36b32de428a884dd0a2efb5e298>:0
  at System.Net.Http.HttpClientHandler.SendAsync (System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken) [0x0003e] in <e27dc36b32de428a884dd0a2efb5e298>:0
  at System.Net.Http.HttpClient.SendAsyncWorker (System.Net.Http.HttpRequestMessage request, System.Net.Http.HttpCompletionOption completionOption, System.Threading.CancellationToken cancellationToken) [0x000ca] in <e27dc36b32de428a884dd0a2efb5e298>:0
  at Node2D._Ready () [0x0009a] in <1db139ff92d04c979876ce0417769785>:0

Steps to reproduce:
Either use the examples below, or setup a project with Nakama (ha), or setup a new project in Godot 3.1 mono and make a System.Http.HttpClient#SendAsync call - I was posting GET to http://google.com and getting back HTML just fine in the editor.
Now export an OSX build using the latest export template; it should return the above error (my project below tracks this in a TextEdit field on screen.
Minimal reproduction project:
Grab a .zip from the release page and open it in Godot 3.1:
https://github.com/newnoiseworks/GodotMonoNetHttpOSX/releases/tag/0.0.1
Or just check the code out real quick:
https://github.com/newnoiseworks/GodotMonoNetHttpOSX

update: I talked to the dev @ nakama about the System.Net.Http issue and they think it has something to do with System.Net.ServicePointManager not being initialized correctly, per the repo owner:

Yep the ServicePointManager is used to set network proxy settings with HTTP requests in the .NET runtime. Looks like however the Godot team have packaged the .NET runtime it doesn't initialize that class correctly.

I have reproduced this in my game High Hat. This is a blocker for online matchmaking

Bump, I'm having this problem too.


humanize time delta into a proper format rather than 48964518 sec.

Can this be done by just using standard python library rather than a 3rd-party one?

sure see edits


Adding docker files for easier run

Docker Compose Support:

Added a Dockerfile for containerizing the FastAPI application.
Created a docker-compose.yml file for simplified deployment.
Users can now use docker-compose up --build to build the Docker image and run the application in a container.

Hey Mark @pors  would you take a look at this changes? Thanks in advance


Fix/suggestions to PR #576

This is a draft PR to share some ideas to be applied in PR #576

Just had another look at the MQTT message flow, and I think there is yet another potential problem with the PUB_REC methods. For the PUB_ACK/COMP the fix you just made would be fine.

If we receive a PUB_REC, we drop the PUBLISH message from the inflightWindow, send a PUB_REL with the same messageId, and put it on the inflightWindow.
If we then receive a second PUB_REC, we drop the PUB_REL, message that we just put in the inflightWindow, and send a new PUB_REL.

Shouldn't we check if the thing in the inflightWindow is actually a PUBLISH message before we drop it in response to a PUB_REC?
On the other hand, this shouldn't happen much, and would only slightly reset the message flow. In response to the first PUB_REL, the client will already have released the message and sent the PUB_COMP. Unless that PUB_COMP happens to arrive right in between us dropping the PUB_REL and generating a new PUB_REL...?

Thinking about the PUB_REC method a bit more, simply using the method you suggested here is probably the most efficient overall.

Adding a fetch + check + remove would mean hitting the map twice for every message, which would be bad.
Adding remove + check + re-insert is worth considering, but more complexity for something that shouldn't happen in the first place. Are messages on the same connection always handled by the same thread?

Are messages on the same connection always handled by the same thread?

yes this is a grant from Netty, each Channel is managed always by the same thread, however the same thread manage multiple Channels (it's a Non blocking IO)
regard to your observation on double the reception of multiple PUBREC with same packetID, is possible, and happens when for some reason the PUBREL is slow to reach the client, and the client trigger a timeout so it decides to resend the PUBREC.
Your observation on the deletion check, to avoid the deletion from inflighWindow of PubRelMarker that's waiting for a PUBCOMP, is correct. The broker should check this and avoid a remove+insert of the PubRelMarker marker message.
I'll fix this


CloudTable.CreateIfNotExists return value is not clear

[Enter feedback here]
In the doc, the return value description is "true if table was created; otherwise, false.", however how about the table already exists and is not created by this method? Does it returns false if table exists and is not created by this method?

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

ID: 2eff4810-091d-296f-a5db-38cc8f6528d0
Version Independent ID: 04604b36-ec55-e14e-d7c8-eb2ad1deb1d1
Content: CloudTable.CreateIfNotExists Method (Microsoft.Azure.Cosmos.Table) - Azure for .NET Developers
Content Source: xml/Microsoft.Azure.Cosmos.Table/CloudTable.xml
Service: cosmos-db
GitHub Login: @rloutlaw
Microsoft Alias: routlaw

@bz-wow That is correct. If the table was created by this method call, it returns true and the other case where it is not created because it already exists, it returns false.

@bz-wow Just following up here... Hope my previous comment clears things up.

@bz-wow Hope my previous comment clears things up.
We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Reference on xgcc-*-libgcc package

Issue description
Since #209870, every package which depends on glibc has a dependency on xgcc-*-libgcc:
nix path-info -r $(nix build --print-out-paths --no-link github:nixos/nixpkgs/5f57c2e#hello)

/nix/store/03wnlvjlmnl7apj8af79l6l7293dpbkl-libunistring-1.1
/nix/store/d3w6v846k00pn3nilj14788i3mxbfsak-libidn2-2.3.2
/nix/store/inc9pp65rs7nxi3pv0mm35kj4arp9v67-xgcc-12.2.0-libgcc
/nix/store/qgfa76mgh1m1376npkwbmlsdwycl96k1-glibc-2.35-224
/nix/store/jfyz86p3fgpadwxc16gzvwar6sh42gvw-hello-2.12.1

As far as I can tell, there's no attribute which exposes the derivation.
For some of our systemd services running in a chroot jail, we use explicit confinement. Think systemd.services.<name>.confinement.packages but for the entire unit. Consider the following example systemd service which runs hello in a chroot jail before #209870:
{ pkgs, lib, ... }:
{
  systemd.services.hello = {
    enable = true;
    wantedBy = [ "multi-user.target" ];

    serviceConfig = {
      ExecStart = lib.getExe pkgs.hello;
      Type = "oneshot";
      RemainAfterExit = true;

      DynamicUser = true;

      RuntimeDirectory = [ "hello" ];
      RootDirectory = "%t/hello";
      BindReadOnlyPaths = with pkgs; [
        hello.out
        glibc.out
        libidn2.out
        libunistring.out
      ];
    };
  };
}

Is there any way I can get a reference on xgcc-*-libgcc to add the package to BindReadOnlyPaths=? stdenv.cc.cc.libgcc is a dependency I'd expect but, quite frankly, I don't understand the bootstrapping of GCC well enough.
cc @amjoseph-nixpkgs who authored #209870.

Since #209870, every package which depends on glibc has a dependency on xgcc-*-libgcc:

Correct.  That is not a bug.
Glibc has required libgcc for over a decade by now; we simply weren't packaging it separately.

Thanks for responding so quickly, @amjoseph-nixpkgs!

Correct. That is not a bug.
Glibc has required libgcc for over a decade by now; we simply weren't packaging it separately.

I guess I didn't convey what's the issue: I'm well aware that you added a dedicated package intentionally. I'm just not sure how I could get a reference to that package which is now part of almost any closure.

Is there any way I can get a reference on xgcc-*-libgcc to add the package to BindReadOnlyPaths=?

I don't use systemd or NixOS, so maybe this makes no sense, but can't you just use stdenv.cc.cc.libgcc or null?

That would be totally acceptable to me, yes! However, that's not the correct package:
$ nix why-depends github:nixos/nixpkgs/5f57c2e#hello github:nixos/nixpkgs/5f57c2e#stdenv.cc.cc.libgcc
'github:nixos/nixpkgs/5f57c2e#hello' does not depend on 'github:nixos/nixpkgs/5f57c2e#stdenv.cc.cc.libgcc'
$ nix build --print-out-paths --no-link github:nixos/nixpkgs/5f57c2e#stdenv.cc.cc.libgcc
/nix/store/5vw1jps97aj3r76rkj7jmq8wijssipji-gcc-12.2.0-libgcc

The required dependency is xgcc-12.2.0-libgcc, not gcc-12.2.0-libgcc:
$ nix path-info -r $(nix build --print-out-paths --no-link github:nixos/nixpkgs/5f57c2e#hello) | grep "libgcc"
/nix/store/inc9pp65rs7nxi3pv0mm35kj4arp9v67-xgcc-12.2.0-libgcc
$ nix why-depends github:nixos/nixpkgs/5f57c2e#hello /nix/store/inc9pp65rs7nxi3pv0mm35kj4arp9v67-xgcc-12.2.0-libgcc
/nix/store/jfyz86p3fgpadwxc16gzvwar6sh42gvw-hello-2.12.1
└───/nix/store/qgfa76mgh1m1376npkwbmlsdwycl96k1-glibc-2.35-224
    └───/nix/store/inc9pp65rs7nxi3pv0mm35kj4arp9v67-xgcc-12.2.0-libgcc

Are you looking for: glibc.libgcc?

Are you looking for: glibc.libgcc?

That was easy:
$ nix why-depends github:nixos/nixpkgs/5f57c2e#hello github:nixos/nixpkgs/5f57c2e#glibc.libgcc
/nix/store/jfyz86p3fgpadwxc16gzvwar6sh42gvw-hello-2.12.1
└───/nix/store/qgfa76mgh1m1376npkwbmlsdwycl96k1-glibc-2.35-224
    └───/nix/store/inc9pp65rs7nxi3pv0mm35kj4arp9v67-xgcc-12.2.0-libgcc

Thanks a lot @wegank 🙏🏻

The required dependency is xgcc-12.2.0-libgcc, not gcc-12.2.0-libgcc:

Ah, try stdenv.cc.cc.stdenv.cc.cc.libgcc (note the extra .stdenv.cc.cc which means "the compiler that compiled that compiler):
nix-instantiate . -A stdenv.cc.cc.stdenv.cc.cc
warning: you did not specify '--add-root'; the result might be removed by the garbage collector
/nix/store/wg247ls59dbnd2mipj2daifq33mbr5kv-xgcc-12.2.0.drv


v1.2.1

This PR branch started for the version 1.2.1 but because of the breaking changes this will be a new beta for a new major version: 2.0.0
New feature: 🐣
Breaking change: 🍗

🐣 Add constructor for empty Database. ✅
🐣 Add parameter blocks for Children constructor. ✅
🍗 Remove deprecated code: ✅

textSeparation
Parameter constructors for Children:

heading
paragraph
toDo

🐣 Add suggestions on issue #11: ✅

Update exports to improve usage
Add private folder (src/)

🐣 Add constructors with only single text content with default style for: ✅

Paragraph: Paragraph.text('some text here...')
ToDo: ToDo.text('some text here...', checked: true)
Heading: Heading.text('some text here...', type: 2)
BulletedListItem: BulletedListItem.text('some text here...')
NumberedListItem: NumberedListItem.text('some text here...')
Toggle: Toggle.text('some text here...', children: [])

🐣 Add more constructors for Heading class:

one: Heading with type 1 by default.
two: Heading with type 2 by default.
three: Heading with type 3 by default.

🐣 Add more constructors for Text class: ✅

code: Text with code style by default.
italic: Text with italic style by default.
bold: Text with bold style by default.
underline: Text with underline style by default.
color: Text with different color of default.

🐣 Add list(List<Text> texts, String separator, String lastSeparator): ✅

A static method
Generate a textual list of texts separated by comma (by default).
Notion API Package [v1.2.1]

This PR will be closed due new major version instead of only patch version. New PR will be created for that version.


deliver_sm

How to send deliver_sm to SMC.
session.setMessageReceiverListener(new MessageReceiverListener() {
do not send deliver_sm, how to send this command manually?
I need to read messages in ESME which comes from mobile to SMC
Thanks

The deliver_sm is only send from the SMSC towards the ESME. If you want to code an SMSC server, to send deliver_sm, jSMPP also supports that. But an ESME cannot send deliver_sm to the SMSC. Or are you implementing an routing entity?


Add mutating methods like alpha= to Lattice

Methods like a=(Number) should modify a's magnitude by normalizing a and then multiplying it by the number. Also add size=(Number, Number, Number).

This is no longer applicable because Lattice (now Parallelepiped) is a non-mutable struct


Jan 22nd 2024 MicroProfile Marketing Meeting video for YouTube

Here is the link to the video for upload to YouTube. Please update the Meeting Minutes with a link to the recording.
Thanks!

https://youtu.be/XfwzqoQEJWY updated


l2_normalization for fp16 got 0.0 when data is very large

If the data is set as follow:
in_data0 = mx.nd.random.uniform(-5, 5, (512,100000), ctx=mx.gpu(0))
mx.symbol.L2Normalization will got 0.0, whether forward or backward.
if it is set in (-1, 1), that is OK. And in mx.symbol.norm, it is OK too.
Test code as follow:

import numpy as np
import mxnet as mx
from mxnet.test_utils import default_context, assert_almost_equal, check_numeric_gradient
import time
in_data0 = mx.nd.random.uniform(-5, 5, (512,100000), ctx=mx.gpu(0))
def check_l2_normalizationFP16(mode, dtype, norm_eps=1e-10, isfp16=False):
ctx = mx.gpu(0)
data = mx.symbol.Variable('data', dtype=dtype)
out = mx.symbol.L2Normalization(data=data, mode=mode, eps=norm_eps)
out = mx.sym.make_loss(out)
in_data = in_data0.astype(dtype)
a=time.time()
exe = out.simple_bind(ctx=ctx, data=in_data.shape, dtype=dtype)
output = exe.forward(is_train=True, data=in_data)
exe.backward()
symbolic_grads = exe.grad_dict['data'].asnumpy()
print('forw---',in_data.dtype,output[0].dtype,'--'+mode,'--')
print('grad---',in_data.dtype,symbolic_grads[0].dtype,'--'+mode,'--',100*(time.time()-a))
return output,symbolic_grads

@haojin2 @piiswrong @leezu @anirudh2290 @szha , please check this issue, and if possible, please help to modify L2Normalization thanks！

@TccccD the reason is that mx.symbol.norm uses a numerically stable algorithm to compute the 2-norm (https://github.com/apache/incubator-mxnet/pull/11573), whereas the L2Normalization is prone to under or overflow.
Below a shorter example of the problem

In [15]: a = mx.nd.random.uniform(-5, 5, (512,100000), ctx=mx.gpu(0), dtype='float16')

In [16]: mx.nd.L2Normalization(a)
Out[16]:

[[ 0. -0.  0. ...,  0. -0.  0.]
 [-0.  0. -0. ...,  0.  0.  0.]
 [ 0. -0. -0. ...,  0.  0. -0.]
 ...,
 [-0.  0. -0. ...,  0.  0. -0.]
 [ 0. -0.  0. ...,  0. -0. -0.]
 [-0. -0.  0. ..., -0. -0. -0.]]
<NDArray 512x100000 @gpu(0)>

In [17]: a / mx.nd.norm(a, axis=1, keepdims=True)
Out[17]:

[[  2.19726562e-03  -3.61824036e-03   1.11007690e-03 ...,   3.14950943e-04
   -4.92572784e-04   3.10516357e-03]
 [ -4.07028198e-03   4.61578369e-03  -4.51278687e-03 ...,   2.33650208e-03
    5.40542603e-03   3.78608704e-03]
 [  5.27572632e-03  -1.81293488e-03  -1.17683411e-03 ...,   1.86920166e-03
    4.87518311e-03  -3.04412842e-03]
 ...,
 [ -4.39834595e-03   3.74794006e-04  -4.21905518e-03 ...,   1.11007690e-03
    3.81278992e-03  -3.80134583e-03]
 [  7.90953636e-05  -5.31387329e-03   4.95910645e-03 ...,   3.52859497e-03
   -2.10952759e-03  -4.76837158e-04]
 [ -4.53186035e-03  -3.03459167e-03   2.37083435e-03 ...,  -3.93295288e-03
   -4.21524048e-03  -5.36727905e-03]]
<NDArray 512x100000 @gpu(0)>

I define a new square  like this:

MXNET_BINARY_MATH_OP(square_v, math::sqr(a) / math::sqr(b));
In l2_normalization_op-inl.h, I should find a suitable scale, I think the maximum value in in_data is OK.
But I don't know how find the  maximum value in a Tensor data, like Tensor<xpu, 2, DType> data;
could you help me? thanks!
@haojin2 @piiswrong @leezu @anirudh2290 @szha

@TccccD your contribution to fix the L2Norm Op would be very welcome. Instead of trying to find a suitable scale a-priori (by e.g. looking for the max element) we can also use the scaled sum of squares algorithm added here https://github.com/apache/incubator-mxnet/pull/11573/files#diff-c8275a550b65b889051bd88c27d1e1b7R880 I'm not sure if we can easily use the Reducer interface in legacy-ops though

I tried it , but feels difficult.  This may change a lot of the code。
@leezu

Ok. In general, it is planned to refactor the L2Norm Op completely to improve the interface exposed, but I believe no-one is working on it yet. If/while that is done, making use of the stable Reducer interface would be very easy.

@anirudh2290 Can you please add label to this issue: Operator, FeatureRequest


blueberry: 1.3.9 -> 1.4.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/blueberry/versions.
meta.description for blueberry is: "Bluetooth configuration tool"
meta.homepage for blueberry is: "https://github.com/linuxmint/blueberry"
meta.changelog for blueberry is: ""
Updates performed

Version update

To inspect upstream changes

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 1.4.0 with grep in /nix/store/3cbddax0p9dfhva529xl5w7zgah7pmip-blueberry-1.4.0

directory tree listing: https://gist.github.com/cc890e265c0cb695ab823cc2761cb303

du listing: https://gist.github.com/4f07783043fb2f3e28b79525825602dc

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

3 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
1 i686-linux rebuild(s)
0 x86_64-darwin rebuild(s)
1 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
blueberry

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/3cbddax0p9dfhva529xl5w7zgah7pmip-blueberry-1.4.0 \
  --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 blueberry https://github.com/r-ryantm/nixpkgs/archive/a76886f82cd953536e073a5d5fa1bdf291beb9b8.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/3cbddax0p9dfhva529xl5w7zgah7pmip-blueberry-1.4.0
ls -la /nix/store/3cbddax0p9dfhva529xl5w7zgah7pmip-blueberry-1.4.0/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 1

1 package built:

blueberry

Maintainer pings
cc @romildo for testing.

We need to revert https://github.com/linuxmint/blueberry/pull/111 or fix shebangs.

@SuperSandro2000
https://github.com/r-ryantm/nixpkgs/blob/a76886f82cd953536e073a5d5fa1bdf291beb9b8/pkgs/tools/bluetooth/blueberry/default.nix#L84-L87
Already handles patchShebangs . I also built it locally and made sure that all executables there have /nix/store shebangs.


Hybrid Azure AD Join VPN functionality

Hi Team, we have all our users in remote location and we have configured AutoPilot for the machines to join to Azure AD. Hybrid Azure AD Join with AutoPilot was not supported with VPN and it needs direct connectivity to on-premise network. Is that still the case or I can connect to AutoPilot-Hybrid Azure AD using VPN ?

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

ID: 2434dfb6-ac9a-4ba1-a681-88786c87010a
Version Independent ID: 47e7470e-ab97-9917-04aa-4ec08a178af5
Content: Windows Autopilot User-Driven Mode - Windows Deployment
Content Source: windows/deployment/windows-autopilot/user-driven.md
Product: w10
Technology: windows
GitHub Login: @greg-lindsay
Microsoft Alias: greglin

This functionality should be in preview in the coming months (per Microsoft), but unfortunately is not out yet. I am working on a method to make this work at the moment. I have it working, but haven't locked it down to be 100% consistent. I will reply here once I have something to report.

Thank you Mark. I will look forward to your feedback.
Best Regards,
Tarun
On Sun, 19 Apr 2020 at 04:54, Mark DePalma<EMAIL_ADDRESS>wrote:

This functionality should be in preview in the coming months (per
Microsoft), but unfortunately is not out yet. I am working on a method to
make this work at the moment. I have it working, but haven't locked it down
to be 100% consistent. I will reply here once I have something to report.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/windows-itpro-docs/issues/6458#issuecomment-615977341,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APEAS66SK7VPGDMQLEGIH6LRNIZB3ANCNFSM4MFHSSTA
.

I nailed down the experience and configuration last night. I was able to reproduce consistently with new autopilot enrollments I am writing a blog article in the next day or two and will post it here when it is finished.

Can't wait!

What kind of VPN markdepalma? Always On VPN? Split-tunnel or Device-Tunnel? Or a third party?
If this functionality still only is in preview, what kind of VPNs are supported?

@ITCTarunchhabra This functionality is in private preview, with public preview expected this month - https://oofhours.com/2020/03/18/podcast-episode-1-windows-autopilot-hybrid-azure-ad-join/
according to Michael Niehaus, Program Manager:

This capability is presently in private preview, with public preview expected in May.

What kind of VPN markdepalma? Always On VPN? Split-tunnel or Device-Tunnel? Or a third party?
If this functionality still only is in preview, what kind of VPNs are supported?

I am using device tunnel and user tunnel (MS Always On) to make it all work. I had to write my own script (injected via Intune) to manage the EKU filter on the device tunnel and also had to let device tunnel use the Intune MDM device cert to authenticate to RRAS because it takes a little bit for the device certificate Intune profile to come down. I've been testing on multiple devices and just been trying to make it all consistent (also been busy with other things).

@ITCTarunchhabra This functionality is in private preview, with public preview expected this month - https://oofhours.com/2020/03/18/podcast-episode-1-windows-autopilot-hybrid-azure-ad-join/
according to Michael Niehaus, Program Manager:

This capability is presently in private preview, with public preview expected in May.

Even if you use the network skip option (which I see references too in the autopilot logs) you'd still need certs to come down to authenticate to VPN. I'm wondering how they are making that all work immediately. I see significant delays in my cert and PowerShell profile delivery times compared to when I finish enrollment.

@ITCTarunchhabra - Thank you for submitting feedback.
From our understanding, the issue you raised has been answered by @markdepalma & @VLG17 so we will close this issue.
Thank you for your contribution to make the docs better! Much appreciated!


x/build/cmd/release: darwin-amd64 release tests aren't passing, cmd/go's TestScript/list_std_stale fails

As detected early by a #29205-like process, Go 1.17 tests that will be run during the release process are not passing when using a recent Go tip commit (tested with f07e4dae3c5cb608b4f0b9db57d1562d2125243b) on the darwin/amd64 release target, even with 3 retries. The same test is passing on other targets.
Specifically, CL 297869 (CC @bcmills, @jayconrod) made a change for Go 1.17 to fix #44725 and added a cmd/go/testdata/script/list_std_stale.txt test case. On darwin/amd64 that new test case fails with:
go test proxy running at GOPROXY=http://<IP_ADDRESS>:52037/mod
--- FAIL: TestScript (0.01s)
    --- FAIL: TestScript/list_std_stale (0.42s)
        script_test.go:252:
            # https://golang.org/issue/44725: packages in std should not be reported as stale,
            # regardless of whether they are listed from within or outside GOROOT/src.
            # Control case: net should not be stale at the start of the test,
            # and should depend on vendor/golang.org/… instead of golang.org/…. (0.416s)
            > ! stale net
            FAIL: testdata/script/list_std_stale.txt:7: net is unexpectedly stale

FAIL
FAIL	cmd/go	112.819s

This test failure can be reproduced with cmd/release (can only be done by someone with gomote access) like so:
# (The release command uses builders to create a release artifact locally.
#  It does not publish anything, so it's safe to run for testing needs.)
$ release -target=darwin-amd64 -version=go1.17beta100 -watch \
          -rev=f07e4dae3c5cb608b4f0b9db57d1562d2125243b  # or -rev=master for latest commit

This does not seem related to #46161, because it happens both with darwin-amd64-11_0 and darwin-amd64-10_15 builders. (CC @cagedmantis, @heschi.)
It also doesn't happen for the darwin/arm64 build, only amd64.
(It's not happening in post-submit testing, the build dashboard is green on all darwin amd64 builders.)
This is possibly connected to issues like #46239 and #33598 and may be a builder issue, or a problem with how release tests are run (as one example of a difference, they are run with GOROOT_FINAL set, while normal tests are not). There's also a possibility it's a problem in cmd/go that happens to only be caught by the darwin/amd64 builders in release test mode. This needs investigation.
The Go 1.17 darwin/amd64 release artifacts cannot be made without some sort of resolution to make this test pass, so this is a release blocking issue.
CC @golang/release.

(as one example of a difference, they are run with GOROOT_FINAL set, while normal tests are not)

FWIW, TestScript explicitly propagates GOROOT_FINAL here:
https://github.com/golang/go/blob/baa934d26dd6e201dcda0962dd51b0e5f6f69c1b/src/cmd/go/script_test.go#L172
Just to verify: does the release script re-run make.bash with GOROOT_FINAL set before it runs the tests?
But, given that the detected-stale package is net, I'm inclined to suspect some kind of difference in the detected cgo configuration — maybe something to do with which C compilers are in PATH?

The sequence of steps the release script performs is in the Build.make method.
An environment with GOROOT_FINAL set (here) is used both during make.bash (here) and later, when all.bash is run (here).

This section may be the problem for this test:
https://github.com/golang/build/blob/d0819edf598a7f08d0fa642ca67f9d2c094e775b/cmd/release/release.go#L427-L431
I would bet that changing CGO_CFLAGS invalidates the build cache for anything that depends on cgo, which the net package probably does. However, we don't currently propagate any CGO_ variables in TestScript:
https://github.com/golang/go/blob/cca23a73733ff166722c69359f0bb45e12ccaa2b/src/cmd/go/script_test.go#L158-L184
https://github.com/golang/go/blob/cca23a73733ff166722c69359f0bb45e12ccaa2b/src/cmd/go/script_test.go#L137-L145

Well spotted @bcmills. I can reproduce with just:
$ export CGO_CFLAGS='-mmacosx-version-min=10.13'
$ ./make.bash # etc.
$ go test -run=TestScript/list_std_stale cmd/go

Filed #46347 as a cmd/go issue. Depending on whether it's considered a bug and fixed, or deemed working as intended, we can decide whether cmd/release needs changes.

The decision in #46347 is to fix it, so after that's done, the current behavior of cmd/release should result in a passing test.
I've thought about whether it'd make sense to modify cmd/release behavior so that release-specific adjustments like setting CGO_CFLAGS are only applied during ./make.bash and not ./all.bash, to reduce the delta between testing done in TryBots/post-submit builders, and release testing. However, there is some advantage to current behavior of cmd/release: it may catch problems that happen only when the environment is configured as it is during the release, which would otherwise not be caught at all. We may want to rethink this, but it should likely be done holistically as part of #40279, not right now.

Issue #46347 has been resolved (thank you @bcmills). I'm re-running this test to confirm it's working as expected, and that there weren't other failures masked by this one.

All release tests for the darwin-amd64 target are passing at Go tip commit 950fa11c4cb01a145bb07eeb167d90a1846061b3. This issue is resolved.


Support for DllReferencePlugin?

Hello 👋
We're currently using relative-ci to track our bundle stats over time, but I've noticed that the modules that are externalised via the DllReferencePlugin are not included (which makes sense, they're not in the stats).
Is there any guidance on how to include these? If I add the agent plugin to the DLL build, will the results get merged correctly?

If possible, can you please share more details about how you use the DLL plugin

So interestingly my goal is to stop using the DLL plugin, since I don't think it's helping us much - we only use it on one project
I'm planning to replace the DLL bundle with a more usual splitChunk - so I want to get a proper side-by-side comparison
Do you have any experience in merging webpack stats JSONs from two different builds? It sounds like that should get me what I want

So interestingly my goal is to stop using the DLL plugin, since I don't think it's helping us much - we only use it on one project

Thanks for sharing!:) We will wait for more feedback, though I am aware that  Module Federation replaced some of its use cases (3x more usage for ModuleFederation on GitHub).

I'm planning to replace the DLL bundle with a more usual splitChunk - so I want to get a proper side-by-side comparison

I think you should be able to see the difference in the assets view, though the lack of corresponding module data might hide some insights.

Do you have any experience in merging webpack stats JSONs from two different builds? It sounds like that should get me what I want

The agent uses only a part of the webpack stats to generate the report. In theory, if webpack provides information about the  bundled DLL modules and is enough to look up a corresponding module on the DLL compilation stats, they can be merged.  It has been a while since i worked with a DllPlugin, i'm not sure if webpack provides any helpful information. I will try to create a test, though feel free to share webpack stats if you possible.

I ended up replacing our use of the DLL plugin without needing a detailed bundle comparison, so I'm no longer personally motivated to improve the situation here.
I'll leave the issue open in case anyone else is looking in future, but feel free to close it if you'd prefer

We effectively gained a new asset which was previously unaccounted for - what was formerly the DLL bundle, but is now just a chunk from the main buildAs a nice bonus, seeing it as part of the main build allowed us to spot a few more things that should be in it, so the change was a decent net saving in bundle sizeOn 7 Dec 2023, at 20:05, Viorel Cojocaru @.***> wrote:
Thank you for sharing @glenjamin! Did you notice any difference in the assets view/total bundle size?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

@vio although not  specifically using DLL or federation plugins, Home Assistant could benefit from being able to track an array of builds in one project.  Right now, we have separate projects on RelativeCI for our modern and legacy builds, which means double the settings, status checks, etc.
While I would not want to lose the ability to view and interrogate the bundle stats separately, it would be nice to just track the aggregated totals for things like status checks or setting up a GitHub comment.  I think a similar desire would apply to usage of DLL or federation plugins to break up a bundle.

@steverep in the case of the DLL/Module federation builds, the data from another build counts towards the same metrics: Total bundle size, initial js, assets, modules, etc.
For monorepos, we are considering improving the management and the monitoring by groupping the projects, though the metrics will be calculated individually for each project. Isn't this something that will help more with your case with multiple bundles?

@steverep in the case of the DLL/Module federation builds, the data from another build counts towards the same metrics: Total bundle size, initial js, assets, modules, etc.

Oh I didn't realize that.  Maybe I'm confused what this issue is exactly then.  Can you point me to an example of what this looks like on RelativeCI?

For monorepos, we are considering improving the management and the monitoring by groupping the projects, though the metrics will be calculated individually for each project. Isn't this something that will help more with your case with multiple bundles?

Yes is my gut answer, but I think I need to understand DLL/Federation more to boost my confidence.  TBH I've never used either.
In Home Assistant's case, we have 5 separate projects, each building 2 bundles (one for modern browsers and one for legacy).  We only track the 2 we ship to users on RelativeCI.  At a minimum, it would be nice to cut that in half by having a single check/approval/comment for each project by combining the modern and legacy, and also be able to see both the combined and separate stats.  Maybe there's a way to do that with DLL or Federation but I haven't tried.


Add feature-Display wind-corrected apparent heading and true time of flight for each flight leg

What I want
To  be able to see not only actual heading from waypoint to waypoint but see wind corrected apparent heading to each leg
Why is this good
It helps to navigate in low visibility conditions without having to consult another app or a flight computer. Currently it is impossible to navigate using the compass only in moderate or high wind low-vis
source_code.pdf
environments.
I have attached the source code that was made available by FlyingFan from the IL2 utility called IL2 wind compensator. This code has the essential wind compensation formulas as well as other features such as ground speed which would be nice to use also to adjust time of flight to compensate for wind.
The program istelf is available in the IL2 forum here https://forum.il2sturmovik.com/topic/36125-wind-compensation-calculator-v-14/

@ATAG-Skud I know this is a pain in the back, but could you attach the code as plaintext, please? Sharing code on a pdf file can lead to difficult-to-see errors and to a complex debugging experience, if someone picks this up and tries to copy-paste some of it as a starting point.

Hi
Roccobarbi
It is all I have. I downloaded it off the forum just as Flyingfan had posted it. I think you can just use the formulas. But since they are in MathCad you may have to adapt the functions to the language you are using. Sorry my programming ability has dwindled a lot since I ran FORTRAN IV forty years ago 😜
Sent from my iPhone

On Aug 31, 2021, at 10:05 PM, Rocco Barbini @.***> wrote:

@ATAG-Skud I know this is a pain in the back, but could you attach the code as plaintext, please? Sharing code on a pdf file can lead to difficult-to-see errors and to a complex debugging experience, if someone picks this up and tries to copy-paste some of it as a starting point.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

Ok. For future reference, I think this could be added as an add-on calculator, so that you can enter the necessary input values and get the corrected heading. I would not add it to the map proper, since wind is probably dependent on the single mission, and it could end up causing errors if someone forgets about it.

I was thinking that when a user maps his flight in the current mission planner you could add a wind speed and direction to the pop up box where you input airspeed now. Then display corrected heading and flight time on the opposite side of the arrow.
Sent from my iPhone

On Aug 31, 2021, at 10:58 PM, Rocco Barbini @.***> wrote:

Ok. For future reference, I think this could be added as an add-on calculator, so that you can enter the necessary input values and get the corrected heading. I would not add it to the map proper, since wind is probably dependent on the single mission, and it could end up causing errors if someone forgets about it.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

Here is the formatted version of the source code for the wind compensator.  I left in in Word open
IL2 WINDCOMPENSATOR.odt


Treemap

Reimplement the treemap using d3 and make it an actual treemap respecting the hierarchy.

The chart is higher in most cases and has fixed ratio.
Automatic resizing on window resize.
You can zoom in by clicking the area.
The tooltips now follow the mouse and don't flicker anymore.
The colors are different for now, as it's simpler to use one of d3's color scales.
Currently, this ignores the option to display negative balances. IMHO displaying negative values in a treemap is just not well-defined behaviour so I'd leave it like it is. Ref #10.

Ref #198

This looks gorgeous! I do like the colors as they are, as the old ones were a bit "heavy".
Will be a good starting point for me to implement the "sunburst"-charts (#198)


Maps package

:racehorse: Various under-the-hood improvements in efficiency (e.g. not storing extra data in the big LSOA dataframe by copying nLVO+IVT into a new nLVO+IVT_MT column or making copies of the nLVO+no-treatment data for nLVO+MT).
:bug: Bug fix in map display - polygons containing holes were previously mistakenly filling in the holes.
:bug: Bug fix in MT time calculation. Now the model checks whether a transfer is required instead of the previous method of treating all units as though a transfer was required.
:broom: Started but haven't finished proper documentation and tidying.

Also maps now are accurate to the LSOA-level instead of previous MSOA-level.


Is it possible to predefine the name of exported png?

Description
Is it possible to add an alias feature to page like this?:
page(
alias: "custom name x",
width: 1440pt,
...
)
then, when exporting png, we can run the cli like:
typst c -f png .\template.typ "{alias}.png"
to make the file names same as the predefined aliases.
Use Case
I'm making a project to translate some kind of scripts to typst code. If it's possible to predefine the aliases of each page, it will be easy to relate the png file in future code and make the picture frames more "readable". I have read the typst cli documents and source code, I found that there's no way to achieve it. The example in the description is just one of my idea, maybe there will be more appropriate method to make it possible.

That's not possible as far as I know.

well. is it hard to achieve or not in plan?

I don't think it's hard to achieve, although I haven't looked into it. So if someone implements it, maybe it will be added. But the details of the API would have to be discussed with @laurmaedje first.

I wonder whether for your use case a page alias is really best or maybe rather a way to somehow batch compile multiple documents? A named thing wouldn't necessarily have to be a single page.

got it. i will try it in another way.


Reverse for 'step-autocomplete' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []

In the stage where I have to reverse the url in the shell, I get this error. I've spent a day trying to fix it with no luck. Does anyone know how to fix this? And can the fix be added to the docs for anyone else with this issue? 'Ensure that the url can be reversed' is rather vague

Fixed it! had to put the url into my main urls.py not the apps urls.py.

i am still getting this.. as i put it in main urls.py ..
can anybody confirm its working with python3.5+ ?

This error is not related to DAL, it's because Django can't find your url.
Do manage.py shell:
 from django.core.urlresolvers import reverse
 reverse('your-url')

If that doesn't work then your url is not registered properly. See what file corresponds to the ROOT_URLCONF setting, that's the file where you should register your url, either directly, either through include().


Missing the step to configure the load balance

[Enter feedback here]
When I finished all the steps described on the page, I still can not access the application that deployed to Azure Service Fabric. I checked the cluster, and everything was good. At last, I found I should configure the load balance(add a new rule) to expose the port 80 that did not describe on the page.

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

ID: 922b9c51-6a6d-1118-d2a2-6d485b222ce8
Version Independent ID: 6874cc89-a1f8-addd-430f-a4d6b7f89ae8
Content: Create a Windows container app on Service Fabric in Azure - Azure Service Fabric
Content Source: articles/service-fabric/service-fabric-quickstart-containers.md
Service: service-fabric
GitHub Login: @sukanyamsft
Microsoft Alias: atsenthi

@zhaohy023
Thanks for the feedback! I have assigned the issue to content author to check and update the document as appropriate.

@sukanyamsft
Can you please check and add your comments on this doc update request as applicable.


Update docker-compose.yml with hostname

Without the hostname for the datanode: service, if that container is re-created, the unique container name that docker generates will invalidate the SSL certificate that was generated using the Graylog Preflight UI, making it practically impossible to recover from, as you can't re-trigger the Preflight UI, seemingly, as the Graylog UI on :9000 fails to start in this situation.
Notes for Reviewers

[ ] The commit history must be preserved - please use the rebase-merge or standard merge option instead of squash-merge
[ ] Sync up with the author before merging

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

HI @bdruth, thank you for the PR! I'd like to ask you for small changes. Would you enclose the hostname with "? And if you like, you could also add the same addition to the enterprise file, too?


cmd/vet: warn about more malformed JSON struct tags

What version of Go are you using (go version)?

$ go version
go version go1.13.4 darwin/amd64

Does this issue reproduce with the latest release?
Yes, the problem appears with 1.13.8 as well.
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/XYZ/Library/Caches/go-build"
GOENV="/Users/XYZ/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GONOPROXY=""
GONOSUMDB="example.com/*"
GOOS="darwin"
GOPATH="/Users/XYZ/go"
GOPRIVATE=""
GOPROXY="http://proxy.example.com"
GOROOT="/Users/XYZ/go/go1.13.4"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/Users/XYZ/go/go1.13.4/pkg/tool/darwin_amd64"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/fm/6cbjfz6s33qbxn77r5lt89cc0000gp/T/go-build495195143=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?
I ran go vet on the following code:
package main

import (
	"fmt"
	"encoding/json"
)

type S struct {
	Foo int `json:"fnord.foo"`
}

func main() {
	data := []byte(`
		{
			"fnord": {
				"foo": 1
			}
		}
	`)

	var s S
	err := json.Unmarshal(data, &s)
	if err != nil {
		panic(err)
	}
	fmt.Printf("%#v\n", s)
}

What did you expect to see?
I expected go vet to warn me about the undecodable parts of the struct, with something like "encoding/json does not support dot-separated paths"
What did you see instead?
go vet did not print any output and had a zero exit value, indicating that there are no problems with the code.

Seems reasonable. Should fit nicely into the existing vet struct tags check. Should be pretty straightforward to implement for anyone wanting to try their hand on vet.
cc @mvdan @robpike

I don't think this is something that can be flagged,
{"fnord.foo": 1} is a valid json object that is supported by the current syntax https://go.dev/play/p/faEAfGx8uzE
cc @mvdan

I tend to agree with @seankhliao, and we likely can't change the existing behavior either. Also note that vet has a frequency criteria for its checks, and I have never encountered this kind of mistake myself.
cc @dsnet in case he disagrees here

Closing as we appear to be in agreement that this isn't something we can do.


improvement do not remove value 0 counter

Proposed changes
 VHASH_JOIN_NODE  (id=22):
                                  -  JoinType:  INNER_JOIN
                                  -  HashTableBuckets:  1024,      |    256,
                                  -  HashTableFilledBuckets:  104,      |    105,      |    107,      |    108,      |    110,      |    112,      |    113,      |    115,      |    116,      |    118,      |    119,      |    120,      |    121,      |    122,      |    123,      |    124,      |    125,      |    126,      |    128,      |    129,      |    131,      |    133,      |    134,      |    135,      |    136,      |    137,      |    140,      |    143,      |    144,      |    145,      |    146,      |    95,
                                  -  AllocateResourceTime:  [  avg:  14.975ms  ,  max:  17.262ms  ,  min:  7.914ms  ]
                                  -  ProjectionTime:  [  avg:  600ns  ,  max:  28.828us  ,  min:  0ns  ]
                                  -  PublishRuntimeFilterTime:  [  avg:  2.758ms  ,  max:  6.37ms  ,  min:  966.995us  ]
                                  -  PushDownComputeTime:  [  avg:  76.623us  ,  max:  113.803us  ,  min:  54.665us  ]
                                  -  BuildBuckets:  22.272K  (22272)
                                  -  BuildCollisions:  1.909K  (1909)
                                  -  FilledBuckets:  5.894K  (5894)
                                  -  MemoryUsage:
                                      -  BuildBlocks:  1.08  MB
                                      -  BuildKeyArena:  0.00
                                      -  HashTable:  1.02  MB
                                      -  PeakMemoryUsage:  0.00
                                      -  ProbeKeyArena:  0.00
                                  -  RowsReturned:  1
                                  -  RowsReturnedRate:  0

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


JoinOptimization: Add build side pushdown to probe side

Which issue does this PR close?

Closes #7955
Rationale for this change

What changes are included in this PR?

Are these changes tested?

Are there any user-facing changes?

For query like
select count(*) from part join lineitem on l_partkey=p_partkey where p_partkey > 10;

and with data scale like

The execution time is 5 times faster
before:

after:

@Dandandan Sorry for the late response, I have reinvested it and format the code. Really appreciate your suggestion. Thanks a lot.

Really nice @Lordworms , will have a good look later today.

Could you update the display of sources to include these pushed-down filters? I believe it would be more clear if we could see them clearly in the output (I'm also curious to see how this impacts the test plans). Additionally, are there any benchmark results you could share with us?

Could you update the display of sources to include these pushed-down filters? I believe it would be more clear if we could see them clearly in the output (I'm also curious to see how this impacts the test plans). Additionally, are there any benchmark results you could share with us?

How would you display them in sources? The dynamic filter will only be added during execution, so it will only be available through e.g. ParquetExec after loading the build side.

How would you display them in sources? The dynamic filter will only be added during execution, so it will only be available through e.g. ParquetExec after loading the build side.

Doesn’t JoinFilterPushdown: PhysicalOptimizerRule modify the dynamic_filters in ParquetExec during optimizations? My intention was to ensure the rule is functioning correctly and to prevent this feature from being silently broken in the future. Perhaps we could add some unit tests to verify this.

How would you display them in sources? The dynamic filter will only be added during execution, so it will only be available through e.g. ParquetExec after loading the build side.

Doesn’t JoinFilterPushdown: PhysicalOptimizerRule modify the dynamic_filters in ParquetExec during optimizations? My intention was to ensure the rule is functioning correctly and to prevent this feature from being silently broken in the future. Perhaps we could add some unit tests to verify this.

Yes that's correct, just wanted to stress the actual filter isn't added during the optimization phase, only a "placeholder" that might be filled with some filter expressions during execution. So it only shows ParquetExec might be filtered dynamically from the join values.

How would you display them in sources? The dynamic filter will only be added during execution, so it will only be available through e.g. ParquetExec after loading the build side.

Doesn’t JoinFilterPushdown: PhysicalOptimizerRule modify the dynamic_filters in ParquetExec during optimizations? My intention was to ensure the rule is functioning correctly and to prevent this feature from being silently broken in the future. Perhaps we could add some unit tests to verify this.

Maybe I can show them in 'explain analyze'

I think it is ready now

Another weird thing I found after rebasing main is that the ParquetExec time seems to be wrong
without optimization

with optimization

The total time with optimzation is 30s, while it is 19s without processing, which means adding the dynamic filter added 10s on ParquetExec. Seems like there's something wrong with parquet filter pushdown

I decided not to create PhysicalExpr for it since the only benefit of creating extra PhysicalExpr is try to pushdown it to ParquetScan, but currently the adaptive feature of pushdown predicate is not done yet. I'll just try to push build side hash down to FileStream which could make this PR much much simpler

I repushed with an adaptive way to generate dynamic filter(when unique value exceed a threshold, generate range filter, otherwise inlist filter), and due to https://github.com/apache/datafusion/issues/13298 I didn't pushdown the filter down to parquet scan, I pushed the filter down to file stream, also tried with random data like
import pandas as pd
import numpy as np

part = pd.DataFrame({
    'p_partkey': np.random.randint(10, 21, size=1000),
    'p_brand': np.random.choice(['Brand#1', 'Brand#2', 'Brand#3'], 1000),
    'p_container': np.random.choice(['SM BOX', 'LG BOX', 'MED BOX'], 1000)
})

lineitem = pd.DataFrame({
    'l_partkey': np.random.randint(1, 1000001, size=100000000),
    'l_quantity': np.random.uniform(1, 50, size=100000000),
    'l_extendedprice': np.random.uniform(100, 10000, size=100000000)
})

and the result is

which only get like 40% of increase, I think we could try to pushdown filter down to parquet scan if the filter for reading parquet is optimized.
Also perhaps we need to improve performance of Inlist since when I tried 20 elements, the performance is 5 times slower than using range filter.


How to delete bot's messages?

I want to delete the old bot's messages to provide a better UX and "feeling of real dialog." This can be achieved by doing something like this:
const message = await ctx.reply('message here')

// wait 1 second
await new Promise((resolve) => setTimeout(resolve, 1000))

await ctx.api.deleteMessage(ctx.chat.id, message.message_id)

And even more, I can save the message ID to the session and then, at some moment, delete all messages from this list.
// get session
const session = await ctx.session

// send message1 (will be deleted) and add its ID to session
const message1 = await ctx.reply(`1st message`)
session.messageIDsToDelete.push(message1.message_id)

// send message2 (will be deleted) and add its ID to session
const message2 = await ctx.reply(`2nd message`)
session.messageIDsToDelete.push(message2.message_id)

// delete bot's messages before sending 3rd one
await Promise.all(
  session.messageIDsToDelete.map((messageID) =>
    ctx.api.deleteMessage(ctx.chat.id, messageID),
  ),
)

// send 3rd message
await ctx.reply(`3rd message`)

But it's not convenient to add message IDs to the list every time and then delete them manually (I have several routers, and some messages need to be deleted and some not). So I think about adding message IDs to the list and deleting messages from that list using middleware. Like this (not real code):
await ctx.reply(`1st message`, { toDelete: true })

await ctx.reply(`2nd message`, { toDelete: true })

await ctx.reply(`3rd message`, { deletePrevious: true })

So my questions are:

Is there existing ways for deleting the bot's messages?
Can I pass custom metadata to messages (like toDelete and deletePrevious from my example above)?
How can I catch the bot's messages using middleware? It seems like I can catch only users' messages.

I personally have not used them yet but I assume they should be helpful for you: https://grammy.dev/advanced/transformers.html
Their basic idea is to provide something like the middleware but for outgoing messages. That sounds like what you want to accomplish. (To the grammY experts there, correct me if I am wrong :innocent:)

Calling deleteMessage is the only way to delete a message. You'll need to call it once per message, just like your example shows.
You can change the API surface that grammY uses however you want. This is a bit tricky to do right with type safety, because you have to be skilled in TS, but there are several plugins that do this. In pure JS, your not-real-code example will be a valid way to use the feature, given you implemented the internal logic correctly which maps these properties back to deleteMessage calls.
You can use transformer functions for that. You'll need to play around with your custom context flavour to change the type signature of reply to what you want to have.

Thank you!
One more pitfall. I need access to the message ID in the transformer, but I can't get it in payload. So I can pass  { toDelete: true } to reply and get it, but I can't pass the message ID because message doesn't exist yet.
// send message with custom payload
await ctx.reply(`my message`, { toDelete: true })

// transformer
bot.api.config.use((prev, method, payload, signal) => {
  // payload.toDelete === true
  // payload.text === 'my message'

  // But I need message ID here

  return prev(method, payload, signal)
})

const response = await prev(method, payload, signal)
if (response.ok && "message_id" in response.result.message_id) {
  const id = response.result.message_id
  // Store id for later deletion
}
return response

Ah, got it :)
Thank you!

You're welcome :)
I'll close this, feel free to comment or reopen if you have further questions :)


Removing .unwrap()s

There are a few .unwrap()s in the library code. This should not exist, so remove these.

Most (all but one) unwraps have been removed with the changes in v0.9.0.


CODE-1579

repo mirroring
https://65f0e4f03d76e75f0c48a2ef--harness-developer.netlify.app/docs/code-repository/work-in-repos/mirror

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://65f0e4f03d76e75f0c48a2ef--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://65f1d0593e643941dab71bb3--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://65f1e82279bf5d099a477878--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://65f1ebd50579a20d8ecb27c5--harness-developer.netlify.app


Fix dead links to docs in readme

See: https://github.com/polyaxon/polyaxon-client/issues/19

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

fix #19


CAA  has a  bug

expect   caa.xxx.com.           11111   IN      CAA     128 issuewild "example.org"
but really get  caa.xxx.com.           11111   IN      CAA     128 issuewild "\012\"example.org"
        let rec = ResourceRecord::new(
            nm.clone(),
            CLASS::IN,
            11111,
            RData::CAA(CAA {
                flag: 128,
                tag: CharacterString::new(_tag.as_bytes()).unwrap(),
                value: CharacterString::new(b"\"example.org").unwrap()
            }),
        );

dig @<IP_ADDRESS> caa.xxx.com caa

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.9 <<>> @<IP_ADDRESS> caa.xxx.com caa
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36940
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;caa.xxx.com.                  IN      CAA

;; ANSWER SECTION:
caa.xxx.com.           11111   IN      CAA     128 issuewild "\012\"example.org"

Thanks for reporting this.
I have published a new version (0.8.0), can you verify if the fix works?

Thanks for reporting this.
I have published a new version (0.8.0), can you verify if the fix works?

solved !  👍
used as the follow
value: b"example.org".into()


feature request : an i18n key manger

feature request : an i18n key manger  to simplify the prosess of making i18n a dashboard  that generates json dictionries for all your laungauge so you can review your keys

The package cannot predict all valid keys, since it is possible to transfer contexts to the client, for example, the entire home. And from this you cannot generate what keys will be inside home until you add them to json

mybe as seprate  app reads keys example read all english keys and joing them with all german keys (just example)  and export the keys to be later used
or read from a locales folder and modify
but it would be a standalone app

do you know a way to pass a variable from any server component to root layout???

No, it can't exist. Layout is assembled separately and is not rerendered, since it is assembled on the server

mybe as seprate app reads keys example read all english keys and joing them with all german keys (just example) and export the keys to be later used

like:
en.json:
{
  "term1": "translate 1",
  "term2": "translate 2",
  "term3": "translate 3",
}

de.json:
{
  "term1": "other translate 1",
}

run some-command -f de.json
de.json:
{
  "term1": "other translate 1",
  "term2": "translate 2",
  "term3": "translate 3",
}

somthing like this an app with GUI where you open the root folder and it detects the subfolder if they exsist and all jsons ,
you can modify the keys or add , or remove, and it will modify the jsons inside

Working on it!)

hope we see it come to life

It still in closed development, but you can try it - https://www.npmjs.com/package/@nimpl/inio

very nice exaclty can i contribute to?? mybe i can help with some stuff also hope it would be open source for everyhone to use and standard for every laungauge

Hope to clean up there within the next week and then open-source it

Open-sourced tool - @nimpl/inio - https://github.com/vordgi/nimpl-inio. You can write there for all further questions and ideas

lets gooooo 🚀🚀🚀🚀🚀


🐛 Revert "🐛 Fix doCheck not skipping checks"

This reverts commit af4a8a02b63d8733f3b6c0a5db69d5bb3bf6de34. This
solution never really worked. Now checks could NEVER be run, because
stdenv.mkDerivation sets doCheck to what is sent in or false. So
we can never know if the user set the attribute or nixpkgs did.

Huh!? Not sure about this, the intention of the change is correct, the old behavior (that we are regering back to here) is most certainly not

Huh!? Not sure about this, the intention of the change is correct, the old behavior (that we are regering back to here) is most certainly not

This implementation of it doesn't work, no tests are run on the CI and checkInputs are not added to nativeBuildInputs so it should not be released. The old behavior is not desirable either but it's better... And with the old behavior you could do checkPhase = ''''; to not run checks.
The problem is that we can never hit the or case in drv.doCheck or false, so we need to rethink it and the idea was to revert it in the mean time.

Sure, I understand that, but I still think there should be a way for users to say "do not run checks on this derivation" so if there is any other way that would be great.

Like for example if the attrset sent in to mkDerivation is in drvAttrs you can check the value from there.

Yeah I tried drvAttrs as well to avail. Will make an issue.


List installed language support

By downloading punkt, several languages are support, such as:

czech
danish
dutch
english
estonian
finnish
french
german
greek
italian
norwegian
polish
portuguese
slovene
spanish
swedish
turkish

How can, in Python, this list of language names be queried from NLTK? If that is not possible in a generic way, could this please be made into a feature request?

It's rather odd because not all functionalities are available for all languages. But I think it's a good thing to have and get it documented. Then again saying things like supporting >10+ languages is a little over-claiming because most probably, it'll be only stopwords / punkt having that many languages.
Unlike SpaCy or Stanford CoreNLP, pipeline-based framework, it's not that simple to get a map like https://stanfordnlp.github.io/CoreNLP/human-languages.html is hard.

Such feature matrix, not only on the website but inside NLTK, would be very welcome.

How can i set my nltk to a different language?