python312Packages.whatthepatch: 1.0.6 -> 1.0.7

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python312Packages.whatthepatch is: Python library for both parsing and applying patch files
meta.homepage for python312Packages.whatthepatch is: https://github.com/cscorley/whatthepatch
meta.changelog for python312Packages.whatthepatch is: https://github.com/cscorley/whatthepatch/blob/1.0.7/HISTORY.md
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.0.7 with grep in /nix/store/djxx3vdlk40hkvwzxbdvjxshim8fvaz6-python3.12-whatthepatch-1.0.7
found 1.0.7 in filename of file in /nix/store/djxx3vdlk40hkvwzxbdvjxshim8fvaz6-python3.12-whatthepatch-1.0.7

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

25 total rebuild path(s)

25 package rebuild(s)

First fifty rebuilds by attrpath

ki
python311Packages.pyls-flake8
python311Packages.pyls-isort
python311Packages.pyls-memestra
python311Packages.pyls-spyder
python311Packages.pylsp-mypy
python311Packages.pylsp-rope
python311Packages.python-lsp-black
python311Packages.python-lsp-ruff
python311Packages.python-lsp-server
python311Packages.spyder
python311Packages.whatthepatch
python312Packages.pyls-flake8
python312Packages.pyls-isort
python312Packages.pyls-memestra
python312Packages.pyls-spyder
python312Packages.pylsp-mypy
python312Packages.pylsp-rope
python312Packages.python-lsp-black
python312Packages.python-lsp-ruff
python312Packages.python-lsp-server
python312Packages.spyder
python312Packages.whatthepatch
spyder

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/djxx3vdlk40hkvwzxbdvjxshim8fvaz6-python3.12-whatthepatch-1.0.7 \
  --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 python312Packages.whatthepatch https://github.com/r-ryantm/nixpkgs/archive/6a7b6beb2ce44be15f199a4d8a775caccdae917d.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/6a7b6beb2ce44be15f199a4d8a775caccdae917d#python312Packages.whatthepatch

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/djxx3vdlk40hkvwzxbdvjxshim8fvaz6-python3.12-whatthepatch-1.0.7
ls -la /nix/store/djxx3vdlk40hkvwzxbdvjxshim8fvaz6-python3.12-whatthepatch-1.0.7/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.
nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review

x86_64-linux

:white_check_mark: 46 packages built:

ki
ki.dist
python311Packages.pyls-flake8
python311Packages.pyls-flake8.dist
python311Packages.pyls-isort
python311Packages.pyls-isort.dist
python311Packages.pyls-memestra
python311Packages.pyls-memestra.dist
python311Packages.pyls-spyder
python311Packages.pyls-spyder.dist
python311Packages.pylsp-mypy
python311Packages.pylsp-mypy.dist
python311Packages.pylsp-rope
python311Packages.pylsp-rope.dist
python311Packages.python-lsp-black
python311Packages.python-lsp-black.dist
python311Packages.python-lsp-ruff
python311Packages.python-lsp-ruff.dist
python311Packages.python-lsp-server
python311Packages.python-lsp-server.dist
python311Packages.spyder
python311Packages.spyder.dist
python311Packages.whatthepatch
python311Packages.whatthepatch.dist
python312Packages.pyls-flake8
python312Packages.pyls-flake8.dist
python312Packages.pyls-isort
python312Packages.pyls-isort.dist
python312Packages.pyls-memestra
python312Packages.pyls-memestra.dist
python312Packages.pyls-spyder
python312Packages.pyls-spyder.dist
python312Packages.pylsp-mypy
python312Packages.pylsp-mypy.dist
python312Packages.pylsp-rope
python312Packages.pylsp-rope.dist
python312Packages.python-lsp-black
python312Packages.python-lsp-black.dist
python312Packages.python-lsp-ruff
python312Packages.python-lsp-ruff.dist
python312Packages.python-lsp-server
python312Packages.python-lsp-server.dist
spyder (python312Packages.spyder)
spyder.dist (python312Packages.spyder.dist)
python312Packages.whatthepatch
python312Packages.whatthepatch.dist

Maintainer pings

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 356632

x86_64-linux

:white_check_mark: 23 packages built:

ki
python311Packages.pyls-flake8
python311Packages.pyls-isort
python311Packages.pyls-memestra
python311Packages.pyls-spyder
python311Packages.pylsp-mypy
python311Packages.pylsp-rope
python311Packages.python-lsp-black
python311Packages.python-lsp-ruff
python311Packages.python-lsp-server
python311Packages.spyder
python311Packages.whatthepatch
python312Packages.pyls-flake8
python312Packages.pyls-isort
python312Packages.pyls-memestra
python312Packages.pyls-spyder
python312Packages.pylsp-mypy
python312Packages.pylsp-rope
python312Packages.python-lsp-black
python312Packages.python-lsp-ruff
python312Packages.python-lsp-server
spyder (python312Packages.spyder)
python312Packages.whatthepatch

aarch64-linux

:white_check_mark: 23 packages built:

ki
python311Packages.pyls-flake8
python311Packages.pyls-isort
python311Packages.pyls-memestra
python311Packages.pyls-spyder
python311Packages.pylsp-mypy
python311Packages.pylsp-rope
python311Packages.python-lsp-black
python311Packages.python-lsp-ruff
python311Packages.python-lsp-server
python311Packages.spyder
python311Packages.whatthepatch
python312Packages.pyls-flake8
python312Packages.pyls-isort
python312Packages.pyls-memestra
python312Packages.pyls-spyder
python312Packages.pylsp-mypy
python312Packages.pylsp-rope
python312Packages.python-lsp-black
python312Packages.python-lsp-ruff
python312Packages.python-lsp-server
spyder (python312Packages.spyder)
python312Packages.whatthepatch

x86_64-darwin

:fast_forward: 1 package marked as broken and skipped:

ki

:white_check_mark: 20 packages built:

python311Packages.pyls-flake8
python311Packages.pyls-isort
python311Packages.pyls-memestra
python311Packages.pyls-spyder
python311Packages.pylsp-mypy
python311Packages.pylsp-rope
python311Packages.python-lsp-black
python311Packages.python-lsp-ruff
python311Packages.python-lsp-server
python311Packages.whatthepatch
python312Packages.pyls-flake8
python312Packages.pyls-isort
python312Packages.pyls-memestra
python312Packages.pyls-spyder
python312Packages.pylsp-mypy
python312Packages.pylsp-rope
python312Packages.python-lsp-black
python312Packages.python-lsp-ruff
python312Packages.python-lsp-server
python312Packages.whatthepatch

aarch64-darwin

:fast_forward: 1 package marked as broken and skipped:

ki

:white_check_mark: 20 packages built:

python311Packages.pyls-flake8
python311Packages.pyls-isort
python311Packages.pyls-memestra
python311Packages.pyls-spyder
python311Packages.pylsp-mypy
python311Packages.pylsp-rope
python311Packages.python-lsp-black
python311Packages.python-lsp-ruff
python311Packages.python-lsp-server
python311Packages.whatthepatch
python312Packages.pyls-flake8
python312Packages.pyls-isort
python312Packages.pyls-memestra
python312Packages.pyls-spyder
python312Packages.pylsp-mypy
python312Packages.pylsp-rope
python312Packages.python-lsp-black
python312Packages.python-lsp-ruff
python312Packages.python-lsp-server
python312Packages.whatthepatch


Boiler cooler stack flue association tables

Overview
This PR adds the boiler <> cooling id and boiler <> stack flue association tables to the database. Addresses #2586
Still a WIP:

[ ] Figure out how to handle stack flue primary key
[ ] Add both tables to the harvesting process
[ ] Update any tests that are altered by these tables getting harvested

PR Checklist

[ ] Merge the most recent version of the branch you are merging into (probably dev).
[ ] All CI checks are passing. Run tests locally to debug failures
[ ] Make sure you've included good docstrings.
[ ] For major data coverage & analysis changes, run data validation tests
[ ] Include unit tests for new functions and classes.
[ ] Defensive data quality/sanity checks in analyses & data processing functions.
[ ] Update the release notes and reference reference the PR and related issues.
[ ] Do your own explanatory review of the PR to help the reviewer understand what's going on and identify issues preemptively.

QUESTION:
@zschira @zaneselvans @cmgosnell
The stack flue association table contains the following columns: flue_id_eia, stack_id_eia, and stack_flue_id_eia. Sometimes the stack id and the flue id are difference and a record will have a value for stack_id_eia and flue_id_eia. Sometimes the stack and flue are inextricable and the record has a stack_flue_id_eia. There are no records that have a stack_flue_id_eia and also a stack_id_eia or flue_id_eia.
This makes things complicated for creating a primary key, which can't be NA. stack_flue_id_eia will always be NA when there are values for stack_id_eia and flue_id_eia. stack_id_eia and flue_id_eia can't be combined because they represent distinct entities that have a many-to-many relationship with one another.
Options I've considered:

Create a stack_flue_id_pudl column that would create unique values for each of the rows. This feels kind of weird because it's combining entities that are also linked to other things.
Break this table down into boiler <> stack id and boiler <> flue id tables with the stack_flue_id_eia column values used in both of the tables under either stack_id or flue_id.

If anyone else has other ideas I would love to know

I'm not 100% sure if I'm following this comment:

This feels kind of weird because it's combining entities that are also linked to other things.

But, I would lean towards making a stack_flue_id_pudl column that concatenates the stack and flue IDs (e.g. 1A-1-2) where they are separate and takes the stack_flue_id_eia column where it has a value. This seems consistent with how we combine other columns. It also makes it relatively trivial to identify the components.

If the goal of the table is to conclusively link each boiler to 1 stack and 1 flue, and the dataset pivots towards having a combined stack-flue ID in later years, then I would aim to reproduce this logic retroactively.

Unfortunately, it's not something that changes in later years. Rather, some plants have a combined stack and flue system and others are separate and interconnected with other stacks or flues.

In 2013 EIA stopped breaking out stack_id_eia and flue_id_eia in favor of a single stack_flue_id_eia. This value generally reflects whatever value was reported for stack_id_eia for a given plant_id_eia and boiler_id combo in prior years.
These early (seperate) stack and flue do have some 1:m or m:1 relationships, so we can't just use the stack_id_eia column to fill in stack_flue_id_eia for older years and call it a day.

But within a given (plant_id_eia, boiler_id) the combination of stack_id_eia and flue_id_eia is always unique, so we could use them as part of a natural composite primary key, except that in some cases one of them is NA?
In which case we can either concatenate them to create a new element of a composite PK that won't show up in any other tables (unless we also create it there) which sounds like a bit of special case logic that might be nice to avoid.  Alternatively we could add a null-ish string value like "NULL" so SQLite doesn't yell at us about having missing values in a PK field.
If there are many-to-1 or 1-to-many combinations of these stack/flue IDs in older years, it seems like there's some loss of information in the 2013 and later data where only a single ID is ever reported?    Ideally we'd like to have continuity across years.

