Can't import cloudflare_split_tunnel

Confirmation

[X] My issue isn't already found on the issue tracker.
[X] I have replicated my issue using the latest version of the provider and it is still present.

Terraform and Cloudflare provider version
$ terraform -v
Terraform v1.0.7
on darwin_amd64
+ provider registry.terraform.io/cloudflare/cloudflare v3.4.0

Affected resource(s)
cloudflare_split_tunnel
Terraform configuration files
provider "cloudflare" {}

variable "account_id" {
  type = string
}

resource "cloudflare_split_tunnel" "exclude_tunnel" {
  account_id = var.account_id
  mode       = "exclude"

  tunnels {
    address = "<IP_ADDRESS>/16"
  }
}

Debug output
$ TF_LOG=debug terraform import 'cloudflare_split_tunnel.exclude_tunnel' '<account_id>'

2021-11-17T14:49:59.480-0600 [DEBUG] Starting graph walk: walkImport
2021-11-17T14:49:59.483-0600 [DEBUG] created provider logger: level=debug
2021-11-17T14:49:59.483-0600 [INFO]  provider: configuring client automatic mTLS
2021-11-17T14:49:59.492-0600 [DEBUG] provider: starting plugin: path=.terraform/providers/registry.terraform.io/cloudflare/cloudflare/3.4.0/darwin_amd64/terraform-provider-cloudflare_v3.4.0 args=[.terraform/providers/registry.terraform.io/cloudflare/cloudflare/3.4.0/darwin_amd64/terraform-provider-cloudflare_v3.4.0]
2021-11-17T14:49:59.496-0600 [DEBUG] provider: plugin started: path=.terraform/providers/registry.terraform.io/cloudflare/cloudflare/3.4.0/darwin_amd64/terraform-provider-cloudflare_v3.4.0 pid=40097
2021-11-17T14:49:59.496-0600 [DEBUG] provider: waiting for RPC address: path=.terraform/providers/registry.terraform.io/cloudflare/cloudflare/3.4.0/darwin_amd64/terraform-provider-cloudflare_v3.4.0
2021-11-17T14:49:59.513-0600 [INFO]  provider.terraform-provider-cloudflare_v3.4.0: configuring server automatic mTLS: timestamp=2021-11-17T14:49:59.512-0600
2021-11-17T14:49:59.523-0600 [DEBUG] provider.terraform-provider-cloudflare_v3.4.0: plugin address: address=/var/folders/3b/p145b2yn20zcbshc1qwr4rh00000gq/T/plugin1850053234 network=unix timestamp=2021-11-17T14:49:59.523-0600
2021-11-17T14:49:59.524-0600 [DEBUG] provider: using plugin: version=5
2021-11-17T14:49:59.550-0600 [WARN]  ValidateProviderConfig from "provider[\"registry.terraform.io/cloudflare/cloudflare\"]" changed the config value, but that value is unused
2021-11-17T14:49:59.550-0600 [INFO]  provider.terraform-provider-cloudflare_v3.4.0: 2021/11/17 14:49:59 [INFO] Cloudflare Client configured for user:: timestamp=2021-11-17T14:49:59.550-0600
2021-11-17T14:49:59.550-0600 [INFO]  provider.terraform-provider-cloudflare_v3.4.0: 2021/11/17 14:49:59 [INFO] Using specified account id <account_id> in Cloudflare provider: timestamp=2021-11-17T14:49:59.550-0600
2021-11-17T14:49:59.550-0600 [INFO]  provider.terraform-provider-cloudflare_v3.4.0: 2021/11/17 14:49:59 [INFO] Cloudflare Client configured for user:: timestamp=2021-11-17T14:49:59.550-0600
cloudflare_split_tunnel.exclude_tunnel: Importing from ID "<account_id>"...
cloudflare_split_tunnel.exclude_tunnel: Import prepared!
  Prepared cloudflare_split_tunnel for import
cloudflare_split_tunnel.exclude_tunnel: Refreshing state... [id=<account_id>]
2021-11-17T14:49:59.560-0600 [INFO]  provider.terraform-provider-cloudflare_v3.4.0: 2021/11/17 14:49:59 [DEBUG] Cloudflare API Request Details:
---[ REQUEST ]---------------------------------------
GET /client/v4/accounts//devices/policy/ HTTP/1.1
Host: api.cloudflare.com
User-Agent: terraform/1.0.7 terraform-plugin-sdk/2.8.0 terraform-provider-cloudflare/3.4.0
Authorization: Bearer REDACTED
Content-Type: application/json
Accept-Encoding: gzip

-----------------------------------------------------: timestamp=2021-11-17T14:49:59.560-0600
╷
│ Error: error finding "" Split Tunnels: HTTP status 400: Could not route to /accounts/devices/policy, perhaps your object identifier is invalid? (7003), No route for that URI (7000)
│
│
╵

2021-11-17T14:49:59.954-0600 [INFO]  provider.terraform-provider-cloudflare_v3.4.0: 2021/11/17 14:49:59 [DEBUG] Cloudflare API Response Details:
---[ RESPONSE ]--------------------------------------
HTTP/2.0 400 Bad Request
Connection: close
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Cf-Cache-Status: DYNAMIC
Cf-Ray: 6afbd42d7bd67fa4-ORD
Content-Type: application/json
Date: Wed, 17 Nov 2021 20:50:00 GMT
Expect-Ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
Expires: Sun, 25 Jan 1981 05:00:00 GMT
Pragma: no-cache
Server: cloudflare
Set-Cookie: __cflb=REDACTED; SameSite=Lax; path=/; expires=Wed, 17-Nov-21 23:20:01 GMT; HttpOnly
Set-Cookie: __cfruid=REDACTED; path=/; domain=.api.cloudflare.com; HttpOnly; Secure; SameSite=None
Strict-Transport-Security: max-age=31536000
Vary: Accept-Encoding
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN

{
 "success": false,
 "errors": [
  {
   "code": 7003,
   "message": "Could not route to \/accounts\/devices\/policy, perhaps your object identifier is invalid?"
  },
  {
   "code": 7000,
   "message": "No route for that URI"
  }
 ],
 "messages": [],
 "result": null
}
-----------------------------------------------------: timestamp=2021-11-17T14:49:59.951-0600
2021-11-17T14:49:59.955-0600 [DEBUG] provider.stdio: received EOF, stopping recv loop: err="rpc error: code = Unavailable desc = transport is closing"
2021-11-17T14:49:59.958-0600 [DEBUG] provider: plugin process exited: path=.terraform/providers/registry.terraform.io/cloudflare/cloudflare/3.4.0/darwin_amd64/terraform-provider-cloudflare_v3.4.0 pid=40097
2021-11-17T14:49:59.958-0600 [DEBUG] provider: plugin exited

Panic output
No response
Expected output
I expected the split tunnels to be imported into the terraform state. The documentation https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/resources/split_tunnel#import indicates that I have executed the import command correctly
Actual output
❯ terraform import 'module.split_tunnels.cloudflare_split_tunnel.exclude_tunnel' 'dfc1eccee639e36769fdb492761699fb'
module.split_tunnels.cloudflare_split_tunnel.exclude_tunnel: Importing from ID "dfc1eccee639e36769fdb492761699fb"...
module.split_tunnels.cloudflare_split_tunnel.exclude_tunnel: Import prepared!
  Prepared cloudflare_split_tunnel for import
module.split_tunnels.cloudflare_split_tunnel.exclude_tunnel: Refreshing state... [id=dfc1eccee639e36769fdb492761699fb]
╷
│ Error: error finding "" Split Tunnels: HTTP status 400: Could not route to /accounts/devices/policy, perhaps your object identifier is invalid? (7003), No route for that URI (7000)
│
│

Steps to reproduce
Attempt to import a cloudflare_split_tunnel resource into your project by running a terraform import command:
terraform import cloudflare_split_tunnel.example <account_id>

Additional factoids
No response
References
No response

it looks like there could be two issues here. the first is that the account ID isn’t being populated in the API call which is a configuration issue on your side where account_id is an empty string.
the second, is that the custom Read method isn’t being called which means after your config issue is addressed, it wouldn’t be fully syncing the state.
I can address the latter with a PR but you will need to also debug why the account ID is empty otherwise it won’t work.

@jacobbednarz

it looks like there could be two issues here. the first is that the account ID isn’t being populated in the API call which is a configuration issue on your side where account_id is an empty string.

The account ID is sourced correctly in other parts of the log. Additionally, it's provided on the command line as the id to import terraform import 'cloudflare_split_tunnel.exclude_tunnel' '<account_id>'. I think there may be an issue with the account ID being populated into the API call, not an issue with configuration. you can see in the logs in the original post that terraform successfully finds the account id that I pass
❯ terraform import 'module.split_tunnels.cloudflare_split_tunnel.exclude_tunnel' '<account ID>'
module.split_tunnels.cloudflare_split_tunnel.exclude_tunnel: Importing from ID "<account ID>"...


Fix drain duration bug (again)

Minor: trigger proxy restart by default without notifications

Jenkins job manager/presubmit passed

Jenkins job manager/e2e-smoketest passed

Jenkins job manager/presubmit passed

Jenkins job manager/e2e-smoketest passed


Cross platform prebuild

My Electron project's target platform is Windows x64, but it's built on a Linux system. I already have a native module which uses "prebuild". To install dependecies I run:
CI=1 npm_config_platform=win32 npm_config_arch=x64 npm_config_target=9.1.1 npm_config_runtime=electron npm ci

This has been working correctly.
Now I need to add another native module: ffi-napi. They use prebuildify according to this pull request. It seems, it doesn't work the same way here.
I get this error message:

<EMAIL_ADDRESS>install /.../myapp/node_modules/ffi-napi
node-gyp-build
gyp WARN install got an error, rolling back install
gyp ERR! configure error
gyp ERR! stack Error: 404 response downloading https://nodejs.org/dist/v9.1.1/node-v9.1.1-headers.tar.gz

I see two major problems here:

It tries to download headers for NodeJS v9.1.1, but "9.1.1" is the version of Electron. I guess there is no NodeJS 9.1.1 and that's probably the cause for the 404 status code.
Downloading headers means it's trying to build instead of using the prebuild - but I'm not sure about that.

It's interesting that ff-napi also has another native dependencies ref-napi and that it seems there are no problems with that:

<EMAIL_ADDRESS>install /.../myapp/node_modules/ref-napi
node-gyp-build
<EMAIL_ADDRESS>install /.../myapp/node_modules/ffi-napi
gyp WARN install got an error, rolling back install
(see above)

