JSON column datatype support.

Description
This PR adds support for JSON column type. JSON column type can contain only valid JSONObject. JSON column type supports conversion to and from STRING.
A new property (storageFormat) was added to column metadata to record the current storage format of any given column type. This was done to allow for backward compatibility and segment data migration if the storage format of a column type is changed in future. By default, the storage format of all column types is set to original in segment metadata.properties file (column.jsoncolumn.storageFormat = original).
Columns of type JSON can be indexed using JsonIndex. Queries using JSON_EXTRACT_SCALAR and JSON_MATCH functions can run against a JSON column type. Test cases in JsonDatatypeTest are used to validate functionality.
Upgrade Notes
Does this PR prevent a zero down-time upgrade? (Assume upgrade order: Controller, Broker, Server, Minion)

[ ] Yes (Please label as backward-incompat, and complete the section below on Release Notes)

Does this PR fix a zero-downtime upgrade introduced earlier?

[ ] Yes (Please label this as backward-incompat, and complete the section below on Release Notes)

Does this PR otherwise need attention when creating release notes? Things to consider:

New configuration options
Deprecation of configurations
Signature changes to public methods/interfaces
New plugins added or old plugins removed

[ ] Yes (Please label this PR as release-notes and complete the section on Release Notes)

Release Notes

Documentation

Codecov Report

Merging #6878 (4bfae70) into master (1c09b78) will decrease coverage by 0.05%.
The diff coverage is 28.40%.

@@             Coverage Diff              @@
##             master    #6878      +/-   ##
============================================
- Coverage     65.48%   65.43%   -0.06%
  Complexity       12       12
============================================
  Files          1421     1421
  Lines         69980    70042      +62
  Branches      10112    10115       +3
============================================
+ Hits          45825    45829       +4
- Misses        20874    20926      +52
- Partials       3281     3287       +6

Flag
Coverage Δ
Complexity Δ

unittests
65.43% <28.40%> (-0.06%)
12.00 <0.00> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1c09b78...4bfae70. Read the comment docs.


Added small helpful tip to hello-minikube.md

When I ran kubectl get deployments, it showed no available nodes. So I thought I did something wrong. Eventually I ran it again and it matched the expected output. So, I would like to add a helpful hint to the documentation.

Looks good. I think this is enough and we don't need a full "Note" formatted block, but good to have a small hint that they may need to wait a little at this point before proceeding.
/lgtm


auth: Add support for Authorization header - Red Hat Bugzilla

Once again Red Hat Bugzilla differs from the original implementation.
Red Hat Bugzilla uses Authorization header as a way to send API Key - docs.
I'm not 100% sure, but I think sending both headers should be fine, but I tested it only with the Red Hat Bugzilla API.

Thank you for merging this one. :+1:


@gqty/cli doesn't work correctly (watch mode)

The idea, as well as the client, is great. But there are some points that make me uncomfortable

When trying to run the CLI, with --install enabled, it does not install dependencies, or even add them to package.json
If not explicitly specified in package.json or with --react option, it generates a client not for react (the hooks are just not there)
I need to be able to disable dependency installation and customization in general. For example: I want to regenerate a client, and I have all the settings already specified in package.json (gqty block), gqty reads them, and still asks me to use CLI input! Why?
watch just doesn't work. Let's start from the beginning:
4.1 See point 1, dependencies are simply not added.
4.2 On startup, I get an error, and that's the end of it, error text:

ℹ Watching for schema changes... (Ctrl+C to exit)file:///E:/Projects/ONREZA/TEST_FRONTEND/node_modules/@gqty/cli/commands/default.mjs:2
import{cosmiconfig as I}from"cosmiconfig";import D from"assert";import{readFile as G,watch as L}from"fs/promises";import u from"path";import v from"process";import"@commander-js/extra-typings";import"@graphql-codegen/core";import"@graphql-codegen/typescript";import"@graphql-tools/utils";import"@graphql-tools/wrap";import*as g from"@inquirer/prompts";import"cross-fetch";import M from"fast-glob";import"graphql";import"lodash-es/sortBy.js";import"prettier";import{convertHeadersInput as x}from"./default/convertHeadersInput.mjs";import{fetchSchema as S,isURL as q}from"./default/fetchSchema.mjs";import{generateClient as O}from"./default/generateClient.mjs";import{getCommandName as A}from"./default/getCommandName.mjs";import{logger as d}from"./default/logger.mjs";import{promptInstall as W,runInstall as B}from"./default/promptInstall.mjs";const Q=i=>i.name(A()).usage("[options] [endpoints...]").argument("[endpoints...]","GraphQL endpoints or schema files.").option("-H, --header <header>","Custom header for the introspection query.",(o,e)=>[...e,o],[]).option("--react","Include React hooks in the generated client.").option("--no-react").option("--solid","Include SolidJS signals in the generated client.").option("--no-solid").option("--subscriptions [client]","Includes specified package as subscription client, must be graphql-ws compatible.").option("--no-subscriptions").option("--target <path>","Destination path for the generated client.").option("--typescript","Generates a TypeScript client over a JavaScript one.").option("--no-typescript").option("--install","Automatically install dependencies with current package manager.").option("--no-install").option("-w, --watch","Activate watch mode, regenerate on change changes.",!1).action(async(o,e)=>{const t=await I("gqty").search().then(c=>c?.config??{});let r=o;if(r.length===0&&(v.stdin.isTTY||(d.error("Please provide your GraphQL endpoint(s)."),v.exit(1)),r=await F(t.introspections?Object.keys(t.introspections).join(", "):t.introspection?.endpoint)),r=r.map(c=>c.trim()).filter(Boolean),r.length===0)return d.error("Please provide your GraphQL endpoint(s).");t.introspections||(t.introspections={});const y=await S(r,{headers:x(e.header)??t.introspection?.headers,headersByEndpoint:t.introspections}).catch(U);Object.keys(t.introspections??{}).length>0,t.frameworks??(t.frameworks=[e.react&&"react",e.solid&&"solid-js"].filter(c=>!!c)),e.subscriptions!==void 0&&(t.subscriptions=e.subscriptions||!1),e.typescript&&(t.javascriptOutput=!1),e.target&&(t.destination=e.target,t.javascriptOutput=u.extname(e.target)===".js");const p=await(async()=>{try{return JSON.parse(await G("package.json",{encoding:"utf-8"}))}catch{return}})();if(p&&(t.frameworks??(t.frameworks=[p.dependencies?.react&&"react",p.dependencies?.["solid-js"]&&"solid-js"].filter(c=>!!c)),t.javascriptOutput??(t.javascriptOutput=p.dependencies?.typescript===void 0&&p.devDependencies?.typescript===void 0)),y.getSubscriptionType()&&(t.subscriptions??(t.subscriptions="graphql-ws")),o.length===0&&(t.frameworks=await N(),t.subscriptions=await R(t.subscriptions?t.subscriptions===!0?"graphql-ws":t.subscriptions:void 0),t.javascriptOutput=!await H(!t.javascriptOutput),t.destination??(t.destination=await J(t.javascriptOutput?"gqty/index.js":"gqty/index.ts"))),t.destination??(t.destination=t.javascriptOutput?"gqty/index.js":"gqty/index.ts"),q(r[0])&&(t.endpoint=r[0]),await O(y,{destination:"",...t}),o.length===0&&e.install===void 0?await W(t):p&&e.install!==!1&&await B(p,t),e.watch){const{default:{isMatch:c}}=await import("micromatch"),{default:P}=await import("lodash-es/throttle.js"),{FasterSMA:T}=await import("trading-signals/dist/SMA/SMA.js"),{printSchema:b}=await import("graphql"),f=new T(3),C=()=>{try{return f.getResult()}catch{return f.prices.length===0?0:f.prices.reduce((n,s)=>n+s,0)/f.prices.length}},j=P(async()=>{if(w)return;w=!0;const n=Date.now();try{const s=await S(r,{headers:x(e.header),headersByEndpoint:t.introspections,silent:!0}).catch(a=>a instanceof Error?(d.errorProgress(a.message),Promise.resolve(void 0)):Promise.reject(a));if(!s)return;const m=b(s);m!==k&&(k=m,await O(s,{destination:"",...t}),f.update(Date.now()-n)),d.infoProgress("Watching for schema changes... (Ctrl+C to exit)")}finally{w=!1}},1e3,{leading:!0,trailing:!0});let w=!1,k=b(y);d.infoProgress("Watching for schema changes... (Ctrl+C to exit)"),r.some(n=>q(n))&&(async()=>{for(;;){const n=Math.max(5e3,Math.min(3e4,C()*10));await new Promise(s=>setTimeout(s,n)),j()}})(),(async()=>{const n=r.map(a=>u.resolve(a)),s=await M(n,{absolute:!0}).then(a=>a.map(l=>u.dirname(l).split(u.sep)).reduce((l,E)=>{let h=0;for(;h<l.length&&l[h]===E[h];)h++;return l.slice(0,h)}).join(u.sep)||void 0);D(s,"No common path for specified endpoints.");let m=!1;for await(const{filename:a}of L(s,{recursive:!0})){if(!a)continue;const l=u.resolve(s,a);c(l,n)&&(w||m||(m=!0,setTimeout(()=>{j().finally(()=>{m=!1})})))}})()}}),F=async i=>(await g.input({message:"Where is your GraphQL endpoint or schema files?",default:i})).split(/[,\s+]/).map(e=>e.trim()).filter(Boolean),J=async i=>await g.input({message:"Where should the client be generated?",default:i}),N=async()=>await g.checkbox({message:"Pick the frontend frameworks in use:",choices:[{value:"react"},{value:"solid-js"}]}),R=async i=>(await g.input({message:'Do you need a subscription client? (Enter "-" to skip)',default:i?.trim()||void 0}))?.trim().replace(/^-$/,"")||!1,H=async i=>await g.confirm({message:"Do you want a TypeScript client over vanilla.js?",default:i}),U=i=>{throw i instanceof Error&&(d.error(i.message),v.exit(1)),i};export{Q as addCommand};

TypeError: Reduce of empty array with no initial value
    at Array.reduce (<anonymous>)
    at file:///E:/Projects/ONREZA/TEST_FRONTEND/node_modules/@gqty/cli/commands/default.mjs:2:4624
    at async file:///E:/Projects/ONREZA/TEST_FRONTEND/node_modules/@gqty/cli/commands/default.mjs:2:4555

Thanks, let's make it more comfortable to use.
I can roughly tell what's going on, but I'd like to know the exact commands used for each point.
Relevant info that I can share:

When trying to run the CLI, with --install enabled, it does not install dependencies, or even add them to package.json

CLI detects what package manager you used to invoke it, so it depends. For example NPM creates a package.json with none is there, Yarn cannot.
CLI skips the installation when no missing dependencies are found.

If not explicitly specified in package.json or with --react option, it generates a client not for react (the hooks are just not there)

When no options are defined, the default is to look for react in all dependencies, and if that's not found it skips the react part.
Same logic goes for solid.

I need to be able to disable dependency installation and customization in general. For example: I want to regenerate a client, and I have all the settings already specified in package.json (gqty block), gqty reads them, and still asks me to use CLI input! Why?

The minimum required option to skip interactive mode is the GraphQL endpoint, I may need to read your config block and the command you used to know exactly why.