we can either concatenate them to create a new element of a composite PK that won't show up in any other tables (unless we also create it there) which sounds like a bit of special case logic that might be nice to avoid. Alternatively we could add a null-ish string value like "NULL" so SQLite doesn't yell at us about having missing values in a PK field.

I took a look at the NA flue_id_eia values and I can spot fix them all easily!

@e-belfer and I decided the best option is to revert back to stack_flue_id_pudl

Annoying addendum here #2629 b/c I forgot to push some commits when I merged.

And final annoying addendum to fix the build fails #2634


The inappropriate installation command in the Readme

The command in the Install part of the Readme should be changed from:
cd custom_nodes
git clone git@github.com:huchenlei/ComfyUI-IC-Light.git

to
cd custom_nodes
git clone https://github.com/huchenlei/ComfyUI-IC-Light-Native.git

Fixed.


Errors with dynamic extension install ?

az feedback auto-generates most of the information requested below, as of CLI version 2.0.62

Describe the bug
Testing out new dynamic extension install feature
To Reproduce

az config set extension.run_after_dynamic_install=yes_without_prompt -- succeeded

run az mysql up -- failed

3)az databricks workspace create -- also failed

Expected behavior
no fail
Environment summary
Windows

Additional context

yes_prompt also failed:

but no and yes did not fail:

hi @fengzhou-msft could you pls help a look? thanks.

run_after_dynamic_install is currently a boolean, only supports yes or no while use_dynamic_install is a string and supports yes_prompt, yes_without_prompt, no.

Oh okay. Thanks!
I see what happened here. Conflated the use dynamic install with run after dynamic install
Awesome! Fixed the command and they worked


version v10.2.1 breaks CJS

Describe the Bug
After 3ea4ec5, the package is not resolvable via CJS.
Steps to Reproduce

Build project
Execute node -e "require('.')" from project root
Error:node:internal/modules/cjs/loader:1147
throw err;
^

Error: Cannot find module '.'
Require stack:
- /Users/boneskull/projects/nikku/didi/[eval]
  at Module._resolveFilename (node:internal/modules/cjs/loader:1144:15)
  at Module._load (node:internal/modules/cjs/loader:985:27)
  at Module.require (node:internal/modules/cjs/loader:1235:19)
  at require (node:internal/modules/helpers:176:18)
  at [eval]:1:1
  at runScriptInThisContext (node:internal/vm:144:10)
  at node:internal/process/execution:109:14
  at [eval]-wrapper:6:24
  at runScript (node:internal/process/execution:92:62)
  at evalScript (node:internal/process/execution:123:10) {
code: 'MODULE_NOT_FOUND',
requireStack: [ '/Users/boneskull/projects/nikku/didi/[eval]' ]
}

Expected Behavior
The command above should exit with a non-zero exit code.
Environment

Host (Browser/Node version), if applicable: [e.g. MS Edge 18, Chrome 69, Node 10 LTS] Node.js v20.10.0
OS: [e.g. Windows 7] macOS
Library version: [e.g. 2.0.0] latest

@boneskull thanks for the report.
How is this a valid usage of the project? Why would you expect to require('.') within diagram-js?

err, that's just the easiest way to reproduce. use require('didi') somewhere.

You mean this? It works on my machine, so please provide concrete steps to reproduce:
~/camunda/projects/bpmn.io/.other/foo
> npm install didi

up to date, audited 3 packages in 512ms

found 0 vulnerabilities

~/camunda/projects/bpmn.io/.other/foo
> npm

~/camunda/projects/bpmn.io/.other/foo
> cat package.json
{
  "dependencies": {
    "didi": "^10.2.1"
  }
}

~/camunda/projects/bpmn.io/.other/foo
> node -e "console.log(require('didi'))"
{
  Injector: [Function: Injector],
  annotate: [Function: annotate],
  parseAnnotations: [Function: parseAnnotations]
}

~/camunda/projects/bpmn.io/.other/foo
> node --version
v20.11.1

That said, if you put main back in, it will work as expected when required as a relative path:
{
  "main": "./dist/index.cjs"
}

Not sure your reasons for removing it.

@boneskull I've seen a bunch of bundlers having issues with main being a CJS module, not the ESM export. Hence I'm looking into migrating my libraries into ESM only and/or providing dual exports via the exports package.json field. At some point I plan to drop CJS support all together as we've seen many do in the larger eco-system.
I still do not understand under which circumstances you get typescript errors. You should not get them in my tests. But if "main": "..." fixes the situation for you (and it was in fact a breaking change to remove it), please provide me a setup I can reproduce this with and I'm happy to restore the past (if it does not break the future).

Consider to move your module resolution strategy in typescript to NodeNext. That should be aware of exports.

I found another case where removing main and module would break downstream libraries. I'll go ahead and revert that change. Better safe than sorry.

Yeah, it breaks older versions of node as well.  AFAICT there's really no reason not to have a main.

Anyway, please let me know if you want to get to the bottom of it, and I can create a minimal repo to reproduce.


What is the --readme flag supposed to do?

I'm trying to figure out what the -R, --readme flag is supposed to do. The help doesn't tell you much except that the flag is for telling jsdoc the value of the README file.
$ jsdoc -h
JSDoc 3.6.2 (Sun, 12 May 2019 16:47:31 GMT)

Options:
    -a, --access <value>         Only display symbols with the given access: "package", public", "protected", "private" or "undefined", or "all" for all access levels. Default: all except "private"
    -c, --configure <value>      The path to the configuration file. Default: path/to/jsdoc/conf.json
    -d, --destination <value>    The path to the output folder. Default: ./out/
    --debug                      Log information for debugging JSDoc.
    -e, --encoding <value>       Assume this encoding when reading all source files. Default: utf8
    -h, --help                   Print this message and quit.
    --match <value>              When running tests, only use specs whose names contain <value>.
    --nocolor                    When running tests, do not use color in console output.
    -p, --private                Display symbols marked with the @private tag. Equivalent to "--access all". Default: false
    -P, --package <value>        The path to the project's package file. Default: path/to/sourcefiles/package.json
    --pedantic                   Treat errors as fatal errors, and treat warnings as errors. Default: false
    -q, --query <value>          A query string to parse and store in jsdoc.env.opts.query. Example: foo=bar&baz=true
    -r, --recurse                Recurse into subdirectories when scanning for source files and tutorials.
    -R, --readme <value>         The path to the project's README file. Default: path/to/sourcefiles/README.md
    -t, --template <value>       The path to the template to use. Default: path/to/jsdoc/templates/default
    -T, --test                   Run all tests and quit.
    -u, --tutorials <value>      Directory in which JSDoc should search for tutorials.
    -v, --version                Display the version number and quit.
    --verbose                    Log detailed information to the console as JSDoc runs.
    -X, --explain                Dump all found doclet internals to console and quit.

I ran this command, but my README.md file was not updated. Should it be?
$ jsdoc -r src -R README.md

JSDoc configuration

I installed jsdoc globally.
Expected behavior
That's what i'm trying to figure out. The jsdoc README doesn't say anything about it.
Current behavior
README not being updated
Your environment

Software
Version

JSDoc
3.6.2

Node.js
10.15.3

npm
6.9.0

Operating system
macOS 10.14.3

Actually even just running $ jsdoc src/utils.js doesn't do anything to my README.md file. According to the docs it should do something, but I don't know what that something is.

@toymachiner62 According to the docs the contents of your README.md are rendered in the index.html page. So, I don't believe it will generate or edit a README.md document, if that is what you mean, but instead will use the file you already have and include it in the homepage of the generated docs.

Yep, that's what the --readme flag is for.


fix: double encoding of commas in createCloudinaryURL

fixes #580
Pull request for @cloudinary/url-gen
What does this PR solve?
double encoding of commas
Final checklist