It seems the problem is that
prebuild-install has two arguments: runtime and target
VS
node-gyp-build has one argument target for both values with format<EMAIL_ADDRESS>So either the first native module installs successfully or the second :-(

I think this is a problem with the FFI module.
I just did some testing myself, on my mac, and when I install ffi-napi it also starts to compile.
It does that because the test to load the prebuild fails.
You can repro this (sometimes) doing this
cd ffi-napi
node -e "require('./prebuilds/darwin-x64/node.napi.uv1.node')"
Assertion failed: (0), function uv_close, file ../deps/uv/src/unix/core.c, line 174.
Abort trap: 6

Might wanna open an issue there about that. My guess is that the dispose logic has some bug potentially, https://github.com/node-ffi-napi/node-ffi-napi/blob/master/src/ffi.cc#L17

Yes I can see that it also starts to compile, even if I remove the first (prebuild) module. A question about that: How is ffi-napi responsible for that? I thought this decision is made by node-gyp-build? I understand your case, because you directly require() it, but in my case I just run npm install and I cannot see a hook or something. (I'm just curious how that works)
But even if it wouldn't compile there is still a compatibility issue between prebuild-install and node-gyp-build as they treat the target parameter differently (see my comment above).

perhaps this could be helpful
package.json:
{
  ...
  "scripts": {
    ...
    "postinstall": "electron-builder install-app-deps && rm -rf ./node_modules/ffi-napi/build",
    ...
  }
  ...
}


Update richeditboxtextchangingeventargs_iscontentchanging.md

Adding useful information about when to use IsContextChanging property

@marb2000,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


Added Swift Example

@Krejdom

Thank you!

@zane-carter Hi, I'm having some trouble running this Swift example. I'm testing on macOS 12.3 and Xcode 13.3.

I created a new command line app in Xcode
Copied this code into main.swift
Appended a function call performRequest() at the end of main.swift
Added my own photos in Build Phases > Copy Bundle Resources and replaced photos photo1, photo2, photo3 in the code
And lastly used my own API key.

The project built successfully but seemed to preemptively exited and printed nothing in the console. I'm new to the async/await URLSession stuff and there are a several try! disabling error propagations. I couldn't reach the breakpoints inside the Task block and in async functions as they were supposedly running on another thread than the main thread.
Could you please provide some explanations on how to build and run this example? Much appreciated.


POSIX ucontext unreliable

Minor changes in OS structures or stack location makes ucontext randomly crash. Parameters are not correctly passed over etc. Could not find the problem. I tried enabling -mstackrealign just to confirm the problem wasn't just bad/unlucky stack alignment.
ucontext integration test is temporarily disabled because of this.
@MatchPointDarko could you take a look?

Fixed with b402c917


Mapping the current directory

Hello! Apologies if this is documented somewhere, but I tried following the examples and did have much like trying to map the following for python -> python test files.
If we have a file with the following path:
my/code/files/foo.py
Then it should map to:
tests/my/code/files/test_foo.py
This is a fairly standard pattern in python projects.
However I am struggling getting other.nvim to match the "current" project directory generically.
I've tried the following:
require("other-nvim").setup({
    -- [...]
    mappings = {
        -- custom mapping
        {
            pattern = "/(.*)/(.*).py$",
            target = "/test/%1/test_%2.py",
            context = "tests"
        }
    },
    -- [...]
})

But I quickly realised this would map the example I gave you to /tests/absolute/path/to/project/my/code/files/test_foo.py
Is there a way to get other.nvim to specify the "current directory" as part of the pattern and target configuration?

Looking at your example again I think when you are removing the leading slashes in the pattern and target the issue could be solved.
Also: Try showMissingFiles in the config to false. This will keep the plugin from trying to create non-existing files.
Cheers!

@MichaelAquilina Here is my way to mapping to tests directory.
        {
          context = "[TESTS]",
          pattern = '(.*)/(.*).tsx$',
          target = '%1/__tests__/%2.test.tsx',
        },


OAuth_token is not equal to temporary_credentials->getIdentifier(), causing MITM warning

https://github.com/thephpleague/oauth1-client/blob/master/src/Client/Server/Server.php#L150
I extended Server for a different provider (SocialFlow.php file below), and after the auth redirect, I am given an OAuth_token, which I store in $_SESSION.
I also serialize and store the temporary_credentials the same way.
Then, I initialize it again, with the signature, for an endpoint run:
$server = new SocialFlow($args->client_credentials, unserialize($args->signature));
        try {
            $token = $server->getTokenCredentials(unserialize($args->temporary_credentials), $args->token_credentials['oauth_token'], $args->token_credentials['oauth_verifier']);
            return $server->getAccountsList($token);
        }...

The crux of the issue: the temporary_credentials that are given to me from SocialFlow don't have the same ID as the OAuth_token given to me after the auth redirect.
And I still get the warning Temporary identifier passed back by server does not match that of stored temporary credentials. .
What am I doing wrong?

SocialFlow extends Server.php

namespace ...;

use League\OAuth1\Client\Credentials\TokenCredentials;
use League\OAuth1\Client\Server\Server;

class SocialFlow extends Server
{
    /**
     * {@inheritDoc}
     */
    public function urlTemporaryCredentials()
    {
        return 'https://www.socialflow.com/oauth/request_token';
    }

    /**
     * {@inheritDoc}
     */
    public function urlAuthorization()
    {
        return 'https://www.socialflow.com/oauth/authorize';
    }

    /**
     * {@inheritDoc}
     */
    public function urlTokenCredentials()
    {
        return 'https://www.socialflow.com/oauth/access_token';
    }

    /**
     * {@inheritDoc}
     */
    public function urlUserDetails()
    {
        return 'https://api.socialflow.com/account/list';
    }

    /**
     * {@inheritDoc}
     */
    public function userDetails($data, TokenCredentials $tokenCredentials)
    {
        return $data; //todo
    }

    /**
     * {@inheritDoc}
     */
    public function userUid($data, TokenCredentials $tokenCredentials)
    {
        return $data['id']; //todo
    }

    /**
     * {@inheritDoc}
     */
    public function userEmail($data, TokenCredentials $tokenCredentials)
    {
        return; //todo
    }

    /**
     * {@inheritDoc}
     */
    public function userScreenName($data, TokenCredentials $tokenCredentials)
    {
        return $data['name']; //todo
    }

    /**
     * Generic GET call using authorized credentials and specified path
     *
     * @param TokenCredentials $tokenCredentials
     * @param String $url
     *
     * @return array HTTP client response
     */
    protected function genericGetCall(TokenCredentials $tokenCredentials, $url)
    {
        $client = $this->createHttpClient();

        $headers = $this->getHeaders($tokenCredentials, 'GET', $url);
        print_r($headers);
        try {
            $response = $client->get($url, [
                'headers' => $headers,
            ]);
        } catch (BadResponseException $e) {
            $response = $e->getResponse();
            $body = $response->getBody();
            $statusCode = $response->getStatusCode();

            throw new \Exception(
                "Received error [$body] with status code [$statusCode] when retrieving token credentials."
            );
        }
        switch ($this->responseType) {
            case 'json':
                return json_decode((string) $response->getBody(), true);
                break;

            case 'xml':
                return simplexml_load_string((string) $response->getBody());
                break;

            case 'string':
                return [$response->getBody()];
                break;

            default:
                throw new \InvalidArgumentException("Invalid response type [{$this->responseType}].");
        }
    }

    public function getAccountsList(TokenCredentials $tokenCredentials)
    {
        return $this->genericGetCall($tokenCredentials, 'https://api.socialflow.com/account/list');
    }
}

Having the same issue, would appreciate some help!

We're working on a new version right now - were there any updates to this by chance? I might try and reproduce it.

I am having a similar issue.
TypeError: League\OAuth1\Client\Server\Server::getTokenCredentials(): Argument #1 ($temporaryCredentials) must be of type League\OAuth1\Client\Credentials\TemporaryCredentials, bool given, defined in /league/oauth1-client/src/Server/Server.php:163
Stack trace:
League\OAuth1\Client\Server\Server->getTokenCredentials(false, 'La9eoAAAAAABGE6...', 'Ss4juqjoP8q9MHd...')

I'm not a professional developer. Does this mean the tokens aren't matching?
This only happens in iOS/Safari. Login works fine in Chrome.

@zerosonesfun your stack trace shows that you're passing false as the first argument to getTokenCredentials:
League\OAuth1\Client\Server\Server->getTokenCredentials(false, 'La9eoAAAAAABGE6...', 'Ss4juqjoP8q9MHd...')
                                                         ^^^

You'll need a developer to debug this further by stepping through your application's code.


Problems with nested params

It seems to have problems with params like this:
/**
* @param {object} thing
* @param {object[]} thing.stuff
* @param {string} thing.stuff[].name
* @param {number} thing.stuff[].index
*/

It seems to interpret everything from thing.stuff as thing.stuff and doesn't dive lower than that.

I would start by checking if Doctrine even supports this syntax or not.


Hide misspelled BlobErrorCode

API changes have been detected in Azure.Storage.Blobs. You can review API changes here
API changes
+         [EditorBrowsable(EditorBrowsableState.Never)]


Symbols only loaded after second attempt on windows

When I run this code on windows:
#include "backward.hpp"
int main (int argc, char *argv[])
{
    using namespace backward;
    // TraceResolver thisIsAWorkaround;
    StackTrace st; st.load_here(32);
    Printer p; p.print(st);
    return 0;
}

some modules are not loaded:
Stack trace (most recent call last):
The specified module could not be found.
#4    Object "", at CCCCCCCCCCCCCCCC, in  ??
The specified module could not be found.
#3    Object "", at CCCCCCCCCCCCCCCC, in  ??
The specified module could not be found.
#2    Object "", at 00000059C1BBFAC0, in  ??
The specified module could not be found.
#1    Object "", at<PHONE_NUMBER>000000, in  ??
#0    Source "D:\dev\projects\backtracetest\backward.hpp", line 1130, in backward::StackTraceImpl<backward::system_tag::windows_tag>::load_here
       1127:       RtlCaptureContext(ctx_);
       1128:     }
       1129:
      >1130:     if (!thd_) {
       1131:       thd_ = GetCurrentThread();
       1132:     }

But if I create an unused instance of TraceResolver before creating Printer:
#include "backward.hpp"
int main (int argc, char *argv[])
{
    using namespace backward;
    TraceResolver thisIsAWorkaround;
    StackTrace st; st.load_here(32);
    Printer p; p.print(st);
    return 0;
}

everything works as expected:
Stack trace (most recent call last):
#6    Object "", at 00007FF86DA27034, in BaseThreadInitThunk
#5    Source "d:\agent\_work\4\s\src\vctools\crt\vcstartup\src\startup\exe_main.cpp", line 17, in mainCRTStartup
#4    Source "d:\agent\_work\4\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl", line 331, in __scrt_common_main
#3    Source "d:\agent\_work\4\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl", line 288, in __scrt_common_main_seh
#2    Source "d:\agent\_work\4\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl", line 79, in invoke_main
#1    Source "D:\dev\projects\backtracetest\main.cpp", line 222, in main
        219:     using namespace backward;
        220:     TraceResolver thisIsAWorkaround;
        221:     StackTrace st; st.load_here(32);
      > 222:     Printer p; p.print(st);
        223:     return 0;
#0    Source "D:\dev\projects\backtracetest\backward.hpp", line 1130, in backward::StackTraceImpl<backward::system_tag::windows_tag>::load_here
       1127:       RtlCaptureContext(ctx_);
       1128:     }
       1129:
      >1130:     if (!thd_) {
       1131:       thd_ = GetCurrentThread();
       1132:     }

