processes started via exec are unable to accept input

If I try to launch npm init from a shelljs script it seems that the stdin is not passed through to that process:
require('shelljs/global')

exec('npm init')

=>
exec npm init { stdio: 'inherit' }
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.

See `npm help json` for definitive documentation on these fields
and exactly what they do.

Use `npm install <pkg> --save` afterwards to install a package and
save it as a dependency in the package.json file.

Press ^C at any time to quit.
name: (drive) foobar

Pressing enter has no effect.

Node version?

v5.8.0

Confirmed as a bug.
As a workaround, please use child_process.execSync('npm init', {stdio: 'inherit'});
Fixes are welcomed.

There are several ways to fix this issue.
In the exec.js source file, you can either :

Pipe process.stdin to childProcess.stdin
process.stdin.pipe(childProcess.stdin);
Use spawn instead of exec in your string scriptFile
Execute the command and not the scriptFile in execSync

The main problem is that i can't understand why you have to build a script in a script. execSync can run a command.
script = [
      "var child = require('child_process')",
      "  , fs = require('fs');",
      "var childProcess = child.exec('"+escape(cmd)+"', {env: process.env, maxBuffer: "+opts.maxBuffer+"}, function(err) {",
      "  fs.writeFileSync('"+escape(codeFile)+"', err ? err.code.toString() : '0');",
      "});",
      "var stdoutStream = fs.createWriteStream('"+escape(stdoutFile)+"');",
      "var stderrStream = fs.createWriteStream('"+escape(stderrFile)+"');",
      "childProcess.stdout.pipe(stdoutStream, {end: false});",
      "childProcess.stderr.pipe(stderrStream, {end: false});",
      "childProcess.stdout.pipe(process.stdout);",
      "childProcess.stderr.pipe(process.stderr);",
      "var stdoutEnded = false, stderrEnded = false;",
      "function tryClosingStdout(){ if(stdoutEnded){ stdoutStream.end(); } }",
      "function tryClosingStderr(){ if(stderrEnded){ stderrStream.end(); } }",
      "childProcess.stdout.on('end', function(){ stdoutEnded = true; tryClosingStdout(); });",
      "childProcess.stderr.on('end', function(){ stderrEnded = true; tryClosingStderr(); });"
    ].join('\n');

@MatthieuLemoine

The main problem is that i can't understand why you have to build a script in a script. execSync can run a command.

This is a pretty ancient part of the code base that's stuck around because it allows us to send command output to the terminal in real-time while still capturing it for when the function returns. Even with backwards compatibility in mind, there's probably a much smarter way to revise this function. Pull requests, as always, are welcome :smile:
One solution that comes to mind would be, as you suggested, to use spawn(). The main drawback is that it doesn't support glob characters (as far as I'm aware). This would be nice, however, as an option for situations where globbing isn't necessary (it would fix some of the security concerns surrounding globbing, too!).

I'm going to try to re-write exec using some of my work from #402.

@ariporad So is there any reason exec does the following instead of just using the {stdio: 'inherit'} option?
  c.stdout.on('data', function (data) {
    stdout += data;
    if (!opts.silent) process.stdout.write(data);
  });

  c.stderr.on('data', function (data) {
    stderr += data;
    if (!opts.silent) process.stderr.write(data);
  });

@jedwards1211: Yes... There is no other way to capture stdout from the child.

Oh right.  I've noticed that for some reason transient output like npm's progress bar works when I use inherit but not when I do something like the above (or better, do c.stdout.pipe(process.stdout)).  I haven't figured out why that is.  But it might be nice to have an option to use inherit and not capture output for that purpose.

I added the workaround to the FAQs: https://github.com/shelljs/shelljs/wiki/FAQ#running-interactive-programs-with-exec

Has anyone found a fix for this because it is still a problem in shelljs v0.8.3

@RastogiAbhijeet https://github.com/shelljs/shelljs/wiki/FAQ#running-interactive-programs-with-exec

Is there any chance I can help in fixing this issue ?


script fails to describe Neptune cluster

neptune-for-graphql --input-graphdb-schema-neptune-endpoint db-neptune-pelm-lcd-dev.cluster-c2hkwv1gpquj.eu-west-1.neptune.amazonaws.com:8182 --output-aws-pipeline-cdk --output-aws-pipeline-cdk-name LCD-Dev --output-resolver-query-sdk --output-aws-pipeline-cdk-region eu-west-1
Running in EC2 t2.micro in the same VPC as the Neptune cluster
Script gets the schema from the database
...
Found edge: IN_SECTION  direction: DeliveredPart -> Section relationship: MANY-ONE
Found edge: HAS_SPAREPART  direction: AssetAssembly -> DeliveredPart relationship: ONE-MANY
Found edge: HAS_SPAREPART  direction: Equipment -> DeliveredPart relationship: ONE-MANY
Execution time: 11.28 seconds
Inferencing GraphQL schema from graphDB schema
Wrote GraphQL schema to file: ./output/output.schema.graphql
Wrote GraphQL schema to file: ./output/output.source.schema.graphql
Wrote Neptune schema to file: ./output/output.neptune.schema.json
Wrote Lambda resolver to file: ./output/output.resolver.graphql.js
Wrote Javascript resolver to file: ./output/output.resolver.graphql.js
Creating CDK File
Get Neptune Cluster Info
✖ Error getting Neptune Cluster Info.
VPC data is not available to proceed.

Turns out that I need to do
aws configure
with correct IAM account
to confirm that the utility can run, I needed to execute
aws neptune describe-db-clusters
after these steps the neptune-for-graphql is able to get the Neptune cluster info

Turns out that I need to do
aws configure
with correct IAM account
to confirm that the utility can run, I needed to execute
aws neptune describe-db-clusters
after these steps the neptune-for-graphql is able to get the Neptune cluster info


.Net: ToolCallBehavior = ToolCallBehavior.RequireFunction(wikiFunction, true) seems to be broken

Describe the bug
Also
ToolCallBehavior = ToolCallBehavior.RequireFunction(wikiFunction, true)
seems to be broken (happens for every function). This makes the prompt result come back empty all the time (automatic function calling does not work). Without this (just enable auto calls) it works fine, calling the function automatically and returns proper results.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Platform