watch just doesn't work. Let's start from the beginning:
The error is most likely caused by a wildcard endpoint that resolves to NO files, I'll make a quick patch update when we confirm this one.

Thanks, let's make it more comfortable to use.
I can roughly tell what's going on, but I'd like to know the exact commands used for each point.
Relevant info that I can share:

When trying to run the CLI, with --install enabled, it does not install dependencies, or even add them to package.json

CLI detects what package manager you used to invoke it, so it depends. For example NPM creates a package.json when none is there, Yarn cannot.
CLI skips the installation when no missing dependencies are found.

If not explicitly specified in package.json or with --react option, it generates a client not for react (the hooks are just not there)

When no options are defined, the default is to look for react in all dependencies, and if that's not found it skips the react part.
Same logic goes for solid.

I need to be able to disable dependency installation and customization in general. For example: I want to regenerate a client, and I have all the settings already specified in package.json (gqty block), gqty reads them, and still asks me to use CLI input! Why?

The minimum required option to skip interactive mode is the GraphQL endpoint, I may need to read your config block and the command you used to know exactly why.

watch just doesn't work. Let's start from the beginning:

The error is most likely caused by a wildcard endpoint that resolves to NO files, I'll make a quick patch update when we confirm this one.

Am I right that now, packages are only installed if you use npm? it won't work with bun or pnpm?
My package.json has information in react packages, but all ravon until I used the --react option it only generated basic (i.e. no hooks)
Command to start watch mode: bun gqty --watch. I also tried npx @gqty/cli --watch  and bunx @gqty/cli --watch
  "gqty": {
    "introspection": {
      "endpoint": "https://localhost:51835/graphql"
    },
    "react": true,
    "javascriptOutput": false,
    "subscriptions": false,
    "destination": "./generated/index.ts",
    "scalarTypes": {
      "DateTime": "Date"
    },
    "enumStyle": "const"
  }

@SpeedySH The CLI auto-detects NPM, Yarn and PNPM. Bun is possible, let me put that in the roadmaps.


Add new command to cli tool to resolve unfinished pull

In case when pull failed and project was left in the unfinished pull state we will try to resolve this situation on the next pull. But user should also be able to do this manually. For this purpose a new command resolve-unfinised-pull added to the command-line tool.

Also I notices that some command descriptions have dot at the end, while others don't. So have homogenized them by adding missed dots. Really minor thing but better to be consistent.

@alexbruy the updates are looking great, I think you have just forgotten to update pull_project_finalize() call in cli.py

@wonder-sk oh, sorry about that. Should be fixed.


make dragRect a function rather than redundantly tracking

not sure it's worth it, but I'll open an issue so we can think about it.
Originally posted by @magland in https://github.com/magland/spikesortingview/pull/117#discussion_r969831444

@jsoules unless you feel strongly about this one, I'm inclined to keep it the way it is because I think that's the simplest approach from usage perspective

I don't feel terribly strongly about this one, it just raises the possibility of odd behavior or discrepancies between components that rely on the different fields if there should be disagreement between the stored rect and the value you would get by finding the difference between the current point and the start point.
We have plenty of other things to worry about.


PHP Fatal error:  Uncaught Error: Call to a member function write() on null in /code/vendor/tbolier/php-rethink-ql/src/Connection/Connection.php:257

Hi there,
I'm testing my code on vagrant instances. Now I have Rethink running on one vm, and my code on another vm.
The db is up and running and I can access it via my browser. However inside of the code nothing happens when I run:
$connections = [
    'default' => new Options([
        'hostname' => '<internal ip>',
        'port' => 28015,
        'dbname' => 'vagrant',
        'user' => '...',
        'password' => '...'
    ]),
];
$registry = new Registry($connections);

$r = new Rethink($registry->getConnection('default'));
$r->table('trades')
  ->insert([
      [
          'documentId' => 1,
          'title' => 'Test document',
          'description' => 'My first document.'
      ],
  ])
  ->run();

The table exists, the stream is created and connected in socket, however I still get the following:
PHP Fatal error:  Uncaught Error: Call to a member function write() on null in /code/vendor/tbolier/php-rethink-ql/src/Connection/Connection.php:257
Stack trace:
#0 /code/vendor/tbolier/php-rethink-ql/src/Connection/Connection.php(163): TBolier\RethinkQL\Connection\Connection->writeQuery(588962815, Object(TBolier\RethinkQL\Message\Message))
#1 /code/vendor/tbolier/php-rethink-ql/src/Query/AbstractQuery.php(32): TBolier\RethinkQL\Connection\Connection->run(Object(TBolier\RethinkQL\Message\Message))
#2 /code/bin/OrderBook.php(33): TBolier\RethinkQL\Query\AbstractQuery->run()
#3 {main}
  thrown in /code/vendor/tbolier/php-rethink-ql/src/Connection/Connection.php on line 257

Hi @mpjraaij
Before you execute the query, please execute $r->connection()->connect();
The fatal error that caused your error is related to not having connected first, so there is no open stream.
I have updated the code, to throw a proper ConnectionException in that case. I've also updated the documentation which was missing the $r->connection()->connect(); reference.
Thanks for reporting this.
You can immediately fix your issue with your current version of the library by connecting first.
Let me know if that sorted it for you?
Cheers

This issue has been resolved.

Thanks!
That did not fully solve it. To test I'm now using this code:
$r = new Rethink($registry->getConnection('default'));
$r->connection()->connect();
$r->db()
  ->tableCreate('test')
  ->run();

I'm getting a Runtime Error:
PHP Fatal error:  Uncaught TBolier\RethinkQL\Connection\ConnectionException: Runtime error: U, jsonQuery: [1,[60,[[1,"test"]]],{"db":[14,["vagrant"]]}] in/code/vendor/tbolier/php-rethink-ql/src/Connection/Connection.php:372
Stack trace:
#0 /code/vendor/tbolier/php-rethink-ql/src/Connection/Connection.php(334): TBolier\RethinkQL\Connection\Connection->validateResponse(Object(TBolier\RethinkQL\Response\Response), 820726866, 820726866, Object(TBolier\RethinkQL\Message\Message))
#1 /code/vendor/tbolier/php-rethink-ql/src/Connection/Connection.php(169): TBolier\RethinkQL\Connection\Connection->receiveResponse(820726866, Object(TBolier\RethinkQL\Message\Message))
#2 /code/vendor/tbolier/php-rethink-ql/src/Query/AbstractQuery.php(32): TBolier\RethinkQL\Connection\Connection->run(Object(TBolier\RethinkQL\Message\Message))
#3 /code/bin/OrderBook.php(28): TBolier\RethinkQL\Query\AbstractQuery->run()
#4 {main}

Next TBolier\RethinkQL\Connection\ConnectionException: Runtime error: U, jsonQuery: [1,[60,[[1,"test"]]],{"db":[14,["vagrant"]] in /code/vendor/tbolier/php-rethink-ql/src/Connection/Connection.php on line 181

...
This is because I did not grant the permissions to the user yet. Might need a different error message.

Thanks I have created a new issue for that one here: https://github.com/tbolier/php-rethink-ql/issues/78


Expected behavior

Environment

Walrus version: main 66f1bd1681cc926d6b35a6caed7ec5f793ae103a
UI version: dev-21d34af

Additional context
Add any other context about the problem here.

Environment

Walrus version: main 8c258fa00a3e8c3f2895a5cfb7159ca2b5d7fc1f
UI version: dev-a9c973f

Test Result: pass


Potential null-dereference in libsdcparse/sdc_parser.gen.cpp

See the following error;
/home/tansell/github/verilog-to-routing/vtr-verilog-to-routing/build/libs/EXTERNAL/libsdcparse/sdc_parser.gen.cpp: In member function ‘yysyntax_error_’:
/home/tansell/github/verilog-to-routing/vtr-verilog-to-routing/build/libs/EXTERNAL/libsdcparse/sdc_parser.gen.cpp:1716:38: warning: potential null pointer dereference [-Wnull-dereference]
     for (char const* yyp = yyformat; *yyp; ++yyp)

Could just disable the null-pointer checking on this generated file;
https://github.com/BoomerangDecompiler/boomerang/commit/a56379e246dd509b9fda5d27f1bbf8b5a9e8741f#diff-b985ec8686a5094f11513d1330562a05R56

if (CMAKE_COMPILER_IS_GNUCXX AND BISON_VERSION VERSION_LESS 3.0.5)
    # Grammars generated by Bison 3.0.4 and below emit a null pointer dereference warning
    # when compiled with GCC 7
    set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/SSL2Parser.cpp
        PROPERTIES COMPILE_FLAGS -Wno-error=null-dereference)
endif ()


css override with webpack?

I'm trying to make a floating action button, but after compiling, material-ui styles are inserted at last, and MuiButtonBase  override my style position: fixed, how can i fix this? i know inline style works, but i really don't like that way. has anyone encounter this problem?
BTW, I'm using html-webpack-plugin and postcss
<Button classes={{root: 'player'}} variant='fab' color='primary' >
          <Icon style={{ fontSize: 30, color: '#FFFFFF' }}>
            play_arrow
          </Icon>
</Button>

.player {
  position: fixed;
  right: 15px;
  bottom: 15px;
}

The answer to your question is in this documentation section: https://material-ui-next.com/customization/css-in-js/#css-injection-order.


Support changing server base url for ollama

Validations

[ ] I believe this is a way to improve. I'll try to join the Continue Discord for questions
[X] I'm not able to find an open issue that requests the same enhancement

Problem
This is really a nice plugin for vs code and I like it very much.
However, I have served my ollama in my local network but not in same machine.  It would be more flexible to be able change the hardcoded ip and port for ollama server in this plugin.
Solution
Expose configuration for ollama to change ip and port.

Hi @zysimplelife, glad Continue has been a good experience so far : ) Luckily we already have support for changing the base URL. This can be done in config.json like so:
{
  "models": [
    {
      "title": "Ollama",
      "provider": "ollama",
      "model": "llama2-7b",
      "apiBase": "http://x.x.x.x"
    }
  ]
}

aha, thanks  then I misunderstood code https://github.com/continuedev/continue/blob/main/core/llm/llms/Ollama.ts#L1
I will try it out and it would be even better to mention it in the document. It seems the document is missing about this parameter https://continue.dev/docs/reference/Model Providers/ollama.


Sankey Data Visualization

The Sankey diagram included is a modified Sankey D3.js Plugin that supports cyclical relationships and adds text label options for more practical visualizations.

Hi @bradsa, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla.microsoft.com.

TTYL, MSBOT;

@bradsa, Thanks for signing the contribution license agreement so quickly! Actual humans will now validate the agreement and then evaluate the PR.
Thanks, MSBOT;


webpack required on browser

