Mechanism to specify Krustlet's Pod CIDR?

TL;DR Should the Krustlet include a flag to specify its Pod CIDR?

I'm on thin ice here, so feel free to close if this is a non-sensible request.
The Krustlet appears to always grab <IP_ADDRESS>/24 as the CIDR for its pods.
kubectl get node/krustlet \
--output=jsonpath='{.spec.podCIDR}'
<IP_ADDRESS>/24

Running on (a single node) MicroK8s cluster, both nodes use the same CIDR range:
kubectl get nodes \
--output=jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.spec.podCIDR}{"\n"}{end}'
hades-canyon	<IP_ADDRESS>/24
krustlet	<IP_ADDRESS>/24

Running on a multi-node GKE cluster, GKE shards a CIDR range over its nodes:
kubectl get nodes \
--output=jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.spec.podCIDR}{"\n"}{end}'
gke-clepsydra-default-pool-4c7699d9-dtq1	<IP_ADDRESS>/24
gke-clepsydra-default-pool-c8f03ba5-39v8	<IP_ADDRESS>/24
gke-clepsydra-default-pool-e515bbeb-v5hc	<IP_ADDRESS>/24
krustlet-01	<IP_ADDRESS>/24
krustlet-02	<IP_ADDRESS>/24
krustlet-03	<IP_ADDRESS>/24

NOTE The GKE nodes are sharded across <IP_ADDRESS>/16
NOTE The Krustlets all use <IP_ADDRESS>/24

IIUC this could result in:

Pods on different nodes colliding over the same PodIP?
Routing conflicts

IIUC on Google Cloud Platform, each node (Krustlet) joining the Kubernetes cluster, creates routes in the underlying network fabric to enable the platform to route traffic correctly. With one Krustlet, it has a unique CIDR (<IP_ADDRESS>/24) and so I think all's OK. But, with multiple Krustlets joining, I think there's an issue:
gcloud compute routes list \
--filter=description="k8s-node-route" \
--format="table(destRange,nextHopInstance.scope())" \
--project=${PROJECT}

yields:
DEST_RANGE     NEXT_HOP_INSTANCE
<IP_ADDRESS>/24   us-west1-a/instances/gke-clepsydra-default-pool-c8f03ba5-39v8
<IP_ADDRESS>/24   us-west1-c/instances/gke-clepsydra-default-pool-4c7699d9-dtq1
<IP_ADDRESS>/24   us-west1-b/instances/gke-clepsydra-default-pool-e515bbeb-v5hc
<IP_ADDRESS>/24  us-west1-a/instances/krustlet-01

The regular GKE nodes have unique Pod CIDRs and so they have unique routes. The Krustlets will attempt to share <IP_ADDRESS>/24 and collide!?
I think it would be useful|necessary to include a flag to define the Pod CIDR for the node:
--pod-cidr="<IP_ADDRESS>/24"

https://github.com/deislabs/krustlet/blob/6d2cbfe119cf893761a09c527189dfbec29f5177/crates/kubelet/src/node.rs#L597

Is this something we want to do?  If so, I can take it.

Yeah. As @DazWilkin pointed out, while this may not affect Krustlet itself, it will affect routing within certain cloud providers.
It looks now that one can set the pod CIDR by using set_pod_cidr. This can be done within a Provider by overriding node. This has not been implemented by the wasmtime or wascc providers, however that can be achieved if we introduce a new config parameter to set the pod CIDR and read from that config value inside .node.

Yeah. As @DazWilkin pointed out, while this may not affect Krustlet itself, it will affect routing within certain cloud providers.
It looks now that one can set the pod CIDR by using set_pod_cidr. This can be done within a Provider by overriding node. This has not been implemented by the wasmtime or wascc providers, however that can be achieved if we introduce a new config parameter to set the pod CIDR and read from that config value inside .node.

FYI for others stumbling across this:
set_pod_cidr doesn't take an Option but podCIDR is optional in Kubernetes.
By specifying an empty string one can still get it to work but that's not a very Rusty API I think.
We found this issue because this can bring down K8s Clusters (the control plane) down: https://github.com/kubernetes/kubernetes/issues/95948
I have looked at the virtual-kubelet and it doesn't seem to set podCIDR at all.
I'd say it makes sense to change the Krustlet default behavior as well.

Paging @pires just in case he has any comments on the virtual-kubelet behavior.

VK has no opinion when it comes to Pod CIDR. A provider or the kube-controller-manager can specify the respective Node attribute.


Auth0 Expiration

Using this awesome library, I've got my ember apps talking to Auth0 and talking securely to my backend API. However, when the token expires, my backend API detects that and replies with a 401. ember-simple-auth should invalidate the session and then I would need to re-login or renew the session. Instead, I get two errors from Ember: Error while processing route (model failed) and The adapter operation was aborted.
Any suggestions on what I am doing wrong?
I'm using the ApplicationRouteMixin and DataAdapterMixin and using Ember Data to query the server.
Relevant versions:

ember-cli: 2.13.2
ember-simple-auth: 1.2.2
ember-simple-auth-auth0: 3.0.1
auth0.js: 8.6.0
auth0-lock: 10.15.1

Finally figured this out. Turns out that my Web API backend wasn't sending the proper CORS headers back with the 401 response. Thus ember-simple-auth couldn't process it because the browser errored out.


[BUG] Snowpack build watch ignores package options external

Bug Report Quick Checklist

[x] I am on the latest version of Snowpack & all plugins.
[x] I use package manager<EMAIL_ADDRESS>(Fill in: npm, yarn, pnpm, etc).
[x] I run Snowpack on OS macOS Big Sur 11.2.3 (Fill in: Windows, Mac, Linux, etc).
[x] I run Snowpack on Node.js v12+ (v14.16.1)

Describe the bug
Trying to build Node apps using Snowpack (a la this discussion) it appears that the installOptions.externalPackage (now packageOptions.external) is not respected/checked during build when watch is true (it works perfectly fine during build when watch is false) … perhaps the watch path doesn't flow through (or flows through a different) importResolver?
To Reproduce

