ProjectLayout.dir seams to not resolve relative to directory

Directory relative resolving is broken when using ProjectLayout.dir.
Some how resolving a directory and then resolving a directory of this directory results in resolving from project root directory instead.
Expected Behavior
final Provider<File> provider = testProject.provider(() -> testProject.file("win/client_installer"));
testProject.getLayout().dir(provider).get();
//<project>\win\client_installer
 testProject.getLayout().dir(provider).get().file("icon.ico");
//<project>\win\client_installer\icon.ico

Directory.dir is expected to resolve relative to previous Directory.
Current Behavior
final Provider<File> provider = testProject.provider(() -> testProject.file("win/client_installer"));
testProject.getLayout().dir(provider).get();
//<project>\win\client_installer
 testProject.getLayout().dir(provider).get().file("icon.ico");
//<project>\icon.ico

But current behavior is that Directory.dir aquired by ProjectLayout.dir still resolves relative to project directory.
Context

Use of  Directory.dir is not consistent all over Gradle. Looks like the FileResolver does not use the correct path.
DefaultProjectLayout:
@Override
public Provider<Directory> dir(Provider<File> provider) {
    return new AbstractMappingProvider<Directory, File>(Directory.class, Providers.internal(provider)) {
        @Override
        protected Directory mapValue(File file) {
            return new FixedDirectory(projectDir.fileResolver.resolve(file), projectDir.fileResolver, fileCollectionFactory);
        }
    };
}

The resolver sould be relative to the resolved directory.
@Override
public Provider<Directory> dir(Provider<File> provider) {
    return new AbstractMappingProvider<Directory, File>(Directory.class, Providers.internal(provider)) {
        @Override
        protected Directory mapValue(File file) {
            final File resolved = projectDir.fileResolver.resolve(file);
            return new FixedDirectory(resolved, projectDir.fileResolver.newResolver(resolved), fileCollectionFactory);
        }
    };
}

Steps to Reproduce

get a Project instance
call ProjectLayout.dir()
call dir on resolved Directory again
Resolving does not happen on first Directory, but instead on project root.

Your Environment

Gradle Version: 6.0-rc-1
Build scan URL:

Fixed with 5b66952a6982a19fce964caa5cac3312e5633ecf


geemap istalling issue

I have created gee virtual env using
conda create -n gee python
then activate the env gee by
conda activate gee
after that we install the geemap package by conda-forge channel using conda install -c conda-forge geemap
after that dependecies starting downloading and installing.
during the finishing of installing but have getting this issue please help
m2w64-libwinpthread- | 31 KB     | ############################################################################ | 100%
sniffio-1.2.0        | 16 KB     | ############################################################################ | 100%
Preparing transaction: done
Verifying transaction: done
Executing transaction: / Enabling notebook extension jupyter-js-widgets/extension...
- Validating: ok
done
ERROR conda.core.link:_execute(701): An error occurred while installing package 'conda-forge::qt-5.12.9-h5909a2a_4'.
Rolling back transaction: done
LinkError: post-link script failed for package conda-forge::qt-5.12.9-h5909a2a_4
location of failed script: C:\Users\Lenovo\Anaconda3\envs\gee\Scripts.qt-post-link.bat
==> script messages <==

==> script output <==
stdout:         1 file(s) copied.
stderr: 'chcp' is not recognized as an internal or external command,
operable program or batch file.
'chcp' is not recognized as an internal or external command,
operable program or batch file.
'chcp' is not recognized as an internal or external command,
operable program or batch file.
return code: 1
()

Try this:
    conda create -n gee python=3.8
    conda activate gee
    conda install mamba -c conda-forge
    mamba install geemap -c conda-forge

Dear Prof.
I am follow the same but still getting error as
Finished mkl                                  (13m:11s)             180 MB    202 KB/s
Downloading  [=================================================================================] (15m:53s)  523.80 KB/s
Extracting   [=================================================================================] (15m:23s)    170 / 170
Preparing transaction: done
Verifying transaction: done
Executing transaction: - Enabling notebook extension jupyter-js-widgets/extension...
- Validating: ok
done
ERROR conda.core.link:_execute(699): An error occurred while installing package 'conda-forge::qt-5.12.9-h5909a2a_4'.
Rolling back transaction: done
LinkError: post-link script failed for package conda-forge::qt-5.12.9-h5909a2a_4
location of failed script: C:\Users\Lenovo\Anaconda3\envs\gee\Scripts.qt-post-link.bat
==> script messages <==

==> script output <==
stdout:         1 file(s) copied.
stderr: 'chcp' is not recognized as an internal or external command,
operable program or batch file.
'chcp' is not recognized as an internal or external command,
operable program or batch file.
'chcp' is not recognized as an internal or external command,
operable program or batch file.
return code: 1
()
(gee) C:\Users\Lenovo>

This is likely your network problem. Try Google Colab https://colab.research.google.com/github/giswqs/geemap/blob/master/examples/notebooks/35_geemap_colab.ipynb

Dear Prof.,
Do you mean the speed of the Internet connection??.

Correct. It is your internet problem. The automated testing shows that geemap can be installed successfully on Windows, Linux, and macOS. See https://github.com/giswqs/geemap/runs/3269797701


Wrongly reported Node compatibility

When running the swa cli, for example with pnpm dlx @azure/static-web-apps-cli start app/output --api-location app/server, it outputs
✖ Found Azure Functions Core Tools v4 which is incompatible with your current Node.js v20.10.0.
✖ See https://aka.ms/functions-node-versions for more information.

This is not related to the actual compatibility with Node 20, but is at least a wrong statement in the output, as linked docs/learn site clearly states that Node.js v20.x is supported: https://learn.microsoft.com/en-us/azure/azure-functions/functions-reference-node?tabs=javascript%2Cwindows%2Cazure-cli&pivots=nodejs-model-v4#supported-versions.
Is there any reason, the current LTS version of Node is not supported, while Node 16, which is eol since September 2023 still is?

Any news on this or #756 @thomasgauvin ?

A bump for this one.

+1 🙂

What is the a workaround to this issue? I cannot seem to run the SWA locally with a c# function api added, although it does work correctly when deployed to Azure.

What is the a workaround to this issue? I cannot seem to run the SWA locally with a c# function api added, although it does work correctly when deployed to Azure.

You can build a local node.js app with embedded calls to your 'api' paths & then run your app against localhost:1337. Tedious but works until they fix this.
var host = "<IP_ADDRESS>";
var port = 1337;
var express = require("express");
var app = express();
app.get('/api/myapi', function routeHandler(req, res) {
// call out to yout index.js file here ...
});
app.use('/', express.static('./public'));
app.listen(port, host);

Thank you, that gets me going again, as long as I start the SWA and C# Function app separately this is working for me.
`var proxy = require('express-http-proxy');
var app = require('express')();
app.use('/api', proxy('localhost:7071', {
proxyReqPathResolver: function (req) {
return "/api" + req.url;
}}));
app.use('/', proxy('localhost:4280'));
app.listen(3001, "<IP_ADDRESS>");`

Would like to confirm that this is still an issue on v1.1.7 even with the changes from #809
New SWA with C# API gives this output:
Welcome to Azure Static Web Apps CLI (1.1.7)

Using configuration "temp" from file:
  C:\Users\Miles\Projects\temp\swa-cli.config.json

***********************************************************************
* WARNING: This emulator may not match the cloud environment exactly. *
* Always deploy and test your app in Azure. *
***********************************************************************

✖ Found Azure Functions Core Tools v4 which is incompatible with your current Node.js v20.5.0.
✖ See https://aka.ms/functions-node-versions for more information.

swa-cli.config.json:
{
  "$schema": "https://aka.ms/azure/static-web-apps-cli/schema",
  "configurations": {
    "temp": {
      "appLocation": ".",
      "apiLocation": "api",
      "outputLocation": "dist",
      "apiLanguage": "dotnetisolated",
      "apiVersion": "8.0",
      "appBuildCommand": "npm run build",
      "run": "npm run start"
    }
  }
}

