Fix AppImage build for Ubuntu 22.04 and Qt 5

Description
Qt 5 needs to link against OpenSSL 1.1.1 but Ubuntu 22.04 only supplies OpenSSL 3.x.  I added a step to build the latest OpenSSL 1.1.1 and link against that when building the AppImage

The Qt 5 AppImage works good. The Qt 6 AppImage throws this error
qt.tlsbackend.ossl: Incompatible version of OpenSSL (built with OpenSSL 1.x, runtime version is >= 3.x)
So there might be a problem with a condition somewhere, where it's linking to OpenSSL 1.x for Qt 6

We could just disable building the AppImage for Qt 6 for the time being or try to fix it.

I'd like to fix this here.

I'm not really familiar with GitHub actions so I'm gonna need a little help

Feel free to ask when you have questions.

where it's linking to OpenSSL 1.x for Qt 6

From my understanding, we're linking chatterino to libssl-dev (3.0.2), but chatterino is linked against 1.x. It feels like we can always build OpenSSL and merge the two Build (Ubuntu), Qt ${{ matrix.qt-version }} steps again.

From my understanding, we're linking chatterino to libssl-dev (3.0.2), but chatterino is linked against 1.x. It feels like we can always build OpenSSL and merge the two Build (Ubuntu), Qt ${{ matrix.qt-version }} steps again.

This is where I'm a little confused. We are building OpenSSL 1.x only when we are using Qt 5 and specifying the dir manually when we call CMake. We don't do that for the Qt 6 build but somehow the Qt 6 build is still linking against OpenSSL 1.x. I'm guessing that the state isn't cleared between those two steps even though they are completely conditional. Clearly the Qt 6 build is seeing the libs for OpenSSL 1.x which is causing a problem.
I guess we can either set the OPENSSL_ROOT_DIR on the Qt 6 build to the default system location or we could build OpenSSL 3.x and install it like we're doing for 1.x. Then we can update the AppImage script to have logic similar to how the Qt version is chosen.
I'm just speculating since I don't know for sure why chatterino is linking against 1.x when its Qt 6.

but somehow the Qt 6 build is still linking against OpenSSL 1.x.

I'm just speculating since I don't know for sure why chatterino is linking against 1.x when its Qt 6.

No, it's the other way around, the chatterino build is linked against OpenSSL 3, but the Qt 6 libs (libqopensslbackend.so) from the distro are linked against OpenSSL 3.x. Afaik, only Qt 6 builds after 6.5 are linked against OpenSSL 3. So we need to link chatterino against OpenSSL 1.x as well.

Oh since the Qt 6 version we're using is 6.2.x on linux then we need to link against OpenSSL 1.x as well, so that means we can just combine the build step again and set the OPENSSL_1_1_1_DIR env variable for both Qt versions, correct?

Oh since the Qt 6 version we're using is 6.2.x on linux then we need to link against OpenSSL 1.x as well, so that means we can just combine the build step again and set the OPENSSL_1_1_1_DIR env variable for both Qt versions, correct?

Yes.

Ok. I made the necessary change. OpenSSL 1.1.1 will build for both Qt 5 and Qt 6 Linux builds. We just have to remember to change it when we move to Qt 6.5+

We just have to remember to change it when we move to Qt 6.5+

Yea, Qt 6.2.4 will probably stay for a bit longer, as that's the version Ubuntu ships, but we can update the AppImage to 6.5+ sooner.

Both AppImages for Qt 5 and Qt 6 work! I don't see any SSL errors and the emotes and chats load just fine. LGTM

Closes  #161


Account for deleted forms when encryption is enabled for project

When managed encryption is enabled for a project, a new, encrypted version of each form is created. However, this process skips deleted forms (forms in the trash). That means that if a deleted form is undeleted after encryption is enabled, the form will not be encrypted. Specifically, the following sequence is possible:

Create a project.
Create and publish a form.
Delete the form.
Enable encryption for the project.
Undelete the form.
Observe that the form is not encrypted.

Here are two different approaches that we could consider:

Immediately create new, encrypted form versions even for deleted forms.
Don't change deleted forms, but if/when a form is undeleted, create a new, encrypted form version then.

@matthew-white is this issue still open?

Hi @dev-rahulbhadoriya! Yes, this issue is still open, thanks for asking.


Packaging an addon

I made a nice addon that shows you the QR code of the current story you are on (for mobile web testing) and I can't figure out how to package it.
This works fine when I import it in my project, in addons.js:
import React from 'react'
import addons from '@storybook/addons'

const externalUrl = process.env.STORYBOOK_URL || window.location.origin

addons.register('local_qr', api => {
  class QRPanel extends React.Component {
    constructor (props) {
      super(props)
      this.state = {url: ''}
      this.handleUrl = this.handleUrl.bind(this)
    }

    componentDidMount () {
      api.onStory(this.handleUrl)
    }

    handleUrl (kind, story) {
      const url = `${externalUr}/iframe.html?selectedKind=${encodeURIComponent(kind)}&selectedStory=${encodeURIComponent(story)}`
      this.setState({url})
    }

    render () {
      return (

{this.state.url}

      )
    }
  }

  addons.addPanel('local_qr/panel', {
    title: 'QR Code',
    render: () => <QRPanel />
  })
})