I'm using Visual Studio 2019 community edition, 19.25.28614.0, and backward-cpp 1.5 from Conan.

Visual Studio 2022, msvc 19.30.30705, backward-cpp 1.6 ,too.
And for first example,it will print "Moudle Not Found".(Seem from WIN32 API)

I am in CLion, using the Visual Studio 2022 toolchain [because the mingw toolchain broke my test executables with backward-cpp integrated/linke]. I was also seeing messages stating "The specified module could not be found."
Thank you for the workaround of adding just before the stack trace object:
TraceResolver thisIsAWorkaround;

I'm wondering if there is any clue as to why this is necessary. It wasn't mentioned in the readme doc. Will there be a fix?

I see the same both with Visual Studio 2019 and Visual Studio 2022.


[WIP] REFACTOR: continutation of adding test, enhancement, and documentation

I need this PR to make the training loop which could use the worker.
I let some TODO which we can come in while to refine some of the part.


Fetch control plane IP at runtime

What this PR does / why we need it:
Set the CONTROL_PLANE_ENDPOINT_IP programmatically at runtime during E2E tests based on docker network settings.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #206

small nit, rest is LGTM

small nit, rest is LGTM

Hey, @pshail please Iet me know the edits required.

@anusha94 just suggested the other way round  🙃  ... sorry for this @NilanjanDaw i just saw the resolved comments
lets go ahead with this - its anyway a nit 😉

I don't have strong opinion about this. I feel a little concern about this hard code way, it like a potential bug may occurs one day in the future. It will be better if  we can do this more smart. What I can think of is as followed, just for refer:

Fetch subNet by some method, for example, "docker network inspect kind | jq -r 'map(.IPAM.Config[].Subnet) []'"
Calculate the minIP and MaxIP.
Fetch all occupied ip list by  some method, for example, "docker network inspect kind | jq -r 'map(.Containers[].IPv4Address) []".
Loop all IP between  minIP and MaxIP, and get a available one.

Anyway, if you are all fine by current fix, I am also ok with it.

I feel a little concern about this hard code way, it looks like a potential bug may occurs one day in the future.

I think that’s a very valid concern. We did think about it - but we know we won’t have that many containers now, so this felt a little complex to achieve something so small. Before this PR - we were hardcoding the full IP, see this removed line from Makefile, so compared to that, this PR added some smartness in fetching the subnet and hardcoding only the last octet.
We can revisit this in future if the 151 hardcoding is turning out to be problematic.


Fix Wayland warnings with GLFW 3.4+

Since native Wayland is used with GLFW 3.4+, GLEW has some issues with EGL. GLEW 2.3.0+ will provide glewContextInit, which should fix this.
For GLFW 3.4+, GLEW 2.3+:

Detect Wayland and use glewContextInit instead

For GLEW 3.4+, GLEW 2.3+:

Detect Wayland and use glewInit

Ignore its return code and give a general warning about ignoring errors

For GLEW pre-3.4:

Use glewInit, nothing special

Look into https://github.com/nigels-com/glew/blob/b323ebf9adeae6a3f26f91277d4f62df509037fc/auto/src/glew_init_tail.c#L18 to get GLEW version


Bug 2280342: add resources to transformer config

few of the resources were not present under transformer
configurations and because of this, these resources did have
the label app: ramen-hub or app: ramen-dr-cluster. Adding this makes easier to
filter out ramen specific resources and avoids conflict filtering

/bugzilla refresh


Add a way to Scan a QR Code that contain a Gziped JSON

Issue
#21 Add a way to Scan a QR Code that contain a Gziped JSON
Changes

Add Scan a QR Code containing Gzipped JSON implementation
Add Gzipped JsonPath dependencies
Refactor and code clean up of library and app core classes
Update smartscanner-android api via https://github.com/idpass/smartscanner-android/pull/3

@jeremi requested changes are now resolved in latest commit. May I ask for re-review and approval so that I can be able to merge? Thank you!

@jeremi requested changes are now resolved in latest commit. May I ask for re-review and approval so that I can be able to merge? Thank you!


Kubernetes operator ?

Thanks for open-sourcing this project, this is awesome news, tempted to give it a shot.
Is there any plan to open-source a Kubernetes operator / utils to ease the deployment of Garnet, especially in cluster mode ?

We now have container packages here: https://github.com/microsoft/garnet/pkgs/container/garnet   Any future containers will be put in this place too but what we put here is TBD. As for putting out containers in Docker Hub or Microsoft Artifact Registry is also TBD.

More information is also available here: https://microsoft.github.io/garnet/docs/welcome/releases


icecave/parity dependency concern

In the master branch, #518 added a dependency on icecave/parity. That in turn has a dependency on icecave/repr. Per https://github.com/IcecaveStudios/parity/issues/15#issuecomment-469437681, Drupal core maintainers do not want to add icecave/* dependencies to Drupal core.
(The 5.2.x releases don't contain the icecave/* dependencies, but if Drupal needs to update to a release based that contains #518, it'd become a problem at that point.)
Would you be willing to use an alternative approach that does not depend on that library?
P.S.: this is related to https://github.com/justinrainbow/json-schema/issues/569, and thanks for your prompt response there!

@wimleers
Just so I understand, which part of his response was it that raised red flags? He said that most of his packages don't see active development, but he also seems open to fixes, so before I go off and find a replacement it might save me some time if I know exactly what it is I should be looking for...

To put it another way, if you're concerned about maintenance on icecave/parity, wouldn't it make more sense to look for a replacement if/when it actually becomes an issue?

Thanks @shmax for the prompt response!
For us it is about predictability, future compatibility, and risk mitigation. Let's say the next major version of json-schema is released, and then six months later Icecave EOLs their package as they've indicated is going to happen at some point. Then the choices are:

Proceeding with an unsupported package that won't receive security coverage.
Forking the package.
A BC break.
A new major version with whatever replacement.

All of the above are variously disruptive or risky for a package with a need for scheduled releases and LTS support.

@xjm That makes sense. Noting the way we use parity, the dependency could likely be removed.

Well, sure, we could probably factor it out or replace it, but if I spent all my time trying to second guess which projects are going to EOL in six months and proactively replacing them I wouldn't get much done (this project isn't exactly a hotbed of activity, either). We use this package at one place in the code, and it hasn't been an issue since I put it in. So barring some unforeseen future complication, if they EOL it won't make any difference to us. And if there is some complication, then we can fix it then. We have 56 open issues now--many of which document real bugs--so it seems a little bizarre to me to focus on this as some kind of blocker. Hell, we could just revert the commit and go back to having 57 open issues instead of 56. shrug

@wimleers in an attempt to cleanup this repo we are trying to filter the issues and see which ones might be closed. Is it safe to assume this is an issue which time has caught up on? The icecave/parity [link] repo seems to be inactive but the code is there and over time it even has grown to a version 3 whereas this repo still is set on version 1. I see your concerns and I think they are valid up to a point, but functionally there is currently no impact on the library.
So my remaining question is can this issue be closed? Feel free to close it yourself with some comments if helpful.

Hi, we had to use version 5.3 instead of 6 of this package because version 6 introduces icecave/parity =1.0.0, which requires icecave/repr ~1, which breaks on newer versions of php because of this syntax:
https://github.com/icecave/repr/blob/1.0.1/src/Generator.php#L229
The commit of the tag v6 has been done 6 years ago so I understand about using version 1 at this time, but the tag v6 has been released 3 weeks ago (which was surprising to me).

Hi, we had to use version 5.3 instead of 6 of this package because version 6 introduces icecave/parity =1.0.0, which requires icecave/repr ~1, which breaks on newer versions of php because of this syntax:
https://github.com/icecave/repr/blob/1.0.1/src/Generator.php#L229
(fixed in 2.0.1)
The commit of the tag v6 has been done 6 years ago so I understand about using version 1 at this time, but the tag v6 has been released 3 weeks ago (which was surprising to me).

Hi @alcalyn
thanks for you comment. If you think this is something needed fixing you could best open a new issue. It would be a great timesaver if you can provide more details on how to reproduce.
Mainly the PHP version is important. Version 6.0 still supports PHP 5.3 (which is probably why it was pinned in such a way). Work is being done to get version 6.1 done with the main feature to support PHP 7.2 and up and fix any issues with PHP 8.0 and greater.

Unfortunately I was also unable to upgrade to v6 because of icecave/parity:1.0.0. This dependency triggered a couple of vulnerability warnings for the twig/twig:v1.15 sub dependency:
CVE-2015-7809
CVE-2022-39261
CVE-2019-9942


Splitter Interface for sklearn

Tokenizer now offers a method that returns a flat list of tokens. Note the test already hints that some abbreviations are split weirdly (K-HG, TU-D, ..)
We dont have to fix that right now, though.
Please have a look whether the method does what you need.
Closes #4

Also both methods will remove empty tokens if trim=True
Closes #3

@leogott would you make having a look at this?


Question: What is the "small ROM"?

From https://github.com/isotherm/betawise/wiki/Research-Information#reset-information

The small ROM is similar to a bootloader. It runs a minimal version of OS3K and (in essence) only accepts firmware updates or applet operations. Using the key sequence, you can enter that mode before the main ROM takes over. If you are using AlphaSmart Manager or neotools you should then be able to load firmware and applets in that mode.
It is stored in a separate area of flash from the main ROM, the idea being to provide a fallback in case a ROM upgrade fails. However, it's not protected in a way different from the main ROM. The file is smallos3kneorom.os3kos, but I would not recommend trying to update the small ROM for the above reasons.


Feature request: allow execution without golden metrics

Currently, running check task will fail, when there are no golden metrics.
Could we change it so that without golden metrics, it can still run, but just reporting every unstable Composable (without baseline)?

I think that's reasonable, but would probably defer that to be opt in behavior.
composeGuardCheck {
    reportAllOnMissingBaseline = true // defaults to false
}

If enabled, the check task will now aggregate all errors and display them with a failure

will push out 2.3.1 with that behavior

Hm, it seems that with 2.3.2, setting reportAllOnMissingBaseline to true will cause ComposeGuard to ignore the baseline, even if it is present

That was how I envisioned this request working and what I added to the documentation in the readme.
    /**
     * If baseline metrics are missing, the check task will no longer fail and will instead just report
     * all checks. Baseline metrics will be effectively ignored when this is set.
     */
    reportAllOnMissingBaseline = true // defaults to false

my assumption was when this was enabled, there would never be golden metrics. Is that not the case? for some modules you have golden metrics and some not?

for some modules you have golden metrics and some not

Yes. On our older modules, we have golden metrics, because of legacy code that is not 100% stable yet. But for any new modules, we want 100% stability, so there is no need for golden metrics.