[ ] Implementation is aligned to Spec.
[ ] Tests - Add proper tests to the added code.

 Tests for Encoding the URL › Should encode cloudinary characters (",") in a publicID
    expect(received).toBe(expected) // Object.is equality
    Expected: "https://res.cloudinary.com/demo/image/upload/sam%252Cple"
    Received: "https://res.cloudinary.com/demo/image/upload/sam%2Cple"
      20 |     const url = createNewImage('sam,ple')
      21 |       .toURL();
    > 22 |     expect(url).toBe('https://res.cloudinary.com/demo/image/upload/sam%252Cple');
         |                 ^
      23 |   });
      24 |
      ```

Seems like this is "expected" behaviour but causes 404s?

![image](https://github.com/cloudinary/js-url-gen/assets/37038043/4d7b85ba-cd90-44e7-9745-64a1ad253bf6)


⚠ Bofrost.es has degraded performance

In 8c13d56, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1099 ms

Resolved: Bofrost.es performance has improved in 8ee9bb2 after 21 minutes.


added example for automatically setting urgency of an SNOW ticket

thx christian - adapted the name

LGTM! (I'm not a reviewer with write access, btw)


aws terrascan policies

@harkirat22 @shreyas-phansalkar-189 Please review my PR

Hey @Avanti19 ,  could  you please update the PR?


False positive reported by NoVoidAssignRule in situation where program would throw rather than actually assign void to a variable

The following snippet triggers a false positive from Symplify\PHPStanRules\Rules\Explicit\NoVoidAssignRule:
https://phpstan.org/r/43db766a-528e-471b-9128-febe7d001e17
<?php declare(strict_types=1);
use Ds\Sequence;

/**
 * @param Sequence<string> $donuts
 */
function doStuff(Sequence $donuts): void {
	$myVar = $donuts->get(12); // False positive reported here.
}

 ------ ---------------------------------------------------------------------------
  Line   lib/Stuff.php
 ------ ---------------------------------------------------------------------------
  8      Assign of void value is not allowed, as it can lead to unexpected results
         ✏  lib/Stuff.php
 ------ ---------------------------------------------------------------------------

Since \Ds\Sequence::get() throws an OutOfRangeException when the provided index is invalid, void will never actually be assigned to $myVar.
I'm using PHPStan 1.5.0 and symplify/phpstan-rules 10.1.4.

Hi, thanks for reporting.
Where is the get() method content? I need to know what is inside.

@TomasVotruba https://www.php.net/manual/en/ds-sequence.get.php
The extension version is somewhere here: https://github.com/php-ds/ext-ds
And here's the polyfill version:
https://github.com/php-ds/polyfill/blob/master/src/Sequence.php

@TomasVotruba Will this do?
<?php declare(strict_types=1);

/**
 * @template TValue
 * @extends \Traversable<int, TValue>
 */
interface Sequence extends \Countable, \IteratorAggregate {
	/**
	 * Returns the value at a given index (position) in the sequence.
	 *
	 * @throws \OutOfRangeException if the index is not in the range [0, size-1]
	 *
	 * @phpstan-return TValue
	 */
	public function get(int $index): mixed;
}

class Foo {}

/**
 * @param Sequence<Foo> $donuts
 */
function doStuff(Sequence $donuts): void {
	$donutsCount = \count($donuts);

	foreach ($donuts as $indexA => $donut) {
		// Optimization to avoid trying to pair with contacts that have already been iterated over in a previous top-level loop iteration.
		for (
			$indexB = $indexA + 1;
			$indexB < $donutsCount;
			$indexB++
		) {
			$otherDonut = $donuts->get($indexB); // False positive reported here.
		}
	}
}

The simpler the better. The for seems unrelated to return value.

Hmmm... upon further testing, I've discovered that my thrown-together minimal polyfills for the Ds structures don't trigger the bug, which is odd. It makes me suspect that perhaps the issue has something to do with PHPStan's built-in stubs and dynamic return/throw type extensions for ext-ds. However, I can't find a related extension, nor does using the PHPStan stubs in their entirety allow me to reproduce the issue. Thus far, the bug seems to only happen when I'm using the real Ds\Sequence. 😕
I did at least manage to reduce the initial snippet down to the bare minimum:
<?php declare(strict_types=1);
use Ds\Sequence;

class Foo {}

/**
 * @param Sequence<Foo> $donuts
 */
function doStuff(Sequence $donuts): void {
	$myVar = $donuts->get(12); // False positive reported here.
}

It makes me suspect that perhaps the issue has something to do with PHPStan's built-in stubs and dynamic return/throw type extensions for ext-ds

That might be the case, as this rule only uses PHPStan type result. It might be worth to report there.

I finally got around to reporting this issue to PHPStan: https://github.com/phpstan/phpstan/issues/7226

Could you add failing test fixture to NoVoidAssignRuleTest? Ideally without any external extension dependency.

If I understand the code correctly, it looks like NoVoidAssignRule#processMethodCall is looking for return/yield statements inside the method being analyzed.
Thing is, PHPStan gets most of its types for the Ds extension from stubs, and stubs, although resembling PHP code, don't have any return/yield statements. (And I suppose ext-ds being written in C rather than PHP may have an effect on the analysis as well.)
If my hypothesis is correct, it would explain why I can't reproduce the issue when I recreate the Ds\Sequence in actual code.
Unfortunately, if I'm correct, this makes testing the behavior rather difficult. I can't just create and load a .stub file with a made-up Sequence knock-off, because PHPStan will complain when I try to use the non-existent class. But if I create an actual class, PHPStan complains when I leave its method bodies empty.
Any ideas?

PHPStan should be able to resolve type of available PHP extension.

I'm not sure how PHP derives types from PHP extensions, but I think that all its info about them comes from stubs. Specifically, I know PHPStan gets stubs for PHP core and extensions from these sources:

https://github.com/JetBrains/phpstorm-stubs/
https://github.com/phpstan/php-8-stubs
https://github.com/phpstan/phpstan-src/tree/1.7.x/stubs

Because of this, I would assume that it has no knowledge of the inner workings of the classes/methods beyond what is declared in the stubs.
My best guess is that the issue has something to do with these lines in NoVoidAssignRule#processMethodCall:
if ($this->simpleNodeFinder->hasByTypes($classMethod, [Return_::class, Yield_::class])) {
    return [];
}

return [self::ERROR_MESSAGE];

If I understand this code correctly, it seems to be looking inside method bodies to find return/yield statements. But since the class methods of a PHP extension aren't even written in PHP, that might mean there are no return/yield statements to find, and as a result, it falls back to returning an error message. Or at least that's my hypothesis. I could be completely wrong.
Is anything I'm saying possible, @ondrejmirtes?
I did try to reproduce the issue with a stubbed method other than Sequence#get, but I have not been successful so far. I'm not sure what's so special about that particular method. Just listing some things off the top of my head:

It's a method. (NoVoidAssignRule#processMethodCall only checks those, not regular functions.)
None of the stubs declare a native return type, and the PHPDoc return types are mixed in PHPStorm and a template type in PHPStan. (This could perhaps somehow cause processMethodCall to be unable to determine its return type?)
It's from a non-core PHP extension.

🤷♂

Thanks for sharing. From top of my head, what about some check of class for internal class?
// skip internal classes, as the stubs only return types, not the method bodies
if ($reflectionClass->isInternal()) {
    return []
}

if ($this->simpleNodeFinder->hasByTypes($classMethod, [Return_::class, Yield_::class])) {
    return [];
}

return [self::ERROR_MESSAGE];

@ZebulanStanphill I don't have the context of what's discussed here, ideally I like questions posed in terms of what's manifested by core PHPStan behaviour, but I think I can answer your question. You can read this https://phpstan.org/user-guide/troubleshooting-types and get the idea of what PHPStan does (you mostly guessed it right).
There are some exceptions when PHPStan reads function/method bodies:

To see if it's variadic thanks to func_get_args() call or similar
To find yield or yield from.

So yeah, unless the internal method has Generator return type, we can't figure out if it's a Generator or not.
But I'm not sure what NoVoidAssignRule is supposed to do as a similar thing is already reported by PHPStan correctly: https://phpstan.org/r/2a575d46-1a49-4c68-a5a8-7f30d2470901

@ondrejmirtes These cases are skipped: https://phpstan.org/r/d59a05c6-f211-41da-8583-0774df13c049

I've just made a huge upgrade for rules to remove dependency of parent node.
From hindsight, PHPStan is good enough for void checks, so I removed it and let core itself handle.


[NFC] More InOut Cleanup

Trying to do three things here (and do them without hurting anything)

Remove more uses of <InOutType>()
Make coercing patterns stop resetting specifiers on variables - this was just for a diagnostic anyways.
Teach CSBindings what to do with declrefs for closure parameters.

@swift-ci please test

@swift-ci please test source compatibility

Scaled back to trivial changes
@swift-ci please smoke test and merge

@swift-ci please smoke test and merge


Update namespace package check to check path is a list

Allow working in frozen environments as per https://github.com/django/django/pull/13820/files

I'm not sure we need to work in frozen environments, it doesn't make sense to makemigrations in them. I had a look at the upstream change again and not sure how it maps to a change here anyway.


Cannot find video file

When I run trex -i "../footage/2021-05-28-30-wt-pebble-control-vid2.MOV" -track_max_individuals 50 -individual_prefix "tadpole", the path is getting set up improperly. I get
[EXCEPTION 16:05:29 main.cpp:444] Cannot find video file '/Users/thomas/Videos/../../footage/2021-05-28-30-wt-pebble-control-vid2.MOV.pv'. (0)

What error are you getting on step 3 @jstremme?

It's also adding a .pv to the end of the file for me. I.e. it's turning /Users/..../grey-pebble-control.m4v into /Users/..../grey-pebble-control.m4v.pv.

More on pv here.

Looks like we need to convert our files into pv using this:
tgrabs -i /full/path/to/video.mp4 -o new-video-name

PR made https://github.com/jstremme/trex-cv-experiments/pull/2/files


[R] compilation failed for package 'xgboost': invalid initialization of non-const reference of type

Installing xgboost <IP_ADDRESS> in RStudio leads to:
In file included from amalgamation/xgboost-all0.cc:68:0:
amalgamation/../src/learner.cc: In member function ‘virtual void xgboost::LearnerImpl::SaveModel(xgboost::Json*) const’:
amalgamation/../src/learner.cc:378:24: error: invalid initialization of non-const reference of type ‘xgboost::Json&’ from an rvalue of type ‘<brace-enclosed initializer list>’
     Json& out { *p_out };
                        ^
amalgamation/../src/learner.cc: In member function ‘virtual void xgboost::LearnerImpl::SaveConfig(xgboost::Json*) const’:
amalgamation/../src/learner.cc:441:24: error: invalid initialization of non-const reference of type ‘xgboost::Json&’ from an rvalue of type ‘<brace-enclosed initializer list>’
     Json& out { *p_out };
                        ^
make: *** [amalgamation/xgboost-all0.o] Error 1
ERROR: compilation failed for package ‘xgboost’

On the other hand, the following succeeds:
packageurl <- "http://cran.r-project.org/src/contrib/Archive/xgboost/xgboost_<IP_ADDRESS>.tar.gz"
install.packages(packageurl, repos=NULL, type="source")

What compiler are you using?

I'm having the exact same error. Trying to upgrade from 0.71.2
R version 3.4.1 (2017-06-30)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: CentOS Linux 7 (Core)
gcc version 7.3.1 20180303 (Red Hat 7.3.1-5) (GCC)

Had this exact problem trying to upgrade from an earlier version on Centos 7. GCC was version 4.8.5. Fix was to install the devtoolkit with newer gcc here: https://www.softwarecollections.org/en/scls/rhscl/devtoolset-7/

We're using CentOS 7 as well, so this is likely the issue.  Thanks for your input @AYellowDart 👍

Indeed XGBoost requires GCC 5+ to compile, because it follows C++11 standard.
https://github.com/dmlc/xgboost/blob/60511a3222cd164da93351c441b5018da7169b76/CMakeLists.txt#L16

Thanks, that's useful information.  It might be helpful if that warning message appears when the R installation fails.  Or possibly include the GCC 5 version requirement in SystemRequirements: in DESCRIPTION:
https://github.com/dmlc/xgboost/blob/60511a3222cd164da93351c441b5018da7169b76/R-package/DESCRIPTION#L67

The DESCRIPTION file states C++11 as requirement, and GCC 4.x doesn't really support C++11 fully.

Thanks- it seems like SystemRequirements are not enforced or tested on installation, because when I install it the only error I get is the gcc compile error (not a dependency error).  Maybe that is an issue with R's package management?  What might help resolve this issue is some kind of output indicating that GCC5+ is required.

We don't require specific compiler, but require language version.  Checking whether the compiler is capable of compiling that language is the job of build tool.  For XGBoost normally it's CMake, but R package uses autotools.
Surely you can add checks in the autotools script for compiler capabilities like whether it can compile with regex etc.  But I don't think anyone here like using autotools.

Got it- sounds like it's on autotools then.  Thanks for the additional info.


GESI.getClientInternal is not a function

EveQueue sheet by Absolute Truth v.3.1:
GESI library version 41, error message "GESI.getClientInternal is not a function"
Sheet was on GESI version 35. When move back to GESI 35 on the sheet, the wrapper and sheet function as normal. Unknown if issue is missing function from wrapper, or EveQueue sheet issue.

Defiantly a missing function. I need to research this one further.

I don't see that function in the current version of GESI.
In Case it's a typo on my part.. delete the wrappers and replace them with a fresh copy.
Custom functions are beyond the scope of these wrappers.
I don't have access to EveQueue and can't do anything with it.


 hash path in NodeJS

How can I get the Link component to generate href with # when rendering on the server?
https://github.com/rackt/react-router/blob/10359a50cc6df934a10dea581a8ac81eeff68efd/modules/createRouter.js#L235
The code seems to be checking for HashLocation, which is not available in Node.
Thanks.

#hashlinks

On the server you need to give the router a path.
Router.run(routes, req.path, callback)`

The links won't have hash the # in them.
http://jsbin.com/duyaxa/6/edit

But I want the link generated on the server to start with #.

If you have server rendering, use HistoryLocation in the client. Why would you want to use hashes?

I use HashLocarion on th client.
On Friday, February 6, 2015, Ryan Florence<EMAIL_ADDRESS>wrote:

