About Dialog OS Version

Summary of the Pull Request
Adds the user's full Windows version to the About dialog page. This reduces the amount of work a user must perform to open an Issue.

References
https://docs.microsoft.com/en-us/windows/win32/sysinfo/getting-the-system-version

PR Checklist

[x] Closes #3616
[x] CLA signed. If not, go over here and sign the CLA
[ ] Tests added/passed
[ ] Requires documentation to be updated
[x] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #3616

Detailed Description of the Pull Request / Additional comments
PR adds a function _GetWindowVersion to TerminalPage which queries the version of an important Sytem32 DLL. The About dialog page uses this function to query the system version. While the referenced link on getting the Windows version suggests querying kernel32.dll, I found its version number was inconsistent compared to the version given when ver is run in a cmd terminal. This implementation queries KernelBase.dll instead which gives the correct version.
PR also changes the Windows Terminal version line to read WT Version: x.x.x.x to clearly differentiate the OS and WT versions.

Validation Steps Performed
To validate the correctness of the About dialog OS version:

Run the command ver in a cmd terminal
Open the About dialog page in WT
Compare the two Windows version numbers

To test error checking and case where DLL does not exist, I replaced KernelBase.dll with does_not_exist.dll and re-ran WT and got the expected OS Version: <IP_ADDRESS> <arch>.

Some thoughts:

WT may be "Windows Terminal".
RtlGetVersion can be used which gets version from PEB.
Add the architecture for both Windows and Windows Terminal.
A small logo and/or copyright and/or GitHub repo link can be added.

@Biswa96 RtlGetVersion would require introducing a new external dependency which seems a little overkill for this feature. The three hyper links in the About body link to the WT repo. As for the architecture, if you know a good way of querying the system architecture, I'd be up for adding it.

RtlGetVersion is from ntdll which may not be any overhead. For architecture, GetSystemInfo or GetNativeSystemInfo may be used.

Unless I'm mistaken to use RtlGetVersion, header file(s) wdm.h or Ntddk.h are required. Both of which are not present in the External Dependencies of TerminalAppLib. I'm looking into adding the architecture, thanks for the links.

If you can, you might want to try your changed Terminal in Windows 10 version 1909 (the November 2019 update).
I'm worried it will not correctly report the Windows build number of 18363 for that version - because of the way 1909 is delivered (it is 1903 plus a small "enablement package" update to change a feature flag value), all Windows file versions in 1909 match those of 1903. Hence, if you check kernelbase.dll's version, you'll get 1903's build number of 18362.

Also, while @Biswa96 is correct that RtlGetVersion() is exported from NtDLL.dll and thus can be used from user-mode programs, that fact is not documented. Which could put you in a bit of trouble, unfortunately - there are good reasons why RtlGetVersion() is not documented as usable from user-mode code, but that fact breaks your use case.

@metathinker updated to Windows version 1909, and as you expected the update was not reflected in the DLL. However, the ver command in cmd and Version under System Information didn't picked up the version change either.

RtlGetVersion() isn't undocumented. One can mention the function signature atop of the calling function. And linker will do the rest. Also it doesn't depend on any file, the members of output struct comes directly from PEB.

I apologize for sounding nitpicky, but when programs start doing things that Microsoft doesn't support for use outside of Windows itself, they rapidly create trouble for themselves and for Microsoft's Windows application compatibility team.

RtlGetVersion() isn't undocumented.

Only the kernel-mode version of RtlGetVersion in ntoskrnl.exe is documented. The user-mode version in ntdll.dll is undocumented, as is almost every function exported by ntdll.dll.

One can mention the function signature atop of the calling function. And linker will do the rest.

Yes, you can do that, but that doesn't mean you should. RtlGetVersion is probably okay, but if you start calling things like NtDirectGraphicsCall (to pick a random export from ntdll) then you are going to be in real trouble in a few years, or less if you're lucky.

Also it doesn't depend on any file, the members of output struct comes directly from PEB.

It's true that the user-mode version of RtlGetVersion merely reads the process environment block. But there is a good reason we (Microsoft) don't document the version number fields in the PEB so you could just read from it yourself: We don't want people checking the version of Windows.
Inevitably people do version checks wrong, so often that we added a feature to Windows such that documented version-check APIs lie to you by default. As it happens, calling RtlGetVersion is currently a way to bypass that check. But it is undocumented precisely to tell you "maybe you should try another path".

@metathinker and @Biswa96 thanks for all the feedback and info. I'll start looking into implementing this with RtlGetVersion.

@mkitzan sorry -- i think the message was corrupted in transit. I don't think we should move forward with RtlGetVersion just yet :smile:

@DHowett-MSFT probably was haha. I'll hold fast then, thanks.

A suggestion. Given that we don't want to use RtlGetVersion, and that the version of the system DLLs is no longer guaranteed to reflect the accurate system build number, is there any reason why we cannot read the CurrentBuild value under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Windows NT\CurrentVersion? AFAICT, this Registry value is always reflects the current Windows build number, and that is all I would really need to ask for to diagnose an issue.
The full 10.0.xxxxx.yyy number is (a) superfluous, as Cascadia won't run on downlevel Windows versions anyway, so we can safely assume that the 10.0 part will always be present; and (b) changelogs for the updates that bump the yyy patch number aren’t available outside of Microsoft AFAIK, so as an external contributor it would be meaningless.

I have a nitpick that hopefully might be accepted from a visual perspective. Could we make "WT Version" and "OS Version" display in bold?

I am asking the expert on Windows OS versioning what the most appropriate way is to retrieve this data. I know that checking kernelbase.dll is not it. But I forget which way is the right way. When he answers, we'll do that one.

I am asking the expert on Windows OS versioning what the most appropriate way is to retrieve this data. I know that checking kernelbase.dll is not it. But I forget which way is the right way. When he answers, we'll do that one.

FYI, I am pretty sure his answer is going to be "don't check the OS version for anything."
I'm also not certain that we have anything in here that is strictly dependent on the OS version anymore.

FYI, I am pretty sure his answer is going to be "don't check the OS version for anything."

I'm also not certain that we have anything in here that is strictly dependent on the OS version anymore.

We still require the OS Version for submitting issues, which is what this PR is addressing. A problem brought up for Terminal may in fact be for ConPTY or conhost but with the About Dialog, we can quickly copy/paste the OS Version so in future versions of Windows, we can still quickly determine if the issue brought up was resolved already or even a potential regression.

This is a brain dead hack, but we probably could open a ConPTY connection, have it execute ver, and just spit back the results to About.

I have heard the word of our savior, the OS versioning master himself.