but even in new modules that have 100% stability, the golden metrics would still serve a purpose of listing all of your composables with that 100% stability. if a developer is working in that new module, and accidentally adds an unstable parameter or something, the plugin would flag. is there a reason you'd want to avoid just generating the golden metrics for all modules?

For new modules, they are empty at start. So golden metrics that I would generate would be empty. And even if they wouldn't, having just stable composable in golden metrics, is essentially identical to having no golden metrics at all, right?

fair! I'll push the behavior up in 2.3.3 shortly

Seems to be working well. Thanks!

Hm, found a pretty big issue with having no metrics:
When removing the metrics folder, extension.outputDirectory will be empty, which will cause all kotlin tasks to never be up to date: https://github.com/j-roskopf/ComposeGuard/blob/d966181e0471cd6548b77aa6cd83204a1879bef5/compose-guard/gradle-plugin/src/main/kotlin/com/joetr/compose/guard/ReportGenPlugin.kt#L224
this essentially disables incremental compilation for modules without metrics

Seems to be working fine on 2.3.5. Thanks!


Go tool vet Fixes

Fixes found via go tool vet $(find -name \*.go | grep -v ^./vendor)
Appears to be one actual bug in core/ServiceManager.go, return was
before the state change.
Signed-off-by: Benjamin S. Allen<EMAIL_ADDRESS>

The catch in ServiceManager.go is good, but we want slightly different logic.  We only want to set the state to RUN if the call to sm.start(s) succeeds.  Fixed that up.


[icu] fix x64-osx-dynamic rpath workaround

Fixes https://github.com/microsoft/vcpkg/issues/33440

[x] Changes comply with the maintainer guide
[ ] ~SHA512s are updated for each updated download~
[ ] ~The "supports" clause reflects platforms that may be fixed by this new version~
[ ] ~Any fixed CI baseline entries are removed from that file.~
[ ] ~Any patches that are no longer applied are deleted from the port's directory.~
[x] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[x] Only one version is added to each modified port's versions file.

I'm not too sure whether this is the correct way, but it does fix the problem for me inside a github action, and it seems for @phoenixwxy it works on his local machine.
 When you respond, please revert to "ready for review".
That way, I can be aware that you've responded since you can't modify the tags.

IMO the whole section needs a cleanup, even before this PR.

I can't really deny that, imho it shouldn't even be necessary to have that workaround but icu hasn't fixed their issue yet.
Afaik that should be the PR
https://github.com/unicode-org/icu/pull/2467
Meaning we could perhaps use a patch file instead of this whole workaround. But I'm not sure if that covers everything our workaround does

It seems to work for me, when I use a patch file, and basically remove the complete workaround which patches the rpath using the install tool:
bash-3.2$ otool -L libicuio.73.dylib
libicuio.73.dylib:
        @rpath/libicuio.73.dylib (compatibility version 73.0.0, current version 73.1.0)
        @rpath/libicuuc.73.dylib (compatibility version 73.0.0, current version 73.1.0)
        @rpath/libicudata.73.dylib (compatibility version 73.0.0, current version 73.1.0)
        @rpath/libicui18n.73.dylib (compatibility version 73.0.0, current version 73.1.0)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1319.0.0)
        /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 1300.36.0)

So if you want I can change it to using a patch file instead.
Any opinions on that?

@dg0yt sorry for bumping, but do you think I should change the PR to use that patch file I mentioned instead?

I will try to add a patch into #35530 and get that ready for merge.

Alright, fine by me as well, but perhaps the patchfile is still the nicer approach, it needs also less workaroundy code in portfile.cmake. But I'm gonna let that decision up to you, because I don't really know what is the preferred way^^

AFAICT this PR is obsolete since #35530 was merged.

Fixed by PR https://github.com/microsoft/vcpkg/pull/35530


Fix docs layout

Requested by https://github.com/pulumi/registry/pull/4028#pullrequestreview-1933490620

Already fixed in the other pr


first() returning an Optional

Hi, it would be nice if Elements class had similar method to first() which returns an Optional.

Probably, but we target Java 1.5 so that's not on the cards.


primary_test_model_candidates with same name part

Describe the bug
The parent_model_unique_id value of the dbt_tests artifact is identified by checking if the dependend model is part of test_metadata.kwargs.model.
If more than one model is part of it, then the parent_model_unique_id is not filled. That is already the case, if one dependend model name is part of the actual parent model.
By standard we define relationships tests between "model123" and "model123_related". Like every PK of "model123_related" must be in "model123". Since model123 is part of the model123_related name, this concept is not working.
If I'm missing anything please let me know. Could also be a feature rather than a bug.
Unfortunately, I can't provide a reliable and tested solution.
To Reproduce
Steps to reproduce the behavior (this logic can be found in the upload_dbt_test() macro in line 94):
{% set mod= 'model.project_name.model123' %} {{true if mod.split('.')[-1] in '{{ get_where_subquery(ref("model123_related")) }}'}}
Expected behavior
The parent_model_unique_id value of the dbt_tests artifact is filled even there is another dependend model, that is part of the parent model name.
Environment (please complete the following information):

dbt core: 1.2
elementary package: 0.6.4

Hi @mgeerken, thanks a lot for opening this issue.
Adding the context here on the particular use-case that you shared with me:

I was building a singular dbt test, that checks whether the related model has the same data sources as the main model.
This rule applies for all the same models, that also have the relationship test implemented.
In this example i need to ensure that all the sources from the LINK are also sources used for the ESAT_LINK.
Of course i could build this directly on the graph, buts a lot easier und the structured information coming from the package. Especially later for other developers to maintain.

It definitely makes sense to me that we'd be able to detect the model that the generic test is defined on.
I think I have a good solution, I'll open a PR soon and update in this thread.

I created this PR that finds the parent model in a simpler manner. It takes the model argument from the test's arguments and simply renders the Jinja expression that is used there. This returns the relation, and afterwards we lookup the node by the relation and extracts the unique ID. I'll wait for one of the team members to review it.


Question about versions

Hi! thanks for the project I have 2 questions

When I launch the aplication always shows Python 3.3 but I see some commits that has been upgraded to 3.6. Is an interface issue?
You are using v3 instead V5-unity, also there is an upgrade to v6 like https://github.com/diogo55/OnlinePythonTutor

Thanks!!!

Hi @abertranb, thanks for reaching out.

When I launch the aplication always shows Python 3.3 but I see some commits that has been upgraded to 3.6. Is an interface issue?

For your first question, we only use this service in the embedded way, thus we have indeed updated this frontend part, but only for the embedded html. The other pages may still show python 3.3, even though, the python version in the docker container is higher. So to answer the question, yes, this is just a frontend issue.

You are using v3 instead V5-unity, also there is an upgrade to v6 like https://github.com/diogo55/OnlinePythonTutor

Thanks, we had not noticed the v6 before. We have no plans right now to upgrade to version v5 though, but I'm gonna check this out and see whether we upgrade this or not, because there are several changes we might need to do.
Hope this answers your questions and thank you!


Volume Level 0 to  128?

I was wondering why you use 128 as the scaling factor for the volume?
My understanding was that the LS 50 expect a volume level between 0 and 100.
BTW. HA expect volums in the rage of 0 to 1.
Line 65 (" volume = int(self.__volume) % 128 + 128") looks strange. Why do you have to add 128?
Then, I think it is not safe to implement def volume in Line 56 the way you did.
Maybe the user has changed the volume by other means and the internal variable is not up to date. Can that happen?

I will update so that 0-100 is used.
Line 65: If volume is set to None (mute) Then the unmuted volume is retained (eg. the old value + 128). If it was muted and set to mute, nothing change.
Line 56: The idea is to use listeners so that when something change on the speakers, the change will get reported back. Maybe I can use getVolume for now when no listeners are implemented.

Also, how does hass handle mute? Should I use None as volume as I do now?

I looked at some implementations and documentation.
e.g.
https://developers.home-assistant.io/docs/en/creating_platform_example_light.html
and
https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/media_player/nad.py
The way I understand this at the moment is that there are no listeners. But there needs to be an update function that HA can call to tell the components to update their internal state (e.g. by querying the speakers).
I would like the internal lib to do not keep track of the current state but to just query the speaker.
Thus, getVolume should always query the speaker. I will implement the update function in the HA wrapper. I will keep an internal state as in the NAD example.
I think mute is a true/ false flag. Volume if mute is on? Do not know right now. None is fine at the moment.

It's probably easier to keep track of the state from this component, since it has to connect and disconnect to the speakers continuously.

Ok, I will make the component stateless and each time the user requests a value (e.g volume), it will query the speaker.
There is a problem with keeping the connection alive. It seams that only one client can be connected at a time. This means that the connection must be closed after not being used for a while.
I'm trying out using a thread that automatically disconnects the speakers if no requests has been made for x secs (3 secs atm). Is this OK?

WTF. Only one connection at a time? That is bad. I was not expecting this.
At the beginning I opened a new connection for each command. But this was really slow and also produced a lot of errors.
The 3 sec rule seems to make sense. But I am no expert either. Lets just give it a try.

Thanks for all your effort.

WTF. Only one connection at a time? That is bad. I was not expecting this.
At the beginning I opened a new connection for each command. But this was really slow and also produced a lot of errors.
The 3 sec rule seems to make sense. But I am no expert either. Lets just give it a try.
I know, it is really bad x)

The reason it fails when connecting is that the app also does this and if both connect at the same time, it fails. I tried to get around this by retrying and catching exceptions, while tuning a wait timer which increases each time it fails.
I decreased it to 1 sec for now, I guess we want as low as possible, but not to low so that it disconnect during one transaction (for example when fetching many values in a sequence). Test it out. The timeout can be tweeked by setting the _CONNECTION_KEEP_ALIVE constant at the top.

@bastianbeggel Just in case the question is still on your mind:
LS50 does only take vol from 0-100 however it calculates mute by taking that value and adding 128 to it. So mute goes from 128 to 228. And you unmute by setting the volume to (muted-vol-value - 128).

What happens if you set it to something between 100 and 128? Is that mute or 100% volume?

From memory it's 100%. But if you query afterwards, it will report 127 for example. It doesn't limit and transform it to 100.
I will double check this after work.

I think we can close this one.


findReplaceFilter logs lots of buffer exhaustion errors just because it didn't find a match

The means we're generating lots of large errors streams unnecessarily.

the code has been improved for v6.0-beta.12


Support CNI network plugin in Frakti

Need to support CNI plugin in Kubernetes +  Frakti. The implementation requires finding a way to generate network configuration from CNI and pass these information to hyperd in expected syntax.
A very similar approach is CNI plugin support in CRI-O, please check these for details:
https://github.com/kubernetes-incubator/cri-o/pull/237
https://github.com/kubernetes-incubator/cri-o#setup-cni-networking
TODOs:

[x] Basic cni network plugin support #62
[ ] Checkpointing network info
[ ] CNI configure examples
[ ] CNI e2e tests
[ ] deployment, e.g. by make install

assign to @Monster-Z who volunteered to fix this

@YaoZengzeng Would you like to continue those CNI related work?

@feiskyer Yes, of course

TIP: we could avoid network interface scanning after https://github.com/containernetworking/cni/pull/145 is merged.

All done.

@YaoZengzeng https://github.com/containernetworking/cni/pull/145 is merged, please update the existing code when you have time.


feat: better logging for sessions

Codecov Report

Merging #519 (46a3a16) into master (d31cc75) will decrease coverage by 0.25%.
The diff coverage is 16.66%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##           master     #519      +/-   ##
==========================================
- Coverage   49.28%   49.03%   -0.25%
==========================================
  Files          32       32
  Lines        1603     1613      +10
==========================================
+ Hits          790      791       +1
- Misses        813      822       +9

Impacted Files
Coverage Δ

server/src/router.rs
25.80% <0.00%> (ø)

server/src/session.rs
29.14% <0.00%> (-0.67%)
:arrow_down:

server/src/tcp.rs
51.35% <33.33%> (-2.28%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Personal details

And the related plumbing to make it render, along with the examples

Looks fine... Merge on green.


Shader hooks

If people want to customize our materials by changing the wgsl, they basically have to copy the wgsl, introduce the custom code in a few places. This works, but everytime that the wgsl changes in pygfx, you're in for a fun update process 😉
I wonder if we can make this easier. If we can, it makes a stronger case for calling Pygfx "extendable" or "hackable". Some ideas:

Structure the code into smaller functions.
Add little "hooks", a bit like the templating mechanics, that that can optionally be used to insert code in certain places. If these hooks don't disrupt the code too much, people that need a hook in a specific place, can simply open a pr to add one.

@Korijn thoughts?

We have jinja, let's just use it to full effect. This is what template inheritance and named blocks are for. It allows you to override sections of templates with your own content.

https://jinja.palletsprojects.com/en/stable/templates/#template-inheritance
I'll have a look, and create an example that uses this trick. We probably need to add these blocks in our shader, but it seems simple enough!

I think the big question is how much of the internal API do you really want to expose?
The shaders of PyGFX are pretty "simple", however, I know that I've already requested for custom point SDF functions
https://github.com/pygfx/pygfx/pull/789
However, guaranteeing a stable API at the WGSL level seems tricky.
One way to start might be starting to allow users to customize either the vertex shader or the fragement shader. It might be a good start for people dipping their toes to start to only have to reimplement one or the other instead of both at the same time.


It is not loading in IE11, does it supports ES5 browsers?

Is there any solution for this issue? I am also stuck with it :(

To make this work for IE, I had to add "core-js": "^3.1.3" to the "package.json" and import

'core-js/es/array/includes'
'core-js/es/array/from'
'core-js/es/object/values'

Hi Suhasraok, thank for your comments. great to know that you made it work on IE. Could you please give some more details (by code or screenshots)? appreciate it.

it's not working for me

Hi,
I'm facing a similar issue where the rasa-webchat doesn't work on IE 11. is there a work around? Also did Suhasraok's suggestion work for anyone else? I was not able to get it to work.

@antoniachen  did you get it to work in IE 11?

Hi, unfortunately IE11 is not part of the browsers we support.


DocsArchive-<IP_ADDRESS>Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/OPS-E2E-PPE/docs-archive-test-target/pull/241 is merged into live branch.
Auto archive content to https://github.com/OPS-E2E-PPE/docs-archive-test-target.git

Docs Build status updates of commit 40f0ef5:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error]

Cannot sync git repo to specified commit because branch Release_Archive_master_2019-11-21-10-24-47 has been deleted or has been force pushed: fatal: couldn't find remote ref refs/heads/Release_Archive_master_2019-11-21-10-24-47

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Internal server error when storing two taxonomies with same name

What is wrong?
TaxonomyTermCreate when creating new taxonomy with same name as another taxonomy in same instance it throws a database constraint error, that is not handled and leads to a internal server error.
Steps to reproduce
run yarn fetch TaxonomyTermCreateMutation '{"parentId": 1328, "name": "repeteme", "taxonomyType": "topic-folder", "userId": 1}' twice
How should it behave?
It should respond with a friendly and descriptive error message, something like two taxonomy terms cannot have same name in same instance.
Maybe better would be to not have at all this constraint and be able to store taxonomies with repeated name.
Or even better: 1. not have the constraint, 2. DB layer assures that the parent doesn't have children with repeated names

Or even better: 1. not have the constraint, 2. DB layer assures that the parent doesn't have children with repeated names

Yep, that would be the best solution :smile: This is an old problem we have with the taxonomy from legacy serlo.org

[ ] Remove the constraint from dump
[ ] Remove the contraint from staging and prod
[ ] Implement logic in TaxonomyTerm.create:

[ ]  get all children names from parent and compare if name is equal to the new taxonomy
[ ]  trim empty spaces, check case "insensitvely"
[ ]  If content is different, pass. If same, throw a error with friendly message. like parent with id {} has already another child with name {}


PLEASE HELP(FIX) FAST wikipedia.exceptions.WikipediaException: An unknown error occured: "Search is currently too busy.  Please try again later.". Please report it on GitHub!

wikipedia.exceptions.WikipediaException: An unknown error occured: "Search is currently too busy.  Please try again later.". Please report it on GitHub!
is happening sometimes and it just does NOT happen sometimes... i have got to present this to my professor and it is having this rather strange error PLEASE FIX FAST, i took 3 weeks to make this project related to wiki API PLEASE... i appreciate all the help and effort...
PLEASE FIX IT THANKS!

I have met the same issue, Have you fixed it?

This has also happened to me. Is there a query limit per day?

Take a look at the Wikipedia API Etiquette.
Perhaps you see this when global Wikipedia use is high.


Use temp variable in mutex release loop

Fix in #51 still had possibility of unexpected behavior as the mutex_lock_count variable might get modified after releasing mutex during last loop iteration.

@kjbracey-arm @TeroJaasko @SeppoTakalo @tommikas
I think the previous fix still had possibility of modifying mutex_lock_count during the last loop iteration immediately after releasing the mutex resulting in unexpected behavior.
Don't merge yet, I will test this still tomorrow morning.

Guys does this look good now? The unittest coverage fails because this removes 1 line completely and resulting coverage is 0.04% less than previously....

@SeppoTakalo @TeroJaasko
I explained the mutex unlock loop a bit more on the comment here, let me know if it still is not obvious enough.

@kuggenhoffen It's green now.
@SeppoTakalo : A comment in the original PR: https://github.com/ARMmbed/mbed-trace/pull/30#issuecomment-223763607

That comment seems fairly explicit.

@SeppoTakalo Please make a PR to mbed-os for this fix as well. We need to get this in mbed-os 5.2


Remove all components related to export format submission

Remove all components related to export format submission.

Should have closed this a  couple weeks ago.


Improve duplicate DSL methods suffix error message

Error: Parser Definition Errors detected:
->OPTION<- with numerical suffix: ->0<-
appears more than once (2 times) in the top level rule: ->mediaList<-.
Also note that numerical suffix 0 means OPTION without any suffix.
To fix this make sure each usage of OPTION
in the rule ->mediaList<- has a different occurrence index (0-5), as that combination acts as a unique
position key in the grammar, which is needed by the parsing engine.
For further details see: https://sap.github.io/chevrotain/docs/FAQ.html#NUMERICAL_SUFFIXES

The Also note that numerical suffix 0 means OPTION without any suffix. is redundant as we can distinguish between explicit and implicit suffixes in the GAST

It now look like this:

Error: Parser Definition Errors detected:
->SUBRULE1<- with argument: ->anotherRule<-
appears more than once (2 times) in the top level rule: ->duplicateRef<-.
For further details see: https://sap.github.io/chevrotain/docs/FAQ.html#NUMERICAL_SUFFIXES


404 page not found on my metrics server webpage

Hi!
I've had buzzer running for 10+ hours and my metrics server shows no information (i.e., 404 page not found).
I compiled my kernel with kcov and kasan as the syzkaller instructions, and built the bullseye image,
and replace the PATH_TO_DEBIAN_IMAGE and PATH_TO_KERNEL_REPO with absolute path like  /home/xxx/workspace/image/ and /home/xxx/workspace/kernel/, and my kernel build  .config includes:
"CONFIG_BPF=y
CONFIG_BPF_SYSCALL=y
CONFIG_KCOV=y
CONFIG_KASAN=y"
I'm not sure where the problem is. It might be similar to issue/37, but I haven't understood the solution. Please provide some assistance. Thank you.

Try to visit http://localhost:8080/general .

yes! the handle that shows the statistics is in /general, not in /

Yes, problem solved, thanks.


Generation of [cluster]rolebindings

From https://github.com/keycloak/keycloak/pull/21231#issuecomment-1616619571 should the operator sdk split off the generation of [cluster]rolebindings, roles, and service accounts to allow for operators that can support all install modes?  These instead would be created for the service account(s) referenced by the OperatorGroup.

Note that JOSDK currently doesn't deal with this at all. The RBAC generation is currently supported only in the Quarkus extension at this point. Let's address this issue there instead.

Sorry, I'll move this over there.


machine learning inc. supervised and unsupervised #948

Reassigned IDs:

machine learning [OBI:0002587]
supervised machine learning [OBI:0002588]
unsupervised machine learning [OBI:0002589]


When running Appium tests in parallel using driver.quit() causes the other test(s) to fail

driver.quit()/close() As part of the tests we close out the driver at the end using driver.quit(). Doing this causes the behaviour described above. If I REMOVE driver.quit() all the tests will finish successfully. The problem with this is that if I want to run other tests the driver session is still open in Appium and there is no way to close it unless I restart Appium.
Details
2 Different errors: 1:
org.openqa.selenium.WebDriverException: An unknown server-side error occurred while processing the command. Original error: Android bootstrap socket crashed: Error: This socket has been ended by the other party (WARNING: The server did not provide any stacktrace information)
2: org.openqa.selenium.WebDriverException: An unknown server-side error occurred while processing the command. Original error: Could not proxy. Proxy error: Could not proxy command to remote server. Original error: Error: socket hang up (WARNING: The server did not provide any stacktrace information)

Resolved


Could not see proper notification using 'notify-send' in KDE plasma

Possible bug.
Tried executing following code snippet:
var alert = require('alert-node');
alert('Hello world', 'notify-send');

Expected behavior:
It should have displayed the KDE styled notification
Observed behavior:
Default notification box appeared with provided text.
Environment info (relevant info only):
  System:
    OS: Linux 5.4 Manjaro Linux
    Shell: 5.0.11 - /bin/bash
  Binaries:
    Node: 13.3.0 - /usr/bin/node
    npm: 6.13.4 - /usr/bin/npm

Thank you for the bug report. I just pushed v2.1.1 which adds an option to use kdialog. I'm not a KDE user myself, so I'm not sure how it's supposed to look. Could you try again on the most recent version with require('alert-node')('Hello world, 'kdialog') and let me know if that fixes it?