If you have server rendering, use HistoryLocation in the client. Why
would you want to use hashes?
—
Reply to this email directly or view it on GitHub
https://github.com/rackt/react-router/issues/779#issuecomment-73353227.


Update README.md - platforms and architectures

better listing of supported platforms and architectures in README.md

Thanks for the PR! But feels very confusing to me...


Update Darc endpoints

What is the purpose of the change

ClickUp Task
ClickUp Task URL
Brief Changelog

Testing and Verifying

Documentation and Release Note

Awesome thanks! Merged the original PR just to give him PR contribution credit, tysm for this :pray:


ImportError: This module is deprecated.  Use tf.nn.rnn_* instead.

The error occurred when testing the source code:
python train.py --data_file=data/tiny_shakespeare.txt --num_epochs=10 --test

Here is the full stack:
Traceback (most recent call last):
  File "train.py", line 10, in <module>
    from char_rnn_model import *
  File "/websail/nor/tf/tensorflow-char-rnn/char_rnn_model.py", line 5, in <module>
    from tensorflow.models.rnn import rnn
  File "/home/northanapon/.virtualenvs/tf/lib/python2.7/site-packages/tensorflow/models/rnn/rnn.py", line 21, in <module>
    raise ImportError("This module is deprecated.  Use tf.nn.rnn_* instead.")
ImportError: This module is deprecated.  Use tf.nn.rnn_* instead.

I am using GPU version of Tensorflow 0.9.0rc0.

Thanks. Just fixed the problem.

Same error. How to fix the problem?

Are you sure that the same error? This was solved for long time ago. If it is related to state tuple, you should check out this pull request: https://github.com/crazydonkey200/tensorflow-char-rnn/pull/2.

Thanks for your response. @NorThanapon
Problem solved by modifying some codes.
The codes I run are written with previous version of tensorflow.
However,  I used another version to run the code which caused the error.
Thanks!


Update page.tsx

remove unnecessary slash / in "Edit this page on GitHub" link

Closes #
📝 Description

For example doc page https://nextui.org/docs/guide/introduction have a  Edit this page on GitHub which link have double / between words main and apps

⛳ Current behavior (updates)

Please describe the current behavior that you are modifying

🚀 New behavior

Please describe the behavior or changes this PR adds

💣 Is this a breaking change (Yes/No):

📝 Additional Information

Closing - no longer applicable


npm redux.js build breaks isCrushed() check and always throws warning

The following code exists in the npm build of redux:
	if (("development") !== 'production' && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') {
	  (0, _warning2['default'])('You are currently using minified code outside of NODE_ENV === \'production\'. ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or DefinePlugin for webpack (http://stackoverflow.com/questions/30030031) ' + 'to ensure you have the correct code for your production build.');
	}

In the npm redux build, process.env.NODE_ENV has been replaced with ('development'), causing the warning to always fire when redux is minified. This NODE_ENV variable needs to not be replaced so npm redux installers can get the warning only on development.
If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem via https://jsfiddle.net or similar.
What is the expected behavior?
Which versions of Redux, and which browser and OS are affected by this issue? Did this work in previous versions of Redux?

I'm pretty sure this is intentional. Instead of minifying dist/redux.js, you're expected to use dist/redux.min.js.

So I have to use different files on my dev and prod builds?...ok.


Upvals need to be accessed in a specific order

Accessing upvals in the wrong order causes a segfault

Fixed in v0.11.0 branch


Toonify a Given Image

Aim

This is a python application which takes a image as input and toonify it (make a cartoonist image of it)

Details

using https://deepai.org/machine-learning-model/toonify api.

@kaustubhgupta  please check this issue

We already have this script
https://github.com/avinashkranjan/Amazing-Python-Scripts/tree/master/Cartooning Image

Secondly, I agree that your approach is different from the implemented one but a simple API call is not what we want


2nd day code review 1st week

Congrats! very clean code yi really like the development of the logic in the program, I probably you can have in one place all the logic for the LocalStorage and the remove button, an example:
`document.addEventListener('DOMContentLoaded', () => {
const booksSaved = JSON.parse(localStorage.getItem('books'));
if (booksSaved) {
books = booksSaved;
const booksHTML = books.map((book) =>

${book.title}

${book.author}
         <button class="remove-button">Remove</button>

    ).join('');
$remove.innerHTML = booksHTML;

const $removeButtons = document.querySelectorAll('.remove-button');
$removeButtons.forEach((removeButton, index) => {
  removeButton.addEventListener('click', () => {
    books.splice(index, 1);
    localStorage.setItem('books', JSON.stringify(books));
    removeButton.parentNode.remove();
  });
});

}
});
`


LLINEUP viz tab histogram for "age" fails

On the live site & also on qa.clinepi:
In the LLINEUP study with no filters, I tried to plot "Age" in the viz tab histogram, and got this error msg:

This is either due to an incorrect io-ts type on the frontend, or an incorrect value from the backend.

Seems solved by https://github.com/VEuPathDB/plot.data/issues/182 moving to ready for testing

Age histogram forL LINEUP is no longer throwing an error and displaying on the site.


Should now be possible for fetcher to queue stories on the fly

Pluses:

would reduce lumps in queue
eliminate loss of already fetched stories if process killed (server down, or next day's batch launched)
lower memory usage

Minuses:

more duplicates if process restarted

I think this would be a pretty trivial rewrite of the fetch worker, if I understand the changes you made correctly- should we just move on this?

Yes, it should be trivial (in theory):

replace AUTO_CONNECT = False with START_PIKA_THREAD = True
replace big_list.append with direct send_story (now available in QApps)
eliminate processing of big_list

But it's not without risks (could lose stories if RabbitMQ not
available all the way through), so I'd put it lower priority than
cleaning up error handling both in parser (reduce retries/quarantine)
and the places fetcher has asserts.
Because "trivial in theory" can turn out to be "complex in practice",
and I think a completely queue based fetcher could be more robust and
MIGHT not be THAT much more work than the worst case for on-the-fly
queuing.


Docs out of date w.r.t. serde?