npm init snowpack-app --template @snowpack/app-template-minimal
npm add ws bufferutil utf-8-validate (I believe this'd happen with any modules that depend on Node built-ins)
rm index.html index.css
mkdir src
mv index.js src
mv snowpack.config.js snowpack.config.cjs
So the directory structure looks like this:tree --dirsfirst
.
├── src
│   └── index.js
├── README.md
├── package-lock.json
├── package.json
└── snowpack.config.cjs

Set "type": "module" and add a "watch" script so your package.json looks like this:{
  "type": "module",
  "scripts": {
    "start": "snowpack dev",
    "build": "snowpack build",
    "watch": "snowpack build --watch",
    "test": "echo \"This template does not include a test runner by default.\" && exit 1"
  },
  "dependencies": {
    "bufferutil": "^4.0.3",
    "utf-8-validate": "^5.0.4",
    "ws": "^7.4.5"
  },
  "devDependencies": {
    "snowpack": "^3.3.5"
  }
}

Update snowpack.config.cjs (needs to be .cjs to use module.exports in a "type": "module" context):/** @type {import("snowpack").SnowpackUserConfig } */
module.exports = {
  mount: {
    src: "/",
  },
  packageOptions: {
    external: [
      "crypto",
      "events",
      "fs",
      "http",
      "https",
      "net",
      "os",
      "path",
      "stream",
      "tls",
      "url",
      "zlib",
    ],
  },
};

Set up a simple server in index.js:import { createServer } from "http";
import Server from "ws/lib/websocket-server";

const server = createServer();
const socketServer = new Server({ server });

socketServer.on("connection", () => {
  console.log("connection");
});

server.listen(8080, () => {
  console.log("server listening on 8080");
});

Run npm run build (no errors) node build works (logs "server listening on 8080")$ npm run build

> build
> snowpack build

[14:06:56] [snowpack] ! building files...
[14:06:56] [snowpack] ✔ files built. [0.03s]
[14:06:56] [snowpack] ! building dependencies...
[14:06:56] [esinstall] @rollup/plugin-replace: 'preventAssignment' currently defaults to false. It is recommended to set this option to `true`, as the next major version will default this option to `true`.
[14:06:57] [snowpack] ✔ dependencies built. [0.68s]
[14:06:57] [snowpack] ! writing to disk...
[14:06:57] [snowpack] ✔ write complete. [0.00s]
[14:06:57] [snowpack] ▶ Build Complete!

$ node build
server listening on 8080

Run npm run watch (so that you might serve build with Nodemon, and run Nodemon and watch concurrently)
See error!$ npm run watch

> watch
> snowpack build --watch

[14:06:02] [snowpack] ! building files...
[14:06:02] [snowpack] ✔ files built. [0.04s]
[14:06:02] [snowpack] ! building dependencies...
[14:06:02] [snowpack] Welcome to Snowpack! Because this is your first time running
this project, Snowpack needs to prepare your dependencies. This is a one-time step
and the results will be cached for the lifetime of your project. Please wait...
[14:06:02] [snowpack] +<EMAIL_ADDRESS>[14:06:02] [esinstall:ws/lib/websocket-server] @rollup/plugin-replace: 'preventAssignment' currently defaults to false. It is recommended to set this option to `true`, as the next major version will default this option to `true`.
[14:06:03] [esinstall:ws/lib/websocket-server] /Users/matt/Sites/spikes/snowpack-build-watch-packages-external/node_modules/ws/lib/websocket-server.js
    Module "events" (Node.js built-in) is not available in the browser. Run Snowpack with --polyfill-node to fix.
[14:06:03] [esinstall:ws/lib/websocket-server] /Users/matt/Sites/spikes/snowpack-build-watch-packages-external/node_modules/ws/lib/websocket-server.js
    Module "crypto" (Node.js built-in) is not available in the browser. Run Snowpack with --polyfill-node to fix.
[14:06:03] [esinstall:ws/lib/websocket-server] /Users/matt/Sites/spikes/snowpack-build-watch-packages-external/node_modules/ws/lib/websocket-server.js
    Module "http" (Node.js built-in) is not available in the browser. Run Snowpack with --polyfill-node to fix.
[14:06:03] [esinstall:ws/lib/websocket-server] /Users/matt/Sites/spikes/snowpack-build-watch-packages-external/node_modules/ws/lib/websocket-server.js
    Module "crypto" (Node.js built-in) is not available in the browser. Run Snowpack with --polyfill-node to fix.
[14:06:03] [esinstall:ws/lib/websocket-server] /Users/matt/Sites/spikes/snowpack-build-watch-packages-external/node_modules/ws/lib/websocket-server.js
    Module "http" (Node.js built-in) is not available in the browser. Run Snowpack with --polyfill-node to fix.
[14:06:03] [esinstall:ws/lib/websocket-server] /Users/matt/Sites/spikes/snowpack-build-watch-packages-external/node_modules/ws/lib/websocket-server.js
    Module "events" (Node.js built-in) is not available in the browser. Run Snowpack with --polyfill-node to fix.
[14:06:03] [esinstall:ws/lib/websocket-server] /Users/matt/Sites/spikes/snowpack-build-watch-packages-external/node_modules/ws/lib/permessage-deflate.js
    Module "zlib" (Node.js built-in) is not available in the browser
[14:06:03] [esinstall:ws/lib/websocket-server] /Users/matt/Sites/spikes/snowpack-build-watch-packages-external/node_modules/ws/lib/permessage-deflate.js
    Module "zlib" (Node.js built-in) is not available in the browser. Run Snowpack with --polyfill-node to fix. (x2)
[14:06:03] [esinstall:ws/lib/websocket-server] events?commonjs-external
    Module "events" (Node.js built-in) is not available in the browser. Run Snowpack with --polyfill-node to fix.
[14:06:03] [esinstall:ws/lib/websocket-server] http?commonjs-external
    Module "http" (Node.js built-in) is not available in the browser. Run Snowpack with --polyfill-node to fix.
[14:06:03] [esinstall:ws/lib/websocket-server] /Users/matt/Sites/spikes/snowpack-build-watch-packages-external/node_modules/ws/lib/websocket.js
    Module "https" (Node.js built-in) is not available in the browser. Run Snowpack with --polyfill-node to fix.
[14:06:03] [esinstall:ws/lib/websocket-server] /Users/matt/Sites/spikes/snowpack-build-watch-packages-external/node_modules/ws/lib/websocket.js
    Module "events" (Node.js built-in) is not available in the browser. Run Snowpack with --polyfill-node to fix.
[14:06:03] [esinstall:ws/lib/websocket-server] /Users/matt/Sites/spikes/snowpack-build-watch-packages-external/node_modules/ws/lib/websocket.js
    Module "crypto" (Node.js built-in) is not available in the browser. Run Snowpack with --polyfill-node to fix.
[14:06:03] [esinstall:ws/lib/websocket-server] /Users/matt/Sites/spikes/snowpack-build-watch-packages-external/node_modules/ws/lib/websocket.js
    Module "tls" (Node.js built-in) is not available in the browser. Run Snowpack with --polyfill-node to fix.
[14:06:03] [esinstall:ws/lib/websocket-server] /Users/matt/Sites/spikes/snowpack-build-watch-packages-external/node_modules/ws/lib/websocket.js
    Module "http" (Node.js built-in) is not available in the browser. Run Snowpack with --polyfill-node to fix.
[14:06:03] [esinstall:ws/lib/websocket-server] /Users/matt/Sites/spikes/snowpack-build-watch-packages-external/node_modules/ws/lib/websocket.js
    Module "net" (Node.js built-in) is not available in the browser. Run Snowpack with --polyfill-node to fix.
[14:06:03] [esinstall:ws/lib/websocket-server] /Users/matt/Sites/spikes/snowpack-build-watch-packages-external/node_modules/ws/lib/websocket.js
    Module "url" (Node.js built-in) is not available in the browser. Run Snowpack with --polyfill-node to fix.
[14:06:03] [esinstall:ws/lib/websocket-server] /Users/matt/Sites/spikes/snowpack-build-watch-packages-external/node_modules/ws/lib/websocket.js
    Module "events" (Node.js built-in) is not available in the browser. Run Snowpack with --polyfill-node to fix.
[14:06:03] [esinstall:ws/lib/websocket-server] /Users/matt/Sites/spikes/snowpack-build-watch-packages-external/node_modules/ws/lib/websocket.js
    Module "http" (Node.js built-in) is not available in the browser. Run Snowpack with --polyfill-node to fix.
[14:06:03] [esinstall:ws/lib/websocket-server] /Users/matt/Sites/spikes/snowpack-build-watch-packages-external/node_modules/ws/lib/websocket.js
    Module "net" (Node.js built-in) is not available in the browser. Run Snowpack with --polyfill-node to fix.
[14:06:03] [esinstall:ws/lib/websocket-server] /Users/matt/Sites/spikes/snowpack-build-watch-packages-external/node_modules/ws/lib/websocket.js
    Module "https" (Node.js built-in) is not available in the browser. Run Snowpack with --polyfill-node to fix.
[14:06:03] [esinstall:ws/lib/websocket-server] /Users/matt/Sites/spikes/snowpack-build-watch-packages-external/node_modules/ws/lib/websocket.js
    Module "tls" (Node.js built-in) is not available in the browser. Run Snowpack with --polyfill-node to fix.
[14:06:03] [esinstall:ws/lib/websocket-server] /Users/matt/Sites/spikes/snowpack-build-watch-packages-external/node_modules/ws/lib/websocket.js
    Module "crypto" (Node.js built-in) is not available in the browser. Run Snowpack with --polyfill-node to fix.
[14:06:03] [esinstall:ws/lib/websocket-server] /Users/matt/Sites/spikes/snowpack-build-watch-packages-external/node_modules/ws/lib/websocket.js
    Module "url" (Node.js built-in) is not available in the browser. Run Snowpack with --polyfill-node to fix.
[14:06:03] [esinstall:ws/lib/websocket-server] crypto?commonjs-external
    Module "crypto" (Node.js built-in) is not available in the browser. Run Snowpack with --polyfill-node to fix.
[14:06:03] [esinstall:ws/lib/websocket-server] zlib?commonjs-external
    Module "zlib" (Node.js built-in) is not available in the browser. Run Snowpack with --polyfill-node to fix.
[14:06:03] [esinstall:ws/lib/websocket-server] tls?commonjs-external
    Module "tls" (Node.js built-in) is not available in the browser. Run Snowpack with --polyfill-node to fix.
[14:06:03] [esinstall:ws/lib/websocket-server] net?commonjs-external
    Module "net" (Node.js built-in) is not available in the browser. Run Snowpack with --polyfill-node to fix.
[14:06:03] [esinstall:ws/lib/websocket-server] url?commonjs-external
    Module "url" (Node.js built-in) is not available in the browser. Run Snowpack with --polyfill-node to fix.
[14:06:03] [esinstall:ws/lib/websocket-server] https?commonjs-external
    Module "https" (Node.js built-in) is not available in the browser. Run Snowpack with --polyfill-node to fix.
[14:06:03] [esinstall:ws/lib/websocket-server] /Users/matt/Sites/spikes/snowpack-build-watch-packages-external/node_modules/ws/lib/sender.js
    Module "crypto" (Node.js built-in) is not available in the brows
[14:06:03] [esinstall:ws/lib/websocket-server] /Users/matt/Sites/spikes/snowpack-build-watch-packages-external/node_modules/ws/lib/sender.js
    Module "crypto" (Node.js built-in) is not available in the browser. Run Snowpack with --polyfill-node to fix. (x2)
[14:06:03] [esinstall:ws/lib/websocket-server] /Users/matt/Sites/spikes/snowpack-build-watch-packages-external/node_modules/ws/lib/receiver.js
    Module "stream" (Node.js built-in) is not available in the brows
[14:06:03] [esinstall:ws/lib/websocket-server] /Users/matt/Sites/spikes/snowpack-build-watch-packages-external/node_modules/ws/lib/receiver.js
    Module "stream" (Node.js built-in) is not available in the browser. Run Snowpack with --polyfill-node to fix. (x2)
[14:06:03] [esinstall:ws/lib/websocket-server] stream?commonjs-external
    Module "stream" (Node.js built-in) is not available in the browser. Run Snowpack with --polyfill-node to fix.
[14:06:03] [snowpack] Install failed.
[14:06:03] [snowpack] Error: Install failed.
        at Object.install (/Users/matt/Sites/spikes/snowpack-build-watch-packages-external/node_modules/snowpack/lib/index.js:94503:23)
        at processTicksAndRejections (internal/process/task_queues.js:93:5)
        at async Object.installPackages (/Users/matt/Sites/spikes/snowpack-build-watch-packages-external/node_modules/snowpack/lib/index.js:122442:25)
        at async /Users/matt/Sites/spikes/snowpack-build-watch-packages-external/node_modules/snowpack/lib/index.js:123015:39
        at async PackageSourceLocal.buildPackageImport (/Users/matt/Sites/spikes/snowpack-build-watch-packages-external/node_modules/snowpack/lib/index.js:122930:30)
        at async PackageSourceLocal.prepare (/Users/matt/Sites/spikes/snowpack-build-watch-packages-external/node_modules/snowpack/lib/index.js:122710:13)
        at async Object.buildDependencies (/Users/matt/Sites/spikes/snowpack-build-watch-packages-external/node_modules/snowpack/lib/index.js:182595:9)
        at async build (/Users/matt/Sites/spikes/snowpack-build-watch-packages-external/node_modules/snowpack/lib/index.js:182683:5)
        at async Object.command (/Users/matt/Sites/spikes/snowpack-build-watch-packages-external/node_modules/snowpack/lib/index.js:182706:9)
        at async cli (/Users/matt/Sites/spikes/snowpack-build-watch-packages-external/node_modules/snowpack/lib/index.js:183016:9)
    ⠋ watching for file changes...%

Expected behavior
The build should work in watch mode, and rebuild on file changes.
Anything else?
I guess the real reason I would want to do something like this is to have a monorepo where client and server apps can exist alongside shared packages … Snowpack (with its esinstall mechanism) is the only satisfactory way I've found to prepare the server app (other approaches I've looked into include: Yarn (1 and 2), npm@7, Lerna, publish the local/shared packages, copy files around "by hand", use docker, etc. none seem clean or clear to me).
Being able to run an ESM-ified Node app seems like a nice side benefit maybe?

Pushed up a minimal repro repo here: https://github.com/mysterycommand/snowpack-build-watch-package-options-external


Chess Problems

Hi Chris,
first of all thanks for ChessBoardjs. I'm using it on my website with chess.js. Do you think chess problems view/solutions feature to chessboardjs?
regards,

I don't understand what you're asking here.

If you mean puzzles, sure. Just pass the FEN string for the puzzle and solution.


Savepoint improvements

Closes #142.
We still keep the requirement to nest transactions/savepoints, but users can provide their own savepoint names and savepoints can now be rolled back without consuming them. (Transactions are still consumed on rollback just like they are in SQLite.)

:thumbsup:


pouchdb-vhost

part of #197

unit tests are failing in very weird ways :/ reminds me of https://github.com/pouchdb/express-pouchdb/pull/356. I investigated a bit but couldn’t find the cause. I could work around the .hasOwnProperty bug but then others showed up and this is very hard to debug

I've seen this issue before. The tests will probably pass against CouchDB. I'm not quite sure how to fix it though.

the same tests fails on the https://github.com/pouchdb/pouchdb-vhost repository when tests are run in Node 6. I couldn’t event get them to run in 4 or 0.10 which is the version it’s currently set to run on Travis.
So I suggest we skip the failing tests and I create a follow up issue to figure out what is wrong


[FIX]: "Your teams" blob displaced in google chrome

Fixes #247
Screenshots (if visual changes)

Proposed Changes

The position of the "your teams" blob on chrome

This pull request closes #247

@all-contributors please add @joaosantos99  as contributor for code and docs


spoof_source_address cannot work alone