kdialog gives which working as expected :

where notify-send is supposed to show this kind of alert:

but it is also giving me same output as when kdialog is chosen.
If you ever get access to KDE plasma you can try running following command for testing notify-alert:
notify-alert "Hello world"


[bug] weird cursor while dragging the element which has data-tauri-drag-region attribute

Describe the bug

I am not sure this is a bug or just a missing part of document.

Before adding the draggable attribute, the cursor is not the wanted one while dragging.

Reproduction
No response
Expected behavior
No response
Platform and versions
Environment
  › OS: Mac OS 11.6.0 X64
  › Node.js: 16.10.0
  › npm: 7.24.0
  › pnpm: 6.16.0
  › yarn: 1.22.15
  › rustup: 1.24.3
  › rustc: 1.60.0
  › cargo: 1.60.0
  › Rust toolchain: stable-x86_64-apple-darwin

Packages
  › @tauri-apps/cli [NPM]: 1.0.0-rc.7(outdated, latest: 1.0.0-rc.9)
  › @tauri-apps/api [NPM]: 1.0.0-rc.3(outdated, latest: 1.0.0-rc.4)
  › tauri [RUST]: 1.0.0-rc.6,
  › tauri-build [RUST]: 1.0.0-rc.4,
  › tao [RUST]: 0.7.0,
  › wry [RUST]: 0.14.0,

Stack trace
No response
Additional context
No response

Hey @percy507 , that doesn't look like a bug but rather something we're not handling (yet?).
You may customize your cursor with the following CSS properties:
[data-tauri-drag-region] {
  cursor: move; /* Not all browsers support "grab" */
  cursor: grab;
  cursor: -webkit-grab;
}

[data-tauri-drag-region]:active {
  cursor: grabbing;
  cursor: -webkit-grabbing;
}

You may customize your cursor with the following CSS properties

@Laegel  I have tried this. It seems not helpful.

The CSS should work if you apply it globally, I just tested it to confirm. If you still face issues please share a repo with us so we can help you spot the problem.

Same that Laegel pasted here @percy507

Unfortunately, still not work.😭 Even upgrade to the newest tauri version.
Environment
  › OS: Mac OS 11.6.0 X64
  › Node.js: 16.10.0
  › npm: 7.24.0
  › pnpm: 6.16.0
  › yarn: 1.22.15
  › rustup: 1.24.3
  › rustc: 1.60.0
  › cargo: 1.60.0
  › Rust toolchain: stable-x86_64-apple-darwin

Packages
  › @tauri-apps/cli [NPM]: 1.0.0-rc.13
  › @tauri-apps/api [NPM]: 1.0.0-rc.6
  › tauri [RUST]: 1.0.0-rc.14,
  › tauri-build [RUST]: 1.0.0-rc.12,
  › tao [RUST]: 0.9.1,
  › wry [RUST]: 0.17.0,

App
  › build-type: bundle
  › CSP: default-src blob: data: filesystem: ws: wss: http: https: tauri: 'unsafe-eval' 'unsafe-inline' 'self' img-src: 'self'
  › distDir: ../dist
  › devPath: http://localhost:6777/
  › framework: React
  › bundler: Rollup

App directory structure
  ├─ .husky
  ├─ node_modules
  ├─ public
  ├─ packages
  ├─ src-tauri
  ├─ .git
  ├─ .vscode
  └─ src

If you share a repo I can help you find the issue.

@percy507 sorry actually this code is also needed:
document.querySelector('.dragbar').addEventListener('mousedown', e => {
  e.preventDefault()
})

this is something we can do on our side though, and I think we should.

We will do this automatically in the next release (we will publish it in the next few hours). Thanks for reporting this, I didn't notice it in my test app because it was doing this behind the scenes already.

Can confirm: Works for me in the latest RC release.

I have been searching for this method for almost an hour. Thank you


Update google provider 4.x

waiting for release v0.0.2 of https://github.com/mineiros-io/terraform-google-artifact-registry-repository-iam to makr this PR as r4r


Call CoInitializeEx before CreateCoreWebView2EnvironmentWithOptions

The WebView2 documentation states that the app is expected to call CoInitializeEx before CreateCoreWebView2EnvironmentWithOptions.
We are supposed to do this and it also happens to fix an issue I had while working on PR #756 where WebView2 initialization failed when SetFocus had not been called before CreateCoreWebView2EnvironmentWithOptions.

Related: #648. @vitalyster

It looks like we need to decide whose responsibility it is to call this and then clearly convey this to users of the library. In my case I had no idea until I had already spent a good amount of hours trying to figure out why WebView2 wasn't working properly.
I would say that setting the DPI awareness is also not the responsibility of the library so how about deciding on that too while we are at it?

Agreed about DPI awareness, this also should be handled by the app, not the library. But in this case we need to provide full working example with COM and DPI awareness initialization

If I understand correctly, this library is used from Go and maybe that was the reason why COM and DPI awareness initialization were added into library itself: it is not clear how to do that from Go app. (Let me know if I'm wrong, I'm not using this from Go)

One idea for C/C++ from the top of my head is that the library could define the application's entry point if desired by the user of the library. This entry point would call CoInitializeEx and maybe enable DPI awareness.
I implemented more or less this exact idea a while ago just without CoInitializeEx and DPI awareness:
https://github.com/SteffenL/webview/blob/master/include/webview/webview.h#L1324
The idea is that the user defines WEBVIEW_DEFINE_MAIN before including webview.h and provides the implementation of int webview_app_main(int argc, char *argv[]).
The library then defines wWinMain for Windows or main otherwise which calls webview_app_main while passing in UTF-8-encoded arguments even on Windows.

I am circling back to this because I foresee that we will be blocked by this in the future and will therefore need a solution sooner rather than later. I will explain why below.
The WebView2 COM API clearly states that the application is expected to call CoInitializeEx. WebView2 cannot function without someone calling the function with COINIT_APARTMENTTHREADED. This webview library cannot function on Windows without WebView2.
Although it may appear to work without calling CoInitializeEx, that function is eventually called somewhere down the call stack when we call ShowWindow (Windows API) and pass in SW_SHOW. ShowWindow calls the seemingly undocumented function ImmSetActiveContext somewhere down the line which further down the line calls CoInitializeEx with COINIT_APARTMENTTHREADED. This is however not always the case because when we pass in something like SW_HIDE to ShowWindow or simply do not call ShowWindow then CoInitializeEx will not be called anymore. There goes the side effect we currently rely on!
The WebView2 example code linked by @vitalyster in #551 does not call CoInitializeEx but another example does. I personally think that it is a mistake of the first example to not call CoInitializeEx.
As we have seen here, Windows API can call CoInitializeEx internally without documenting that it does so.
I think the simplest way for us to have a more consistent behavior is to call CoInitializeEx in the core library automatically. There is no harm in calling CoInitializeEx multiple times with the same concurrency model.
The current work in this PR must however be changed:

It must treat the results S_OK and S_FALSE from CoInitializeEx as success.
Anything else (especially RPC_E_CHANGED_MODE) means failure. We cannot recover from this so we must bail out.
We must call CoUninitialize for each successful calls to CoInitializeEx.

An implementation of this could look something like the following:
// A wrapper around COM library initialization. Calls CoInitializeEx in the
// constructor and CoUninitialize in the destructor.
// Throws an exception if CoInitializeEx has already been called with
// a different concurrency model, or if it fails in other ways.
class com_init_wrapper {
public:
  com_init_wrapper(DWORD dwCoInit) {
    // We can safely continue as long as COM was either successfully
    // initialized or already initialized.
    // RPC_E_CHANGED_MODE means that CoInitializeEx was already called with
    // a different concurrency model.
    switch (CoInitializeEx(nullptr, dwCoInit)) {
    case S_OK:
    case S_FALSE:
      return;
    case RPC_E_CHANGED_MODE:
      throw webview_exception(
          webview_error_invalid_state,
          "CoInitializeEx already called with unexpected concurrency model");
    default:
      throw webview_exception();
    }
  }

  ~com_init_wrapper() { CoUninitialize(); }

  com_init_wrapper(const com_init_wrapper &other) = delete;
  com_init_wrapper &operator=(const com_init_wrapper &other) = delete;
  com_init_wrapper(com_init_wrapper &&other) = delete;
  com_init_wrapper &operator=(com_init_wrapper &&other) = delete;
};

win32_edge_engine could then get a new member variable:
  // The app is expected to call CoInitializeEx before
  // CreateCoreWebView2EnvironmentWithOptions.
  // Source: https://docs.microsoft.com/en-us/microsoft-edge/webview2/reference/win32/webview2-idl#createcorewebview2environmentwithoptions
  com_init_wrapper m_com_init_wrapper =
      com_init_wrapper(COINIT_APARTMENTTHREADED);

This is some code I wrote recently for another work-in-progress branch. It uses exceptions and error codes so that will have to be replaced with something simpler.
Feedback is most welcome!

Here is something from the Threading model for WebView2 apps:

The WebView2 must be created on a UI thread that uses a message pump. All callbacks occur on that thread, and requests into the WebView2 must be done on that thread. It isn't safe to use the WebView2 from another thread.

Note that it says "a UI thread", not "the UI thread" or "the main thread".
This makes me think that a possible correct solution is to launch a new thread, call CoInitializeEx in that thread, run a message loop in that thread and only interact with WebView2 in that thread.

If the app calls CoInitializeEx(nullptr, COINIT_MULTITHREADED) before initializing the webview library then
CoInitializeEx will still be called with COINIT_APARTMENTTHREADED when we call ShowWindow. The internal call to CoInitializeEx will fail with RPC_E_CHANGED_MODE but the app will continue to run for a while longer.
When we then call CreateCoreWebView2EnvironmentWithOptions, ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler is invoked with error RPC_E_CHANGED_MODE. Due to lack of error handling we then crash the program when attempting to call env->CreateCoreWebView2Controller(m_window, this) since the env parameter is nullptr.
This means that if CoInitializeEx is either not called by anyone, or called but not with COINIT_APARTMENTTHREADED then we just crash.
To me this suggests that it is more beneficial to merge this simple fix than to not do it. In my opinion we must also focus more on error handling but that will require more effort at this time.
If you could let me know whether you agree or disagree to merging this and the reasons for not doing it, that would be helpful.

Thanks a lot @SteffenL for the detailed PR.
@dandeto and @justjosias, could you review this one?
I wanted to remember that, in this PR, it is also clear how the lack of documentation in the project is still causing side effects, and updating on those crucial parts can save the project by facilitating more contributions.

@paulocoghi Thank you! While I could simply merge this, I think it is better to gather more opinions. I have started making some major changes that allow us to improve quality in #766 in case you would like to take a look.


Server Side Rendering Initial Load Fade Out / In