Docs ( https://georust.github.io/rust-geojson/geojson/index.html )  imply that serde is an optional alternative, but it looks like it only uses serde?

There used to be an option to select between rustc-serialize and serde, but recently we changed it to just use serde. So looks like the docs need to be updated

https://github.com/georust/rust-geojson/pull/60

Whoops, must've missed that. I'll go update the docs today.

I think the docs on github.io are just out of date. @frewsxcv do you think we still need these now that we've got docs.rs?

Nah, we can just used docs.rs and get rid of our own infra 👍

Fixed in https://github.com/georust/rust-geojson/pull/79


fix code highlighting

actually highlight the code line where ServiceA is being referenced

Internal previews

📄 File
🔗 Preview link

aspnetcore/host-and-deploy/windows-service.md
Host ASP.NET Core in a Windows Service

declining CLA


Proposal: add compatibility guide for packages built for net/http

Is your feature request related to a problem? Please describe.
Compatibility with existing libarays and tools in the web ecosystem is a key factor for mass adoption of Hertz. Yet, Hertz uses a very different design and API, e.g. *http.Request vs *protocol.Request, which made it very challenging to integrate with other library people already femiliar with.  As of today, there are 314,984 code snippets uses *http.Handler somewhere.
For instance, the following library/package uses http.Handler interface to register handler.

Jade
oapi-sdk-go

Describe the solution you'd like
I think it would be worth a paragraph or two to describe how to use tools that built for net/http package in offical documentation.  I understand Hertz provides adaptors to get *protocol.Request from *http.Request and http.ResponseWrite from *protocol.Response, but this is not mentioned anywhere in the documentation.
It would also be helpful to address common concerns like performance loss.
Describe alternatives you've considered
As an alternative, we can provide a fews examples on how to integrate Hertz with existing tools. This will make peofple feel comfortable migrating from existing stack to Hertz.
Additional context
The community has asked a similar question  #119 , we should address these type of question in doc once and for all.

Good point! The job is right in the TODOs, if you are interested in it. Any pr is welcome~


@smithdc1 Removed default default_app_config setting for Django>=3.2

deault_app_config will be deprecated in Django 3.2.

May be just improve a bit the commit message?

I made less of a mess with this one.
Is this commit message better?

Absolutely!


Create index.zh-CN.adoc

Adoptium Secure Software Development Practices page translation of Chinese.
Description of change
Add Chinese translation for "Adoptium Secure Software Development Practices" page
Checklist

[x] contribution guidelines followed here

you need an eclipse account and respect the header for your pull request to pass

eclipse create account: https://accounts.eclipse.org/user/login?destination=oauth2/authorize
sign ECA: https://www.eclipse.org/legal/ECA.php
and leave the header as in the original without modifying. (I translated it and I realized that it has to be identical to the original)

like this:
= Adoptium(R) Secure Software Development Practices

no like this
= Adoptium(R) 安全软件开发实践

you need an eclipse account and respect the header for your changes pass the checks

eclipse create account: https://accounts.eclipse.org/user/login?destination=oauth2/authorize
sign ECA: https://www.eclipse.org/legal/ECA.php
and leave the header as in the original without modifying. (I translated it and I realized that it has to be identical to the original)

like this:
= Adoptium(R) Secure Software Development Practices

no like this
= Adoptium(R) 安全软件开发实践

@Thebyren Thanks for your comments. I tried to registry an account, but failed, always hint me

So, I will close this PR now.


fix(replicator): heap out of memory

Motivation
there's this ongoing issue of running out of memory with the apps.
e.g.
https://github.com/farcasterxyz/hub-monorepo/issues/1015
or
https://github.com/farcasterxyz/hub-monorepo/issues/1407
Change Summary
Adding the node --max-old-space-size flag with the ram size fixes the issue.
The requirements speak of 2GB ram requirement, so setting this as default value.
https://github.com/farcasterxyz/hub-monorepo/blob/a6367658e5c518956a612f793bec06eef5eb1a35/apps/replicator/docker-compose.yml#L11
Merge Checklist
Choose all relevant options below by adding an x now or at any time before submitting for review

[X] PR title adheres to the conventional commits standard
[X] PR has a changeset
[ ] PR has been tagged with a change label(s) (i.e. documentation, feature, bugfix, or chore)
[ ] PR includes documentation if necessary.
[X] All commits have been signed

Additional Context

PR-Codex overview
This PR focuses on fixing the replicator heap out of memory error by setting a maximum old space size for the Node.js process.
Detailed summary

Updated MAX_OLD_SPACE_SIZE to 2048 in .env.sample
Modified command in docker-compose.yml to include --max-old-space-size=${MAX_OLD_SPACE_SIZE:-2048}
Resolved replicator heap out of memory issue

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

Awesome, thank you!


First commit with distance

I've attempted to include distance in the styling language for vectors. But I'm still confused as to how Cartesian3.distance() could work when the inputs could be anything other than type vec3. I've also tried to run my tests on my local server but the SpecRunner doesn't seem to display anything.
Issue #4865
@Dylan-Brown

@glee2244 in the future make a branch off of 3d-tiles and do your work there, this will make it easier to sync up your 3d-tiles branch with the origin.

I've attempted to include distance in the styling language for vectors. But I'm still confused as to how Cartesian3.distance() could work when the inputs could be anything other than type vec3.

Ok yeah I see the problem now, distance, dot, and cross will need to be handled differently than the other binary functions because they are geometric operations / don't work component-wise like the others.
Probably the best thing to do is be consistent with what's already there and set distance to point to a local function. (Example: https://github.com/AnalyticalGraphicsInc/cesium/blob/3d-tiles/Source/Scene/Expression.js#L107-L116). The function will just compute the distance between two numbers.
Then inside getEvaluateBinaryFunction there will need to be a special case for distance. It will be a separate block that looks similar to the if/else already there. For the number/number check, use the evaluate function that you set above. For the vector cases, use Cartesian2/3/4.distance on the left and right.

I've also tried to run my tests on my local server but the SpecRunner doesn't seem to display anything.

You may just need to build, try running npm run build. This is important whenever switching between branches that have different files, like going between master and 3d-tiles.

@glee2244 Do you have enough to go with here?

@lilleyse Yes, thanks so much for the pointers!

@lilleyse Should I be throwing a Developer Error if the distance function is called with mismatching inputs? For example, calling the distance between a number and a vec3?

Yes, throw an error for those cases.

@lilleyse I've pushed the changes as you've suggested, and it seems like the tests I've written pass, but I still get a failed check - Travis CI Build failed? Any ideas here?

There are some unrelated test failures in the 3d-tiles branch right now, just ignore for now.

@lilleyse Alright, duly noted. I'm going to continue with implementing dot and cross.

Pushing my implementations to dot and cross, but some of my tests are failing - will resolve them within the next couple days.

@lilleyse Is cross meant to only take two parameters? I was trying to call Cartesian3.cross with two parameters but just realized that the function I wanted to use takes 3 (the third being the object onto which to store the result). https://cesiumjs.org/Cesium/Build/Documentation/Cartesian3.html?classFilter=Carte

For that you can send in ScratchStorage.getCartesian3()

@lilleyse HI Sean, I've fixed my tests and some indentation/spacing that you pointed out before, and I've also refactored my implementations slightly. Let me know if there's anything else I should fix.

Have added shader expression tests for distance, dot and cross and fixed spacing/indentation as requested, except for reverting indentation for includes here - for some odd reason the indentation keeps going back to incorrect spacing even after I update and save it. Will try to resolve asap.

Can you remove the normalShading code entirely? That should only belong in the other PR.

Thanks @glee2244!


The session cookie invalidates after 24h

As it turns out, the sid cookie, even when created with the "rembember me" checkbox set, must be refreshed every 24 hours.
The Cambium SSO also sets two additional cookies (scoped to their SSO server domain), and my best guess is, that they are used to refresh the sid cookie once every while.
Initial investigation into this issue shows, that we can't simply POST the login credentials to their SSO, because it does some crypto on the login form (and I hesitant to re-implement those shenanigans in Go - purely for maintainability reasons). The best workaround seems to be to use an actual browser (remote controlled, e.g. chromedp) to perform the login every 6-12 hours, and extract the session cookie from it.

Fixed with c74b519c474d769c7dd209e54e17c2e1b8ee2902.


fix visible scroll at vendorStrip in desktop

There is currently a useless scroll in vendorstrip component at https://kubernetes.io/docs/home/ for Google Chrome users:

This PR is supposed to fix the issue by doing little CSS tweaks and optimization
Signed-off-by: harshvkarn<EMAIL_ADDRESS>

/assign @jimangel

Ooh, thanks for this PR @harshvkarn !

@sftim can you review this?

Hi @harshvkarn
I don't feel I'm the right person to review CSS / styling changes.
If you're in Kubernetes' Slack, you can mention this PR in #sig-docs and ask about reviews.

hello! could rebase this? the change looks small and makes sense to me.

Closing since there has been no action (rebase) in over 3 months. @harshvkarn we're happy to re-open this PR if you rebase. Alternately you can submit a new PR. Thanks!


refactor: migrate codex parser to new HTML-based format

@KallynGowdy Just needed to update our codex file format. I don't think GitHub will let me initiate a review but I will look over the code with @keeandev tomorrow likely.


Create credentials.json

Follow up to last issue.

I don't have a CLA due to me copying a credintials.json from another branch.


Merge comparisons with in

To check if a variable is equal to one of many values, combine the values into a tuple and check if the variable is contained in it instead of checking for equality against each of the values.
TODO:

[ ] Unit tests and/or doctests in docstrings
[x] Tests pass locally
[ ] Docstrings and API docs for any new/modified user-facing classes and functions
[ ] Changes documented in docs/release.rst
[x] Docs build locally
[ ] GitHub Actions CI passes
[x] Test coverage to 100% (Codecov passes)

The docs build CI error is unrelated. Requires a separate PR to fix.

Thanks, @DimitriPapadopoulos. With the RTD fix, things are now green.


🐛 BUG: wrangler pages dev address in use windows handling

Which Cloudflare product(s) does this pertain to?
Wrangler core
What version(s) of the tool(s) are you using?
3.48.0
What version of Node are you using?
20.12.1
What operating system and version are you using?
Windows 11
Describe the Bug
Observed behavior
When running npx<EMAIL_ADDRESS>pages dev public once, and then again on Windows, rather than erroring with a nice error like this:
✘ [ERROR] Address already in use (<IP_ADDRESS>:8787). Please check that you are not already running a server on this address or specify a different port with --port.

it errors with a hard to understand stack trace like this:
C:\Users\james\AppData\Local\npm-cache\_npx\d77349f55c2be1c0\node_modules\wrangler\wrangler-dist\cli.js:29573
            throw a;
            ^

AssertionError [ERR_ASSERTION]: The expression evaluated to a falsy value:

  (0, import_assert8.default)(!isClientError(syncRes.status))

    at #parseSyncResponse (C:\Users\james\AppData\Local\npm-cache\_npx\d77349f55c2be1c0\node_modules\miniflare\dist\src\index.js:6157:32)
    at ProxyStubHandler.get (C:\Users\james\AppData\Local\npm-cache\_npx\d77349f55c2be1c0\node_modules\miniflare\dist\src\index.js:6194:39)
    at Miniflare2.getWorker (C:\Users\james\AppData\Local\npm-cache\_npx\d77349f55c2be1c0\node_modules\miniflare\dist\src\index.js:9200:36)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async ProxyController.reconnectInspectorProxyWorker (C:\Users\james\AppData\Local\npm-cache\_npx\d77349f55c2be1c0\node_modules\wrangler\wrangler-dist\cli.js:172635:36)
    at async Promise.all (index 1) {
  generatedMessage: true,
  code: 'ERR_ASSERTION',
  actual: false,
  expected: true,
  operator: '=='
}

Expected behavior
As on macOS, it should error more gracefully with something like:
✘ [ERROR] Address already in use (<IP_ADDRESS>:8787). Please check that you are not already running a server on this address or specify a different port with --port.

Steps to reproduce

Empty directory
Add hello to a public/index.html file
Run npx<EMAIL_ADDRESS>pages dev public
Without closing the previous terminal, open another one and run the same command again

Try updating your wrangler package to the latest version 3.50.0. It fixed it for me.
We may not have the same underlying issue, but here are my logs:

Logs using wrangler v3.32.0
\node_modules\wrangler\wrangler-dist\cli.js:29573
            throw a;
            ^
AssertionError [ERR_ASSERTION]: The expression evaluated to a falsy value:
(0, import_assert8.default)(!isClientError(syncRes.status))
at #parseSyncResponse (<PATH_TO_YOUR_PROJECT>\node_modules\miniflare\dist\src\index.js:6157:32)
at ProxyStubHandler.get (<PATH_TO_YOUR_PROJECT>\node_modules\miniflare\dist\src\index.js:6194:39)
at Miniflare2.getWorker (<PATH_TO_YOUR_PROJECT>\node_modules\miniflare\dist\src\index.js:9200:36)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async ProxyController.reconnectInspectorProxyWorker (<PATH_TO_YOUR_PROJECT>\node_modules\wrangler\wrangler-dist\cli.js:172635:36)
at async Promise.all (index 1) {

generatedMessage: true,
code: 'ERR_ASSERTION',
actual: false,
expected: true,
operator: '=='
}
Node.js v21.6.1

The error message hasn't changed in 3.50.0. If I run two instances as described, I don't get a nice "address in use" error like I do in MacOS, but instead the error pasted in my first comment.


[angle] Add missing GL define

Fix https://github.com/microsoft/vcpkg/issues/31954

Add GL backend missing define ANGLE_ENABLE_GL_DESKTOP_BACKEND.

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

Please fix merge conflicts

Please fix merge conflicts

Done.


Sign Up button is displaced

Describe the bug
I have noticed that the Sign Up button is displaced in full-screen size, and it looks very bad, I want to make it good by fixing the issue.

Screenshort

I want to work on this issue , please assign it to me @MonalikaPatnaik

i wan to work on it please allow me to work on this issue please allow me to work on it @MonalikaPatnaik @i-am-SnehaChauhan

Hey it's been resolved!


[WIP][SPARK-43063][SQL][FOLLOWUP] Add a space between -> and value in codegen when first value is null

As noted by @cloud-fan here, https://github.com/apache/spark/pull/41432 fixed a formatting issue when casting map to string but did not fix it in the codegen case.
The fix is a one-liner, but I am not sure how to add a unit test for this and could use some guidance.

This isn't the correct fix. Will reopen once working.

reoponed as https://github.com/apache/spark/pull/42434


FIX: Support semantic type registration to multiple formats in TestPluginBase harness

Found while writing tests for q2_types.feature_table subpackage.
It has one type registered to two formats, so with assertSemanticTypeRegisteredToFormat grabbing the first result it found it led to random occurences of passing and failing based on how they came out of the dict.
plugin.register_semantic_type_to_format(
    FeatureTable[Frequency | RelativeFrequency | PresenceAbsence],
    artifact_format=BIOMV210DirFmt
)

plugin.register_semantic_type_to_format(
    FeatureTable[Frequency | RelativeFrequency | PresenceAbsence],
    artifact_format=BIOMV100DirFmt
)

Thanks @jakereps, we're closing this since this type of assertion shouldn't be necessary as we don't plan on supporting multiple format registrations to a semantic type. I think we should just remove the duplicate registration of BIOM v1 in q2-types, which should solve the failure you were getting. We already have an issue open on the framework to explicitly disallow duplicate registrations, so it will be impossible for this case to happen in the future. Would you be willing to issue a PR to q2-types removing the duplicate BIOM registration?

Is it not actually a duplicate registration though? One is V100 and one is V210, so won't removing the V100 registration also remove compatibility with the JSON biom format and only leave the HDF5?

The registration associates a semantic type with an output format, so the FeatureTable types will always output data in BIOM v2, but support will remain for reading BIOM v1 files since those transformers still exist.


Image editing functionality

Cropping
Rotation
Image flip
Redaction with black/grey boxes (customizable colour?)

@flawedworld Is this no longer needed?

I added it to the existing issue.


Enable OAuth Authentication in Swagger SpringFox project

Hi Dilip,
I would like to enable OAuth authentication in my swagger project. Actually to access my services I need to pass forge token (String - OAuth). I have added basic security settings/configurations in my configuration class. But somehow Authorize button is not visible on swagger-ui.html.
I want to pass my token through header - key value
Can you please guide me here.
Thanks,
Sachin

Its because you haven't selected the right endpoints in your configuration. Hard to say without looking at code.

Can you please add authentication to my shared git repo. It's a very simple
example. I would like to enable Authorize button. Once I click it I should
be able to pass only header. This header will pass Oauth token.
Sample code
https://github.com/sac10nikam/swagger-poc/tree/master
Thanks,
Sachin
On Jul 22, 2016 7:46 PM, "Dilip Krishnan"<EMAIL_ADDRESS>wrote:

Its because you haven't selected the right endpoints in your
configuration. Hard to say without looking at code.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/springfox/springfox/issues/1409#issuecomment-234555529,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGOFOPTOeo8O-70p6UPjjr4c_UccX--pks5qYNC1gaJpZM4JSvd3
.

This comment thread should give the necessary direction.


Creating an instance of context slows down over time

We noticed that some very small webservice calls were taking much longer than we expected. We did some investigation and put some timers in place and we narrowed it down to creating an instance of our Entity Framework DbContext. Not the query itself, just the creation of the context. I've since put some logging to see on average how long it actually takes to create an instance of our DbContext and it's quite surprising. Here is a graph of the average time it takes to create DbContext in milliseconds:

Something we also noticed is that it's not slow from the get-go. Context creation seems to slow down over time. Within the first couple minutes it goes from 2-4ms to 20+ms, then over the next couple hours it will creep up to the 50-80ms range and level off. The spike in this graph was me doing a deploy which recycled the app-domain.

Our context is a fairly large code-first context with around 400 entities - including some pretty complex relationships between some of the entities. We are running EF 6.1.3. We are doing a "one context per request", but for most of our web api calls it's only doing one or two queries. To create a context taking 60+ms, and then execute a 1ms query is a bit off.
We realize that having a large context is not the most ideal solution, and we are working to reduce unused entities, or break it into multiple smaller context's. We don't really care about how much memory we use - we just care about the speed.
I did take a memory dump to try and flesh out what's going on and here is the heap stats:

That seems like quite a bit of metadata and typeusage. What can we investigate further? I understand the cache used by EF is extensive to speed things up. Does more things in the cache, slow down the context creation? Is there a way to see exactly what's in that cache to flesh out any weird things in there? Does anyone know what specifically we can do to speed up context creation?
Thanks!

Make you DbContext smaller - other tips here: https://msdn.microsoft.com/en-us/data/hh949853.aspx

Thanks @ErikEJ - I have looked through that doc extensively. I guess I want to know "why" does it take longer over time. Large context's are bad - but even with our large context it only takes 2-4ms on a fresh appdomain to create it. Over time that timing increases a lot.

@lemkepf Couple of questions to help us understand this more:

Is the same model used for every context instance? (If EF is building your model for you, then check whether OnModelCreating is called once or multiple times.)
Is the same connection string used for each context instance? If not, how many different connection strings are used?

@ajcvickers Ask away!

It's using the same model for every context instance. OnModelCreating is only called once during our globals pre-warm up on startup.
The same connection string is used for each context instance.

@lemkepf Can you create a project or complete code listing that reproduces this issue so we can attempt to root cause what is happening?

@ajcvickers this is a huge enterprise app. I'll try and get a smaller reproducible project for you. I can get you a memory dump quicker. Would that work?

@lemkepf Possibly. :-)