Describe the bug
I copied the code from the Getting Started page here (https://danfo.jsdata.org/getting-started) under the '10 minutes to danfo.js' from the Browser section. I got "TypeError: t is null
o                                https://cdn.jsdelivr.net/npm/danfojs@0.2.2/lib/bundle.min.js:6
89810                        https://cdn.jsdelivr.net/npm/danfojs@0.2.2/lib/bundle.min.js:6
webpack_require https://cdn.jsdelivr.net/npm/danfojs@0.2.2/lib/bundle.min.js:6 "
repeating for a while, ending with
"   52839 https://cdn.jsdelivr.net/npm/danfojs@0.2.2/lib/bundle.min.js:6
webpack_require https://cdn.jsdelivr.net/npm/danfojs@0.2.2/lib/bundle.min.js:6
dfd https://cdn.jsdelivr.net/npm/danfojs@0.2.2/lib/bundle.min.js:6
 https://cdn.jsdelivr.net/npm/danfojs@0.2.2/lib/bundle.min.js:6"
I tried to install webpack but there is no browser installation. I am a noob so sorry if this is unhelpful but this is the only place I could find to ask for help. Looks like no data manipulation for me, wah-wah.
Same error if I run the previous code from that page, the one without the 'print' command.
Desktop (please complete the following information):

OS: Windows 7
Browser Firefox 86.0

Hi @reacharound Where are you trying to run danfo from? The browser?
If yes, then try the updated version of danfojs (v0.2.3):
Here's an example:
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script<EMAIL_ADDRESS></head>

<body>

    <script>

      //danfo is exposed on dfd namespace
      s = new dfd.Series([1,2,3,4,5])
      s.print()
    </script>

</body>

</html>

This is the exact code I entered, which returned the initially mentioned error.
Yes I was installing on browser, Firefox 86.0


[feat] URL/URI in task, maybe as new script_runner?

Problem Description
Rather than only supporting inline code, why not have a path parameter? - How about going further, and making that path one of URL or URI (see RFC for file URI)?
If URL, allow for a SHA256 sum to specified.
Potential
cargo-make becomes a package manager 😮

What do you think? 😃

it's a cool idea which I was thinking about for some time but in the context of loading and extending other makefiles and not task scripts.
at the end, I decided instead of supporting urls which might be limited, giving the user the ability to write a script to load external makefiles however the user sees fit, for example wget, git clone, file copy and so on...
So in your case, you could put common scripts in some centralized makefile.toml and your projects could extend that common makefile.toml using load scripts.
you can than use or extend those tasks in your local makefile.toml
take a look at load scripts and tell me if it solves the issue.
I saw one person using it in few related open source projects to reduce duplicate code.
https://github.com/search?q=filename%3AMakefile.toml+load_script&type=Code

Yeah, I agree, but that approach is also limiting. Rust is winning a lot of the benchmarks, and is cross-platform, whereas curl or wget being present on Windows is less likely.
Well here's the thing, you've already talked about separating cargo-make from cargo https://github.com/sagiegurari/cargo-make/issues/69. The second you do that, the question will be: why not turn this into a generic task runner?
In terms of performance, by abstracting them out into cargo-make native primitives, you'd be able to do the following execution pipeline:

Download/cache all URL/URI dependencies in parallel, to .cargo-make directory in root of this repo
Traverse dependency graph, efficiently pruning out tasks already run (as you currently do)
Expose relevant exit code at end, showing success/failure

Combine this with my binary packaging idea https://github.com/sagiegurari/cargo-make/issues/128, and you can support crazy cross-platform commands like:
> curl -SsL https://binaries/wordpress-<os>-<arch> -o wordpress.exe;`
> wordpress.exe /v 4.9.8 :: on *nix machines: ./wordpress --version 4.9.8
[Downloading dependent tasks]
[Downloading dependent assets]
[Installing]
[Setting up environment variables]
[Setting up Postgres & nginx services]

Because we're in Rust—and thanks to your nice parallelisable task design—this whole process would be crazily fast.
I've got other ideas to explore, once this part has been done.
But what I want to know is: your thoughts? ❗ 😀

cool. I'll try to see what can be done.

instead of having over complex config in cargo make tasks, we can now use duckscript as inline script that has the ability to fetch resources via http and execute native commands.
so its possible to do this with 2 lines of inline duckscript.
it can even be enhanced to do more fetching types, but thats outside cargo-make.
so in a way, this is now supported with cross platform scripting.


set up private network to use from host

I have set up port forwarding to use docker from my host machine, but i am trying to setup a private ip address that will allow me to connect to anything running in vagrant. So if i have a container running on port 8080 in vagrant i can get to it on my host using <IP_ADDRESS>:8080. I am trying to set this up with cloud config, but it does not seem to create the network file.
Here is my user-data file:
#cloud-config

---
coreos:
  etcd:
    addr: $public_ipv4:4001
    peer-addr: $public_ipv4:7001
  fleet:
    public-ip: $public_ipv4
  units:
    - name: etcd.service
      command: start
    - name: fleet.service
      command: start
    - name: docker-tcp.socket
      command: start
      enable: true
      content: |
        [Unit]
        Description=Docker Socket for the API

        [Socket]
        ListenStream=5555
        Service=docker.service
        BindIPv6Only=both

        [Install]
        WantedBy=sockets.target
    - name: 00-app.network
      runtime: true
      content: |
        [Match]
        Name=app

        [Network]
        Address=<IP_ADDRESS>/24
write_files:
- path: /etc/default/docker
  content: |
    DOCKER_OPTS='-H unix:///var/run/docker.sock -H tcp://<IP_ADDRESS>:5555 --dns <IP_ADDRESS> --dns <IP_ADDRESS> --dns-search service.consul'

Moved to https://github.com/coreos/bugs/issues/1356


TypeError: this.info.toSource is not a function

Attach (recommended) or Link to PDF file here:
nonclinical-overview.pdf
Configuration:
Web browser and its version: Chrome Version 119.0.6045.160 (Official Build) (64-bit)
Operating system and its version: Windows version 11 enterprise
PDF.js version: [v4.0.189]
Is a browser extension: No
Steps to reproduce the problem:
1.Open any Published MasterControl documents
and will get an error - TypeError: this.info.toSource is not a function and in text layer stating that "Published MasterControl documents frequently use JavaScript. If you are seeing this message, your viewer either does not support JavaScript or it is disabled. If you are using Adobe Acrobat, please enable JavaScript. If you are using another viewer, you will need to configure your browser to view PDF files externally in Adobe Acrobat."
What is the expected behavior? (add screenshot)

What went wrong? (add screenshot)

Could you please let us know, how to resolve the issue? Is there any settings on browser to be enabled?
Link to a viewer (if hosted on a site other than mozilla.github.io/pdf.js or as Firefox/Chrome extension): https://mozilla.github.io/pdf.js/web/viewer.html

Duplicate of #17308

#17308 closed because the pdf is not shared.
I have provided the PDF document which is having issue, still the issue is closed without understanding the request raised. Please read the request fully before closing.
We are using your library in our project, and the mentioned issue is escalated by our customer. We are not able to see the full content of the file using this library. Kindly read the request and provide the resolution.
As the ticket is closed and we are raising the request again. So please be reasonable to your customer who is seeking your assistance.

#17308 closed because the pdf is not shared.

... and because it's a duplicate of an existing issue, which was already mentioned in https://github.com/mozilla/pdf.js/issues/17308#issuecomment-1820711805.

So please be reasonable to your customer who is seeking your assistance.

Please keep in mind that this is an open-source project that you're able to use for free.

So you wont answer for the queries users have?


Eval statement presents code injection security vulnerability

Versions (please add them if you have more releases for this issue)
CPI      Version: 22+
BOSH     Version: N/A
CF       Version: N/A
Diego    Version: N/A
Stemcell
Version: All light stemcells
Distro:

[x] Ubuntu
[x] CentOS
[x] Windows

Environment

Azure Environment:

[x] Azure
[x] AzureChinaCloud
[x] AzureUSGovernment
[x] AzureStack
[ ] Others:

Location: All
Subscription ID: All
Resource Group Name: All

Issue Details
To support light stemcells, the CPI creates a "dummy" stemcell vhd blob in the stemcell blobstore with metadata attached to reference the marketplace image the light stemcell is based on. The metadata placed on the dummy image to describe the marketplace offering is inserted as a ruby hash object. When a VM is created from the light stemcell image, this metadata is actually evaluated as ruby instead of just parsed as Json or another data format: https://github.com/cloudfoundry-incubator/bosh-azure-cpi-release/blob/master/src/bosh_azure_cpi/lib/cloud/azure/helpers.rb#L418. This presents a security vulnerability, as a VM offering name/sku/provider/version could arbitrary contents that ends up being valid ruby that gets evaluated.
@pnikonowicz and I are suggesting that instead of storing the image metadata as a ruby hash, it should be stored as Json and decoded as Json instead of evaluated.

@sunjayBhatia Thanks for your valuable feedback. How do you think if we store image's information as below?
"image.offer" => "xxx",
"image.sku" => "xxx",
"image.publisher" => "xxx",
"image.version" => "xxx"

@AbelHu Could we store it as:
metadata key: image
metadata value: '{}'

Thanks, @sunjayBhatia . We will use to_json and JSON.parse

Sweet, sounds good! Will close this out


Preserve plugin config env var names with consecutive underscores

When an env var name, that was derived from a plugin config, had consecutive underscores, the consecutive underscores were replaced by a single one. (For later reference, this will be called the underscore collapsing transformation). Now, both versions of the variable before and after this transformation are exported.
We also log a warning about this and log both the deprecated variable name and its replacement.
We need to keep the deprecated version around, as these environment variables are how plugins read their config without depending on a tool like jq to parse the config.
So removing them would mean that plugins could be inadvertently misconfigured, and they would have to be rewritten to start using the replacement environment variables instead.
Implementing this was not that straightforward, as the function that creates the environment slice from the plugin config is recursive and did not take a logger or return errors. It is recursive as that is the most straightforward way to turn a tree like object such as
parameter:
  ci:
    _api_key: /path
    db:
      host: localhost
      port: 5432

Into the list of environment variables, similar to:
PARAMETER_CI_API_KEY=/path
PARAMETER_CI_DB_HOST=localhost
PARAMETER_CI_DB_PORT=5432

I could have adapted it to do something when it hits a leaf node and the path to root had consecutive underscores, but I think that would complicate the recursion too much.
Instead, I just removed the underscore collapsing transformation and added a pass over the result that "fans-out" environment variable names with consecutive underscores into two environment variables with and without the underscore collapsing transformation applied.
So in the example above, there will now be an additional environment variable:
PARAMETER_CI__API_KEY=/path
PARAMETER_CI_API_KEY=/path
PARAMETER_CI_DB_HOST=localhost
PARAMETER_CI_DB_PORT=5432

Also, for passing the errors back to bootstrap, I made two custom error types. It's arguably a little overengineered, but I tried to find a way to use error wrapping and/or errors.Join to do the job, but they weren't powerful enough, or I was holding them wrong. There could be some generics libraries we could import to eliminate a lot of the code written for the error types. I would be glad to do this.
Fixes: #2100
Screenshots
Before

After

The log message has changed somewhat after all the review. Here's what it looks like now in a very similar context to what was in the original issue. I've expanded the relevant sections, they are not expanded by default.


Block users?

Good afternoon.
We use Streams (feed and chat) for our platform, and found it to be quite excellent.
However we are getting a little pushback from the Google Play store about the inability to block users. Does Stream (feeds) offer any functionality for this? I looked through the docs (and code) to see if I could find anything, but came up short. We have a mobile app and web app, and feel that blocking is something that should be handled by the backend (rather than the client).
I know that users can be muted through the Chat client, but what about the feed client?
Did I miss anything??
Thanks!

Chat has also ban functionality, fyi.
For feeds, moderation capabilities are limited so you need to handle it through JWT.
Provide short lived expiration and stop giving new tokens to users if you don't want them to access anymore.

The issue we're facing is not about banning users from the platform, but rather giving the users the ability to block other users. For example, UserA blocks UserB, and no longer seen any of UserB's content. Ideally this will be handled by the Streams Feed backend (or client), so that we don't have to implement custom logic to web and mobile.

UserA can unfollow UserB feed to remove any unwanted content. Why doesn't it work?

Oh, yes of course! Forgive me for not realizing this, our platform does indeed surface some content from unfollowed users, which I know is not a standard way for using the feed client. We will work around this.
Thanks so much for the prompt and informative help!


Failed: SinglePeersetSpec.should be able to execute transaction even if leader fails after first apply()

test-reports.zip

Again: test-reports.zip

Again: test-reports.zip


People not getting insulted on join

Expected: When somebody joins a channel he gets insulted
Actual: The bot ignores the join
This worked before.

Is this fixed?


Decrypt Received Files

Journalists download encrypted files on the internet-connected computer, then transfer them to the isolated computer. On the isolated computer, they decrypt the files, then open them.
We can streamline this workflow by automatically decrypting the files received by the Diode Transfer app. To do this in a general way, we should allow the user to specify a "post-processing command" which will be run on each file received.

Code is on the dev branch, but should be tested before being merged to main.

Tested the dev branch, and things look good. We will wait to merge to main until the next phase of our study.


Cannot set property 'date' of undefined.

Probably happening in DataResultReducer. Happens in Firefox in world and dictionary selection under writing.

Fixed


Add scalar factor support and tests for MAD and ZSCORE

Added a factor parameter to adjust thresholding sensitivity.
Updated examples and docstrings to reflect the new feature.
Added tests to verify the impact of factor on thresholds and predictions.
Ensured labels remain binary and thresholds adjust correctly.

Submissions Basics:

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same update/change?
[x] Have you checked all Issues to tie the PR to a specific one?

Type of Change:

[ ] Bug fix
[x] New feature
[ ] Documentation update

All Submissions Cores:

[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[x] Have you written new unit tests for your changes?
[x] Do all new and existing unit tests pass locally?

New Thresholder Submissions:

[ ] Have you created a .py in ~/pythresh/thresholds/?
[ ] Have you created a _example.py in ~/examples/?
[ ] Have you created a test_.py in ~/pythresh/test/?
[ ] Have you lint your code locally prior to submission?
[ ] Have you added a reference of the new thresholder in your explanation?

Hi @MalikAly,
Nice work!
I have made some adjustments to your changes just so that it aligns with the rest of the library.
Thank you so much for your contribution.


No IPv6 on packages.microsoft.com

vscode is not installable on Linux from IPv6-only networks because packages.microsoft.com has no AAAA record:
% host -t aaaa packages.microsoft.com
packages.microsoft.com is an alias for apt-geofence-parent.trafficmanager.net.
apt-geofence-parent.trafficmanager.net is an alias for csd-apt-sus-d-3.southcentralus.cloudapp.azure.com.

Related: dotnet/core/issues/3016

This would go to the same team as for dotnet https://github.com/dotnet/core/issues/3016#issuecomment-536784919, since they're been informed already I'll close this out in the interest of issue grooming. If any other projects on packages.microsoft.com get it and we don't, let us know.


Command "tenancy:migrate" is not defined.

Hello, how are you? after update to support L9, I tried to run php artisan tenancy:migrate and I got:
Command "tenancy:migrate" is not defined.
Did you mean one of these?
tenancy🔑update
tenancy:recreate
tenancy:run
And I have a module to create tenants and I got this error:
"message": "The command "tenancy:migrate" does not exist.",
"exception": "Symfony\Component\Console\Exception\CommandNotFoundException",
"file": "C:\laragon\www\clowdwork-web-jwt\vendor\laravel\framework\src\Illuminate\Console\Application.php",
"line": 190,
Any idea? Thanks

@jonquintero sorry to see this so late. Did you ever get this resolved?

Hi @luceos unfortunately I couldn't, I had to do a clean installation of laravel, install the package and copy the controllers, models, etc., that I already had

Okay but is this resolved now? After the clean install?

Yes, in clean install, everything is fine, thanks for ask

Although @jonquintero had it resolved, you @luceos should make sure this is no longer an issue.

After upgrading to laravel 9 im having the same issue. I can only see the following commands:
 tenancy
  tenancy:key:update            Update tenant users passwords.
  tenancy:recreate              Recreate all tenant databases present in the system db.
  tenancy:run                   Run commands on all tenant databases present in the system db.


feat(router): add params to navigate()

Adds a params parameter to the navigate() function, so that
router.navigate('#/main/:id/details', undefined, { id: 123, name: "onetwothree" })

results in navigation to
'#/main/123/details?name=onetwothree'

In other words, found named params are placed in the url, not found ones are added to the querystring.

Is this within the scope of the router? (At least it's a quite small addition.) @EisenbergEffect @bryanrsmith @davismj

Is there anything this solves that doesn't currently work with router.navigateToRoute?
router.navigateToRoute('main-details', { id: 123, name: 'onetwothree' });

@davismj router.navigate doesn't require route configuration.

@jwx Why would you want to navigate to a route that isn't configured?

I'm not going to close this. I see a great deal of value in having a utility function that generates a URL with query string parameters as a first-class citizen in Aurelia. I'm just not sure it goes here. It might!

I think this feature is desirable. Currently I don't see how navigateToRoute of child Router can help navigate to routes in different route branches, so one may end up rolling their own, like the feature this PR adds.

@davismj Any chance of getting this merged?

@bigopon is right. This PR will be very useful when dealing with navigation with child routes


Emit "import React" for untyped JS components

Not sure if I did overlook something. It doesn't seem to change existing behavior in the examples and I was able to get the import statement in the gen.js file while wrapping a JS component

Awesome thanks!


The element tag is not displayed.    for example:

Please document your issues more
View vue3 example with element-ui:
https://github.com/jerosoler/drawflow-vue3-example


Root of https://paraspell.github.io points to nowhere

Context
When someone goes to https://paraspell.github.io they see 404
it would be nice to automatically redirect them to https://paraspell.github.io/docs

Resolved by quite obscure way - creating new repository: https://github.com/paraspell/paraspell.github.io
Apparently, there is no other way around this.
Thanks for the suggestion!


Fix alpine version to 3.18

Or is edge really needed?

What? Strange. It has all platforms... 🤔

Ah riscv65 is missing...
I don't think we should build for all exotic platforms? Doing a pull...

Me is targeting riscv64  ... and it will be a stable platform in the next stable debian ... alpine is also following asap everything is ported i guess (dont pin me down on that. i can upstream if desired)
I dont see any issue with using edge as base image ...
Why was this issue created in the first time?

renovate is not versioning :edge or :latest. And I was harmonizing tags across all repos and this one is/was the only one which didn't had alpine:3.18.
Ahh I see we have riscv images for release versions. Now I understand...

Then let's switch for the next alpine version 🙂

renovate is not versioning :edge or :latest

You can enable digest pinning in those cases to still get updated images in case the upstream image was rebuilt.

Good idea. However, this comes with the following downsides:

latest/edge images are often updated daily (not in the case of alpine it seems so it might be a valid solution here)
AFAIK you cannot pin the digest of a manifest but only of a certain arch image (this would not be a blocker but usually one would not want to insert an arch-lock due to digest pinning)

But I guess we can just leave it as-is - the discussion needs more energy than the change would be worth it :)

Pinning manifests works as well if I remember correctly. To avoid noise a weekly schedule could be added. But we can also just leave it as it is.

well pinning to a specific base image makes it more deterministic ... thats not a bad idea ...
PS: 3.18 is also a moving target :D and we could be more specific there too ...


Unregister views

I'm using OC 0.23.0.
I register a view with ViewManager.registerView(View) and would expect to be able to unregister a view later on but there is no method in ViewManager allowing to do that.
The documentation claims that "Users can dynamically create and delete views at runtime." [1]
Also in the Go version of the library this feature is present [2]
[1] https://opencensus.io/stats/view/
[2] https://godoc.org/go.opencensus.io/stats/view#Unregister

The Java library currently doesn't have an API to unregister views. We'll add this functionality when moving on to OpenTelemetry-Java.


hotkey: Add 'narrow to next unread followed topic' hotkey.

This PR adds a Shift + N keyboard shortcut, which is used to narrow to the next unread followed topic.
Fixes part of #27323.

Screenshots and screen captures:
 ? Menu

/help/keyboard-shortcuts#the-basics

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[x] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[ ] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[x] End-to-end functionality of buttons, interactions and flows.
[x] Corner cases, error conditions, and easily imagined bugs.

Implementation lgtm; I've not done any testing; @alya thoughts on where the documentation is placed?

I can test. For documentation, this looks good, we should also expand the keyboard tip on /help/reading-strategies#reading-conversations and /help/reading-conversations. This should work:

We can make the keyboard tip be: Use the N key to go to the next unread topic, Shift + N for the next unread followed topic, or P for the next unread direct message conversation.

I can also take the follow-up of updating /help/follow-a-topic; we probably need a "read followed topics" instruction block there.

Works fo rme in manual testing!

Updates in the recent push (as alya suggested)

we should also expand the keyboard tip on /help/reading-strategies#reading-conversations and /help/reading-conversations.

updated doc

Looks great, marked to merge once CI passes, thanks @prakhar1144!


Adds info/changes for local action testing

Closes #45
Makes some changes so that we can test locally with ACT - https://github.com/nektos/act
Made a readme in actiontest/readme.md for more information.
Makes input values as secret so they can't be leaked to github console.

@alfredodeza Thank you very much for the direction! 🙇  That simplifies things alot!


Sample script contains KeyError 'attendees'

INFO:Feature(Users):Generating user admin with password password and project admin
Traceback (most recent call last):
  File "../main.py", line 14, in <module>
    openshifter.cli.cli()
  File "/usr/lib/python3.6/site-packages/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/usr/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/lib/python3.6/site-packages/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/lib/python3.6/site-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/click/decorators.py", line 17, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/root/openshifter/cli.py", line 47, in create
    openshifter.create()
  File "/root/openshifter/__init__.py", line 51, in create
    self.setup()
  File "/root/openshifter/__init__.py", line 43, in setup
    features.execute("setup", self.deployment, self.cluster)
  File "/root/features/__init__.py", line 51, in execute
    ft.setup()
  File "/root/features/__init__.py", line 70, in setup
    self.call(client)
  File "/root/features/users.py", line 24, in call
    for attendee in attendees['attendees']:
KeyError: 'attendees'

PR coming in a sec...

Actually, in my script I just removed these lines:
- eventbrite: <event_id>
password_type: username # Possible values: username, fixed (add password field)

I don't know if we want to keep those in the sample.yml file and make some other adjustments, or just remove them. @marekjelen ?

The sample in the example is supposed to be full, i.e. describe every possible option.
We should just add comment that it's optional, just for the case of eventbrite integration.

Right, so add a comment and comment that section of yml too?

@marekjelen ?

yeah, we can add some explanatory comments

I've sent a PR to comment the section. I can't provide explanatory comments cos I don't really know how the evenbrite stuff works.

LGTM


Graph node labels become red when client is offline

Status

[x] Ready
[ ] Draft
[ ] Hold

Description
We could wait merging this until we are satisfied with the current graph for release 0.3.0. Suggestions of new features and improvement can be discussed here.
Types of changes
What types of changes does your code introduce to FEDn?

[ ] Hotfix (fixing a critical bug in production)
[ ] Bugfix
[x] New feature
[ ] Documentation update

Checklist
If you're unsure about any of the items below, don't hesitate to ask. We're here to help!
This is simply a reminder of what we are going to look for before merging your code.

[x] This pull request is against develop branch (not applicable for hotfixes)
[ ] I have included a link to the issue on GitHub or JIRA (if any)
[ ] I have included migration files (if there are changes to the model classes)
[ ] I have read the CONTRIBUTING doc
[ ] I have included tests to complement my changes
[ ] I have updated the related documentation (if necessary)
[ ] I have added a reviewer for this pull request
[ ] I have added myself as an author for this pull request

The graph should show the reducer as a single circle if there are no combiners online, instead of an empty graph.


Fix awkward wording

you may like to use X instead

reads a bit awkward / non-native English to my ears. Afraid I can't point to a specific rule why though.
Anyway, just thought I'd help fix it up. Thank you for the super helpful package!

Thanks for helping :)


Create categories for helpdesk articles and FAQs.

Currently, we have FAQs scattered across various websites (Meilisearch pricing page, MS Cloud website, Documentation website). For easier access, we could centralize these contents in the Crisp helpdesk. Aside from the documentation website, this would provide users with another self-help channel and reduce the likelihood of submitting a support request when the answer could be readily available.
For the first iteration. I am proposing a General and MS Cloud category. We would make regular updates and addition as things evolve.
📢 Open to suggestions!

What is the Crisp helpdesk? And who can access it?

Hi @CaroFG. It's available in the chat widget.


Handle Missing Root Keys

Updated getFromDict() to return None when root key being looked up is missing. Specifically, this change is needed for a 911 that does not support "chargingStatus".

@CJNE the linting checks are failing on code unrelated to this PR. Let me know how you would like to proceed here.

Thanks @dipeshc
Yes linting is failing because i haven't finished the test suite yet, will try to work on that when i can.


[manila-csi-plugin] Status field READYTOUSE not becoming true for VolumeSnapshot

Is this a BUG REPORT or FEATURE REQUEST?:
/kind bug
What happened:
The READYTOUSE status field for a newly created VolumeSnapshot is not becoming true.
NAME          READYTOUSE   SOURCEPVC        SOURCESNAPSHOTCONTENT   RESTORESIZE   SNAPSHOTCLASS    SNAPSHOTCONTENT                                    CREATIONTIME   AGE
my-snapshot   false        manila-nfs-pvc                                         csi-manila-nfs   snapcontent-a1d193f6-8999-4da7-b105-3e025c15f38e                  121m

Although the snapshot is successfully created in Openstack and VolumeSnapshotContent READYTOUSE status field becomes true.
What you expected to happen:
READYTOUSE status field in VolumeSnapshot resource becomes true eventually and the snapshot can be used to create a PersistentVolumeClaim.
How to reproduce it:
I'm using chart version 1.6.0 with the following VolumeSnapshotClass:
apiVersion: snapshot.storage.k8s.io/v1
deletionPolicy: Delete
driver: nfs.manila.csi.openstack.org
kind: VolumeSnapshotClass
metadata:
  name: csi-manila-nfs
parameters:
  csi.storage.k8s.io/snapshotter-secret-name: manila-csi-plugin
  csi.storage.k8s.io/snapshotter-secret-namespace: kube-system

StorageClass:
allowVolumeExpansion: true
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: csi-manila-nfs
parameters:
  availability: eu-nl-1b
  csi.storage.k8s.io/controller-expand-secret-name: manila-csi-plugin
  csi.storage.k8s.io/controller-expand-secret-namespace: kube-system
  csi.storage.k8s.io/node-publish-secret-name: manila-csi-plugin
  csi.storage.k8s.io/node-publish-secret-namespace: kube-system
  csi.storage.k8s.io/node-stage-secret-name: manila-csi-plugin
  csi.storage.k8s.io/node-stage-secret-namespace: kube-system
  csi.storage.k8s.io/provisioner-secret-name: manila-csi-plugin
  csi.storage.k8s.io/provisioner-secret-namespace: kube-system
  nfs-shareClient: <IP_ADDRESS>/16
  shareNetworkID: 32e1a7f3-aaf7-4cb2-81a2-34b72c49f085
  type: default
provisioner: nfs.manila.csi.openstack.org
reclaimPolicy: Delete
volumeBindingMode: Immediate

After applying the following resource the status field never switches to true
apiVersion: snapshot.storage.k8s.io/v1
kind: VolumeSnapshot
metadata:
  name: my-snapshot
spec:
  volumeSnapshotClassName: csi-manila-nfs
  source:
    persistentVolumeClaimName: manila-nfs-pvc

Anything else we need to know?:
Everything else like create/delete/extend works as expected.
Environment:
Kubernetes v1.25.2
k8s.gcr.io/sig-storage/csi-provisioner:v3.0.0
k8s.gcr.io/sig-storage/csi-snapshotter:v5.0.1
k8scloudprovider/manila-csi-plugin:v1.25.2

@gman0 FYI :)