Hi there, thank you for your work on this animation framework, it's exactly what I was searching for.
I'm trying to add it to my single page react app (built using Gatsby). I wrapped my page contents in a simple <Fade></Fade> component and everything is working exactly how I want it to when navigating between pages. The initial page load, however, results in the contents displaying normally, then fading out and fading back in.
Is there a way to disable this behavior? I read the Server-Side Rendering section of the readme, however that leads me to believe that this is the desired result. Is that correct?
I also noticed that on the docs site, some transitions occur when navigating between pages but not when loading directly to that page (ex. the right-side navigation on this page slides up, but this transition is simply ignored if it is the initial site load). How was this accomplished? I don't mind if the transitions don't work on the initial load so long as I can avoid the unnecessary fade out / fade in.
I tried setting opacity: 0 in my CSS in hopes that it would remain hidden until the transition fades it in, but that didn't seem to help.
Steps to reproduce:

Open a new browser tab, preferably incognito to avoid caching
Visit my site in progress: https://dublife.netlify.com/
Watch for the content on the page to load, then fade out and back in a second later.

Thanks in advance!

Well this is kind of intended behaviour, but you can disable it if you put the following code somewhere near the entry point in your app:
// internal function will be removed in 1.2 release
import {ssrFadeout} from 'react-reveal/globals';

ssrFadeout(false);

I'm planning to make this option default in 1.2.x and remove the ssrFadeout function.
To be honest, there are drawbacks to every solution:
With ssrFadeout(false) you won't get animations on your initial load which might be equally confusing.
There is also an internal prop called alwaysReveal ( i might rename it in future ) that will force reveal animation even on initial load but it will make revealed contents invisible to googlebot and people with javascript off. So it will make sense for images and headers. That's how I animate the frontpage of React Reveal. I'll probably make the current behaviour an opt in via a prop in 1.2.x

Thanks that was exactly what I was looking for! In my case, having no animation on the initial load is much better than having the fade out / fade in occur. Definitely am not planning on using alwaysReveal if it hides content from the googlebot, but thanks for the additional info. I appreciate the quick reply.

you're welcome

@jojobagings78 could you provide an example? It'd really help save me some time switching to a different animation lib. Thanks :)

@applebya You can place in html.js
<noscript>
    <link href="/css/js_disabled.css" type="text/css" rel="stylesheet" />
</noscript>

Then in your js_disabled.css you place
.react-reveal {
opacity: 1 !important;
}


stdenv: consistent phases header

Description of changes
Make phases header consistent for all phases. This enables easier search and
navigation in build logs by always searching for string Starting phase <PHASE> if you want to see the output of a particular phase.
This PR is extracting one of the changes proposed in https://github.com/NixOS/nixpkgs/pull/257229 .

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Thanks

@Artturin , I still can't see this change in master branch. Is it because staging branch is still not merged to master ?

https://nixpk.gs/pr-tracker.html?pr=267647
Staging must've been going slow because of the 23.11 Release preparations
There was at least one staging-next but it only had important changes in it IIRC

https://nixpk.gs/pr-tracker.html?pr=267647
Staging must've been going slow because of the 23.11 release preparations
There was at least one staging-next but it only had important changes in it IIRC

Thank you very much for explanation.


problem when parsing multiple citations within one set of square brackets

Parsing [see, e.g., @Smith12] produces (see, e.g., Smith 2012).
In contrast, parsing [see, e.g., @Smith12, @Smith13] produces (see, e.g., Smith 2012, Smith (2013)).  Note the extra, nested parentheses for Smith (2013).
This happens when exporting to PDF, docx, and HTML.
Is this a bug?  If it is not a bug, is there a simple workaround?

Multiple citations in the same bracket should be separated by a semicolon ; instead of a comma.

Many thanks for the fast response!


libvisio: set strictDeps, remove unneeded configureFlags

Description of changes

Things done

Built on platform(s)

[x] x86_64-linux
[x] riscv64-linux (cross)
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 229072 run on x86_64-linux 1

2 packages failed to build:

spring
springLobby

63 packages built:

adapta-gtk-theme
arc-theme
arx-libertatis
asciidoc-full
asciidoc-full-with-plugins
asciidoc-full-with-plugins.dist
asciidoc-full.dist
ayu-theme-gtk
capitaine-cursors
cinnamon.cinnamon-screensaver
cinnamon.iso-flags-png-320x420
cinnamon.iso-flags-svg
clevis
clevis.man
coreboot-configurator
dblatexFull
disorderfs
emojione
fim
hikounomizu
inkscape
inkscape-with-extensions
iso-flags
jpsxdec
k40-whisperer
kabeljau
kakounePlugins.rep
libreoffice (libreoffice-still)
libreoffice-fresh
libreoffice-fresh-unwrapped
libreoffice-qt
libreoffice-still-unwrapped
libvisio
libvisio.bin
libvisio.dev
libvisio.doc
libvisio2svg
luksmeta
mate.mate-utils
mojave-gtk-theme
numix-cursor-theme
numix-solarized-gtk-theme
paperwork
paperwork.dist
plata-theme
pop-gtk-theme
python310Packages.diagrams
python310Packages.diagrams.dist
python310Packages.paperwork-backend
python310Packages.paperwork-backend.dist
python310Packages.paperwork-shell
python310Packages.paperwork-shell.dist
python311Packages.diagrams
python311Packages.diagrams.dist
python311Packages.paperwork-backend
python311Packages.paperwork-backend.dist
python311Packages.paperwork-shell
python311Packages.paperwork-shell.dist
tang
tang.man
unoconv
volantes-cursors
wpa_supplicant_gui


Incorrect return types for Promise#catch and 0- and 2- arg forms of Promise#then

Expression (p: Promise<boolean>) | Correct type | Current type
--- | --- | --- | ---
p.then() | Promise<boolean> | Promise<{}>
p.then(b => 1) | Promise<number> | Promise<number>
p.then(b => 1, e => 'error') | Promise<number | string> | Promise<number>
p.then(b => 1, e => {}) | Promise<number | void> | Promise<number>
p.then(b => 1, e => {throw Error()}) | Promise<number> | Promise<number>
p.then(b => 1, e => Promise.reject(Error())) | Promise<number> | Promise<number>
p.catch(e => 'error') | Promise<boolean | string> | Promise<boolean>
p.catch(e => {}) | Promise<boolean | void> | Promise<boolean>
p.catch(e => {throw Error()}) | Promise<boolean> | Promise<boolean>
p.catch(e => Promise.reject(Error())) | Promise<boolean> | Promise<boolean>
Using overloading and the new never type, PromiseLike/Promise could be typed to handle all these cases correctly:
interface PromiseLike<T> {
    then(): PromiseLike<T>;
    then<R1>(onfulfilled: (value: T) => R1 | PromiseLike<R1>): PromiseLike<R1>;
    then<R1, R2>(onfulfilled: (value: T) => R1 | PromiseLike<R1>,
                 onrejected: (reason: any) => R2 | PromiseLike<R2>): PromiseLike<R1 | R2>;
}

interface Promise<T> {
    then(): Promise<T>;
    then<R1>(onfulfilled: (value: T) => R1 | PromiseLike<R1>): Promise<R1>;
    then<R1, R2>(onfulfilled: (value: T) => R1 | PromiseLike<R1>,
                 onrejected: (reason: any) => R2 | PromiseLike<R2>): Promise<R1 | R2>;
    catch<R2>(onrejected: (reason: any) => R2 | PromiseLike<R2>): Promise<T | R2>;
}

declare var Promise: {
    reject(reason: any): Promise<never>; // Returned promise is never fulfilled
};

//cc: @rbuckton

There are a few things we need to fix in the checker for properly handling never in these cases with async functions, and there's a breaking change in the definition for PromiseLike and Promise that needs to be resolved, but this seems like the right direction.


Update LICENSE.txt

There were the following issues with your Pull Request

Commit: 500bffdfb57e0f2dbf8f0b4469875c2f1459a184
Commits must be in the following format: %{type}(%{scope}): %{description}

Guidelines are available at https://github.com/coveralls-clients/coveralls-python

This message was auto-generated by https://gitcop.com


Trouble calling  ToMany field into generateXml