Until https://github.com/Azure/static-web-apps-cli/pull/818 is released in a new version, here's an ugly workaround that might just be enough for local development: Open<EMAIL_ADDRESS>in an editor and change line 45 like this:
  function isCoreToolsVersionCompatible(coreToolsVersion, nodeVersion) {
      // Runtime support reference: https://docs.microsoft.com/azure/azure-functions/functions-versions?pivots=programming-language-javascript#languages
      switch (coreToolsVersion) {
          case 4:
-             return nodeVersion >= 14 && nodeVersion <= 18;
+             return nodeVersion >= 14 && nodeVersion <= Infinity;

Of course, this "fix" will break once node_modules are reinstalled

If using a GitHub CodeSpace you can find the file here<EMAIL_ADDRESS>

Annoyingly its already fixed in the source see https://github.com/Azure/static-web-apps-cli/blob/dc37b72f98ca6cb6f9cbcb5b0ecadf66a9dbe869/src/core/func-core-tools.ts#L45

<EMAIL_ADDRESS>I have the same issue. I installed the azure tool globally on windows and found this file.
Then change line 45        return nodeVersion >= 14 && nodeVersion <= 20;
Then it worked well.
I hope this could be helpful for others.

We recently released 1.1.10, which I believe fixes this problem.  If it is still an issue for you, please let us know.


New release for 3.7 fix?

There hasn't been a release since the 3.7 fix (https://github.com/warner/magic-wormhole/commit/45315136021b9cdfdfa77eb85bfaaf9677e9f256) was landed. This, unfortunately, means that users of magic-wormhole on homebrew will run into this bug when sending multiple files at once if they have upgraded their python to 3.7 (which homebrew will prompt you, but not force you, to do).
Homebrew prefers to have releases rather than backport patches so it'd be great if we could do a 0.10.6 for at least this fix.

Oops.. thanks for the reminder. 0.11.0 is now up on PyPI.


Feature: Support internet connectivity with Alamofire Protocols

description of what you need for the feature?

Restofire.Requestable has a variable waitsForInternetConnectivity which makes the request and if it failed due to not connected to internet error then it puts the request inside a eventuallyQueue which resumes when the network connection is established.
The implementation is a little tricky to support this in Alamofire Protocols so closing this for now.


Add extensible data to rewrites

Let me just explain the motivations for this a little bit. Currently, rewrites encode zigzag maps sparsely, and in doing so they forget some information. For example, (by design) two distinct zigzag maps which are similar but have different codomains (e.g. one is a superset of the other) correspond to the same rewrite. I believe this occurs in degeneracy maps in normalisation, which needs to keep track of trivial identity maps which are forgotten by the standard encoding. Another thing we want is to encode (in a lightweight manner) cubical zigzag maps. These things can be achieved by tagging rewrites with some payload data, which @doctorn noticed can be neatly achieved while respecting hashconsing by making rewrites generic in their allocator. With this we can have a high-level unified description of 'rewrite-plus-extra-data'.

This is great, thanks @doctorn !
BTW there is currently no way to access a rewrite's payload. You might want to add a function
impl<A> GenericRewriteN<A>
where
    A: RewriteAllocator,
{
    pub fn payload(&self) -> &A::Payload {
        &self.0.payload
    }
}

Totally forgot about that! Thanks!


Received invalid OpenTherm response

Managed to compile and install this integration. The I get the following error as a loop:
[06:04:48][W][opentherm:195]: Received invalid OpenTherm response: 0, status=3
[06:04:48][D][opentherm:159]: Building TSet write request
[06:04:48][D][opentherm:251]: Sent OpenTherm request: ffffffff

Any thoughts?

Nothing to worry about. When boiler doesn't support a option and you configure it to be output – you'll get that kind of response.

Hi! Stumbled at this issue and decided to share my findings in case someone has similar problem.
I too have intermittent OpenTherm errors mostly with status=3. From what I gathered from Ihor Melnik's library, which is used here as communication layer, status=3 means that response from boiler was received, but it took longer than 1 second as demanded per OpenTherm specification.
For me this problem occurs when I enable Dallas temperature sensors in my ESPHome config. Looks like they take a relatively long time to poll and MCU gets blocked until polling is finished. This stops OpenTherm library from processing the response in time and leads to an error. Additionaly, my boiler also sometimes treats this as an error, but fortunately recovers in a matter of 1 or 2 seconds.
This is not confirmed with rigorous  debugging, but when I turn off Dallas sensors in my config and leave only OpenTherm, all errors magically disappear.
I don't know whether I'm going to do anything about these errors, since they don't seem to affect boiler operation  — OpenTherm sends all final values back and forth all the time, so a sporadic error is not critical from protocol viewpoint. The only course of action I can think of is refactoring OpenTherm communication into a separate ESP32 device and communicating with main ESP32 thermostat asynchronously using SPI or some such.


Add pdf studio

Test:

Made an overrride
Postinstall, postuninstall and preinstall scripts work without any need of editing.

Brand new 2024.0.0 version is out, 2023 successfully failed. Fixed indentations in if loop. Rest looks good and is working.


Are there any apm-agent-python that support Odoo?

Hi,
We'd like to monitor our Odoo instance with Elastic APM. But still couldn't find the apm-agent for Odoo. Could you please let me know if any? or are there any possibilities to create the agent based on the "apm-agent-python"?
Appreciate the feedback.
Regards,
-gs

Hi @guntursp
sorry for the long delay in answering this. We don't currently plan to add native support for Odoo. However, it is relatively straight forward to implement your own integration. I wrote a blog post a while ago that goes through the details, you can find it here: https://www.elastic.co/blog/creating-custom-framework-integrations-with-the-elastic-apm-python-agent

Hi @guntursp
I am currently working on an implementation of elastic APM for odoo.
See the project here : https://github.com/akretion/odoo-elasticapm
It's in work in progress but we will go in production really soon.
When the project will be really mature we will propose it into the Odoo Community Association (OCA) https://github.com/OCA
Hope this can help


implement websocket functionality to so send messages to all players, when painter not active (client)

9815c673e4cc3b5bbde3526571bfa500a4d65ba0
e65d016090775fabb847c42490db6362635bd5dc


Use the ESLint no-restricted-syntax rule to ensure that assert is always called with two arguments

Having assert calls without a message string isn't very helpful when debugging, and it turns out that it's easy enough to make use of ESLint to enforce better assert call-sites.
In a couple of cases the assert calls were changed to "regular" throwing of errors instead, since that seemed more appropriate.
Please find additional details about the ESLint rule at https://eslint.org/docs/rules/no-restricted-syntax

/botio test

Looks like a useful addition to me. Thanks!


Fixing a typo in the template

See diff

Thanks! I'll fix the same typo in the LyX template as well.

(Seems already fixed in the LyX version...)


Requestify AbstractStorageDecl::hasStorage().

The hasStorage() computation is used in many places to determine the signatures of other declarations. It currently needs to expand accessor macros, which causes a number of cyclic references. Provide a simplified request to determine hasStorage without expanding or resolving macros, breaking a common pattern of cycles when using macros.
Fixes rdar://109668383.

@swift-ci please test

@swift-ci please test

@swift-ci please test Windows

@swift-ci please test

Prior test run looks like it tripped over some CI issues, trying again

@swift-ci please test Windows

@swift-ci please test Windows


Css font imports in manifest.json

Description
Currently fonts are properly added to the manifest.json but you cannot see which e.g. css/vue files require this font.
This makes automatic preloading difficult as we cannot determine which file requires the font, and IF we need to require the font for the initial page load.
Suggested solution
I suggest adding an imports key to css files within the manifest.json just like is done with JS.
This may contain imported css (which is not relevant as everything currently gets compiled to a single css file)
and fonts required by the current css or vue file.
This way when (pre)loading the css or vue file, we know we should also (pre)load those font files
Alternative
Preloading of the fonts either needs to be done manually, or ALL fonts in the manifest.json must be loaded. Which isn't ideal since likely not all fonts are actually used on the current page.
Additional context
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

An example, currently the Vite just adds all the fonts with no relation to the css file where the font was discovered in the manifest:
  "resources/css/app.css": {
    "file": "assets/app-DE7dJou-.css",
    "src": "resources/css/app.css",
    "isEntry": true
  },
  "resources/css/fonts/Nunito-Bold.woff": {
    "file": "assets/Nunito-Bold-C6dW0HYt.woff",
    "src": "resources/css/fonts/Nunito-Bold.woff"
  },

Where Javascript files do have a reference with dynamic imports:
  "resources/js/app.js": {
    "file": "assets/app-CNshmeXx.js",
    "name": "app",
    "src": "resources/js/app.js",
    "isEntry": true,
    "dynamicImports": [
      "_Listing-DnGV7WH4.js"
     ],
  },
  "_Listing-DnGV7WH4.js": {
    "file": "assets/Listing-DnGV7WH4.js",
    "name": "Listing",
    "isDynamicEntry": true,
    "imports": [
      "resources/js/app.js"
    ]
  },

It would be nice to have something like:
  "resources/css/app.css": {
    "file": "assets/app-DE7dJou-.css",
    "src": "resources/css/app.css",
    "isEntry": true,
    "fonts": [
        "resources/css/fonts/Nunito-Bold.woff"
    ]
  },
  "resources/css/fonts/Nunito-Bold.woff": {
    "file": "assets/Nunito-Bold-C6dW0HYt.woff",
    "src": "resources/css/fonts/Nunito-Bold.woff",
    "foundIn": [
        "resources/css/app.css"
    ]
  },

I'm guessing somewhere here we need to have access to the bundle so we can set the bundle.imports to the files we find here
https://github.com/vitejs/vite/blob/ccee3d7c7d34fc66854029f27f6cc89de7dcf3c5/packages/vite/src/node/plugins/css.ts#L643


Command matching should be case insensitive

When processing commands, 'Attack' should be the same as 'attack' which is the same as 'ATTACK'.

Fixed in https://github.com/matt-jordan/mud-backend/commit/c953694898acce43a106100caf1178ea14d627ca


glob support in manifestPath

@reagent sorry to bother, you are the first to pop up on mention list, and @greypants seems to be out of this project. Could you please consider my PR? :)

hey @bushee -- I don't think we maintain this anymore, but I just gave you push access to the repo if you want to merge your changes.

@reagent Thanks. Could you please add me as a collaborator to https://www.npmjs.com/package/rev-replace-loader as well, so I can publish it afterwards?

I may have jumped the gun on this -- there wasn't consensus on our side about how we're handling this project and how it affects other projects on our github that might depend on it.  I chatted with @nhunzaker and he's going to check to see what we need to do to get this released without causing potential issues.

Feel free!

Hey @bushee, I apologize for the delay. So here's where we're at.
We do not actively use this project at Viget, and would like to find a new maintainer for it. That could be you. If so, we'd do the following:

We'd transfer ownership of this repo to you
We'd grant you access to the project on NPM
You'd be free to make changes as you see fit

Right now we're looking into all of the projects that use rev-replace-loader to make sure their package.json entries reference hard versions, or use lockfiles.
I think the best course of action would be to send out a major release, giving you some padding if any projects accidentally pull in a newer version with breaking changes. This probably isn't the case, but we're checking that now.
In the mean time, I'll review this PR and focus on getting it merged and shipped.

Sorry for the delay. This looks good. I'll verify it and deploy it. Then I'll transfer ownership of the repo over to you.

@bushee same name on NPM?

@bushee Sorry, final thing! Looks like I can't transfer the repo to you because you already have a fork. Would you be willing to remove your fork?

@nhunzaker yup, https://www.npmjs.com/~bushee is me.
Now that you've merged this PR, I deleted my fork. Feel free to transfer ownerships to me, thanks :)

Done! You should receive an email shortly.

Received and accepted. Thanks!


update buildToolsVersion and gradle version

Dependency versions were updated in 2490fbd. Anyway, thank you for the contribution!


android.view.InflateException: Binary XML file line

android.view.InflateException: Binary XML file line #11 in com.example.example:layout/navigation_activity: Binary XML file line #11 in com.example.example:layout/navigation_activity: Error inflating class com.mapbox.navigation.dropin.NavigationView
E/MethodChannel#flutter/platform_views(10160): Caused by: android.view.InflateException: Binary XML file line #11 in com.example.example:layout/navigation_activity: Error inflating class com.mapbox.navigation.dropin.NavigationView

on latest plugin

is this happening on version 0.2.0?

any solution?


refactor: cleanup AssetIcon & AssetList

Summary
Closes #7192
Changelog
- Cleanup AssetIcon and AssetList
- Move to components

Testing
Platforms

Please select any platforms where your changes have been tested.

Desktop

[ ] MacOS
[ ] Linux
[ ] Windows

Mobile

[ ] iOS
[ ] Android

Instructions

Please describe the specific instructions, configurations, and/or test cases necessary to test and verify that your changes work as intended.

...
Checklist

Please tick the following boxes that are relevant to your changes.

[ ] I have followed the contribution guidelines for this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have added or modified tests that prove my changes work as intended
[ ] I have verified that new and existing unit tests pass locally with my changes
[ ] I have verified that my latest changes pass CI workflows for testing and linting
[ ] I have made corresponding changes to the documentation

SelectedTokenDrawer

As SelectedTokenDrawer is a mobile drawer,  there is no need to update it :pray:


Can not sign in

I'm trying to sign in with corporate account with multifactor "Microsoft Authenticator" iOS app.

Tried both authentication methods

No difference. The same error.
Also push and pull operations doesn't work, When I'm pushing, I'm getting a sign-in popup, passing it successfully, but then it pops up again couple of times (and I have to fill in my creds again), and finally it fails completely with error
Update failed
Authentication failed for 'https://microsoft.visualstudio.com/DefaultCollection/$project/_git/$repo/'

Everything was working fine yesterday. It suddenly stopped working today. Is there a way to fix it?

Could you please show the logs that gets written during the push operation?
Also, could you please explain what's a "corporate account" and how does it work?
Unfortunately, nobody has been able to explain to me how it works and if it's possible for me to get one for testing, that's why this issue still persists: I have no way of reproducing it.

I believe this is a duplicate of #239, but please provide a detailed explanation of that "corporate account" business if possible.


Support Fish Speech 1.5

See https://github.com/fishaudio/fish-speech/pull/696.
Looks like most of the changes are with the tokenizer, it's unclear whether the "VQGAN mask" architecture changes are active or not. I'll report back

Implemented in #20


Reboot host or restart services leads to network unavailability

Hello. I continue testing v2.0.0-alpha.2. Many bugs are fixed, thanks. Then wireguard is up, it works stable. But i found one problem. Rebooting host, or restarting containers by docker compose down && docker compose up -d  leads  wireguard to network unavailability (although no changes have been made to the config files. Even the external IP does not change). There is no traffic via clients and server (even icmp packets don't get through). Restarting services doesn't take any effect. The only way is to log in web, to go to server config (chapter Peer Defaults) and, without making any changes, to press button APPLY PEER Defauts . Аfter that, everything is work normal (until the next reboot host or restart services). What is it that causes such incorrect behavior of services???

Hi,
So you are using the host's WireGuard interface, which becomes functional once you restart the Docker container?
Can you please enable trace logging and post the container startup logs?
You could also test whether the interface still works while the container is stopped and check whether the connections break due to the startup process.

Hi,
So you are using the host's WireGuard interface, which becomes functional once you restart the Docker container? Can you please enable trace logging and post the container startup logs?
You could also test whether the interface still works while the container is stopped and check whether the connections break due to the startup process.
Good day. I'm starting all services in one docker-compose.yaml file. As a service of Wireguard  I use image from lscr.io/linuxserver/wireguard. In wireguard logs there is nothing interesting:

.:53
CoreDNS-1.11.1
linux/amd64, go1.21.8,
**** Found WG conf /config/wg_confs/wg0.conf, adding to list ****
**** Activating tunnel /config/wg_confs/wg0.conf ****
[#] ip link add wg0 type wireguard
[#] wg setconf wg0 /dev/fd/63
Warning: AllowedIP has nonzero host part: <IP_ADDRESS>/24
Warning: AllowedIP has nonzero host part: <IP_ADDRESS>/24
Warning: AllowedIP has nonzero host part: <IP_ADDRESS>/24
Warning: AllowedIP has nonzero host part: <IP_ADDRESS>/24
[#] ip -4 address add <IP_ADDRESS>/32 dev wg0
[#] ip link set mtu 1420 up dev wg0
[#] ip -4 route add <IP_ADDRESS>/24 dev wg0
[#] ip -4 route add <IP_ADDRESS>/24 dev wg0
[#] ip -4 route add <IP_ADDRESS>/24 dev wg0
[#] iptables -A FORWARD -i wg0 -j ACCEPT;iptables -A FORWARD -o wg0 -j ACCEPT;iptables -t nat -A POSTROUTING -o eth+ -j MASQUERADE;iptables -t nat -A POSTROUTING -o wg+ -j MASQUERADE
**** All tunnels are now active ****
[ls.io-init] done.

seems it's all ok. In logs of wg-portal service I alse didn't find anything suspicious (errors). In UI I see status "connected". I will try to add more information. Could I send my docker-compose.yaml file?

Just post the contents of the docker-compose.yml file here and remove any sensitive information like passwords, hostnames or public IP addresses.

Just post the contents of the docker-compose.yml file here and remove any sensitive information like passwords, hostnames or public IP addresses.

version: "3.6"

services:
  wireguard:
    image: lscr.io/linuxserver/wireguard:latest
    container_name: wireguard
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
      - SERVERURL=auto #optional
      - SERVERPORT=51820 #optional
      - PEERS=1 #optional
      - PEERDNS=auto #optional
      - INTERNAL_SUBNET=<IP_ADDRESS> #optional
      - ALLOWEDIPS=<IP_ADDRESS>/0 #optional
      - PERSISTENTKEEPALIVE_PEERS=25 #optional
      - LOG_CONFS=true #optional
    volumes:
      - ./config:/config
      - ./libmodules:/lib/modules
      - ./custom-scripts:/custom-cont-init.d:ro
    networks:
      wireguard:
        ipv4_address: <IP_ADDRESS>
    ports:
      - "<IP_ADDRESS>:8123:8123"
      - "51820:51820/udp"
    sysctls:
      - net.ipv4.ip_forward=1
      - net.ipv4.conf.all.src_valid_mark=1
    restart: always

  wg-portal:
    image: wgportal/wg-portal:v2.0.0-alpha.2
    container_name: wg-portal
    restart: always
    depends_on:
      - wireguard
    logging:
      options:
        max-size: "20m"
        max-file: "3"
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    network_mode: "service:wireguard"
    volumes:
      - ./config:/etc/wireguard
      - ./settings:/app/config
    environment:
      # WireGuard Settings
      - WG_PORTAL_CONFIG=/app/config/config.yml
networks:
  wireguard:
    external: true

Please, can You tell me what code under button  does? Only this button takes effect (helps to restore normal work), if pressed.

Just post the contents of the docker-compose.yml file here and remove any sensitive information like passwords, hostnames or public IP addresses.

I think I solved it. The problem was that, wg-portal ups wg0 interface and wireguard service could not up it one more time (because it was already started). In config.yaml I changed option restore_state from default true to false and made one more interface wg1 (although I think everything will work with a default one), and used and configured it as main.

For some reason it works only on Ubuntu 22.04 lts. On CentOS7 it doesn't take any effect.

@h44z
The created peers work fine until the interface is restarted. After restarting the interface (systemctl restart wg-quick@wg1.service), peers created through the portal do not connect to the server. The only way to fix this is by pressing the "apply peer defaults" button or "Enable -> Disable -> Enable" in the peer settings.
Changing the "restore_state" parameter does not help.
@Sarevok933219
If you managed to solve the problem, please write the solution steps.


Swagger doc

Added swagger package to demo the documentation tools for REST API, the path is /query/demo

Moved to PR-https://github.com/dirac-institute/trailblazer/pull/46


GROOVY-9315: Bump bytecode version to 1.8

How about using CompilerConfiguration.DEFAULT.getTargetBytecode() if there is no active configuration instead of adding another global constant?

Good idea.
I'm trying to fix the bytecode issues...

Weired...  Java9+ builds are green, but Java8 build failed...
groovy.ant.Groovy9105Test > testGenerateStubs FAILED
    java.lang.IllegalAccessError: tried to access method groovy.ant.AntTestCase.doInTmpDir(Lgroovy/lang/Closure;)V from class groovy.ant.AntTestCase$doInTmpDir
        at groovy.ant.AntTestCase$doInTmpDir.callCurrent(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:156)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:168)
        at groovy.ant.Groovy9105Test.testGenerateStubs(Groovy9105Test.groovy:23)

@paulk-asert Please review the PR too :-)

So, I tried to keep from having extra constants added to CompilerConfiguration and now there are 3.  What is the purpose of ASM_API_VERSION, ASM_COMPUTE_MODE and ASM_PARSE_MODE?  Who would use them (that is whay are they in CompilerConfiguration and public)?

Could you please explain the logic behind taking a string literal and raising it up to a static final member even though that constant is only used within a particular low-level compiler class?  I understand that there may be old code style checks that recommend this, but for a non-shared literal, this is completely unnecessary and just makes it harder to read the compiler code.

As you can see, it is not an easy task. We should handle stackmap frames for higher versions of bytecode, or the generated bytecode can not pass the verification of JVM:
Expected stackmap frame at this location.

Could you describe that in the issue?  All it says is that we require Java 8 and so we "should" use Java 8 bytecode version.
Is there a minimal set of changes just to handle the stackmap frame issue?  What I am concerned about is that the original goal of upping the bytecode version at a couple of sites has exploded into a bunch of extra files and a bunch of new global constants that, in my opinion, should be kept hidden not made public.

What is the new CompilerConfiguration#getAsmTargetBytecode for and why is it separate from getTargetBytecode?

ASM accepts its own target bytecode version, e.g. Opcodes.V1_8, but getTargetBytecode returns something like JDK8. I do not want to write mapping logic everywhere...

In the old codebase, we can not manage the bytecode version well, for example, we use many bytecode versions to generate bytecode, some very old bytecode versions like 1.3 are still used.
What I propose to do is manage the default bytecode code version in a place, same for its relevant compute mode and parse mode. If we want to change them, just modify only one place.
As for the global static variables, could you give me suggestions to hide and hold them better?


Builder fails to load models when using ::class notation

When using the ::class notation inside a model, Builder doesn't display it in the backend anymore.
Model is listed under Builder -> Models:
class Product extends Model
{
    public $hasMany = [
        'attributes' => 'Namespace\Of\Models\Attribute'
    ];
}

Model is not listed under Builder -> Models anymore:
use Namespace\Of\Models\Attribute;

class Product extends Model
{
    public $hasMany = [
        'attributes' => Attribute::class
    ];
}

@tobias-kuendig, thanks for the report. We will take a look into it. Builder doesn't execute plugins' PHP files and can only rely on parsing. Resolving class names could be a challenging task.


change doc

Pull Request Test Coverage Report for Build 1621

0 of 0   changed or added relevant lines in 0 files are covered.
17 unchanged lines in 5 files lost coverage.
Overall coverage increased (+0.09%) to 63.261%

Files with Coverage Reduction
New Missed Lines
%

core/loadbalancer/session_stickiness_strategy.go
2
78.46%

core/rpc_invoker.go
2
93.1%

core/registry/discovery.go
3
66.0%

core/lager/logrotate.go
5
33.94%

core/config/lb_config.go
5
31.58%

Totals

Change from base Build 1619:
0.09%

Covered Lines:
5436

Relevant Lines:
8593

💛  - Coveralls


⚠ Bofrost.lu has degraded performance

In 13af1b8, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1343 ms

Resolved: Bofrost.lu performance has improved in 5186bb2 after 8 minutes.


Explain the corresponding LUIS app portal/authoring region mapping to publishing region a little further

section "Authoring key creation limits", statement "Make sure you create an app in the authoring region that corresponds to the publishing region where you want your client application to be located."
Someone may take this to mean that there should be a 1-1 mapping between authoring and publishing regions. For example, if your publishing region is in eastus, they may think the authoring region should also be eastus (when in fact there are only 3 authoring regions available worldwide, so that's not possible).
https://docs.microsoft.com/en-us/azure/cognitive-services/luis/luis-reference-regions#luis-authoring-regions bridges the gap.

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

ID: 407d2781-1fe1-38a6-dc18-37d4e37d651c
Version Independent ID: 919a2206-13f9-4f51-2e4f-45fe062d7d43
Content: Using authoring and runtime keys - LUIS - Azure Cognitive Services
Content Source: articles/cognitive-services/LUIS/luis-how-to-azure-subscription.md
Service: cognitive-services
Sub-service: language-understanding
GitHub Login: @aahill
Microsoft Alias: aahi

@fvarga01, Thanks for the feedback! We are taking a look into this and will get back to you soon.

@fvarga01 - Thanks for the feedback. A PR has been submitted with the fix. Should go live within the day.
https://github.com/MicrosoftDocs/azure-docs-pr/pull/140713
#please-close


enhance Catch RequestFailedException for all azure request

Proposed changes

Previously we only catch storageException for azure's request. But it could also throw RequestFailedException which is the base class for storageException. So we directly catch RequestFailedException here.

run buildall


Use 'Animated.View.propTypes' to avoid warnings.

The propTypes Validation must be based on Animated.View.propTypes instead of just View.propTypes
otherwise a Warning is displayed when passing Animated values to TabBar.

Published in 0.2.18.


[QNN] Legalization for Intel x86 QNN Conv2D

Intel x86 has fast Int8 instructions for u8 x i8 conv2D. The frameworks might have different dtypes. This PR write QNN legalizations for QNN Conv2D for Intel x86 to go to u8 x i8.

@shoubhik @zhiics @jackwish @vinx13

Personally, I am not sure about this.
VNNI is supported by the latest Intel processors only, is it fine to let x86 handles uint8 * int8 by default and via legalize? Or to put it in TOPI with dedicated routine which to be enabled on condition - say, templates. Also, AFAIK, VNNI intends a symmetric approach.

Thanks for the comments @jackwish
Let me first give little background why are we doing this

Intel Skylake and newer processors have Int8 fast instructions. But they only support u8 x i8. One can legalize the nn.conv2d when it sees u8 x i8 and convert it to u8 x i8. However, doing that at nn.conv2d involves many more instructions. (It requires instructions before and after conv). Therefore, I decided to do it at qnn.conv2d. In this case, we can just worry about the quantized tensors in general as we have information about scales and zero points. Here, we just have to requantize the weight to go from uint8 to int8 and everything is set.

VNNI supports symmetric design. Yes, that is true. This PR does not change that. The whole flow would be - we have u8 x u8 qnn.conv2d. QnnLegalize converts it to u8 x i8 qnn.conv2d. QnnCanonicalize will lower the qnn.conv2d into Relay ops. The example is

# Original
v0.0.3
def @main(%data: Tensor[(1, 64, 256, 256), uint8], %kernel: Tensor[(128, 64, 3, 3), uint8]) -> Tensor[(1, 128, 254, 254), int32] {
  qnn.conv2d(%data, %kernel, kernel_size=[3, 3], out_dtype="int32", input_zero_point=1, kernel_zero_point=1) /* ty=Tensor[(1, 128, 254, 254), int32] */
}

# After QnnLegalize
v0.0.3
def @main(%data: Tensor[(1, 64, 256, 256), uint8], %kernel: Tensor[(128, 64, 3, 3), uint8]) -> Tensor[(1, 128, 254, 254), int32] {
  %0 = cast(%kernel, dtype="int32") /* ty=Tensor[(128, 64, 3, 3), int32] */;
  %1 = add(%0, -128 /* ty=int32 */) /* ty=Tensor[(128, 64, 3, 3), int32] */;
  %2 = clip(%1, a_min=-128f, a_max=127f) /* ty=Tensor[(128, 64, 3, 3), int32] */;
  %3 = cast(%2, dtype="int8") /* ty=Tensor[(128, 64, 3, 3), int8] */;
  qnn.conv2d(%data, %3, kernel_size=[3, 3], out_dtype="int32", input_zero_point=1, kernel_zero_point=-127) /* ty=Tensor[(1, 128, 254, 254), int32] */
}

# After QnnCanonicalize
v0.0.3
def @main(%data: Tensor[(1, 64, 256, 256), uint8], %kernel: Tensor[(128, 64, 3, 3), uint8]) -> Tensor[(1, 128, 254, 254), int32] {
  %0 = cast(%kernel, dtype="int32") /* ty=Tensor[(128, 64, 3, 3), int32] */;
  %1 = add(%0, -128 /* ty=int32 */) /* ty=Tensor[(128, 64, 3, 3), int32] */;
  %2 = clip(%1, a_min=-128f, a_max=127f) /* ty=Tensor[(128, 64, 3, 3), int32] */;
  %3 = cast(%2, dtype="int8") /* ty=Tensor[(128, 64, 3, 3), int8] */;
  %4 = nn.conv2d(%data, %3, kernel_size=[3, 3], out_dtype="int32") /* ty=Tensor[(1, 128, 254, 254), int32] */;
  %5 = cast(%data, dtype="int32") /* ty=Tensor[(1, 64, 256, 256), int32] */;
  %6 = multiply(%5, 9 /* ty=int32 */) /* ty=Tensor[(1, 64, 256, 256), int32] */;
  %7 = nn.avg_pool2d(%6, pool_size=[3, 3]) /* ty=Tensor[(1, 64, 254, 254), int32] */;
  %8 = sum(%7, axis=[1], keepdims=True) /* ty=Tensor[(1, 1, 254, 254), int32] */;
  %9 = multiply(-127 /* ty=int32 */, %8) /* ty=Tensor[(1, 1, 254, 254), int32] */;
  %10 = tile(%9, meta[relay.attrs.TileAttrs][0]) /* ty=Tensor[(1, 128, 254, 254), int32] */;
  %11 = subtract(%4, %10) /* ty=Tensor[(1, 128, 254, 254), int32] */;
  %12 = cast(%3, dtype="int32") /* ty=Tensor[(128, 64, 3, 3), int32] */;
  %13 = sum(%12, axis=[1, 2, 3]) /* ty=Tensor[(128), int32] */;
  %14 = reshape(%13, newshape=[1, 128, 1, 1]) /* ty=Tensor[(1, 128, 1, 1), int32] */;
  %15 = subtract(-73152 /* ty=int32 */, %14) /* ty=Tensor[(1, 128, 1, 1), int32] */;
  add(%11, %15) /* ty=Tensor[(1, 128, 254, 254), int32] */
}

In this manner, the nn.conv2d gets the u8 x i8 inputs and we can use fast instructions.

Finally, I can add a guard where if the target is Skylake+, only then I will trigger this legalization. That should resolve the concern what happens with older processors

What do you think?

Thank you for the very detailed explanation @anijain2305 . One thing I am not fully understand is that, the uint8 data and int8 weights which feeds to nn.conv2d are asymmetric, how are we going to use it with VNNI extensions?

Thank you for the very detailed background explanation @anijain2305 .
One thing that I am not fully understand is, with this patch, uint8 data and int8 kernel which feeds to nn.conv2d are asymmetric, how they should be computed by VNNI extension regarding the accumulated multiplication part?

Thank you for the very detailed background explanation @anijain2305 .
One thing that I am not fully understand is, with this patch, uint8 data and int8 kernel which feeds to nn.conv2d are asymmetric, how they should be computed by VNNI extension regarding the accumulated multiplication part?

By the time, the data and kernel comes to conv, they are just uint8 and int8 numbers. The HW has no notion of asymmetric and symmetric. It will just take two tensors, one uint8 and other int8 and do dot product. So, I don't think asymmetry plays a role at the level of nn.conv2d.
Side note - If suppose both the inputs were symmetric. The qnn.conv2d will Canonicalize to just nn.conv2d. In that case also, nn,.conv2d will only have two tensors, one uint8 and other int8. Whether they were symmetric or not, nn.conv2d (and also VNNI) is completely unaware of that.
Please let me know if I am missing anything.

@jackwish Please let me know if you have more questions. Or if something did not make sense. I am happy to provide more description.

Hi @anijain2305 , I have been busy with some other stuff, sorry for the delayed reply.
I think the int8 (weight) should be requantized to symmetric representation rather than adding the zero point, because the value density of uint8 and int8 representation is different. Therefore, the uint8 and int8 VNNI arithmetic makes sense. And, the bias may need to shift (I mean value shift, not the bit shift) to cooperate with this VNNI design. I may propose some equations if this doesn't seem very straightforward.

The HW has no notion of asymmetric and symmetric.

Absolutely yes, that's what the system developer should be carefull :)
And, sorry if I have any misunderstanding :)

@jackwish I think I understand what you are referring to, but I am talking about a different abstraction. Allow me to explain. Let's leave asymmetric, symmetric and VNNI off the discussion for now.
Suppose, we have a tensor of floating point numbers. We can represent them in one quantized representation Q_a with scale_a and zp_a. So,
FP_value = scale_a * (Q_a - zp_a)
Now, I can have another quantized representation that can map to the exact same floating point numbers as that Q_a tensor.
For example
FP_value = scale_a * ( Q_a - zp_a + 128 - 128)
FP_value = scale_a * ( (Q_a - 128) - (zp_a - 128))
So, here, we can have another quantized representation Q_b with (scale_a, `zp_b'), where
Q_b = Q_z - 128
zp_b = zp_a - 128
Any operator that was consuming this tensor as input remains unchanged. It will still get same represented floating point values (only the quantized values and zero point has changed, while the floating point values are still same).
In the context of PR, Q_a is u8 and I want to bring all the values in i8 range. This can be done by using the above equation.
Essentially, following thing happens
# Original

        u8       u8
        |        |
        qnn.conv2d

# After QnnLegalize

       u8       u8
        |        |
        |        requantize to i8 using above equations
        |        |
        qnn.conv2d

Yes, you are right @anijain2305, I was focus on factorizing uint8 * int8 too much, leading to misunderstanding of the legalization.
Sorry for the that, and thank you for the kind patient and detailed explain :)

No worries @jackwish
It is my pleasure. These discussions are very useful :)

@jackwish Can you please review again?

@jackwish @zhiics Can you please review? Lets try to get this in.

Thanks @jackwish I have update accordingly
@zhiics Please review.


The apps_ prefix to the repo name is no longer required

Feel free to rename the repo

Closing as the rename has happened.
/close

/close


Issue with wkhtmltopdf that generates PDF files for this plugin on default Sylius Docker

If you want to use wkhtmltopdf inside default Sylius Docker from SyliusStandard, it's not enough to add this:
# persistent / runtime deps
RUN apk add --no-cache \
		acl \
		file \
		gettext \
		git \
		mariadb-client \
		wkhtmltopdf \
	;

it needs to be like this:
# persistent / runtime deps
RUN apk add --no-cache \
		acl \
		file \
		gettext \
		git \
		mariadb-client \
		wkhtmltopdf \
		ttf-ubuntu-font-family \
	;

Otherwise, the text in the PDF won't be displayed.
I posted this as a reminder to a future-me that will have this issue again and google it and then reach this page with the solution.
Works for me :)

Inspired by this solution: https://github.com/mileszs/wicked_pdf/issues/841#issuecomment-514262073

in my case I needed wkhtmltopdf to use Sylius Refund plugin. In addition to adding it like you did, I needed to copy wk files from /usr/bin/ to /usr/local/bin/, as plugin was looking for wkhtmltopdf in /usr/local/bin. So basiaclly this command:
cp /usr/bin/wk* /usr/local/bin/
another solution to my problem would be to change paths WKHTMLTOPDF_PATH/WKHTMLTOIMAGE_PATH in .env file, but i chose to do it the first way


Hi dear

Please:

[ ] Check for duplicate requests.
[ ] Describe your goal, and if possible provide a code snippet with a motivating example.

Sorry, not sure I understand. Maybe this was opened accidentally?


Pre-trained models

When can you release the pre-trained models？

Sorry that the pre-trained models cannot be transferred due to the institution's policy. It would be available if I could get some GPUs outside but this may take time to go. Could you please train them by yourself if possible? And welcome to contribute to the models!

Well, we do not have enough GPUs to train them on ImageNet :(

What a pity. If I could get enough GPUs, I will train and upload them. Please pay attention to the updates of the repo if needed. And thanks for your interest in our work!
Best

Thanks a lot!


Custom types are not found when populating parameters in functions

Trying to generate the SWC file for the PixiJS library d.ts definition found in:
https://github.com/pixijs/pixi-typescript
I got the error:
Error: Type interaction.InteractionEventTypes not found for parameter event in function on.
The type seems to be correctly defined in the namespace, and VSCode correctly represents it with no error warnings:
export namespace interaction {
...
        type InteractionPointerEvents = "pointerdown" | "pointercancel" | "pointerup" | "pointertap" | "pointerupoutside" | "pointermove" | "pointerover" | "pointerout";
        type InteractionTouchEvents = "touchstart" | "touchcancel" | "touchend" | "touchendoutside" | "touchmove" | "tap";
        type InteractionMouseEvents = "rightdown" | "mousedown" | "rightup" | "mouseup" | "rightclick" | "click" | "rightupoutside" | "mouseupoutside" | "mousemove" | "mouseover" | "mouseout" | "mouseover";
        type InteractionEventTypes = InteractionPointerEvents | InteractionTouchEvents | InteractionMouseEvents;
}

I changed all references of this type to string (all located in the DisplayObject class) and the tool correctly generates the SWC file.

Thanks for the bug report. Yeah, dts2as isn't always great at using many TypeScript features together when ActionScript doesn't have them too, like this case with type aliases, unions and string literal types. I've gotten most of them to work alone, but edge cases that combine many features at once tend to break.

I see... I was thinking that may be the case, but luckily working a little on the d.ts file does the trick, so that's great. In the end with these kind of things, you can always set the type as 'any' and go ahead with that...
Maybe the dts2as tool, as a last resort option if a type cannot be resolved, set it as 'any' and throw a warning in the console? It can even be an option you can specify when running the tool :)
Thanks again Josh for the help!

That's a good idea about falling back to any when the type can't be found (with a warning, of course).
Another thing you can do is specify the -outDir option to have dts2as output uncompiled ActionScript instead of trying to compile the SWC. Then you can make tweaks to the .as files and compile the SWC yourself. It may be easier to tweak the .d.ts files instead of the .as files, though.


Narwhal: add version command to narwhal node CLI

New
It would be super helpful to have a node version command that would output the following:
> node version
Narwhal Node v$VERSION (git: $COMMIT_HASH)  build_date: $DATE_TIME_COMPILED

^^^ or some version of this that provides the version/git commit/build date. Format doesn't matter all that much.
this would make it muuuuch easier to determine what version a node binary was built from. Right now, I have to do some real sleuthing to find the git hash for any compiled binary that wasn't recent. Adding this make would make answering what version were you running a trivial task :-).

Closing stale issues, please reopen if the issue still exists


[WIP] Increase the default instance sizes

Closes #1111 and https://github.com/nebari-dev/nebari/issues/37
Changes introduced in this PR:

Doubled the profile sizes for the small and medium workers
Doubled the node sizes across the board for all cloud providers
Increased the default conda-store storage to 200G, and the shared filesystem to 200G as well
Updated documentation to reflect these changes

Types of changes
What types of changes does your PR introduce?

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds a feature)
[ ] Breaking change (fix or feature that would cause existing features to not work as expected)
[ ] Documentation Update
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no API changes)
[ ] Build related changes
[x] Other (please describe): Increases the default node sizes and worker profile sizes across the board.

Testing
Requires testing

[x] Yes
[ ] No

In case you checked yes, did you write tests?

[ ] Yes
[x] No

Documentation
Does your contribution include breaking changes or deprecations?
If so have you updated the documentation?

[ ] Yes, docstrings
[x] Yes, main documentation
[ ] Yes, deprecation notices

Further comments (optional)
After talking to several people on the nebari team and checking some existing deployment profiles, I've doubled the node and profile sizes across the board. If others feel that we should increase these defaults further, I'm happy to make that change.
CI is failing due to #1329; will keep this on hold until that issue is resolved.

Closing because CI can't run on forks: https://github.com/Quansight/qhub/issues/1301. Opened https://github.com/Quansight/qhub/pull/1338 in place of this PR.


Overlapping Bar Charts (v. 2.7.2)

Expected Behavior
Overlapped bar charts will show tallest item in back
Current Behavior
Overlapped bar charts are displaying in dataset order

Passing column should have "Previous" data column in front of "Current"
Data:
                          labels: ['Passing', 'Failing', 'Skipping', 'Total'],
                          datasets: [
                            {
                              label: 'Current',
                              backgroundColor: 'rgba(255, 99, 132, 0.2)',
                              borderWidth: 1,
                              data: [92, 63, 0, 155]
                            },
                            {
                              label: 'Previous',
                              backgroundColor: 'rgba(255, 206, 86, 0.2)',
                              borderWidth: 1,
                              data: [70, 47, 6, 155]
                            }
                          ]

Options:
                        {
                          scales: {
                            xAxes: [{
                              stacked: true
                            }]
                          }
                        }

Environment
For clarity, I am using React ChartJS 2 as a wrapper for ChartJS, but generally speaking functionality is the same, just differs by how the item is rendered.
I am wondering if perhaps I'm just missing some configuration?
I have seen https://github.com/chartjs/Chart.js/issues/3946 but the mentioned versions and age of the issue suggested it may no longer be relevant.

It's not currently possible and it may be a bit complicated to implement because we draw each dataset separately (ie. we can't z-order bars individually).

Oh ok. I couldn't tell from other similar issues whether I was simply missing something.

A workaround for this,

pass all the bars in same dataset and sort them by value
use function for backgroundColor
custom tooltips callbacks
https://codepen.io/kurkle/pen/wvWGJzm

The above work-around is the way to do this and works in v3.x


Remove deprecated "Errors" types on next-branch

Description
https://dev.azure.com/fluidframework/internal/_workitems/edit/5467/
Work In Progress.
Deprecate error types on the next branch.

@Josmithr this whole change should be only about types and have no runtime impact, right? I was trying to figure out if we needed to be careful if things with multiple versions might interact.

Correct - these should be type-only changes. The values of the underlying flags have not been modified.

@jikim-msft i'm pretty sure next is permanently closed. you need to make this change in main. @tylerbutler  to confirm, and see if we can block checkins to next.

@anthony-murphy
I created a PR which makes the change from next to main. Just to confirm, should I revert the commit on the next branch as it is permanently closed?

@anthony-murphy
I created a PR which makes the change from next to main. Just to confirm, should I revert the commit on the next branch as it is permanently closed?

it probably doesn't matter


Publish 06/26/2020 3:30 PM

Docs Build status updates of commit 318a70d:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docset/windows/defender/Set-MpPreference.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


How do I use the "cameraflash()" function?

Describe your problem here.
I wanna make an event where the screen flashes white, I'm still confused on how to do this even after reading the wiki.
Am I doing this right?
function onEvent(name, value1, value2)
	if name == 'Flash' then

		duration = tonumber(value1);
		if duration < 0 then
			duration = 0;
		end
		cameraFlash(game, white, 'duration', false)
		end
	end

Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
No

Why is duration (the argument in cameraFlash) in quotes?

idk, i'll change that. But how do I make the flash work? Like what am I doing wrong?

What are you trying to do exactly?
Cover the front of the screen with white light?

Yes, I want it to flash white and have the white fade away

I feel like I'm doing everything correct except for the first string (unless I'm not and I'm just doing everything incorrect). On the wiki it just says "camera - 'game', 'hud' or 'other' " and I don't know what that means
function onEvent(name, value1, value2)
	if name == 'Flash' then
		cameraFlash("game", '255, 255, 255', 0.7, false)
		end
	end

So in FunkinLua.hx, this is what happens when "cameraFlash" is called
So you have to put in a String
Lua_helper.add_callback(lua, "cameraFlash", function(camera:String, color:String, duration:Float,forced:Bool) {
var colorNum:Int = Std.parseInt(color);
if(!color.startsWith('0x')) colorNum = Std.parseInt('0xff' + color);
cameraFromString(camera).flash(colorNum, duration,null,forced);
ColorNum has to be in the RGB form in Hexadecimal
For white, it is "FFFFFF" or "0xFFFFFFFF" (The first 2 'F's are for opacity)

for the camera string do I just put "game"

I'm gonna be honest and say IDK
There's only 3 options, just try them all

none of them work
why is there absolutely no explanation for how to do this? It's getting on my nerves

Actually, I think you might be making the Lua code wrong
I think you have 1 too many "end" statements
The first end statement

Wait no, Function also has an end statement, nvm

Did you name the lua script correctly?

Yeah I just tried deleting one and it crashes the game

Yeah the script is called "Flash.lua"

This is my code rn
function onEvent(name)
	if name == 'Flash' then
		cameraFlash('game', "FFFFFF", 0.7, true)
		end
	end

Oh I know the problem then
You have to name the script the same name as your stage

wait really?

why?

If you look at Playstate.hx
Near the begining is something that will add a lua script if it has the same stage name

This is a custom event in lua, I don't have the source code

Well actually, you could make it a global script, but then you would have to add it to the scripts folder
Which you could do

You could always just look at the data file for the song to see the stage name.

Ok actually I probably should've specified that this is a custom event in the custom_events folder and not just a script

Did you add a Flash.TXT as well?

cameraFlash('game', 'ffffff', 1, true)


Release v0.2.0

Full Changelog

5f4d435 Prepare for v0.2.0 (#2)
ca12c6d Implement save! (#1)

Ruby head on ubuntu-latest build fails due to a problem with YARD. See lsegal/yard#1419.
Ruby jruby-head on windows-latest fails... does not block this release.


router: trace mirrored requests

Signed-off-by: Kuat Yessenov<EMAIL_ADDRESS>Description: add correct tracing for mirrored requests: 1) propagate span context for async HTTP client, 2) spawn a child span for mirrored requests, 3) add an option to router to disable mirrored span sampling
Risk Level: low, trace headers are added to async HTTP calls (like they already were for gRPC)
Testing: updated unit tests
Docs Changes: none
Release Notes:
Fixes: #10257

@kyessenov Thanks for implementing this, it would appear your mirrored traces do not apply global tag configuration though.  Will be opening an issue

@boostchicken feel free to file an issue about the global tags.


Redesign application page

Currently working on the design for this in https://www.figma.com/file/Kyvg3XxMo2eBJrcapWny9AwJ/Website.

Closed by https://github.com/hackclub/frontend/pull/12.


[Suggestions] New Discord commands and compatibility

Could you make compatible with chat plugins, like Legendchat?
I want that only messages at Global channel are send to discord, excluding Local messages.
And, if possible, add more discord commands to discord bot like !tps (shows tps from the server), !list (list the players online on server), !ping  (shows the ping of an player to server, or vice versa, in ms).
Too, add messages when players joins/quit of the server to discord, like
Nick joined the game.
Nick left the game.
customizable.

Will have to download and test Legendchat,
Getting server tps is not as simple as i expected it to be
Getting player list is added for next version
Getting player ping would have to look into as well
and players joining and leaving servers has been added for next version

I hope to be added :)

Source code pushed, Will update spigot and bukkit pages later on ether today or tommorow.
New builds pushed to release folder

News about LegendChat compatibility?


Installing Sysbox on K8s clusters without using sysbox-k8s-deploy

Hi guys,
I've tried to install CRI-O and sysbox without the use of daemonset installation because it's not viable for us to have such installation method and I was unable to do it without going through your installation scripts where, at the end, I've found out that I need to use your package of CRI-O. Do you have an idea where will your changes land in upstream?
Would it be possible to create documentation for guys like me who can't use daemonset installation?
Another thing is that I'm unable to install sysbox deb package when reinstalling node through PXE because postinstall script in dep package will complain that kernel module is missing although it is present when node reboots.
Thank you very much. :slightly_smiling_face:

Hi @TomasKohout, thanks for reaching out and for your interest in Sysbox.
Responding to your questions:

I've found out that I need to use your package of CRI-O. Do you have an idea where will your changes land in upstream?

That's correct; we made a minor fix to CRI-O to ensure it never maps the container's root user to the host's root user. We have communicated this change to the CRI-O maintainers, but have not had a chance to upstream it yet (it requires a bit more work on our side to upstream it). We hope to get this done in the coming 1->2 months, though it's not a top priority at this time.

Would it be possible to create documentation for guys like me who can't use daemonset installation?

We don't have plans to do this because the installation steps are rather complex and depend on the K8s distro. This is why we scripted them into the sysbox-deploy-k8s daemonset.
Having said this, if this is for an enterprise use case, we may be able to offer such a service via a Sysbox-EE subscription.

Another thing is that I'm unable to install sysbox deb package when reinstalling node through PXE because postinstall script in dep package will complain that kernel module is missing although it is present when node reboots.

Could you please show us the error message that you get?
Thanks!

Hi @ctalledo, thank you for your response. :slightly_smiling_face:

That's correct; we made a minor fix to CRI-O to ensure it never maps the container's root user to the host's root user. We have communicated this change to the CRI-O maintainers, but have not had a chance to upstream it yet (it requires a bit more work on our side to upstream it). We hope to get this done in the coming 1->2 months, though it's not a top priority at this time.

I'm looking forward to this. :slightly_smiling_face:

We don't have plans to do this because the installation steps are rather complex and depend on the K8s distro. This is why we scripted them into the sysbox-deploy-k8s daemonset.

Understood. The issue is that we use our own bare metal servers and I don't want to use daemonset approach because it's a big change for our setup.

Having said this, if this is for an enterprise use case, we may be able to offer such a service via a Sysbox-EE subscription.

Noted. :+1:

Could you please show us the error message that you get?

The postinst script contains check check_configfs_loaded for configfs kernel module and if the module is not loaded, posinst will fail.
I've tried to do steps that you do within daemonset installation by my own, but for some reason, cotnainers fail to start with this message. Could you point me to the right direction please?
time="2022-02-01T17:05:57Z" level=error msg="failed to write \"0-3,5,7,9-55,57,59,61-103\": write /sys/fs/cgroup/cpuset/kubepods.slice/kubepods-besteffort.slice/kubepods-besteffort-podad75417e_e08d_40a1_8722_b12e279f3d73.slice/crio-main.scope/cpuset.cpus: device or resource busy"

Hi @TomasKohout,

The issue is that we use our own bare metal servers and I don't want to use daemonset approach because it's a big change for our setup.

Just curious, why is that (if you can share this info)? I ask because generally the sysbox-deploy-k8s daemonset is the easiest approach to installing Sysbox on a cluster, whether it's on VMs or bare-metal.

I'd like to +1 @TomasKohout feeling on this.
I tried to use the installer just now on a baremetal cluster (Ubuntu 20.04, containerd runtime, nothing too fancy but not necessarily "vanilla") and ran into #525. Perhaps if I'd been able to do a "ground up" (get sysbox runtime + CRI-O installed, try using them directly before then switching kubelet to use them, etc) deployment it would have been smoother.
IMO whilst it makes lots of sense to script the happy path for the EKS/AKS/$$bigcloud$$ offerings, it makes less sense for baremetal clusters which often tend to be standard but with tiny little deviations here and there.

@samcday, thanks for your feedback, I understand your point. The reason that we created this daemon-set was to simplify the somewhat complex process of installing Sysbox + CRI-O in a running K8s cluster, especially when we take into consideration the large number of existing K8s distributions and the variety of deployment patterns utilized by cloud vendors.
In regards to your goal of "testing before switching kubelet", please keep in mind that, on a given k8s node, kubelet can operate with a single CRI at a time, being this one docker-shim, containerd, or cri-o, so at this level you won't really have the option of testing concurrent environments. Having said that, once sysbox-k8s-deploy does its installation magic, your existing pods (as well as the new ones) will continue to use the regular (oci)runc for their instantiation -- IOW, sysbox-pods require explicit configuration.
Another thing, at the risk of stating the obvious: you can always install Sysbox on your bare-metal servers through the standalone package installers and play with it through the docker or crictl interface, so you don't really need to install sysbox-k8s-deploy daemonset to test Sysbox itself.
Will get back to you on #525 later on.

Hi guys, :slightly_smiling_face:

Just curious, why is that (if you can share this info)? I ask because generally the sysbox-deploy-k8s daemonset is the easiest approach to installing Sysbox on a cluster, whether it's on VMs or bare-metal.

we want to controll what is installed on our workers and what settings are set. Installation via daemonset destroys this transparency which makes sysbox unusable for us.
In the meantime, we have moved to containerd which is not supported by sysbox. :slightly_frowning_face:

Thanks @TomasKohout;
Sounds like documenting the manual installation process would solve the issue for you. Let me check if we can do that, at least for the case of vanilla K8s clusters and with the caveat of "this is not a fully supported installation method".
Note however that we've not yet upstreamed the patch we added to CRI-O, so this will require using the patched CRI-O in the nestybox repo.

In the meantime, we have moved to containerd which is not supported by sysbox.

Got it; unfortunately containerd does not yet support deploying pods with the user-ns, and this is a must-have for Sysbox, which is why it relies on CRI-O currently.

@ctalledo I have another use case for not using the daemonset. And it's just the raw speed of having everything baked into the virtual machine and ready to go. This way we can start op nodes in about a minute. With daemonset things tend to be very slow

@ctalledo for now I can live with the slower install, just wanted to know if there was a path forward to make it faster :)
Thank you very much for the information

@ctalledo: adding another usecase where the daemonset will not be applicable. The product that I am working on has 2 faces - on-prem and cloud versions which are both backed by k8s. On-prem customers will often want to deploy air-gapped environments where the runtime fetch-build-install-renconfigure flow of the daemonset will not really be applicable as public Internet connection is not guaranteed. Furthermore, we require to have reproducible builds for both flavors which excludes any runtime pulls from public repositories. Last but not least, both us and our customers expect to be able to use static scanners to monitor potential component vulnerabilities before deploying the product. For getting to know sysbox pods, the daemonset is a good start even if it needs modifications for not-yet-supported hosts (e.g. Photon OS 5.0) but if we decide to really bundle it and step on it, we will most likely recreate the installation in another way as well :)
Question:

Got it; unfortunately containerd does not yet support deploying pods with the user-ns, and this is a must-have for Sysbox, which is why it relies on CRI-O currently.

In https://github.com/nestybox/sysbox/issues/618#issuecomment-1377974488 I think you hinted that CRI-O may not be a hard dependency in the near future. Is that correct, do you have any rough ETA on this? Reading https://github.com/containerd/containerd/issues/7063 and the user namespace docs of k8s, it looks like k8s 1.27.2 and containerd 1.7 already have something on this topic, though they appear to have limited volumes support.

Hi @shadjiiski, thanks for the update, makes sense.

In https://github.com/nestybox/sysbox/issues/618#issuecomment-1377974488 I think you hinted that CRI-O may not be a hard dependency in the near future. Is that correct, do you have any rough ETA on this? Reading https://github.com/containerd/containerd/issues/7063 and the user namespace docs of k8s, it looks like k8s 1.27.2 and containerd 1.7 already have something on this topic, though they appear to have limited volumes support.

Let me defer on this to @rodnymolina, because he has tracked a bit more closely the work being done in K8s and containerd to support pods with user-ns.

Thanks @aressem. Yes, we've been closely tracking containerd's 2.0 release for a while. I hope we can fully integrate its user-ns capabilities within the next few weeks once it reaches more stable builds.

Thanks @aressem. Yes, we've been closely tracking containerd's 2.0 release for a while. I hope we can fully integrate its user-ns capabilities within the next few weeks once it reaches more stable builds.

Hello there! I am bumping this to see if there have been any pushes towards sysbox supporting containerd?

Hi @bsmithai,

I am bumping this to see if there have been any pushes towards sysbox supporting containerd?

Unfortunately not, we've not yet had cycles to prioritize this work.


Incorrect data type check for  data_adaptor.pandageom_from_points

The parameter rgba_list for function data_adaptor.pandageom_from_points  (https://github.com/wanweiwei07/wrs/blob/8c91537c17a23842d0acfbf44f1b6b03a9614e3f/basis/data_adapter.py#L319-L320)  can be NumPy array. Otherwise, it takes time to adapt a NumPy array to a list. In addition, rgba_list is finally converted to a NumPy array (https://github.com/wanweiwei07/wrs/blob/8c91537c17a23842d0acfbf44f1b6b03a9614e3f/basis/data_adapter.py#L322-L324). The data type check here seems to be improper.

I have updated this code. Could you examine if it works? Both 3-column and 4-column color should work now.


Add support og localization based on i18n-react

Issue #, if available:
Description of changes:
I added support for localization through i18n-react, I wrap every string in the most of the pages with localization support and added LTR/RTL support based on the language.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Hi @golomb1,
Thank you for your interest in Threat Composer and for submitting this pull request.
Due to current business priorities, we may not be able to review this large PR in detail before the end of the year. To facilitate the review process, we kindly request the following changes:

Please split the PR into two parts:
a) Localization support and English language support
b) Hebrew language support
Part b may take longer to review due to limited expertise in Hebrew within our team. Once part a is merged, you can customize Threat Composer to support Hebrew in a self-deployed instance.

We use projen to manage projects, package.json files, and dependencies. To add a new dependency:

Update the projectrc config file for the relevant project:

For threat-composer-app: https://github.com/awslabs/threat-composer/blob/main/projenrc/app.ts
For threat-composer: https://github.com/awslabs/threat-composer/blob/main/projenrc/ui-components.ts

Run npx projen to update the deps.json and package.json files

We use yarn as our package manager. Please:

Revert the addition of the package-lock.json file
Retain the yarn.lock file
Run yarn install to install node dependencies

Please remove any extra console.log statements that were added to the project.

These changes will help us review and integrate your contributions more efficiently. We appreciate your understanding and cooperation.


Prepare v0.23.0

Wait for #382 before merging.

Google Cloud PHP v0.23.0
Cloud Pub/Sub

:heavy_exclamation_mark: BREAKING CHANGE The return type of
Google\Cloud\PubSub\Subscription::pull() has changed from
Generator<Google\Cloud\PubSub\Message> to Google\Cloud\PubSub\Message[].
(#375)

Cloud Vision

Cloud Vision in Google Cloud PHP is now considered beta! That means that while
we're not quite ready to call it done, we're getting a lot closer. You should
expect more stability and fewer breaking changes between now and our 1.0
release. (#387)

Various and Sundry

Fixed a bug where application identifying headers were not sent when using an
API key rather than a service account over the REST transport. (#378)

 Create new release with Vision moved to Beta.


SpacyNLP component: migrate to Spacy 2 way to disable the dependency parser

Spacy 2 introduced a new way to disable the dependency parser.
Instead of:
nlp = spacy.load(spacy_model_name, parser=False)

the following syntax should be used:
nlp = spacy.load(spacy_model_name, disable=['parser'])

Reference: The section "Important note: disabling pipeline components" of https://spacy.io/usage/processing-pipelines#disabling

why rasa wants to diable parser pipe from spacy? I am talking about the SpacyNLP wrapper to load the spacy model.

Hi, could solve this issue?


Deliverable/scrum master/sprint 07

Added the impediments squared backlog to the deliverables.

ups that was not created from the last main. Sorry for that.


[fix][workflow] Cancel duplicate docbot workflows

Master Issue: #15797
Motivation
Cancel duplicate docbot workflows.
Modifications
Add docbot ci to cancel workflow.
Verifying this change

[ ] Make sure that the change passes the CI checks.

(Please pick either of the following options)
This change is a trivial rework / code cleanup without any test coverage.
(or)
This change is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)

Added integration tests for end-to-end deployment with large payloads (10MB)
Extended integration test for recovery after broker failure

Does this pull request potentially affect one of the following parts:
If yes was chosen, please highlight the changes

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API: (yes / no)
The schema: (yes / no / don't know)
The default values of configurations: (yes / no)
The wire protocol: (yes / no)
The rest endpoints: (yes / no)
The admin cli options: (yes / no)
Anything that affects deployment: (yes / no / don't know)

Documentation
Check the box below or label this PR directly.
Need to update docs?

[ ] doc-required
(Your PR needs to update docs and you will update later)

[x] doc-not-needed
(Please explain why)

[ ] doc
(Your PR contains doc changes)

[ ] doc-complete
(Docs have been already added)

@urfreespace
Could you please review this PR from a technical perspective?
Thank you! 😊

FYI @SignorMercurio

@maxsxu it looks like after this commit there are pull requests blocked by this workflow. The workflow never finishes and it gets cancelled
Some examples:

https://github.com/apache/pulsar/pull/16405
https://github.com/apache/pulsar/pull/16415

@maxsxu it looks like after this commit there are pull requests blocked by this workflow. The workflow never finishes and it gets cancelled
Some examples:

Offloaders: fix metrics #16405
[improve][security] CVE-2022-33915 is false positive #16415

Thanks for reporting this.
Fixed by https://github.com/apache/pulsar/pull/16437


Could you change davinci to gpt35-turbo

I want to request support for the gpt35-turbo model because the "text-davinci-003" model cannot be created from July 6 on Azure OpenAI Service.
https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/legacy-models

@bellstar if you use Azure OpenAI Service you can use any model you want : https://{XXXXXXXX}.openai.azure.com/openai/deployments/{MODEL_NAME}/chat/completions?api-version={API_VERSION}

@mlarhrouch,
Thanks reply for me.
I mistook the code for OpenAI in the link below as code for AOAI. I have resolved it and will close it.
https://github.com/mlarhrouch/azure-pipeline-gpt-pr-review/blob/1db7cfa7a1d56f0a58aa4580caace063610b158a/GPTPullRequestReview/src/review.ts#L32


could not import C

root@9f31100ac3ac:/project# golds -gen -dir=/root/w .
/project/cbrotli/cgo.go:13:8: could not import C (no metadata for C)
exit for above errors

Can I skip a specified subpackage when generating doc for the project?

To investigate this problem, I need to confirm some things:

Is there some cgo code in your project?
Does CGO_ENABLED=0 golds -gen -dir=/root/w . also report the same error?
Have you installed the gcc toolchain? If not, does the problem still exist after installing gcc? (If your OS is Debian-based, it is best to install build-essential.)

If the solutions mentioned in the last two questions still don't help, I'm afraid I couldn't do any more help here, for the Golds project uses golang.org/x/tools/go/packages to parse code. I must wait the upstream to resolve this problem.

To investigate this problem, I need to confirm some things:

Is there some cgo code in your project?
Does CGO_ENABLED=0 golds -gen -dir=/root/w . also report the same error?
Have you installed the gcc toolchain? If not, does the problem still exist after installing gcc? (If your OS is Debian-based, it is best to install build-essential.)

If the solutions mentioned in the last two questions still don't help, I'm afraid I couldn't do any more help here, for the Golds project uses golang.org/x/tools/go/packages to parse code. I must wait the upstream to resolve this problem.

apt install build-essential libbrotli-dev (libbrotli-dev for cbrotli) works for me.

apt install build-essential libbrotli-dev (libbrotli-dev for cbrotli) works for me.


prototype: DID list with data from veramo DIDManager (memory store)

https://61e9a9a63a63fb003a76e6e7-njhonduftu.chromatic.com/?path=/story/veramo-veramodidbrowser--default


GridLayer and pane docs + misc layer docs

This covers some more remaining layer and GridLayer items in https://github.com/Leaflet/Leaflet/issues/3098 including

Docs for GridLayer
Panes and pane management
Reorganize shared methods for events, popups and layers

This doesn't remove a lot of documentation. For example TileLayer still retains all its options and method references even though half of them are in grid layer. I'm fine with removing them but that can be worked out in review.
@mourner for review

Rebased/merged with some cleanup (removed duplicate methods in various layers that now live in shared methods). Needs some more duplicate cleanup probably but good for now.


It's not possible to style the text on a button

It's not possible style text on the button e.g.
<x-bladewind::button size="tiny" color="red" class="font-bold text-black">Options</x-bladewind::button>

render a red button with white text, I would have expected a red button with bold black text

@rabol try !text-black and let me know if that works for you.

I'm sorry, it does not work
I think it's because the 'text' on a button is wrapped in a  tag

@rabol I have added the option to overwrite the button text css using button_text_css. In your case your code becomes
<x-bladewind::button size="tiny" color="red" button_text_css="font-bold text-black">Options</x-bladewind::button>
You will need to composer update to 1.4.4. Please let me know how that goes for you.

Works, thanks


new: Add tests and handle piping.

@rotu Will land this and we can test some more.
Added unit tests and they seem to pass correctly.

You may also want to do a test for handling of SIGPIPE. It seems like a rusty broken pipe could give you tetanus.

@rotu I use this which should avoid it: https://github.com/moonrepo/proto/blob/develop-0.26/crates/cli/src/main_shim.rs#L152

@rotu I use this which should avoid it: https://github.com/moonrepo/proto/blob/develop-0.26/crates/cli/src/main_shim.rs#L152

I saw that. It would be good to have a test that would fail if that line were removed :-)


[Bug]: Docker instances yield two deprecation warnings related to cgroup

Describe the bug
On startup, Docker instances of OpenSearch Dashboards will throw deprecation warnings about cpu.cgroup.path.override and cpuacct.cgroup.path.override, unless the user has overridden the default entrypoint scripts.
To reproduce
Launch a vanilla Docker image of OpenSearch Dashboards with the following:
docker pull opensearchproject/opensearch-dashboards:latest
docker run -it -p 5601:5601  --name opensearch-dashboard opensearchproject/opensearch-dashboards:latest

The dashboard will fail to connect to the cluster, but the deprecation warning gets thrown before this. Even when properly configured with docker-compose.yml and connected to a cluster, the dashboard will throw the deprecation warnings because the deprecated settings are set in the Docker entrypoint script (e.g. docker/release/config/opensearch-dashboards/opensearch-dashboards-docker-entrypoint-default.x.sh).
Expected behavior
No deprecation warning expected.
Screenshots
No response
Host / Environment
Latest Docker image located at https://hub.docker.com/r/opensearchproject/opensearch-dashboards
(build date 2024-08-15T20:09:22Z)
Additional context
No response
Relevant log output
opensearch-dashboards  | {"type":"log","@timestamp":"2024-09-06T02:17:39Z","tags":["warning","config","deprecation"],"pid":1,"message":"\"cpu.cgroup.path.override\" is deprecated and has been replaced by \"ops.cGroupOverrides.cpuPath\""}
opensearch-dashboards  | {"type":"log","@timestamp":"2024-09-06T02:17:39Z","tags":["warning","config","deprecation"],"pid":1,"message":"\"cpuacct.cgroup.path.override\" is deprecated and has been replaced by \"ops.cGroupOverrides.cpuAcctPath\""}

[Triage]
Need to update the opensearch-dashboards-docker-entrypoint https://github.com/opensearch-project/opensearch-build/blob/main/docker/release/config/opensearch-dashboards/opensearch-dashboards-docker-entrypoint-2.x.sh file to remove the deprecated flags with the supported ones. @ashwin-pc can you please add some more details here is it safe to completely remove the deprecated flags ?
Thanks
@peterzhuamazon

Adding @AMoo-Miki @kavilla.

@prudhvigodithi OSD uses ops.cGroupOverrides.cpuPath and ops.cGroupOverrides.cpuAcctPath. This seems to predate the forking of OSD and as such it should be safe to replace.

Got it thanks Miki, adding @peterzhuamazon @getsaurabh02.

Thanks @AMoo-Miki ,
I will go ahead and do a replacement and ready for 2.18.
Thanks.


Error interpreting standard preamble file Fift.fif: cannot locate file Fift.fif Check that correct include path is set by -I or by FIFTPATH environment variable, or disable standard preamble by -n.

PS D:\demo\TonDemo-next\wallet> toncli run fift/data.f
[ 1][t 0][2022-05-21 01:31:21.4298882][fift-main.cpp:180]       Error interpreting standard preamble file Fift.fif: cannot locate file Fift.fif
Check that correct include path is set by -I or by FIFTPATH environment variable, or disable standard preamble by -n.

Hi. To fix this problem on windows - copy all fift-lib content into project root.
Original issue: https://github.com/disintar/toncli/issues/14


update and simplify realtime monitoring page

Even though the real-time monitoring page contains some useful information, I also think it is confusing.  http://gatling.io/docs/2.2.2/realtime_monitoring/index.html
I currently have my own documentation which could be merged into the official documentation:
https://github.com/bbc/notes-on-perf-testing/blob/master/ch/gatling/real_time_graphs.md
I was thinking of offering two solutions: Gatling -> InfluxDB -> Grafana and keeping the lo-fi (but immensely useful awk script).
I'd be inclined to rip-out anything to do with Windows (from my experience those with Windows machine are developing Gatling simulations on GNU/Linux VMs). And do we really need the Graphite tool conf and the collectd stuff?
Didn't @ceeaspb originally write this (he may have some opinions)?

Yes, more simplicity is probably better.
Then, I wouldn't advertise InfluxDB as the ultimate and perfect time series database. It's actually suited for counts, but inadequate for distributions. FrontLine is a way stronger player on the latter (but specific to Gatling metrics atm).

My previous comment is about the language, not the overall content of your doc, which is great :)

I'll link to FrontLine at the bottom of the page. We can also add a paragraph outlining the drawbacks of the InfluxDB/Grafana offering.

Looks great to me!

How are your running Sphinx to create HTML documentation from rst files?

https://github.com/gatling/gatling/blob/50f09863bf152202398dc65daa653a48fef2e3d5/src/sphinx/realtime_monitoring/index.rst

https://github.com/gatling/gatling/pull/3063


Convert testing to Conda Env instead of Conda Build

This PR moves the testing environment from relying on Conda-build
and instead creates conda envs which should speed up and simplify tests.
The trade off is the maintenance of multiple files for dependencies
going forward, but I think the benefits outweigh the costs.
Borrows from the QCFractal script from @dgasmith to spin up the
environments. Will need a careful review to make sure it meets our needs.
Fixes #50
Supersedes and Closes #47

cc @jchodera @amjames

One travis branch can extract the environment from the union of the build and run sections of the meta.yaml file into an environment.yml

There is a fair amount of ambiguity and possible duplicity in trying to do this. The build, host, and run sections of the meta.yaml file can often contain items which should appear in one section and not the other (e.g. you don't need all the dependencies to simply install a package, but you do need them to run it), so it runs the risk of creating an env which is not reflective of the shipped product.
Secondly, the Conda Environment file is more flexible than the meta.yaml file since it allow specifying not only channel provenance, but also non-conda sources like Pypi and pip fetching of git repositories. So you could in theory do meta.yaml -> conda-env, but the base conda env file you would be porting to would be a partially completed file, and I don't know if we want cookiecutter users to have to figure out all the nuances of conda env files, which are sadly even less documented than meta.yaml files to understand why we only gave them a partial file which we mangle together.

create an environment, and run the tests; the other can simply run conda build on the recipe

I'd be okay with this, it would just add more tests and I'm not sure we want to overwhelm new user projects with them. I could add a new option to the cookiecutter if you want CI tests of building on top of just testing.

we avoid the slowdown of packaging and only then testing

Part of the logic is we are trying to avoid having users worry about deployment out of the gate with this package, and will likely start referring them to things like conda-forge so the user never has to interact with conda-build themselves at all since picking it up is a huge learning curve and gets in the way sometimes. Effectively let someone else handle the deployment (e.g. conda-forge, omnia), you just make sure it works first. This should also be a bit faster since it only has to resolve dependencies once, does not prep a full deployment tarball, then re-resolve and re-install dependencies to install the tarball like conda-build does.
All items for debate though

Excellent points! This seems to boil down to the question "what do we want to nudge users toward doing?" Do we want them to just test their code? Or do we want to encourage them to share their code via conda packaging, and make it easy to do so?
I'd very much argue that we want to encourage users to share their code, and that conda packages (probably via conda-forge) is the best way to do that right now for the CMS community. To me, any marginal improvement in testing speed is not worth the cost of suddenly making it harder to translate this into a conda package and making it very easy to modify the environment.yml in a manner that will make it harder to package.
What are you trying to accomplish by this change? Is it just an improvement in travis test times? Is it worth the problems created for packaging?

This cookie cutter aims at getting users setup with best practices and moving in a new repository quickly with low cognitive overhead. conda-build is a tricky system (please try explaining host, run, build) that runs counterintuitive to the above. In general, we have a hard time even getting folks to use CI in the first place and throwing up additional barriers is not something that we should do.
I do entirely agree that we want folks on conda-forge, which is why we will have a section that when you are ready to release your code, you go to that community to get everything up and running. If you have contributed a package to c-f you know that community is welcoming and open to help, but does have a specific way of writing the meta.yamls that change frequently (and likely will not match up to your local meta.yaml).
Translating your environment.yaml to a conda-build is at first pass a copy/paste with the c-f community to help you finish the process. I would state that a local meta.yaml will have about the same required changes as a copy/paste from environment.yaml.
The c-f community specializes in releases, we should continue to move folks in that direction.

Question on the environment creation script for everyone while we work through some of the details.
I use a YAML parser to read and interject a python version before creating the environment. However, there is no native YAML parser for Python. We can have the CI setup install PyYAML or ruamel_yaml (what conda relies on), but that will only be in the base env. The question is should we expect people to have some YAML parser? if so, which one should we expect?
The alternate is I do some regex parsing and replacement (better than writing a custom yaml-like parser)

Ruamel comes with Conda so no issue there. Is there a reason the produced env needs YAML?

Is there a reason the produced env needs YAML?

The one case where its an issue is that conda env can be invoked from any environment but the act of executing python conda_create_env ... from a non-base environment would intuitively work at first glance, but will fail if it can't find a YAML parser unless one exists in that environment.

We could try to use ruamel, poyo, and pyyaml then just throw?

fwiw, the psi4-dev metapackage with everything from compilers to numpy to testing deps manages to have none of those three yaml pkgs pulled in. Not a barrier, but it does show that you can have a lot installed without yaml.

I wonder if we could turn this into a bash command that uses the conda python which is guaranteed to have ruamel yaml.


How to get the iso2 code in the name instead of the name field?

In the example from the plugin docs I have found  additional attribute data-countrycodeinput="1"
There is also a part of the code which makes a hidden input if it doesn't exist  but it doesn't work for me.

// Add the hidden input for the country code
			this.countryCodeInput = $("#"+this.countryInput.attr("id")+"_code");
			if (!this.countryCodeInput) {
				this.countryCodeInput = $('<input type="hidden" id="'+this.countryInput.attr("id")+'_code" name="'+this.countryInput.attr("name")+'_code" value="" />');
				this.countryCodeInput.insertAfter(this.countryInput);
			}

Interesting. In general, our instructions are that if you want to have the ISO code, you should add the field yourself. I am surprised to see that the code appears to attempt to add it for you.
I'll look into it. In the meantime, just add the field yourself if you want the code.

@mrmarkfrench I was trying to set the country dynamically with using the country name from the backend but it was not working as expected. I had to change the country name to iso2 before being able to achieve that. I added $.fn[pluginName].getIso2FromCountry = function(country) {   return countries.find(c => c.name === country)?.iso2 || null; } to get the iso2 before passing it as the defaultCountry. Please let me know your thought if there is already a solution otherwise I make a PR


Lost files in the cache

I managed to get a file lost in our cache here: https://github.com/msys2/msys2-devtools/runs/942546549?check_suite_focus=true
pacman -Qkq checks if all files that should be there are there and one was missing
I'm not sure how and why, and how likely. Let's watch out for similar cases..

It might be useful (definitely while working on the this action, but apparently maybe for others) to have an option to not use (or maybe just not restore, to replace) the cache

I'd prefer if it just worked :)

It happened again now:
pacman -Qkq
mingw-w64-x86_64-headers-git /mingw64/x86_64-w64-mingw32/include/tapi.h

The cache was created in https://github.com/msys2/msys2-devtools/runs/972534368?check_suite_focus=true and restored in https://github.com/msys2/msys2-devtools/runs/972714924?check_suite_focus=true. After the cache save the file was still there so I'd guess cache store is buggy.

happened again. I think we have to disable the caching sadly.


Support pseudo range literal

Reference sources

C# Range Operator
Ruby Range

For example, if you were implementing a function to retrieve a specific range of an array, the signature would probably look something like this.
SliceArray(arr, begin, end)

In this case, can you immediately tell if end is part of that range?
According to the The Art of Readable Code, end itself is not part of the range.
However, it will vary from implementor to implementor. In other words, it is difficult for a function user to guess from the argument names.
This pseudo range literal is a mechanism that allows the user to decide its range himself. This can be expressed in BNF notation as follows.
<begin-or-end> ::= ["^"] (<string> | <number>)
<range-operator> ::= (".." | "...")
<range> ::= <begin-or-end> <range-operator> [ (<begin-or-end> |  <begin-or-end> "step" <number>) ]

In practice, it is used as follows.
SliceArray([ 1, 2, 3 ], "1..3")  ; => [ 1, 2 ]
SliceArray([ 1, 2, 3 ], "1..^1") ; => [ 1, 2 ]
SliceArray([ 1, 2, 3 ], "1..")   ; => [ 1, 2 ]

SliceArray([ 1, 2, 3 ], "1...3")  ; => [ 1, 2, 3 ]
SliceArray([ 1, 2, 3 ], "1...^1") ; => [ 1, 2, 3 ]
SliceArray([ 1, 2, 3 ], "1...")   ; => [ 1, 2, 3 ]

SliceArray([ 1, 2, 3, 4, 5, 6 ], "1... step 2")   ; => [ 2, 4, 6 ]

Implemented with 0caa91fccaf4057fd6e8e8086ba0a0565eb8eb97.


Scala API docs examples and discussion content & render inaccuracies

Description
The Scala API docs are generated using sources that have examples that are pythonic or otherwise not Scala example code. Also scaladocs isn't able to render the rst code that is extracted from the other sources.
Rather than include this info that doesn't render properly and is out of context, it would be better to link to the source material where it renders properly and makes sense in its original context.
Example:
BilinearSampler would still have the inputs and returns info, but the detail would point to the BilinearSampler Python API source docs.
@andrewfayres @zachgk @lanking520

Example current display on the Scala API:

Original discussion begins with this PR and associated issue: https://github.com/apache/incubator-mxnet/pull/13210

@mxnet-label-bot add [Doc, Scala]
Thank you for submitting the issue! I'm labeling it so the MXNet community members can help resolve it.


Fix cockroachdb not abiding by resources limits

What this PR does / why we need it:
The containers in the stateful set were ignoring the resource limits
specified in values.yaml.
I verified this is working by running kubectl describe pod POD | grep cpu on one of the created pods on the fix branch. It returned cpu: "100m". On the master branch, the same command returned nothing.
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #5628
Special notes for your reviewer:

/assign @a-robinson
Thanks :)

/assign

This is fixed and ready for another look whenever you get the chance @unguiculus :)

Many thanks, @mattjmcnaughton! I'm sorry for not noticing this for so long.
/lgtm
/approve