Hi @jknipper, maybe something is missing patch verb permissions in volumesnapshot/status RBACs in your deployment? Can you please you're deploying correct version of snapshot-controller with correct RBACs?
https://github.com/kubernetes-csi/external-snapshotter/tree/master/deploy/kubernetes/snapshot-controller

Thank you @gman0 for your reply. I already tried that and it is actually missing in the chart here https://github.com/kubernetes/cloud-provider-openstack/blob/master/charts/manila-csi-plugin/templates/controllerplugin-rules-clusterrole.yaml
Adding it made no difference.
To me it looks like the state is only set once on snapshot creation and is never reconciled: https://github.com/kubernetes/cloud-provider-openstack/blob/8ea8cfb8321246d3f05fcbedab668aa330028575/pkg/csi/manila/controllerserver.go#L307
In the cinder implementation there is a wait function until the snapshot is ready but I can't see that in the manila part: https://github.com/kubernetes/cloud-provider-openstack/blob/2cd7f1ee08355177029977bdb2fa3d05cf290d0a/pkg/csi/cinder/controllerserver.go#L392
Or am I missing something?

@jknipper reconciliation is done by csi-snapshotter sidecar -- it will keep calling CreateSnapshot until ReadyToUse becomes true.
Can you please send logs from csi-snapshotter (kubectl -n <namespace> logs -l app=openstack-manila-csi,component=controllerplugin -c cephfs-snapshotter) and snapshot-controller?