But when I put it in it's own project and link to it via file:/// url in package.json in another project, it doesn't seem to be registering (the QR panel isn't created, and things inside addons.register aren't called. A console.log in the top of my register file is called, however, so I know it's loading.

Here is the packaged project.

Here it is, running in another project (when imported directly in addons.js):

I'm having the exact same issue. Is there anything missing from the documentation?

@konsumer @sigurbjorngudjonsson when you import side package from npm or your local folder it should be transpilled to ES5. Usually, we do it via babel otherwise, it will be included in the bundle but can't be processed.
Are you sure you importing transpilled packages?
You can check out examples of our own addons in https://github.com/storybooks/storybook/tree/master/addons as well
If you have any further questions they're very welcomed in our  where we have special channel addons dedicated to addon creation.

@UsulPro yeh, I'm importing the babelified plugin. It's not registering at all, as in it doesn't throw an error or anything (as it would if the issue was that it neede to be transpiled) , just no QR panel. I have looked at the example addons, and mine is pretty similar (although maybe a bit simpler) and as I said does work fine if I include the same file, directly in another project, it's just when I try to package it up for others.

@konsumer
didn't you notice that when you install your addon as a dependency you have missed ./index.js in your package? to solve this you need to remove it from your .gitignore file or add separate .npmignore to your project. It happens because npm uses .gitignire instead of .npmignore when you don't provide the last directly.

This is just local, it hasn't been published. Although, I will do it differently, and in my opinion a better way: have a gitignore that ignores index, the a npmignore which is identical but does not ignore it. That is what I typically do for my other npm published projects. Once published, I will definitely do that. But I am just trying to test the packaged addon locally. I am following the directions to use file:// url instead of npm link (which is how I would normally do this.) I prebublish before testing (which generates the index), and it doesn't get included for some reason.

But to be clear: .npmignore (or in the case where there is only .gitignore) only affects publishing. It tells npm publish which files to leave out, not what files should be ignored on a local import.

and also, as a relevant sidenote, the file does get included (validated with a console.log at the top-level) it's just not registering (validated by no console.log in the register function.)

a full example of validation:
import React from 'react'
import addons from '@storybook/addons'

// this gets called
console.log('HI FROM TOP OF FILE')

const externalUrl = process.env.STORYBOOK_URL || window.location.origin

addons.register('local_qr', api => {
  // this never gets called
  console.log('HI FROM INSIDE REGISTER')
  class QRPanel extends React.Component {
    constructor (props) {
      super(props)
      this.state = {url: ''}
      this.handleUrl = this.handleUrl.bind(this)
    }

    componentDidMount () {
      api.onStory(this.handleUrl)
    }

    handleUrl (kind, story) {
      const url = `${externalUr}/iframe.html?selectedKind=${encodeURIComponent(kind)}&selectedStory=${encodeURIComponent(story)}`
      this.setState({url})
    }

    render () {
      return (

{this.state.url}

      )
    }
  }

  addons.addPanel('local_qr/panel', {
    title: 'QR Code',
    render: () => <QRPanel />
  })
})

@konsumer it doesn't matter if you publish to npm or keep it in your local folder.
Let's say you have a folder storybook-qr with your addon and folder app with your main project when you want to use this addon.
As I understand you do the steps like this:
cd app
npm i ../storybook-qr --save-dev
npm run storybook

npm i ../storybook-qr --save-dev will add to your package.json dependency like this:
"storybook-qr": "file:///home/path-to-addon/storybook-qr" and install your addon  into app/node_modules/storybook-qr. while installing it will:

transpille it (because you have prepublish script)

filter all files from .npmignore (or from .gitignore if you don't have .npmignore)

You can always investigate what really you have by checking out your app/node_modules/storybook-qr
And to make it work you just need to have your index.js in this folder. I reproduced this steps on my machine and the only issue is related to that ignored file. After fixing it everything works fine!
proof:

First of all, it does matter if you publish to npm or keep it in your local folder (that's just how npm works.) .npmignore is only to limit what files get sent to npm servers. You're missing the part that it is actually requiring it (as verified by the console.logs) and it's just not being registered. Your own tests confirm this, as you didn't mess with npmignore/gitignore, and somehow got it to work. To assuage your feelings that it must somehow be the gitignore/npmignore thing that is doing it though, I made an npmignore that is identical to gitgnore, except for the index.js line, as I would if I were publishing this. Did you do something else to get it to work?
Here is me doing what you suggest, start to finish, in a fresh project. It just doesn't work for me:

Here is the above console.logs added:

Note the HI FROM TOP OF FILE, but no HI FROM INSIDE REGISTER and still no QR panel.

If I copy the file into .storybook/addons and import it directly (not packaged), it works fine:

I just published it on npm, and it worked fine, so I my point is the instructions for local development need a change, as they don't work as-is.

@konsumer how do you think is it enough to mention that after adding this line to package.json it's necessary to run npm i for this folder?
And that it's necessary to do it every time after you make changes in addon folder
(that's why I think it's not the best way to develop addons)

That didn't do it for me. As I said the only way to make it work packaged, for me, was to actually publish it publicly, on npm.  In general, I use npm link for this sort of stuff, but that seems to have the same issues. Maybe if we got to the root of why the standard workflow doesn't work, then we could update the docs with proper npm link directions, and it would probably also fix the local file url thing, if people prefer that workflow.

@konsumer I tried your addon on my machine locally and everything worked fine (except the gitignore issue)
Maybe it will be useful to left the steps I did to run it (and maybe you can follow them from scratch as well):
git clone https://github.com/konsumer/storybook-qr.git
cd storybook-qr
npm i
cd ..
create-react-app test
cd test
getstorybook
npm i ../storybook-qr --save-dev
# add to addons.js line: import 'storybook-qr/register';
npm run storybook

Here is me doing that. Here is the result (no QR panel):

Also, again, not sure what you mean by "the gitignore issue" as that was addressed above (even though it's actually not an issue.) As I said, this is actually published on npm and working fine in that context, just not locally, with any of the procedures you have described, or the procedure that is described in the documentation.

It may not be clear, also, those "Here" statements above are actual links to screencasts of me trying what you are suggesting.  You can watch me do it.  I believe it works on your system, but it doesn't on mine, or  for @sigurbjorngudjonsson.

If I remove node_modules from the custom addon folder and then switch over to a project where the addon is a file dependency and update the packages (yarn or npm install) then I'm able to use the addon with a local file reference in package.json.
Can it be the case that if the node_modules folder is not removed it uses a separate instance of the AddonStore from it's own node_modules where as the project using the addon has it's own as well?
I've declared that "@storybook/addons": "^3.2.6" is a peerDependency of the addon.
Has this anything to do with how the AddonStore is exported?

Im seeing this issue too. It seems like there are 2 instances of @storybook/addons, and my addon is being registered with the second, which never gets initialized? Logs show the file is loaded, but the register callback never fires...


Suppress Browser popup on Challenge

How can we disable the default browser up on 401 challenge? Can we handle that purely in JavaScript? I don't want to show the popup to the user.
Thanks,
Nuthan.

This lib handles the authentication and no popups are ever shown - you just need to provide it with username/password. If you're getting a popup you must be trying to access a digest auth protected resource from the browser directly. Before they get to that page, have them enter username/pw however you wish and use that to create your digesetAuthRequest.js object which will handle the requests and return json data.

Thanks for the reply.. The popup disappeared with the latest release. But, How do I handle the browser preflight requests in the lib? Does the lib support CORS? What changes do I need to incorporate in the lib to make this work?
Thanks.

I think I explained it pretty clearly in my previous reply - you need to give the lib a username/pw. So you need to figure out a way to do that before the user tries to hit a protected resource. CORS issues arise because of browser security. So it depends what browser you're using, and if your server is setup to allow CORS requests.

I misunderstood what you meant by "preflight request" - If you just configure your server properly CORS shouldn't be an issue. This lib doesn't do preflight requests - but you shouldn't need them.

Thanks for the reply inorganik, The library authorizes for the digest mechanism, just that, there was additional double quotes being added during parsing of digest headers(www-authenticate). Adding the regex to remove the quotes before the key match fixed it..
val = val.replace(/['"]+/g, '');

Also, the browser pops-up when the withCredentials to true. Unsetting or not setting it fixes the pop up. Might help for others.
xhr.withCredentials = false;//Will not pop-up
xhr.withCredentials = true;//Will pop-up

Thanks for those. How were you running into the pop-up, since withCredentials is never set anywhere?
If you want to submit a PR, I can merge, but if you don't I can just add your improvements. Let me know.

Sorry for the delay, I have modified the digest Auth - wrapped as requirejs module. Also, modified to handle the challenges multiple times and also on the verge of including IE's XDomainRequest. I don't think I can submit a PR to existing code, let me know if you want me to send that.
I was performing a CORS request, and thought xhr.withCredentials has to be set to true to make CORS. My bad, its XHR feature.
You can add those improvements.
...
var equalIndex = digestHeaders[i].indexOf('='),
                        key = digestHeaders[i].substring(0, equalIndex),
                        val = digestHeaders[i].substring(equalIndex + 1);
                    val = val.replace(/['"]+/g, '');
...


New NPM version introduce braking change

I use your library for PostCSS-helper and your new version had broken my build. When reverting to @1.1.1 it works as expected. The error I receive is visible at https://travis-ci.org/selfrefactor/postcss-helper/builds/190351292
The content of the error is     Error: [object Object] is not a PostCSS plugin

Can you show me your import statement as well as the implemented call? I think I might have an answer for you.

They are both the same as you can see below in the snippet.
        let result = await postcss([
          importLib({from: filepath}),
            require("postcss-nesting")({}),
            require('postcss-inherit'),
            require('postcss-if-media'),
           require('postcss-nested-props'),
            require("autoprefixer")({browsers: [options.autoprefixer]}),
        ]).process(cssString)

I get this error too when I update postcss 5.2.9

Same here: Update from 1.1.1 to 1.1.2 gave me Error: [object Object] is not a PostCSS plugin

Sorry guys. I restored v1.1.1 in version v1.1.4 until I can fully fix the issue. Looks like a compiler issue. Definitely my fault.


chore: prepare for next release

This PR updates the app version to prepare for next release. #nochangelog

Warnings

:warning:

✅ No changelog changes

  Generated by :no_entry_sign: dangerJS against b52b0148167faee5931fbca98b09083cb840bdde


Update to latest

@psav Can you bump the version number? https://github.com/RedHatInsights/clowder-common-ruby/blob/master/lib/clowder-common-ruby/version.rb#L2


*: Cut 0.2.0

I think this project deserves a new release now that a container image is available.

lgtm, thank you!


Add documentation about dealing with page reloads

There's several confusing difficult cases when dealing with page reloads in an application - e.g. when a button click causes a page reload (https://github.com/angular/protractor/issues/2358#issuecomment-144782139)
We'd like to fix this long term (see https://github.com/angular/protractor/issues/996), but it's a hard problem.
In the meantime, opening this issue to track having better documentation about it.

I have the same issue for page load on clicking a webelement , please let me know what is the solution i did below still its not working
loginPage.loginButton.click().then(function() {
browser.driver.sleep(10000);
browser.waitforAngular();
expect(browser.driver.getTitle()).toEqual('netsim');
});


Ts file to Dektec modulator

i have some problem about  tsduck setting
TSDuck - The MPEG Transport Stream Toolkit - version 3.18-1361
Dektec dta-111
mytsfile.TS with Dektec streamxpress to dvb-t is ok
ts file to multicast is ok
tsp -v -I file --infinite mytsfile.TS -P regulate -O ip <IP_ADDRESS>:5555
ts file to Tsduck Dektec modulator not working i got error
tsp -v -m -I file mytsfile.TS -P regulate -O dektec --modulation DVB-T --frequency 626000000

dektec: Got CPU underflow.
dektec: Got FIFO underflow.
dektec: Got CPU underflow.
dektec: Got FIFO underflow.

i know about bitrate
mytsfile bitrate 13,723,040 bps
dektec: initial output bitrate: 27,144,385 b/s
i try to fix with
tsp -v -m --bitrate 27144385 -I file mytsfile.TS -P regulate -O dektec --modulation DVB-T --frequency 626000000
this step no error but in tv reciver video play not smoth play fast and lag and some time sound stop !!
how to fix this problem
this is my log
tsp -v -m --bitrate 27144385 -I file mytsfile.TS -P regulate -O dektec --modulation DVB-T --frequency 626000000

regulate: minimum packet burst duration is 2,000,000 nano-seconds
file: initial input bitrate is 27,144,385 b/s
dektec: using Dektec device 0, output channel 0 (DTA-111 port 1)
dektec: using DVB-T FEC 3/4, bandwidth 8-MHz, constellation 64-QAM, guard 1/32, transmission 8K
dektec: setting output TS bitrate to 27,144,385 b/s
dektec: setting output carrier frequency to 626,000,000 Hz
dektec: output fifo size: 16,777,216 bytes, max: 16,777,216 bytes, typical: 16,777,216 bytes
dektec: initial output bitrate: 27,144,385 b/s
dektec: Will preload FIFO before starting transmission. Preload FIFO size: 13,421,772 bytes.
regulate: regulated at bitrate 27,144,385 b/s

Hi @kapook007,
You should remove the regulate plugin when using a modulator as output.
You need it when using the ip output because the ip output is not self-regulated, the UDP packets are sent immediately. Without regulate, the packets would be read from the input file and immediately sent over IP at the speed of the input disk or the output network, whichever is slower. So, the output speed would be way too fast. The plugin regulate is here to slow down the transmission of packets at the playout speed, based on the estimated bitrate.
On the other hand, a Dektec modulator is self-regulated. Packets are output exactly at the speed which is computed from the modulation parameters. Input packets from the disk are waiting for the modulator. Using the plugin regulate is at best useless (the regulation is done in the modulator) and at worse counter-productive. In fact, the precision of the regulate plugin is based on an estimation of the bitrate which is given from the input plugin. Here, the estimation is based on PCR's. The precision is not perfect. The plugin may sometimes wait too much or not enough, creating small bursts and small underflows. The average is correct and you don't see the difference with the ip output. On the other hand, the Dektec modulator is extremely precise and reports the smallest underflows, which in fact is what you see.
So, just remove the regulate plugin from the command with the dektec output.

i try to remove  -P regulate  but same problem
2 file use with Dektec streamxpress ok
file1 - video lag
https://youtu.be/1i2BSuNodJk
file2 - video fast , lag
https://youtu.be/IbQeqx7pd_U
tsp -v -m --bitrate 27144385 -I file mytsfile.TS -O dektec --modulation DVB-T --frequency 626000000

file: initial input bitrate is 27,144,385 b/s
dektec: using Dektec device 0, output channel 0 (DTA-111 port 1)
dektec: using DVB-T FEC 3/4, bandwidth 8-MHz, constellation 64-QAM, guard 1/32, transmission 8K
dektec: setting output TS bitrate to 27,144,385 b/s
dektec: setting output carrier frequency to 626,000,000 Hz
dektec: output fifo size: 16,777,216 bytes, max: 16,777,216 bytes, typical: 16,777,216 bytes
dektec: initial output bitrate: 27,144,385 b/s
dektec: Will preload FIFO before starting transmission. Preload FIFO size: 13,421,772 bytes.

First, without the plugin regulate, you apparently no longer have underflow message. This is what I explained. Good.
Second, the transmission is ok but the video is incorrect. You do not specify any modulation parameter. The defaults are displayed here:
* dektec: using DVB-T FEC 3/4, bandwidth 8-MHz, constellation 64-QAM, guard 1/32, transmission 8K

The bitrate from those defaults is in fact 27144385 b/s:
$ tsterinfo -w 8 -h 3/4 -g 1/32 -c 64
Transport stream bitrate: 27,144,385 b/s

Your input file must be CBR and must  exactly match the expected bitrate. Since they do not, from the bitrates you mention, then the modulator sends a file at a bitrate X while the file should be played at 27144385 b/s and the video cannot be smooth.
To output a TS on a modulator with TSDuck, you need a clean CBR stream at the exact bitrate.  Note that TSDuck is a not a MUX, so you need another tool.
Capture a real-world DVB-T stream with the same modulation parameters and transform it while preserving the bitrate (no packet should be removed, they should be turned into stuffing). This is what I typically do.

If you cannot get clean input files with the right bitrate, you can do the following:

Remove the --bitrate option from tsp because is indicates an incorrect value for the input stream. Let tsp figure out the bitrate by itself, using PCR's.
Use again the regulate plugin. This time, it will be used to regulate at the layout speed of the input stream, not the output speed, which is incorrect for you stream.
Use option --stuffing with the output plugin dektec. Thus, the modulator will add stuffing instead of reporting underflow.

This will not be perfect. The video will be at correct speed but the transmission will contain bursts. You may smoothen the transmission a bit using smaller bursts in the regulate plugin (option -p). But if you need better, then get a CBR input stream at the correct bitrate.

i try to this command not working
tsp -v -m -I file mytsfile.TS -P regulate -O dektec --stuffing --modulation DVB-T --frequency 626000000
i try to use 3rd mux ( 3 udp spts out 1 tpts fix 27,144,385 b/s )
i use 3rd mpts_mux_winapp http://www.scientamedia.com/mpts_mux_winapp.html
this command
tsp -v -m -I ip  <IP_ADDRESS>.111:1234 -O dektec --modulation DVB-T --frequency 626000000
now tsduck is  working
mpts_mux_winapp  is demo lic and very small sofware 1MB
and githun no opensource  mux with bitrate controle !!!!!
thanks for your hellp


A homepage and language translations... also appears if the language is already switched

Bug

A homepage and language translations are available for your location! Do you want to switch?

The nag message appears also if the language is already switched.
I think the message should only appear if the homepage/language is not already set to the one of the location.
To reproduce

Open a browser in German, maybe vpn needed?
Visit odysee.com, the site already is automatically German,
The nag message appears anyway and clicking it doeesn't change at all, maybe it
There is also another nag message that overlaps this one and has no opacity, but I have a issue for that open already: #914

Describe alternatives you've considered
Do not show that message if the language and homepage are already set to the one the nag message wants to switch the user.
It might have problems with de_de -> de?
Additional context
The problem occured in Chrome and Firefox for me. Both logged in and logged out.

Hmm, I had reported this as a bug and thought it was fixed. @saltrafael can you take a look?


Create Team Logo

Task
Create a team logo using the team name "SOSCI"
Acceptance criteria

[ ]  Logo uploaded to Deliverables as sprint-01/team-logo.png

Definition of done (DoD)
Not done yet
DoD general criteria

Task has been fully implemented
Task has been merged into the mainline
All acceptance criteria were met
Product owner approved features
All tests are passing
Developers agreed to release

Team logo successfully decided and agreed upon by all team mates.


[4.1] [ClangImporter] Bridging can happen even without full bridgeability

Eagerly pulling #12729 into the 4.1 branch to help with qualification. Reviewed by @DougGregor.

@swift-ci Please test

@swift-ci Please test source compatibility


[loc][Query][VSCODE] Localizability of strings in vs_workbench_services

Hi,
please help localization team to answer question from translator.
In case translator is not sure about context/meaning/localizability of string we raise a question to Core team.

Id
File Name Live Page Extended
String Resource ID
Full Source String
Extended Description

50540
vscode-workbench\vs_workbench_services_authentication.xlf
0; "signInRequest"
Sign in to use {0} (1)
What do the placeholders stand   for? Please explain.

50747
vscode-workbench\vs_workbench_services_extensions.xlf
0;   "src/vs/workbench/services/extensions/common/extensionsRegistry.vscode.extension.activationEvents.onStartupFinished"
An activation event emitted   after the start-up finished (after all eager activated extensions have   finished activating).
Please clarify eager. Is it   localizable?

@RMacfarlane starting with you as the owner of authentification.

The {0} will be replaced with an extension name. This menu item will appear under an icon that has a badge with a number, the (1) is meant to indicate that this menu entry adds to the total badge count:

I've added a comment in code as well.


Nuxt 3 SSR. Watch fires twice if lazy: true

Environment

Operating System: Darwin
Node Version:     v21.6.2
Nuxt Version:     3.13.0
CLI Version:      3.13.0
Nitro Version:    2.9.7
Package Manager<EMAIL_ADDRESS>Builder:          -
User Config:      devtools, experimental, runtimeConfig, routeRules, app, css, plugins, modules, device, googleFonts, primevue, tailwindcss, compatibilityDate, vite
Runtime Modules<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Build Modules:    -

Reproduction
const requestParams = reactive({
  limit: 48,
});

const { data, refresh, status } = await useLazyFetch<any>(
  'https://api.site.com/api/orders',
  {
    query: requestParams,
  }
);

watch(
  () => data.value,
  (newValue) => {
    if (newValue) {
      console.log("ads");
      orders.value.push(...(newValue?.orders || []));
    }
  },
  {
    immediate: true,
  }
);

Describe the bug
When I navigate through NuxtLink, the watch triggers twice, if I just reload the pages, then once. When I remove immediate: true, then when the page is reloaded, the watch does not work and the data is not written to orders, but if I go through NuxtLink, it works 1 time
Additional context
No response
Logs
No response

I'm not sure about the context of your app, but it looks like the only reason you have to run this watcher is to populate the orders ref with the value of data.orders. If that is the case, why not write a computed, that is using the value of this data?
const requestParams = reactive({
  limit: 48,
});

const { data, refresh, status } = await useLazyFetch<any>(
  'https://api.site.com/api/orders',
  {
    query: requestParams,
  }
);

// This would update when data is refetched, but also has a fallback case if data is null/not fetched yet
const orders = computed(() => data.value?.orders || []);

I'm not sure about the context of your app, but it looks like the only reason you have to run this watcher is to populate the orders ref with the value of data.orders. If that is the case, why not write a computed, that is using the value of this data?
const requestParams = reactive({
limit: 48,
});
const { data, refresh, status } = await useLazyFetch(
'https://api.site.com/api/orders',
{
query: requestParams,
}
);
// This would update when data is refetched, but also has a fallback case if data is null/not fetched yet
const orders = computed(() => data.value?.orders || []);

You will need to do orders.push() for loaded goods


wpa_supplicant: 2.6 -> 2.7

Motivation for this change
wpa_supplicant 2.7 was released in Dec 2018.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@MarcWeber FYI as package maintainer

works fine on my system.
@GrahamcOfBorg build wpa_supplicant


🐞[bug]: On the login page there is no option to switch to signup page

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
So as you can see on the login page there is not option to switch to signup page for new user directly they need to come back and then go which is not good and not user friendly so we need to add a option for that.
Expected behavior
So we can define don't have a account and link to signup page that will be better.
@Anjaliavv51 Assign this to under gssoc 2024 ext and hacktoberfest i will work on this issue.
Add ScreenShots

What browsers are you seeing the problem on?
Chrome
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24EXTD contributor
[X] I have starred the repository

@tarunkumar2005 go ahead


fix position for reference node inside an iframe and popper outside

reposition(
    /* reference: */ document.querySelector('.btn'),
    /* popper: */ document.querySelector('.dropdown'),
    /* We're using the default options */
)

I have situation where an element inside an iframe injects a popup outside of the iframe and shows it, and I need to position this popup near the element which triggered it, but nanopop cannot position it:
https://jsbin.com/duwohoz/2/edit?html,js,output
the click event data is unhelpful because it is relative to the iframe document, but I think nanopop can try and check if the reference element is inside an iframe (of course same-origin one) and if so, get the iframe position
In my demo above I show how to find the correct iframe which hosts the reference node and through that, find the iframes position on the parent document and now nanopop should theoretically detect all that and offset the position of the popper accordingly
Thanks for this awesome lightweight script!

This is for my open-source knobs project which is encapsulated inside an iframe but I am adding a color picker that should open outside (there's no visual space for it inside the iframe)

Also, it would be highly beneficial for nanopop to add a custom attribute on the popper element, so developers could know which position was taken (relative to the reference node) for example:

With this information, I can manually offset the popper using transform:translate() but first I must know where the popper was placed relatively

It would be good to add a third parameter, offset so I could manually adjust the popper element using my own calculations. Currently I am using the  element itself as the reference node, instead of the button due to the complexity mentioned

Actually, it proves more difficult than I thought to get the offset of the button within the iframe:
https://jsbin.com/nopaciy/2/edit?css,js,output
getBoundingClientRect is not working as expected


Unexpected serializer warning for Union with discriminator

Initial Checks

[X] I confirm that I'm using Pydantic V2

Description
During the execution of the example program, pydantic generates a warning in the selection of a Union element:
.../venv-voodoo/lib/python3.10/site-packages/pydantic/main.py:364: UserWarning: Pydantic serializer warnings:   Expected Union[Side_without_init, Side_with_init]but gotSide_with_init - serialized value may not be as expected   return self.__pydantic_serializer__.to_python(
The warning occurs during model_dump() and dump_model_json() for the element of the Union that has an init class defined. In the example program, selecting the Side_without_init does not generate the warning, but Side_with_init generates a warning. Both generate the correct output though.
Example Code
from typing import Dict, List, Union
from devtools import debug
from pydantic import BaseModel, Discriminator, Tag
from pydantic import Field as PyField
from typing_extensions import Annotated

def pipeline_discriminator(v: Dict):
    if not isinstance(v, dict):
        v = v.__dict__
    if v.get("Without_init"):
        return "Without_init"
    elif v.get("With_init"):
        return "With_init"
    return None

class Side_without_init(BaseModel):
    # Required
    Name: str = PyField(..., description="")
    Without_init: str = PyField(..., description="")

    # Optional
    OnError: str = PyField("", description="")

class Side_with_init(BaseModel):
    # Required
    Name: str = PyField(..., description="")
    With_init: str = PyField(..., description="")

    # Optional
    OnError: str = PyField("", description="")

    def __init__(self, **data) -> None:
        super().__init__(**data)
        if self.OnError == "":
            del self.OnError

class Example(BaseModel):

    # Required
    Name: str = PyField(..., description="")
    Pipeline: List[
        Annotated[
            Union[
                Annotated[Side_without_init, Tag("Without_init")],
                Annotated[Side_with_init, Tag("With_init")],
            ],
            Discriminator(pipeline_discriminator),
        ],
    ] = PyField(..., description="")

if __name__ == "__main__":
    external_data = {
        "Name": "Example",
        "Pipeline": [
            {
                "Name": "Keep",
                "Without_init": "TestKeepOptional",
            },
            {
                "Name": "Remove",
                "With_init": "TestRemoveOptional",
            },
        ],
    }
    example = Example(**external_data)

    debug(example)
    ''' shows the example variable correctly filled '''
    debug(example.model_dump())
    ''' correctly dumps the example variable but with single warning warning on the Side_with_init

Python, Pydantic & OS Version
pydantic version: 2.8.2
        pydantic-core version: 2.20.1
          pydantic-core build: profile=release pgo=false
                 install path: /Users/karl/.pyenv/versions/3.10.13/envs/venv-voodoo/lib/python3.10/site-packages/pydantic
               python version: 3.10.13 (main, Mar  8 2024, 11:01:27) [Clang 14.0.3 (clang-14<IP_ADDRESS>.1)]
                     platform: macOS-13.4-x86_64-i386-64bit
             related packages: typing_extensions-4.12.2
                       commit: unknown

Hi @kadriaenssens,
Thanks for your inquiry - this is related to your custom init function on Side_with_init. Without this specialty logic, serialization proceeds as expected without warnings. The issue here is that OnError is deleted from your model, which causes problems during serialization because the expected attribute is missing from the type.
I'd like to raise a better error for this case, but I don't think the behavior is necessarily wrong.

Will open a PR to improve this error message tonight or tomorrow morning


Updated references to Web App to the new GA name Web App for Containers

@sabbour,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


output method

I would like to output the variables into nested dicts, then use PyYAML to build the yaml at the end. Needs thought on how to build the dicts on the fly, rather than pre-provision everything that might be required.

Solved!


debug vscode interactive window opens files from different project as readonly

Applies To

[ ] Notebooks (.ipynb files)
[X] Interactive Window and/or Cell Scripts (.py files with #%% markers)

What happened?
I have two projects X and Y. In project Y I created a toolbox/bunch of files that I want to reuse in other projects, e.g. project X.
When I'm in debug mode in the interactive window in a file in project X, and I debug line by line, it opens all of the files from project Y in a read-only mode.
This opens a new read-only copy each time I debug, which results in a lot of files being opened after a few minutes of debugging. Additionally I have to open the real, editable file in parallel which is just not pleasant to work.
The problem happens both locally as on a remote server.
Thanks in advance!
VS Code Version
Version: 1.76.0 (user setup) Commit: 92da9481c0904c6adfe372c12da3b7748d74bdcb Date: 2023-03-01T10:22:44.506Z Electron: 19.1.11 Chromium: 102.0.5005.196 Node.js: 16.14.2 V8: <IP_ADDRESS>-electron.0 OS: Windows_NT x64 10.0.19044 Sandboxed: No
Jupyter Extension Version
v2023.2.1000592019
Jupyter logs
No response
Coding Language and Runtime Version
Python v3.9.7
Language Extension Version (if applicable)
No response
Anaconda Version (if applicable)
No response
Running Jupyter locally or remotely?
None

Is this a multi-root workspace? How are the files from project Y getting opened?


Browsersync?

What is everyone's thoughts about browser sync?  It will be useful when we need to check our CSS in multiple browsers/devices.  I went ahead and added it to the project in my PR, but if anyone feels strongly against it we can switch back. :octopus:
PR: https://github.com/transloadit/transloadit-js-client/pull/16

I didnt know of this - but sounds great to have!

I didn't know of it either, but love the idea!

Let’s do it.

Alright merged in #16


Is there any way to "hot code push" cordova plugins via mup?

No, that can only happen through a normal app update


Crashing on start (2.1-alpha3)

App (2.1-alpha3) instantly crashes when starting on my Poco X3 Pro with the latest build of LineageOS 19.1 rom
Very nice app and the only one on F-Droid implementing the dynamic island notification.

This will be fixed on new release

Fixed in alpha 4!q


Add class names to docstrings

Currently we don't have any docstrings.
It might help to add some including the class name to ease debugging?
ref #491

I might spend some time on this task. I'm a new contributor but I've used attrs for a while. Can you please elaborate on what are the desiderata for the docstrings? Format, content, scope, goals?

Hi Simone! Thank you for considering to help out!
I think something like:
class C:
    def __init__(self):
        """attrs-generated __init__ method for package.module.C."""

would be appropriate. I think what you want to look at is attr._make._ClassBuilder._add_method_dunders and it should be quite straight-forward if you have any experience with Python's machinery. For example you'll be able to re-use method.__qualname__ although you may have to refactor the method it a bit.

I see. Ok, I will give a look and let you know

Ok, I've understood how you generate the qualname and I familiarized a bit with the code. I don't find where these docstrings are attached to the methods though. A text search of the generated docstrings was inconclusive.

That's because they aren't currently. We don't have any docstrings for most methods yet.
Some have a __doc__ because they're re-used and defined as closures, but most have none. That would be a job for _add_method_dunders.

Ok, I figured out it was something like that. Now though my implementation overrides all this stuff and creates a very obvious docstring. Where do you want me to go from here?
https://github.com/chobeat/attrs/commit/17d572e6e7f884671c8653a3cdbd5b0c998aa216
What kind of information should I include beyond the qualname?

Open a PR please, it's easier to discuss and follow progress.

Alright


Generated components have TypeScript errors

Firstly, thanks for you work on Gluestack and for the community !
I encountered a TypeScript problem when using some Gluestack components so I decided to share it here.
Description
In some components like Heading and Icon there is TypeScript errors
CodeSandbox/Snack link
(none, failed to install Tailwind in Snack)
Steps to reproduce

Install Heading or Icon component for example
Check the generated files in your IDE with integrated TypeScript service or try to compile manually with tsc
Observe reported TypeScript errors

gluestack-ui Version
2 (latest)
Platform

[X] Expo
[ ] React Native CLI
[ ] Next
[ ] Web
[ ] Android
[ ] iOS

Other Platform
No response
Additional Information

TypeScript 5.6.2
React 18.2.0

Hey @benoit-ctrl, This issues will be fixed in #2475.

Hello @Viraj-10, thank you for your answer👌 !
I have a question, since Gluestack is a "copy-paste components" library the only way to get update is to re-generate components after a library update ?
If so, then if we've already customized Gluestack components it's starts to be more complicated I suppose

@benoit-ctrl, Yes, You should just create a branch from you main and add all the installed components.
you will be able to see all the changes through diff. discard all the unwanted changes and commit your changes.
We know this is a pain point for all the customised components. we are planning to split style files from components. so, it would be easier to update.
Also we will be publishing Diff with every release and releases would be on weekly bases and planning on adding update command.

@Viraj-10 Thank you for your detailed answer, I understand better now 😁
It's a great idea trying to support a little the updating process through tools, if it doesn't have too much impact on the other milestones of the project


Store talk to CMS

The store should be able to get content from the CMS.
As a minimum, the store should be able to display a list of strings, created in the CMS.

Currently, the store and CMS are in the same cluster (and should be able to communicate freely, but nuxt is holding me back on this one, issue 5100 in nuxt explains that process.envis replaced by webpack during build time apparently nuxt-env is a viable workaround and so is using the store (i.e. vuex store).

:+1:


CI for Node

Game › nextPlayer › Sets the current player to be whoever it is not

Game › nextPlayer › Sets the current player to be whoever it is not


Misleading error when docker run specifies non-existent AppArmor profile

Output of docker version:
Client:
 Version:      1.11.0
 API version:  1.23
 Go version:   go1.5.4
 Git commit:   4dc5990
 Built:        Wed Apr 13 18:34:23 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.11.0
 API version:  1.23
 Go version:   go1.5.4
 Git commit:   4dc5990
 Built:        Wed Apr 13 18:34:23 2016
 OS/Arch:      linux/amd64

Output of docker info:
Containers: 5
 Running: 3
 Paused: 0
 Stopped: 2
Images: 20
Server Version: 1.11.0
Storage Driver: overlay
 Backing Filesystem: extfs
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: null host bridge
Kernel Version: 4.4.6-040406-generic
Operating System: Ubuntu 14.04.4 LTS
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 3.675 GiB
Name: ip-10-182-62-167
ID: OAXN:UWSX:GWKO:HWP7:VZY6:HU6T:HFAD:2LJ7:57Y3:5SC7:4BIT:C4GO
Docker Root Dir: /var/lib/docker
Debug mode (client): false
Debug mode (server): true
 File Descriptors: 36
 Goroutines: 63
 System Time: 2016-05-06T20:45:15.573769419Z
 EventsListeners: 0
Registry: https://index.docker.io/v1/

Additional environment details (AWS, VirtualBox, physical, etc.):
AWS
Steps to reproduce the issue:

docker run -d --security-opt apparmor:foo busybox /bin/sh -c 'i=0; while true; do echo $i; i=$(expr $i + 1); sleep 3; done'.
Note: AppArmor profile "foo" does not exist on the host.

Describe the results you received:
"docker: Error response from daemon: Container command '/bin/sh' not found or does not exist.."
Describe the results you expected:
Error should indicate that the AppArmor profile does not exist. Instead, it indicates that the command does not exist, which is very misleading.
Additional information you deem important (e.g. issue happens only occasionally):

/cc @justincormack

Yes that is pretty confusing, will look and see what the interface does.

Rolled out a fix https://github.com/docker/docker/pull/22586

Well, it turns out that despite the man page claiming that it will return ENOENT if the apparmor profile does not exist, there is in fact no error checking at all. See http://bazaar.launchpad.net/~apparmor-dev/apparmor/master/view/head:/libraries/libapparmor/src/kernel.c#L481 - we have error handling but in fact no error is returned.
I am inclined to change the message though, as there are several reasons at this point why the exec could fail, and I think the file not existing is the least likely...

Ok, have created a PR to fix this https://github.com/docker/docker/pull/22658

This is fixed by https://github.com/opencontainers/runc/commit/ec77200ceb30ea6379c893d7b55c5a590ac7d82a
This was not in the last bump of runc, but should be in the next one.

Reminder to me to add a test when this lands, before this issue is closed...

runc  has been updated to include the related commit to fix this

@runcom do you know which PR bumped RunC in this repository?


[HUDI-6941] Fix partition pruning for multiple partition fields

Change Logs
Reverts https://github.com/apache/hudi/commit/2d779fb5aa1ebfd33676ebf29217f25c60e17d12 and fixes #9858
Impact
Fixes partition pruning and improves performance for a table with multiple partition fields.
After the fix, only 1 partition is listed as in the screenshot below.

Risk level (write none, low medium or high below)
none
Documentation Update
Describe any necessary documentation update if there is any new feature, config, or user-facing change

The config description must be updated if new configs are added or the default value of the configs are changed
Any new feature or user-facing change requires updating the Hudi website. Please create a Jira ticket, attach the
ticket number here and follow the instruction to make
changes to the website.

Contributor's checklist

[ ] Read through contributor's guide
[ ] Change Logs and Impact were stated clearly
[ ] Adequate tests were added if applicable
[ ] CI passed

After apply this patch, some cases would mistaken choose broadcast hash join even for big table. In those cases, relation#sizeInBytes returns 0 leads to choose broadcast hash join. It seems the partition pruning is not done here, so FileIndex#cachedAllInputFileSlices is still empty map.


any code share？

is there any code share？where we can get the code mentioned in this article？

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 9c1c070c-b2ff-f29d-21df-bcc7bf9dd39d
Version Independent ID: 02ba7d88-65d4-b492-880c-4bc8c044b34e
Content: Implementing the infrastructure persistence layer with Entity Framework Core
Content Source: docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/infrastructure-persistence-layer-implemenation-entity-framework-core.md
Product: dotnet
GitHub Login: @CESARDELATORRE
Microsoft Alias: wiwagn

We don't have a link to the repo from all topics but it can be found listed at the cover article for the e-book at least: https://docs.microsoft.com/en-us/dotnet/standard/microservices-architecture/#about-this-guide
The sample location for the microservices book can be found at https://github.com/dotnet-architecture/eShopOnContainers.


JavaScript source code instead of Dart source code is shown when displaying toString for closures

It would be more useful for users if we showed the source mapped Dart source code instead like we source map stack traces. An alternative could be to just display the type signature and let users navigate to the source location if they want to see the implementation.
Repro: view any closure in the debugger. You will see the distracting JS source code.

Fyi @nshahan

cc @annagrin

What's the behavior on the VM? I agree, we should at the very least show the type signature. Getting the complete source code may be difficult.

Closing in favor of https://github.com/dart-lang/webdev/issues/1184


Perf4

Looks great! Can you maybe add some performance script docs (basic how-to-use) to CONTRIBUTING?


Minor reword in "Filters in Minimal API apps"

Slightly reword  a sentence in Filters in Minimal API apps and make the value a string.
Relates to #26188.
/cc @Rick-Anderson

@martincostello  Thanks!


npm package is out of date, version 3.0.0 from npm is broken

Should npm be updated to the most recent version of the code or possibly reverted back to a stable version?
I recently updated to version 3.0.0 from 2.0.0 but it appears that it is now broken. I get the error: "Expected a string, got object". Using the code here on github directly, not through npm, also breaks with the same error.
I will revert back to 2.0.0 for now.

The package was split into two packages for version 3. This package handles string input and https://github.com/sindresorhus/strip-bom-buf handles buffers.


Migrate homebrew-cask/chronograf to homebrew-core/chronograf

Chronograf is now open source and being migrated to hombrew-core. This PR should only be merged once PR https://github.com/Homebrew/homebrew-core/pull/7800 is merged.

@gunnaraasen any updates on getting https://github.com/Homebrew/homebrew-core/pull/7800 merged?

https://github.com/Homebrew/homebrew-binary/pull/356
https://github.com/Homebrew/homebrew-core/pull/7800


Add developer guidance for API changes to CustomRuns

CustomRun is different from other Tekton APIs because its API is implemented by custom run controllers, rather than in-tree controllers. Therefore, adding new fields to this API should be done with extra caution. This commit adds guidance for Tekton devs on whether a new field should go in the CustomRun
API or left to custom run controllers to support as part of the custom spec or custom status, based on whether a feature is applicable to all CustomRuns or just a feature of some of them.
/kind documentation
Submitter Checklist
As the author of this PR, please check off the items in this checklist:

[x] Has Docs if any changes are user facing, including updates to minimum requirements e.g. Kubernetes version bumps
n/a Has Tests included if any functionality added or changed
[x] Follows the commit message standard
[x] Meets the Tekton contributor standards (including functionality, content, code)
[x] Has a kind label. You can add one by adding a comment on this PR that contains /kind <type>. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tep
n/a Release notes block below has been updated with any user facing changes (API changes, bug fixes, changes requiring upgrade notices or deprecation warnings). See some examples of good release notes.
n/a Release notes contains the string "action required" if the change requires additional action from users switching to the new release

Release Notes
NONE

/retest


feat(frontend): Add support for error in btc pending sent txs

Motivation
We want to show a different message to the user if loading the pending sent transactions of bitcoin failed.
In this PR, I add the null type of the bitcoin pending sent transactions store.
Changes

Add null in BtcPendingSentTransactionsStoreData.
Add specific method to set it to null: setPendingTransactionsError. This should allow us to easily change the inner type.
Support the new type in initHasPendingSentTransactions and return "error". This will also allow us to easily change the implementation details of the error.

Tests

Test the new type in btcPendingSentTransactionsStore tests.
Test the new type in initHasPendingSentTransactions tests.

@AntonioVentilii-DFINITY @peterpeterparker please review


Match with calicoctl doc in getting-started/docker/installation/manual

Improve the format and wording to match the docker manual installation section for calicoctl.

@tomdee Improvements for https://github.com/projectcalico/calico/issues/26

LGTM


task(rate-limiting) Allow connecting to non-zero Redis databases (#17…

Note: new features are to be opened against next, hotfixes against master.
Summary
Rate limiting now supports non-zero redis database.
Keep alived Redis connections were not working. Now they work, increasing the performance of the service.
Full changelog

Modified plugin unit tests to support non-zero databases.
Modified plugin to work with short lived http connections

Issues resolved
Fix #1726

@diegoparrilla thank you - could you also implement the same changes to the response rate-limiting plugin? The changes would be very similar if not almost identical.

Closed with #1941.

I don't see this change in 0.11.0 version. Why is this not included? And how could we utilise the redis pool without this change?

This is included in 0.11.0: https://github.com/Mashape/kong/blob/0.11.0/kong/plugins/rate-limiting/schema.lua#L20


Add a C++ Style Guide Documentation

📚 Documentation
Create a C++ Style Guide Documentation in the specific C-Plus-Plus Directory which serves the following purpose:

Acquaint the User about the C++ Styles Guide and what are the best practices to follow.
Mention about Code Width and Alignment, a proper convention to add Whitespaces and Indentation.
Mention about Variable Naming Conventions and various best practices followed in C++ Programming.

Have you read the Contributing Guidelines on Pull Requests?
Yes

I would like to work on this.

i would also like to contribute on this too.

I have assigned to you @Kritika37


kubernetes: fix 'install -o' command in cfssl.preStart service

Description of changes
Ref https://github.com/NixOS/nixpkgs/pull/286032
The -u flag is not valid, so the cfssl prestart service is failing. Replacing it with -o per the man page to set the owner.
Kubernetes starts happily after this 👍
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

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

/cc @Stunkymonkey fyi

whoops, this is a dupe, fixed in https://github.com/NixOS/nixpkgs/pull/287708 🖖


Minor update to three-channel logic in tissuenet

This PR updates the three-channel logic for TissueNet dataset. The new logic states the channels as follows: (cell channel, nucleus channel, channel with zeros). GTG from my side!

I'll go ahead and merge this @constantinpape. Let me know if there are modifications for which you have alternate suggestions! Thanks!


Login page gets @Body object on Login

I do like the design of your custom components. I would say the best design in MudBlazor I have found so far! Thank you for your great work. Whilest playing arround with your great project I have faced a strange behaviour I want to report.
Login page becomes @Body object after login.

To reproduce this behaviour do following;

Logout (if logged in).
On Login page click "Sign Up" link to navigate to registration page.
On Sign Up (registration) page click "Sign In" link to navigate back to login page.
Now back on the Login page finaly click "Sign In" button (with preset admninistrator) to login.

thank you， I have fixed it.


Add burst transfer support to DMA buffers

Thank you for your contribution!
We appreciate the time and effort you've put into this pull request.
To help us review it efficiently, please ensure you've gone through the following checklist:
Submission Checklist 📝

[x] I have updated existing examples or added new ones (if applicable).
[x] I have used cargo xtask fmt-packages command to ensure that all changed code is formatted correctly.
[x] My changes were added to the CHANGELOG.md in the proper section.
[x] I have added necessary changes to user code to the Migration Guide.
[x] My changes are in accordance to the esp-rs API guidelines

Extra:

[x] I have read the CONTRIBUTING.md guide and followed its instructions.

Pull Request Details 📖
Description
Adds a is_burstable to Preparation, allowing DMA buffer implementations to declare whether they conform to the alignment required for burst transfers.
Testing
HIL tests

Is a reason to manually disable burst mode? If a particular transfer is "burstable", shouldn't we try to enable burst mode automatically? Right now we keep it disabled by default, and waste 2 bools per DMA channel to track whether burst mode is enabled, and I'm wondering if this is necessary at all.

The only reason I can think of is bandwidth. I unfortunately don't know enough about the hardware to say if there's no consequences for having 8 burst transfers going at the same time.
Though if there are no consequences then why do DMA channels have priorities. I just chose not to assume.


Generic Messages over WalletLink

TDD is in progress for this idea, and this PR can serve as a proof-of-concept until we reach alignment on the approach used here.
We're adding this method so that 2 clients with an established walletlink connection can send messages across walletlink without walletlink needing to parse parameters on the message. This would be an optimization over the approach where we add a function type for each call.

Sending clients sends a message over walletlink conforming to whatever key:value parameters it needs
Receiving client is aware of the message type, in code referred to as "action" and can parse out the parameters.
Receiving client then sends back an equally ambiguous message that passes through walletlink in a similar way.
Sending client receives and parses the response object

This approach provides extra security (no proprietary messages are exposed in public repo) and convenience (we don't require a new channel through logical layers for every new message type, this convenience is expanded on in our mobile clients as well) at the cost of type enforcement in the walletlink layer.
There was already an ArbitraryMessage type coded into walletLink that can accomplish this same goal, the type is iterated on here in order to smooth parsing on sending and receiving clients

Approved


Win32-<IP_ADDRESS>

Stackage nightly is still referencing the old version of Win32 (<IP_ADDRESS>). Any reason not to update to <IP_ADDRESS> which is the version shipped with ghc-8.2.1 (https://downloads.haskell.org/~ghc/master/users-guide/8.2.1-notes.html)  ?

Good catch, thank you!


Determine how best to handle back compatibility for obs-websocket api changes

Description
This hasn't happened since some of the earliest versions I don't think, but there have been API endpoints removed/renamed on the obs-websocket plugin side in the past and with the potential for a large 5.0 rewrite on the horizon it's likely that this will happen again.
Being that this project binds methods at runtime based on the obs-websocket api docs, there's a good chance that this will fail to bind some method that consumers are looking for while would lead to some unclear and possibly inaccurate (depending on their plugin version) runtime exceptions.
Need a way to track the addition/removal of api endpoints. My gut says that that should just be accomplished by maintaining a list of methods from each obs-websocket version release and reducing that either dynamically or statically so that it can be more concisely bundled.

Ideally consumers would just call obs.send('MethodName') and it would be completely the plugin's responsibility to handle back compatibility, but I do like supporting bound methods and it's not super difficult to do so.

The base API now only provides .send and .on methods, and it is up to the consumer to provide accurate method and event name strings. The upcoming auto-generated typedefs will indeed be specific to a given version of obs-websocket, but I think it is reasonable for folks to simply ensure that their obs-websocket installation matches the typedef they are trying to use.


Can not select all games and update time played to HowLongtoBeat all at once.

When attempting to select all games and update game times via HowLongtoBeat - Set current playtime, only some games are added to the HowLongtoBeat data and alot are not.
extensions.log

By default, the plugin only sets data when a game is found.
But, you can set a match percentage to improve this:

Is it unable to find games from Epic? It does not seem to be able to pull
data from there and a little less than half my library can not be found.
On Sun, Nov 28, 2021 at 11:47 AM Lacro59 @.***> wrote:

By default, the plugin only sets data when a game is found.
But, you can set a match percentage to improve this:
[image: image]
https://user-images.githubusercontent.com/124054/143777655-4af16120-9c97-4a63-9eaa-a6ef16f8dc88.png
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Lacro59/playnite-howlongtobeat-plugin/issues/110#issuecomment-981116227,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVVWZWIXFXB5PAUML7DYLOLUOJMKTANCNFSM5HQBWVPQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Can you give me examples?

Examples of games would be like For the King, Steep, Saints Row. Anything
on my Epic account is not in the How Long to Beat Data. There are also
other games not related to epic that will not show up either like ubisoft,
and some Steam Games. The data is on the Game Page sometimes but not on the
HowLong to Beat Tab.
On Tue, Nov 30, 2021 at 1:56 AM Lacro59 @.***> wrote:

Can you give me examples?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Lacro59/playnite-howlongtobeat-plugin/issues/110#issuecomment-982339389,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVVWZWOQJ5B5GEI6DRMJPJTUORYTFANCNFSM5HQBWVPQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


Find query, consider deleted_at column in many_to_many association table. GORMv1

I have a deleted_at column in association table as well. This table we have created and it wasn't created by gorm automatically. I am not able to exclude deleted at results from find query. Do I need to write custom query or is it possible using gorm methods?
type User struct {
	gorm.Model
         Languages []Language`gorm:"many2many:user_languages"`
}

// User struct as database table
type Langauge struct {
        Users []User`gorm:"many2many:user_languages" `
	DeletedAt *time.Time
}

// UserLanguage struct; many-to-many user-role mapping as database table
type UserLanguages struct {
	Id     uint `gorm:"primary_key" json:"id"`
	UserID string
	LangaugeID int
        DeletedAt *time.Time
}

//Query
s.db.Model(&user).Association("Languages").Find(&user.Languages)

The document you expected this should be explained
https://v1.gorm.io/docs/associations.html
Expected answer
Gorm query or do I need to write custom query?

override the join table handler


show both survey results for two user setting

in the admin dashboard for examining each thread, show survey results for both users

@River-vocal @jackStudyCode  can you link this to the corresponding commit number so that we can track the updates that were made to specifically fix this issue?


⚠ RPC server - Figment Solana has degraded performance

In 20ce711, RPC server - Figment Solana ($FIGMENT_SOLANA_RPC_URL) experienced degraded performance:

HTTP code: 429
Response time: 106 ms

Resolved: RPC server - Figment Solana performance has improved in 72a022a.


I am still getting the same error even after applying all the configurations.

          > I am still getting the same error even after applying all the configurations.

I have tried setting SESSION_COOKIE_SAMESITE = "None"  and SESSION_COOKIE_SAMESITE = None . I am using HTTPS and I don't want to disable CSRF. I am getting below error
"{\"errors\": [{\"message\": \"400 Bad Request: The CSRF session token is missing.\", \"error_type\": \"GENERIC_BACKEND_ERROR\", \"level\": \"error\", \"extra\": {\"issue_codes\": [{\"code\": 1011, \"message\": \"Issue 1011 - Superset encountered an unexpected error.\"}]}}]}

It is working fine when i am trying to call API from Postman. However, in the app, I keep getting the same error. I have also attached "Referer"=>"https://mydomain/api/v1/security/csrf_token/.

In the "app", when you get the CSRF Token, it responds with a Set-Cookie header alongside the token. You need to use that same cookie when requesting the guest token.
Depending on how you're doing the requests, if you create a "client" that does all of the requests it'll probably store the cookies automatically. If not, you need to add the cookies in manually.
Originally posted by @Alvie in https://github.com/apache/superset/issues/8382#issuecomment-1690197367
I am passing the set-cookie from headers of csrf token and passing it in headers on guest_token, even so i am getting the same error. It seems it works for php but doesn't work for python.
Even in php i am getting a new error,
{"errors": [{"message":"400 Bad Request: The referrer header is missing.","error_type":"GENERIC_BACKEND_ERROR"

I'm equally baffled... if a bug report isn't something we can understand and reproduce to troubleshoot, we'll likely have to close it.

I'm equally baffled... if a bug report isn't something we can understand and reproduce to troubleshoot, we'll likely have to close it.

I'm also confused and I've been tagged into this conversation somehow. I think the issue creator needs help with the guest token generation process but is confused. I tried to help them in the previous ticket (because it was somewhat relevant).
It seems they may have solved the CSRF issue mentioned in the previous issue, but have a new issue. As it's not a bug report, I think it's likely they have something configured incorrectly in their client code.

Ok... closing this until we get more clarity. Happy to revisit/reopen as needed.


ENH: Order _generate_notebooks output by datetime

Output of generate_files and generate_checkpoints is now ordered by datetime (last modified dt). This helps a lot when working with large numbers of outputted notebooks.
Since the notebooks are no longer ordered by user_id as they were before, we rely on a memoized crypto factory approach to minimize crypto factory calls. This memoization is available via a new decorator class MemoizedCryptoFactory, which is integrated into single_password_crypto_factory. Note that the burden now falls on the user to make use of this decorator on custom crypto factories.

@ssanderson Thanks for the first pass. I made small changes according to your suggestions.

LGTM


Hex colors not working after the latest update

Yea, not working.
using 1.18.1
I had to revert back to the previous version and it works just fine

Hey, could you explain your problem?

Hey, could you explain your problem?

Sure, after the update, my chat hexcolor shows only the hex codes, no colors

Understand that. Could you send some screens of your setup e.g. config.yml, console if there are any errors, plugin list, link to your /lp editor?

Understand that. Could you send some screens of your setup e.g. config.yml, console if there are any errors, plugin list, link to your /lp editor?

No console errors at all, maybe it's because I installed Geyser, idk how to conflict it, but when I reverted back to the previous version, it was fixed.

Understand that. Could you send some screens of your setup e.g. config.yml, console if there are any errors, plugin list, link to your /lp editor?

I didn't changed the config much... only vault prefix and essentials nick placeholder, that's it

So, could you show me your config file and plugins you use? I've just tested the issue and on my side everything works fine.

alright, sure

Plugins (26): Authy, BackToTheRoots, ChatManager, Essentials, EssentialsSpawn, FastAsyncWorldEdit, Geyser-Spigot, HolographicDisplays, LightAntiCheat, LPC, LuckPerms, Multiverse-Core, PlaceholderAPI, PLSecure,
LPC version 3-4-1 config.yml.zip
PlugManX, ProtocolLib, SkinsRestorer, Skywars, TAB, Vault, ViaBackwards, ViaRewind, ViaVersion, VoidGen, VoidSpawn, WorldGuard

When you have Vault installed with ChatManager it holds chat formatting too. Make sure it's compatible with LPC and doesn't handle your chat format. From ChatManager Overview page on Spigot: https://i.imgur.com/jbyJ8xN.png

And this is from GitHub wiki page of ChatManager: https://i.imgur.com/ncfJtHY.png (https://github.com/H1DD3NxN1NJA/ChatManager/wiki/Chat-Format). As you can see they are formating hex color codes like '#ff0000" and my plugin does "&#ff0000" instead. Maybe try disabling chat formatting in ChatManager's config and let LPC handle the chat formatting.

And this is from GitHub wiki page of ChatManager: https://i.imgur.com/ncfJtHY.png (https://github.com/H1DD3NxN1NJA/ChatManager/wiki/Chat-Format). As you can see they are formating hex color codes like '#ff0000" and my plugin does "&#ff0000" instead. Maybe try disabling chat formatting in ChatManager's config and let LPC handle the chat formatting.

I disabled it before updating in the config.yml

And this is from GitHub wiki page of ChatManager: https://i.imgur.com/ncfJtHY.png (https://github.com/H1DD3NxN1NJA/ChatManager/wiki/Chat-Format). As you can see they are formating hex color codes like '#ff0000" and my plugin does "&#ff0000" instead. Maybe try disabling chat formatting in ChatManager's config and let LPC handle the chat formatting.

I disabled it before updating in the config.yml

But when I downgraded to the second version I got it worked

I have the same problem with last update. I use PlaceholderAPI javascript for color names in TAB and Chat. After update server on 1.18.2 (Pufferfish) and LPC to last version I get this bug (TAB works correctly).
LPC config: https://i.imgur.com/4BZuuG2.png
JavaScript Placeholder: https://i.imgur.com/ATRQZJ4.png
Bug: https://i.imgur.com/8yNuYYl.png
Plugins (40): AdvancedBan, AnnouncerPlus, ArmorStandAdjustor, AuthMe, Chunky, ChunkyBorder, ConsoleSpamFix, CoreProtect, CustomVillagerTrades, dynmap, EasyWhitelist, F3Name, FartherViewDistance, GSit, Harbor, InventoryRollbackPlus, ItemEdit, JoinFullServer*, LightAntiCheat, LPC, LuckPerms, MaterialDynmap*, MOTD, Multiverse-Core, OpenInv, PL-Hide, PlaceholderAPI, PlasmoVoice, PrivateMessages, ProtocolLib, ServerBackup, SimpleToolStats, SkinsRestorer, SurvivalInvisiframes, TAB, UltimateAutoRestart, UTitleAuth, Vault, VillagerModifications, WanderingTrades.

I've recently updated the resource to version 3.4.3, it should work fine right now. Could you confirm that?

Probably still not working, but please check. If it doesn't, we will revert to the previous version.

I reverted the previous changes. New version 3.5.0 is out. Is it working correctly now?

Yes, it is working correctly now, thank you for your work!

Great! Thanks for the fast response :)


MudDatagrid: Fix grouping to work with filtered items cache.

Description
Fix datagrid grouping breaked by previous PR #6495.
GroupDefinitions were initialized with previous lazy-evaluated linq query and thus updated with every render.
With cache they get a list, which stays the same and groups don't update properly.
Fixed it by updating groupings after new items cache is created, added parameter to not update component state - that would cause infinite rendering loop.
Maybe a better solution involving more work is possible (pass function to GroupDefinition? possibly slower). This should work just fine.
How Has This Been Tested?

Existing unit tests

Types of changes

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

Checklist:

[x] The PR is submitted to the correct branch (dev).
[x] My code follows the code style of this project.
[ ] I've added relevant tests.

@adameste Thank you very much for the quick fix.


ci(vercel): use prebuilt python

This should speed up CI a bit.
Checklist

[ ] The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
[ ] Links to related issues (if applicable)
[ ] Tests for the changes have been added/updated (if applicable)
[ ] Docs related to the changes have been added/updated (if applicable). If a new feature has been added a Usage Guide has been added for the same.
[ ] For any breaking change/potential downtime/deprecation/big changes an entry has been made in Updating DataHub

Closing in favor of #12157


handle non-inspectable functions in interact

skips loading abbreviations from signature and argument validation when signature cannot be retrieved
closes #313

cc @fperez who reported #313
There is still an error in the print example because print(x=5) isn't a valid call, but at least it's the right error:

The test failure is legitimate. getfullargspec is new in Python 3.

Thanks. Really looking forward to dropping support for legacy python...

Arg, getfullargspec only works on Python 3, and getargspec doesn't work on Python 3. Need a switch to handle reasonable Python and Python 2, I guess.

It would have been really nice if getcallargs raised a different error for bad arguments vs failure to inspect.

should be working now.

Eggs-cellent...

A switch is apparently what astropy uses: https://github.com/astropy/astropy/blob/c7099d60a1d38b6074801d528ad069f4d06a8202/astropy/utils/decorators.py#L691

On Fri, Jan 15, 2016 at 3:07 AM, Min RK<EMAIL_ADDRESS>wrote:

Thanks. Really looking forward to dropping support for legacy python...

I agree, and I think this year we should start doing so fairly aggressively.
However, the kernel + widgets repo are probably two where we should hold
off for a bit longer providing py2 support, miserable as that may be.
There will continue to be a lot of py2 usage for quite a while, and
offering people the 'full ipython experience', widgets included, would be a
good thing.
Eventually we may hit a point where we decide the cost of py2 support is
just too high for us even in those repos. But I don't think we're quite
there.
--
Fernando Perez (@fperez_org; http://fperez.org)
fperez.net-at-gmail: mailing lists only (I ignore this when swamped!)
fernando.perez-at-berkeley: contact me here for any direct mail


[Added] Adds the global display keywords initial and inherit

This PR extends the display properties to include the global values inherit and initial.
Using these global values can be very useful as it allows you to revert a previously applied display property without having to explicitly define the box rendering method again. Sometimes it is not always immediately obvious what the initial display state was, so restoring the initial or inherited value removes guesswork.
Take class='hidden md:block' for example. I have to determine that the element had the property of a block in the first-place, otherwise I've broken my layout. By contrast .md:initial would disable the .hidden in any context.
Another good example might be be <img class="hidden" />. Is it a block, and inline-block or an inline element? I'd have to know that to correctly disable .none currently, where .initial will simply return it to whatever the browser thinks it should be.

Thanks to the patient responses from @benface I've learned that display: initial is pretty much useless.
I'll get my coat…

Hahaha! We learn something new every day don’t we. :)

If we are lucky @benface 🕺


fix: Fix errors and typos in the documentation

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:


jscs exlucdeFiles not Work!

I have a .jscsrc file on my project root path, I installed the newest JSCS  globally, I am using the jscs-formater plugin of sublime text 3, but the JSCS just can't skip the exculdeFiles each time I press ctrl + s key to save file , any other rule works well. Here is my config detail.
{
"preset":"airbnb",
"fileExtensions": [".js", ".jsx"],
"fix": true,
"requireSemicolons": null,
"disallowMultipleSpaces": true,
"disallowSemicolons": true,
"disallowSpaceBeforeComma": {"allExcept": ["sparseArrays"]},
"excludeFiles": ["dist/",  "coverage/"]
}

Just found that it is the jscs-formatter plugin's bug.


build(Gradle): Switch from the "dokka" to the "dokkatoo" plugin

The official "dokka" plugin keeps having Gradle related issues, in particular out of memory issues. Switch to the unofficial "dokkatoo" successor 1 to resolve these issues. For simplicity, drop the dokka-related external link configuration; it needs to be revisited if and how this needs to be configured with dokkatoo, too.

Slightly off-topic: Is possible to create task aliases in Gradle?

They're not exactly just lightweight "aliases", but of course you can create a task that does nothing else than depending on another task.

would prefer something like ./gradle docs

Going somewhat into that direction, I'd then propose to simply rename the existing dokkaHtmlJar and dokkaJavadocJar tasks to docsHtmlJar and docsJavadocJar.


Diffie-Hellman Key Exchange?

https://en.wikipedia.org/wiki/Diffie–Hellman_key_exchange#Generalization_to_finite_cyclic_groups
Research this (thanks to /u/MasterAnonymous on reddit).

Could start this with the El Gamal crypto scheme used in class?