Using v-html directive on custom component is not server-rendering properly

Vue version
3.2.37
Link to minimal reproduction
https://github.com/HeavyMedl/vue-3-ssr-vhtml-custom-component-bug
Steps to reproduce
git clone https://github.com/HeavyMedl/vue-3-ssr-vhtml-custom-component-bug.git
cd vue-3-ssr-vhtml-custom-component-bug/
npm ci

In development mode
npm run dev

Or, in production mode
npm run build
npm run serve

Visit http://localhost:6173
What is expected?
The server-rendered HTML to reflect the same structure which is generated by hydrating client-side without server-rendering, and for the DOM to reflect this.

This is a section without using v-html

I replace whats inside custom component

I replace whats inside custom component

    Dynamic component without v-html

Normal div using v-html

What is actually happening?
In either case, development or production, observe the resultant HTML generated by renderToString. The HTML from v-html is missing:

This is a section without using v-html

    Dynamic component without v-html

Normal div using v-html

We can see the difference in the compiled bundles
Client bundle (expected)
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
  const _component_custom_component = resolveComponent("custom-component");
  const _component_custom_dynamic_component = resolveComponent("custom-dynamic-component");
  return openBlock(), createElementBlock("div", null, [
    _hoisted_1,
    createVNode(_component_custom_component, { innerHTML: $data.customComponentHTML }, null, 8, ["innerHTML"]),
    createVNode(_component_custom_dynamic_component, {
      tag: "article",
      innerHTML: $data.customComponentHTML
    }, null, 8, ["innerHTML"]),
    createVNode(_component_custom_dynamic_component, { tag: "div" }, {
      default: withCtx(() => [
        _hoisted_2
      ]),
      _: 1
    }),
    createBaseVNode("div", { innerHTML: $data.normalDiv }, null, 8, _hoisted_3)
  ]);
}

Server bundle
function _sfc_ssrRender(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
  const _component_custom_component = resolveComponent("custom-component");
  const _component_custom_dynamic_component = resolveComponent("custom-dynamic-component");
  _push(`<div${ssrRenderAttrs(_attrs)}><section>This is a section without using v-html</section>`);
  _push(ssrRenderComponent(_component_custom_component, null, null, _parent));
  _push(ssrRenderComponent(_component_custom_dynamic_component, { tag: "article" }, null, _parent));
  _push(ssrRenderComponent(_component_custom_dynamic_component, { tag: "div" }, {
    default: withCtx((_, _push2, _parent2, _scopeId) => {
      if (_push2) {
        _push2(`Dynamic component without v-html`);
      } else {
        return [
          createTextVNode("Dynamic component without v-html")
        ];
      }
    }),
    _: 1
  }, _parent));
  _push(`<div>${$data.normalDiv}</div></div>`);
}

System Info
System:
    OS: macOS 12.5.1
    CPU: (10) arm64 Apple M1 Max
    Memory: 385.73 MB / 32.00 GB
    Shell: 5.8.1 - /bin/zsh
  Binaries:
    Node: 16.13.0 - ~/.nvm/versions/node/v16.13.0/bin/node
    npm: 8.1.0 - ~/.nvm/versions/node/v16.13.0/bin/npm
  Browsers:
    Chrome: 104.0.5112.101
    Firefox: 104.0
    Safari: 15.6.1
  npmPackages:
    vue: ^3.2.37 => 3.2.37

Any additional comments?
My use case is that I have a private Vue 3 component library using vite. Consumers need to inherit the CSS delcarations of components from the library, but should be able to inject escaped HTML using the v-html directive.
import { CompA } from '@company/lib'

<template>

    <comp-a v-html='htmlFromCMS'>

</template>

Ugh, you should never use v-html on a component. We should probably just make this a compile time error.

LOL @yyx990803

Ugh, you should never use v-html on a component. A component is supposed to manage its own DOM tree. Using v-html completely defeats the purpose of using a component at all, why not just use it on a plain
?
We should probably just make this a compile time error.

You have some legitimate use cases where you receive HTML and you want to display it.
I don't see why it should be blocked.

Ugh, you should never use v-html on a component. A component is supposed to manage its own DOM tree. Using v-html completely defeats the purpose of using a component at all, why not just use it on a plain
?
We should probably just make this a compile time error.

You have some legitimate use cases where you receive dynamic HTML and you want to display it.
I don't see why it should be blocked.
In any case, the fact that v-html works on the client side but not on the SSR side is just counter-intuitive and something that shouldn't be kept, no matter what choice is made to authorize it or not.

Ugh, you should never use v-html on a component. A component is supposed to manage its own DOM tree. Using v-html completely defeats the purpose of using a component at all, why not just use it on a plain
?
We should probably just make this a compile time error.

It is quite practical for reusing styles, event handlers, etc. for static () and dynamic (from backend/CMS) content.
Let's say I have a  component which has special styles for text (e.g. setting h1-h6 font size & weight).
I can use this component as usual by putting inside some HTML.
And in other places, where content is dynamic, I can just use the same component but provide its innerHTML with v-html.


Not possible to download build artifact with az pipelines using official az CLI Docker image

Describe the bug
It is not possible to download nor upload artifacts with az pipelines using official az CLI Docker image (mcr.microsoft.com/azure-cli:2.24.2).
Command Name
az pipelines runs artifact download Extension Name: azure-devops. Version: 0.18.0.
Errors:
Failed to update Universal Packages tooling.
 No release could be found based on the provided information.

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

az pipelines runs artifact download --organization {} --project {} --run-id {} --artifact-name {} --path {} --debug

Expected Behavior
Download artifact from Azure DevOps build.
Environment Summary
Linux-5.8.0-55-generic-x86_64-with
Python 3.8.9
Installer: DOCKER

azure-cli 2.24.2

Extensions:
azure-devops 0.18.0

Additional Context
This log from debug seems to be the root cause:
azext_devops.devops_sdk.exceptions.AzureDevOpsAuthenticationError: The requested resource requires user authentication: https://dev.azure.com/{}/_apis/CustomerIntelligence/Events
urllib3.connectionpool: https://{}.vsblob.visualstudio.com:443 "GET /_apis/clienttools/ArtifactTool/release?osName=Linux&arch=x86_64&distroName=alpine&distroVersion=3.13.5 HTTP/1.1" 404 326
azext_devops.devops_sdk.client: Response content: b'{"$id":"1","innerException":null,"message":"No release could be found based on the provided information.","typeName":"Microsoft.VisualStudio.Services.BlobStore.WebApi.Exceptions.ClientToolNotFoundException, Microsoft.VisualStudio.Services.BlobStore.WebApi","typeKey":"ClientToolNotFoundException","errorCode":0,"eventId":3000}'
msrest.exceptions: No release could be found based on the provided information.
cli.azext_devops.dev.common.artifacttool_updater: No release could be found based on the provided information.

It looks to me that  vsblob.visualstudio.com does not return link to the Artifact Tool for Alpine Linux which is base of Docker image. If I will call this URL without "&distroName=alpine&distroVersion=3.13.5", it returns link to the tool properly.

route to service team

Any updates on this? We are having the same issue in our project.

Also having an issue with this

devops service team should look into this

Any updates?


Fixing truncate issue in blog post

Fixing truncate issue in blog post
https://github.com/backstage/backstage/issues/23891

@vinzscam I think you're right. #23901

i think meant this ?
        blog: {
          path: 'blog',
          truncateMarker: /<!--\s*truncate\s*-->|\{\/\*\s*truncate\s*\*\/\}/,
        },

https://docusaurus.io/docs/next/api/plugins/@docusaurus/plugin-content-blog#truncateMarker


Respect custom field name for parent-reference in translation-tables

1. Why is this change necessary?
I have a table named my_vendor_prefix_my_entity_name and a translation table named my_vendor_prefix_my_entity_name_translation. But I want to keep my column names short and I make a column my_vendor_prefix_my_entity_name_translation.my_entity_name_id. Notice how I left the vendor prefix out of the column name. This is currently not possible as is must be my_vendor_prefix_my_entity_name_translation.my_vendor_prefix_my_entity_name_id.
The abstract class \Shopware\Core\Framework\DataAbstractionLayer\EntityTranslationDefinition already defines a base-field that conforms to the long version. But it is already possible to override the method getBaseFields and choose a shorter column name. See this example:
protected function getBaseFields(): array
{
    $baseFields = parent::getBaseFields();

    foreach ($baseFields as $key => $field) {
        if (!$field instanceof FkField && !$field instanceof ManyToOneAssociationField) {
            continue;
        }

        if ($field->getStorageName() !== 'my_vendor_prefix_my_entity_name_id') {
            continue;
        }

        if ($field instanceof FkField) {
            $baseFields[$key] = (new FkField('my_entity_name_id', 'myEntityNameId', 'my_vendor_prefix_my_entity_name', 'id'))->addFlags(new ApiAware(), new PrimaryKey(), new Required());
        } elseif ($field instanceof ManyToOneAssociationField) {
            $baseFields[$key] = new ManyToOneAssociationField('myEntityName', 'my_entity_name_id', 'my_vendor_prefix_my_entity_name', 'id', false);
        }
    }

    return $baseFields;
}

Although, it should now be possible to use the short column names, it does not actually work, because the \Shopware\Core\Framework\DataAbstractionLayer\Dbal\FieldResolver\TranslationFieldResolver does not respect the defined fields.
2. What does this change do, exactly?
With this change, the \Shopware\Core\Framework\DataAbstractionLayer\Dbal\FieldResolver\TranslationFieldResolver will respect the defined fields to determine the correct column name for the parent reference. It iterates over all defined fields and filters for these criteria:

Field type is \Shopware\Core\Framework\DataAbstractionLayer\Field\FkField
Field has flag \Shopware\Core\Framework\DataAbstractionLayer\Field\Flag\PrimaryKey
Field has a reference definition equal to its parent's definition

3. Describe each step to reproduce the issue or behaviour.
See section 1.
4. Please link to the relevant issues (if any).
None
5. Checklist

[x] I have rebased my changes to remove merge conflicts
[ ] I have written tests and verified that they fail without my change
[ ] I have created a changelog file with all necessary information about my changes
[ ] I have written or adjusted the documentation according to my changes
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfil them.

unit test and changelog would be nice for this

I will close this as it's inactive for a while. Feel free to create a new one if you are done


Update Mac jaxlib?