I already tried that and it is actually missing in the chart here https://github.com/kubernetes/cloud-provider-openstack/blob/master/charts/manila-csi-plugin/templates/controllerplugin-rules-clusterrole.yaml

csi-snapshotter sidecar doesn't make use of patch in volumesnapshots/status. See https://github.com/kubernetes-csi/external-snapshotter/blob/master/deploy/kubernetes/csi-snapshotter/rbac-csi-snapshotter.yaml for reference. Just FYI, I cannot reproduce. I tested (with cephfs, but it shouldn't make any difference) and it seems to be working fine.

@gman0 thank you for clarification of the process. I was indeed missing the proper rbac role in the snapshot-controller and only looking at the csi-snapshotter sidecar. Sorry for the turbulences.

No problem, thanks!


Feature to allow skip-verify by github's user ids or code owners?

Hi there, I am thinking of using this action to prevent unauthorized users from modifying the workflows files in a github repo.
As you may know, github's write authorization on a repo for a user cannot be set on a fine grained level; for example only to a specific paths or folders. So a contributor with write access can modify any files on that repo, but the repo maintainer may want to protect the workflows files and only allows a subset of people (from a list of allowed github user ids or code owners) to modify them.
So I am wondering if we can add a feature for the action to skip verify if the user opening the PR is on the list of allowed github user ids or one of workflows files' code owners. I am thinking this is very similar to skip-verify-authority option, except it decides on user_ids rather than permissions.
Thanks.

You can use skip-verify-authority: admin. And If you need, I can add a new variable like skip-verify-users.

I believe skip-verify-users will be more usable since not all workflows files' code owners are admin of the repo.

OK, I will notify you when done.

+<EMAIL_ADDRESS>
See README how to use. If have problem comment below.

I set up a test repo with the following workflow file: https://github.com/hu13/git-test/blob/master/.github/workflows/protect-workflows-files.yml
And I added my other account hangkun13 as the collaborator, who then tries to modify the github/workflows which should not be allowed. However, the verifies seem to not working based on this test PR: https://github.com/hu13/git-test/pull/22
I am wondering if i am doing something incorrectly in the above test?

Try<EMAIL_ADDRESS>

https://github.com/hu13/git-test/pull/22/checks?check_run_id=2596942136 hits another error.
But the file modify check seems to be happening.

Made a mistake. Wait a minute.

https://github.com/hu13/git-test/pull/22/checks?check_run_id=2596942136 hits another error.
But the file modify check seems to be happening.

Thanks for the feedback

Try<EMAIL_ADDRESS>

@xrkffgg everything seems to work for all my test cases now.
Thanks so much for spending time on this.


Session crashes when I use TFLiteConverter with tf.lite.OpsSet.TFLITE_BUILTINS_INT8 option

Please make sure that this is a bug. As per our
GitHub Policy,
we only address code/doc bugs, performance issues, feature requests and
build/installation issues on GitHub. tag:bug_template
System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): Yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04):  Colaboratory (Ubuntu 18.04.2 LTS)
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: NA
TensorFlow installed from (source or binary): binary, nightly
TensorFlow version (use command below): '2.3.0-dev20200622'
Python version: Python 3.6.7
Bazel version (if compiling from source): NA
GCC/Compiler version (if compiling from source): NA
CUDA/cuDNN version: CUDA v10.0.130, cuDNN 7.6.0
GPU model and memory: K80

You can collect some of this information using our environment capture
script
You can also obtain the TensorFlow version with:

TF 1.0: python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)"

TF 2.0: python -c "import tensorflow as tf; print(tf.version.GIT_VERSION, tf.version.VERSION)"

AttributeError: module 'tensorflow' has no attribute 'GIT_VERSION'

v1.12.1-34793-g072cf7ee4b 2.3.0-dev20200622

Describe the current behavior
I'm trying to convert and quantize a mask_rcnn_inceptionv2 model from the model zoo for use on a Coral USB Accelerator and the Colab runtime crashes.
Describe the expected behavior
Successful conversion w/o any crashes.
Standalone code to reproduce the issue
Provide a reproducible test case that is the bare minimum necessary to generate
the problem. If possible, please share a link to Colab/Jupyter/any notebook.
import tensorflow as tf
import tarfile
import pathlib

model_name = "mask_rcnn_inception_v2_coco_2018_01_28"
base_url = 'http://download.tensorflow.org/models/object_detection/'
model_file = model_name + '.tar.gz'
model_dir = tf.keras.utils.get_file(fname=model_name, origin=base_url + model_file, untar=True)
model_dir = pathlib.Path(model_dir)/"saved_model"
print('Saved to {}'.format(model_dir))

export_dir = "/root/.keras/datasets/mask_rcnn_inception_v2_coco_2018_01_28/saved_model"
converter = tf.lite.TFLiteConverter.from_saved_model(export_dir)
converter.experimental_new_converter=True
converter.optimizations = [tf.lite.Optimize.DEFAULT]
def representative_dataset_gen():
  for _ in range(num_calibration_steps):
    yield [input]