@ajcvickers  - shoot me an email: plemke at acculynx.com and i'll sent you a link to a memory dump. I'm also working on creating a small project too that recreates it.

@AndriySvyryd Can you do an initial investigation? I can send you the memory dump.

@ajcvickers Yes

Hi, any followup on this? We're observing a strikingly similar set of symptoms and have been struggling for a few days now. Any details on what was ultimately the problem is appreciated!

Just to let know what our issue was:
We were adding a new Entity Framework DB interceptor (IDbCommandInterceptor) on every DB context creation... Leading to thousands and thousands of interceptors after some time, slowing down not only context creation but also queries, after some time by several orders of magnitude...


Teardown Tests Should Accept 404 Response for Blob Deletion

The current teardown tests use the blob delete operation to clean up blobs uploaded during the setup phase. A 404 response is a valid outcome for blob deletion; however, the teardown tests do not currently accept a 404 response.
When running the conformance tests with the OCI_DELETE_MANIFEST_BEFORE_BLOBS=1 environment variable, it is possible for the garbage collection implementation to delete blobs immediately after the manifest is deleted. In such cases, the blobs may no longer exist when the teardown process attempts to delete them, resulting in a 404 response.
To accommodate this scenario, the teardown tests should be updated to expect a 404 response if the manifests are deleted before the blobs.

Thanks for the swift PR. Works perfectly. 🚀


Query whitelisting extension

Description of the feature
Query whitelisting is an important protection tool for graphql server.
Usually it's handled by a proxy like the apollo one, but it would be cool to have a simpler implementation built-in.
So what it would look like:

Store trait to allow for pluggable stores like in-memory, redis and postgres
Extension In-memory cache for the store
Admin methods to add/remove operations

How/when to call those methods would be left to the user
The extension itself could be in an arc or we would need a channel to communicate with it

Admin method to force a store sync
(Optional) Operations can be tied to a version of the client to simplify management, tracking and removal
(Bonus) Works with automatic persisted queries extension

It's a somewhat be endeavour and I am happy to collaborate on the code as we will need this for our production launch.

@sunli829 Can you remove the stale, I plan on working on that but not right away

Please do not close this. It would be great to have!

Are there any updates to this?
It looks like that Apollo Persisted Queries is supported: https://github.com/async-graphql/async-graphql/blob/master/docs/en/src/extensions_available.md#apollo-persisted-queries
But I can't find a way to load the manifest file generated by @apollo/generate-persisted-query-manifest.

Persisted Queries is not really the same, it reduces network traffic but it's not limiting the queries to be run.
You don't have to load a manifest since the client will automatically compute the SHA for missing queries.
I didn't have time to work on it.


Am I missing something?

I made a file main.coffee which contained the example code:
require('solid') ->
  "/" : "<b>Hello world!</b>"

After I compiled it into main.js, and did node main.js, I got the message Solidifed port 8081. However, when I tried to go to <IP_ADDRESS>:8081 in my web browser, I got this message:
Cannot GET /

What am I doing wrong here?

Never mind: I should learn to use my browser properly. Sorry, closing this.


Log: show ALV popup

#703
Use ALV popup instead of POPUP_TO_INFORM
old:

new:

fixed and sqashed.


how to request update for livelocation

when receiving livelocation, this is only received once at the start, but not automatically.
on the web.whatsapp application, it has to click on the shared map
is there a way to simulate it?

What resolved this issue anyway


Allow deeplinking into Nheko via matrix: scheme

Signed-off-by: Nicolas Werner<EMAIL_ADDRESS>This is maybe a bit of an ugly workaround, since it basically only implements this for Nheko, but I think this may be a good start and it can be generalized at a later point? It works in my local testing and in the future, we may want to not have this in the client section but instead have a big continue button at the top and the client commands only as a fallback. But some design team would need to look at that and for now this works pretty well.

Maybe some of this code can even help you there and thank you! <3


{App Service}:Updating azure-mgmt-web to latest verion

Description

Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change.
[Component Name 2] az command b: Add some customer-facing feature.

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

hi @panchagnula the change itself looks good,  it will need live tests regression full webapp related commands, and maybe some other services who depends on azure-mgmt-web. Just to double confirm live test is executed and no regression.

hi @fengzhou-msft could you pls review this PR? thanks

@panchagnula - Can we work on getting this merged this week so we can continue the CLI updates?  Thanks, Jon

@panchagnula - Can we work on getting this merged this week so we can continue the CLI updates? Thanks, Jon

Yep working on it.

How did you update the version? It seems that there is no corresponding code.

Sorry - I re-added the missing setup.py files with the recordings now.

@panchagnula  ready to merge?

@panchagnula ready to merge?

Yes please :)


[BugFix] Fix the bug of mixed use of current user and qualifiedUser

Fixes #issue
What type of PR is this:

[ ] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Does this PR entail a change in behavior?

[x] Yes, this PR will result in a change in behavior.
[ ] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[ ] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[ ] Parameter changes: default values, similar parameters but with different default values
[ ] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[ ] I have checked the version labels which the pr will be auto-backported to the target branch

[ ] 3.2
[ ] 3.1
[ ] 3.0
[ ] 2.5

[BE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)

[BE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)