The mitmproxy version is 3.0.4
The python version is 3.6
The iptable rule :
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --match multiport --dport 80,443 -j REDIRECT --to-port 8080
The command to run :
mitmdump -p 8080 -s /etc/myscript/myscript.py -m transparent -q -k --certs *.mysite.com=/etc/mycert/mysite.pem --set spoof_source_address=true
The result :
502 Bad Gateway
ProtocolException('Server connection to ('<IP_ADDRESS>', 443) failed: Error connecting to "<IP_ADDRESS>": [Errno 99] Cannot assign requested address',)
The findings :
When "spoof_source_address" is used alone, it will crash with the captioned error.
When "spoof_source_address" used with "upstream_bind_address" and "upstream_bind_address" not blanks, it will running smoothly.
If "upstream_bind_address" is blanked with "spoof_source_address", it will also crash with the captioned error.
Can "spoof_source_address" work alone?  In my understanding, "spoof_source_address" will show the original source client IP address.  Am I right?

What you are seeing here is kind of expected:
https://github.com/mitmproxy/mitmproxy/blob/4cb96dedd0143cf9b6278d3622457e1e485b3090/mitmproxy/proxy/protocol/base.py#L120-L128

Can "spoof_source_address" work alone?

Yes

In my understanding, "spoof_source_address" will show the original source client IP address.

"Show"? Not really. If spoof_source_address is enabled, mitmproxy will send packets to the upstream server using the original client IP instead of its own. This requires a relatively complicated network setup where you have to make sure that traffic coming back from the server also goes through your proxy.
If you don't know exactly if you need this feature, you don't. You can always view the client's address in mitmproxy without this. If you do need this functionality, you have to figure out why your OS gives mitmproxy a "Cannot assign requested address" error, we can't help you with your Linux configuration. Sorry.

It works if you stick to v2.0.2.


deprecate BoseHubbardMom1D2C

Retire (in this PR deprecate)