Hi!
I got here from this issue comment (https://github.com/python-poetry/poetry/issues/6956#issuecomment-1432226503). It looks like the Mac version of the jaxlib hasn't been updated since 0.3.18 (https://jorenham.github.io/jax_pep503/jaxlib/). It would be wonderful to be able to use this!
Thanks!!

The repo uses this (non pep503) one as source: https://storage.googleapis.com/jax-releases/
The latest mac release is 0.3.18 there as well, so I'm afraid that there isn't anything that can be done about this.

There aren't even any mac-specific wheels here:  https://storage.googleapis.com/jax-releases/jax_cuda_releases.html

Oh, ok. I misunderstood. Thanks regardless!
The point of the poetry issue that I got here from was to be able to have a cross-platform poetry pyproject.toml that:

Would install a CUDA-capable version of jax/jaxlib on Linux machines.
Install a non-CUDA-capable version of jax/jaxlib on a Mac.

FYI, the Mac-specific wheels are stored here: https://storage.googleapis.com/jax-releases/jax_releases.html

I'm not sure where you are seeing that the latest release is 0.3.18. I see all the most recent releases!

@tbenthompson
I think I have found the issue here.
As you can see in the code, the contents of https://storage.googleapis.com/jax-releases/ are fetched, and in there, the newer mac releases are indeed missing.
I noticed only now that at the top of the xml, there's a <NextMarker>, indicating pagination. So currently, only the first "page" of releases is indexed.
After digging a bit more, I found that the returned XML is actually a response from the AWS S3 ListObjects action. This means boto3 can be used to do the parsing.
I'll look into fixing this today or tomorrow.
And thanks @tbenthompson for pointing this out; this is a rather significant (and sneaky) bug.

Oh that's awesome! Glad you tracked down the issue and I'm psyched to use this.

@tbenthompson The fixes are live now :)

I can't seem to install on Mac.  Is this working for anyone?  Can anyone share their your pyproject.toml dependency?

@NeilGirdhar I believe you have answered this question yourself in #6 :)

@jorenham I think I'm essentially running into this: https://github.com/python-poetry/poetry/issues/6956

@NeilGirdhar I'm a linux user myself, so I'm afraid I can't be of much assistance with max related issues 🤷🏻. I assume that you've found the working jax+cuda example project already?

@jorenham Yeah, I'm a linux user too.  I just want the same pyproject to work on both Linux and Mac.  I guess that's impossible for now in Poetry.  Thanks for the link.

@tbenthompson Did you manage to get it working in the end?

Nope!  I just use pip on my mac for now.  I mainly develop on linux, so it's a minor inconvenience.  There does seem to be some problems with using Poetry on multiple platforms though.

@NeilGirdhar, my question was directed at @tbenthompson

No, I never got the cross-platform poetry install working in a way that would install the lates CUDA version on Linux and the latest CPU version on Mac. I ended up just having poetry install the CPU version and then manually running pip to replace the CPU version with CUDA on Linux if desired.

@tbenthompson Good to know.  That's exactly what I'm trying to do so if you remember, please let me know if you find a way one day.


When I lock my PC without turn off the monitor everything works fine (see image lck1), however when I turn off the monitor and then turn on again the result is what you can see in the second image (lck2). In my case I'm using polybar as status bar and it come in front of the lockscreen.
I'm using Arch updated today. Betterlockscreen package installed from AUR.
Thank you

cannot reproduce :/


KNN SPMD python interfaces

Description
Please include a summary of the change. For large or complex changes please include enough information to introduce your change and explain motivation for it.
Changes proposed in this pull request:

/intelci: run

Please rebase your branch and address public CI test fails.

/intelci: run

/intelci: run

Thank you for your thorough reviews. Addressed most comments and finally external CI is green (was related to onedal version >= 20230100).

Hi just add GPU device and librariry requirements for your examples here https://github.com/intel/scikit-learn-intelex/blob/master/tests/run_examples.py#L127:L156:
...
req_device['knn_bf_classification_spmd.py'] = ["gpu"]
req_device['knn_bf_regression_spmd.py'] = ["gpu"]

...

req_library['knn_bf_classification_spmd.py'] = ['catboost']
req_library['knn_bf_regression_spmd.py''] = ['dpctl', 'mpi4py']

And also rename your examples and make spmd as suffix in the file names.

/intelci: run

/intelci: run

Should these interfaces be compatible with using dpctl tensors for X and y without queue argument? Because currently it is not. And it seems like other algos may not be also, not sure if this is needed at the moment.

Should these interfaces be compatible with using dpctl tensors for X and y without queue argument? Because currently it is not. And it seems like other algos may not be also, not sure if this is needed at the moment.

This is good question and it is common for all SPMD iface algos. We are working on DCPTL adoption, so it will be aligned on  https://github.com/intel/scikit-learn-intelex/pull/1216.
This PR is done :)


Improvements in pmgen

This adds some improvements to pmgen for recursive patterns. It also includes a demo_reduce pass to demonstrate the new features. (Not sure if that should be included in the final PR.)
Simple test case for demo_reduce (test.v):
module test (input A, B, C, D, E, output X, Y, Z);
	assign X = (A & B) & (C & D & E);
	assign Y = (A | B | C | D) | E;
	assign Z = A ^ (B ^ C) ^ D ^ E;
endmodule

Run with yosys -p 'prep; simplemap;; demo_reduce; show' test.v.

Demo for the test case generator:
yosys -p 'test_pmgen -generate reduce; hierarchy -top pmtest_test_pmgen_pm_reduce_00099; test_pmgen -reduce_chain;; show'


Api for selecting Microphone and speakers

I miss in the API a callback which can filter Speaker and Mic devices which the CCP uses for:

Phone calls
Ring tones

It can be very simple call back which just returns CONSTRAINTS for navigator.mediaDevices.getUserMedia(). Something like:
function contactConstraints() {
    return {
        deviceId: {
            exact: [inAudioDevSelected, outAudioDevSelected]
        }
    };
}

function ringConstraints() {
    return {
        deviceId: {
            exact: outRingDevSelected
        }
    };
}

connect.core.initCCP(iframeContainer, {
    ccpUrl: url,
    loginPopup: false,
    softphone: {
        allowFramedSoftphone: true,
        disableRingtone: false
    },
    contactAudioConstraints: contactConstraints,
    ringTonesAudioConstraints: ringConstraints
});

Yes indeed! Want this too!

Hi, in the 1.6.3 release, we added audio device related APIs such as agent.setSpeakerDevice(), agent.setMicrophoneDevice(), and agent.setRingerDevice(). For embedded CCP users, you can pass a new parameter pageOptions: { enableAudioDeviceSettings: true } to initCCP API, which will add an audio device section to the Settings page.


"Integer division"-like in Python

I think integer division would be a helpful addition to our set of custom operators

[x] I've read, understood, and done my best to follow the Contributing guidelines before opening this issue.

What did you do?

Just like in python, // infix operator divides and rounds down to the nearest integer

What did you expect to happen?

Create a custom infix division operator if one side is a FloatingPoint. Eg

7 // 2 => output is 3
-7 // 2 => output is -4

What happened instead?

infix operator // => Expected operator name in operator declaration

@cHaLkdusT Thank you for opening this :)
I think this would only make sense if one of the sides is a FloatingPoint, because Int/Int division already works like that...

Looks like someone's forgetting his Swift basics 😅 I'll update the thread. Thanks @LucianoPAlmeida!

Also, It maybe will have to be another thing different than //, I'm not sure but I think the parser will think that it is a comment block :)
In python this works because the comment is #

I was thinking of a double ➗➗ (emoji) character as an alternate, I'm not sure though if it makes sense.

I was thinking of a double ➗➗ (emoji) character as an alternate, I'm not sure though if it makes sense.

Not sure, seems a bit weird to me TBH, but I don't have any suggestion either ...

BTW, in Swift, this expression -7 / 2 results to -3
Since the // operator in Python divides and rounds down to the nearest integer, this expression -7 // 2 must be -4

Yeah, but note that the behavior is the same two integer division return an integer rounded (to nearest or not) the behavior is that it returns a rounded integer :)

I don't think it is possible with // operator, because it is reserved for comments

Closing due to inactivity, feel free to reopen if you think this still worth a discussion 👍


AppImage for Linux

Would you be interested to provide an AppImage for Linux? electron-builder now has support for it that makes it really easy to do.

Yup! Don't officially support Linux yet but I can add this.

Hey @jesseruder,
Any update on this?
Cheers.

Hey sorry, I've been really busy working on other areas. Can definitely prioritize this!

Took longer than expected but it's here! https://github.com/exponentjs/xde/releases/tag/v2.9.0
Haven't updated the docs yet. Just run chmod a+x XDE.AppImage and ./XDE.AppImage.

Hey @jesseruder,
Awesome look forward to trying this out!
Cheers,
Otis.


working on user-job endpoint

Currently only works if the job already exists
Also indexed the ds_id field


Setting 'base' in configuration and build.format: 'file' causes header link to point at incorrect url.

What version of starlight are you using?
0.28.2
What version of astro are you using?
4.15.8
What package manager are you using?
pnpm, npm
What operating system are you using?
Mac
What browser are you using?
Chrome
Describe the Bug
When 'base' is set in 'astro.config.mjs' to a subpath such as 'some/path/', and when 'build.format' is 'file', the headers on generated doc pages will link to 'some/path.html' instead of 'some/path/index.html' as expected.  This same issue does not occur if we set 'base' for vite in 'astro/config.mjs' via:
vite {
    base: 'some/path'
}

Example document structure:
└── src/
    └── content/
        └── docs/
            ├── index.mdx
            ├── folder1/
            │   ├── page1.md
            └── folder2/
                └── page2.md

Link to Minimal Reproducible Example
https://stackblitz.com/edit/withastro-astro-tcvntm?file=astro.config.mjs
Participation

[X] I am willing to submit a pull request for this issue.

I also not able to get starlight to work in astro build with base.
I'm using the latest (0.28.2), and I have tried both build.format: 'file' | 'directory':
export default defineConfig({
  // neither of these work with `starlight`
  base: ...,
  vite: {
    base: ...
  },
  integrations: [
    starlight({
      sidebar: [
        {
          label: 'Getting Started',
          items: [{
             slug: 'guides/getting-started' // the resulting link is not adjusted
          }]
        }
      ]
    )}
  ]
})

Hey, are there any updates regarding this pr?


Cannot exit from full screen mode (/f flag) Ubuntu 12.04

Hi. Here is problem: after suspend-resume wifi reconnected but rdp window still in front in hanged state - no reaction to keyboard/mouse nor trying to exit. So, I cannot switch to any other window since rdp stealing any input and remains unresponsible. Tried to bind shortcut with xdotool for killing foreground window with no success, but any other windows work well. In these situations I have no choice than reset X via Ctrl-Alt-Bksp what driving me crazy.

@mr-wong Have you tried ctrl + alt + enter? this should switch back to normal window mode.

Uhh, didn't know about that shortcut, thanks!! I will try when another hang occurs. Anyway, rdp should exit itself on lost connection at suspend (those issues occurs only on suspend-resume cycle).

@mr-wong Did the error occur again? Do you use auto reconnect? Otherwise FreeRDP should exit on connection loss.

@akallabeth I've just tried now to simulate - it hangs, no response to ctrl+alt+enter, nor anything else like Alt-F1/F2 Unity menus. So I left it open as is and sat to another laptop. After 10-15 minutes connection at last dropped and console flooded with messages:

[...many skipped here...]
[20:47:04:888] [25863:25864] [ERROR][com.freerdp.core.transport] - BIO_should_retry returned a system error 32: Broken pipe
[20:47:04:889] [25863:25864] [ERROR][com.freerdp.core.transport] - BIO_should_retry returned a system error 32: Broken pipe
[20:47:04:890] [25863:25864] [ERROR][com.freerdp.core.transport] - BIO_should_retry returned a system error 32: Broken pipe
[20:47:04:890] [25863:25864] [ERROR][com.freerdp.core.transport] - BIO_should_retry returned a system error 32: Broken pipe
[20:47:04:890] [25863:25864] [ERROR][com.freerdp.core.transport] - BIO_should_retry returned a system error 32: Broken pipe
[20:47:04:938] [25863:25864] [ERROR][com.freerdp.core.transport] - BIO_read returned a system error 11: Resource temporarily unavailable
[20:47:04:938] [25863:25864] [ERROR][com.freerdp.core] - freerdp_check_fds() failed - 0
[20:47:04:938] [25863:25864] [INFO][com.freerdp.client.x11] - Network disconnect!
[20:47:04:938] [25863:25864] [ERROR][com.freerdp.client.x11] - Failed to check FreeRDP file descriptor`

Version, updated today:

xfreerdp --version
This is FreeRDP version 2.0.0-dev (git b769d84)

Connection string:

xfreerdp /u:---- /p:---- /v:----:---- +clipboard +auto-reconnect -decorations /f /bpp:15 +compression /compression-level:2 +bitmap-cache +offscreen-cache +async-update +aero +fonts /gdi:hw

@mr-wong Which version of OpenSSL (or ubuntu for that matter) do you use?

@akallabeth I have reduced encryption to Low level (56 bit) inside Group Policy trying to gain max performance on previous very weak laptop, using in 'friendly' environment, so not bothering about security. Anyway, version of libssl is:

dpkg -l |grep -i libssl
ii  libssl-dev                                1.0.1-4ubuntu5.33                     SSL development libraries, header files and documentation
ii  libssl-doc                                1.0.1-4ubuntu5.33                     SSL development documentation documentation
ii  libssl1.0.0                               1.0.1-4ubuntu5.33                     SSL shared libraries
ii  libssl1.0.0:i386                          1.0.1-4ubuntu5.33                     SSL shared libraries

Ubuntu 12.04 Unity x64.

@mr-wong Does this also occur if you use less exotic encryption settings?

@akallabeth Yes, still persists after I reset all encryption-related settings in GP. Once I was able to push ctrl+alt+enter immediately after resume, then keyboard locked after couple seconds - no response in Ubuntu too, only mouse. Closed terminal tab with rdp and all released, seems rdp hard stealing keyboard input in such conditions.

Looks like this is caused by #4511


feat: first implementation of print API

add few printing options, implemented on top of https://github.com/tauri-apps/wry/pull/1317

On the wry side there is still an issue with PDF generation, but otherwise this PR seems to work well. Further implementation will come to wry itself (and the typescript wrapper)


Improvements:

add a Sharp method to d Job on clock
improve the schedule method to ignore too many nope calls

Coverage increased (+1.4%) to 92.473% when pulling 58adc870c6c41028082d1009206a9d9173a3a897 on bbiao:improve into 354c9bd6cf28b0202957d8af5906d76b7a436e1b on onatm:master.

Thank you for sending this PR and sorry for losing its notification in my inbox. I am not planning to add any additional features in this project since I developed this to learn go a couple of years ago.

Ok，anyone want to use my version can check out by
go get<EMAIL_ADDRESS>


Add Crushed Netherrack and Endstone

Please add these two blocks so I can get my nether and end items! PLS!

Added in 1a572d459e7c2a4dbb4ffecc27a0bf4134336a96


Pass the executing assembly to Harmony.PatchAll

This fixes the issue of methods not being patched using the code provided by the template.

If you don't pass in an assembly it implicitly uses the calling assembly (source). I've used it like this in all of my mods and it works fine. Is there a reproducible problem when doing it this way?

That's strange. That didn't work for me when I was working on VR Zoom last night and basing the project update off of this template. Adding Assembly.GetExecutingAssembly() to Main.cs is what made the patch in BindInputVr finally start working.

That's interesting. Could you see if that's still the case, and if it is, try printing out what assembly their method is returning?

I'm not gonna have a chance to look into it anytime this weekend. Perhaps you could try building the VR Zoom mod without the GetExecutingAssembly call, and see if you have any luck with it? It wouldn't be the first time something that works for other folks doesn't work on my system.

So I just checked my mod again, and it does appear to work without passing the assembly. That said, I just noticed this remark in the source you linked to, which mentions that the argument-less version can get the wrong assembly in some cases.

This method can fail to use the correct assembly when being inlined. It calls StackTrace.GetFrame(1) which can point to the wrong method/assembly. If you are unsure or run into problems, use PatchAll(Assembly.GetExecutingAssembly()) instead.

Perhaps it's therefore simply more reliable to get and pass the executing assembly?

I'm unsure why it would've gotten inlined if it did, but that may be a lack of knowledge about the Roslyn compiler. It doesn't hurt anything to do it this way, so we might as well even if only for the 1%.


data: zaidahmad25

Fixes Issue

Changes proposed

Check List (Check all the applicable boxes)

[ ] My code follows the code style of this project.
[ ] My change requires changes to the documentation.
[ ] I have updated the documentation accordingly.
[ ] All new and existing tests passed.
[ ] This PR does not contain plagiarized content.
[ ] The title of my pull request is a short description of the requested changes.

Screenshots

Note to reviewers

Thank you for approving guys! But I am not able to see my profile. It says "zaidahmad25" not found.
Also just for confirmation, https://linkfree.eddiehub.io/{username} should be the link right?

The changes have only been approved by us. You'll be able to see your profile once the maintainers approve it and merge the pull request. Please be patient it will be merged soon 😄

Oh okay! I was not aware. Thank you for the reply :)


Testing the refined URL file name warning message

Hey Mack! As you're probably aware, I usually conduct my GitHub bot experiments on my bot-testing-ground repo, but I've wanted to conduct some extra tests here.

Interesting... the success header hasn't come up in any of my bot-testing-ground commits, but I believe I know how to fix this... anyway, I'll try following these instructions and see if the bot leaves me with that success header and a ready to merge message.


Add Stack Properties descriptions

Add descriptions to stack properties

part of https://github.com/flowforge/flowforge/issues/583


Security handshake failed odroid

Background
Hey, I'm trying to make a simnet lightning node running on an odroid to connect to a raspberry pi but i keep getting the error security handshake failed.
Environment

version of lnd
lncli version 0.6.1-beta commit=v0.6.1-beta-21-g863bf2f91b245afd58c8edc078a171a55e48f931

which operating system
Linux odroid 4.14.5-92 #1 SMP PREEMPT Mon Dec 11 15:48:15 UTC 2017 armv7l armv7l armv7l GNU/Linux

version of btcd, bitcoind, or other backend
btcd version 0.12.0-beta

Steps to reproduce
Heres the code:
import threading
import time

import grpc
import os
import rpc_pb2 as ln
import rpc_pb2_grpc as lnrpc
import codecs
import pyqrcode
import RPi.GPIO as GPIO

from guizero import App, Text, TextBox, PushButton, Picture

def generate_bill():
    response = stub.WalletBalance(ln.WalletBalanceRequest())
    request = ln.Invoice(memo="App Invoice", value=100)
    response = stub.AddInvoice(request)
    big_code = pyqrcode.create(response.payment_request)
    big_code.png('qr_code.png', scale=6, module_color=[0, 0, 0, 128], background=[0xff, 0xff, 0xff])
    my_qr.image="qr_code.png"
    my_qr.visible=True
    myhash = response.r_hash
    my_hashtext.value = codecs.encode(myhash, 'hex').decode('ascii')
    pay_counter.value=1
    pay_counter.repeat(1000, pay_countdown)

def relay_on():
    GPIO.setmode(GPIO.BOARD)
    GPIO.setup(pin, GPIO.OUT)
    GPIO.output(pin, GPIO.HIGH)

def relay_off():
    GPIO.output(pin, GPIO.LOW)
    GPIO.cleanup()

def pay_countdown():
    pay_counter.value = int(pay_counter.value) + 1
    invoice = stub.LookupInvoice(ln.PaymentHash(r_hash_str=my_hashtext.value))
    if invoice.settled:
        pay_counter.cancel(pay_countdown)
        pay_counter.after(10,paid)
    if int(pay_counter.value) > 3000:
        pay_counter.value = 1
        pay_counter.cancel(pay_countdown)
        pay_counter.after(10,generate_bill)

def paid():
    pay_counter.visible = False
    my_qr.image="complete.jpg"
    my_qr.visible=True
    pay_counter.after(2000,start_use)

def start_use():
    use_counter.value=20
    use_counter.visible=True
    my_qr.visible = False
    relay_on()
    welcome_message.value = "Use for this amount of time:"
    use_counter.repeat(1000, use_countdown)

def use_countdown():
    use_counter.value = int(use_counter.value) - 1
    if int(use_counter.value) <1:
        use_counter.cancel(use_countdown)
        use_counter.visible = False
        welcome_message.value = "Pay to use"
        relay_off()
        use_counter.after(10,generate_bill)

app = App(bg="#13084c", title="App", width=500, height=500)
welcome_message = Text(app, text="Pay to use", size=20, font="Times New Roman", color="blue")
pay_counter =Text(app, text="1", size=10, font="Times New Roman", color="blue", visible=False )
use_counter =Text(app, text="1", size=30, font="Times New Roman", color="blue", visible=False)
my_qr = Picture(app, image="complete.jpg", width=250,height=250, visible=False)
my_hashtext = Text(app, text="hash", size=10, font="Times New Roman", color="blue", visible=False)
with open(os.path.expanduser('~/App/lnd/admin.macaroon'), 'rb') as f:
    macaroon_bytes = f.read()
    macaroon = codecs.encode(macaroon_bytes, 'hex')
pin=40
def metadata_callback(context, callback):
    callback([('macaroon', macaroon)], None)

os.environ["GRPC_SSL_CIPHER_SUITES"] = 'HIGH+ECDSA'

cert = open(os.path.expanduser('~/App/lnd/tls.cert'), 'rb').read()
cert_creds = grpc.ssl_channel_credentials(cert)
auth_creds = grpc.metadata_call_credentials(metadata_callback)
combined_creds = grpc.composite_channel_credentials(cert_creds, auth_creds)

channel = grpc.secure_channel('<Your IP address>:<port>', combined_creds)

stub = lnrpc.LightningStub(channel)
generate_bill()
app.tk.attributes("-fullscreen",True)
app.display()

Expected behaviour
The gui should display a qr code for payment and trigger an action on the raspberry pi.
Actual behaviour
Instead the error Security handshake failed occurs. I'm not sure what I'm doing wrong because the admin.macaroon and tls.cert files in use should be the correct ones.
here's the error below.
D0618 16:33:12.245440478    1335 ev_posix.cc:174]            Using polling engine: epollex
D0618 16:33:12.245832821    1335 dns_resolver_ares.cc:480]   Using ares dns resolver
E0618 16:33:12.245934279    1335 trace.cc:65]                Unknown trace var: 'client_channel'
I0618 16:33:12.251783167    1335 pick_first.cc:164]          Pick First 0x27e4298 created.
I0618 16:33:12.251906448    1335 pick_first.cc:249]          Pick First 0x27e4298 received update with 1 addresses
I0618 16:33:12.252002541    1335 subchannel_list.h:494]      [pick_first 0x27e4298] Creating subchannel list 0x27e44c8 for 1 subchannels
I0618 16:33:12.253832119    1335 subchannel_list.h:545]      [pick_first 0x27e4298] subchannel list 0x27e44c8 index 0: Created subchannel 0x27e6990 for address uri ipv4:<IP_ADDRESS>:18555
I0618 16:33:12.253908942    1335 subchannel_list.h:327]      [pick_first 0x27e4298] subchannel list 0x27e44c8 index 0 of 1 (subchannel 0x27e6990): starting watch: requesting connectivity change notification (from IDLE)
I0618 16:33:12.254405659    1335 subchannel_list.h:441]      [pick_first 0x27e4298] subchannel list 0x27e44c8 index 0 of 1 (subchannel 0x27e6990): connectivity changed: state=CONNECTING, error="No Error", shutting_down=0
I0618 16:33:12.254485502    1335 subchannel_list.h:349]      [pick_first 0x27e4298] subchannel list 0x27e44c8 index 0 of 1 (subchannel 0x27e6990): renewing watch: requesting connectivity change notification (from CONNECTING)
D0618 16:33:12.259030853    1335 tcp_posix.cc:1258]          cannot set inq fd=12 errno=92
D0618 16:33:12.262443290    1335 security_handshaker.cc:176] Security handshake failed: {"created":"@1560864792.262291832","description":"Handshake read failed","file":"src/core/lib/security/transport/security_handshaker.cc","file_line":358,"referenced_errors":[{"created":"@1560864792.262272301","description":"Connection reset by peer","errno":104,"fd":12,"file":"src/core/lib/iomgr/tcp_posix.cc","file_line":495,"grpc_status":14,"os_error":"Connection reset by peer","syscall":"recvmsg","target_address":"ipv4:<IP_ADDRESS>:18555"}]}
I0618 16:33:12.262698602    1335 subchannel.cc:926]          Connect failed: {"created":"@1560864792.262291832","description":"Handshake read failed","file":"src/core/lib/security/transport/security_handshaker.cc","file_line":358,"referenced_errors":[{"created":"@1560864792.262272301","description":"Connection reset by peer","errno":104,"fd":12,"file":"src/core/lib/iomgr/tcp_posix.cc","file_line":495,"grpc_status":14,"os_error":"Connection reset by peer","syscall":"recvmsg","target_address":"ipv4:<IP_ADDRESS>:18555"}]}
I0618 16:33:12.262808914    1335 subchannel_list.h:441]      [pick_first 0x27e4298] subchannel list 0x27e44c8 index 0 of 1 (subchannel 0x27e6990): connectivity changed: state=TRANSIENT_FAILURE, error="No Error", shutting_down=0
I0618 16:33:12.262868185    1335 subchannel_list.h:369]      [pick_first 0x27e4298] subchannel list 0x27e44c8 index 0 of 1 (subchannel 0x27e6990): stopping connectivity watch
I0618 16:33:12.262964695    1335 subchannel_list.h:327]      [pick_first 0x27e4298] subchannel list 0x27e44c8 index 0 of 1 (subchannel 0x27e6990): starting watch: requesting connectivity change notification (from TRANSIENT_FAILURE)
I0618 16:33:12.263024382    1335 subchannel.cc:863]          Subchannel 0x27e6990: Retry in 989 milliseconds
Traceback (most recent call last):
  File "/home/pi/App/lnd/hardware_control.py", line 108, in <module>
    generate_bill()
  File "/home/pi/App/lnd/hardware_control.py", line 28, in generate_bill
    response = stub.WalletBalance(ln.WalletBalanceRequest())
  File "/home/pi/App/lnd/lib/python3.5/site-packages/grpc/_channel.py", line 565, in __call__
    return _end_unary_response_blocking(state, call, False, None)
  File "/home/pi/App/lnd/lib/python3.5/site-packages/grpc/_channel.py", line 467, in _end_unary_response_blocking
    raise _Rendezvous(state, None, None, deadline)
grpc._channel._Rendezvous: <_Rendezvous of RPC that terminated with:
	status = StatusCode.UNAVAILABLE
	details = "failed to connect to all addresses"
	debug_error_string = "{"created":"@15612364792.263039018","description":"Failed to pick subchannel","file":"src/core/ext/filters/client_channel/client_channel.cc","file_line":3381,"referenced_errors":[{"created":"@15612364792.263039018","description":"failed to connect to all addresses","file":"src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc","file_line":453,"grpc_status":14}]}"
>

Did you move the TLS and macaroon files from their expected path within the lnd directory? If so, lnd will think the files do not exist and will generate new ones.

The macaroon file is in a directory in the gopath, the tls file is still in the .lnd directory.

Double check that the other side is actually listening, the main error here is:

Connection reset by peer","errno":104

Closing per https://github.com/lightningnetwork/lnd/issues/3215#issuecomment-504237885, please re-open if this is not the issue.


feat: add support for URL path rewrites

This is an attempt at resolving https://github.com/iterative/dvc-http/issues/50#issuecomment-1605650579 which requires rewriting the remote URL path from .../files/md5/xx/xxxx... to, e.g., .../files-md5/xx/xxxx... (or even a more substantial rewrite to .../dvc/files-md5/xxxxxx...) because our HTTP backend does not support arbitrary subpaths but is limited to at most 3 levels of nesting. Originally, we were considering a dedicated DVC plugin, but it seems to lead to significant copy & paste from this plugin as the main difference is the modified remote URL path.
I've added a new config field rewrites which is a list of rewrite directives inspired by, e.g., NGINX rewrite rules which consists of a regex with capture groups matched against the source path and a replacement string containing capture group references. For instance, a DVC config containing a rewrite directive looks like this:
 [core]
     remote = default
 ['remote "default"']
     url = ...
     method = PUT
+    rewrites = /files/md5/([^/]+)/(.+)$ /dvc/files-md5/\1\2,

Note the trailing comma, which turns this value into a list (see the configobj config file format spec).
Because of https://github.com/iterative/dvc/issues/9711, a PR submitted to https://github.com/iterative/dvc is necessary to extend the config schema, whose changes might look like this: https://github.com/iterative/dvc/compare/main...sisp:dvc:feat/dvc-http-rewrites
Originally, I was attempting to subclass aiohttp.ClientSession, add URL path rewrites there, and pass that custom client session instance to dvc_http.retry.ReadOnlyRetryClient, but it turned out that subclassing aiohttp.ClientSession is discouraged (and will be even forbidden in aiohttp v4). See also https://github.com/aio-libs/aiohttp/issues/2691. So, I decided to dump the subclassing idea and rather create a new custom client, compatible with the (implicitly) required client interface in fsspec.implementations.http.HTTPFileSystem, that is composed of the aiohttp_retry.RetryClient, adds read-only retries (as before), and also supports URL path rewriting.
Testing of this extension is currently a bit thin because I'm not sure where I'd add tests that actually check requests with URL rewrites.
WDYT about this extension?
/cc @shcheklein

@sisp thanks!
I don't see any issues with this approach. The only potentially concerning thing is that we have regex now in config which Studio is dealing with. We'll be running this server side with an arbitrary values. Meaning there is a surface for DDoS, or some other attacks.

I'm not sure if I want this to be in http remote. I'd not do this just because there is going to be code duplication. I don't think that's a problem, but there are ways to fix that.
Also, using regex opens up dvc to ReDOS attack, and feels a very heavyweight solution.
We could introduce a simpler config to set a remote mapping, which could be applicable to any remotes.
 [core]
     remote = default
 ['remote "default"']
     url = ...
     method = PUT
     legacy_cache_location = "files"
     new_cache_location = "files-md5"

We could also make it generic, but it might be hard to maintain compatibility (if the format args, or structure changes):
 ['remote "default"']
     url = ...
     method = PUT
     cache_format = "files-{hash}"

But I'd prefer to wait for @iterative/dvc to respond.

@shcheklein Thanks for your feedback and good catch about potential attacks.
@skshetry Thanks for your feedback! I like the generalized simpler config applicable to any remote. The way I understand the split file content hash (2 chars for the directory, the remaining chars for the filename), this is to optimize performance on e.g. Amazon S3, but it may not be necessary for all remotes including some custom HTTP remote. Could we make this configurable, too? Perhaps using a setting like cache_file_prefix = 2, which could be set to 0 for disabling the 2 chars subdirectory on the remote.

For the record: we've discussed in the team earlier this week and we think that the best way to go about this is for you to create something like an fs (gitlabartifactfs? 🤷♂ ) for this that would encode paths in a way that will work for gitlab. dvc-http is meant to cover simple http servers really, and this goes way beyond its purpose.

Thanks, @efiop! Just to clarify: It sounds like you mean creating a new fsspec implementation (like gdrivefs) that would be used in a new DVC plugin (like dvc-gdrive). Right? If so, GitLab's generic package registry is at best a very limited filesystem-like storage because it has exactly 3 nesting levels, each of which actually has a meaning (although it can be ignored from a technical point of view). With DVC's content-adressable storage, a reasonable mapping like dvc/files-md5/<hash> is possible and isn't too hacky, but I don't quite see how an fsspec implementation would fit. A new DVC plugin that uses fsspec.implementation.http.HTTPFileSystem very similar to dvc-http would be possible, but there would be quite a bit of code duplication because it would essentially be dvc-http with a particular hardcoded path mapping. That's the reason why I thought of this PR.

@sisp Yes, we mean creating an fsspec-compatible fs and using it in a plugin, that's just the easiest way to go about it as a whole. Note that neither the fs nor the plugin need to be public, you could implement it and keep it yourself.
Regarding code duplication, nothing really prevents you from just wrapping an httpfs, that's totally normal and we've done fs wraps ourselves in the past.
Regarding mapping simplicity, you are correct that it is not complex right now, but I files/md5 is just one type of objects and we currently have at least one more (runs/) and there will likely be even more in the future, which are not really limited to content-addressable storage (runs is not quite content-addressable btw). So it is in all of our interest for this implementation to be general enough to not require constant maintenance, like when in 3.0 our http implementation suddenly broke for you.
We've also considered creating a gitlab specific odb implementation, but that's not really general enough and will likely not suffice long term. An fs seems like the safest and simplest way, all things considered.
Considering just how deep you are already, creating a good quality fsspec implementation for this should be a piece of cake (the only head scratching that I see is how to encode path separators the best way). We have an extremely limited capacity these days so I have to clarify that we won't be able to maintain that fs ourselves (or the plugin) and likely won't be able to help much if at all, but worst case scenario you will be 1-2 simple monkey patches away (just need to patch dvc config and fs registry) from making everything work, and best case scenario this will push us to finalize small things that are left to make our plugin mechanism fully operational so that you could properly plug in dvc-gitlab through official API.

Thanks for the detailed clarification, @efiop! Sounds like a good plan! I'll pursue your suggested approach. Encoding URL paths to make GitLab's generic package registry is a good idea, I hadn't thought about that. :ok_hand:
I'll close this PR as it's clear this isn't the right approach. Thanks again for the fruitful discussion and guidance! :pray:

Encoding URL paths to make GitLab's generic package registry fs-like

Just to make sure we are on the same page: please correct me if I'm wrong, but the only problem we are trying to get around here is encoding paths that are deeper than 3 dirs, so the simplest things that come to mind are just .replace("/". "-") (or maybe use something more special like @ instead of -, since - is maybe a bit too generic) or maybe replace but starting from a certain depth (e.g. foo/bar/baz/qux/quux -> foo/bar/baz-qux-quux). If we are on the same page so far, then you'll need to do something really simple like:
class GitLabArtifactFileSystem(AbstractFileSystem):

    def __init__(self, ...):
        ...
        self._fs = HTTPFileSystem(...)

    def _get_url(self, path):
       return self.url + path.replace("/", "@")  # or whatever encoding logic makes sense to you

    def exists(self, path):
        return self._fs.exists(self._get_url(path))
    ...

@sisp Btw, does that gitlab artifact api allow listing? If so, then you should be able to implement ls, which dvc-http is missing. This should make it even more full-featured than our basic dvc-http implementation, which should be really nice (e.g. things like dvc gc should work here).

@sisp Oh, I see what you mean. Yeah, that sounds like a plan.


[SPARK-29922][SQL] SHOW FUNCTIONS should do multi-catalog resolution

What changes were proposed in this pull request?

Add ShowFunctionsStatement and make SHOW FUNCTIONS go through the same catalog/table resolution framework of v2 commands.
We don’t have this methods in the catalog to implement an V2 command

catalog.listFunctions

Why are the changes needed?

It's important to make all the commands have the same table resolution behavior, to avoid confusing
SHOW FUNCTIONS LIKE namespace.function
Does this PR introduce any user-facing change?

Yes. When running SHOW FUNCTIONS LIKE namespace.function Spark fails the command if the current catalog is set to a v2 catalog.
How was this patch tested?

Unit tests.

cc: @cloud-fan @rdblue @viirya @imback82

Can one of the admins verify this patch?

Can one of the admins verify this patch?

ok to test

Test build #114445 has started for PR 26667 at commit 7007274.

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/SparkPullRequestBuilder-K8s/19281/
Test PASSed.

Test build #114445 has finished for PR 26667 at commit 7007274.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

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/SparkPullRequestBuilder/114445/
Test FAILed.

Test build #114479 has started for PR 26667 at commit 41e2c3c.

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/SparkPullRequestBuilder-K8s/19313/
Test PASSed.

Test build #114479 has finished for PR 26667 at commit 41e2c3c.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

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/SparkPullRequestBuilder/114479/
Test FAILed.

Test build #114488 has started for PR 26667 at commit 6c12465.

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/SparkPullRequestBuilder-K8s/19321/
Test PASSed.

Test build #114488 has finished for PR 26667 at commit 6c12465.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

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/SparkPullRequestBuilder/114488/
Test FAILed.

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/SparkPullRequestBuilder-K8s/19381/
Test PASSed.

Test build #114552 has started for PR 26667 at commit 7c18a22.

Test build #114552 has finished for PR 26667 at commit 7c18a22.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class ShowFunctionsStatement(

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/SparkPullRequestBuilder/114552/
Test FAILed.

LGTM except the comments from @viirya

I'm a few days out, I will review the comments. I was reviewing the tests because I'm not sure why compatibility tests are failing.
Thanks

Test build #114877 has started for PR 26667 at commit a38bc74.

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/SparkPullRequestBuilder-K8s/19700/
Test PASSed.

Test build #114877 has finished for PR 26667 at commit a38bc74.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

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/SparkPullRequestBuilder/114877/
Test FAILed.

Test build #114946 has started for PR 26667 at commit 17fb046.

Do not review or merge until I find the test problems. Running in local the test finishes without errors. I'm testing a versión in Jenkins to get more information about the error

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/SparkPullRequestBuilder-K8s/19767/
Test PASSed.

Test build #114946 has finished for PR 26667 at commit 17fb046.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

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/SparkPullRequestBuilder/114946/
Test FAILed.

Test build #114960 has started for PR 26667 at commit a11f0ed.

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/SparkPullRequestBuilder-K8s/19781/
Test PASSed.

Test build #114960 has finished for PR 26667 at commit a11f0ed.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

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/SparkPullRequestBuilder/114960/
Test PASSed.

Test problems solved and comments implemented
Cc @viirya .

Test build #114997 has started for PR 26667 at commit e630e2c.

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/SparkPullRequestBuilder-K8s/19816/
Test PASSed.

Test build #114997 has finished for PR 26667 at commit e630e2c.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

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/SparkPullRequestBuilder/114997/
Test PASSed.

Thanks! Merging to master.

Thanks all!!


Updating

Store version code and compare on startup to latest release on Github
Detect if config is missing values (if for example a new version has new config params that didn't exist previously) and set them to defaults

783e72d


MATS 2.0 Program Checks: Required Method Check Updates

Overview
Per 4/27/2023 weekly CAMD meeting, Chris indicated that they would like to start checking for continuous or supplemental MATS methods for HG, HCl or SO2 surrogate, and PM beginning 1/1/2024.  The current PROGRAM-12 check only requires one continuous or supplemental MATS method record for any parameter.  Starting 1/1/2024, each MATS parameter (HG, HCL/SO2 surrogate, and PM) should be checked to ensure a continuous or supplemental MATS method exists.
Update from 2/22/2024 weekly meeting with CAMD, we also need to consider units that only report “LU - Limited-Use Oil-Fired Unit” Supplemental MATS method records. These are not parameter specific. The presence of this one record would need to cover the HG, HCL/SO2 surrogate, and PM requirements. Ex. RT 74016 - ORIS 2516.  Original ECMPS 1.0 ticket is https://camddevelopment.atlassian.net/browse/EC-4032.
Methods that satisfy the required methods for each pollutant for methods on or after 1/1/2024

For HG, Monitor Methods "HGRE" and "HGRH", and MATS Supplemental Methods "HG" and "LU".
For HCL, Monitor Methods "HCLRE", "HCLRH", "SO2RE" and "SO2RH", and MATS Supplemental Method "HCL" and "LU".
For PM, Monitor Methods "PMRE" and "PMRH", and MATS Supplemental Methods "IM", "INHGM", "TM" "TNHGM" and "LU".

Notes:

that "LU" MATS Supplemental Method already exists.
"HF" is not included in the handled pollutants.

Methods that satisfy MATS methods before 1/1/2024, regardless of pollutant.

Monitor Methods "HCLRE", "HCLRH", "HFRE", "HFRH", "HGRE", "HGRH", "SO2RE" and "SO2RH", and  for MATS Supplemental "MATSSUP".  MATSSUP indicates that any supplemental record will satisfy the method requirement and should be supplied in the the MATS Supplemental Data.

Additional Information

The attached Word document contains the spec changes including the addition of three checks and changes for PROGRAM-12.
ECMPS 1.0 Ticket: https://camddevelopment.atlassian.net/browse/EC-3922

Discussed with Charlie & Craig on 6/6/24- not a priority for the initial 2.0 release.


Fix/daef 381 Detect and fix all brittle acceptance tests

This PR fixes brittle acceptance test steps (wallet latest transaction amount check step).

@DominikGuzei I've found only one acceptance test step definition that I felt it needs fixing.


Ruby Lambda layer stopped working on September 30th with agent version 9.14.0

Temporary Workaround
Set the following environment variable for the AWS Lambda function:
NEW_RELIC_SERVERLESS_MODE_ENABLED = true

Synopsis
Agent version v9.14.0 introduced an optimization in the handling of boolean based configuration parameters and this inadvertently caused the agent's "serverless" mode for AWS Lambda layer usage to break.
We will be fixing this in an upcoming agent release, but for now serverless mode will need to be forced on by way of an environment variable.

#2920 has now been merged to the dev branch and the bugfix will ideally make its way out in a new agent release soon

Agent version 9.15.0 is now available on RubyGems.org with the fix!


DPO with chatglm2-6b

When training a chatglm2-6b model (sft with qlora) with DPO, the loss did not seem to get low ?
Below is part of training log, I find there is only small jitter on the training loss and the rewards/margins  seems really really small ?
Is it the expected behavior?
And ,if I set ref_model=None in the DPOTrainer ,when eval, the eval_loss and eval_rewards and etc will always keep the same during training. It does not seem right...
{'loss': 0.6924, 'learning_rate': 5e-06, 'rewards/chosen': 0.008880767971277237, 'rewards/rejected': 0.007253284566104412, 'rewards/accuracies': 0.44999998807907104, 'rewards/margins': 0.0016274836380034685, 'logps/rejected': -82.50346374511719, 'logps/chosen': -81.14619445800781, 'logits/rejected': -2.220956802368164, 'logits/chosen': -2.227485179901123, 'epoch': 0.01}
{'loss': 0.6951, 'learning_rate': 1e-05, 'rewards/chosen': 0.006737555377185345, 'rewards/rejected': 0.010529976338148117, 'rewards/accuracies': 0.5, 'rewards/margins': -0.0037924200296401978, 'logps/rejected': -98.62718200683594, 'logps/chosen': -75.55088806152344, 'logits/rejected': -2.2945332527160645, 'logits/chosen': -2.1720192432403564, 'epoch': 0.02}
{'loss': 0.6942, 'learning_rate': 9.9999992772835e-06, 'rewards/chosen': -0.0009587286040186882, 'rewards/rejected': 0.0010564230615273118, 'rewards/accuracies': 0.44999998807907104, 'rewards/margins': -0.0020151520147919655, 'logps/rejected': -86.17352294921875, 'logps/chosen': -69.18254089355469, 'logits/rejected': -2.2097086906433105, 'logits/chosen': -2.1535096168518066, 'epoch': 0.03}
{'loss': 0.6928, 'learning_rate': 9.999997109134203e-06, 'rewards/chosen': 0.0020176221150904894, 'rewards/rejected': 0.0011578561970964074, 'rewards/accuracies': 0.550000011920929, 'rewards/margins': 0.0008597659762017429, 'logps/rejected': -67.88219451904297, 'logps/chosen': -85.24455261230469, 'logits/rejected': -2.137803792953491, 'logits/chosen': -2.1222000122070312, 'epoch': 0.03}
{'loss': 0.687, 'learning_rate': 9.99999349555274e-06, 'rewards/chosen': 0.0029097364749759436, 'rewards/rejected': -0.00971378292888403, 'rewards/accuracies': 0.699999988079071, 'rewards/margins': 0.012623520568013191, 'logps/rejected': -88.10517883300781, 'logps/chosen': -79.19243621826172, 'logits/rejected': -2.200411081314087, 'logits/chosen': -2.149261951446533, 'epoch': 0.04}
{'loss': 0.688, 'learning_rate': 9.999988436540154e-06, 'rewards/chosen': 0.009169521741569042, 'rewards/rejected': -0.001259879907593131, 'rewards/accuracies': 0.75, 'rewards/margins': 0.010429401881992817, 'logps/rejected': -95.37321472167969, 'logps/chosen': -82.72525787353516, 'logits/rejected': -2.132511615753174, 'logits/chosen': -2.094295024871826, 'epoch': 0.05}
{'loss': 0.6936, 'learning_rate': 9.999981932097907e-06, 'rewards/chosen': 0.0041534616611897945, 'rewards/rejected': 0.0049835206009447575, 'rewards/accuracies': 0.550000011920929, 'rewards/margins': -0.0008300594054162502, 'logps/rejected': -78.36058044433594, 'logps/chosen': -69.1476058959961, 'logits/rejected': -2.12066650390625, 'logits/chosen': -2.0973222255706787, 'epoch': 0.06}
{'loss': 0.6902, 'learning_rate': 9.99997398222788e-06, 'rewards/chosen': 0.011761991307139397, 'rewards/rejected': 0.00546670937910676, 'rewards/accuracies': 0.5, 'rewards/margins': 0.006295280996710062, 'logps/rejected': -70.21249389648438, 'logps/chosen': -70.36653137207031, 'logits/rejected': -2.2433230876922607, 'logits/chosen': -2.2556514739990234, 'epoch': 0.07}
{'loss': 0.6944, 'learning_rate': 9.99996458693237e-06, 'rewards/chosen': -0.0023219208233058453, 'rewards/rejected': 6.135962757980451e-05, 'rewards/accuracies': 0.6000000238418579, 'rewards/margins': -0.0023832800798118114, 'logps/rejected': -70.10619354248047, 'logps/chosen': -79.71769714355469, 'logits/rejected': -2.219357967376709, 'logits/chosen': -2.200735330581665, 'epoch': 0.08}
{'loss': 0.6943, 'learning_rate': 9.999953746214097e-06, 'rewards/chosen': 0.0026049234438687563, 'rewards/rejected': 0.004713707137852907, 'rewards/accuracies': 0.44999998807907104, 'rewards/margins': -0.0021087839268147945, 'logps/rejected': -72.87063598632812, 'logps/chosen': -83.99541473388672, 'logits/rejected': -2.2576162815093994, 'logits/chosen': -2.206639051437378, 'epoch': 0.09}

This looks like the same issue as #699.

chatglm2 train with lora + dpo is normal and loss can get lower then converge,
but qlora + dpo will have the issue above.
Tested yesterday.

@valkryhx  can you kindly try now with the main branch of TRL Thank you!

@valkryhx can you kindly try now with the main branch of TRL Thank you!

Really quick fix! I will try the newly code.
Besides , I have some questions to ask :
I load a peft model (which does not do the Merge and Unload) , like the way introduced [https://github.com/huggingface/blog/blob/main/dpo-trl.md].
So I guess now I have a trainable model = peftModelObj(base_model + adapter).
But then when I set ref_model = None in the DPOTrainer,
the DPOTrianer codes will use model.disable_adapters() etc https://github.com/huggingface/trl/blob/main/trl/trainer/dpo_trainer.py#L347 to act as the ref_model.
But in this way ,the sft adapter is disabled , so only the frozen base_model will be treated as the ref_model to perform forwarding?   I thought the initially loaded adapter+base_model by AutoPeftModelForCausalLM  is the start point to train and act as the ref_model  , but now the adapter is not used ,only the base_model remains as the ref_model.
Do I misunderstand something about the codes ? Thank you.


Decide on algorithm to use for encryption

Done when encryption algorithm is decided on.

We have decided on BlowFish for the algorithm, because it sounded funny

We decided on the Blowfish algorithm, because it sounded cool.


feat: make extractCSS configurable

If extractCSS is an object, take it as the options of extract-text-webpack-plugin, e.g., add allChunks: true to extract css from all pages (webpack code split chunks ), resolve https://github.com/nuxt/nuxt.js/issues/1533.
module.exports = {
  build: {
    extractCSS: {
      allChunks: true
    }
  }
}

Codecov Report

Merging #2081 into dev will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##              dev    #2081      +/-   ##
==========================================
+ Coverage   95.53%   95.54%   +<.01%
==========================================
  Files          15       15
  Lines         964      966       +2
==========================================
+ Hits          921      923       +2
  Misses         43       43

Impacted Files
Coverage Δ

lib/builder/webpack/base.config.js
82.35% <100%> (+2.35%)
:arrow_up:

Continue to review full report at Codecov.

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

I am wondering if allChunks: true should be by default when doing extractCSS: true, @pi0?

@Atinux
css-loader extract common used css (allChunks:false) by default.
Pages are all async components, will it impact performance if extracting all lazy loading css into bundle by default  ?

You are right :)

Nice :)

When can I config extractCSS, 3 bros :)

Very hope!!

I try the extractCSS: { allChunks: true } in nuxt.config.js. But it's not helpful. It's same with extractCSS: true. only extract common.css not all pages. Do i need more configuration or undated nuxt.js?

@nameczz  It will be available in next release.

@clarkdo yeah, thank you. Looking forward to next release.

@clarkdo @Atinux @pi0
I would make extractCSS: { allChunks: true } the default option, because I value not having a FOUC over the small size/speed improvements gained by setting it to false. I don't have data to back this up, but I guess that most do.
Perhaps another option would be to not extract the CSS into the page as a style element, but to generate the link element for it before the site loads. That way the CSS can be cached and the FOUC will disappear, since hopefully the page wont render without the CSS.
So if you import a CSS file in a layout component, the output of nuxt would be the same as if you added the CSS file to the static folder and referenced it in the head with the nuxt.config.js.


Is zoom.to supposed to work for element and position at same time?

Both element and x, y coordinates can be set as options in this library.
However, it is not clear what x and y are relative to and whether element and coordinates can be used together. What I mean by used together is that the zoom would focus to a point within the element rather than always the center.
Please could somebody clarify.
Regards.

Same issue , tried different thing


Multithreading issue in InfiniteChannel Len()

I think there is multithreading issue with the InfiniteChannel Len().
The problem is that the ch.buffer is manipulated in the infiniteBuffer() go routine, but the ch.buffer.Length() could be called from a different go routine through InfiniteChannel Len().
As far as I checked the queue.Queue container is not thread safe, neither is its length variable.

Yes, you are correct. The queue package is explicitly not thread-safe, and it didn't occur to me that Len on the channel might be called in a separate goroutine, but of course that is totally reasonable. I'll see if I can find a solution that doesn't negatively impact performance.

Upon further investigation this is a bigger issue than I thought:

this affects the Len() method of all the channel implementations here except (of course) the NativeChannel
this also affects the Cap() method of the ResizableChannel
this also potentially causes stale reads in the single-threaded "write a value then read the length" case where the length value may not be updated yet depending on the scheduler

Considerations:

simply accessing the length/size variables atomically is not correct, it solves the data race but not the stale reads
reading the length off a channel (and feeding it in the same select call in the helper goroutines) works but causes a severe performance regression and makes shutdown leak a goroutine since something has to continually feed the length channel (it is legitimate to call len on a closed channel)

Oh of course, reading from a closed channel yields the appropriate zero of that type, so if I close the new length channel that solves the leak, though not the performance hit.

Thanks for the report!


DBZ-990 Engine names can be quoted

https://issues.jboss.org/browse/DBZ-990

Ah, btw. the proposed definition allows for assymetric quotes: "foo'. Not a problem for us though as the statement will be validated upfront, but not how you'd usually do it.


Uploading Hidden Files

I updated ember-cli today to 0.2.5. Upon deploying to a staging box, I noticed the following:
Built project successfully. Stored in "dist/".
Uploading assets...
Uploading: .DS_Store
Uploading: ._
Uploading: .DS_Store
Uploading: ._
Uploading: .DS_Store
Uploading: ._

This doesn't seem right to me. I noticed on https://github.com/ember-cli/ember-cli-deploy/issues/11#issuecomment-62206031 that a suggestion was made to ignore hidden files by default, but no clear follow up was made (as far as I can tell).
How does one go about ensuring these sorts of files aren't uploaded?

Thanks for bringing this up @jherdman!


Create MySQL interpreter

If anybody wants to help on this, look here
https://github.com/Jacoby6000/scoobie/blob/master/postgres/src/main/scala/scoobie/doobie/doo/postgres.scala
After that, I can set up the build file to support the new interpreter as a separate sub-project.


Fix for Upload Watched Status to MAL

Temporary / in-progress fix for now. The fix works as it should, but it could be improved. Would love to get some input on this and make sure it works for others as well. Thanks!
@hidden4003

I made the requested change. Please let me know if that was what you wanted.
The condition I was using relies on the "animeListHashtable", so if we wanted to make sure that was always populated the proper change would be to instead just comment out
if (ServerSettings.MAL_NeverDecreaseWatchedNums), but that would make that server setting useless. Although since the commit I just pushed moved myanimelist malAnimeList = GetMALAnimeList(); out of the if-block, I think it is still doing the same thing.

Yes change is good.
It will not make the server setting useless, you probably misunderstood what setting does as it is worded poorly, the setting does not allow series become "Watching" on MAL it it is already "Completed" unless it was in "Plan to watch" state (6)

@hidden4003 thanks for the review and merge. Let me know how it goes for you.


API Authentication fails after restart/redeployment

Bug description
We are running DefectDojo on ECS Fargate using a template that is based on the included docker-compose file. After resuming the service after it was paused due to inactivity on our test environments or after redeploying the service (e.g. due to a new version) accessing DefectDojo via the API/access key fails with the exception included below.
The exception message points at an issue with the request caching?
API access works again after a user authenticates via the web interface.
Steps to reproduce

Resume/Redeploy the service (i.e. all included containers)
Attempt to access the DefectDojo API via the previously generated (and working) API key
Error

Expected behavior
Accessing the API via the API key should immediately work after resuming/redeploying the containers.
Deployment method (select with an X)

[ ] Docker Compose
[ ] Kubernetes
[ ] GoDojo
[X] ECS Fargete (based on Docker-Compose template)

Environment information

ECS Fargate with official defectdojo Docker images
DefectDojo version 2.11.0 (noticed this from 2.8.x onwards, could have also existed earlier)

Logs
The following logs are output by the uwsgi container when attempting to access the instance via the API after a restart/redeployment.
[27/Jun/2022 11:42:09] ERROR [django.request:224] Internal Server Error: /api/v2/product_types/
Traceback (most recent call last):
File "/app/./dojo/request_cache/__init__.py", line 53, in wrapper
result = getattr(cache, key)
AttributeError: 'RequestCache' object has no attribute '('get_authorized_users', <Permissions.Finding_View: 1402>, <object object at 0x7f7f5b4115b0>)'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/app/./dojo/request_cache/__init__.py", line 53, in wrapper
result = getattr(cache, key)
AttributeError: 'RequestCache' object has no attribute '('get_groups', <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7f7f5a02f160>>, <object object at 0x7f7f5b4115b0>)'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/django/core/handlers/exception.py", line 47, in inner
response = get_response(request)
File "/usr/local/lib/python3.8/site-packages/django/core/handlers/base.py", line 167, in _get_response
callback, callback_args, callback_kwargs = self.resolve_request(request)
File "/usr/local/lib/python3.8/site-packages/django/core/handlers/base.py", line 290, in resolve_request
resolver_match = resolver.resolve(request.path_info)
File "/usr/local/lib/python3.8/site-packages/django/urls/resolvers.py", line 560, in resolve
for pattern in self.url_patterns:
File "/usr/local/lib/python3.8/site-packages/django/utils/functional.py", line 48, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/usr/local/lib/python3.8/site-packages/django/urls/resolvers.py", line 602, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/usr/local/lib/python3.8/site-packages/django/utils/functional.py", line 48, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/usr/local/lib/python3.8/site-packages/django/urls/resolvers.py", line 595, in urlconf_module
return import_module(self.urlconf_name)
File "/usr/local/lib/python3.8/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 843, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/app/./dojo/urls.py", line 11, in <module>
from dojo import views
File "/app/./dojo/views.py", line 13, in <module>
from dojo.forms import ManageFileFormSet
File "/app/./dojo/forms.py", line 1105, in <module>
class FindingForm(forms.ModelForm):
File "/app/./dojo/forms.py", line 1131, in FindingForm
mitigated_by = forms.ModelChoiceField(required=True, queryset=get_authorized_users(Permissions.Finding_View), initial=get_current_user)
File "/app/./dojo/request_cache/__init__.py", line 56, in wrapper
result = fn(*args, **kwargs)
File "/app/./dojo/user/queries.py", line 65, in get_authorized_users
if user.is_superuser or user_has_global_permission(user, permission):
File "/app/./dojo/authorization/authorization.py", line 127, in user_has_global_permission
for group in get_groups(user):
File "/app/./dojo/request_cache/__init__.py", line 56, in wrapper
result = fn(*args, **kwargs)
File "/app/./dojo/authorization/authorization.py", line 260, in get_groups
return Dojo_Group.objects.select_related('global_role').filter(users=user)
File "/usr/local/lib/python3.8/site-packages/django/db/models/query.py", line 941, in filter
return self._filter_or_exclude(False, args, kwargs)
File "/usr/local/lib/python3.8/site-packages/django/db/models/query.py", line 961, in _filter_or_exclude
clone._filter_or_exclude_inplace(negate, args, kwargs)
File "/usr/local/lib/python3.8/site-packages/django/db/models/query.py", line 968, in _filter_or_exclude_inplace
self._query.add_q(Q(*args, **kwargs))
File "/usr/local/lib/python3.8/site-packages/django/db/models/sql/query.py", line 1416, in add_q
clause, _ = self._add_q(q_object, self.used_aliases)
File "/usr/local/lib/python3.8/site-packages/django/db/models/sql/query.py", line 1435, in _add_q
child_clause, needed_inner = self.build_filter(
File "/usr/local/lib/python3.8/site-packages/django/db/models/sql/query.py", line 1343, in build_filter
self.check_related_objects(join_info.final_field, value, join_info.opts)
File "/usr/local/lib/python3.8/site-packages/django/db/models/sql/query.py", line 1172, in check_related_objects
for v in value:
File "/usr/local/lib/python3.8/site-packages/django/utils/functional.py", line 247, in inner
return func(self._wrapped, *args)
TypeError: 'AnonymousUser' object is not iterable

I dug a bit deeper and it seems that the following code is the culprit: https://github.com/DefectDojo/django-DefectDojo/blob/612a0f682ae0a4e007196de4f438782464b3ae3d/dojo/request_cache/init.py#L56
get_authorized_users (https://github.com/DefectDojo/django-DefectDojo/blob/612a0f682ae0a4e007196de4f438782464b3ae3d/dojo/user/queries.py#L56) is called, but is not yet in the cache. Thus, AttributeError is raised. While executing get_authorized_users,
user_has_global_permission is called, which in turn calls get_groups (https://github.com/DefectDojo/django-DefectDojo/blob/612a0f682ae0a4e007196de4f438782464b3ae3d/dojo/authorization/authorization.py#L127).
Here, the second AttributeError is raised, since this results are also not yet in the cache.
However, I still do not understand why a login via the web ui fixes this issue when caching is only per-request (my understanding)?

I was able to reproduce this locally using the latest 'dev' branch. Same steps as above:

Deploy DefectDojo using docker-compose
Login with admin, create API key
Close browser tab, restart DefectDojo stack
Attempt to access API using created API key
Same Exception as above

Interestingly, sending another request via the API succeeded, even though no login/access via the Web UI was performed. Only the first API request after a restart reliably failed. I guess this is caused by some caching. When running the 'debug' environment/configuration to attach a remote debugger, no self-healing was observed and all repeated API requests failed.
I think this issue is caused by the behavior described in this comment: https://github.com/encode/django-rest-framework/issues/760#issuecomment-391127616
Since the result of the TokenAuthentication is not yet available when the Middlewares are executed, request.user is None or AnonymousUser during these steps. For example, the call to https://github.com/DefectDojo/django-DefectDojo/blob/c101e47b294863877cd68a82d0cc60f8017b45b1/dojo/user/queries.py#L56 as seen in the stack trace above is affected and also the call to crum.get_current_user() does not result in the correct user being set (https://github.com/DefectDojo/django-DefectDojo/blob/c101e47b294863877cd68a82d0cc60f8017b45b1/dojo/user/queries.py#L58).
A quick and very poc for a fix is implemented in PR https://github.com/DefectDojo/django-DefectDojo/pull/6478
I think the alternative to fixing request.user via the middleware would be to move the authorization logic to a later step (after TokenAuthentication from restframework was executed). I did not attempt this approach since I did not want to touch the existing authorization logic.


Simplify Maui imports and avoid conflicts on multi-target import

Thanks for this! I've been meaning to update this since the last preview.


Pump up third-party

As title.

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


Add labels to checkboxes on Events tab.

Fixes https://github.com/opencast/opencast-admin-interface/issues/536

Does what it says.
Since atm we have zero aria-labels in this project, do you have any recommendations on a unified approach towards adding them where they belong (and avoid adding them where they don't belong or are not needed)?

I cant' cite an exhaustive list. There is of course an easy rule: All form elements have to be labelled in any way.


Add draft ordering mechanism

During today's survivor draft we were all forced to come up with some way of choosing who goes first, which ended in all of us opening random number generators & rolling numbers. Any mechanism whatsoever - even just an RNG on the drafting page - would be preferable to that.

Done in https://github.com/mawilson/survivor_draft/pull/116


Date of last check 19-01-22 on Monday 24-01-22, i.e. 5 days ago.

Apple iPhone 8 iOS 14.8.1.
When I check the exposure today, I get a result from 5 days ago, and it takes ages and retries to get it.
Thanks.

Avoid duplicates

[ ] Bug is not mentioned in the FAQ
[ ] Bug is not already reported in another issue

Describe the bug
 I get the exposure as of 5 days ago.
Expected behaviour
 Exposure as of today.
Steps to reproduce the issue
 Just open the app and wait.

Technical details

iOS Version: 14.8.1
Device: iPhone 8

Possible Fix
 From my experience it could be anything: network latency, bad database design, insufficient working memory, space leaks in a functional programming language, inefficient garbage collector, you name it.
Thanks.
Additional context

This should be fixed in 1.11.1 which is supposed to go live any time soon.
The problem is that there is a 60 second timeout in the exposure notification check routine. Because of the huge amount of keys due to Omicron the device needs more than 60 seconds to proces them. The timeout has been pushed up to 4 minutes.
Fix is here:
https://github.com/covid-be-app/cwa-app-ios/pull/450/commits/944ffcaf2001d16e9b3f9e804e4a099fe8286950


Compiling the cmd/service-catalog binary

The binary at ./cmd/service-catalog wasn't being built by the top-level Makefile. This PR adds the component to that Makefile and also adds the required Makefile inside the component directory.

LGTM

@martinmaly mind merging this after CI completes?

Where does the output of make go?

iirc it goes into the same directory as the subdir's Makefile. @martinmaly can you confirm?

I figured it out, it's ending up in my $GOBIN.

I guess the PR which will move binary artifacts into /bin has not been merged?
Until then things go to $GOPATH/bin


phase_rustdoc: add a heuristic to make us more certain that this is really rustdoc

Also add anyhow to test-cargo-miri; it has a custom build probe and is widely used so let's make sure the build script does not fail.

@bors r+

:pushpin: Commit d04877921278e5f23e1a74ac7edfc012bc8cc7e6 has been approved by RalfJung
It is now in the queue for this repository.

:hourglass: Testing commit d04877921278e5f23e1a74ac7edfc012bc8cc7e6 with merge 878fa90fec57548848dea21d571f34d494e64b60...

:sunny: Test successful - checks-actions
Approved by: RalfJung
Pushing 878fa90fec57548848dea21d571f34d494e64b60 to master...


SAK-48373 - Roster: use a css class that actually exists

This fixes the NaN error, but there are still issues with the scroll-to-load content that I can't get figured out!

@adrianfish As mentioned in the earlier comment, this only fixes the NaN error.  Scroll-to-load is still not working.

@maurercw Thanks Chris. I'll look at the infinite scroll stuff for roster. Thanks for having a crack at it :)


Fixed issue with PHP notice when no id for an option is defined

Why
When creating or upgrading an article via API resources a PHP notice if thrown if the $option['id'] key is not set (which is no required field).
How to test
Send an array like the following to article resource for update operation:
$params = array(
                'images' => array(
                    array(
                        'mediaId' => $media->getId(),
                        'options' => array(
                            array(
                                array(
                                    'name' => '60 Stück'
                                )
                            )
                        )
                    )
                )
            );

$articleResource->update($article->getId(), $params);

This operation throws the following notice:
Notice: Undefined index: id in /engine/Shopware/Components/Api/Resource/Article.php on line 1846
Fix
The fix ensures that the key "id" exists in the option array.

Hello,
thank you for creating this pull request.
I have opened an issue on our Issue Tracker for you. See the issue link: https://issues.shopware.com/issues/SW-19144.
Please use this issue to track the state of your pull request.

Thank you @synonymous1984 for your contribution.
Your change was merged with df59831a675c6bfe0149be4acc33d69bbca62361.


Trino ingestion does not build URL correctly when username/password is used

https://github.com/open-metadata/OpenMetadata/blob/main/ingestion/src/metadata/ingestion/source/trino.py#L35
This should append a "@" to the URL.

Thanks @abrisan

@ayush-shah there are few more issues with Trino connector. Lets fix these.

Hello @abrisan, I was looking into the documentation for trino and according to the Trino JDBC Documentation, I will be adding the username and password URL formatting accordingly alongwith other options.
String url = "jdbc:trino://example.net:8080/hive/sales?user=test&password=secret&SSL=true";
I couldn't find any usage of "@", just wanted to know if we need it for anything specifically?

@ayush-shah that will also work, but the current version (see here) uses the "jdbc:trino://user:password@host" pattern, and that is missing a "@"

@abrisan can you give a try, we have fixed it with #1614


Add [JenkinsPluginInstalls] service

This adds a badge that shows the number of installations of a particular Jenkins plugin. You can show the total number of installations across all versions or pick a particular version.
The data is retrieved from the official statistics that the Jenkins project provides. For example, the data for the View Job Filters Plugin can be found here:
https://stats.jenkins.io/plugin-installation-trend/view-job-filters.stats.json
Note that these are actual installs, not downloads (i.e if somebody uninstalls a plugin, the number goes down). I've still added the badge to the downloads category because that's the closest category there is.

Messages

:book:

:sparkles: Thanks for your contribution to Shields, @svenschoenung!

  Generated by :no_entry_sign: dangerJS

Thanks for the feedback, I think I incorporated it all. Have another look when you find the time.

I've merged master to this branch.


Could you provide the extended GazeFollow annotations only?

Could you provide the extended GazeFollow annotations only? I cannot download the dataset from dropbox because of the internet  (6.26G is so big) .

Thank you for this suggestion. A separate download link has been added :)


ENG-7021 - Capture Gyro/Accel on cadence

Pulled branch into storyboard sample app and run , it seems to be printing this debug in logs constantly (~10 times a second). Is this expected?
(NeuroID Info)  ["NeuroID post to API Successful"]
(NeuroID Debug) NeuroID IH: ["Adding NeuroID Health Event CADENCE_READING_ACCEL"]
(NeuroID Debug) Event: ["CADENCE_READING_ACCEL - NO_TARGET - accel= gyro="]
(NeuroID Debug) NeuroID IH: ["Adding NeuroID Health Event CADENCE_READING_ACCEL"]
(NeuroID Debug) Event: ["CADENCE_READING_ACCEL - NO_TARGET - accel= gyro="]
(NeuroID Debug) NeuroID IH: ["Adding NeuroID Health Event CADENCE_READING_ACCEL"]
(NeuroID Debug) Event: ["CADENCE_READING_ACCEL - NO_TARGET - accel= gyro="]
(NeuroID Debug) NeuroID IH: ["Adding NeuroID Health Event CADENCE_READING_ACCEL"]
(NeuroID Debug) Event: ["CADENCE_READING_ACCEL - NO_TARGET - accel= gyro="]
(NeuroID Debug) NeuroID IH: ["Adding NeuroID Health Event CADENCE_READING_ACCEL"]
(NeuroID Debug) Event: ["CADENCE_READING_ACCEL - NO_TARGET - accel= gyro="]
(NeuroID Debug) NeuroID IH: ["Adding NeuroID Health Event CADENCE_READING_ACCEL"]
(NeuroID Debug) Event: ["CADENCE_READING_ACCEL - NO_TARGET - accel= gyro="]
(NeuroID Debug) NeuroID IH: ["Adding NeuroID Health Event CADENCE_READING_ACCEL"]
(NeuroID Debug) Event: ["CADENCE_READING_ACCEL - NO_TARGET - accel= gyro="]

Pulled branch into storyboard sample app and run , it seems to be printing this debug in logs constantly (~5 times a second). Is this expected?
(NeuroID Info)  ["NeuroID post to API Successful"]
(NeuroID Debug) NeuroID IH: ["Adding NeuroID Health Event CADENCE_READING_ACCEL"]
(NeuroID Debug) Event: ["CADENCE_READING_ACCEL - NO_TARGET - accel= gyro="]
(NeuroID Debug) NeuroID IH: ["Adding NeuroID Health Event CADENCE_READING_ACCEL"]
(NeuroID Debug) Event: ["CADENCE_READING_ACCEL - NO_TARGET - accel= gyro="]
(NeuroID Debug) NeuroID IH: ["Adding NeuroID Health Event CADENCE_READING_ACCEL"]
(NeuroID Debug) Event: ["CADENCE_READING_ACCEL - NO_TARGET - accel= gyro="]
(NeuroID Debug) NeuroID IH: ["Adding NeuroID Health Event CADENCE_READING_ACCEL"]
(NeuroID Debug) Event: ["CADENCE_READING_ACCEL - NO_TARGET - accel= gyro="]
(NeuroID Debug) NeuroID IH: ["Adding NeuroID Health Event CADENCE_READING_ACCEL"]
(NeuroID Debug) Event: ["CADENCE_READING_ACCEL - NO_TARGET - accel= gyro="]
(NeuroID Debug) NeuroID IH: ["Adding NeuroID Health Event CADENCE_READING_ACCEL"]
(NeuroID Debug) Event: ["CADENCE_READING_ACCEL - NO_TARGET - accel= gyro="]
(NeuroID Debug) NeuroID IH: ["Adding NeuroID Health Event CADENCE_READING_ACCEL"]
(NeuroID Debug) Event: ["CADENCE_READING_ACCEL - NO_TARGET - accel= gyro="]

Yes this is expected for the time being. Once we finalize with DS on what the cadence should be then we can handle logs better


Update readme.md

ony to only

Sorry, I didn't merge this before I converted all of the docs over to GitBook.  I have manually reconciled this in commit 375104a, which will be deployed with release 1.2.1


fixed doubled tag size for solve_pnp

Set the object points to +/- half the tag size, so that the resulting object points represent a rectangle with an edge length that equals the defined tag size.

Thanks. But note that this branch is just for experimenting with different estimation methods and this may not make it into the upstream (master) branch.


Network inspect should include labales as in the Engine

(Same as  #2245 Only for networks)
Will PR a Fix soon.
Tnx.

@dongluochen @allencloud In understand that it will be revolved by updating engine-api?

@doronp
I am afraid not.
It is related to the docker' API. If docker engine did not provide this, engine-api has no way to do.
https://github.com/docker/docker/issues/22838#issuecomment-221091481

From docker side, seems network inspect return labels, not sure what inspect here
root@5b451cfb7082:/go/src/github.com/docker/docker# docker network inspect mynet
[
    {
        "Name": "mynet",
        "Id": "e496e5bf1bf4be10a9ca8d3fb30abc0b4342316f8302aba7e33ec5dac36ffc72",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": {},
            "Config": [
                {
                    "Subnet": "<IP_ADDRESS>/16",
                    "Gateway": "<IP_ADDRESS>/16"
                }
            ]
        },
        "Internal": false,
        "Containers": {},
        "Options": {},
        "Labels": {
            "env": "dev"
        }
    }
]


Could not find a version that satisfies the requirement keras-adabound (from versions: ) No matching distribution found for keras-adabound

Describe the Bug
A clear and concise description of what the bug is.
Version Info

[ ] I'm using the latest version

Minimal Codes To Reproduce
import keras_bert

pass

when I install keras-adabound , I got this errors

Are you using a mirror of python package index?


Create input validation module

We need a way to assert on input configuration for TF before apply.

@Eli-Meitner  - added this issue to explain the new module you've created.

https://registry.terraform.io/modules/toluna-terraform/validations/custom/latest/examples/terraform-custom-validations


build tips

Compile Documentation error：
cargo build --relase
proper USAGE:
cargo build --release
It is recommended to add the cargo package installation
yum install cargo or apt install cargo

Fixed, thanks.


bug[next]: Fix func to past caching

A small indentation error in the FuncToPast factory prevented caching of the step, which is fixed here. Additionally the hashing algorithm is changed to id.

The failures in CI seem unrelated to the problem that caused me to disable caching by default in #1545 there is a comment explaining it here.
It looks to me like this might be python reusing addresses of de-allocated dataclasses for new ones. I am thinking:

some test runs, during which a program is compiled. In the process of this a ProgramDefinition stage is created at address A
the test finishes, the stage's reference count goes to 0
eventually the stage is cleaned up
another test starts, a new ProgramDefinition stage is created and happens to be allocated at A as well.
the cache never got deallocated, because there was always a reference to it, so now it already has a result for address A, but it is the result for the earlier ProgramDefinition.

This would explain why the failing tests are not the same between GithubActions and the CSCS-CI pipeline. It would explain why running each separately will not typically fail. It would also explain why the failing tests are not the same between CI runs (which they don't seem to be). I would expect random results with tests that are parametrized with more backends having higher probability of failing (simply because they run more often).
If this is the case, then in general it would be unsafe to use id as a hash_function. It would however be safe in the case where no program is created after another one has gone out of scope. This would be impossible to guarantee in the GT4Py tests without sacrificing test isolation. However, it could be guaranteed in applications of GT4Py, as long as those applications do not have a similar test suite where programs are generated per test method.

Not relevant anymore.


Nuke, DL: Returning Suspended Publishing attribute

Changelog Description
Old publisher's feature for suspended publishing of farm rendered subsets is added back into current Nuke publishing.
Additional info

Testing notes:

Open Nuke in favorite testing workfile
Open publisher on render instance
Set the instance to Farm render
Set Suspended publish (img) as activated
Publish to farm (start your webservice)
Notice that python job is set to suspended

Should we instead add the attribute on the Submit Publish Job plug-in since the data is really only needed there to begin with?

Should we instead add the attribute on the Submit Publish Job plug-in since the data is really only needed there to begin with?

Yes, that is a good idea to move it into its plugin (dono why was it not my idea! ;))

There is known bug in publisher which needs to be solved so Hosts filtering is working as expected. https://github.com/ynput/OpenPype/issues/4726


telepot greeting

Could I set a message to be sent only the first time one start the conversation with it?
and could I make the bot process other queries after clicking on the inline keyboard button?

Could I set a message to be sent only the first time one start the conversation with it?

You could set a reply to the /start command.

and could I make the bot process other queries after clicking on the inline keyboard button?

sure. Take a look at the example for the inline mode.

but what if i want to set it as no matter what the first input is, it replys nice to meet you.
Get Outlook for Android
On Wed, Sep 13, 2017 at 4:39 PM +0800, "das7pad"<EMAIL_ADDRESS>wrote:
Could I set a message to be sent only the first time one start the conversation with it?
You could set a reply to the /start command.
and could I make the bot process other queries after clicking on the inline keyboard button?
sure. Take a look at the example for the inline mode.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

but what if i want to set it as no matter what the first input is, it replys nice to meet you.

This is your part of the coding.
Please note: telepot is a framework for the Telegram-Bot-API, it can not serve you with a complete solution in every usecase. A good start is reading the documentation of both telepot and the Telegram-Bot-API.


Typescript: .first('*') returns any[]

Environment
Knex version: 0.20.4
Database + version: Postgres 10
OS: Fedora
@lorefnon
Bug

Explain what kind of behaviour you are getting and how you think it should do

This is a continuation of #3229 which noted that first() was returning any[]. That has been fixed if you don't specify any columns, but if you do .first('*') the return type is still any[].

Error message

Typescript error message:

Property 'whatever' does not exist on type 'any[]'.

Reduced test code, for example in https://npm.runkit.com/knex or if it needs real
database connection to MySQL or PostgreSQL, then single file example which initializes
needed data and demonstrates the problem.

let result = await knex
  .first('*')
  .from('table')
  .where({
    whatever: whatever
});

result.id // typescript error

Thanks for reporting this.
On an unrelated note, thanks for creating DataTables :). We used it for multiple years in several projects.

Released in 0.20.8