OS: [e.g. Windows, Mac]
IDE: [e.g. Visual Studio, VS Code]
Language: [e.g. C#, Python]
Source: [e.g. NuGet package version 0.1.0, pip package version 0.1.0, main branch of repository]

Additional context
Add any other context about the problem here.

Repro?

Import a plugin with a single function in it into the kernel instance.
Extract this function so that it can be passed to the relevant require method. Not sure if this is a proper way, but I could not find any other way: kernel.Plugins[metadata.Name][nameof(MyType.MyFunc)].Metadata.ToOpenAIFunction() - this returns a function

Then
var executionSettings = new OpenAIPromptExecutionSettings()
 {
     MaxTokens = 1000,
     Temperature = 0.9,
     ToolCallBehavior = ToolCallBehavior.RequireFunction(wikiFunction, true) // when this is changed to simply `ToolCallBehavior.AutoInvokeKernelFunctions` it works FINE, and it DOES call the function required
 };

var result = await kernel.InvokePromptAsync(
    _promptTemplate,
    arguments,
    HandlebarsPromptTemplateFactory.HandlebarsTemplateFormat,
    _promptFactory,
    cancellationToken).ConfigureAwait(false);

var troubleshootingGuideString = result.GetValue<string>();

The outcome is that the prompt response ALWAYS comes back empty. When the tool call behavior is not using required function but auto invoke it works fine (and still calls the function).

Thanks. That was enough to help me narrow down the problem.
https://github.com/microsoft/semantic-kernel/pull/4474


bfs uses fcntl while find doesn't (unnecessary F_SETFD FD_CLOEXEC)

Running the following:
strace -c bfs -links 2 >/dev/null ; strace -c find . -links 2 >/dev/null
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
 63.99    0.000972           2       530           newfstatat
 10.40    0.000158           0       374           getdents
  5.46    0.000083           0       558           fcntl
  4.41    0.000067           0       187           openat
  3.09    0.000047           0       375           close
  2.83    0.000043           5         9           mmap
  2.70    0.000041           0       189           fstat
  1.51    0.000023           6         4           mprotect
  1.18    0.000018           6         3         3 access
  0.86    0.000013           7         2           open
  0.79    0.000012          12         1           execve
  0.72    0.000011           4         3           brk
  0.72    0.000011           4         3         2 ioctl
  0.66    0.000010           5         2           munmap
  0.26    0.000004           4         1           read
  0.20    0.000003           3         1           getrlimit
  0.20    0.000003           3         1           arch_prctl
  0.00    0.000000           0         1           write
------ ----------- ----------- --------- --------- ----------------
100.00    0.001519                  2244         5 total
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
 23.69    0.002030           4       530           newfstatat
 18.37    0.001574           4       372           getdents
 15.33    0.001314           3       379           close
 13.06    0.001119           3       375           fchdir
 10.65    0.000913           5       186           openat
 10.26    0.000879           4       196         4 open
  6.60    0.000566           3       191           fstat
  0.68    0.000058           5        12           mmap
  0.40    0.000034           6         6           mprotect
  0.21    0.000018           5         4         4 access
  0.18    0.000015           4         4           read
  0.16    0.000014           5         3           munmap
  0.13    0.000011           4         3           brk
  0.12    0.000010           3         3         2 ioctl
  0.11    0.000009           9         1           execve
  0.04    0.000003           3         1           uname
  0.04    0.000003           3         1           arch_prctl
  0.00    0.000000           0         1           write
------ ----------- ----------- --------- --------- ----------------
100.00    0.008570                  2268        10 total

I suspect the reason to be that find passed O_CLOEXEC to openat(2), while bfs does it in a separate fcntl(2) call or something. Which is valid because it doesn't fork but could be avoided.
Let's check.
$ strace find . -links 2 >/dev/null |& grep 'CLOEXEC' | tail
openat(AT_FDCWD, "d7", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 5
openat(AT_FDCWD, "27", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 5
openat(AT_FDCWD, "logs", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 5
openat(AT_FDCWD, "refs", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 5
openat(AT_FDCWD, "remotes", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 5
openat(AT_FDCWD, "origin", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 5
openat(AT_FDCWD, "heads", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 5
openat(AT_FDCWD, "hooks", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 5
openat(AT_FDCWD, "branches", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 5
openat(AT_FDCWD, "info", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 5
openat(AT_FDCWD, ".git", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 5

bfs does a strange sort of dance:
$  strace bfs -links 2 >/dev/null |& grep -P 'close|open|CLOEXEC' | less
...
openat(6, "73/", O_RDONLY|O_DIRECTORY|O_CLOEXEC) = 9
fcntl(9, F_DUPFD_CLOEXEC, 0)            = 10
fcntl(10, F_SETFD, FD_CLOEXEC)          = 0
close(10)                               = 0
close(9)                                = 0
...

If I'm seeing that right, there's no reason to to the fcntl(10, F_SETFD, FD_CLOEXEC) operation after fcntl(9, F_DUPFD_CLOEXEC, 0)  is called, From http://man7.org/linux/man-pages/man2/fcntl.2.html:

F_DUPFD_CLOEXEC (int; since Linux 2.6.24)
As for F_DUPFD, but additionally set the close-on-exec flag
for the duplicate file descriptor.  Specifying this flag
permits a program to avoid an additional fcntl() F_SETFD
operation to set the FD_CLOEXEC flag.  For an explanation of
why this flag is useful, see the description of O_CLOEXEC in
open(2).

As for the dup call which find doesn't do, I think it might have something to do with the breadth-first ways of bfs. So that could be required for proper functioning. Don't know.

As a sidenote, I'm really wondering why the newfstatat(2) calls are so much faster for bfs than they are for find. Perhaps doing breadt-first searching is better for the kernel? Cache line behaviour? In fact it should probably all fit in cache, I ran this on the .git repository.

So the weird dup dance I can explain: bfs wants to keep lots of open fds around to use for openat() calls in the future.  Unfortunately, keeping the entire DIR* around takes a lot of memory, so it does this instead:
int cachedfd = openat(at_fd, at_path, O_RDONLY | O_DIRECTORY | O_CLOEXEC);
int fd = fcntl(entry->fd, F_DUPFD_CLOEXEC, 0);
DIR *dir = fdopendir(fd);
struct dirent *de;
while ((de = readdir(dir)) != NULL) {
  // Do stuff
}
closedir(dir);
// Now dir and fd are closed, but cachedfd remains open

So that explains the strange dance of openat followed by F_DUPFD_CLOEXEC.  Sadly glibc itself does this inside of fdopendir():
fstat(4, {st_mode=S_IFDIR|0755, st_size=88, ...}) = 0
fcntl(4, F_GETFL)                       = 0x18000 (flags O_RDONLY|O_LARGEFILE|O_DIRECTORY)
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0

F_GETFL is to check that the fd is readable.  F_SETFD, FD_CLOEXEC is to force the DIR* to close on exec (a requirement of POSIX).  The worst one is the fstat() which is done to make sure the fd is a directory, and to get the recommended block size (st_blksize).  Unfortunately it means there's at least one fstat() per directory that bfs can't do anything about.
glibc could do the F_GETFL first, and avoid the fstat() if it sees O_DIRECTORY.  It wouldn't have st_blksize then, but I'm sure 4096 or something is a reasonable default.  I plan to submit such a patch to glibc when I get around to it.  F_SETFD, FD_CLOEXEC may be avoided by doing F_GETFD first, but I'm not sure that's a win.
Ideally we'd do something like this:
DIR *dir = opendirat(at_fd, at_path);
int cachedfd = dirfd(dir);
struct dirent *de;
while ((de = readdir(dir)) != NULL) {
  // Do stuff
}
freedir(dir); // But don't close the fd yet

but neither opendirat() nor freedir() exist.
RE: your sidenote, you're right that the newfstatat() calls in bfs are faster due to nicer cache locality caused by the breadth-first traversal.  For a given directory, bfs calls newfstatat() on all its children consecutively, so if the stat infos are close together it's a big win.

Interestingly I'm actually seeing find make way more fcntl() calls than bfs:
tavianator@cosmicray $ strace -c bfs -links 2
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
 41.04    0.000385           0     68515           newfstatat
 23.13    0.000217           0     22667           getdents
 13.43    0.000126           0     33996           fcntl
 11.19    0.000105           0     22667           close
  6.61    0.000062           0     11332           openat
  4.58    0.000043           0     11335           fstat
...
------ ----------- ----------- --------- --------- ----------------
100.00    0.000938                170543         1 total
tavianator@cosmicray $ strace -c find -links 2
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
 31.41    0.000462           0     79847           newfstatat
 30.46    0.000448           0    102183           fcntl
 22.23    0.000327           0     22665           getdents
 11.42    0.000168           0     45170           close
  2.99    0.000044           0     11696           fstat
  1.50    0.000022           0     11691           openat
...
------ ----------- ----------- --------- --------- ----------------
100.00    0.001471                273323         7 total

I suspect this may have changed in findutils 4.6.0 which I'm now running.

Wow yeah, find has regressed badly in this regard:
$ strace find -links 2
...
newfstatat(7, "branches", {st_mode=S_IFDIR|0755, st_size=0, ...}, AT_SYMLINK_NOFOLLOW) = 0
close(4)                                = 0
fcntl(7, F_DUPFD_CLOEXEC, 0)            = 4
openat(7, "branches", O_RDONLY|O_NOCTTY|O_NONBLOCK|O_DIRECTORY|O_NOFOLLOW) = 6
fcntl(6, F_GETFD)                       = 0
fcntl(6, F_SETFD, FD_CLOEXEC)           = 0
fstat(6, {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
fcntl(6, F_GETFL)                       = 0x38800 (flags O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_NOFOLLOW)
fcntl(6, F_SETFD, FD_CLOEXEC)           = 0
newfstatat(7, "branches", {st_mode=S_IFDIR|0755, st_size=0, ...}, AT_SYMLINK_NOFOLLOW) = 0
fcntl(6, F_DUPFD, 3)                    = 8
fcntl(8, F_GETFD)                       = 0
fcntl(8, F_SETFD, FD_CLOEXEC)           = 0
getdents(6, /* 2 entries */, 32768)     = 48
getdents(6, /* 0 entries */, 32768)     = 0
close(6)                                = 0
close(8)                                = 0
close(4)                                = 0
fcntl(7, F_DUPFD_CLOEXEC, 0)            = 4
...

Notice that fcntl(7, F_DUPFD_CLOEXEC, 0)            = 4 is done, but file descriptor 4 is never used, except to close it later.  So it looks like findutils 4.6.0 is doing a similar thing to bfs, but way worse.

Thanks for the clear analysis, that indeed clears it up. I suppose then the way to truly optimize this is to go very platform-specific. The non-portability would likely make it a maintainers nightmare and a speed bump is not sure at all (though I'd be interested to try). You can close this, if you want :).

Yeah in order to avoid the glibc weirdness there I'd have to avoid using DIR* entirely AFAICS, which would be a portability/maintainability headache.  But thanks anyway for the report!

See https://savannah.gnu.org/bugs/index.php?48169 for the findutils 4.6 bug


Allow announced URLs to be HTTP instead of HTTPS

The URLs that the plugin sends to peers (on which data can be posted or retrieved) currently is HTTPS-based, hard-coded.
It should be possible to configure HTTP (unsecured) URLs.

Fixed in 1.1.1?

Yes! This can now be controlled by using the plugin.httpfileupload.announcedWebProtocol property.

Hi,
From where we can set this property? I tried to find it in Server Manager -> System Properties. I searched plugin.httpfileupload.announcedWebProtocol but was not able to find it there.
I am using 'Openfire 4.6.2, build b61bce3' and 'HTTP File Upload 1.1.3'.
Please help me to find this property.
Thanks,

@itaims you can add the property on that page at the bottom, if it currently is not listed.

@itaims It's common in the project to have such features configurable just directly via the registry in the first sprint. If it have settled in practice, the second sprint is to add it to the suitable Admin UI page. This also should include some textual hints.
If you're be able to, you might send in a corresponding patch for.

This post goes back a year. I've just had the server stop allowing file uploads and the closest I've seen is that it may be set to https. I've gone through the list of ports from server to modem. Is there an update to finding these settings so that I can verify it?


[Tests ] 3.1.1 and master - Paint - drawing not refresh

How to reproduce:

Open a data
Click on Paint/Erase, click on the view and draw something -> I need to switch to an other orientation and come back to display the drawing

This is also a bug in the master 4.0

This does not happen on @juliencastelneau computer


chore: handle enum removals from CAIP package

Description
Lib PR https://github.com/shapeshift/lib/pull/656 replaces enums with dynamically derived object literals.
This is a breaking change that needs to be handled in web.
Notice

[x] Have you followed the guidelines in our Contributing guide?
[x] Have you checked to ensure there aren't other open Pull Requests for the same update/change?

Pull Request Type

[ ] :bug: Bug fix (Non-breaking Change: Fixes an issue)
[x] :hammer_and_wrench: Chore (Non-breaking Change: Doc updates, pkg upgrades, typos, etc..)
[ ] :nail_care: New Feature (Breaking/Non-breaking Change)

Issue (if applicable)
Part of https://github.com/shapeshift/lib/issues/550
Risk
Minimal - it won't build if the types or constants aren't updated correctly.
Testing
No changes are expected to existing behavior.
Screenshots (if applicable)
N/A

Requires merge of https://github.com/shapeshift/lib/pull/661 before CI will pass.


File Edit: Roster - Good first issue

The roster is supposed to have one set style, which is what you see in the first two entries.

[ ] Fix the style of the following collaborator's cards to match the standard

If you feel like you can help, please comment below, read the contributing.md and open PRs to the development branch
Thank you and happy Collab

Hi there, can I have this one? I'm guessing you want the extra separator removed and the email fixed up?

@Matthew-Mu ABsolutely =)
Thank you so much! Please open PRs to DEV branch


Snapshots for strings are sometimes being transformed into objects/arrays

🐛 Bug Report
There's a strange and subtle change in the way snapshots are handled, showing some counter-intuitive displays when there is a difference. The issue manifests with string values in .toMatchSnapshot() when a snapshot name is passed as an argument.
It feels as if strings, are sometimes being incorrectly turned into arrays. The issue was not observed in Jest 23.
To Reproduce
Use the following test
describe('basic', () => {
  it('should match', () => {
    expect("Wibble wibble").toMatchSnapshot({}, "base");
  });
});

Note that without the additional arguments to .toMatchSnapshot(), this breaking behaviour is not seen. Using .toMatchSnapshot("base") (to specify a name) also works. However, the docs (https://jestjs.io/docs/en/expect#tomatchsnapshotpropertymatchers-snapshotname) do not imply that the propertyMatchers argument is optional.
Expected behavior
The stored snapshot would be the string "Wibble wibble". Instead, it is stored -- and matched -- as an object like this:
exports[`basic should match: base 1`] = `
Object {
  "0": "W",
  "1": "i",
  "10": "b",
  "11": "l",
  "12": "e",
  "2": "b",
  "3": "b",
  "4": "l",
  "5": "e",
  "6": " ",
  "7": "w",
  "8": "i",
  "9": "b",
}
`;

Note that during testing, when there is a snapshot mismatch, even in the string, the reverse happens. A simple string like "Wobble wobble" shows as an object, with characters out of order. This is applied to the received value, making debugging with longer strings very hard.
Link to repl or repo (highly encouraged)
The file above is enough, in a Jest 24.1.0 environment.
The workaround of .toMatchSnapshot("base") is enough, and maybe this is better handled as documentation fix, but there's definitely been some change since Jest 23 in this part of the code base.
Run npx envinfo --preset jest
  System:
    OS: macOS 10.14.3
    CPU: (4) x64 Intel(R) Core(TM) i5-5257U CPU @ 2.70GHz
  Binaries:
    Node: 8.10.0 - ~/.nvm/versions/node/v8.10.0/bin/node
    Yarn: 1.2.1 - /usr/local/bin/yarn
    npm: 6.8.0 - ~/.nvm/versions/node/v8.10.0/bin/npm
  npmPackages:
    jest: ^24.1.0 => 24.1.0

Yes, I agree that the documentation is misleading:
https://jestjs.io/docs/en/expect#tomatchsnapshotpropertymatchers-snapshotname
I confirmed the incorrect snapshot in Jest 23.6 do you know from which version you upgraded?

when there is a snapshot mismatch, even in the string, the reverse happens.

Not sure what you mean by the reverse. Here is report if received string is one character short:

The change is from #6528 in Jest 23.5.0 or later: If toMatchSnapshot has a property matchers argument even {} then it assumes that the received value is an object when it deep merges asymmetric matcher serializations into the baseline snapshot.
@rickhanlonii @SimenB I had already started working on snapshot matchers as part 14 of improve reports series and noticed the need to throw some matcher errors for run time argument validation.
Help me with semver: Is that a breaking change for Jest 25 or for a minor 24.x.0 version?

@pedrottimark I think as soon as it throws a matcher error when the assertion might have otherwise passed it's breaking. If it's only for cases that would be failed assertions anyway IMO it could go as a kind of "error message improvement", but that's probably not the case for your snapshot matcher cases?

Yes, thank you for explaining so clearly.
I find only a few snapshot matcher tests. They are under e2e.
I’ll write some new tests locally and split changes into pull requests for minor and for major.


now also delete entries which becomes orphaned

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@0e1eb44). Click here to learn what that means.
The diff coverage is 0%.

@@           Coverage Diff            @@
##             master    #113   +/-   ##
========================================
  Coverage          ?   44.9%
  Complexity        ?      99
========================================
  Files             ?      16
  Lines             ?    1334
  Branches          ?     123
========================================
  Hits              ?     599
  Misses            ?     676
  Partials          ?      59

Impacted Files
Coverage Δ
Complexity Δ

src/main/java/se/lth/cs/connect/routes/Admin.java
12.87% <0%> (ø)
3 <0> (?)

Continue to review full report at Codecov.

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


read_sql_query returns dataframe with duplicates in its index

With version 2.3.0, when running a query and fetching its result by using read_sql_query(ctas_approach=True) (which is default), the resulting dataframe will contain duplicated entries in its index. By passing ctas_approach=False, the resulting index will be unique.
I guess it has something to do with chunked reading and calling pd.concat(). I tried to dig into the source to find the bug with no success.
When using ctas_approach=True, keep_files=True, and then reading directly the raw files by pd.read_parquet('s3://...'), the resulting index will be unique.

Can you tell a little bit more about the concrete setup respectively the kind of query you are running? I was just trying to reproduce it on my side with a simple SELECT * FROM mytable and I get a unique index for ctas_approach=True and ctas_approach=False.

Can you tell a little bit more about the concrete setup respectively the kind of query you are running? I was just trying to reproduce it on my side with a simple SELECT * FROM mytable and I get a unique index for ctas_approach=True and ctas_approach=False.

Checking my version:
import awswrangler as wr
wr.__version__

2.3.0

Using read_sql_query() and printing output shapes
df = wr.athena.read_sql_query('SELECT * FROM db.table', database=db, ctas_approach=True)
print(df.index.shape[0], df.index.unique().shape[0])

15264 14240

Here we can see the difference.
The type of index is a regular Int64Index this way. But when I read with ctas_approach=False, I get a RangeIndex and that is of course unique.
df.index
Out[7]:
Int64Index([   0,    1,    2,    3,    4,    5,    6,    7,    8,    9,
            ...
            1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023],
           dtype='int64', length=15264)

The strange thing is that I get this behavior even if the table is backed by a single-row-group parquet file Which I guess cannot even be read parallel (I'm just guessing here).
The similar thing happens with multifile parquet dataset as well.

Checking my version:
import awswrangler as wr
wr.__version__

2.3.0

Using read_sql_query() and printing output shapes
df = wr.athena.read_sql_query('SELECT * FROM db.table', database=db, ctas_approach=True)
print(df.index.shape[0], df.index.unique().shape[0])

15264 14240

Here we can see the difference.
The type of index is a regular Int64Index this way. But when I read with ctas_approach=False, I get a RangeIndex and that is of course unique.
df.index
Out[7]:
Int64Index([   0,    1,    2,    3,    4,    5,    6,    7,    8,    9,
            ...
            1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023],
           dtype='int64', length=15264)

The strange thing is that I get this behavior even if the table is backed by a single-row-group parquet file Which I guess cannot even be read parallel (I'm just guessing here).
The similar thing happens with multifile parquet dataset as well.

I'm not sure where the underlying problem is respectively how to fix it, but I think I can give you a small update when this happens. If you have query with unique results also the index will be unique. However if you have duplicated rows in your query also the index seems to be duplicated:
import awswrangler as wr

df = wr.athena.read_sql_query(
  sql="SELECT * FROM mydatabase.my_unique_table",
  database="mydatabase",
  ctas_approach=True
)
print(df.index.shape[0])  # Will output 4996
print(df.index.unique().shape[0])  # Will output 4996

df = wr.athena.read_sql_query(
  sql="SELECT * FROM mydatabase.my_unique_table UNION ALL SELECT * FROM mydatabase.my_unique_table",
  database="mydatabase",
  ctas_approach=True
)
print(df.index.shape[0])  # Will output 9992
print(df.index.unique().shape[0])  # Will output 4996

I'm not sure where the underlying problem is respectively how to fix it, but I think I can give you a small update when this happens. If you have query with unique results also the index will be unique. However if you have duplicated rows in your query also the index seems to be duplicated:
import awswrangler as wr

df = wr.athena.read_sql_query(
  sql="SELECT * FROM mydatabase.my_unique_table",
  database="mydatabase",
  ctas_approach=True
)
print(df.index.shape[0])  # Will output 4996
print(df.index.unique().shape[0])  # Will output 4996

df = wr.athena.read_sql_query(
  sql="SELECT * FROM mydatabase.my_unique_table UNION ALL SELECT * FROM mydatabase.my_unique_table",
  database="mydatabase",
  ctas_approach=True
)
print(df.index.shape[0])  # Will output 9992
print(df.index.unique().shape[0])  # Will output 4996

At this particular table that I have, all values are unique, both the following queries give the same result:
SELECT COUNT() FROM db.table
SELECT COUNT() FROM (SELECT DISTINCT * FROM db.table)

(and the result is the same as the larger number in https://github.com/awslabs/aws-data-wrangler/issues/521#issuecomment-766667831, 15264)

At this particular table that I have, all values are unique, both the following queries give the same result:
SELECT COUNT() FROM db.table
SELECT COUNT() FROM (SELECT DISTINCT * FROM db.table)

(and the result is the same as the larger number in https://github.com/awslabs/aws-data-wrangler/issues/521#issuecomment-766667831, 15264)

Hm ok this is strange. Just to confirm, when you use keep_files=True is there only one parquet file in the result location or are there multiple?

Hm ok this is strange. Just to confirm, when you use keep_files=True is there only one parquet file in the result location or are there multiple?

I've tried to fix this on a new branch. Could you try installing it from my branch and see if it fixes your issue. If that's the case, I would polish the solution:
pip uninstall awswrangler -y
pip install git+https://github.com/maxispeicher/aws-data-wrangler.git@athena_ctas_unique_index

I've tried to fix this on a new branch. Could you try installing it from my branch and see if it fixes your issue. If that's the case, I would polish the solution:
pip uninstall awswrangler -y
pip install git+https://github.com/maxispeicher/aws-data-wrangler.git@athena_ctas_unique_index

Hm ok this is strange. Just to confirm, when you use keep_files=True is there only one parquet file in the result location or are there multiple?

There are two files.

Hm ok this is strange. Just to confirm, when you use keep_files=True is there only one parquet file in the result location or are there multiple?

There are two files.

I've tried to fix this on a new branch. Could you try installing it from my branch and see if it fixes your issue. If that's the case, I would polish the solution:
pip uninstall awswrangler -y
pip install git+https://github.com/maxispeicher/aws-data-wrangler.git@athena_ctas_unique_index

Yes, this branch solves this issue, the resulting index is a (unique) RangeIndex

I've tried to fix this on a new branch. Could you try installing it from my branch and see if it fixes your issue. If that's the case, I would polish the solution:
pip uninstall awswrangler -y
pip install git+https://github.com/maxispeicher/aws-data-wrangler.git@athena_ctas_unique_index

Yes, this branch solves this issue, the resulting index is a (unique) RangeIndex

Hm ok this is strange. Just to confirm, when you use keep_files=True is there only one parquet file in the result location or are there multiple?

There are two files.

Ok then it makes sense again. I was just assuming that it was one file as pd.read_parquet('s3://...') only takes a single argument and I forgot that it can also be a directory (IIRC).
But happy to hear that the branch solves the issue :)

Hm ok this is strange. Just to confirm, when you use keep_files=True is there only one parquet file in the result location or are there multiple?

There are two files.

Ok then it makes sense again. I was just assuming that it was one file as pd.read_parquet('s3://...') only takes a single argument and I forgot that it can also be a directory (IIRC).
But happy to hear that the branch solves the issue :)

Released on version 2.4.0.


selectpicker() always applies to every select with class .selectpicker

Using version 1.12.4.  Consider the following:
<select class="fnord">
  <option value="0">Foo</option>
  <option value="1">Bar</option>
  <option value="2">Baz</option>
</select>

<select class="selectpicker">
  <option value="0">Foo</option>
  <option value="1">Bar</option>
  <option value="2">Baz</option>
</select>

$(".fnord").selectpicker();

Expected behavior: Only <select class="fnord"> is themed.
Actual behavior: Both <select> elements are themed. (jsfiddle)
The reverse is not true. If we run $(".selectpicker").selectpicker(); then only <select class="selectpicker"> is themed.
If this is not a bug, it should be better documented that .selectpicker is not just a convention, but actually has special meaning.  I spent half a day trying to figure out why this was theming my hidden selects:
$(".selectpicker").filter(":visible").selectpicker();

It's because of the selectpicker class. Just remove it. The class name is not used for anything else. So don't use it.


Pipelinerun fails with CouldntGetTask (etcdserver: leader changed)

Expected Behavior
Pipelinerun continues to run
Actual Behavior
Pipelinerun reports CouldntGetTask, for example -
$ tkn pr list
NAME                     STARTED        DURATION     STATUS
file-datasink-r5rkd      15 hours ago   ---          Running
file-datasource-c7fmf    15 hours ago   ---          Running
file-datasink-xbbdb      17 hours ago   ---          Running
file-datasource-986c5    17 hours ago   ---          Running
scoringpipeline-l7zq7    22 hours ago   ---          Running
file-datasink-56tbw      22 hours ago   ---          Running
file-datasource-hmvnr    22 hours ago   40 minutes   Failed(CouldntGetTask)

The pipelinerun file-datasource-hmvnr consists of 3 tasks -

install-datachannel
wait
uninstall-datachannel

All exist
The pipeline run reports a detailed status including -
🌡  Status

STARTED        DURATION     STATUS
23 hours ago   40 minutes   Failed(CouldntGetTask)

💌 Message

Pipeline modelops/install-datachannel can't be Run; it contains Tasks that don't exist: Couldn't retrieve Task "uninstall-datachannel": etcdserver: leader changed

...
🗂  Taskruns

 NAME                                                TASK NAME             STARTED        DURATION     STATUS
 ∙ file-datasource-hmvnr-wait-5pns5                  wait                  23 hours ago   ---          Running
 ∙ file-datasource-hmvnr-install-datachannel-kcvwc   install-datachannel   23 hours ago   11 seconds   Succeeded

So the final task, uninstall-datachannel, cannot be executed.
Steps to Reproduce the Problem
Unknown at this point
Additional Info

Kubernetes version:
Output of kubectl version:

$ kubectl version
Client Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.2", GitCommit:"092fbfbf53427de67cac1e9fa54aaa09a28371d7", GitTreeState:"clean", BuildDate:"2021-06-16T12:59:11Z", GoVersion:"go1.16.5", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.11", GitCommit:"c18ff7bd5227b42c617cf371cf315d0423e91d5e", GitTreeState:"clean", BuildDate:"2021-05-25T17:38:04Z", GoVersion:"go1.15.12", Compiler:"gc", Platform:"linux/amd64"}
WARNING: version difference between client (1.21) and server (1.19) exceeds the supported minor version skew of +/-1

Tekton Pipeline version:
Output of tkn version or kubectl get pods -n tekton-pipelines -l app=tekton-pipelines-controller -o=jsonpath='{.items[0].metadata.labels.version}'

$ tkn version
Client version: 0.20.0
Pipeline version: v0.25.0

Tekton is running on Azure aks 1.19.11 with cluster autoscaler, currently with 2 linux nodes and one windows node.
$ kubectl get node
NAME                                STATUS   ROLES   AGE   VERSION
aks-nodepool1-21727696-vmss000000   Ready    agent   16d   v1.19.11
aks-nodepool1-21727696-vmss000004   Ready    agent   14d   v1.19.11
aksnpwin000000                      Ready    agent   16d   v1.19.11

It sounds like Tekton's request for the Task failed because k8s hit turbulence talking to its database that it couldn't recover from. A quick search around suggests that one possible source of the underlying etcd message is related to speed of the storage it's running on but I'd bet there are a lot of other reasons this message could be returned as well.
Regardless of root cause though - we kind of expect k8s to abstract away the nitty gritty cluster things like etcd leader election and I'm a bit surprised it surfaced this message directly. I'm not entirely sure what Tekton should be doing in the event this is returned. @tibcoplord do you have any additional insight into what you'd expect of Tekton in this case?

Well, I think this can happen when kubernetes nodes come and go.  I wouldn't expect such a message from kubernetes to interfere with tekton status.
I did manage to capture this effect in the tekton webhook logs -
{"level":"info","ts":"2021-07-23T14:35:18.254Z","logger":"tekton-pipelines-webhook","caller":"defaulting/defaulting.go:124","msg":"Kind: \"tekton.dev/v1beta1, Kind=PipelineRun\" PatchBytes: null","commit":"49a7fa2","knative.dev/kind":"tekton.dev/v1beta1, Kind=PipelineRun","knative.dev/namespace":"modelops","knative.dev/name":"test-datasink-bszgt","knative.dev/operation":"UPDATE","knative.dev/resource":"tekton.dev/v1beta1, Resource=pipelineruns","knative.dev/subresource":"status","knative.dev/userinfo":"{system:serviceaccount:tekton-pipelines:tekton-pipelines-controller c05af5f8-beac-4f7b-b759-689f10907966 [system:serviceaccounts system:serviceaccounts:tekton-pipelines system:authenticated] map[]}"}
{"level":"info","ts":"2021-07-23T14:35:18.254Z","logger":"tekton-pipelines-webhook","caller":"webhook/admission.go:131","msg":"remote admission controller audit annotations=map[string]string(nil)","commit":"49a7fa2","knative.dev/kind":"tekton.dev/v1beta1, Kind=PipelineRun","knative.dev/namespace":"modelops","knative.dev/name":"test-datasink-bszgt","knative.dev/operation":"UPDATE","knative.dev/resource":"tekton.dev/v1beta1, Resource=pipelineruns","knative.dev/subresource":"status","knative.dev/userinfo":"{system:serviceaccount:tekton-pipelines:tekton-pipelines-controller c05af5f8-beac-4f7b-b759-689f10907966 [system:serviceaccounts system:serviceaccounts:tekton-pipelines system:authenticated] map[]}","admissionreview/uid":"1fa8f50f-39ae-41eb-bc98-61cabc6297c6","admissionreview/allowed":true,"admissionreview/result":"nil"}
{"level":"info","ts":"2021-07-23T14:35:18.261Z","logger":"tekton-pipelines-webhook","caller":"webhook/admission.go:89","msg":"Webhook ServeHTTP request=&http.Request{Method:\"POST\", URL:(*url.URL)(0xc0019d26c0), Proto:\"HTTP/1.1\", ProtoMajor:1, ProtoMinor:1, Header:http.Header{\"Accept\":[]string{\"application/json, */*\"}, \"Accept-Encoding\":[]string{\"gzip\"}, \"Content-Length\":[]string{\"23676\"}, \"Content-Type\":[]string{\"application/json\"}, \"User-Agent\":[]string{\"kube-apiserver-admission\"}}, Body:(*http.body)(0xc0019e5e40), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:23676, TransferEncoding:[]string(nil), Close:false, Host:\"tekton-pipelines-webhook.tekton-pipelines.svc:443\", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:\"<IP_ADDRESS>:56246\", RequestURI:\"/resource-validation?timeout=10s\", TLS:(*tls.ConnectionState)(0xc001c65080), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), ctx:(*context.cancelCtx)(0xc0019e5e80)}","commit":"49a7fa2"}
{"level":"info","ts":"2021-07-23T14:35:18.264Z","logger":"tekton-pipelines-webhook","caller":"webhook/admission.go:131","msg":"remote admission controller audit annotations=map[string]string(nil)","commit":"49a7fa2","knative.dev/kind":"tekton.dev/v1beta1, Kind=PipelineRun","knative.dev/namespace":"modelops","knative.dev/name":"test-datasink-bszgt","knative.dev/operation":"UPDATE","knative.dev/resource":"tekton.dev/v1beta1, Resource=pipelineruns","knative.dev/subresource":"status","knative.dev/userinfo":"{system:serviceaccount:tekton-pipelines:tekton-pipelines-controller c05af5f8-beac-4f7b-b759-689f10907966 [system:serviceaccounts system:serviceaccounts:tekton-pipelines system:authenticated] map[]}","admissionreview/uid":"2b011add-d1ac-4fd8-83c2-c25339436566","admissionreview/allowed":true,"admissionreview/result":"nil"}
{"level":"info","ts":"2021-07-23T14:35:18.295Z","logger":"tekton-pipelines-webhook","caller":"webhook/conversion.go:42","msg":"Webhook ServeHTTP request=&http.Request{Method:\"POST\", URL:(*url.URL)(0xc0019d2870), Proto:\"HTTP/1.1\", ProtoMajor:1, ProtoMinor:1, Header:http.Header{\"Accept\":[]string{\"application/json, */*\"}, \"Accept-Encoding\":[]string{\"gzip\"}, \"Content-Length\":[]string{\"12618\"}, \"Content-Type\":[]string{\"application/json\"}, \"User-Agent\":[]string{\"kube-apiserver-admission\"}}, Body:(*http.body)(0xc001c08a80), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:12618, TransferEncoding:[]string(nil), Close:false, Host:\"tekton-pipelines-webhook.tekton-pipelines.svc:443\", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:\"<IP_ADDRESS>:56928\", RequestURI:\"/resource-conversion?timeout=30s\", TLS:(*tls.ConnectionState)(0xc001f78000), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), ctx:(*context.cancelCtx)(0xc001c08ac0)}","commit":"49a7fa2"}
E0723 14:35:19.219699       1 leaderelection.go:325] error retrieving resource lock tekton-pipelines/tekton-pipelines-webhook.conversionwebhook.00-of-01: etcdserver: leader changed

which resulted in -
$ tkn pr list -n modelops
NAME                    STARTED          DURATION     STATUS
test-datasink-hnlvk     16 minutes ago   ---          Running
test-datasource-cdrg7   16 minutes ago   ---          Running
test-datasink-gwfd7     17 minutes ago   ---          Running
test-datasource-vn56s   17 minutes ago   ---          Running
test-datasink-bmnvc     19 minutes ago   ---          Running
test-datasource-788ff   19 minutes ago   ---          Running
test-datasink-8jr7w     21 minutes ago   ---          Running
test-datasource-757kd   21 minutes ago   ---          Running
test-datasink-wfjgs     22 minutes ago   ---          Running
test-datasource-2272t   22 minutes ago   ---          Running
test-datasink-qkv8l     24 minutes ago   ---          Running
test-datasource-4sz4n   24 minutes ago   ---          Running
test-datasink-5c7ls     27 minutes ago   ---          Running
test-datasource-x644z   27 minutes ago   ---          Running
test-datasink-mqdj4     29 minutes ago   ---          Running
test-datasource-dcggl   29 minutes ago   ---          Running
test-datasink-bszgt     31 minutes ago   14 minutes   Failed(CouldntGetTask)

The problem is that this pipelinerun, test-datasink-bszgt, is no-longer useable ... its stuck at CouldntGetTask.

Any progress on this ?  This is blocking for us.

/assign @lbernick
thank you!

/assign

Thanks for the confirmation. Is this as simply as updating tekton to re-try the request ?

I think we'll do this as a short term fix. Hopefully the issue will be resolved upstream as well in the linked issue.

This error will now be retried in pipelines v0.31.0. Please reopen if this error is still observed in v0.31.0 or later versions of pipelines.
/close

/close


matrix test fails on MinGW

Experienced behavior
 4/18 matrix                                  FAIL     1.40 s
--- command ---
 c:\Users\nirbheek\projects\graphene\build2\src\tests\matrix.exe --tap -k
--- stdout ---
# random seed: R02Sd87d390696408afb383b0a5127818c3b
1..14
# Start of matrix tests
ok 1 /matrix/identity
ok 2 /matrix/scale
ok 3 /matrix/rotation
ok 4 /matrix/translation
ok 5 /matrix/neutral_element
ok 6 /matrix/look_at
ok 7 /matrix/invert
ok 8 /matrix/interpolate
# Start of rotation tests
ok 9 /matrix/rotation/euler-quaternion
# End of rotation tests
# Start of 2d tests
ok 10 /matrix/2d/identity
ok 11 /matrix/2d/transforms
ok 12 /matrix/2d/round-trip
ok 13 /matrix/2d/interpolate
# Graphene-Test:ERROR:../src/tests/matrix.c:497:matrix_2d_transform_bound: &((&res)->origin) == &((&r2)->origin) (+/- 0.01): { x:0, y:0 } == { x:100, y:100 }

Expected behavior
Test should pass.
Steps to reproduce
Build with GCC 4.7.3, i686-w64-mingw32-gcc and run ninja test.
Operating system in use
Windows 8.1 64-bit on x86-64
SIMD implementation in use
SSE2 intrinsics weren't found and the GCC version is too old for vectors intrinsics.

Likely to be a GCC floating point bug, as I cannot reproduce with more recent (≥ 4.8) versions of GCC, or with Clang.


Makes changes for lint msgs issue #507 - Household.js

There is an unresolved merge conflict in src/localization/en.js. All the stuff you removed from src/test/.eslintrc.json, did you find that is was unnecessary?

OK, looks like you somehow ended up with an unresolved merge conflict on your dev branch. There must be commits on your dev ahead of cfb/dev that are getting added to each of these lint fix branches.  I would do the following to try to fix it:
git checkout lintfixes-Household.js
git fetch cfb
git reset --hard cfb/dev
git cherry-pick a0bef75
git push --force

And (assuming you want to get rid of whatever's on your dev branch?) before making any new topic branches, checkout dev and do git reset --hard cfb/dev.


Replace log4j properties with log4j2 properties

deploy/security/encrypt-passwords-with-cipher-tool.md and deploy/security/product-level-security-guidelines.md

Will be fixed through https://github.com/wso2/product-is/issues/12066


Building PDK and Tested PDK mismatch

Hi. I have just installed OpenLane and SKY130 PDK on my Fedora machine and ran the test script fine. Now I am trying to initialize my very first basic inverter design. So I made a new folder "inverter_try" in OpenLane/designs directory and
make mount
./flow.tcl -design inverter_try -init_design_config
and received following error:
> [ERROR]: open_pdks 06898d0576a1820a131f58b05b6af5f504f080d9
> magic e9db9ecbc9943a304de80b32ecc58a61a46cc91f
> Failed to compare PDKs.
> The version of open_pdks used in building the PDK does not match the version OpenLane was tested on (installed: 06898d0576a1820a131f58b05b6af5f504f080d9, tested: bdc9412b3e468c102d01b7cf6337be06ec6e9c9a)
> This may introduce some issues. You may want to re-install the PDK by invoking `make pdk`.
> 'magic'
> Traceback (most recent call last):
>   File "/openlane/dependencies/verify_versions.py", line 132, in verify_versions
>     manifest_commit = manifest_dict[name]["commit"]
>                       ~~~~~~~~~~~~~^^^^^^
> KeyError: 'magic'
>
> [ERROR]: Please update your environment. OpenLane will now quit.

So I exited the docker and exexuted make pdk once again and it gave the following result
Version bdc9412b3e468c102d01b7cf6337be06ec6e9c9a enabled for the sky130 PDK.
But I am still receiving same pdk mismatch error. Any help is greatly appreciated.

@ihaziqiqbal how did you build OpenLane and how did you enter the run the docker container?

Here's how I did it.
git clone --depth 1 https://github.com/The-OpenROAD-Project/OpenLane.git
cd OpenLane/
make
make test

Basically, I followed everything from here.
https://openlane.readthedocs.io/en/latest/getting_started/installation/installation_linux.html
For the docker, followed this page.
https://docs.docker.com/engine/install/fedora/
And for sky130 pdk.
./configure --enable-sky130-pdk --enable-sram-sky130
make
sudo make install
make veryclean

@ihaziqiqbal make in OpenLane should have installed the PDK and no need to clone sky130 pdk and install it standalone. This would actually lead to the mismatch that you reported since the version installed by make in OpenLane is not always the latest version available by open_pdks

having said, I am wondering if you are setting PDK_ROOT to a different value.

@kareefardi when I did make Openlane, I couldn't find any any directory where sky130A was located so I thought it needs to be installed separately.
Also when I did make mount in OpenLane directory, it showed PDK_ROOT=/home/haziqiqbal/.volare which I was not sure what it is becasuse ./volare it was not in the directory. So I installed pdk and set PDK_ROOT=/usr/local/share/pdk/

Kindly submit a new issue following the issue template. The information in it will help us solve your issue faster.


Remove duplicate code using trait

There was a reason for this at some point, but I can't really remember.  I think it had to do with the toString method. But it all seems to work ok with your PR.

thanks for the PR!


Bug: GoABlock not scaling width due to content

Info
Raised by Gesu Chandra
When using goa-block in the last release, it would expand its width based on content inside. Simple code can be used to replicate, like below, just putting a container inside a block element. In the previous version it would take up the full width of the parent container as the container component would stretch out, now it takes up no width.
Code:
<goa-block>
    <goa-container>
    </goa-container>
</goa-block>

Acceptance Criteria:

goa-block should expand with the content inside of it

:tada: This issue has been resolved in version 1.17.0-alpha.30 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 1.20.2 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 4.17.0-alpha.19 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 4.20.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 3.0.0-alpha.4 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 3.0.3 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


protocol/packp: use ReferenceName type for Command.Name.

Current coverage is 77.40% (diff: 100%)

Merging #187 into master will decrease coverage by 0.68%

@@             master       #187   diff @@
==========================================
  Files            92         92
  Lines          5882       5885     +3
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits           4593       4555    -38
- Misses          804        853    +49
+ Partials        485        477     -8

Powered by Codecov. Last update 825c00d...cc78774


Add protobuf

Signed-off-by: Drasko DRASKOVIC<EMAIL_ADDRESS>

On hold for now.

Will be fixed by new PR


Test for Franziska

First make sure you read the test guidelines here: https://github.com/Wiredcraft/test-pm
This task will be followed up asynchronously over a few days and should not take more than two hours in total.
Project Introduction
You have been assigned as project manager for a project for the client Ronan Corp (your client stakeholder is Jason). The outcome of this project will be an app which allows a user to sign up, and log-in to a system that gives them air-pressure information for their current location. The system as a whole is expected in 8 weeks.
Project Details
The work has been divided into two parts:
• the backend and frontend for login and signup ,and the frontend for air-pressure information - This will be handled by Wiredcraft completely
• the backend for air-pressure information which will be provided by a separate company Juha Labs, you will need to interface with Xavier, their project manager, to coordinate as they are building this system from scratch for Ronan Corp.
The specific requirements for the registration have been decided as Username, Password and Email address fields. The login will be based on username. And after sign up the air-pressure information system expects to receive the current location from Wiredcraft's frontend so they can return the air-pressure for this region.
Your team
In your team you have:
• A designer who can make mockups and flow diagrams of the login and air pressure dashboard and once confirmed, implement the frontend.
• A backend developer who can implement the backend of the login and help out integrating the login
• A frontend developer who can make the login and signup forms and implement the air pressure dashboard
• A dev-ops engineer who can set up the servers and take care of deployment.
Your Task
The first step of this task is for you to provide the following:
• Clarify the requirements and provide your understanding of the final scope for Wiredcraft's work.
• An initial project plan including:
• A work breakdown for Wiredcraft's integration with Juha Labs up to the final delivery
• a rough timeline of what you think needs to happen in this project and deliverables. You can use the methodology of your choice for this plan,
• Outline the project phases you would have and what should be delivered at each phase.
• The plan can be a few paragraphs of text and the timeline can also be made using Github markdown by outlining what needs to be done during each week.
• A rough outline of the process you would use for the day-to-day organisation of the development team and a short overview of how you would manage the communication flows internally and externally.
• You can also kick off with any questions to multiple people in one GitHub comment, I will answer likewise and bring up more cases to test your communication skills as we go along:
(Assume you have already been introduced to the client (@jwjason111) and stock market service vendor (@xzXavier222) ) and you can @myteam333 for questions to your development team)
e.g.
@xzXavier222 - Hi there, can I confirm with you the requirements for ...
@jwjason111 - I heard from xzXavier222 that they need to have xxx, does that mean we need to change ....
@myteam333 - I'm not clear on how xxx could work, can you tell me more about it?
@mpathiuk - For the test, I don't understand what you mean by xxx ...

Dear all,
Nice to meet you! Let me first of all describe on how I plan to proceed from this point. I initially want to clarify some requirements regarding the scope and then describe on how I would proceed in the further steps of planning this out. I don’t have the name of the project sponsor at this moment, so I will call him @sponsor444 from this point on.
@sponsor444 – Based on the project description we are now already in the planning phase of the project. I want to inquire whether there is a project charter summarizing the business case, initial requirements, the stakeholders plus their expectations, I could refer to in order to draft the scope statement. Regarding scope here is roughly what I learned:

Development of Frontend
Development of Backend
Taking care of everything server related
User dashboard with air pressure information
In the project details the client is expecting a geo location feature, but I cannot find any information about this in the team’s work scope. Can I safely assume that implementation of this feature is part of the client’s requirements and therefore shall be included in the project scope?
To avoid any scope creep and to commit to a realistic deadline and budget, I need to ensure our list of requirements is in line with the client’s expectations.

Here’s a rough breakdown of my further procedure from this point on:

After getting the specific list of requirements I would request a meeting between the client and whoever sold the project in order to confirm all requirements for scope, time and budget.
After gaining formal confirmation of these, I build a WBS and a RTM together with my team. I assume that at this point we have already calculated that outsourcing the part of the project with the air pressure information backend is the best solution, as opposed to doing it internally. Then I would inform the person responsible for procurement and define budget and cost.
@xzxavier222 - Another need for clarification I have is regarding the actual data about air pressure information. Is this something that needs to be purchased externally as well or is this freely available data, for which we merely provide an interface for the user? And if so, do we provide the data or is it procured by Juha Labs? Is the pressure data already linked with the geo location information or do these two systems need to be aligned?
I will ask my team to come up with a list of activities composing the work packages, as well as their dependencies, predecessors and successors.
I will ask each contributor to come up with risks they see, elaborate a risk register containing planned responses and draft a risk management plan.
Based on each system in the RTM I would define deliverables and organize the project in either an agile way or as a waterfall model, based on what I will have learned up to this point. My decision depends on the dependencies between the team member’s activities, whether we would want to deliver several components at the same time and how involved the customer is.
Define the critical path to come up with a detailed schedule.
Set up milestones in order to guarantee a quality review and customer approval in regular intervals.
Draft a communication matrix, including the parts that have been outsourced. Challenges I see here is that people do not work in an isolated way on their individual tasks, but rather that there is a constant need for alignment in order for those systems to work together in the interim as well as in the end. Another challenge is that a crucial part of the project is outsourced and thus doesn’t have collocated team members, which needs some further planning in terms of regular feedback loops. On top of that Ronan Corp is presumably expecting to be kept in the loop about progress as well and ideally needs to approve certain milestones in order for the project to move to the next project phase.
Draft a Project Management Plan containing all the required info Wiredcraft’s task description and submit it to the project sponsor for validation and official approval.
Kickoff and execute the plan.

I think we're getting a little too high level here. For the purposes of this test, let's assume that you have already agreed on project charter, scope and that the backend and frontend team can handle all the work in-house. We can assume budget and timeline have also already been agreed on.
The backend air pressure API is already being developed by Juha labs, our team will need to make the frontend integration and display dashboard for this info using the API provided by Juha Labs.
So what I'm looking for in the project plan is something that shows me that you know how software development projects unfold. A good example would be catching the dependency on the backend system being developed by Juha labs and making sure this is ready early enough so that we have time for our integration and testing.

Hello all,
I’m sorry this is taking me so long, but last week was an emergency. I’m back in China now and ready to finish this assignment ASAP.
To get right to it, I designed a WBS as well as a flowchart based on my assumptions. I would like to clarify further:
@myteam333 – Can you please give me a list of activities for the work packages I designed in the flowchart as well as their duration. I need this to come up with an overall duration, critical path and more detailed planning.
I would further like to ask you and confirm if I’m assuming correctly that frontend and backend development can start at the same time and that there will be an integration of both systems together for each page (signup, login …) before testing.
Regarding the Air Pressure API from Juha Labs, do we first need the vendor to provide this API before frontend development can start or is it possible to start independently and integrate them together once the vendor has finished? My current V1 flow chart is based on the assumption that there is no such dependency, but I can change that.
@xzxavier222 – Can you please let me know how long the development of the API will take and if there is anything you depend on from our side before you can start working on it?
Thank you very much!
Flowchart.pdf
WBS.pdf

From @myteam333:

Can you please give me a list of activities for the work packages
Assume you've received these and that everything fits within the timeline, for the purposes of the test we don't need to get into this level of detail.

Frontend and backend can proceed in parallel, however we need mockups completed and approved before we can start frontend work.
We'd need the API specifications before starting backend work and we'd need their staging delivery ready and matching the specifications 2 weeks before our delivery. We have reached out to the Juha Labs team and will receive the specs 1 week into the project. @xzxavier222 already confirmed that their staging release will come 3 weeks into the project.

Flowchart V2.pdf
Communication Table.pdf
Project Phases: Design; Coding; Testing, Review and Launch
Communication Media/Org:
Regarding an overview who should be in the loop for what part you can refer to the table I attached. As for communication media, it depends who is in the loop. For approval processes and reports, we would want to use a more “serious” medium as email in order to keep stakeholders informed and solicit their confirmation.
In terms of communication between the development team (and Juha Labs for the part they are involved in) I would chose a more instant media like chat rooms with dedicated channels or directly stay within Github. Physical proximity would be ideal, but that is not always possible.
Week 1: Design Phase
Deliverables to be approved:

Website Flowchart
Mockup
API Specifications
**Communication needs: **
The entire team including Juha Labs need to communicate their requirements to the designer, so he can complete the work on the flowchart and mockup in a way that satisfies all stakeholders’ needs. After approval of the deliverables the designer can be removed from the project.
Juha Labs needs to be informed that we expect them to commit to receive the API specs at the end of week 1.
The sponsor and the client approve the deliverables

Week 2 - 6: Coding
The Coding Phase consists of 3 sprints, each with their own deliverables.
The cycle for each sprint looks like this: Coding Frontend+Backend->Integration->Testing->Approval
Sprint 1 deliverables:

Approved Signup page
Sprint 2 deliverables:
Approved Login page
Sprint 3 deliverables:
Approved Dashboard Frontend + API
Servers ready to go
Requirement for starting sprint 3 is completion of sprint 2 as well as receipt of the API from Juha Labs.
My reasoning for putting the Dashboard/API as the last sprint is because I see some risk due to the having the API outsourced. Assuming we want to add additional time in order to accommodate this risk, we can start working on deliverable of sprint 3 starting at week 3 and would have until the end of week 6 to get it to work.
Based on the fact that everything needs to be ready for staging 2 weeks before final delivery, I will assume that Testing, Review and Launch will require 2 weeks.
Communication needs:
Juha Labs needs to be informed that we expect them to commit to receive the staging ready API specs at the end of week 3.
The sponsor and the client approve the deliverables of each sprint in order to kick off the next one
Dev-Ops must be aware that the servers should be set up and ready for deployment latest after week 6
Frontend Dev, Backend Dev must align requirements of their work packages in a frequency that makes most sense and keep me up to date on their progress in form of reports or meetings.

Week 7-8: Testing, Review and Launch
Deliverable: Approved end product
After all the components have been finished, they get uploaded onto the staging environment for final testing. After approval of the end product within the testing environment, everything get moved onto the live servers and approved again, first sponsor, then client.
Communication needs:

All parties involved (team, Juha Labs) in coding conduct testing and QA and communicate based on whichever problem arises in order to fix the issue
Sponsor approves final product before the client signs off

This would be my general approach to this matter, of course on a much less detailed basis than the real world project would be. Please let me know if I'm missing out on anything or if this is enough within this framework. Thank you!

Thank you @Franziskarrr , we have enough to proceed to the next phase. We will reach out for this by email. Closing this test as completed.


Distributed training on single machine stuck at the end of training.

The training process hangs at the end of training. The last checkpoint has been saved.
It seems .lock_map_hook should be removed after training. However when I look into the work dir, .lock_map_hook still exists. What is going wrong?

It seems this is a reproducible bug.

I agree that it may be an upstream issue, though we hardly encounter that.


MudNavMenu with MudNavGroup inside AppBar expands to the top offscreen

Bug type
Component
Component name
MudNavMenu
What happened?
Place a MudNavMenu with a collapsed MudNavGroup inside the app bar. When you click on the button to expand the NavGroup, the NavGroup expands up, with the top part of the NavGroup off the top of the page.
Looking at the page in DevTools, a style with "height:auto" is added when the NavGroup is expanded. If I remove this style in DevTools, then the expanded NavGroup is in the correct position.
NavGroup has expanded wit the top of the NavGroup off the top of the page.

Style added to the NavGroup that results in the behavior described

Removing the style results in the NavGroup expanding in the correct position for this use case (inside the AppBar)

Expected behavior
I would either like MudBlazor to automatically detect when the style should not be applied (I'm assuming the style is needed when this component is used elsewhere), or provide an option to control how the NavGroup is expanded.
Reproduction link
https://try.mudblazor.com/snippet
Reproduction steps

Place a MudNavMenu inside an AppBar
Add a MudNavGroup to the MudNavMenu
Click on the MudNavGroup's expand button.

Relevant log output
No response
Version (bug)
6.0.10
Version (working)
No response
What browsers are you seeing the problem on?
Chrome
On what operating system are you experiencing the issue?
Windows
Pull Request

[ ] I would like to do a Pull Request

Code of Conduct

[X] I agree to follow this project's Code of Conduct

MudBlazorFix.zip
@asalvo I ran into the exact same issue and found your bug report this morning. I fixed it by creating new classes that don't have that style assigned and it works fine. I have attached the files. Maybe someone will fix this, but since it's been 18 months and no one responded, I doubt it will be officially fixed.
Chuck B.


TextField: suffix_icon, prefix_icon and icon can be Control or str

Description

Properties suffix_icon, prefix_icon and icon now accept both strings (icon name) and Controls.

Fixes #4161
The alignment of suffix and suffix_icon is still different but that's how it is done in Flutter. Now control can be placed into suffix_icon or suffix or both and user can choose which layout better for their app.
Test Code
import flet as ft

def main(page: ft.Page):

    txtfield1 = ft.TextField(
        width=400,
        value='Default value',
        #text_size=10,
        icon=ft.icons.ARROW_DROP_DOWN,
        prefix_icon=ft.icons.ARROW_DROP_DOWN,
        prefix = ft.Icon(ft.icons.ARROW_DROP_DOWN),
        bgcolor=ft.colors.AMBER_100,
        text_vertical_align=ft.VerticalAlignment.CENTER,
        suffix_icon = ft.icons.ARROW_DROP_DOWN,
        suffix = ft.Icon(ft.icons.ARROW_DROP_DOWN),
    )

    txtfield2 = ft.TextField(
        width=400,
        value='Default value',
        #text_size=10,
        icon=ft.Container(bgcolor=ft.colors.RED, height=10, width=10),
        prefix_icon=ft.Container(bgcolor=ft.colors.RED, height=10, width=10),
        prefix = ft.Container(bgcolor=ft.colors.RED, height=10, width=10),
        bgcolor=ft.colors.AMBER_100,
        text_vertical_align=ft.VerticalAlignment.CENTER,
        suffix_icon = ft.Container(bgcolor=ft.colors.RED, height=10, width=10),
        suffix = ft.Container(bgcolor=ft.colors.RED, height=10, width=10),
    )

    page.add(ft.Row([txtfield1, txtfield2]))

ft.app(target=main)

Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[X] This change requires a documentation update

Checklist:

[ ] I signed the CLA.
[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] My changes generate no new warnings

[ ] New and existing tests pass locally with my changes
[ ] I have made corresponding changes to the documentation (if applicable)

Screenshots (if applicable):
Additional details

Do we need to add that to Dropdown and other controls using buildInputDecoration()?

@sourcery-ai review


Update doc [en]

@aldok10 Is this content from any translation system? If so, has the content been manually proofread? Or are these human translations?

Yes, I have corrected it manually after using the translator system. You can re-correct it if you want


Problem with

Framework7 version: 6.0.14
Platform and Target: Browser
Live Link or JSFiddle: PREFERABLY (IF YOU WANT YOUR ISSUE TO BE RESOLVED ASAP). You can start from forking the following JSFiddle template: JSFiddle

Describe the bug
Problem when i'm trying to use  html tag in
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Actual Behavior
Explain what is actually happening
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

Your issue is closed because it is not filled correctly. Before you open an issue please review the contributing guideline.
Please fill the issue template correctly and:

Clearly describe the issue including steps to reproduce when it is a bug.
Make sure you fill in the earliest version that you know has the issue.
Provide live link or JSFiddle/Codepen or website with isssue

It will save a lot of time for other contributors to check your issue and fix it.


mattermost export compliance - exportFrom should be in Epoch Milliseconds

Ran into this when using the compliance export from the command line.
In the docs we specifically say:

Unix timestamp (seconds since epoch, UTC) to export data from.

But this should be in milliseconds since Epoch.

Fix merged to docs.


Re-branding WSO2 Identity Server UIs guide contains incorrect code samples

Is your suggestion related to a missing or misleading document? Please describe.

In the document [1], sample code given in step 1 to copy in to header.jsp file contains invalid characters (LATIN SMALL LETTER A WITH CIRCUMFLEX character) instead of quote symbols.

Provided code

<%@include file=”../includes/localize.jsp” %>
<%@include file=”../includes/init-url.jsp” %>

In the document [1], sample code snippet given in step 2 does not match with the imports already available product-footer.jsp file copied from includes folder.

Available import in product-footer.jsp is as follows

<%@ page import="org.wso2.carbon.identity.application.authentication.endpoint.util.AuthenticationEndpointUtil" %>

But in the code provided in document referring to IdentityManagementEndpointUtil.i18n(recoveryResourceBundle, ...) instead of AuthenticationEndpointUtil.i18n(resourceBundle, ...)

Given sample code

XYZ Company | ©

                <a href="<%=IdentityManagementEndpointUtil.i18n(recoveryResourceBundle, "business.homepage")%>"
                   target="_blank">

                   <%=IdentityManagementEndpointUtil.i18n(recoveryResourceBundle, "Inc")%>

                . <%=IdentityManagementEndpointUtil.i18n(recoveryResourceBundle, "All.rights.reserved")%>

Describe the improvement

Change the code with quote symbols

<%@include file="../includes/localize.jsp" %>
<%@include file="../includes/init-url.jsp" %>

Provide sample code with AuthenticationEndpointUtil.i18n(resourceBundle, ...)

            <a href="<%=AuthenticationEndpointUtil.i18n(resourceBundle, "business.homepage")%>"
               target="_blank">

               <%=AuthenticationEndpointUtil.i18n(resourceBundle, "Inc")%>

            . <%=AuthenticationEndpointUtil.i18n(resourceBundle, "All.rights.reserved")%>

[1] - https://is.docs.wso2.com/en/5.10.0/develop/customizing-identity-server-uis/#step-4-edit-the-existing-header-and-footer-content

Should be fixed for IS 5.11 and 6.0.0


Gyro

New Feature:

Add register structures for both QMI8658A and QMI8658C
Handshake successfully.
Test Bench is available. (Register R/W; Refresh data in console).

Remaining Issue:

QMI8658A was mistakenly applied on board. (Hardware Failure).
Can NOT perform continuous updating.
Missing necessary delay during the initialization.

Approved


add function of Redis Bloom Filter for Jedis and Jedis Cluster

add function of Redis Bloom Filter for Jedis and Jedis Cluster

Is this part of a Redis module?. We don't usually add first class functions for Redis modules to the API.
You can extend Jedis and wrap it around a custom library for that.
@smadasu @gkorland thoughts?

I think redis bloom filter is use usually now.  So I hope you can add this functions.
But if you think this is not necessary, I can only wrap Jedis around a custom library.
thanks~~~
@marcosnils

@joyang1 please check https://github.com/RedisLabs/JReBloom/

@gkorland , I know this, this I can customize, but I want to use JedisCluster for Rebloom.
So I need use Jedis.
I think this is necessary to integrated with Jedis.
But if you think this is not necessary, I can only wrap Jedis around a custom library.
thanks~~~

@gkorland  I know, but JedisCluster is not customize, JedisCluster use Jedis class to read Redis server.
I hope you can let us to customize JedisCluster.
Thanks~~~

@gkorland  I want to do this PR in JReBloom.
But you need to let me Customize JedisCluster.
It's OK?

What about extending JedisCluster in JReBloom and add the methods here?


Add back VariantClassification to disinguish from VariantStudyStatement

For my use case, I need to be able to represent CIViC evidence and assertions. I don't think we have a model that makes this distinction.
Back in March, we had VariantClassification and VariantStudySummary to represent CIViC assertions and evidence respectively: https://github.com/ga4gh/va-spec/blob/4c14e9f7f033dce3b6701ecd0fccca415476fd76/schema/va-spec/core-im/core-im-source.yaml#L214-L237
It would be nice to do something similar again. We'd want to enforce having hasEvidenceLines and classification in VariantClassification, but these fields would not exist in VariantStudySummary. Both models would still inherit from Statement.
@mbrush @larrybabb @ahwagner thoughts?

This sounds correct to me; thanks for digging into this and recommending this. To add to this, I'm not aware of any datasets that would require hasEvidenceLines on a VariantStudySummary, but like the shared structure on subject predicate object qualifier that you would find on classification statements.

Hi @korikuzma Just dropping a line to let you know I see this, but am currently focused on the MAVE Profile work. I will share my thoughts/proposals for how the SEPIO / VA model might handle this in the next couple weeks, if that is OK.

@mbrush maybe it would make sense for @korikuzma to propose a solution here so we aren't gated by your availability? In VRS we often pass off issues arising from implementations to the reporting product developers.

Absolutely. I didn’t mean to imply that a proposal can’t be drafted in the meantime. Just that there’s a history of discussion and ideas around modeling CIViC data using SEPIO that I wanted to review in light of recent developments, and share for consideration.
I’ll drop a few thoughts and references here over the next couple days, and we can discuss/compare notes as your model drafts develop.
As for the idea of bringing back some intermediate abstract classes, happy to revisit this if you all think it is useful. But we’ll want to be careful that this has general utility beyond the immediate use cases, and doesn’t impede broader utility of the models and framework.

Hi @korikuzma -  I updated some of our earlier CIViC data example diagrams to reflect outcomes of recent VA profiling work - in particular ongoing MAVE Functional Impact profile efforts - and copied some relevant examples into the slides here.  These might be useful to consult as you draft additional profiles - in particular how content of a CIViC EID record might get split between VA Evidence Line and StudyStatement objects.   Feel free to reach out to me with questions.
We will be discussing/finalizing the MAVE Functional Impact profile work on a call Tuesday 10-22 at 2pm PT / 5pm ET. You are welcome to attend this call if Alex thinks it would be useful for you. Thanks!

@mbrush in your example, couldn't implementers still incorrectly add hasEvidenceLines to the civic:EID11797_study_statement (evidence item)? I think that is why we would like to split out these objects.

Yes - the questions here are whether this is something that needs to be constrained in the standard profiles, and if so, whether defining various abstract Statement subtypes as you propose is the best way to achieve this - given the consequences/implications this would have.  I don't know the answer here - just posing the questions.


Correctly parse a deeper menu structure

When MENU_SELECT_PARENTS is set to True, we want to set all elements up to the root to be selected.

Some Travis builds fail because of obsoleted/non available python versions?

I think I accidentally messed up this PR. I'll re-push your changes in #133


Consolidate JS validation code

We currently have 2 JS files that deal with form field validations. The original and most heavily used is utils/ariatiseForm.js. This file though only allows for validations to occur on form submit and does not allow for us to make fields 'validatable' based on certain scenarios (e.g. link text only becomes required when a user enters a link URL).
To deal with that scenario we created a utils/validations.js file which allows you to 'enable/disable' validations on a given control. With the intent of updating all form validations so that they use this new file and trigger a validation check when the user tabs off the field as well as when the form is submitted.
Our JS validation alerts are also not accessible #1446. We should address that while reconciling these 2 files.
These files are beginning to become out of sync and I fear will become maintenance nightmares as time goes by and new devs enter the mix. We should refactor utils/validations.js so that it is properly handling all use cases and then update all of the individual form js files to use it.

Discussed with the team and we will be removing the JS field validation logic and instead allow Rails to process validations and report back to the user. Now that we have proper model level validations in place this will simplify maintenance going forward.
Need to:

Update controller logic to return field level validation errors so that they can be displayed in the normal notification area.
Update JS to only provide support for the accessible autocomplete controls and to add the required field asterisks
Ensure that all necessary aria tags are on the appropriate fields

Am unsure if we can UAT this. Please advise what we should test if so

i dont think we can UAT exactly but would notice issues w/field form validations, etc if things were amiss. will close this issue and just be vigilant when testing all the things.


add PopupFormDialog Field

Popup 弹窗编辑时候, 可以自定义基于哪个Dialog弹出来, 解决Table如果放在弹出的Dialog, 再弹出EditForm 会导致Table所在的Editform消失的问题

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@vickyhcq 来个示例工程


Validate capabilities in OpenCL SPIR-V binaries

Extends the validator to not only check for Vulkan SPIR-V capabilities, but also for OpenCL SPIR-V ones. OpenCL 1.2 and 2.0 can ingest SPIR-V binaries thanks to the cl_khr_program_il extension, therefore add target environment enums for those.

The set of guaranteed capabilities is different between the OpenCL full profile and embedded profile, however there is currently no way to distinguish between them in SPIRV-Tools. Should we keep the current OpenCL target environment enums for the full profile, and introduce some SPV_ENV_OPENCL_EMBEDDED_x.y ones for embedded, or have SPV_ENV_OPENCL_FULL_x.y/SPV_ENV_OPENCL_EMBEDDED_x.y and get rid of the existing SPV_ENV_OPENCL_x.y ones?

I forgot to extend val_capability_test.cpp, my bad; I will do that later.

The set of guaranteed capabilities is different between the OpenCL full profile and embedded profile, however there is currently no way to distinguish between them in SPIRV-Tools. Should we keep the current OpenCL target environment enums for the full profile, and introduce some SPV_ENV_OPENCL_EMBEDDED_x.y ones for embedded, or have SPV_ENV_OPENCL_FULL_x.y/SPV_ENV_OPENCL_EMBEDDED_x.y and get rid of the existing SPV_ENV_OPENCL_x.y ones?

I suggest the first option.  Assume full profile, and make a special name for embedded profile.

I can't find the cl_khr_program_il extension text (!)

Maybe if I gave you the proper name, you would have found it: it’s cl_khr_il_program, not cl_khr_program_il 😓.
It is not part of the list of extensions found at https://www.khronos.org/registry/OpenCL/, but you can find its specification in the OpenCL 1.2 and 2.0 extension specification document. (It’s also not part of any OpenCL headers right now, I plan to open an issue about it on the OpenCL-Headers repo.)
I will update the pull request to include SPV_ENV_OPENCL_EMBEDDED_x.y enums and handle them.

I added the embedded profile but still didn’t touch val_capability_test.cpp. I’ll probably need to go in and update the target environments supported by some of the tools.

Please, take a look.
I believe it is now ready for review. There are a few things I am not 100% confident about the tests:

Is this enough?
Should I keep tests like “OpenCL22FullEnabledByCapability” when capabilities enabled by other capabilities are currently the same for every OpenCL version, so it doesn’t bring anything more than what “OpenCL12FullEnabledByCapability” is doing?

On a side note, I started adding OpenCL extensions to SPIRV-Tools but decided to leave it out of this pull request. I could take another stab at it if you prefer to have it part of this pull request, but it looked like it wouldn’t as easy as first thought, as there is no mapping between capabilities and extensions (for example, in “spirv.core.grammar.json”, capability “StorageBuffer16BitAccess” is associated to extenion “SPV_KHR_16bit_storage”.

Should I keep tests like “OpenCL22FullEnabledByCapability” when capabilities enabled by other capabilities are currently the same for every OpenCL version, so it doesn’t bring anything more than what “OpenCL12FullEnabledByCapability” is doing?

This is at your discretion.  It's fine to keep them.  It's informative and very explicit this way. It saves an inference or lookup into the relevant spec.

Rebased, squashed, and pushed into master as 12447d8465


disable docs deploy from circleci

we are migrating service providers and need to disable deployments of
docs

Where are docs going to?


Enable logging in Dashboard Event Creator

As the Event Creator is mostly used for debugging I feel that logging should be enabled by default.

I'll let @mpociot decide on this one.

If @mpociot won't see any downside I think it would be a smart choice. It took me some time to have the package properly work on production and having logging enabled by default would have saved me some headache. Thank you.

@micc83 Rebase?

@rennoki Sorry, some problem with global .gitignore on a new git setup. Should be alright now? Let me know.


Dynamic header matching in HTTPRoute

What would you like to be added:
A standard API for routing based on matching metadata derived from dynamically evaluated request headers.
Why this is needed:
Users want to be able to route HTTP requests based on a validated JWT associated with the request.
Istio, for example, supports this by using header names with a special prefix (@) in a httproute header match configuration, to indicate that the matching is not against a static header value, but rather the metadata associated with the validated JWT: https://istio.io/latest/docs/tasks/security/authentication/jwt-route/#configuring-ingress-routing-based-on-jwt-claims
Although Istio could support this in Gateway API routes with some implementation specific (e.g., prefix) solution, it would be better to define an optional standard API for this kind of routing in Gateway API.
Maybe simply allowing some prefix (e.g., @) in a header name to allow for  implementation-specific dynamic header matching would be minimally sufficient? Beyond that, defining some standard dynamic header names (like the one to use to match JWT metadata, for example) would also be nice to have in the Gateway spec.

This came up in a conversation between myself, @kflynn and @robscott a few weeks back and I have been slow at starting the write-up.
Looking across existing implementations (not all Gateway API of course) there are respectable differences that need to be surfaced.
Not to mention there are the two use cases of validation and claims checking.
Let me see how quickly I can get my current (and not polished) write-up checked in for review and to start the broader process.

I wonder if combined with here https://github.com/kubernetes-sigs/gateway-api/issues/2166 , a generalized case here is implementation specific routing - data plane provides some parameters which can be used to make a routing decision.
Perhaps something like this could work:
Client IP based routing:
  - matches:
      proxyKeys:
      - name: $client_ip # proxy specific
        type: CIDR # proxy specific
        value: <IP_ADDRESS>
    backendRefs:
    - name: backend-local
      port: 80

JWT claim based routing:
  - matches:
      proxyKeys:
      - name: $jwt_claim_group # proxy specific
        type: Exact # proxy specific
        value: group-1
    backendRefs:
    - name: backend-group1
      port: 80

Cookie based routing:
  - matches:
      proxyKeys:
      - name: $cookie_version # proxy specific
        type: Exact # proxy specific
        value: v2
    backendRefs:
    - name: backend-v2
      port: 80
```

Okay.
Time to check my doc in, though I am not really 'ready' - but the conversation is.
Where is the place to get the GEP checked in?

I think it comes down to: Policy with extensions, or Policy and Extensions.
There is a reusable part here that leads to Polic-y/ies

/remove-lifecycle rotten


Cannot build reference index

I am attempting to test graphmap using some human reads we just generated with a Minion.
I cloned and compiled the software as per the instructions and should be running the latest version in the master branch:
Version: v0.3.0
Build date: Aug 11 2016 at 17:06:03
I also downloaded the latest human genome build ( GCA_000001405.23_GRCh38.p8_genomic.fna from the GRC -- ftp://ftp.ncbi.nlm.nih.gov/genomes/all/GCA_000001405.23_GRCh38.p8).
I tried to map and just build the index with no success:

Build and map in 1 command:
$ graphmap align -K fasta -r /grc/genomes_db/GCA_000001405.23_GRCh38.p8_genomic.fna -d gt50k.fasta -o test.sam
[17:27:37 Index] Running in normal (parsimonious) mode. Only one index will be used.
[17:27:37 Index] Index is not prebuilt. Generating index.
[17:27:37 LoadOrGenerate] Started generating new index from file '/grc/genomes_db/GCA_000001405.23_GRCh38.p8_genomic.fna'...
[Fri, 12 Aug 16 00:27:37 +0000 FATAL] #5: Unexpected value found! Input sequence file format unknown!
In function: 'LoadSeqs_'.

[Fri, 12 Aug 16 00:27:37 +0000 FATAL] #5: Unexpected value found! Input sequence file format unknown!
In function: 'LoadSeqs_'.
Exiting.

Try to build index only as per the documentation:
$ graphmap align -I -r GCA_000001405.23_GRCh38.p8_genomic.fna
Reads file does not exist: ''

For detailed help, please run with -h option.
Example usage:
./graphmap align -r escherichia_coli.fa -d reads.fastq -o alignments.sam
GraphMap (c) by Ivan Sovic, Mile Sikic and Niranjan Nagarajan
GraphMap is licensed under The MIT License.
Version: v0.3.0
Build date: Aug 11 2016 at 17:06:04

Hi,
I will have to inspect this, but currently the servers are down for the next week or so because of holidays.
Could you try renaming your extension from 'fna' to 'fa' and re-running the first attempt?
Let me know how it goes.
Best regards,
Ivan.

Thanks for the suggestion Ivan, creating a symlink with a ".fa" extension fixed the problem!
Sam

Ok, good to know. I'll leave this issue open until I resolve the problem - this shouldn't be happening.
Thanks again!


Can't correct parse node.js native modules

I use fast-vite-electron, and enable nodeIntegration: true.
When i use chokidar to watch files' change, I found node.js native module, such as fs, path was wrapper as esm, i cause error:
Uncaught TypeError: promisify is not a function
    at node_modules/readdirp/index.js (index.js:9)
    at __require2 (chunk-ZNTI3VZZ.js?v=d533faec:48)
    at node_modules/chokidar/index.js (index.js:7)
    at __require2 (chunk-ZNTI3VZZ.js?v=d533faec:48)
    at dep:chokidar:1

and I debug it, found:

all the native node.js modules can't work well

@hermaproditus Hi, try to add your node.js native modules to esbuild external option, script/esbuild.options.ts:
//...
external: [
  "chokidar"
]
//...


[cppzmq] Add draft feature

Describe the pull request

What does your PR fix? Fixes #14611

Add draft feature
Note: Feature has passed with the following triplets:

x86-windows
x64-windows-static

Thanks @NancyLi1013 :)


Add code owners, dependabot, PR template, dependabot auto-merge

Taken from https://github.com/ConduitIO/conduit.

👏 We should do the same in other plugin repos! I wonder if we can somehow centralize it.

Agreed! I didn't dig into it, but from what I know about GH, template repositories come closest.


Preview: Upgrade to ocamlformat 0.26.0 (unreleased)

The formatting of module arguments changed and this cause large diffs on Irmin.
The aim of this commit is to gather feedback.
Changelog can be found here: https://github.com/ocaml-ppx/ocamlformat/blob/main/CHANGES.md

Thanks, the changes looks a lot better overall :)

Why the two additional spaces? It seems like the general rhythm is 2 spaces per indentation. Why should the arguments be indented twice under module (versus the original 1 for the include line).

This is the existing formatting for module arguments so changing it would cause huge diffs. A bigger indentation is used to disambiguate the arguments and the body.
The previous form that looked like that is a special case and still exists. The change is that it applies to modules with one arguments only:
  module Content_addressable (S : sig
    include Irmin.Content_addressable.S
  end) =
  struct

I'm good with this. Thanks again for the draft PR for feedback!

OCamlformat 0.26.0 has been released, this PR can be merged (not squashed due to .git-blame-ignore-revs) or closed if it's a bit too early to upgrade.


monitorJSON, get group

⚠ Please verify that this bug has NOT been raised before.

[X] I checked and didn't find similar issue

🛡 Security Policy

[X] I agree to have read this project Security Policy

📝 Describe your problem
Hello,
For the notification-provider.js, there is monitorJSON which has the monitor, and you can do monitorJSON.name
However, we have a nested monitor like:
Client
|-> Location
     |-> Firewall

When we receive an alert, it shows “Firewall” which is unhelpful. Is there a way we can get Client / Location?
📝 Error Message(s) or Log
No response
🐻 Uptime-Kuma Version
1.23.13
💻 Operating System and Arch
Ubuntu 22.04 x64
🌐 Browser
N/A
🐋 Docker Version
No response
🟩 NodeJS Version
No response

Related https://github.com/louislam/uptime-kuma/issues/3278


[MOB-7458] - Aligning iOS with Android

🔹 Jira Ticket(s)

MOB-7458

✏ Description
Config object
Enum for type
Removal of ViewDelegate and its methods

Will bug bash with this branch so we can work on this before merging into embedded

LGTM at least for today's bug bash.
A few points we need to address before release:

notification default is not aligned with Android. The background and border colors differ from the card and banner styles.
the second button is defaulting to this weird block button. it should be a button with a transparent background and the same color text as the first button. See the figma.
the second button background and border color should be configurable. I will add this to the android side.
the card view type should collapse when the image is not provided to align with the android side and the discussion I had with design (stephanie)

point 2 addressed


design-bundle-1: fonts and colors

Colors
Color for headings, formulas(try for now):
Serlo Blau
#007EC1

Fonts
Font for everything but the Formulas: Karmilla
We should use the TTF (no postscript, looks better I read).
Options:

put some effort in so that it works with pdflatex ( Instructions: 1, 2, 3, 4 )
or switch to XeLaTex or LuaLaTex

Code
I prototyped it with this code
\usepackage{fontspec}
\setmainfont[Ligatures=TeX]{Karmilla-Regular.ttf}

\usepackage{sectsty}% http://ctan.org/pkg/sectsty
\usepackage{xcolor}% http://ctan.org/pkg/xcolor

\definecolor{sblau}{HTML}{007ec1}
\allsectionsfont{\color{sblau}}

Screenshot
This is what it should look like :)

[ ] I need to add the german character ß in italic so we can use the italics as well!

Implemented in e020048e09e9e8fd64dc1332e7e24aa62b29f4ac. We switch to lualatex in e5c6c4b0e7dcfa083eaecdd1c00a8e93f2a4d234. @elbotho if you think everything regarding this issue is done, please close it. For new design suggestions, open a new issue.

I just saw that bold text is not rendered, I will work on that (it's easy).
More important: list bullets are not visible! Are they missing in Karmilla, too?

Added bold font in 2350919.

Great! Added the Bullet Points to my todo list.


add much much documentation

i started the wiki

Why not the Hex documentation?

Fair point. I would rather have the documentation in the hex docs as well.


MCMCDiagnostics.jl is depreciated

When precompiling a MimiGIVE project, the following warning is provided:

┌ Warning: MCMCDiagnostics.jl has been deprecated in favor of MCMCDiagnosticTools.jl.
│ (https://github.com/TuringLang/MCMCDiagnosticTools.jl/) and is no longer
│ maintained.
└ @ MCMCDiagnostics C:\Users\bparthum.julia\packages\MCMCDiagnostics\uVCwA\src\MCMCDiagnostics.jl:4

Is there an alternative dependency that can substitute for this one?

@bryanparthum FYI @tonyewong has fixed this in the main of CIAM, but other data updates also mean that this untagged CIAM version will likely produce damages that diverge from our current work. @davidanthoff we should talk as a group perhaps about when it is appropriate to bring that in to a new GIVE with a new major version.
@bryanparthum I recognize this doesn't help you much with the error in code you want to still perfectly replicate Rennert et. al. 2022 -- happy to discuss offline.