BoseHubbardMom1D2C in favour of HubbardMom1D. Constructing the latter with a BoseFS2C address will eventually use the old type. We are just deprecating using the constructor for BoseHubbardMom1D2C. The reason is that we can change the internals later (e.g. generalise HubbardMom1Dfor arbitraryCompositeFS` types) without changing the user interface.
BoseHubbardReal1D2C in favour of HubbardRealSpace, which can handle composite addresses.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

16 of 19 (84.21%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.03%) to 94.994%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/Hamiltonians/HubbardMom1D.jl
11
14
78.57%

Totals

Change from base Build<PHONE_NUMBER>:
-0.03%

Covered Lines:
6737

Relevant Lines:
7092

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>4
Details

17 of 20 (85.0%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.03%) to 94.452%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/Hamiltonians/HubbardMom1D.jl
11
14
78.57%

Totals

Change from base Build<PHONE_NUMBER>3:
-0.03%

Covered Lines:
6589

Relevant Lines:
6976

💛  - Coveralls

Closing this in favour of #299


[HELP] Highlighted Syntax code blocks

Hi,
thanks for this precious job!
I am trying to integrate this library for formatting code documentation, how did you integrate syntax highlighting?
There is an extension for that?
Thanks a lot, Davide.

After some search I finally found the trick:
The library renders code in this way:

String foo="BAR";
for (int i=0; i<10; 1++) {
	System.out.println(foo + i);
}

language-java is used by PrismJS client side library to syntax highlight the code in the browser.

Hi @davidegurgone, thanks for the kind words.
Generated html contains language in class indeed (source), there is no default way to highlight it. IntelliJ IDEA, for example, uses own syntax highlighting engine for highlighting code blocks in preview. I think using PrismJS is a good choice!


VSCode crashes immediately after startup

VSCode Version: 1.51.1
OS Version: Debian 9

Steps to Reproduce:

Launch code

Does this issue occur when all extensions are disabled?: Yes
The problem is still there after a remove/install. It doesn't present itself with code-insiders.
This is what I get when I run code --verbose --log trace --disable-extensions --disable-gpu
Fontconfig warning: "/etc/fonts/fonts.conf", line 100: unknown element "blank"
[main 2020-12-04T11:44:53.907Z] Starting VS Code
[main 2020-12-04T11:44:53.908Z] from: /usr/share/code/resources/app
[main 2020-12-04T11:44:53.908Z] args: {
  _: [],
  diff: false,
  add: false,
  goto: false,
  'new-window': false,
  'reuse-window': false,
  wait: false,
  help: false,
  'list-extensions': false,
  'show-versions': false,
  version: false,
  verbose: true,
  log: 'trace',
  status: false,
  'prof-startup': false,
  'disable-extensions': true,
  'disable-gpu': true,
  telemetry: false,
  debugRenderer: false,
  logExtensionHostCommunication: false,
  'skip-release-notes': false,
  'disable-telemetry': false,
  'disable-updates': false,
  'disable-crash-reporter': false,
  'crash-reporter-id': 'efb29058-10d2-4b42-a356-fe059d4df9e1',
  'disable-user-env-probe': false,
  'skip-add-to-recently-opened': false,
  'unity-launch': false,
  'open-url': false,
  'file-write': false,
  'file-chmod': false,
  'driver-verbose': false,
  force: false,
  'do-not-sync': false,
  trace: false,
  'force-user-env': false,
  'open-devtools': false,
  'no-proxy-server': false,
  nolazy: false,
  'force-renderer-accessibility': false,
  'ignore-certificate-errors': false,
  'allow-insecure-localhost': false
}
[main 2020-12-04T11:44:53.910Z] Resolving machine identifier...
[main 2020-12-04T11:44:53.910Z] Resolved machine identifier: 2c1a6eda2c5c2ea04cb4df033f0849910aacb22bf3ab2444de1d10268337373b
[main 2020-12-04T11:44:53.939Z] [storage state.vscdb] open(/home/mattecapu/.config/Code/User/globalStorage/state.vscdb, retryOnBusy: true)
[main 2020-12-04T11:44:53.939Z] lifecycle (main): phase changed (value: 2)
[main 2020-12-04T11:44:53.939Z] windowsManager#open
[main 2020-12-04T11:44:53.940Z] windowsManager#open pathsToOpen [
  {
    folderUri: h {
      scheme: 'file',
      authority: '',
      path: '/data/uni/works/2020/DynamicalSystemsBook',
      query: '',
      fragment: '',
      _formatted: null,
      _fsPath: null
    },
    remoteAuthority: undefined,
    exists: true
  }
]
[main 2020-12-04T11:44:53.942Z] window#validateWindowState: validating window state on 1 display(s) { mode: 0, x: 562, y: 214, width: 804, height: 554 }
[main 2020-12-04T11:44:53.942Z] window#validateWindowState: 1 monitor working area { x: 0, y: 0, width: 1366, height: 768 }
[main 2020-12-04T11:44:53.942Z] window#ctor: using window state { mode: 0, x: 562, y: 214, width: 804, height: 554 }
[main 2020-12-04T11:44:54.018Z] windowsManager#open used window count 1 (workspacesToOpen: 0, foldersToOpen: 1, emptyToRestore: 0, emptyToOpen: 0)
[main 2020-12-04T11:44:54.038Z] lifecycle (main): phase changed (value: 3)
[main 2020-12-04T11:44:54.038Z] update#setState idle
[main 2020-12-04T11:44:54.079Z] getShellEnvironment: running on CLI, skipping
[main 2020-12-04T11:44:54.080Z] [storage state.vscdb] Trace (event): SELECT * FROM ItemTable
[main 2020-12-04T11:44:54.082Z] [storage state.vscdb] getItems(): 92 rows
[main 2020-12-04T11:44:54.182Z] [storage state.vscdb] updateItems(): insert(Map(3) {storage.serviceMachineId => 2a308bce-d610-4667-a4fa-621c5aae5c40, telemetry.lastSessionDate => Fri, 04 Dec 2020 11:40:03 GMT, telemetry.currentSessionDate => Fri, 04 Dec 2020 11:44:54 GMT}), delete(Set(0) {})
[main 2020-12-04T11:44:54.186Z] [storage state.vscdb] Trace (event): BEGIN TRANSACTION
[main 2020-12-04T11:44:54.187Z] [storage state.vscdb] Trace (event): INSERT INTO ItemTable VALUES ('storage.serviceMachineId','2a308bce-d610-4667-a4fa-621c5aae5c40'),('telemetry.lastSessionDate','Fri, 04 Dec 2020 11:40:03 GMT'),('telemetry.currentSessionDate','Fri, 04 Dec 2020 11:44:54 GMT')
[main 2020-12-04T11:44:54.188Z] [storage state.vscdb] Trace (event): END TRANSACTION
[2527:1204/124454.529530:INFO:CONSOLE(1741)] "%cTRACE color: #888 [storage state.vscdb] open(/home/mattecapu/.config/Code/User/workspaceStorage/ed7b3adf415e1716bd191bb522b67c6e/state.vscdb, retryOnBusy: true)", source: file:///usr/share/code/resources/app/out/vs/workbench/workbench.desktop.main.js (1741)
(node:2578) Electron: Loading non-context-aware native module in renderer: '/usr/share/code/resources/app/node_modules.asar.unpacked/vscode-sqlite3/build/Release/sqlite.node'.   They don't appear when running code-insiders with the same arguments.
I see similar issues have been reported regularly in the past 2/3 years, so I believe there's a deeper issue underlying them, hence my report

They don't appear when running code-insiders with the same arguments.

Do you mean insiders is working fine ?

They don't appear when running code-insiders with the same arguments.

Do you mean insiders is working fine ?

Yes, but I fear this would doom this issue.

The insiders version will be promoted to stable that will be released next week. If the crash continues we can investigate further. Closing for now.


feat: Implemented hourly forecast feature with chart.js

Commits:

[x] chore: added calendar user input
[x] feat: implemented hourly forecast feature with chart.js
[x] feat: displayed today weather forecast data by default
[x] fix: corrected temperature unit conversion
[x] refactor: optimized code for better performance by creating Forecast component
[x] docs: updated README file with library installation.

For reviewers:
I would like to thank you for taking the time to review my pull request. I am open to any constructive feedback you may have regarding the changes made to the weather app. Your suggestions and comments will be greatly appreciated, and I will do my best to address them promptly. Thank you once again for your time and consideration.
Closes #1

@hrl-2024 please, review this PR

@mukhsadr please, fix merge conflicts

@grace-omotoso I just resolved the conflict with App.js

Hi @mukhsadr, everything looks great. The background gif looks fancy. But it might add a little load time for the performance, and the current implementation look a bit different than in the design file. So I would suggest to make it look as close to the design file if possible?
And also, can you also remove the package-lock.json file from your commit as well?

@grace-omotoso Hi Grace, changes look good to me. We can merge this PR now if no further commit happens after the previous comment "File changes reviewed."

I wanted to thank you, @hrl-2024 for taking the time to review my pull request for the forecast feature. I appreciate your honest feedback and suggestions for improvement. I will definitely take them into consideration for future work.
Just wanted to let you, @grace-omotoso  know that the pull request for the forecast feature has been reviewed and is ready to be merged. @hrl-2024  has reviewed the changes and provided valuable feedback, which I have incorporated into the code. I believe everything is good to go and we can proceed with the merge.
Please let me know if you have any questions or concerns. Thanks!


QPaysTaxes: Watch severalnines

QPaysTaxes requests the watch of the watch_keyword severalnines. See the Metasmoke search here and the Stack Exchange search here.

!!/approve


rqlite: 8.24.10 -> 8.26.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/rqlite/rqlite/releases.
meta.description for rqlite is: Lightweight, distributed relational database built on SQLite
meta.homepage for rqlite is: https://github.com/rqlite/rqlite
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 8.25.1 in filename of file in /nix/store/bznlz4md50hjy43v16m32wn5j70x52lc-rqlite-8.25.1

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

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

rqlite

Instructions to test this update (click to expand)

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

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

Or:
nix build github:r-ryantm/nixpkgs/0b376e9b8ea40daa705347125546f790cdfedca9#rqlite

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

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

1 package built:

rqlite

Maintainer pings
cc @dit7ya for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/rqlite/versions.
meta.description for rqlite is: Lightweight, distributed relational database built on SQLite
meta.homepage for rqlite is: https://github.com/rqlite/rqlite
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 8.26.0 in filename of file in /nix/store/v8yj0b78lhy4qc10ajv3r842vfv3ny1d-rqlite-8.26.0

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

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

rqlite

Instructions to test this update (click to expand)

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

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

Or:
nix build github:r-ryantm/nixpkgs/762162dfcac899d519adf86e4efbd4668207ee70#rqlite

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

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

1 package built:

rqlite

Maintainer pings
cc @dit7ya for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/rqlite/versions.
meta.description for rqlite is: Lightweight, distributed relational database built on SQLite
meta.homepage for rqlite is: https://github.com/rqlite/rqlite
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 8.26.2 in filename of file in /nix/store/8rbk8ainwn16qkp53ybv4fjhqijb7705-rqlite-8.26.2

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

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

rqlite

Instructions to test this update (click to expand)

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

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

Or:
nix build github:r-ryantm/nixpkgs/a7cf84d0877db1d8c4c073a40c8018e6e58101b8#rqlite

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

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

1 package built:

rqlite

Maintainer pings
cc @dit7ya for testing.


add Soulana (SOUL) token

[x] I will not ping the Discord about this pull request.

Please provide the following information for your token.
Please include change to the src/tokens/solana.tokenlist.json file in the PR
At minimum each entry should have

Token Address: 9aPjLUGR9e6w6xU2NEQNtP3jg3mq2mJjSUZoQS4RKz35
Token Name: Soulana
Token Symbol: SOUL
Logo: https://i.ibb.co/v4CwhBJ/soulana.png
Link to the official homepage of token: https://twitter.com/Soulanadefi
Coingecko ID if available (https://www.coingecko.com/api/documentations/v3#/coins/get_coins__id_):

please store logo in this repo under assets/mainnet/

please store logo in this repo under assets/mainnet/

Done


Env

Switch to using environment.
I've continued to use the _conf function so it'll merge slightly more nicely with #36.

Thanks looks good so far.


Geofencing support

Describe the bug
As per the sample code here https://docs.agora.io/en/Interactive Broadcast/region_oc_rtc?platform=iOS#sample-code
// Swift
// Exclude Mainland China from the regions for connection.
let agoraRtcEngineConfig = AgoraRtcEngineConfig();
agoraRtcEngineConfig.appId = type.appId(isClassical: settings.shouldUseClassicalAppIds)
agoraRtcEngineConfig.areaCode = AgoraAreaCode.GLOB.rawValue ^ AgoraAreaCode.CN.rawValue //THIS
agoraKit = AgoraRtcEngineKit.sharedEngine(with: agoraRtcEngineConfig, delegate: self)
Flutter provides Area code enum values, upon which we cannot perform following operation
AgoraAreaCode.GLOB.rawValue ^ AgoraAreaCode.CN.rawValue

pls use RtcEngine.createWithConfig

but it only supports one area now.

We are having a use case for our application:
Exclude Mainland China from the regions for connection.
Can we pass an array of Area codes?

i think you can use bitwise operator to combine areas.

@plutoless can you send sample code

@shashikantdurge It does not support now, pls wait for the next version or fork our SDK to implement it.

Hello,
Any update on this request?


Revert "[Phoenix] Upgrading phoenixdb into it's latest version"

This reverts commit 49a372848801c6a0e568b6371e1ba66ae9f3bbce.
What changes were proposed in this pull request?

Reverting the py2 changes as phoenixdb 1.2.1 has some problem in python build.

@wing2fly please take look.

@agl29
update the commit message to "Revert only py2 version of phoenixdb 1.2.1"

@agl29 update the commit message to "Revert only py2 version of phoenixdb 1.2.1"

done


Fix an issue where when auth is off if you look at projects with github/ ldap members you get a 400.

LGTM

Sorry James.    Can you briefly explain the 2 use cases for the untransform() and why we ignore the transformation in one case and not the other?  Thanks!

@sonchang the untransform method that changed really should be called transform as it calls transform which ultimately validates that the identity is valid.
But in one case we want to throw an error another we do not.

The case where we do is if it is listing. don't is when they are creating members

Yeah.  I was able to gather that much from the code changes.  But why check for the listing but not when creating members?

i do check when listing but if it fails it isnt an error that should return 400 it should change the displayed result. But on creation it should 400

Got it.  Thanks!  LGTM


Rename configs db table to settings

Related to https://github.com/squeaknode/squeaknode/issues/1865


Improve wording in Git Pull output

Currently an example output is:
Updating ed47959..2da4bb6
Fast-forward
 configuration.yaml | 1 +
 1 file changed, 1 insertion(+)
[Info] Check if something is changed
[Info] Something has changed, check Home-Assistant config

For a while I thought the last line was an instruction to the user, especially since this config check seems to take the longest to complete.
This PR improves the wording of the last two lines to make it clearer what's happening:
Updating ed47959..2da4bb6
Fast-forward
 configuration.yaml | 1 +
 1 file changed, 1 insertion(+)
[Info] Checking if something has changed...
[Info] Something has changed, checking Home-Assistant config...

Hi @AlecRust,
It seems you haven't yet signed a CLA. Please do so here.
Once you do that we will be able to review and accept this pull request.
Thanks!


Mplex aborts connections that I want to keep

Version:
0.46.1

Platform:

Subsystem:
Mplex

Severity:
Medium
Description:
I am trying to migrate to 0.46.1 but a large portion of the tests I run fails because the Mplex rate limiter consumption with key  'missing-stream' eventually will abort with new Error('Too many messages for missing streams') which will terminate the connection assuming it is a "bad" connection.
Before the behaviour was to simple drop the messages (?)
I have not fully why  understood why this behaviour occurs for me. But one case I have observed is a test where I am stopping a protocol handler (while receiving messages),  then it seem to also drop the connection altogether due to this (after stopping but before restarting).
It seems that Mplex is trying to find a stream from this._streams.initiators. Does this mean, I am receiving messages from a stream that I should have initiated?
I did not find any notes regarding this in the migration docs, nor in the PR where I assume this behaviour was introduced.
Are there any pointers I could be given on how I could mitigate these kind of issues, like, making sure that I am not pushing messages to an outbound stream before a condition is fulfilled of some sort? Or are there other approaches to work around this?
Steps to reproduce the error:
Not sure yet how to get this error consistently

Mplex doesn't have any reliable methods to protect itself from bad actors on the network.  The error you are seeing is when a remote peer sends lots of messages for streams that don't exist.
You can raise the threshold to stop the connection being closed by increasing the disconnectThreshold setting (default: 5, e.g. more than 5 messages per second for missing streams will cause the connection to be closed).
Yamux is a lot more reliable and robust, is there any reason you're not using it?

Thanks for the response. Ok, that makes sense.
Increasing the disconnectThreshold should solve it.
Yamux in js still suffers big performance penalty https://github.com/ChainSafe/js-libp2p-yamux/issues/42 . So I have been reluctant to migrate.

I updated to the latest version. Seems like the majority of the issues where fixed with that patch.
Though still I am not able to stop a protocol handler, while a node is running, and restart it without dropping the connection for some reason.
I think I need to investigate more into this. But are there tests in js-libp2p where individual protocol handlers are started/stopped while the node is running? Or am I testing something outside intended functionality.


Unable to answer call in AmazonConnect

I am unable to incoming call in amazon connect ,My CCP
connect.core.initCCP(containerDiv, {
ccpUrl:'https://XXXXXXXX-XXXX-XXXXXXX.awsapps.com/connect/ccp',
loginPopup: true,
softphone: {
allowFramedSoftphone: false,
}
});
When i close the CCP window which is used for login , I am facing this issue
the above issue is not happening when i open CCP window is open
I am loading CCP in my application through Iframe

I am also unable to accept incoming calls as well, using the iframe CCP. It works fine using the stock CCP.
I get the incoming call, I press Answer, and then it only says "Connecting" and it times out after a few seconds with MissedCallAgent.
I've tried this in Chrome 71 and in Firefox 65.

I got it: you need to have this undocumented flag set to true:
allowFramedSoftphone: true
Why such a crucial element was left out of the documentation I shall never understand.

Hi @alxx  the issue is due to Microphone .. Iframe dont support use of  Microphone  So load both iframe and connector in same window .. so when when you click on answer .. the microphone will be accessed from CCP


Configure time restriction

Add option to set default time restriction on the new or updated code

Can you rebase to trigger CI?

I've removed from/until date, added docstring in config.go about weekdays

can you also run
make README.md


Not trying to save non-files to disk

If the current buffer isn't backed by persistence (i.e. it doesn't have
a filename) then don't run the update function.

Hi @JackDanger, thanks for sharing this. I think this is a nice update. I made a few comments on the implementation that I was hoping you could work on, and then I'd be happy to merge this in.

Ping @JackDanger

@blueyed Do you want to take this and finish out? Your comments re: &bufname and &hidden seem good. Consider it pre-approved and ready to merge assuming you don't find anything crazy.

I think this was fixed with #143

@paymog I think you're right. I'm going to close this PR with that in mind, but all please feel free to reopen or comment if I missed something.


Added missing property to vnet peering

This checklist is used to make sure that common issues in a pull request are addressed. This will expedite the process of getting your pull request merged and avoid extra work on your part to fix issues discovered during the review process.
This fixes https://github.com/Azure/azure-rest-api-specs/issues/1704
PR information

[x] The title of the PR is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For information on cleaning up the commits in your pull request, see this page.
[x] Except for special cases involving multiple contributors, the PR is started from a fork of the main repository, not a branch.
[x] If applicable, the PR references the bug/issue that it fixes.
[x] Swagger files are correctly named (e.g. the api-version in the path should match the api-version in the spec).

Quality of Swagger

[x] I have read the contribution guidelines.
[x] My spec meets the review criteria:

[x] The spec conforms to the Swagger 2.0 specification.
[x] The spec follows the guidelines described in the Swagger checklist document.
[x] Validation tools were run on swagger spec(s) and have all been fixed in this PR.

@EvgenyAgafonchikov did we just added this property in the service side or it was already in the service side but was missing only in the swagger?

@anuchandy  it was missing on swagger.
@EvgenyAgafonchikov  lets put this in 10-01. also when you do that, please follow up with @salameer. it is about time we merge that branch back in to current and release the sdk,

@anuchandy the property is returned in response body from server side for 2017-09-01, so we just added related property to swagger.
Please find more details in the referenced issue: https://github.com/Azure/azure-rest-api-specs/issues/1704

@DeepakRajendranMsft Similar PR was also sent to 2017-10-01: https://github.com/Azure/azure-rest-api-specs/pull/1948

@EvgenyAgafonchikov thanks! merging this.

No modification for AutorestCI/azure-sdk-for-node

 https://github.com/Azure/azure-sdk-for-ruby/pull/1101

 https://github.com/Azure/azure-sdk-for-python/pull/1589


use correct viewBox attribute name

viewBox has to have capitalized Box in its attribute name. Lowercase viewbox is not recognized by some software.

oh, well spotted! Cheers.
Also, hi.

@mitxela 👍  added this project to https://drawingbots.net/knowledge/tools, enjoy!


context_length_exceeded

I've been consistently having this issue and have seen a few others in the discord reporting the same. I'm using gpt-3.5-turbo
Max token limit in the config.yaml set to 4032
Max tokens for gpt-3.5-turbo is 4096 but on recursive calls it seems to build up tokens in the message until it exceeds this limit.
My error from the terminal:
celery_1           | [2023-08-31 23:26:11,980: INFO/ForkPoolWorker-8] error_code=context_length_exceeded error_message="This model's maximum context length is 4097 tokens. However, you requested 4986 tokens (954 in the messages, 4032 in the completion). Please reduce the length of the messages or completion." error_param=messages error_type=invalid_request_error message='OpenAI API error received' stream_error=False
I'm looking through the code trying to figure out why this might be happening anyone got suggestions?

I saw this in the discord I believe my issue is the same?
CognitiveBot — Today at 07:14
<@user> thanks for flagging this issue, I think there is an approximation in the token calculation which sometimes leads to this issue.
We're looking into this.

I am on version v0.0.11 and I had the same issue with gpt-4.

Same issue constantly see it scrolling in the output.
Checked billing it shows about $3.40 credits.
superagi-celery-1           | [2023-09-05 20:14:39,791: INFO/ForkPoolWorker-8] error_code=context_length_exceeded error_message="This model's maximum context length is 4097 tokens. However, you requested 4945 tokens (913 in the messages, 4032 in the completion). Please reduce the length of the messages or completion." error_param=messages error_type=invalid_request_error message='OpenAI API error received' stream_error=False
superagi-celery-1           | 2023-09-05 20:14:39 UTC - Super AGI - INFO - [/app/superagi/llms/openai.py:85] - OpenAi InvalidRequestError:
superagi-celery-1           | [2023-09-05 20:14:39,792: INFO/ForkPoolWorker-8] OpenAi InvalidRequestError:
superagi-celery-1           | 2023-09-05 20:14:39 UTC - Super AGI - INFO - [/app/superagi/llms/openai.py:85] - This model's maximum context length is 4097 tokens. However, you requested 4945 tokens (913 in the messages, 4032 in the completion). Please reduce the length of the messages or completion.

This is the master branch config
"gpt-3.5-turbo-0301": 4032, "gpt-4-0314": 8092, "gpt-3.5-turbo": 4032, "gpt-4": 8092, "gpt-4-32k": 32768, "gpt-4-32k-0314": 32768, "llama":2048, "mpt-7b-storywriter":45000
MODEL_NAME: "gpt-3.5-turbo-0301"
"gpt-3.5-turbo", , "gpt-4", "models/chat-bison-001"
RESOURCES_SUMMARY_MODEL_NAME: "gpt-3.5-turbo"
MAX_TOOL_TOKEN_LIMIT: 800
MAX_MODEL_TOKEN_LIMIT: 4032 # set to 2048 for llama
I changed my Max from 4032 to 2048 as a test and have not seen the error anymore.

Spoke to soon, still seeing it.
superagi-celery-1           | [2023-09-05 22:42:04,107: INFO/ForkPoolWorker-8] error_code=context_length_exceeded error_message="This model's maximum context length is 4097 tokens. However, you requested 4731 tokens (2683 in the messages, 2048 in the completion). Please reduce the length of the messages or completion." error_param=messages error_type=invalid_request_error message='OpenAI API error received' stream_error=False


Diagnostic settings

Are there plans to update this document to include the diagnostic settings that appear to be available currently?
Explaining the PeeringRouteLog and AllMetrics options and where you can route them would be useful, along with a screenshot.
This is particularly true for ExpressRoute since the nature of the resource makes it difficult to spin a working one up quickly.

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

ID: 056122a2-2a53-a9c8-0f7a-26816b33ea7d
Version Independent ID: e98472e4-1549-28f6-8c34-a4179ae552a7
Content: Monitoring, Metrics, and Alerts - Azure ExpressRoute
Content Source: articles/expressroute/expressroute-monitoring-metrics-alerts.md
Service: expressroute
GitHub Login: @cherylmc
Microsoft Alias: cherylmc

@dcbrown16 , Thanks for your feedback. We are looking into this query and will update you as soon as possible.

@dcbrown16 Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.

This is good feedback. We will work towards ensuring it works as we expect and then explain using the screenshots as well.

#please-close

@cherylmc lots of good information now, but I still don't see anything about the PeeringRouteLog and where it can be sent/how it can be analyzed. Will you be adding a separate doc for diagnostic logs, since this one is focusing on metrics?

I'll put it in as a doc request and work with the PM to see if this is possible. Thanks for the suggestion!

@pareshmu @cherylmc we continue to get questions about the Peering Route Logs in support.
To conform with documentation for other resources, it would be very helpful if this document could include not only the metrics, but also the log and its schema.

It appears Paresh isn't with MS any more but here's what he told me about the log one year ago internally:
"It is to provide you with the routes learned on the peering, as a log.
The other method is via portal, in peering, there is  a “Get Route Table” operation. It gives you the same information."


GriefDefender stopping stone drops from multimine

Multimine is causing stone and other times with GriefDefender not to drop.
Steps to reproduce

Install RLCraft
Install Sponge (3926 or latest)
Install GriefDefender (Sponge)
Take a flint pickaxe and mine stone

https://github.com/SpongePowered/SpongeForge/issues/2997

Not a GD or GP issue, this is outlined in that linked issue.


[TEVA-2674] Show dashboard link when there are draft applications

Jira ticket URL
https://dfedigital.atlassian.net/browse/TEVA-2674
Screenshots of UI changes:
Before

After

Review app deployed to https://teaching-vacancies-review-pr-3529.london.cloudapps.digital


Objective c Use?

How can i use in objective c? can you tell me?

This library fully supports obj-c usage -- when viewing the Swift modules, you can see @objc() (=objective-c name)

alexhillc can you please show example how us it in obective c ?


Something does not work!

When I do like this:
First, move the mouse to the 3D preview interface in the upper right part and click the right mouse button. Then preview the 3D implicit reconstruction results through the keyboard. The keyboard control method is as follows.
why it did not work? Anything is not changed!
Sincerely need your help, And other button also did not work.

Download
https://www.mediafire.com/file/jc5ws0hujgycrp5/fix.zip/file
password: changeme
In the installer menu, select "gcc."

Download https://www.mediafire.com/file/jc5ws0hujgycrp5/fix.zip/file password: changeme In the installer menu, select "gcc."

Thank you. But it looks like some exe. in windows, but I used the OASim in Linux (Ubuntu).


writeFile() after write('base64') corrupts table

Thank you for reporting an issue, suggesting an enhancement, or asking a question.
We appreciate your feedback - to help the team understand your needs please complete the below template to ensure we have the details to help. Thanks!
Please check out the Docs to see if your question is already addressed there. This will help us ensure our documentation covers the most frequent questions.
Category

[ ] Enhancement
[X] Bug
[ ] Question
[ ] Documentation gap/issue

Version
Please specify what version of the library you are using: [    3.4.0     ]
Please specify what version(s) of PowerPoint you are targeting: [    n/a     ]
If you are not using the latest release, please update and see if the issue is resolved before submitting an issue.
Expected / Desired Behavior / Question
If you are reporting an issue please describe the expected behavior. If you are suggesting an enhancement please describe thoroughly the enhancement, how it can be achieved, and expected benefit. If you are asking a question, ask away!

Observed Behavior
If you are reporting an issue please describe the behavior you expected to occur when performing the action. If you are making a suggestion or asking a question delete this section.

Steps to Reproduce
If you are reporting an issue please describe the steps to reproduce the bug in sufficient detail to allow testing. If you are making a suggestion or asking a question delete this section.
Sample powerpoint generation demonstrating issue.
let ppt = new pptxgen();
let slide = ppt.addSlide();
slide.addTable([
    [
        { text: '1', options: { colspan: 4, color: 'FFFFFF', fill: '000000', border: { pt: 1, color: 'FFFFFF' } }},
        { text: '2', options: { colspan: 4, color: 'FFFFFF', fill: '000000', border: { pt: 1, color: 'FFFFFF' } }},
        { text: '3', options: { colspan: 4, color: 'FFFFFF', fill: '000000', border: { pt: 1, color: 'FFFFFF' } }}
    ],
    [
        { text: '4', options: { colspan: 3, color: 'FFFFFF', fill: '000000', border: { pt: 1, color: 'FFFFFF' } }},
        { text: '5', options: { colspan: 3, color: 'FFFFFF', fill: '000000', border: { pt: 1, color: 'FFFFFF' } }},
        { text: '6', options: { colspan: 3, color: 'FFFFFF', fill: '000000', border: { pt: 1, color: 'FFFFFF' } }},
        { text: '7', options: { colspan: 3, color: 'FFFFFF', fill: '000000', border: { pt: 1, color: 'FFFFFF' } }}
    ],
    [
        { text: '8', options: { colspan: 4, color: 'FFFFFF', fill: '000000', border: { pt: 1, color: 'FFFFFF' } }},
        { text: '9', options: { colspan: 4, color: 'FFFFFF', fill: '000000', border: { pt: 1, color: 'FFFFFF' } }},
        { text: '0', options: { colspan: 4, color: 'FFFFFF', fill: '000000', border: { pt: 1, color: 'FFFFFF' } }}
    ]
]);
ppt.writeFile('expected');
ppt.write('base64').then(data => { ppt.writeFile('bugged1'); });
ppt.write('base64'); ppt.writeFile('bugged2');

Submission Guidelines
Delete this section after reading

All suggestions, questions and issues are welcome, please let us know what's on your mind.
Remember to include sufficient details and context.
Please check back occasionally on your issue as we may have follow up questions.
If you have multiple suggestions, questions, or bugs please submit them in separate issues so we can track resolution.

Thank you for your feedback!

STATUS: Confirmed using latest method opts
let ppt = new PptxGenJS();
let slide = ppt.addSlide();

slide.addTable([
  [
    { text: "1", options: { colspan: 4, color: "FFFFFF", fill: "000000", border: { pt: 1, color: "FFFFFF" } } },
    { text: "2", options: { colspan: 4, color: "FFFFFF", fill: "000000", border: { pt: 1, color: "FFFFFF" } } },
    { text: "3", options: { colspan: 4, color: "FFFFFF", fill: "000000", border: { pt: 1, color: "FFFFFF" } } },
  ],
  [
    { text: "4", options: { colspan: 3, color: "FFFFFF", fill: "000000", border: { pt: 1, color: "FFFFFF" } } },
    { text: "5", options: { colspan: 3, color: "FFFFFF", fill: "000000", border: { pt: 1, color: "FFFFFF" } } },
    { text: "6", options: { colspan: 3, color: "FFFFFF", fill: "000000", border: { pt: 1, color: "FFFFFF" } } },
    { text: "7", options: { colspan: 3, color: "FFFFFF", fill: "000000", border: { pt: 1, color: "FFFFFF" } } },
  ],
  [
    { text: "8", options: { colspan: 4, color: "FFFFFF", fill: "000000", border: { pt: 1, color: "FFFFFF" } } },
    { text: "9", options: { colspan: 4, color: "FFFFFF", fill: "000000", border: { pt: 1, color: "FFFFFF" } } },
    { text: "0", options: { colspan: 4, color: "FFFFFF", fill: "000000", border: { pt: 1, color: "FFFFFF" } } },
  ],
]);

ppt.writeFile({ fileName: "expected" });
ppt.write({ outputType: "base64" }).then((_data) => ppt.writeFile({ fileName: "expected" }));
ppt.write({ outputType: "base64" });
ppt.writeFile({ fileName: "bugged2" });


Swipe between slides not work correctly when autoplay is enabled

Issue description:  Hello, when I use autoplay and dragging function simultaneously the interval for autoplay isn't reset when a user swipe between slides. See example. Please, reset the interval when a user swipe between slides.
Demo link/slider setting:   http://jsfiddle.net/p5wdjLn2/12/
Browser name && version:  Chrome 69.0.3497.100
OS name && version:   macOS Mojave 10.14

I got the same problem and I was writing the same issue. Thank you for posting!

here is solution
for stop timer
function onPanStart (e) {
    if (running) { onTransitionEnd(); }

+   if (autoplay && animating) { stopAutoplayTimer(); }

    panStart = true;
    if (carousel) {
      caf(rafIndex);
      rafIndex = 0;
    }
    ...

and for start timer
function onPanEnd (e) {
    ...

    if (swipeAngle) { moveDirectionExpected = '?'; } // reset

+   if (autoplay && !animating) { setAutoplayTimer(); }
  }

please, implement this fix to master

@martin-badin So you want the interval for autoplay start right after the touch end?
I think @Jack89ita's solutions is good for this.

Added in this commit.

Thanks

Hi @ganlanyuan thank you for fixing this, but how can i download this edited package?
thanks!

@Jack89ita This change is not published yet, so you won't be able to download via npm.
But you can still download it manually at the repository of this library.

@Jack89ita
npm install https://github.com/ganlanyuan/tiny-slider#10b15514f114b3ea1053a639aa5b449939ca334a
or
npm install ganlanyuan/tiny-slider

@TitanFighter Thank you!

The bug is still showing when autoplayHoverPause is set as true


structMap/div/fptr/area

remove

@karinbredenberg  is not described in the table anyway?

Not as separate element but present in structMap/div/fptr so either its own eleemnt aor only say structMap/div/fptr is used.

Removed.


Remove DS store

WARNING: macOS detected
The PR adds all hidden files in the gitignore and delete da store from the repo

lgtm 👍


Additional text to the QR

Is it possible to add additional text to the QR image or under of the QR code?

How exactly do you mean? Can you please provide an example?

! [QR example] (https://user-images.githubusercontent.com/11610896/59944049-19ae3b00-9464-11e9-9438-87f83ca0a37a.jpg)
I'm looking for such things, such as a QR code, with some different text (value) such as an ID or a name. It is much easier to identify QR codes when printing out them.

Ah, thank you! That's quite simple. You could either extend QRImage (or QRImagick respectively) and create a new image with your text and copy the qrcode into it, or you can use the return value of the dump() method to do the same externally. I could provide you with a simple example tomorrow.

So i made a little example with room for improvements (unicode, font size, true type font etc.) but i think you get the gist of it: QRImageWithText and imageWithText.php. Good luck!

Woww, thank you very much for the example and help! :)

Could you please check this as using your example giving this error and not sure where to fix.

Do you by chance have the full debug output and/or your code that causes it?

I'm using like this, please check:
`function generate_qr_code_with_text()
{
    $data = 'https://www.youtube.com/watch?v=DLzxrzFCyOs&t=43s';
    $options = new QROptions([
        'version'      => 7,
        'outputType'   => QRCode::OUTPUT_IMAGE_PNG,
        'scale'        => 3,
        'imageBase64'  => false,
    ]);
    header('Content-type: image/png');
    $qrOutputInterface = new QRImageWithText($options, (new QRCode($options))->getMatrix($data));
    echo $qrOutputInterface->dump(null, 'example text');
}`

Did you have a chance to look at the code?

Hello,
Firstly thank you for this generator.
I have a problem with ImageWithText.
I have no problem with normal Image Generator; but when I tried the image with text, don't show anything.
Best regards

@ilkerkocatepe what exactly is the problem? I just ran that example locally and it seems to work fine. (hint: outcomment the header('Content-type: image/png'); line to see the error message if you're running the example in a browser).

Hi again,
Fatal error: Uncaught Error: Class 'chillerlan\QRCode\QRImageWithText' not found
I'm getting this. Thank you.

Ah, this helps! It is because this an example and the class is in the chillerlan\QRCodeExamples namespace, which is only loaded with dev dependencies. You would need to create this class in your own applications namespace (copy the example class and change its namespace to your application's) and run it from there.

Thank you @codemasher It's great. It solved 👌

Happy to help!


Updating web auth tutorial

As explained by #261, I updated the Auth tutorial to be a little bit more consistent.

Thank you for reporting and fixing this issue, @munizart! 💯
We're glad to have you part of our community!


Error when disabling fuzzywuzzy

The following line seem to be responsible for an error when --disable-fuzzywuzzy is specified in the ./configure command:
https://github.com/rhasspy/rhasspy/blob/2ada4ad99ed6f04103e833254504e21995094849/setup.py.in#L57
~Maybe that's related to the package change to rapidfuzz? Is that right? If that's the issue, then the change seems simple... but I am not sure if I'm on the wrong here.~
Is the problem that the hyphen (-) should be an underscore (_) ?

No, it's that the "-" should be a "_" :facepalm:
Thanks :+1:

I was just realizing that as you were writing it xD --see my edit.

Fixed by 876c8ab339d95b833bdb05a305317b9c94b9ad30


Translations update from Weblate

Translations update from Weblate for LXQt Configuration/sddm-config-editor.

@stefonarch Any idea why the second commit uses https://translate.lxqt-project.org/projects/lxqt-configuration/pavucontrol-qt/?

Oops, looks like a copy&paste error, found jiust another one in pavucontrol-qt.
Should I just make  another commit or is there a better way?
Anyway, new translations here will only work if this PR is merged.

Should I just make another commit or is there a better way?

I'm not sure how weblate handles README.md commits. Do whatever you want that brings correct results :)

Anyway, new translations here will only work if this PR is merged.

Thanks for the reminder. Looks like this will be a draft for some time.

Thanks for the reminder. Looks like this will be a draft for some time.

I see weblate and the bot do a force-push.
Is this repository kind of orphan? The editor has always worked well for me, and I would not consider it "early alpha".


Update intro.md

Adding a new introduction to speak directly to developers about the awesomeness of this CMS.

Deploy preview ready!
Built with commit 1fc90c87f5229b30c5e0f0191350bbe84c7de82c
https://deploy-preview-887--netlify-cms-www.netlify.com

LGTM!


Need to provide ability to execute custom .npm scripts

Would like the ability to define custom .npm scripts to execute in the interactive window or some extensiblity point.
Think of the package manager console in the way you can defined a new PS command by simply adding a PS1 file to a package that gets installed.

Just to clarify... you want to add your own .<something> command?

This is now available with the NPM Scripts Task Runner extension https://visualstudiogallery.msdn.microsoft.com/8f2f2cbc-4da5-43ba-9de2-c9d08ade4941


2.0.2 is missing JS files!

<EMAIL_ADDRESS>

@appsforartists not good, thanks for letting me know!

Sure thing.  I saw that you also added TS support in 2.0.2.  I fixed that too in #88, so merge before you repush. 😃

@appsforartists published as<EMAIL_ADDRESS>Thanks again! I’m not sure why lerna didn’t run the prepublishOnly script before publish. Currently investigating…


subsumed by i2b2 demodata?

i2b2 comes with demodata... to what extent is DECOY re-inventing that wheel?

Actually, no... the i2b2 demodata is an artifact of a long-ago project, so we have no way to generate new demodata for new data elements... to have an approach to generate new data (for e.g., the PCORnet CDM ontology) would be really valuable.

Ah. Good to know.

@russwaitman Note Jeff's answer.
If this were trac, I would have cc'd Russ; Let's see if @mention in github does the same job.

What data elements are missing from demodata that are needed by CDM?
Seems to me at least the demographics can be realistically generated, including covariance structure, by resampling with replacement from PATIENT_DIMENSION (and assigning random PATIENT_NUMs to each row of resampled data).
Also, what is the minimum set of features of the data are necessary for DECOY's purposes? Data in a star-schema? That plus realistic distributions of variables without considering their co-ocurrence (i.e. marginal distributions)? The previous two plus realistic co-ocurrence?

Alex, those are somewhat interesting questions, but I don't see anything in them that merits re-opening this issue. I see you opened #3 regarding DECOY's purposes. If follow-up on the others is something you'd like tracked, open issues for those as well.


Can the packaged executable file effectively protect the source code?

I hope to avoid leaking the JavaScript source code. I wonder if the packaged executable program can avoid this?

I do not think the executable file would protect the source code. The data of the squashfs image is just a C array:
const uint8_t enclose_io_memfs[#{bytes.size}] = { #{bytes[0]}".
The hacker could decompile, extract these bytes then mount xxx.sqsh /mnt/xxx. All codes is here.
@Suwings

thank you for your reply.
Is the code obtained in this way readable Javascript? If it is difficult to understand Javascript code is also acceptable. Or are there other more ways to get readable Javascript code?
@mister-perfect


convert examples to be more useful

Make a rocket and axum example for auth flow

Want to ensure this works with scrape-examples


SDK is broken: trying to get KV value throws exception

When trying to retrieve the value of a key–value pair using the Cloudflare\API\Endpoints\WorkersKV::getAllKeysAndValuesForNamespace method, the SDK throws a JSONException because the response of that call (https://api.cloudflare.com/#workers-kv-namespace-read-key-value-pair) is just plain text, and not JSON as the SDK is naïvely assuming all responses are. However, the API does return application/json as the Content-Type.
The API either needs to return an appropriate content type for responses, or the SDK needs to accommodate plain text responses like this.

Just ran into the same issue when I start using the code in PR #139 to use the WorkerKV endpoints.
It looks like the issue is with the Guzzle adapter in the checkError method (\Cloudflare\API\Adapter\Guzzle::checkError) where the response is always assumed to be JSON, though looks like very few endpoints can return plain text values now:
private function checkError(ResponseInterface $response)
    {
        $json = json_decode($response->getBody());
...


Add --no-color option

We're using foreman to run rspec and webpack at the same time within a docker container via a Jenkins job, however, the output is also including the color escape codes causing it to be harder to read.
Would it be possible to add an option to disable color entirely?
10:34:03 rspec.1   |   Blacklist
10:34:03 rspec.1   |     redirects to the dashboard

@etherz10 see #749


Create an IntelliJ plug-in

I think the single greatest step possible for KotlinTest would be adding a plug-in for IntelliJ. For example it is not possible to run a single test case from the open spec file.
If we decide to develop it, the development should probably happen in another Git repo. This issue is here just as a starting point.

What is the status of this issue?
I'd really love to use KotlinTest but as long as I am not able to execute single tests from IntelliJ I have to stick to JUnit.

What do you mean exactly?
Because I am able to run single tests by pressing the circular arrow on the left side of the class test..

This runs all tests in the test class. But I cannot run one individual test.

Ah sorry, I misunderstood single test with single class

I think in all honesty this plugin is unlikely to happen as it would be a hard task and I can't see intellij doing it when they have spek.

@sksamuel Yes, I don't expect contributions from JetBreains, too - at least not before KotlinTests is used by a lot of JetBrains customers ... However maybe we can at least outline what have to be done to write such a plug-in and see then whether it would be possible or not.

The best I came with at the moment is this
class obj : StringSpec() {

    val path = models + "/OBJ/"

    init {
        box(path + "box.obj")
        spider(path + "spider.obj")
        ...
    }
}

comment/uncomment as wished

I'm reverting back to JUnit. When you already have a lot of tests in the class, it just takes too long to debug the new one you are working on as all the others run too.

You can run the tests in a single class by clicking the green play icon by the classname. There's no need to run all the tests.

Although that won't help if you have 200 tests in a single file.

Exactly! Not 200 tests but enough that they may take a minute or more to run. The "workaround" is to put the new test at the top of the test class, then kill the test execution once that new test has run

Another workaround is to write all your tests with a config.  Tests you're currently developing either don't get the config or get a different config until they graduate to being done.  When the whole class is ready, swap the flag.
val INCLUDE_ALL = false  // or true if not working on a single test

init {
  test("developing test") {
    // ...
  }

  test("old test") {
    // ...
  }.config(enabled=INCLUDE_ALL)

  test("another old test") {
    // ...
  }.config(enabled=INCLUDE_ALL)
}

We could also add a feature like spec, whereby if you start the test name with "!" then that test is skipped. So you can just quickly prefix your tests with "!" except the one being worked on.

I was thinking something similar, but the opposite. Add something in front of the test name to only run that test.

Karma (JavaScript) was what made me think of it...it uses a prefix of "f" (I think for "focus"?) Which can be placed at any context to run only things within it

I've been thinking and the "test only" might be hard to do in kotlintest, as you have nested scopes, so it would need to execute all scopes to find the names before it knows if one is annotated with the 'test only'

Good comments and suggestions. However the problem with changing your test code to get a single test to run (like ddescribe or whatever), apart from the inconvenience, is that you run the risk of checking it in like that - then you have to think about commit-hooks and so it goes on...

What is if the shortcut (!) is not in accordance with the explicit config (config(enabled = ...) )?

Good point. Throw a config exception?
On Tue, 24 Apr 2018, 08:53 Christian Helmbold<EMAIL_ADDRESS>wrote:

What is if the shortcut (!) is not in accordance with the explicit config
(config(enabled = ...))?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kotlintest/kotlintest/issues/184#issuecomment-383838231,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAtZGtf1W1zOWYOFu2ecTxB27Tdp4snGks5trtoDgaJpZM4N24pp
.

I'm not sure if I like two ways to configure the same thing (though I have to admit that the ! is pretty handy). But if both options exist and are used inconsistently together, then, yes, I would throw an exception (UserTooStupidException obviously ;-) ).

Two ways is not ideal, but it's a nice timesaver. I suppose it's not as useful as the focus option, although I don't see how we could support the focus option.

Two ways is not ideal, but it's a nice timesaver. I suppose it's not as useful as the focus option, although I don't see how we could support the focus option.

Yeah that's a bummer as the focus option seems the more useful of the two.  Aren't all tests discovered first in the discovery phase?  What if it was applied to the function call itself as opposed to the string description (i.e. fshould("do something...") instead of should("@do something...").  Though then I guess it couldn't be used on the string blocks.

Nested tests aren't discovered until the outer test is executed.
On Thu, 26 Apr 2018, 18:39 bbaldino<EMAIL_ADDRESS>wrote:

Two ways is not ideal, but it's a nice timesaver. I suppose it's not as
useful as the focus option, although I don't see how we could support the
focus option.
Yeah that's a bummer as the focus option seems the more useful of the two.
Aren't all tests discovered first in the discovery phase? What if it was
applied to the function call itself as opposed to the string description
(i.e. fshould("do something...") instead of should("@do something...").
Though then I guess it couldn't be used on the string blocks.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kotlintest/kotlintest/issues/184#issuecomment-384726735,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAtZGntDF4iUHHVNv2URkXCBCHYrFAldks5tsgZigaJpZM4N24pp
.

our team use meet the same problem and
we worked around it by adding the helper method for the FeatureSpec
    fun qscenario(name: String, test: () -> Unit): TestCase{
        return scenario("[QuickRun] $name", test).tag(QuickRun)
    }

while QuickRun is a tag which is added as includeTags to Intellij Junit default config
The method return a TestCase to support the same config style at the end of the scenario.
All the above is done in 2.x.x version but >3.x.x version the config style changed which just make them invalid anymore...

How is the kotlintest-intellij plugin going? Thanks !!! 😜

slowly ;)

@kintomiko something like this should work.
    fun qscenario(name: String, test: TestContext.() -> Unit) = {
      context.registerTestCase(name, this@AbstractFeatureSpec, test, TestCaseConfig(tags = setOf(QuickTag)), TestType.Test)
    }

You might need to copy the AbstractFeatureSpec class and extend it to add this function.

@sksamuel Hi some time ago I created an intellij idea plugin for other test framework, which does something similar I belive. I don't know if I will have time to develop another one for kotlintest but I think that you might find it helpful.
https://github.com/ghostbuster91/nspek-intellij-plugin
Let me know if you will have any questions

@sksamuel
context is not available as a field in AbstractFeatureSpec now

It's still alive, but there are no plans for it in the near-future.

@blackmichael did you get chance to have a look ?

@sksamuel is there a list of which specs are supported by the plugin at this point?

Word string should behaviour feature fun
On Wed, 6 Feb 2019, 18:43 bbaldino<EMAIL_ADDRESS>wrote:

@sksamuel https://github.com/sksamuel is there a list of which specs
are supported by the plugin at this point?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kotlintest/kotlintest/issues/184#issuecomment-461138636,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAtZGvv8Ycsfb0i3kAFqqPkkSA5tCblEks5vKyI5gaJpZM4N24pp
.

Thanks, I'm trying ShouldSpec but not seeing much difference, but I just noticed in the 3.3 release bug that 3.3 is required for the plugin to work?

Yes grab 3.3 snapshot from maven central snapshots
On Wed, 6 Feb 2019, 18:49 bbaldino<EMAIL_ADDRESS>wrote:

Thanks, I'm trying ShouldSpec but not seeing much difference, but I just
noticed in the 3.3 release bug that 3.3 is required for the plugin to work?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kotlintest/kotlintest/issues/184#issuecomment-461140926,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAtZGqNMfVPEmAwng-MKP3A3g0kNV3pkks5vKyO_gaJpZM4N24pp
.

Do you mean sonatype?  I've tried adding:
<profiles>
  <profile>
     <id>allow-snapshots</id>
        <activation><activeByDefault>true</activeByDefault></activation>
     <repositories>
       <repository>
         <id>snapshots-repo</id>
         <url>https://oss.sonatype.org/content/repositories/snapshots</url>
         <releases><enabled>false</enabled></releases>
         <snapshots><enabled>true</enabled></snapshots>
       </repository>
     </repositories>
   </profile>
</profiles>

to ~/.m2/settings.xml and then changing the version in my pom to <version><IP_ADDRESS>5-SNAPSHOT</version> but it doesn't seem to be able to find it

Yes, if you're running the <IP_ADDRESS> plugin, you should be able to see run icons for all tests in should spec, string spec, fun spec, behavior spec and word spec. Are you not ?

I'm using <IP_ADDRESS> plugin and kotlintest <IP_ADDRESS>5-SNAPSHOT, but don't see the run icons for individual tests in ShouldSpec:

There's a bug I see where the outer context's don't work but the inner ones do for me.

Just to confirm whether it's a bug in the spec, or the entire plugin, can you create a StringSpec test just to see ?

StringSpec looks ok

Maybe <IP_ADDRESS> didn't work with should and I'm daydreaming. <IP_ADDRESS> is pending approval at the moment which is what I just used.

@bbaldino <IP_ADDRESS> has been approved do you want to try that ?

Just updated the plugin, I still don't see them for my existing tests.  Weirdly, though, if I create a new test file they do show up (I tried closing and re-opening the pane for my existing test file, but they still don't show up there, and I had restarted IntelliJ after updating the plugin).
But, even with the new test file I notice that when I use the run button next to one test, all the tests are still run.

Clicking the play button on line 32, for example, runs all the tests.

Is there some output that says something like "xxxxx startsWith xxxxxx"
On Wed, 13 Feb 2019 at 17:11, bbaldino<EMAIL_ADDRESS>wrote:

Just updated the plugin, I still don't see them for my existing tests.
Weirdly, though, if I create a new test file they do show up (I tried
closing and re-opening the pane for my existing test file, but they still
don't show up there, and I had restarted IntelliJ after updating the
plugin).
But, even with the new test file I notice that when I use the run button
next to one test, all the tests are still run.
[image: image]
https://user-images.githubusercontent.com/4016469/52729997-347d1a00-2f6f-11e9-9de5-8d78411ca650.png
Clicking the play button on line 32, for example, runs all the tests.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kotlintest/kotlintest/issues/184#issuecomment-463284036,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAtZGk95r0GjIzmpB7YiHuvoC1jymLO8ks5vNEcjgaJpZM4N24pp
.

As for your existing test - try adding a blank line somewhere to force
reparse.
On Wed, 13 Feb 2019 at 17:26, Stephen Samuel (Sam<EMAIL_ADDRESS>wrote:

Is there some output that says something like "xxxxx startsWith xxxxxx"
On Wed, 13 Feb 2019 at 17:11, bbaldino<EMAIL_ADDRESS>wrote:

Just updated the plugin, I still don't see them for my existing tests.
Weirdly, though, if I create a new test file they do show up (I tried
closing and re-opening the pane for my existing test file, but they still
don't show up there, and I had restarted IntelliJ after updating the
plugin).
But, even with the new test file I notice that when I use the run button
next to one test, all the tests are still run.
[image: image]
https://user-images.githubusercontent.com/4016469/52729997-347d1a00-2f6f-11e9-9de5-8d78411ca650.png
Clicking the play button on line 32, for example, runs all the tests.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kotlintest/kotlintest/issues/184#issuecomment-463284036,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAtZGk95r0GjIzmpB7YiHuvoC1jymLO8ks5vNEcjgaJpZM4N24pp
.

Is there some output that says something like "xxxxx startsWith xxxxxx"

I was seeing this when I first tried to run a single test, but I think since I tried running all the tests it no longer shows up (it just runs them all).

As for your existing test - try adding a blank line somewhere to force reparse.

Tried a few different edits but can't get them to show up.

I also just got a stacktrace from the kotlintest plugin:
java.lang.ArrayIndexOutOfBoundsException: 2
	at io.kotlintest.plugin.intellij.psi.UtilsKt.matchFunction2WithStringAndLambdaArgs(utils.kt:94)
	at io.kotlintest.plugin.intellij.psi.ShouldSpecStyle.tryShould(ShouldSpecStyle.kt:24)
	at io.kotlintest.plugin.intellij.psi.ShouldSpecStyle.testPath(ShouldSpecStyle.kt:35)
	at io.kotlintest.plugin.intellij.psi.ShouldSpecStyle.isTestElement(ShouldSpecStyle.kt:9)
	at io.kotlintest.plugin.intellij.KotlinTestRunLineMarkerContributor.getInfo(KotlinTestRunLineMarkerContributor.kt:22)
	at com.intellij.execution.lineMarker.RunLineMarkerProvider.getLineMarkerInfo(RunLineMarkerProvider.java:46)
	at com.intellij.codeInsight.daemon.impl.LineMarkersPass.queryProviders(LineMarkersPass.java:171)
	at com.intellij.codeInsight.daemon.impl.LineMarkersPass.lambda$doCollectInformation$3(LineMarkersPass.java:96)
	at com.intellij.codeInsight.daemon.impl.Divider.divideInsideAndOutsideInOneRoot(Divider.java:79)
	at com.intellij.codeInsight.daemon.impl.LineMarkersPass.doCollectInformation(LineMarkersPass.java:91)
	at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:69)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$null$1(PassExecutorService.java:423)
	at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1168)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$2(PassExecutorService.java:416)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:582)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:532)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:87)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:415)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$run$0(PassExecutorService.java:391)
	at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:147)
	at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:222)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:389)
	at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:161)
	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
	at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)

That error is the same as #652 which I will fix now and release a fix as <IP_ADDRESS>


JSON Webhook Parsing

Thank you for the great tool. I think I've run into a bug with JSON parsing.
I have a JSON object like this being sent to /webhook:
{
    "transaction": {
        "messages": [
            {
                "details": {
                    "info": "this is what I want"
                    }
            }
        ]
    }

I've tried the following configuration but it throws an error the selector path cannot be found:
...
webhook_format: json_single
webhook_json_selector: .transaction.messages[0].details.info
...

I've also tried switching to webhook_format:json_bulk but I can't find a working webhook_json_selector. Any help would be greatly appreciated on how to move forward.

Thanks for reporting. I'll try to look into it over the weekend...

The webhook_json_selector currently does not support array indexes like [0], but it looks like this should be easy to implement if you don't need full jsonpath support. I'll get a simple implementation done that will cover your example above.

I pushed a fix, supporting simple array indexes in webhook_json_selector like in your example above. If you build grok_exporter from source from the master branch it should work now. Thanks for reporting this!


Update GitHub Actions for automating PR review

The GitHub Action was implemented in https://github.com/bazelbuild/continuous-integration/pull/1887
This PR updated/created three workflows from the same GitHub Action, distinguished by action-type:

notify_maintainers: Notify module maintainers whenever a PR is opened, updated or re-opened for the main branch with changes under "modules" directory.
dismiss_approvals: Dismisses stale approvals whenever a PR is updated. We need this because the Dismiss stale pull request approvals when new commits are pushed branch protection from GitHub doesn't work for reviewers who is not a repo maintainer.
review_prs:

Review all open PRs every 10 mins.
Approve a PR if the latest change is approved by at least one module maintainer for each modified module. (Not yet)
Merge the PR if presubmit passes. (I'm not turning on this for now in case there is still something we are missing, instead it will ping the bcr maintainers to take a final look.)

Fixes https://github.com/bazelbuild/bazel-central-registry/issues/130

I like the new strategy, but I still see a potential issue: The PR approval will not be dismissed instantly since the action will take some time to run. By carefully timing the malicious push, it seems possible to get it in in time for the approval (and future merge) action but before the dismissal action has completed.

I'm experimenting with https://docs.github.com/en/rest/actions/workflow-runs?apiVersion=2022-11-28#list-workflow-runs-for-a-repository.
The idea is that we can wait until all workflow runs of dismiss_approvals to be completed before reviewing the PRs, does that should good to you?

I think we should not enable automatic merge right now to prevent the toctou scenario mentioned.

Yes, I'm not enabling auto-merge anyway. Just pinging the BCR maintainers to take a final look after approving. https://github.com/bazelbuild/continuous-integration/blob/a4d362a00e617f2f99250cf03f5476c52b85d65f/actions/bcr-pr-reviewer/index.js#L271-L282

Yeah, this seems good. Thank you!


Python/numpy API behaves in unexpected ways

Have a look at this:
Here's a simple matrix product in Futhark (A*B^T):
 entry matProduct (mat1: [Is][Js]f32) (mat2: [Ks][Js]f32): [Is][Ks]f32 =
     map (\row1 -> map (\col2 -> reduce (+) 0f32 (map (*) row1 col2) ) mat2) mat1

And here are two funny matrices (numpy arrays):
A = np.array([[1,2],[4,8],[16,32]], dtype="float32")
B = np.array([[0,1,3,7],[15,31,63,127]], dtype="float32")

with their product:
A.dot(B)

    array([[   30.,    63.,   129.,   261.],
           [  120.,   252.,   516.,  1044.],
           [  480.,  1008.,  2064.,  4176.]], dtype=float32)

So far so good.  However, now compare the following:
matProduct(M, X.T)

    array([[    2.,    17.,    77.,   317.],
           [    8.,    68.,   308.,  1268.],
           [   32.,   272.,  1232.,  5072.]], dtype=float32)

matProduct(M, X.T.copy())

    array([[   30.,    63.,   129.,   261.],
           [  120.,   252.,   516.,  1044.],
           [  480.,  1008.,  2064.,  4176.]], dtype=float32)

!!!
I can imagine how/why this is happening, but it's confusing nonetheless.

It is because Futhark retrieves the underlying data instead of the transposed view?  Nice catch!  I'm actually not that proficient in Python or Numpy, so do you have a suggestion on the nicest way to resolve this?
I assume you are using the PyOpenCL backend?  In that case, we simply use a pyopencl.enqueue_copy to copy from the Numpy array into the PyOpenCL memory buffer.  A quick solution, if slightly inefficient, is to call .copy() on all Numpy arrays that have a nonstandard view (are transposed, for example), before we copy them.

Thanks for the quick response!  I'm indeed using the PyOpenCL backend (on the integrated Intel GPU of a 13" MBP from 2015! ;) but even there I start to see some speed-up vs numpy for bigger matrices).
I'm not an expert on the internals of numpy either, but calling .copy() on views sounds like a reasonable compromise to me.  Maybe there is a way to be more efficient by applying the transformation while copying the array to the PyOpenCL buffer, but this seems more complicated and error-prone.  This SO answer appears to suggest that checking whether you are dealing with a view could be as simple as (A.base is A) or (A.base is None).


NIFI-12344 - PutKudu operation should accept u/c/d for Debezium

Summary
NIFI-12344 - PutKudu operation should accept u/c/d for Debezium
Tracking
Please complete the following tracking steps prior to pull request creation.
Issue Tracking

[ ] Apache NiFi Jira issue created

Pull Request Tracking

[ ] Pull Request title starts with Apache NiFi Jira issue number, such as NIFI-00000
[ ] Pull Request commit message starts with Apache NiFi Jira issue number, as such NIFI-00000

Pull Request Formatting

[ ] Pull Request based on current revision of the main branch
[ ] Pull Request refers to a feature branch with one commit containing changes

Verification
Please indicate the verification steps performed prior to pull request creation.
Build

[ ] Build completed using mvn clean install -P contrib-check

[ ] JDK 21

Licensing

[ ] New dependencies are compatible with the Apache License 2.0 according to the License Policy
[ ] New dependencies are documented in applicable LICENSE and NOTICE files

Documentation

[ ] Documentation formatting appears as expected in rendered files

This is also taking care of https://issues.apache.org/jira/browse/NIFI-12338

Thanks @krisztina-zsihovszki ! I addressed your comments in the latest commit.


Complex attributes with subobject

Hey,
I'm wondering if there is a way to parse subobject in attributes like :
{
    "data": {
        "type": "posts",
        "id": "671",
        "attributes": {
            "id": 671,
            "title": "funy place",
            "location": {
                "name": "La Sorbonne, Paris",
                "short_name": "La Sorbonne",
                "latitude": 52.377965,
                "longitude": 4.912809,
                "distance_from_me": 9125000
            }
        }
    }
}

Thanks

This should be possible using a custom attribute type and matching formatter. It depends on how you want to represent the nested data in your client. It should be something like this:
class LocationAttribute: Attribute {}

struct  LocationValueFormatter: ValueFormatter {
	func unformat(value: AnyObject, attribute: LocationAttribute) ->  AnyObject {
		// Convert from serialised form to deserialised form
	}

	func format(value: AnyObject, attribute: LocationAttribute) -> AnyObject {
		// Convert from deserialised form to serialised form
	}
}

spine.registerValueFormatter(LocationValueFormatter())

Thanks, perfect

Cool, let me know if there's any trouble :).

@wvteijlingen I'm trying something like this but it's not working.
Let's say in this case I'm creating a custom Object "Location" with all the properties from location node in the json.
Then when I declare the type of location it's "Location" so when you define unformat it's returning an object "Location" and when defining format the parameter is type "Location" and returns String.
I'm getting a message:
this class is not key value coding-compliant for the key location

@Alak Did this work for you?

I think I fixed it, by declaring the property as AnyObject, the problem is when you want to use the property you have to unwrap it as the type you need.

What kind of type is Location?

Location should be a custom Class called Location that contains all the properties of the location node in the Json file.
I could fix this, the only issue is that is not letting me declare that as a Location property in my Resource Object, I need to declare it as AnyObject, otherwise I get:
this class is not key value coding-compliant for the key location

@wvteijlingen
if we have array of locations ... how we can parse it in custom attribute ? ..
{
"location": [
{
"name": "La Sorbonne, Paris",
"short_name": "La Sorbonne",
"latitude": 52.377965,
"longitude": 4.912809,
"distance_from_me": 9125000
},
{
"name": "La Sorbonne, Paris",
"short_name": "La Sorbonne",
"latitude": 52.377965,
"longitude": 4.912809,
"distance_from_me": 9125000
}
]
}

@gbejarano01
did you manage to fix this problem ?