Don't do it because you probably don't need it.
If you want to present a build number and you have to, apply the manifest declaring that you know about Windows 10 (see SupportedOS on this page: https://docs.microsoft.com/en-us/windows/win32/sbscs/application-manifests) and call GetVersionEx and show the number out of that.

Bless the OS versioning master 🙏
I'll look into getting option #2 working, unless the big brain move is option #1.

Well... calling GetVersion() instead of RtlGetVersion() will subject you to the version lie by default that I mentioned above, and the manifest opt out only works for a particular major version of Windows, but as long as Windows' main version is stuck at 10, I doubt that will matter :)
I believe you'd want to modify this file: https://github.com/microsoft/terminal/blob/master/src/cascadia/WindowsTerminal/WindowsTerminal.manifest
to add the GUID for Windows 10 as shown here:
https://docs.microsoft.com/en-us/windows/win32/w8cookbook/windows-version-check
Or at least you would so modify that file, but it already appears to have the right <supportedOS> element for Windows 10, so it may not need to be changed.

as long as Windows' main version is stuck at 10, I doubt that will matter :)

Correct. That's why we're going to prefer using the more supported-from-user-mode-code GetVersionEx over jumping straight to the DDK's Rtl version.

Thanks for the supportedOS GUID check/info @metathinker, good to know the manifest already should be set for Windows 10. I'll try getting GetVersionEx working, but I swear I tried it much earlier.

Gave it shot, and now I remember why the function was familiar... GetVersionEx is deprecated so the build won't compile.

Gave it shot, and now I remember why the function was familiar... GetVersionEx is deprecated so the build won't compile.

Nnnnnnn.
#pragma warning(suppress:4996) // Better the deprecated official API than the Rtl or some other more complex and less reliable method of getting the version so people can put it in the bug template. Also, I'm pretty sure an oil tanker will explode in the gulf of somewhere if we ever actually remove this API from Windows.
Or we should just give it up and take the version number out of the template or something.
@DHowett-MSFT, opinion?

I'm okay with the suppression. The value in having the OS version is reduced every time we take a component out-of-box, though, so I dunno if we even need this. It is nice to have a one-stop shop for version numbers though.


Change dev network chain ID to 1337

Change dev network chain ID to 1337

PR description
changed the dev network chain ID to 1337 instead of 2018 so that users can connect to Metamask "localhost 8545" network preset using default chainid settings
Fixed Issue(s)

fixes #2121
Changelog

[ ] I thought about the changelog and included a changelog update if required.

There's just a few tests that need updating @manoj1222 :)

@RatanRSur @macfarla as all checks are passed, please merge this. Thank you

I don't see a button to merge from master. Perhaps there are conflicts? I enabled auto-merge so if you merge the latest master and push it up here, it should squash and merge back to master.


Types no longer narrowed as expected

Bug Report

🔎 Search Terms

🕗 Version & Regression Information

Regression in: 4.7.0-dev.20220325
Works in 4.7.0-dev.20220323

⏯ Playground Link
Playground currently doesn't show the error:
Playground link
💻 Code
function deepEquals<T>(a: T, b: T): boolean {
    if (typeof a !== 'object' || typeof b !== 'object' || !a || !b) {
        return false;
    }
    if (Array.isArray(a) || Array.isArray(b)) {
        return false;
    }
    if (Object.keys(a).length !== Object.keys(b).length) { // Error her
        return false;
    }
    return true;
}

🙁 Actual behavior
The calls to Object.keys generate errors:
No overload matches this call.
  Overload 1 of 2, '(o: {}): string[]', gave the following error.
    Argument of type 'T' is not assignable to parameter of type '{}'.
  Overload 2 of 2, '(o: object): string[]', gave the following error.
    Argument of type 'T' is not assignable to parameter of type 'object'.

🙂 Expected behavior
No errors

This code previously worked for us in VS Code but is now causing around 11 errors in our codebase

It seems to be caused by https://github.com/microsoft/TypeScript/pull/48366, which is tagged as "Breaking Change".

CC @weswigham
Looks like the following will work
function deepEquals<T extends {} | null | undefined>(a: T, b: T): boolean {
    if (typeof a !== 'object' || typeof b !== 'object' || !a || !b) {
        return false;
    }
    if (Array.isArray(a) || Array.isArray(b)) {
        return false;
    }
    if (Object.keys(a).length !== Object.keys(b).length) {
        return false;
    }
    return true;
}

and so will
function deepEquals<T extends object | null | undefined>(a: T, b: T): boolean {
    if (typeof a !== 'object' || typeof b !== 'object' || !a || !b) {
        return false;
    }
    if (Array.isArray(a) || Array.isArray(b)) {
        return false;
    }
    if (Object.keys(a).length !== Object.keys(b).length) {
        return false;
    }
    return true;
}

but not
function deepEquals<T extends unknown>(a: T, b: T): boolean {
    if (typeof a !== 'object' || typeof b !== 'object' || !a || !b) {
        return false;
    }
    if (Array.isArray(a) || Array.isArray(b)) {
        return false;
    }
    if (Object.keys(a).length !== Object.keys(b).length) {
        return false;
    }
    return true;
}

Note that the first two only likely work due to @ahejlsberg's change in https://github.com/microsoft/TypeScript/pull/43183. I don't know if we're willing to do something special for unknown.

Playing around with a fix here FWIW
https://github.com/microsoft/TypeScript/pull/48576

The Generic type without constraint is vague, hence with the extends keyword you clearly state what you want that Generic type to be, which is the reason for Typescript.


upgrade bs-platform to 4.0.6

Isn't it best practice to use a lock file for yarn or npm? If not and you prefer not to use them, should it be in the gitignore so other contributors don't redo this mistake?

The only dependency is bs-platform, which is a build tool, not a "normal" dependency, a devDependency that is overridden by consuming projects, and is expected by its author to always be the latest anyway. And even globally installed and linked into projects.
It doesn't matter much if it's included in PRs either, since it's easy enough to remove. And whether it's gitignored or npms lock file is committed doesn't matter much to me. But yarn.lock would go stale since I don't use it.

If you add the specs back, or confirm it works without them, I'll merge.

That makes sense. I'll restore the setting to be explicit about it.

Didn't see this PR here, but when it's merged, it will fix #20.


Add badges for CI and whatnot

We should add badges for license, maven central, travis ci, code coverage, etc. Similar to DBZ's badges in their readme:
https://github.com/debezium/debezium

Looks like @skyzyx's gotten started on that with https://github.com/wepay/kafka-connect-bigquery/pull/7; Ryan, would you be willing to add a badge for Maven Central to the PR?

Sure. What's the location/name?

@skyzyx The Maven Central repo is here; group ID "com.wepay", artifact ID "kafka-connect-bigquery".

This is now available in PR #9.


Recovery mechanisms for incidents

It is still not clear what a good incident response framework and interfaces should be for cross-chain applications. [Some info in our recent paper ](https://www.techrxiv.org/users/687326/articles/691934-sok-security-and-privacy-of-blockchain-interoperability(more). We expect the requirements of this issue to be clearer in the next months.
Requirements:

Define processes that deal after a violation for the cross-chain model has been solved(and their different scenarios). Processes should include recovery mechanisms (such as revert transactions, update allow and deny lists, etc)
Implement recovery mechanisms in the smart contract
Implement recovery mechanisms in SATP core, namely the ability to send transactions to the bridge that trigger the recovery, and messages to counterparty gateways
Expose endpoint in SATP that administers the recovery mechanisms (for example, manually contacting counterparty gateway)
Update Prometheus metrics for incidents (time to resume normal operations, e.g., volume)

I will do this task.


Please add a pre-setup-local option

pre-deploy-local allows running commands on the local machine before deploy but that doesn't exist for setup. Having a pre-setup-local option would be very convenient for running scripts locally to set up the git repo and provide symmetry with deploy.

This would be really good, i'm amazed it doesn't exist yet...


How to create a new repository

We should include instructions for how to create a new repository

Closed with #26


Firefox no longer installing causing Repice compile error

After the update to 1.2.0 we are no longer able to use the selenium_grid::node recipe as Firefox is no longer installing.
This was testing on Windows 8 provisioning with chef-solo, Ubunutu 14.04 and 16.04 through Vagrant.
The following error is presented:
11:15:46 ==> default:   Mixlib::ShellOut::ShellCommandFailed 11:15:46 ==> default:   ------------------------------------ 11:15:46 ==> default:   Expected process to exit with [0], but received '255' 11:15:46 ==> default:   ---- Begin output of firefox -v | more ---- 11:15:46 ==> default:   STDOUT:  11:15:46 ==> default:   STDERR: 'firefox' is not recognized as an internal or external command, 11:15:46 ==> default:  11:15:46 ==> default:   operable program or batch file. 11:15:46 ==> default:   ---- End output of firefox -v | more ---- 11:15:46 ==> default:   Ran firefox -v | more returned 255
We have switched our cookbook to use mozilla_firefox 1.1.1 and this is now working.

Thanks, this is now fixed in v1.2.1


Redirect signed up users to Slack

Redirects user to Slack organization URL if they already have a working Slack account.
What do I need to do to get this ready to merge? Are there any contribution guidelines to follow?

Awesome work.


Editable install with Pipenv install -e . is not editable

$ python -m pipenv.help output
Pipenv version: '11.9.0'
Pipenv location: '/usr/local/lib/python3.5/dist-packages/pipenv'
Python location: '/usr/bin/python3'
Other Python installations in PATH:

2.7: /usr/bin/python2.7

2.7: /usr/bin/python2.7

3.5: /usr/bin/python3.5m

3.5: /usr/bin/python3.5

3.6: /usr/bin/python3.6m

3.6: /usr/bin/python3.6

2.7.12: /usr/bin/python

2.7.12: /usr/bin/python2

3.5.2: /usr/bin/python3

PEP 508 Information:
{'implementation_name': 'cpython',
 'implementation_version': '3.5.2',
 'os_name': 'posix',
 'platform_machine': 'x86_64',
 'platform_python_implementation': 'CPython',
 'platform_release': '4.4.0-79-generic',
 'platform_system': 'Linux',
 'platform_version': '#100-Ubuntu SMP Wed May 17 19:58:14 UTC 2017',
 'python_full_version': '3.5.2',
 'python_version': '3.5',
 'sys_platform': 'linux'}

System environment variables:

USER
LS_COLORS
JAVA_HOME
PATH
SPARK_CONF_DIR
PYTHONDONTWRITEBYTECODE
HOME
LESSOPEN
SHELL
HISTCONTROL
PS1
HADOOP_HOME
LESSCLOSE
J2SDKDIR
LANGUAGE
MAIL
HADOOP_CONF_DIR
RBENV_SHELL
LANG
LOGNAME
MYPYPATH
TERM
DERBY_HOME
J2REDIR
PIP_PYTHON_PATH
HIVE_HOME
SPARK_HOME
PYTHONPATH
HISTTIMEFORMAT
SHLVL
PWD
YARN_CONF_DIR
CMF_CONF_DIR
_
SSH_TTY
HIVE_CONF_DIR
SSH_CLIENT
SSH_CONNECTION
PYTHONUNBUFFERED
PYSPARK_PYTHON

Pipenv–specific environment variables:
Debug–specific environment variables:

PATH: /home/bvincent/hadoop/bin:/home/bvincent/hive/bin:/home/bvincent/spark/bin:/home/bvincent/.local/bin:/home/bvincent/.chefdk/gem/ruby/2.1.0/bin:/opt/chefdk/bin:/home/bvincent/.rbenv/plugins/ruby-build/bin:/home/bvincent/.rbenv/shims:/home/bvincent/.rbenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin:/usr/local/go/bin
SHELL: /bin/bash
LANG: en_US.UTF-8
PWD: /home/bvincent

Expected result
The install uses a symlink so that my code can be edited and re-run without re-installing.
Actual result

A duplicate of my code appeared in the virtualenv's src directory. It is not a symlink.

The Pipfile.lock contains a reference to a specific commit of my code's Git repository, which implies that a separate copy is cloned.

...
"mypackage": {
    "editable": true,
    "git": "git@github.com:myorg/my-package.git",
    "ref": "a30098a534d2ccb41sb907db3ef2a8c0cda2460c"
},
...

Steps to replicate
Note that there are 2 other packages in my Pipfile that are also editable installs from Git.
git clone git@github.com:myorg/my-package.git
cd my-package
pipenv install -e .
# Edit mypackage/__main__.py with text editor...
diff mypackage/__main__.py $(pipenv --venv)/src/mypackage/__main__.py

There is a diff. And running the code using pipenv run python -m mypackage uses the copy located in the virtualenv, not the repository where I executed pipenv install -e ..

Since this issue is closed, is it a safe assumption that this is a "won't fix", i.e. if someone submits a pull request to address the issue, would it be reviewed and potentially accepted for release?
If a fix is welcome, would it make sense to keep this issue open in case someone wants to work on it?
Thanks in advance for all the effort put into pipenv!


build: enable post merge workflow

DCMAW-10665: Enable post merge workflow

Break down post-merge workflow into individual steps
Provide actions to upload to Play Store
Edit steps to allow configuration of working directory and pipelines directory

I haven't finished reviewing, I have just been interrupted by a meeting. I will get back to it as soon as possible.


locale missing from wheelroom-config.d.ts when getting started

Hi team!
I've been giving a shot at the getting started guide but faced a compilation exception in src/config/wheelroom-config.d.ts when running npm run compile-config at this step.
Here's the output:
><EMAIL_ADDRESS>compile-config /Users/hervelabas/Dev/wheelroom/testwheelroom
> tsc --project src/config/tsconfig.json

src/config/wheelroom-config.ts:7:14 - error TS2741: Property 'locale' is missing in type '{ commonFields: WheelroomFields; components: WheelroomComponents; fieldDefaults: FieldDefaults; plugins: ({ options: { contentSets: { ...; }; fieldDefinitions: ContentfulFieldDefinitions; replaceSets: ReplaceSets; templateSets?: undefined; }; resolve: string; } | { ...; })[]; }' but required in type 'WheelroomConfig'.

7 export const config: WheelroomConfig = {
               ~~~~~~

  node_modules/@wheelroom/wheelroom/dist/types/wheelroom-config.d.ts:14:5
    14     locale: string;
           ~~~~~~
    'locale' is declared here.

Found 1 error.

Adding locale: 'en-US' (or whatever locale is in the space) makes it work.
I'd suggest putting this as a default.
I'm using Node v14.3.0 on MacOS Catalina 10.15.4 if that's of any use.
--
EDIT: added environment details

Thanks for getting back to us! We started a small refactor last monday in the refactor/pageSection branch as described in #105. That refactor took a little longer than the 1 day we expected ;-)
This bug is fixed in the refactor branch. That branch became a major cleanup which will greatly improve how to update to a new version. We hope to merge this within a couple of days!


Changed tests to avoid truncate and decouple them a little bit

Now each test file will have to create its own data in the before hook and will be responsible for cleaning up in the after hook.
Will avoid truncate function from now on because of problems that might arise in the future (constraints/foreign keys).

retest this please

Jenkins y u do dis


How does portainer work with persistent volume?

How does persistence works with portainer? I followed instructions and mapped volume into container and I don't see any data inside that directory on host. All I see "TLS" subfolder created and it's all empty.
I launched portainer as below
 docker run -d -p 80:9000 -v e:\data\portainer:c:\data portainer/portainer:windows
Here is contents of the folder. I expected to contain may be some data with endpoints and usernames etc.
PS C:\Users\admin> Get-ChildItem -Recurse e:\data\portainer

    Directory: e:\data\portainer

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----        3/24/2017   8:39 AM                tls

Indeed, it should be persisted. Could you retry with the latest portainer image? Use portainer/portainer.

Running with no "windows" tag produces error below in log. Looks like it's trying to run unix container?
docker run -d -p 80:9000 -v e:\data\portainer:c:\data portainer/portainer --no-auth
panic: runtime error: slice bounds out of range                                                                                goroutine 1 [running]:                                                            panic(0x7e2060, 0xc042016020)                                                            /usr/local/go/src/runtime/panic.go:500 +0x1af                              syscall.Readlink(0x854e8b, 0x7, 0xc042142f00, 0x80, 0x80, 0x0, 0x0, 0x0)                 /usr/local/go/src/syscall/syscall_windows.go:1031 +0x3a9                   os.Readlink(0x854e8b, 0x7, 0xa40ca0, 0xc042031a40, 0x0, 0x0)                             /usr/local/go/src/os/file_posix.go:21 +0x94                                os.Stat(0x854e8b, 0x7, 0x0, 0x0, 0x7, 0xc04219fb00)                                      /usr/local/go/src/os/stat_windows.go:72 +0x9e                              github.com/portainer/portainer/bolt.NewStore(0x854e8b, 0x7, 0x854e8b, 0x7, 0x0)          /go/src/github.com/portainer/portainer/bolt/datastore.go:52 +0x1ce         main.initStore(0x854e8b, 0x7, 0xa3e580)                                                  /src/cmd/portainer/main.go:39 +0x4d                                        main.main()                                                                              /src/cmd/portainer/main.go:108 +0xaa

Yup, pull the latest image first:
docker pull portainer/portainer

I already have it
PS C:\Users\admin> docker images
REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
portainer/portainer   latest              128182dc81db        9 days ago          943 MB
portainer/portainer   windows             484572f86ccd        2 months ago        884 MB

Something to do with volume mapping. Without -v it works fine

Here is reproduction steps if needed.
PS C:\Users\admin> docker run -d -p 80:9000 -v e:\data\portainer:c:\data portainer/portainer --no-auth
3f7688cf1a883d08b6513993240c4a5ab2aa014afa533a4378f93c49eeeea80f
PS C:\Users\admin> docker ps -a
CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS                         PO
RTS               NAMES
3f7688cf1a88        portainer/portainer   "/portainer.exe --..."   10 seconds ago      Exited (2) 9 seconds ago
                  vibrant_khorana
878aacf42b61        portainer/portainer   "/portainer.exe --..."   25 hours ago        Exited (1067) 50 seconds ago
                  gallant_hopper
PS C:\Users\admin> docker logs 3f --details
 panic: runtime error: slice bounds out of range

 goroutine 1 [running]:
 panic(0x7e2060, 0xc042016020)
        /usr/local/go/src/runtime/panic.go:500 +0x1af
 syscall.Readlink(0x854e8b, 0x7, 0xc04215ef00, 0x80, 0x80, 0x0, 0x0, 0x0)
        /usr/local/go/src/syscall/syscall_windows.go:1031 +0x3a9
 os.Readlink(0x854e8b, 0x7, 0xa40ca0, 0xc042037a40, 0x0, 0x0)
        /usr/local/go/src/os/file_posix.go:21 +0x94
 os.Stat(0x854e8b, 0x7, 0x0, 0x0, 0x7, 0xc0421bb920)
        /usr/local/go/src/os/stat_windows.go:72 +0x9e
 github.com/portainer/portainer/bolt.NewStore(0x854e8b, 0x7, 0x854e8b, 0x7, 0x0)
        /go/src/github.com/portainer/portainer/bolt/datastore.go:52 +0x1ce
 main.initStore(0x854e8b, 0x7, 0xa3e580)
        /src/cmd/portainer/main.go:39 +0x4d
 main.main()
        /src/cmd/portainer/main.go:108 +0xaa

While below command (without -v) works fine
docker run -d -p 80:9000 portainer/portainer --no-auth

Yes, I removed active endpoint. UI does not restrict you from doing it.

I think this issue is related with Golang 1.7 on Windows. I'll try to investigate if this has been fixed in Golang 1.8 and push an image for you to test soon.

@artisticcheese could you give a try to the image portainer/portainer:fix720 ?

Yes, this works

Ok, I'll keep this issue open until I make the changes in the next release.

But what you provided fix720 tag did in fact fix the issue.

Build images have been updated via https://github.com/portainer/golang-builder/commit/ff5108c031d90ebd02c450372212c45f4f8cb327


Perlectomy

What does this PR (Pull Request) do?

[x] This PR closes #3229 and fixes #3724

This PR removes the Traffic Ops Perl codebase. It does not remove API v1 from the Go server.
Which Traffic Control components are affected by this PR?

CDN in a Box
Documentation
Traffic Ops

What is the best way to verify this PR?
Make sure the tests pass; the CiaB build proves that at least a minimal CDN can run without Perl.
The following criteria are ALL met by this PR

[x] This PR includes tests OR I have explained why tests are unnecessary
[x] This PR includes documentation
[x] This PR includes an update to CHANGELOG.md
[x] This PR includes any and all required license headers
[x] Tthis PR does not include a database migration
[x] This PR DOES NOT FIX A SERIOUS SECURITY VULNERABILITY

Do we need these files in the repo?

Also, the log files for perl? Should we delete them?

Yes, we do need the checks, still. People use those - for what I'm not sure, but they do run. They just make calls to the Traffic Ops API, so they should be unaffected if they're using supported API versions.
I do think we can get rid of log4perl configuration files under traffic_ops/app/conf/ - so I'll do that - but I don't know what getting rid of that Jinja2 template will do to the Ansible stuff. Those playbooks are pretty much "experimental" in my estimation, so I'm happy to leave them alone for now.

Since perl is removed, we need to removed it from README too

Also, build-traffic_ops.logs and build-traffic_ops_ort.log should remove installation steps for perl

ciab-rst needs a cleanup too

traffic_ops.rst under admin and development folder need cleanup wrt traffic_ops-perl reference
need to remove perl module installs from ciab/mid/Dockerfile

Perl module installs in the CiaB's "mid" Dockerfile are unrelated to Traffic Ops Perl, they're dependencies of the traffic_ops_ort RPM.
The build-traffic_ops.log and build-traffic_ops_ort.logfiles are not checked into the repository. They're generated bypkg` when you build RPMs; they're literally just the logs from the Docker containers that build each component.

Also, are these two folders required?

What about this image?

LGTM
Successfully tested api/v2/v3/v4 TO tests and TP/end-to-end on local CIAB with latest rpm and images.
Required Perl files have been removed and code modified correctly to ensure TO-Perl is no longer required.
PR can be merged once all the checks have successfully passed.

PR is good for merge.

👍 Nice work!

RIP Perl

Does this mean we will also migrate traffic_ops_golang to just traffic_ops at some point?

I have a branch for that - I think it's called "making-go-a-first-class-citizen" or something - but it's woefully out-of-date.
Upshot is: I'm gonna try, at some point.

Full command to reproduce that error:
RHEL_VERSION=7 docker-compose build trafficops

Nice work!


replace black with ruff

I don't personally care too much about the Black vs Ruff debate in terms of usage.
Ruff does what black does at this point and more and we're using both so unless there is a concern, we can remove black as a dependency.
To Complete

[ ] Remove references to black in documentation
[X] Remove using black in any github actions

so remove and update black references from these files?

.devcontainer/devcontainer.json

.github/CONTRIBUTION.md


[verilator] Bypass or speed up UART for logging

In Verilator simulations we currently use the UART peripheral and the uartdpi BFM to transfer log messages from device software to the user. This approach is rather slow, with a single line of text in a LOG_INFO() call taking easily 50k simulated cycles, which at 10 kHz simulation speed results in 5 seconds wall-clock simulation time.
I didn't profile further where the slowdown really comes from, some of it will be from printf() processing, a bit of slowdown is by design (transferring a single character should take around 7200 baud/150 kHz = 20 cycles).
The same of course applies to production software, however, 50k cycles easily go unnoticed at higher clock frequencies, e.g on FPGA builds.
We need to see where the slowdown actually comes from, and then either fix it, or (if no other way can be found) switch the Verilator simulation to use a approach similar to what DV logging is using.

https://github.com/lowRISC/opentitan/pull/4880 shows that the execution time of the whole test suite on Verilator goes down from 44 to 16 minutes without logging, i.e. we spend around 2x as much time on logging than on actually testing code.

https://github.com/lowRISC/opentitan/pull/4880 shows that the execution time of the whole test suite on Verilator goes down from 44 to 16 minutes without logging, i.e. we spend around 2x as much time on logging than on actually testing code.

It will be really great to have DV logging method supported on Verilator as well. The SV part of it is written in as UVM-agnostic way as possible. Unfortunately there are constructs in there that Verilator still does not support.

It will be really great to have DV logging method supported on Verilator as well. The SV part of it is written in as UVM-agnostic way as possible. Unfortunately there are constructs in there that Verilator still does not support.


package config: Placeholders in referenced version?

Hello,
I'm just getting started with ORT and I'm wondering about one part of the docs. Referring to this section of the package exclude documentation: I want to exclude a dependency from the evaluation regardless of its version because I own it and it is covered by another OSS analysis already.
The documentation tells:

Each package configuration applies exactly to one package id and provenance which must be specified.

The ability to omit the version or use placeholders would be very helpful. If I understand the documentation correctly, one needs to update the package configuration whenever one bumps the version of any dependency that is mentioned therein. Isn't that causing needless maintenance toil?
Desired solution:

possibility to declare an upwards-compatible version – as offered by the caret notation of npm: e.g. ^1.2.10 or completely omit the version
If this is not currently offered due to implementation constraints, then the docs should say so.
documentation refined in regards to this use-case

Pointer:
https://github.com/oss-review-toolkit/ort/commit/0aaff6b04c6121cf511d9438596f2b177d2fba2d by @fviernau

Thanks for answering, @fviernau. In fact, I got the direction of what you are saying but did not understand all parts of it. I will try to map it to our case in practice and see how it works out.

@patrickp-at-work, if your question has been answered (for now), please feel free to close this issue (and eventually reopen later in case of follow-up questions).


Add ability to configure po_token

This PR adds the ability to configure po_token.
Fixes #674
Fixes #696

Maybe I should provide some instructions on how to generate that famous potoken? Like linking to https://github.com/iv-org/youtube-trusted-session-generator
But I have no idea where you would want that? The "option" section already contains a lot of things: https://github.com/LuanRT/YouTube.js?tab=readme-ov-file#options

Usually, we add docs for things like this here. Just a link to invidious' po token generator in the readme would be more than enough.

@LuanRT I have added a link to invidious youtube-trusted-session-generator in the same "options" section in the README

Tried copying them from the browser:
po_token:"MnTFOHrx2ZbFMcUAqVR2f_PRzEIP5qfkbb-Kk6c5jcMbYqeGVSsbpkoEkfUlKN_NGbWnkUEFi-f3EFtq9mozm_mE_ZQLq2ljjVH3OjP2FZDBVEmheqvHTrDnN2ZmK6O9sdCeGi8BAixnidGaZTn0H_Do4K7N-g==",
visitor_data:"Cgs0T1RXZU11WVRDNCjmncq1BjIKCgJDQRIEGgAgJg%3D%3D"

Playback requests are still failing with 403
https://www.youtube.com/watch?v=ocDlOD1Hw9k

@MaksymPylypenko
You'll have to add it to the videoplayback requests as (pot query param), it won't work properly otherwise.

Looks good and works like a charm. Merging.
@unixfox Thank you!


Implement term dependence model

We probably also want to implement some type of phrasal query model... SDM seems like a good start.

https://github.com/dyshi/Anserini/tree/feature-implement-sdm
I have a simple implementation tested on the Gov2 collection maybe we can merge this into the feature extractor branch after?

It turns out that we can combine different query semantics from Lucene to construct SDM query.
For example, for ordered window and unordered window query, we can use SpanQuery.
We then use BooleanQuery together with BoostQuery to construct the complete query.

Merged as #359


VGG19?

Does this repo support VGG19 ? Since it's very close to VGG16? If yes, what should I change?

You to need to change the network


Quality of Life

@SquishedPotatoe сan you please add these features and fix these bugs:

These custom links are not removed from the Discussions menu:

What feature is this red enter button related to, I have not come across this.

@10522 everything done except the filtering descriptions which i will revisit at a later date.


New template - File indexing

@Elaina-Lee for review

@Elaina-Lee @preetriti1 please review. All my changes are in


Validation errors with Mesa/Intel on SKL

These are the validation errors with today's VulkanTools & Mesa, some seem bugs in the demos, some are about missing features.
Errors about not destroying some objects before destroying the device, in:

computecullandlod
computenbody
triangle

For example:
ObjectTracker(ERROR): object: 0x53 type: 5 location: 363 msgCode: 49: OBJ ERROR : For device 0x2574b20, Semaphore object 0x53 has not been destroyed. For more information refer to Vulkan Spec Section '4.2.4. Device Destruction' which states 'All child objects created on device must have been destroyed prior to destroying device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyDevice)
For "debugmarker":
ParameterValidation(ERROR): object: 0x0 type: 0 location: 4860 msgCode: 10: vkDebugMarkerSetObjectNameEXT() called even though the VK_EXT_debug_marker extension was not enabled for this VkDevice.
For "deferredmultisampling":
SC(ERROR): object: 0x0 type: 3 location: 1776 msgCode: 3: Vertex shader consumes input at location 0 but not provided
SC(ERROR): object: 0x0 type: 3 location: 1776 msgCode: 3: Vertex shader consumes input at location 1 but not provided

For "deferredshadows":
../../../../src/intel/vulkan/anv_image.c:207: FINISHME: Implement multi-arrayLayer HiZ clears and resolves
DS(ERROR): object: 0x263b080 type: 6 location: 4334 msgCode: 6: Cannot submit cmd buffer using image (0x64) [sub-resource: aspectMask 0x4 array layer 0, mip level 0], with layout VK_IMAGE_LAYOUT_UNDEFINED when first use is VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL.

In following tests:

mesh
multisampling
offscreen
pushconstants
scenerendering

SC(ERROR): object: 0x0 type: 0 location: 2407 msgCode: 15: Shader requires VkPhysicalDeviceFeatures::shaderClipDistance but is not enabled on the device
In "raytracing":
SC(ERROR): object: 0x0 type: 0 location: 10469 msgCode: 5: SPIR-V module not valid: OpStore Pointer <id> '227's type does not match Object <id> '212's type.
In "terraintessellation":
DL(ERROR): object: 0x0 type: 2 location: 4163 msgCode: 5: While calling vkCreateDevice(), requesting feature #24 in VkPhysicalDeviceFeatures struct, which is not available on this device.
DL(ERROR): object: 0x0 type: 2 location: 4174 msgCode: 5: You requested features that are unavailable on this device. You should first query feature availability by calling vkGetPhysicalDeviceFeatures().
Fatal : VkResult is "ERROR_INCOMPATIBLE_DRIVER" in terraintessellation/terraintessellation.cpp at line 193
terraintessellation: /home/testrunner/work/VulkanSachaWillems/terraintessellation/terraintessellation.cpp:193: void VulkanExample::setupQueryResultBuffer(): Assertion `res == VK_SUCCESS' failed.
Aborted (core dumped)

(Works if one applies this: https://patchwork.freedesktop.org/series/15841/ )
For "textoverlay":
SC(ERROR): object: 0x0 type: 0 location: 1579 msgCode: 3: fragment shader consumes input location 4.0 which is not written by vertex shader
For "texturesparseresidency":
DL(ERROR): object: 0x0 type: 2 location: 4163 msgCode: 5: While calling vkCreateDevice(), requesting feature #42 in VkPhysicalDeviceFeatures struct, which is not available on this device.
DL(ERROR): object: 0x0 type: 2 location: 4163 msgCode: 5: While calling vkCreateDevice(), requesting feature #43 in VkPhysicalDeviceFeatures struct, which is not available on this device.
DL(ERROR): object: 0x0 type: 2 location: 4174 msgCode: 5: You requested features that are unavailable on this device. You should first query feature availability by calling vkGetPhysicalDeviceFeatures().
Device does not support sparse residency for 2D images!

Most of these are not specific to MESA and are on my todo-list.
For the ones not destroying objects I'll take a look at these. I'm usually very pedantic with releasing Vulkan objects, though it's possible that some objects may be recreated during resize (which is wrong anyway).
The the ones failing due to non-supported features (tessellation, sparse) are supposed to do so.
The ones with VkPhysicalDeviceFeatures::shaderClipDistance are triggered becaus those shaders haven't been regenerated with a recent glslang validator version.

The ones failing due to non-supported features (tessellation, sparse) are supposed to do so.

I listed everything for completeness sake.  Mesa does support tessellation with Vulkan (was added few weeks ago), in that tessellation test, the issue is missing query support.

FYI: Mesa/Intel has currently also this issue with Vulkan: https://bugs.freedesktop.org/show_bug.cgi?id=99507

Thx, I'm aware of this as I'm also testing examples on Intel with Mesa from time to time.

There aren't anymore validation errors for the update tests: Triangle, offscreen & textoverlay.

Verified the changes.  Warnings remain in:

deferredmultisampling
deferredshadows
raytracing

And in tests where Mesa still misses required functionality:

terraintessellation
texturesparseresidency

Thanks for the verfication. Deferredshadows is still open due to a possible validation layer bug (see #238) and raytracing may be a bug in the SPIR-V validation layers (still checking on this).

Verified fix to: deferredmultisampling

Haswell now supports Tesselation shaders but the terrain tesselation test is spitting out the following error:
./terraintessellation  WARNING: Haswell Vulkan support is incomplete WARNING: Haswell Vulkan support is incomplete anv_image.c:203: FINISHME: Implement gen7 HiZ Fatal : VkResult is "ERROR_INCOMPATIBLE_DRIVER" in /home/unaccounted4/Documentos/Builds/Vulkan/terraintessellation/terraintessellation.cpp at line 194 Segmentation fault (core dumped)
The simple tesselation test works fine, though.

The terrain tessellation example also requires pipelineStatisticsQuery which may cause the incompatible driver error message. It should work if you remove this requirement and disable the pipeline statistics. I'll see if I can make this optional.

Validation layers and Mesa have been updated.
"deferredshadows" doesn't anymore give validation errors.
However, now I get additional region errors in:

hdr
scenerendering

DS(ERROR): object: 0x0 type: 6 location: 2708 msgCode: 1227: vkCmdCopyBufferToImage(): pRegion[9] exceeds buffer bounds. For more information refer to Vulkan Spec Section '18.4. Copying Data Between Buffers and Images' which states 'The buffer region specified by a given element of pRegions must be a region that is contained within srcBuffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyBufferToImage).

Thx for the update. I'll take a look at the new validation layer messages. Deferred shadows has been fixed via https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/issues/1454.

Found one more validation error.
If I toggle in "deferredmultisampling" demo any of the options (MSAA, sample shading, G-buffers), I get validation errors when demo exits:
ObjectTracker(ERROR): object: 0x7e type: 5 location: 387 msgCode: 49: OBJ ERROR : For device 0xa35740, Semaphore object 0x7e has not been destroyed. For more information refer to Vulkan Spec Section '4.2.4. Device Destruction' which states 'All child objects created on device must have been destroyed prior to destroying device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyDevice)
I.e. currently following tests have validation errors with Mesa (on SKL):

deferredmultisampling
hdr
raytracing
scenerendering

And Mesa's still missing support for:

terraintessellation
texturesparseresidency

(I also don't think it renders subpasses test correctly, but that doesn't generate any validation errors, and you don't have screenshot of what it should look like.  Sparseresidency is also missing screenshot.)

(I also don't think it renders subpasses test correctly, but that doesn't generate any validation errors, and you don't have screenshot of what it should look like. Sparseresidency is also missing screenshot.)

Thanks for the subpasses screenshot.
There's now issue #295 for the subpasses rendering, and I added one for Mesa too: https://bugs.freedesktop.org/show_bug.cgi?id=100147

The new issues in "hdr" & "scenerendering" went away after updating to latest git versions of the demos, Mesa and VulkanTools.

Terrain tesselation working working in the latest drivers changes tested under Ivy bridge will work on higher intel GPU too they add support  pipelineStatisticsQuery somedays ago.
https://cgit.freedesktop.org/mesa/mesa/commit/?id=7de73f0c943a0d1f84bd8df835280ce323f16c13

But tesselation test broken now  xD
Program received signal SIGSEGV, Segmentation fault.
0x000000000044c880 in gli::storage_linear::extent(unsigned long) const

That's good news, thx for the info and screenshot. Performance looks better than I thought 👍

But tesselation test broken now xD

That was a mistake while adding support for other texture formats. I just pushed a fix for that.

@SaschaWillems You're welcome Also for the best perfomance is with LXDE GUI because with others GUI lost considerable fps -20-30fps avg.

That was a mistake while adding support for other texture formats. I just pushed a fix for that.

Thanks is fixed with latest commit working again :-)

Tested again latest demos, VulkanTools and Mesa and while some things have been fixed, there are also new reported issues.
pRegion Issues in these have disappeared:

hdr
scenerendering

And as mentioned above, Mesa supports now terraintessellation.
But this error is now reported for almost all of the tests:
ParameterValidation(ERROR): object: 0x0 type: 0 location: 3564 msgCode: 8: vkCreateSampler(): The samplerAnisotropy feature is not enabled, so the maxAnisotropy member of the VkSamplerCreateInfo structure must be 1.0 but is 8.000000.
(In many tests there are also warnings about "0.000000" value, in some also few other values.)
And this error is there for almost as many tests:
ParameterValidation(ERROR): object: 0x0 type: 0 location: 2566 msgCode: 8: vkCreateImage(): Attempting to create VkImage with format VK_FORMAT_BC3_UNORM_BLOCK. The textureCompressionBC feature is not enabled: BC compressed formats cannot be used to create images.
Besides those, these tests still have other validation errors with Mesa (on SKL):

deferredmultisampling (after changing settings)
raytracing

And Mesa's still missing support for:

texturesparseresidency

Thx for the update. I've noticed new validation layer errors with the most recent validation layers too and will try to fix these in a future update.

Besides the above mentioned issues, I'm see few new ones:

/hdr: Could not load texture from ./../data/textures/hdr/uffizi_cube.ktx
pbribl: Could not load texture from ./../data/textures/hdr/pisa_cube.ktx
ssao:

DS(ERROR): object: 0x15ba1b0 type: 6 location: 557 msgCode: 6: vkCmdDraw(): Cannot use image 0x3e with specific layout VK_IMAGE_LAYOUT_GENERAL that doesn't match the actual current layout VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL.
DS(ERROR): object: 0x61 type: 23 location: 2814 msgCode: 61: Descriptor set 0x61 encountered the following validation error at vkCmdDraw() time: Image layout specified at vkUpdateDescriptorSets() time doesn't match actual image layout at time descriptor is used. See previous error callback for specific details.

hdr: Could not load texture from ./../data/textures/hdr/uffizi_cube.ktx
pbribl: Could not load texture from ./../data/textures/hdr/pisa_cube.ktx

Those are expected, please refer to https://github.com/SaschaWillems/Vulkan/blob/master/data/README.md
Will take a look at the ssao one. Also note that latest validation layers will display errors for using anisotropic filtering without enabling the device capability, I'm also looking into that.

With the latest demos, VulkanTools and Mesa, I'm seeing one additional issue:

./subpasses
DS(ERROR): object: 0x0 type: 0 location: 8873 msgCode: 335546028: CreateRenderPass: subpass 1 pPreserveAttachments[0] (1) must not be used elsewhere in the subpass. The spec valid usage text states 'Any given element of pPreserveAttachments must not also be an element of any other member of the subpass description' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkSubpassDescription-pPreserveAttachments-00854)

One more validation error:

computecullandlod
ParameterValidation(ERROR): object: 0x0 type: 0 location: 4513 msgCode: 8: CmdDrawIndexedIndirect(): Device feature multiDrawIndirect disabled: count must be 0 or 1 but is 262144

Thx for the update, 262144 looks odd, it's possible that I forgot to initialize properly. Will take a look at it.

Verified that 153e555447fe1f5464e237c30bd4d1930a6c55b7 fixed the computecullandlod validation error with Mesa.

Anitso warnings are still coming from:

bloom
computeshader
debugmarker
hdr
offscreen
particlefire
radialblur
raytracing
shadowmappingomni
terraintessellation
texturearray
texturecubemap
texturemipmapgen

Isn't there some way to centrally fix them?
Btw. Almost as many tests have errors about "textureCompressionBC feature is not enabled".

Isn't there some way to centrally fix them?
Not really. I fixed the texture loader (only sets anisotropy if enabled on the device by the example), but all examples that create samplers themselves need to be fixed too. Did that with most samples on the develop branch already.

Btw. Almost as many tests have errors about "textureCompressionBC feature is not enabled".
Yes, that's also a rather new message and needs to be fixed per-sample (that use texture compression).

Many of the anitso warnings are now fixed.  Terrain ones, "particlefile" and "terraintessellation" still remain.
"scenerendering" test outputs VK_FORMAT_BC3_UNORM_BLOCK format warning after every "ktx" file is loaded.

Warnings with today's version of the demos, VulkanTools and Mesa on SKL:

computenbody
computeparticles
texture
texturemipmapgen (lot of these warnings)
DS(ERROR): object: 0x2301ff0 type: 6 location: 6705 msgCode: 461375808: vkCmdPipelineBarrier(): pBufferMemBarriers[0].srcAccessMask (0x4) is not supported by srcStageMask (0x8). The spec valid usage text states 'Any given element of pMemoryBarriers, pBufferMemoryBarriers or pImageMemoryBarriers must not have any access flag included in its srcAccessMask member if that bit is not supported by any of the pipeline stages in srcStageMask, as specified in the table of supported access types.' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdPipelineBarrier-pMemoryBarriers-01184)

displacement
mesh
multisampling
offscreen
parallaxmapping
particlefire
scenerendering
terraintessellation
tessellation
textoverlay
texturearray
texturecubemap
ParameterValidation(ERROR): object: 0x0 type: 0 location: 674 msgCode: 8: vkCreateImage(): Attempting to create VkImage with format VK_FORMAT_BC3_UNORM_BLOCK. The textureCompressionBC feature is not enabled: BC compressed formats cannot be used to create images.

particlefire
terraintessellation
texturearray
texturecubemap
texturemipmapgen
ParameterValidation(ERROR): object: 0x0 type: 0 location: 1497 msgCode: 8: vkCreateSampler(): The samplerAnisotropy feature was not enabled at device-creation time, so the maxAnisotropy member of the VkSamplerCreateInfo structure must be 1.0 but is 8.000000.

deferredmultisampling (after changing settings and exiting)
ObjectTracker(ERROR): object: 0x84 type: 6 location: 279 msgCode: 614466292: OBJ ERROR : For device 0xa77680, Semaphore object 0x84 has not been destroyed. The spec valid usage text states 'All child objects created on device must have been destroyed prior to destroying device' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkDestroyDevice-device-00378)

There are also still the SPIRV warning from "raytracing", but that seems to have separate ticket #345.

Thanks for the extensive list, I'll take a look at the ones i can fix. The SPIR-V one from raytracing seems to be a bug on SPIR-V itself so it's nothing I can fix.

I'm seeing new type of warning with latest Mesa & VulkanTools (in addition to above listed ones) in:

pbribl
pbrtexture
vulkanscene

SC(ERROR): object: 0x0 type: 0 location: 1547 msgCode: 5: SPIR-V module not valid: Expected vector sizes of Result Type and the condition to be equal: Select

Thx for noticing. Getting them too with latest validation layers, rebuilding the shaders using a recent version of the glslang reference compiler seems to fix them. Will update the repo with rebuild shaders.

With the latest VulkanTools, Mesa and this, I don't anymore get any of the above validation errors.  Have all the issues been fixed?
(I'm wondering whether VulkanTools is broken ;-))
There are some new issues in the new tests:

renderheadless
computeheadless

Fatal : VkResult is "ERROR_LAYER_NOT_PRESENT" in computeheadless.cpp at line 158
VulkanExample::VulkanExample(): Assertion `res == VK_SUCCESS' failed.

./timestampquery

Error: Could not open shader file "data/shaders/timestampquery/mesh.vert.spv"
timestampquery: base/vulkanexamplebase.cpp:225: VkPipelineShaderStageCreateInfo VulkanExampleBase::loadShader(std::__cxx11::string, VkShaderStageFlagBits): Assertion `shaderStage.module != VK_NULL_HANDLE' failed.
Aborted (core dumped)

-> This shaders subdirectory is missing from Git repo.
And following progams refused to run:

./imgui: Unable to open file "./../data/models/vulkanscenemodels.dae".
./pbrtexture: Could not load texture from ./../data/textures/hdr/gcanyon_cube.kt

These were after running download_assets.py.   Paths are missing "." from the beginning.
There was also segfault in texture3d, but I think that's Mesa issue.

Above errors (from start of February) are still there with latest Git version of this and Mesa.  Please at least add the timestampquery shader to repo.
Additionally following tests crash now:

pushdescriptors

It calls a NULL pointer after unsuccessfully trying to open imgui.ini:
(gdb) bt
#0  0x0000000000000000 in ?? ()
#1  0x0000000000472ee2 in VulkanExample::prepare() ()
#2  0x000000000045de65 in main ()

There's also crash in texture3d, but that seems a Mesa bug: https://bugs.freedesktop.org/show_bug.cgi?id=106147
And new conservativeraster test fails as Intel doesn't yet implement the requires extension (like with texturesparseresidency).

I keep getting

ERROR: [Validation] Code 0 :  [ UNASSIGNED-GeneralParameterError-DeviceFeature ] Object: VK_NULL_HANDLE (Type = 0) | vkCreateImage(): Attempting to create VkImage with format VK_FORMAT_BC3_UNORM_BLOCK. The textureCompressionBC feature is not enabled: BC compressed formats cannot be used to create images.

jvm and C side
On the Texture Array sample, I guess you shall add a getEnabledFeatures() also there..?

Thx for reporting these. The first one will be no longer an issue once I got around moving the assets out of the repo into the asset pack, as those will only use uncompressed textures instead of having to keep three different compressed versions around.
Will also take a look at the Texture 3D one, haven't seen that one yet.


KAFKA-17525: Convert the UnknownServerException to InvalidRequestException when altering client-metrics config at runtime

As title
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

All tests pass on my local.


JSON not working

The following
response.send(json: ["message": "Hello World"])
does not compile, with the following error:
contextual type AnyObject cannot be used with dictionary literal.
This is using the February 8 build on Ubuntu.

I shall look into this, I think it's an issue with AnyObject and Any on Linux. I'll get a fix up shortly.

I've added a fix #34 . Just waiting for the CI to succeed and then I'll merge it in under tag 1.0.11

Fixed :)


Remove source  when removing key from properties

When a key is removed from AlluxioProperties, the source should also be removed. Otherwise, when getting the key, the default value will be returned, but getSource might not return Source.DEFAULT.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/3135/
Test FAILed.

jenkins, test this please

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/3137/
Test PASSed.

alluxio-bot, merge this please


Allow deprecating arguments

It seems that this is not supported by graphql-php but is allowed in the spec: https://github.com/graphql/graphql-spec/pull/525

Duplicate of https://github.com/webonyx/graphql-php/issues/110

Can you update that issue to also explain it's related to arguments?


commit to fix issue in https://github.com/GarageGames/Torque3D/issues/1136

this fix the redefinition of uint64_t by stdint.h (in the case of bullet, it does not like it, you either have to remove stdint... or disable their specific call)

i think we can do a clean fix... see #1136 coment.

That is the same job I've done before my porting of GMK.
Confirm is functional, this PR is a really important step for bullet and future GMK port.
Thanks for this PR.


errorreporting: update for new API

The API changed recently:
https://code-review.googlesource.com/16090
Update this sample accordingly.

R= @rakyll @jba

Submitting now to turn the build green. Please add comments if anything should be changed.


Load Issues while clicking

https://geodiscovery-dev.uwm.edu/catalog/SheboyganCounty-fbe599e32bde45d2829966268dd4ce5d2
This data prompts to click on attributes and inspect values, but it is not loading in the GeoDiscovery.

https://geodiscovery-dev.uwm.edu/catalog/SheboyganCounty-e3052c57dd2041b699107cbf83fb92552
Individual Control Points dataset

https://geodiscovery-dev.uwm.edu/catalog/SheboyganCounty-bba93a8a8d1f4857aacef7165b886d700
Cannot load when attribute is clicked, takes very long to load overall.

https://geodiscovery-dev.uwm.edu/catalog/SheboyganCounty-fc227ef037dc459fae8323057b69f03e0
Does not load when the attributes are clicked on

https://geodiscovery-dev.uwm.edu/catalog/SheboyganCounty-bba93a8a8d1f4857aacef7165b886d700
Does not load when the attributes are clicked on

https://geodiscovery-dev.uwm.edu/catalog/AshlandCounty-ee94da6e3d374962a5e9a6c7d55cda340
Potentially crashes the app

https://geodiscovery-dev.uwm.edu/catalog/Fitchburg-41bf0097738b4318a75974cd18aab1500
Problem with loading when clicking on the attributes

https://geodiscovery-dev.uwm.edu/catalog/stanford-dg548ft1892
This is slightly different, but the resource loads indefinitely because it's restricted.


use glusterfs as go mod cache(tidb ut)

use glusterfs as go mod cache(tidb ut)

test： https://ci.pingcap.net/blue/organizations/jenkins/tidb_ghpr_unit_test/detail/tidb_ghpr_unit_test/35610/pipeline/

current no needed, because we have refactored the pipeline


enet: Update to upstream version 1.3.15

Changelog:

ENet 1.3.15 (April 20, 2020):

quicker RTT initialization
use fractional precision for RTT calculations
fixes for packet throttle with low RTT variance
miscellaneous socket bug fixes

Cherry-picked for 3.2.2.


Migrate from istanbul-api to istanbuljs

https://github.com/istanbuljs-archived-repos/istanbul-api
https://github.com/istanbuljs/istanbuljs

Thanks, fixed!


Patch stripe webhook for payment failed

We observed an influx of Stripe webhook events that did not process correctly, specifically those related to payment_failure. It appears the root of the problem was a race condition occurring while attempting to cancel Temporal workflows associated with a workspace. The issue has since been resolved (https://github.com/dust-tt/dust/pull/3201), and this serves as a temporary patch to ensure webhook events are handled correctly.

We can likely keep it no?

We can likely keep it no?

 This should be a one off.


Invoices - Workspace settings can be opened from "workspace" link when workspace is deleted

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 9.0.33-1
Reproducible in staging?: Y
Reproducible in production?: N/A - new feature, doesn't exist in prod
Issue was found when executing this PR: https://github.com/Expensify/App/pull/48275
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Issue reported by: Applause Internal Team
Action Performed:
Precondition:

User B has no workspace.

Go to staging.new.expensify.com
{User A] Send an invoice to User B.
[User B] Pay the invoice using Pay as a business option.
[User B] Delete the workspace.
{User B] Go to invoice chat.
[User B] Click on the "workspace" link in Expensify message.

Expected Result:
The link should lead to not here page because workspace is deleted.
Actual Result:
The link can open workspace settings page and Members tab leads to not here page.
Workaround:
Unknown
Platforms:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos
https://github.com/user-attachments/assets/a1540862-f566-4c88-b999-caf2bdf3094f

View all open jobs on GitHub

We think that this bug might be related to #vip-bills

Removed blocker, see https://expensify.slack.com/archives/C9YU7BX5M/p1726158576447559

@IuliiaHerets I think the uploaded video is incorrect. Can you please check?

@luacmartins fixed, sorry for this

No problem. Thank you!

This is also reproducible in prod if we just copy/paste the workspace link

Just by having the workspace link in any chat the problem also happens in prod:
https://github.com/user-attachments/assets/778e2117-0eb4-47b8-9f49-6da855676b88

We can't pay the invoice using Pay as a business in prod, so I marked it as N/A - can't check on prod

Proposal
Please re-state the problem that we are trying to solve in this issue.
The link can open the workspace settings page and Members tab leads to not here page.
What is the root cause of that problem?
After the user deletes the workspace, the policy data still exists then the not found page doesn't display because this check doesn't cover full case like we did here
https://github.com/Expensify/App/blob/14b5ccc38534683a4d96460ee5266732a65f3b0a/src/pages/workspace/WorkspacePageWithSections.tsx#L164-L170

What changes do you think we should make in order to solve the problem?
We should use the same check as we did here in shouldShow here then that can fix for all policy pages
const shouldShowPolicy = useMemo(() => {
    return PolicyUtils.shouldShowPolicy(policy, isOffline, session?.email);
}, [policy, isOffline, session?.email]);

const prevShouldShowPolicy = useMemo(() => {
    return PolicyUtils.shouldShowPolicy(prevPolicy, isOffline, session?.email);
}, [prevPolicy, isOffline, session?.email]);

const shouldShow = useMemo(() => {
    // If the policy object doesn't exist or contains only error data, we shouldn't display it.
    if (((isEmptyObject(policy) || (Object.keys(policy).length === 1 && !isEmptyObject(policy.errors))) && isEmptyObject(policyDraft)) || shouldShowNotFoundPage) {
        return true;
    }

    // We check isPendingDelete for both policy and prevPolicy to prevent the NotFound view from showing right after we delete the workspace
    return (!isEmptyObject(policy) && !PolicyUtils.isPolicyAdmin(policy) && !shouldShowNonAdmin) || (!shouldShowPolicy && !prevShouldShowPolicy);
    // eslint-disable-next-line react-compiler/react-compiler, react-hooks/exhaustive-deps
}, [policy, shouldShowNonAdmin, shouldShowPolicy, prevShouldShowPolicy]);

https://github.com/Expensify/App/blob/14b5ccc38534683a4d96460ee5266732a65f3b0a/src/pages/workspace/WorkspacePageWithSections.tsx#L164-L170
Then we can update the condition here like this to display the correct subtitle
shouldShowPolicy ?  'workspace.common.notAuthorized' : undefined

https://github.com/Expensify/App/blob/b69577a55bc536a411d8c1e51fc47fc0fc00d389/src/pages/workspace/WorkspacePageWithSections.tsx#L190
We can do the same fix for WorkspaceInitialPage
https://github.com/Expensify/App/blob/b69577a55bc536a411d8c1e51fc47fc0fc00d389/src/pages/workspace/WorkspaceInitialPage.tsx#L310
What alternative solutions did you explore? (Optional)
We can fix this from BE side that will not return the data of deleted policy

@ntdiary can you review proposals here?

Pending @ishpaul777 review of proposals

PolicyUtils.isPendingDeletePolicy(policy) && PolicyUtils.isPendingDeletePolicy(prevPolicy)

@ishpaul777 Here is the old condition and we should replace it with shouldShowPolicy function. That is why we have prevShouldShowPolicy variable. I create a new variable because we need to use shouldShowPolicy to display the correct subtitle.

subtitleKey={isEmptyObject(policy) ? undefined : 'workspace.common.notAuthorized'}

@gijoe0295 is there an ETA for PR here?

PR in review

Sounds good!

PR still in review

This one's now held for https://github.com/Expensify/react-native-onyx/pull/588 , we'll finish up the PR once that's out.

@ishpaul777 @srikarparsi I see the above PR was merged and published. Can we take this off hold now?

Great. TY!

@gijoe0295 Did you have a chance to do this?

Sounds good. TY!

@ishpaul777 could you handle the checklist here?

As an fyi, I am OOO the rest of the week after today. Assuming the checklist is done by then, I will handle payment on Monday!

Just back from OOO. Will handle remaining steps today!

Checklist is all set. We're good to pay.

We need to pay:

@gijoe0295 $250 for PR via Upwork.
@ishpaul777 $250 for C+ via NewDot.

@gijoe0295 $250 sent and contract ended!

@ishpaul777 $250 sent and contract ended!

Upwork job closed

All set, thanks everyone!


virus!!!

https://www.virustotal.com/gui/file/b8d7418ef90d5b857eaf4abb388457e177c3c1f3f25e49df6aaab14d1432ab52
Virus total

These are false detections. This is how antiviruses react to the installer. You can unzip the installer in 7zip and check the browser files. Although there may be triggers there too, because the files are called chrome.exe, but it does not have a digital signature.

The problem is Winrar and Sfx self extracting executable. It alwas get detected by some antivirus software

The problem is Winrar/7zip Sfx self extracting executable. It always get detected by some antivirus software

Indeed. This has also been reported before in issue- #315

This is true detections. Use modern Windows or use Windows IoT Enterprise LTSC versions with Google Chrome or Microsoft Edge or Brave

Nese 7, Tiny11 etc. all customized Windows versions (except for official Microsoft's operating systems, custom own Windows operating systems) is fake. Use modern Windows versions or Windows IoT Enterprise LTSC versions or switch to Linux 👍

Linux are better and Android also are better than all operating systems!

The problem is Winrar/7zip Sfx self extracting executable. It always get detected by some antivirus software

Indeed. This has also been reported before in issue- #315

Use Linux instead Nese 7, Tiny11 etc. customized Windows operating systems or I highly recommended to create own 64-bit operating system from scratch.


RunONNXModel.py doesn't find PyRuntime.cpython-38-x86_64-linux-gnu.so

By default, utils/RunONNXModel.py looks for PyRuntime.cpython-38-x86_64-linux-gnu.so under $ONNX_MLIR_HOME//lib.
However, PyRuntime.cpython-38-x86_64-linux-gnu.so is built by default under build/Debug/lib.
I am using the docker images. Running "make PyRuntime" under build puts the binary in build/Debug by default.
Am I doing something wrong / unexpected?
If not, i'll submit a PR making RunONNXModel check $ONNX_MLIR_HOME/Debug/lib as well as $ONNX_MLIR_HOME/lib

@renxida we usually set ONNX_MLIR_HOME to build/Debug so the script will find the .so in its lib.
@gongsu832 make PyRuntime puts the generated .so to into build/Debug. Is it expected or should we put it into build/Debug/lib?

The .a/.so libraries used to be under build/lib but are now under build/Debug/lib or build/Release/lib depending on the build type since we switched to multi-config. The onnx-mlir-dev image is a Debug build so the libraries are under build/Debug/lib. They were never put under $ONNX_MLIR_HOME/lib.

@gongsu832 thanks for the information!
@renxida could you please check with your environment again? When I ran make PyRuntime in my environemnt (not docker), the .so file was under build/Debug/lib correctly:
Consolidate compiler generated dependencies of target PyRuntime
[100%] Linking CXX shared module ../../Debug/lib/PyRuntime.cpython-38-s390x-linux-gnu.so
[100%] Built target PyRuntime

@gongsu832 Yes, they are built to build/Debug/lib, and I'm saying that utils/RunONNXModel.py should be edited to give a clear message about where to look for it.
@tungld I have no problem about where the .so file goes. I just want util/RunONNXModel.py to either (1) be able to locate the .so file on its own or (2) give an informative message about where the .so file could be found.


File Extension Conventions

A Reddit Thread asked what's the best practice for Perl 6 code file extensions and recommended those would be codified somewhere.
I pointed to https://docs.perl6.org/language/modules and turns out a lot of the examples there (including comments in the code examples) use .pl and .pm extensions, which are really from Perl 5 world. The majority of Perl 6 users prefer the .p6/.pm6 variants instead.

Related discussion: https://github.com/perl6/doc/issues/778

.pl or .pl6?
Ideally neither.
.pl conflicts with Perl 5 scripts and .pl6 binds Perl 6 to the number '6'.
The Perl 6 language should not wed itself to the number '6'.
A simple increment in version number from Perl 5 does a disservice to both dialects of Perl - Perl 5 and Perl 6.
We need room for both Perl 5 and Perl 6 to grow without stepping on each other's toes.
The Perl 6 dialect needs its own distinctive non-numeric name. Once we have that - distinctive, non-numeric file extension(s) are likely to follow naturally:
Free all the butterflies
It really is time for Perl to get a grip of the branding for Perl 6 - not least because the Artistic Licence 2.0 relies on it.
Let's keep the ".p6" thing as an interim fudge until we work out what we really want instead of '6'.

The number is not a problem. For example, “6lang” proposal resolves the naming issue but still has a “6” in it. But yes, we are planning to resolve that, see this for more info.

Well we have a difference of opinion.
The "6" in the name "6lang" unnecessarily associates it with a version number. Including a "6" in the name doesn't help Perl 5 either.
I absolutely support, however, a new distinctive name for the Perl 6 dialect - just not one that involves a version number hard-wired into it.
"6lang" is distinctive and shortish - which is good, however it's not easy to read or straightforward to pronounce. It feels like some more iterations are needed.
Having seen the punning powers of the #perl6 IRC channel over the years I'm sure we can come up with something that doesn't involve a "6"! ;-)
I appreciate that Zoffix has got the ball rolling with renaming the Perl 6 dialect we just need to find something that is: shortish, distinctive, with command-line type-ability and Google find-ability and works with the Perl parent trade mark:
Perl $new-perl6-name-goes-here

Well, there's no chosen name yet. But you have a nice list of features for the upcoming name. FYI for 6lang that you didn't like:

shortish ✓ (autocompletion on 6 Tab and 5 characters is short enough, shorter than Python anyway)
distinctive ✓ (can't get any more distinctive than that, especially given that it's first in sorted lists)
with command-line type-ability ✓
and Google find-ability ✓
and works with the Perl parent trade mark ✓ (it's not associated to it and therefore I guess it works, IMO)
easy to read or straightforward to pronounce ? (six-lang? Is there any issue?)
also not used for anything else and not trademarked ✓

I guess you specifically want it to be “Perl Something” and I'm pretty sure this option is not really considered even. One of the major point of doing this naming thing is to break off the connection to perl5, and having “perl” in the name is not a good way to accomplish that.

Thanks for distilling some of those points about what makes a good name.
You're right, "6lang" - does tick most of the boxes - it's not easy to come up with a name that does that. I appreciate Zoffix putting effort in there.
This is not easy - I would like to work with you and Zoffix to get a good result for Perl.
It's a good idea to present Larry with a selection of names prior to the 6.d release for his stamp of approval (he may even have one or two of his own up his sleeve). I don't have a problem with "6lang" being amongst the names for consideration. We just need to come up with some other names too.
I've updated the Perl branding proposal to include a list of features for what makes a good runtime name:
Perl Branding Proposal - Free All the Butterflies
Let's work together ...

My two cents here: do we really need to distinguish Perl 6 code from Perl 5 one?
What about all the other languages (e.g., java, python) that do not include a specific version? You would argue that such languages are growing up incrementally, while Perl 6 is a different language in Perl family, and therefore different from Perl 5. But he point here is Perl family, so I would not spend too much effort in this subject and stick with the well know Perl (5) suffixes. The only problem I could see is the name clash for the same module within different versions, but that would be addressed by a different schema in directory layout.
On the other hand, the 6 within the name is perfectly coherent with the one in the executable perl6. But while I buy the six in the executable, to make it clear (or brand, as someone refers to) the new language version, I would not buy the same for files.
Could it be the Perl 6 name is the same of the logo (camelia)?
I'm not suggesting any decision on the matter, and I let people that are interested in such discussion to take the right (or better) choice with regard to different views, but I do see too much effort in this matter.

Perl branding proposal

Doesn't look like proposal hasn't garnered a lot of good feedback: https://www.reddit.com/r/perl/comments/7zr5if/free_all_the_butterflies_a_proposal_for_perls/

Zoffix has got the ball rolling [...] work with you and Zoffix [...] Zoffix putting effort

My biggest point was that having Perl in the name of Perl 6 is detrimental to both the Perl 6 and Perl projects. Your proposal seems to ignore that entirely and wishes to dilute the Perl brand even further while doing nothing to differentiate the other projects under TPF's umbrella. Differentiate or die. There's even a marketing book by that name.

Well we have a difference of opinion there.
I don't think we need to jettison "Perl" from naming Perl 6 nor do we need to jettison it from Perl 5.
You don't have to take "Apple" out of the Apple iPad or out of the Apple iPhone - the parent brand still means something - it's a badge of origin - and a set of associations with their product(s). Sub-brands can flourish under the parent brand's umbrella and sometimes are differentiated enough to standalone (e.g., iPhone).
The fact is both Perl dialects share the Perl Way. We shouldn't try and sweep that under the carpet - it's actually something to be proud of and what differentiates Perl 5 and Perl 6 from other computer languages - that's marketing differentiation.
Both Perl languages are pragmatic, TMTOWTDI, practical computer languages that help solve problems and get things done = Perl (R). These are good brand values to keep.
So "Perl" already gives us a differentiator with other computer languages - now we just need a differentiator between dialects.
Bumping the version number between the two doesn't really tell the true story and misses the opportunity for both languages to differentiate themselves in the future.
I'm in no way suggesting diluting Perl's brand - if anything I would like it to grow and get stronger. Brands are strongest when their honest. The truth is Perl is no longer a designator of just one language dialect - we should be real about that.
iPhone does not dilute Apple's brand - it just enhanced it.
Likewise, sub-branding for Perl projects - increases differentiation while goodwill accrues to the Perl parent brand.

You don't have to take "Apple" out of the Apple iPad or out of the Apple iPhone

That's just patently false. It's not an "Apple iPad", it's an "iPad". Just look at the ads:

It's not an "Apple iPhone", it's just an "iPhone":

Even the "apple watch" is marketed as just "watch" with Apple's logo. Together with "AirPods", undoubtedly a move to avoid further diluting the "i$foo" line of products, especially with the "iSheep" meme taking off:

The equivalent of "Apple" in your examples would be "The Perl Foundation", not "Perl".

Well we have a difference of opinion there.

Not just "we". What you propose flies directly opposed by common wisdom in this line of work. Pick up any marketing book, and I bet it'll have something on the topic, likely followed by "line expansion will lead to short-term boost to sales, but will ultimately damage the brand".

The fact is both Perl dialects share the Perl Way.

 I've used Perl 5 for over a decade, uploaded hundreds of modules to CPAN, and I am both the user and contributor to Perl 6 and I've no idea what you're talking about, yet you're just throwing this out as if it's something well-known and well-understood that'll attract tech users to the language.
And just because you keep calling them "dialects" doesn't change the fact that they're entirely different languages to the core.

These are good brand values to keep.

Except you don't get to pick and choose what to keep. Stability and performance are part of the Perl brand, but these aren't the strong points of Perl 6, which is why I'm saying your proposal is diluting and damaging the Perl brand. Those who expect stability and performance from a "Perl" will be disappointed when they can no longer get that from a "Perl" and will stop trusting the brand to deliver on those values. This is exactly why "Perl" should remain owned by Perl 5—it has everything those who prefer that brand want.
Moreover, unreadability and antiquity are part of the Perl brand. Why does it make sense to carry that over to a brand new, more readable language that leads in latest Unicode and concurrency support?

Bumping the version number between the two doesn't really tell the true story

[...] Zoffix has got the ball rolling [...] work with you and Zoffix [...] Zoffix putting effort

Considering earlier you mentioned me several times, I think you're well aware that "bumping the version number" isn't what we're working on and here you're just attempting to strawman.

I'm in no way suggesting diluting Perl's brand

But you're explicitly suggesting it should be hijacked by other projects that don't even carry its attributes!

The truth is Perl is no longer a designator of just one language dialect - we should be real about that.

Why is that the truth? What's your evidence for that truth? Just 18 hours ago I had to clarify that "Perl" in a post about regex features was referring to Perl 5.
Just as "Apache" is a web server for an average tech person so "Perl" is a line-noise language popular in the '90s. Hell, even inside the community there's confusion that there's only one "Perl" and Perl 6 is aimed to replace Perl 5.

sub-branding for Perl projects - increases differentiation

Here you're just corroborating my point: multiple different things under the same name dilute the brand.

In summation, I think what you're proposing aims to solve the confusion around version numbers by introducing confusion around branding and doesn't address several other branding issues that exist. The proposal intends to change the well-settled meaning of "Perl" in people's minds—something prominent marketers deem impossible and something that's most definitely isn't working even in the proposal's own examples. And the proposal argues that by making "Perl" mean many quite different things, we'll make the "Perl" brand stronger—which is a contradiction.
I'm out.

Patently false? A quick Google image search shows numerous Apple promotional shots where they use the master brand in combination with their products and sub-brands.

There's plenty more where that came from! ;-)
Apple do associate their master brand AND their sub-brands. This is standard umbrella branding strategy.
Thanks for being honest about your real reservations about my proposal. I don't share your concerns, however, that Perl 6's current performance and reliability will impact the overall Perl brand. This is where the sub-brands can, will and should diverge - it's about being honest and communicating what the reality is. Different associations will attach to each dialect:

Perl (master brand) - family of pragmatic, powerful text processing languages designed by Larry Wall, TMTOWTDI, helps get your job done
Perl Rapta [1] - performant and reliable, large CPAN repository, in production for many years etc
Perl Zel [2] - performance is improving all the time, so too reliability, multi-paradigm, (O)fun etc

It's about being clear - there is a good story to tell here and having different sub-brands will help us tell it.
[1,2] illustration only

I'm still keen on þerl. With .þl as file extension. Don't tell me it's not
ASCII, it's not written in stone that extensions should be pure ASCII.

@JJ is that pronounced as therl? :confused:

þat's correct :-)
If you're keen on the "p" sound, might I suggest πerl and the .πl extension?

should have just named the extension as .perl how hard is that?

Please don't abuse issues with off-topic debates.


Fix call object memory leak in ruby, when call object is closed

Second fix for https://github.com/grpc/grpc/issues/12443.
https://github.com/grpc/grpc/pull/12493 fixes the memory leak in the call object's GC handler. But when the the call gets closed (the most common case), the data of the call object, pointing to a still-alloc'd memory, gets
cleared and forgotten about.

Thabks @apolcyn
Could we merge this PR?

@murgatroid99 is it possible to get this merged? thanks a lot

test failures:
macos dbg:

https://github.com/grpc/grpc/issues/12960
https://github.com/grpc/grpc/issues/12932
https://github.com/grpc/grpc/issues/12993

macos opt:

https://github.com/grpc/grpc/issues/12960
https://github.com/grpc/grpc/issues/12932
https://github.com/grpc/grpc/issues/12993

interop cloud to cloud:

https://github.com/grpc/grpc/issues/13054

FYI this was just released in 1.6.7

@apolcyn amazing, just noticed on rubygems. Thanks so much. I'll let you know.

@apolcyn Version 1.6.7 has fixed the memory leak in our app. Thanks a lot!


Update some stuff in English and Portugese Languages

Updating names of Infinity Sword, Infinity Shovel, Infinity Pickaxe, Infinity Axe, Infinity Hoe, Infinity Bow, Neutron Pile, Neutron Nugget, and Lapis Lazuli Singularity
Checks / 检查

[x] I confirm that I have searched for existing issues / pull requests before requesting to avoid duplicate requesting./我确认在报告之前我已经搜索了现有的问题或者拉取请求，以避免重复报告。
[x] I confirm that I noted that if I don't follow the instructions, the issue may be closed directly./我确认我已经检查，如果我不按照说明进行操作，该问题可能会被直接关闭。

Related Issues

Description

thanks


v8: Heavy-weight dependencies

I've been trying to integrate go-redis into my application, but am running into dependency problems. After initializing a fresh Go module and installing v8, I was surprised by the breadth and scope of the required dependencies.
go mod init github.com/kyleconroy/redis-mod
go get github.com/go-redis/redis/v8

Here's the resulting go.sum, which list 60 packages:
cloud.google.com/go
dmitri.shuralyov.com/gpu/mtl
github.com/BurntSushi/toml
github.com/BurntSushi/xgb
github.com/DataDog/sketches-go
github.com/OneOfOne/xxhash
github.com/benbjohnson/clock
github.com/census-instrumentation/opencensus-proto
github.com/cespare/xxhash
github.com/client9/misspell
github.com/cncf/udpa/go
github.com/davecgh/go-spew
github.com/dgryski/go-rendezvous
github.com/envoyproxy/go-control-plane
github.com/envoyproxy/protoc-gen-validate
github.com/fsnotify/fsnotify
github.com/go-gl/glfw/v3.3/glfw
github.com/go-redis/redis
github.com/go-redis/redis/v8
github.com/golang/glog
github.com/golang/mock
github.com/golang/protobuf
github.com/google/go-cmp
github.com/google/gofuzz
github.com/hpcloud/tail
github.com/kr/pretty
github.com/kr/pty
github.com/kr/text
github.com/onsi/ginkgo
github.com/onsi/gomega
github.com/opentracing/opentracing-go
github.com/pmezard/go-difflib
github.com/prometheus/client_model
github.com/spaolacci/murmur3
github.com/stretchr/objx
github.com/stretchr/testify
go.opentelemetry.io/otel
golang.org/x/crypto
golang.org/x/exp
golang.org/x/image
golang.org/x/lint
golang.org/x/mobile
golang.org/x/mod
golang.org/x/net
golang.org/x/oauth2
golang.org/x/sync
golang.org/x/sys
golang.org/x/text
golang.org/x/tools
golang.org/x/xerrors
google.golang.org/appengine
google.golang.org/genproto
google.golang.org/grpc
google.golang.org/protobuf
gopkg.in/check.v1
gopkg.in/fsnotify.v1
gopkg.in/tomb.v1
gopkg.in/yaml.v2
gopkg.in/yaml.v3
honnef.co/go/tools

Many of these aren't surprising, but a quite a few stood out to me:

cloud.google.com/go
dmitri.shuralyov.com/gpu/mtl
github.com/BurntSushi/xgb
google.golang.org/appengine
google.golang.org/grpc
gopkg.in/fsnotify.v1
golang.org/x/mobile
github.com/go-gl/glfw/v3.3/glfw
github.com/envoyproxy/go-control-plane

Why does this package need access to graphics packages (OpenGL, Metal, and X)?
Environment
This was tested on MacOS 10.14.6 and Go 1.14.3
$ go version
go version go1.14.3 darwin/amd64

Alright, after doing a little more digging, the problem seems to stem from entries in go.sum. v8 doesn't depend on most of the entries in go.sum, but I believe their presence causes issues.

The output of go mod graph explains the origins of each dependency. Using that output, it becomes clear how some of the stranger packages show up. The two worst offenders are golang.org/x/exp and go.opentelemetry.io/otel
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
I'm not sure what to do about the go.opentelemetry.io/otel package, but it looks like the only package used from golang.org/x/exp is rand. Any reason that's used instead of the stdlib rand package?

I am not 100% sure, but I believe Go just records all dependencies it downloads - even if they are NOT used to build a binary / production build. It is done so to have version info to resolve version conflicts that may happen later Therefore it does not look productive to worry about extra entries in go.mod. They should not cause any problems.

Can we opt out of telemetry? Is this a temporary thing for the beta?

Therefore it does not look productive to worry about extra entries in go.mod. They should not cause any problems.

The reason I opened this issue is because the extra entries do cause issues. In my case, I depended on a very old version of cloud.google.com/go. I couldn't use v8 of go-redis without changing other parts of applications that have nothing to do with the go-redis package.

Can we opt out of telemetry? Is this a temporary thing for the beta?

@cemremengu a maintainer can correct me, but I believe the go.opentelemetry.io/otel package is used to instrument go-redis so that it can emit tracing information. A end-user would configure an OpenTelemetry exporter to forward traces to their tracing system of choice.
The go-redis package is not collecting nor sending telemetry data to a third-party

The go-redis package is not collecting nor sending telemetry data to a third-party

Yes, it is opt-in and only active after adding OpenTelemetry hook and configuring exporter - see https://redis.uptrace.dev/tracing/

I depended on a very old version of cloud.google.com/go

Understood. In ideal world cloud.google.com/go should provide 2 different major versions via Go modules - but we are not there yet :)

In ideal world cloud.google.com/go should provide 2 different major versions via Go modules

I guess I have a different perspective. In my ideal world, go-redis wouldn't depend on cloud.google.com/go in the first place. I've opened an issue on the otel package to solve the issue.


[Widget Tests] variant and debugDefaultTargetPlatformOverride do not work as expected leading to failed tests

I am trying to write a test case for a widget which depends on TargetPlatform. To do so I'm using the "variant" property in widget tests to force the test to run for either iOS or Android.
However when running the tests, one fails while the other passes. Running the tests one at a time passes for both. Which most likely means the variant arguments are not being reset after the test.
I tried running the same using debugDefaultTargetPlatformOverride as described in the answer here, however that also fails for me with the same error.
Sample App
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

void main() {
  runApp(MaterialApp(home: MyApp()));
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    if (Theme.of(context).platform == TargetPlatform.iOS) {
      return Container();
    } else {
      return SizedBox();
    }
  }
}

WidgetTest
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';

void main() {
  testWidgets(
    "when platform is iOS",
    (tester) async {
      await tester.pumpWidget(MyApp());
      expect(find.byType(Container), findsOneWidget);
    },
    variant: TargetPlatformVariant.only(TargetPlatform.iOS),
  );

  testWidgets(
    "when platform is Android",
    (tester) async {
      await tester.pumpWidget(MyApp());
      expect(find.byType(SizedBox), findsOneWidget);
    },
    variant: TargetPlatformVariant.only(TargetPlatform.android),
  );
}

Result
══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
The following TestFailure object was thrown running a test:
  Expected: exactly one matching node in the widget tree
  Actual: _WidgetTypeFinder:<zero widgets with type "SizedBox" (ignoring offstage widgets)>
   Which: means none were found but one was expected

When the exception was thrown, this was the stack:
#4      main.<anonymous closure> (.../test/widget_test.dart:20:7)
<asynchronous suspension>
<asynchronous suspension>
(elided one frame from package:stack_trace)
...

This was caught by the test expectation on the following line:
  .../test/widget_test.dart line 20
The test description was:
  when platform is Android uses MaterialApp (TargetPlatform.android)
════════════════════════════════════════════════════════════════════════════════════════════════════

Test failed. See exception logs above.
The test description was: when platform is Android uses MaterialApp (TargetPlatform.android)

is there a workaround for this issue? unable to test for iOS variant especially when there are platform specific widgets


linkedserver support in SQLClient

Hi Martin,
I am developing a cocoa app that is connecting to SQL Server using SQLClient. I need to compare two databases at different instances (checking for updates purpose). I have found "sp_addlinkedserver" method while one using MSSQL but how we can achieve the same using SQLClient. Please suggest.
Also we are facing some issue regarding pdf and image data insertion, according to you it was fixed under 'types' branch but we are unable to find it.
Thanks

You should be able to invoke it normally, provided you have the permissions to do so:
EXEC sp_addlinkedserver @server='Servername'
Please see #56 for how you should be able to insert binary data.


DS-697 Prevent Listing teaser from outputting empty div

Jira
https://pegadigitalit.atlassian.net/browse/DS-697
Summary
The if conditional was added to prevent rendering empty div - c-bolt-listing-teaser__flag-content
Details
c-bolt-listing-teaser__flag-content is rendered if one of the following properties is added:

meta_items
description
warning
chip_list
reply

How to test
Check if div with the class c-bolt-listing-teaser__flag-content is rendered only when one or more properties are added

@danielamorse template updated


Another Install Issue on Mac OS

Hello:
I recently updated to Atom 1.25.0 and along with that attempted to update to Arduino upload 1.33.
The build failed with the log here
It looks like it is failing to build due to it requiring a newer version of npm.
related to #30 and #32

I'm in the same boat on this. My log, for the record.

-- (empty) indicates the issues reported in #40 are still present. The fall back version is still not set.

sudo npm install -g npm seemed to do the trick on OSX for me.

@qoda Can you give any more specific details?

I realised that my /usr/local/bin/python was symlinked to my Homebrew install of Python 3. I ran brew unlink python and install worked!


Identity Protection mapping incorrect Account Entity

Describe the bug
The Account entity is mapping incorrectly from Identity Protection to Sentinel, but under the events the correct account name is displayed.
To Reproduce
Steps to reproduce the behavior:

Trigger unfamiliar sign in properties alert
Connect AAD IP to Sentinel
View Unfamiliar Sign-in Properties Incident
See error

Expected behavior
Correct Entity to be mapped
Screenshots

Hi @Lodewyk-Git
I have tried reproducing the issue with 2.0.1 version of the package by triggering the analytic Rule Correlate Unfamiliar sign-in properties and atypical travel alerts. I don't see any entities. Can you please provide more details in reproducing the issue, if the issue still persists.

Thanks

Hi @v-mchatla
I also don't see the wrong account getting mapped after the update. Although I do see that in a lot of cases the only thing being mapped is an IP.


[QUERY] Azure Search Index Soft Delete Detection

I wanted to know a bit more about the Soft Delete Detection policy and how it works if you could help.
Currently, we have a lot of fields in our Cosmos document structure. We have introduced a new field “IsLogicalDelete” for soft delete purposes. I would like to know how it finds documents in Azure Search Index to mark for soft delete, whether it is just based on this soft delete field, or it also looks for the document key, or it needs all existing fields unchanged. Our upstream process is set up in such a way that it will delete all other fields from the Cosmos document except the id fields. Do you think that is okay or do we need to retain all those fields as well?
Any pointers towards an article or video which explains all this in detail will also be great

Hi @ssghoda - You should be fine to delete all other fields in the document as long as the softDeleteColumn and the id field are preserved. You'd also need the highWaterMarkColumn to be preserved since we use that to find which documents have been updated but that shouldn't be an issue if you're using _ts for that
Essentially, what the indexer does is look for all documents in the database that are newer than then latest _ts value we processed. We'll then pull those newer documents and index them, but when the softDeleteColumn is set to the softDeleteMarkerValue, that tells the indexer to delete the document rather than updating it.
This document will have more details on indexers for Cosmos DB: https://docs.microsoft.com/en-us/azure/search/search-howto-index-cosmosdb

Thank you @dereklegenzoff for the information. Our upstream process is set up in a way that we were preserving the ID column,  SoftDeleteColumn with marker value, HighWaterMarkColumn which is _ts in our case, and deleting all other custom metadata fields but it was not working so I was concerned whether the Indexer process needs all the document fields.

Sorry to hear it's not working for you. Please create a support request so we can look into the issue for you: https://docs.microsoft.com/en-us/azure/azure-portal/supportability/how-to-create-azure-support-request

Sorry, @dereklegenzoff I figured out the issue. We have a GeoLocation field in the document and while creating the data source, we are checking if the Location field is Valid using ST_ISVALID of Azure Cosmos Db. Upon retaining the Location field, it is working fine now.

Awesome, glad you got it working!