converter.representative_dataset = representative_dataset_gen
converter.target_spec.supported_ops = [tf.lite.OpsSet.TFLITE_BUILTINS_INT8]
converter.inference_output_type = tf.int8
tflite_quant_model = converter.convert() # crashes on this line
open("converted_model_quant.tflite", "wb").write(tflite_quant_model)

Other info / logs Include any logs or source code that would be helpful to
diagnose the problem. If including tracebacks, please include the full
traceback. Large logs and files should be attached.

Jun 23, 2020, 7:09:41 AM | INFO | Discarding 6 buffered messages for 5081aeef-6fb9-46a7-a45d-3af457c9a931:aed26b5d8fdf4925f295f4d907ca617f
-- | -- | --
Jun 23, 2020, 7:09:41 AM | INFO | Adapting to protocol v5.1 for kernel 5081aeef-6fb9-46a7-a45d-3af457c9a931
Jun 23, 2020, 7:09:39 AM | INFO | Starting buffering for 5081aeef-6fb9-46a7-a45d-3af457c9a931:aed26b5d8fdf4925f295f4d907ca617f
Jun 23, 2020, 7:09:39 AM | WARNING | zmq message arrived on closed channel
Jun 23, 2020, 7:09:11 AM | WARNING | tf.TensorArrayWriteV3 {device = ""}
Jun 23, 2020, 7:09:11 AM | WARNING | tf.TensorArrayV3 {clear_after_read = true, device = "", dtype = i32, dynamic_size = false, element_shape = #tf.shape<*>, identical_element_shapes = true, tensor_array_name = ""}
Jun 23, 2020, 7:09:11 AM | WARNING | tf.TensorArrayV3 {clear_after_read = true, device = "", dtype = f32, dynamic_size = false, element_shape = #tf.shape<*>, identical_element_shapes = true, tensor_array_name = ""}
Jun 23, 2020, 7:09:11 AM | WARNING | tf.TensorArraySizeV3 {device = ""}
Jun 23, 2020, 7:09:11 AM | WARNING | tf.TensorArrayScatterV3 {device = ""}
Jun 23, 2020, 7:09:11 AM | WARNING | tf.TensorArrayReadV3 {device = ""}
Jun 23, 2020, 7:09:11 AM | WARNING | tf.TensorArrayGatherV3 {device = "", element_shape = #tf.shape<?x?x3>}
Jun 23, 2020, 7:09:11 AM | WARNING | tf.TensorArrayGatherV3 {device = "", element_shape = #tf.shape<>}
Jun 23, 2020, 7:09:11 AM | WARNING | tf.TensorArrayGatherV3 {device = "", element_shape = #tf.shape<3>}
Jun 23, 2020, 7:09:11 AM | WARNING | tf.TensorArrayGatherV3 {device = "", element_shape = #tf.shape<100x4>}
Jun 23, 2020, 7:09:11 AM | WARNING | tf.TensorArrayGatherV3 {device = "", element_shape = #tf.shape<100>}
Jun 23, 2020, 7:09:11 AM | WARNING | tf.Size {device = ""}
Jun 23, 2020, 7:09:11 AM | WARNING | tf.NonMaxSuppressionV2 {T = f32, T_threshold = f32, device = ""}
Jun 23, 2020, 7:09:11 AM | WARNING | tf.CropAndResize {T = f32, device = "", extrapolation_value = 0.000000e+00 : f32, method = "bilinear"}
Jun 23, 2020, 7:09:11 AM | WARNING | error: failed while converting: 'main': Ops that can be supported by the flex runtime (enabled via setting the -emit-select-tf-ops flag):
Jun 23, 2020, 7:09:10 AM | WARNING | loc(callsite("BatchMultiClassNonMaxSuppression_1/map/while/TensorArrayWrite_2/TensorArrayWriteV3@_functionalize_body_0" at "BatchMultiClassNonMaxSuppression_1/map/while/LoopCond")): error: 'tf.TensorArrayWriteV3' op is neither a custom op nor a flex op
Jun 23, 2020, 7:09:10 AM | WARNING | loc(callsite("BatchMultiClassNonMaxSuppression_1/map/while/TensorArrayWrite_1/TensorArrayWriteV3@_functionalize_body_0" at "BatchMultiClassNonMaxSuppression_1/map/while/LoopCond")): error: 'tf.TensorArrayWriteV3' op is neither a custom op nor a flex op
Jun 23, 2020, 7:09:10 AM | WARNING | loc(callsite("BatchMultiClassNonMaxSuppression_1/map/while/TensorArrayWrite_4/TensorArrayWriteV3@_functionalize_body_0" at "BatchMultiClassNonMaxSuppression_1/map/while/LoopCond")): error: 'tf.TensorArrayWriteV3' op is neither a custom op nor a flex op
Jun 23, 2020, 7:09:10 AM | WARNING | loc(callsite("BatchMultiClassNonMaxSuppression_1/map/while/TensorArrayWrite/TensorArrayWriteV3@_functionalize_body_0" at "BatchMultiClassNonMaxSuppression_1/map/while/LoopCond")): error: 'tf.TensorArrayWriteV3' op is neither a custom op nor a flex op
Jun 23, 2020, 7:09:10 AM | WARNING | loc(callsite("BatchMultiClassNonMaxSuppression_1/map/while/MultiClassNonMaxSuppression/SortByField/Size@_functionalize_body_0" at "BatchMultiClassNonMaxSuppression_1/map/while/LoopCond")): error: 'tf.Size' op is neither a custom op nor a flex op
...
...
...
loc(callsite("BatchMultiClassNonMaxSuppression_1/map/while/MultiClassNonMaxSuppression/non_max_suppression_70/NonMaxSuppressionV2@_functionalize_body_0" at "BatchMultiClassNonMaxSuppression_1/map/while/LoopCond")): error: 'tf.NonMaxSuppressionV2' op is neither a custom op nor a flex op
Jun 23, 2020, 7:09:10 AM | WARNING | : error: 'tf.NonMaxSuppressionV2' op is neither a custom op nor a flex op
Jun 23, 2020, 7:09:10 AM | WARNING | loc(callsite("BatchMultiClassNonMaxSuppression_1/map/while/MultiClassNonMaxSuppression/non_max_suppression_7/NonMaxSuppressionV2@_functionalize_body_0" at "BatchMultiClassNonMaxSuppression_1/map/while/LoopCond"))
...
...
...

I think you need to enable control flow v2 ops.
https://www.tensorflow.org/api_docs/python/tf/compat/v1/enable_control_flow_v2

Tested with calling tf.compat.v1.enable_v2_behavior() before initializing the converter.
It now gives me: error: failed while converting: 'main': Ops that can be supported by the flex runtime (enabled via setting the -emit-select-tf-ops flag).
Adding tf.lite.OpsSet.SELECT_TF_OPS by appending it tbo converter.target_spec.supported_ops gives me the same error.
Log:
Timestamp | Level | Message
-- | -- | --
Jun 25, 2020, 8:38:39 PM | INFO | Discarding 6 buffered messages for 715bab8b-b522-45ce-9411-e0e24104d8b6:14f1ce01a4e747a4f2ee7e3124a41b41
Jun 25, 2020, 8:38:39 PM | WARNING | stream.close()
Jun 25, 2020, 8:38:39 PM | WARNING | /usr/local/lib/python2.7/dist-packages/notebook/services/kernels/kernelmanager.py:246: UserWarning: Unregistering FD 35 after closing socket. This could result in unregistering handlers for the wrong socket. Please use stream.close() instead of closing the socket directly.
Jun 25, 2020, 8:38:39 PM | WARNING | stream.close()
Jun 25, 2020, 8:38:39 PM | WARNING | /usr/local/lib/python2.7/dist-packages/notebook/services/kernels/kernelmanager.py:246: UserWarning: Unregistering FD 32 after closing socket. This could result in unregistering handlers for the wrong socket. Please use stream.close() instead of closing the socket directly.
Jun 25, 2020, 8:38:39 PM | WARNING | stream.close()
Jun 25, 2020, 8:38:39 PM | WARNING | /usr/local/lib/python2.7/dist-packages/notebook/services/kernels/kernelmanager.py:246: UserWarning: Unregistering FD 29 after closing socket. This could result in unregistering handlers for the wrong socket. Please use stream.close() instead of closing the socket directly.
Jun 25, 2020, 8:38:39 PM | INFO | Adapting to protocol v5.1 for kernel 715bab8b-b522-45ce-9411-e0e24104d8b6
Jun 25, 2020, 8:38:36 PM | INFO | Starting buffering for 715bab8b-b522-45ce-9411-e0e24104d8b6:14f1ce01a4e747a4f2ee7e3124a41b41
Jun 25, 2020, 8:38:36 PM | WARNING | zmq message arrived on closed channel
Jun 25, 2020, 8:38:34 PM | WARNING | tcmalloc: large alloc<PHONE_NUMBER> bytes == 0x5625392e8000 @ 0x7fca003181e7 0x56246cc683ee 0x56246cce7930 0x56246cd128cd 0x56246cdad14e 0x56246cd05bba 0x56246cd032aa 0x56246cd1ef29 0x56246cceee6e 0x56246cdb6661 0x56246cd05bba 0x56246cd032aa 0x56246cd0adce 0x56246cd032aa 0x56246cd0adce 0x56246cd032aa 0x56246cd0adce 0x56246cd0a926 0x56246cd032aa 0x56246cd0b39e 0x56246cd032aa 0x56246cd1f1cc 0x56246cceee6e 0x56246cd08092 0x56246cd032aa 0x56246cd1f1cc 0x56246cceee6e 0x56246cd08092 0x56246cd032aa 0x56246cd0b39e 0x56246cd032aa
Jun 25, 2020, 8:38:28 PM | WARNING | tcmalloc: large alloc<PHONE_NUMBER> bytes == 0x5625ebb40000 @ 0x7fca003181e7 0x56246cce95c2 0x56246cd5009e 0x56246cd786d5 0x56246cceee6e 0x56246cd965b6 0x56246cd05bba 0x56246cd032aa 0x56246cd0b39e 0x56246cd032aa 0x56246cd0adce 0x56246cd032aa 0x56246cd0adce 0x56246cd0a926 0x56246cd032aa 0x56246cd0b39e 0x56246cd032aa 0x56246cd1f1cc 0x56246cceee6e 0x56246cd08092 0x56246cd032aa 0x56246cd1f1cc 0x56246cceee6e 0x56246cd08092 0x56246cd032aa 0x56246cd0b39e 0x56246cd032aa 0x56246cd0b39e 0x56246cd032aa 0x56246cd1f1cc 0x56246cceee6e
Jun 25, 2020, 8:38:26 PM | WARNING | tcmalloc: large alloc<PHONE_NUMBER> bytes == 0x562590aee000 @ 0x7fca003181e7 0x56246cc683ee 0x56246cce7930 0x56246cd128cd 0x56246cdad14e 0x56246cd05bba 0x56246cd032aa 0x56246cd1ef29 0x56246cceee6e 0x56246cdb6661 0x56246cd05bba 0x56246cd032aa 0x56246cd0adce 0x56246cd032aa 0x56246cd0adce 0x56246cd032aa 0x56246cd0adce 0x56246cd0a926 0x56246cd032aa 0x56246cd0b39e 0x56246cd032aa 0x56246cd1f1cc 0x56246cceee6e 0x56246cd08092 0x56246cd032aa 0x56246cd1f1cc 0x56246cceee6e 0x56246cd08092 0x56246cd032aa 0x56246cd0b39e 0x56246cd032aa
Jun 25, 2020, 8:38:08 PM | WARNING | tcmalloc: large alloc<PHONE_NUMBER> bytes == 0xa61b4000 @ 0x7f79204241e7 0x5ab685 0x578518 0x587f87 0x5a6bfb 0x536cf8 0x50a35c 0x50bfb4 0x509758 0x50a48d 0x50bfb4 0x507d64 0x509a90 0x50a48d 0x50bfb4 0x507d64 0x509a90 0x50a48d 0x50bfb4 0x507d64 0x509a90 0x50a48d 0x50cd96 0x507d64 0x509a90 0x50a48d 0x50bfb4 0x507d64 0x509a90 0x50a48d 0x50bfb4
Jun 25, 2020, 8:38:08 PM | WARNING | tf.TensorArrayWriteV3 {device = ""}
Jun 25, 2020, 8:38:08 PM | WARNING | tf.TensorArrayV3 {clear_after_read = true, device = "", dtype = i32, dynamic_size = false, element_shape = #tf.shape<*>, identical_element_shapes = true, tensor_array_name = ""}
Jun 25, 2020, 8:38:08 PM | WARNING | tf.TensorArrayV3 {clear_after_read = true, device = "", dtype = f32, dynamic_size = false, element_shape = #tf.shape<*>, identical_element_shapes = true, tensor_array_name = ""}
Jun 25, 2020, 8:38:08 PM | WARNING | tf.TensorArraySizeV3 {device = ""}
Jun 25, 2020, 8:38:08 PM | WARNING | tf.TensorArrayScatterV3 {device = ""}
Jun 25, 2020, 8:38:08 PM | WARNING | tf.TensorArrayReadV3 {device = ""}
Jun 25, 2020, 8:38:08 PM | WARNING | tf.TensorArrayGatherV3 {device = "", element_shape = #tf.shape<?x?x3>}
Jun 25, 2020, 8:38:08 PM | WARNING | tf.TensorArrayGatherV3 {device = "", element_shape = #tf.shape<>}
Jun 25, 2020, 8:38:08 PM | WARNING | tf.TensorArrayGatherV3 {device = "", element_shape = #tf.shape<3>}
Jun 25, 2020, 8:38:08 PM | WARNING | tf.TensorArrayGatherV3 {device = "", element_shape = #tf.shape<100x4>}
Jun 25, 2020, 8:38:08 PM | WARNING | tf.TensorArrayGatherV3 {device = "", element_shape = #tf.shape<100>}
Jun 25, 2020, 8:38:08 PM | WARNING | tf.Size {device = ""}
Jun 25, 2020, 8:38:08 PM | WARNING | tf.NonMaxSuppressionV2 {T = f32, T_threshold = f32, device = ""}
Jun 25, 2020, 8:38:08 PM | WARNING | tf.CropAndResize {T = f32, device = "", extrapolation_value = 0.000000e+00 : f32, method = "bilinear"}
Jun 25, 2020, 8:38:08 PM | WARNING | error: failed while converting: 'main': Ops that can be supported by the flex runtime (enabled via setting the -emit-select-tf-ops flag):
Jun 25, 2020, 8:38:07 PM | WARNING | loc(callsite("BatchMultiClassNonMaxSuppression_1/map/while/TensorArrayWrite_2/TensorArrayWriteV3@_functionalize_body_3" at "BatchMultiClassNonMaxSuppression_1/map/while/LoopCond")): error: 'tf.TensorArrayWriteV3' op is neither a custom op nor a flex op
...
...
...

Sorry. You need to enable that option before creating a TF graph, the saved model.

Ok, did that. Final code looks like so:
import tensorflow as tf
import tarfile
import pathlib

tf.compat.v1.enable_v2_behavior()

model_name = "mask_rcnn_inception_v2_coco_2018_01_28"
base_url = 'http://download.tensorflow.org/models/object_detection/'
model_file = model_name + '.tar.gz'
model_dir = tf.keras.utils.get_file(fname=model_name, origin=base_url + model_file, untar=True)
model_dir = pathlib.Path(model_dir)/"saved_model"
print('Saved to {}'.format(model_dir))

saved_model_dir = "/root/.keras/datasets/mask_rcnn_inception_v2_coco_2018_01_28/saved_model"
converter = tf.lite.TFLiteConverter.from_saved_model(saved_model_dir)
converter.experimental_new_converter = True
converter.optimizations = [tf.lite.Optimize.DEFAULT]
def representative_dataset_gen():
  for _ in range(num_calibration_steps):
    # Get sample input data as a numpy array in a method of your choosing.
    yield [input]
converter.representative_dataset = representative_dataset_gen
converter.target_spec.supported_ops = [tf.lite.OpsSet.TFLITE_BUILTINS_INT8]
converter.inference_input_type = tf.int8  # or tf.uint8
converter.inference_output_type = tf.int8  # or tf.uint8
tflite_quant_model = converter.convert()
open("converted_model_quant.tflite", "wb+").write(tflite_quant_model)

And it gives out this error:
ValueError: None is only supported in the 1st dimension. Tensor 'image_tensor' has invalid shape '[None, None, None, 3]'.

Technically my issue is fixed and now looking at #22564


chore(deps): bump https://github.com/jenkins-x/jx-cli to 3.0.254

Update jenkins-x/jx-cli to 3.0.254
Command run was ./promote/main

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign pmuir
You can assign the PR to them by writing /assign @pmuir in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/test kube


Support Couchbase

Support for https://www.couchbase.com/

second on this as we might move to primsa for most db related operation and is using couchbase


Yeah sorry I forgot to set the upstream for my branch. Thank you for the kind advice


picocolors has overtaken this package in smallness :)

The package description describes yoctocolors as the smallest command-line coloring package on the internet, however, it seems like this is no longer the case, with picocolors being in the lead
https://pkg-size.dev/picocolors
Screenshot
https://pkg-size.dev/yoctocolors
Screenshot
Not that it requires any action on your side, but perhaps it means that there are more space savings to get. Not trying to shoot this package down either, I love your work :D

Of course, it could always be smaller, but this is the smallest without affecting usability (like minifying or removing types/docs).


AMBARI-25789: Support BIGTOP-3.2.0 stack upgrade

What changes were proposed in this pull request?
(Please fill in changes proposed in this fix)
How was this patch tested?
Tested successful upgrade in express.

(Please explain how this patch was tested. Ex: unit tests, manual tests)
(If this patch involves UI changes, please attach a screen-shot; otherwise, remove this)
Please review Ambari Contributing Guide before opening a pull request.

Depends on https://github.com/apache/bigtop/pull/1058.


Fe homework 11

Drift video:
On load

New quote bonus goal - Button disable and spinner [created custom]

Adding filters (Don't get duplicated)

Component structure

Metric
Value

alert_status
:white_check_mark: OK

bugs
0

code_smells
1

reliability_rating
A (0 Bugs)Note: A being best, E being worst

security_rating
A (0 Vulnerabilities)Note: A being best, E being worst

vulnerabilities
0

Metric
Value

alert_status
:x: ERROR

bugs
0

code_smells
0

reliability_rating
A (0 Bugs)Note: A being best, E being worst

security_rating
A (0 Vulnerabilities)Note: A being best, E being worst

vulnerabilities
0


Artworks with multiple consignable artists rendering problem

As seen on https://www.artsy.net/artwork/robert-rauschenberg-25-years-studio-signed-by-8-contemporary-artists-gemini-gel

https://github.com/artsy/force/blob/561f60df834bd641d94d8f84a2a50532d2b074e6/desktop/apps/artwork/components/commercial/index.styl#L70-L77

👋 hi @dzucconi! Thanks for bringing this up. 😄


Change all the private properties to protected

The class extends this class can access the protected properties.

@fansaien can you provide an example of how you plan on extending this class that would require these to be protected instead of private?

@LukeTowers
Sure,
I would like to override the call() method to support PHP 5.6, just by removing the "string" keywords.
In addition, I need the array result of the response instead of the stdclass.
This call() function needs to access these properties.

PHP 5.6 isn't going to work with this library whether or not you're overriding the call method, the type hints will still exist and PHP 5.6 won't know what to do with them.
Also, I don't want to encourage the use of PHP 5.6.
As for the array result, you can simply typecast the object to an array with (array) $shopify->call() and that solves that issue.

I override both __construct and call function, it is working on PHP 5.6 now.
The response is a multi-levels JSON result, the (array) $shopify->call() can not solve this problem.
The only way is to change the last line to return json_decode($response->getBody(), true);

While I may make this change at some point in the future I don't agree with the provided use case of using on PHP 5.6 and I don't want to open myself up to having to support that case in the future so I'll be closing this PR. This library is simple enough that you can just copy it verbatim into your own project if that's what you need to do.


Define the style of music that will accompany the game

The music style to be used was defined in the "Audio" section of our GDD.
GDD: https://docs.google.com/document/d/1iHbk6SjNvEBSYVCmc0KMylksYg6bwNcP/edit#heading=h.2ymiyeoplnaj


Refactor/auth

Utilizes Laravel's Auth facade for authentication.
After login (currently using credentials) an AuthToken is given out same as before, only the initial login is changed to use Laravel's pre-build in functionality.
Overall advantage: Cleaner code through refactoring and utilizing standard framework functionality.
Should merge #16 first

I thought I already commented on that but are you sure the built in auth works with oauth too?

Ok more sophisticated: Flaviu told me he actually tried using the built-in auth system but because of our requirements for oauth/office356/google integration he deemed it infeasible. I don't know if he missed up on a feature though and didn't check myself.
And another point, I think jwts are a good thing to use as they would remove quite some overhead in the microservices for authenticating a user and getting basic user information. For now it's okay to leave it out though but that would have been nice in an auth rewrite.

Thanks for the comment @blacksph3re !
About the first section, that the build in system was not feasilbe. This is not true, everything we are doing right now we can do as well with the build in auth system, what it mainly adds is some syntactic sugar that gives cleaner code. You can still login any user using Auth::login($user). The benefit of this all is that instead of having to get userData from the Request and seeing then which user is logged in, you can simply call Auth::user(). This combined with some build in checks that are very usefull for credential based login. So to sum up: no functionallity gets lost, cleaner code.
About the JWT, I agree that it is cool, and I also agree this is for a little bit later. However, extending my first part, using Laravel's Auth should not be a limitiation to this.
You can read more of laravel auth here: https://laravel.com/docs/5.2/authentication (note that 5.4 has some file reorganization compared to 5.2)

Okay, with that in mind I support this.


CouchDB 2.1 (compaction-daemon) crashes on specific database or documents

After updating to CouchDB 2.1 from 2.0 CouchDB keeps crashing. Starting without databases worked. I decided to import the old data per database and not use the data-directory of 2.0. This worked and I assumed there was some format inconsistency.
But now I created a new database (named nwst-crm-dev-backup) which contains 283 documents now. All like:
{   "_id": "activity_10006",   "_rev": "1-43fc3d3f930dd313dbb26c197249da4b",   "type": "activity",   "body": "Description... ",   "companyId": "company_203",   "userId": "user_1",   "subtype": "meeting" }
And CouchDB keeps crashing and restarting.
It could be that the bug is data-related as I tried to replace the documents with placeholder-strings (so that I could send the database here), but then the crash doesn't seems to happen. I tried to find out which kind of data this could be, without luck.
Deleting the database prevents CouchDB from crashing. Also disabling the compaction_deamon keeps CouchDB running.
I am running MacOS Sierra 10.12.4. The disk has enough free space (221 GB) and TimeMachine is switched off.
Location of databases: /Volumes/SD/DBs/CouchDB2
Maybe it's related to https://github.com/apache/couchdb/issues/732, but because the cause of that bug seems to be related to TimeMachine I decided to file a new issue.
Systemlog: https://friendpaste.com/1v8h7GF5gXqyPt6168oa7J

looks like another instance of #732 - not Time Machine specific, just whitespace in mount points.

Forget to mention, but there are are no whitespaces.

@rvanzon regarding #732, it doesn't need to be a mount point that's in the database path - any mount point (listed by $ diskutil list) containing whitespace could cause the crash, I think, because the compaction daemon iterates through the system mount points.

I think I'm having the same issue, although I'm running macOS 10.12.6.
Here are my logs.
I'd troubleshoot more, but I have no idea where my DBs are located or how I startup on macOS without the DBs.

I could "fix" this by removing the "compaction daemon" (removing it from the config using Fauxton). But now it seems CouchDB adds the config-line once a while and starts crashing CouchDB again.

If you want to disable the compaction daemon, you should be able to set the following in your local.ini or local.d/* file:
[compactions]
_default = disabled

@wohali thanks!

Duplicate of #732.

I am having CouchDB 2.1.1  for mac and having same issue. When I start couchDB then it start opening new tab with address http://<IP_ADDRESS>:5984/_utils/ and refused to connect.  It continue to open until I force quit it. I tried to do according to your reply but Didn't find local.ini file. Please let me know the path of this file for mac
Please find crash log file
CouchDB2.log

oh, I was not able to read that issue from logs. Thanks for your reply, I tried to find local.ini file but didn't find the path of this file. Can you please help me to find this file so that I can change it to <IP_ADDRESS>

I found it under cd /Applications/Apache\ CouchDB.app/Contents/Resources/couchdbx-core/etc/local.ini
It was having <IP_ADDRESS> under chttpd . Then again I checked and got this log. It is still showing the same {{shutdown,{failed_to_start_child,chttpd,invalid_bind_address}} issue.
CouchDB2.log


How to get .npy files for my videos ?

Hi ,
I am planning to train a Boundary Matching Network (BMN) model for Temporal Action Localization. I have created the annotation file following ActivityNet. For training BMN , I need to extract the frame and optical flow information which from the documentation here state that .npy files should be saved for each video once I run scripts/extract_optical_flow.sh in https://github.com/yjxiong/temporal-segment-networks.
This is where it is mentioned : https://github.com/PaddlePaddle/PaddleVideo/blob/develop/docs/en/dataset/ActivityNet.md
I don't think it saves as .npy file anywhere.
Can someone please help me make sense out of this ?

Perhaps you could raise an issue in the original repository.


Specs for deprecated methods

There are some deprecated/obsolete methods like File.exists?, Thread#safe_level etc in the core library.
Looks like they aren't covered with tests there and moreover some existing specs were deleted recently - File.exists?, Dir.exists? and FileTest.exists?` (commit).
So I am wondering whether it is a well-considered decision or it's unintentional situation. I believe that as far as these methods are still available in MRI they should be a part of the specification.

I agree, the specs should remain as long as there is a non-EOL version that supports it.
We just need to find a way to silence those deprecation warnings for the deprecated but ideally not for the non-deprecated methods.


[Azure Search - Azure AI Search] API Review

New API Review meeting has been requested.
Service Name: Azure Search - Azure AI Search
Review Created By: Matt Gotteiner
Review Date: 05/07/2024 01:00 PM PT
Release Plan:
PR:  https://github.com/Azure/azure-rest-api-specs/pull/29734
Hero Scenarios Link: Not Provided
Core Concepts Doc Link: Not Provided
Description: Review for 2024-09-01-Preview
Detailed meeting information and documents provided can be accessed here
For more information that will help prepare you for this review, the requirements, and office hours, visit the documentation here

New API Review meeting has been requested.
Service Name: Azure Search - Azure AI Search
Review Created By: Matt Gotteiner
Review Date: 07/09/2024 01:00 PM PT
Release Plan:
PR:
Hero Scenarios Link: Not Provided
Core Concepts Doc Link: Not Provided
Description: Review for 2024-09-01-Preview
Detailed meeting information and documents provided can be accessed here
For more information that will help prepare you for this review, the requirements, and office hours, visit the documentation here

Meeting updated by Matt Gotteiner
Service Name: Azure Search - Azure AI Search
Review Created By: Matt Gotteiner
Review Date: 07/10/2024 09:00 AM PT
Release Plan:
PR:
Hero Scenarios Link: Not Provided
Core Concepts Doc Link: Not Provided
Description: Review for 2024-09-01-Preview
Detailed meeting information and documents provided can be accessed here
For more information that will help prepare you for this review, the requirements, and office hours, visit the documentation here

New API Review meeting has been requested.
Service Name: Azure Search - Azure AI Search
Review Created By: Matt Gotteiner
Review Date: 07/23/2024 01:00 PM PT
Release Plan:
PR:
Hero Scenarios Link: Not Provided
Core Concepts Doc Link: Not Provided
Description: API Review for 2024-09-01-Preview
Detailed meeting information and documents provided can be accessed here
For more information that will help prepare you for this review, the requirements, and office hours, visit the documentation here

Cancelled by: Matt Gotteiner

Cancelled by: Matt Gotteiner

Notes from API Review 7/9/24

Recommend making the tokenizer name more generalizable or tied to open AI models for ease of use and customer familiarity.
For vector search storage optimization, consider changing the boolean to an enum that would allow more compression options to be supported in the future with new enum values.

This API looks good for preview.


Add automatic and linear bezier presets to Animation Bezier Editor

Implements godotengine/godot-proposals#3561

Adds the automatic bezier preset, which makes the bezier handles Balanced but makes them point along the tangent between the previous and the next keyframes
Changes the balanced bezier preset, which makes the bezier handles flattened horizontally
Adds the linear bezier preset, which makes the bezier handles of length Zero and prevents them from being selected in the bezier editor

I think there is issue that when the handle mode is Linear, moving a key cancels the Linear mode. There is no need to show the handles when Linear is selected, and Linear should only be implicitly released when you select something other than Linear in the Bezier menu.
This is the ideal behavior based on After Effects.

When Free is selected, the Bezier type is changed to Free, and nothing happens to the handle.
When Balanced is selected, the Bezier type is changed to Balanced, and the behavior of the Extend Handle (Balanced) of the image (godot-proposals#3141) is applied.
When Linear is selected, it changes the Bezier type to Linear and sets the length of the handle to 0. It is not just Bezier preset, so while the Bezier Type is Linear, the user is prohibited from manipulating the handle.
When Automatic is selected, it changes the Bezier type to Balanced and performs the Auto Tangent (Balanced) behavior of the image.

I don't know why Mirrored mode is gone, but if you want to keep it, just add the above replacing Balanced with Mirrored.
I think it would be ideal to have a context menu like below.
----
- Free [Change Key Type]
- Balanced [Change Key Type & Make Handle Horizontal]
- Mirrored [Change Key Type & Make Handle Horizontal]
- Linear [Change Key Type & Make Handle Zero Length]
----
- Automatic (Balanced) [Change Key Type & Make Handle Auto Tangent]
- Automatic (Mirrored) [Change Key Type & Make Handle Auto Tangent]
----

@TokageItLab
I'm not against making those changes, though I would like it if elaborated on why it'd be ideal, besides that it's how After Effects did it. I can argue the same for Autodesk Maya, for instance, which continues to give access to the handles in linear mode.
As for mirrored, it went away in #53298

@Razoric480 In general, I consider the animation features that come with 3D software to be an added bonus. It is supposed to work with IK and other animation software.
As for linear mode, the obvious problem is that when you move a key that is in linear mode, it is no longer linear.

Fair points. Thank you for elaborating.

In addition, Horizontal is similar to Ease, and it is easy to make Cubic or Quad Ease-like adjustments when you move the length of the handle without moving its angle.

Should be good to go with the latest update now.

My feeling is that these things should not be part of the animation, but editor related. Its OK the key contains a hint on the type of mode but it feels to me that this should only be for the editor, since at the end the animation should only bother about the final value.

@reduz Is that a problem that can be solved with #ifdef?

Superseded by #64647


[BUG] select-modal expo example not working

Describe the bug
select-modal expo example not working
To Reproduce
Steps to reproduce the behaviour :

Go to https://mobilereality.github.io/react-native-select-pro/docs/api/select-modal
Click on Either own device or ios/android
App will crash on device/expo.

Expected behaviour
Should to work

@imdkbj Can you check again ? I can't reproduce this issue, expo is working fine for me. (Although there is styling issue in this example)

Same on device too.

Yes, this is just styling issue. We will fix that. Button is rendering under status bar. You can add marginTop: 40 to button for now.


Custom operators can't end in < but should be able to

With the current setup, ending a custom operator in a < would create ambiguity with function type parameters. Take, for example, this case:
public func ??<V : Value>(optional: Expression<V?>, defaultValue: V) -> Expression<V> {
    return Expression(optional.inner() ?? defaultValue)
}

If my operator were allowed to end in <, this would be interpreted as implementing ??<, and would fail shortly thereafter since V: Value > is not expected here. Somehow the actual swiftc is able to look past this and the code compiles just fine.
I've hacked around this for now by excluding < from being a legal last character in custom operators. This is almost always fine, but is not correct at all. I can think of one way to fix this (there may be others):

Move the custom operator rule to externals -- see issue 5.
Add some marker rule in externals that flags that we're in a function declaration position, so that scanner.c can special case this.
When detecting a custom_operator in scanner.c, if we're in a function declaration, stay one character behind with mark_end.
When we reach the end, check the lookahead character. If it isn't (, then lop off the last character of the custom operator (i.e. return without calling mark_end again).

Is there a less weird and special-cased way to do it? Maybe!

I did this more simply in #41 by just redefining custom_operator as seq(CUSTOM_OPERATORS, optional("<")) and adding it to the conflict table. We're definitely going to need to move the custom operator to scanner.c, but not today.


Potentially redundant for-loop in extract_dino_correspondences.py

I see the following code:
https://github.com/hturki/suds/blob/main/scripts/extract_dino_correspondences.py#L96
    for k in range(n_clusters):
        for i, (label, rank) in enumerate(zip(kmeans.labels_, ranks)):
            if rank > bb_topk_sims[label]:
                bb_topk_sims[label] = rank
                bb_indices_to_show[label] = i

I don't understand the outermost for-loop. It doesn't seem to affect any computation.
Moreover, I find that this loop is taking up 80% of the total run time (another 15% is taken up by k means, so overall the GPU utilization is quite poor).

you are correct. nice catch, probably a mistake from refactoring into using sklearn's kmeans.labels_