INSERT SHORT DESCRIPTION EXPLAINING THE HIGH-LEVEL REASON FOR THE NEW ISSUE HERE.
Current behavior
I'm creating a custom XML to feed into a job board, per respective job board specs.
I'm using the generateRSS section of the generateXml.ts file to create this XML.
I'm 99% done... but I can't properly call the data that resides in the "name" field for the Picker: Specialty.
Here is the 'raw data' code from my REST API:
"specialties":{"total":1,"data":[{"id":2000111,"name":"Neurology"}]},
which is interesting... because a similar "Picker" Category looks different, like this:
"publishedCategory":{"id":2000018,"name":"Physician"}
Here is my URL call info: (after my swimlane/Corp Token)
search/JobOrder?query=(isOpen:1%20AND%20isDeleted:0)${getQuery(appConfig)}&fields=id,title,address(city,state,zip),employmentType,dateLastPublished,publicDescription,customText3,customText4,customText5,responseUser(id),specialties1&count=500&sort=-dateLastPublished&start=0`
And if I call using this in the Children section of "job"
{ name: 'specialty', text: job.specialties }  ====>  produces [object Object] in the XML.
{ name: 'specialty', text: job.specialties.name }  ====> produces a crash, "undefined" name property
I've tried a million different options.
the index.d.ts file shows
export declare type ToMany = ToManyRef | T[];
export interface ToManyRef {
total: number;
data: T[];
}
I've been working with ChatGPT on many other customizations I've done to the site, with much success.  But I can't get this one figured...
This website says "ToMany" fields are pulled through the API "unnested".  http://bullhorn.github.io/rest-api-docs/#get-file

Expected behavior
I just want the specialty field to flow through to my XML, like all the other data is.
Steps to replicate behavior

all I mentioned

Screenshots
Current
Expected

Here's the XML with code " job.specialties"

here's the code with { name: 'specialty', text: job.specialties }


Main Browser Window does not appear.

Hi,
I've just updated the Electron .NET nuget package to the latest one. Since then, the application does not start in the Electorn Browser Window anymore when I run "electronize start".  The last lines prompted are:
MyApplication\obj\Host\node_modules.bin>electron.cmd "....\main.js"
Electron Socket IO Port: 8005
Electron Socket started on port 8005 at <IP_ADDRESS>
ASP.NET Core Port: 8006
...and then nothing happens.
Even when I build the application (electornize build /target win) and install it, the application starts but nothing happens.
I'm using .NET Core 3.1 under Win 10.
How can I solve the issue?
Thanks,
hhfranzo

I solved the issue by myself.
I deleted the bin and obj folders, re-run everything and now it works!


new interstitial option

Implement the option to use the special OutOfPageSlot interstitial format.
How to test
Update dependency to beta version:
<EMAIL_ADDRESS>
Create an ad with this config:
config = {
    slots: [
        {
            id: "div-slot",
            path: "/6355419/Travel/Europe",
            sizes: [[100, 100]]
        }
    ],
    interstitialSlot: {
        path: '/6355419/Travel/Europe/France/Paris'
    }
};

@vonHarry A general question: an interstitial is a kind of out of page slot, wouldn't it make sense to use the existing out of page slot configuration mechanism we have, and adjust that so it can be used for interstitials, instead of adding a whole new type of configuration option only for interstitials?

@vonHarry A general question: an interstitial is a kind of out of page slot, wouldn't it make sense to use the existing out of page slot configuration mechanism we have, and adjust that so it can be used for interstitials, instead of adding a whole new type of configuration option only for interstitials?

I decided to separate the interstitial logic from the outOfPage code because there would be too much entanglement of checks to handle the interstitial in the scope of outOfPage. You can only have one and there is no display trigger and no id. I find it easier to have this logic separate instead of adding extra logic to check that there is only one interstitial in the outOfPage array and to have a check in the display logic of outOfPage to ignore if interstitial...
The Interstitial works so much different than the default outOfPage format. I makes more sense for me to separate this. Another reason is, that the interstitial is still beta and future changes is easier to handle if it is separate dedicated code.


Somehow remove reference to HTTP_CF_CONNECTING_IP

There's "hardcoded" (I mean, it is, but it falls back to Laravel's default Request::ip()) HTTP_CF_CONNECTING_IP header referenced in there somewhere.
Ideally, implementers would be able to override IPs themselves.

Could use X-Forwarded-For, which isn't exactly the same but can be made to work, too: https://developers.cloudflare.com/fundamentals/get-started/reference/http-request-headers/#x-forwarded-for


Discretizer

a port from koala

Ported discretiser from Koala

@tlienart As I stated above, none of the ToIntTransformer code (ported from Koala) is relevant in the MLJ setting and could be dumped. I think removing this should resolve most of your comments above.

@vollmersj Can you remove the ToIntTransformer code?

done

there's still a few comments that apply I reckon

Re: the travis fail. There is no need to annotate the type of v here:
function MLJBase.transform(transformer::UnivariateDiscretizer, result,
                  v) where (scitype(v) <: AbstractVector{Continuous})
   w=[transform(transformer, result, r) for r in v]
   return categorical(w, ordered=true)
end

Your trait declaration
MLJBase.input_scitype(::Type{<:UnivariateDiscretizer})  = AbstractVector{<:MLJBase.Continuous}

ensures that you method is never called with the wrong type.

I have added some stuff to ensure the output of the discretizer has elements with the same categorical pool every time, as well as some helper functions for dealing with categorical data that should be moved to MLJBase at some point.

@vollmersj Many thanks for your work on this!


WOFF2 support

Have you tried using WOFF2 assets instead of TTF/OTF ? File-size is reduced greatly (asset folder goes from 897KB to 282KB)
There's no real info about official support other than the announcement in Safari's patch notes (WOFF2 works in iOS >= 10). Adding support for WOFF2 (with WOFF fallback for earlier iOS versions) is quite simple since it only required modifying a single line of code
Maybe push it as a new sub-spec ?

Thanks for the suggestion, but I prefer to keep using the most common TTF/OTF format.


Help Wanted: Chapter on Windows setup with IIS

Thanks to Golang, we have a Windows build included in each release of the Mattermost server, but we don't have a chapter in our install guide to walk people through how to set it up properly.
This ticket is to copy an paste one of our Linux install guides to create the Windows server setup chapter with IIS.
Once the chapter is ready, it could be announced to the people who have voted for this feature previously to help test and provide feedback before we announce Windows support as official (or possibly beta, depending on how the testing goes).

Windows install guide now up at https://docs.mattermost.com/install/prod-windows-2012.html
Thanks @shieldsjared!

Hey Guys!  I've just got done installing this, I have a few issues, then I'll get to some feedback:
Ref:  https://docs.mattermost.com/install/prod-windows-2012.html
1 - Is it possible to set Base URL?  Tracking there is still an open issue from two years ago:
https://mattermost.atlassian.net/browse/PLT-200
Background:  With IIS rewrite rules, if you place the Application under an already existing IIS website via virtual DIR (which is what MOST users would do), this method won't work for reverse proxy using IIS.  Essentially, MM will run on the local server via IP:port, and WILL also run if you configure MM in IIS with sub-domain matermost.domain....but this becomes a real problem if you are using SSL, because you'll have to get a new cert for that subdomain.
Recommendation:
Use a Sub Directory VIA Virtual Directories.  so instead of MM.domain.com  it would be domain.com/MM   This allows for two things:
-no need for wildcard SSL certs
-all of the config that needs to happen to enable MM to work in IIS is now confined to it's own "child website" so you won't need to mess with the root/default website's settings.
***THIS DOES NOT WORK unless you are able to add a root URL within the MM config.  Otherwise URL rewrite will not work because the MM application is NOT actually hosted within IIS
You'll get the error:  "We’re having trouble connecting to Mattermost. If refreshing this page (Ctrl+R or Command+R) does not work, please verify that your computer is connected to the internet."  eventho if you access the website directly via IP:Port, you'll see that there is obviously a connection to the WAN.  "
And these errors in the browser console:
Failed to load resource: the server responded with a status of 404 (Not Found)
mattermost:1 Uncaught TypeError: window.setup_root is not a function
    at mattermost:1
bundle.js:21471 [Violation] 'setTimeout' handler took 71ms

Here are my rewrite rules for IIS so you guys can reproduce.  Again, be sure to create a virtual directory in IIS and point the VD to C:\mattermost,  once you create that VD in IIS, you'll then get a web.config file there, and use these rewrite rules (which are the same you guys authored in the tutorial above, however, replacing MM.domain.com with domain.com/MM
so this, file is in c:\mattermost\web.config
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <clear />
                <rule name="ReverseProxyInboundMatterMost" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
                    <action type="Rewrite" url="http://localhost:8065/{R:1}" />
                </rule>
            </rules>
            <outboundRules>
                <clear />
                <rule name="RestoreAcceptEncoding" preCondition="NeedsRestoringAcceptEncoding" enabled="true">
                    <match serverVariable="HTTP_ACCEPT_ENCODING" pattern="^(.*)" />
                    <conditions logicalGrouping="MatchAll" trackAllCaptures="true" />
                    <action type="Rewrite" value="{HTTP_X_ORIGINAL_ACCEPT_ENCODING}" />
                </rule>
                <rule name="ReverseProxyOutboundMattermost" preCondition="ResponseIsHtml1">
                    <match filterByTags="A, Area, Base, Form, Frame, Head, IFrame, Img, Input, Link, Script" pattern="^http(s)?://localhost:8065/(.*)" />
                    <conditions logicalGrouping="MatchAll" trackAllCaptures="true" />
                    <action type="Rewrite" value="http{R:1}://DOMAIN.com/mattermost/{R:2}" />
                </rule>
            </outboundRules>
        </rewrite>
        <urlCompression doDynamicCompression="false" />
    </system.webServer>
</configuration>

Changing directions:
HUGE POINT:  this works on windows 10...doesn't have to be Server BTW.

does the windows install still work? i cant seem to find the download for windows?

@AWDDude  yes, it works.
Gotta direct DL like below.  Replace the two version numbers with the latest version
https://releases.mattermost.com/4.7.4/mattermost-team-4.7.4-windows-amd64.zip

@svelle - Can you confirm whether install and setup via Windows with IIS is an officially supported configuration? If it's not, we'll want to move this content to the User Forum, rather than add it to the product documentation site.

@cwarnermm Mattermost Server on Windows is not supported.

Thanks for the confirmation! Given that this content was last proposed in 2016, the content itself may be quite outdated by now. Closing.


fix: S3 paths with fragments not working

S3 paths with url fragments do not work with the Metaflow S3 client, but do work with boto3 directly. The cause is that any key we pass to S3 methods goes through urlparse, of which we only use netloc and path. Fragments get parsed into their own key in the ParseResult.

I'll check. I suspect it's some flaky tests (we have been having a few that I haven't fixed yet).


Adding conflist support in Multus

Referred to #29 issue.
How to test the PR ?

Check the 07_ptp_tuning_conflist.yml in the PR, this conflist have ptp and tuning. The ptp is to provide the point-to-point network connection and tuning plugin can change some system controls (sysctls) in the network namespace.

# cat examples/npwg-demo-1/07_ptp_tuning_conflist.yml
---
apiVersion: "k8s.cni.cncf.io/v1"
kind: NetworkAttachmentDefinition
metadata:
  name: ptp-tuning-conflist
spec:
  config: '{
        "cniVersion": "0.3.1",
        "name": "ptp-tuning-conflist",
        "plugins": [{
                        "type": "ptp",
                        "ipMasq": true,
                        "mtu": 512,
                        "ipam": {
                                "type": "host-local",
                                "subnet": "<IP_ADDRESS>/24"
                        },
                        "dns": {
                                "nameservers": ["<IP_ADDRESS>"]
                        }
                },
                {
                        "name": "mytuning",
                        "type": "tuning",
                        "sysctl": {
                                "net.core.somaxconn": "500"
                        }
                }
        ]
}'

Create the conflist network object

# kubectl create -f examples/npwg-demo-1/07_ptp_tuning_conflist.yml
networkattachmentdefinition.k8s.cni.cncf.io/ptp-tuning-conflist created

Pod have ptp tuning conflist network object

# cat examples/npwg-demo-1/15_pod_case5.yml
---
apiVersion: v1
kind: Pod
metadata:
  name: pod-case-05
  annotations:
    k8s.v1.cni.cncf.io/networks: '[
            { "name": "ptp-tuning-conflist" }
    ]'
spec:
  containers:
  - name: pod-case-05
    image: docker.io/centos/tools:latest
    command:
    - /sbin/init

# kubectl create -f examples/npwg-demo-1/15_pod_case5.yml
pod/pod-case-05 created

# kubectl get pods
NAME          READY     STATUS    RESTARTS   AGE
pod-case-05   1/1       Running   0          1m

Pod having ptp as the 2nd network

# kubectl exec -it pod-case-05 -- ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1450
        inet <IP_ADDRESS>  netmask <IP_ADDRESS>  broadcast <IP_ADDRESS>
        ether 5a:cc:37:37:6b:f8  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1  bytes 42 (42.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet <IP_ADDRESS>  netmask <IP_ADDRESS>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

net1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 512
        inet <IP_ADDRESS>  netmask <IP_ADDRESS>  broadcast <IP_ADDRESS>
        ether 52:1a:cd:65:1f:2a  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Tuning plugin will set /proc/sys/net/core/somaxconn to 500

# kubectl exec -it pod-case-05 -- cat /proc/sys/net/core/somaxconn
500

@s1061123 @dougbtv and @dcbw : Please review the conflist support in Multus

@s1061123 @dougbtv @dcbw resolved the conflict. I will rebase and merge it now.. have to work on #87 rebase.