[FE Incremental Coverage Report]
:disappointed: fail : 19 / 61 (31.15%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/common/proc/AuthProcDir.java
0
1
00.00%
[76]

:large_blue_circle:
com/starrocks/authentication/LDAPAuthProviderForNative.java
0
1
00.00%
[64]

:large_blue_circle:
com/starrocks/authentication/KerberosAuthenticationProvider.java
0
1
00.00%
[73]

:large_blue_circle:
com/starrocks/http/action/WebBaseAction.java
0
1
00.00%
[236]

:large_blue_circle:
com/starrocks/mysql/privilege/ImpersonateUserPrivEntry.java
0
1
00.00%
[39]

:large_blue_circle:
com/starrocks/sql/analyzer/DropStmtAnalyzer.java
0
4
00.00%
[128, 129, 133, 134]

:large_blue_circle:
com/starrocks/server/GlobalStateMgr.java
0
1
00.00%
[3655]

:large_blue_circle:
com/starrocks/authentication/PlainPasswordAuthenticationProvider.java
0
1
00.00%
[110]

:large_blue_circle:
com/starrocks/mysql/privilege/UserPropertyMgr.java
0
10
00.00%
[79, 84, 88, 93, 102, 103, 149, 152, 157, 160]

:large_blue_circle:
com/starrocks/privilege/ranger/starrocks/RangerStarRocksAccessController.java
0
1
00.00%
[53]

:large_blue_circle:
com/starrocks/privilege/ranger/RangerStarRocksAccessRequest.java
0
2
00.00%
[38, 45]

:large_blue_circle:
com/starrocks/qe/ShowExecutor.java
0
2
00.00%
[1811, 1812]

:large_blue_circle:
com/starrocks/mysql/privilege/PrivTable.java
1
3
33.33%
[231, 314]

:large_blue_circle:
com/starrocks/mysql/privilege/Auth.java
5
15
33.33%
[210, 238, 276, 289, 302, 315, 729, 763, 776, 1389]

:large_blue_circle:
com/starrocks/sql/analyzer/PrivilegeStmtAnalyzer.java
1
2
50.00%
[185]

:large_blue_circle:
com/starrocks/authentication/AuthenticationMgr.java
7
10
70.00%
[305, 527, 531]

:large_blue_circle:
com/starrocks/sql/analyzer/AuthorizerStmtVisitor.java
3
3
100.00%
[]

:large_blue_circle:
com/starrocks/statistic/StatisticUtils.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/sql/ast/UserIdentity.java
1
1
100.00%
[]

can you give a brief intro to the bug you want to fix and how you fix it?

[BE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)

[FE Incremental Coverage Report]
:disappointed: fail : 19 / 61 (31.15%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/common/proc/AuthProcDir.java
0
1
00.00%
[76]

:large_blue_circle:
com/starrocks/authentication/LDAPAuthProviderForNative.java
0
1
00.00%
[64]

:large_blue_circle:
com/starrocks/authentication/KerberosAuthenticationProvider.java
0
1
00.00%
[73]

:large_blue_circle:
com/starrocks/http/action/WebBaseAction.java
0
1
00.00%
[236]

:large_blue_circle:
com/starrocks/mysql/privilege/ImpersonateUserPrivEntry.java
0
1
00.00%
[39]

:large_blue_circle:
com/starrocks/sql/analyzer/DropStmtAnalyzer.java
0
4
00.00%
[128, 129, 133, 134]

:large_blue_circle:
com/starrocks/server/GlobalStateMgr.java
0
1
00.00%
[3655]

:large_blue_circle:
com/starrocks/authentication/PlainPasswordAuthenticationProvider.java
0
1
00.00%
[110]

:large_blue_circle:
com/starrocks/mysql/privilege/UserPropertyMgr.java
0
10
00.00%
[79, 84, 88, 93, 102, 103, 149, 152, 157, 160]

:large_blue_circle:
com/starrocks/privilege/ranger/starrocks/RangerStarRocksAccessController.java
0
1
00.00%
[53]

:large_blue_circle:
com/starrocks/privilege/ranger/RangerStarRocksAccessRequest.java
0
2
00.00%
[38, 45]

:large_blue_circle:
com/starrocks/qe/ShowExecutor.java
0
2
00.00%
[1811, 1812]

:large_blue_circle:
com/starrocks/mysql/privilege/PrivTable.java
1
3
33.33%
[231, 314]

:large_blue_circle:
com/starrocks/mysql/privilege/Auth.java
5
15
33.33%
[210, 238, 276, 289, 302, 315, 729, 763, 776, 1389]

:large_blue_circle:
com/starrocks/sql/analyzer/PrivilegeStmtAnalyzer.java
1
2
50.00%
[185]

:large_blue_circle:
com/starrocks/authentication/AuthenticationMgr.java
7
10
70.00%
[305, 527, 531]

:large_blue_circle:
com/starrocks/sql/analyzer/AuthorizerStmtVisitor.java
3
3
100.00%
[]

:large_blue_circle:
com/starrocks/statistic/StatisticUtils.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/sql/ast/UserIdentity.java
1
1
100.00%
[]

@Mergifyio backport branch-3.2

@Mergifyio backport branch-3.1


wandb.save doesn't upload empty files to wanbd server

Aswandb.save doesn't uplopad the empty files to the wandb remote, I'd suggest you to add a warning message in case the file is empty so as to let the user know that the file won't be uploaded.
https://github.com/wandb/client/blob/a339333b3ee93864daf416f04c1501186dffac5c/wandb/sdk/wandb_run.py#L1353-L1443
To calculate the file size if it exists you can just os.path.getsize(path) as described in https://docs.python.org/3/library/os.path.html#os.path.getsize, which raises an OSError in case the file doesn't exist or is unaccesible, and the size in bytes if it succeeds, so something like:
...
if os.path.getsize(glob_str) == 0:
    warnings.warn(f"File {glob_str} is empty and won't be uploaded")
    return
...

Hi @alvarobartt,
Thanks for the suggestion! I'll pass it on to the engineering team to be added in a future version.
Thanks,
Ramit

Cool @ramit-wandb, I can fill a PR to add that if applicable!

Sure! We happily accept PRs, it would be awesome if you could submit a PR. One of our enigneers could review it.


Optimize database access

Some things I forgot to mention on our call:

I added a profiling script, invoked through pipenv run profile. This basically runs cProfile on every request, allowing you to see what functions are taking long to complete, etc. This is run instead of pipenv run serve, when running locally.
Some of the performance gains were due to commenting out the util.require_db call on every request. If we were to go with the idea of a "Health Indicator", this would be good to refactor into it's own api endpoint, instead of adding ~180ms per request.

Another thing we should discuss: Regarding the front-end querying, I think we all agreed to make the change to only send 1 request, for all of the tables, and do the filtering client side. Should that change be made here, and coordinated with the client repo? Or should we hold off on that? That would greatly reduce the time to load a workspace page.

I'm about to look through the code, but I figured I'd answer your iniital questions first so I don't forget.

* I added a profiling script, invoked through `pipenv run profile`. This basically runs `cProfile` on every request, allowing you to see what functions are taking long to complete, etc. This is run instead of `pipenv run serve`, when running locally.

This is awesome functionality! Thanks for this change. I just ran it here and confirmed that it takes about ~400ms (after the first request) to query api/workspaces/boston/tables from the aws arango instance.

* Some of the performance gains were due to commenting out the `util.require_db` call on every request. If we were to go with the idea of a "Health Indicator", this would be good to refactor into it's own api endpoint, instead of adding ~180ms per request.

Would caching the response for a small amount of time fix this? We only really want to check it on the first request right? Another option would be to have the api poll the db on a certain cadence and just keep track of if it's responding as expected.

Another thing we should discuss: Regarding the front-end querying, I think we all agreed to make the change to only send 1 request, for all of the tables, and do the filtering client side. Should that change be made here, and coordinated with the client repo? Or should we hold off on that? That would greatly reduce the time to load a workspace page.

I'm in favor of making this another PR. This PR will make the client much more usable and then reducing the number of queries would be an additional bump. I think they're distinct enough to split up.

Would caching the response for a small amount of time fix this? We only really want to check it on the first request right? Another option would be to have the api poll the db on a certain cadence and just keep track of if it's responding as expected.

Caching would fix it (I think), but I don't know when we'd invalidate it. We could do it on some sort of timer, but that feels messy. I think the main benefit we get out of that function currently is the graceful errors returned if the database goes down. This could be approached another way though, as really that error is only useful to us, and rarely (if ever) actually pops up in production. If we incorporated an endpoint to check this status from the client, that would also provide the functionality we're looking for.

I'm in favor of making this another PR. This PR will make the client much more usable and then reducing the number of queries would be an additional bump. I think they're distinct enough to split up.

I agree, but we should keep in mind that it'll require synchronized changes regardless, as we'll be changing both the endpoint, and the access to it from the front-end.

Is there a good way to stress test this to make sure our function caching strategies are working correctly?

I'm not quite sure, I feel like trying to measure this in CI would be kind of odd, and perhaps somewhat stochastic.

Some comments on the caching decorations would be valuable for the future (explaining why they're there, how much performance boost we got, etc.).

:heavy_check_mark:

For documentary value, could you whip up a quick Google doc with a few performance numbers comparing current master and this branch? We've learned an interesting lesson here and I want to capture the essence of it.

Sure thing.

Another thing we should discuss: Regarding the front-end querying, I think we all agreed to make the change to only send 1 request, for all of the tables, and do the filtering client side. Should that change be made here, and coordinated with the client repo? Or should we hold off on that? That would greatly reduce the time to load a workspace page.

Why would this require a backend change? We would just replace the two calls in the frontend with one call right? Furthermore, it occurs to me that we could probably retain the ease of use and just make sure we fire both calls at once, rather than await them.

Why would this require a backend change? We would just replace the two calls in the frontend with one call right? Furthermore, it occurs to me that we could probably retain the ease of use and just make sure we fire both calls at once, rather than await them.

If we were to change to using just 1 call for all tables, we'd have to change the response schema to differentiate between edge and node tables. Something like:
{
  "edge": [...],
  "node": [...]
}

instead of the flat list we return now.
If we weren't to do that, we could do 2 parallel calls to these tables, but that would still be slower than making the 1 call, due to the server processing two requests at once, python's GIL, etc.
I'm in favor of changing the backend like in the first option I mentioned, as it reduces complexity of the API.

Why would this require a backend change? We would just replace the two calls in the frontend with one call right? Furthermore, it occurs to me that we could probably retain the ease of use and just make sure we fire both calls at once, rather than await them.

If we were to change to using just 1 call for all tables, we'd have to change the response schema to differentiate between edge and node tables. Something like:
{
  "edge": [...],
  "node": [...]
}

instead of the flat list we return now.
If we weren't to do that, we could do 2 parallel calls to these tables, but that would still be slower than making the 1 call, due to the server processing two requests at once, python's GIL, etc.
I'm in favor of changing the backend like in the first option I mentioned, as it reduces complexity of the API.

Good point. Can you open an issue for this, and maybe copy in these comments?


data_responsibility_title being serialized with python type definition

Bug Description
Serialization of data_responsibility_title is including an ugly python type !!python/object/apply:fideslang.models.DataResponsibilityTitle
root@7da6bfd30c0d:/fides/fidesctl# fidesctl generate system aws manifest.yml

Generated system manifest written to manifest.yml
root@7da6bfd30c0d:/fides/fidesctl#
root@7da6bfd30c0d:/fides/fidesctl# cat manifest.yml
system:
- fides_key: redshift-cluster-1
  organization_fides_key: default_organization
  name: redshift-cluster-1
  description: 'Fides Generated Description for Redshift Cluster: redshift-cluster-1'
  fidesctl_meta:
    resource_id: arn:aws:redshift:us-east-1:658462651023:namespace:6ac37ac8-4546-4883-8da5-066a658f5d3d
    endpoint_address: redshift-cluster-1.cohs2e5eq2e4.us-east-1.redshift.amazonaws.com
    endpoint_port: '5439'
  system_type: redshift_cluster
  data_responsibility_title: !!python/object/apply:fideslang.models.DataResponsibilityTitle
  - Controller
  privacy_declarations: []
  administrating_department: Not defined
  data_protection_impact_assessment:
    is_required: false

Steps to Reproduce
fidesctl generate system aws manifest.yml
Expected behavior
data_responsibility_title: Controller

@earmenda I'm going to take a look at this later today as well, thanks for writing it up! 💙


Add instructions on README about how to run the starter

How to run both locally and inside minishift.

https://github.com/nodeshift-starters/nodejs-health-check-redhat/commit/1aa670f3c23ca58a78922244f8333fb377fb3ca2


Provide a way to query a type through the CLI

Following dmidecode's command-line and dmiopt.c:
       -t, --type TYPE
              Only display the entries of type TYPE. TYPE can be either a DMI
              type number, or a comma-separated list of type numbers, or a
              keyword from the following list: bios, system, baseboard,
              chassis, processor, memory, cache, connector, slot. Refer to the
              DMI TYPES section below for details.  If this option is used
              more than once, the set of displayed entries will be the union
              of all the given types.  If TYPE is not provided or not valid, a
              list of all valid keywords is printed and dmidecode exits with
              an error.

When one of the following strings is given, the associated types are returned:
static const u8 opt_type_bios[] = { 0, 13, 255 };
static const u8 opt_type_system[] = { 1, 12, 15, 23, 32, 255 };
static const u8 opt_type_baseboard[] = { 2, 10, 41, 255 };
static const u8 opt_type_chassis[] = { 3, 255 };
static const u8 opt_type_processor[] = { 4, 255 };
static const u8 opt_type_memory[] = { 5, 6, 16, 17, 255 };
static const u8 opt_type_cache[] = { 7, 255 };
static const u8 opt_type_connector[] = { 8, 255 };
static const u8 opt_type_slot[] = { 9, 255 };

static const struct type_keyword opt_type_keyword[] = {
	{ "bios", opt_type_bios },
	{ "system", opt_type_system },
	{ "baseboard", opt_type_baseboard },
	{ "chassis", opt_type_chassis },
	{ "processor", opt_type_processor },
	{ "memory", opt_type_memory },
	{ "cache", opt_type_cache },
	{ "connector", opt_type_connector },
	{ "slot", opt_type_slot },
};

If a decimal value is given (or array of values), it indicates the type and only those types are retrieved.
Examples from dmidecode man page:
       Keywords are matched case-insensitively. The following command lines
       are equivalent:

       o
        dmidecode --type 0 --type 13
       o
        dmidecode --type 0,13
       o
        dmidecode --type bios
       o
        dmidecode --type BIOS

Moved this here.


scheduler: evict-leader-scheduler checks reject-leader property.

To prevent evict-leader-scheduler from breaking reject-leader property.

/run-all-tests


OS + URL + URLSearchParams

Since the Node.js and browser use the WHATWG API I tried to make things compatible with the current Borwser DOM API.
Needs testing on posix. For info, tests pass using Node.js LTS 10.15.3.
Note: One static function in the Url api, format, does not work while in js it's ok. So I guess my implementation is not good. I've prepared a test in tests/Url.fs. If you could check that would be good.
Next question: do we want to support legacy?

I would support the latest LTS only for now.
What is your process of doing these changes @whitetigle?
Do you compare the current files with the docs?
In the case of format, how do know in this case that it is a tuple as argument and not just two arguments?

I am in favour of supporting LTS only for now that's what we implicitly do in all the packages.
The only rule is to not push new major version support as a minor version of the Fable library. Like that we are still able to fix bugs if needed.

Yes the current ongoing process is to take the doc and check what's missing and whats's been deprecated. That's ususally what I'm doing when I write bindings in order to make sure I understand clearly what's going on. There's also links to the actual code which I do look sometimes.
Samples being often provided I just mimic them in the test suite so that we get both testing + easy to use samples for users. (that's the way I learnt Fable, by reading the tests)
Regading the format function, as a matter of fact, I just followed the samples and the source code  (check also) seems to work like this.

A second look  indicates we can pass a string instead of a URL object. I'm gonna check that.

And I guess it's more an import problem ;)

ok it seems we're good now!

Ok, at his point, it would be great to have some Node.js reviewer here.
What I propose is to merge the PR, and make our way into alpha state while publishing the package to NuGet. Meanwhile, Fable.Import.Node will still be the current version.
Question: I created the Nuget project and added @MangelMaxime and @alfonsogarciacaro,  @nojaf since you seemed to be interested, would you like to be able to publish as well? If so, what's your NuGet handle?

Pinging @jgrund who contributed to Fable.Import.Node to have another reviewer for the ongoing work.

Hi @whitetigle, I'd be interested to publish on NuGet as well, my handle is @nojaf as well.

Hi @whitetigle, I'd be interested to publish on NuGet as well, my handle is @nojaf as well.

Done!


Adds --field-keys and --index-keys options to pilosa import

Overview

I had to add client.CreateFieldWithOptions and client.EnsureFieldWithOptions functions in order to be able to pass create a field with options.
client.CreateFieldWithOptions takes a pilosa.FieldOptions argument, but http.postFieldRequest requires the options as http.fieldOptions. Had to  convert from the former to the latter. I had to set different fields depending on the type of the field, since e.g., setting Min or Max is invalid for set fields (I'm happy that the tests cover that)
I had to use --index-keys and --field-keys since --index.keys and --field.keys makes a few tests fail
I didn't remove --string-keys. Should I ?

Fixes #1570
Pull request checklist

[ ] I have read the contributing guide.
[ ] I have agreed to the Contributor License Agreement.
[ ] I have updated the documentation.
[ ] I have resolved any merge conflicts.
[ ] I have included tests that cover my changes.
[ ] All new and existing tests pass.

Code review checklist
This is the checklist that the reviewer will follow while reviewing your pull request. You do not need to do anything with this checklist, but be aware of what the reviewer will be looking for.

[ ] Ensure that any changes to external docs have been included in this pull request.
[ ] If the changes require that minor/major versions need to be updated, tag the PR appropriately.
[ ] Ensure the new code is properly commented and follows Idiomatic Go.
[ ] Check that tests have been written and that they cover the new functionality.
[ ] Run tests and ensure they pass.
[ ] Build and run the code, performing any applicable integration testing.

was --string-keys broken before 1.0? If so, I think we can safely remove it. If it was functional at 1.0, we need to preserve that functionality though

what exactly was the problem with index.keys and field.keys? My thought was that we'd export the FieldOptions and IndexOptions attributes to the command struct then create a flag for each option which populates the option struct. e.g.
flags.BoolVar(&Importer.FieldOptions.Keys, "field.keys", false, "use keys=true when creating a field")
flags.IntVar(&Importer.FieldOptions.Min, "field.min", 0, "use a minimum of 0 when creating an int field")

Honestly I didn't try making --index.keys before, since --index-keys worked fine, but below are the errors:
--- FAIL: TestImportConfig (0.00s)
	root_test.go:121: Problem with test 0, err: 'strconv.ParseBool: parsing "": invalid syntax'
--- FAIL: TestInspectNoPath (0.00s)
	inspect_test.go:33: Command 'inspect' without args should error but: err: 'invalid option in configuration file: index', output: ''
--- FAIL: TestInspectMultiPath (0.00s)
	inspect_test.go:40: Command 'inspect' without args should error but: err: 'invalid option in configuration file: index', output: ''

When I have this:
flags.BoolVar(&Importer.IndexOptions.Keys, "index.keys", false, "use keys=true when creating an index")

It seems like it doesn't like index in the option name. When I change it to indx there are no errors.

I think --string-keys was initially used to tell to use interpret the CSV as string rows and columns. It didn't work when creating the schema (hence https://github.com/pilosa/pilosa/issues/1570). There's a comment in ctl/import.go about line 53: TODO: remove this in a future release so I think we can just remove it.

seems safe to me
On Wed, Sep 5, 2018, 2:35 PM Yuce Tekol<EMAIL_ADDRESS>wrote:

I think --string-keys was initially used to tell to use interpret the CSV
as string rows and columns. It didn't work when creating the schema (hence
#1570 https://github.com/pilosa/pilosa/issues/1570). There's a comment
in ctl/import.go about line 53: TODO: remove this in a future release so
I think we can just remove it.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/pilosa/pilosa/pull/1621#issuecomment-418854749, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AA4hczjRVwHJ1DAqppyHmTvKkZ3f2YQbks5uYCd8gaJpZM4WbAwU
.

OK, removed --string-keys.

ah, I see the issue - because index is already a flag on its own we can't nest anything under it - because of how it behaves if you use a config file


Coop-games_games-header is overlaps top-panel

Root cause of this problem is that Coop-games_games-header has the same z-index

Fixed in #165


chore: remove unused code

noticed these files aren't used in the code base, found it confusing having to figure out which provider was referenced when creating starter
tested:

ran yarn native
ran yarn web
ran turbo run build

Current dependencies on/for this PR:

master

PR #1355   👈

This comment was auto-generated by Graphite.

I believe they are used when you enable the app router feature of NextJs.

That makes sense! Ty


DBT python model passing date variables with different data types

Describe the feature
I noticed two data types arrived in the Python notebook for date str.
Case 1:
When a date variable has been set up in dbt_project.yml, the Python notebook in Databricks will set that object as a DateTime object.
As in a config Python dictionary
{"start_date", datetime.date(2021, 1, 1)}

Case 2:
When a date variable passed with --vars "{'date': '2021-01-01'}" in dbt cmd ,
It arrives as
{"start_date", '2021-01-01'}

Describe alternatives you've considered
I suggest having just a string for the date object.
Additional context
I am implementing an integration with Dagster + Databricks cloud + dbt, and I need both kinds of configuration to work in the same expectation of returned variable; otherwise, it will be redundant code copying and pasting in different Python models for facilitating the logic to reconcile the difference.
As in dbt Python models can not reuse the same abstracted functions /  etc for now.
Who will this benefit?
It will no longer require writing extra logic to distinguish the date types.
Integration with Dagster might depend on --var {} CLI  to pass configuration. But, it would be easier to debug in the dbt project when we pass the identical variable setups with the yml file.
Are you interested in contributing to this feature?
Yes,  I would love to.

@tade0726 you can ensure that by doing a little code adjustment to case 1:
instead of
{"start_date", datetime.date(2021, 1, 1)}

write
{"start_date", datetime.date(2021, 1, 1).strftime("%d.%m.%Y")}

see also: Python Dates

Hi @leo-schick ,
It is not related to the user-defined dictionary. It was a config template generated by dbt-databricks.
I also updated the issue description for clarity.
See example below:
"""python
This part is user provided model code
you will need to copy the next section to run the code
COMMAND ----------
this part is dbt logic for get ref work, do not modify
def ref(*args, **kwargs):
refs = {}
key = '.'.join(args)
version = kwargs.get("v") or kwargs.get("version")
if version:
key += f".v{version}"
dbt_load_df_function = kwargs.get("dbt_load_df_function")
return dbt_load_df_function(refs[key])
def source(*args, dbt_load_df_function):
sources = {"prod_staging.ciqfininstance": "savana_prod.dbt_staging.ciqfininstance"}
key = '.'.join(args)
return dbt_load_df_function(sources[key])
config_dict = {'start_date': datetime.date(2018, 7, 1), 'end_date': ''}
class config:
def init(self, *args, **kwargs):
pass
@staticmethod
def get(key, default=None):
    return config_dict.get(key, default)

class this:
"""dbt.this() or dbt.this.identifier"""
database = "savana_prod"
schema = "dbt_gold_pipelines"
identifier = "int_date_table"
def __repr__(self):
    return '`savana_prod`.`dbt_gold_pipelines`.`int_date_table`'

class dbtObj:
def init(self, load_df_function) -> None:
self.source = lambda *args: source(*args, dbt_load_df_function=load_df_function)
self.ref = lambda *args, **kwargs: ref(*args, **kwargs, dbt_load_df_function=load_df_function)
self.config = config
self.this = this()
self.is_incremental = False
COMMAND ----------
how to execute python model in notebook
dbt = dbtObj(spark.table)
df = model(dbt, spark)
"""

@tade0726 Please go ahead and submit a PR :).  I agree that it makes most sense for the data type to be consistent regardless of source.